:root{--color-primary: #12766e;--color-primary-light: #2f8c82;--color-primary-dark: #245f8d;--color-text: #2c3e50;--color-text-dark: #333;--color-text-secondary: #555;--color-text-muted: #6c757d;--color-text-light: #767676;--color-bg-page: #f4f7f6;--color-bg-surface: #f8f9fa;--color-bg-white: #ffffff;--color-border: #e9ecef;--color-border-light: #dee2e6;--color-border-input: #e1e5e9;--color-success: #16a34a;--color-success-hover: #15803d;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-warning: #f59e0b;--color-info: #3b82f6;--color-type-presale: #0f766e;--color-type-completed: #7c3aed;--color-sponsor: #dc2626;--color-favorites: #ec4899;--brand-lockup-gap: 10px;--brand-lockup-icon-compact: 34px;--brand-lockup-text-compact: 22px;--brand-lockup-icon-compact-mobile: 30px;--brand-lockup-text-compact-mobile: 18px;--brand-lockup-icon-large: 42px;--brand-lockup-text-large: 28px;--brand-lockup-icon-large-mobile: 34px;--brand-lockup-text-large-mobile: 22px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--section-px: 1.5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 15px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--blur-glass: blur(16px)}*{margin:0;padding:0;box-sizing:border-box}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:var(--color-primary);text-decoration:underline}a:visited,a:active{color:var(--color-primary)}body{font-family:Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Segoe UI,Heiti TC,Noto Sans TC,Noto Sans,Roboto,sans-serif;line-height:1.6;color:var(--color-text);background-color:var(--ds-page, var(--color-bg-page));min-height:100vh}body.market-tab,body.raw-data-tab,body.permits-tab,body.developer-tab,body.sales-ranking-tab{background-color:#f4f7f6}@media (min-width: 768px){body{background-color:var(--ds-page, var(--color-bg-page))}body.market-tab,body.raw-data-tab,body.permits-tab,body.developer-tab,body.sales-ranking-tab{background-color:#f4f7f6}.header h1{color:var(--color-text-dark)}.user-dropdown-toggle{background:#ffffffe6!important;backdrop-filter:var(--blur-glass)!important;-webkit-backdrop-filter:var(--blur-glass)!important;border:1px solid rgba(0,0,0,.1)!important;box-shadow:var(--shadow-md)!important;color:var(--color-text-secondary)!important}.user-dropdown-toggle:hover{background:#fffffff2!important;border-color:#00000026!important}.user-dropdown-toggle .user-name-text{color:var(--color-text-secondary)!important;text-shadow:none!important}}.container{max-width:1200px;margin:0 auto;padding:0 1rem;min-height:100vh;display:flex;flex-direction:column}body.raw-data-tab .container{max-width:1440px;padding-left:16px;padding-right:16px}.header{padding:2rem 0;color:#fff;display:flex;flex-direction:column;position:relative}.header-content{display:flex;align-items:center;justify-content:space-between;position:relative;gap:2rem}.title-section{text-align:left}.header-actions{display:flex;align-items:center;gap:1rem}.header-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius-xl);font-weight:500;font-size:.95rem;text-decoration:none;transition:transform var(--transition-normal);color:#fff}.header-btn i{font-size:1rem}.header-btn:hover{transform:translateY(-2px);text-decoration:none}.header-btn:visited{color:#fff}.register-btn,.register-btn:visited{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-sm);color:var(--color-text-secondary)}.register-btn:hover{background:#fff;border-color:#00000026;box-shadow:var(--shadow-md);color:var(--color-text)}.search-btn,.search-btn:visited{padding:.6rem;border-radius:50%;background:#ffffffe6;border:none;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;color:#555}.search-btn:hover{background:#fff;box-shadow:var(--shadow-md);color:#333}.sponsor-btn{background:linear-gradient(135deg,var(--color-sponsor),var(--color-danger-hover));border:2px solid var(--color-sponsor);color:#fff;font-weight:600}.sponsor-btn:hover{background:linear-gradient(135deg,var(--color-danger-hover),#991b1b);border-color:var(--color-danger-hover);box-shadow:var(--shadow-lg);color:#fff}.logout-btn{background:#fff!important;border:2px solid rgba(255,255,255,.5);color:var(--color-text)!important;font-weight:500}.logout-btn:hover{background:#ffffffe6!important;border-color:#fff;box-shadow:0 4px 15px #ffffff4d;color:var(--color-text)!important}.logout-btn:visited{color:var(--color-text)!important}.header-logout-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--radius-xl);font-size:.9rem;font-weight:500;background:#ffffffd9;backdrop-filter:var(--blur-glass) saturate(180%);-webkit-backdrop-filter:var(--blur-glass) saturate(180%);border:1px solid rgba(0,0,0,.1);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-md)}.header-logout-btn:hover{background:#fffffff2;border-color:#00000026;color:var(--color-text-dark);box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.header-logout-btn i{font-size:.85rem}.favorites-btn{background:linear-gradient(135deg,var(--color-favorites),#db2777);border:2px solid var(--color-favorites);color:#fff;font-weight:500}.favorites-btn:hover{background:linear-gradient(135deg,#db2777,#be185d);border-color:#db2777;box-shadow:0 4px 15px #ec489966}.favorites-btn:visited{color:#fff}.user-dropdown{position:relative}.user-dropdown-toggle{display:flex;align-items:center;gap:.4rem;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:.6rem 1.2rem;cursor:pointer;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.5px;transition:background var(--transition-fast)}.user-dropdown-toggle:hover{background:#ffffff59}.user-dropdown-toggle .user-name-text{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.user-dropdown-toggle .fa-caret-down{font-size:.75rem;transition:transform var(--transition-fast)}.user-dropdown-menu.show+.user-dropdown-toggle .fa-caret-down,.user-dropdown-toggle[aria-expanded=true] .fa-caret-down{transform:rotate(180deg)}.user-dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#fff;border-radius:10px;box-shadow:var(--shadow-lg);min-width:160px;z-index:1000;overflow:hidden}.user-dropdown-menu.show{display:block}.dropdown-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem 1rem;border:none;background:none;color:var(--color-text-dark);font-size:.9rem;cursor:pointer;text-decoration:none;transition:background var(--transition-fast)}.dropdown-item:hover{background:#f5f5f5}.dropdown-item:visited{color:var(--color-text-dark)}.dropdown-item i{width:1.2em;text-align:center;color:var(--color-text-secondary)}.home-favicon{height:1em;width:auto;vertical-align:middle;margin-right:.3em}.header h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.header .subtitle{font-size:1.1rem;opacity:.9;font-weight:300;margin-bottom:1.5rem}.main-nav{margin-top:1.5rem}.nav-tabs{display:flex;justify-content:center;gap:.5rem;list-style:none;margin:0;padding:0;background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:.5rem;border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-md)}.nav-tab{flex:1;max-width:200px;text-align:center;background:#fff;border-radius:var(--radius-md);transition:background var(--transition-normal),transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal);border:2px solid var(--color-border)}.nav-tab a{display:block;padding:1rem 1.5rem;color:var(--color-primary-dark);text-decoration:none;font-weight:700;cursor:pointer;transition:inherit}.nav-tab:hover{background:#fff;transform:translateY(-2px);border-color:var(--color-primary-dark)}.nav-tab:hover a{color:var(--color-primary-dark)}.nav-tab.active{background:var(--color-primary-dark);border:2px solid var(--color-primary-dark);box-shadow:0 4px 15px #245f8d4d}.nav-tab.active a{color:#fff;font-weight:600}.nav-tab a i{margin-right:.5rem;font-size:1.1rem}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 0;color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}main{flex:1;padding:2rem 0;margin:0}.tab-content{display:none}.tab-content.active{display:block;animation:fadeIn .3s ease-in-out}body.market-tab #main-content>.tab-content.active,body.raw-data-tab #main-content>.tab-content.active,body.permits-tab #main-content>.tab-content.active,body.developer-tab #main-content>.tab-content.active,body.sales-ranking-tab #main-content>.tab-content.active{padding-top:18px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.filter-panel{background:var(--color-bg-surface);padding:1.5rem var(--section-px);border-radius:var(--radius-lg);margin-bottom:2rem}.filter-panel h2{margin-bottom:1.5rem;color:var(--color-text);font-size:1.5rem}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-row{display:grid;grid-template-columns:1fr 2fr;gap:1rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column}.filter-group label{margin-bottom:.5rem;font-weight:600;color:var(--color-text-secondary);font-size:.9rem}.filter-group select,.filter-group input{padding:.75rem;border:2px solid var(--color-border-input);border-radius:var(--radius-md);font-size:1rem;transition:border-color var(--transition-fast)}.filter-group select:focus-visible,.filter-group input:focus-visible{outline:none;border-color:var(--color-primary-light)}.filter-group select[multiple]{min-height:120px}.filter-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.btn-primary,.btn-secondary{padding:.75rem 2rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);display:flex;align-items:center;gap:.5rem}.btn-primary{background:var(--color-primary-light);color:#fff}.btn-primary:hover{background:var(--color-primary);transform:translateY(-2px)}.btn-secondary{background:var(--color-text-muted);color:#fff}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}.market-overview{margin-bottom:2rem}.market-overview h2{margin-bottom:1.5rem;color:var(--color-text);font-size:1.5rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1rem}.metric-card{background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);padding:1.5rem;border-radius:var(--radius-lg);color:#fff;text-align:center;box-shadow:var(--shadow-lg);transition:transform var(--transition-fast)}.metric-card:hover{transform:translateY(-5px)}.metric-icon{font-size:2.5rem;margin-bottom:1rem;opacity:.9}.metric-content h3{font-size:2rem;margin-bottom:.5rem;font-weight:700}.metric-content p{font-size:.9rem;opacity:.9}.title-badge{display:inline-block;background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);color:#fff;font-size:.9rem;font-weight:600;padding:.3rem .8rem;border-radius:var(--radius-xl);margin-left:.8rem;vertical-align:middle}.age-analysis h2{margin-bottom:1.5rem;color:var(--color-text);font-size:1.5rem}.chart-container{background:#fff;border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-lg);margin-bottom:2rem}.footer{margin-top:1.5rem;background:var(--color-text, #2c3e50);color:#ffffffa6;font-size:.8rem;letter-spacing:.01em;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.footer-inner{max-width:960px;margin:0 auto;padding:1rem var(--section-px, 1.5rem) .75rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}.footer-main{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.footer-logo{font-weight:600;font-size:.9rem;color:#ffffffeb;letter-spacing:.04em;padding:.3rem 0}.footer-divider{width:1px;height:12px;background:#fff3}.footer-link{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:var(--radius-full, 9999px);color:#ffffffb8;text-decoration:none;font-size:.78rem;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease)}.footer-link i{font-size:.72rem;opacity:.7}@media (hover: hover){.footer-link:hover{background:#ffffff1a;color:#fffffff2;text-decoration:none}.footer-link:hover i{opacity:1}}.footer-link:visited,.footer-link:active{color:#ffffffb8}.footer-meta{font-size:.72rem;color:#ffffff61}@media (max-width: 600px){.footer-inner{padding:.75rem var(--space-4, 1rem) .6rem;gap:.3rem}.footer-link{padding:.25rem .5rem;font-size:.74rem}}.mobile-hamburger{display:none;justify-self:start}.sidebar-divider{border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:.5rem;padding-bottom:.5rem}.tab-btn{background:#fff;color:var(--color-text);border:2px solid var(--color-border);padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal);display:flex;align-items:center;gap:.5rem;white-space:nowrap;border-radius:var(--radius-md);outline:none}.tab-btn:hover{border-color:var(--color-primary);background:#12766e14}.tab-btn.active{background:#fff;color:var(--color-text);border-color:var(--color-primary);font-weight:600;box-shadow:var(--shadow-sm)}.tab-btn.active i{color:var(--color-primary)}@media (max-width: 768px){.tab-btn{padding:.6rem 1rem;font-size:.9rem;justify-content:center}}.sub-nav{margin:2rem 0}.sub-nav-tabs{list-style:none;padding:0;margin:0;display:flex;gap:.5rem}.sub-tab-content{display:none;background:#fff;border-radius:var(--radius-lg);padding:1.5rem var(--section-px);margin-bottom:2rem;margin-top:.5rem;border:1px solid var(--color-border)}.sub-tab-content.active{display:block}section>.sub-tab-content{--section-px: .5rem}.sub-tab-content .raw-data-section,.raw-data-section .raw-data-table-section{--section-px: 0}.sub-tab-content h3{color:var(--color-text);margin-bottom:1.5rem;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.zone-label-marker{background:transparent!important;border:none!important;pointer-events:none!important}.zone-label-text{font-weight:700;color:var(--color-text);font-size:14px;white-space:nowrap;text-align:center;text-shadow:1px 1px 2px white,-1px -1px 2px white,1px -1px 2px white,-1px 1px 2px white,0 0 3px white;pointer-events:none!important}.permit-link{color:var(--color-primary-light);text-decoration:none;font-weight:500;transition:color var(--transition-normal)}.permit-link:hover{color:var(--color-primary);text-decoration:underline}.input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.input-group input{width:100%;padding:.75rem;border:2px solid var(--color-border-input);border-radius:var(--radius-md);font-size:1rem;transition:border-color var(--transition-normal)}.input-group input:focus-visible{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2f8c821a}.button-group{display:flex;gap:.5rem}.tooltip{position:relative;cursor:help}.tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--color-text-dark);color:#fff;padding:.5rem;border-radius:var(--radius-sm);font-size:.8rem;white-space:nowrap;z-index:1000}.checkbox-container{min-height:48px;max-height:300px;overflow-y:auto;border:2px solid var(--color-border-input);border-radius:var(--radius-md);padding:.5rem}.search-input-wrapper{position:relative;margin-bottom:.75rem}.zone-search-box{width:100%;padding:.6rem .8rem;border:2px solid var(--color-border-input);border-radius:var(--radius-md);font-size:.95rem;transition:border-color var(--transition-fast);outline:none;box-sizing:border-box}.zone-search-box:focus-visible{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2f8c821a}.zone-search-box::placeholder{color:var(--color-text-light);font-size:.9rem}.select-all-container{border-bottom:1px solid var(--color-border-input);margin-bottom:.5rem;padding-bottom:.5rem}.checkbox-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem .8rem}.checkbox-label{display:flex;align-items:center;cursor:pointer;padding:.3rem .5rem;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);font-size:.9rem}.checkbox-label:hover{background-color:var(--color-bg-surface)}.checkbox-label input[type=checkbox]{margin:0;margin-right:.5rem;width:16px;height:16px;cursor:pointer;flex-shrink:0}.checkmark{position:relative}.filter-row-fullwidth{grid-template-columns:1fr!important}.error-message{background:#ffebee;color:var(--color-danger);padding:1rem;border-radius:var(--radius-md);border-left:4px solid var(--color-danger);margin:1rem 0}.success-message{background:#e8f5e8;color:var(--color-success);padding:1rem;border-radius:var(--radius-md);border-left:4px solid var(--color-success);margin:1rem 0}.loading-row,.error-row{text-align:center;font-style:italic;color:var(--color-text-muted);padding:2rem!important}.error-row{color:var(--color-danger);font-weight:500}.age-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:1.5rem 0}.chart-item{background:#fff;border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.chart-item h3{margin:0 0 1rem;font-size:1.1rem;color:var(--color-text);text-align:center;font-weight:600;border-bottom:2px solid var(--color-primary-light);padding-bottom:.5rem}.chart-item canvas{width:100%!important;height:350px!important;max-width:100%}.table-container{background:#fff;border-radius:var(--radius-lg);padding:.25rem;box-shadow:var(--shadow-lg);margin-bottom:2rem;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem;font-family:Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Noto Sans TC,Noto Sans,sans-serif}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border-light)}.data-table thead{background:linear-gradient(to right,var(--color-primary-light),var(--color-primary))}.data-table th{background:transparent;color:#fff;font-weight:600;text-align:center;border:none}.sortable-header{transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none}.sortable-header:hover{background-color:#ffffff1a}.sortable-header.active-sort{background-color:#ffffff26}.sort-indicator{display:inline-block;margin-left:5px;font-size:.8em;opacity:.7}.sortable-header:hover .sort-indicator{opacity:1}.data-table tbody tr:hover{background-color:var(--color-bg-surface)}.data-table td{text-align:center}.data-table td.numeric{text-align:center;font-family:Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Noto Sans TC,Consolas,Monaco,monospace,sans-serif}.data-table td.center-text{text-align:center!important;font-family:Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Noto Sans TC,Noto Sans,sans-serif}.data-table td:first-child,.data-table td:nth-child(2){text-align:left}.price-range-comparison,.presale-statistics{margin-bottom:2rem}.price-range-comparison h2,.presale-statistics h2{margin-bottom:1.5rem;color:var(--color-text);font-size:1.5rem}@media (max-width: 1024px){.checkbox-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.container{margin:0 auto;padding:0 .5rem;width:100%;max-width:100%}body.raw-data-tab .container{padding-left:10px;padding-right:10px}.header{text-align:center;padding:1.5rem 0;position:relative}.header h1{font-size:2rem}.header .subtitle{display:none}.header-content{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}.title-section{justify-self:center;text-align:center}.header-actions{display:none}.mobile-hamburger{display:block;z-index:1001;justify-self:start}.hamburger-btn{background:transparent;color:#fff;border:none;border-radius:var(--radius-md);padding:12px 14px;font-size:1.2rem;cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal);box-shadow:none}.hamburger-btn:hover{transform:scale(1.1);box-shadow:none}.hamburger-btn:active{transform:scale(1)}.main-nav{display:none}.nav-tab{max-width:none}.nav-tab a{padding:.8rem 1rem;font-size:.9rem}.nav-tab a i{margin-right:.3rem;font-size:1rem}main{padding:.5rem 0;margin:0;width:100%;max-width:100%}.tab-content>section,.tab-content>section>.sub-tab-content,.tab-content>section>[class*=-section],.sub-tab-content>[class*=-section]{padding-left:.25rem;padding-right:.25rem}.cards-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.age-charts-grid{grid-template-columns:1fr;gap:1rem}.chart-item{padding:1rem}.chart-item h3{font-size:1rem}.chart-item canvas{height:250px!important}.table-container{padding:0;margin:0}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:.5rem .25rem}.checkbox-list{grid-template-columns:1fr}.sub-nav-tabs{flex-direction:row;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.sub-tab-content{padding-top:.75rem;padding-bottom:.75rem;border-radius:var(--radius-lg)}}@media (max-width: 375px){.header{padding:1.5rem 0}.header-content{gap:.5rem}.header h1{font-size:1.8rem}.header .subtitle{display:none}.hamburger-btn{padding:10px 12px;font-size:1.1rem}.filter-panel{padding:1rem;margin-bottom:1.5rem}.filter-grid,.filter-row{grid-template-columns:1fr}.filter-actions{flex-direction:column;text-align:center}.btn-primary,.btn-secondary{width:100%;max-width:300px;margin:0 auto}.market-overview{text-align:center}.cards-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.metric-card{padding:1.25rem 1rem;text-align:center}.metric-content h3{font-size:1.75rem}.metric-content p{font-size:.8rem}.table-container{padding:.5rem;overflow-x:auto;margin:0 auto}.data-table{font-size:.8rem;width:100%;margin:0 auto}.data-table th,.data-table td{padding:.5rem .25rem;font-size:.75rem}.chart-container{padding:.5rem;margin:0 auto}.market-overview h2,.age-analysis h2,.zone-comparison h2,.price-range-comparison h2,.presale-statistics h2{text-align:center;font-size:1.3rem}.mobile-layout{display:block!important}}@media (min-width: 769px) and (max-width: 1024px){.filter-grid,.cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1025px){.filter-grid,.cards-grid{grid-template-columns:repeat(4,1fr)}}.header.topbar-redesign{position:relative;z-index:1200;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:18px;min-height:64px;padding:10px 12px;margin-bottom:18px;color:var(--ds-ink, #22313f);background:#fff6;border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:0 8px 32px #1f268712;backdrop-filter:blur(25px) saturate(130%);-webkit-backdrop-filter:blur(25px) saturate(130%);overflow:visible}.header.topbar-redesign .header-content,.header.topbar-redesign .main-nav{display:contents}.header.topbar-redesign .title-section{order:1;position:relative;z-index:1;justify-self:start;min-width:max-content}.header.topbar-redesign .title-section h1{margin:0;font-weight:800;font-size:var(--brand-lockup-text-compact, 22px);color:var(--ds-ink, #22313f);line-height:1}.header.topbar-redesign .title-section h1 a{display:inline-flex;align-items:center;gap:var(--brand-lockup-gap, 10px);color:inherit!important;text-decoration:none}.header.topbar-redesign .title-section h1 img{width:var(--brand-lockup-icon-compact, 34px)!important;height:var(--brand-lockup-icon-compact, 34px)!important;border-radius:8px;flex:0 0 auto;box-shadow:0 8px 24px #10182024}.header.topbar-redesign .mobile-hamburger{display:none;order:0;position:relative;z-index:1;flex:0 0 auto}.header.topbar-redesign .hamburger-btn{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;padding:0;box-sizing:border-box;border:1px solid rgba(255,255,255,.6);border-radius:10px;background:#fff6;color:#222f3af0;cursor:pointer;font-size:1rem;box-shadow:0 4px 16px #1f26870f;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.header.topbar-redesign .hamburger-btn .fa-bars{position:absolute;left:50%;top:50%;display:block;width:16px;height:12px;font-size:0;line-height:0;transform:translate(-50%,-50%)}.header.topbar-redesign .hamburger-btn .fa-bars:before,.header.topbar-redesign .hamburger-btn .fa-bars:after{content:"";position:absolute;left:0;width:16px;height:2px;border-radius:999px;background:currentColor;transform:none}.header.topbar-redesign .hamburger-btn .fa-bars:before{top:0;box-shadow:0 5px 0 currentColor}.header.topbar-redesign .hamburger-btn .fa-bars:after{bottom:0}.header.topbar-redesign .nav-tabs{order:2;position:relative;z-index:1;justify-self:center;min-width:0;max-width:100%;margin-left:0;margin-right:0;display:flex;align-items:center;gap:4px;padding:4px;list-style:none;border:1px solid rgba(255,255,255,.6);border-radius:10px;background:#ffffff52;box-shadow:0 4px 16px #1f26870d;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);overflow-x:auto;scrollbar-width:none}.header.topbar-redesign .nav-tabs::-webkit-scrollbar{display:none}.header.topbar-redesign .nav-tab,.header.topbar-redesign .nav-tab.active{display:flex;margin:0;list-style:none;border:none;background:transparent;box-shadow:none}.header.topbar-redesign .nav-tab a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:6px;color:var(--ds-muted, #64727f);text-decoration:none;white-space:nowrap;font-size:.92rem;font-weight:650;background:transparent;border:1px solid transparent;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.header.topbar-redesign .nav-tab a i{font-size:.92rem}body.market-tab .header.topbar-redesign .nav-tab a[href="/market"],body.raw-data-tab .header.topbar-redesign .nav-tab a[href="/raw-data"],body.permits-tab .header.topbar-redesign .nav-tab a[href="/permits"],body.developer-tab .header.topbar-redesign .nav-tab a[href="/developer"],body.sales-ranking-tab .header.topbar-redesign .nav-tab a[href="/sales"],.header.topbar-redesign .nav-tab.active>a,.header.topbar-redesign .nav-tab>a.active,.header.topbar-redesign .nav-tab>a[aria-current=page]{color:var(--ds-ink, #22313f);background:#ffffffb8;border-color:#ffffffe6;box-shadow:0 2px 8px #1f26870f,inset 0 1px #ffffffe6;font-weight:750}@media (hover: hover){.header.topbar-redesign .nav-tab:not(.active) a:hover,.header.topbar-redesign .header-actions button:hover,.header.topbar-redesign .header-actions a:hover,.header.topbar-redesign .header-actions .user-dropdown-toggle:hover,.header.topbar-redesign .hamburger-btn:hover{border-color:#ffffffd1;transform:translateY(-1px);background:#fff9;color:var(--ds-ink, #22313f)}}.header.topbar-redesign .header-actions{order:3;position:relative;z-index:1300;justify-self:end;display:flex!important;align-items:center;gap:8px;opacity:1!important;background:transparent;border:none;padding:0}.header.topbar-redesign .header-actions .user-dropdown{position:relative;display:flex;align-items:center;height:38px;line-height:1}.header.topbar-redesign .header-actions .user-dropdown-menu{z-index:1400}.header.topbar-redesign .header-actions .header-btn,.header.topbar-redesign .header-actions .search-btn,.header.topbar-redesign .header-actions .register-btn,.header.topbar-redesign .header-actions .sponsor-btn,.header.topbar-redesign .header-actions .user-dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;min-height:38px;padding:0 10px;line-height:1;border:1px solid rgba(255,255,255,.6);border-radius:10px;background:#fff6;color:#222f3af0;font-size:.86rem;font-weight:650;text-decoration:none;cursor:pointer;box-shadow:0 4px 16px #1f26870f;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.header.topbar-redesign .header-actions .user-dropdown-toggle{margin:0}.header.topbar-redesign .header-actions .user-dropdown-toggle .user-name-text{color:inherit;text-shadow:none;line-height:1}.header.topbar-redesign .header-actions .user-dropdown-toggle .avatar-img,.header.topbar-redesign .header-actions .user-dropdown-toggle .avatar-initials{width:28px;height:28px}.header.topbar-redesign .header-actions .header-btn .btn-text{color:inherit}.header.topbar-redesign .header-actions .search-btn{width:38px;height:38px;padding:0;place-items:center}@media (max-width: 1500px){.header.topbar-redesign{gap:12px;padding:10px 12px}.header.topbar-redesign .nav-tabs{gap:4px;padding:4px}.header.topbar-redesign .nav-tab a{padding:0 9px;font-size:.85rem;min-height:34px}.header.topbar-redesign .header-actions{gap:6px}.header.topbar-redesign .header-actions .header-btn .btn-text{display:none}.header.topbar-redesign .header-actions .header-btn,.header.topbar-redesign .header-actions .user-dropdown-toggle{width:38px;height:38px;padding:0;place-items:center}.header.topbar-redesign .header-actions .user-dropdown-toggle .user-name-text,.header.topbar-redesign .header-actions .user-dropdown-toggle .fa-caret-down{display:none}.header.topbar-redesign .header-actions .user-dropdown-toggle .avatar-img,.header.topbar-redesign .header-actions .user-dropdown-toggle .avatar-initials{width:28px;height:28px}}@media (max-width: 1080px) and (min-width: 769px){.header.topbar-redesign{grid-template-columns:max-content max-content;justify-content:space-between}.header.topbar-redesign .nav-tabs{order:4;grid-column:1 / -1;width:100%;margin-left:0;margin-right:0;justify-content:center}.header.topbar-redesign .header-actions{margin-left:auto}}@media (max-width: 768px){.header.topbar-redesign{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;padding:9px 10px;gap:8px;min-height:60px;margin:8px 0 18px;background:linear-gradient(135deg,#f8fafc57,#fff3),#ffffff42;color:#0f172a;border:1px solid rgba(255,255,255,.52);border-radius:20px;box-shadow:inset 0 1px #ffffff8f,0 14px 36px #0f172a1f;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}.header.topbar-redesign .header-content{display:contents!important}.header.topbar-redesign .hamburger-btn{background:#ffffff61;color:#0f172a;border:1px solid rgba(255,255,255,.54);border-radius:12px;box-shadow:inset 0 1px #ffffff94,0 6px 18px #0f172a14}.header.topbar-redesign .title-section h1,.header.topbar-redesign .title-section h1 a{color:#0f172a}.header.topbar-redesign .mobile-hamburger{display:inline-flex!important;grid-column:1;justify-self:start;align-self:center}.header.topbar-redesign .nav-tabs,.header.topbar-redesign .main-nav{display:none}.header.topbar-redesign .header-actions{display:flex!important;grid-column:3;justify-self:end;align-self:center;gap:6px;margin-left:0}.header.topbar-redesign .header-actions .register-btn .btn-text,.header.topbar-redesign .header-actions .sponsor-btn .btn-text{display:none}.header.topbar-redesign .header-actions .header-btn{width:36px;height:36px;min-height:36px;padding:0;place-items:center;background:#ffffff61;border-color:#ffffff8a;border-radius:12px;box-shadow:inset 0 1px #ffffff94,0 6px 18px #0f172a14}.header.topbar-redesign .header-actions .user-dropdown,.header.topbar-redesign .header-actions .user-dropdown-toggle{width:36px;height:36px;min-height:36px;padding:0}.header.topbar-redesign .title-section{grid-column:2;justify-self:center;min-width:0;text-align:center}.header.topbar-redesign .title-section h1{font-size:1rem}.header.topbar-redesign .title-section h1 img{width:28px!important;height:28px!important}}body.market-tab{background-color:#f4f7f6}.time-range-section{background:var(--color-bg-surface);padding:1rem var(--section-px);border-radius:var(--radius-lg);margin-bottom:1rem}.time-range-section h2{margin-bottom:.75rem;color:var(--color-text);font-size:1.2rem}.time-range-grid{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.time-range-grid select{padding:.6rem .8rem;border:2px solid var(--color-border-input);border-radius:var(--radius-md);font-size:.95rem;transition:border-color var(--transition-fast)}.time-range-grid select:focus-visible{outline:none;border-color:var(--color-primary-light)}.market-redesign .field-group[data-member-only=date-range].member-locked .time-range-grid select{cursor:pointer}.market-redesign .member-only-badge{display:inline-flex;align-items:center;min-height:20px;margin-left:6px;padding:0 8px;border:1px solid rgba(47,140,130,.24);border-radius:999px;color:var(--m-teal);background:#2f8c8214;font-size:.72rem;font-weight:700;line-height:1}.market-redesign .field-group[data-member-only=date-range]:not(.member-locked) .member-only-badge{display:none}.time-range-separator{color:var(--color-text-muted);font-weight:500;padding:0 .25rem}.quick-select-section{background:var(--color-bg-surface);padding:1rem var(--section-px);border-radius:var(--radius-lg);margin-bottom:1rem}.quick-select-section h2{margin-bottom:.75rem;color:var(--color-text);font-size:1.2rem}.quick-select-group{margin-bottom:.5rem}.quick-select-label{font-weight:600;color:var(--color-text-secondary);font-size:.85rem;margin-bottom:.4rem}.quick-cards-row{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.quick-card{background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-md);padding:.6rem 1rem;cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);display:flex;align-items:center;gap:.4rem;font-weight:500;font-size:.95rem;color:var(--color-text);min-height:44px}@media (hover: hover){.quick-card:hover{border-color:var(--color-primary);background-color:#12766e14;box-shadow:var(--shadow-md)}}.quick-card:active{background-color:#12766e26}.quick-card i{color:var(--color-primary);font-size:.9rem}#market-tab>.filter-actions{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.5rem}@media (max-width: 768px){.time-range-section,.quick-select-section{padding-top:.5rem;padding-bottom:.5rem}.time-range-section h2,.quick-select-section h2{font-size:1rem}.time-range-grid select{padding:.5rem .6rem;font-size:.9rem}.quick-card{padding:.5rem .8rem;font-size:.9rem}}body.market-tab .container{max-width:1440px;padding-left:16px;padding-right:16px}@media (max-width: 760px){body.market-tab .container{padding-left:10px;padding-right:10px}}body.market-tab #main-content{background:transparent;border-radius:0;padding:0;margin:0;box-shadow:none}#market-tab .market-redesign .workspace{margin-top:0}.market-redesign{--m-ink: #22313f;--m-muted: #64727f;--m-line: #dce4ea;--m-soft: #eef4f2;--m-paper: #ffffff;--m-brand: #12766e;--m-brand-dark: #245f8d;--m-teal: #2f8c82;--m-teal-soft: #dff0ed;--m-amber: #0891b2;--m-amber-soft: #e0f2fe;--m-red: #bf4f4b;--m-shadow: 0 14px 42px rgba(31, 45, 55, .1);--m-radius: 8px}.market-redesign .control-panel{display:grid;gap:0;border:1px solid rgba(220,228,234,.95);border-radius:var(--m-radius);background:#ffffffeb;box-shadow:var(--m-shadow)}.market-redesign .hero-strip{min-height:168px;padding:18px 20px;color:#fff;background:linear-gradient(110deg,#22313ff0,#22313f8a),linear-gradient(135deg,#2f8c82,#1f594f);border-radius:var(--m-radius) var(--m-radius) 0 0}.market-redesign .hero-strip .eyebrow{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:#ffffff24;font-size:.78rem;font-weight:700;color:#ffffffeb}.market-redesign .hero-strip h1{margin:14px 0 8px;font-size:clamp(1.45rem,2.6vw,1.95rem);line-height:1.2;color:#fff;font-weight:800}.market-redesign .hero-strip p{margin:0;color:#ffffffd6;line-height:1.6;font-size:.9rem}.market-redesign .search-stack{display:grid;gap:16px;padding:16px}.market-redesign .field-group{display:block}.market-redesign .field-label{display:block;margin-bottom:8px;color:var(--m-muted);font-size:.84rem;font-weight:700}.market-redesign .field-label i{margin-right:4px}.market-redesign .search-stack .time-range-grid{display:grid;grid-template-columns:1fr 1fr 14px 1fr 1fr;gap:6px}.market-redesign .search-stack .time-range-grid select{min-height:36px;padding:0 8px;border:1px solid var(--m-line);border-radius:6px;font-size:.86rem;background:#fff}.market-redesign .search-stack .time-range-separator{color:var(--m-muted);text-align:center;line-height:36px;padding:0}.market-redesign .quick-group .quick-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.market-redesign .quick-group .quick-head strong{font-size:.92rem;color:var(--m-ink)}.market-redesign .quick-group .quick-head span{color:var(--m-muted);font-size:.76rem;font-weight:600}.market-redesign .quick-group .quick-cards-row{display:flex;flex-wrap:wrap;gap:6px;margin:0}.market-redesign .quick-card{min-height:30px;padding:4px 10px;border:1px solid var(--m-line);border-radius:6px;background:#fff;color:var(--m-ink);font-size:.82rem;font-weight:600;box-shadow:none}.market-redesign .quick-card.active,.market-redesign .quick-card[aria-pressed=true]{border-color:var(--m-teal);background:var(--m-teal-soft);color:var(--m-ink);font-weight:750}.market-redesign .quick-card i{color:var(--m-muted)}.market-redesign .quick-card[aria-pressed=true] i{color:var(--m-teal)}@media (hover: hover){.market-redesign .quick-card:hover:not(.active):not([aria-pressed=true]){border-color:var(--m-muted);background:#fff;box-shadow:none}.market-redesign .quick-card.active:hover,.market-redesign .quick-card[aria-pressed=true]:hover{border-color:var(--m-teal);background:var(--m-teal-soft);box-shadow:none}}.market-redesign .zone-drawer-trigger{margin-top:10px;width:100%;min-height:36px;padding:0 12px;border:1px dashed var(--m-line);border-radius:6px;background:#fff;color:var(--m-teal);font-weight:700;font-size:.86rem;cursor:pointer;transition:background .18s ease}.market-redesign .zone-drawer-trigger:hover{border-color:#2f8c826b;background:#fff}.market-redesign .quick-card.district-more-btn{display:inline-flex;align-items:center;gap:4px;background:#fff;border-color:var(--m-line);border-style:dashed;color:var(--m-teal)}.market-redesign .quick-card.district-more-btn[aria-pressed=true]{background:var(--m-teal-soft);border-style:solid;border-color:var(--m-teal);color:var(--m-ink)}.market-redesign .quick-card.district-more-btn i{font-size:.7rem;color:inherit}.market-redesign .quick-group[data-quick-group=district]{position:relative}.market-redesign .district-popover{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;padding:12px;background:#fff;border:1px solid var(--m-line);border-radius:var(--m-radius);box-shadow:0 18px 48px #1f2d3724}.market-redesign .district-popover[hidden]{display:none}.market-redesign .district-popover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.market-redesign .district-popover-btn{min-height:30px;padding:4px 6px;border:1px solid var(--m-line);border-radius:6px;background:#fff;color:var(--m-ink);font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease}@media (hover: hover){.market-redesign .district-popover-btn:hover{border-color:var(--m-muted)}}.market-redesign .district-popover-btn[aria-pressed=true],.market-redesign .district-popover-btn.active{border-color:var(--m-teal);background:var(--m-teal-soft);font-weight:750}.market-redesign .district-popover-all{border-style:dashed;color:var(--m-teal)}@media (max-width: 760px){.market-redesign .district-popover{position:fixed;top:50%;left:16px;right:16px;transform:translateY(-50%);max-height:70vh;overflow-y:auto;z-index:1000}.market-redesign .district-popover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.market-redesign .filter-actions{display:flex;gap:8px;margin:0}.market-redesign .filter-actions button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 12px;border-radius:6px;font-weight:700;line-height:1;cursor:pointer;border:1px solid transparent}.market-redesign .filter-actions button i{width:1em;text-align:center}.market-redesign .filter-actions .btn-primary{background:var(--m-teal);color:#fff;border-color:var(--m-teal)}.market-redesign .filter-actions .btn-primary:hover{background:#237971}.market-redesign .filter-actions .btn-secondary{background:#fff;color:var(--m-ink);border-color:var(--m-line)}.market-redesign .content{display:grid;gap:18px;min-width:0;padding:0}.market-redesign .content>.ad-slot{justify-self:center;width:min(100%,970px);margin-left:0;margin-right:0}.market-redesign .panel{position:relative;border:1px solid rgba(220,228,234,.95);border-radius:var(--m-radius);background:#ffffffeb;box-shadow:var(--m-shadow);overflow:hidden}.market-redesign .price-range-comparison,.market-redesign .presale-statistics{margin-bottom:0}.market-redesign .panel .chart-container{background:transparent;border-radius:0;box-shadow:none;margin:0;padding:16px 18px 18px}.market-redesign #presale-statistics .chart-container{padding-top:14px}.market-redesign .panel>.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:0;padding:14px 18px;border-bottom:1px solid var(--m-line)}.market-redesign .panel-title{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.95rem;line-height:1.35;color:var(--m-ink)}.market-redesign .panel-title i{color:var(--m-teal)}.market-redesign .panel-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.market-redesign .panel>h2{margin:0;padding:16px 18px 10px;font-size:.95rem;color:var(--m-ink);border-bottom:1px solid var(--m-line)}.market-redesign .panel-copy{margin:5px 0 0;max-width:720px;color:var(--m-muted);font-size:.82rem;line-height:1.55;font-weight:500}.market-redesign .market-signal-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--m-line);background:#ffffffd1}.market-redesign .market-signal-period{margin-top:5px;color:var(--m-muted);font-size:.78rem;line-height:1.45;font-weight:650;font-variant-numeric:tabular-nums}.market-redesign .market-signal-card{min-height:88px;padding:14px 18px;border-right:1px solid var(--m-line);display:grid;align-content:center;gap:5px;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-variant-numeric:tabular-nums}.market-redesign .market-signal-card:last-child{border-right:0}.market-redesign .market-signal-card .signal-label{color:var(--m-muted);font-size:.8rem;line-height:1.35;font-weight:800}.market-redesign .market-signal-card strong{color:var(--m-ink);font-size:1.15rem;line-height:1.25;font-weight:900}.market-redesign .market-signal-card strong.signal-up{color:#b94e3d}.market-redesign .market-signal-card strong.signal-down{color:#2f6f9f}.market-redesign .market-signal-card strong.signal-flat{color:var(--m-teal)}.market-redesign .market-signal-card small{color:var(--m-muted);font-size:.8rem;line-height:1.45;font-weight:500}.market-redesign .summary-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;border:1px solid rgba(220,228,234,.95);border-radius:var(--m-radius);background:#ffffffeb;box-shadow:var(--m-shadow);overflow:hidden}.market-redesign .summary-band .metric-card{min-height:86px;padding:14px 16px;border:0;border-right:1px solid rgba(220,228,234,.85);border-radius:0;background:transparent;box-shadow:none;display:grid;grid-template-rows:18px 32px;align-content:center;gap:8px}.market-redesign .summary-band .metric-card:last-child{border-right:0}.market-redesign .summary-band .metric-top{display:flex;justify-content:space-between;align-items:center;color:var(--m-muted);font-size:.78rem;font-weight:700;letter-spacing:.02em;line-height:1.2;min-width:0}.market-redesign .summary-band .metric-top span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-redesign .summary-band .metric-top i{width:auto;height:auto;background:transparent;color:var(--m-muted);font-size:.86rem;opacity:.55}.market-redesign .summary-band .metric-value{margin:0;font-size:clamp(1.45rem,2.4vw,1.75rem);line-height:32px;font-weight:850;color:var(--m-ink);display:flex;align-items:baseline;gap:6px;min-height:32px}.market-redesign .summary-band .metric-value small{font-size:.7rem;line-height:1;color:var(--m-muted);font-weight:600}.market-redesign .market-map-panel .seg{display:inline-flex;border:1px solid var(--m-line);border-radius:6px;overflow:hidden;background:#fff}.market-redesign .market-map-panel .seg-btn{min-height:30px;padding:0 10px;border:0;border-right:1px solid var(--m-line);background:transparent;color:var(--m-muted);font-size:.82rem;font-weight:700;cursor:pointer;transition:background .18s ease,color .18s ease}.market-redesign .market-map-panel .seg-btn:last-child{border-right:0}.market-redesign .market-map-panel .seg-btn.active{background:var(--m-teal);color:#fff}.market-redesign .market-map-panel .seg-btn:disabled{cursor:wait;opacity:.62}.market-redesign .market-map-panel .map-board{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:0}@media (max-width: 1180px){.market-redesign .market-map-panel .map-board{grid-template-columns:1fr}}.market-redesign .market-map-panel .map-stage{position:relative;background:#eef4f1}.market-redesign .market-map-panel .map-reset-btn{position:absolute;top:12px;right:12px;z-index:450;width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid rgba(34,49,63,.14);border-radius:6px;background:#fffffff2;color:#4d5c68;cursor:pointer;box-shadow:0 8px 20px #1f2d3724;transition:border-color .18s ease,color .18s ease,background .18s ease}.market-redesign .market-map-panel .map-reset-btn:hover{border-color:#2f8c826b;color:var(--m-teal);background:#fff}.market-redesign .market-map-panel .map-skeleton{position:absolute;inset:0;display:block;background:#fffffff5;color:var(--m-muted);font-size:.86rem;z-index:1200;padding:14px 18px}.market-redesign .market-map-panel .map-skeleton-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:22px minmax(240px,1fr) 12px 12px;gap:12px 18px;height:100%;min-height:430px}.market-redesign .market-map-panel .map-skeleton-layout span{display:block;border-radius:8px;background:linear-gradient(90deg,#dce4eac7,#f4f7f6f5,#dce4eac7);background-size:220% 100%;animation:skeleton-shimmer 1.15s ease-in-out infinite}.market-redesign .market-map-panel .map-skeleton-title{grid-column:1;width:180px}.market-redesign .market-map-panel .map-skeleton-pill{grid-column:2;width:100%}.market-redesign .market-map-panel .map-skeleton-canvas{grid-column:1;grid-row:2 / span 3;min-height:360px}.market-redesign .market-map-panel .map-skeleton-row{grid-column:2;width:100%}.market-redesign .market-map-panel .map-skeleton-row.short{width:72%}.market-redesign .market-map-panel .map-skeleton-status{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;pointer-events:none}.market-redesign .market-map-panel .map-skeleton-spinner{width:36px;height:36px;border:3px solid rgba(47,140,130,.22);border-top-color:var(--m-teal);border-radius:50%;animation:m-spin .8s linear infinite}@keyframes m-spin{to{transform:rotate(360deg)}}.market-redesign .market-map-panel.is-ready .map-skeleton{display:none}@media (max-width: 1180px){.market-redesign .market-map-panel .map-skeleton-layout{grid-template-columns:1fr;grid-template-rows:22px minmax(260px,1fr) 12px 12px;min-height:520px}.market-redesign .market-map-panel .map-skeleton-pill,.market-redesign .market-map-panel .map-skeleton-row,.market-redesign .market-map-panel .map-skeleton-row.short{grid-column:1}.market-redesign .market-map-panel .map-skeleton-canvas{grid-column:1;grid-row:2}}.market-redesign .market-map-panel .map-aside{border-left:1px solid var(--m-line);background:#ffffffc7;padding:14px;display:flex;flex-direction:column;gap:8px}@media (max-width: 1180px){.market-redesign .market-map-panel .map-aside{border-left:0;border-top:1px solid var(--m-line)}}.market-redesign .map-aside-head{font-size:.8rem;font-weight:800;color:var(--m-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.market-redesign .map-aside-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.market-redesign .map-aside-row{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(74px,max-content);grid-template-rows:auto auto;grid-template-areas:"rank name value" "rank bar  bar";align-items:center;gap:4px 8px;padding:4px 0;font-size:.8rem}.market-redesign .map-aside-rank{grid-area:rank;display:grid;place-items:center;width:20px;height:20px;border-radius:4px;background:#2f8c821f;color:var(--m-teal);font-weight:800;font-size:.74rem}.market-redesign .map-aside-name{grid-area:name;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--m-ink)}.market-redesign .map-aside-bar{grid-area:bar;display:block;height:6px;background:#2f8c821a;border-radius:3px;overflow:hidden}.market-redesign .map-aside-fill{display:block;height:100%;background:linear-gradient(90deg,#56b8aa,#2f8c82);border-radius:inherit}.market-redesign .map-aside-value{grid-area:value;display:inline-flex;align-items:baseline;justify-content:flex-end;min-width:74px;text-align:right;white-space:nowrap;color:var(--m-ink);font-weight:800;font-size:.84rem}.market-redesign .map-aside-value small{flex:0 0 auto;margin-left:2px;color:var(--m-muted);font-size:.66rem;font-weight:600}.market-redesign .map-aside-empty{color:var(--m-muted);font-size:.84rem;font-style:italic;padding:8px 0}.market-redesign .map-aside-loading{display:grid;gap:8px;padding:4px 0}.market-redesign .map-aside-loading span{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,#dce4eacc,#f4f7f6f2,#dce4eacc);background-size:220% 100%;animation:skeleton-shimmer 1.15s ease-in-out infinite}.market-redesign .map-aside-loading span:nth-child(1){width:90%}.market-redesign .map-aside-loading span:nth-child(2){width:74%}.market-redesign .map-aside-loading span:nth-child(3){width:82%}.market-redesign .map-aside-loading span:nth-child(4){width:66%}.market-redesign .map-legend-loading{min-width:180px;height:9px;border-radius:999px;background:linear-gradient(90deg,#dce4eacc,#f4f7f6f2,#dce4eacc);background-size:220% 100%;animation:skeleton-shimmer 1.15s ease-in-out infinite}.market-redesign .market-map-panel .map-error-overlay{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;background:#fffffff0;color:var(--m-ink);z-index:5;padding:24px}.market-redesign .market-map-panel .map-error-overlay i{font-size:1.8rem;color:var(--m-red)}.market-redesign .market-map-panel .map-error-overlay p{margin:0;text-align:center;color:var(--m-muted);font-size:.92rem}.market-redesign .market-map-panel .map-error-overlay .map-error-retry{padding:8px 18px;border-radius:6px;border:1px solid var(--m-line);background:#fff;cursor:pointer;font-weight:700;color:var(--m-ink)}.market-redesign .market-map-panel .map-error-overlay .map-error-retry:hover{border-color:var(--m-teal);color:var(--m-teal)}.market-redesign .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.market-map-poly-sparse{stroke-dasharray:3 3}.market-redesign .map-legend-bar{display:flex;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid var(--m-line);background:#ffffffc7;font-size:.78rem;color:var(--m-muted);flex-wrap:wrap;min-height:38px}.market-redesign .map-legend-gradient{display:inline-block;width:120px;height:8px;border-radius:4px;background:linear-gradient(90deg,#eef2f6,#8fb7d6,#f2c66d,#d0644d)}.market-redesign .map-legend-range{margin-left:auto}.market-redesign .map-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin-right:4px}.market-map-poly{transition:fill-opacity .18s ease,stroke-width .18s ease}.market-map-poly-tooltip{background:#22313f!important;color:#fff!important;padding:6px 10px;border:0!important;border-radius:6px;font-size:.82rem;line-height:1.5;outline:0!important;outline-offset:0!important;box-shadow:0 4px 12px #0000002e!important;white-space:nowrap}.leaflet-tooltip-top.market-map-poly-tooltip:before{border-top-color:#22313f!important}.leaflet-tooltip-bottom.market-map-poly-tooltip:before{border-bottom-color:#22313f!important}.leaflet-tooltip-left.market-map-poly-tooltip:before{border-left-color:#22313f!important}.leaflet-tooltip-right.market-map-poly-tooltip:before{border-right-color:#22313f!important}.market-map-permanent-label{box-sizing:border-box;display:inline-block;width:max-content;min-width:0;max-width:160px;background:#fffffff5;border:1px solid rgba(47,140,130,.55);border-radius:6px;padding:5px 8px;font-size:.78rem;font-weight:800;color:var(--m-ink);box-shadow:0 4px 14px #1f2d3738;white-space:normal;text-align:center;line-height:1.35;pointer-events:none}.market-map-permanent-label .label-name{display:block;max-width:100%;overflow-wrap:anywhere;word-break:keep-all}.market-map-permanent-label .label-value{display:block;margin-top:1px;color:var(--m-teal);font-weight:850;white-space:nowrap}.market-map-permanent-label .label-subvalue{display:block;margin-top:1px;color:#64727f;font-size:.68rem;font-weight:750;white-space:nowrap}.market-map-permanent-label-icon{background:transparent!important;border:0!important}.market-map-label-leader{stroke:var(--m-teal);stroke-width:1.5;stroke-dasharray:3 3;opacity:.75;pointer-events:none}.market-project-marker{width:14px;height:14px;border-radius:50%;background:#0891b2;border:2px solid #fff;box-shadow:0 2px 6px #00000040}.market-project-marker.presale{background:#0891b2}.market-project-marker.completed{background:#2f8c82}.market-redesign .ranking-tabs{display:inline-flex;border:1px solid var(--m-line);border-radius:6px;overflow:hidden;background:#fff}.market-redesign .ranking-tab{min-height:32px;padding:0 14px;border:0;border-right:1px solid var(--m-line);background:transparent;color:var(--m-muted);font-family:inherit;font-weight:700;font-size:.86rem;cursor:pointer;transition:background .18s ease}.market-redesign .ranking-tab:last-child{border-right:0}.market-redesign .ranking-tab.active{background:var(--m-teal);color:#fff}.market-redesign .ranking-table-wrap{overflow-x:auto;padding:14px 18px 18px}.market-redesign .ranking-table{width:100%;border-collapse:collapse;font-family:Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Segoe UI,Heiti TC,Noto Sans TC,Noto Sans,Roboto,sans-serif;font-size:.86rem;font-variant-numeric:tabular-nums}.market-redesign .ranking-table thead th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--m-line);color:var(--m-muted);font-weight:700;font-size:.78rem;white-space:nowrap}.market-redesign .ranking-table tbody td{padding:8px 10px;border-bottom:1px solid rgba(220,228,234,.6);color:var(--m-ink);font-weight:500;white-space:nowrap}.market-redesign .ranking-table tbody td.rank-project{white-space:normal;max-width:240px;word-break:keep-all;overflow-wrap:anywhere}.market-redesign .ranking-table tbody td.rank-project a{color:var(--m-ink);font-family:inherit;font-weight:650;text-decoration:none}.market-redesign .ranking-table tbody td.rank-project a:hover{color:var(--m-teal)}.market-redesign .ranking-table tbody tr:hover{background:#2f8c820a}.market-redesign .ranking-table .rank-num{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:5px;background:#2f8c821a;color:var(--m-teal);font-size:.74rem;font-weight:850}.market-redesign .ranking-table tbody tr.ranking-empty td{text-align:center;color:var(--m-muted);padding:24px;font-style:italic}.market-redesign .ranking-expand-btn{display:none;width:calc(100% - 24px);min-height:38px;margin:0 12px 12px;border:1px solid var(--m-line);border-radius:6px;background:#fff;color:var(--m-ink);font-family:inherit;font-weight:750}.market-redesign .ranking-expand-btn[hidden]{display:none}.zone-drawer{width:min(560px,92vw);max-height:80vh;padding:0;border:0;border-radius:12px;background:#fff;box-shadow:0 24px 80px #0000004d;overflow:hidden}.zone-drawer::backdrop{background:#0006}.zone-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #dce4ea;font-weight:800;color:#22313f}.zone-drawer-close{border:0;background:transparent;font-size:1rem;color:#64727f;cursor:pointer;width:32px;height:32px;border-radius:6px}.zone-drawer-close:hover{background:#eef4f2}.zone-drawer-search{position:relative;padding:10px 18px;border-bottom:1px solid #dce4ea}.zone-drawer-search i{position:absolute;left:30px;top:50%;transform:translateY(-50%);color:#64727f;font-size:.8rem;pointer-events:none}.zone-drawer-search input{width:100%;min-height:36px;padding:0 12px 0 32px;border:1px solid #dce4ea;border-radius:6px;font-size:.92rem}.zone-drawer-body{max-height:calc(80vh - 200px);overflow-y:auto;padding:8px 18px}.zone-drawer-district-group{margin-bottom:4px}.zone-drawer-district-group summary{list-style:none;cursor:pointer;padding:8px 0;font-weight:700;font-size:.92rem;color:#22313f;display:flex;justify-content:space-between;align-items:center}.zone-drawer-district-group summary::-webkit-details-marker{display:none}.zone-drawer-district-group summary:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.74rem;color:#64727f;transition:transform .18s ease}.zone-drawer-district-group[open] summary:after{transform:rotate(180deg)}.zone-drawer-district-group .zone-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:4px 0 8px}.zone-drawer-district-group .zone-list label{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:.84rem;color:#22313f;cursor:pointer;border-radius:4px}.zone-drawer-district-group .zone-list label:hover{background:#eef4f2}.zone-drawer-district-group .zone-list input[type=radio]{width:14px;height:14px;cursor:pointer}.zone-drawer-foot{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid #dce4ea;background:#f4f7f6}.zone-drawer-count{flex:1;font-size:.84rem;color:#64727f}.zone-drawer-foot button{min-height:36px;padding:0 16px;border-radius:6px;font-weight:700;cursor:pointer;border:1px solid transparent}.zone-drawer-foot .btn-primary{background:#2f8c82;color:#fff;border-color:#2f8c82}.zone-drawer-foot .btn-secondary{background:#fff;color:#22313f;border-color:#dce4ea}.market-redesign .time-range-section,.market-redesign .quick-select-section{display:none}.market-redesign .control-panel #filter-info{background:transparent;border:0;padding:0;margin-top:8px;color:var(--m-ink);font-size:.78rem;line-height:1.55;max-height:none;opacity:1;overflow:visible}.market-redesign .control-panel #filter-info[hidden]{display:none}.market-redesign+.market-intro,body.market-tab .market-intro{margin:24px auto 0;max-width:1440px;padding:22px 24px;border:1px solid var(--m-line);border-radius:var(--m-radius);background:#ffffffeb;box-shadow:var(--m-shadow);color:var(--m-ink);font-size:.92rem;line-height:1.75}body.market-tab .market-intro .market-intro-title{margin:0 0 10px;font-size:1.05rem;font-weight:800;color:var(--m-ink);letter-spacing:.01em}body.market-tab .market-intro p{margin:0 0 14px;color:var(--m-muted)}body.market-tab .market-intro p strong a,body.market-tab .market-intro p a{color:var(--m-teal);font-weight:700;text-decoration:none}body.market-tab .market-intro p a:hover{text-decoration:underline}body.market-tab .market-intro .raw-data-glossary{border:1px solid var(--m-line);background:transparent;border-radius:6px;overflow:hidden}body.market-tab .market-intro .raw-data-glossary summary{padding:8px 12px;background:var(--m-soft);font-size:.85rem;font-weight:600;color:var(--m-ink)}body.market-tab .market-intro .raw-data-glossary[open] summary{border-bottom:1px solid var(--m-line)}body.market-tab .market-intro .raw-data-glossary ol{padding:12px 16px 12px 36px;background:#fff;font-size:.85rem;line-height:1.65}body.market-tab .market-intro .raw-data-glossary li{color:var(--m-muted)}body.market-tab .market-intro .raw-data-glossary li a{color:var(--m-ink);font-weight:600;text-decoration:none}body.market-tab .market-intro .raw-data-glossary li a:hover{color:var(--m-teal)}.market-redesign #filter-info .finfo-chips{display:flex;flex-wrap:wrap;gap:6px}.market-redesign #filter-info .finfo-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--m-line);border-radius:999px;background:#fff;color:var(--m-ink);font-size:.76rem;font-weight:600;line-height:1.4}.market-redesign #filter-info .finfo-chip i{color:var(--m-muted);font-size:.7rem}.market-redesign #filter-info .finfo-chip-muted{background:transparent;color:var(--m-muted);font-weight:500}.market-redesign #filter-info .finfo-details{margin-top:8px;color:#536371;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.76rem;line-height:1.65}.market-redesign #filter-info .finfo-details summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--m-ink);font-size:.78rem;font-weight:800;-webkit-user-select:none;user-select:none}.market-redesign #filter-info .finfo-details[open] summary{margin-bottom:6px}.market-redesign #filter-info .finfo-details>div{padding-left:12px;line-height:1.65}.market-redesign #filter-info .finfo-details>div+div{margin-top:2px}@media (max-width: 1180px){#market-tab .market-redesign .workspace{grid-template-columns:minmax(0,1fr)}#market-tab .market-redesign .control-panel,#market-tab .market-redesign .content{min-width:0}#market-tab .market-redesign .control-panel>*,#market-tab .market-redesign .content>*{min-width:0;max-width:100%}body.market-tab #main-content,#market-tab,#market-tab .market-redesign{overflow-x:hidden}.market-redesign .summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}.market-redesign .market-signal-strip{grid-template-columns:1fr}.market-redesign .market-signal-card{border-right:0;border-bottom:1px solid var(--m-line)}.market-redesign .market-signal-card:last-child{border-bottom:0}.market-redesign .summary-band .metric-card{border-right:1px solid rgba(220,228,234,.85);border-bottom:1px solid rgba(220,228,234,.85)}.market-redesign .summary-band .metric-card:nth-child(2n){border-right:0}.market-redesign .summary-band .metric-card:nth-last-child(-n+2){border-bottom:0}.market-redesign .panel-tools .seg-btn{padding:0 8px;font-size:.78rem}}@media (max-width: 768px){.market-redesign .summary-band{gap:0}.market-redesign .summary-band .metric-card{min-height:78px;padding:11px 12px;gap:6px;grid-template-rows:17px 30px}.market-redesign .summary-band .metric-value{font-size:1.45rem;line-height:30px;min-height:30px}.market-redesign .panel-head{padding:12px;min-height:0;flex-wrap:wrap}.market-redesign .panel-tools{flex-wrap:wrap;gap:6px}.market-redesign .ranking-table-wrap{padding:10px 12px 12px}.market-redesign .ranking-table{min-width:560px}.market-redesign .ranking-tables-panel:not(.show-all) .ranking-table tbody tr.ranking-extra{display:none}.market-redesign .ranking-expand-btn{display:block}}body.sales-ranking-tab{background-color:#f4f7f6}body.sales-ranking-tab .container{max-width:1440px;padding-left:16px;padding-right:16px}body.sales-ranking-tab #main-content{background:transparent;border-radius:0;padding:0;margin:0;box-shadow:none}#sales-ranking-tab{--sales-ink: #22313f;--sales-muted: #5f6f7d;--sales-line: #dce4ea;--sales-paper: #ffffff;--sales-soft: #f4f7f6;--sales-teal: #2f8c82;--sales-teal-dark: #22756d;--sales-blue: #386f8f;--sales-blue-soft: #e8f1f5;--sales-brand: #2f8c82;--sales-red: #bf4f4b;--sales-shadow: 0 12px 28px rgba(34, 49, 63, .07)}#sales-ranking-tab .sales-redesign{display:grid;grid-template-columns:minmax(360px,420px) minmax(0,1fr);gap:1rem;align-items:start;margin:0 auto 1.5rem;color:var(--sales-ink);font-family:Noto Sans TC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}#sales-ranking-tab .sales-control-panel,#sales-ranking-tab .sales-panel{background:#ffffffeb;border:1px solid rgba(220,228,234,.95);border-radius:8px;box-shadow:var(--sales-shadow)}#sales-ranking-tab .sales-control-panel{position:sticky;top:92px;display:grid;gap:.75rem;padding:.85rem;min-width:0;max-height:calc(100vh - 110px);overflow-x:hidden;overflow-y:auto;align-self:start}#sales-ranking-tab .sales-hero-strip{min-height:104px;padding:1rem;border-radius:8px;color:var(--sales-ink);background:linear-gradient(135deg,#2f8c8221,#386f8f14),#f7fbfb;border:1px solid rgba(220,228,234,.95);display:flex;flex-direction:column;justify-content:flex-end}#sales-ranking-tab .eyebrow,#sales-ranking-tab .panel-kicker{color:#2f8c82f2;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}#sales-ranking-tab .eyebrow i,#sales-ranking-tab .panel-kicker i{margin-right:.35rem}#sales-ranking-tab .sales-hero-strip h2{margin:.24rem 0 .32rem;color:var(--sales-ink);font-size:1.48rem;font-weight:800;line-height:1.25;letter-spacing:0}#sales-ranking-tab .sales-hero-strip p,#sales-ranking-tab .sales-intro p{margin:0;color:var(--sales-muted);line-height:1.58;font-size:.9rem;font-weight:400}#sales-ranking-tab .sales-intro{display:grid;gap:.7rem;padding:1rem;background:#ffffffeb;border:1px solid var(--sales-line);border-radius:8px;min-width:0}#sales-ranking-tab .sales-intro-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}#sales-ranking-tab .sales-intro a{color:var(--sales-teal);font-weight:700;text-decoration:none}#sales-ranking-tab .sales-intro a:hover{text-decoration:underline}#sales-ranking-tab .raw-data-glossary{border:1px solid rgba(220,228,234,.95);border-radius:8px;padding:.7rem .8rem;background:#fff}#sales-ranking-tab .raw-data-glossary summary{cursor:pointer;color:var(--sales-muted);font-size:.84rem;font-weight:800;overflow-wrap:anywhere}#sales-ranking-tab .raw-data-glossary ol{margin:.55rem 0 0;padding-left:1.25rem;color:var(--sales-muted);font-size:.84rem;line-height:1.6}#sales-ranking-tab .sales-intro-details .raw-data-glossary{min-width:0}#sales-ranking-tab .glossary-copy-btn{margin-left:.4rem;border:0;background:transparent;color:var(--sales-teal);cursor:pointer}#sales-ranking-tab .filter-panel{padding:.95rem 1rem;min-width:0}#sales-ranking-tab .filter-panel h3,#sales-ranking-tab .ranking-header h3{margin:0;color:var(--sales-ink);font-size:1rem;font-weight:800;line-height:1.35;letter-spacing:0;display:block}#sales-ranking-tab .filter-panel h3{margin-bottom:.85rem}#sales-ranking-tab .filter-panel h3 i,#sales-ranking-tab .ranking-header h3 i{color:var(--sales-teal);margin-right:.4rem}#sales-ranking-tab .filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem .85rem;margin-bottom:0}#sales-ranking-tab .filter-grid .filter-group:last-child{grid-column:1 / -1}#sales-ranking-tab .filter-group label{display:block;margin-bottom:.42rem;color:var(--sales-muted);font-size:.78rem;font-weight:800;line-height:1.2}#sales-ranking-tab .date-selector-group{display:grid;grid-template-columns:minmax(82px,1fr) minmax(76px,.9fr);gap:.5rem}#sales-ranking-tab .date-selector-group select{min-width:0;width:100%;min-height:42px;padding:0 .55rem;border:1px solid var(--sales-line);border-radius:8px;background:#fff;color:var(--sales-ink);font-size:.92rem;font-weight:500}#sales-ranking-tab .sales-control-panel>*{max-width:100%}#sales-ranking-tab .date-selector-group select:focus-visible{outline:3px solid rgba(47,140,130,.16);border-color:#2f8c828c}#sales-ranking-tab #apply-sales-filter{width:100%;min-height:44px;border-radius:8px;background:var(--sales-teal);color:#fff;font-weight:800;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;white-space:nowrap;padding:0 1rem}#sales-ranking-tab #apply-sales-filter i{color:#fff}#sales-ranking-tab .sales-subnav .sub-nav-tabs{display:grid;grid-template-columns:1fr;gap:.55rem;margin:0;padding:0;list-style:none}#sales-ranking-tab .sales-subnav{margin:0}#sales-ranking-tab .sales-subnav .sub-nav-tab{min-height:64px;border:1px solid var(--sales-line);border-radius:8px;background:#fff;color:var(--sales-ink);cursor:pointer;display:grid;grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:.15rem .65rem;padding:.72rem .8rem;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}#sales-ranking-tab .sales-subnav .sub-nav-tab i{color:var(--sales-teal);font-size:1.05rem;grid-row:span 2}#sales-ranking-tab .sales-subnav .sub-nav-tab span{font-size:1rem;font-weight:800}#sales-ranking-tab .sales-subnav .sub-nav-tab small{color:var(--sales-muted);font-size:.76rem}#sales-ranking-tab .sales-subnav .sub-nav-tab.active{border-color:#2f8c8273;background:#2f8c8217;box-shadow:inset 0 0 0 1px #2f8c8229}@media (hover: hover){#sales-ranking-tab .sales-subnav .sub-nav-tab:hover,#sales-ranking-tab #apply-sales-filter:hover{border-color:#2f8c8273;box-shadow:0 12px 24px #22313f14}#sales-ranking-tab #apply-sales-filter:hover{background:var(--sales-teal-dark);color:#fff;transform:none}}#sales-ranking-tab .sales-content{display:grid;gap:.8rem;min-width:0;align-self:start}#sales-ranking-tab .sub-tab-content{display:none;margin:0;padding:0;border:0;border-radius:0;background:transparent}#sales-ranking-tab .sub-tab-content.active{display:grid;gap:.85rem;align-content:start}#sales-ranking-tab .ranking-header{display:flex;justify-content:space-between;align-items:center;gap:.85rem;padding:.9rem 1rem;min-height:86px}#sales-ranking-tab .metric-toggle{display:flex;flex-wrap:wrap;gap:.45rem;padding:.7rem .85rem;align-items:center}#sales-ranking-tab .metric-chip{appearance:none;border:1px solid var(--sales-line);border-radius:999px;background:#fff;color:var(--sales-ink);padding:.42rem .95rem;font-size:.84rem;font-weight:700;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;white-space:nowrap}#sales-ranking-tab .metric-chip.active{border-color:var(--sales-teal-dark);background:var(--sales-teal);color:#fff;box-shadow:0 4px 12px #2f8c822e}@media (hover: hover){#sales-ranking-tab .metric-chip:hover:not(.active){border-color:#2f8c8273;background:#2f8c820f}}#sales-ranking-tab .metric-chip:focus-visible{outline:3px solid rgba(47,140,130,.18);outline-offset:1px}#sales-ranking-tab .ranking-header>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:.15rem .6rem;align-items:center;min-width:0}#sales-ranking-tab .ranking-header .panel-kicker{grid-column:1 / -1;margin-left:1.85rem}#sales-ranking-tab .ranking-header h3 i{width:1.25rem;margin-right:.2rem;text-align:center}#sales-ranking-tab .luxury-filter-container{display:inline-flex;align-items:center;gap:.65rem;flex-shrink:0;padding:.34rem .48rem .34rem .6rem;border:1px solid rgba(47,140,130,.28);border-radius:999px;background:#2f8c8214}#sales-ranking-tab .filter-label{display:inline-flex;align-items:center;gap:.35rem;color:var(--sales-ink);font-size:.8rem;font-weight:800;white-space:nowrap}#sales-ranking-tab .filter-label i{color:var(--sales-teal)}#sales-ranking-tab .ios-switch{position:relative;display:inline-block;width:42px;height:24px}#sales-ranking-tab .ios-switch input{opacity:0;width:0;height:0}#sales-ranking-tab .ios-slider{position:absolute;cursor:pointer;inset:0;background-color:#d2dbe0;transition:background-color .16s ease;border-radius:999px}#sales-ranking-tab .ios-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:transform .16s ease;border-radius:50%;box-shadow:0 2px 5px #22313f38}#sales-ranking-tab .ios-switch input:checked+.ios-slider{background:var(--sales-teal-dark)}#sales-ranking-tab .ios-switch input:checked+.ios-slider:before{transform:translate(18px)}#sales-ranking-tab .ios-switch input:focus-visible+.ios-slider{outline:3px solid rgba(47,140,130,.18)}#sales-ranking-tab .table-container{overflow:auto;padding:0}#sales-ranking-tab .data-table{width:100%;min-width:920px;margin:0;border-collapse:separate;border-spacing:0;table-layout:auto}#sales-ranking-tab .data-table thead th{position:sticky;top:0;z-index:1;padding:.78rem .72rem;background:#f8fbfa;box-shadow:inset 0 -1px 0 var(--sales-line);color:var(--sales-muted);font-size:.78rem;font-weight:800;text-align:center;white-space:nowrap}#sales-ranking-tab .data-table tbody td{padding:.78rem .72rem;border-bottom:1px solid rgba(220,228,234,.72);color:var(--sales-ink);font-size:.9rem;text-align:center;vertical-align:middle}#sales-ranking-tab .data-table tbody tr:hover{background:#2f8c820d}#sales-ranking-tab .data-table tbody tr:last-child td{border-bottom:0}#sales-ranking-tab .data-table .project-name,#sales-ranking-tab .data-table td:nth-child(2){text-align:left;font-weight:800}#sales-ranking-tab .data-table a{color:var(--sales-teal)!important;font-weight:800;text-decoration:none!important}#sales-ranking-tab .data-table a:hover{text-decoration:underline!important}#sales-ranking-tab .data-table .amount,#sales-ranking-tab .data-table .volume,#sales-ranking-tab .data-table td:nth-child(3){font-weight:800;color:var(--sales-brand)}#sales-ranking-tab .loading-row,#sales-ranking-tab .error-row{height:92px;color:var(--sales-muted)!important;text-align:center!important}#sales-ranking-tab .sales-skeleton-row td{height:48px;padding:.78rem .72rem;background:transparent}#sales-ranking-tab .sales-table-skeleton-cell{height:.9rem;max-width:100%;margin:0 auto;border-radius:999px}#sales-ranking-tab .sales-skeleton-row td:nth-child(2) .sales-table-skeleton-cell,#sales-ranking-tab #top-rankings-table .sales-skeleton-row td:nth-child(2n) .sales-table-skeleton-cell{margin-left:0}#sales-ranking-tab #top-rankings{padding:0}#sales-ranking-tab #top-rankings-table{min-width:1120px;table-layout:fixed}#sales-ranking-tab #top-rankings-table th:nth-child(3),#sales-ranking-tab #top-rankings-table td:nth-child(3),#sales-ranking-tab #top-rankings-table th:nth-child(5),#sales-ranking-tab #top-rankings-table td:nth-child(5),#sales-ranking-tab #top-rankings-table th:nth-child(7),#sales-ranking-tab #top-rankings-table td:nth-child(7),#sales-ranking-tab #top-rankings-table th:nth-child(9),#sales-ranking-tab #top-rankings-table td:nth-child(9){border-right:1px solid rgba(220,228,234,.92)}#sales-ranking-tab #top-rankings-table .top-rank{color:var(--sales-red)}#sales-ranking-tab #top-rankings-table tbody td:nth-child(2n){text-align:left;font-weight:800}#sales-ranking-tab #top-rankings-table tbody td:nth-child(odd):not(:first-child){color:var(--sales-brand);font-weight:800;text-align:right}#sales-ranking-tab #top-rankings-table thead th:nth-child(odd):not(:first-child){text-align:center}@media (max-width: 1180px){body.sales-ranking-tab,body.sales-ranking-tab .container,body.sales-ranking-tab #main-content,body.sales-ranking-tab #sales-ranking-tab{max-width:100%;overflow-x:hidden}body.sales-ranking-tab .container{padding-left:10px;padding-right:10px}#sales-ranking-tab .sales-redesign{grid-template-columns:1fr;width:100%;max-width:100%;overflow:hidden}#sales-ranking-tab .sales-content{margin-top:0;width:100%;max-width:100%;overflow:hidden}#sales-ranking-tab .sales-control-panel{position:static;width:100%;max-width:100%;box-sizing:border-box}#sales-ranking-tab .sales-subnav .sub-nav-tabs{display:flex;flex-wrap:nowrap;gap:.55rem;overflow-x:auto;overflow-y:hidden;padding-bottom:.15rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}#sales-ranking-tab .sales-subnav .sub-nav-tab{flex:0 0 148px;min-width:148px;scroll-snap-align:start}#sales-ranking-tab .sales-control-panel{max-height:none;overflow:visible}#sales-ranking-tab .sales-intro-details{grid-template-columns:1fr}#sales-ranking-tab .table-container{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#sales-ranking-tab .ranking-header,#sales-ranking-tab .sales-panel,#sales-ranking-tab .sub-tab-content.active{max-width:100%;box-sizing:border-box}}@media (max-width: 640px){body.sales-ranking-tab .container{padding-left:8px;padding-right:8px}body.sales-ranking-tab #main-content>.tab-content.active{padding-top:10px}#sales-ranking-tab,#sales-ranking,#sales-ranking-tab .sales-redesign,#sales-ranking-tab .sales-control-panel,#sales-ranking-tab .sales-content,#sales-ranking-tab .filter-panel,#sales-ranking-tab .sales-hero-strip{width:100%;max-width:100%;min-width:0;box-sizing:border-box}#sales-ranking-tab .sales-redesign{gap:.65rem;margin-bottom:1rem}#sales-ranking-tab .sales-control-panel{padding:.55rem;gap:.55rem}#sales-ranking-tab .sales-hero-strip{min-height:96px;padding:.75rem}#sales-ranking-tab .sales-hero-strip h2{font-size:1.36rem}#sales-ranking-tab .sales-hero-strip p,#sales-ranking-tab .sales-intro p{font-size:.82rem}#sales-ranking-tab .filter-grid{grid-template-columns:1fr;gap:.55rem}#sales-ranking-tab .date-selector-group{grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:.4rem}#sales-ranking-tab .date-selector-group select{min-height:38px;padding:0 .45rem;font-size:.82rem}#sales-ranking-tab #apply-sales-filter{min-height:40px;font-size:.9rem}#sales-ranking-tab .sales-subnav{overflow:hidden}#sales-ranking-tab .sales-subnav .sub-nav-tabs{width:100%;max-width:100%;padding-right:.25rem}#sales-ranking-tab .sales-subnav .sub-nav-tab{flex-basis:142px;min-width:142px}#sales-ranking-tab .ranking-header{align-items:flex-start;flex-direction:column;padding:.75rem;min-height:0}#sales-ranking-tab .ranking-header .panel-kicker{margin-left:0}#sales-ranking-tab .ranking-header>div:first-child{grid-template-columns:1fr}#sales-ranking-tab .luxury-filter-container{width:100%;justify-content:space-between}#sales-ranking-tab .data-table{min-width:760px}#sales-ranking-tab .data-table thead th,#sales-ranking-tab .data-table tbody td{padding:.62rem .52rem;font-size:.72rem}#sales-ranking-tab .sales-skeleton-row td{height:44px;padding:.62rem .52rem}#sales-ranking-tab .sales-table-skeleton-cell{height:.76rem}#sales-ranking-tab #top-rankings-table{min-width:980px}#sales-ranking-tab .metric-toggle{padding:.55rem .65rem;gap:.35rem}#sales-ranking-tab .metric-chip{padding:.36rem .75rem;font-size:.78rem}#sales-ranking-tab .sales-intro{padding:.75rem}#sales-ranking-tab .raw-data-glossary{padding:.6rem}}body.raw-data-tab{background-color:#f4f7f6}body.raw-data-tab #main-content{background:transparent;border-radius:0;padding:0;margin:0;box-shadow:none}.raw-data-section{margin-top:0;background:#fff;border-radius:var(--radius-lg);padding:1.5rem var(--section-px);box-shadow:var(--shadow-lg);clear:both;width:100%;display:block;position:relative}.raw-data-section h2{color:var(--color-text);margin-bottom:1.5rem;font-size:1.5rem;display:flex;align-items:center;gap:.5rem}.raw-data-section h3{color:var(--color-text);margin-bottom:1rem;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.data-info{font-size:.85rem;color:#7f8c8d;font-weight:400;margin-left:.5rem}.raw-data-section .table-container{border:1px solid var(--color-border-input);border-radius:var(--radius-md);margin-top:1rem;background:#fff;overflow:hidden;padding:0;box-shadow:none;margin-bottom:0}.raw-data-section .table-header{background-color:var(--color-bg-surface);border-bottom:2px solid var(--color-border-light);position:relative;z-index:10}.raw-data-section .table-header table{width:100%;margin:0;border-collapse:collapse;table-layout:fixed}.raw-data-section .table-header th{background-color:var(--color-bg-surface);font-weight:600;color:var(--color-text);border-right:1px solid var(--color-border-light);text-align:center;padding:.75rem .5rem;font-size:.9rem;box-sizing:border-box}.raw-data-section .table-header th:last-child{border-right:none}.raw-data-section .table-body{max-height:700px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.raw-data-section .table-body::-webkit-scrollbar{width:0px;background:transparent}.raw-data-section .table-body::-webkit-scrollbar-thumb{background:transparent}.raw-data-section .table-body table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}.raw-data-section .table-body td{font-size:.9rem;padding:.75rem .5rem;text-align:center;border-right:1px solid var(--color-border-light);border-bottom:1px solid #f0f0f0;word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.raw-data-section .table-body td:last-child{border-right:none}.raw-data-section .table-body tr:hover{background-color:var(--color-bg-surface)}.raw-data-section .table-body tr:nth-child(2n){background-color:#fafafa}.raw-data-section .table-body tr:nth-child(2n):hover{background-color:#f0f0f0}.raw-data-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;width:fit-content}.raw-data-district-section{margin-bottom:2rem}.raw-data-district-section h3{color:var(--color-text);margin-bottom:1rem;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.raw-data-district-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem}.raw-data-district-card{padding:.75rem 1rem;border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text);font-size:.9rem;font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:border-color var(--transition-fast),background-color var(--transition-fast);text-align:center}@media (hover: hover){.raw-data-district-card:hover{border-color:var(--color-primary-light);background:var(--color-bg-surface)}}.raw-data-district-card.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.raw-data-table-section{background:var(--color-bg-white);border-radius:var(--radius-lg);padding:1.5rem var(--section-px);box-shadow:var(--shadow-md)}.raw-data-table-section h3{color:var(--color-text);margin-bottom:1rem;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}#raw-data-count{font-weight:400;color:var(--color-text-muted);font-size:.9rem}#raw-data-table-container{max-height:600px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0;box-shadow:none;margin-bottom:0}#raw-data-table{width:100%;border-collapse:separate;border-spacing:0}#raw-data-table th{position:sticky;top:0;background:var(--color-bg-surface);color:var(--color-text);padding:.75rem;text-align:left;font-weight:600;border-bottom:none;box-shadow:inset 0 -2px 0 var(--color-border-light);z-index:10}#raw-data-table td{padding:.75rem;border-bottom:1px solid var(--color-border);font-size:.9rem}#raw-data-table td.number{text-align:right;font-family:Consolas,Monaco,monospace}#raw-data-table tbody tr:hover{background:var(--color-bg-surface)}#raw-data-table .project-link{color:var(--color-primary-dark);text-decoration:none}#raw-data-table .project-link:hover{text-decoration:underline}.loading-spinner-row td{text-align:center;padding:20px}.raw-data-spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:rawDataSpin .8s linear infinite;margin:0 auto}@keyframes rawDataSpin{to{transform:rotate(360deg)}}#raw-data-table tbody tr.fade-in{animation:rawDataFadeIn .3s ease-in-out}@keyframes rawDataFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.raw-data-intro,.permits-intro,.sales-intro,.market-intro,.developer-intro{margin-bottom:1.5rem;font-size:.92rem;line-height:1.7}.raw-data-intro p,.permits-intro p,.sales-intro p,.market-intro p,.developer-intro p{margin-bottom:.75rem}.raw-data-glossary{margin-top:.5rem;border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.raw-data-glossary+.raw-data-glossary{margin-top:.25rem}.raw-data-glossary summary{padding:.6rem 1rem;font-weight:500;cursor:pointer;background:var(--color-bg-surface);font-size:.9rem;display:flex;align-items:center;gap:.5rem;list-style:disclosure-closed}.raw-data-glossary[open]>summary{list-style:disclosure-open}.raw-data-glossary summary::marker{font-size:.75rem}.glossary-copy-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--color-text-muted, #999);font-size:.85rem;padding:.2rem .4rem;border-radius:var(--radius-sm, 4px);transition:color .2s,background .2s;flex-shrink:0}@media (hover: hover){.glossary-copy-btn:hover{color:var(--color-primary-dark, #245f8d);background:#0000000d}}.glossary-copy-btn.copied{color:var(--color-success, #22c55e)}.raw-data-glossary ul,.raw-data-glossary dl,.raw-data-glossary ol{padding:.75rem 1rem;margin:0;font-size:.85rem;line-height:1.6}.raw-data-glossary ol{padding-left:2rem}.raw-data-glossary ul{list-style:disc inside}.raw-data-glossary li+li{margin-top:.3rem}.raw-data-glossary dt{font-weight:600;margin-top:.5rem}.raw-data-glossary dt:first-child{margin-top:0}.raw-data-glossary dd{margin-left:0;margin-bottom:.25rem}.raw-data-glossary a,.raw-data-intro a,.permits-intro a,.sales-intro a,.market-intro a,.developer-intro a{color:var(--color-primary-dark);text-decoration:none}.developer-seo-drawer{margin:1rem 0;padding:.85rem;border:1px solid rgba(220,228,234,.95);border-radius:var(--radius-md);background:#ffffffd1;color:var(--color-text)}.developer-seo-drawer:not([open]){display:block;padding:.38rem .65rem;background:#ffffffb8}.developer-seo-drawer>summary{display:flex;align-items:center;gap:.55rem;min-height:32px;color:var(--color-text-muted);font-size:.82rem;font-weight:700;cursor:pointer;list-style:none}.developer-seo-drawer>summary::-webkit-details-marker{display:none}.developer-seo-drawer>summary:before{content:"+";display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;border:1px solid rgba(220,228,234,.95);border-radius:var(--radius-sm);background:#ffffffc2;color:#2f8c82;font-weight:800;line-height:1}.developer-seo-drawer[open]>summary{color:#22313f}.developer-seo-drawer[open]>summary:before{content:"-";color:var(--color-primary-dark)}.developer-seo-drawer .raw-data-glossary{margin:.65rem 0 0;border-color:#dce4eae6;border-radius:var(--radius-md);background:#ffffffb8}.developer-seo-drawer .raw-data-glossary summary{min-height:42px;padding:.6rem .8rem;background:#ffffffb3;color:#22313f;font-size:.86rem;font-weight:700}.developer-seo-drawer .raw-data-glossary ol{display:grid;gap:.4rem;padding:.7rem .9rem .75rem 2rem}.developer-seo-drawer .raw-data-glossary ol li{margin:0;color:var(--color-text-secondary);font-size:.82rem;line-height:1.65}.developer-seo-drawer .raw-data-glossary ol li::marker{color:#2f8c82;font-weight:800}.developer-seo-drawer .raw-data-glossary ol a{color:#22313f;font-weight:750}@media (max-width: 768px){.raw-data-section{padding-top:1rem;padding-bottom:1rem}.raw-data-section .table-container{font-size:.8rem}.raw-data-section .data-table th,.raw-data-section .data-table td{padding:.5rem .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.raw-data-section .table-body{max-height:600px}.raw-data-toggle{width:100%}.raw-data-toggle-btn{flex:1}.raw-data-district-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.5rem}.raw-data-district-card{padding:.5rem .75rem;font-size:.85rem}#raw-data-table-container{max-height:400px}#raw-data-table th,#raw-data-table td{padding:.5rem;font-size:.8rem}}body.raw-data-tab .raw-data-section{padding:clamp(1.1rem,2vw,1.55rem);border:1px solid rgba(220,228,234,.94);border-radius:var(--radius-lg);background:#ffffff7a;box-shadow:0 16px 42px #1f2d370f}body.raw-data-tab .raw-data-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}body.raw-data-tab .raw-data-title-block{display:grid;gap:.42rem;min-width:0}body.raw-data-tab .raw-data-eyebrow{display:inline-flex;align-items:center;gap:.45rem;color:#0d5d54;font-size:.78rem;font-weight:850;letter-spacing:0}body.raw-data-tab .raw-data-section h2{margin:0;color:#22313f;font-size:clamp(1.65rem,2.4vw,2.15rem);line-height:1.18}body.raw-data-tab .raw-data-title-block p{max-width:42rem;margin:0;color:#64727f;font-size:.94rem;line-height:1.6}body.raw-data-tab .raw-data-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;min-width:220px;margin:0;padding:.25rem;border:1px solid #dce4ea;border-radius:var(--radius-md);background:#eef4f2d1}body.raw-data-tab .raw-data-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:38px;border:0;border-radius:var(--radius-sm);color:#64727f;background:transparent;cursor:pointer;font-weight:850}body.raw-data-tab .raw-data-toggle-btn.active{color:#0d5d54;background:#fff;box-shadow:0 6px 18px #1f2d3714}body.raw-data-tab .raw-data-intro{margin:0 0 1rem;color:#64727f}body.raw-data-tab .raw-data-intro .raw-data-glossary{margin-top:.75rem;border:1px solid #dce4ea;border-radius:var(--radius-md);background:#ffffffc7}body.raw-data-tab .raw-data-intro .raw-data-glossary summary{display:flex;align-items:center;gap:.55rem;min-height:42px;padding:.6rem .8rem;background:#eef4f2d1;color:#22313f;font-size:.86rem;font-weight:850;letter-spacing:0;line-height:1.45;list-style:none}body.raw-data-tab .raw-data-intro .raw-data-glossary summary::-webkit-details-marker{display:none}body.raw-data-tab .raw-data-intro .raw-data-glossary summary:before{content:"+";display:inline-grid;place-items:center;flex:0 0 auto;width:1.2rem;height:1.2rem;border:1px solid #dce4ea;border-radius:var(--radius-sm);background:#ffffffd1;color:#2f8c82;font-size:.82rem;font-weight:850;line-height:1}body.raw-data-tab .raw-data-intro .raw-data-glossary[open] summary{border-bottom:1px solid #dce4ea}body.raw-data-tab .raw-data-intro .raw-data-glossary[open] summary:before{content:"-";color:#855514}body.raw-data-tab .raw-data-intro .raw-data-glossary ol{padding:.8rem 1rem .9rem 2.2rem;background:#ffffffeb;color:#64727f;font-size:.85rem;line-height:1.65}body.raw-data-tab .raw-data-intro .raw-data-glossary li a{color:#22313f;font-weight:750}body.raw-data-tab .raw-data-intro .glossary-copy-btn{display:inline-grid;place-items:center;width:2rem;height:2rem;margin-left:auto;padding:0;border-radius:var(--radius-sm);color:#64727f}@media (hover: hover){body.raw-data-tab .raw-data-intro .glossary-copy-btn:hover{color:#0d5d54;background:#2f8c821a}}body.raw-data-tab .raw-data-district-section{margin:0 0 1rem}body.raw-data-tab .raw-data-district-section h3{margin-bottom:.75rem;color:#22313f;font-size:1rem;font-weight:850}body.raw-data-tab .raw-data-district-grid{display:flex;flex-wrap:wrap;gap:.5rem}body.raw-data-tab .raw-data-district-card{min-height:36px;padding:0 .75rem;border:1px solid #dce4ea;border-radius:var(--radius-md);color:#22313f;background:#ffffffd1;cursor:pointer;font-size:.86rem;font-weight:850;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}@media (hover: hover){body.raw-data-tab .raw-data-toggle-btn:hover,body.raw-data-tab .raw-data-district-card:hover{border-color:#2f8c8261;transform:translateY(-1px)}}body.raw-data-tab .raw-data-district-card.active{border-color:#2f8c8275;color:#0d5d54;background:#dff0ed}body.raw-data-tab .raw-data-table-section{overflow:hidden;margin-top:1rem;padding:0;border:1px solid rgba(220,228,234,.94);border-radius:var(--radius-md);background:#ffffffd6;box-shadow:none}body.raw-data-tab .raw-data-table-head{display:flex;align-items:center;justify-content:space-between;gap:.85rem;min-height:58px;padding:0 1rem;border-bottom:1px solid #dce4ea}body.raw-data-tab .raw-data-table-head h3{margin:0;color:#22313f;font-size:1rem;font-weight:850}body.raw-data-tab #raw-data-count{color:#64727f;font-size:.82rem;font-weight:750}body.raw-data-tab #raw-data-table-container{max-height:620px;overflow:auto;margin:0;padding:.75rem;border:0;border-radius:0;background:#eef4f29e}body.raw-data-tab #raw-data-table{min-width:920px;border-collapse:separate;border-spacing:0 .5rem}body.raw-data-tab #raw-data-table th{position:sticky;top:-.75rem;padding:0 .75rem .35rem;border:0;background:#eef4f2f5;box-shadow:none;color:#64727f;font-size:.78rem;font-weight:850;white-space:nowrap}body.raw-data-tab #raw-data-table td{height:60px;padding:.65rem .75rem;border-top:1px solid #dce4ea;border-bottom:1px solid #dce4ea;background:#fffffff0;color:#22313f;font-size:.9rem;vertical-align:middle}body.raw-data-tab #raw-data-table td:first-child{border-left:1px solid #dce4ea;border-radius:var(--radius-md) 0 0 var(--radius-md);font-weight:850;white-space:nowrap}body.raw-data-tab #raw-data-table td:last-child{border-right:1px solid #dce4ea;border-radius:0 var(--radius-md) var(--radius-md) 0}body.raw-data-tab #raw-data-table tbody tr:hover td{background:#f8fbfa}body.raw-data-tab .raw-data-name-cell{display:grid;gap:.25rem;min-width:220px}body.raw-data-tab .raw-data-name-cell strong,body.raw-data-tab #raw-data-table .project-link{color:#22313f;font-size:.94rem;font-weight:850;text-decoration:none}body.raw-data-tab .raw-data-name-cell span{color:#64727f;font-size:.78rem}body.raw-data-tab #raw-data-table td.number,body.raw-data-tab #raw-data-table th.number{text-align:right;font-variant-numeric:tabular-nums;font-weight:850}body.raw-data-tab .raw-data-type-tag{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 .55rem;border-radius:var(--radius-md);font-size:.78rem;font-weight:850;white-space:nowrap}body.raw-data-tab .raw-data-type-tag.presale{color:var(--color-type-presale, #0f766e);background:#e0f2fe}body.raw-data-tab .raw-data-type-tag.completed{color:#0d5d54;background:#dff0ed}body.raw-data-tab .raw-data-mobile-list{display:none}body.raw-data-tab .raw-data-empty{padding:1rem;color:#64727f;text-align:center;font-weight:750}body.raw-data-tab .raw-data-skeleton-row td{height:60px;padding:.65rem .75rem;border:0;background:transparent}body.raw-data-tab .raw-data-skeleton-row .skeleton{height:42px;border-radius:var(--radius-md)}body.raw-data-tab .raw-data-loadmore-skeleton{height:32px;border-radius:var(--radius-md)}@media (max-width: 860px){body.raw-data-tab .raw-data-head{align-items:stretch;flex-direction:column}body.raw-data-tab .raw-data-toggle{min-width:0}body.raw-data-tab .raw-data-table-head{align-items:flex-start;flex-direction:column;padding:.85rem}body.raw-data-tab #raw-data-table-container{display:none}body.raw-data-tab .raw-data-mobile-list{display:grid;gap:0;padding:0;background:#eef4f2b8}body.raw-data-tab .raw-data-mobile-row{min-width:0;padding:.74rem .82rem;border-bottom:1px solid #dce4ea;background:#fffffff0}body.raw-data-tab .raw-data-mobile-row:last-child{border-bottom:0}body.raw-data-tab .raw-data-mobile-skeleton{display:grid;gap:.46rem;min-height:86px}body.raw-data-tab .raw-data-mobile-skeleton .skeleton{height:13px;border-radius:var(--radius-sm)}body.raw-data-tab .raw-data-mobile-skeleton .skeleton:nth-child(1){width:82%;height:17px}body.raw-data-tab .raw-data-mobile-skeleton .skeleton:nth-child(2){width:58%}body.raw-data-tab .raw-data-mobile-skeleton .skeleton:nth-child(3){width:72%}body.raw-data-tab .raw-data-mobile-main,body.raw-data-tab .raw-data-mobile-meta,body.raw-data-tab .raw-data-mobile-detail{display:flex;align-items:baseline;min-width:0}body.raw-data-tab .raw-data-mobile-main{justify-content:space-between;gap:.7rem}body.raw-data-tab .raw-data-mobile-main strong{overflow:hidden;color:#22313f;font-size:.92rem;font-weight:850;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}body.raw-data-tab .raw-data-mobile-main b{flex:0 0 auto;color:#0d5d54;font-size:.9rem;font-weight:850;line-height:1.45;white-space:nowrap}body.raw-data-tab .raw-data-mobile-meta,body.raw-data-tab .raw-data-mobile-detail{gap:.42rem;margin-top:.24rem;overflow:hidden;color:#64727f;font-size:.75rem;font-weight:750;line-height:1.45;white-space:nowrap}body.raw-data-tab .raw-data-mobile-meta span,body.raw-data-tab .raw-data-mobile-detail span{flex:0 0 auto}body.raw-data-tab .raw-data-mobile-detail span:last-child{overflow:hidden;flex:1 1 auto;min-width:0;text-overflow:ellipsis}body.raw-data-tab .raw-data-mobile-main .project-link{color:inherit;text-decoration:none}}body.permits-tab{background-color:#f4f7f6}#permits-tab{--permit-ink: #22313f;--permit-muted: #64727f;--permit-line: #dce4ea;--permit-page: #f4f7f6;--permit-teal: #2f8c82;--permit-amber: #0891b2;--permit-brand: #245f8d}body.permits-tab .container{max-width:1440px;padding-left:16px;padding-right:16px}@media (max-width: 760px){body.permits-tab .container{padding-left:10px;padding-right:10px}}body.permits-tab #main-content{background:transparent;border-radius:0;padding:0;margin:0;box-shadow:none}#permits-tab .permits-redesign{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:1.25rem;align-items:start;margin:0 auto 2rem;color:var(--permit-ink)}#permits-tab .permit-control-panel,#permits-tab .permit-panel,#permits-tab .permit-summary-band .metric-card{background:#ffffffeb;border:1px solid rgba(220,228,234,.95);border-radius:8px;box-shadow:0 14px 34px #22313f14}#permits-tab .permit-control-panel{position:sticky;top:92px;display:grid;gap:.85rem;padding:.85rem}#permits-tab .permit-hero-strip{min-height:156px;padding:1rem;border-radius:8px;color:var(--permit-ink);background:linear-gradient(135deg,#2f8c821f,#0891b214),#f8fbfa;border:1px solid rgba(220,228,234,.95);display:flex;flex-direction:column;justify-content:flex-end}#permits-tab .permit-hero-strip .eyebrow,#permits-tab .panel-kicker{color:#2f8c82f2;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}#permits-tab .permit-hero-strip h2{margin:.28rem 0 .38rem;color:var(--permit-ink);font-size:1.62rem;letter-spacing:0}#permits-tab .permit-hero-strip p,#permits-tab .permit-page-head p,#permits-tab .permit-side-note p{margin:0;color:var(--permit-muted);line-height:1.65;font-size:.92rem}#permits-tab .permit-subnav{display:grid;grid-template-columns:1fr;gap:.55rem}#permits-tab .permit-subnav .sub-nav-tab{min-height:64px;border:1px solid var(--permit-line);border-radius:8px;background:#fff;color:var(--permit-ink);cursor:pointer;display:grid;grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:.15rem .65rem;padding:.72rem .8rem;text-align:left;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}#permits-tab .permit-subnav .sub-nav-tab i{color:var(--permit-teal);font-size:1.05rem;grid-row:span 2}#permits-tab .permit-subnav .sub-nav-tab span{font-size:1rem;font-weight:800}#permits-tab .permit-subnav .sub-nav-tab small{color:var(--permit-muted);font-size:.76rem}#permits-tab .permit-subnav .sub-nav-tab.active{border-color:#2f8c8273;background:#2f8c821a;box-shadow:inset 0 0 0 1px #2f8c8229}#permits-tab .permit-subnav .sub-nav-tab.active small,#permits-tab .permit-subnav .sub-nav-tab.active i{color:var(--permit-teal)}@media (hover: hover){#permits-tab .permit-subnav .sub-nav-tab:hover{border-color:#2f8c8273;background:#2f8c8212}}#permits-tab .permit-side-note,#permits-tab .permit-seo-drawer{border:1px solid rgba(220,228,234,.95);border-radius:8px;background:#f8fafad9;padding:.78rem}#permits-tab .permit-side-note strong{display:block;margin-bottom:.35rem;color:var(--permit-ink);font-size:.88rem}#permits-tab .permit-side-note p{color:var(--permit-muted);font-size:.8rem;line-height:1.55}#permits-tab .permit-seo-drawer{padding:.5rem .7rem}#permits-tab .permit-seo-drawer>summary{cursor:pointer;color:var(--permit-muted);font-size:.82rem;font-weight:800}#permits-tab .permit-seo-drawer .permits-intro{margin:.75rem 0 0}#permits-tab .permit-content{display:grid;gap:1rem;min-width:0}#permits-tab .sub-tab-content{display:none;margin:0;padding:0;background:transparent;border:0;border-radius:0}#permits-tab .sub-tab-content.active{display:grid;gap:1rem}#permits-tab .permit-page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem}#permits-tab .permit-page-head h3{margin:.12rem 0 0;color:var(--permit-ink);font-size:1.35rem;letter-spacing:0}#permits-tab .permit-page-head p{max-width:460px;color:var(--permit-muted);font-size:.88rem}#permits-tab .permit-summary-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}#permits-tab .permit-summary-band--duo{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}#permits-tab .permit-summary-band .metric-card{min-height:126px;padding:1rem;display:grid;align-content:space-between;gap:.5rem}#permits-tab .metric-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--permit-muted);font-size:.82rem;font-weight:800}#permits-tab .metric-top i{color:var(--permit-teal)}#permits-tab .metric-value{color:var(--permit-ink);font-family:Consolas,Monaco,monospace;font-size:2rem;font-weight:800;line-height:1}#permits-tab .metric-card small{color:var(--permit-muted);font-size:.78rem}#permits-tab .permit-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}#permits-tab .permit-panel{padding:1rem;min-width:0}#permits-tab .panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}#permits-tab .panel-title{display:flex;align-items:center;gap:.5rem;color:var(--permit-ink);font-size:1rem;font-weight:850}#permits-tab .panel-title i{color:var(--permit-teal)}#permits-tab .panel-tag,#permits-tab .panel-note{color:var(--permit-muted);font-size:.78rem;font-weight:700}#permits-tab .panel-tag{padding:.25rem .5rem;border-radius:999px;background:#2f8c821a;color:var(--permit-teal)}#permits-tab .chart-section{margin:0}#permits-tab .chart-section h3{margin:0;border:0;padding:0}#permits-tab .chart-container{height:400px;min-width:0;padding:.35rem}#permits-tab .raw-data-section{margin:0;box-shadow:0 14px 34px #22313f14;clear:none}#permits-tab .raw-data-section .table-container{margin:0;border-color:var(--permit-line);border-radius:8px}#permits-tab .raw-data-section .table-header{background:#f7faf9;border-bottom:1px solid var(--permit-line)}#permits-tab .raw-data-section .table-header th{background:#f7faf9;border-right:0;color:var(--permit-muted);font-size:.78rem;font-weight:850;text-align:left}#permits-tab .raw-data-section .table-body{max-height:560px;overflow-y:auto;scrollbar-width:thin}#permits-tab .raw-data-section .table-body td{border-right:0;border-bottom:1px solid #edf2f2;color:var(--permit-ink);font-size:.84rem;text-align:left;vertical-align:middle}#permits-tab .raw-data-section .table-body tr:nth-child(2n){background:#fbfcfc}#permits-tab .raw-data-section .table-body tr:hover{background:#2f8c820f}#permits-tab .sortable-header{-webkit-user-select:none;user-select:none}#permits-tab .sortable-header.active-sort{color:var(--permit-teal)!important}#permits-tab .sort-indicator{display:inline-block;margin-left:.18rem;color:var(--permit-teal);font-size:.72rem}#permits-tab .permit-link{color:#2b766f;font-weight:750;text-decoration:none}#permits-tab .table-body td[data-label=基地地號]{color:#526474;font-weight:650}#permits-tab .table-body td[data-label=建照號碼],#permits-tab .table-body td[data-label=使照號碼]{color:#2b766f;font-weight:750}#permits-tab .table-body td[data-label=社區名稱]{color:var(--permit-ink);font-weight:800}#permits-tab .table-body td[data-label=行政區],#permits-tab .table-body td[data-label=重劃區],#permits-tab .table-body td[data-label=型態]{color:#64727f;font-weight:600}#permits-tab .table-body td[data-label=建照號碼] .permit-link,#permits-tab .table-body td[data-label=使照號碼] .permit-link,#permits-tab .table-body td[data-label=社區名稱] .permit-link{color:inherit}#permits-tab .table-body td[data-label=基地地號] .permit-link{color:#526474;font-weight:650}@media (hover: hover){#permits-tab .permit-link:hover{color:#17635d;text-decoration:underline}#permits-tab .table-body td[data-label=基地地號] .permit-link:hover{color:#22313f}}#permits-tab .usage-permit-title,#permits-tab .compact-cards{display:none}@media (max-width: 1020px){#permits-tab .permits-redesign{grid-template-columns:1fr}#permits-tab .permit-control-panel{position:static;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:stretch}#permits-tab .permit-subnav{grid-template-columns:1fr 1fr}#permits-tab .permit-subnav .sub-nav-tab{min-height:72px}#permits-tab .permit-hero-strip{grid-row:span 2;min-height:148px}}@media (max-width: 860px){#permits-tab .permit-control-panel,#permits-tab .permit-summary-band,#permits-tab .permit-charts-grid{grid-template-columns:1fr}#permits-tab .permit-summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}#permits-tab .permit-page-head{align-items:flex-start;flex-direction:column}}@media (max-width: 640px){#permits-tab .permits-redesign{gap:.85rem}#permits-tab .permit-control-panel,#permits-tab .permit-panel{padding:.85rem}#permits-tab .permit-hero-strip{min-height:132px;justify-content:center}#permits-tab .permit-hero-strip h2{font-size:1.45rem}#permits-tab .permit-hero-strip p{font-size:.86rem;line-height:1.55}#permits-tab .permit-subnav .sub-nav-tab{min-height:68px;padding:.65rem}#permits-tab .permit-side-note{display:none}#permits-tab .permit-page-head{gap:.55rem}#permits-tab .permit-page-head h3{font-size:1.2rem}#permits-tab .permit-page-head p{font-size:.82rem;line-height:1.55}#permits-tab .permit-summary-band{gap:.65rem}#permits-tab .permit-summary-band .metric-card{min-height:112px;padding:.85rem}#permits-tab .metric-value{font-size:1.55rem}#permits-tab .panel-head{align-items:flex-start;flex-direction:column;gap:.35rem}#permits-tab .chart-container{height:300px}#permits-tab #usage-permit-content.sub-tab-content.active{gap:.75rem}#permits-tab #usage-permit-content .permit-page-head{padding:.78rem .85rem}#permits-tab #usage-permit-content .permit-page-head p{display:none}#permits-tab #usage-permit-content .chart-section{padding:.78rem}#permits-tab #usage-permit-content .chart-container{height:300px;padding:.15rem}#permits-tab #usage-permit-content .raw-data-section{padding:.78rem}#permits-tab .raw-data-section .table-header,#permits-tab .raw-data-section colgroup{display:none}#permits-tab .raw-data-section .table-container,#permits-tab .raw-data-section .table-body{border:0;max-height:none;overflow:visible}#permits-tab .raw-data-section table,#permits-tab .raw-data-section tbody,#permits-tab .raw-data-section tr,#permits-tab .raw-data-section td{display:block;width:100%}#permits-tab .raw-data-section tr{padding:.8rem;border:1px solid var(--permit-line);border-radius:8px;background:#fff}#permits-tab .raw-data-section tr+tr{margin-top:.65rem}#permits-tab .raw-data-section .table-body td{display:flex;justify-content:space-between;gap:.9rem;padding:.42rem 0;border:0;text-align:right;word-break:break-word}#permits-tab .raw-data-section .table-body td:before{content:attr(data-label);flex:0 0 auto;color:var(--permit-muted);font-size:.78rem;font-weight:800;text-align:left}#permits-tab .raw-data-section .table-body td[colspan]{display:block;text-align:center}#permits-tab .raw-data-section .table-body td[colspan]:before{display:none}#permits-tab #building-permit-raw-data tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .85rem;padding:.95rem}#permits-tab #building-permit-raw-data td{display:block;width:auto;padding:0;text-align:left;min-width:0}#permits-tab #building-permit-raw-data td:before{display:block;margin-bottom:.18rem;color:#7a8792;font-size:.72rem;font-weight:800;line-height:1.2}#permits-tab #building-permit-raw-data td[data-label=建照號碼]{grid-column:1 / -1;order:1;padding-bottom:.65rem;border-bottom:1px solid #edf2f2;color:#22313f;font-size:.98rem;font-weight:850}#permits-tab #building-permit-raw-data td[data-label=建照號碼]:before{display:none}#permits-tab #building-permit-raw-data td[data-label=建照號碼] .permit-link{color:#22313f}#permits-tab #building-permit-raw-data td[data-label=發照日期]{order:2}#permits-tab #building-permit-raw-data td[data-label=版本資訊]{order:3}#permits-tab #building-permit-raw-data td[data-label=建物高度]{order:4}#permits-tab #building-permit-raw-data td[data-label=戶數]{order:5}#permits-tab #building-permit-raw-data td[data-label=起造人]{grid-column:1 / -1;order:6}#permits-tab #building-permit-raw-data td[data-label=基地地號]{grid-column:1 / -1;order:7;line-height:1.45}#permits-tab #usage-permit-raw-data tr,#permits-tab #recent-usage-with-presale tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.46rem .72rem;padding:.78rem}#permits-tab #usage-permit-raw-data td,#permits-tab #recent-usage-with-presale td{display:block;width:auto;padding:0;text-align:left;min-width:0}#permits-tab #usage-permit-raw-data td:before,#permits-tab #recent-usage-with-presale td:before{display:block;margin-bottom:.18rem;color:#7a8792;font-size:.72rem;font-weight:800;line-height:1.2}#permits-tab #usage-permit-raw-data td[data-label=使照號碼],#permits-tab #recent-usage-with-presale td[data-label=社區名稱]{grid-column:1 / -1;order:1;padding-bottom:.52rem;border-bottom:1px solid #edf2f2;color:#22313f;font-size:.92rem;font-weight:850}#permits-tab #usage-permit-raw-data td[data-label=使照號碼]:before,#permits-tab #recent-usage-with-presale td[data-label=社區名稱]:before{display:none}#permits-tab #usage-permit-raw-data td[data-label=使照號碼] .permit-link,#permits-tab #recent-usage-with-presale td[data-label=社區名稱] .permit-link{color:#22313f}#permits-tab #usage-permit-raw-data td[data-label=發照日期]{order:2}#permits-tab #usage-permit-raw-data td[data-label=建物高度]{order:3}#permits-tab #usage-permit-raw-data td[data-label=起造人]{grid-column:1 / -1;order:4}#permits-tab #usage-permit-raw-data td[data-label=基地地號]{grid-column:1 / -1;order:5;line-height:1.45}#permits-tab #building-permit-raw-data td[data-label=建物高度],#permits-tab #building-permit-raw-data td[data-label=戶數],#permits-tab #usage-permit-raw-data td[data-label=建物高度]{min-height:54px;padding:.55rem .65rem;border:1px solid #edf2f2;border-radius:8px;background:#fbfcfc}#permits-tab #building-permit-raw-data td[data-label=起造人],#permits-tab #building-permit-raw-data td[data-label=基地地號],#permits-tab #usage-permit-raw-data td[data-label=起造人],#permits-tab #usage-permit-raw-data td[data-label=基地地號]{padding-top:.15rem}#permits-tab #recent-usage-with-presale td[data-label=發照日期]{order:2}#permits-tab #recent-usage-with-presale td[data-label=行政區]{order:3}#permits-tab #recent-usage-with-presale td[data-label=使照號碼]{order:4}#permits-tab #recent-usage-with-presale td[data-label=建照號碼]{order:5}#permits-tab #recent-usage-with-presale td[data-label=重劃區]{order:6}#permits-tab #recent-usage-with-presale td[data-label=型態]{order:7}#permits-tab #usage-permit-content .raw-data-section .table-body,#permits-tab #building-permit-content .raw-data-section .table-body{max-height:420px;overflow-y:auto;padding-right:.15rem;scrollbar-width:thin}#permits-tab #usage-permit-content .raw-data-section:last-child .table-body{max-height:360px}#permits-tab #usage-permit-content .raw-data-section tr+tr{margin-top:.5rem}}@media (max-width: 768px){.cards-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.metric-card{padding:.8rem .6rem;text-align:center}.metric-icon{font-size:1.8rem;margin-bottom:.6rem}.metric-content h3{font-size:1.4rem}.metric-content p{font-size:.8rem}.developer-charts{grid-template-columns:1fr!important;gap:1rem}.developer-charts .chart-section{width:100%;max-width:100%}.developer-charts .chart-container{min-width:0!important;width:100%!important;max-width:calc(100vw - 2rem)!important;height:250px!important;overflow:hidden;padding:.5rem;box-sizing:border-box}.developer-charts .chart-container canvas{max-width:100%!important;width:100%!important;height:auto!important}}.developer-search-section{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #0000001a}.developer-projects-section .table-header table{width:100%;margin:0;border-collapse:collapse;table-layout:fixed}.developer-projects-section .table-header th{background-color:var(--color-bg-surface);font-weight:600;color:var(--color-text);border-right:1px solid var(--color-border-light);text-align:center;padding:.75rem .5rem;font-size:.9rem;box-sizing:border-box}.developer-projects-section .table-header th:last-child{border-right:none}.developer-projects-section .table-body{max-height:400px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.developer-projects-section .table-body::-webkit-scrollbar{width:0px;background:transparent}.developer-projects-section .table-body::-webkit-scrollbar-thumb{background:transparent}.developer-projects-section .table-body table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}.developer-projects-section .table-body td{font-size:.9rem;padding:.75rem .5rem;text-align:center;border-right:1px solid var(--color-border-light);border-bottom:1px solid #f0f0f0;word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.developer-projects-section .table-body td:last-child{border-right:none}.developer-projects-section .table-body tr:hover{background-color:var(--color-bg-surface)}.developer-projects-section .table-body tr:nth-child(2n){background-color:#fafafa}.developer-projects-section .table-body tr:nth-child(2n):hover{background-color:#f0f0f0}.search-form{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.input-group{flex:1;min-width:300px}.developer-projects-section{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #0000001a}.developer-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem;max-width:100%}@media (min-width: 1200px){.developer-charts{grid-template-columns:repeat(2,1fr)}}.quick-search-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.quick-search-section h4{margin-bottom:1rem;color:var(--color-text);font-size:1rem;font-weight:600}.quick-search-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.btn-quick{background:linear-gradient(135deg,var(--color-bg-surface) 0%,var(--color-border) 100%);color:var(--color-text-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:.5rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease;white-space:nowrap}.btn-quick:hover{background:linear-gradient(135deg,#2f8c82,#12766e);color:#fff;border-color:#2f8c82;transform:translateY(-2px);box-shadow:0 4px 12px #12766e4d}.btn-quick:active{transform:translateY(0);box-shadow:0 2px 8px #12766e33}@media (max-width: 768px){.developer-projects-section .table-header th,.developer-projects-section .table-body td{padding:.5rem .25rem;font-size:.8rem}.developer-projects-section .table-body{max-height:300px}}#developer-projects a.project-link.completed-property{color:var(--color-success)!important;font-weight:600!important}#developer-projects a.project-link.presale-property{color:var(--color-info)!important;font-weight:500!important}#developer-projects a.project-link.completed-property:hover{color:var(--color-success-hover)!important;text-decoration:underline}#developer-projects a.project-link.presale-property:hover{color:#2563eb!important;text-decoration:underline}.project-status-legend{margin:10px 0;padding:8px 12px;background-color:var(--color-bg-surface);border-left:4px solid #2f8c82;border-radius:var(--radius-sm);font-size:.9rem;color:var(--color-text-secondary)}.project-status-legend .status-item{display:inline-block;margin-right:20px}.project-status-legend .status-color{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:5px;vertical-align:middle}.project-status-legend .completed-color{background-color:var(--color-success)}.project-status-legend .presale-color{background-color:var(--color-info)}body.developer-tab{background-color:#f4f7f6}body.developer-tab .container{max-width:1440px;padding-left:16px;padding-right:16px}@media (max-width: 760px){body.developer-tab .container{padding-left:10px;padding-right:10px}}body.developer-tab #main-content{background:transparent;border-radius:0;padding:0;margin:0;box-shadow:none}#developer-tab>section{border:0;outline:0;border-radius:0;padding:0;background:transparent;box-shadow:none;filter:none;overflow:visible}#developer-tab>section:before,#developer-tab>section:after{content:none;box-shadow:none;filter:none}#developer-tab .developer-redesign .workspace,#developer-tab>section>div.developer-redesign-body.workspace{margin-top:0}#developer-tab>section>div{border:0;outline:0;background:transparent;box-shadow:none}#developer-tab>section>div>section{border:0;outline:0;border-radius:0;padding:0;background:transparent;background-clip:border-box;box-shadow:none;filter:none;overflow:visible}#developer-tab>section>div>section:before,#developer-tab>section>div>section:after{content:none;box-shadow:none;filter:none}#developer-tab .developer-redesign{--shadow: 0 14px 42px rgba(31, 45, 55, .1);--radius: 8px}#developer-tab .developer-redesign *{box-sizing:border-box}#developer-tab .developer-redesign{margin:0;min-height:100vh;color:var(--ink);background:transparent;font-family:Microsoft JhengHei,PingFang TC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}#developer-tab .developer-redesign a{color:inherit;text-decoration:none}#developer-tab .developer-redesign button,#developer-tab .developer-redesign input,#developer-tab .developer-redesign select{font:inherit}#developer-tab .developer-redesign .shell{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:22px 0 48px}#developer-tab .developer-redesign .workspace{border:0;background:transparent;box-shadow:none}#developer-tab .developer-redesign .topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:0 4px}#developer-tab .developer-redesign .brand{display:flex;align-items:center;gap:10px;min-width:max-content;font-weight:800;font-size:1.18rem;color:var(--ink)}#developer-tab .developer-redesign .brand img{width:34px;height:34px;border-radius:8px}#developer-tab .developer-redesign .nav{display:flex;align-items:center;gap:6px;padding:6px;border:1px solid rgba(220,228,234,.8);border-radius:var(--radius);background:#ffffffc7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow-x:auto}#developer-tab .developer-redesign .nav a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:6px;color:var(--muted);white-space:nowrap;font-size:.92rem;font-weight:650}#developer-tab .developer-redesign .nav a.active{color:#fff;background:var(--brand-dark)}@media (hover: hover){#developer-tab .developer-redesign .nav a:hover,#developer-tab .developer-redesign .icon-btn:hover,#developer-tab .developer-redesign .quick-chip:hover,#developer-tab .developer-redesign .project-row:hover{border-color:#2f8c8261;transform:translateY(-1px)}}#developer-tab .developer-redesign .top-actions{display:flex;align-items:center;gap:8px}#developer-tab .developer-redesign .icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid rgba(220,228,234,.95);border-radius:8px;background:#ffffffd6;color:var(--ink);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}#developer-tab .developer-redesign .control-panel,#developer-tab .developer-redesign .panel,#developer-tab .developer-redesign .metric,#developer-tab .developer-redesign .project-row{border:1px solid rgba(220,228,234,.95);border-radius:var(--radius);background:#ffffffeb;box-shadow:0 1px #ffffffd1 inset}#developer-tab .developer-redesign .control-panel{box-shadow:var(--shadow)}#developer-tab .developer-redesign .hero-strip{min-height:178px;padding:20px;color:#fff;background:linear-gradient(110deg,#22313ff0,#22313f8a),url(/assets/home12-Cg_o4rMM.webp) center / cover}#developer-tab .developer-redesign .eyebrow{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:0 9px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:#ffffff24;font-size:.78rem;font-weight:700;color:#ffffffe6}#developer-tab .developer-redesign .hero-strip h1{max-width:8em;margin:18px 0 8px;font-size:clamp(2rem,4vw,2.7rem);line-height:1.08;letter-spacing:0}#developer-tab .developer-redesign .hero-strip p{max-width:27rem;margin:0;color:#ffffffd1;line-height:1.7;font-size:.98rem}#developer-tab .developer-redesign .search-stack{padding:18px}#developer-tab .developer-redesign .field-label{display:block;margin-bottom:8px;color:var(--muted);font-size:.86rem;font-weight:700}#developer-tab .developer-redesign .search-box{display:grid;grid-template-columns:1fr 44px;min-height:48px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}#developer-tab .developer-redesign .search-box input{width:100%;min-width:0;border:0;outline:0;padding:0 14px;color:var(--ink);background:transparent}#developer-tab .developer-redesign .search-box button{border:0;border-left:1px solid var(--line);color:#fff;background:var(--teal);cursor:pointer}#developer-tab .developer-redesign .filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}#developer-tab .developer-redesign .select-wrap{position:relative}#developer-tab .developer-redesign .select-wrap select{width:100%;min-height:42px;appearance:none;border:1px solid var(--line);border-radius:8px;padding:0 34px 0 12px;color:var(--ink);background:#fff}#developer-tab .developer-redesign .select-wrap i{position:absolute;right:12px;bottom:21px;transform:translateY(50%);color:var(--muted);pointer-events:none}#developer-tab .developer-redesign .quick-group{margin-top:18px}#developer-tab .developer-redesign .quick-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px}#developer-tab .developer-redesign .quick-head strong{font-size:.94rem}#developer-tab .developer-redesign .quick-head span{color:var(--muted);font-size:.8rem}#developer-tab .developer-redesign .quick-list{display:flex;flex-wrap:wrap;gap:8px}#developer-tab .developer-redesign .quick-chip{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--soft);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}#developer-tab .developer-redesign .quick-chip.active{border-color:#2f8c827a;color:#0d5d54;background:var(--teal-soft);font-weight:750}#developer-tab .developer-redesign .insight-note{display:grid;gap:8px;margin-top:18px;padding:13px;border:1px solid rgba(14,116,144,.18);border-radius:8px;background:#eef8fb;color:#475569;line-height:1.6;font-size:.9rem}#developer-tab .developer-redesign .insight-note strong{color:#0f4f5f}#developer-tab .developer-redesign .insight-note span{color:#475569}#developer-tab .developer-redesign .side-market-feed{margin-top:14px}#developer-tab .developer-redesign .content{display:none;gap:18px;min-width:0}#developer-tab .developer-redesign .summary-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}#developer-tab .developer-redesign .metric{min-height:106px;padding:16px;box-shadow:var(--shadow)}#developer-tab .developer-redesign .metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:24px;color:var(--muted);font-size:.84rem;font-weight:750}#developer-tab .developer-redesign .metric-top i{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:var(--teal);background:var(--teal-soft)}#developer-tab .developer-redesign .metric-value{margin-top:12px;font-size:clamp(1.65rem,3vw,2.2rem);line-height:1;font-weight:850;color:var(--ink)}#developer-tab .developer-redesign .metric-foot{margin-top:8px;color:var(--muted);font-size:.82rem}#developer-tab .developer-redesign .board{display:grid;grid-template-columns:1fr;gap:18px}#developer-tab .developer-redesign .map-panel{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:0}#developer-tab .developer-redesign .charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}#developer-tab .developer-redesign .panel{min-width:0;overflow:hidden;box-shadow:var(--shadow)}#developer-tab .developer-redesign .mini-map{position:relative;display:grid;align-items:center;padding:18px;min-height:318px;overflow:hidden;background:radial-gradient(circle at 76% 12%,rgba(105,136,173,.2),transparent 28%),linear-gradient(135deg,#2f8c821f,#0891b214),#eef4f1}#developer-tab .developer-redesign .dev-leaflet-map{width:100%;height:460px;min-height:320px;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #dce4ea99}#developer-tab .developer-redesign .dev-leaflet-tooltip{background:#fffffff0;color:var(--ink);border:1px solid rgba(47,140,130,.28);border-radius:6px;padding:3px 7px;font-size:.74rem;font-weight:750;box-shadow:0 4px 12px #1f2d3729}#developer-tab .developer-redesign .dev-leaflet-tooltip:before{border-top-color:#fffffff0}#developer-tab .developer-redesign .leaflet-tooltip-left.dev-leaflet-tooltip:before{border-left-color:#fffffff0}#developer-tab .developer-redesign .leaflet-tooltip-right.dev-leaflet-tooltip:before{border-right-color:#fffffff0}#developer-tab .developer-redesign .leaflet-tooltip-bottom.dev-leaflet-tooltip:before{border-bottom-color:#fffffff0}#developer-tab .developer-redesign .dev-map-reset-control{border:0;box-shadow:none;background:transparent}#developer-tab .developer-redesign .dev-map-reset-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid rgba(220,228,234,.92);border-radius:8px;color:var(--ink);background:#fffffff0;font-size:.78rem;font-weight:800;cursor:pointer;box-shadow:0 6px 16px #1f2d3724}#developer-tab .developer-redesign .dev-map-reset-btn:hover{color:#0d5d54;border-color:#2f8c8261;background:#fff}#developer-tab .developer-redesign .leaflet-popup-content-wrapper{border-radius:8px}#developer-tab .developer-redesign .leaflet-popup-content{margin:10px 12px;font-size:.86rem;line-height:1.4}#developer-tab .developer-redesign .map-svg{width:100%;height:100%;min-height:276px;display:block}#developer-tab .developer-redesign .map-grid-line{stroke:#22313f0e;stroke-width:1;vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-water{fill:none;stroke:#4897ab3d;stroke-linecap:round;stroke-width:17;vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-water-highlight{fill:none;stroke:#ffffff7a;stroke-linecap:round;stroke-width:6;vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-road{fill:none;stroke:#ffffffe0;stroke-linecap:round;stroke-width:7;filter:drop-shadow(0 2px 2px rgba(34,49,63,.06));vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-road.major{stroke:#faecd0f5;stroke-width:9}#developer-tab .developer-redesign .map-district{stroke:#2f8c8252;stroke-width:1.4;fill:#ffffff8c;vector-effect:non-scaling-stroke}#developer-tab .developer-redesign .map-district.active,#developer-tab .developer-redesign .map-district.has-projects{fill:#2f8c8238;stroke:#2f8c828c;stroke-width:1.8}#developer-tab .developer-redesign .map-district.no-projects,#developer-tab .developer-redesign .map-district-label.no-projects{display:none}#developer-tab .developer-redesign .map-district.small{fill:#ffffff59;stroke:#22313f24}#developer-tab .developer-redesign .map-district-label{fill:var(--ink);font-size:16px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:#ffffffeb;stroke-width:4px;stroke-linejoin:round}#developer-tab .developer-redesign .map-district-label.small{font-size:11px;fill:#22313f8c;font-weight:700}#developer-tab .developer-redesign .map-district-label.muted{fill:#22313f8c;font-size:13px;font-weight:700}#developer-tab .developer-redesign .map-pin circle{fill:var(--teal);stroke:#fffffff5;stroke-width:2.5;filter:drop-shadow(0 4px 8px rgba(31,45,55,.22))}#developer-tab .developer-redesign .map-pin text{fill:#fff;font-size:14px;font-weight:850;text-anchor:middle;dominant-baseline:central}#developer-tab .developer-redesign .map-project-halo{fill:#ffffffe0;stroke:#2f8c826b;stroke-width:1.2}#developer-tab .developer-redesign .map-project-dot{fill:var(--teal);stroke:#fff;stroke-width:1;cursor:pointer;transition:r .15s ease,fill .15s ease}@media (hover: hover){#developer-tab .developer-redesign .map-project-dot:hover{fill:var(--brand-dark)}}@media (min-width: 769px){#developer-tab .developer-redesign .map-pin{display:none}}@media (max-width: 768px){#developer-tab .developer-redesign .map-projects{display:none}}#developer-tab .developer-redesign .map-legend{position:absolute;left:16px;bottom:16px;display:flex;gap:8px;flex-wrap:wrap}#developer-tab .developer-redesign .map-legend span{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 9px;border:1px solid rgba(220,228,234,.9);border-radius:8px;background:#ffffffd1;color:var(--muted);font-size:.76rem;font-weight:750}#developer-tab .developer-redesign .map-legend i{width:9px;height:9px;border-radius:50%;background:var(--pin)}#developer-tab .developer-redesign .map-legend .legend-pin i{width:14px;height:14px;border-radius:50%;background:var(--teal);box-shadow:inset 0 0 0 2px #fff}#developer-tab .developer-redesign .map-summary{display:grid;gap:12px;align-content:start;padding:18px;border-left:1px solid var(--line);background:#ffffffc7}#developer-tab .developer-redesign .map-summary-item{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}#developer-tab .developer-redesign .map-summary-item span{color:var(--muted);font-size:.76rem;font-weight:750}#developer-tab .developer-redesign .map-summary-item strong{color:var(--ink);font-size:1rem}#developer-tab .developer-redesign .map-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:8px;background:var(--ink);color:#fff;font-weight:800;font-size:.88rem}#developer-tab .developer-redesign .panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:0 18px;border-bottom:1px solid var(--line)}#developer-tab .developer-redesign .panel-title{display:flex;align-items:center;gap:9px;min-width:0;font-weight:850}#developer-tab .developer-redesign .panel-title i{color:var(--brand)}#developer-tab .developer-redesign .panel-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}#developer-tab .developer-redesign .chart-body{display:grid;align-items:stretch;grid-template-columns:repeat(7,minmax(36px,1fr));gap:13px;min-height:286px;padding:22px 22px 16px}#developer-tab .developer-redesign .bar-item{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;gap:8px;height:236px;min-width:0}#developer-tab .developer-redesign .bar{position:relative;align-self:end;width:100%;min-height:24px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#4ca79c,#2f8c82)}#developer-tab .developer-redesign .bar:before{content:attr(data-value);position:absolute;top:-28px;left:50%;transform:translate(-50%);color:var(--ink);font-size:.8rem;font-weight:800;white-space:nowrap}#developer-tab .developer-redesign .bar-label{min-height:30px;color:var(--muted);font-size:.8rem;line-height:1.3;text-align:center;overflow-wrap:anywhere}#developer-tab .developer-redesign .area-list{display:grid;gap:12px;padding:18px}#developer-tab .developer-redesign .hbar-list{display:grid;gap:13px;padding:20px 18px;max-height:338px;overflow-y:auto;align-content:start;counter-reset:ranking;scrollbar-width:thin;scrollbar-color:rgba(47,140,130,.34) transparent}#developer-tab .developer-redesign .hbar-item{display:grid;grid-template-columns:28px minmax(92px,132px) minmax(0,1fr) 56px;align-items:center;gap:10px;min-height:32px;font-size:.9rem}#developer-tab .developer-redesign .hbar-item:before{counter-increment:ranking;content:counter(ranking);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#2f8c821a;color:var(--teal);font-size:.74rem;font-weight:850}#developer-tab .developer-redesign .hbar-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#developer-tab .developer-redesign .hbar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0891b2,#38bdf8)}#developer-tab .developer-redesign .unit-price-list .hbar-fill{background:linear-gradient(90deg,#2f8c82,#56b8aa)}#developer-tab .developer-redesign .donut-layout{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:18px;padding:22px 20px;min-height:266px}#developer-tab .developer-redesign .donut{position:relative;width:178px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--teal) 0 44%,var(--amber) 44% 72%,#6988ad 72% 89%,#c96b5f 89% 100%);box-shadow:inset 0 0 0 1px #1f2d370f}#developer-tab .developer-redesign .donut:after{content:attr(data-center);position:absolute;inset:38px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--ink);font-size:1.5rem;font-weight:850}#developer-tab .developer-redesign .legend-list{display:grid;gap:10px}#developer-tab .developer-redesign .legend-item{display:grid;grid-template-columns:12px minmax(0,1fr) 42px;align-items:center;gap:9px;color:var(--muted);font-size:.9rem}#developer-tab .developer-redesign .legend-dot{width:12px;height:12px;border-radius:4px;background:var(--teal)}#developer-tab .developer-redesign .area-item{display:grid;grid-template-columns:68px 1fr 44px;align-items:center;gap:10px;min-height:32px;font-size:.9rem}#developer-tab .developer-redesign .track{height:9px;border-radius:99px;background:var(--soft);overflow:hidden}#developer-tab .developer-redesign .fill{display:block;height:100%;border-radius:inherit;background:var(--amber)}#developer-tab .developer-redesign .developer-projects-section .table-container{padding:0 14px 16px;max-height:520px;overflow-x:auto;overflow-y:auto;background:var(--paper);box-shadow:none;border-radius:0;margin:0;scrollbar-width:thin}#developer-tab .developer-redesign .developer-projects-section thead th{position:sticky;top:0;z-index:3;background:var(--paper);box-shadow:0 1px 0 var(--line),0 -12px 0 12px var(--paper)}#developer-tab .developer-redesign .developer-projects-section table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0 8px;table-layout:fixed}#developer-tab .developer-redesign .developer-projects-section .table-header{display:none}#developer-tab .developer-redesign .developer-projects-section th{padding:10px 12px;color:var(--muted);font-size:.76rem;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}#developer-tab .developer-redesign .developer-projects-section th:nth-child(1){width:25%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(2){width:11%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(3){width:14%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(4){width:15%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(5){width:11%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(6){width:24%}#developer-tab .developer-redesign .developer-projects-section th:nth-child(3),#developer-tab .developer-redesign .developer-projects-section th:nth-child(4),#developer-tab .developer-redesign .developer-projects-section th:nth-child(5){text-align:right}#developer-tab .developer-redesign .developer-projects-section td{height:70px;padding:12px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffffeb;font-size:.9rem;vertical-align:middle}#developer-tab .developer-redesign .developer-projects-section tbody tr{transition:transform .18s ease,filter .18s ease}#developer-tab .developer-redesign .developer-projects-section tbody tr:hover{transform:translateY(-1px);filter:drop-shadow(0 8px 18px rgba(31,45,55,.08))}#developer-tab .developer-redesign .developer-projects-section td:first-child{border-left:1px solid var(--line);border-radius:8px 0 0 8px;font-weight:850}#developer-tab .developer-redesign .developer-projects-section td:last-child{border-right:1px solid var(--line);border-radius:0 8px 8px 0}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3),#developer-tab .developer-redesign .developer-projects-section td:nth-child(4),#developer-tab .developer-redesign .developer-projects-section td:nth-child(5){text-align:right;font-weight:800}#developer-tab .developer-redesign .project-cell-main a{color:var(--ink);text-decoration:none;font-weight:850}#developer-tab .developer-redesign .project-cell-main a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:3px}#developer-tab .developer-redesign .project-company{display:block;margin-top:5px;color:var(--muted);font-size:.76rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#developer-tab .developer-redesign .numeric strong{display:block;color:var(--ink);font-size:.96rem;line-height:1.1}#developer-tab .developer-redesign .numeric span{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;font-weight:700}#developer-tab .developer-redesign .district-pill,#developer-tab .developer-redesign .zone-pill{display:inline-flex;align-items:center;max-width:100%;min-height:28px;padding:0 9px;border-radius:7px;background:#eef4f2d1;color:#245f58;font-size:.78rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#developer-tab .developer-redesign .zone-pill{background:#0891b21f;color:#0f4f5f}#developer-tab .developer-redesign .project-list{display:grid;gap:10px;padding:14px}#developer-tab .developer-redesign .project-row{display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(4,minmax(82px,.65fr));align-items:center;gap:12px;min-height:66px;padding:12px;transition:transform .18s ease,border-color .18s ease}#developer-tab .developer-redesign .project-name{min-width:0}#developer-tab .developer-redesign .project-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem}#developer-tab .developer-redesign .project-name span{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}#developer-tab .developer-redesign .cell{min-width:0}#developer-tab .developer-redesign .cell b{display:block;font-size:.96rem;text-align:right}#developer-tab .developer-redesign .cell span{display:block;margin-top:3px;color:var(--muted);font-size:.76rem;text-align:right}#developer-tab .developer-redesign .tag{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border-radius:6px;background:var(--soft);color:var(--muted);font-size:.76rem;font-weight:750;white-space:nowrap}#developer-tab .developer-redesign .tag.presale{color:#0f4f5f;background:#e0f2fe}#developer-tab .developer-redesign .tag.done{color:#15633b;background:#dff1e7}#developer-tab .developer-redesign .market-feed{display:grid;gap:8px;padding:14px;counter-reset:signal}#developer-tab .developer-redesign .feed-item{display:grid;grid-template-columns:24px 1fr;gap:4px 9px;align-items:start;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf9e0}#developer-tab .developer-redesign .feed-item strong,#developer-tab .developer-redesign .feed-item span{grid-column:2}#developer-tab .developer-redesign .feed-item:before{counter-increment:signal;content:counter(signal);display:grid;place-items:center;width:24px;height:24px;border-radius:7px;color:#0d5d54;background:var(--teal-soft);font-size:.72rem;font-weight:850}#developer-tab .developer-redesign .feed-item.hot:before{color:#8f2e2b;background:#f4dfdd}#developer-tab .developer-redesign .feed-item.good:before{color:#15633b;background:#dff1e7}#developer-tab .developer-redesign .feed-item strong{display:block;font-size:.92rem;line-height:1.45}#developer-tab .developer-redesign .feed-item span{display:block;margin-top:0;color:var(--muted);font-size:.82rem;line-height:1.55}@media (max-width: 1180px){#developer-tab .developer-redesign .board{grid-template-columns:1fr}#developer-tab .developer-redesign .charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#developer-tab .developer-redesign .hero-strip{min-height:0;padding:18px 20px}#developer-tab .developer-redesign .hero-strip h1{margin:12px 0 6px;font-size:1.8rem}#developer-tab .developer-redesign .hero-strip p{font-size:.92rem;line-height:1.55}#developer-tab .developer-redesign .summary-band{grid-template-columns:repeat(4,minmax(0,1fr))}#developer-tab .developer-redesign .map-panel{grid-template-columns:minmax(0,1fr) minmax(260px,.42fr)}}@media (max-width: 980px){#developer-tab .developer-redesign .summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}#developer-tab .developer-redesign .control-panel{display:block}#developer-tab .developer-redesign .hero-strip{min-height:0;padding:16px 18px}#developer-tab .developer-redesign .hero-strip h1{margin:10px 0 6px;font-size:1.6rem}#developer-tab .developer-redesign .hero-strip p{font-size:.9rem;line-height:1.55}#developer-tab .developer-redesign .chart-body{grid-template-columns:repeat(7,minmax(64px,1fr));overflow-x:auto;padding-bottom:20px}#developer-tab .developer-redesign .developer-projects-section table{min-width:720px}#developer-tab .developer-redesign .donut-layout{grid-template-columns:132px minmax(0,1fr);gap:12px;min-height:230px;padding:18px 16px}#developer-tab .developer-redesign .donut{width:132px}#developer-tab .developer-redesign .donut:after{inset:30px;font-size:1.15rem}#developer-tab .developer-redesign .map-panel{grid-template-columns:1fr}#developer-tab .developer-redesign .mini-map{min-height:260px}#developer-tab .developer-redesign .map-summary{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;border-top:1px solid var(--line)}#developer-tab .developer-redesign .map-link{grid-column:1 / -1}}@media (max-width: 760px){#developer-tab .developer-redesign{background-attachment:scroll}#developer-tab .developer-redesign .shell{width:min(100% - 20px,1440px);padding-top:10px}#developer-tab .developer-redesign .topbar{align-items:stretch;flex-direction:column}#developer-tab .developer-redesign .top-actions{position:absolute;right:10px;top:12px}#developer-tab .developer-redesign .nav{width:100%}#developer-tab .developer-redesign .workspace{gap:12px;margin-top:12px}#developer-tab .developer-redesign .control-panel{display:block}#developer-tab .developer-redesign .hero-strip{min-height:0;padding:14px 16px 16px}#developer-tab .developer-redesign .hero-strip h1{margin:10px 0 6px;font-size:1.4rem}#developer-tab .developer-redesign .hero-strip p{font-size:.84rem;line-height:1.5}#developer-tab .developer-redesign .search-stack{padding:14px}#developer-tab .developer-redesign .filter-grid,#developer-tab .developer-redesign .summary-band{grid-template-columns:1fr}#developer-tab .developer-redesign .charts-grid{grid-template-columns:1fr;gap:14px}#developer-tab .developer-redesign .panel-head{align-items:center;flex-direction:row;justify-content:space-between;gap:10px;min-height:unset;padding:12px 14px}#developer-tab .developer-redesign .developer-projects-section .panel-head{align-items:flex-start;flex-direction:column;gap:8px;padding:14px}#developer-tab .developer-redesign .developer-projects-section .panel-tools{flex-wrap:wrap;justify-content:flex-start}#developer-tab .developer-redesign .chart-body{grid-template-columns:repeat(4,minmax(42px,1fr));min-height:270px;overflow-x:auto;gap:12px;padding:20px 14px 14px}#developer-tab .developer-redesign .bar-item{height:206px}#developer-tab .developer-redesign .mini-map{min-height:230px;padding:10px}#developer-tab .developer-redesign .map-svg{min-height:210px}#developer-tab .developer-redesign .map-district-label{font-size:14px}#developer-tab .developer-redesign .map-district-label.small,#developer-tab .developer-redesign .map-district-label.muted{font-size:10px}#developer-tab .developer-redesign .map-pin text{font-size:12px}#developer-tab .developer-redesign .map-summary{grid-template-columns:1fr;padding:14px}#developer-tab .developer-redesign .hbar-list{padding:16px 14px;max-height:314px}#developer-tab .developer-redesign .hbar-item{grid-template-columns:26px minmax(104px,128px) minmax(76px,1fr) 48px;gap:8px;font-size:.84rem}#developer-tab .developer-redesign .hbar-item:before{width:22px;height:22px;border-radius:6px;font-size:.68rem}#developer-tab .developer-redesign .donut-layout{grid-template-columns:1fr;justify-items:center;min-height:unset;padding:18px 14px}#developer-tab .developer-redesign .legend-list{width:100%}#developer-tab .developer-redesign .metric{min-height:88px;padding:14px}#developer-tab .developer-redesign .metric-value{font-size:1.75rem}#developer-tab .developer-redesign .developer-projects-section .table-container{padding:8px;max-height:60vh}#developer-tab .developer-redesign .developer-projects-section table,#developer-tab .developer-redesign .developer-projects-section thead,#developer-tab .developer-redesign .developer-projects-section tbody,#developer-tab .developer-redesign .developer-projects-section tr,#developer-tab .developer-redesign .developer-projects-section td{display:block;min-width:0;width:100%}#developer-tab .developer-redesign .developer-projects-section thead{display:none}#developer-tab .developer-redesign .developer-projects-section table{border-spacing:0}#developer-tab .developer-redesign .developer-projects-section tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:7px;row-gap:7px;margin-bottom:10px;padding:10px;border:0;border-radius:8px;background:#ffffffeb;box-shadow:inset 0 0 0 1px #dce4eab8;overflow:hidden}#developer-tab .developer-redesign .developer-projects-section td{display:block;min-width:0;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;text-align:left;font-size:.82rem}#developer-tab .developer-redesign .developer-projects-section td:first-child,#developer-tab .developer-redesign .developer-projects-section td:last-child{border:0;border-radius:0}#developer-tab .developer-redesign .developer-projects-section td:first-child{grid-column:1 / -1;order:1;display:block;padding-bottom:2px;font-size:.98rem;font-weight:850}#developer-tab .developer-redesign .developer-projects-section .project-company{margin-top:4px;font-size:.72rem}#developer-tab .developer-redesign .developer-projects-section td:nth-child(2),#developer-tab .developer-redesign .developer-projects-section td:nth-child(6){color:var(--muted);font-size:.74rem;font-weight:700;line-height:1.35}#developer-tab .developer-redesign .developer-projects-section td:nth-child(2){order:2}#developer-tab .developer-redesign .developer-projects-section td:nth-child(6){order:3;grid-column:span 2}#developer-tab .developer-redesign .developer-projects-section .district-pill,#developer-tab .developer-redesign .developer-projects-section .zone-pill{min-height:26px;max-width:100%;font-size:.72rem}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3),#developer-tab .developer-redesign .developer-projects-section td:nth-child(4),#developer-tab .developer-redesign .developer-projects-section td:nth-child(5){margin-top:0;padding:8px;border-radius:8px;background:#eef4f2b8;text-align:left}#developer-tab .developer-redesign .developer-projects-section .numeric strong{font-size:.9rem}#developer-tab .developer-redesign .developer-projects-section .numeric span{margin-top:2px;font-size:.66rem}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3){order:4}#developer-tab .developer-redesign .developer-projects-section td:nth-child(4){order:5}#developer-tab .developer-redesign .developer-projects-section td:nth-child(5){order:6}#developer-tab .developer-redesign .developer-projects-section td:before{content:none}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3):before,#developer-tab .developer-redesign .developer-projects-section td:nth-child(4):before,#developer-tab .developer-redesign .developer-projects-section td:nth-child(5):before{display:block;margin-bottom:3px;color:var(--muted);font-size:.68rem;font-weight:750}#developer-tab .developer-redesign .developer-projects-section td:nth-child(3):before{content:"單價"}#developer-tab .developer-redesign .developer-projects-section td:nth-child(4):before{content:"總價"}#developer-tab .developer-redesign .developer-projects-section td:nth-child(5):before{content:"戶數"}#developer-tab .developer-redesign .market-feed{padding:12px}#developer-tab .developer-redesign .feed-item{grid-template-columns:22px 1fr;gap:3px 8px;min-height:unset;padding:9px}#developer-tab .developer-redesign .feed-item:before{width:22px;height:22px}#developer-tab .developer-redesign .feed-item strong{font-size:.82rem}#developer-tab .developer-redesign .feed-item span{font-size:.76rem}}#developer-tab .developer-redesign .hbar-empty{min-height:120px;display:grid;place-items:center;color:var(--muted);font-weight:750;border:1px dashed var(--line);border-radius:8px;background:#ffffff8f}#developer-tab .developer-redesign .filter-date-range{margin-top:12px}#developer-tab .developer-redesign .filter-date-range>.field-label{display:block;font-size:.78rem;color:var(--muted);margin-bottom:6px;font-weight:600}#developer-tab .developer-redesign .date-selector-group{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"sy sm" "ey em";gap:6px;align-items:center;box-sizing:border-box}#developer-tab .developer-redesign .date-selector-group #developer-start-year{grid-area:sy}#developer-tab .developer-redesign .date-selector-group #developer-start-month{grid-area:sm}#developer-tab .developer-redesign .date-selector-group #developer-end-year{grid-area:ey}#developer-tab .developer-redesign .date-selector-group #developer-end-month{grid-area:em}#developer-tab .developer-redesign .date-selector-group select{width:100%;min-width:0;min-height:40px;padding:8px 26px 8px 10px;font-size:.88rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;box-sizing:border-box;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='none' stroke='%2364727f' stroke-width='1.4' d='M3 4.5l3 3 3-3'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px}#developer-tab .developer-redesign .date-selector-group select:focus-visible{outline:none;border-color:var(--color-primary, #2f8c82);box-shadow:0 0 0 3px #2f8c821f}#developer-tab .developer-redesign .date-selector-group .date-sep{display:none}#developer-tab .auth-prompt{display:flex;align-items:center;gap:14px;padding:18px 22px;margin-bottom:18px;background:linear-gradient(135deg,#fff8ec,#fff2dd);border:1px solid #f3d59a;border-radius:12px;box-shadow:0 1px 4px #c4912414}#developer-tab .auth-prompt>i{font-size:1.6rem;color:#c48b18;flex:0 0 auto}#developer-tab .auth-prompt .auth-prompt-body{flex:1;display:flex;flex-direction:column;gap:2px}#developer-tab .auth-prompt .auth-prompt-body strong{font-size:1rem;color:#6f4a08;font-weight:700}#developer-tab .auth-prompt .auth-prompt-body p{margin:0;font-size:.86rem;color:#8d6a2a}#developer-tab .auth-prompt .auth-prompt-cta{flex:0 0 auto;padding:9px 18px;background:#c48b18;color:#fff;border-radius:8px;font-weight:600;font-size:.9rem;text-decoration:none;transition:background .15s}@media (hover: hover){#developer-tab .auth-prompt .auth-prompt-cta:hover{background:#a3720d}}@media (max-width: 600px){#developer-tab .auth-prompt{flex-wrap:wrap;padding:14px 16px}#developer-tab .auth-prompt .auth-prompt-cta{margin-left:auto}}.src-badge{display:inline-block;padding:1px 7px;margin-left:6px;font-size:.7rem;font-weight:700;border-radius:4px;vertical-align:middle;line-height:1.5}.src-badge.presale{background:#e0f3f1;color:#1f6f66}.src-badge.completed{background:#fde6c8;color:#8a4a08}#developer-tab>section,#developer-tab>section>div,#developer-tab>section>div.developer-redesign-body,#developer-tab>section>div.workspace,#developer-tab>section>div.developer-redesign-body.workspace,#developer-tab>section>div>section{border:0!important;outline:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:none!important}#developer-tab>section:before,#developer-tab>section:after,#developer-tab>section>div:before,#developer-tab>section>div:after,#developer-tab>section>div>section:before,#developer-tab>section>div>section:after{content:none!important;box-shadow:none!important;filter:none!important}
