.story-route{display:grid;grid-template-columns:repeat(3,1fr);background:#e3dcc3;border-top:1px solid #a5af92}
.story-route{grid-template-columns:repeat(4,minmax(0,1fr))}.story-route img{float:left;width:34px;height:34px;image-rendering:pixelated;margin:0 9px 5px 0;border-radius:3px}.story-route button{min-width:0}.story-route small{line-height:1.5}
@media(max-width:700px){.story-route{grid-template-columns:repeat(2,minmax(0,1fr))}.story-route button{border-bottom:1px solid #a5af9270}}
.story-route button{padding:17px;text-align:left;border-right:1px solid #a5af9270;font:13px var(--serif);color:#33483d}
.story-route small{display:block;font:8px var(--mono);letter-spacing:.7px;margin-bottom:7px;color:#6b785c}.story-route button span{float:right}.story-route button:hover{background:#f0e6c6}
.personal-desk{display:block;scroll-margin-top:16px}.desk-visual{display:block;padding-bottom:0}.desk-scene-label{padding:16px 20px;background:#233c32}
.desk-canvas-wrap{position:relative;isolation:isolate;max-height:none;overflow:hidden;padding:52px 26px 110px 28%;background:#b6ab82;min-height:650px}
#personal-desk{position:absolute;inset:0;z-index:-1;width:100%;height:100%;max-height:none;object-fit:fill}
.desk-controls{position:relative;background:#c8bd94;border:0;border-top:8px solid #ece1b7;border-left:8px solid #e1d6ae;border-right:16px solid #897e61;border-bottom:24px solid #b0a07a;padding:12px 10px 10px;box-shadow:8px 12px 0 #4d493bc2;min-width:0;border-radius:8px 8px 13px 13px}
.desk-controls:before{content:'D E S K   O S  /  0 1';display:block;color:#5c6451;font:8px var(--mono);margin:-3px 0 10px 3px}.desk-controls:after{content:'●  POWER';position:absolute;bottom:-19px;right:7px;color:#355539;font:7px var(--mono)}
#panel-ballot{background:#e8ecd7;border:6px solid #3c4d40;box-shadow:inset 0 0 12px #344d3c20;border-radius:7px;overflow:hidden}
.desk-controls .brief{display:block;padding:12px 14px 8px;background:#314f40;color:#e9e5bf;border:0}.desk-controls .brief h2{font:17px/1.2 var(--mono);color:#f3e4ad;margin:8px 0}.desk-controls .brief .eyebrow{font-size:7px;color:#d3daba}.desk-controls .brief .stamp{display:none}.desk-controls .brief .text-button{font-size:9px;color:#d8ddb7}
.desk-controls fieldset{padding:12px;gap:8px}.desk-controls .section-heading h3{font:11px var(--mono)}.desk-controls #allocations{gap:6px 12px}.desk-controls .asset input{min-height:24px}.desk-controls .asset label{font-size:10px}.desk-controls .policy input{min-height:22px}.desk-controls .form-note{line-height:1.5}.desk-controls .mandate{background:#d4dec2}.desk-controls .primary{border-radius:3px}
.coffee-hotspot{left:18px;right:auto;bottom:23px;font-size:10px;padding:12px;z-index:2}.coffee-status{padding:10px 20px;min-height:0}.personal-desk .desk-dialogue{margin:0 20px;min-height:95px}.personal-desk .desk-actions{padding:14px 20px}.personal-desk .desk-actions button{font-size:10px;padding:12px}
.workstation-account{display:flex;justify-content:flex-end;gap:20px;padding:0 20px 17px;color:#d1d4ad;font:10px var(--mono)}.workstation-account button:hover{text-decoration:underline}
.residents button{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #c0cdb0;border-radius:4px;font-size:11px;color:#3c5543}.residents button:hover{background:#e2e9d4}.residents button i{width:6px;height:6px}.residents button small{font-size:9px;color:#728368}.board-row{width:100%;text-align:left}.board-row:hover{background:#e3ead7}#office{cursor:pointer}
.player-record>img{float:right;width:88px;image-rendering:pixelated;border-radius:5px}.player-record h2{font-size:30px;overflow-wrap:anywhere}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#c2cbb2;margin:24px 0;border:1px solid #c2cbb2}.profile-stats>div{padding:17px;background:#edf0df}.profile-stats dt{font:9px var(--mono);color:#718063}.profile-stats dd{font:22px var(--serif);margin:7px 0 0}
dialog:has(.story-scene),dialog:has(.city-scene){width:min(980px,calc(100% - 24px));padding:22px;background:#263c33;border:3px solid #afa078;border-radius:4px;color:#eee4c3}dialog:has(.story-scene) .modal-close,dialog:has(.city-scene) .modal-close{z-index:3;border-radius:2px;background:#e1c995;color:#2c4035}
.story-heading{display:flex;justify-content:space-between;gap:10px;padding:5px 40px 17px 0;font:9px var(--mono);letter-spacing:1px;color:#c9caa5}.story-heading>span:last-child{font-size:7px}
.cutscene-stage{position:relative;height:clamp(170px,42dvh,380px);overflow:hidden;border:3px solid #675c43;background:#686f4e}.cutscene-backdrop,#story-actors{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;image-rendering:pixelated}.cutscene-location{position:absolute;left:14px;top:14px;background:#20342ac9;color:#e9dfb4;padding:7px 10px;font:8px var(--mono);letter-spacing:1px}
.story-dialogue{position:relative;background:#131d19;border:2px solid #d7b769;box-shadow:inset 0 0 0 4px #222e25,inset 0 0 0 5px #7b784c;padding:20px 25px;margin:-20px 12px 0;min-height:175px}.story-dialogue #story-speaker{font:10px var(--mono);letter-spacing:1px;color:#dbbd75}.story-dialogue #story-line{font:16px/1.7 var(--mono);color:#f2ead0;margin:12px 0;min-height:55px}.story-controls{display:flex;justify-content:space-between;gap:15px;align-items:center;font:10px var(--mono);color:#a3b194}.story-next{font:11px var(--mono);border:1px solid #9b9568;padding:11px 14px;color:#f2db9e;background:#304534}.story-next:disabled{opacity:.5}#story-leave{margin:18px 12px 0;color:#b8c3a3;font-size:10px}
.city-scene h2{color:#ecd8aa}.city-scene>p:not(.eyebrow){color:#c5ceb0}.city-scene .eyebrow{color:#c5bf91;padding-right:35px}.city-blocks{display:flex;gap:20px;align-items:flex-end;min-height:310px;background:linear-gradient(#acae93,#e4c7a0 73%,#586b54 73%,#586b54 77%,#b7aa86 77%);padding:35px 25px;border:3px solid #ae9c71;margin-top:25px}.city-building{width:33.33%;position:relative;border:4px solid #53523d;background:#968e69;color:#f3e6bb;box-shadow:7px 7px #554d3999;padding:15px 10px 12px;text-align:left}.building-windows{display:block;height:120px;margin:0 5px 20px;background:repeating-linear-gradient(90deg,transparent 0 15px,#998c65 15px 23px),repeating-linear-gradient(0deg,#e8d59a 0 17px,#5d7061 17px 29px,#998c65 29px 35px)}.labs-building{background:#556f63}.labs-building .building-windows{height:150px}.cafe-building{background:#a16e4a}.cafe-building .building-windows{height:50px}.city-building b{display:block;font:17px var(--serif)}.city-building small{display:block;font:8px/1.7 var(--mono);margin-top:8px}.city-building:hover{transform:translateY(-4px);outline:2px solid #eedca3}.city-caption{font-size:10px!important}
button:focus-visible{outline:3px solid #b08b35;outline-offset:3px}
.lesson-options{display:grid;gap:8px}.lesson-options .primary{justify-content:flex-start;text-align:left}
.desk-canvas-wrap{padding-bottom:205px}#desk-hands{position:absolute;bottom:0;right:22px;width:calc(72% - 26px);height:auto;image-rendering:pixelated;pointer-events:none;z-index:1}.coffee-hotspot{bottom:30px}
@media(max-width:1150px){#desk-hands{width:calc(75% - 20px);right:16px}}
@media(max-width:650px){.desk-canvas-wrap{padding-bottom:max(165px,calc((100vw - 46px)*.29 + 50px))}#desk-hands{right:10px;bottom:35px;width:calc(100% - 20px)}.coffee-hotspot{bottom:8px;padding:9px}}
.workstation-account button{background:transparent;color:#e2dcba;padding:6px 0;font:10px var(--mono)}.story-route button{background:transparent}.story-route button:hover{background:#f0e6c6}.board-row{background:transparent}.board-row:hover{background:#e3ead7}.residents button{background:#edf0e2}.story-invite button{background:transparent;color:inherit;font:inherit;padding:6px 0}
.story-invite{display:flex;gap:15px;align-items:center;padding:14px 18px;background:#efdfad;color:#47513b;font:11px var(--mono)}.story-invite span{margin-right:auto}.story-invite button{border-bottom:1px solid #7c8057;white-space:nowrap}.story-invite[hidden]{display:none}
@media(max-width:650px){.cutscene-stage{height:auto;aspect-ratio:16/9}.story-invite{font-size:9px;gap:10px}}
@media(max-width:1150px){.desk-visual{display:block}.desk-canvas-wrap{padding-left:25%;padding-right:20px}.personal-desk .desk-dialogue{margin:0 20px;min-height:95px}.desk-controls{border-top:8px solid #ece1b7;border-left:8px solid #e1d6ae}.desk-controls .brief{display:block}}
@media(max-width:650px){.desk-canvas-wrap{padding:115px 15px max(165px,calc((100vw - 46px)*.29 + 50px));min-height:0}.desk-controls{border-right-width:10px}.desk-controls fieldset{padding:10px;gap:8px}.desk-controls .asset{padding:6px 0}.desk-controls .brief h2{font-size:15px}.desk-controls .presets button{min-height:32px}.coffee-hotspot{bottom:12px;left:20px}.story-route button{font-size:12px;padding:13px 10px}.story-route small{font-size:6px;letter-spacing:0}.personal-desk .desk-dialogue{margin:0 12px}.personal-desk .desk-actions{padding:12px}.story-heading{display:block;font-size:8px}.story-heading>span:last-child{display:block;margin-top:7px}.story-dialogue{margin:-6px 0 0;padding:17px;min-height:210px}.story-dialogue #story-line{font-size:13px;min-height:95px}.cutscene-location{font-size:6px;left:6px;top:6px;padding:5px}.story-controls{font-size:8px}.story-next{font-size:10px;padding:10px}.city-blocks{gap:10px;padding:25px 10px;min-height:240px}.city-building{padding:9px 5px;border-width:2px}.city-building b{font-size:12px}.city-building small{font-size:7px}.building-windows{height:75px;margin:0 0 15px}.labs-building .building-windows{height:100px}.cafe-building .building-windows{height:35px}.player-record>img{width:64px}.player-record h2{font-size:25px}.workstation-account{padding-top:4px}.profile-stats>div{padding:12px}}
.investment-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;padding:16px;background:#dfe6d1}.investment-summary>div{font-size:11px}.investment-summary b{display:block;font:23px var(--serif);margin-top:5px}.company-price{font:24px var(--serif)}.company-price small{font:10px var(--mono);display:block;margin:5px 0}.company-grid svg{width:100%;height:60px;margin:10px 0}.position-stats{margin:0 0 15px}.position-stats>div{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:7px 0}.position-stats dd{margin:0;font-variant-numeric:tabular-nums}.gain{color:#376245}.loss{color:#9b4438}.share-quantity{display:flex;justify-content:space-between;align-items:center;font:11px var(--mono);gap:10px}.share-quantity input{width:85px;min-width:0;padding:9px;border:1px solid #aab99a;background:#fffdf1;color:#263e31;font:14px var(--mono)}.company-actions{display:flex;gap:8px;margin-top:12px}.company-actions>button{flex:1;border:1px solid #a9b99a;padding:10px;font:11px var(--mono)}.order-quote{display:block;margin-top:9px;font:10px var(--mono);line-height:1.5}.company-clock{font-size:11px!important;line-height:1.6}.company-clock button{border-bottom:1px solid currentColor;font:inherit}.company-history{margin-top:18px}.company-history summary{cursor:pointer}.company-history p{font-size:11px!important;border-bottom:1px solid #c0ceb3;padding:10px 0}
