/* Rrr review: first verified batch. */
#shell #lobby #auto-join{background:linear-gradient(145deg,#fff3c5,#f6cc77)!important;color:#173143!important;border:2px solid #fff8df!important;box-shadow:0 4px 0 #a56a35,0 8px 22px #08172466!important;font-weight:800;letter-spacing:.025em}
#shell #lobby :is(.dock-button,.ranked-shortcut){border-color:#abc4ce55!important;box-shadow:0 2px 5px #07132130!important}
#shell :is(.top-actions .icon-button,.coin-plaque,.best-plaque){border:1px solid #bdd7d755;border-radius:12px;background:#142d41e8;color:#f5f4e8}
#shell #collection-panel .card-favorite{width:44px!important;height:44px!important;min-height:44px!important;top:0;right:0;color:#fff0f5!important;background:#173143f5!important;border:1px solid #b6cdda!important;font-size:24px!important;border-radius:10px!important}
#shell #collection-panel .card-favorite[aria-pressed=true]{background:#662c4b!important;color:#ffd2e2!important;border:2px solid #ffb9d0!important}
#shell #collection-panel .card-badge{left:5px;top:6px;font-size:9px;max-width:calc(100% - 49px);white-space:normal;line-height:1.2}
#shell #collection-panel :is(.collection-card,.store-card) strong{height:auto!important;min-height:2.6em!important;flex:none!important;white-space:normal!important;overflow:visible!important;line-height:1.3!important;overflow-wrap:anywhere}
#shell #collection-panel #collection-cards[data-catalog=accessories]{grid-template-rows:repeat(2,minmax(184px,1fr))!important;grid-auto-rows:minmax(184px,1fr);align-content:start}
#shell #collection-panel #collection-cards[data-catalog=accessories][data-view=row]{grid-template-rows:minmax(194px,1fr)!important}
#shell #collection-panel #collection-cards[data-catalog=accessories] .collection-card{min-height:184px!important;overflow:visible!important;padding:46px 6px 8px!important}
#shell #collection-panel [data-ownership=unavailable]{border-style:dashed!important}
#shell #collection-panel :is(.collection-card,.store-card)[aria-pressed=true]{border:2px solid #a9efd0!important}
#shell #collection-panel .item-fact{display:block;padding:9px 0;border-bottom:1px solid #91b9c933;line-height:1.5}
#shell #collection-panel .item-fact:last-child{border-bottom:0}
#shell #snake-builder-panel .snake-builder-part{position:relative;display:grid!important;grid-template-columns:28px minmax(0,1fr);gap:3px 7px!important}
#shell #snake-builder-panel .snake-builder-part>span{grid-column:2}
#shell #snake-builder-panel .part-thumbnail{grid-row:1/3;grid-column:1;width:28px;height:48px;object-fit:contain;align-self:center;background:#10293d;border-radius:7px}
#shell #snake-builder-panel .snake-builder-part select{grid-column:2;width:100%;min-width:0}
#shell #snake-builder-panel #snake-builder-price[data-ready=true]{display:block!important;font-size:.75rem;color:#c3e9d7}
#shell #snake-builder-panel[data-design-state=unsaved] #snake-builder-price{color:#ffe1a3}
#shell #snake-builder-panel .danger-action{color:#ffbdc0!important;border:1px solid #b65d6b!important;margin-left:auto;background:#412839!important;min-height:44px}
#shell .design-state{display:block;color:#b9dbc9;font-size:.75rem}
#shell #challenge-choices button{background:#f6dfa5!important;color:#17364c!important;border:2px solid #fff0c5!important;min-height:44px;padding:10px 16px;font-weight:750;opacity:1}
#shell #challenge-choices button:disabled{background:#253d4a!important;color:#cedbe0!important;border:1px solid #8aa4ad!important}
#shell #challenge-choices section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;margin:12px 0;padding:12px;border:1px solid #abc9d04a;border-radius:12px;background:#173246}
#shell #challenge-choices :is(h4,p){grid-column:1/-1;margin:0;line-height:1.4}
#shell #challenge-choices select{width:100%;min-width:0;min-height:44px}
#shell #toast.show{max-width:min(360px,calc(100vw - 32px));font-size:.8rem;line-height:1.35;padding:9px 13px;pointer-events:none}
#shell:has(#hud:not([hidden])) #toast{left:max(16px,env(safe-area-inset-left));top:112px;bottom:auto;transform:none;max-width:min(270px,38vw);background:#112e43f0;border:1px solid #aed2d4aa;box-shadow:0 3px 10px #07132144}
#shell:has(#hud:not([hidden])) #toast[data-kind=discovery]{font-size:.72rem;border-left:3px solid #b6eccf}
#shell #hud #encounter-status{max-width:min(380px,45vw);white-space:normal;line-height:1.35;font-size:.73rem;pointer-events:none}
#shell #hud #gate-status:not(.open){font-size:.65rem;opacity:.7}
#shell #hud .skill-button:disabled{border-style:dashed;filter:saturate(.55)}
#shell #hud .skill-button.pending{border-style:solid;outline:2px solid #f8dea4;outline-offset:2px}
#shell #boost[aria-disabled=true]{border-style:dashed;color:#b9cad4}
#shell #joystick{border:2px solid #d8f5f0bb;background:#0d2944aa}
#shell #joystick.active{background:#154656c9;border-color:#fff2b7;box-shadow:0 0 0 4px #fff0af33}
#shell #stats-grid[data-empty=true]{display:block;padding:18px;border:1px solid #a4c3d455;border-radius:12px;background:#173246}
#shell .first-run-stats{font-size:1rem;line-height:1.6;max-width:480px;margin:0}
@media(orientation:landscape) and (max-height:650px){
 #shell #collection-panel #collection-cards[data-catalog=accessories] .collection-card canvas{height:66px!important;min-height:66px!important;max-height:90px!important;flex:1 1 66px!important}
 #shell #hud #encounter-status{max-width:38vw;font-size:.67rem}
 #shell:has(#hud:not([hidden])) #toast{top:96px;max-width:min(240px,32vw)}
 #shell #lobby #auto-join{min-height:44px!important}
}
@media(prefers-reduced-motion:reduce){#shell :is(button,.icon-button){transition:none!important}}

#shell #store-detail-description{white-space:pre-line!important;line-height:1.5!important}
@media(orientation:landscape) and (max-height:650px){
 #shell #collection-panel #collection-cards[data-catalog=accessories]{grid-template-rows:repeat(2,135px)!important;grid-auto-rows:135px!important}
 #shell #collection-panel #collection-cards[data-catalog=accessories][data-view=row]{grid-template-rows:135px!important}
 #shell #collection-panel #collection-cards[data-catalog=accessories] .collection-card{min-height:135px!important;height:135px!important;padding:44px 5px 4px!important;box-sizing:border-box!important}
 #shell #collection-panel #collection-cards[data-catalog=accessories] .collection-card canvas{height:44px!important;min-height:44px!important;max-height:44px!important;flex:0 0 44px!important}
 #shell #collection-panel #collection-cards[data-catalog=accessories] .collection-card strong{display:block!important;font-size:10px!important;line-height:1.2!important;min-height:0!important;max-height:none!important;margin:3px 0 0!important}
}

/* Individual floating cards: scenery remains visible between every action. */
#shell #lobby :is(.player-dock,.career-strip){background:transparent!important;backdrop-filter:none!important;border:0!important;box-shadow:none!important;gap:8px!important}
#shell #lobby .player-dock{padding-inline:0!important}
#shell #lobby :is(.profile-plaque,.dock-button,.career-strip>button){box-shadow:inset 0 1px #ffffff12,0 3px 9px #08172344!important}
#shell :is(.ruby-icon,.ruby-mark,.ruby-flight){background:url('/assets/game/ruby.svg') center/contain no-repeat!important;clip-path:none!important;transform:none;color:transparent;filter:drop-shadow(0 2px 2px #47072466)}
#shell .ruby-mark{display:inline-block;width:1.35em;height:1.45em;vertical-align:-.32em;overflow:hidden;flex:none}
#shell #main-topbar .coin-plaque>.ruby-icon{width:34px;height:38px}
#shell #rotate-play svg{width:22px;height:22px;vertical-align:-5px;margin-left:8px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Small visual heart, generous invisible tap area. */
#shell #collection-panel .card-favorite{width:44px!important;height:44px!important;min-height:44px!important;top:0!important;right:0!important;font-size:17px!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;padding:0!important;isolation:isolate}
#shell #collection-panel .card-favorite::before{content:"";position:absolute;inset:8px;z-index:-1;border:1px solid #9fb9c76b;border-radius:50%;background:#173143e8;box-shadow:0 1px 3px #07182755}
#shell #collection-panel .card-favorite[aria-pressed=true]{border:0!important;background:transparent!important;color:#ffd3e2!important}
#shell #collection-panel .card-favorite[aria-pressed=true]::before{background:#62324d;border-color:#f6b4d0}
#shell #collection-panel .card-favorite:focus-visible{outline:2px solid #fff0c8;outline-offset:-4px}
#shell .loading-starter{display:block;margin:16px auto;width:clamp(88px,16vw,140px);height:clamp(88px,16vw,140px);filter:drop-shadow(0 6px 8px #08182766)}
#shell #collection-panel #store-detail-tag{font-size:.65rem;letter-spacing:.08em}
#shell #collection-panel .replacement-fact{padding:8px 11px;margin:6px 0;border-left:3px solid #f4d797;background:#203e4f;color:#ffe8b6;font-size:.75rem;line-height:1.4;border-radius:6px}
#shell .purchase-confirm-card>div:last-child{gap:14px}
#shell .purchase-confirm-card button{min-height:48px;padding:12px 20px}
#shell .purchase-confirm-price{font-size:1.4rem;color:#ffe7b1;font-weight:700}
#shell .purchase-balance{line-height:1.6;color:#c7d9e3}
#shell .purchase-confirm-card>p:last-of-type{font-size:.78rem;line-height:1.5;color:#c1d2dd}
#shell #snake-builder-list .snake-build-card{border-radius:13px;min-width:0}
#shell #snake-builder-list .snake-build-card canvas{width:100%;height:140px;object-fit:contain}
#shell .creator-challenges[open]>summary{color:#ffe0a6}
@media(orientation:landscape) and (max-height:650px){
 #shell #collection-panel .catalog-card-shell>.collection-card{padding-top:24px!important}
 #shell #collection-panel .catalog-card-shell>.store-card{padding-top:8px!important}
 #shell #collection-panel :is(.collection-card,.store-card) strong{min-height:1.3em!important;font-size:.75rem!important;overflow-wrap:normal!important;word-break:normal!important}
 #shell #collection-panel #collection-cards[data-catalog=accessories] .collection-card{padding-top:30px!important}
 #shell #collection-panel #collection-cards[data-catalog=accessories] .collection-card canvas{height:58px!important;min-height:58px!important;max-height:58px!important;flex:0 0 58px!important}
}

#shell .book-tools{display:flex;gap:10px;position:sticky;top:0;z-index:2;background:#183246;padding:10px;border-radius:12px;margin:12px 0}
#shell .book-tools input{flex:1;min-width:100px}#shell .book-tools select{max-width:42%}
#shell .book-section[data-complete=true]>summary::after{content:" · Complete";color:#b9ebce;font-size:.75rem}
#shell .book-entry[data-discovery=unknown]{border-style:dashed;opacity:.8}
#shell .book-entry[data-discovery=completed] .book-icon{color:#bdf0d0}
#shell .snake-home-room{background:radial-gradient(ellipse at 30% 70%,#73877044,transparent 45%),linear-gradient(170deg,#29445a 60%,#172d3f 60%);border:1px solid #b9d7ce44;border-radius:16px;box-shadow:inset 0 -10px 20px #071c2f44;padding:16px}
#shell :is(.expansion-tabs,.section-views) button{white-space:nowrap;overflow-wrap:normal;word-break:normal}
#shell .family-function,#shell .friends-empty{font-size:.8rem;line-height:1.5;color:#c0d6df}
#shell #store-slot-note{order:-1}
@media(orientation:landscape) and (max-height:650px){#shell .book-tools{padding:6px;margin:6px 0;gap:6px}#shell .book-tools :is(input,select){min-height:40px}}

#shell #collection-panel .store-footer{flex-wrap:wrap!important;gap:6px 10px!important}
#shell #collection-panel #store-slot-note{order:5;flex-basis:100%;margin:0;padding:4px 8px;font-size:.65rem;line-height:1.3}
#shell #collection-panel .store-footer .store-actions{margin-left:auto}

#shell .mode-card .mode-icon{width:62px;height:42px;object-fit:contain;padding:0;border-radius:10px;background:transparent!important}
#shell .achievement-card .badge-art{width:64px;height:54px;object-fit:contain;filter:drop-shadow(0 3px 3px #06182b66)}
#shell .achievement-card:not(.earned):not(.nearly) .badge-art{filter:saturate(.55) brightness(.85)}
#shell .mode-group-title{font-size:.85rem;color:#bed1da;margin:10px 0;letter-spacing:.04em}

@media(orientation:landscape) and (max-height:650px){
 #shell #collection-panel #store-cards[data-view=row],#shell #collection-panel #collection-cards[data-view=row][data-catalog=snakes]{grid-template-rows:minmax(0,1fr)!important;align-content:stretch!important}
 #shell #collection-panel :is(#store-cards,#collection-cards[data-catalog=snakes])[data-view=row] .catalog-card-shell{min-height:0!important;height:100%!important}
 #shell #collection-panel :is(#store-cards,#collection-cards[data-catalog=snakes])[data-view=row] :is(.collection-card,.store-card){min-height:0!important;height:100%!important;padding-bottom:4px!important;gap:3px!important}
 #shell #collection-panel :is(.collection-card,.store-card) :is(small,.store-price){flex-shrink:0!important}
}

#shell .season-milestones>span{display:flex;flex-direction:column-reverse;align-items:center;gap:5px;padding:8px;border:1px solid #a1bfd044;border-radius:10px;background:#163247;font-size:.75rem}
#shell .season-milestones img{width:62px;height:52px;object-fit:contain}
#shell .season-milestones>span:not(.earned) img{filter:saturate(.6);opacity:.8}
#shell .season-milestones>span.earned{border-color:#ead496;background:#2b4c49}
#shell #settings-guide p{line-height:1.5;margin:7px 0;font-size:.82rem}
@media(orientation:landscape) and (max-height:650px){#shell .season-milestones img{width:46px;height:38px}}

#shell .book-entry[data-discovery=discovered]{border-color:#c5b4e3;background:#29415d}
#shell .book-entry[data-discovery=discovered] .book-icon{color:#ddc7ff}
#shell .book-item-link{min-height:44px;font-size:.72rem;padding:7px 10px;margin-top:8px;background:#274654;border:1px solid #a2c6d555;border-radius:8px;color:#e0eee7}
#shell .book-tools :is(input,select){min-height:44px!important}
#shell #scoreboard-title{max-width:170px;font-size:.58rem;line-height:1.3}

/* Review: compact filters and settings keep their targets and facts readable. */
#shell #collection-panel .filter-reset{position:sticky;bottom:-6px;z-index:2;min-height:44px;background:#294b5d;border:1px solid #bed4de88}
#shell #collection-panel .filter-reset:disabled{opacity:.55}
#shell #settings-panel .settings-group>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
#shell #settings-panel .settings-current{font-size:.7rem;line-height:1.4;color:#c5dce2;font-weight:400}
#shell #settings-panel label:has(input[type=checkbox]){min-height:44px;display:flex;align-items:center;gap:10px;line-height:1.4;cursor:pointer}
#shell #settings-panel input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:#edcf94}
#shell #settings-panel .audio-mixer input{min-height:44px;accent-color:#edcf94;cursor:pointer}
#shell #settings-panel .audio-mixer output{min-width:3.5ch;text-align:right;font-variant-numeric:tabular-nums}
#shell #settings-panel .audio-master-note{font-size:.74rem;line-height:1.4;color:#c5dce2}
#shell :is(.segmented,.control-choices) button[aria-pressed=true]{outline:2px solid #d7eee6;outline-offset:-3px;box-shadow:inset 0 -3px #e7cd8d}
#shell .control-demo[data-method=buttons]{cursor:default}#shell .control-demo[data-method=arrow]{cursor:crosshair}
#shell #score[data-size=long]{font-size:clamp(1.6rem,3vw,2.4rem)}#shell #score[data-size=huge]{font-size:clamp(1.15rem,2.2vw,1.75rem)}
#shell #score{font-variant-numeric:tabular-nums;letter-spacing:-.035em}
#shell #joystick{border-color:#d8edf2b3;box-shadow:0 2px 10px #08172766,inset 0 0 0 2px #17394a99;background:radial-gradient(circle,#29556f99,#122e43bb)}
#shell #joystick #stick{border:2px solid #e9f7f4;background:radial-gradient(circle at 35% 25%,#d4eceb,#6dabbf 70%);box-shadow:0 3px 8px #04162188}
#shell #joystick.steering-active{border-color:#ffe8af;box-shadow:0 0 0 3px #eaca7c66,inset 0 0 18px #91d6e744}
#shell #skill-controls .skill-button{border-radius:12px;border-width:1px;border-style:solid;min-width:48px;min-height:48px}
#shell #skill-controls .skill-button[data-state=ready]{border-color:#c3e4e3;color:#e7f5ed}
#shell #skill-controls .skill-button[data-state=active],#shell #skill-controls .skill-button[data-state=aiming]{border-color:#ffe3a3;background:#4d4e3f;color:#ffe8b9;opacity:1}
#shell #skill-controls .skill-button[data-state=cooldown]{border-color:#89a0b0;opacity:.75}
#shell #skill-controls .skill-button[data-state=pending]{border-color:#e0c7f0;opacity:.9}
#shell #revive-consequence{font-size:.74rem;line-height:1.5;color:#c6dde6;margin:8px 0}
@media(orientation:landscape) and (max-height:650px){
 #shell #collection-panel .browse-filter-content{max-height:calc(100dvh - 145px);padding:8px;gap:6px}
 #shell #collection-panel .browse-filter-content .collection-filters{gap:4px}
 #shell #collection-panel .browse-filter-content .collection-filters button{padding:6px 10px}
 #shell #settings-panel .settings-group>summary{padding:8px 10px;min-height:44px;font-size:.8rem}
 #shell #settings-panel .settings-group-body{padding:6px 10px}
 #shell #settings-panel .setting-tile{padding:6px!important}
 #shell #settings-panel .audio-mixer{gap:4px 10px;margin-block:6px}
 #shell #settings-panel .audio-settings>p:not(.audio-master-note){font-size:.7rem;margin:4px 0}
}
#shell #collection-panel .store-inspect{display:flex;flex:1;flex-direction:column;width:100%;min-height:60px;padding:0;border:0;background:none;box-shadow:none;color:#c6dce3;overflow:hidden}
#shell #collection-panel .store-inspect #store-preview{flex:1;min-height:0;height:0;width:100%;object-fit:contain}
#shell #collection-panel .store-inspect small{font-size:10px;line-height:1.4;flex:none;margin:2px 0}
#shell #collection-panel .store-inspect[aria-pressed=true]{outline:1px solid #d9d09a;outline-offset:-2px;border-radius:8px}
#shell #collection-panel .store-inspect:disabled{opacity:1;cursor:default}
#shell .loadout-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}
#shell .loadout-choice{display:flex;align-items:center;gap:8px;min-width:0}
#shell .loadout-choice label{flex:1;min-width:0;font-size:.8rem}#shell .loadout-choice select{width:100%;min-height:44px}
#shell .loadout-choice canvas{width:48px!important;height:48px!important;flex:0 0 48px}
#shell .loadout-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.75rem;line-height:1.5;color:#c3d8e0}
#shell .boss-essence-help{margin:8px 0;font-size:.75rem;line-height:1.5}
#shell .boss-essence-help summary,#shell .boss-journal-card summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#d4e6ea}
#shell .boss-journal-card[data-discovery=unknown]{border-style:dashed}
#shell .boss-journal-card[data-discovery=completed]{border-color:#b5d6b7}
#shell .boss-journal-card .boss-journal-portrait{min-height:110px;border-radius:12px;margin-bottom:8px}
#shell .boss-journal-card p{font-size:.75rem;line-height:1.4;margin:5px 0}
#shell .boss-rewards article{padding:10px;background:#18374b;border:1px solid #a3c6d344;border-radius:10px}
#shell .boss-rewards button{width:100%;min-height:44px}
#shell .boss-reward-eligibility{font-size:.72rem;line-height:1.4;color:#c3d8e0;margin:5px 0}
@media(max-width:600px) and (orientation:portrait){#shell .loadout-choices,#shell .loadout-facts{grid-template-columns:1fr}}
#shell[data-practice-step=turn] #joystick,#shell[data-practice-step=turn].steering-buttons #arrow-pad,#shell[data-practice-step=boost] #boost,#shell[data-practice-step=ability] #ability-skill{outline:2px solid #ffe9b2;outline-offset:4px}
#shell #collection-panel #store-scale-preview{display:flex;flex-direction:column;align-items:center;flex:none;margin:0;padding:4px;border-top:1px solid #a5c9d344;width:100%}
#shell #collection-panel #store-scale-preview[hidden]{display:none}
#shell #collection-panel #store-scale{width:110px;height:46px;flex:none}
#shell #collection-panel #store-scale-preview small{font-size:9px;line-height:1.4;color:#c2d7e0;text-align:center}
/* The current Store owns this space; the older promotional block overlapped desktop navigation. */
#shell #collection-panel #collection-store>.shop-feature,#shell #collection-panel #collection-store>.store-intro{display:none!important}
/* Rrr review: clear account, party and record states. */
#shell .field-error{color:#ffd2c4;font-size:13px;line-height:1.35;display:block;margin:2px 0 8px}
#shell .field-error[hidden]{display:none}
#shell input[aria-invalid=true]{outline:2px solid #ffb59b;outline-offset:2px}
#shell .field-status{font-size:13px;line-height:1.45;min-height:1.2em;margin:6px 0;color:#dce9ed}
#shell [data-state=error].account-status,#shell #rooms-status[data-state=error],#shell #daily-status[data-state=error],#shell #stats-status[data-state=error]{color:#ffd2c4;border-left:3px solid #ffb59b;padding-left:10px}
#shell [data-state=pending].account-status,#shell [data-state=loading].field-status{color:#f5dda4}
#shell .account-form .account-input{min-height:48px}
#shell .account-input input{font-size:16px;min-width:0}
#shell .account-input .password-toggle{min-height:44px;min-width:52px}
#shell .account-person strong,#shell .account-person span{overflow-wrap:anywhere}
#shell .party-columns{align-items:stretch}
#shell .party-choice{display:flex;flex-direction:column;min-width:0}
#shell .party-choice>button,#shell .party-choice>form{margin-top:auto}
#shell #create,#shell #join{min-height:48px;width:100%}
#shell #room-code{min-height:48px;font-size:22px;letter-spacing:.12em;text-transform:uppercase}
#shell .room-row{gap:12px;align-items:center}
#shell .room-row>div{min-width:0}
#shell .room-row small{display:block;line-height:1.4;white-space:normal}
#shell .room-row button{min-width:64px;min-height:44px}
#shell #rooms-status[data-state=empty]{padding:18px;border:1px dashed #7899a7;border-radius:14px;background:#162e3f}
#shell #daily-leaders li{display:grid;grid-template-columns:28px minmax(0,1fr) max-content;align-items:center;gap:10px;min-height:44px}
#shell #daily-leaders li strong{overflow-wrap:anywhere;line-height:1.3;min-width:0}
#shell #daily-leaders li b{font-variant-numeric:tabular-nums;white-space:nowrap}
#shell #stats-retry{min-height:44px;margin-bottom:10px}
#shell .party-lobby-member strong{overflow-wrap:anywhere}
#shell .party-lobby-member[data-ready=true]{border-left:3px solid #b5edce}
#shell .party-lobby-member[data-online=false]{border-left:3px dashed #f5dda4}
#shell .party-lobby-member[data-host=true] strong::after{content:' · HOST';font-size:10px;color:#f5dda4}
@media(max-height:480px){#shell .account-hero{padding:10px}#shell .account-hero p,#shell .account-note{font-size:12px;line-height:1.35}#shell .account-dialog{gap:12px}#shell .party-choice{gap:6px}#shell .party-choice>p{font-size:13px;line-height:1.35}#shell #party-snake-preview{max-height:70px}}
#shell .exploration-passport{padding:12px;border:1px solid #6c9298;border-radius:14px;background:linear-gradient(135deg,#284849,#173142);margin:10px 0}
#shell .exploration-passport>h4{margin:0 0 8px;color:#f6dfae}
#shell .exploration-passport>progress{width:100%;height:8px;accent-color:#bee7ce}
#shell .passport-stamps{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:10px}
#shell .passport-stamp{display:grid;grid-template-columns:38px minmax(0,1fr);gap:4px 8px;padding:9px;border:1px dashed #88a9ac;border-radius:10px;background:#132e3f;align-content:start}
#shell .passport-stamp.earned{border-style:solid;background:#244b45}
#shell .passport-stamp canvas{width:38px;height:38px;grid-row:span 2}
#shell .passport-stamp strong{font-size:12px;line-height:1.3}
#shell .passport-stamp small{font-size:11px;line-height:1.35;color:#c7dddd}
#shell .passport-stamp button{grid-column:1/-1;min-height:44px;margin-top:4px}
#shell #mode-brief{position:absolute;top:10px;left:50%;transform:translateX(-50%);max-width:40vw;padding:7px 12px;border-radius:12px;background:#112c42eb;border:1px solid #bbd5d4;color:#f5e4b9;font-size:12px;line-height:1.3;text-align:center;pointer-events:none}
#shell #gate-status{font-size:11px!important;opacity:.65;background:#112c42bb;box-shadow:none}
#shell #gate-status[data-urgent=true]{opacity:1;border-color:#f8c587;color:#ffe1a1}
#shell[data-game-mode=tiny] #minimap{width:95px;height:70px;opacity:.8}
#shell[data-game-mode=tiny] .score-card{padding:7px 10px;min-width:80px}
#shell[data-game-mode=tiny] #score{font-size:24px}
#shell[data-game-mode=tiny] .run-stats,#shell[data-game-mode=tiny] #best,#shell[data-game-mode=tiny] #quest-progress{display:none}
#shell[data-game-mode=tiny] .leaderboard{max-width:135px;font-size:11px}
#shell[data-game-mode=tiny] #skill-controls{gap:4px}
#shell[data-game-mode=tiny] .skill-button{width:48px;min-width:48px}
#shell[data-game-mode=survival] #revive-stat,#shell[data-game-mode=ranked] #revive-stat{display:none}
#shell #journey-status{font-size:11px;padding:5px 9px;opacity:.85}
@media(max-height:480px){#shell #mode-brief{top:8px;font-size:11px;max-width:42vw}#shell .passport-stamps{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
#shell .world-preview{width:100%;height:84px;border-radius:10px;border:1px solid #91b4bd44;object-fit:cover;margin-bottom:2px}
#shell .admin-member>div:first-child{min-width:0;overflow-wrap:anywhere}
#shell .admin-ruby-actions{gap:8px}
#shell .admin-ruby-actions button{min-height:44px;min-width:54px}
#shell .admin-offer strong,#shell .admin-ip-detail{overflow-wrap:anywhere}
@media(max-height:480px){#shell .world-preview{height:64px}#shell .career-dialog .panel-heading small{display:none}#shell .career-dialog .career-intro{margin:6px 0;font-size:12px}}
#shell .results-heading>.result-rank-badge{display:none}
#shell .results-heading{grid-template-columns:minmax(0,1fr) auto}
#shell .result-summary .round-score[hidden]{display:none}
#shell .book-discovery-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:12px 0}
#shell .book-discovery-overview>h3{grid-column:1/-1;margin:4px 0;color:#f6dfae}
#shell .discovery-goal{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #799e9c;border-radius:12px;background:#22433f}
#shell .discovery-goal small{font-size:12px;line-height:1.35;color:#d4e6dd}
#shell .discovery-goal button{min-height:44px;margin-top:auto}
#shell .recent-discovery{font-size:12px;color:#d7e7e5;margin:3px 0}
#shell #hud .skill-button{padding:4px;gap:2px;grid-auto-rows:auto}
#shell #hud .skill-button svg{width:23px;height:23px}
#shell #hud .skill-button small{font-size:8px;line-height:1.05;letter-spacing:0}
#shell #hud .skill-button .skill-time{position:static;inset:auto;display:block;font-size:9px;line-height:1.1;min-height:10px;white-space:nowrap;text-shadow:none;pointer-events:none}
#shell #hud .skill-button>kbd{display:none}
#shell #hud #ability-skill{padding:4px}
#shell #hud #ability-skill svg{width:23px;height:23px}
#shell[data-game-mode=tiny] #hud .skill-button{height:48px;padding:3px;gap:1px}
#shell[data-game-mode=tiny] #hud .skill-button svg,#shell[data-game-mode=tiny] #hud #ability-skill svg{width:18px;height:18px}
#shell[data-game-mode=tiny] #hud #ability-skill{padding:3px}
#shell #hud .skill-button{height:62px;min-height:62px}
#shell[data-game-mode=tiny] #hud .skill-button{height:48px;min-height:48px}
/* Opening objectives sit beside the score, keeping the score readable. */
#shell #mode-brief{left:70px;transform:none;max-width:calc(50vw - 150px);box-sizing:border-box}
@media(max-height:480px){#shell #mode-brief{padding:6px 8px}}
#shell #party #join{color:#eef8ff;background:#25465a;border-color:#bad3d4}
#shell #party #join:disabled{color:#c1d0d9;background:#223746;border-color:#708c9d}

/* Grid cards keep their names and prices inside the card on short phones.
   Additional rows scroll within the gallery rather than beneath the footer. */
@media(orientation:landscape) and (max-height:650px){
 #shell #collection-panel #store-cards[data-view=grid]{grid-template-rows:repeat(2,minmax(144px,1fr))!important;grid-auto-rows:minmax(144px,1fr)!important;overflow:auto!important;min-height:0!important;align-content:start!important}
 #shell #collection-panel #store-cards[data-view=grid] .catalog-card-shell{min-height:0!important;height:100%!important}
 #shell #collection-panel #store-cards[data-view=grid] .store-card{min-height:0!important;height:100%!important;padding-bottom:5px!important;gap:3px!important}
}

/* Administration uses the same readable controls as player menus. */
#shell .admin-grid button{min-height:44px;padding:8px 12px;border:1px solid #91afb9;border-radius:10px;background:#234354;color:#f3f9fa;font-weight:650;line-height:1.2}
#shell .admin-ruby-actions{gap:5px}
#shell .admin-offer{gap:10px}

#shell .admin-ruby-actions{flex-basis:min(200px,50%);min-width:172px}
#shell .admin-ruby-actions button{padding-inline:6px;font-size:13px;white-space:nowrap}

#shell #steering-options svg,#shell #invite svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}

/* Appearance trials have no competitive or reward panels. */
#shell[data-skin-trial="true"] #scoreboard, #shell[data-skin-trial="true"] #quest-progress { display:none!important; }
#shell[data-skin-trial="true"] .score-card,
#shell[data-skin-trial="true"] #skill-controls,
#shell[data-skin-trial="true"] #encounter-status,
#shell[data-skin-trial="true"] .signal-controls { display:none!important; }
/* Clear first runs, focused objectives and a shared visual language. */
#shell #hud #mode-brief{top:64px;left:68px;max-width:calc(50vw - 150px);padding:7px 10px;font-size:12px;border-color:#9bc8c9;line-height:1.35}
#shell #hud #run-goal{position:absolute;top:67px;left:50%;transform:translateX(-50%);max-width:44vw;padding:5px 10px;border-radius:10px;background:#153a4ee6;color:#fff2c7;font-size:12px;font-weight:700;text-align:center;pointer-events:none}
#shell #hud #encounter-status{top:101px;max-width:48vw;font-size:12px;line-height:1.35;padding:6px 10px;white-space:normal;pointer-events:none}
#shell #hud :is(#race-status,#king-status,#hide-status,#tag-status,#tiny-status,#journey-status){top:69px;max-width:54vw;font-size:13px;line-height:1.3;letter-spacing:.03em;padding:7px 12px;white-space:normal}
#shell[data-tools-visible=false] :is(#wave-skill,#laser-skill){display:none!important}
#shell[data-skills-visible=false] #skill-controls{display:none!important}
#shell #guided-play{position:absolute;bottom:105px;left:50%;transform:translateX(-50%);max-width:50vw;font-size:13px;min-height:44px}
#shell #hud #guided-practice-note{top:70px;max-width:60vw;line-height:1.4;font-size:13px;padding:8px 12px}
#shell #hud .skill-button[data-state=ready]{border-color:#a6dfcd;background:linear-gradient(#2f5960,#193c4e)}
#shell #hud .skill-button[data-state=active]{border-color:#ffe3a1;background:#685932}
#shell #hud .skill-button[data-state=cooldown]{opacity:.8}
#shell .next-goal{padding:10px 12px;margin:8px 0;border:1px solid #91c3b4;border-radius:12px;background:linear-gradient(115deg,#294d4a,#183448);color:#eef9e9;line-height:1.4}
#shell .next-goal p{margin:4px 0 0;font-size:13px;color:#d9e8df}
#shell .result-tip{font-size:13px;line-height:1.4;color:#f6dfb2;margin:5px 0}
#shell .earned-summary{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
#shell .earned-summary strong{padding:7px 10px;border-radius:10px;background:#2c514b;color:#d9ffe2;font-size:14px}
#shell #result-save-kind{font-size:12px;line-height:1.4;color:#d1e1df}
#shell #result-next-goal{font-size:13px}
#shell .guest-save-note{font-size:13px;line-height:1.4;margin:4px 0 10px;padding:9px 12px;border-radius:10px;background:#24474b;color:#e2f2e4}
#shell .curation-strip{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
#shell .curation-strip button{min-height:44px;padding:8px 12px;border:1px solid #8cabb5;border-radius:10px;background:#223f53;color:#e7f4f5;font-weight:650}
#shell .curation-strip button[aria-pressed=true]{background:#d5e9df;color:#183e3c;border-color:#b4e8d0}
#shell #store-discover{min-height:44px;max-width:140px;flex:0 1 130px;border-radius:12px}
#shell #store-jump{min-height:44px;width:95px;border-radius:10px;font-size:12px}
#shell .budget-note{font-size:12px;line-height:1.35;margin:0;color:#dbe9de;flex-basis:100%}
#shell .store-footer{flex-wrap:wrap;gap:8px}
#shell .builder-slot-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px}
#shell .builder-slot-tabs button[aria-pressed=true]{background:#d5eadf;color:#183f3c;border-color:#b7e7d5}
#shell .builder-part-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
#shell .builder-part-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:96px;border:1px solid #6e929c;border-radius:12px;padding:6px;background:linear-gradient(#254659,#173549);color:#f2f8f4}
#shell .builder-part-choice[aria-pressed=true]{border:2px solid #b7e8cd;background:#2e514c}
#shell .builder-part-choice canvas{width:70px;height:78px;object-fit:contain}
#shell .builder-part-choice span{font-size:12px;line-height:1.25}
#shell .builder-part-paging{display:flex;gap:10px;align-items:center;justify-content:center;margin:8px 0}
#shell .builder-part-paging button{min-height:44px;min-width:44px}
#shell #snake-builder-parts{margin-top:12px;padding-top:10px;border-top:1px solid #688b9633}
#shell :is(button,summary,select){transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}
#shell :is(button,summary,select):focus-visible{outline:3px solid #ffe6a7;outline-offset:3px}
#shell button:active:not(:disabled){filter:brightness(1.08)}
@media(orientation:landscape) and (max-height:650px){
 #shell #collection-panel #store-layout .browse-toolbar{gap:5px}
 #shell #collection-panel #store-layout .store-category{width:90px;flex-basis:90px}
 #shell #store-discover{width:112px;flex-basis:112px;font-size:12px}
 #shell #store-layout #store-page{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 #shell #store-layout .catalog-paging{margin-left:auto;gap:5px;flex-wrap:nowrap}
 #shell #store-jump{width:83px;min-width:83px;font-size:11px}
 #shell #collection-panel #store-layout .store-footer{min-height:64px;display:flex;align-items:center;gap:5px 10px}
 #shell #store-budget-note{flex:1 1 100%;font-size:11px;order:4}
 #shell #collection-panel #store-layout:has(.store-item-details[open]) #store-budget-note{order:0}
 #shell .guest-save-note{font-size:12px;padding:7px 10px;margin-block:3px 6px}
 #shell #journey-next{padding:7px 10px;margin:6px 0;font-size:13px}
 #shell #journey-next p{font-size:12px}
 #shell .result-tip{font-size:12px}
 #shell #death .earned-summary{margin:4px 0}
 #shell #death .earned-summary strong{font-size:12px;padding:5px 8px}
 #shell #death #result-next-goal{padding:7px 10px;font-size:12px}
}
@media(max-width:720px){
 #shell #store-discover{width:95px;flex-basis:95px;font-size:11px}
 #shell #collection-panel #store-layout .store-category{width:78px;flex-basis:78px}
 #shell #store-jump{width:73px;min-width:73px}
 #shell #hud #mode-brief{font-size:11px;left:60px;max-width:calc(50vw - 115px)}
 #shell #hud #run-goal{font-size:11px;max-width:46vw}
}
@media(prefers-reduced-motion:reduce){#shell :is(button,summary,select){transition:none}}
#shell #collection-panel .store-footer{display:flex;align-items:center;gap:7px 12px}
#shell #collection-panel .store-footer>.selection-summary{flex:1 1 auto;order:0}
#shell #collection-panel .store-footer>.store-item-details{order:1}
#shell #collection-panel .store-footer>.store-actions{order:2}
#shell #collection-panel .store-footer>#store-budget-note{order:3;flex-basis:100%}
#shell #collection-panel .store-footer>#store-slot-note{order:4;flex-basis:100%}
#shell #collection-panel .store-footer:has(.store-item-details[open])>.store-item-details{flex:1 1 100%}

#account-panel:has(#account-signed-out[hidden]) .guest-save-note{display:none}
#shell #builder-visual-parts{display:block;margin-bottom:10px}

#shell #death .result-summary .earned-summary{grid-column:1;grid-row:4;margin:0}
#shell #death .result-summary #result-next-goal{grid-column:1;grid-row:5;margin:0}
#shell #death .result-summary #result-save-kind{grid-column:1;grid-row:6;margin:0}

#shell #death .result-summary .earned-summary{grid-row:1}
#shell #death .result-summary #result-next-goal{grid-row:3}
#shell #death .result-summary #result-save-kind{grid-row:4}
#shell #death .result-summary .ruby-reward{grid-row:5}

#shell #death .result-summary #result-next-goal{grid-row:2}
#shell #death .result-summary .results-table{grid-row:3}
@media(orientation:landscape) and (max-height:650px){
 #shell #death .result-summary{gap:6px}
 #shell #death .result-summary .results-table :is(th,td){padding-block:3px}
}

/* Admin is a full-screen workspace; only the heading and tab bar stay fixed. */
#shell #admin-panel:not([hidden]){display:block;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:hidden}
#shell #admin-panel .admin-dialog{width:100%;height:100%;max-height:none;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:8px 12px;border-radius:12px;overflow:hidden}
#shell #admin-panel .collection-header{position:static;min-height:44px;margin:0;padding:0 0 6px;gap:12px}
#shell #admin-panel #admin-title{font-size:clamp(18px,2.5vw,24px);line-height:1.15;margin:0;flex:1}
#shell #admin-panel .admin-tabs{flex-wrap:nowrap;overflow-x:auto;margin:0;padding:6px 0;gap:6px;min-width:0}
#shell #admin-panel .admin-tabs button{flex:0 0 auto;min-height:44px;padding:8px 14px;font-size:14px;white-space:nowrap}
#shell #admin-panel #admin-grid{display:block;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 3px 12px 0}
#shell #admin-panel #admin-status{margin:4px 0 8px;font-size:13px;line-height:1.3}
#shell #admin-panel #admin-grid>section{padding:12px;min-height:0;height:auto;overflow:visible}
#shell #admin-panel .admin-section-title{gap:8px;margin:0 0 8px}
#shell #admin-panel h3{font-size:18px;margin:0}
#shell #admin-panel .admin-sort{font-size:14px}
#shell #admin-panel .admin-member-filters{margin:8px 0;gap:8px}
#shell #admin-panel .admin-member-filters label{font-size:14px;gap:4px}
#shell #admin-panel #admin-member-counts{margin:8px 0;font-size:13px;line-height:1.35}
#shell #admin-panel .admin-pagination{position:static;display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:8px 0;background:transparent}
#shell #admin-panel .admin-pagination span{font-size:13px;line-height:1.3}
#shell #admin-panel #admin-members .admin-member{padding:12px;gap:12px}
#shell #admin-panel .admin-member-stats{margin:10px 0}
@media(max-width:600px){#shell #admin-panel .admin-dialog{padding:6px}#shell #admin-panel .admin-section-title{display:grid;grid-template-columns:1fr 1fr}#shell #admin-panel .admin-section-title h3{grid-column:1/-1}#shell #admin-panel .admin-sort{display:grid;gap:4px}#shell #admin-panel .admin-pagination{grid-template-columns:1fr 1fr}#shell #admin-panel .admin-pagination span{grid-column:1/-1;grid-row:1}#shell #admin-panel .admin-pagination button{grid-row:2}}

#shell #admin-panel .admin-filter-drawer{margin:8px 0;border:1px solid #91afb966;border-radius:10px;padding:0 10px}#shell #admin-panel .admin-filter-drawer>summary{min-height:44px;display:list-item;padding:12px 4px;font-size:14px;font-weight:700;cursor:pointer}#shell #admin-panel .admin-filter-drawer[open]{padding-bottom:8px}#shell #admin-panel .admin-filter-drawer .admin-section-title{display:flex;justify-content:flex-start;flex-wrap:wrap}#shell #admin-panel .admin-filter-drawer .admin-sort{flex:1;min-width:180px}

#admin-panel .admin-account-link {display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;margin:3px 6px 3px 0;color:#d0f3ff;text-decoration:underline;border:1px solid #66899a;border-radius:8px;background:#173347;font:inherit;cursor:pointer;overflow-wrap:anywhere;}
#admin-panel .admin-account-link:focus-visible {outline:3px solid #9cddff;outline-offset:2px;}
#admin-panel .admin-ip-detail small,#admin-panel .admin-ip-match small {display:block;}

#room-closed-notice{position:absolute;z-index:120;top:max(64px,calc(env(safe-area-inset-top) + 56px));left:50%;transform:translateX(-50%);width:min(420px,calc(100% - 32px));padding:16px 20px;background:#142d42;color:#fff;border:2px solid #8acbe9;border-radius:16px;box-shadow:0 8px 32px #0008;text-align:center;pointer-events:none;font-size:18px;line-height:1.4}#room-closed-notice[hidden]{display:none}#room-closed-notice strong,#room-closed-notice small{display:block}#room-closed-notice small{margin-top:5px;font-size:13px;color:#c6dfec}
