:root{--interactive-color: #00c4cc;--interactive-color-hover: #00b3b8;--interactive-color-2: #0096ff;--interactive-color-2-hover: #0077e6;--disabled-color: #dddcdc;--output-text-box-color: #f0f4f8;--background-color: #f5f7fa;--text-primary: #333;--text-secondary: #555;--text-tertiary: #666;--text-light: #777;--text-lighter: #888;--text-dark: #3a3a3a;--text-muted: #6c757d;--text-white: #fff;--border-light: #eaeaea;--border-lighter: #eee;--border-default: #e0e0e0;--border-focus: rgba(0, 150, 255, .2);--border-table: #ddd;--bg-white: #fff;--bg-light: #f8f9fa;--bg-lighter: #f9fafb;--bg-lightest: #f2f7fd;--bg-hover: #f5f8ff;--bg-hover-light: #eef5ff;--bg-table-alt: #f9f9f9;--bg-table-header: #f2f8ff;--shadow-color: rgba(0, 0, 0, .1);--shadow-color-light: rgba(0, 0, 0, .06);--shadow-color-lighter: rgba(0, 0, 0, .05);--shadow-color-blue: rgba(0, 150, 255, .2);--shadow-color-blue-light: rgba(0, 150, 255, .1);--shadow-color-blue-lighter: rgba(0, 150, 255, .05);--error-color: #ff5252;--error-color-hover: #ff3333;--error-color-light: #ffebee;--error-bg: #e74c3c;--error-bg-hover: #c0392b;--action-bg: #4c8bf5;--action-bg-hover: #3b7ae4;--advantages-bg: #e6f7f8;--disadvantages-bg: #f8f3e6;--tag-blue-bg: #e6f0ff;--tag-blue-border: #c2d8ff;--tag-blue-text: #0066cc;--tag-green-bg: #e6f8f0;--tag-green-border: #c2e8d8;--tag-green-text: #00995e;--tag-purple-bg: #f0e6f8;--tag-purple-border: #d8c2e8;--tag-purple-text: #6600cc;--tag-orange-bg: #fff2e6;--tag-orange-border: #ffe0c2;--tag-orange-text: #cc6600;--tag-teal-bg: #e6f8f8;--tag-teal-border: #c2e8e8;--tag-teal-text: #008080;--tag-red-bg: #fee6e6;--tag-red-border: #ffc2c2;--tag-red-text: #cc0000}*{background-origin:padding-box}body{font-family:Poppins,sans-serif;background-color:var(--background-color);background-image:linear-gradient(#ffffffb3,#ffffffb3),url(/assets/background-BPJ67OVx.jpg);color:var(--text-primary);margin:0;padding:0}body.modal-open{overflow:hidden}#app-wrapper{margin:0;padding:10px max(10px,2%);padding-bottom:24px}#app{background-color:var(--background-color);margin:0;padding:0;width:100%;height:100%;display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#00c4cc var(--background-color);scrollbar-gutter:stable both-edges;box-shadow:0 0 10px #0000001a}.container{min-width:min(500px,70dvw,70vw);height:960px;max-height:970px;background:var(--bg-white);border-radius:18px;padding:24px;box-shadow:0 4px 8px var(--shadow-color)}header{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}header>.fixed-header{height:150px;top:0;left:0;right:0;position:fixed;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;padding:12px 35px;margin-bottom:24px;z-index:999999;background-color:#f8f9fa73;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:none;border-right:none;border-top:none;border-bottom:1px solid rgba(234,234,234,.7);box-shadow:0 4px 20px #00000014;background-image:linear-gradient(to bottom,#fff9,#f8f9fa8c,#e8f6fc80);transition:all .3s ease}.user-location{position:absolute;top:60px;right:35px;font-size:14px;color:#333;background-color:#ffffffe6;padding:6px 12px;border-radius:20px;box-shadow:0 2px 6px #0096ff33;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--interactive-color-2);z-index:1000;transition:all .3s ease;background-image:linear-gradient(to right,#fffffff2,#f0f8fff2)}.user-location:hover{background-color:#fffffffa;box-shadow:0 3px 8px #0096ff59;transform:translateY(-1px)}#user-coordinates{display:inline-block;font-weight:600;color:var(--interactive-color-2)}.progress-container{position:absolute;bottom:0;left:0;width:100%;height:3px;overflow:hidden;background-color:#0000000d}.progress-bar.loading{height:100%;position:absolute;width:0%;background:linear-gradient(to right,var(--interactive-color),var(--interactive-color),var(--interactive-color),var(--interactive-color-hover),var(--interactive-color-2));box-shadow:0 0 10px #00c4cc80;left:0;transform-origin:left;will-change:width,transform;animation:progressExtendAndShrink 1.5s cubic-bezier(.4,0,.2,1) infinite}.progress-bar:after{content:none}@keyframes progressExtendAndShrink{0%{width:0%;left:0}50%{width:100%;left:0}50.1%{width:100%;left:0}to{width:0%;left:100%}}.progress-bar.loading{animation-play-state:running}.fixed-header.scrolled{padding:8px 24px;background-color:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 5px 15px #0000001a}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){header>.fixed-header{background-color:#f8f9fabf}.fixed-header.scrolled{background-color:#ffffffe6}.user-location{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))){header>.fixed-header{background-color:#f8f9faf2}.fixed-header.scrolled{background-color:#fffffffa}}footer{padding:24px 16px;text-align:center;font-size:13px;color:var(--text-tertiary);background-color:var(--bg-light);border-top:1px solid var(--border-light);border-radius:0 0 12px 12px;box-shadow:0 -2px 10px var(--shadow-color-lighter)}.link{color:var(--interactive-color);text-decoration:none;transition:color .2s}.link:hover{color:var(--interactive-color-hover)}h1{display:flex;flex-direction:column;align-items:flex-start;margin-left:10px;line-height:1.5rem}h1 .bigger-h1{font-size:1.5rem;font-weight:600;color:var(--text-primary)}h1 span:not(.bigger-h1){font-size:1rem;font-weight:400;color:var(--text-secondary)}h1 small{font-size:.8rem;font-weight:400;color:var(--text-light);margin-top:2px}h2{font-size:1.5rem;font-weight:600;margin:0;padding:0;text-align:center}.description{font-size:1rem;font-weight:400;margin:0;padding:0;text-align:center!important}.notice{font-size:.95rem;font-weight:500;margin:12px 0;padding:16px 20px;text-align:center;color:var(--text-dark);border-left:4px solid var(--interactive-color);background:linear-gradient(to right,#00c4cc14,#f7f7f7e6);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color-light);line-height:1.6;transition:box-shadow .2s ease}.notice:hover{box-shadow:0 3px 5px #00000014}.input-row{display:flex;flex-wrap:wrap;margin-bottom:5px;gap:5px;align-items:baseline}.input-rows{margin-bottom:16px}select,.choices__inner{box-sizing:border-box;height:40px;padding:0 10px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-white);outline:none;min-width:160px;font-family:Poppins,sans-serif;font-size:14px;line-height:normal;z-index:1000;vertical-align:middle;display:inline-block}.choices__container{display:inline-block;vertical-align:middle;position:relative;z-index:1000}.choices__list--dropdown{z-index:9999!important;border:1px solid var(--border-default)}.choices__item--choice{padding:8px 12px;font-family:Poppins,sans-serif}.choices__placeholder{padding:0;margin:0;line-height:normal;font-size:14px}.choices__inner{display:flex;align-items:center}.choices__input{padding:0;margin:0}.text-input{box-sizing:border-box;height:40px;padding:0 8px;width:100%;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-white);outline:none;font-size:14px;line-height:normal}.number-input{box-sizing:border-box;height:40px;padding:0 8px;width:80px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-white);outline:none;font-size:14px;line-height:normal}.input-row label{padding:0 4px;font-weight:600;vertical-align:middle}button{box-sizing:border-box;height:40px;padding:0 16px;background:var(--interactive-color);color:var(--text-white);border:none;font-weight:600;border-radius:8px;cursor:pointer;transition:background .2s;font-size:14px;line-height:normal;vertical-align:middle;display:inline-block}button:hover{background:var(--interactive-color-hover)}button:disabled{background:var(--disabled-color);cursor:not-allowed}#map{height:400px;border-radius:8px;margin-bottom:16px}.result-box{background:var(--output-text-box-color);padding:16px;border-radius:8px;font-size:1.1rem;line-height:1.5;overflow-x:hidden;overflow-y:auto;display:flex;word-break:break-word;box-shadow:inset 0 2px 4px var(--shadow-color),inset 0 0 2px var(--shadow-color-lighter);border:1px solid var(--shadow-color-lighter);background-image:linear-gradient(to bottom,rgba(240,244,248,.9),var(--output-text-box-color));scrollbar-gutter:stable both-edges;scroll-behavior:smooth;scrollbar-width:thin}#result{height:218px}.poi-type-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:linear-gradient(to right,#00c4cc14,#f7f7f7e6);cursor:pointer;-webkit-user-select:none;user-select:none}.poi-type{margin:0;font-size:1.2rem;color:var(--text-primary);font-weight:600}.poi-type-header .toggle-icon{color:var(--text-primary);font-size:14px}.result-box svg{display:block;width:100%;height:100%}.leaflet-container{z-index:0}.spinner-wrapper{margin:0;padding:0}.spinner{width:100%;border-radius:50%}.spinner svg{width:100%;height:100%;transform-origin:center;animation:rotate 2s linear infinite;border-radius:50%;display:block}.spinner circle{fill:none;stroke-width:6;stroke-linecap:round}.spinner .bg{stroke:#e8f0fe}.spinner .fg{stroke:var(--interactive-color-2);stroke-dasharray:60;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.left-right-btn{position:fixed;top:60%;transform:translateY(-50%);width:40px;min-width:40px;height:40px;border-radius:50%;background-color:var(--interactive-color-2);color:#fff;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:background-color .3s;z-index:99999;box-shadow:0 2px 6px #0003}#prev-btn{left:1%}#next-btn{right:1%}.left-right-btn:hover{background-color:var(--interactive-color-2-hover)}.left-right-btn:disabled{background-color:var(--disabled-color);cursor:not-allowed}.left-right-btn:before{content:"";width:10px;height:10px;border-top:2px solid white;border-left:2px solid white;transform-origin:center}#prev-btn:before{transform:rotate(-45deg)}#next-btn:before{transform:rotate(135deg)}.page-tabs{display:flex;gap:6px;margin-right:20px;position:absolute;bottom:4px;right:24px;z-index:10}.tab-btn{background:linear-gradient(to bottom,var(--bg-white),var(--bg-light));color:var(--text-secondary);border:none;padding:10px 22px;font-size:14px;font-weight:500;border-radius:10px 10px 0 0;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;z-index:1;box-shadow:0 -2px 10px var(--shadow-color-lighter);overflow:hidden}.tab-btn:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(to right,var(--interactive-color),var(--interactive-color-2));transform:scaleX(0);transform-origin:bottom center;transition:transform .3s ease;opacity:0}.tab-btn.active{background:var(--bg-white);color:var(--interactive-color-2);font-weight:600;box-shadow:0 -4px 12px var(--shadow-color-blue-light);z-index:2;transform:translateY(-2px) scale(1.03)}.tab-btn.active:before{transform:scaleX(1);opacity:1}.tab-btn:hover:not(.active){background:linear-gradient(to bottom,var(--bg-white),var(--bg-lightest));color:var(--interactive-color-2-hover);transform:translateY(-1px)}.tab-btn:hover:not(.active):before{transform:scaleX(.6);opacity:.6}.tab-btn.active:after{content:none}.page-container{flex:1;width:100%;overflow:hidden}.page{display:none;width:100%}.page.active{display:block}.page-content{display:flex;overflow-x:auto;scroll-behavior:smooth;gap:10px;padding:10px 0;scrollbar-color:#00c4cc var(--background-color)}.page-content .container{min-width:min(500px,70vw - 100px);flex-shrink:0}@media (max-width: 850px){#app{overflow-x:auto}.fixed-header{row-gap:1px;height:180px;padding-top:35px}.user-location{top:20px;right:20px;font-size:12px;padding:4px 10px}.page-tabs{flex-wrap:wrap;justify-content:center;margin-right:0;margin-top:10px;bottom:3px;right:0;left:0}.tab-btn{font-size:13px;padding:4px 12px}}.record-list-container{height:680px;display:flex;margin:10px 0}.record-list{width:100%;list-style-type:none;padding:0;margin:0}.record-item{display:flex;align-items:center;padding:14px;background-color:var(--bg-white);border-radius:10px;margin-bottom:10px;border:1px solid var(--border-lighter);box-shadow:0 2px 6px var(--shadow-color-lighter);transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.record-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:linear-gradient(to bottom,var(--interactive-color),var(--interactive-color-2));opacity:0;transition:opacity .3s ease}.record-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color-blue-light);border-color:var(--border-focus);background-color:var(--bg-hover-light)}.record-item:hover:before{opacity:1}.record-item:last-child{margin-bottom:0}.record-checkbox{margin-right:12px;position:relative;z-index:1}.record-checkbox input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--border-default);border-radius:5px;background-color:var(--bg-white);cursor:pointer;position:relative;transition:all .2s ease;box-shadow:0 1px 3px var(--shadow-color-lighter)}.record-checkbox input[type=checkbox]:checked{background-color:var(--interactive-color-2);border-color:var(--interactive-color-2-hover)}.record-checkbox input[type=checkbox]:checked:before{content:"✓";position:absolute;color:#fff;font-size:14px;font-weight:700;top:50%;left:50%;transform:translate(-50%,-50%)}.record-checkbox input[type=checkbox]:hover{border-color:var(--interactive-color-2)}.record-address{flex-grow:1;margin-right:10px;font-size:.95rem;color:var(--text-secondary);transition:color .2s;padding-left:8px;line-height:1.4}.record-delete{background-color:transparent;color:var(--text-lighter);border:1px solid var(--border-default);border-radius:6px;padding:4px 10px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .25s ease;display:flex;align-items:center;gap:5px;box-shadow:0 1px 3px var(--shadow-color-lighter)}.record-delete:hover{background-color:var(--error-bg);color:#fff;border-color:var(--error-color)}.record-delete:hover:before{content:"×";display:inline-block;font-weight:700;font-size:1.1rem;margin-right:2px;line-height:.8}.empty-record-notice{padding:20px 15px;color:var(--text-muted);text-align:center;font-size:.95rem;border-radius:8px;background-color:var(--bg-light);margin:15px 0;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px var(--shadow-color-blue-light);border:1px dashed var(--border-focus)}.empty-record-notice svg{width:24px;height:24px;margin-right:10px}.empty-record-notice:hover{background-color:var(--bg-hover-light);color:var(--interactive-color-2)}.empty-record-notice svg{transition:transform .3s ease}.empty-record-notice:hover svg{transform:scale(1.1)}.record-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}.bottom-actions{margin-top:10px;justify-content:center}.small-btn{padding:0 12px;background-color:var(--interactive-color);font-size:.8rem;cursor:pointer}.small-btn:hover{background-color:var(--interactive-color-hover)}.action-btn{padding:8px 16px;background-color:var(--action-bg);color:var(--bg-white);border:none;cursor:pointer;font-weight:700}.action-btn:hover{background-color:var(--action-bg-hover)}.action-btn:disabled{background-color:var(--disabled-color);cursor:not-allowed}#clearAllBtn{background-color:var(--error-bg);color:var(--bg-white)}#clearAllBtn:hover{background-color:var(--error-bg-hover)}.comparison-table{width:100%;border-collapse:collapse;margin-top:15px;font-size:.9rem}.comparison-table th,.comparison-table td{border:1px solid var(--border-table);padding:8px;text-align:left}.comparison-table th{background-color:var(--bg-table-header);font-weight:700}.comparison-table tr:nth-child(2n){background-color:var(--bg-table-alt)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:9999999999;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transform:translateY(0);animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1);overflow:auto;scroll-behavior:smooth;scrollbar-gutter:stable both-edges}.compare-modal{display:flex;flex-direction:column;background-color:var(--bg-white);border-radius:18px;overflow:hidden;box-shadow:0 10px 40px var(--shadow-color),0 0 0 1px var(--shadow-color-blue-lighter);max-width:90%;max-height:90vh;width:800px}.compare-body{padding:0;overflow-y:auto;max-height:calc(90vh - 130px);scrollbar-width:thin;scrollbar-color:var(--interactive-color-2) var(--bg-light)}.compare-body::-webkit-scrollbar{width:8px}.compare-body::-webkit-scrollbar-track{background:var(--bg-light);border-radius:4px}.compare-body::-webkit-scrollbar-thumb{background-color:var(--interactive-color-2);border-radius:4px}.compare-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-lighter);background:linear-gradient(to right,var(--bg-white),var(--bg-lighter));position:sticky;top:0;z-index:2}.compare-table th{background-color:var(--bg-lighter);font-weight:600;color:var(--text-secondary);position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--border-default)}.compare-table th:first-child{width:120px;min-width:120px;background-color:var(--bg-white);z-index:2;left:0;position:sticky}.compare-table td:first-child{background-color:var(--bg-lighter);font-weight:500;position:sticky;left:0;z-index:1}.compare-table tr:hover td:first-child{background-color:var(--bg-hover-light)}.compare-summary{padding:20px;background-color:var(--bg-lightest);border-top:1px solid var(--border-light)}.tag{margin:0 0 15px;color:var(--text-primary);font-size:1.1rem;font-weight:600;position:relative;padding-left:14px}.tag:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(to bottom,var(--interactive-color),var(--interactive-color-2));border-radius:4px}.summary-content{line-height:1.6;color:var(--text-secondary);font-size:.95rem;padding:0 5px}.summary-content p{margin:10px 0}.summary-content ul{margin:10px 0;padding-left:20px}.summary-content li{margin-bottom:6px}.highlight-better{background-color:var(--tag-green-bg);color:var(--tag-green-text);padding:2px 6px;border-radius:4px;font-weight:500}.highlight-worse{background-color:var(--tag-orange-bg);color:var(--tag-orange-text);padding:2px 6px;border-radius:4px;font-weight:500}.highlight-neutral{background-color:var(--tag-blue-bg);color:var(--tag-blue-text);padding:2px 6px;border-radius:4px;font-weight:500}@media (max-width: 768px){.compare-modal{width:95%;max-height:95vh}.compare-body{max-height:calc(95vh - 130px)}.compare-table th,.compare-table td{padding:10px 8px;font-size:.9rem}.compare-table th:first-child,.compare-table td:first-child{width:100px;min-width:100px}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:9999999999;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transform:translateY(0);animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1)}.modal.show{opacity:1;visibility:visible}.compare-modal{display:block;background-color:var(--bg-white);border-radius:18px;overflow:hidden;box-shadow:0 10px 40px var(--shadow-color),0 0 0 1px var(--shadow-color-blue-lighter)}@keyframes modalAppear{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes modalSlideIn{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.compare-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-lighter)}.compare-header h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.close-btn{background:none;border:none;color:var(--text-lighter);font-size:1.5rem;cursor:pointer;padding:0;height:auto;width:28px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn:hover{color:var(--text-primary);background:none}.compare-table{width:100%;border-collapse:collapse;margin:0}.compare-table th,.compare-table td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-lighter)}.compare-table th{background-color:var(--bg-lighter);font-weight:600;color:var(--text-secondary)}.compare-table tr:last-child td{border-bottom:none}.compare-table tr:hover td{background-color:var(--bg-hover)}.record-info{flex:1;cursor:pointer;padding:0 10px;transition:all .2s ease;border-radius:6px;position:relative;overflow:hidden}.record-title{font-weight:600;margin-bottom:6px;color:var(--text-primary);position:relative;padding-left:2px;transition:color .2s,transform .15s}.record-item:hover .record-title{color:var(--interactive-color-2);transform:translate(2px)}.record-details{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:var(--text-tertiary);margin-top:4px}.record-details span{background-color:var(--output-text-box-color);padding:4px 10px;border-radius:6px;transition:all .25s cubic-bezier(.16,1,.3,1);border:1px solid transparent;box-shadow:0 1px 2px var(--shadow-color-lighter);position:relative;overflow:hidden;font-weight:500}.record-details span[data-type=距離],.record-details span:nth-child(3n+1){background-color:var(--tag-blue-bg);border-color:var(--tag-blue-border);color:var(--tag-blue-text)}.record-details span[data-type=面積],.record-details span:nth-child(3n+2){background-color:var(--tag-green-bg);border-color:var(--tag-green-border);color:var(--tag-green-text)}.record-details span[data-type=類型],.record-details span:nth-child(3n+3){background-color:var(--tag-purple-bg);border-color:var(--tag-purple-border);color:var(--tag-purple-text)}.record-details span[data-type=價格]{background-color:var(--tag-orange-bg);border-color:var(--tag-orange-border);color:var(--tag-orange-text)}.record-details span[data-type=狀態]{background-color:var(--tag-teal-bg);border-color:var(--tag-teal-border);color:var(--tag-teal-text)}.record-details span[data-type=評分]{background-color:var(--tag-red-bg);border-color:var(--tag-red-border);color:var(--tag-red-text)}.record-details span:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#ffffff4d;transform:translate(-100%);transition:transform .4s ease-out;z-index:0}.record-details span:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 3px 6px #0000001a}.record-details span:hover:before{transform:translate(100%)}.record-details span[data-type=距離]:hover,.record-details span:nth-child(3n+1):hover{background-color:#d9e6ff;border-color:#9bf}.record-details span[data-type=面積]:hover,.record-details span:nth-child(3n+2):hover{background-color:#d9f2e6;border-color:#99dfbf}.record-details span[data-type=類型]:hover,.record-details span:nth-child(3n+3):hover{background-color:#e6d9f2;border-color:#bf99df}.record-details span[data-type=價格]:hover{background-color:#ffe6cc;border-color:#fc9}.record-details span[data-type=狀態]:hover{background-color:#d9f2f2;border-color:#99dfdf}.record-details span[data-type=評分]:hover{background-color:#ffd9d9;border-color:#f99}.delete-btn{background:transparent;color:var(--text-lighter);border:1px solid var(--border-default);font-size:1rem;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px var(--shadow-color-lighter);position:relative;overflow:hidden}.delete-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--error-color);opacity:0;transition:opacity .2s ease;z-index:-1}.delete-btn:hover{color:#fff;border-color:var(--error-color);transform:translateY(-1px);box-shadow:0 3px 8px #ff525240}.delete-btn:hover:before{opacity:1}.poi-analysis-card{background-color:var(--bg-white);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);margin-bottom:20px;overflow:hidden}.poi-analysis-card h3.poi-type{margin:0;padding:15px;font-size:1.1rem;font-weight:600}.analysis-sections{display:flex;flex-direction:column;padding:15px;max-height:1000px;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.analysis-sections.collapsed{max-height:0;padding-top:0;padding-bottom:0}.analysis-row{display:flex;flex-direction:row;gap:15px}.analysis-column{flex:1;background-color:var(--background-color);border-radius:6px;overflow:hidden;box-shadow:0 1px 3px var(--shadow-color-lighter)}.column-header{padding:10px 15px;-webkit-user-select:none;user-select:none}.advantages-header{background-color:var(--advantages-bg)}.disadvantages-header{background-color:var(--disadvantages-bg)}.column-header h4{margin:0;font-size:1rem;font-weight:500;text-align:center}.toggle-icon{font-size:12px;transition:transform .3s ease}.toggle-icon.collapsed{transform:rotate(-90deg)}.column-content{padding:0 15px}.advantages-list,.disadvantages-list{margin:10px 0;padding-left:20px}.advantages-list li,.disadvantages-list li{margin-bottom:5px}@media (max-width: 768px){.analysis-row{flex-direction:column;gap:10px}.analysis-column{margin-bottom:10px}.column-header{padding:8px 12px}.column-content{padding:0 12px}}.empty-poi-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 20px;color:var(--text-muted);gap:10px;margin:20px 0;background-color:var(--bg-light);border-radius:10px;border:1px dashed var(--border-focus);box-shadow:inset 0 0 0 1px var(--shadow-color-blue-light),0 2px 5px var(--shadow-color-lighter);min-height:120px;text-align:center;transition:all .3s ease}.empty-poi-notice:hover{background-color:var(--bg-lightest);transform:scale(1.02)}.empty-poi-notice svg{width:36px;height:36px;color:var(--interactive-color-2);opacity:.7;margin-bottom:10px;animation:pulse 1.5s infinite ease-in-out}.empty-poi-notice small{color:var(--text-lighter);font-size:.8rem}@keyframes pulse{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.05);opacity:.9}to{transform:scale(1);opacity:.7}}.poi-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;justify-content:center}.poi-type-summary{display:flex;align-items:center;padding:4px 10px;border-radius:20px;gap:6px;font-size:.85rem;font-weight:500;transition:all .3s ease;cursor:default;box-shadow:0 2px 6px var(--shadow-color-light);transform:scale(.95)}.poi-type-summary:hover{transform:scale(1.02) translateY(-3px);box-shadow:0 5px 12px var(--shadow-color-light);padding:6px 16px}.poi-type-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fffc;font-size:16px}.poi-type-info{display:flex;flex-direction:column}.poi-type-name{font-weight:600;font-size:.85rem}.poi-type-count{font-size:.75rem;opacity:.8}.food-type{background-color:var(--tag-blue-bg);border:1px solid var(--tag-blue-border);color:var(--tag-blue-text)}.health-type{background-color:var(--tag-green-bg);border:1px solid var(--tag-green-border);color:var(--tag-green-text)}.public-type{background-color:var(--tag-orange-bg);border:1px solid var(--tag-orange-border);color:var(--tag-orange-text)}.other-type{background-color:var(--tag-purple-bg);border:1px solid var(--tag-purple-border);color:var(--tag-purple-text)}.poi-list-container{display:flex;flex-direction:column;gap:4px;overflow-y:auto;margin-top:6px;padding-right:2px;scrollbar-width:thin}.poi-category{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px var(--shadow-color-light);border:1px solid var(--border-light);transition:transform .2s ease,box-shadow .2s ease;margin-bottom:6px}.poi-category:hover{transform:translateY(-2px);box-shadow:0 3px 6px var(--shadow-color)}.poi-category-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:linear-gradient(to right,rgba(0,0,0,.04),transparent)}.poi-category-header h4{margin:0;font-size:1rem;font-weight:600}.poi-count{font-size:.85rem;border-radius:20px;padding:2px 10px;background-color:#fffc;box-shadow:0 1px 3px #0000001a;font-weight:600}.food-type-header{background-color:var(--tag-blue-bg);color:var(--tag-blue-text)}.health-type-header{background-color:var(--tag-green-bg);color:var(--tag-green-text)}.public-type-header{background-color:var(--tag-orange-bg);color:var(--tag-orange-text)}.other-type-header{background-color:var(--tag-purple-bg);color:var(--tag-purple-text)}.poi-items{display:flex;flex-direction:column}.poi-item{border-top:1px solid var(--border-lighter);padding:8px 12px;background-color:var(--bg-white);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.poi-item:hover{background-color:var(--bg-hover-light);transform:translate(2px)}.poi-item:after{content:"";position:absolute;left:-100%;top:0;width:4px;height:100%;background-color:var(--interactive-color-2);transition:all .3s ease}.poi-item:hover:after{left:0}.poi-item.active{background-color:var(--bg-hover);border-left:3px solid var(--interactive-color-2);padding-left:13px}.poi-item-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.poi-name{font-weight:600;font-size:.9rem;color:var(--text-primary);transition:color .2s;line-height:1.2}.poi-item:hover .poi-name{color:var(--interactive-color-2)}.poi-distance{font-size:.7rem;color:var(--text-tertiary);background:var(--bg-lighter);padding:2px 6px;border-radius:10px;transition:all .2s ease;box-shadow:0 1px 2px var(--shadow-color-lighter)}.poi-item:hover .poi-distance{background:var(--tag-blue-bg);color:var(--tag-blue-text)}.poi-address{font-size:.75rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-top:2px;line-height:1.2}.poi-list-container::-webkit-scrollbar{width:4px}.poi-list-container::-webkit-scrollbar-track{background:var(--bg-lighter);border-radius:2px}.poi-list-container::-webkit-scrollbar-thumb{background:var(--interactive-color-2);border-radius:2px}.poi-list-container::-webkit-scrollbar-thumb:hover{background:var(--interactive-color-2-hover)}@media (max-width: 768px){.poi-summary{flex-direction:column;align-items:flex-start}.poi-list-container{max-height:400px}}.poi-category-header{display:flex;justify-content:space-between;align-items:center;background-color:#00000008;padding:8px 12px;border-bottom:1px solid var(--border-light);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.poi-category-header:hover{background-color:#0000000d}.poi-category-header h4{margin:0;font-size:.95rem;display:flex;align-items:center;gap:6px;position:relative;overflow:hidden}.poi-category-header h4:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.5),transparent);animation:shimmer 2s infinite;pointer-events:none}.poi-header-right{display:flex;align-items:center;gap:6px}.poi-toggle-icon{font-size:12px;transition:transform .3s ease}.poi-item{padding:8px 12px;border-bottom:1px solid rgba(0,0,0,.05);transition:background-color .2s ease,transform .2s ease;animation:slideIn .3s ease-out;animation-fill-mode:both}.poi-item:last-child{border-bottom:none}.poi-item:hover{background-color:#00000005;transform:translate(2px)}.poi-item:nth-child(1){animation-delay:.05s}.poi-item:nth-child(2){animation-delay:.1s}.poi-item:nth-child(3){animation-delay:.15s}.poi-item:nth-child(4){animation-delay:.2s}.poi-item:nth-child(5){animation-delay:.25s}.poi-item:nth-child(6){animation-delay:.3s}.poi-item:nth-child(7){animation-delay:.35s}.poi-item:nth-child(8){animation-delay:.4s}.poi-item:nth-child(9){animation-delay:.45s}.poi-item:nth-child(10){animation-delay:.5s}.poi-item-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:3px}.poi-name{font-weight:500;font-size:.9rem;color:var(--text-primary);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poi-distance{font-size:.75rem;color:var(--text-secondary);background:#0000000a;padding:1px 6px;border-radius:10px;white-space:nowrap}.poi-address{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1;position:relative;padding-left:10px}.poi-address:before{content:"📍";position:absolute;left:0;top:0;font-size:.7rem;opacity:.7}.poi-item:hover .poi-address{white-space:normal;transition:all .3s ease}.poi-google-maps-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;background-color:transparent;border:1px solid transparent;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.poi-google-maps-btn svg{stroke:var(--text-secondary);transition:stroke .2s ease}.poi-google-maps-btn:hover{background-color:#0000000d;border-color:var(--border-light)}.poi-google-maps-btn:hover svg{stroke:var(--text-primary)}.poi-type-summary:hover .poi-type-icon{transform:scale(1.1) rotate(5deg);transition:transform .3s ease}.poi-type-summary:hover .poi-type-name{text-shadow:0 0 1px rgba(0,0,0,.2)}.food-type{background:linear-gradient(to right,#4285f41a,#4285f433);animation-delay:0s}.health-type{background:linear-gradient(to right,#34a8531a,#34a85333);animation-delay:.6s}.public-type{background:linear-gradient(to right,#fbbc051a,#fbbc0533);animation-delay:1.2s}.poi-type-summary{animation:float 3.5s infinite ease-in-out}.poi-category{transition:all .3s cubic-bezier(.25,.8,.25,1)}.poi-category:hover{transform:translateY(-3px);box-shadow:0 3px 10px #00000014}.empty-poi-notice svg{filter:drop-shadow(0 2px 3px rgba(0,150,255,.2))}.poi-count{position:relative;overflow:hidden;animation:breathe 3s infinite ease-in-out}.poi-type-icon{font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;animation:fadeIn .5s ease-out}.poi-guide{background-color:#4285f41a;border-radius:8px;margin-bottom:8px;padding:6px 10px;box-shadow:0 1px 4px #0000001a;transition:opacity .5s ease,transform .5s ease;border-left:3px solid #4285f4}.poi-guide.fade-out{opacity:0;transform:translateY(-10px)}.poi-guide-content{display:flex;align-items:center;gap:6px}.poi-guide-icon{font-size:1.2rem;animation:pulse 2s infinite ease-in-out}.poi-guide-text{font-size:.8rem;color:var(--text-primary);font-weight:500}.food-popup .leaflet-popup-content-wrapper{background-color:#4285f41a;border-left:4px solid #4285f4}.food-popup .leaflet-popup-tip{background-color:#4285f4}.health-popup .leaflet-popup-content-wrapper{background-color:#34a8531a;border-left:4px solid #34a853}.health-popup .leaflet-popup-tip{background-color:#34a853}.public-popup .leaflet-popup-content-wrapper{background-color:#fbbc051a;border-left:4px solid #fbbc05}.public-popup .leaflet-popup-tip{background-color:#fbbc05}.poi-marker{transition:all .3s ease}.poi-marker:hover{transform:scale(1.3)}.poi-marker.active{animation:pulsate 1.5s infinite ease-in-out}@keyframes float{0%{transform:translateY(0) scale(.98)}50%{transform:translateY(-3px) scale(1)}to{transform:translateY(0) scale(.98)}}@keyframes shimmer{0%{left:-100%}to{left:200%}}@keyframes breathe{0%,to{box-shadow:0 1px 3px #0000001a}50%{box-shadow:0 1px 6px #0003}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes pulsate{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}
