:root{--green:#244b3e;--ink:#263f34;--paper:#f5efdf;--gold:#d9b669;--line:#d6cdb8;--muted:#737a67}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{font:13px Arial,sans-serif;background:var(--paper);color:var(--ink);display:flex;flex-direction:column}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #c4b99f;background:#f6f0e0;padding:9px 12px;border-radius:4px;transition:background .15s}button:hover{background:#e6d9b9}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd8437;outline-offset:2px}a{color:inherit}button.primary{background:var(--green);border-color:var(--green);color:#fff6dd}button.primary:hover{background:#38634e}button.gold{background:#dec07c;border-color:#c3a562}button.danger{color:#a34531}button.full{width:100%}button.ghost{border-color:transparent;background:transparent}h1,h2,h3,p{margin:0}header{height:80px;flex-shrink:0;background:#254a3e;color:#f8efda;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;border-bottom:3px solid #bc9a58}.hotel-brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:Georgia,serif;letter-spacing:2px;font-size:20px;white-space:nowrap}.brand-mark{font-size:23px;border:1px solid #a9a07a;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;letter-spacing:-2px;color:#dfc582}.hotel-brand small{font:10px Arial;letter-spacing:.3px;display:block;color:#c0ceba;margin-top:6px}.metrics{display:flex;gap:34px}.metrics>div>span{display:block;font-size:8px;letter-spacing:1.4px;color:#bdccb8;margin-bottom:5px}.metrics strong{font:23px Georgia,serif;font-variant-numeric:tabular-nums}.metrics .hotel-rating strong{color:#e0bf76;font-size:20px}.settings-btn{color:#e5d7b7;background:transparent;border-color:#6e8066;font-size:12px;white-space:nowrap}nav{height:45px;display:flex;gap:0;align-items:stretch;flex-shrink:0;background:#e9e0cb;border-bottom:1px solid #c7baa0;overflow:auto;padding:0 18px}nav button{font-size:11px;border:0;border-radius:0;background:none;white-space:nowrap;padding:0 18px;border-bottom:3px solid transparent}nav button.active{background:#f7f0de;border-bottom-color:#a27b38;font-weight:bold}main{display:flex;flex:1;min-height:0}.hotel-world{position:relative;flex:1;min-width:0;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.world-badge{position:absolute;top:23px;left:24px;pointer-events:none;max-width:300px}.world-badge>span{font-size:8px;letter-spacing:1.9px;color:#53694e}.world-badge strong{font:27px Georgia;display:block;margin:7px 0;color:#2b493c}.world-badge small{font-size:9px;color:#617155}.world-controls{position:absolute;left:22px;bottom:22px;display:flex;gap:6px}.world-controls button{box-shadow:0 2px 5px #253b3220;background:#f5f0dfed;font-size:17px;width:35px;height:35px;padding:0}.world-controls #cancel-build{width:auto;font-size:11px;padding:0 12px}.placement-hint{position:absolute;bottom:69px;left:22px;background:#254d40;color:#f8efdb;padding:12px 15px;max-width:330px;font-size:12px;border-radius:5px;box-shadow:0 3px 10px #23483330}.pause-label{position:absolute;bottom:28px;right:20px;font-size:9px;letter-spacing:1.1px;color:#435a42;background:#f3eddbd9;padding:8px 10px;border-radius:3px;pointer-events:none}aside{width:350px;flex-shrink:0;background:var(--paper);border-left:1px solid #bcbaa3;overflow:auto;padding:25px 23px;scrollbar-width:thin}aside h2{font:29px Georgia;letter-spacing:-.7px;margin-bottom:8px}aside h3{font:20px Georgia;margin-bottom:8px}aside .intro{font-size:11px;color:var(--muted);line-height:1.75;margin-bottom:24px}.eyebrow{font-size:8px;letter-spacing:1.6px;font-weight:bold;color:#8a805f;margin-bottom:10px}.section{margin-top:23px;padding-top:20px;border-top:1px solid var(--line)}.section-title{font-size:9px;font-weight:bold;letter-spacing:1.2px;margin-bottom:13px;color:#65705a}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px}.row small{display:block;font-size:10px;line-height:1.7;color:#7b806d}.row strong{font-weight:600}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-box{padding:14px 12px;background:#e7e4d2;border:1px solid #d3d4bd;border-radius:5px}.metric-box span{display:block;font-size:8px;letter-spacing:1px;color:#6b745d;margin-bottom:8px}.metric-box strong{font:25px Georgia}.bar{height:5px;background:#dcd9c8;border-radius:3px;overflow:hidden;margin:7px 0 14px}.bar>i{display:block;height:100%;background:#7f9670}.bar.warn>i{background:#b47c52}.note{font-size:10px;line-height:1.8;color:#6e7760;margin:12px 0}.notice{padding:12px;background:#e5d8b8;border:1px solid #d1bd8e;border-radius:4px;font-size:11px;line-height:1.7}.card{border:1px solid #d1c8b1;border-radius:5px;background:#fbf6e9;padding:14px;margin-bottom:11px}.card h3{font-size:19px;margin-bottom:7px}.card p{font-size:10px;line-height:1.75;color:#74775f;margin-bottom:12px}.card .price{font:18px Georgia;white-space:nowrap}.card .row{margin-bottom:5px}.card button{font-size:10px;padding:7px 10px}.card .status{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#87916d}.card.selected{border-color:#aa8743;background:#eee2c1}.badge{display:inline-block;font-size:9px;padding:4px 6px;border-radius:3px;background:#dce5d1;color:#4f6846}.badge.bad{background:#eed3bb;color:#98613c}.badge.gold{background:#ead7a6;color:#775b25}.room-link{display:block;width:100%;padding:12px;margin-bottom:9px;text-align:left;background:#f8f3e5}.room-link strong{display:block;font:17px Georgia;margin-bottom:5px}.room-link small{font-size:9px;color:#747d64}.room-details{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.room-details button{font-size:10px;padding:8px}.room-summary{background:#e2e6d4;padding:14px;border-radius:4px;margin:15px 0}.room-summary .row:last-child{margin-bottom:0}.field-label{font-size:10px;display:block;margin:14px 0 7px;color:#68745b}input,select{padding:10px;border:1px solid #bcb799;border-radius:4px;background:#fffcf2;color:#30483a;width:100%}.inline-input{display:flex;gap:7px}.inline-input input{width:100%;min-width:0}.inline-input button{flex-shrink:0}.rate{margin-bottom:14px}.rate label{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:6px}.mini{font-size:9px!important}.log-entry{padding:9px 0;border-bottom:1px solid #dfd8c5;font-size:10px;line-height:1.7}.log-entry small{display:block;color:#96957d;font-size:8px}.staff-avatar{height:33px;width:33px;border-radius:50%;display:grid;place-items:center;color:white;font:15px Georgia;flex-shrink:0}.person-row{display:flex;gap:10px;align-items:center}.person-row strong{font-size:12px}.person-row small{display:block;font-size:9px;color:#7b806a;margin-top:4px}.stars{color:#a47a32;letter-spacing:2px}.review{font-size:11px;line-height:1.7;margin:10px 0}.chart{width:100%;height:115px;background:#e6e6d4;border-radius:4px;display:block}.chart-labels{display:flex;justify-content:space-between;color:#879078;font-size:8px;margin:7px 0 15px}.positive{color:#446e4f}.negative{color:#a15e42}.ledger{font-size:10px}.ledger .row{padding:9px 0;border-bottom:1px solid #ded7c5;font-size:10px;margin:0}.ledger .row>span{max-width:190px;line-height:1.5}.goal{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #dcd4bd}.goal>span{font:18px Georgia;color:#a88b52}.goal h3{font-size:18px;margin-bottom:7px}.goal p{font-size:10px;line-height:1.7;color:#737b65}.goal.done{opacity:.65}.goal.done>span{color:#4d7d51}.goal.current{border-left:3px solid #ae8a45;padding-left:12px}footer{height:58px;display:flex;align-items:center;gap:20px;padding:0 20px;flex-shrink:0;background:#f2e8cf;border-top:1px solid #c9ba97}.clock{min-width:126px}.clock strong{font-size:12px;font-weight:500;display:block}.clock span{font-size:8px;display:block;margin-top:5px;color:#7a8067}.speed{display:flex;gap:3px}.speed button{padding:8px 10px;font-size:11px}.speed button[aria-pressed=true]{background:#335644;color:#fff3d5;border-color:#335644}footer p{flex:1;font-size:10px;line-height:1.6;color:#697157;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#save-status{font-size:8px;color:#7f846b;white-space:nowrap}#toast{position:fixed;bottom:75px;left:50%;transform:translateX(-50%);z-index:60;background:#244c3f;color:#fff4d9;padding:14px 22px;border-radius:5px;box-shadow:0 3px 20px #0003;font-size:12px;max-width:min(500px,90vw);pointer-events:none;opacity:0;transition:opacity .2s}#toast.show{opacity:1}.modal[hidden]{display:none}.modal{position:fixed;inset:0;background:#162c23b8;backdrop-filter:blur(4px);z-index:70;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:620px;max-width:100%;max-height:92vh;overflow:auto;background:#f5eedb;border:1px solid #d4bd88;border-radius:8px;padding:34px;box-shadow:0 25px 90px #0004;position:relative}.modal-card h1{font:42px Georgia;letter-spacing:-1.5px;margin:8px 0 15px}.modal-card h2{font:30px Georgia;margin:0 30px 15px 0}.modal-card>p{font-size:12px;line-height:1.85;color:#6b755d;margin-bottom:20px}.modal-card .close{position:absolute;right:15px;top:15px;padding:4px 10px;font-size:20px;background:none;border:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.scenario{padding:16px 10px;text-align:left;background:#ece3ca}.scenario.active{border:2px solid #8a783f;padding:15px 9px;background:#e1dab8}.scenario strong{display:block;font:19px Georgia;margin-bottom:8px}.scenario small{font-size:10px;line-height:1.7;color:#6c755b}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide-grid strong{display:block;font:18px Georgia;margin-bottom:7px}.guide-grid p{font-size:11px;line-height:1.8;color:#6d765e}.bankrupt{color:#e7ab87!important}
@media(max-width:1050px){header{padding:0 15px;gap:10px}.metrics{gap:20px}.metrics strong{font-size:20px}.hotel-brand{font-size:16px;gap:9px}.brand-mark{width:35px;height:35px;font-size:19px}.hotel-rating{display:none}nav{padding:0 5px}nav button{padding:0 12px}aside{width:310px;padding:20px}.world-badge{top:20px;left:18px}.world-badge strong{font-size:23px}.world-badge small{display:none}.pause-label{right:12px;font-size:7px}footer{gap:12px;padding:0 12px}#save-status{display:none}}
@media(max-width:700px){header{height:67px;gap:8px}.hotel-brand{font-size:13px;letter-spacing:1px}.hotel-brand small{font-size:8px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.brand-mark{display:none}.metrics{gap:12px}.metrics strong{font-size:16px}.metrics>div>span{font-size:6px;letter-spacing:.7px}.metrics>div:nth-child(3){display:none}.settings-btn{font-size:14px;padding:7px 9px}.settings-btn span{display:none}nav{height:41px}nav button{font-size:10px;padding:0 11px}main{flex-direction:column}.hotel-world{flex:1;min-height:220px}aside{height:40%;width:100%;border-left:0;border-top:1px solid #c6bea5;padding:18px 20px}aside h2{font-size:25px}.world-badge{top:12px;left:14px}.world-badge>span{font-size:6px}.world-badge strong{font-size:18px}.world-controls{left:13px;bottom:12px}.world-controls button{width:30px;height:30px;font-size:15px}.pause-label{right:12px;bottom:18px;font-size:6px;padding:6px}.placement-hint{bottom:50px;left:12px;font-size:10px;max-width:250px}footer{height:52px;gap:10px}.clock{min-width:112px}.clock strong{font-size:10px}.clock span{font-size:7px}.speed button{font-size:10px;padding:8px 9px}footer p{display:none}.modal-card{padding:25px}.modal-card h1{font-size:36px}.scenarios{gap:7px}.scenario{padding:13px 8px}.scenario.active{padding:12px 7px}.scenario strong{font-size:16px}.scenario small{font-size:9px}.guide-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(4,1fr)}.metric-box{padding:12px 8px}.metric-box strong{font-size:20px}.metric-box span{font-size:6px}}
@media(max-height:520px) and (orientation:landscape){header{height:52px}nav{height:35px}main{flex-direction:row}.hotel-world{min-height:0}aside{height:auto;width:290px;border-top:0;border-left:1px solid #c6bea5;padding:15px}footer{height:42px}.world-badge{top:10px}.world-badge strong{font-size:18px}.metric-grid{grid-template-columns:1fr 1fr}.modal-card{max-height:95vh}.scenarios{margin:10px 0}.modal-card h1{font-size:27px}.modal-card{padding:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
