.admin{display:flex;flex-direction:column;height:100vh}.admin>.topbar{position:static}.admin>.topbar>strong{flex-shrink:0}.admin .topbar label.button-like{border:2px solid var(--line);padding:2px 8px;cursor:pointer}.admin-msg{margin:8px 16px 0}.admin-body{flex:1;min-height:0;display:grid;grid-template-columns:180px minmax(220px,1fr) minmax(280px,1.2fr);gap:12px;padding:12px}.admin-kinds,.admin-list,.admin-editor{overflow:auto;min-height:0}.admin-kinds{display:flex;flex-direction:column;gap:4px}.admin-kinds button{text-align:left;display:flex;justify-content:space-between;align-items:center}.admin-kinds button.selected,.admin-row.selected{border-color:var(--accent)}.admin-search{width:100%;margin-bottom:8px}.admin-list ul,.admin-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.admin-row{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px}.admin-row .tag{margin-left:6px}.admin-field{display:flex;flex-direction:column;gap:4px;margin-top:12px}.admin-field span:first-child{display:flex;justify-content:space-between}.admin-field input,.admin-field textarea{width:100%;font:inherit}.admin-actions{display:flex;gap:8px;margin-top:12px}.admin-history li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid var(--line)}@media(max-width:760px){.admin{height:auto}.admin-body{grid-template-columns:1fr}.admin-kinds{flex-direction:row;flex-wrap:wrap}}.admin .pixel{image-rendering:pixelated;display:block;flex:none}.admin .topbar{flex-wrap:wrap;row-gap:6px}.admin-nav-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:8px}.admin-nav-head:first-child{margin-top:0}.admin-search-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.admin-search-row .admin-search{margin:0;flex:1;min-width:0}.admin-check{display:flex;gap:4px;align-items:center;white-space:nowrap;font-size:12px}.admin-filters{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.admin-filters .selected,.admin-tools .selected{border-color:var(--accent)}.admin-row.with-thumb{flex-direction:row;align-items:center;gap:8px}.admin-row.with-thumb>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px}.admin-row:disabled{opacity:1;cursor:default}.admin-editor-wrap{min-height:0;overflow:auto;display:flex;flex-direction:column}.admin-editor-wrap .admin-editor{overflow:visible}.admin-close{display:none;align-self:flex-start;margin-bottom:8px}.admin-icon-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px}.admin-icon-cell{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:11px;word-break:break-word}.admin-icon-cell.selected{border-color:var(--accent)}.admin-icon-cell.modified{box-shadow:inset 0 0 0 2px var(--good)}.admin-sprite-previews,.admin-icon-previews{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:8px 0}.admin-sprite-previews figure,.admin-icon-previews figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px}.admin-sprite-previews img,.admin-icon-previews img{background:#2e2b48}.admin-colours{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:8px}.admin-colour{display:flex;align-items:center;gap:6px}.admin-colour input[type=color]{width:36px;height:28px;padding:0;border:2px solid var(--line);background:none}.admin-selects{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-selects select{width:100%;font:inherit}.admin-swatches{display:inline-flex;gap:3px;vertical-align:middle;flex-wrap:wrap}.admin-swatches i{display:inline-block;width:14px;height:14px;border:1px solid var(--line)}.admin-pixel-wrap{max-width:320px;margin:8px 0}.admin-pixels{width:100%;aspect-ratio:1;display:block;border:2px solid var(--line);touch-action:none;cursor:crosshair;image-rendering:pixelated}.admin-pixels.tool-pick{cursor:copy}.admin-tools{display:flex;flex-wrap:wrap;gap:4px}.admin-tools label.button-like{border:2px solid var(--line);padding:2px 8px;cursor:pointer}.admin-palette{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.admin-chip{width:26px;height:26px;padding:0;border:2px solid var(--line);min-width:0}.admin-chip.is-marker{width:auto;padding:0 6px;font-size:11px;color:#fff;text-shadow:0 1px 0 #000}.admin-chip.selected{outline:2px solid var(--gold);outline-offset:1px}.admin-chip.custom{display:inline-flex;overflow:hidden}.admin-chip.custom input{width:100%;height:100%;border:0;padding:0;background:none}.admin-log .admin-row{gap:4px}@media(max-width:760px){.admin-hint{display:none}.admin-kinds{gap:4px}.admin-nav-head{width:100%;margin:4px 0 0}.admin.has-selection .admin-list,.admin.has-selection .admin-kinds{display:none}.admin-close{display:inline-block}.admin-history li{grid-template-columns:1fr auto}.admin-history li>span:nth-child(2){grid-column:1 / -1;grid-row:2}}.contracts{margin:4px 0 14px}.contracts h3{margin-top:12px}.contracts>p{margin:0 0 8px;font-size:13px}.contract-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:34vh;overflow-y:auto}.contract-list button.contract{display:grid;grid-template-columns:1fr auto;gap:2px 8px;width:100%;height:100%;text-align:left;align-content:start;padding:6px 8px}.contract .contract-terms{grid-column:1 / -1;font-size:12px;color:var(--muted);white-space:normal}.contract-reward{color:var(--gold);font-size:12px;white-space:nowrap}.contract.selected .contract-terms{color:var(--text)}.contract-status{margin:8px 0 0;padding-top:8px;border-top:1px dashed #37335a}.contract-status.met{color:var(--good)}.contract-status .muted{display:block;font-size:12px}.contract-result{margin:0 0 14px;padding:8px 10px;border:1px solid var(--line)}.contract-result.met{border-color:var(--good)}.contract-result p{margin:0;white-space:normal}.contract-result p+p{margin-top:2px;font-size:13px}.overlay .panel.notice-board{max-width:560px;max-height:calc(100% - 56px);overflow-y:auto;display:flex;flex-direction:column;gap:8px}.notice-head{display:flex;align-items:center;gap:10px;padding-right:46px}.notice-head h2{margin:0}.notice-board h3{margin:8px 0 0}.notice-board p{margin:0}.crew-goal{border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:4px}.crew-goal.filled{border-color:var(--good)}.crew-goal .bar-fill.goal{background:#8a6d1f}.crew-goal.filled .bar-fill.goal{background:#2f6f4a}.notice-list{list-style:none;margin:0;padding:0}.notice-list li{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:6px 0;border-bottom:1px dashed #37335a}.notice-list li .muted{grid-column:1 / -1;font-size:13px}@media(max-width:640px){.contract-list{grid-template-columns:1fr;max-height:30vh}.notice-head{padding-right:68px}}.res-chips{display:flex;flex-wrap:wrap;gap:6px}.res-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);padding:2px 7px 2px 4px}.res-chip strong{font-size:14px}.res-chip .res-name{font-size:11px;color:var(--muted)}.res-chip.none{opacity:.45}.materials{margin:8px 0}.materials-label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.hut-spoils{margin:10px 0 14px}.hut-spoils h4{margin:0 0 6px;font-size:12px;color:var(--muted);font-weight:400}.hut-spoils ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}.cost-chips{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}.cost{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.cost.short{color:var(--bad)}.perk-meter{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.perk-meter li{display:flex;justify-content:space-between;gap:6px}.perk-meter li.full>span:last-child,.perk-meter li.some>span:last-child{color:var(--gold)}.hut-perks{color:var(--gold)}.overlay .panel.gather{max-width:540px;max-height:calc(100% - 56px);overflow-y:auto;display:flex;flex-direction:column;gap:10px}.gather-head{display:flex;align-items:center;gap:10px;padding-right:46px}.gather-head h2,.gather p{margin:0}.gather-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.gather-facts>div{border:1px solid var(--line);padding:5px 8px;display:flex;flex-direction:column;gap:2px;min-width:0}.gather-facts strong{font-size:18px}.gather-facts .muted{font-size:11px}.gather-pips,.gather-meter{display:flex;align-items:center;gap:5px}.gather-pips{min-height:24px}.gather-pips i,.gather-meter i{width:16px;height:16px;border:2px solid var(--line);background:#14122a}.gather-pips i.on{background:var(--good);border-color:var(--good)}.gather-meter i.on{background:var(--bad);border-color:var(--bad)}.gather-meter .muted{font-size:12px}.gather-haul{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:30px}.gather-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:190px;overflow-y:auto}.gather-log li{padding:4px 0;border-bottom:1px dashed #37335a;opacity:.7}.gather-log li.latest{opacity:1}.gather-log .tag{margin:0 6px 0 0}.gather-rolls{display:inline-flex;gap:3px;margin-right:8px;vertical-align:middle}.gather-rolls .slot{width:22px;height:22px;font-size:13px;font-style:normal}.gather-trees{display:grid;gap:6px}.gather-tree{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 2px;min-height:74px;font-size:12px}.gather-tree .tree-glyph{font-size:20px;line-height:1;color:#4c9a52}.gather-tree.picked .tree-glyph{color:#8a5a2b}.gather-tree.rotten{border-color:var(--bad)}.gather-tree.rotten .tree-glyph{color:var(--bad)}.gather-tree.den{border-color:#a0683a}.gather-tree:disabled{opacity:.75;cursor:default}.gather-tree.hidden:disabled{opacity:.4}@media(max-width:640px){.gather-head{padding-right:68px}.gather-facts{grid-template-columns:1fr}}.gather-water{display:grid;gap:6px}.gather-swim{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;min-height:74px;font-size:12px;background:#24406f;border-color:#3f6fb0}.gather-swim.on{border-color:var(--good)}.gather-swim.near{border-color:var(--gold)}.gather-swim.far{opacity:.8}.gather-swim.last{box-shadow:inset 0 -3px 0 var(--gold)}.gather-swim.school{border-color:var(--good);background:#2c5a52}.gather-hint{font-size:12px;margin:0}.gather-face{display:grid;gap:6px;align-items:center}.gather-block.ore{border-color:var(--gold)}.gather-block.weak{border-color:var(--bad)}.gather-dust{font-size:11px;color:var(--muted);text-align:center;white-space:nowrap;padding:0 4px}.gather-dust.on{color:var(--gold)}.gather-block .tree-glyph{color:#9aa3b2}.gather-block.ore .tree-glyph{color:var(--gold)}.gather-block.picked .tree-glyph{color:#6b7180}.timing{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--line);background:#17152c}.timing-bar{position:relative;height:34px;background:#24406f;border:2px solid #3f6fb0;cursor:pointer;overflow:hidden;touch-action:manipulation}.timing.quarry .timing-bar{background:#3b3f4a;border-color:#6b7180}.timing-zone{position:absolute;top:0;bottom:0;background:#6ee06e47;border-left:2px solid var(--good);border-right:2px solid var(--good)}.timing-sweet{position:absolute;top:0;bottom:0;left:32%;right:32%;background:#ffd23f73}.timing-marker{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:20px;line-height:1;pointer-events:none;filter:drop-shadow(0 1px 0 #000)}.timing .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.tag.timing-perfect{color:var(--gold);border-color:var(--gold)}.tag.timing-good{color:var(--good);border-color:var(--good)}.tag.timing-miss,.tag.timing-late{color:var(--bad);border-color:var(--bad)}.timing-marker.stopped{filter:drop-shadow(0 0 4px #fff) drop-shadow(0 1px 0 #000)}.timing-verdict{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-weight:700;font-size:13px;text-shadow:0 1px 0 #000;pointer-events:none}.timing-verdict.timing-perfect{color:var(--gold)}.timing-verdict.timing-good{color:var(--good)}.timing-verdict.timing-close{color:#d8d2c0}.timing-verdict.timing-miss,.timing-verdict.timing-late{color:var(--bad)}.gather-elsewhere{display:flex;align-items:center;gap:12px;padding:8px 10px;margin:6px 0;border:1px solid var(--gold);background:#e0b12e14}.gather-elsewhere p{margin:0;flex:1}.spar{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.spar>*{pointer-events:auto}.spar>.battle,.spar>.feed,.spar>.slots{pointer-events:none}.harbor-view:has(>.spar)>:is(.docks,.crew,.harbor-chat,.turnbar,.tip){display:none}.spar>.overlay{padding-top:52px}.overlay .panel.spar-pick{max-width:640px;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.spar-hero{display:flex;gap:12px;align-items:flex-start}.spar-hero img{width:54px;height:66px;image-rendering:pixelated;flex:none}.spar-abilities{margin-top:4px}.spar-abilities li{padding:1px 0}.spar-opponents{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}.spar-opponent{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;text-align:center;font-size:12px}.spar-opponent img{width:36px;height:44px;image-rendering:pixelated}.spar-buttons .primary{flex:1}.overlay .panel.spar-result{max-width:420px;text-align:center;display:flex;flex-direction:column;gap:10px}.spar-banner{position:absolute;top:96px;right:10px;z-index:13;display:flex;gap:12px;align-items:center;padding:4px 10px}.spar>.spar-feed{left:10px;top:48px;bottom:auto;max-height:150px;justify-content:flex-start}@media(max-width:720px){.spar-banner{top:88px;right:6px}}.trade-notices{position:absolute;left:50%;top:52px;transform:translate(-50%);z-index:35;display:flex;flex-direction:column;gap:6px;align-items:center;max-width:calc(100% - 24px)}.trade-notice{display:flex;align-items:center;gap:12px;padding:6px 12px}.trade-notice.incoming{border-color:var(--gold)}.overlay .panel.trade-panel{max-width:560px;max-height:calc(100% - 56px);overflow-y:auto;display:flex;flex-direction:column;gap:8px}.trade-head{display:flex;align-items:center;gap:10px;padding-right:46px}.trade-head h2{margin:0}.trade-panel h3{margin:8px 0 0}.trade-panel p{margin:0}.trade-offer,.trade-compose,.trade-goods{display:flex;flex-direction:column;gap:8px}.trade-items{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}.trade-items li{display:flex;align-items:center;gap:8px;font-size:13px}.trade-goods .res-chips:empty{display:none}.trade-amounts{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px 10px}.trade-amount{display:flex;flex-direction:column;gap:2px;font-size:13px}.trade-amount input{width:100%;min-width:0}.trade-summary{border-top:1px dashed var(--line);padding-top:8px}.trade-btn{margin-left:8px;padding:0 8px;font-size:12px}@media(max-width:640px){.trade-head{padding-right:68px}}.camera-rotate{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:8;display:flex;flex-direction:column;gap:6px}.camera-rotate button{width:34px;height:34px;padding:0;font-size:18px;line-height:1;background:#1b1830e6}@media(pointer:coarse){.camera-rotate button{width:44px;height:44px;font-size:22px}}.overlay .panel.works-panel{max-width:760px;max-height:calc(100% - 56px);overflow-y:auto;display:flex;flex-direction:column;gap:8px}.works-head{display:flex;align-items:center;gap:10px;padding-right:46px}.works-head h2{margin:0}.works-panel h3{margin:8px 0 0}.works-panel p{margin:0}.works-list,.works-gifts{list-style:none;margin:0;padding:0}.works-list{display:flex;flex-direction:column;gap:8px}.works-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.works-pair .works-cost{grid-template-columns:54px minmax(60px,1fr) 52px auto;gap:5px}.works-project{border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:4px}.works-project.built{border-color:var(--good)}.works-project.closed{opacity:.7}.works-title{display:flex;align-items:center}.works-title .tag.good{color:var(--good);border-color:var(--good)}.works-costs{display:flex;flex-direction:column;gap:2px;margin:4px 0}.works-cost{display:grid;grid-template-columns:58px minmax(80px,1fr) 72px auto;align-items:center;gap:8px}.works-project.closed .works-cost{grid-template-columns:58px 1fr}.works-kind{font-size:13px}.works-cost input{width:100%;min-width:0}.works-cost button{white-space:nowrap}.works-fill{background:#8a6d1f}.works-fill.met{background:#2f6f4a}.works-project>button.primary{align-self:flex-start}.works-gifts li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px dashed #37335a;font-size:13px}.works-gifts .muted{white-space:nowrap}.overlay .panel.workshop-panel{max-width:520px}.workshop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.workshop-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);padding:6px 8px}.workshop-list li.having{border-color:var(--gold)}.workshop-list button{flex:none;min-width:84px}.workshop-list .small-note{font-size:12px}@media(max-width:640px){.works-pair{grid-template-columns:1fr}.works-head{padding-right:68px}.works-cost{grid-template-columns:50px minmax(60px,1fr) 56px auto;gap:5px}}.works-pair-row{list-style:none}.works-pair{list-style:none;margin:0;padding:0}.hut-hint{color:var(--gold)}.hut-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.hut-list button{width:100%;text-align:left}.hut-recipes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hut-recipes li{border:1px solid var(--line);padding:6px 8px}.hut-recipes li.locked{opacity:.6}.hut-recipes .row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.hut-refused{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:40;max-width:min(360px,calc(100% - 32px));text-align:center;border-color:var(--bad)}.hut-refused p{margin:0 0 12px}.hut-box{border-top:1px solid var(--line);margin-top:8px;padding-top:4px}.hut-box-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.hut-box-row>span{flex:1 1 100%}.hut-box select{flex:1;min-width:0}.hut-tags{display:flex;gap:4px;flex-wrap:wrap;margin:2px 0 6px}.hut-list button .tag{margin-left:6px}.hut-list .hut-box-row button{width:auto}.hut-toolbar{position:absolute;left:0;top:0;width:0;height:0;z-index:16;pointer-events:none;visibility:hidden;will-change:transform}.hut-toolbar-box{position:absolute;left:0;bottom:10px;transform:translate(-50%);pointer-events:auto;background:var(--panel);border:2px solid var(--line);padding:4px 6px;box-shadow:0 2px #00000073;display:flex;flex-direction:column;align-items:center;gap:4px;white-space:nowrap}.hut-toolbar-box:after{content:"";position:absolute;left:calc(50% + var(--aim, 0px));top:100%;margin:2px 0 0 -6px;border:6px solid transparent;border-bottom-width:0;border-top-color:var(--line)}.hut-toolbar-name{font-size:12px;display:flex;gap:4px;align-items:center}.hut-toolbar-name .tag{font-size:10px}.hut-toolbar-buttons{display:flex;gap:4px}.hut-toolbar .icon-btn{width:28px;height:28px;padding:0;display:grid;place-items:center}.pixel-glyph{display:block;image-rendering:pixelated}.hut-storage{position:absolute;top:48px;left:10px;width:min(300px,40vw);z-index:10;max-height:calc(100vh - 270px);overflow-y:auto}.hut-craft{position:absolute;top:48px;left:calc(min(300px,40vw) + 20px);width:min(330px,40vw);z-index:10;max-height:calc(100vh - 200px);overflow-y:auto}.hut-info{position:absolute;top:240px;right:10px;width:240px;z-index:10;max-height:calc(100vh - 340px);overflow-y:auto}.hut-boxpanel{position:absolute;top:48px;right:230px;width:min(320px,44vw);z-index:17;max-height:calc(100vh - 200px);overflow-y:auto}.hut-storage h3,.hut-craft h3,.hut-info h3,.hut-boxpanel h3{margin:10px 0 4px}.hut-storage p,.hut-craft p,.hut-info p,.hut-boxpanel p{margin:0 0 6px}.hut-storage h4,.hut-info h4,.hut-boxpanel h4{margin:10px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #9aa)}.hut-craft .res-chips{margin-bottom:8px}.hut-craft .row,.hut-info .row,.hut-boxpanel .row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.hut-boxpanel .hut-box{border-top:0;margin-top:0;padding-top:0}@media(max-width:760px){.hut-storage{top:46px;left:6px;width:64vw;max-height:45vh;font-size:12px}.hut-craft{top:auto;bottom:146px;left:6px;width:calc(100vw - 12px);max-height:45vh;font-size:12px}.hut-info{top:230px;right:6px;width:64vw;max-height:45vh;font-size:12px}.hut-boxpanel{top:46px;left:6px;right:6px;width:auto;max-height:55vh;font-size:12px;z-index:17}.hut-toolbar .icon-btn{width:32px;height:32px}.hut-storage:not(.folded),.hut-craft:not(.folded),.hut-info:not(.folded){z-index:13}.hut-view.box-open .hut-toolbar{display:none}}.hut-mats{display:grid;grid-template-columns:1fr auto auto auto;column-gap:8px;row-gap:3px;align-items:center;font-size:13px}.hut-mats-head,.hut-mats-row{display:contents}.hut-mats-head span{font-size:11px;color:var(--muted, #9aa);text-transform:uppercase}.hut-mats-row strong,.hut-mats-row .muted{text-align:right}.hut-mats-btns{display:flex;gap:2px}.hut-mats-btns button{padding:1px 5px;min-width:0}.dice-table{position:absolute;left:50%;top:52px;transform:translate(-50%);z-index:14;width:min(440px,calc(100vw - 20px));max-height:calc(100vh - 140px);overflow-y:auto;display:flex;flex-direction:column;gap:8px}.dice-table p{margin:0}.dice-rules{margin:0;padding-left:18px;font-size:12px}.dice-seats{margin:0}.dice-seats li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;border-bottom:1px dashed #37335a}.dice-seats li.turn{background:#ffd23f14;box-shadow:inset 2px 0 0 var(--gold)}.dice-seats li.out{opacity:.55}.dice-faces{display:inline-flex;gap:3px}.dice-faces i{font-style:normal;font-size:24px;line-height:1;color:var(--gold)}.dice-faces.hidden i{color:var(--muted)}.dice-bid{padding:4px 6px;border:1px solid var(--line)}.dice-reveal{padding:6px;border:1px dashed var(--line);font-size:12px;display:flex;flex-direction:column;gap:2px}.dice-hand{display:flex;justify-content:space-between;align-items:center}.dice-hand .dice-faces i{font-size:18px}.dice-result{color:var(--gold)}.dice-log{margin:0;font-size:12px}.dice-log li{padding:1px 0}.dice-table select{padding:2px 6px}.marker{display:inline-block;width:22px;height:22px;border-radius:50%;border:2px solid #1b1830;vertical-align:middle;image-rendering:pixelated;box-shadow:inset 0 -3px #00000038}.marker.small{width:16px;height:16px}.marker.channel{background:repeating-linear-gradient(180deg,#4f95e4 0,#4f95e4 4px,#7db6f2 4px,#7db6f2 6px)}.marker.shoal{background:radial-gradient(circle at 50% 55%,#5d5648 0,#5d5648 28%,#d9b45a 30%,#d9b45a)}.marker.back{background:#6b4a2b;border-color:#c9a877;border-style:dashed}.shoals-table .stack{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:flex-end}.shoals-hand{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px;border:1px solid var(--line)}.shoals-hand .lay{display:inline-flex;align-items:center;gap:6px}.pub-bar{max-height:calc(100vh - 230px);overflow-y:auto;width:min(360px,calc(100% - 24px))}.pub-bar h3{margin:12px 0 4px}.pub-bar h3:first-of-type{margin-top:0}.pub-bar p{margin:0 0 6px}.pub-menu{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.pub-menu li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);padding:6px 8px}.pub-menu li.having{border-color:var(--gold)}.pub-menu button{flex:none;min-width:64px}.pub-talk{max-height:150px;overflow-y:auto;border:1px solid var(--line);padding:6px 8px;margin-bottom:6px;display:flex;flex-direction:column;gap:4px}.pub-bar .row{display:flex;gap:6px}.pub-bar .row input{flex:1;min-width:0}@media(max-width:760px){.pub-bar{width:70vw;max-height:55vh;font-size:12px}}.story.pub-bar.salesman{width:min(440px,calc(100% - 24px))}.salesman-says{font-style:italic}.salesman-wares{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.salesman-wares .shop-row{cursor:default;border:1px solid var(--line)}.salesman-wares .shop-row button{flex:none;min-width:64px}.salesman .small-note{font-size:11px}:root{--ink: #1b1830;--panel: rgba(27, 24, 48, .9);--line: #4a4570;--text: #f1eee4;--muted: #a9a4c4;--gold: #ffd23f;--good: #7dff9a;--bad: #ff7b7b;--accent: #5ce1e6;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#23304f;color:var(--text);font:14px/1.45 ui-monospace,SF Mono,Menlo,Consolas,monospace}h1,h2,h3{margin:0 0 8px;line-height:1.2}h1{font-size:28px;color:var(--gold)}h2{font-size:18px}h3{font-size:14px;margin-top:16px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}p{margin:0 0 10px}ul{list-style:none;margin:0;padding:0}.muted{color:var(--muted)}.good{color:var(--good)}.bad{color:var(--bad)}.spacer{flex:1}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.panel{background:var(--panel);border:2px solid var(--line);box-shadow:0 4px #00000059;padding:12px 14px}button,input,select{font:inherit;color:var(--text);background:#2e2a4d;border:2px solid var(--line);padding:6px 12px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:#2f6f4a;border-color:#58c486}button.danger{border-color:#a04848;color:var(--bad)}button.small{padding:2px 8px}button.selected{border-color:var(--gold);background:#4a4320}button.link{background:none;border:none;padding:0;color:var(--accent)}input{min-width:0}input:focus,button:focus-visible,select:focus{outline:2px solid var(--accent);outline-offset:1px}.tag{font-size:11px;border:1px solid var(--line);padding:0 6px;margin-left:6px;color:var(--muted)}.banner{border:2px solid var(--line);padding:8px 12px;margin-bottom:12px}.banner.error{border-color:var(--bad);color:var(--bad)}.bar{position:relative;display:block;height:16px;background:#14122a;border:1px solid var(--line);margin:4px 0;overflow:hidden}.bar-fill{position:absolute;inset:0 auto 0 0}.bar-fill.hp{background:#b9433d}.bar-fill.xp{background:#4b5fd1}.bar>span:last-child{position:relative;display:block;text-align:center;font-size:11px;line-height:14px}.centre,.overlay{display:flex;align-items:center;justify-content:center}.centre{height:100%}.harbor{max-width:980px;margin:0 auto;padding:28px 16px 60px}.harbor header{margin-bottom:18px}.harbor-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;max-width:320px}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.class-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:10px}.class-card.selected{border-color:var(--gold);background:#3a3520}.stats{margin:10px 0 14px}.stat-row{display:grid;grid-template-columns:120px 32px 28px 1fr auto;gap:8px;align-items:center;padding:3px 0;border-bottom:1px dashed #37335a}.stat-value{font-weight:700;text-align:right}.gear li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;border-bottom:1px dashed #37335a}.gear{margin-bottom:14px}.rarity-uncommon strong{color:var(--accent)}.rarity-rare strong{color:var(--gold)}.harbor .panel input{flex:1}.run{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.stage{position:absolute;top:0;right:0;bottom:0;left:0}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f0e1e99;z-index:20;padding:16px}.overlay .panel{max-width:520px;width:100%}.topbar{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;gap:14px;align-items:center;padding:6px 12px;background:var(--panel);border-bottom:2px solid var(--line)}.lobby .code{font-size:40px;letter-spacing:.3em;color:var(--gold);text-align:center;margin:6px 0 14px}.crew-list{margin-bottom:14px}.crew-list li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #37335a}.lobby .primary,.ending .primary{width:100%}.story{position:absolute;top:48px;left:10px;width:min(330px,40vw);z-index:10}.objectives li{padding:2px 0}.objectives li.done{color:var(--good);text-decoration:line-through}.demand{margin:8px 0 0;padding-top:8px;border-top:1px dashed #37335a;color:var(--gold)}.demand.done{color:var(--good)}.crew{position:absolute;top:48px;right:10px;width:210px;z-index:10;display:flex;flex-direction:column;gap:8px}.hero-card{padding:8px 10px}.hero-card.active{border-color:var(--gold)}.hero-card.offline{opacity:.6}.pips{display:inline-flex;gap:3px;vertical-align:middle}.pips i{width:8px;height:8px;background:#14122a;border:1px solid var(--accent);transform:rotate(45deg)}.pips i.on{background:var(--accent)}.feed{position:absolute;left:10px;bottom:84px;width:min(420px,42vw);max-height:170px;overflow:hidden;z-index:9;font-size:12px;color:#e6e2f5;text-shadow:0 1px 0 #000,0 0 4px #000;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end}.turnbar{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:12;display:flex;gap:12px;align-items:center;white-space:nowrap}.tip{white-space:nowrap;position:absolute;left:50%;bottom:76px;transform:translate(-50%);z-index:11;background:var(--panel);border:2px solid var(--line);padding:2px 10px;pointer-events:none}.tile-action{position:absolute;left:0;top:0;width:0;height:0;z-index:16;pointer-events:none;visibility:hidden;will-change:transform}.tile-action button{position:absolute;left:0;bottom:52px;transform:translate(-50%);pointer-events:auto;white-space:nowrap;padding:3px 10px;font-size:13px;box-shadow:0 2px #00000073}.tile-action button:after{content:"";position:absolute;left:50%;top:100%;margin:2px 0 0 -6px;border:6px solid transparent;border-bottom-width:0;border-top-color:#58c486}.tile-action button:hover:after{border-top-color:var(--accent)}.toast.note{background:#1f3a2c;border-color:var(--good)}.toast{position:absolute;left:50%;top:52px;transform:translate(-50%);z-index:40;background:#4a2020;border:2px solid var(--bad);padding:6px 14px}.slots{position:absolute;left:50%;top:22%;transform:translate(-50%);z-index:35;text-align:center;pointer-events:none}.slot-row{display:flex;gap:6px;justify-content:center;margin:8px 0}.slot{width:34px;height:34px;display:grid;place-items:center;font-size:18px;border:2px solid var(--line);background:#14122a}.slot.hit{color:var(--good);border-color:var(--good)}.slot.miss{color:var(--bad);border-color:#7a3a3a}.slot.focus{box-shadow:inset 0 0 0 2px var(--accent)}.chat{position:absolute;right:10px;bottom:12px;width:min(380px,44vw);z-index:13;display:flex;flex-direction:column;gap:8px}.chat-lines{height:190px;overflow-y:auto;display:flex;flex-direction:column;gap:5px;padding-right:4px}.line.hero strong{color:var(--accent)}.line.npc strong{color:var(--gold)}.line.system{color:var(--good);font-style:italic}.chat .row input{flex:1}.persuade{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.persuade select{padding:0 4px}.battle{position:absolute;left:0;right:0;bottom:0;top:40px;z-index:12;pointer-events:none;display:flex;flex-direction:column;align-items:center;padding:10px;gap:8px}.battle>*{pointer-events:auto}.timeline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 10px}.turn-chip{padding:1px 8px;border:1px solid var(--line)}.turn-chip.hero{border-color:var(--accent)}.turn-chip.enemy{border-color:#b9433d}.turn-chip.active{background:var(--gold);color:var(--ink);border-color:var(--gold)}.sides{flex:1;width:100%;max-width:980px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.side{display:flex;flex-direction:column;gap:6px;width:200px;pointer-events:auto}.chip{display:flex;flex-direction:column;text-align:left;gap:2px;background:var(--panel);padding:6px 8px}.chip:disabled{opacity:1}.chip.enemy{border-color:#7a3a3a}.chip.active{border-color:var(--gold)}.chip.down{opacity:.4}.chip.selectable{border-color:var(--good);cursor:crosshair;animation:pulse .9s infinite alternate}.effects{display:flex;gap:6px;font-size:11px}.effects i{font-style:normal}.actions{width:100%;max-width:980px;display:flex;flex-direction:column;gap:8px}.ability-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.ability{display:flex;flex-direction:column;gap:2px;text-align:left;font-size:12px}.ability strong{font-size:14px}.ending p{white-space:pre-wrap}.in-battle .story{display:none}.in-battle .feed{left:10px;top:48px;bottom:auto;max-height:150px;justify-content:flex-start}@keyframes pulse{0%{box-shadow:0 0 #7dff9a80}to{box-shadow:0 0 0 4px #7dff9a00}}@media(prefers-reduced-motion:reduce){.chip.selectable{animation:none}}@media(max-width:760px){.harbor-grid,.class-grid{grid-template-columns:1fr}.story{width:46vw;font-size:12px}.crew{width:44vw}.feed{display:none}.chat{left:10px;right:10px;width:auto;bottom:70px}.turnbar{white-space:normal;flex-wrap:wrap;width:calc(100% - 20px);justify-content:center}.side{width:44vw}}.docks{width:min(340px,40vw);max-height:calc(100vh - 270px);overflow-y:auto}.docks h3:first-child{margin-top:0}.ships li,.roster li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;border-bottom:1px dashed #37335a}.ships{margin-bottom:10px}.log li{padding:3px 0;font-size:12px}.roster li.away{opacity:.5}.roster h3,.crew .panel h3{margin-top:0}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4a4570}.dot.on{background:var(--good)}.harbor-chat{left:10px;right:auto;bottom:12px;width:min(340px,40vw)}.harbor-chat .chat-lines{height:110px}.harbor-view .docks{bottom:auto}.sheet-wrap{width:100%;max-width:560px;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.sheet-wrap .panel{max-width:none}@media(max-width:760px){.docks{width:46vw;font-size:12px}.harbor-chat{width:calc(100% - 20px);bottom:70px}}.rarity-epic strong{color:#c084fc}.rarity-legendary strong{color:#f59e0b}.gold{display:inline-flex;align-items:center;gap:6px;color:var(--gold)}.pixel-icon{image-rendering:pixelated;display:block;flex:none}.tile{position:relative;width:60px;height:60px;padding:0;display:grid;place-items:center;background:#26223f;border-width:2px;flex:none}.tile.empty{border-style:dashed}.tile.selected{box-shadow:0 0 0 2px var(--gold)}.tile.locked{opacity:.45}.tile.match{box-shadow:0 0 0 2px #c084fc,0 0 12px #c084fc}.tile[draggable=true]{cursor:grab}.badge{position:absolute;font-size:10px;line-height:1;padding:1px 3px;background:var(--ink);color:var(--text)}.badge.tl{top:0;left:0;color:var(--muted)}.badge.br{bottom:0;right:0;color:var(--gold)}.inv-overlay{z-index:50;padding:12px}.overlay .inv.panel{max-width:1120px;width:100%;max-height:100%;display:flex;flex-direction:column;gap:10px;overflow:hidden}.inv-head{display:flex;align-items:center;gap:10px}.inv-head h2{margin:0}.inv-body{display:grid;grid-template-columns:330px minmax(0,1fr) 290px;gap:14px;min-height:0;flex:1;overflow:hidden}.inv-left,.inv-detail,.inv-pack{overflow-y:auto;min-height:0}.doll{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.doll-col{display:flex;flex-direction:column;gap:6px}.slot-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px;border:2px solid transparent}.slot-cell.over,.inv-pack.over{border-color:var(--good);background:#7dff9a14}.slot-cell.hint .tile{box-shadow:0 0 0 2px #c084fc}.slot-name{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.figure{display:grid;place-items:center}.figure img{width:126px;height:154px;image-rendering:pixelated}.hint-line{font-size:12px;min-height:34px;margin:8px 0}.totals{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0}.totals div{border:1px solid var(--line);padding:5px 8px;display:flex;flex-direction:column}.totals strong{font-size:18px}.totals span{font-size:11px;color:var(--muted)}.inv .stat-row{grid-template-columns:96px 26px 24px 1fr auto;font-size:13px}.inv-pack{border:2px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:8px}.pack-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.carry{font-size:.85em;font-variant-numeric:tabular-nums;margin-right:6px}.carry.warn{color:var(--gold)}.carry-note{font-size:.8em;margin:6px 0 0}.pack-grid{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.detail{display:flex;flex-direction:column;gap:6px}.detail p{margin:0}.detail-head{display:flex;gap:10px;align-items:center}.detail-icon{width:70px;height:70px;display:grid;place-items:center;border:2px solid;background:#26223f;flex:none}.abilities li{padding:3px 0;font-size:12px;border-bottom:1px dashed #37335a}.diff{border:2px solid var(--line);padding:6px 8px;margin-top:4px}.diff.upgrade{border-color:var(--good)}.diff.downgrade{border-color:var(--bad)}.diff-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:12px}.diff-row{display:grid;grid-template-columns:1fr auto 48px;gap:8px;font-size:13px}.diff-row span:last-child{text-align:right}.verdict{font-size:10px;letter-spacing:.08em;padding:1px 6px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.verdict.upgrade{color:var(--good);border-color:var(--good)}.verdict.downgrade{color:var(--bad);border-color:var(--bad)}.detail-actions{margin-top:6px}.shop-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;min-height:0;flex:1;overflow:hidden}.shop-list{overflow-y:auto;display:flex;flex-direction:column;gap:6px}.shop-row{display:flex;align-items:center;gap:10px;padding:5px;border:2px solid transparent;cursor:pointer}.shop-row:hover{border-color:var(--line)}.shop-row.selected{border-color:var(--gold)}.shop-row.sold{opacity:.45}.shop-info{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12px}.shop-info strong{font-size:14px}.draggable{touch-action:pan-y}.draggable.dragging{opacity:.88;cursor:grabbing;-webkit-user-select:none;user-select:none;z-index:45}.timeline,.actions{position:relative}.panel-tools{position:absolute;top:0;right:0;z-index:2;display:flex;background:#1b1830e6;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.grip,.min-btn{width:22px;height:22px;display:grid;place-items:center;padding:0;font-size:13px;line-height:1;color:var(--muted);background:none;border:none;-webkit-user-select:none;user-select:none}.grip{cursor:grab;touch-action:none}.min-btn{font-size:15px;font-weight:700}.grip:hover,.min-btn:hover:not(:disabled){color:var(--gold);border:none}.dragging .grip{cursor:grabbing;color:var(--gold)}.crew>.panel-tools{top:-2px;right:-2px;border:1px solid var(--line)}.inv-head{padding-right:46px}@media(pointer:coarse){.grip,.min-btn{width:32px;height:32px;font-size:17px}.inv-head{padding-right:68px}}body{touch-action:manipulation;overscroll-behavior:none}.panel-title{display:block;width:calc(100% - 48px);text-align:left;background:none;border:none;padding:0 0 4px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.panel-title:hover{color:var(--gold);border:none}.crew>.panel-title{background:var(--panel);border:2px solid var(--line);padding:3px 8px;width:100%}.folded>:not(.panel-tools):not(.panel-title){display:none!important}.draggable.folded{width:auto;min-width:150px;min-height:26px;max-height:none;overflow:visible;display:block;padding:4px 56px 4px 10px}.folded .panel-title{padding:0;width:100%;white-space:nowrap}.crew.folded{width:150px;padding:0}.crew.folded>.panel-title{padding:3px 56px 3px 8px}.inv-overlay:has(>.folded){background:none;pointer-events:none;align-items:flex-start;justify-content:flex-end;padding-top:48px}.inv-overlay:has(>.folded)>.folded{pointer-events:auto;max-width:220px}@media(pointer:coarse){.panel-title{width:calc(100% - 68px);padding:4px 0 6px;font-size:13px}.draggable.folded{min-height:34px;padding:7px 72px 7px 10px}.crew.folded>.panel-title{padding:7px 72px 7px 8px}}.turnbar.draggable:not(.folded),.timeline.draggable:not(.folded){padding-right:56px}.actions.draggable:not(.folded){padding-top:26px}.chat.draggable .chat-head{padding-right:48px}@media(pointer:coarse){.turnbar.draggable:not(.folded),.timeline.draggable:not(.folded){padding-right:74px}.actions.draggable:not(.folded){padding-top:36px}.chat.draggable .chat-head{padding-right:68px}}.topbar{white-space:nowrap;min-height:36px}.topbar>strong{overflow:hidden;text-overflow:ellipsis;min-width:0}@media(max-width:760px){.wide-only{display:none}.topbar{gap:8px;padding:6px 8px}.story{top:46px;left:6px}.crew{top:46px;right:6px}.story:not(.folded){width:calc(100vw - 12px);max-height:55vh;overflow-y:auto}.crew:not(.folded){width:min(240px,70vw);top:88px}.harbor-chat{left:6px;bottom:96px}.harbor-chat:not(.folded),.chat:not(.folded){left:6px;right:6px;width:auto}.turnbar{bottom:8px;width:calc(100% - 12px);font-size:13px}.tip{bottom:auto;top:90px;white-space:normal;max-width:90vw}.battle{padding:6px;top:40px}.side{width:46vw}.ability-row{grid-template-columns:repeat(2,minmax(0,1fr))}}[hidden]{display:none!important}.stat-blurb{grid-column:1 / -1;font-size:11px;line-height:1.3;color:var(--muted);padding-bottom:2px}.stat-row{row-gap:0}.resize{position:absolute;width:16px;height:16px;z-index:3;touch-action:none}.resize.nw{top:-2px;left:-2px;cursor:nwse-resize}.resize.ne{top:-2px;right:-2px;cursor:nesw-resize;width:9px;height:9px}.resize.sw{bottom:-2px;left:-2px;cursor:nesw-resize}.resize.se{bottom:-2px;right:-2px;cursor:nwse-resize}.resize:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:0 solid var(--muted)}.resize.nw:after{border-top-width:2px;border-left-width:2px}.resize.ne:after{display:none}.resize.sw:after{border-bottom-width:2px;border-left-width:2px}.resize.se:after{border-bottom-width:2px;border-right-width:2px}.resize:hover:after{border-color:var(--gold)}@media(pointer:coarse){.resize{width:26px;height:26px}.resize.ne{width:12px;height:12px}}.overlay .inv.panel{width:min(1120px,100%);height:min(780px,100%);max-width:none;max-height:none;container:inv / size}.overlay .inv.panel.folded{container-type:normal;width:auto;height:auto}.inv-left,.inv-detail,.inv-pack,.shop-list,.inv-body,.shop-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent}@container inv (max-width: 900px){.inv-body{grid-template-columns:300px minmax(0,1fr);grid-template-rows:minmax(120px,1fr) minmax(0,auto)}.inv-left{grid-row:1 / span 2}.inv-detail{max-height:45cqh}.shop-body{grid-template-columns:minmax(0,1fr) 240px}}@container inv (max-width: 620px){.inv-body,.shop-body{display:flex;flex-direction:column;overflow-y:auto}.inv-left,.inv-detail,.inv-pack,.shop-list{overflow:visible;flex:none;max-height:none}.inv-pack{min-height:90px}.inv-head h2{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.inv-head h2 .muted{display:none}.shop-row{flex-wrap:wrap}}@container inv (max-height: 640px){.inv{gap:6px}.doll{grid-template-columns:auto repeat(4,auto);justify-content:start;gap:4px 6px}.doll-col{display:contents}.figure{grid-column:1;grid-row:1 / span 2}.figure img{width:72px;height:88px}.inv .tile{width:46px;height:46px}.slot-cell{padding:1px}.slot-name{font-size:8px}.hint-line{display:none}.totals{grid-template-columns:repeat(4,1fr);margin:6px 0}.totals strong{font-size:15px}.totals span{font-size:10px}.inv .stat-blurb{display:none}.inv .stat-row{padding:1px 0}.inv .stats{margin:4px 0}.detail-icon{width:52px;height:52px}.inv footer .small{padding:0 6px;font-size:12px}}@container inv (max-height: 480px){.slot-name{display:none}.inv-head h2{font-size:15px}}@container inv (max-width: 620px){.inv-left{display:contents}.inv-body>*,.inv-left>*{flex:none}.doll{order:1;grid-template-columns:auto repeat(4,auto);justify-content:start;gap:4px 6px}.doll-col{display:contents}.figure{grid-column:1;grid-row:1 / span 2}.figure img{width:72px;height:88px}.inv .tile{width:50px;height:50px}.slot-cell{padding:1px}.slot-name{font-size:8px}.hint-line{order:2;min-height:0;margin:2px 0}.inv-pack{order:3}.inv-detail{order:4}.inv-left>.bar{order:5}.totals{order:6}.inv .stats{order:7}}.overlay .panel.account{max-width:460px;display:flex;flex-direction:column;gap:8px}.signin{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.signin .field{width:100%;max-width:320px;margin:0}.code-input{font-size:22px;letter-spacing:.35em;width:9em;text-align:center}.small-print{font-size:12px}.returning{margin-top:16px;max-width:520px}.signed-in{margin-top:16px}button.nudge{border-color:var(--gold);color:var(--gold)}.sailing{position:absolute;top:0;right:0;bottom:0;left:0;z-index:18;background:#2b4558}.sailing-stage{position:absolute;top:0;right:0;bottom:0;left:0}.sailing-stage .camera-rotate{display:none}.sailing-caption{position:absolute;left:50%;bottom:14%;transform:translate(-50%);text-align:center;max-width:min(520px,calc(100% - 32px))}.sailing-caption h2{margin:0 0 4px}.sailing-caption p{margin:0}.battle-card{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:34;background:var(--panel);border:2px solid var(--line);padding:14px 18px;text-align:center;max-width:min(520px,calc(100% - 24px));box-shadow:0 6px #00000059}.battle-card h2{margin:0 0 4px}.battle-card p{margin:0}.battle-card.intro{top:22%;border-color:var(--bad);pointer-events:none;animation:card-in .25s ease-out}.battle-card.intro h2{color:var(--bad)}.battle-card.recap{text-align:left;width:min(520px,calc(100% - 24px));animation:card-in .3s ease-out}.battle-card.recap.victory{border-color:var(--gold)}.battle-card.recap.victory h2{color:var(--gold)}.battle-card.recap.defeat{border-color:var(--bad)}.recap-heroes{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto}.recap-heroes li{border:1px solid var(--line);padding:6px 8px}.recap-heroes li.you{border-color:var(--gold)}.recap-who{display:flex;align-items:center;gap:6px;margin-bottom:4px}.recap-who .spacer{flex:1}.recap-gains{display:flex;flex-wrap:wrap;gap:6px}.recap-gains .chip{border:1px solid var(--line);padding:1px 7px;font-size:13px}.recap-gains .chip.gold{color:var(--gold);border-color:var(--gold)}.battle-card .row{display:flex;align-items:center}.battle-card .row .spacer{flex:1}@keyframes card-in{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){.battle-card{animation:none!important}}.find-gains{margin:10px 0}.class-card span.class-passive{color:var(--gold);font-size:12px}.shop-subhead{margin:10px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #9a96b8)}.pub-visitor{color:var(--gold)}
