:root{--color-bg:#f6f7f9;--color-surface:#fff;--color-border:#e4e7ec;--color-text:#1f2937;--color-text-muted:#6b7280;--color-primary:#2a5b8c;--color-primary-dark:#1c3f61;--color-accent-cost:#0f9d8c;--color-accent-school:#f59e0b;--color-accent-property:#3b82f6;--color-accent-utility:#6366f1;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 16px #10182814;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Roboto, sans-serif;--container-width:960px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.65}body>header,body>main{max-width:var(--container-width);margin:0 auto;padding:0 1.5rem}h1,h2,h3{color:var(--color-text);line-height:1.3}a{color:var(--color-primary)}a:hover{color:var(--color-primary-dark)}code{background:var(--color-border);border-radius:4px;padding:.1em .4em;font-size:.9em}body>header{padding:2rem 1.5rem 1.5rem}body>header .brand-link{color:var(--color-text-muted);margin-bottom:.75rem;font-weight:600;text-decoration:none;display:inline-block}body>header .brand-link:hover{color:var(--color-primary)}body>header h1{margin:0 0 .5rem;font-size:1.9rem}body>header p{color:var(--color-text-muted);max-width:46rem;margin:0}.hero{text-align:center;padding:2.5rem 1.5rem 1rem}.hero h1{margin:0 0 .75rem;font-size:2.25rem}.hero p{color:var(--color-text-muted);max-width:40rem;margin:0 auto;font-size:1.05rem}.hero-slogan{color:var(--color-primary-dark);margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.hero-stat{margin-top:.75rem;font-size:.875rem}.hero-nav{justify-content:center;gap:.75rem;margin-top:1.25rem;display:flex}.hero-nav-link{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:999px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none}.hero-nav-link:hover{background:color-mix(in srgb, var(--color-primary) 8%, white);color:var(--color-primary-dark)}.section-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;margin-left:.4rem;font-size:.75rem;font-weight:600}.section-desc{color:var(--color-text-muted);margin-top:-.5rem}.section-utility{background:color-mix(in srgb, var(--color-accent-utility) 4%, var(--color-surface))}main>section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.75rem}main>section>h2:first-child,main>section>h2{margin-top:0}.card-grid,.persona-grid,.scenario-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem;display:grid}.card,.persona-card,.scenario-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;transition:box-shadow .15s,transform .15s}a.card{color:inherit;text-decoration:none;display:block}.card:hover,.persona-card:hover,.scenario-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card h3,.persona-card h3,.scenario-card h3{margin-top:0;margin-bottom:.5rem}.card p,.persona-card p,.scenario-card p{color:var(--color-text-muted);margin:0 0 .75rem}.tool-icon{border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:.75rem;font-size:1.5rem;display:flex}.tool-icon.accent-cost{background:color-mix(in srgb, var(--color-accent-cost) 15%, white)}.tool-icon.accent-school{background:color-mix(in srgb, var(--color-accent-school) 18%, white)}.tool-icon.accent-property{background:color-mix(in srgb, var(--color-accent-property) 15%, white)}.tool-icon.accent-utility{background:color-mix(in srgb, var(--color-accent-utility) 15%, white)}.card-disabled{cursor:default}.card-disabled:hover{box-shadow:var(--shadow-sm);transform:none}.badge-soon{color:var(--color-text-muted);background:var(--color-border);vertical-align:middle;border-radius:999px;margin-left:.4rem;padding:.15rem .55rem;font-size:.7rem;font-weight:600;display:inline-block}.range{color:var(--color-primary-dark);font-size:1.05rem;font-weight:700}.caveat{color:var(--color-text-muted);font-size:.875em}.note{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);padding:1rem 1.25rem;font-size:.925rem}form{flex-direction:column;gap:.9rem;max-width:28rem;display:flex}form div{flex-direction:column;gap:.3rem;display:flex}form label{font-size:.9rem;font-weight:600}form label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:.5rem;font-weight:500}input,select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:.55rem .7rem}input[type=checkbox]{width:1.1rem;height:1.1rem;padding:0}button{font:inherit;cursor:pointer;border-radius:var(--radius-md);border:1px solid #0000;align-self:flex-start;padding:.6rem 1.1rem;font-weight:600}button[type=submit]{background:var(--color-primary);color:#fff}button[type=submit]:hover{background:var(--color-primary-dark)}.scenario-select{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);padding:.45rem .85rem;font-size:.9rem}.scenario-select:hover{background:color-mix(in srgb, var(--color-primary) 8%, white)}table{border-collapse:collapse;width:100%;margin:1rem 0}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:.55rem .75rem}th{color:var(--color-text-muted);font-size:.875rem;font-weight:600}tbody tr:hover{background:var(--color-bg)}details{border-bottom:1px solid var(--color-border);padding:.75rem 0}details:last-of-type{border-bottom:none}summary{cursor:pointer;font-weight:600}details p{color:var(--color-text-muted);margin:.6rem 0 0}.interpretation{border-top:1px dashed var(--color-border);margin-top:1.25rem;padding-top:1rem}.interpretation p{color:var(--color-text-muted)}
