/* The online lodge uses the same authored pixel frames and palette as combat. */
.online-intro{display:flex;gap:24px;align-items:center;justify-content:space-between;border-bottom:1px solid #baa77555;padding-bottom:16px;margin-bottom:18px}.online-intro h2{margin:4px 0}.rank-medal{display:grid;place-items:center;min-width:94px;min-height:86px;background:#192f35;border:4px double #b9a56b;color:#edce91;text-align:center}.rank-medal strong{font-size:23px}.rank-medal small{font-size:12px}.online-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.online-column{min-width:0}.online-modes{display:grid;gap:9px}.online-modes button{width:100%;padding:13px 16px;font-size:19px}.online-modes small{font-size:12px}.online-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 10px}.online-heading h3{margin:0;font-size:20px}.online-heading button{font-size:12px;min-height:36px;padding:5px 10px}.social-list{display:grid;gap:7px;max-height:240px;overflow:auto;scrollbar-width:none}.social-row{padding:10px;background:#172f32;border:1px solid #78918545;display:flex;align-items:center;gap:10px;justify-content:space-between}.social-row strong{display:block;font:14px ui-monospace,monospace;overflow-wrap:anywhere}.social-row small{color:#b2cbb6;font-size:11px}.social-row .row-actions{display:flex;gap:5px}.social-row button{min-height:38px;padding:6px 9px;font-size:12px;border-width:4px}.social-search,.online-form{display:grid;gap:12px}.social-search{grid-template-columns:1fr auto;margin:10px 0}.online-form{max-width:440px;margin:22px auto}.online-form label{display:grid;gap:7px;font:14px ui-monospace,monospace}.online-form input,.social-search input,.online-select{width:100%;min-width:0;min-height:46px;background:#091f24;border:1px solid #a39c72;color:#fff2d0;padding:10px 12px;border-radius:0;font:16px ui-monospace,monospace}.online-select{margin:10px 0 16px}.form-error{color:#ffbdac;font:14px/1.5 ui-monospace,monospace;min-height:22px}.room-code{font:clamp(25px,5vw,45px) ui-monospace,monospace;letter-spacing:.2em;text-align:center;border:3px double #c4a96d;padding:22px;margin:20px 0;background:#172d30;user-select:all}.online-status{color:#b8d9bd;font:13px/1.5 ui-monospace,monospace}.queue-flame{width:58px;height:64px;image-rendering:pixelated;object-fit:contain;display:block;margin:18px auto;animation:queue-breathe 1.4s ease-in-out infinite}.online-result{text-align:center}.score-line{display:flex;justify-content:center;gap:24px;font-size:42px;margin:20px}.account-note{font:12px/1.6 ui-monospace,monospace;color:#afc5b7}.online-toast{position:absolute;z-index:6;top:106px;right:22px;max-width:270px;background:#0a1c24df;padding:8px 12px;border:1px solid #a69d6b88;font:12px/1.5 ui-monospace,monospace;pointer-events:none}.online-toast:empty{display:none}#connection-status{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);font:12px/1.4 ui-monospace,monospace;color:#ffe6aa;background:#142a2ce6;padding:6px 10px;z-index:7;pointer-events:none;white-space:nowrap}#connection-status:empty{display:none}.online-champion{display:flex;align-items:center;gap:14px}.online-champion canvas{width:76px;height:90px;image-rendering:pixelated}.online-champion select{flex:1}.rank-history{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.rank-history span{font:11px ui-monospace,monospace;background:#0d252b;padding:7px;color:#b8d5c2}.rank-history .loss{color:#dfa99a}.live-dot{color:#a3e0a8}.offline-dot{color:#8a9c92}
@keyframes queue-breathe{50%{transform:translateY(-5px);filter:brightness(1.25)}}
@media(prefers-reduced-motion:reduce){.queue-flame{animation:none}}
@media(max-width:650px){.online-columns{grid-template-columns:1fr}.online-intro{gap:12px}.online-intro h2{font-size:26px}.online-modes{grid-template-columns:1fr 1fr}.online-modes button{font-size:16px;padding:9px}.online-modes button:last-child{grid-column:1/-1}.social-list{max-height:180px}.rank-medal{min-width:76px;min-height:72px}.online-heading{margin-top:10px}}

#overlay[data-view^=online] #panel,#overlay[data-view=account] #panel{overflow-y:auto;scrollbar-width:none}#overlay[data-view^=online] #panel::-webkit-scrollbar,#overlay[data-view=account] #panel::-webkit-scrollbar{display:none}#overlay[data-view=account] #panel{max-width:620px}.online-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.online-modes button{font-size:17px;min-height:78px;padding:10px 12px}.online-modes button.resume{grid-column:1/-1}.online-modes button:last-child{grid-column:auto}.online-modes .resume~button:last-child{grid-column:auto}@media(max-width:400px){.online-modes button{font-size:15px;padding:9px;min-height:86px}}
.online-champion label{min-width:0}

.difficulty-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font:12px ui-monospace,monospace;color:#bdc9ad}.difficulty-label .online-select{max-width:180px;margin:0 0 12px;min-height:42px;padding:8px;font-size:14px}

.online-tabs{display:none;gap:8px;margin:10px 0 16px}
.online-tabs button{flex:1;font-size:17px;min-height:44px;background:#152c2e}
.online-tabs button[aria-selected=true]{color:#ffe0a4;background:#3e513b;border-color:#c9b884}
#realm-progress{width:100%;height:15px;accent-color:#b9c68a;margin:12px 0}
#realm-loading{font:14px ui-monospace,monospace;color:#becdaf}
@media(max-width:650px){
 .touch-mode .online-tabs{display:flex}
 .touch-mode .online-columns[data-tab=play] #online-friends,
 .touch-mode .online-columns[data-tab=friends] #online-play{display:none}
 .touch-mode .online-columns{grid-template-columns:1fr}
 .touch-mode .online-champion canvas{width:62px;height:74px}
 .touch-mode .online-intro{margin-bottom:8px;padding-bottom:10px}
 .touch-mode .social-row strong{font-size:15px}
 .touch-mode .social-row small{font-size:12px}
 .touch-mode .social-row button{font-size:14px;min-height:44px}
}

/* Chamber runs and friends share the online lodge. */
.online-tabs{display:flex}
.online-columns{display:block}
.online-intro{gap:16px;margin-bottom:10px;padding-bottom:12px}
.online-intro h2{font-size:28px}
.rank-medal{min-width:112px;gap:4px;padding:8px}
.rank-medal small{font:12px ui-monospace,monospace}
#online-loadout .online-select{margin:5px 0 10px}
#online-loadout .online-champion canvas{width:62px;height:75px}
.online-modes button{min-height:74px;font-size:17px}
.online-modes small{font-size:13px;line-height:1.3}
#account-actions{margin-top:10px}
#account-actions button{min-height:36px;padding:5px 10px;font-size:13px;border-width:4px}
#overlay[data-view=online] #panel{max-width:780px}
@media(max-width:650px){.touch-mode .online-columns{display:block}.online-tabs{gap:5px;margin:10px 0}.online-tabs button{font-size:15px;padding:8px;border-width:4px}.online-intro h2{font-size:25px}.online-status{font-size:12px}.rank-history{gap:4px}.rank-history span{font-size:10px;padding:4px}.online-modes button{font-size:16px;min-height:80px}.online-modes small{font-size:12px}.rank-medal{min-width:96px}.rank-medal strong{font-size:21px}}

#run-clock{position:absolute;top:74px;right:0;display:flex;gap:12px;font:13px/1.4 ui-monospace,monospace;color:#d4dabd;background:#0a1c24d9;padding:4px 7px;pointer-events:none;font-variant-numeric:tabular-nums}
#run-clock time{color:#ffe2a5}
.run-finish-time{display:grid;gap:5px;justify-content:center;margin:15px 0 20px;color:#e9d5a4;font:14px ui-monospace,monospace}
.run-finish-time strong{font-size:32px;font-variant-numeric:tabular-nums}
.rank-history b,.rank-history small{display:block;font-size:inherit;line-height:1.5}

/* Skill loadouts reuse the game's pixel panels and supplied fantasy icons. */
.vitals-title{display:flex;align-items:center;justify-content:space-between;gap:5px}.vitals-title #hero-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#run-lives{display:flex;flex-shrink:0;gap:2px;align-self:flex-start}.life-pip{display:block;width:20px;height:20px}.life-pip.spent{filter:grayscale(1);opacity:.22}.life-pip .upgrade-icon{width:20px;height:20px;padding:0;margin:0;border:0;box-shadow:none;background:none}
#overlay[data-view=decks] #panel{max-width:830px;overflow-y:auto;scrollbar-width:none}.deck-heading{display:flex;align-items:center;gap:16px;margin:8px 0}.deck-heading canvas{width:60px;height:72px;image-rendering:pixelated}.deck-heading label{flex:1;font:14px ui-monospace,monospace}.deck-heading select{margin:4px 0}.deck-presets,.deck-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.deck-presets button{text-align:center;padding:7px;font-size:16px}.deck-slots button{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 7px;font-size:15px;min-height:78px}.deck-slots .upgrade-icon{width:34px;height:34px;flex-shrink:0;margin:0}.deck-slots kbd{margin:0}.deck-slots span{overflow-wrap:anywhere}.deck-choice{border:1px solid #c0ad7155;background:#102526;padding:12px}.deck-choice>label{font:14px ui-monospace,monospace;color:#e6cc9b}.deck-choice select{margin:8px 0}.deck-description{display:flex;gap:16px;align-items:center}.deck-description .upgrade-icon{flex-shrink:0;margin:0;width:52px;height:52px}.deck-description strong{font-size:19px}.deck-description p{margin:5px 0;font-size:16px;line-height:1.4}.deck-description small{color:#d7bd8c;font-size:13px}.deck-note{font:13px/1.5 ui-monospace,monospace;margin:12px 0 0;color:#b0c5b7}#deck-actions{margin-top:12px}#deck-status{margin:9px 0 0}.deck-heading+.deck-presets button[aria-pressed=true]{color:#ffe5b0}
@media(max-width:600px){.deck-heading{gap:8px;margin:4px 0}.deck-heading canvas{width:45px;height:54px}.deck-slots{gap:5px}.deck-slots button{display:grid;justify-items:center;gap:4px;min-height:90px;font-size:13px;border-width:5px}.deck-slots .upgrade-icon{width:28px;height:28px}.deck-slots kbd{display:none}.deck-description{gap:10px}.deck-description p{font-size:14px}.deck-description strong{font-size:17px}.deck-presets{gap:5px}.deck-presets button{font-size:14px;min-height:42px}.deck-note{font-size:12px}.deck-choice{padding:8px}.deck-description .upgrade-icon{width:36px;height:36px}.life-pip,.life-pip .upgrade-icon{width:15px;height:15px}}
/* One preparation room, using the existing pixel frames and fantasy icon atlas. */
#overlay[data-view=lodge] #panel{width:min(880px,100%);max-width:880px;max-height:100%;overflow:auto;scrollbar-width:none;padding:18px 24px}#overlay[data-view=lodge] #panel::-webkit-scrollbar{display:none}.lodge-title h2{font-size:32px;margin:3px 0}.lodge-title .eyebrow{font-size:12px}.lodge-tabs{display:flex;gap:8px;border-bottom:1px solid #a38c5566;padding-bottom:12px;margin:8px 0 12px}.lodge-tabs button{flex:1;min-height:42px;font-size:16px;padding:7px}.lodge-wallet{display:flex;align-items:center;justify-content:space-between;gap:12px}.lodge-wallet strong{font-size:23px;color:#ffd590}.lodge-wallet span{font:13px ui-monospace,monospace;color:#b4c5ba}.lodge-count{font:13px/1.6 ui-monospace,monospace;color:#b7cbb6;white-space:nowrap}.lodge-forge{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.lodge-forge button{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;min-height:103px}.lodge-forge button .upgrade-icon{margin:0;float:none;width:42px;height:42px}.lodge-forge button span:not(.upgrade-icon){min-width:0}.lodge-forge strong{font-size:18px}.lodge-forge small{font-size:14px;line-height:1.4;margin:4px 0}.lodge-forge b{font:13px ui-monospace,monospace;color:#e9ce94}.lodge-pagination{display:flex;align-items:center;justify-content:center;gap:20px;font:14px ui-monospace,monospace}.lodge-pagination button{min-height:40px;font-size:15px;padding:7px 14px}.adaptation-choices{display:grid;gap:8px;margin:10px 0}.adaptation-choices button{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 14px;min-height:91px}.adaptation-choices .upgrade-icon{width:44px;height:44px;margin:0}.adaptation-choices strong{font-size:18px}.adaptation-choices small{font-size:14px;line-height:1.4;margin:3px 0}.adaptation-choices b{font:13px ui-monospace,monospace;color:#ddc192}.pixel-heart{display:block;width:20px;height:20px;background:url('art/heart-full.png') center/contain no-repeat;image-rendering:pixelated}.life-pip.spent .pixel-heart{background-image:url('art/heart-empty.png')}.life-pip{width:20px;height:20px}.life-pip.spent .pixel-heart{filter:grayscale(1);opacity:.5}#run-lives{gap:3px;align-items:center;padding-top:1px}
@media(max-width:600px){#overlay[data-view=lodge] #panel{padding:12px 10px}.lodge-title h2{font-size:25px}.lodge-title .eyebrow{display:none}.lodge-title button{min-height:40px}.lodge-tabs{gap:4px;margin:5px 0 8px;padding-bottom:8px}.lodge-tabs button{font-size:14px;border-width:4px;padding:6px 3px;min-height:42px}.lodge-forge{gap:6px}.lodge-forge button{padding:7px;min-height:122px;display:block}.lodge-forge .upgrade-icon{display:none}.lodge-forge strong{font-size:16px}.lodge-forge small{font-size:13px}.lodge-forge b{font-size:12px}.lodge-wallet strong{font-size:20px}.lodge-wallet span{font-size:12px}.lodge-count{display:none}.adaptation-choices button{padding:8px;gap:8px;min-height:103px}.adaptation-choices .upgrade-icon{width:32px;height:32px}.adaptation-choices strong{font-size:16px}.adaptation-choices small{font-size:13px}.adaptation-choices b{font-size:12px}#overlay[data-view=lodge] .deck-heading canvas{width:37px;height:44px}#overlay[data-view=lodge] .deck-heading select{min-height:40px;padding:6px}#overlay[data-view=lodge] .deck-presets{margin:7px 0}#overlay[data-view=lodge] .actions{gap:5px}#overlay[data-view=lodge] .actions button{font-size:14px;padding:7px;min-height:42px}.pixel-heart{width:16px;height:16px}.life-pip{width:16px;height:16px}}

#adaptation-icon{background:none;width:25px;height:25px}#adaptation-icon .upgrade-icon{width:25px;height:25px;border:0;box-shadow:none;background:none}#adaptation-icon .upgrade-icon::after{display:none}.peer-lives{display:inline-flex;vertical-align:middle;gap:2px}.peer-lives .life-pip,.peer-lives .pixel-heart{width:14px;height:14px}
@media(min-width:601px){
 #overlay[data-view=lodge] #panel[data-lodge-section=decks]{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(0,1.7fr);gap:8px 16px;padding:14px 20px}
 #panel[data-lodge-section=decks] .lodge-title,#panel[data-lodge-section=decks] .lodge-tabs,#panel[data-lodge-section=decks] .deck-heading,#panel[data-lodge-section=decks] .deck-note,#panel[data-lodge-section=decks] #deck-actions,#panel[data-lodge-section=decks] #deck-status{grid-column:1/-1;margin:0}
 #panel[data-lodge-section=decks] .lodge-title h2{font-size:28px}#panel[data-lodge-section=decks] .lodge-title .eyebrow{display:none}
 #panel[data-lodge-section=decks] .deck-heading canvas{width:46px;height:54px}#panel[data-lodge-section=decks] .deck-heading select{min-height:38px;margin:3px 0;padding:7px}
 #panel[data-lodge-section=decks] .deck-presets{grid-column:1;grid-row:4;gap:4px;margin:0}#panel[data-lodge-section=decks] .deck-presets button{font-size:14px;padding:6px 3px;border-width:5px;min-height:40px}
 #panel[data-lodge-section=decks] .deck-slots{grid-column:1;grid-row:5;grid-template-columns:1fr;gap:6px;margin:0}#panel[data-lodge-section=decks] .deck-slots button{min-height:54px;padding:6px 8px;border-width:5px;text-align:left}#panel[data-lodge-section=decks] .deck-slots .upgrade-icon{width:27px;height:27px}
 #panel[data-lodge-section=decks] .deck-choice{grid-column:2;grid-row:4/span 2;display:flex;flex-direction:column;justify-content:center;padding:18px}#panel[data-lodge-section=decks] .deck-description{align-items:flex-start;margin-top:10px}
}
@media(max-width:600px){
 .handheld #overlay[data-view=lodge]{bottom:calc(18px + var(--pocket-bottom));align-items:center}
 #overlay[data-view=lodge] .deck-heading{margin:4px 0}#overlay[data-view=lodge] .deck-slots{margin:7px 0}#overlay[data-view=lodge] .deck-slots button{min-height:65px;padding:6px 3px}
 #overlay[data-view=lodge] .deck-note{margin:8px 0 0}#overlay[data-view=lodge] #deck-status{line-height:1.4;font-size:12px}
 .adaptation-choices button[aria-pressed=false] small{display:none}.adaptation-choices button[aria-pressed=false]{min-height:64px}.adaptation-choices button{border-width:5px;min-height:96px}
}
