*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--bg-secondary:#111;--bg-card:#141414;--text:#f5f5f5;--text-secondary:#a0a0a0;--text-dim:#666;--accent:#c8a97e;--accent-light:#d4b896;--border:#ffffff14;--border-light:#ffffff1f;--benchmark:gold;--excellent:#c0392b;--normal:#666;--serif:"Noto Serif SC", "Songti SC", serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.6}#root{min-height:100vh}.site-header{z-index:1000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#0a0a0ae6;justify-content:space-between;align-items:center;height:64px;padding:0 48px;display:flex;position:fixed;top:0;left:0;right:0}.site-logo{font-family:var(--serif);color:#fc0;letter-spacing:1px;white-space:nowrap;font-size:20px;font-weight:700;text-decoration:none}.site-nav{gap:32px;display:flex}.site-nav a{color:var(--text-secondary);font-size:18px;font-weight:600;text-decoration:none;transition:color .3s}.site-nav a:hover,.site-nav a.active{color:var(--text)}.page{min-height:100vh;padding-top:64px}.hero{text-align:center;background:var(--bg);flex-direction:column;justify-content:flex-start;align-items:center;min-height:480px;padding:60px 20px 40px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;width:100%;height:auto;position:absolute;bottom:0;left:0}.hero:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0a0a0a47 0%,#0a0a0a6b 35%,#0a0a0aad 70%,#0a0a0ae0 100%);position:absolute;inset:0}.hero>:not(.hero-bg){z-index:2;position:relative}.hero-tag{border:1px solid var(--accent);color:var(--accent);letter-spacing:3px;margin-bottom:20px;padding:6px 20px;font-size:11px;display:inline-block}.hero-title{font-family:var(--serif);text-shadow:0 2px 12px #000000e6,0 1px 4px #000c;margin-bottom:12px;font-size:48px;font-weight:700;line-height:1.2}.hero-subtitle{color:#e0e0e0;text-shadow:0 1px 6px #000000e6,0 1px 3px #000000b3;max-width:500px;font-size:16px}.hero-desc{color:#d4d4d4;text-align:justify;text-align-last:center;text-shadow:0 1px 6px #000000e6,0 1px 3px #000000b3;max-width:860px;margin:20px auto 0;font-size:13px;font-weight:400;line-height:1.8}.section{max-width:1400px;margin:0 auto;padding:60px 48px}.section-header{text-align:center;margin-bottom:48px}.section-label{color:var(--accent);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px;font-size:11px}.section-title{font-family:var(--serif);margin-bottom:8px;font-size:32px;font-weight:700}.section-desc{color:var(--text-secondary);max-width:500px;margin:0 auto;font-size:14px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:12px;padding:28px;text-decoration:none;transition:all .3s;display:block}.card:hover{border-color:var(--border-light);transform:translateY(-4px)}.card-title{font-family:var(--serif);margin-bottom:8px;font-size:20px;font-weight:600}.card-meta{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.card-stats{gap:16px;display:flex}.stat-pill{border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;display:flex}.stat-pill.benchmark{color:var(--benchmark);background:#f5a62326}.stat-pill.excellent{color:var(--excellent);background:#c0392b26}.stat-pill.normal{color:var(--normal);background:#66666626}.card-grid.two-col{grid-template-columns:repeat(2,1fr)}.card-large{text-align:center;padding:48px 32px}.card-large .card-icon{margin-bottom:16px;font-size:48px}.card-large .card-title{margin-bottom:8px;font-size:22px}.card-large .card-meta{margin-bottom:0}.city-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.city-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;cursor:pointer;border-radius:10px;padding:20px 12px;transition:all .2s}.city-card:hover{border-color:var(--accent);transform:translateY(-2px)}.city-name{margin-bottom:4px;font-size:16px;font-weight:600}.city-count{color:var(--text-secondary);margin-bottom:8px;font-size:12px}.city-stats{justify-content:center;gap:8px;display:flex}.city-stat{font-size:11px}.city-stat.benchmark{color:var(--benchmark)}.city-stat.excellent{color:var(--excellent)}.city-stat.normal{color:var(--normal)}.dev-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:48px}.dev-name{font-family:var(--serif);margin-bottom:8px;font-size:36px;font-weight:700}.dev-strategy{color:var(--text-secondary);font-size:14px;line-height:1.8}.dev-strategy.benchmark{color:var(--benchmark);font-weight:700}.dev-strategy.excellent{color:var(--excellent);font-weight:700}.dev-strategy{max-width:900px}.line-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:24px}.line-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.line-name{font-family:var(--serif);font-size:20px;font-weight:600}.line-tier{text-transform:uppercase;letter-spacing:1px;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:500}.line-tier.benchmark{color:var(--benchmark);background:#f5a62326}.line-tier.excellent{color:var(--excellent);background:#c0392b26}.line-tier.normal{color:var(--normal);background:#66666626}.line-design{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.7}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.project-tag{cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:6px 14px;font-size:13px;text-decoration:none;transition:all .2s}.project-tag:hover{border-color:var(--accent);color:var(--accent)}.project-tag.benchmark{color:var(--benchmark);border-color:#f5a62366;font-weight:700}.project-tag.benchmark:hover{border-color:var(--benchmark);color:var(--benchmark)}.project-tag.excellent{border-color:#e74c3c66}.project-tag.normal{border-color:var(--border)}.project-tag.empty{color:var(--text-dim);cursor:default;border-style:dashed}.project-tag.empty:hover{border-color:var(--border);color:var(--text-dim)}.gallery-page{max-width:1400px;margin:0 auto;padding:48px}.gallery-header{margin-bottom:32px}.gallery-title-row{align-items:center;gap:16px;margin-bottom:8px;display:flex}.gallery-title{font-family:var(--serif);font-size:28px;font-weight:700}.project-tier-badge{letter-spacing:1px;border:2px solid;border-radius:6px;align-items:center;padding:4px 14px;font-size:13px;font-weight:700;display:inline-flex}.project-tier-badge.benchmark{color:var(--benchmark);border-color:var(--benchmark);background:#f5a62326}.project-tier-badge.excellent{color:var(--excellent);border-color:var(--excellent);background:#ffffff14}.project-tier-badge.normal{color:var(--normal);border-color:var(--normal);background:#ffffff0d}.gallery-meta{color:var(--text-secondary);font-size:14px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.gallery-img{aspect-ratio:4/3;object-fit:cover;background:var(--bg-secondary);border-radius:8px;width:100%;transition:transform .3s;display:block}.gallery-img:hover{transform:scale(1.02)}video.gallery-img{object-fit:contain;background:#1a1a1a}.lightbox-overlay{z-index:9999;cursor:zoom-out;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;cursor:default;border-radius:4px;max-width:92vw;max-height:88vh}.lightbox-hint{color:var(--text-dim);letter-spacing:1px;margin-top:16px;font-size:13px}.gallery-loading{text-align:center;color:var(--text-dim);padding:40px;font-size:14px}.breadcrumb{color:var(--text-dim);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:20px 48px;font-size:20px;display:flex}.breadcrumb a{color:var(--text-secondary);text-decoration:none}.breadcrumb a:hover{color:var(--accent)}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);text-align:center;color:var(--text-dim);padding:40px 48px;font-size:12px}@media (width<=768px){.site-header{padding:0 20px}.site-nav{display:none}.hero-title{font-size:32px}.section{padding:40px 20px}.card-grid{grid-template-columns:1fr}.dev-header,.gallery-page{padding:24px}.breadcrumb{padding:16px 20px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.5s ease-out fadeIn}
