:root{color-scheme:dark;--bg:#141610;--panel:#1d2119;--line:#353c2b;--text:#f0f0e7;--muted:#b3baa8;--acid:#d9ed8a;--orange:#efb782;--red:#ffad99}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}button{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 16px;background:transparent;color:var(--text);cursor:pointer}button:hover:not(:disabled){background:#333d27}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--acid);outline-offset:3px}button.primary{background:var(--acid);border-color:var(--acid);color:#242d16;font-weight:750}button.primary:hover{background:#e8f4b7}.secondary{background:#282f22}.quiet{border:0;color:var(--muted);padding:8px;font-size:14px}.iconbtn{width:44px;padding:0;font-size:22px}.shell{max-width:1120px;margin:auto;padding:24px 32px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none;font-size:23px;letter-spacing:4px;font-weight:850}.brandmark{display:grid;place-items:center;width:43px;height:43px;background:var(--acid);color:#26301b;font-size:30px;border-radius:4px;transform:rotate(-5deg);letter-spacing:0}.version{font-size:14px;color:var(--muted);letter-spacing:0;font-weight:400}.head-actions{display:flex;gap:16px;align-items:center}.wallets{display:flex;gap:32px;align-items:center;border-block:1px solid var(--line);padding:16px 0}.wallets>div{display:flex;align-items:baseline;gap:12px}.wallets span{font-size:14px;color:var(--muted)}.wallets strong{font-size:24px;font-weight:650;letter-spacing:-.6px}.wallets .goal{margin-left:auto;gap:10px}.goal b{font-size:14px;font-weight:500}.progress{height:4px;width:64px;background:var(--line);border-radius:4px;overflow:hidden}.progress i{display:block;height:100%;background:var(--acid)}nav{display:flex;margin:16px 0 24px;gap:8px}nav button{flex:1;border:0;color:var(--muted);font-size:15px}nav button.active{color:var(--acid);background:#d9ed8a0d;box-shadow:inset 0 -2px var(--acid);border-radius:6px 6px 0 0}main{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.2fr);gap:24px;align-items:start}.panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.hero{position:sticky;top:20px}.hero-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:650;color:var(--muted)}.tag{color:var(--acid);font-size:12px}.character-stage{height:340px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#d9ed7812,transparent 65%)}.wallword{position:absolute;left:0;right:0;top:0;text-align:center;font-size:86px;font-weight:950;letter-spacing:-6px;color:#d9ed7809}.halo{position:absolute;width:230px;height:230px;border:1px solid #d9ed7820;border-radius:50%;left:50%;top:45px;transform:translateX(-50%)}#babayTap{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:none}#babayTap img{height:97%;max-width:95%;object-fit:contain;filter:drop-shadow(8px 10px 12px #0008)}#babayTap:active img{transform:rotate(-1deg)}.stage-caption{position:absolute;bottom:10px;left:20px;font-size:11px;letter-spacing:1.5px;color:var(--muted);pointer-events:none}.speech{padding:16px 20px 18px;border-top:1px solid var(--line);min-height:130px}.speech-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1px;color:var(--acid)}.speech-label .quiet{font-size:12px;min-height:28px;padding:0}.speech p{font-size:18px;font-weight:550;line-height:1.5;margin:8px 0 0}.speaking .speech-label>span:after{content:' • • •';color:var(--acid)}.vitals{padding:0 20px 12px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.vitals label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:6px}.vitals label b{font-weight:500;color:var(--text)}.meter{height:4px;background:var(--line);border-radius:4px;overflow:hidden}.meter i{display:block;height:100%;background:var(--orange)}.meter.need i{background:var(--acid)}.beerbar{display:flex;align-items:center;gap:16px;padding:0 20px 16px;font-size:14px}.beerbar>span{margin-right:auto}.beerbar label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.beerbar button{padding:8px 14px;font-size:14px}input[type=checkbox]{accent-color:var(--acid);width:18px;height:18px}.view{padding:28px;min-height:640px}.view[hidden]{display:none}h1{font-size:48px;line-height:1.08;letter-spacing:-2px;margin:24px 0 20px}h1 em{font-style:normal;color:var(--acid)}h2{font-size:23px;line-height:1.25;margin:10px 0}p.intro{color:var(--muted);line-height:1.65;max-width:420px;margin-bottom:28px}.destinations{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-card{text-align:left;padding:18px;background:#252d1f;display:flex;flex-direction:column;gap:8px}.action-card>span{font-size:28px;color:var(--acid)}.action-card b{font-size:18px}.action-card small{font-size:13px;color:var(--muted)}.shift{display:flex;align-items:center;gap:14px;margin:24px 0}.shift>span{font-size:13px;color:var(--muted)}.shift button{font-size:14px}.more{border-top:1px solid var(--line);padding-top:16px;margin-top:24px}summary{font-size:14px;color:var(--muted);cursor:pointer;min-height:44px;padding:10px 0}.more ol{list-style:none;padding:0;font-size:13px;color:var(--muted)}.more li{padding:6px 0}.more .button-row button{font-size:12px}.muted{font-size:13px;line-height:1.6;color:var(--muted)}.loan-request{border:1px solid #d9ed7840;background:#d9ed7808;border-radius:8px;padding:14px}.loan-request p{font-size:14px;margin:0 0 12px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.product{display:flex;gap:24px;align-items:center;margin:32px 0}.beer-art{font-size:72px}.product p{font-size:14px;color:var(--muted);margin:8px 0}.product b{font-size:18px}.healbox{border-top:1px solid var(--line);margin-top:32px;padding-top:24px;display:flex;align-items:center;gap:16px}.healbox p{font-size:13px;color:var(--muted);margin:6px 0}.healbox button{margin-left:auto;font-size:14px}.table{background:radial-gradient(ellipse at top,#314c39,#1d3026);border:1px solid #59704c;border-radius:10px;text-align:center;padding:20px 12px;min-height:310px}.dealer-label{font-size:12px;letter-spacing:1.5px;color:#c9d4bb}.dealer-label b{color:white;margin-left:8px}.cards{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:12px 0}.card{width:52px;height:74px;border-radius:5px;background:#f1eddd;color:#242d23;padding:5px 7px;font-size:18px;font-weight:750;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.card span{font-size:22px;align-self:flex-end;line-height:1}.card.red{color:#a8332c}.card.back{background:repeating-linear-gradient(45deg,#40536a 0 3px,#2b3c53 3px 8px);border:3px solid #c8d2c3;color:#d1dacb;justify-content:center;align-items:center}.table-mark{font-size:11px;letter-spacing:3px;color:#d9ed7890;margin:20px 0}.hand{border:1px solid transparent;border-radius:6px;padding:5px}.hand.active{border-color:#b4d16a70}.hand-label{font-size:12px;color:#d0dbc7}.table p{font-size:14px;margin:12px 0 0}.betarea{margin-top:20px}.betarea>label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}.bet-input{display:flex;gap:8px}.bet-input button{padding:10px 12px}.bet-input input{min-width:0;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:19px;text-align:center;-moz-appearance:textfield}.bet-input input::-webkit-inner-spin-button{display:none}.advice{font-size:16px;line-height:1.6;color:var(--acid);padding:18px 0;min-height:76px}.bj-actions{display:flex;gap:8px}.bj-actions button{flex:1;padding:10px 8px}.gate{font-size:14px;color:var(--orange);padding:12px;background:#efb7820a;border-radius:6px}.club-rules{display:grid;gap:10px;font-size:14px;color:var(--muted);border-block:1px solid var(--line);padding:20px 0}.club-rules span:before{content:'↳ ';color:var(--acid)}.club-hud{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:14px}.club-hud b{color:var(--acid)}.arena{position:relative;overflow:hidden;border:1px solid #51415f;border-radius:8px;background:#191421}canvas{width:100%;height:auto;display:block;touch-action:none}#clubAlert{position:absolute;top:10px;left:10px;right:10px;text-align:center;pointer-events:none;font-size:13px;font-weight:650;color:#fff1be;background:#16111edb;border-radius:4px}.club-controls{display:flex;align-items:center;gap:12px;margin:16px 0 0}.dpad{display:grid;grid-template-columns:repeat(3,44px);gap:4px}.dpad button{padding:0;min-height:44px;touch-action:none;user-select:none}.dpad [data-dir=up]{grid-column:2}.dpad [data-dir=left]{grid-column:1}.dpad [data-dir=down]{grid-column:2}.dpad [data-dir=right]{grid-column:3}.club-controls #push{margin-left:auto;min-height:76px}.locked-exit{font-size:12px;color:var(--muted);max-width:86px}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;color:var(--muted);font-size:11px}footer .quiet{font-size:12px}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 18px;background:var(--acid);color:#253017;border-radius:8px;max-width:90vw;font-size:14px;font-weight:650;z-index:20;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(560px,92vw);max-height:90vh;overflow:auto;padding:32px;background:#20261a;color:var(--text);border:1px solid #687a48;border-radius:12px}dialog::backdrop{background:#080d08dd;backdrop-filter:blur(6px)}dialog .close{position:absolute;right:12px;top:12px;z-index:3}dialog h2{font-size:30px;letter-spacing:-1px;margin:12px 28px 20px 0}dialog p,dialog li{font-size:15px;line-height:1.7;color:#c4ccb7}dialog ul{padding-left:20px}dialog select{width:100%;min-height:48px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:8px;margin:8px 0 16px}dialog label{font-size:14px;display:block;color:var(--muted)}dialog .fineprint{font-size:13px}dialog .win-img{height:230px;max-width:32%;object-fit:contain;float:right;margin:30px 0 12px 12px}dialog .button-row{clear:both}.intro-dialog{width:min(660px,94vw);padding:0}.intro-dialog .close{background:#20261a}.intro-portrait{height:250px;background:radial-gradient(ellipse at 50% 80%,#68734544,transparent 65%),#181d14;display:flex;align-items:end;justify-content:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.intro-portrait img{height:224px;max-width:90%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 8px 20px #0006)}.intro-portrait:after{content:'БАБАЙ';position:absolute;left:20px;bottom:14px;color:#d9ed7820;font-size:54px;font-weight:900;letter-spacing:5px}.intro-copy{padding:24px 32px 28px}.intro-copy h2{font-size:32px;margin:12px 0}.intro-copy p{font-size:17px;line-height:1.65;min-height:90px}.intro-meta{display:flex;align-items:center;justify-content:space-between}.intro-meta span{font-size:12px;color:var(--muted)}.intro-copy .button-row{margin-top:24px}.intro-copy .button-row>button:first-child{flex:1}.intro-note{font-size:12px!important;color:var(--muted)!important;min-height:0!important;margin-bottom:0}.voice-error{font-size:13px;color:var(--orange)}.danger{color:var(--red)}
@media(max-width:850px){.shell{padding:20px}main{gap:16px;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr)}.view{padding:22px}h1{font-size:40px}.character-stage{height:310px}.wallets{gap:20px}.wallets>div{gap:8px}.wallets .goal>span{display:none}.action-card{padding:14px}.locked-exit{display:none}.shift{flex-wrap:wrap;gap:8px}}
@media(max-width:660px){.shell{padding:16px}header{margin-bottom:16px}.brand{font-size:20px;gap:10px;letter-spacing:2px}.brandmark{width:38px;height:40px}.version{font-size:12px}.head-actions{gap:8px}#sound{font-size:12px}.wallets{gap:0;justify-content:space-between;flex-wrap:wrap;padding:12px 0}.wallets>div{display:block}.wallets span{display:block;font-size:12px}.wallets strong{font-size:23px}.wallets .goal{margin-left:0;text-align:right}.wallets .goal>span{display:block}.goal b{font-size:13px}.progress{width:70px;margin:6px 0 0 auto}nav{margin:12px 0 16px;gap:0}nav button{font-size:13px;padding:10px 6px}main{display:flex;flex-direction:column;gap:16px}.hero{position:relative;top:0;width:100%}.hero-top{padding:12px 16px}.character-stage{height:230px}.wallword{font-size:76px}.halo{width:170px;height:170px;top:25px}.stage-caption{font-size:9px;left:16px}.speech{padding:12px 16px;min-height:0}.speech p{font-size:16px}.vitals{padding:0 16px 12px;gap:20px}.beerbar{padding:0 16px 12px;gap:12px}.rightcol{width:100%}.view{padding:20px;min-height:0}h1{font-size:38px;margin:18px 0}.intro{font-size:15px}.action-card b{font-size:16px}.action-card small{font-size:12px}.shift{margin:20px 0}.shift>span{font-size:12px}.more{margin-top:20px}.product{gap:18px}.beer-art{font-size:60px}.product h2{font-size:20px}.button-row{gap:8px}.button-row button{font-size:14px;padding:10px 12px}.healbox{gap:10px}.healbox b{font-size:14px}.healbox p{font-size:12px}.healbox button{padding:8px 12px;font-size:13px}.away-home .hero-top,.away-home .character-stage{display:none}.away-home .speech p{font-size:14px}.away-home .speech-label{font-size:11px}.away-home .vitals label{font-size:11px}.away-home .vitals{padding-top:0}.section-head .quiet{font-size:13px}.table{padding:16px 8px;min-height:290px}.card{width:46px;height:66px;font-size:17px}.table-mark{margin:14px 0;font-size:10px}.bet-input{gap:6px}.bet-input button{padding:8px 12px}.bj-actions{gap:6px}.bj-actions button{font-size:14px}.advice{font-size:14px;padding:16px 0;min-height:0}.club-controls{gap:10px}.club-controls #push{padding:12px;min-width:100px}.club-live header,.club-live .wallets,.club-live nav,.club-live footer,.club-live .hero .vitals,.club-live .hero .speech{display:none}.club-live .shell{padding:12px}.club-live main{gap:10px}.club-live .hero .beerbar{padding:10px 14px}.club-live #club{padding:14px}.club-live .club-hud{padding:12px 0}.club-live #club .section-head{font-size:12px}.club-live .locked-exit{display:none}footer{flex-wrap:wrap;gap:8px;font-size:10px}footer>span:last-child{width:100%}dialog{padding:24px}dialog h2{font-size:27px}dialog p,dialog li{font-size:14px}.intro-dialog{padding:0}.intro-portrait{height:220px}.intro-portrait img{height:200px}.intro-copy{padding:20px 24px 24px}.intro-copy h2{font-size:29px}.intro-copy p{font-size:16px;min-height:105px}.intro-copy .button-row{margin-top:18px}.intro-copy .button-row button{font-size:13px}.intro-copy .intro-note{font-size:11px!important;min-height:0!important}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.intro-portrait img{position:relative;z-index:1}.intro-portrait:after{z-index:0}.in-bj .hero .speech{display:none}.in-bj .hero .vitals{padding-top:18px}.club-mute{display:none}.club-live .club-mute{display:block}.beerbar .club-mute{padding:0;width:44px;min-width:44px;font-size:20px}.club-live .beerbar{gap:10px}
.voice-range{display:block;width:100%;height:44px;accent-color:var(--acid);margin:8px 0 16px}.voice-details{border-top:1px solid var(--line);margin-top:16px;padding-top:8px}.voice-details summary{font-size:14px}.voice-details textarea{width:100%;display:block;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--text);font:14px/1.6 ui-monospace,monospace;padding:10px;margin:8px 0 12px;resize:vertical}.check-label{display:flex;align-items:center;gap:8px}output{float:right;color:var(--acid)}
/* 0.4: the club becomes the main scene, not a small panel beside a portrait. */
.club-poster{height:150px;margin:22px -5px 24px;background:#0d090f;border:1px solid #513340;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}.club-poster img{width:280px;height:118px;object-fit:contain}.club-poster span{font-size:12px;letter-spacing:.14em;color:#ddafc5;margin-top:-3px}
.club-live .shell{max-width:1300px}.club-live main{display:block}.club-live .hero{display:none!important}.club-live #club{padding:20px}.club-live #club>.section-head{display:none}.club-live .rightcol{width:100%}.night-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.night-top>div:first-child{display:flex;flex-direction:column;gap:6px}#clubCombo{font-size:14px;color:#bdb5c8}.night-top .club-hud{gap:30px;padding:0;display:flex;align-items:center;font-size:19px}.night-top #clubCash{color:var(--acid)}#clubHP{color:#ffb2ad;white-space:nowrap;letter-spacing:3px}.night-meter{display:flex;gap:12px;align-items:center;margin:16px 0;font-size:12px;color:#c3b5c5}.night-meter>div{width:110px;height:4px;background:#302936}.night-meter i{display:block;height:100%;background:#fa827f}.night-meter #clubTask{margin-left:auto;font-size:14px;color:#d6d0da}.arena{position:relative;overflow:hidden;border:1px solid #6b4765;border-radius:8px;background:#0e0b14}.arena canvas{display:block;width:100%;height:clamp(360px,63dvh,660px);touch-action:none}.club-live #clubAlert{position:absolute;top:12px;left:12px;right:170px;text-align:left;padding:7px 12px;background:#160d20dc;color:#ffeac5;font-size:14px;border-radius:4px;pointer-events:none;min-height:0}.club-live #clubAlert:empty{display:none}#clubSubtitle{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:max-content;max-width:85%;padding:8px 16px;border-radius:4px;color:#f2eedf;background:#100c19db;text-align:center;font-size:16px;pointer-events:none}#clubSubtitle:empty{display:none}.night-bottom{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:16px}.night-bottom .club-controls{margin:0;padding:0;display:flex;gap:24px;align-items:center}.combat-controls{display:grid;grid-template-columns:94px 94px;gap:8px}.combat-controls button{min-height:46px;font-size:15px;padding:10px 8px}.combat-controls #push{grid-row:span 2;min-width:0!important;padding:12px!important}.combat-controls #interact{grid-column:2;font-size:13px}.club-supplies{display:flex;align-items:center;gap:12px;font-size:14px}.club-supplies label{white-space:nowrap}.club-supplies input{accent-color:var(--acid);width:17px;height:17px;vertical-align:middle}.club-supplies button{padding:11px 12px}.club-patience{display:flex;gap:5px;flex-direction:column;font-size:12px;color:#bfb9c4}.club-patience>div{width:65px;height:4px;background:#39383d}.club-patience i{display:block;height:100%;background:var(--acid)}.club-keyhint{font-size:12px;color:#a69ead;margin:12px 0 0}.night-stats{display:flex;gap:20px;padding:16px 0;border-block:1px solid var(--line)}.night-stats div{flex:1;display:flex;flex-direction:column;gap:4px}.night-stats b{font-size:28px;color:var(--acid)}.night-stats span{font-size:12px;color:#c4bfc9}.club-live .dpad{gap:4px}.club-live .dpad button{width:44px;height:44px;min-height:44px}
@media(max-width:700px){.club-live .shell{padding:10px}.club-live #club{padding:12px}.night-top{gap:8px}.night-top .club-hud{gap:12px;font-size:16px}#clubZone{font-size:11px}#clubCombo{font-size:12px}.night-meter{flex-wrap:wrap;gap:7px;margin:12px 0;font-size:10px}.night-meter>div{flex:1;min-width:65px}.night-meter #clubTask{width:100%;font-size:12px;margin:0}.arena canvas{height:clamp(310px,55dvh,560px)}.club-live #clubAlert{font-size:12px;top:8px;left:8px;right:122px;padding:6px 8px}#clubSubtitle{font-size:13px;padding:6px 10px;bottom:12px;max-width:92%}.night-bottom{flex-direction:column;align-items:stretch;gap:12px;margin-top:12px}.night-bottom .club-controls{justify-content:space-between;gap:12px}.combat-controls{grid-template-columns:86px 86px;gap:6px}.combat-controls button{min-height:44px;font-size:14px}.club-supplies{border-top:1px solid var(--line);padding-top:10px;justify-content:space-between;gap:6px;font-size:12px}.club-supplies button{padding:10px 8px;font-size:12px;min-height:44px}.club-patience{display:none}.club-keyhint{display:none}.club-poster{height:130px}.club-live .dpad button{width:40px;height:44px}.club-live .dpad{grid-template-columns:repeat(3,40px)}.night-stats{gap:12px}}
@media(max-height:740px) and (max-width:700px){.arena canvas{height:43dvh;min-height:240px}.club-live .night-meter{margin:8px 0}.club-live .night-bottom{gap:8px}}
#clubVoice[aria-pressed="true"]{color:var(--acid)}
@media(max-width:700px){.club-supplies{gap:4px}.club-supplies #clubFx,.club-supplies #clubVoice{font-size:11px;padding-inline:5px}.club-supplies label{font-size:11px}}
/* 0.5: tactile card room, timed reveals and one clear coach target. */
.babay-wants{position:relative;border:2px solid #e8f891!important;color:#efffbc!important;background:#344023!important;box-shadow:0 0 0 3px #d7ed7820,0 0 24px #d7ed7833;animation:coachGlow 1.8s ease-in-out infinite}.babay-wants:after{content:'Б';position:absolute;right:5px;top:-9px;background:#d7ed78;color:#18200c;border-radius:3px;font-size:10px;line-height:16px;width:17px;text-align:center;font-weight:900}.babay-wants:disabled{animation:none;box-shadow:none}.table-tools{display:flex;gap:12px}.casino-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;letter-spacing:.12em;color:#b9c9b8;margin:22px 0 10px}.luck-badge{background:#433a21;color:#f4db88;border:1px solid #746232;border-radius:4px;padding:5px 8px;font-size:10px;letter-spacing:.04em}.in-bj .table{position:relative;background:radial-gradient(ellipse at 50% 25%,#274d3f,#142f27 80%);border:7px solid #43392b;outline:1px solid #79654b;box-shadow:inset 0 0 0 2px #b9985c55,inset 0 12px 50px #0003;border-radius:30px 30px 15px 15px;padding:24px 20px 16px;min-height:340px}.in-bj .cards{min-height:92px;perspective:800px;gap:8px;flex-wrap:wrap}.in-bj .card{width:59px;height:84px;border-radius:5px;background:#faf4e3;color:#1f2d27;font-size:21px;box-shadow:0 3px 6px #0006;transform-origin:50% 50%;border:1px solid #fff7}.in-bj .card.red{color:#ae3334}.in-bj .card.back{background:repeating-linear-gradient(45deg,#253b4c,#253b4c 5px,#3a5064 5px,#3a5064 8px);border:3px solid #c6cfcb;color:#d8e4d7}.card.arrive{animation:cardDeal .42s cubic-bezier(.2,.75,.25,1) both}.card.reveal{animation:cardReveal .65s ease both}.table-mark small{display:block;font-size:9px;letter-spacing:.1em;margin-top:6px;color:#b2b692}.in-bj .hand{border-color:#768651;background:#173b2c80;border-radius:8px;margin-top:16px}.in-bj #bjResult{font-size:14px;min-height:24px;margin-top:18px}.in-bj .table-mark{padding:15px 0;color:#c5b77c;letter-spacing:.2em}.bet-coach{border-left:3px solid var(--acid);padding:14px 16px;margin-bottom:22px;background:#d7ed7808;border-radius:0 8px 8px 0}.bet-coach p{font-size:15px;margin:8px 0 14px;line-height:1.6;color:#e0e2d1}.bet-coach .eyebrow{color:var(--acid)}.bonus-line{color:#ddcc94;font-size:13px;line-height:1.55;min-height:0;margin:12px 0}.bonus-line:empty{display:none}.coach-key{color:#aab695;font-size:12px;margin:16px 0 0}.insurance-panel{border:1px solid #958355;border-radius:8px;background:#554a2224;padding:20px;margin-top:20px}.insurance-panel h2{font-size:25px;margin:12px 0}.insurance-panel p{font-size:15px;color:#e0ddc8}.insurance-panel small{display:block;color:#b7b7a1;font-size:12px;line-height:1.6;margin-top:16px}.table-options{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.table-options label{display:flex;gap:10px;align-items:center;font-size:14px;margin:16px 0 6px}.table-options p{font-size:12px;color:#afb1a0;line-height:1.6;margin:0 0 16px}.table-options input{accent-color:var(--acid);width:17px;height:17px}.table[data-phase="resultPause"]{box-shadow:inset 0 0 0 2px #b9985c77,inset 0 0 80px #a4cb6a18}.table[data-phase="dealing"] .dealer-label{color:#e1d294}
@keyframes coachGlow{0%,100%{box-shadow:0 0 0 3px #d7ed7814,0 0 16px #d7ed781a}50%{box-shadow:0 0 0 4px #d7ed782a,0 0 28px #d7ed7844}}
@keyframes cardDeal{from{opacity:0;transform:translate(60px,-45px) rotate(14deg) scale(.7)}to{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
@keyframes cardReveal{0%{transform:rotateY(90deg) scale(.95);opacity:.4}100%{transform:rotateY(0) scale(1);opacity:1}}
@media(max-width:700px){.in-bj .table{padding:20px 10px 12px;border-width:5px;border-radius:24px 24px 12px 12px;min-height:320px}.in-bj .card{width:48px;height:71px;font-size:19px}.in-bj .cards{min-height:78px;gap:5px}.in-bj .table-mark{font-size:9px;padding:12px 0}.in-bj .hand{padding:10px 5px}.in-bj .hand-label{font-size:10px}.casino-top{font-size:10px;letter-spacing:.05em}.luck-badge{font-size:9px;padding:5px}.bet-coach{padding:12px;margin-top:18px}.bet-coach p{font-size:14px}.insurance-panel{padding:16px}.insurance-panel .button-row{gap:10px}.insurance-panel button{font-size:13px}.table-tools{gap:8px}.table-tools button{font-size:12px}.in-bj .bj-actions{gap:8px}.in-bj .bj-actions button{font-size:14px;padding:12px 5px;min-height:46px}.coach-key{font-size:11px}.bet-input{gap:6px}.bet-input button{padding-inline:10px}.bet-input input{min-width:65px}}
@media(prefers-reduced-motion:reduce){.card.arrive,.card.reveal,.babay-wants{animation:none!important}}
.in-bj #bj h1{font-size:42px;margin:20px 0 12px}.in-bj .table-mark{margin:8px 0;padding:4px 0}.in-bj .cards{margin:8px 0;min-height:84px}.in-bj .hand{margin-top:10px;padding:8px}.in-bj #bjResult{margin:10px 0 0;min-height:22px}.in-bj .table{padding:18px 16px 14px}.casino-top{margin-top:16px}.in-bj .advice{min-height:0;padding:20px 0}.in-bj #playArea .coach-key{margin-top:12px}
@media(max-width:700px){.in-bj #bj h1{font-size:36px;margin:18px 0 10px}.in-bj .table{padding:16px 8px 12px}.in-bj .cards{margin:6px 0;min-height:71px}.in-bj .hand{padding:8px 4px;margin-top:8px}.in-bj .table-mark{margin:5px 0;padding:0}.in-bj .table-mark small{font-size:8px;margin-top:4px}.in-bj .advice{padding:16px 0}.in-bj.bj-running header{display:none}.in-bj.bj-running .hero .vitals{display:none}.in-bj.bj-running .hero .beerbar{border:0;padding:10px 14px}.in-bj .casino-top{margin:12px 0 8px}.in-bj #bj{padding:20px}}
@media(max-width:700px){.in-bj.bj-running #bj h1{display:none}.in-bj.bj-insurance .table{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:0;padding:14px 8px 10px}.in-bj.bj-insurance .dealer-label{grid-column:1;grid-row:1;font-size:10px}.in-bj.bj-insurance #dealerCards{grid-column:1;grid-row:2;margin:0}.in-bj.bj-insurance .table-mark{display:none}.in-bj.bj-insurance #hands{grid-column:2;grid-row:1/3}.in-bj.bj-insurance .hand{margin:0;padding:6px 3px}.in-bj.bj-insurance #bjResult{grid-column:1/3;grid-row:3;font-size:12px;margin-top:0}.in-bj.bj-insurance .insurance-panel{padding:14px;margin-top:16px}.in-bj.bj-insurance .insurance-panel h2{font-size:23px;margin:8px 0}.in-bj.bj-insurance .insurance-panel small{font-size:11px}.in-bj.bj-insurance .insurance-panel p{font-size:14px}}
.table[data-phase="waiting"]{min-height:0}.bj-comment{font-size:14px;line-height:1.6;color:#e4e7c7;margin:16px 0 10px;padding-left:12px;border-left:2px solid #9dac66}
/* v0.6 — Марамыга: fixed theatrical palette, user-provided painted casino. */
.in-bj #bj{background:#191311;border-color:#564134;padding:24px;overflow:hidden}
.in-bj #bj h1{font-size:34px;margin:16px 0 22px;letter-spacing:-1px}.in-bj #bj h1 em{color:#ebba77}
.casino-scene{position:relative;isolation:isolate;min-height:212px;border:1px solid #947144;border-bottom:0;border-radius:14px 14px 0 0;overflow:hidden;background:#281714;display:grid;grid-template-columns:160px 1fr;grid-template-rows:90px 1fr 44px;column-gap:16px;padding:0 18px}
.casino-backdrop{position:absolute;z-index:-2;inset:0;background-image:linear-gradient(90deg,#1a0b0b38,#180b0bbb),url('assets/casino/interior.png');background-size:cover;background-position:center 42%;opacity:.8}
.casino-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#25110d,transparent 55%);pointer-events:none}
.casino-neon{grid-column:2;align-self:center;font:italic 32px/1.1 Georgia,serif;color:#ffb0a2;text-shadow:0 0 16px #ff422b;letter-spacing:-.6px}.casino-neon span{display:block;color:#f5d296;font:10px/1.6 system-ui;letter-spacing:2.5px;margin-top:8px;text-shadow:none}
.dealer-portrait{position:absolute;bottom:0;left:14px;width:163px;height:184px;overflow:hidden;border-radius:70px 70px 0 0;border:2px solid #997549;border-bottom:0;background:#261c17;box-shadow:0 0 30px #0009}
.dealer-portrait img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:auto;object-position:center}.portrait-edge{position:absolute;inset:0;box-shadow:inset 0 0 25px #130b0c77;pointer-events:none}
.dealer-dialogue{grid-column:2;grid-row:2;align-self:start}.dealer-dialogue .eyebrow{color:#e2ba83;font-size:10px;letter-spacing:1.4px}.dealer-dialogue p{font-size:14px;line-height:1.45;margin:6px 0 12px;color:#fff0d8;min-height:42px}
#dealerTaunt{grid-column:2;grid-row:3;justify-self:start;padding:7px 0;min-height:44px;color:#f4cc9c;font-size:13px}#dealerTaunt:disabled{opacity:.7;color:#c8b7a5}
.in-bj .table{border:5px solid #6e4833;border-top:8px solid #875737;outline:1px solid #ad7f4d;border-radius:0 0 35px 35px;box-shadow:inset 0 0 0 2px #c1995655,inset 0 0 70px #12050a99,0 8px 25px #0004;background:radial-gradient(ellipse at 50% 30%,#742d35,#43151e 85%);min-height:0;padding:18px 16px 18px;isolation:isolate;transition:border-color .3s,box-shadow .3s}
.in-bj .table:before{content:'';position:absolute;inset:24px 10%;border:1px solid #d2a26038;border-radius:50%;z-index:-1;pointer-events:none}
.shoe-prop{position:absolute;right:8px;top:12px;width:62px;height:48px;z-index:1;pointer-events:none;filter:drop-shadow(0 4px 3px #0007)}.shoe-prop img{width:100%;height:100%;object-fit:contain}
.in-bj .dealer-label{color:#f1d6af;font-size:11px;letter-spacing:2px;padding:0 65px}.in-bj .dealer-label b{background:#261315;color:#ffedce;border-color:#ad8759}
.in-bj .cards{position:relative;z-index:2}.in-bj .card{background:#fff8e8;color:#252124;border:1px solid #d1c6ad;box-shadow:1px 5px 8px #18060c88}.in-bj .card.red{color:#b21e35}.in-bj .card.back{background:repeating-linear-gradient(45deg,#39151f 0 4px,#6c2d36 4px 6px);color:#eac082;outline:2px solid #b38754;outline-offset:-5px;border:3px solid #f9e9ce;align-items:center;justify-content:center;font:28px Georgia,serif}
.in-bj .card.arrive,.in-bj .card.reveal{animation:none}.in-bj .table-mark{color:#e4bf81;font-size:10px;padding:2px 0;letter-spacing:2px;margin:10px 0}.in-bj .table-mark small{color:#d5bca3;font-size:9px}
.in-bj .hand{border-color:#98734e88;background:#210e1580}.in-bj .hand.active{border:1px solid #dfb56c;box-shadow:inset 0 0 15px #f3c26d0d}.in-bj .hand-label{color:#f1d0a8;font-size:11px}
.casino-chips{display:flex;justify-content:center;align-items:center;gap:3px;margin:12px auto 0;min-height:36px}.casino-chips img{height:34px;width:26px;object-fit:contain;filter:drop-shadow(0 3px 2px #0007);opacity:.5}.casino-chips.has-stake img{opacity:1}.casino-chips.has-stake img:nth-child(2){transform:translateY(-4px)}.casino-chips b{font-size:11px;letter-spacing:.7px;color:#f0cc8e;margin-left:8px}
.in-bj #bjResult{color:#f6e5cc;font-size:14px;line-height:1.5}.in-bj .table[data-outcome="win"]{border-color:#bc974f;box-shadow:inset 0 0 45px #e8c44a25,0 0 20px #d2ac4c17}.in-bj .table[data-outcome="lose"]{border-color:#97534c}.in-bj .table[data-outcome="push"]{border-color:#aa9273}
.in-bj .bet-coach,.in-bj .advice,.in-bj .insurance-panel{background:#29221b;border-color:#756246}.in-bj .bj-comment{border-color:#bd935c;color:#e4cdb0}.in-bj .casino-top{margin-bottom:12px}.in-bj .bonus-line{color:#f0c780}
.in-bj #bj button:focus-visible{outline:3px solid #ffda83;outline-offset:3px}.in-bj .table-options p{font-size:14px}
@media(min-width:1000px){.in-bj main{grid-template-columns:minmax(265px,.74fr) minmax(0,1.3fr)}.in-bj .casino-scene{grid-template-columns:180px 1fr}.in-bj .dealer-portrait{width:175px;height:192px}.in-bj .casino-neon{font-size:38px}}
@media(max-width:700px){.in-bj #bj{padding:16px}.in-bj #bj h1{font-size:27px;margin:14px 0 16px}.casino-scene{grid-template-columns:106px 1fr;grid-template-rows:65px 1fr 44px;min-height:192px;padding:0 10px;gap:0 10px;border-radius:10px 10px 0 0}.dealer-portrait{left:6px;width:110px;height:152px;border-radius:50px 50px 0 0}.dealer-portrait img{object-fit:cover}.casino-neon{font-size:26px}.casino-neon span{font-size:8px;letter-spacing:1.2px;margin-top:4px}.dealer-dialogue .eyebrow{font-size:8px;letter-spacing:.7px}.dealer-dialogue p{font-size:13px;margin-top:5px;min-height:54px}#dealerTaunt{font-size:12px;padding:6px 0}.in-bj .table{padding:14px 7px 12px;border-width:4px;border-top-width:7px;border-radius:0 0 24px 24px}.shoe-prop{width:43px;height:34px;right:5px;top:9px}.in-bj .dealer-label{font-size:10px;padding:0 40px}.in-bj .card{width:46px;height:66px;font-size:18px}.in-bj .cards{min-height:70px;gap:5px}.in-bj .table-mark{font-size:8px;letter-spacing:1.5px;margin:8px 0}.in-bj .table-mark small{font-size:8px}.in-bj .hand-label{font-size:10px}.casino-chips{margin-top:8px;min-height:28px}.casino-chips img{height:26px;width:21px}.casino-chips b{font-size:10px}.in-bj #bjResult{font-size:13px}.in-bj.bj-insurance .casino-scene{min-height:148px;grid-template-rows:51px 1fr}.in-bj.bj-insurance .dealer-portrait{height:126px;width:100px}.in-bj.bj-insurance #dealerTaunt{display:none}.in-bj.bj-insurance .dealer-dialogue p{min-height:0}.in-bj.bj-insurance .casino-chips{grid-column:1/3;grid-row:3;margin:0}.in-bj.bj-insurance #bjResult{grid-row:4}.in-bj.bj-insurance .shoe-prop{display:none}}
@media(prefers-reduced-motion:reduce){.casino-scene *,.in-bj .table,.in-bj .table *{animation:none!important;transition:none!important}}
.casino-backdrop{background-position:center;background-size:cover}
@media(max-width:700px){
.in-bj.bj-running .casino-scene{min-height:106px;grid-template-columns:96px 1fr;grid-template-rows:30px 1fr;padding:6px 8px 0;gap:0 10px}
.in-bj.bj-running .dealer-portrait{height:101px;width:91px;left:5px;border-radius:40px 40px 0 0}
.in-bj.bj-running .casino-neon{font-size:23px}.in-bj.bj-running .casino-neon span{display:none}
.in-bj.bj-running .dealer-dialogue p{font-size:12px;line-height:1.4;min-height:0;margin:5px 0 8px}
.in-bj.bj-running .dealer-dialogue .eyebrow{font-size:8px;letter-spacing:.5px}
.in-bj.bj-running #dealerTaunt{display:none}
.in-bj.bj-running .table-mark{margin:4px 0}.in-bj.bj-running .table-mark small{margin-top:2px}
.in-bj.bj-running .table{padding:12px 7px 10px}
.in-bj.bj-running .cards{margin:5px 0;min-height:66px}
.in-bj.bj-running .card{height:62px;width:43px;font-size:17px}
.in-bj.bj-running .hand{margin-top:6px;padding:5px 3px}
.in-bj.bj-running .casino-chips{margin-top:6px;min-height:24px}
.in-bj .table[data-phase="player"] #bjResult{display:none}
.in-bj.bj-insurance .table{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.in-bj.bj-insurance .dealer-label{padding:0;letter-spacing:.5px;min-width:0}
.in-bj.bj-insurance #dealerCards{flex-wrap:nowrap;align-items:center;justify-content:center;gap:4px;min-width:0}
.in-bj.bj-insurance #dealerCards .card{width:40px;height:60px;padding:4px;flex-shrink:0}
.in-bj.bj-insurance #hands{min-width:0}.in-bj.bj-insurance .hand-label{font-size:9px}
.in-bj.bj-insurance .insurance-panel small{font-size:12px}
}
@media(max-width:700px){.in-bj.bj-running #bj{padding-top:4px}.in-bj.bj-running #bj .section-head{margin-bottom:4px;min-height:36px}.in-bj.bj-running .casino-top{margin-top:0;margin-bottom:8px}.in-bj.bj-running .advice{padding:10px;margin-top:8px;margin-bottom:8px}.in-bj.bj-running .coach-key{margin-top:7px;font-size:11px}}
/* v0.6.1 — compact casino workstation; no viewport clipping or page scaling. */
.in-bj .shell{max-width:1160px;padding:8px 20px}
.in-bj header,.in-bj footer{display:none}
.in-bj .wallets{padding:6px 0;gap:24px;min-height:42px}.in-bj .wallets strong{font-size:20px}
.in-bj nav{margin:4px 0 8px}.in-bj nav button{padding:7px 12px;min-height:40px}
.in-bj main{display:block}
.in-bj .hero{position:static;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 12px;min-height:46px}
.in-bj .hero .hero-top,.in-bj .hero .character-stage,.in-bj .hero .speech{display:none}
.in-bj .hero .vitals,.in-bj.bj-running .hero .vitals{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:4px 0;width:280px}
.in-bj .hero .vitals label{margin:0 0 4px}.in-bj .hero .beerbar,.in-bj.bj-running .hero .beerbar{padding:0;border:0;gap:12px}
.in-bj .hero .beerbar button{min-height:40px;padding:5px 12px}
.in-bj #bj,.in-bj.bj-running #bj{padding:10px 12px;border-radius:10px}
.in-bj #bj>.section-head{min-height:32px;margin:0 0 6px}
.in-bj #bj>.section-head>.eyebrow{font-size:12px}.in-bj #bj>.section-head button{min-height:32px;padding:4px 8px}
.in-bj #bj h1{display:none}
.in-bj #bjGate{margin:0 0 6px;padding:6px 10px;font-size:14px}
.casino-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:16px;align-items:start}
.casino-visual,.casino-controls{min-width:0}
.in-bj .casino-top{margin:0 0 5px;font-size:11px}
.in-bj .casino-scene{min-height:106px;grid-template-columns:102px 1fr;grid-template-rows:32px 1fr;padding:4px 12px 0;gap:0 14px;border-radius:10px 10px 0 0}
.in-bj .dealer-portrait{width:96px;height:101px;left:8px;border-radius:40px 40px 0 0}
.in-bj .casino-neon{font-size:27px;line-height:1}.in-bj .casino-neon span{display:none}
.in-bj .dealer-dialogue .eyebrow{display:none}.in-bj .dealer-dialogue p{font-size:14px;line-height:1.35;min-height:0;margin:4px 0}
.in-bj #dealerTaunt{position:absolute;right:10px;bottom:1px;min-height:30px;font-size:12px;padding:2px 5px;background:#20100abb;border-radius:4px}
.in-bj.bj-running #dealerTaunt{display:none}
.in-bj .table,.in-bj.bj-running .table{padding:10px 10px 8px;border-width:4px;border-top-width:6px;border-radius:0 0 22px 22px;min-height:0}
.in-bj .dealer-label{font-size:11px;padding:0 46px}
.in-bj .cards,.in-bj.bj-running .cards{min-height:64px;margin:5px 0;gap:5px}
.in-bj .card,.in-bj.bj-running .card{width:43px;height:62px;padding:4px 5px;font-size:17px;flex-shrink:0}
.in-bj .table-mark,.in-bj.bj-running .table-mark{font-size:9px;letter-spacing:1.2px;margin:4px 0;padding:0}
.in-bj .table-mark small{font-size:8px;line-height:1.2;margin-top:2px}
.in-bj .hand,.in-bj.bj-running .hand{padding:4px;margin-top:6px}
.in-bj .hand-label{font-size:11px}
.in-bj .casino-chips,.in-bj.bj-running .casino-chips{min-height:24px;margin:5px 0 0}
.in-bj .casino-chips img{height:24px;width:20px}
.in-bj #bjResult{font-size:14px;line-height:1.3;min-height:0;margin:5px 0 0}
.in-bj .table[data-phase="player"] #bjResult{display:none}
.in-bj .shoe-prop{width:44px;height:32px;top:8px}
.in-bj #hands:has(.hand:nth-child(2)){display:grid;grid-template-columns:1fr 1fr;gap:6px}
.in-bj #hands:has(.hand:nth-child(2)) .cards{gap:3px}
.in-bj #hands:has(.hand:nth-child(2)) .card{width:36px;height:54px;font-size:15px}
.in-bj .bet-coach{padding:10px 12px;margin:0 0 10px}
.in-bj .bet-coach .eyebrow{font-size:11px}
.in-bj #betCoach{font-size:14px;line-height:1.35;margin:6px 0 8px}
.in-bj #betAdviceBtn{width:100%;font-size:14px;min-height:44px;padding:8px}
.in-bj .betarea{margin:0}.in-bj .betarea>label{font-size:14px;margin-bottom:5px;display:block}
.in-bj .bet-input{gap:5px;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center}
.in-bj .bet-input button{padding:6px;min-height:44px}.in-bj .bet-input input{width:100%;min-width:0;height:44px;font-size:18px;padding:6px}
.in-bj #deal{grid-column:1/-1;font-size:16px;min-height:44px}
.in-bj .bj-comment{font-size:14px;line-height:1.35;margin:0 0 8px;padding-left:8px}
.in-bj .bonus-line{font-size:12px;line-height:1.3;margin:0 0 8px}.in-bj .bonus-line:empty{display:none}
.in-bj .advice,.in-bj.bj-running .advice{font-size:15px;line-height:1.4;padding:12px;margin:0 0 10px}
.in-bj .bj-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.in-bj .bj-actions button{min-height:48px;padding:8px;font-size:16px}
.in-bj .coach-key{font-size:12px;line-height:1.35;margin:8px 0}
.in-bj .insurance-panel{margin:0;padding:12px}
.in-bj .insurance-panel h2{font-size:24px;line-height:1.2;margin:6px 0 10px}
.in-bj .insurance-panel p{font-size:14px;line-height:1.4;margin:6px 0 12px}
.in-bj .insurance-panel .button-row{display:grid;gap:8px}.in-bj .insurance-panel small{display:block;font-size:12px;line-height:1.35;margin-top:10px}
.in-bj .casino-options-button{font-size:14px;margin-top:4px;min-height:40px;padding:6px 0}
#casinoSettings{max-width:440px;max-height:85dvh;overflow:auto;padding:24px;background:#231b16;border:1px solid #987344;border-radius:12px;color:#fff0d8}
#casinoSettings::backdrop{background:#000b}#casinoSettings .table-options{border:0;padding:0;margin:0}#casinoSettings h2{font-size:24px;margin:0 32px 20px 0}#casinoSettings .table-options p{font-size:14px;line-height:1.45}#casinoSettings .close{position:absolute;right:8px;top:8px}#casinoSettings form{margin:0}
@media(max-width:700px){
 .in-bj .shell{padding:6px 10px;max-width:100%}.in-bj .wallets{min-height:39px;padding:3px 0;gap:16px}.in-bj .wallets>div{display:flex;flex-direction:row;gap:5px;align-items:baseline}.in-bj .wallets span{font-size:11px}.in-bj .wallets strong{font-size:17px}.in-bj .wallets .goal{display:flex;flex-direction:column;gap:0;align-items:flex-end}.in-bj .goal b{font-size:11px}.in-bj .goal .progress{width:45px;height:3px}
 .in-bj nav{margin:3px 0 5px;gap:3px}.in-bj nav button{font-size:13px;min-height:36px;padding:5px}
 .in-bj .hero{min-height:42px;padding:0 8px;margin-bottom:5px;gap:8px}.in-bj .hero .vitals,.in-bj.bj-running .hero .vitals{width:115px;gap:6px}.in-bj .hero .vitals label{font-size:9px;display:block;margin:0 0 2px}.in-bj .hero .vitals label b{margin-left:3px}.in-bj .hero .vitals .meter{height:3px}.in-bj .hero .beerbar,.in-bj.bj-running .hero .beerbar{gap:8px;font-size:12px}.in-bj .hero .beerbar button{padding:4px 8px;min-height:38px;font-size:13px}.in-bj .hero .beerbar label{font-size:11px}
 .in-bj #bj,.in-bj.bj-running #bj{padding:6px 8px}.in-bj #bj>.section-head,.in-bj.bj-running #bj>.section-head{min-height:28px;margin:0 0 3px}.in-bj #bj>.section-head>.eyebrow{font-size:10px;letter-spacing:1px}.in-bj #bj>.section-head button{font-size:11px;min-height:28px;padding:3px 5px}
 .casino-workspace{display:flex;flex-direction:column;gap:7px}.casino-visual,.casino-controls{width:100%}
 .in-bj .casino-top,.in-bj.bj-running .casino-top{margin:0 0 3px;font-size:9px}
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{min-height:76px;grid-template-columns:68px 1fr;grid-template-rows:25px 1fr;gap:0 8px;padding:2px 7px 0}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{width:66px;height:73px;left:5px;border-radius:24px 24px 0 0}
 .in-bj .casino-neon,.in-bj.bj-running .casino-neon{font-size:22px}.in-bj .dealer-dialogue .eyebrow,.in-bj.bj-running .dealer-dialogue .eyebrow{display:none}.in-bj .dealer-dialogue p,.in-bj.bj-running .dealer-dialogue p{font-size:12px;line-height:1.3;margin:2px 0 3px;min-height:0;padding-right:0}
 .in-bj #dealerTaunt{font-size:10px;min-height:26px;bottom:0;padding:2px 3px;right:6px}
 .in-bj:not(.bj-running) .dealer-dialogue p{padding-right:68px;font-size:11px}
 .in-bj .table,.in-bj.bj-running .table{padding:6px 6px 5px;border-width:3px;border-top-width:5px;border-radius:0 0 18px 18px}
 .in-bj .cards,.in-bj.bj-running .cards{min-height:54px;margin:3px 0;gap:4px}
 .in-bj .card,.in-bj.bj-running .card{height:52px;width:36px;font-size:15px;padding:3px 4px}.in-bj .card.back{font-size:24px}
 .in-bj .dealer-label{font-size:10px;line-height:1.3;padding:0 36px}.in-bj .hand,.in-bj.bj-running .hand{padding:3px;margin-top:4px}.in-bj .hand-label{font-size:10px;line-height:1.3}
 .in-bj .table-mark,.in-bj.bj-running .table-mark{font-size:8px;line-height:1.2;letter-spacing:1px;margin:3px 0}.in-bj .table-mark small{display:none}
 .in-bj .casino-chips,.in-bj.bj-running .casino-chips{min-height:18px;margin:3px 0 0}.in-bj .casino-chips img{height:18px;width:15px}.in-bj .casino-chips b{font-size:9px}
 .in-bj #bjResult{font-size:12px;line-height:1.25;margin:4px 0 0}
 .in-bj #hands:has(.hand:nth-child(2)) .card{width:30px;height:45px;font-size:13px}
 .in-bj .bet-coach{padding:7px 9px;margin-bottom:6px;display:grid;grid-template-columns:minmax(0,1fr) 123px;gap:3px 8px;align-items:center}.in-bj .bet-coach>.eyebrow{display:none}.in-bj #betCoach{font-size:12px;line-height:1.3;margin:0}.in-bj #betAdviceBtn{font-size:12px;min-height:44px;padding:5px}
 .in-bj .betarea>label{display:none}.in-bj .bet-input{grid-template-columns:32px minmax(0,1fr) 32px 94px;gap:5px}.in-bj #deal{grid-column:auto;font-size:14px}.in-bj .bet-input button{padding:4px}.in-bj .bet-input input{font-size:17px}
 .in-bj .bj-comment{font-size:12px;line-height:1.3;margin:0 0 5px}.in-bj .bonus-line{font-size:10px;line-height:1.25;margin:0 0 5px}
 .in-bj .advice,.in-bj.bj-running .advice{font-size:14px;line-height:1.3;padding:7px 9px;margin:0 0 6px}.in-bj .bj-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.in-bj .bj-actions button{font-size:14px;min-height:44px;padding:5px}.in-bj .coach-key{display:none}.in-bj .casino-options-button{min-height:32px;font-size:12px;margin:1px 0 0;padding:3px 0}
 .in-bj.bj-insurance .table{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}.in-bj.bj-insurance .dealer-label{padding:0}.in-bj.bj-insurance #dealerCards .card{height:52px;width:36px;padding:3px}.in-bj.bj-insurance .insurance-panel{padding:8px 10px;margin:0}.in-bj.bj-insurance .insurance-panel>.eyebrow{display:none}.in-bj.bj-insurance .insurance-panel h2{font-size:19px;margin:0 0 4px}.in-bj.bj-insurance .insurance-panel p{font-size:12px;line-height:1.3;margin:4px 0 7px}.in-bj.bj-insurance .insurance-panel .button-row{grid-template-columns:1fr 1fr;gap:6px}.in-bj.bj-insurance .insurance-panel button{font-size:12px;padding:5px;min-height:44px}.in-bj.bj-insurance .insurance-panel small{font-size:10px;line-height:1.25;margin-top:6px}
}
.in-bj #bj{min-height:0}
@media(max-width:700px){
 .in-bj .bet-coach{display:block;padding:0;margin-bottom:6px;background:transparent;border:0}
 .in-bj #betCoach{display:none}.in-bj #betAdviceBtn{font-size:14px;width:100%;min-height:44px}
 .in-bj .hero .beerbar{flex-shrink:0}.in-bj .hero .vitals{flex-shrink:1}
}
@media(max-width:700px) and (max-height:780px){
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{min-height:64px;grid-template-rows:22px 1fr;grid-template-columns:58px 1fr}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{height:61px;width:56px}
 .in-bj .casino-neon,.in-bj.bj-running .casino-neon{font-size:20px}
 .in-bj .dealer-dialogue p,.in-bj.bj-running .dealer-dialogue p{font-size:11px}
 .in-bj .table:has(#hands .hand){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}
 .in-bj .table:has(#hands .hand) .dealer-label{grid-column:1;grid-row:1;padding:0;font-size:9px}
 .in-bj .table:has(#hands .hand) #dealerCards{grid-column:1;grid-row:2;flex-wrap:wrap;margin:0;align-content:center}
 .in-bj .table:has(#hands .hand) .table-mark{display:none}
 .in-bj .table:has(#hands .hand) #hands{grid-column:2;grid-row:1/3;min-width:0}
 .in-bj .table:has(#hands .hand) .hand{margin:0;padding:3px}
 .in-bj .table:has(#hands .hand) .hand-label{font-size:9px}
 .in-bj .table:has(#hands .hand) .casino-chips{grid-column:1/3;grid-row:3;margin:0}
 .in-bj .table:has(#hands .hand) #bjResult{grid-column:1/3;grid-row:4;margin:0}
 .in-bj .table:has(#hands .hand) .shoe-prop{display:none}
 .in-bj .table:has(#hands .hand:nth-child(2)) #hands{grid-column:1/3;grid-row:3}
 .in-bj .table:has(#hands .hand:nth-child(2)) #dealerCards{grid-column:1/3;grid-row:2}
 .in-bj .table:has(#hands .hand:nth-child(2)) .dealer-label{grid-column:1/3}
 .in-bj .table:has(#hands .hand:nth-child(2)) .casino-chips{grid-row:4}
 .in-bj .table:has(#hands .hand:nth-child(2)) #bjResult{grid-row:5}
 .in-bj .table:has(#hands .hand:nth-child(2)) .cards{min-height:46px}
}
/* v0.7 — keep the character in frame, not a hidden sidebar. */
.in-bj .shell{max-width:1280px}
.in-bj .casino-workspace{display:grid;grid-template-columns:170px minmax(0,1.55fr) minmax(260px,1fr);gap:14px}
.casino-babay{min-width:0;align-self:start;background:radial-gradient(ellipse at 50% 30%,#d9ed8a13,transparent 65%);border-right:1px solid #6f553438;padding-right:10px}
.casino-babay>.eyebrow{font-size:10px;letter-spacing:1px;color:#e4bf81;text-align:center;margin:4px 0}
.casino-babay-stage{height:292px;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:flex-end}
.casino-babay-stage img{height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(3px 4px 6px #0008);transform-origin:50% 80%}
#casinoBabayQuote{font-size:14px;line-height:1.35;color:#f0dcc0;margin:10px 0 0;padding-left:8px;border-left:2px solid #c99b5c}
.babay-angry .casino-babay-stage{background:radial-gradient(ellipse at bottom,#b526281c,transparent 75%)}
.babay-angry #casinoBabayQuote{border-color:#ee8267;color:#ffd8bf}
.babay-angry .casino-babay-stage img{transform:rotate(-2deg)}
.bj-fast .casino-scene *,.bj-fast .table *{transition-duration:.1s;animation-duration:.1s}
#casinoSettings .table-options label{font-size:16px;line-height:1.4;min-height:48px}
.in-bj #casinoOptions{font-size:13px}
@media(max-width:1000px) and (min-width:701px){.in-bj .casino-workspace{grid-template-columns:120px minmax(0,1fr) minmax(230px,.9fr);gap:9px}.casino-babay-stage{height:245px}.casino-babay{padding-right:5px}#casinoBabayQuote{font-size:13px}.in-bj .dealer-dialogue p{font-size:12px}}
@media(max-width:700px){
 .in-bj .casino-workspace{display:grid;grid-template-columns:86px minmax(0,1fr);gap:5px 7px}
 .in-bj .casino-visual{display:contents}
 .in-bj .casino-top{grid-column:1/-1;grid-row:1}
 .in-bj .casino-babay{grid-column:1;grid-row:2;padding:0;border:0;align-self:stretch;min-height:126px;border-radius:6px;background:radial-gradient(ellipse at bottom,#d9ed8a15,transparent 75%)}
 .in-bj .casino-babay>.eyebrow{font-size:9px;margin:0;letter-spacing:.8px;line-height:1.2}
 .in-bj .casino-babay-stage{height:125px;overflow:hidden;align-items:flex-start}
 .in-bj .casino-babay-stage img{height:162px;max-width:none;object-fit:contain}
 .in-bj #casinoBabayQuote{display:none}
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{grid-column:2;grid-row:2;min-height:137px;grid-template-columns:54px 1fr;grid-template-rows:28px 1fr;padding:2px 6px 0;gap:0 6px;border-radius:8px}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{height:102px;width:52px;left:4px;border-radius:24px 24px 0 0}
 .in-bj .dealer-portrait img{object-fit:cover;object-position:center}
 .in-bj .casino-neon,.in-bj.bj-running .casino-neon{font-size:21px;grid-column:1/-1;text-align:center}
 .in-bj .dealer-dialogue p,.in-bj.bj-running .dealer-dialogue p,.in-bj:not(.bj-running) .dealer-dialogue p{font-size:12px;line-height:1.3;padding:0;margin:5px 0}
 .in-bj #dealerTaunt{font-size:10px;min-height:27px;right:4px;bottom:0}
 .in-bj .table,.in-bj.bj-running .table{grid-column:1/-1;grid-row:3;border-radius:16px;border-top-width:3px}
 .in-bj .casino-controls{grid-column:1/-1;grid-row:4}
 .in-bj .table[data-phase="afterHit"] #bjResult{display:block}
}
@media(max-width:700px) and (max-height:780px){
 .in-bj .casino-babay{min-height:104px}.in-bj .casino-babay-stage{height:98px}.in-bj .casino-babay-stage img{height:150px}
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{min-height:111px;grid-template-rows:24px 1fr;grid-template-columns:47px 1fr;gap:0 5px}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{height:82px;width:45px}
 .in-bj .dealer-dialogue p,.in-bj.bj-running .dealer-dialogue p,.in-bj:not(.bj-running) .dealer-dialogue p{font-size:11px;line-height:1.25}
 .in-bj .casino-neon,.in-bj.bj-running .casino-neon{font-size:19px}
 .in-bj .bj-comment{font-size:12px;line-height:1.25}
}
@media(prefers-reduced-motion:reduce){.casino-babay-stage img{transition:none;animation:none}}

@media(max-width:700px) and (max-height:780px){
 .in-bj #betArea{display:grid;grid-template-columns:124px minmax(0,1fr);gap:6px;align-items:center}
 .in-bj #betArea[hidden]{display:none}
 .in-bj .bet-coach{margin:0}.in-bj #betAdviceBtn{font-size:12px;padding:4px;line-height:1.25}
 .in-bj .bet-input{grid-template-columns:minmax(0,1fr) 76px;gap:5px}
 .in-bj #minusBet,.in-bj #plusBet{display:none}
 .in-bj .bet-input input{font-size:15px}.in-bj #deal{font-size:13px}
}
@media(max-width:700px) and (max-height:780px){
 .in-bj .table[data-phase="insurance"] #bjResult{display:none}
 .in-bj.bj-insurance .insurance-panel h2{display:none}
}
@media(max-width:700px) and (max-height:680px){
 .in-bj .casino-babay-stage{height:88px}.in-bj .casino-babay{min-height:99px}
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{min-height:100px}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{height:71px}
 .in-bj #casinoOptions{min-height:28px;padding-top:2px;padding-bottom:2px}
}
/* v0.9 — one night, one material palette; viewport-sized game screens. */
:root{--bg:#141510;--panel:#201d17;--line:#493f30;--text:#f3eedf;--muted:#bdb5a3;--acid:#d9e894;--orange:#dfb77e;--red:#efa18b}
body{background:radial-gradient(ellipse at 15% 0,#33332255,transparent 55%),var(--bg);overflow:hidden}
button{border-color:var(--line);transition:background .14s,border-color .14s}button:hover:not(:disabled){background:#393a29;border-color:#82724c}button:disabled{opacity:.43}button.primary{background:var(--acid);border-color:var(--acid)}.secondary{background:#2b3023}.panel{background:linear-gradient(145deg,#24221b,#1b1b15);border-color:var(--line);box-shadow:0 8px 26px #0002}.babay-wants{box-shadow:0 0 0 2px #d9e89428;animation:none!important;border-color:var(--acid)!important}.eyebrow{color:#bcb9a3}em{color:var(--orange)}
.shell,.in-bj .shell,.club-live .shell{max-width:1280px;width:100%;height:100dvh;min-height:0;padding:12px 24px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:8px}
header,.in-bj header,.in-bj.bj-running header{display:flex;min-height:42px;margin:0;align-items:center}.brand{font-size:19px;gap:9px}.brandmark{width:34px;height:36px;font-size:25px}.head-actions{gap:8px}.head-actions button{min-height:40px}.wallets,.in-bj .wallets{padding:7px 0;min-height:44px;gap:26px}.wallets strong,.in-bj .wallets strong{font-size:21px}.wallets span{font-size:14px}.wallets>div{gap:8px}.goal b{font-size:14px}nav,.in-bj nav{margin:0;gap:4px}nav button,.in-bj nav button{padding:7px 10px;min-height:42px;font-size:14px}nav .active{border-radius:7px 7px 0 0;background:#2a2e20}
main{min-height:0;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.6fr);gap:14px;align-items:stretch}.rightcol{min-width:0;min-height:0;height:100%}.view{height:100%;min-height:0;padding:22px;overflow:visible}.view[hidden],*[hidden]{display:none!important}footer,.in-bj footer{display:flex;min-height:20px;margin:0;padding:0;align-items:center;font-size:11px}footer button{font-size:11px;min-height:20px;padding:0 6px}footer span:first-child{display:none}
.hero{position:static;top:0;display:grid;grid-template-rows:auto minmax(100px,1fr) auto auto auto;min-height:0;height:100%;overflow:hidden}.hero-top{padding:12px 16px}.character-stage{height:auto;min-height:0}.character-stage #babayTap{height:100%;width:100%;display:flex;align-items:flex-end;justify-content:center;min-height:0;padding:0;border:0}.character-stage img{height:100%;max-width:100%;max-height:100%;object-fit:contain}.wallword{font-size:70px}.halo{width:190px;height:190px;top:20%;left:50%;transform:translateX(-50%)}.stage-caption{font-size:10px;bottom:5px}.speech{padding:10px 16px;min-height:0}.speech p{font-size:15px;line-height:1.4;margin:3px 0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.speech-label{font-size:11px}.speech-label button{font-size:12px;min-height:30px;padding:0 3px}.vitals{padding:6px 16px 10px;gap:15px}.vitals label{font-size:12px;margin:0 0 4px}.beerbar{padding:0 12px 12px;gap:10px}.beerbar button{min-height:42px;padding:6px 10px;font-size:14px}.beerbar label{font-size:13px}
#home{display:flex;flex-direction:column;justify-content:center;gap:18px;background:radial-gradient(ellipse at 90% 0,#58442c25,transparent 60%),linear-gradient(135deg,#211f18,#1b1c16)}.home-heading h1{font-size:40px;line-height:1.1;letter-spacing:-1px;margin:10px 0 12px}.home-heading .intro{font-size:15px;max-width:42ch;margin:0;color:var(--muted)}.destinations{gap:12px;margin:0;grid-template-columns:1fr 1fr}.action-card{padding:16px;border-radius:9px;min-height:90px;background:#2c2d20}.action-card>b{font-size:20px}.action-card small{font-size:14px}.action-card>span{color:var(--orange);font-size:26px}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-actions button{width:100%;min-height:48px;padding:8px 10px;font-size:14px}.home-actions #loanRequest{margin:0;padding:0;border:0;background:none;min-width:0}.shift{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding-top:12px;border-top:1px solid var(--line)}.shift #work{padding:6px 0;font-size:14px;min-height:40px}.shift #workHint{font-size:12px;color:var(--muted)}
/* The club is a stage, not a tall article. */
.shell:has(#club:not([hidden])) main{display:block}.shell:has(#club:not([hidden])) #characterPanel{display:none!important}.shell:has(#club:not([hidden])) .rightcol{height:100%}#club{min-height:0;padding:14px;background:linear-gradient(135deg,#221b23,#18151b)}#club>.section-head{margin:0 0 10px;min-height:24px}#clubIntro{height:calc(100% - 34px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center}.club-poster{height:100%;min-height:0;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #67445d;border-radius:9px;background:radial-gradient(ellipse at center,#5b214750,#160f19);overflow:hidden}.club-poster img{width:100%;height:auto;max-height:75%;object-fit:contain}.club-poster span{font-size:13px;margin-top:18px;letter-spacing:2px;color:#ddbdd2}.club-entry-copy h1{font-size:40px;line-height:1.1;margin:12px 0 16px}.club-entry-copy .intro{font-size:16px;line-height:1.45}.club-rules{margin:18px 0;color:#c2b6bf;font-size:13px;gap:5px}.club-entry-copy #clubCooldown{font-size:14px;max-width:35ch}.club-entry-copy #enterClub{min-height:48px;padding-inline:22px}
.club-live #club{display:flex;flex-direction:column;height:100%;padding:12px;min-height:0}.club-live #clubGame{display:flex;flex-direction:column;min-height:0;height:100%;gap:8px}.night-top{flex:none;min-height:38px;gap:12px}.night-top>div:first-child{gap:1px}.night-top .club-hud{gap:22px;font-size:18px}#clubCombo{font-size:13px}.night-meter{flex:none;margin:0;min-height:18px;gap:10px;font-size:12px}.night-meter #clubTask{font-size:13px}.arena{flex:1;min-height:100px;max-height:none;border-color:#6c4c60;background:#100d17}.arena canvas,.club-live .arena canvas{height:100%;min-height:0;max-height:none;width:100%;touch-action:none}.night-bottom{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}.club-controls{display:flex;gap:12px;align-items:center}.combat-controls{display:grid;grid-template-columns:92px 92px 136px;gap:8px}.combat-controls button{min-height:46px;padding:8px;font-size:14px}.club-live .dpad{display:none}.club-supplies{border:0;padding:0;display:flex;gap:12px;align-items:center;font-size:13px}.club-supplies button{min-height:44px;padding:7px 9px;font-size:13px}.club-patience{width:90px}.club-keyhint{margin:0;font-size:12px;text-align:left;color:#b8abb6}.club-live #clubAlert{font-size:14px;max-width:65ch;line-height:1.35}.club-live #clubSubtitle{font-size:14px;line-height:1.4;max-width:80%;bottom:12px;background:#16121de8}
/* Casino inherits the same warm wood/olive controls; no cold nested windows. */
.in-bj main{display:flex;flex-direction:column;gap:7px}.in-bj .hero{height:auto;flex:none;margin:0;display:flex;min-height:44px;background:#22231a;border-color:var(--line)}.in-bj .rightcol{flex:1;min-height:0}.in-bj #bj{height:100%;background:radial-gradient(ellipse at 30% 20%,#55332218,transparent 70%),#211b17;border-color:#5b4430;border-radius:10px}.in-bj .casino-workspace{gap:14px}.in-bj .casino-controls{background:transparent;border:0;border-radius:0}.in-bj .bet-coach{background:#2b241c;border-left:2px solid #b58c57;border-radius:0 7px 7px 0}.in-bj .advice{background:#2b281d;border-left:2px solid #c8cf80;border-radius:0 7px 7px 0;color:#e6eab9}.in-bj .insurance-panel{background:#2b241d;border:1px solid #856841;border-radius:8px}.in-bj .insurance-panel h2{color:#efddba}.in-bj .bet-input input{background:#201f18;border-color:#65533a;color:#f3ead8}.in-bj .bj-actions button{background:#2b3023;border-color:#4c5036}.in-bj .bj-actions button.babay-wants{background:#3c4427;border-color:#d2dc8e}.in-bj .bj-comment{border-left-color:#b18b56}.in-bj .casino-top{color:#cab99c}.in-bj .casino-babay{border-right-color:#7a5e3e55}.in-bj .casino-scene{border-color:#9b7548}.in-bj .table{box-shadow:inset 0 0 28px #120609aa,0 2px 8px #0004}.in-bj .casino-options-button{color:#b9ac93}.in-bj #bj>.section-head button{font-size:13px;min-height:36px}.in-bj .casino-neon{color:#eab9a0}.in-bj .hero .vitals{height:auto}.in-bj .hero .beerbar{padding:0}.in-bj .hero .beerbar button{min-height:40px}
#modal,#casinoSettings{background:#231e18;border-color:#8d704a;color:#f3eedf}dialog::backdrop{background:#050604c9;backdrop-filter:blur(5px)}#modal .intro-copy p{font-size:16px}.voice-details{border-color:var(--line)}
@media(max-width:900px) and (min-width:701px){.shell,.in-bj .shell{padding:10px 16px}main{grid-template-columns:220px minmax(0,1fr)}.view{padding:18px}.home-heading h1,.club-entry-copy h1{font-size:32px}#clubIntro{gap:18px}.combat-controls{grid-template-columns:70px 70px 100px}.club-supplies{gap:5px}.club-patience{display:none}}
@media(max-width:700px){
 .shell,.in-bj .shell,.club-live .shell{padding:8px 10px;gap:6px}header,.in-bj header,.in-bj.bj-running header{min-height:36px}.brand{font-size:16px;letter-spacing:2px;gap:7px}.brandmark{width:28px;height:30px;font-size:23px}.brand .version{font-size:10px}.head-actions{gap:3px}.head-actions button{min-height:36px;font-size:12px;padding:3px 5px}.head-actions #help{width:30px;font-size:20px}.wallets,.in-bj .wallets{min-height:42px;padding:3px 0;gap:8px;flex-wrap:nowrap;justify-content:space-between}.wallets>div,.in-bj .wallets>div{display:flex;flex-direction:row;align-items:baseline;gap:5px}.wallets span,.in-bj .wallets span{font-size:12px}.wallets strong,.in-bj .wallets strong{font-size:18px}.wallets .goal,.in-bj .wallets .goal{display:flex;flex-direction:column;gap:0;align-items:flex-end}.wallets .goal span{display:none}.goal b{font-size:12px}.goal .progress{width:48px;height:3px;margin-top:4px}.wallets .goal{margin-left:auto}nav,.in-bj nav{margin:0;gap:3px}nav button,.in-bj nav button{min-height:38px;font-size:13px;padding:4px}
 main{display:flex;flex-direction:column;gap:8px;min-height:0}.rightcol{flex:1;min-height:0;height:auto}.view{padding:14px;height:100%}footer,.in-bj footer{font-size:10px;min-height:16px}footer span:last-child{font-size:10px}
 .hero,.away-home .hero{height:174px;flex:none;display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:96px 28px 44px;gap:0;position:static;min-height:0}.hero-top,.away-home .hero-top{display:none}.hero .character-stage,.away-home .hero .character-stage{display:flex;grid-column:1;grid-row:1/3;height:124px;overflow:hidden}.hero .character-stage img{height:174px;max-height:none;max-width:none;object-fit:contain}.hero .character-stage #babayTap{align-items:flex-start}.hero .halo{width:100px;height:100px;top:25px}.hero .wallword,.hero .stage-caption{display:none}.hero .speech,.away-home .hero .speech{display:block;grid-column:2;grid-row:1;padding:8px 10px 2px 2px;min-height:0;overflow:hidden}.hero .speech-label{font-size:10px;min-height:20px}.hero .speech-label button{font-size:11px;min-height:20px}.hero .speech p,.away-home .hero .speech p{font-size:14px;line-height:1.3;margin:1px 0;-webkit-line-clamp:4}.hero .vitals,.away-home .hero .vitals{grid-column:2;grid-row:2;padding:0 10px 3px 2px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero .vitals label{font-size:10px;margin:0 0 2px}.hero .vitals .meter{height:3px}.hero .beerbar,.away-home .hero .beerbar{grid-column:1/-1;grid-row:3;padding:3px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #4a433233}.hero .beerbar button{min-height:36px;padding:4px 10px;font-size:13px}.hero .beerbar label{font-size:12px}.hero .beerbar #clubMute{display:none}
 #home{gap:12px;justify-content:space-evenly}.home-heading h1{font-size:28px;line-height:1.05;margin:4px 0 7px}.home-heading .eyebrow{font-size:10px}.home-heading .intro{font-size:13px;line-height:1.3}.destinations{gap:8px}.action-card{min-height:64px;padding:10px 12px}.action-card>b{font-size:17px}.action-card small{font-size:12px}.action-card>span{font-size:21px}.home-actions{gap:6px}.home-actions button{min-height:44px;font-size:12px;padding:5px 6px;line-height:1.25}.shift{padding-top:7px}.shift #work{min-height:32px;font-size:13px}.shift #workHint{font-size:11px}
 #club{padding:10px}.club-live #club{padding:8px}#clubIntro{height:calc(100% - 29px);grid-template-columns:1fr;grid-template-rows:minmax(70px,.65fr) auto;gap:12px}.club-poster{height:100%;min-height:0}.club-poster img{max-height:85%;width:auto;max-width:92%}.club-poster span{font-size:10px;margin:0 0 5px;letter-spacing:1px}.club-entry-copy h1{font-size:29px;margin:5px 0 9px}.club-entry-copy>.eyebrow{font-size:10px}.club-entry-copy .intro{font-size:14px;line-height:1.35;margin:6px 0}.club-rules{font-size:11px;line-height:1.5;margin:10px 0;gap:0}.club-entry-copy #clubCooldown{font-size:12px;margin:8px 0}.club-entry-copy #enterClub{width:100%;min-height:44px}
 .club-live #clubGame{gap:6px}.night-top{min-height:34px}.night-top #clubZone{font-size:10px}.night-top #clubCombo{font-size:11px}.night-top .club-hud{font-size:14px;gap:10px}.night-meter{flex-wrap:nowrap;min-height:14px;font-size:9px;gap:6px}.night-meter>div{width:45px;min-width:24px;flex:1}.night-meter #clubTask{width:auto;margin-left:auto;font-size:10px;white-space:nowrap}.arena,.club-live .arena{min-height:100px;flex:1}.arena canvas,.club-live .arena canvas{height:100%;min-height:0;max-height:none}.night-bottom{flex-direction:column;align-items:stretch;gap:6px}.club-controls{justify-content:space-between;gap:8px}.club-live .dpad{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:3px;flex:none}.club-live .dpad button{width:40px;height:40px;min-height:40px;padding:0;font-size:17px}.combat-controls{grid-template-columns:repeat(2,minmax(70px,1fr));grid-template-rows:40px 40px;gap:4px;flex:1;max-width:190px}.combat-controls #interact{grid-column:1/-1;grid-row:1;background:var(--acid);color:#252c1b;border-color:var(--acid);font-weight:750}.combat-controls #push,.combat-controls #dodge{grid-row:2;background:#2b3023;color:var(--text);border-color:#4b5039}.combat-controls button{min-height:40px;padding:3px;font-size:13px}.club-supplies{padding:0;border:0;justify-content:space-between;gap:5px;min-height:40px;font-size:11px}.club-supplies button{min-height:40px;font-size:11px;padding:3px 6px}.club-supplies .club-patience{display:none}.club-supplies label{font-size:11px}.club-keyhint{display:none}.club-live #clubAlert{font-size:12px;top:6px;left:6px;right:116px;padding:5px 7px}.club-live #clubSubtitle{font-size:12px;padding:5px 8px;bottom:8px;max-width:92%;line-height:1.3}
 .in-bj .hero,.in-bj.bj-running .hero{display:flex;grid-template-columns:none;grid-template-rows:none;height:auto;min-height:42px;flex:none;padding:0 8px;gap:8px}.in-bj .hero .character-stage,.in-bj .hero .speech{display:none!important}.in-bj .hero .vitals,.in-bj.bj-running .hero .vitals{display:grid;width:112px;padding:2px 0;gap:6px;flex:1}.in-bj .hero .beerbar,.in-bj.bj-running .hero .beerbar{border:0;padding:0;gap:8px;flex:none}.in-bj #bj{padding:7px 8px}.in-bj #bj>.section-head button{font-size:11px;min-height:28px}.in-bj .casino-workspace{gap:5px 7px}.in-bj .bet-coach{background:transparent;border:0}.in-bj .insurance-panel{border-color:#80633e}.in-bj .advice{font-size:14px}.in-bj .casino-scene{border-color:#9b7548}
 #shop h1{font-size:29px;line-height:1.1;margin:8px 0 12px}.product{margin:12px 0;gap:16px}.product p{font-size:13px}.product h2{font-size:20px}.beer-art{font-size:48px}.healbox{margin-top:14px;padding-top:12px}.healbox p{font-size:11px}#shop>.muted{font-size:11px}
}
@media(max-width:700px) and (max-height:740px){
 header .brand .version{display:none}.head-actions #sound{max-width:92px;white-space:nowrap;overflow:hidden}.shell,.in-bj .shell,.club-live .shell{gap:4px;padding:6px 10px}.hero,.away-home .hero{height:147px;grid-template-rows:74px 28px 41px}.hero .character-stage,.away-home .hero .character-stage{height:102px}.hero .character-stage img{height:156px}.hero .speech p,.away-home .hero .speech p{font-size:13px;-webkit-line-clamp:3}.hero .speech{padding-top:5px}.hero .speech-label{min-height:17px}.hero .beerbar button{min-height:34px}#home{gap:7px;padding:10px 12px}.home-heading h1{font-size:25px;margin:3px 0 5px}.home-heading h1 br{display:none}.home-heading .intro{font-size:12px}.home-heading>.eyebrow{display:none}.action-card{min-height:56px;padding:7px 10px}.action-card small{font-size:11px}.home-actions button{min-height:40px;font-size:11px}.shift{padding-top:4px}.shift #work{min-height:30px}.club-entry-copy h1{font-size:26px}.club-rules{margin:6px 0}.club-entry-copy .intro{font-size:13px}.club-entry-copy #clubCooldown{margin:5px 0}.club-live #clubGame{gap:5px}.club-live .arena{min-height:100px}.in-bj .hero{height:auto;min-height:40px}.in-bj .hero .beerbar button{min-height:36px}.in-bj #bj>.section-head{min-height:26px}.in-bj #bj{padding-top:5px}.in-bj .casino-options-button{min-height:28px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}

@media(max-width:700px){.club-live .dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px)}.club-live .dpad button{width:44px;height:44px;min-height:44px}.combat-controls{grid-template-rows:44px 44px}.combat-controls button,.club-supplies button{min-height:44px}.home-actions button{min-height:44px}}
/* Consistent footer and compact navigation cards, without inherited stacked spacing. */
footer,.in-bj footer{flex-flow:row nowrap;justify-content:space-between;align-items:center;gap:8px;line-height:1;height:20px;min-height:20px;margin:0;padding:0}
footer button{height:20px;min-height:20px;margin:0;padding:0 4px}
.action-card{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 8px;align-content:center;text-align:left}
.action-card>span{grid-column:1;grid-row:1/3}.action-card>b{grid-column:2;grid-row:1}.action-card>small{grid-column:2;grid-row:2}
.in-bj #casinoBabayQuote{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:700px){
 .in-bj #casinoBabayQuote{display:none}
 .in-bj .bj-comment{margin:5px 0;font-size:12px;line-height:1.3}
 .in-bj .casino-options-button{margin-top:3px;min-height:28px}
 .in-bj .bet-coach{padding:3px 0}
 .in-bj .bet-coach p{margin:3px 0 5px;line-height:1.3}
}
@media(max-width:700px) and (max-height:740px){
 #shop{padding:10px 14px}#shop h1{font-size:24px;margin:5px 0 8px}#shop h1 br{display:none}
 #shop .product{margin:8px 0;gap:12px}#shop .product h2{font-size:18px;margin:0 0 5px}#shop .product p{margin:3px 0;font-size:12px}
 #shop .healbox{margin-top:9px;padding-top:8px}#shop .healbox p{margin:3px 0}#shop>.muted{margin:6px 0 0;font-size:10px}
 .in-bj .casino-babay{min-height:80px}.in-bj .casino-babay-stage{height:70px}.in-bj .casino-babay-stage img{height:108px}
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{min-height:80px;grid-template-rows:22px 1fr}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{height:59px}
 .in-bj.bj-insurance .table{padding:6px 6px 5px;gap:2px}
 .in-bj.bj-insurance .insurance-panel{padding:7px 9px}
 .in-bj.bj-insurance .insurance-panel p{margin:2px 0 5px}
 .in-bj.bj-insurance .insurance-panel small{margin-top:4px}
}
@media(max-width:700px){
 .in-bj .table[data-phase="settled"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;padding:8px 6px 7px;min-height:0}
 .in-bj .table[data-phase="settled"] .dealer-label{grid-column:1;grid-row:1;padding:0;font-size:10px;letter-spacing:.5px}
 .in-bj .table[data-phase="settled"] #dealerCards{grid-column:1;grid-row:2;margin:0;gap:4px;flex-wrap:nowrap}
 .in-bj .table[data-phase="settled"] #dealerCards .card{height:52px;width:36px;padding:3px;flex-shrink:0}
 .in-bj .table[data-phase="settled"] .table-mark{display:none}
 .in-bj .table[data-phase="settled"] #hands{grid-column:2;grid-row:1/3;min-width:0}
 .in-bj .table[data-phase="settled"] .hand{margin:0;padding:6px 3px}
 .in-bj .table[data-phase="settled"] .hand-label{font-size:9px}
 .in-bj .table[data-phase="settled"] .casino-chips{grid-column:1/-1;grid-row:3;margin:0}
 .in-bj .table[data-phase="settled"] #bjResult{grid-column:1/-1;grid-row:4;margin:0;font-size:12px}
 .in-bj .table[data-phase="settled"] .shoe-prop{display:none}
 footer button{white-space:nowrap}
}
@media(max-width:700px) and (max-height:740px){
 .in-bj .casino-top{display:none}.in-bj .casino-babay,.in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{grid-row:1}.in-bj .table,.in-bj.bj-running .table{grid-row:2}.in-bj .casino-controls{grid-row:3}
}
.club-live .shell{grid-template-rows:minmax(0,1fr)}.club-live main{height:100%;min-height:0}
@media(max-width:700px){.combat-controls #push{grid-column:1;grid-row:2;height:44px;align-self:stretch}.combat-controls #dodge{grid-column:2;grid-row:2;height:44px;align-self:stretch}.combat-controls #interact{height:44px;align-self:stretch}}
@media(max-width:700px){.club-live .combat-controls{align-items:start;grid-auto-rows:44px}.club-live .combat-controls #push,.club-live .combat-controls #dodge{height:44px;min-height:44px;max-height:44px;align-self:start;grid-row:2}.club-live .combat-controls #push{grid-column:1}.club-live .combat-controls #dodge{grid-column:2}}
@media(max-width:700px) and (max-height:740px){.home-heading h1 em,#shop h1 em{margin-left:.15em}}
/* Focused night arena on desktop too: no competing grid rows above the stage. */
.club-live header,.club-live .wallets,.club-live nav,.club-live footer{display:none!important}
/* Three clear lanes for split hands on phones: dealer + both hands, no extra table row. */
@media(max-width:700px){
 .in-bj .table:has(#hands .hand:nth-child(2)){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:7px 5px;min-height:0}
 .in-bj .table:has(#hands .hand:nth-child(2)) .dealer-label{grid-column:1;grid-row:1;font-size:9px;letter-spacing:0;padding:0}
 .in-bj .table:has(#hands .hand:nth-child(2)) #dealerCards{grid-column:1;grid-row:2;min-height:46px;margin:0;gap:0;flex-wrap:nowrap;align-items:center}
 .in-bj .table:has(#hands .hand:nth-child(2)) #hands{display:contents}
 .in-bj .table:has(#hands .hand:nth-child(2)) .hand{grid-row:1/3;margin:0;padding:3px 1px;min-width:0}
 .in-bj .table:has(#hands .hand:nth-child(2)) .hand:nth-child(1){grid-column:2}
 .in-bj .table:has(#hands .hand:nth-child(2)) .hand:nth-child(2){grid-column:3}
 .in-bj .table:has(#hands .hand:nth-child(2)) .cards{flex-wrap:nowrap;gap:0;min-height:46px;margin:3px 0}
 .in-bj .table:has(#hands .hand:nth-child(2)) .card{width:30px;height:45px;font-size:13px;flex-shrink:0;padding:3px}
 .in-bj .table:has(#hands .hand:nth-child(2)) .card+.card{margin-left:-7px}
 .in-bj .table:has(#hands .hand:nth-child(2)) .hand-label{font-size:9px;line-height:1.25}
 .in-bj .table:has(#hands .hand:nth-child(2)) .casino-chips{grid-column:1/-1;grid-row:3;margin:0}
 .in-bj .table:has(#hands .hand:nth-child(2)) #bjResult{grid-column:1/-1;grid-row:4;margin:0;font-size:11px;line-height:1.3}
 .in-bj .table:has(#hands .hand:nth-child(2)) .table-mark{display:none}
}
@media(max-width:700px){.in-bj .table:has(#hands .hand:nth-child(2)) .shoe-prop{display:none}}
/* 0.10 — Babay leads: one request, one clearly lit action. */
.shell,.in-bj .shell,.club-live .shell{grid-template-rows:auto auto auto auto minmax(0,1fr) auto}
.request-dock{display:flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid #b8ca75;border-radius:10px;background:linear-gradient(100deg,#343c25,#20261a);min-width:0}
.request-mark{flex:none;width:32px;height:32px;display:grid;place-items:center;background:var(--acid);color:#222a16;font-weight:900;border-radius:50%}
.request-dock>div{flex:1;min-width:0}.request-dock b{display:block;font-size:16px}.request-dock div>span{display:block;font-size:14px;color:#d2d6c0}.request-dock button{flex:none;min-height:44px}
.babay-wants{position:relative;border-color:#e4f3a1!important;box-shadow:0 0 0 2px #d9e89445,0 0 20px #d9e89428!important;background-color:#404c28!important;color:#f4ffd8!important;animation:request-glow 2s ease-in-out infinite!important}
button.primary.babay-wants{background:#e2efa4!important;color:#222c14!important}nav button.babay-wants::after{content:' •';font-size:18px;color:#edffc2}
@keyframes request-glow{50%{box-shadow:0 0 0 3px #d9e89470,0 0 25px #d9e89440}}
.vitals{grid-template-columns:1fr 1.35fr}.meter.need{height:10px;border-radius:4px;background:#100f0c;border:1px solid #6c7350}.meter.need i{transition:width .4s linear;background:linear-gradient(90deg,#71824a,#d9ed8a)!important}.meter.need[data-trend=down] i{background:linear-gradient(90deg,#ab613f,#f0ae85)!important}.patience-trend{display:block;min-height:28px;margin-top:5px;color:#d5dfb6;font-size:12px;line-height:1.2}.meter.need[data-trend=down]+.patience-trend{color:#ffd0ad}.vitals label{font-size:13px}
/* Cinematic conversation; enlarged portrait edges remain outside the visible frame. */
#modal.intro-dialog{width:min(1000px,94vw);max-height:92dvh;padding:0;overflow:auto;background:#191d16;border:1px solid #8e9b62;border-radius:12px}
#modal.intro-dialog #modalContent{display:grid;grid-template-columns:.9fr 1.1fr;min-height:490px}
#modal.intro-dialog::backdrop{background:#050703a8;backdrop-filter:blur(16px) brightness(.45)}
.intro-portrait{height:auto;min-height:490px;display:block;border:0;border-right:1px solid #65704560;background:radial-gradient(ellipse at 50% 35%,#66774175,#1a2015 74%)}
.intro-portrait img{position:absolute;max-width:none;width:540px;height:auto;max-height:none;left:50%;bottom:-108px;transform:translateX(-50%);filter:drop-shadow(0 8px 28px #0009)}
.intro-portrait:after{content:'СВОЙ ЧЕЛОВЕК';z-index:2;bottom:22px;left:24px;font-size:14px;letter-spacing:4px;color:#edf5c2;text-shadow:0 2px 8px #000}
.intro-copy{padding:36px;display:flex;flex-direction:column;justify-content:center}.intro-meta{gap:12px}.intro-meta span{font-size:12px;color:#c2d295;letter-spacing:1px}
.intro-copy h2{font-size:clamp(30px,3.5vw,42px);line-height:1.12;letter-spacing:-1px;margin:24px 0 18px}
#modal .intro-copy p{font-size:20px;line-height:1.55;color:#f0f1e5;min-height:0;margin:0}.intro-copy .button-row{margin-top:26px}.intro-copy .button-row button{min-height:50px;font-size:16px}
.intro-progress{display:flex;gap:8px;margin-top:24px}.intro-progress i{height:3px;flex:1;background:#414633}.intro-progress i.done{background:#d9e894}
.loan-dialog-face{height:150px;overflow:hidden;background:radial-gradient(ellipse at center,#6c74434d,transparent);margin:-10px -10px 20px;position:relative}.loan-dialog-face img{position:absolute;width:210px;max-width:none;left:50%;bottom:-90px;transform:translateX(-50%)}
.voice-range{width:100%;accent-color:var(--acid);min-height:44px;margin:6px 0 22px}dialog output{float:right;color:var(--acid);font-weight:700}
/* Single-button rhythm lane, a legible target with notes approaching from the right. */
.rhythm-panel{flex:none;padding:10px 14px 12px;background:#141713;border:1px solid #59633f;border-radius:9px;opacity:.75}.rhythm-panel.on-floor{opacity:1;border-color:#cddd88;background:linear-gradient(100deg,#242b1c,#171c15)}
.rhythm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;min-height:27px}.rhythm-head>span{font-size:12px;letter-spacing:.5px;color:#c5cdb1}.rhythm-head strong{font-size:22px;line-height:1;letter-spacing:1px;font-style:italic;color:#f7f5e4;text-shadow:2px 2px 0 #000}.rhythm-head strong[data-grade=ИДЕАЛЬНО]{color:#e7f79e}.rhythm-head strong[data-grade=ЧЁТКО]{color:#b5eabd}.rhythm-head strong[data-grade=НОРМАЛЬНО]{color:#f3d7a4}.rhythm-head strong[data-grade=ПЛОХО]{color:#ffc0ad}
.rhythm-track{position:relative;display:block;width:100%;height:42px;min-height:42px;padding:0;border-radius:4px;border:1px solid #6b7652;background:repeating-linear-gradient(90deg,#ffffff06 0 1px,transparent 1px 5.125%),#0d120c;overflow:hidden;touch-action:manipulation}
.rhythm-track:hover:not(:disabled){background-color:#1c2716}.rhythm-track:disabled{opacity:1}.rhythm-window{position:absolute;top:0;bottom:0;left:calc(22% - 16px);width:32px;background:#d9e89422;border-inline:1px solid #d9e89477}.rhythm-target{position:absolute;left:22%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;border:2px solid #f0f9c6;display:grid;place-items:center;color:#f0f9c6;font-size:20px;background:#34402055;border-radius:5px}.beat-now .rhythm-target{background:#dbeb96;color:#1e2916;box-shadow:0 0 18px #d9ed8a66}
.beat-note{position:absolute;left:-11px;top:4px;line-height:30px;font-size:26px;color:#dfec9c;pointer-events:none;will-change:transform;text-shadow:0 2px 2px #000}.beat-note.hit{opacity:.2}.rhythm-key{position:absolute;right:8px;bottom:3px;line-height:18px;font-size:10px;background:#10160de6;color:#cad5b0;padding:0 4px;pointer-events:none}
#clubTask{color:#e3efb4}.club-keyhint{display:none}.club-live .night-meter{display:none}.club-live .night-top{min-height:32px}.club-live .club-controls{margin:0}.club-live .rhythm-panel{margin:0}
@media(max-width:700px){
 .request-dock{padding:9px 10px;gap:8px;flex-wrap:wrap}.request-mark{width:26px;height:26px}.request-dock>div{flex-basis:calc(100% - 40px)}.request-dock b{font-size:14px}.request-dock div>span{font-size:12px;line-height:1.35}.request-dock button{width:100%;padding:8px;min-height:44px;font-size:14px}
 .hero,.away-home .hero{min-height:205px;height:205px;grid-template-rows:100px 54px 48px}.hero .vitals,.away-home .hero .vitals{padding-top:4px}.patience-trend{font-size:11px;min-height:26px}.in-bj .hero{height:auto;min-height:48px}.in-bj .hero .vitals{display:none}
 .shell,.in-bj .shell{overflow-y:auto}.shell main{min-height:240px}.view{overflow:auto}body{overflow:auto}.shell{min-height:100dvh;height:auto}.rightcol{min-height:280px}.club-live .shell{height:100dvh;min-height:0;overflow:hidden}.club-live .shell main{min-height:0}.club-live .rightcol{min-height:0}
 #modal.intro-dialog #modalContent{display:flex;flex-direction:column;min-height:0}.intro-portrait{height:230px;min-height:230px;border-right:0;border-bottom:1px solid #65704560}.intro-portrait img{width:310px;bottom:-116px}.intro-portrait:after{font-size:11px;left:18px;bottom:14px}.intro-copy{padding:22px}.intro-copy h2{font-size:30px;margin:16px 0 12px}#modal .intro-copy p{font-size:17px;line-height:1.5}.intro-meta span{font-size:10px}.intro-copy .button-row{margin-top:20px}.intro-copy .button-row button{font-size:14px;min-height:48px}
 .rhythm-panel{padding:8px}.rhythm-head{gap:4px;margin-bottom:6px}.rhythm-head>span{font-size:10px;letter-spacing:0}.rhythm-head strong{font-size:18px}.rhythm-head>span:last-child{font-size:10px}.rhythm-track{min-height:44px;height:44px}.club-live #clubGame{gap:6px}
}
@media(prefers-reduced-motion:reduce){.babay-wants{animation:none!important}.meter.need i{transition:none}.beat-note{will-change:auto}}
.shell:has(#requestDock[hidden]),.in-bj .shell:has(#requestDock[hidden]){grid-template-rows:auto auto auto minmax(0,1fr) auto}
@media(max-width:700px){.club-live .shell{grid-template-rows:minmax(0,1fr)!important}}
.club-live .shell:has(#requestDock[hidden]){grid-template-rows:minmax(0,1fr)}
.club-supplies:has(#clubShop:not([hidden])) #clubDrink{display:none}
@media(max-width:700px){.hero .vitals .meter.need{height:7px}.hero .vitals label{font-size:11px}.hero .vitals{grid-template-columns:.8fr 1.4fr!important}.club-supplies:has(#clubShop:not([hidden])) #clubFx{display:none}}
/* 0.11 — smaller portrait and a rhythm prompt attached to the player. */
.intro-portrait img{width:480px;bottom:-42px}
#patienceTrend,.patience-trend{display:none!important}
.arena .rhythm-panel{position:absolute;z-index:4;display:none;width:204px;max-width:60%;padding:4px 6px 5px;margin:0;border:1px solid #e1ecc44d;border-radius:7px;background:#10170e66;backdrop-filter:blur(2px);opacity:1;box-shadow:none;pointer-events:auto;transition:none;touch-action:manipulation}
.arena .rhythm-panel.on-floor:not([hidden]){display:block;background:#10170e66;border-color:#ddecac77}
.arena .rhythm-head{min-height:18px;margin:0 0 3px;gap:4px}.arena #rhythmHint,.arena .rhythm-key{display:none}.arena .rhythm-head strong{font-size:14px;line-height:18px;letter-spacing:0;white-space:nowrap}.arena .rhythm-head>span{font-size:11px;white-space:nowrap;color:#e5f1cf}.arena .rhythm-track{height:31px;min-height:31px;background:#0d150b44;border-color:#c5d49d55;overflow:hidden}.arena .rhythm-target{width:24px;height:24px;font-size:14px}.arena .beat-note{font-size:20px;top:0;line-height:28px;left:-9px}.arena .rhythm-window{width:24px;left:calc(22% - 12px)}
.club-live #clubSubtitle{max-width:min(650px,92%);bottom:10px}.debt-total b{color:#ffc3a8}.debt-total{font-size:21px!important}
@media(max-width:700px){.intro-portrait img{width:280px;bottom:-70px}.arena .rhythm-panel{width:182px;max-width:60%}.arena .rhythm-head strong{font-size:13px}.arena .rhythm-head>span{font-size:10px}.hero,.away-home .hero{height:180px;min-height:180px;grid-template-rows:98px 30px 48px}.hero .vitals .meter.need{height:7px}.club-live .arena{min-height:170px}.club-supplies{gap:10px;justify-content:flex-start}.club-supplies #clubVoice{margin-left:auto}}
@media(max-width:700px){.in-bj .hero,.in-bj.bj-running .hero{height:auto;min-height:48px;grid-template-rows:none}.in-bj .hero .vitals,.in-bj.bj-running .hero .vitals{display:grid;width:135px;min-height:0;gap:8px;padding:4px 0;grid-template-columns:1fr 1fr!important}.in-bj .hero .beerbar{min-height:48px}.arena .rhythm-track{min-height:44px;height:44px}.arena .beat-note{top:6px}}

/* 0.15 — one kiosk, direct shelf interaction, shared compact status rail. */
.in-shop .shell{height:auto;min-height:100dvh;max-width:1000px;display:block}.in-shop main{display:block;min-height:0}.in-shop .rightcol{height:auto;min-height:0}.in-shop nav{margin:8px 0}.in-shop .request-dock{margin:8px 0}.in-shop footer{position:static;margin:12px 0 0;padding:12px 0}.in-shop .hero,.in-shop.away-home .hero{display:flex;align-items:center;justify-content:space-between;gap:24px;height:auto;min-height:60px;margin:12px 0 0;padding:8px 16px;overflow:visible;background:#22231a;border:1px solid var(--line);border-radius:8px}.in-shop .hero .hero-top,.in-shop .hero .character-stage,.in-shop .hero .speech{display:none!important}.in-shop .hero .vitals{display:grid;grid-template-columns:1fr 1fr!important;width:320px;min-height:0;height:auto;padding:0;gap:24px;flex:none}.in-shop .hero .vitals label{display:block;font-size:14px;line-height:1.3;margin:0 0 6px;color:#c7c3b2;white-space:nowrap}.in-shop .hero .vitals label b{margin-left:6px;color:#f0eddf}.in-shop .hero .vitals .meter{height:7px}.in-shop .hero .beerbar{display:flex;align-items:center;min-height:44px;padding:0;border:0;gap:16px;flex:none}.in-shop .hero .beerbar button{min-height:44px;font-size:14px;padding:8px 16px}.in-shop .hero .beerbar label{font-size:14px}.in-shop #shop{height:auto;min-height:0;padding:20px 0 0}.kiosk-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:620px;margin:0 auto 16px}.kiosk-heading .eyebrow{font-size:12px;color:#beb79d;letter-spacing:.12em}.kiosk-heading h1{font-size:30px!important;line-height:1.1!important;margin:5px 0 0!important;letter-spacing:-.02em}.kiosk-open{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.08em;color:#dce6b5}.kiosk-open i{width:6px;height:6px;border-radius:50%;background:#cce38a}.kiosk-window{position:relative;isolation:isolate;width:min(100%,620px);aspect-ratio:1;margin:0 auto;background:#21180f;border:1px solid #6b5740;border-radius:8px;overflow:hidden}.kiosk-picture{display:block;width:100%;height:100%;object-fit:contain}.kiosk-hotspot{position:absolute;min-width:44px;min-height:44px;padding:0;background:transparent;border:1px solid #ffe6a83b;border-radius:4px;box-shadow:none;cursor:pointer;transition:background .15s,border-color .15s;z-index:1}.kiosk-hotspot:hover:not(:disabled){background:#f0cc6620;border-color:#ffe6a8;box-shadow:inset 0 0 0 1px #ffe6a888}.kiosk-hotspot:focus-visible{outline:3px solid #e5f397;outline-offset:2px;z-index:2}.kiosk-hotspot.selected{border:2px solid #eed29b;background:#e5c87f0d}.kiosk-hotspot span{position:absolute;left:50%;bottom:0;transform:translateX(-50%);max-width:100%;background:#17130df2;border-radius:3px;padding:4px 7px;color:#fff0cf;font-size:12px;line-height:1.3;font-weight:650;white-space:nowrap;opacity:0;pointer-events:none}.kiosk-hotspot:hover span,.kiosk-hotspot:focus-visible span,.kiosk-hotspot.selected span,.kiosk-hotspot.sold-out span{opacity:1}.beer-shelf{left:26.5%;top:14%;width:37.5%;height:27%}.vodka-top-shelf{left:67%;top:18%;width:22%;height:17%}.vodka-bottom-shelf{left:67%;top:38.5%;width:22%;height:18%}.kiosk-hotspot:disabled{cursor:not-allowed}.kiosk-hotspot.sold-out{background:repeating-linear-gradient(135deg,#22190fe8 0,#22190fe8 6px,#453023e8 6px,#453023e8 8px);border-color:#af8363}.kiosk-hotspot.sold-out span{white-space:normal;text-align:center;font-size:14px;width:100%;padding:8px 3px;bottom:50%;transform:translate(-50%,50%)}.kiosk-stockline{display:flex;justify-content:space-between;gap:12px;max-width:620px;margin:12px auto 0;font-size:14px;line-height:1.45;color:#d5c9b1}.kiosk-stockline span{min-width:0}.kiosk-stockline span:last-child{text-align:right}.kiosk-receipt{max-width:620px;margin:12px auto 0;padding:12px 14px;min-height:48px;font-size:14px;line-height:1.5;color:#e2d8c2;background:#242219;border:1px solid #524b38;border-radius:6px}.kiosk-notes{display:flex;justify-content:space-between;gap:16px;max-width:620px;margin:12px auto 0;font-size:14px;line-height:1.4;color:#c9c2af}.kiosk-disclaimer{max-width:620px;margin:12px auto 0;color:#b5b09f;font-size:12px;line-height:1.5}.stock-tag{display:inline-block;width:fit-content;font-size:14px;color:#edf3cd;background:#343d26;padding:4px 8px;border:1px solid #758348;border-radius:4px}.club-bar-shop{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:center;margin:20px 0}.bar-bottle{display:flex;flex-direction:column;align-items:center;padding:12px;background:#202733;border:1px solid #768eaa;color:#e5edff;gap:12px;min-height:0}.bar-bottle img{width:88px;height:230px;object-fit:contain}.bar-bottle span{display:grid;gap:4px;font-size:14px}.bar-bottle b{font-size:22px}.bar-title h2{font-size:32px;line-height:1.2}.bar-title em{font-style:normal;color:#c9ddee}.bar-title p,.club-bar-shop p{font-size:16px;line-height:1.5}.shop-disclaimer{font-size:14px;line-height:1.5;color:#b5b09f}.bar-bottle:focus-visible{outline:3px solid #e9f89d;outline-offset:3px}
@media(max-width:700px){.in-shop .shell{padding:8px 10px}.in-shop .hero,.in-shop.away-home .hero{min-height:58px;padding:6px 10px;gap:12px;margin-top:8px}.in-shop .hero .vitals{width:auto;flex:1;gap:10px}.in-shop .hero .vitals label{font-size:12px;margin-bottom:5px}.in-shop .hero .vitals label b{margin-left:3px}.in-shop .hero .beerbar{gap:8px}.in-shop .hero .beerbar label{font-size:12px}.in-shop .hero .beerbar button{font-size:13px;padding:5px 10px}.in-shop #shop{padding-top:16px}.kiosk-heading{margin-bottom:12px}.kiosk-heading h1{font-size:27px!important}.kiosk-heading .eyebrow,.kiosk-open{font-size:11px}.kiosk-hotspot span{font-size:11px;padding:3px}.kiosk-hotspot.sold-out span{font-size:12px}.kiosk-stockline{font-size:14px;gap:16px}.kiosk-notes{flex-direction:column;gap:4px;margin-top:10px}.kiosk-receipt{padding:10px 12px}.kiosk-disclaimer{font-size:12px}.club-bar-shop{grid-template-columns:110px 1fr;gap:14px}.bar-bottle img{height:180px;width:68px}.club-bar-shop p{font-size:14px}.bar-title h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.kiosk-hotspot{transition:none}}

/* 0.16 — viewport-sized shop, same shell rhythm as the other tabs. No zoom. */
.in-shop .shell{max-width:1280px;width:100%;height:100dvh;min-height:720px;padding:12px 24px;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:8px;overflow:visible}
.in-shop .shell:has(#requestDock[hidden]){grid-template-rows:auto auto auto minmax(0,1fr) auto}
.in-shop nav,.in-shop .request-dock{margin:0}
.in-shop main{display:flex;flex-direction:column;gap:8px;min-height:0}
.in-shop .hero,.in-shop.away-home .hero{margin:0;min-height:56px;height:56px;flex:none;padding:6px 14px;gap:16px}
.in-shop .hero .vitals{width:320px;gap:24px}
.in-shop .rightcol{flex:1;min-height:0;height:auto}
.in-shop #shop{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#201e17;border:1px solid #524632;border-radius:10px}
.in-shop #shop[hidden]{display:none}
.in-shop .kiosk-heading{width:100%;max-width:none;margin:0;min-height:28px;flex:none}
.in-shop .kiosk-heading>div{display:flex;align-items:baseline;gap:12px}
.in-shop .kiosk-heading h1{font-size:24px!important;line-height:1.1!important;margin:0!important}
.in-shop .kiosk-heading .eyebrow{font-size:14px;letter-spacing:.04em}
.in-shop .kiosk-open{font-size:14px;letter-spacing:.04em}
.kiosk-stage{flex:1;min-height:0;width:100%;container-type:size;display:grid;place-items:center}
.in-shop .kiosk-window{width:min(100cqw,100cqh);height:auto;aspect-ratio:1;max-width:100%;margin:0;border-color:#66533e}
.in-shop .kiosk-stockline,.in-shop .kiosk-notes{width:100%;max-width:none;flex:none;margin:0;gap:12px;font-size:14px;line-height:1.3}
.in-shop .kiosk-receipt{width:100%;max-width:none;flex:none;margin:0;min-height:36px;padding:7px 10px;font-size:14px;line-height:1.4;background:#28261c}
.in-shop .kiosk-disclaimer{max-width:none;flex:none;margin:0;font-size:14px;line-height:1.3;color:#c5bfae}
.in-shop footer{margin:0;padding:0;min-height:20px;font-size:12px}
.in-shop .kiosk-hotspot span{font-size:14px;white-space:normal;text-align:center;padding:3px 4px;line-height:1.2}
.in-shop .kiosk-hotspot.sold-out span{font-size:14px;padding:4px 2px}
@media(max-width:700px){
 .in-shop .shell{padding:8px 10px;gap:6px;min-height:800px}
 .in-shop .hero,.in-shop.away-home .hero{min-height:54px;height:54px;padding:5px 8px;gap:10px}
 .in-shop .hero .vitals{width:auto;flex:1;gap:8px}
 .in-shop .hero .vitals label,.in-shop .hero .beerbar label{font-size:12px}
 .in-shop .hero .beerbar{gap:6px}
 .in-shop .hero .beerbar button{min-height:44px;font-size:14px;padding:5px 8px}
 .in-shop #shop{gap:6px;padding:10px}
 .in-shop .kiosk-heading>div{gap:8px;align-items:center}
 .in-shop .kiosk-heading h1{font-size:22px!important}
 .in-shop .kiosk-heading .eyebrow{display:none}
 .in-shop .kiosk-stockline{gap:8px}
 .in-shop .kiosk-stockline span{flex:1}
 .in-shop .kiosk-notes{flex-direction:row;gap:8px}
 .in-shop .kiosk-notes span{flex:1}
 .in-shop .kiosk-notes span:last-child{text-align:right}
 .in-shop .kiosk-disclaimer{font-size:14px}
 .in-shop .kiosk-hotspot span{font-size:14px}
}

/* Counter-only framing: remove the tall advertising plinth, not the products. */
.in-shop #shop{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto minmax(0,1fr);gap:12px 24px}
.in-shop .kiosk-heading{grid-column:1/-1}
.in-shop .kiosk-stage{width:100%;height:100%;min-height:0}
.in-shop .kiosk-window{width:min(100cqw,133.333cqh);height:auto;aspect-ratio:4/3}
.in-shop .kiosk-picture{position:absolute;inset:0 auto auto 0;width:100%;height:auto;max-width:none;object-fit:initial}
.in-shop .beer-shelf{top:18.667%;height:36%}
.in-shop .vodka-top-shelf{top:24%;height:22.667%}
.in-shop .vodka-bottom-shelf{top:51.333%;height:24%}
.kiosk-info{display:flex;flex-direction:column;justify-content:center;gap:20px;min-width:0}
.in-shop .kiosk-stockline{flex-direction:column;gap:12px;font-size:16px;line-height:1.5;color:#f0e3c8}
.in-shop .kiosk-stockline span:last-child{text-align:left}
.in-shop .kiosk-notes{flex-direction:column;gap:12px;line-height:1.5}
.in-shop .kiosk-receipt{padding:12px;min-height:0;line-height:1.5}
.in-shop .kiosk-disclaimer{line-height:1.5}
@media(max-width:700px){
 .in-shop #shop{display:flex;gap:6px;padding:10px}
 .in-shop .kiosk-stage{height:auto;flex:1}
 .kiosk-info{flex:none;gap:6px}
 .in-shop .kiosk-stockline{flex-direction:row;gap:10px;font-size:14px;line-height:1.3}
 .in-shop .kiosk-stockline span:last-child{text-align:right}
 .in-shop .kiosk-receipt{font-size:14px;line-height:1.3;padding:7px 9px}
 .in-shop .kiosk-notes{display:none}
 .in-shop .kiosk-disclaimer{font-size:14px;line-height:1.3}
 .in-shop .request-dock{flex-wrap:nowrap;min-height:54px;padding:8px 10px}
 .in-shop .request-dock>div{flex:1;min-width:0}
 .in-shop .request-dock div>span{display:none}
 .in-shop .request-dock button{width:auto;max-width:130px;min-height:44px;padding:5px 10px}
}

.in-shop .kiosk-info{gap:clamp(8px,1.6vh,20px)}
@media(min-width:701px) and (max-height:760px){.in-shop .kiosk-notes{display:none}}
@media(max-width:700px){.in-shop .kiosk-info{gap:6px}}
@media(min-width:701px){.in-shop .shell{min-height:600px}}
@media(min-width:701px) and (max-height:700px){
 .in-shop .shell{padding:8px 16px;gap:6px}
 .in-shop .hero,.in-shop.away-home .hero{height:50px;min-height:50px}
 .in-shop #shop{padding:10px 12px;gap:8px 20px}
 .in-shop .kiosk-stockline{font-size:14px;line-height:1.3;gap:8px}
 .in-shop .kiosk-info{gap:10px}
 .in-shop .kiosk-receipt{padding:8px 10px;line-height:1.3}
 .in-shop .kiosk-disclaimer{line-height:1.3}
}

/* 0.17 — only the interactive counter; no sidebar, headings or stock labels. */
.in-shop #shop{display:flex;flex-direction:column;gap:0;padding:12px;min-height:0}
.in-shop #shop[hidden]{display:none}
.in-shop .kiosk-stage{flex:1;width:100%;height:100%;min-height:0}
.in-shop .kiosk-window{width:min(100cqw,133.333cqh);aspect-ratio:4/3}
.in-shop .kiosk-hotspot.selected:not(:hover):not(:focus-visible){border:1px solid #ffe6a83b;background:transparent}
.in-shop .kiosk-hotspot.selected:not(:hover):not(:focus-visible) span{opacity:0}
@media(max-width:700px){.in-shop #shop{padding:8px}}

/* 0.20 — close-up face crops fill the portrait frame. */
.in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{width:96px;height:96px;left:8px;bottom:4px;border:1px solid #ad8658;border-radius:8px;background:#211c19;box-shadow:0 2px 12px #0005}
.in-bj .dealer-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:700px){
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{grid-template-columns:86px minmax(0,1fr)}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{width:80px;height:80px;left:4px;bottom:4px;border-radius:6px}
}
@media(max-width:700px) and (max-height:780px){
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{grid-template-columns:74px minmax(0,1fr)}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{width:68px;height:68px}
}
@media(max-width:700px) and (max-height:620px){
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{grid-template-columns:60px minmax(0,1fr)}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait,.in-bj.bj-insurance .dealer-portrait{width:54px;height:54px}
}

/* 0.21 — one compact status rail for blackjack and the kiosk.
   ID-scoped rules replace divergent legacy tab overrides without changing the home card. */
#characterPanel.status-rail{display:flex;align-items:center;justify-content:space-between;flex:none;height:auto;min-height:48px;margin:0;padding:4px 14px;gap:16px;border-radius:8px;overflow:visible;background:#22231a}
#characterPanel.status-rail .hero-top,#characterPanel.status-rail .character-stage,#characterPanel.status-rail .speech{display:none!important}
#characterPanel.status-rail .vitals{display:grid;grid-template-columns:1fr 1fr!important;width:280px;min-width:0;height:auto;min-height:0;flex:0 0 280px;padding:4px 0;gap:20px}
#characterPanel.status-rail .vitals label{display:flex;justify-content:space-between;white-space:nowrap;font-size:13px;line-height:1.3;margin:0 0 4px;color:var(--muted)}
#characterPanel.status-rail .vitals label b{margin:0;font-weight:500;color:var(--text)}
#characterPanel.status-rail .meter{height:4px;border-radius:4px}
#characterPanel.status-rail .meter.need{height:10px}
#characterPanel.status-rail .beerbar{display:flex;align-items:center;flex:none;min-height:44px;border:0;padding:0;gap:12px;font-size:14px}
#characterPanel.status-rail .beerbar button{min-height:44px;padding:6px 10px;font-size:14px}
@media(max-width:700px){
 #characterPanel.status-rail{min-height:52px;padding:2px 8px;gap:8px}
 #characterPanel.status-rail .vitals{width:135px;flex:1 1 135px;gap:8px;padding:4px 0}
 #characterPanel.status-rail .vitals label{display:block;font-size:11px;margin:0 0 2px}
 #characterPanel.status-rail .vitals label b{margin-left:3px}
 #characterPanel.status-rail .meter{height:3px}
 #characterPanel.status-rail .meter.need{height:7px}
 #characterPanel.status-rail .beerbar{gap:8px;font-size:12px}
 #characterPanel.status-rail .beerbar button{font-size:13px;padding:4px 8px}
}

/* A finish-blocking debt must stay readable, including the kiosk's compact mobile dock. */
@media(max-width:700px){
 #requestDock.goal-blocked{flex-wrap:wrap;height:auto;min-height:0}
 #requestDock.goal-blocked>div{flex:1 1 calc(100% - 40px)}
 #requestDock.goal-blocked #requestText{display:block;font-size:12px;line-height:1.4;margin-top:3px}
 #requestDock.goal-blocked button{width:100%;max-width:none;min-height:44px}
}

/* 0.22 — image-only club bar, using the supplied bartender scene. */
#modal.club-bar-dialog{width:min(1050px,94vw);max-width:none;max-height:92dvh;padding:0;border:1px solid #a36c39;border-radius:12px;background:#140d09;overflow:auto;box-shadow:0 20px 70px #0009}
#modal.club-bar-dialog #modalContent{padding:0;line-height:0}
#modal.club-bar-dialog::backdrop{background:#080504cf;backdrop-filter:blur(8px)}
#modal.club-bar-dialog #closeModal{right:12px;top:12px;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #f3d5b45e;border-radius:8px;background:#160e09de;color:#fff1df;font-size:27px;line-height:1;box-shadow:0 2px 12px #0006}
.bar-scene{position:relative;width:100%;aspect-ratio:3/2;isolation:isolate;overflow:hidden;border-radius:11px;background:#180d09}
.bar-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;pointer-events:none}
.bar-counter-bottle{position:absolute;bottom:17%;width:14%;height:42%;min-width:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:6px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:filter .15s}
.bar-counter-bottle[data-slot="0"]{left:17%}.bar-counter-bottle[data-slot="1"]{right:14%}
.bar-counter-bottle img{display:block;max-width:94%;height:calc(100% - 29px);object-fit:contain;filter:drop-shadow(2px 7px 4px #0009);pointer-events:none;user-select:none;transition:transform .15s}
.bar-bottle-price{display:block;flex:none;font-size:18px;font-weight:750;line-height:23px;min-width:70px;padding:2px 8px;border:1px solid #ead6ad;border-radius:3px;background:#f1dfba;color:#352212;box-shadow:0 2px 5px #0007;pointer-events:none}
.bar-counter-bottle:hover:not(:disabled){background:transparent;filter:drop-shadow(0 0 10px #efbf7670)}
.bar-counter-bottle:hover:not(:disabled) img{transform:translateY(-3px)}
.bar-counter-bottle:active:not(:disabled) img{transform:translateY(1px) scale(.97)}
.bar-counter-bottle:focus-visible{outline:3px solid #f6dfad;outline-offset:5px;background:#f6dfad10}
.bar-counter-bottle:disabled{opacity:.65;filter:saturate(.5);cursor:not-allowed}
.bar-purchase-feedback{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);min-width:0;border-radius:6px;color:#fff0ce;background:transparent;font-size:22px;font-weight:750;line-height:1.3;opacity:0;pointer-events:none;transition:opacity .15s}
.bar-purchase-feedback.show{opacity:1;background:#201109e6;padding:6px 14px;border:1px solid #d8af7c88}
@media(max-width:600px){
 #modal.club-bar-dialog{width:min(94vw,460px);max-height:92dvh}
 .bar-scene{aspect-ratio:4/5}
 .bar-counter-bottle{width:24%;height:38%;bottom:17%;gap:5px}
 .bar-counter-bottle[data-slot="0"]{left:12%}.bar-counter-bottle[data-slot="1"]{right:12%}
 .bar-counter-bottle img{height:calc(100% - 27px)}
 .bar-bottle-price{font-size:14px;line-height:21px;min-width:60px;padding:2px 6px}
 .bar-purchase-feedback{font-size:18px;bottom:6%}
 #modal.club-bar-dialog #closeModal{right:8px;top:8px}
}
@media(max-height:530px) and (min-width:601px){#modal.club-bar-dialog{width:min(94vw,132dvh)}}
@media(prefers-reduced-motion:reduce){.bar-counter-bottle,.bar-counter-bottle img,.bar-purchase-feedback{transition:none}.bar-counter-bottle:hover:not(:disabled) img{transform:none}}

/* 0.26 — the courtyard is a place, not a list of navigation cards. */
body:has(#home:not([hidden])){background:radial-gradient(ellipse at 70% 0,#30233655,transparent 65%),#141610}
.shell:has(#home:not([hidden])){height:auto;min-height:100dvh;max-width:1536px;overflow:visible}
.shell:has(#home:not([hidden])) main{grid-template-columns:minmax(230px,.7fr) minmax(0,2.7fr);align-items:start}
.shell:has(#home:not([hidden])) .rightcol{height:auto;min-height:0}
#home:not([hidden]){padding:0;gap:0;justify-content:start;background:#191d18;border-color:#454238}
#home[hidden]{display:none!important}
.yard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 18px}
.yard-heading .eyebrow{font-size:12px;letter-spacing:1.8px;color:#bcb4a4}
.yard-heading h1{font-size:clamp(22px,2.3vw,34px);letter-spacing:-1px;line-height:1.2;margin:5px 0 0}
.yard-live{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.2px;white-space:nowrap;color:#c3c7b0}
.yard-live i{width:6px;height:6px;border-radius:50%;background:#d9ed8a;box-shadow:0 0 10px #d9ed8a55}
.yard-scene{position:relative;isolation:isolate;width:100%;aspect-ratio:3/2;overflow:hidden;background:#100e16;--route-color:#d9ed8a}
.yard-backdrop{position:absolute;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.yard-place{position:absolute;border:0;padding:0;border-radius:0;z-index:20;background:transparent!important;min-height:44px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.yard-place:before{content:'';position:absolute;inset:0;border:2px solid var(--glow);background:linear-gradient(180deg,transparent 35%,var(--tint));opacity:.38;clip-path:polygon(0 12%,92% 0,100% 78%,8% 100%);transition:opacity .2s,filter .2s;filter:drop-shadow(0 0 6px var(--glow))}
.yard-place:hover:before,.yard-place:focus-visible:before,.yard-place.selected:before{opacity:1;filter:drop-shadow(0 0 12px var(--glow))}
.yard-place:focus-visible{outline:3px solid white;outline-offset:3px;border-radius:8px}
.yard-place>span{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:space-between;gap:14px;white-space:nowrap;padding:7px 12px;background:#14131aef;border:1px solid var(--glow);border-radius:6px;font-size:14px;font-weight:650;color:#fff2e8;box-shadow:0 4px 15px #0006;transition:background .2s}
.yard-place>span b{font-weight:500;color:var(--glow)}
.yard-place:hover>span,.yard-place.selected>span{background:#28212bef}
.yard-club{left:7%;top:26%;width:32%;height:23%;--glow:#ff92df;--tint:#f14dcc18}
.yard-casino{left:79%;top:35%;width:19%;height:17%;--glow:#ffb08e;--tint:#f0663818}
.yard-shop{left:78%;top:69%;width:21%;height:22%;--glow:#b5deff;--tint:#5aadeb18}
.yard-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.yard-route polyline{fill:none;stroke:var(--route-color);stroke-width:3;stroke-dasharray:5 12;stroke-linecap:round;opacity:.7;filter:drop-shadow(0 1px 3px #000)}
.yard-target{position:absolute;width:3.5%;aspect-ratio:2.5;border:2px solid var(--route-color);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 18px var(--route-color);z-index:4;pointer-events:none}
.yard-actor{position:absolute;width:8%;height:19%;transform:translate(-50%,-100%) scale(var(--actor-scale,1));transform-origin:50% 100%;pointer-events:none}
.yard-actor img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(2px 3px 3px #000a);transform-origin:50% 100%}
.yard-shadow{position:absolute;bottom:-1%;left:15%;width:70%;height:9%;border-radius:50%;background:#0009;filter:blur(3px)}
.yard-name{position:absolute;bottom:-17px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:1.5px;font-weight:750;color:#eaf7ae;text-shadow:0 1px 4px #000;background:#1119;padding:1px 5px;border-radius:3px}
.yard-actor.walking img{animation:yard-walk .3s ease-in-out infinite alternate}
.yard-actor.arriving{opacity:.45;transition:opacity .2s}
@keyframes yard-walk{from{transform:rotate(-2deg) translateY(0)}to{transform:rotate(2deg) translateY(-2px)}}
.yard-instruction{position:absolute;left:16px;bottom:14px;z-index:25;max-width:70%;padding:8px 12px;background:#13131be8;border:1px solid #f3dec52b;border-radius:6px;font-size:14px;color:#f1eadb;pointer-events:none}
.yard-footnote{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid #37382d;color:#bebcaa;font-size:13px}
.yard-footnote p{margin:0;max-width:65%}.yard-footnote>span{font-size:12px;color:#d9ed8a;text-align:right}
#home .home-actions{margin:0;padding:14px 20px;display:flex;flex-wrap:wrap;gap:8px}
#home .home-actions button{font-size:13px;min-height:44px}
.salary-card{display:flex;align-items:center;gap:12px;margin:0 20px 18px;padding:14px 16px;border:1px solid #d9ed8a30;border-radius:8px;background:#d9ed8a07}
.salary-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid #d9ed8a55;border-radius:50%;color:#d9ed8a;font-size:21px}
.salary-card>div:nth-child(2){display:flex;flex-direction:column;gap:3px}
.salary-card b{font-size:14px;font-weight:600;color:#e2eac8}.salary-card span:not(.salary-icon){font-size:12px;color:#bfc4b2}
.salary-track{height:3px;max-width:100px;min-width:40px;flex:1;margin-left:auto;background:#424835;overflow:hidden;border-radius:3px}.salary-track i{height:100%;display:block;background:#d9ed8a}
@media(min-width:701px){.shell:has(#home:not([hidden])) #characterPanel{position:sticky;top:12px;height:auto;min-height:0}.shell:has(#home:not([hidden])) .character-stage{height:330px}.shell:has(#home:not([hidden])) .hero .speech{min-height:130px}}
@media(max-width:900px) and (min-width:701px){.yard-live{display:none}.yard-heading{padding:16px}.salary-track{display:none}.yard-footnote>span{display:none}.yard-footnote p{max-width:100%}}
@media(max-width:700px){
 .shell:has(#home:not([hidden])){display:flex;flex-direction:column;height:auto;min-height:100dvh;padding:10px}
 .shell:has(#home:not([hidden])) main{display:flex;flex-direction:column;min-height:0}
 .shell:has(#home:not([hidden])) #characterPanel{width:100%;height:auto;min-height:0;display:grid;grid-template-columns:94px minmax(0,1fr);grid-template-rows:auto auto auto;gap:0;padding:10px}
 .shell:has(#home:not([hidden])) .hero-top{grid-column:1/-1;padding:0 0 5px}
 .shell:has(#home:not([hidden])) .character-stage{height:145px;width:94px;grid-column:1;grid-row:2/5;margin:0}
 .shell:has(#home:not([hidden])) .character-stage .wallword,.shell:has(#home:not([hidden])) .halo,.shell:has(#home:not([hidden])) .stage-caption{display:none}
 .shell:has(#home:not([hidden])) .hero .speech{grid-column:2;grid-row:2;padding:0 0 8px 8px;border:0;min-height:0}
 .shell:has(#home:not([hidden])) .hero .speech p{font-size:14px;line-height:1.4;margin:4px 0}
 .shell:has(#home:not([hidden])) .vitals{grid-column:2;grid-row:3;gap:12px;padding:0 0 6px 8px}
 .shell:has(#home:not([hidden])) .beerbar{grid-column:2;grid-row:4;padding:0 0 0 8px;gap:5px}.shell:has(#home:not([hidden])) .beerbar button{min-height:44px;padding:7px 9px}
 .yard-heading{padding:16px 14px}.yard-heading h1{font-size:23px}.yard-heading .eyebrow{font-size:10px}.yard-live{display:none}
 .yard-instruction{font-size:12px;left:8px;bottom:8px;max-width:72%;padding:5px 8px}.yard-place>span{font-size:14px;padding:5px 8px;gap:8px}
 .yard-casino>span,.yard-shop>span{left:auto;right:2px;transform:translate(0,-50%)}
 .yard-footnote{padding:12px 14px;font-size:12px}.yard-footnote>span{display:none}.yard-footnote p{max-width:100%}
 #home .home-actions{padding:12px 14px}#home .home-actions button{font-size:12px;padding:8px 10px}
 .salary-card{margin:0 14px 14px;padding:12px;gap:10px}.salary-card b{font-size:13px}.salary-card span:not(.salary-icon){font-size:12px}.salary-track{display:none}
 .yard-actor{width:10%;height:23%}.yard-name{font-size:8px;bottom:-12px}
}
@media(prefers-reduced-motion:reduce){.yard-actor.walking img{animation:none}.yard-place:before,.yard-actor.arriving{transition:none}}
/* Compact utility row: keep the courtyard, not disabled buttons, in the spotlight. */
#home .home-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
#home .home-actions button{width:100%;height:100%}
@media(max-width:1000px){#home .home-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.yard-instruction{font-size:14px;line-height:1.3}.salary-card span:not(.salary-icon){font-size:14px}.yard-footnote{font-size:14px}.yard-name{font-size:9px}}
/* 0.27 — viewport-sized courtyard; soft light follows the scene, not boxes. */
.yard-frame{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;background:#101110}
.yard-frame:before{content:'';position:absolute;inset:-25px;z-index:-1;background:linear-gradient(#10120ed9,#10120ed9),url('assets/yard/courtyard.png') center/cover;filter:blur(20px);opacity:.8;pointer-events:none}
.yard-scene{flex:none;max-width:100%;box-shadow:0 0 45px #0006}
.yard-light{position:absolute;inset:0;z-index:2;background:url('assets/yard/courtyard.png') center/100% 100%;pointer-events:none;mix-blend-mode:screen;opacity:.14;filter:saturate(1.35) brightness(1.15);transition:opacity .3s ease}
.light-club{mask-image:radial-gradient(ellipse 22% 22% at 24% 39%,#000 12%,transparent 100%)}
.light-casino{mask-image:radial-gradient(ellipse 17% 20% at 88% 43%,#000 10%,transparent 100%)}
.light-shop{mask-image:radial-gradient(ellipse 17% 25% at 86% 77%,#000 10%,transparent 100%)}
.yard-scene:has(.yard-club:is(:hover,:focus-visible,.selected)) .light-club,.yard-scene:has(.yard-casino:is(:hover,:focus-visible,.selected)) .light-casino,.yard-scene:has(.yard-shop:is(:hover,:focus-visible,.selected)) .light-shop{opacity:.6}
.yard-place:before{border:0;clip-path:none;inset:35% -10% -8%;background:radial-gradient(ellipse at 50% 60%,var(--glow),transparent 68%);filter:blur(14px);mix-blend-mode:screen;opacity:.10;transition:opacity .3s}
.yard-place:hover:before,.yard-place:focus-visible:before,.yard-place.selected:before{opacity:.30;filter:blur(14px)}
.yard-place>span{border-color:color-mix(in srgb,var(--glow) 38%,#32322f);background:#17161ce8;box-shadow:0 2px 8px #0006,0 0 12px color-mix(in srgb,var(--glow) 10%,transparent);transition:border-color .25s,box-shadow .25s,background .25s}
.yard-place:is(:hover,:focus-visible,.selected)>span{background:#242029ed;border-color:var(--glow);box-shadow:0 2px 8px #0008,0 0 18px color-mix(in srgb,var(--glow) 30%,transparent),inset 0 0 10px color-mix(in srgb,var(--glow) 8%,transparent)}
.yard-instruction{font-size:14px;max-width:70%;padding:5px 9px;left:10px;bottom:10px;color:#ebe7dc;border-color:#ffffff18;background:#14151bd9}
@media(min-width:701px){
 .shell:has(#home:not([hidden])){max-width:1280px;height:100dvh;min-height:0;overflow:visible;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:6px;padding:10px 20px}
 .shell:has(#home:not([hidden])):has(#requestDock[hidden]){grid-template-rows:auto auto auto minmax(0,1fr) auto}
 .shell:has(#home:not([hidden])) main{grid-template-columns:minmax(230px,.72fr) minmax(0,1.6fr);gap:14px;min-height:0;align-items:stretch}
 .shell:has(#home:not([hidden])) .rightcol{height:100%;min-height:0}
 #home:not([hidden]){height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;overflow:hidden}
 .yard-heading{padding:10px 16px;min-height:60px}.yard-heading h1{font-size:26px;margin:3px 0 0}.yard-heading .eyebrow{font-size:11px}.yard-live{display:none}
 .yard-footnote{padding:7px 14px;font-size:12px;min-height:32px}.yard-footnote p{max-width:100%;line-height:1.4}.yard-footnote>span{display:none}
 #home .home-actions{grid-template-columns:repeat(4,minmax(0,1fr));padding:8px 12px;gap:6px}
 #home .home-actions button{font-size:12px;padding:6px;min-height:44px}
 .salary-card{padding:9px 12px;margin:0 12px 10px;min-height:59px;gap:9px}.salary-card b{font-size:13px}.salary-card span:not(.salary-icon){font-size:12px}.salary-icon{width:30px;height:30px;font-size:18px}.salary-track{display:none}
 .shell:has(#home:not([hidden])) #characterPanel{position:static;height:100%;min-height:0;display:flex;flex-direction:column}
 .shell:has(#home:not([hidden])) .hero-top{flex:none;padding:12px 16px}
 .shell:has(#home:not([hidden])) .character-stage{height:auto;min-height:100px;flex:1}
 .shell:has(#home:not([hidden])) .hero .speech{min-height:90px;flex:none;padding:12px 16px}.shell:has(#home:not([hidden])) .hero .speech p{font-size:16px;line-height:1.4;margin-top:6px}
 .shell:has(#home:not([hidden])) .vitals{flex:none;padding:8px 16px 10px;gap:16px}.shell:has(#home:not([hidden])) .beerbar{flex:none;padding:0 16px 12px}
 .shell:has(#home:not([hidden])) footer{padding:2px 0;min-height:28px}
}
@media(min-width:701px) and (max-height:680px){
 .shell:has(#home:not([hidden])){height:auto;min-height:680px}
 .shell:has(#home:not([hidden])) main{height:470px}
}
@media(max-width:700px){.yard-frame{display:block}.yard-scene{height:auto!important;width:100%!important}.yard-heading{padding:12px 14px}.yard-heading h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){.yard-light,.yard-place:before,.yard-place>span{transition:none}}
@media(min-width:701px){#home:not([hidden]){grid-template-columns:minmax(0,1fr);justify-content:stretch}.shell:has(#home:not([hidden])) .vitals label{gap:6px}}
@media(max-width:700px){.shell:has(#home:not([hidden])) .vitals label{gap:6px}.shell:has(#home:not([hidden])) .vitals label b{font-size:11px}}

/* 0.28 — a single-deck, classic ivory card set on quiet emerald baize. */
.in-bj #bjTable{background:radial-gradient(ellipse at 50% 12%,#285347,#15392f 55%,#102b26);border-color:#9e7548;border-top-color:#bd945b;box-shadow:inset 0 0 0 1px #edd1a344,inset 0 0 45px #0004,0 8px 18px #0003;isolation:isolate}
.in-bj #bjTable:before{border-color:#c5b28228}
.in-bj #bjTable .table-mark{font:10px/1.4 Georgia,serif;color:#dbca99;letter-spacing:2px;opacity:.8;margin:12px 0}
.in-bj #bjTable .table-mark small{color:#bed0bd;font:9px/1.4 system-ui;letter-spacing:1px;margin-top:5px}
.in-bj #bjTable .dealer-label{color:#d9d8bd;font-size:11px;font-weight:600;letter-spacing:2px}
.in-bj #bjTable .dealer-label b{display:inline-block;min-width:28px;padding:1px 7px;background:#0c241e;border:1px solid #bda67555;border-radius:5px;color:#f9ecc8;letter-spacing:0;font-size:14px}
.in-bj #bjTable .cards{min-height:92px;gap:8px;margin:8px 0;align-items:center;justify-content:center;flex-wrap:wrap;perspective:900px;overflow:visible}
.in-bj #bjTable .card.playing-card{--cw:62px;position:relative;display:block;flex:0 0 var(--cw);width:var(--cw);height:calc(var(--cw)*1.44);padding:0;border:0;outline:0;background:none;color:#1c2424;border-radius:7px;box-shadow:none;font:normal 16px/1 Georgia,'Times New Roman',serif;transform-origin:center;isolation:isolate}
.in-bj #bjTable .playing-card span,.in-bj #bjTable .playing-card b,.in-bj #bjTable .playing-card i{box-sizing:border-box;align-self:auto;font-style:normal;line-height:1}
.card-inner{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(0);border-radius:inherit}
.face-down .card-inner{transform:rotateY(180deg)}
.playing-face{position:absolute;inset:0;border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border:1px solid #c7bca4;box-shadow:0 4px 7px #04100c66,0 1px 1px #ffffff22}
.playing-front{background:radial-gradient(ellipse at 25% 15%,#fffef7,#f9f5e8 70%,#eee6d1);color:#1b292b}
.playing-front[data-ink="red"]{color:#b6253b}
.playing-back{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,#783141 0 1px,transparent 1px 6px),repeating-linear-gradient(-45deg,#793443 0 1px,#4a1e2b 1px 6px);border:3px solid #f6e9cd;color:#e5c68a;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}
.playing-back:before{content:'';position:absolute;inset:4px;border:1px solid #d4b67d80;border-radius:3px;pointer-events:none}
.in-bj #bjTable .playing-card .back-emblem{display:grid;place-items:center;width:50%;aspect-ratio:1;border:1px solid #e7c88c88;transform:rotate(-8deg);font:26px/1 Georgia,serif;box-shadow:0 0 0 3px #40172455}
.in-bj #bjTable .playing-card .back-suits{font-size:8px;letter-spacing:1px;opacity:.8}
.in-bj #bjTable .playing-card .card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;gap:1px;width:22%;z-index:3;letter-spacing:-1px}
.card-corner.top{top:5%;left:3%}.card-corner.bottom{bottom:5%;right:3%;transform:rotate(180deg)}
.in-bj #bjTable .playing-card .card-rank{font-size:calc(var(--cw)*.255);font-weight:700}
.in-bj #bjTable .playing-card .card-suit{font-size:calc(var(--cw)*.22);letter-spacing:0}
.card-center{position:absolute;inset:12% 22%;pointer-events:none}
.in-bj #bjTable .playing-card .card-pip{position:absolute;font-size:calc(var(--cw)*.26);line-height:1;transform:translate(-50%,-50%)}
.in-bj #bjTable .playing-card .card-pip.inverted{transform:translate(-50%,-50%) rotate(180deg)}
.ace-center{display:grid;place-items:center;inset:15% 18%}
.in-bj #bjTable .playing-card .ace-suit{font-size:calc(var(--cw)*.74);text-shadow:0 1px 0 #fff}
.court-center{inset:17% 24%;border:1px solid #b79a574f;background:linear-gradient(145deg,#d7c18e18,#b3955218);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.court-center:after{content:'';position:absolute;inset:3px;border:1px solid #b79a5730}
.in-bj #bjTable .playing-card .court-mark{font-size:calc(var(--cw)*.48);font-weight:700;z-index:1}
.in-bj #bjTable .playing-card .court-suit{font-size:calc(var(--cw)*.28);z-index:1}
.in-bj #bjTable .hand{border-radius:8px;padding:8px 6px 5px;margin-top:8px;background:#0b271a12;border:1px solid transparent;transition:background .25s,border-color .25s,box-shadow .25s}
.in-bj #bjTable .hand.active{background:#c7d19d09;border-color:#e5ce9159;box-shadow:inset 0 0 18px #d4cb9009,0 0 12px #d4cb9009}
.in-bj #bjTable .hand-label{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;color:#dfdfc7;font-size:11px;letter-spacing:1px;line-height:1.4}
.hand-owner{font-weight:650}.hand-stake{font-size:11px;color:#cbbd94;letter-spacing:0}
.hand-score{display:inline-block;background:#0d281f;border:1px solid #bda67555;border-radius:5px;min-width:27px;padding:1px 6px;color:#fff1d0;font-size:14px;font-weight:600;letter-spacing:0}
.hand-score.bust{color:#ffc4b6;border-color:#e98b6a70}.hand-score.twenty-one{color:#e4f4b3;border-color:#cee88880}
.in-bj #bjTable[data-outcome="win"]{box-shadow:inset 0 0 0 1px #edd1a344,inset 0 0 45px #c0e69410,0 0 18px #c8df9020}
.in-bj #bjTable[data-outcome="win"] #bjResult{color:#e0f0b4}
.in-bj #bjTable[data-outcome="lose"] #bjResult{color:#ffc5b4}
.in-bj #bjTable #bjResult{font-size:14px;line-height:1.4;padding:4px 0 0;margin:4px 0 0}
.in-bj #bjTable #hands:has(.hand:nth-child(2)){gap:8px}
.in-bj #bjTable #hands:has(.hand:nth-child(2)) .playing-card{--cw:50px}
.in-bj #bjTable .casino-chips{margin-top:8px;min-height:28px}.in-bj #bjTable .casino-chips b{font-size:11px;color:#ead3a1}
.in-bj .bj-actions button{transition:background .18s,border-color .18s,transform .12s}.in-bj .bj-actions button:active:not(:disabled){transform:translateY(1px)}
@media(min-width:701px) and (max-width:1100px){.in-bj #bjTable .card.playing-card{--cw:54px}.in-bj #bjTable #hands:has(.hand:nth-child(2)) .playing-card{--cw:43px}.in-bj #bjTable .cards{gap:5px;min-height:80px}}
@media(max-width:700px){
 .in-bj .shell{height:auto;min-height:100dvh;overflow:visible}
 .in-bj #bj{height:auto;min-height:0;overflow:visible}
 .in-bj .rightcol{height:auto;flex:1}
 .in-bj .casino-workspace{grid-template-columns:66px minmax(0,1fr);gap:8px}
 .in-bj .casino-babay{grid-column:1;grid-row:1;min-height:84px;border-right:1px solid #bda67530;border-radius:0}
 .in-bj .casino-babay-stage{height:72px}.in-bj .casino-babay-stage img{height:108px}
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{grid-column:2;grid-row:1;min-height:84px;border-radius:8px;overflow:hidden}
 .in-bj .casino-top{display:none}
 .in-bj #bjTable,.in-bj.bj-running #bjTable,.in-bj.bj-insurance #bjTable,.in-bj #bjTable:has(#hands .hand:nth-child(2)),.in-bj #bjTable[data-phase="settled"]{display:block;grid-column:1/-1;grid-row:2;width:100%;padding:10px 8px;border:3px solid #9e7548;border-radius:12px;min-height:0}
 .in-bj .casino-controls{grid-column:1/-1;grid-row:3}
 .in-bj #bjTable #hands,.in-bj #bjTable:has(#hands .hand:nth-child(2)) #hands{display:block}
 .in-bj #bjTable .cards,.in-bj #bjTable:has(#hands .hand:nth-child(2)) .cards{min-height:72px;gap:5px;margin:6px 0;flex-wrap:wrap;align-content:center;justify-content:center}
 .in-bj #bjTable .card.playing-card,.in-bj.bj-insurance #bjTable #dealerCards .card.playing-card,.in-bj #bjTable:has(#hands .hand:nth-child(2)) .card.playing-card{--cw:48px;margin-left:0;padding:0;width:var(--cw);height:calc(var(--cw)*1.44);flex-shrink:0}
 .in-bj #bjTable #hands:has(.hand:nth-child(2)){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px}
 .in-bj #bjTable #hands:has(.hand:nth-child(2)) .card.playing-card{--cw:40px}
 .in-bj #bjTable:has(#hands .hand:nth-child(2)) .hand{grid-row:auto;grid-column:auto;margin:0;padding:6px 2px 2px}
 .in-bj #bjTable .hand{margin:6px 0 0;padding:7px 3px 3px}
 .in-bj #bjTable .hand-label,.in-bj #bjTable:has(#hands .hand:nth-child(2)) .hand-label{font-size:10px;gap:5px;line-height:1.3}
 .in-bj #bjTable .hand-score{font-size:13px;padding:1px 5px}.in-bj #bjTable .hand-stake{font-size:10px}
 .in-bj #bjTable .dealer-label,.in-bj #bjTable[data-phase="settled"] .dealer-label{padding:0;font-size:10px;letter-spacing:1.5px}
 .in-bj #bjTable .table-mark{display:none}
 .in-bj #bjTable .casino-chips{margin-top:6px;min-height:22px}.in-bj #bjTable .casino-chips b{font-size:10px}
 .in-bj #bjTable .shoe-prop{display:block;width:34px;height:25px;right:8px;top:6px;opacity:.7}
 .in-bj #bjTable #bjResult{font-size:12px;line-height:1.4}
 .in-bj .casino-controls .bet-coach{margin-top:0}.in-bj .advice{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.in-bj #bjTable .hand,.in-bj .bj-actions button{transition:none}}
/* Preserve the physical aspect ratio in every legacy split / insurance selector. */
.in-bj #bjTable #dealerCards .card.playing-card,.in-bj #bjTable #hands .card.playing-card{width:var(--cw);height:calc(var(--cw)*1.44);flex-basis:var(--cw);padding:0}
@media(max-width:700px){.in-bj #bjTable:has(#hands .hand:nth-child(2)) #hands{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px}}
@media(min-width:701px) and (max-height:820px){
 .in-bj #bj{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8e7950 #201e17}
 .in-bj .casino-scene,.in-bj.bj-running .casino-scene,.in-bj.bj-insurance .casino-scene{min-height:76px;grid-template-columns:80px 1fr;grid-template-rows:28px 1fr;gap:0 10px;padding:3px 9px 0}
 .in-bj .dealer-portrait,.in-bj.bj-running .dealer-portrait{width:73px;height:73px;left:6px}
 .in-bj .casino-neon{font-size:23px}.in-bj .dealer-dialogue p{font-size:13px;line-height:1.3}
 .in-bj #bjTable .card.playing-card{--cw:52px}
 .in-bj #bjTable #hands:has(.hand:nth-child(2)) .card.playing-card{--cw:44px}
 .in-bj #bjTable .cards{min-height:76px;margin:4px 0;gap:6px}
 .in-bj #bjTable .table-mark{display:none}
 .in-bj #bjTable .hand{padding:5px 4px 2px;margin-top:5px}
 .in-bj #bjTable .hand-label{gap:6px}.in-bj #bjTable .hand-score{font-size:13px}
 .in-bj #bjTable .casino-chips{min-height:22px;margin-top:4px}
 .in-bj #bjTable #bjResult{font-size:13px;padding-top:2px}
 .in-bj .casino-top{font-size:10px;margin-bottom:4px}
}

/* 0.29 — apartment stealth view, warm paper labels over supplied cutaway artwork. */
.yard-ex{left:44%;top:31%;width:15%;height:24%;z-index:7}.yard-ex:before{content:"";position:absolute;inset:15% 8%;background:#ffd77c77;filter:blur(16px);border-radius:50%;animation:exGlow 2s ease-in-out infinite alternate}.yard-ex span{color:#ffe1a0!important;border-color:#f8cf83!important;box-shadow:0 0 22px #ffcf6955}.yard-place[hidden]{display:none!important}.yard-instruction{display:none!important}@keyframes exGlow{to{opacity:.4;transform:scale(.85)}}
.alimony-context[hidden]{display:none}
#alimonyAlert{position:absolute;top:15px;left:16px;max-width:calc(100% - 190px);font-weight:bold;color:#ffca9c;background:#21160de6;padding:9px 13px;border-radius:4px;pointer-events:none}
#alimonySubtitle{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:9px 15px;background:#100c08e8;color:#f1dfbd;font-size:15px;line-height:1.4;text-align:center;pointer-events:none;margin:0}
#alimonyAlert:empty,#alimonySubtitle:empty{display:none}
.alimony-arena.searching #alimonySubtitle{bottom:77px}
body.alimony-intro-live{overflow:hidden}.alimony-intro[hidden]{display:none!important}.alimony-intro{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent;opacity:1;transition:opacity .5s ease,transform .55s ease}.alimony-intro.leaving{opacity:0;transform:scale(1.035);pointer-events:none}.alimony-intro-backdrop{position:absolute;inset:0;background:linear-gradient(#090b1229,#090b1259);pointer-events:none}.alimony-intro-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 39%,#8153172b,transparent 53%),linear-gradient(90deg,#04070bad,transparent 23%,transparent 77%,#04070bad)}.alimony-intro-content{position:relative;width:min(1080px,90vw);display:flex;align-items:center;text-align:center;flex-direction:column;gap:16px;padding:32px 8px}.alimony-intro-kicker{color:#dac3a0;font-size:13px;font-weight:700;letter-spacing:.32em;animation:alIntroText .8s ease both}.alimony-intro-logo{display:block;width:min(900px,82vw);height:auto;max-height:45dvh;object-fit:contain;filter:drop-shadow(0 12px 22px #000b);transform-origin:50% 70%;animation:alLogoEnter .9s cubic-bezier(.16,1,.3,1) both}.alimony-intro-operation{font-size:14px;font-weight:700;letter-spacing:.25em;color:#f7bf66;animation:alIntroText 1.2s ease both}#alimonyIntroQuote{font-size:clamp(18px,2.1vw,25px);line-height:1.5;color:#fff2d9;max-width:820px;min-height:2.8em;margin:4px 0 0;text-wrap:balance;text-shadow:0 2px 6px #000}.alimony-intro-voice{display:flex;height:23px;align-items:center;gap:5px}.alimony-intro-voice i{width:3px;height:5px;background:#dfad64;border-radius:2px}.alimony-intro.voice-playing .alimony-intro-voice i{animation:alVoicePulse .7s ease-in-out infinite alternate}.alimony-intro-voice i:nth-child(2){animation-delay:.15s!important}.alimony-intro-voice i:nth-child(3){animation-delay:.3s!important}.alimony-intro-voice i:nth-child(4){animation-delay:.07s!important}.alimony-intro-voice i:nth-child(5){animation-delay:.2s!important}.alimony-intro-buttons{display:flex;justify-content:center;gap:12px;margin-top:8px}.alimony-intro-buttons button{min-height:44px;border-color:#7d674d;font-size:14px;color:#f9e4c3}.alimony-intro-buttons .primary{background:#e3b464;color:#1a1207;border-color:#e3b464}@keyframes alLogoEnter{0%{opacity:0;transform:translateY(35px) scale(.76) rotate(-3deg)}70%{opacity:1;transform:translateY(-3px) scale(1.025) rotate(.5deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes alIntroText{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes alVoicePulse{to{height:22px}}
@media(prefers-reduced-motion:reduce){.yard-ex:before,.alimony-intro,.alimony-intro *{animation:none!important;transition:none!important}.alimony-intro.leaving{transform:none}}

/* Apartment mode owns the viewport; the rest of the site keeps its layout. */
body.alimony-live { height:100dvh; min-height:0; overflow:hidden; background:#171513; }
body.alimony-live .shell { display:block!important; width:100%; max-width:none!important; height:100dvh!important; min-height:0!important; margin:0; padding:0!important; overflow:hidden; }
body.alimony-live .shell>header,
body.alimony-live .wallets,
body.alimony-live .game-nav,
body.alimony-live footer,
body.alimony-live #characterPanel,
body.alimony-live #requestDock,
body.alimony-live #locationShell { display:none!important; }
body.alimony-live .shell main { display:block!important; position:fixed; inset:0; height:100%!important; min-height:0!important; margin:0; padding:0; gap:0; }
body.alimony-live .rightcol { display:block!important; width:100%!important; height:100%!important; min-height:0!important; min-width:0; }
body.alimony-live #alimony {
  --al-safe-left:max(12px,env(safe-area-inset-left));
  --al-safe-right:max(12px,env(safe-area-inset-right));
  --al-safe-top:max(12px,env(safe-area-inset-top));
  position:fixed; inset:0; display:grid; grid-template-columns:minmax(0,1fr) clamp(300px,calc(100vw - 620px),560px) minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto; gap:0; width:100%; height:100dvh;
  min-height:0; max-height:none; padding:0 0 env(safe-area-inset-bottom);
  border:0; border-radius:0; outline:0; box-shadow:none; background:#171513; overflow:hidden; isolation:isolate;
}
body.alimony-live .alimony-arena { position:relative; grid-column:1/-1; grid-row:1; min-height:0; overflow:hidden; border:0; border-radius:0; background:#171513; }
body.alimony-live .alimony-arena canvas { display:block; width:100%; height:100%; min-height:0; outline:none; touch-action:none; }
body.alimony-live #alimonyCanvas:focus-visible { outline:none; box-shadow:none; }
.alimony-stage-label { position:absolute; top:var(--al-safe-top); left:var(--al-safe-left); max-width:calc(100% - 88px - var(--al-safe-left) - var(--al-safe-right)); padding:10px 16px; border:1px solid #a3895759; border-radius:4px 12px 12px 4px; background:#211b14e6; color:#f4dbad; box-shadow:0 4px 16px #0004; pointer-events:none; }
#alimonyRoom { display:block; font-size:clamp(13px,1.3vw,17px); letter-spacing:.14em; line-height:1.5; text-transform:uppercase; }
.alimony-help-button { position:absolute; top:var(--al-safe-top); right:var(--al-safe-right); z-index:12; display:grid; place-items:center; width:46px; height:46px; min-height:46px; padding:0; border:1px solid #bea16b; border-radius:12px 5px 12px 5px; background:linear-gradient(#423420ee,#241e17f2); color:#f6d692; font-size:25px; font-weight:800; box-shadow:0 4px 14px #0007,inset 0 1px #f6d69233; }
.alimony-help-button:hover:not(:disabled),.alimony-help-button[aria-expanded=true] { background:#59432b; border-color:#f1cc88; }
.alimony-help-panel { position:absolute; z-index:11; top:calc(var(--al-safe-top) + 56px); right:var(--al-safe-right); width:min(330px,calc(100% - var(--al-safe-left) - var(--al-safe-right))); max-height:calc(100% - var(--al-safe-top) - 68px); overflow:auto; overscroll-behavior:contain; border-radius:10px; color:#f0dfc1; }
.alimony-help-panel:not([open]) { display:none; }
.alimony-help-panel[open] { border:1px solid #a98a54; background:#211b15f5; box-shadow:0 12px 32px #0009; }
.alimony-help-panel summary { padding:12px 16px; min-height:44px; color:#f4d39a; font-size:14px; font-weight:700; }
.alimony-help-copy { padding:0 16px 12px; font-size:14px; line-height:1.6; }
.alimony-help-copy p { margin:8px 0; }
.alimony-help-copy kbd { display:inline-block; padding:1px 5px; border:1px solid #9a805355; border-radius:4px; background:#473826; color:#ffebc7; font:600 12px/1.5 system-ui,sans-serif; }
.alimony-context { position:absolute; z-index:5; bottom:66px; left:50%; transform:translateX(-50%); width:min(430px,calc(100% - 28px)); max-height:calc(100% - 140px); overflow:auto; display:grid; gap:8px; padding:12px; background:#211910f5; border:1px solid #b08d50; border-radius:8px; box-shadow:0 8px 24px #0006; }
.alimony-context button { min-height:48px; padding:12px; text-align:left; font-size:14px; line-height:1.5; }
#alimonyAlert { top:calc(var(--al-safe-top) + 60px); left:var(--al-safe-left); max-width:calc(100% - var(--al-safe-left) - var(--al-safe-right)); padding:8px 12px; border-radius:5px; color:#ffcca2; background:#21160de6; font-size:14px; }
#alimonySubtitle { z-index:3; bottom:12px; font-size:15px; }
body.alimony-live .alimony-controls { grid-column:3; grid-row:2; display:flex; flex-wrap:nowrap; gap:10px; align-items:center; justify-content:flex-end; min-width:0; padding:12px var(--al-safe-right) 12px 8px; background:#171513; }
.alimony-controls>button { position:relative; display:flex; align-items:center; justify-content:center; gap:9px; min-width:96px; min-height:52px; padding:10px 13px; border:1px solid #9d7e4e; border-radius:11px 5px 11px 5px; background:linear-gradient(155deg,#57452e,#30271d); color:#f6dfb5; box-shadow:0 4px 0 #17100b,inset 0 1px #fff1c526,inset 0 -2px #0003; font-size:13px; font-weight:750; line-height:1.35; text-shadow:0 1px 2px #0008; transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease; }
.alimony-controls>button::before { content:""; display:block; flex:0 0 20px; width:20px; height:24px; background:currentColor; mask:center/contain no-repeat; }
#alimonyDoor::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V4l12-2v19H4Zm12-16h4v16M2 21h20M12 12h.01'/%3E%3C/g%3E%3C/svg%3E"); }
#alimonyAction::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='7'/%3E%3Cpath d='M12 2v8H5'/%3E%3C/g%3E%3Cpath fill='black' d='M6 9V8a6 6 0 0 1 5-5v6Z'/%3E%3C/svg%3E"); }
.alimony-controls>button.primary { border-color:#efd193; background:linear-gradient(155deg,#e9c988,#bd8f47); color:#2b200f; text-shadow:0 1px #fff2ca66; box-shadow:0 4px 0 #6d4c24,inset 0 1px #fff8d880,inset 0 -2px #744d2729; }
.alimony-controls>button:hover:not(:disabled) { border-color:#efce8d; background:linear-gradient(155deg,#6c5434,#403022); box-shadow:0 4px 0 #17100b,0 0 16px #e7bc4f1c,inset 0 1px #fff1c533; }
.alimony-controls>button.primary:hover:not(:disabled) { background:linear-gradient(155deg,#f5da9f,#d4a357); border-color:#ffe5b2; box-shadow:0 4px 0 #6d4c24,0 0 18px #e7bc4f28,inset 0 1px #fff8d899; }
.alimony-controls>button:active:not(:disabled) { transform:translateY(2px); box-shadow:0 2px 0 #17100b,inset 0 1px #fff1c526; }
.alimony-controls>button.primary:active:not(:disabled) { box-shadow:0 2px 0 #6d4c24,inset 0 1px #fff1c526; }
.alimony-controls>button:disabled { opacity:.4; filter:saturate(.45); cursor:not-allowed; }
.alimony-controls>button:focus-visible { outline:2px solid #ffe3a7; outline-offset:4px; }
body.alimony-live .alimony-pad { display:none; gap:4px; }
.alimony-pad button { min-width:44px; min-height:44px; padding:0; border-color:#826b47; background:#342b20; color:#f4d9ac; touch-action:none; user-select:none; }
.alimony-inventory { grid-column:2; grid-row:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-self:center; justify-self:center; gap:6px; width:100%; min-width:0; padding:10px 0; background:#171513; }
.alimony-slot { display:flex; align-items:center; gap:10px; min-width:0; min-height:60px; padding:8px 12px; border:1px solid #655339; border-radius:8px; background:linear-gradient(#30281e,#211d17); box-shadow:inset 0 1px #e0bc6b0d; color:#dec79d; }
.alimony-slot-icon { display:grid; place-items:center; flex:0 0 30px; width:30px; height:34px; color:#e7c679; font-size:25px; font-weight:750; line-height:1; }
.alimony-slot-icon svg { display:block; width:28px; height:32px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.alimony-slot-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
.alimony-slot-label { font-size:11px; letter-spacing:.08em; font-weight:700; overflow-wrap:anywhere; }
.alimony-slot-count { font-size:14px; font-variant-numeric:tabular-nums; font-weight:700; }
.alimony-slot-copy small { font-size:11px; line-height:1.4; color:#bcae93; }
.alimony-patience { display:block; font-size:10px; font-weight:400; }
.alimony-slot[data-state=locked],.alimony-slot.is-locked,.alimony-slot.is-empty { border-color:#4c4436; background:#201e19; color:#8f887b; box-shadow:none; }
.alimony-slot[data-state=locked] .alimony-slot-icon,.alimony-slot.is-locked .alimony-slot-icon,.alimony-slot.is-empty .alimony-slot-icon { color:#827b6d; border:1px dashed #645b4b; border-radius:5px; }
.alimony-slot[data-state=found],.alimony-slot.is-found { border-color:#bc9a57; color:#f1d296; background:linear-gradient(#3a2f20,#272116); }
.alimony-hint { display:none; }
/* The real, animated apartment stays visible throughout the opening. */
.alimony-intro { background:transparent; }
.alimony-intro-backdrop { inset:0; background:linear-gradient(#090b1229,#090b1259); filter:none; transform:none; animation:none; pointer-events:none; }
.alimony-intro-vignette { background:radial-gradient(ellipse at 50% 40%,transparent 32%,#09070566 100%),linear-gradient(90deg,#05060744,transparent 25%,transparent 75%,#05060744); pointer-events:none; }
.alimony-intro-content { max-height:100%; overflow:auto; padding:max(24px,env(safe-area-inset-top)) 8px max(24px,env(safe-area-inset-bottom)); text-shadow:0 2px 8px #000,0 1px 3px #000; }
.alimony-intro-kicker { color:#f2ddba; }
.alimony-intro-operation { color:#ffd18a; }
.alimony-intro-buttons:has(button[hidden]) { display:none; }
@media (min-width:701px) and (max-width:1100px) {
  .alimony-controls>button { flex-direction:column; gap:4px; min-width:92px; padding:8px 6px; font-size:11px; }
  .alimony-controls>button::before { flex-basis:18px; width:18px; height:18px; }
  .alimony-slot { gap:6px; padding:7px 6px; }
  .alimony-slot-icon { flex-basis:22px; width:22px; }
  .alimony-slot-label { font-size:10px; letter-spacing:.02em; overflow-wrap:normal; }
  .alimony-slot-count { font-size:12px; white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) {
  .alimony-controls>button { transition:none; }
  .alimony-controls>button:active:not(:disabled) { transform:none; }
}
@media (max-width:700px), (pointer:coarse) {
  body.alimony-live #alimony { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto auto; }
  body.alimony-live .alimony-controls { grid-column:1; grid-row:2; grid-template-columns:none; justify-content:center; gap:8px; padding:8px var(--al-safe-right) 0 var(--al-safe-left); }
  .alimony-controls>button { flex:1; flex-direction:column; gap:5px; min-width:0; min-height:58px; padding:7px; font-size:12px; }
  .alimony-controls>button::before { flex-basis:18px; width:18px; height:18px; }
  body.alimony-live .alimony-pad { display:grid; grid-template-columns:repeat(3,44px); grid-template-rows:repeat(2,44px); gap:3px; }
  .alimony-pad button { min-height:44px; }
  .alimony-pad [data-al-move=up] { grid-column:2; }
  .alimony-pad [data-al-move=left] { grid-column:1; }
  .alimony-pad [data-al-move=down] { grid-column:2; }
  .alimony-pad [data-al-move=right] { grid-column:3; }
  .alimony-inventory { grid-column:1; grid-row:3; width:min(560px,100%); padding:8px var(--al-safe-right) 8px var(--al-safe-left); gap:5px; }
  .alimony-slot { gap:6px; min-height:56px; padding:6px 8px; }
  .alimony-slot-icon { flex-basis:24px; width:24px; height:30px; font-size:22px; }
  .alimony-slot-icon svg { width:24px; height:28px; }
  .alimony-slot-label { font-size:10px; letter-spacing:.04em; }
  .alimony-slot-count { font-size:13px; }
  .alimony-patience { font-size:9px; }
  #alimonyAlert { font-size:12px; }
  #alimonySubtitle { font-size:13px; padding:7px 10px; }
  .alimony-intro-content { gap:14px; width:94vw; }
  .alimony-intro-logo { width:92vw; max-height:35dvh; }
  .alimony-intro-kicker { font-size:11px; letter-spacing:.24em; }
  .alimony-intro-operation { font-size:11px; letter-spacing:.12em; }
  #alimonyIntroQuote { font-size:18px; min-height:3em; }
}
@media (max-height:500px) and (orientation:landscape) {
  body.alimony-live #alimony { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto auto; }
  body.alimony-live .alimony-controls { grid-column:1; grid-row:3; justify-content:center; padding:6px var(--al-safe-right) 6px var(--al-safe-left); }
  .alimony-controls>button { flex:0 1 132px; flex-direction:row; min-height:44px; font-size:12px; }
  body.alimony-live .alimony-pad { display:flex; }
  .alimony-pad button { min-width:40px; min-height:44px; }
  .alimony-inventory { grid-column:1; grid-row:2; width:min(440px,100%); padding:6px var(--al-safe-right) 0 var(--al-safe-left); }
  .alimony-slot { min-height:48px; padding:4px 6px; gap:4px; }
  .alimony-slot-icon { display:none; }
  .alimony-intro-content { gap:8px; padding-block:12px; }
  .alimony-intro-logo { max-height:38dvh; }
  #alimonyIntroQuote { min-height:0; font-size:16px; }
  .alimony-intro-voice { display:none; }
}

