/* The office dungeon: a readable working surface with a little brass and bad magic. */
:root{--gold:#ffd28a;--ink:#171524;--parchment:#ffeac6}
body{background:#10101b;background-image:radial-gradient(ellipse at 80% 0,#38243e55,transparent 65%)}
.lobby{padding-top:30px;gap:55px}.lobby h1{font-size:clamp(38px,5vw,70px);margin-bottom:20px}.lobby h1>span{color:var(--gold)}.lobby .intro{max-width:640px;font-size:16px;line-height:1.6}.lobby .class-picker{margin:22px 0 16px}.lobby .class-button.selected{border-color:var(--gold);background:#342538}.lobby .how-to{margin-top:22px}.lobby .sample-ticket{background:linear-gradient(140deg,#312638,#1a2034);border-color:#a68baf}.lobby .sample-ticket h2{font-size:27px}.lobby .small-note{font-size:12px;line-height:1.5}.lobby .progression-preview{margin:14px 0}.lobby .start-button{margin-top:14px}
.dungeon-sigil{position:relative;width:196px;height:175px;margin:25px auto 15px;display:grid;place-items:center}.dungeon-sigil:before,.dungeon-sigil:after{content:'';position:absolute;width:115px;height:115px;border:2px solid #efb969;border-radius:20px;transform:rotate(45deg);background:#201925;box-shadow:0 0 40px #ffb4521c}.dungeon-sigil:after{width:88px;height:88px;border-color:#a393cd;background:transparent}.dungeon-sigil>span{font-size:75px;color:#ffe2ac;z-index:1}.dungeon-sigil i{position:absolute;bottom:0;color:#ffe2ac;font:bold 13px var(--mono);border:1px solid #c9a876;border-radius:50%;background:#332736;width:28px;height:28px;display:grid;place-items:center;z-index:2}.dungeon-sigil i:nth-of-type(1){left:25px}.dungeon-sigil i:nth-of-type(2){bottom:-6px}.dungeon-sigil i:nth-of-type(3){right:25px}
.stat-allocation{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #847da6;border-radius:8px;background:#242438;color:#f8f4ff;text-align:left}.stat-row>div:first-child{flex:1;min-width:0}.stat-row strong{font-size:14px;display:block;color:#fff1d4}.stat-row small{font-size:11px;line-height:1.45;color:#d3cfe7;display:block;margin-top:4px}.stat-row b{font:700 18px var(--mono);min-width:20px;text-align:center}.stat-row button{flex:none;min-width:38px;min-height:38px;border-radius:6px;border:1px solid #c4b8df;background:#4a3d62;color:#fff;font-size:18px}.stat-stepper{display:flex;align-items:center;gap:7px}.allocation-hint{font-size:12px;line-height:1.5;color:#d1cce3;margin:9px 0}.stat-row button:disabled{opacity:.4;cursor:default}
body.playing{background:#100f1a}body.playing .app-header{background:#191626;border-bottom-color:#807798}#game .hud{background:linear-gradient(100deg,#242235,#17283a);border-color:#988caa}#game .shift-strip{display:flex;align-items:center;gap:10px}#phase-name{color:#ffe0a9;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#shift-flavor{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d0c9e2}#game .shift-strip #character-button{flex:none;white-space:nowrap;min-height:28px;border:1px solid #bdaa82;border-radius:6px;color:#ffe7bc;background:#342a3a;padding:4px 10px;font-size:11px;font-weight:750}#game .shift-strip #character-button.upgrade-ready{color:#171020;background:#ffd28a;border-color:#ffe6ba}#game .shift-strip #pause-button{flex:none}#game .boss-reaction{background:#392c40;color:#f5dfbc;border:1px solid #b39aaf;border-left:3px solid #ffd28a;padding:10px 12px;margin:8px 0;font-size:12px;line-height:1.5;grid-column:1}#game .desk-foot{gap:8px}#game #inbox-button{white-space:nowrap}#inbox-count{border-radius:5px;background:#ffd28a;color:#21192b;padding:1px 5px;margin-left:3px}
#character-dialog,#inbox-dialog{padding:0;width:min(1000px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);border:1px solid #b8a8cc;border-radius:14px;background:#181a2a;color:#f7f3ff;box-shadow:0 20px 80px #0009;overflow:hidden}#character-dialog::backdrop,#inbox-dialog::backdrop{background:#060813cc}#character-dialog h2,#inbox-dialog h2{font-size:25px;margin:5px 0 7px;color:#fff0d3}.character-shell{max-height:calc(100dvh - 30px);display:flex;flex-direction:column}.character-heading,.inbox-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:#2a2338;border-bottom:1px solid #9681aa;flex:none}.character-heading p,.inbox-heading p{margin:0;color:#ddd3eb;font-size:13px;line-height:1.4}.character-heading .eyebrow,.inbox-heading .eyebrow{color:#ffdca2;font-size:10px}.character-heading .secondary-button,.inbox-heading .secondary-button{flex:none;width:auto;min-height:44px;font-size:13px;padding:10px 16px;margin:0;background:#473755;border-color:#ccb8d9;color:#fff3e5}.character-content{overflow:auto;overscroll-behavior:contain;padding:20px 22px;min-height:0;scrollbar-color:#a399bb #1b1c2d}.character-content section{margin:24px 0}.character-content h3{font-size:17px;margin:0 0 10px;color:#ffe3b2}.character-content h3>span{font:500 11px var(--mono);padding:3px 7px;background:#3b334b;color:#e0d6f1;border-radius:4px;margin-left:8px}.character-content .panel-caption,#character-class{font-size:13px;line-height:1.5;color:#d4d4ec;margin:7px 0 14px}.floor-map{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.floor-node{position:relative;border:1px solid #8584a6;background:#242d43;border-radius:8px;padding:12px 12px 12px 42px}.floor-node.current{border:2px solid #f3c580;background:#3a2d3a;padding:11px 11px 11px 41px}.floor-node.cleared{background:#203934;border-color:#9fcbb2}.floor-node>span{position:absolute;left:12px;top:13px;color:#ffdfae;font:700 18px var(--mono)}.floor-node strong{display:block;font-size:13px;color:#fff}.floor-node small{display:block;font-size:10px;line-height:1.4;color:#d0d9e9;margin-top:5px}.skill-tree,.gear-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.build-card{display:block;padding:14px;text-align:left;border-radius:8px;background:#29364d;border:1px solid #93a2bf;color:#f4f6fc;min-width:0}.build-card strong{display:block;margin:5px 0;font-size:16px;color:#fff1d7}.build-card p{font-size:12px;line-height:1.5;color:#e0e6f3;margin:7px 0}.build-card small{display:block;font-size:11px;color:#e7dbf5;line-height:1.5}.card-kicker{font:700 10px var(--mono);letter-spacing:.5px;color:#d5bcec}.build-card .gear-cost{color:#ffd0a9}.build-card[aria-pressed=true]{background:#234137;border:2px solid #bee2a2;padding:13px}.build-card:disabled{opacity:.7;cursor:default}.build-card[aria-pressed=true]:disabled{opacity:1}.build-card.tier-2{border-left:4px solid #9b86bc}.build-effects{background:#252f43;border:1px solid #8e91b2;padding:12px;border-radius:7px;color:#e8eaff}#dungeon-journal{font-size:13px;line-height:1.65;color:#dce1f2}#dungeon-journal ol{padding-left:22px}#dungeon-journal li{padding-bottom:8px}.dungeon-summary{margin:20px 0;padding:18px;text-align:left;background:#232638;border:1px solid #9594af;border-radius:9px}.dungeon-summary h2{font-size:20px;color:#ffdfa7;margin:0 0 10px}.dungeon-summary p,.dungeon-summary summary{font-size:13px;line-height:1.65;color:#e0dfef;margin:6px 0}.dungeon-summary summary{cursor:pointer;min-height:40px;padding:8px 0}
#inbox-dialog{overflow:auto;overscroll-behavior:contain;width:min(780px,calc(100vw - 28px))}.inbox-heading{position:sticky;top:0;z-index:1}#inbox-messages{padding:16px 22px}.message-card{border:1px solid #9aa0bd;background:#242c41;padding:18px;border-radius:8px;margin-bottom:16px}.message-card h3{font-size:18px;margin:7px 0;color:#ffe6bc}.message-card p{font-size:14px;line-height:1.65;color:#e0e7f6}.message-choices{display:grid;gap:8px}.message-choices button,.life-choice{display:block;width:100%;border:1px solid #a29ab8;border-radius:7px;background:#3a3651;color:#fff;text-align:left;padding:13px;min-height:48px}.message-choices strong,.life-choice strong{display:block;font-size:14px}.message-choices small,.life-choice small{display:block;font-size:12px;color:#dfd5f0;margin-top:6px;line-height:1.5}.message-reply{border-left:3px solid #b6da9a;background:#273e39;padding:12px}.choice-result{font-size:14px;line-height:1.6;color:#ddf0d2}.choice-result:empty{display:none}#inbox-result{padding:0 22px 20px}
.home-scene{max-width:1120px;margin:auto;padding:35px 24px}.home-heading{position:relative;border-bottom:1px solid #967e9b;padding-bottom:25px}.home-heading:after{content:'⌂';position:absolute;right:10px;top:0;color:#d3ac72;font-size:85px;opacity:.7}.home-heading h1{font-size:clamp(30px,5vw,48px);color:#ffe1aa;margin:12px 0}.home-heading>p{font-size:16px;line-height:1.6;color:#d8cee7;max-width:700px}.home-relationships{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.home-relationships>span{padding:7px 12px;border:1px solid #a391ac;background:#302839;border-radius:7px;font-size:13px;color:#e6ddeb}.home-relationships b{color:#ffdb9e;margin-left:5px}.home-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-card{border:1px solid #ad99b1;background:#242034;border-radius:12px;padding:23px}.home-card h2{color:#ffdc9e;font-size:23px;margin:0 0 12px}.home-card>p{font-size:14px;line-height:1.65;color:#ded5e9}.life-choice{margin:9px 0;background:#39304a}.life-choice p{font-size:13px;color:#e0d8ed;line-height:1.5;margin:7px 0}.life-choice:disabled{opacity:.6;cursor:default}.home-foot{text-align:center;padding:25px 0}.home-foot p{color:#e1d7ec;font-size:14px;line-height:1.6}.home-foot .primary-button{max-width:400px;margin:18px auto}.home-foot .text-button{color:#d5c4e0;min-height:42px}#next-day-button:disabled{opacity:.45;cursor:default}
@media(min-width:1100px){#game .has-case #action-area{grid-row:2/span 7}.has-case #boss-reaction{grid-column:1}}
@media(max-width:760px){.lobby{padding-top:20px;gap:25px}.lobby .intro{font-size:14px}.lobby .stat-allocation{grid-template-columns:1fr}.lobby .stat-row{padding:10px}.lobby .lobby-right{display:none}#game .shift-strip{gap:6px;min-height:35px}#shift-flavor{display:none}#phase-name{flex:1;font-size:9px}#game .shift-strip #character-button{font-size:10px;padding:5px 7px;min-height:32px}#game .shift-strip #pause-button{font-size:10px}#game .desk-foot{gap:6px}#game .desk-foot .text-button{font-size:10px}#game .boss-reaction{font-size:12px}.character-heading,.inbox-heading{padding:12px;gap:10px;align-items:start}.character-heading h2,.inbox-heading h2{font-size:19px}.character-heading .eyebrow,.inbox-heading .eyebrow{font-size:8px;letter-spacing:.3px}.character-heading p,.inbox-heading p{font-size:11px}.character-heading .secondary-button,.inbox-heading .secondary-button{font-size:11px;padding:9px;max-width:90px}.character-content{padding:14px}.floor-map{gap:5px}.floor-node,.floor-node.current{padding:10px 7px}.floor-node>span{position:static;display:block;font-size:15px;margin-bottom:5px}.floor-node strong{font-size:10px;line-height:1.4}.floor-node small{font-size:9px}.character-content .stat-allocation{grid-template-columns:1fr}.skill-tree,.gear-grid{grid-template-columns:1fr}.character-content h3{font-size:16px}.character-content section{margin:20px 0}.stat-row button{min-width:44px;min-height:44px}.home-scene{padding:22px 14px}.home-columns{grid-template-columns:1fr;gap:14px}.home-heading:after{display:none}.home-card{padding:17px}.home-heading>p{font-size:14px}.home-relationships>span{padding:6px 8px;font-size:12px}#inbox-messages{padding:12px}.message-card{padding:13px}#inbox-result{padding:0 14px 15px}.message-card h3{font-size:17px}.message-card p{font-size:13px}}
@media(max-height:520px) and (min-width:600px){#game .hud{padding-right:240px}#game .shift-strip{top:9px;gap:6px}#game .shift-strip #character-button{min-height:30px;font-size:10px;padding:3px 7px}.character-heading,.inbox-heading{padding:10px 18px}.character-heading h2,.inbox-heading h2{font-size:20px}.character-content{padding-top:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
#inbox-dialog{scroll-padding-top:145px}#inbox-dialog .message-choices button{scroll-margin-top:145px}
.morning-briefing{border-color:#d1b685;background:#352e3e}.morning-briefing ul{padding-left:19px;margin-bottom:0;color:#f4e7d3;font-size:13px;line-height:1.65}.morning-briefing li{margin-bottom:10px}
#career-panel [data-career-path]{display:grid;gap:6px;width:100%;padding:12px;margin:8px 0;text-align:left;line-height:1.5;white-space:normal;border:1px solid #82778f;border-radius:8px;background:#222b3f;color:#e7d9c3}
#career-panel [data-career-path] small{font-size:12px;color:#dac5f2}
#career-panel [data-career-path]:disabled{opacity:.7}
#career-panel [data-career-path][aria-pressed=true]{opacity:1;background:#234137;border:2px solid #bfe0a4}
.skill-branch{display:flex;flex-direction:column;gap:10px;min-width:0}.skill-branch h4{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#dac5f2;margin:0 0 1px}.skill-branch .build-card{flex:1}.skill-branch .tier-2{margin-left:12px;position:relative}.build-card:disabled{opacity:1;background:#222b3f}.build-card:disabled strong{color:#e7d9c3}.build-card[aria-pressed=true]:disabled{background:#234137}.life-choice:disabled{opacity:.75}.life-choice[aria-pressed=true]{opacity:1;background:#264036;border:2px solid #bfe0a4;padding:12px}
