/* Bolha UI — one look for every window: navy panels with a steel bevel, chunky buttons (blue; gold = on or the main action;
   red = stop), Nunito Black titles. Loaded after the page styles: those keep where things sit, this file sets how they look.
   The phone keeps its own look — it is a phone in the player's hand. Icons are Hugeicons Pro used as CSS masks, so they take the text colour. */
:root{--ui-font:Nunito,system-ui,sans-serif;--ui-edge:#4b6391;--ui-edge-in:#0d1526;--ui-well:#111a2c;--ui-text:#f4f7ff;--ui-muted:#a9b8d6;--ui-blue:#4a6593;--ui-blue-2:#384f78;--ui-gold:#ffd25a;--ui-gold-2:#f3a417}
body{font-family:var(--ui-font);font-weight:600}

/* Icons */
.ic{display:inline-block;width:1.25em;height:1.25em;flex:none;vertical-align:-.25em;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.ic.flip{transform:scaleX(-1)}
.ic-teacher{--ic:url(/assets/icons/ui/teacher.svg)}.ic-close{--ic:url(/assets/icons/ui/cancel-01.svg)}.ic-user{--ic:url(/assets/icons/ui/user.svg)}.ic-play{--ic:url(/assets/icons/ui/play.svg)}.ic-file{--ic:url(/assets/icons/ui/file-01.svg)}.ic-headphones{--ic:url(/assets/icons/ui/headphones.svg)}.ic-mic{--ic:url(/assets/icons/ui/mic-01.svg)}.ic-mic-off{--ic:url(/assets/icons/ui/mic-off-01.svg)}.ic-screen{--ic:url(/assets/icons/ui/computer.svg)}.ic-stop{--ic:url(/assets/icons/ui/stop.svg)}.ic-expand{--ic:url(/assets/icons/ui/full-screen.svg)}.ic-volume{--ic:url(/assets/icons/ui/volume-high.svg)}.ic-stage{--ic:url(/assets/icons/ui/presentation-07.svg)}

/* Panels */
:is(#elevator section,#ask .sheet,#work-panel,#reception-chat,#interview,#interview-board,#hall-controls,.bolha-shop,#bolha-games,.chess-promotion){background:linear-gradient(180deg,#24365a,#19253f);color:var(--ui-text);border:3px solid var(--ui-edge);border-radius:18px;box-shadow:inset 0 0 0 2px var(--ui-edge-in),0 16px 44px #000a;font-family:var(--ui-font)}
#bolha-games{box-shadow:inset 0 0 0 2px var(--ui-edge-in),0 0 0 100vmax #0b1220a6,0 25px 80px #0007}
:is(#work-panel,#reception-chat,#interview,#interview-board,#bolha-games) header{background:#23355a;color:var(--ui-text);border-bottom:2px solid #ffffff14}
:is(#work-panel,#reception-chat,#interview,#interview-board,#bolha-games) header strong,.bolha-shop h2,#elevator h2,.ui-head h2{font:900 19px/1.15 var(--ui-font);text-transform:uppercase;letter-spacing:.02em;text-shadow:0 2px 0 #0b1322}.ui-head h2{margin:0}
.ui-well,.interview-feedback{background:var(--ui-well);color:var(--ui-text);border-radius:14px;box-shadow:inset 0 2px 6px #000a,inset 0 0 0 1px #ffffff0d;padding:8px}
.ui-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#2c3f63;color:#dbe6ff;font-weight:800;box-shadow:inset 0 1px 0 #ffffff1a}

/* Buttons */
:is(#auth,#menu,#elevator,#ask,#work-panel,#reception-chat,#interview,#interview-board,#hall-screen,#hall-react,.hall-queue,.bolha-shop,#start) button,#bolha-games button:not(.chess-square),#action,#quality,.ui-btn,.hall-tile{font:800 15px/1.15 var(--ui-font);color:#fff;border:0;border-radius:10px;padding:10px 14px;background:linear-gradient(180deg,var(--ui-blue),var(--ui-blue-2));box-shadow:inset 0 1px 0 #ffffff3a,0 3px 0 #1a2742,0 5px 10px #0005;text-shadow:0 1px 0 #0007;cursor:pointer;transition:transform .06s,filter .15s}
button:not(:disabled):not(#phone *):not(.chess-square):hover,.ui-btn:hover{filter:brightness(1.1)}
button:not(:disabled):not(#phone *):not(.chess-square):active,.ui-btn:active{transform:translateY(2px)}
:is(#auth,#menu,#elevator,#work-panel,#reception-chat,#interview,#interview-board,.bolha-shop,#hall-controls) button:disabled,#bolha-games button:not(.chess-square):disabled{opacity:.45;cursor:default;filter:saturate(.6)}
:is(.ui-btn.gold,.ui-btn.on,#hall-react button.on,#start button,#reception-chat form button,#interview .interview-body button,#floors button:disabled){background:linear-gradient(180deg,var(--ui-gold),var(--ui-gold-2));color:#2a1c02;text-shadow:0 1px 0 #fff5;box-shadow:inset 0 1px 0 #fff9,0 3px 0 #9a5f06,0 5px 10px #0005;opacity:1;filter:none}
.danger{background:linear-gradient(180deg,#d9554b,#ab322c);box-shadow:inset 0 1px 0 #ffffff40,0 3px 0 #651a17,0 5px 10px #0005}
.ui-close,:is(#reception-chat,#interview,#interview-board) header button{width:38px;height:38px;padding:0;display:grid;place-items:center;font:900 22px/1 var(--ui-font);color:#fff;background:#16213a;border:2px solid var(--ui-edge);border-radius:10px;box-shadow:0 2px 0 #0b1322;cursor:pointer}
.ui-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;font:800 13px var(--ui-font);color:#fff;background:#2a3b5d;border:2px solid #3d5480;cursor:pointer}
.ui-pill.good{background:#1d4a34;border-color:#3f9a63}.ui-pill.bad{background:#4a1f22;border-color:#a34444}

/* Fields */
:is(#ask,#work-panel,#reception-chat,#interview,#interview-board,.bolha-shop) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){background:#0f1829;color:var(--ui-text);border:2px solid #34496f;border-radius:9px;font:600 15px var(--ui-font);padding:9px 10px}
:is(#ask,#work-panel,#reception-chat,#interview,#interview-board,.bolha-shop) :is(input,textarea,select):focus{outline:none;border-color:var(--ui-gold)}
input[type=range]{accent-color:#4f8df5}

/* HUD and screens */
#brand b{font-weight:900;letter-spacing:.12em}#place{font-weight:700}
#start h1{font-weight:900}#start button{font-size:18px;padding:14px 28px;border-radius:12px}
#toast{background:linear-gradient(180deg,#24365a,#19253f);border:2px solid var(--ui-edge);border-radius:12px;padding:10px 16px;font-weight:700;box-shadow:0 8px 24px #0008}
#ride{background:radial-gradient(circle,#24365a,#111a2c);font-weight:900;text-transform:uppercase;letter-spacing:.04em}
#stick{border:2px solid var(--ui-edge);background:#19253f66}#stick i{background:linear-gradient(180deg,var(--ui-blue),var(--ui-blue-2));box-shadow:0 2px 0 #1a2742}
#work-badge,#wallet-hud{font:800 15px var(--ui-font);font-variant-numeric:tabular-nums;color:#fff;background:linear-gradient(180deg,#24365a,#19253f);border:2px solid var(--ui-edge);border-radius:12px;box-shadow:0 4px 12px #0007}

/* Text inside the panels that assumed a light background */
:is(.work-entry,.work-person,.bolha-shop .wallet-item){border-bottom-color:#ffffff1a}
#work-message{color:#ffab9c}.work-warning{color:#ffc58a}
#reception-chat header,:is(#interview,#interview-board) header{border-bottom-color:#ffffff14}
.chess-layout aside{color:var(--ui-text)}

/* Auditorium panel */
#hall-controls{position:fixed;right:20px;bottom:72px;width:440px;max-width:calc(100vw - 24px);max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;padding:12px 14px 14px;z-index:30;font-size:14px}
.ui-head{display:flex;align-items:center;gap:10px}
.ui-head-icon{font-size:26px;color:#9fc3ff}
.ui-live{width:10px;height:10px;border-radius:50%;background:#56657f;box-shadow:0 0 0 2px var(--ui-edge-in)}.ui-live.on{background:#3ddc6a;box-shadow:0 0 0 2px var(--ui-edge-in),0 0 10px #3ddc6a}
.ui-head .ui-close{margin-left:auto}

#hall-controls.folded .hall-body{display:none}#hall-controls.folded [data-fold] .ic{--ic:url(/assets/icons/ui/arrow-up-01.svg)}
.hall-body{display:flex;flex-direction:column;gap:10px;margin-top:10px}.hall-body .ui-chip{align-self:flex-start}
.hall-slides{display:flex;align-items:center;gap:8px}
.hall-arrow{width:46px;height:42px;padding:0!important;display:grid;place-items:center}
.hall-count{flex:1;display:flex;flex-direction:column;align-items:center;line-height:1.15;text-align:center}
.hall-count small{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted)}.hall-count b{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}
.hall-upload{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;font-weight:900;padding:11px 14px}
.hall-thumbs{display:flex;gap:8px}.hall-thumbs:not(:has(img:not([hidden]))){display:none}.hall-thumbs img{width:120px;height:68px;object-fit:cover;border-radius:6px;background:#0f1829;border:2px solid #34496f}
.hall-progress{font-size:12px;color:var(--ui-muted)}.hall-progress:empty{display:none}
.hall-group{margin-top:10px}.hall-group>small{display:block;margin:0 0 9px 2px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted)}
.hall-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hall-grid .ui-btn{display:flex;align-items:center;gap:8px;text-align:left;padding:8px 12px;min-height:46px}.emo{font-size:22px;line-height:1;text-shadow:none;filter:drop-shadow(0 1px 1px #0006)}
.hall-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;padding-top:12px;border-top:2px solid #ffffff12}
.hall-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 6px;font-size:13px;text-align:center}.hall-tile .ic{font-size:22px}.hall-tile.danger span{color:#ffe0dc}
.hall-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hall-foot:not(:has(>:not([hidden]))){display:none}
.hall-volume{margin-left:auto;display:flex;align-items:center;gap:6px;flex:1;min-width:80px;max-width:170px}.hall-volume .ic{font-size:18px}.hall-volume input{width:100%;min-width:0}
.hall-queue strong{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted);margin-bottom:4px}.hall-queue ol{margin:4px 0 0;padding-left:20px}.hall-queue li{margin:6px 0}.hall-queue div{margin:4px 0}.hall-queue button{margin-left:6px;padding:5px 10px;font-size:13px}.hall-empty{color:var(--ui-muted)}

/* Listener reactions: a bar of its own on desktop, a row inside the panel on touch screens */
#hall-react{position:fixed;left:50%;bottom:118px;transform:translateX(-50%);display:flex;gap:6px;padding:7px;z-index:30;background:linear-gradient(180deg,#24365a,#19253f);border:3px solid var(--ui-edge);border-radius:16px;box-shadow:inset 0 0 0 2px var(--ui-edge-in),0 10px 30px #0008}
#hall-react button{position:relative;width:46px;height:46px;padding:0;font-size:22px;line-height:1;border-radius:11px}
#hall-react button.off{opacity:.35;cursor:not-allowed}
#hall-react button.cool::after{content:'';position:absolute;left:0;right:0;bottom:0;height:100%;background:#0009;border-radius:inherit;animation:hall-cool 3s linear forwards;pointer-events:none}@keyframes hall-cool{from{height:100%}to{height:0}}
#hall-react kbd{position:absolute;right:3px;bottom:2px;font:800 10px var(--ui-font);color:#d7e6f2}
#hall-stream{position:fixed;left:24px;bottom:52px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none;z-index:31}
.hall-bubble{background:#1d2b47ee;color:#f8fbff;border:2px solid var(--ui-edge);border-radius:16px;padding:5px 12px;font-size:15px;font-weight:700;animation:hall-bubble 3s ease-out forwards}@keyframes hall-bubble{0%{opacity:0;transform:translateY(14px) scale(.85)}12%{opacity:1;transform:none}75%{opacity:1}100%{opacity:0;transform:translateY(-56px)}}
#hall-screen{position:fixed;inset:0;background:#111;z-index:65;display:flex;flex-direction:column;align-items:center;padding:16px;gap:10px}#hall-screen video,#hall-screen img{width:100%;min-height:0;flex:1;object-fit:contain}#hall-screen button{align-self:flex-end}
@media (pointer:fine) and (max-width:1000px){#hall-react{left:24px;bottom:46px;transform:none}#hall-react button{width:40px;height:40px;font-size:19px}#hall-stream{bottom:112px}}
@media (pointer:coarse){#hall-stream{bottom:160px}#hall-controls #hall-react{position:static;transform:none;background:none;border:0;box-shadow:none;padding:0;margin-top:10px;justify-content:space-between}#hall-react kbd{display:none}#hall-controls #hall-react button{width:44px;height:44px}}
@media (max-width:600px){#hall-controls{right:12px;left:12px;width:auto;bottom:200px;padding:10px;max-height:calc(100vh - 210px);max-height:calc(100dvh - 210px)}#hall-stream{left:16px;bottom:160px}.hall-grid .ui-btn{font-size:14px;padding:10px}.hall-upload{padding:10px}.hall-tile{font-size:12px;padding:9px 3px}}

/* Afisha window at a hall poster */
#poster-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:640px;max-width:calc(100vw - 24px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:12px 14px 14px;z-index:38;font-size:14px;background:linear-gradient(180deg,#24365a,#19253f);color:var(--ui-text);border:3px solid var(--ui-edge);border-radius:18px;box-shadow:inset 0 0 0 2px var(--ui-edge-in),0 16px 44px #000a}
.poster-body{display:flex;gap:14px;margin-top:10px;align-items:flex-start}
.poster-preview{width:216px;aspect-ratio:4/5;flex:none;border-radius:8px;box-shadow:0 0 0 3px #a98a5f,0 8px 20px #0008}
.poster-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}.poster-side p{margin:0;line-height:1.35}.poster-side .ui-chip{align-self:flex-start}
.poster-title{font:900 18px/1.2 var(--ui-font)}.poster-note,.poster-by{color:var(--ui-muted)}.poster-note{white-space:pre-line}.poster-status{color:#ffc58a;min-height:1em}.poster-status:empty{display:none}
.poster-form{display:flex;flex-direction:column;gap:9px}.poster-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted)}
.poster-form :is(input,select,textarea){background:#0f1829;color:var(--ui-text);border:2px solid #34496f;border-radius:9px;font:600 15px var(--ui-font);padding:8px 10px;text-transform:none;letter-spacing:0}.poster-form textarea{resize:none;line-height:1.3}.poster-form :is(input,select,textarea):focus{outline:none;border-color:var(--ui-gold)}.poster-form .over,.poster-form .over:focus{border-color:#e0605a}
.poster-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.poster-row>label{min-width:0}.poster-row :is(input,select){width:100%;min-width:0}.poster-form>small{color:var(--ui-muted);line-height:1.4}
.poster-tabs,.poster-styles{display:flex;flex-wrap:wrap;gap:6px}.poster-form .ui-pill.on{background:linear-gradient(180deg,var(--ui-gold),var(--ui-gold-2));border-color:#9a5f06;color:#2a1c02}
[data-pane]{display:flex;flex-direction:column;gap:8px}[data-pane][hidden]{display:none}[data-pane] small{color:var(--ui-muted)}
.poster-colors{display:flex;gap:8px}.poster-swatch{width:34px;height:34px;border-radius:50%;border:3px solid #16213a;padding:0;cursor:pointer}.poster-swatch.on{border-color:var(--ui-gold)}
.poster-icons{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.poster-icon{aspect-ratio:1;font-size:20px;padding:0;border-radius:9px;border:2px solid #34496f;background:#0f1829;cursor:pointer}.poster-icon.on{border-color:var(--ui-gold);background:#2c3f63}
.poster-form label.poster-file{display:inline-flex;align-self:flex-start;font:800 15px/1.15 var(--ui-font);text-transform:none;letter-spacing:0;color:#fff}
@media(max-width:600px){.poster-body{flex-direction:column;align-items:center}.poster-preview{width:150px}.poster-side{width:100%}#poster-panel{top:12px;transform:translateX(-50%);max-height:calc(100dvh - 24px)}}

/* Presenter keys on the hall panel's buttons; touch screens have no keyboard, so no badges there */
.hall-body :is(.ui-btn,.hall-tile){position:relative}
.hall-body kbd{position:absolute;right:5px;top:4px;font:800 10px/1 var(--ui-font);color:#cfe0ff;padding:2px 4px;border-radius:4px;background:#0d152699;text-shadow:none}
.hall-body .ui-pill kbd{position:static;margin-left:2px}
@media(pointer:coarse){.hall-body kbd{display:none}}

/* Sound desk window */
#desk-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:380px;max-width:calc(100vw - 24px);padding:12px 14px 14px;z-index:38;font-size:14px;background:linear-gradient(180deg,#24365a,#19253f);color:var(--ui-text);border:3px solid var(--ui-edge);border-radius:18px;box-shadow:inset 0 0 0 2px var(--ui-edge-in),0 16px 44px #000a}
.desk-note{margin:10px 2px;color:var(--ui-muted);line-height:1.35}.desk-tracks{display:flex;flex-direction:column;gap:8px}.desk-tracks .ui-btn{text-align:left}.desk-tracks .ui-btn:disabled{opacity:.6;cursor:default}.desk-status{margin:8px 2px 0;color:#ffc58a}.desk-status:empty{display:none}

/* Work defaults to essential controls; reports expand vertically beside the phone. */
#work-panel.compact-work{top:auto;bottom:var(--bolha-hud-bottom);right:calc(var(--bolha-phone-width) + var(--bolha-hud-right) + 12px);width:320px;max-width:calc(100vw - 24px);max-height:min(340px,calc(100dvh - 110px));font-size:14px}
#work-panel.compact-work header{padding:9px;gap:6px}#work-panel.compact-work header strong{font-size:15px;white-space:nowrap}
#work-panel.compact-work header button{padding:7px 8px;font-size:12px}#work-panel.compact-work #work-body{padding:10px}
#work-panel.compact-work:not(.work-expanded) .work-secondary,#work-panel.compact-work:not(.work-expanded) .work-hint:not(#work-toggl){display:none}
#work-panel.compact-work:not(.work-expanded) .work-clock{font-size:32px;margin:8px 0}
#work-panel.compact-work:not(.work-expanded) #work-message:empty{display:none}
#work-panel.compact-work:not(.work-expanded) .work-current-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#work-panel.compact-work #work-toggl{font-size:11px;margin:3px 0}
#work-panel.compact-work.work-expanded{top:18px;bottom:18px;height:calc(100dvh - 36px);max-height:none}
#work-panel.compact-work.work-expanded .work-clock{font-size:38px}
#work-badge{right:calc(var(--bolha-phone-width) + var(--bolha-hud-right) + 12px)}
@media(max-width:700px){#work-panel.compact-work{top:76px;bottom:auto;left:12px;right:auto;width:calc(100vw - 24px);max-height:min(220px,calc(100dvh - var(--bolha-phone-stack-height,var(--bolha-phone-height)) - var(--bolha-hud-bottom) - 100px))}#work-panel.compact-work.work-expanded{height:calc(100dvh - var(--bolha-phone-stack-height,var(--bolha-phone-height)) - var(--bolha-hud-bottom) - 100px);max-height:calc(100dvh - var(--bolha-phone-stack-height,var(--bolha-phone-height)) - var(--bolha-hud-bottom) - 100px)}#work-badge{left:12px;right:auto;top:104px}}
#work-panel.compact-work:not(.work-expanded) #work-body p{margin:6px 0}
@media(max-width:700px){#work-panel.compact-work:not(.work-expanded) header{padding:7px}#work-panel.compact-work:not(.work-expanded) #work-body{padding:8px}#work-panel.compact-work:not(.work-expanded) .work-clock{font-size:28px;margin:4px 0}#work-panel.compact-work.work-expanded{top:76px;bottom:auto}}

#work-badge{left:auto;right:max(18px,env(safe-area-inset-right));top:90px;bottom:auto}
@media(max-width:700px){#work-badge{left:auto;right:12px;top:18px;font-size:13px}}
@media(max-height:500px){#work-badge{right:calc(var(--bolha-phone-width) + var(--bolha-hud-right) + 12px);top:18px}}

/* Auxiliary cards share a quiet frame and a lane beside the persistent phone. */
:root{--mini-card-width:300px;--mini-card-gap:14px;--mini-card-right:calc(var(--bolha-phone-width) + var(--bolha-hud-right) + var(--mini-card-gap))}
:is(#work-panel,#bolha-games.chess3d,#reception-chat,#interview,#interview-board,#desk-panel,.npc-chat).mini-card{inset:auto var(--mini-card-right) var(--bolha-hud-bottom) auto;transform:none;width:var(--mini-card-width);min-width:0;max-width:calc(100vw - var(--mini-card-right) - 14px);height:auto;max-height:min(360px,calc(100dvh - 100px));display:flex;flex-direction:column;overflow:hidden;padding:0;font-size:13px;color:#eaf1fa;background:#1b2c43f5;border:1px solid #6b839d;border-radius:14px;box-shadow:0 8px 28px #09111f55}
:is(#work-panel,#bolha-games.chess3d,#reception-chat,#interview,#interview-board,#desk-panel,.npc-chat).mini-card[hidden]{display:none}
:is(#work-panel,#bolha-games.chess3d,#reception-chat,#interview,#interview-board,#desk-panel,.npc-chat).mini-card :is(header,.ui-head){display:flex;flex-shrink:0;align-items:center;flex-direction:row;gap:6px;padding:10px 12px;background:#293f5b;border-bottom:1px solid #ffffff15}
:is(#work-panel,#bolha-games.chess3d,#reception-chat,#interview,#interview-board,#desk-panel,.npc-chat).mini-card :is(header,.ui-head) :is(strong,h2){flex:1;min-width:0;margin:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 15px/1.3 var(--ui-font);text-transform:none;letter-spacing:0;text-shadow:none}
.mini-card :is(header,.ui-head) button{flex-shrink:0;width:auto!important;margin:0!important;background:#3d5c80;color:#f3f7ff;padding:7px 9px!important;font-size:12px!important;box-shadow:none!important;border:1px solid #8ba8cb40!important;border-radius:8px!important}
.mini-card :is(header,.ui-head) [data-mini-resize],.mini-card :is(header,.ui-head) [data-resize]{width:30px!important;padding:5px!important;font:700 19px/1 system-ui!important}
.mini-card :is(.games-body,#work-body,.interview-body,.reception-messages){min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px!important;scrollbar-width:thin;scrollbar-color:#6b839d transparent}
.mini-card :is(.games-body,#work-body){flex:1}
.mini-card :is(p,label){line-height:1.4}
#work-panel.mini-card:not(.work-expanded) .work-clock{font:650 34px/1.1 system-ui;font-variant-numeric:tabular-nums;margin:10px 0 12px}
#work-panel.mini-card:not(.work-expanded) .work-current-note{max-height:2.8em;overflow:hidden;white-space:normal;color:#bdcde0;font-size:12px}
#work-panel.mini-card .work-actions{gap:8px}#work-panel.mini-card .work-actions button{padding:9px;font-size:13px;box-shadow:none}
#bolha-games.chess3d.mini-card .chess-status{font-size:12px;line-height:1.4;background:#101d2c80;color:#dce8f8;padding:8px 10px;border-radius:8px;margin:0 0 10px}
#bolha-games.chess3d.mini-card aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;font-size:12px;line-height:1.4}
#bolha-games.chess3d.mini-card aside>:not(button){grid-column:1/-1}
#bolha-games.chess3d.mini-card .chess-player{padding:6px 8px;min-height:30px;background:#ffffff06;border-radius:7px;font-size:12px;gap:6px}
#bolha-games.chess3d.mini-card .chess-player>strong{min-width:0;overflow-wrap:anywhere}
#bolha-games.chess3d.mini-card aside>button{width:100%;margin:0;font-size:12px;padding:9px 6px;box-shadow:none}
#bolha-games.chess3d.mini-card h3{font-size:12px;margin:8px 0 0;color:#dce8f8}
#bolha-games.chess3d.mini-card p{margin:0;color:#bdcde0}
#bolha-games.chess3d.mini-card .chess-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px;padding-top:8px}
#bolha-games.chess3d.mini-card .chess-setup>:not(label){grid-column:1/-1}
#bolha-games.chess3d.mini-card .chess-setup label{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:0;font-size:11px;color:#bdcde0}
#bolha-games.chess3d.mini-card .chess-setup select{width:100%;max-width:100%;padding:6px;font-size:12px}
#bolha-games.chess3d.mini-card .chess-setup button{margin:0;padding:9px;font-size:12px;box-shadow:none}
#bolha-games.chess3d.mini-card details{margin-top:2px}#bolha-games.chess3d.mini-card summary{padding:8px 0;font-size:12px}
#bolha-games.chess3d.mini-card:not(.mini-expanded) aside>p:nth-last-child(-n+2){display:none}
:is(#work-panel.work-expanded,#bolha-games.chess3d.mini-expanded,#reception-chat.mini-expanded,#interview.mini-expanded,#interview-board.mini-expanded,#desk-panel.mini-expanded,.npc-chat.mini-expanded).mini-card{top:76px;bottom:var(--bolha-hud-bottom);height:calc(100dvh - 76px - var(--bolha-hud-bottom));max-height:none}
#desk-panel.mini-card :is(.desk-note,.desk-tracks,.desk-status){margin:10px 12px}#desk-panel.mini-card .desk-tracks{min-height:0;overflow:auto}
@media(max-width:1000px) and (orientation:portrait){
 :is(#work-panel,#bolha-games.chess3d,#reception-chat,#interview,#interview-board,#desk-panel,.npc-chat).mini-card{inset:auto 12px calc(var(--bolha-phone-stack-height,var(--bolha-phone-height)) + var(--bolha-hud-bottom) + 12px) auto;width:min(300px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:max(80px,min(320px,calc(100dvh - var(--bolha-phone-stack-height,var(--bolha-phone-height)) - var(--bolha-hud-bottom) - 92px)))}
 :is(#work-panel.work-expanded,#bolha-games.chess3d.mini-expanded,#reception-chat.mini-expanded,#interview.mini-expanded,#interview-board.mini-expanded,#desk-panel.mini-expanded,.npc-chat.mini-expanded).mini-card{top:76px;height:auto;max-height:none}
}
@media(orientation:landscape) and (max-height:500px){
 :is(#work-panel,#bolha-games.chess3d,#reception-chat,#interview,#interview-board,#desk-panel,.npc-chat).mini-card{width:280px;max-height:calc(100dvh - 76px)}
 :is(#work-panel.work-expanded,#bolha-games.chess3d.mini-expanded,#reception-chat.mini-expanded,#interview.mini-expanded,#interview-board.mini-expanded,#desk-panel.mini-expanded,.npc-chat.mini-expanded).mini-card{top:60px;height:calc(100dvh - 72px)}
}

#bolha-games.chess3d.mini-card .chess-modes{display:flex;gap:4px;padding:4px;background:#101d2c80;border-radius:9px;margin:4px 0}
#bolha-games.chess3d.mini-card .chess-modes button{flex:1;min-width:0;padding:8px;margin:0;background:transparent;border:0;box-shadow:none;color:#bacbe0;font-size:12px;border-radius:6px}
#bolha-games.chess3d.mini-card .chess-modes [aria-pressed=true]{background:#45668d;color:white}
#bolha-games.chess3d.mini-card .chess-friend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#bolha-games.chess3d.mini-card .chess-friend p{grid-column:1/-1}
#bolha-games.chess3d.mini-card .chess-friend button{font-size:12px;box-shadow:none;padding:9px 5px;margin:0;width:100%}
#bolha-games.chess3d.mini-card :is(.chess-setup,.chess-friend)[hidden]{display:none}
#bolha-games.chess3d.mini-card .chess-modes~.chess-setup{padding-top:0;border:0;margin:0}
#bolha-games.chess3d.mini-card .chess-modes~.chess-setup h3{display:none}
#bolha-games.chess3d.mini-card :is(.chess-history,.chess-help){margin:0}
#bolha-games.chess3d.mini-card .chess-help p{margin:6px 0}

@media(max-width:1000px) and (orientation:portrait){
 #bolha-games.chess3d.mini-card.chess-running:not(.mini-expanded) .chess-layout aside{display:none}
 #bolha-games.chess3d.mini-card.chess-running:not(.mini-expanded) .chess-status{margin:0}
}

/* NPC browser speech: keep recording controls visible above the optional transcript. */
.npc-chat .npc-speech{padding:12px 12px 0;flex-shrink:0}
.npc-chat .npc-speech-actions{display:flex;gap:8px;flex-wrap:wrap}
.npc-chat .npc-speech-actions button{flex:1;min-height:40px;font:700 14px var(--ui-font)}
.npc-chat .npc-speech-actions button[aria-pressed=true]{background:#aa3e4e;color:#fff}
.npc-chat .npc-speech-options{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}
.npc-chat .npc-speech-options label{display:flex;align-items:center;gap:5px;margin:0;font-size:13px}
.npc-chat .npc-speech-options input{flex:none;accent-color:#dea94f;width:17px;height:17px}
.npc-chat .npc-speech-help{font-size:12px;line-height:1.4;margin:9px 0 0;opacity:.85}
.npc-chat .reception-messages[hidden]{display:none}
.npc-chat .reception-status{padding:0 12px 12px;line-height:1.4;margin:0;flex-shrink:0}
.npc-chat.mini-card form{padding:10px 12px;flex-shrink:0}
.npc-chat.mini-card form>label{font-size:12px}
.npc-chat.mini-card form>div{display:flex;gap:6px}
.npc-chat.mini-card form input{width:0;min-width:0;flex:1;background:#0f1829;color:#eaf1fa;border:2px solid #34496f;border-radius:9px}
.npc-chat.mini-card form button{padding:9px;font-size:13px}

/* Elevator: compact close control in the top-right of its heading. */
#elevator .lift-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-6px -6px 18px 0}
#elevator .lift-head h2{margin:0}
#elevator #lift-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin:0;padding:0;font-size:28px;line-height:1;text-align:center}

/* Automatic NPC conversation is a status card; it never captures the movement/camera. */
:is(#reception-chat,.npc-chat).npc-handsfree{inset:auto auto 28px 20px;width:310px;max-width:calc(100vw - 40px);max-height:48dvh;overflow:auto;background:#1b2c43f2;color:#eaf1fa;border:1px solid #6b839d;box-shadow:0 5px 24px #09111f55;pointer-events:auto}
:is(#reception-chat,.npc-chat).npc-handsfree header{padding:9px 12px;border-bottom:1px solid #ffffff18;gap:8px}
:is(#reception-chat,.npc-chat).npc-handsfree header strong{font-size:14px;flex:1}
:is(#reception-chat,.npc-chat).npc-handsfree header button{width:32px;height:32px;padding:0;flex:none}
:is(#reception-chat,.npc-chat).npc-handsfree header [data-write]{width:auto;padding:0 8px;font-size:12px}
:is(#reception-chat,.npc-chat).npc-handsfree :is(.npc-speech-actions,.reception-messages,form,[data-mini-resize]){display:none!important}
:is(#reception-chat,.npc-chat).npc-handsfree .npc-speech{padding:0 12px 10px;display:flex;flex-direction:column-reverse}
:is(#reception-chat,.npc-chat).npc-handsfree .npc-speech-help{font-size:14px;font-weight:700;opacity:1;line-height:1.4}
:is(#reception-chat,.npc-chat).npc-handsfree .npc-speech-options{margin-top:8px}
:is(#reception-chat,.npc-chat).npc-handsfree .npc-auto-note{padding:0 12px 10px;margin:0;font-size:11px;line-height:1.4;opacity:.7}
:is(#reception-chat,.npc-chat).npc-handsfree .npc-auto-answer{padding:0 12px 10px;margin:0;max-height:100px;overflow:auto;font-size:14px;line-height:1.45}
@media(max-width:600px){:is(#reception-chat,.npc-chat).npc-handsfree{inset:86px 12px auto;width:calc(100vw - 24px);max-width:none;max-height:35dvh}}
/* Рабочий журнал: общий диалог исправления времени. */
#ask{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;background:#080e1cb3;touch-action:auto}#ask.hidden{display:none}
#ask .sheet{box-sizing:border-box;width:min(440px,100%);max-height:80vh;overflow:auto;padding:20px}#ask-who{font-weight:900;margin:0 0 12px}#ask-text{margin:0;line-height:1.45;white-space:pre-line}#ask-input{box-sizing:border-box;width:100%;margin-top:16px}#ask .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}#ask [hidden]{display:none!important}
#work-history a{color:#bcd7ff;text-decoration:underline}

/* Interview: the same navy, steel and gold as the HUD, with room for reading and an unobstructed view of Alex. */
#interview{inset:auto 20px 28px auto;width:430px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 105px);display:flex;flex-direction:column;overflow:hidden;background:#1b2c43f5;border:1px solid #6b839d;border-radius:16px;box-shadow:0 12px 36px #09111f66;color:#eaf1fa;font-size:14px}
#interview[hidden]{display:none}
#interview header{position:static;display:flex;gap:12px;align-items:center;flex-shrink:0;padding:16px;background:#293f5b}
#interview .interview-avatar{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:#426080;color:#f9d984;font-size:24px;font-weight:900;border:1px solid #7c95b3}
#interview .interview-heading{flex:1;min-width:0;display:grid;gap:4px}
#interview header strong{font-size:19px;text-transform:none;letter-spacing:0;text-shadow:none}
#interview .interview-heading>span{font-size:11px;color:#bbccdf}
#interview .interview-body{padding:18px;overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6b839d transparent;line-height:1.55}
#interview h2{margin:0 0 12px;font-size:21px;line-height:1.25;overflow-wrap:anywhere}
#interview .interview-intro{margin:0 0 18px;color:#cbd7e7}
#interview .interview-stages{display:flex;justify-content:space-between;gap:8px;margin:0 0 22px;color:#c3d3e5;font-size:11px;font-weight:800}
#interview form{display:grid;gap:10px;margin:14px 0}
#interview label{font-weight:800;font-size:14px}
#interview input,#interview textarea{box-sizing:border-box;margin:0;width:100%;min-width:0;border:1px solid #526c89;border-radius:10px;background:#112137;color:#eaf1fa;font-size:15px;line-height:1.5;padding:11px 12px}
#interview textarea{min-height:126px;resize:vertical;max-height:35dvh}
#interview .interview-tracks{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
#interview .interview-body button.interview-track,#interview button.interview-secondary,#interview footer button{background:#293e57;color:#cad9eb;box-shadow:none;text-shadow:none;border:1px solid #526c89;font-size:12px;padding:8px 10px;font-weight:700}
#interview .interview-body button.interview-track[aria-pressed=true]{background:#3d5673;border-color:#e3bc68;color:#ffe0a0}
#interview .interview-body button.interview-primary{width:100%;padding:13px 14px;margin:4px 0;font-size:14px}
#interview .interview-body button:disabled{opacity:.5;cursor:wait}
#interview .interview-note{font-size:11px;color:#acbfd5;margin:10px 0 0}
#interview .interview-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#bdcfe3}
#interview .ui-chip{background:#30465f;color:#e0eaf7;border-radius:8px;max-width:65%;overflow-wrap:anywhere;padding:5px 9px}
#interview .interview-progress{display:flex;gap:5px;margin:14px 0 22px}
#interview .interview-progress i{height:4px;flex:1;background:#3b506a;border-radius:3px}
#interview .interview-progress .done{background:#90b8ad}#interview .interview-progress .current{background:#f0c775}
#interview .interview-question{background:#112137;border:1px solid #415c79;border-radius:12px;padding:14px;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}
#interview .interview-review{margin:14px 0;background:#21354c;border:1px solid #425a73;border-radius:10px;padding:10px 12px;overflow-wrap:anywhere}
#interview .interview-review summary{cursor:pointer;color:#c1d5e9;font-size:12px;font-weight:800}
#interview .interview-review p{margin:10px 0 0;color:#d9e4ef;white-space:pre-wrap}
#interview .interview-answer-meta{display:flex;gap:12px;justify-content:space-between;color:#9fb4cc;font-size:10px}
#interview [data-count]{white-space:nowrap;font-variant-numeric:tabular-nums}
#interview button.interview-secondary{width:100%;margin-top:4px;background:transparent;border-color:transparent;color:#a9bed5}
#interview .interview-status{flex-shrink:0;color:#f5d18c;margin:0;padding:0 18px 12px;font-size:12px}
#interview .interview-status:empty{display:none}
#interview footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;padding:10px 18px;border-top:1px solid #ffffff12;font-size:11px;color:#9fb4cc}
#interview .interview-result{display:flex;align-items:baseline;gap:14px;padding:18px;background:#112137;border-radius:12px}
#interview .interview-result strong{font-size:36px;color:#f3ce80;line-height:1.1}#interview .interview-result span{color:#c3d6e9}
#interview .interview-achievement{color:#f3ce80}
@media(max-width:600px){#interview{inset:auto 12px 16px;width:calc(100vw - 24px);max-width:none;max-height:64dvh}#interview header{padding:12px}#interview .interview-body{padding:14px}#interview h2{font-size:19px}#interview .interview-stages{margin-bottom:16px}#interview textarea{min-height:100px}#interview .interview-heading>span{font-size:10px}#interview footer{padding:8px 14px}}
@media(max-height:500px){#interview{top:64px;bottom:12px;max-height:calc(100dvh - 76px)}#interview header{padding:8px 12px}#interview .interview-avatar{width:32px;height:32px;font-size:20px}}

.poster-by{white-space:pre-line}.poster-organiser{white-space:pre-line;color:var(--ui-muted);font-size:12px}

.hall-team{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;padding:10px}.hall-team[hidden]{display:none}.hall-team p{flex:1 0 100%;margin:0}.hall-team select{min-width:0;max-width:100%;flex:1;background:#19253f;color:var(--ui-text);border:2px solid #536d98;border-radius:8px;padding:8px;font:inherit}.hall-team .ui-btn{white-space:normal}

/* #128: minimize auditorium windows without closing their underlying sessions. */
.hall-window-folded{display:none!important}
#hall-window-dock{position:fixed;right:20px;bottom:46px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100vw - 160px);z-index:35}
#hall-window-dock[hidden]{display:none}
@media(min-width:701px) and (min-height:501px) and (pointer:fine){body:has(#hall-window-dock:not([hidden])) #hall-controls{bottom:104px}}
#hall-window-dock .hall-window-restore{display:grid;place-items:center;width:44px;height:44px;padding:9px;border:1px solid #6383aa;border-radius:12px;background:#10243aee;color:#b9d6ff;box-shadow:0 4px 14px #0005;cursor:pointer}
:is(#hall-controls,#hall-react,#poster-panel,#desk-panel,#hall-screen) .hall-window-toggle{display:grid;place-items:center;flex:none;min-width:32px;width:32px;height:32px;padding:5px;border:0;border-radius:8px;background:#ffffff0b;color:#b9d6ff;box-shadow:none;cursor:pointer}
.hall-window-toggle .hud-icon{width:20px;height:20px}
#hall-controls .ui-head .hall-window-toggle{margin-left:auto}
#hall-react .hall-window-toggle{align-self:center;margin-left:3px}
:is(#poster-panel,#desk-panel) .hall-window-toggle{margin-left:auto}:is(#poster-panel,#desk-panel) .hall-window-toggle+.ui-close{margin-left:0}
.hall-screen-tools{display:flex;align-self:stretch;justify-content:flex-end;align-items:center;gap:8px}
.hall-screen-tools .hall-window-toggle{width:36px;height:36px}
#hall-window-dock button:focus-visible,.hall-window-toggle:focus-visible{outline:2px solid #b9d6ff;outline-offset:3px}
body:has(#start:not([hidden])) #hall-window-dock{visibility:hidden}
@media(max-width:700px),(pointer:coarse){#hall-window-dock{right:max(12px,env(safe-area-inset-right));bottom:calc(122px + env(safe-area-inset-bottom))}#hall-window-dock .hall-window-restore{width:40px;height:40px;padding:8px}#hall-react .hall-window-toggle{min-width:32px!important;width:32px!important;height:32px!important}}
@media(max-height:500px) and (orientation:landscape){#hall-window-dock{bottom:12px;flex-direction:column;max-height:calc(100dvh - 160px)}}

@media(max-width:700px),(max-height:500px){
 #hall-controls #hall-react{position:static;transform:none;background:none;border:0;box-shadow:none;padding:0;margin-top:10px;justify-content:space-between;gap:4px}
 #hall-controls #hall-react button{flex:1;min-width:0;width:40px;height:40px}
 #hall-controls #hall-react kbd{display:none}
}

@media(max-width:700px){body:has(#hall-window-dock:not([hidden])) #desk-panel.mini-card{bottom:calc(174px + env(safe-area-inset-bottom))}}
