@import "tailwindcss";

:root { --ink:#18211f; --cream:#eee9dd; --paper:#f8f5ed; --orange:#e2673f; --green:#9bb27d; --muted:#777a71; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--cream); color:var(--ink); }
body { font-family:Arial,Helvetica,sans-serif; }
button { font:inherit; }
button:focus-visible { outline:3px solid #e8a36f; outline-offset:3px; }
.splash { min-height:100vh; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(400px,1.15fr) minmax(360px,.85fr); background:var(--ink); color:var(--paper); }
.splash-grid { position:absolute; inset:0; opacity:.1; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(90deg,#000,transparent); }
.splash-content { z-index:1; padding:8vh 7vw; display:flex; flex-direction:column; justify-content:center; max-width:850px; }
.eyebrow,.location,.section-title small,.portfolio-head small { font-size:11px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow span { color:#ed8b63; }
.splash h1 { font-family:Georgia,serif; font-size:clamp(66px,9vw,130px); line-height:.73; letter-spacing:-.075em; margin:36px 0; font-weight:500; }
.splash h1 em { color:#e77249; font-weight:500; }
.splash-copy { max-width:620px; font-family:Georgia,serif; font-size:clamp(18px,2vw,27px); line-height:1.45; color:#c7ccc4; }
.start-button { margin-top:25px; align-self:flex-start; border:0; background:#e77249; padding:19px 24px; font-size:12px; font-weight:900; letter-spacing:.13em; cursor:pointer; color:#18211f; }
.start-button span { margin-left:36px; font-size:20px; }
.splash-meta { display:flex; gap:30px; margin-top:48px; font-size:9px; letter-spacing:.16em; font-weight:bold; color:#89908a; }
.disclaimer { font-size:10px; color:#69716d; margin-top:28px; }
.preview-card { margin:8vh 7vw 8vh 0; z-index:1; background:#efe9db; color:var(--ink); position:relative; box-shadow:0 30px 70px #0008; transform:rotate(2deg); display:grid; grid-template-rows:1fr auto auto; padding:34px; min-height:610px; }
.preview-number { position:absolute; right:25px; top:20px; font:70px Georgia;color:#c9c1af; }
.building-art { background:#d96b44; position:relative; display:grid; place-items:center; overflow:hidden; }
.building-art b { font:180px Georgia; color:#f7d4bd; transform:translateY(18px); }
.building-art i { position:absolute; width:130%; height:1px; background:#18211f33; transform:rotate(-25deg); }
.building-art i:nth-of-type(2){transform:rotate(25deg)} .building-art i:nth-of-type(3){transform:translateY(80px)}
.preview-card small { font-size:9px; letter-spacing:.16em; font-weight:900; }.preview-card h2{font:42px/1 Georgia;margin:10px 0}.preview-card p{color:#777}
.preview-price { display:flex; justify-content:space-between; align-items:end; border-top:2px solid var(--ink); padding-top:18px; margin-top:25px; }.preview-price strong{font:40px Georgia}
.game-shell { min-height:100vh; background:var(--cream); }
.topbar { height:76px; background:var(--ink); color:#fff; display:flex; align-items:stretch; padding:0 3vw; }
.brand { background:none;border:0;color:#eee;font:24px Georgia;letter-spacing:-.04em;cursor:pointer; padding:0 28px 0 0; }.brand span{font:8px Arial;letter-spacing:.14em;display:block;text-align:left;color:#e77249}
.score-strip { display:flex; margin-left:auto; }.score-strip>div { min-width:155px;border-left:1px solid #ffffff18;padding:17px 24px;display:flex;flex-direction:column;gap:5px}.score-strip small,.sound{font-size:8px;letter-spacing:.15em;color:#87908c;font-weight:bold}.score-strip strong{font:19px Georgia}.positive{color:#b6ce96}.negative{color:#f08a6b}.sound{border:0;border-left:1px solid #ffffff18;background:none;color:#aaa;cursor:pointer;padding:0 20px}
.tabs { height:48px;background:#d9d3c6;border-bottom:1px solid #bab4a8;padding-left:4vw;display:flex;gap:5px}.tabs button{border:0;background:none;font-size:10px;font-weight:900;letter-spacing:.13em;padding:0 22px;cursor:pointer;color:#6d7069;border-bottom:3px solid transparent}.tabs button.active{color:var(--ink);border-color:var(--orange)}.tabs span{background:#bdb7aa;border-radius:10px;padding:2px 6px;margin-left:5px}
.deal-layout { max-width:1500px;margin:auto;padding:30px 4vw 45px;display:grid;grid-template-columns:minmax(400px,.86fr) minmax(530px,1.14fr);gap:28px; }
.deal-card { background:var(--paper);box-shadow:0 8px 30px #4f4c4320;display:grid;grid-template-rows:270px 1fr;min-height:690px;position:relative }.card-art{background:var(--deal-color);position:relative;overflow:hidden;display:grid;place-items:center}.card-art:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 45px,#ffffff10 46px 47px)}
.card-index{position:absolute;left:24px;top:18px;font:56px Georgia;color:#ffffff44}.property-type{position:absolute;right:20px;top:23px;border:1px solid #ffffff88;color:white;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.15em}.house-icon{font:190px Georgia;color:#f8e5cf;line-height:1;z-index:1}.street-lines{position:absolute;inset:auto 0 0;height:45px;background:#202925}.street-lines i{position:absolute;top:21px;width:8%;height:2px;background:#eee9dd}.street-lines i:nth-child(1){left:5%}.street-lines i:nth-child(2){left:25%}.street-lines i:nth-child(3){left:45%}.street-lines i:nth-child(4){left:65%}.street-lines i:nth-child(5){left:85%}
.card-body{padding:27px 30px}.location{color:#696e67}.card-body h1{font:38px/1.05 Georgia;margin:8px 0 22px;letter-spacing:-.03em}.numbers-grid{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #cbc6ba}.numbers-grid>div{padding:15px 0}.numbers-grid>div:nth-child(even){padding-left:20px;border-left:1px solid #cbc6ba}.numbers-grid small,.intel small,.holding-name small,.holdings article>div>small,.ledger>small{display:block;font-size:8px;letter-spacing:.13em;color:#84867d;font-weight:900;margin-bottom:6px}.numbers-grid strong{font:22px Georgia}.numbers-grid em{font:10px Arial;color:#777}
.intel{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #d7d2c6}.intel>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#f1c4aa;color:#9b3f23;font-weight:bold}.intel p{margin:0;font:14px/1.35 Georgia}.intel.opportunity>span{background:#d8e2ca;color:#56713e}
.decision-panel{background:#f8f5ed;border:1px solid #c8c2b5;padding:25px 28px;box-shadow:0 8px 30px #4f4c4315}.clock-row>div:first-child{display:flex;justify-content:space-between;align-items:end}.clock-row small,.rivals>small{font-size:9px;font-weight:900;letter-spacing:.15em;color:#777}.clock-row strong{font:35px Georgia}.clock-row strong.urgent{color:#c44627;animation:pulse .6s infinite alternate}.clock-track{height:5px;background:#d7d1c5;margin:10px 0 22px}.clock-track i{display:block;height:100%;background:var(--orange);transition:width 1s linear}
.rivals{border-bottom:1px solid #ccc6ba;padding-bottom:18px}.rivals>div{display:flex;gap:10px;margin-top:12px}.rival{flex:1;display:grid;grid-template-columns:32px 1fr;align-items:center;border:1px solid #d2cdc1;padding:8px;position:relative}.rival b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:8px;color:#fff}.rival span{font-size:9px;font-weight:bold}.rival span em{display:block;font-size:8px;font-weight:normal;color:#85877e;margin-top:2px}.rival>i{position:absolute;right:5px;top:4px;font-size:6px;color:#a95b3c;font-style:normal}
.financing{padding-top:20px}.section-title{display:flex;gap:12px;align-items:center;margin-bottom:12px}.section-title>span{font:25px Georgia;color:#aaa69b}.section-title p{font:13px Georgia;margin:2px 0;color:#74766f}.finance-options{display:grid;gap:7px}.finance-options button{display:grid;grid-template-columns:18px 1fr 110px 82px;align-items:center;text-align:left;background:#fff;border:1px solid #d0cabf;padding:12px;cursor:pointer;color:var(--ink)}.finance-options button:hover{border-color:#8d8b84}.finance-options button.selected{border:2px solid var(--ink);padding:11px;background:#faf5e9}.radio{width:12px;height:12px;border:1px solid #898b84;border-radius:50%}.selected .radio{box-shadow:inset 0 0 0 3px #faf5e9;background:var(--orange)}.finance-name{font-size:11px;font-weight:bold}.finance-name em,.finance-math em,.flow em{display:block;font-size:8px;color:#82847d;font-weight:normal;margin-top:3px}.finance-math{text-align:right}.finance-math b{font:16px Georgia}.flow{text-align:right;font:15px Georgia}.flow.good{color:#4a6d3e}.flow.bad{color:#a33b2b}.notice{font:12px Georgia;background:#e9e4d8;margin-top:13px;padding:10px 12px;color:#565a54;min-height:35px}.decision-actions{display:grid;grid-template-columns:120px 1fr;gap:8px;margin-top:12px}.decision-actions button{height:52px;border:0;font-size:10px;font-weight:900;letter-spacing:.14em;cursor:pointer}.pass{background:#dad4c7}.acquire{background:var(--ink);color:#fff}.acquire:disabled{opacity:.35;cursor:not-allowed}.acquire span{float:right;margin-right:15px;font-size:17px}
.portfolio-view{max-width:1400px;margin:auto;padding:42px 5vw 80px}.portfolio-head{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid var(--ink);padding-bottom:25px}.portfolio-head h1{font:54px Georgia;margin:6px 0}.portfolio-head p{font:17px Georgia;color:#696c66;margin:0}.worth-stamp{text-align:right;display:flex;flex-direction:column}.worth-stamp strong{font:42px Georgia}.worth-stamp em{font-size:11px;color:#6d8258}.empty-state{text-align:center;padding:100px 20px;border-bottom:1px solid #c4beb1}.empty-state span{font:70px Georgia;color:#a5a094}.empty-state h2{font:28px Georgia}.empty-state p{color:#72756e}.holdings{display:grid;gap:10px;margin:28px 0}.holdings article{background:#f8f5ed;border:1px solid #ccc6bb;display:grid;grid-template-columns:78px 1.5fr repeat(3,1fr) 210px;align-items:center;padding:13px;gap:15px}.holding-mark{width:68px;height:68px;display:grid;place-items:center;font:45px Georgia;color:#f6e6d2}.holding-name h2{font:22px Georgia;margin:3px 0}.holding-name p{font-size:9px;color:#777;margin:0}.holdings article>div>strong{font:18px Georgia}.holding-actions{display:flex;gap:5px}.holding-actions button{border:1px solid #aaa499;background:none;padding:9px;font-size:8px;font-weight:bold;cursor:pointer}.holding-actions button:last-child{background:var(--ink);color:#fff}.holding-actions button:disabled{opacity:.35}.ledger{margin-top:30px;border-top:1px solid #bbb5aa;padding-top:18px}.ledger p{margin:0;padding:10px 0;border-bottom:1px solid #d2ccc0;font:13px Georgia}.ledger p span{font:10px Arial;color:#999;margin-right:20px}.end-actions{background:var(--ink);color:#fff;margin-top:35px;padding:25px;display:flex;gap:25px;align-items:center}.end-actions button{background:var(--orange);border:0;padding:16px 24px;font-size:10px;font-weight:900;letter-spacing:.12em;cursor:pointer}.end-actions div{display:flex;flex-direction:column;gap:4px}.end-actions strong{font:20px Georgia}.end-actions span{font-size:11px;color:#aeb6b1}
@keyframes pulse{to{opacity:.45}}
@media(max-width:1050px){.deal-layout{grid-template-columns:1fr}.deal-card{grid-template-columns:40% 60%;grid-template-rows:1fr;min-height:520px}.rivals>div{flex-wrap:wrap}.holdings article{grid-template-columns:65px 1fr 1fr}.holding-actions{grid-column:2/4}.preview-card{margin-right:3vw}.score-strip>div{min-width:120px;padding-inline:12px}}
@media(max-width:720px){.splash{grid-template-columns:1fr}.preview-card{display:none}.splash-content{padding:8vh 8vw}.splash h1{font-size:64px}.topbar{padding:0 12px}.brand{font-size:16px}.score-strip>div{min-width:auto;padding:18px 8px}.score-strip small{display:none}.score-strip strong{font-size:13px}.sound{display:none}.deal-layout{padding:14px}.deal-card{display:block}.card-art{height:210px}.house-icon{font-size:150px}.decision-panel{padding:18px 14px}.rivals>div{display:grid;grid-template-columns:1fr}.finance-options button{grid-template-columns:18px 1fr 75px}.flow{display:none}.portfolio-head{display:block}.worth-stamp{text-align:left;margin-top:20px}.holdings article{grid-template-columns:55px 1fr}.holdings article>div:nth-child(n+3):not(.holding-actions){display:none}.holding-actions{grid-column:2}.tabs{padding-left:0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
