:root{
  --navy-950:#06121f;
  --navy-900:#0A1A2F; /* Blueprint Navy, brand */
  --navy-850:#0b2238;
  --navy-800:#102942;
  --lime:#C8FF00; /* Electric Lime, brand */
  --lime-2:#dcff5c;
  --white:#ffffff;
  --ice:#f4f8fb;
  --muted:#9db0c1;
  --line:rgba(255,255,255,.12);
  --cyan:#70d8ff;
  --amber:#ffc95c;
  --danger:#ff7b7b;
  --shadow:0 24px 70px rgba(0,0,0,.28);
  --radius-xl:28px;
  --radius-lg:20px;
  --radius-md:14px;
}
*{box-sizing:border-box}
html{background:var(--navy-950);color-scheme:dark}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:
 radial-gradient(circle at 15% 5%,rgba(112,216,255,.08),transparent 34%),
 radial-gradient(circle at 85% 10%,rgba(200,255,0,.07),transparent 30%),
 var(--navy-950);color:var(--white);min-height:100vh}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);background:rgba(4,18,31,.78);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}
.brand-area{display:flex;align-items:center;gap:16px;min-width:0}
.logo-placeholder{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:800;letter-spacing:.08em;font-size:.82rem}
.official-logo-slot{display:flex;align-items:center;min-height:36px;text-decoration:none}
.brand-divider{width:1px;height:26px;background:var(--line)}
.game-title-mini{font-size:.78rem;letter-spacing:.16em;color:var(--lime);font-weight:700;white-space:nowrap}
.top-actions{display:flex;gap:10px}
.icon-button,.ghost-button{border:1px solid var(--line);background:transparent;color:var(--white);border-radius:999px;padding:9px 14px;font-weight:700}
.icon-button{width:40px;height:40px;padding:0}
.ghost-button:hover,.icon-button:hover{border-color:rgba(200,255,0,.6);color:var(--lime)}
#screen{width:100%;flex:1}
.legal-footer{padding:18px 28px;color:#6f879b;font-size:.72rem;text-align:center;border-top:1px solid rgba(255,255,255,.06)}
.hero{min-height:calc(100vh - 122px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding:72px clamp(28px,6vw,96px);overflow:hidden;position:relative}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(112,216,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(112,216,255,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to right,#000,transparent 67%)}
.eyebrow{color:var(--lime);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:800;margin-bottom:18px}
h1,h2,.display{font-family:"Playfair Display",Georgia,"Times New Roman",serif;margin:0;line-height:1.02;letter-spacing:-.02em;font-weight:800}
h3{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;line-height:1.05;letter-spacing:-.02em}
.hero h1{font-size:clamp(3.1rem,6.4vw,6.8rem);max-width:820px}
.hero h1 span{color:var(--lime)}
.hero-copy{position:relative;z-index:1}
.hero-copy p{font-size:clamp(1.03rem,1.3vw,1.25rem);line-height:1.65;color:#c0cfda;max-width:690px;margin:28px 0 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.primary-button,.secondary-button,.choice-button{border-radius:999px;padding:15px 21px;font-weight:800;letter-spacing:.02em;transition:.18s ease}
.primary-button{background:var(--lime);color:var(--navy-950);border:1px solid var(--lime);box-shadow:0 0 0 0 rgba(200,255,0,.25)}
.primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(200,255,0,.16)}
.secondary-button{background:rgba(255,255,255,.04);color:white;border:1px solid var(--line)}
.secondary-button:hover{border-color:rgba(255,255,255,.3);transform:translateY(-2px)}
.hero-board{position:relative;height:min(620px,70vh);min-height:460px;z-index:1}
.blueprint-frame{position:absolute;inset:6% 4%;border:1px solid rgba(112,216,255,.22);border-radius:36px;background:linear-gradient(135deg,rgba(112,216,255,.06),rgba(255,255,255,.02));overflow:hidden;box-shadow:var(--shadow)}
.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(112,216,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(112,216,255,.09) 1px,transparent 1px);background-size:28px 28px}
.house-scene{position:absolute;left:8%;right:8%;bottom:7%;height:68%}
.main-house{position:absolute;left:4%;bottom:7%;width:45%;height:48%;background:linear-gradient(165deg,#f7fbff,#b8c7d2);clip-path:polygon(0 25%,50% 0,100% 25%,100% 100%,0 100%);filter:drop-shadow(0 22px 24px rgba(0,0,0,.27))}
.main-house::after{content:"";position:absolute;width:22%;height:46%;left:38%;bottom:0;background:#486072;border:4px solid #eef5f7}
.adu-ghost{position:absolute;right:5%;bottom:7%;width:35%;height:40%;border:2px solid var(--cyan);clip-path:polygon(0 27%,50% 0,100% 27%,100% 100%,0 100%);background:repeating-linear-gradient(0deg,rgba(112,216,255,.10),rgba(112,216,255,.10) 1px,transparent 1px,transparent 14px);box-shadow:0 0 40px rgba(112,216,255,.14);animation:pulseBlueprint 3s infinite ease-in-out}
.adu-ghost::after{content:"POSSIBILITY";position:absolute;inset:44% 0 auto;text-align:center;color:var(--lime);font-size:.7rem;letter-spacing:.16em;font-weight:800}
.ground{position:absolute;left:1%;right:1%;bottom:4%;height:5px;background:linear-gradient(90deg,transparent,var(--lime),var(--cyan),transparent);opacity:.75}
.float-card{position:absolute;background:rgba(6,24,39,.89);border:1px solid var(--line);padding:14px 16px;border-radius:16px;backdrop-filter:blur(12px);box-shadow:0 15px 35px rgba(0,0,0,.22)}
.float-card strong{display:block;color:var(--lime);font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}
.float-card span{font-weight:700}
.float-one{right:1%;top:7%}.float-two{left:0;bottom:9%}.float-three{right:0;bottom:18%}
@keyframes pulseBlueprint{0%,100%{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
.section-shell{max-width:1440px;margin:0 auto;padding:46px clamp(20px,4vw,64px) 80px}
.screen-head{display:flex;gap:30px;align-items:flex-end;justify-content:space-between;margin-bottom:28px}
.screen-head h2{font-size:clamp(2.4rem,4vw,4.3rem)}
.screen-head p{max-width:610px;color:#aabcca;line-height:1.6;margin:0}
.progress-shell{display:flex;align-items:center;gap:10px;margin:20px 0 34px;overflow:auto;padding-bottom:5px}
.progress-node{white-space:nowrap;display:flex;gap:8px;align-items:center;color:#6f879b;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.progress-node.active{color:var(--lime)}
.progress-node.done{color:#d7e3eb}
.progress-dot{width:8px;height:8px;border-radius:99px;background:currentColor}
.progress-line{width:34px;height:1px;background:var(--line);flex:0 0 auto}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.scenario-card,.property-card,.adu-card{border:1px solid var(--line);background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border-radius:var(--radius-lg);padding:22px;min-height:250px;position:relative;overflow:hidden;transition:.2s ease;text-align:left;color:white}
.scenario-card:hover,.property-card:hover,.adu-card:hover{transform:translateY(-4px);border-color:rgba(200,255,0,.48);background:linear-gradient(150deg,rgba(200,255,0,.08),rgba(255,255,255,.025))}
.card-icon{font-size:2rem;margin-bottom:28px}.scenario-card h3,.property-card h3,.adu-card h3{font-size:1.48rem;line-height:1.1;margin-bottom:10px;letter-spacing:-.03em}.scenario-card p,.property-card p,.adu-card p{color:#9fb2c2;line-height:1.5;margin:0 0 18px}.pill-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.pill{font-size:.7rem;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:#bfd0dc}.card-number{position:absolute;right:14px;top:10px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:4.6rem;font-weight:800;color:rgba(255,255,255,.028);line-height:1}.selected-card{border-color:var(--lime)!important;box-shadow:0 0 0 1px rgba(200,255,0,.2) inset}
.game-layout{display:grid;grid-template-columns:1fr 330px;gap:22px;align-items:start}
.metrics-panel{position:sticky;top:94px;border:1px solid var(--line);background:rgba(7,27,45,.86);border-radius:var(--radius-lg);padding:19px;backdrop-filter:blur(18px)}
.metrics-panel h3{font-size:1rem;letter-spacing:.02em;margin-bottom:17px}.metric{margin-bottom:16px}.metric-top{display:flex;justify-content:space-between;font-size:.75rem;font-weight:700;margin-bottom:7px}.metric-bar{height:7px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}.metric-fill{height:100%;border-radius:9px;background:linear-gradient(90deg,var(--lime),var(--cyan));transition:.4s ease}.budget-box{margin-top:20px;border-top:1px solid var(--line);padding-top:17px}.budget-label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.budget-value{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.7rem;font-weight:800;margin-top:4px}.town-map{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:78px;gap:9px;background:linear-gradient(145deg,#0a2339,#061727);padding:15px;border:1px solid var(--line);border-radius:28px;min-height:620px;position:relative;overflow:hidden}
.town-map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(112,216,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(112,216,255,.035) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.district{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:18px;padding:14px;position:relative;z-index:1;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:.2s}.district:hover{border-color:rgba(200,255,0,.4);transform:translateY(-2px)}.district strong{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.9rem}.district span{font-size:.7rem;color:#9eb2c3;margin-top:3px}.district.active{background:linear-gradient(145deg,rgba(200,255,0,.14),rgba(112,216,255,.07));border-color:rgba(200,255,0,.5)}.d-property{grid-column:1/6;grid-row:1/4}.d-townhall{grid-column:6/9;grid-row:1/3}.d-bank{grid-column:9/13;grid-row:1/4}.d-design{grid-column:1/4;grid-row:4/7}.d-team{grid-column:4/8;grid-row:3/6}.d-build{grid-column:8/13;grid-row:4/8}.d-courthouse{grid-column:4/8;grid-row:6/8}.d-university{grid-column:1/4;grid-row:7/9}.d-aging{grid-column:8/11;grid-row:8/10}.d-accessories{grid-column:11/13;grid-row:8/10}.town-road{position:absolute;left:0;right:0;top:47%;height:26px;background:linear-gradient(90deg,transparent 0 4%,rgba(255,255,255,.055) 4% 96%,transparent 96%);transform:rotate(-5deg);z-index:0}
.decision-stack{display:grid;gap:14px}.decision-card{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.035);padding:22px}.decision-card.revealed{border-color:rgba(112,216,255,.35)}.decision-title{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.decision-title h3{font-size:1.16rem;line-height:1.2}.risk-chip{font-size:.68rem;border:1px solid rgba(255,201,92,.34);color:var(--amber);border-radius:999px;padding:5px 8px;white-space:nowrap}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.choice-button{background:rgba(255,255,255,.035);color:white;border:1px solid var(--line);border-radius:14px;text-align:left;padding:15px}.choice-button:hover{border-color:rgba(200,255,0,.45)}.choice-button strong{display:block;color:var(--lime);font-size:.75rem;margin-bottom:4px}.result-panel{margin-top:14px;border-radius:14px;background:rgba(112,216,255,.06);padding:14px 15px;border:1px solid rgba(112,216,255,.15);color:#c8d7e2;line-height:1.5;font-size:.9rem}.lesson{margin-top:10px;color:var(--lime);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.adu-card{min-height:310px}.adu-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}.adu-meta div{border:1px solid var(--line);border-radius:12px;padding:9px}.adu-meta span{display:block;font-size:.64rem;color:#7f96a9;text-transform:uppercase;letter-spacing:.07em}.adu-meta strong{font-size:.8rem}.next-bar{position:sticky;bottom:16px;margin-top:24px;border:1px solid rgba(255,255,255,.12);background:rgba(4,18,31,.9);backdrop-filter:blur(18px);border-radius:18px;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;gap:14px;box-shadow:0 20px 50px rgba(0,0,0,.28)}.next-bar p{margin:0;color:#9fb2c1;font-size:.85rem}.project-pulse{border:1px solid rgba(200,255,0,.28);background:radial-gradient(circle at 50% 50%,rgba(200,255,0,.09),rgba(255,255,255,.02));border-radius:24px;padding:24px;text-align:center}.pulse-orbit{width:160px;height:160px;margin:8px auto 20px;border-radius:50%;border:1px solid rgba(112,216,255,.32);display:grid;place-items:center;position:relative;box-shadow:0 0 60px rgba(112,216,255,.08) inset}.pulse-orbit::before,.pulse-orbit::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(200,255,0,.32);animation:spin 8s linear infinite}.pulse-orbit::before{inset:13px}.pulse-orbit::after{inset:29px;animation-direction:reverse;animation-duration:5s}.pulse-key{font-size:2.3rem;z-index:2}.project-pulse h3{font-size:1.5rem}.project-pulse p{color:#a8bac7;max-width:620px;margin:10px auto 18px;line-height:1.55}@keyframes spin{to{transform:rotate(360deg)}}
.summary-panel{border:1px solid var(--line);border-radius:24px;padding:26px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}.summary-kicker{color:var(--lime);font-size:.75rem;letter-spacing:.15em;font-weight:800}.summary-panel h2{font-size:clamp(2.3rem,5vw,5.2rem);margin:10px 0 16px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.summary-stat{padding:14px;border:1px solid var(--line);border-radius:14px}.summary-stat span{display:block;color:#8299aa;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}.summary-stat strong{display:block;margin-top:6px;font-size:1.02rem}.blueprint-strip{height:220px;margin:24px 0;border-radius:22px;border:1px solid rgba(112,216,255,.22);background:linear-gradient(135deg,rgba(112,216,255,.07),rgba(255,255,255,.01)),repeating-linear-gradient(0deg,transparent,transparent 24px,rgba(112,216,255,.08) 25px),repeating-linear-gradient(90deg,transparent,transparent 24px,rgba(112,216,255,.08) 25px);position:relative;overflow:hidden}.blueprint-strip::before{content:"ADU SELECTED";position:absolute;left:24px;top:20px;color:var(--lime);font-size:.72rem;letter-spacing:.15em;font-weight:800}.blueprint-house{position:absolute;width:34%;height:55%;left:33%;bottom:17%;border:2px solid var(--cyan);clip-path:polygon(0 27%,50% 0,100% 27%,100% 100%,0 100%);background:rgba(112,216,255,.06)}
.toast{position:fixed;right:20px;bottom:20px;padding:12px 15px;border:1px solid var(--line);background:#0b2238;color:white;border-radius:12px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:99}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.hero{grid-template-columns:1fr;padding-top:50px}.hero-board{height:480px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-layout{grid-template-columns:1fr}.metrics-panel{position:relative;top:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metrics-panel h3,.budget-box{grid-column:1/-1}.metric{margin:0}.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.topbar{height:66px;padding:0 16px}.brand-divider,.game-title-mini{display:none}.logo-placeholder{font-size:.72rem}.hero{padding:40px 18px 52px;gap:18px}.hero h1{font-size:3.5rem}.hero-board{height:370px;min-height:0}.float-card{font-size:.74rem;padding:10px}.section-shell{padding:30px 16px 65px}.screen-head{display:block}.screen-head p{margin-top:14px}.card-grid{grid-template-columns:1fr}.town-map{grid-auto-rows:68px;min-height:540px}.d-property{grid-column:1/8}.d-townhall{grid-column:8/13}.d-bank{grid-column:8/13;grid-row:3/5}.d-design{grid-column:1/6;grid-row:4/6}.d-team{grid-column:6/13;grid-row:5/7}.d-build{grid-column:1/8;grid-row:6/9}.d-courthouse{grid-column:8/13;grid-row:7/9}.d-university{grid-column:1/5;grid-row:9/11}.d-aging{grid-column:5/9;grid-row:9/11}.d-accessories{grid-column:9/13;grid-row:9/11}.choice-row{grid-template-columns:1fr}.metrics-panel{grid-template-columns:1fr}.metrics-panel h3,.budget-box{grid-column:auto}.summary-grid{grid-template-columns:1fr 1fr}.next-bar{bottom:8px;align-items:stretch;flex-direction:column}.next-bar .primary-button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.official-logo{display:block;width:142px;height:48px;object-fit:contain;background:white;border-radius:8px;padding:3px 7px}.design-studio{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.plan-canvas{min-height:560px;border:1px solid rgba(112,216,255,.25);border-radius:24px;position:relative;overflow:hidden;background:#082139}.plan-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(112,216,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(112,216,255,.07) 1px,transparent 1px);background-size:24px 24px}.plan-shape{position:absolute;inset:16% 12%;border:2px solid rgba(112,216,255,.35);display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:1fr 1fr;opacity:.35;transition:.3s}.plan-shape.active{opacity:1;box-shadow:0 0 60px rgba(112,216,255,.08)}.plan-shape>span{position:absolute;right:10px;top:-28px;color:var(--lime);font-weight:800}.room{border:1px solid var(--cyan);display:grid;place-items:center;color:#aee9ff;font-size:.7rem;letter-spacing:.12em}.r1{grid-row:1/3}.blueprint-label{position:absolute;left:18px;bottom:16px;color:var(--lime);font-size:.72rem;letter-spacing:.12em;font-weight:800}.design-controls{border:1px solid var(--line);border-radius:24px;padding:18px;background:rgba(255,255,255,.025)}.design-controls h3{font-size:.78rem;letter-spacing:.12em;color:#9db0c0}.select-row{width:100%;display:flex;flex-direction:column;gap:4px;text-align:left;background:transparent;color:white;border:1px solid var(--line);border-radius:14px;padding:13px;margin-top:9px}.select-row:hover,.select-row.selected{border-color:var(--lime);background:rgba(200,255,0,.06)}.select-row span,.select-row small{color:#91a6b6}.upgrade-row{display:flex;gap:11px;align-items:center;border-bottom:1px solid var(--line);padding:12px 3px}.upgrade-row span{display:flex;flex-direction:column}.upgrade-row small{color:#8299aa}.townhall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rule-card,.finance-card,.bid-card{border:1px solid var(--line);border-radius:20px;padding:20px;background:rgba(255,255,255,.03);color:white;text-align:left}.rule-card h3,.finance-card h3,.bid-card h3{font-size:1.3rem;margin:8px 0}.rule-card p,.finance-card p,.bid-card p{color:#96aabb;line-height:1.45}.rule-list,.finance-numbers,.bid-bars{display:grid;gap:7px;margin-top:15px}.rule-list span,.finance-numbers span,.bid-bars span{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:7px;font-size:.78rem;color:#91a7b8}.permit-result{margin-top:15px;padding:9px;border-radius:10px;font-size:.7rem;font-weight:900;letter-spacing:.08em}.pass{color:var(--lime);background:rgba(200,255,0,.07)}.warn{color:var(--amber);background:rgba(255,201,92,.07)}.outcome-banner{margin-top:18px;border:1px solid currentColor;border-radius:20px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.outcome-banner p{color:#a4b6c3;max-width:650px}.vault{border:1px solid var(--line);border-radius:26px;padding:22px;background:radial-gradient(circle at 15% 20%,rgba(200,255,0,.08),transparent 30%),#071c2f}.vault-door{border:1px solid rgba(200,255,0,.3);border-radius:999px;width:210px;height:210px;margin:0 auto 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:3rem;font-weight:900;box-shadow:inset 0 0 0 12px rgba(255,255,255,.025),0 0 50px rgba(200,255,0,.06)}.vault-door span{font-size:1.25rem;color:var(--lime)}.vault-door small{font-size:.55rem;color:#8299aa;letter-spacing:.1em;margin-top:5px}.finance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.roi-panel{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border:1px solid var(--line);padding:18px;border-radius:20px}.roi-panel div{padding:12px;background:rgba(255,255,255,.025);border-radius:12px}.roi-panel span{display:block;color:#849aaa;font-size:.67rem;text-transform:uppercase}.roi-panel strong{display:block;margin-top:6px}.roi-panel p,.roi-panel button{grid-column:1/-1}.roi-panel p{font-size:.65rem;color:#8397a7}.positive{color:var(--lime)}.negative{color:#ff8b78}.bid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bid-price{font-size:1.65rem;font-weight:900;color:var(--lime)}.construction-scene{height:370px;border:1px solid rgba(112,216,255,.22);border-radius:24px;position:relative;overflow:hidden;background:linear-gradient(#0a2941 0 60%,#122f2d 60%)}.build-house{position:absolute;width:55%;height:60%;left:22%;bottom:13%;clip-path:polygon(0 30%,50% 0,100% 30%,100% 100%,0 100%);background:rgba(112,216,255,.08);border:2px solid var(--cyan)}.build-house .built{position:absolute;inset:0;background:linear-gradient(135deg,#f2eee6,#a8b6bf);clip-path:inset(calc(100% - var(--build)) 0 0 0);transition:.5s}.build-house .wire{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 48px,rgba(112,216,255,.55) 49px 51px),repeating-linear-gradient(0deg,transparent 0 48px,rgba(112,216,255,.45) 49px 51px)}.build-status{position:absolute;right:20px;top:20px;display:flex;flex-direction:column;text-align:right}.build-status strong{font-size:3rem;color:var(--lime)}.build-status span{color:#a8bac8}.construction-ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.construction-ledger div{border:1px solid var(--line);padding:13px;border-radius:13px}.construction-ledger span{display:block;color:#8298a9;font-size:.68rem;text-transform:uppercase}.event-card{border-left:3px solid var(--lime);background:rgba(255,255,255,.035);padding:15px 18px;margin:10px 0;border-radius:0 14px 14px 0}.event-card p{color:#9db0be}.key-screen{min-height:80vh;display:grid;place-items:center}.keys-cinematic{text-align:center;max-width:850px}.key-glow{font-size:6rem;filter:drop-shadow(0 0 30px rgba(200,255,0,.5))}.keys-cinematic h2{font-size:clamp(4rem,10vw,9rem);line-height:.8}.keys-cinematic p{font-size:1.25rem;color:#9fb2c1}.knowledge-keys{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0}.knowledge-keys span{border:1px solid rgba(200,255,0,.3);border-radius:999px;padding:8px 11px;color:var(--lime);font-size:.72rem}.timeline{max-width:900px;margin:30px auto}.timeline article{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.year{color:var(--lime);font-weight:900;letter-spacing:.12em}.timeline h3{font-size:1.6rem}.timeline p{color:#9fb2c1;line-height:1.6}.final-card{max-width:1050px;margin:20px auto;border:1px solid rgba(200,255,0,.28);border-radius:30px;padding:clamp(24px,5vw,55px);background:radial-gradient(circle at 80% 10%,rgba(200,255,0,.08),transparent 35%),rgba(255,255,255,.025)}.final-card>img{width:210px;background:white;border-radius:12px;padding:5px;margin-bottom:30px}.final-card h2{font-size:clamp(4rem,8vw,8rem);line-height:.82;margin:14px 0 30px}.final-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.final-grid div{border:1px solid var(--line);border-radius:14px;padding:15px}.final-grid span{display:block;color:#8197a8;font-size:.68rem;text-transform:uppercase}.final-grid strong{display:block;margin-top:5px}.final-note{color:#a6b7c3;line-height:1.6;max-width:800px;margin:24px 0}
@media(max-width:900px){.design-studio,.townhall-grid,.bid-grid{grid-template-columns:1fr}.finance-grid{grid-template-columns:1fr}.roi-panel{grid-template-columns:1fr 1fr}.construction-ledger,.final-grid{grid-template-columns:1fr 1fr}.official-logo{width:118px;height:42px}}
@media(max-width:600px){.plan-canvas{min-height:400px}.roi-panel,.construction-ledger,.final-grid{grid-template-columns:1fr}.outcome-banner{align-items:stretch;flex-direction:column}.timeline article{grid-template-columns:1fr;gap:7px}.official-logo{width:104px;height:38px}.final-card h2{font-size:3.5rem}}
/* Serious engineering pass */
.drag-room{position:absolute;width:34%;height:30%;border:2px solid var(--cyan);background:rgba(5,35,57,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d9f7ff;touch-action:none;cursor:grab;user-select:none;box-shadow:0 0 24px rgba(112,216,255,.08)}.drag-room:active{cursor:grabbing;border-color:var(--lime)}.drag-room small{color:var(--lime);font-size:.55rem;letter-spacing:.15em;margin-top:5px}.drag-room.kitchen,.drag-room.bath{width:28%}.empty-plan{position:absolute;inset:0;display:grid;place-items:center;color:#718a9c;letter-spacing:.14em;font-weight:800}.config-block,.slider-grid{display:grid;gap:14px;margin:18px 0}.config-block label,.slider-grid label{display:grid;grid-template-columns:1fr auto;gap:8px;color:#91a8b8;font-size:.72rem;letter-spacing:.08em}.config-block input,.slider-grid input{grid-column:1/-1;width:100%;accent-color:var(--lime)}.design-impact{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.design-impact span{border:1px solid var(--line);padding:12px;border-radius:12px;color:#8298a9;font-size:.68rem}.design-impact b{display:block;color:white;margin-top:5px;font-size:.88rem}.rule-engine,.finance-lab,.risk-board{margin-top:18px;border:1px solid var(--line);border-radius:22px;padding:18px;background:rgba(255,255,255,.025)}.rule-engine-head{display:flex;justify-content:space-between;align-items:center}.rule-score{font-size:2rem;font-weight:900;color:var(--lime)}.rule-check{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:13px 0}.rule-check div{display:flex;flex-direction:column}.rule-check small{color:#8298a9;margin-top:4px}.rule-check.ok strong{color:var(--lime)}.rule-check.fail strong{color:var(--amber)}.mini-button{border:1px solid var(--line);background:transparent;color:white;border-radius:8px;padding:7px 9px;font-size:.62rem;font-weight:800}.legal-mini{color:#758c9d;font-size:.65rem;line-height:1.5}.outcome-actions{margin-top:15px}.slider-grid{grid-template-columns:repeat(2,1fr)}.sensitivity-table{margin:16px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.sensitivity-table>div{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:8px;padding:10px 12px;border-top:1px solid var(--line);font-size:.76rem}.sensitivity-table .sens-head{border-top:0;background:rgba(255,255,255,.04);color:#8298a9;text-transform:uppercase;font-size:.62rem}.bid-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bid-doc{border:1px solid var(--line);border-radius:20px;padding:18px;background:rgba(255,255,255,.025)}.bid-doc-top{display:flex;justify-content:space-between;color:#8298a9;font-size:.65rem}.bid-doc-top b{color:var(--lime);font-size:1.1rem}.bid-details{margin:12px 0;padding:10px;border:1px dashed #466177;border-radius:10px;font-size:.72rem}.included{color:#bfe5c3;padding:5px 0}.excluded{color:#ffb08f;padding:5px 0}.allowance{color:#a8bac8;border-top:1px solid var(--line);padding-top:8px;margin-top:6px}.inspect-bid,.choose-team{width:100%;margin-top:10px}.risk-board>div{display:grid;grid-template-columns:1fr auto;gap:4px;padding:9px 0;border-top:1px solid var(--line)}.risk-board>div span{font-weight:800}.risk-board>div b{color:var(--amber);font-size:.68rem}.risk-board>div small{grid-column:1/-1;color:#8298a9}.event-card small{display:block;color:#718a9c;margin:7px 0}.selected-card{border-color:var(--lime)!important;box-shadow:0 0 0 1px rgba(200,255,0,.15)}
@media(max-width:900px){.design-impact,.bid-compare{grid-template-columns:1fr 1fr}.slider-grid{grid-template-columns:1fr}}
@media(max-width:620px){.design-impact,.bid-compare{grid-template-columns:1fr}.sensitivity-table>div{grid-template-columns:1fr 1fr}.sensitivity-table>div span:nth-child(3){display:none}}
/* V4 production-foundation systems */
.plan-wall{position:absolute;background:#70d8ff;opacity:.7}.wall-v{left:49%;top:8%;width:2px;height:84%}.wall-h{left:6%;top:50%;width:88%;height:2px}.plan-door{position:absolute;color:var(--lime);font-size:1.6rem}.door-a{left:45%;top:38%}.door-b{left:55%;top:52%}.plan-window{position:absolute;background:var(--lime);box-shadow:0 0 10px rgba(200,255,0,.35)}.win-a{width:18%;height:4px;top:2%;left:16%}.win-b{width:4px;height:22%;right:2%;top:20%}.site-plan-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:20px;margin:20px 0;border:1px solid var(--line);padding:20px;border-radius:22px;background:rgba(255,255,255,.02)}.site-plan-wrap p{color:#8fa5b6;line-height:1.5}.parcel-plan{height:330px;position:relative;border:2px solid #6d8495;background:repeating-linear-gradient(0deg,rgba(112,216,255,.05) 0 1px,transparent 1px 25px),repeating-linear-gradient(90deg,rgba(112,216,255,.05) 0 1px,transparent 1px 25px),#0b2637;overflow:hidden}.setback-envelope{position:absolute;inset:12%;border:2px dashed var(--lime)}.main-house-site{position:absolute;left:18%;top:22%;width:30%;height:42%;display:grid;place-items:center;text-align:center;background:#e8edf0;color:#09213a;font-weight:900;clip-path:polygon(0 18%,50% 0,100% 18%,100% 100%,0 100%)}.site-drive{position:absolute;left:3%;bottom:0;width:15%;height:100%;background:rgba(255,255,255,.08)}.site-adu{position:absolute;width:19%;height:22%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(200,255,0,.18);border:2px solid var(--lime);color:white;font-size:.62rem;font-weight:900;cursor:grab;touch-action:none}.site-adu small{color:var(--lime)}.lot-label{position:absolute;right:8px;bottom:5px;color:#738b9c;font-size:.55rem}.finance-chart{margin:18px 0;border:1px solid var(--line);border-radius:16px;padding:14px;background:#061b2b}.chart-title{display:flex;justify-content:space-between;color:#8298a9;font-size:.7rem}.chart-title strong{color:white}.finance-chart svg{width:100%;height:auto}.axis{stroke:#456174;stroke-width:1}.chart-line{fill:none;stroke:#c8ff43;stroke-width:3}.chart-dot{fill:#70d8ff;stroke:#061b2b;stroke-width:2}.finance-chart text{fill:#8fa5b6;font-size:10px}.proposal-book{margin:12px 0;border:1px solid #466177;background:#f5f2e9;color:#142435;border-radius:6px;min-height:260px;box-shadow:0 12px 30px rgba(0,0,0,.22)}.proposal-tabs{display:flex;background:#dfe5e6}.proposal-tabs button{flex:1;border:0;border-right:1px solid #bdc7ca;padding:8px;font-size:.55rem;font-weight:900;background:transparent;color:#173047}.proposal-page{padding:20px;min-height:210px}.proposal-page>b{font-size:.62rem;letter-spacing:.12em;color:#567}.proposal-page h4{font-size:1.2rem;margin:18px 0 8px}.proposal-page p{color:#43515c}.proposal-page .included{color:#245e38}.proposal-page .excluded{color:#8d352b}.proposal-page .allowance{color:#4a5965;border-color:#c8d0d2}.site-context{position:absolute;inset:0}.construction-main-house{position:absolute;left:5%;bottom:12%;width:23%;height:45%;display:grid;place-items:center;background:#274459;color:#91a9b9;font-size:.55rem;font-weight:900;clip-path:polygon(0 22%,50% 0,100% 22%,100% 100%,0 100%)}.construction-path{position:absolute;left:27%;bottom:0;width:10%;height:45%;background:rgba(255,255,255,.06);transform:skew(-15deg)}.build-window{position:absolute;background:#8ce8ff;border:2px solid #fff;z-index:4}.bw1{left:18%;top:48%;width:18%;height:18%}.bw2{right:18%;top:48%;width:18%;height:18%}.build-door{position:absolute;left:45%;bottom:0;width:14%;height:35%;background:#123c57;border:2px solid #fff;z-index:4}.roof-line{position:absolute;left:5%;right:5%;top:30%;border-top:4px solid #173348;z-index:4}.stage-machinery{position:absolute;left:18px;top:18px;color:var(--lime);font-size:.65rem;font-weight:900;letter-spacing:.08em}.adu-garage .build-house,.adu-basement .build-house{left:31%;width:45%}.adu-addition .build-house{left:27%;width:48%}.adu-abovegarage .build-house{height:70%;bottom:8%}
@media(max-width:900px){.site-plan-wrap{grid-template-columns:1fr}.parcel-plan{height:280px}.proposal-tabs{flex-wrap:wrap}}
/* V5 TRUE GEOMETRY ENGINE */
.geometry-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.geometry-toolbar label{min-width:170px;display:grid;gap:4px;color:#8fa5b6;font-size:.62rem;letter-spacing:.08em}.geometry-toolbar b{color:white}.geometry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.geo-plan,.geo-parcel{position:relative;height:500px;border:1px solid rgba(112,216,255,.35);border-radius:18px;overflow:hidden;background:repeating-linear-gradient(0deg,rgba(112,216,255,.08) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,rgba(112,216,255,.08) 0 1px,transparent 1px 24px),#071f32}.geo-room{position:absolute;border:2px solid #70d8ff;background:rgba(112,216,255,.10);padding:8px;touch-action:none;cursor:grab;box-sizing:border-box;min-width:28px;min-height:28px}.geo-room b{font-size:.65rem}.geo-room small{display:block;color:#91a9ba;font-size:.55rem;margin-top:4px}.resize-handle{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;background:var(--lime);border:2px solid #071f32;border-radius:50%;cursor:nwse-resize}.geo-opening{position:absolute;z-index:5;border:1px solid var(--lime);background:#071f32;color:var(--lime);width:25px;height:25px;border-radius:50%;font-size:.6rem;font-weight:900}.geo-shell-label,.parcel-dims{position:absolute;right:8px;bottom:6px;color:#7790a2;font-size:.55rem}.geometry-readout{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.geometry-readout span{border:1px solid var(--line);border-radius:10px;padding:9px;color:#8097a8;font-size:.58rem}.geometry-readout b{display:block;color:white;margin-top:4px}.geo-setback{position:absolute;border:2px dashed var(--lime);pointer-events:none}.geo-house{position:absolute;display:grid;place-items:center;background:#e7edf0;color:#09213a;font-weight:900;font-size:.65rem;z-index:2;clip-path:polygon(0 18%,50% 0,100% 18%,100% 100%,0 100%)}.geo-adu{position:absolute;display:grid;place-items:center;text-align:center;border:2px solid var(--lime);background:rgba(200,255,0,.18);z-index:4;cursor:grab;touch-action:none}.geo-adu.bad{border-color:#ff7e6e;background:rgba(255,126,110,.17)}.geo-adu b{font-size:.75rem}.geo-adu small{font-size:.5rem}.geo-routes{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.drive-route{fill:none;stroke:#70818d;stroke-width:9;opacity:.65}.access-route{fill:none;stroke:#70d8ff;stroke-width:3;stroke-dasharray:6 4}.utility-route{fill:none;stroke:#c8ff43;stroke-width:3;stroke-dasharray:3 3}.route-node{position:absolute;z-index:6;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#071f32;border:2px solid var(--lime);color:var(--lime);font-size:.6rem;font-weight:900}.route-node.mid{cursor:grab;touch-action:none}.route-legend{display:flex;gap:18px;flex-wrap:wrap;color:#8ca3b4;font-size:.58rem;margin-top:7px}.route-legend span:nth-child(2){color:#70d8ff}.route-legend span:nth-child(3){color:var(--lime)}.geometry-status{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin:18px 0;padding:18px;border-radius:18px;border:1px solid var(--line)}.geometry-status.clear{border-color:rgba(200,255,0,.35)}.geometry-status.conflict{border-color:rgba(255,126,110,.45)}.geometry-status p{color:#96aabb}.geometry-status span,.geometry-status small{display:block;color:#849aaa;font-size:.62rem}.geometry-status strong{font-size:1.5rem;color:var(--lime)}
@media(max-width:900px){.geometry-grid{grid-template-columns:1fr}.geo-plan,.geo-parcel{height:420px}.geometry-readout{grid-template-columns:repeat(2,1fr)}}

/* Production deployment additions */
.site-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.legal-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.site-link{display:none}.top-actions{gap:6px}.top-actions .ghost-button{padding:9px 10px;font-size:11px}}

/* v6 ecosystem integration */
.top-actions .site-link{white-space:nowrap}
@media(max-width:1100px){.top-actions .site-link{font-size:11px;padding:9px 11px}}
.final-card .hero-actions a.primary-button,.final-card .hero-actions a.secondary-button{text-decoration:none}
