:root{color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;background:#0b1525;color:#edf3ff}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:#090e18}button{font:600 13px system-ui;color:#eef5ff;background:#263b57;border:1px solid #6483a0;border-radius:7px;min-height:44px;padding:6px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4}button.selected{background:#287858;border-color:#8ad8a4}.game-shell{height:100vh;height:100dvh;max-width:560px;width:100%;margin:auto;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);padding:env(safe-area-inset-top,0px) max(env(safe-area-inset-right,0px),0px) env(safe-area-inset-bottom,0px) max(env(safe-area-inset-left,0px),0px);overflow:hidden;border-inline:1px solid #25364c}.gameplay{min-width:0;min-height:0;overflow:hidden;background:#101e2e;display:flex;flex-direction:column;position:relative}.world-label{flex:0 0 28px;display:flex;gap:8px;justify-content:space-between;align-items:center;padding:3px 10px;border-bottom:1px solid #39495e;font-size:13px}.world-label strong,.world-label span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-label strong{max-width:55%}.world-label span{max-width:42%;font-size:10px;color:#b5c4d4;text-align:right}.stage{position:relative;flex:1 1 0;min-width:0;min-height:0;width:100%;overflow:hidden;background:#142639;isolation:isolate}#game{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;border:0;image-rendering:pixelated;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-row{position:absolute;z-index:5;bottom:8px;left:8px;right:8px;display:flex;justify-content:space-between;gap:6px;pointer-events:none}.touch-row button{pointer-events:auto;min-height:37px;min-width:76px;font-size:12px;padding:4px 10px;border-radius:14px;background:#0d2437d9;border-color:#a6bcce}.party-status{flex:0 0 22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 8px;border-top:1px solid #30455c;color:#c9dbed;font-size:11px;line-height:15px}.menu-half{min-height:0;min-width:0;display:flex;flex-direction:column;background:#0d1524;border-top:2px solid #647d93;overflow:hidden}.menu-tabs{flex:0 0 48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px;background:#142138}.menu-tabs button{min-width:0;min-height:38px;height:38px;font-size:12px;border-color:#476080;background:#243750}.menu-tabs button.selected{background:#207c58;border-color:#78dc9e}.menu-content{position:relative;flex:1;min-height:0;overflow:hidden}.menu-pane{display:none;height:100%;min-width:0;min-height:0;padding:9px 10px 12px;overflow:hidden;flex-direction:column;gap:7px}.menu-pane.active{display:flex}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex:0 0 auto;margin:0;color:#e9cb86;font-size:13px;letter-spacing:.07em}.panel-heading span{font-size:10px;color:#b3c0d1}.dialogue{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:5px;align-content:start}.line{flex:0 0 auto;padding:7px 9px;border:1px solid #5a6c81;background:#111d30;border-radius:7px;font-size:12px;line-height:1.3}.line.reward{border-color:#d0ac62}.line.combat{border-color:#b76565}.line.evidence{border-color:#a080c9}.line.talk{border-color:#ca9d82}.line.explore{border-color:#6f9f83}.line.thought{border-color:#8cadd5}#mission{font-size:12px;color:#bacee0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px}.actions button{min-width:0;min-height:0;height:100%;font-size:clamp(11px,3vw,15px);line-height:1.25;padding:4px;overflow-wrap:anywhere}.actions button:nth-child(5),.actions button:nth-child(6),.actions button:nth-child(7){background:#2e345b}.actions button:nth-child(8){background:#553640}.menu-note{font-size:11px;color:#8ca3b9;margin:0;text-align:center}.inventory{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:5px;width:min(100%,280px);align-self:center}.inventory button{min-height:0;overflow-wrap:anywhere;font-size:11px}.toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.menu-pane[data-pane="squad"] .toolbar{flex:1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr))}.toolbar button{min-height:0}.menu-pane[data-pane="inventory"] .toolbar{flex:0 0 41px;grid-template-columns:repeat(2,minmax(0,1fr))}.overlay{display:none;position:fixed;z-index:100;left:0;right:0;bottom:env(safe-area-inset-bottom,0px);top:50%;background:#091522ed;align-items:stretch;justify-content:center}.overlay.open{display:flex}.overlay-card{height:100%;max-height:100%;width:min(560px,100%);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#14233b;border:2px solid #7b98ab;padding:10px}.overlay-card .panel-heading{position:sticky;top:-10px;padding:8px 0;background:#14233b;z-index:2}.overlay-card h3{font-size:14px;margin:12px 0 4px}.overlay-card p{font-size:12px;color:#cad5e3}.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.option-grid button{font-size:11px;min-height:38px;overflow-wrap:anywhere}.overlay-card .inventory{height:240px}.overlay-card .inventory button{min-height:60px}@media(max-width:365px){.menu-tabs button{font-size:10px}.world-label{font-size:11px}.menu-pane{padding:7px}.actions{gap:4px}.actions button{font-size:11px}.toolbar button{font-size:11px}}@media(max-height:620px){.menu-tabs{flex-basis:40px;padding:3px}.menu-tabs button{min-height:33px;height:33px}.menu-pane{gap:4px}.line{font-size:11px;padding:4px}.world-label{flex-basis:22px}.party-status{flex-basis:18px;font-size:10px}.touch-row button{min-height:29px}}
/* v0.5: canvas must fill the stage. Avoid intrinsic square sizing here. */
.stage>#game{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:fill!important}

/* Cloud control stays compact; iPhone field/menu split remains untouched. */
.cloud-access{position:fixed;z-index:24;left:50%;bottom:max(5px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(96vw,540px);pointer-events:none}
.cloud-access details{pointer-events:auto;margin:auto;width:max-content;max-width:100%;color:#e6f3ff;background:#0b1c30ee;border:1px solid #60839d;border-radius:8px;box-shadow:0 2px 12px #0009;font:11px system-ui}
.cloud-access summary{cursor:pointer;padding:4px 12px;max-width:min(94vw,500px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;list-style:none}
.cloud-access summary::before{content:'☁ ';color:#8dd1f5}
.cloud-access details[open]{width:min(92vw,330px);padding:0 10px 10px}
.cloud-access form{display:grid;gap:6px;padding:4px 0}
.cloud-access form[hidden],.cloud-access button[hidden]{display:none}
.cloud-access label{display:grid;gap:2px}
.cloud-access input{width:100%;font-size:16px;background:#102741;border:1px solid #6483a0;color:white;padding:8px;border-radius:5px}
.cloud-access button{width:100%;min-height:34px;margin-top:5px}
.cloud-access small{font-size:10px;color:#b4cddd}
body.spectator .game-shell{pointer-events:none;filter:grayscale(.25)}

.cloud-providers{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.cloud-providers button{margin:0}

/* Starcadia's native 50/50 avatar creation shell, not Goblet's page layout. */
.avatar-upper,.avatar-lower{display:none}
body.avatar-setup .avatar-upper{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(circle at 50% 40%,#233d56,#111e31 72%);padding:10px}
.avatar-banner{position:absolute;top:12px;left:14px;right:14px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;color:#f0d590}
.avatar-banner span{font-size:10px;color:#aec0d4}
#avatar-preview{width:min(64vw,230px,52%);height:auto;max-height:67%;aspect-ratio:1;image-rendering:pixelated;border:1px solid #627b9a;background:#142238;border-radius:10px}
.avatar-directions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:min(94%,340px)}
.avatar-directions button{min-height:34px;font-size:12px}
#avatar-preview-status{margin:0;font-size:11px;color:#c5d6e5;text-align:center}
body.avatar-setup .touch-row,body.avatar-setup .party-status,body.avatar-setup .world-label{visibility:hidden}
body.avatar-setup .menu-tabs,body.avatar-setup .menu-content{display:none}
body.avatar-setup .avatar-lower{display:flex;flex-direction:column;gap:7px;padding:10px;min-height:0;height:100%}
.avatar-form{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;align-content:start;padding-bottom:6px}
.avatar-form label,.avatar-form fieldset{font-size:12px;min-width:0;display:flex;flex-direction:column;gap:4px;margin:0}
.avatar-form fieldset{grid-column:1/-1;border:1px solid #415c76;border-radius:6px;padding:5px 8px}
.avatar-form legend{padding:0 5px}
.avatar-body-choices{display:flex;gap:14px;flex-wrap:wrap}
.avatar-body-choices label{flex-direction:row;align-items:center;gap:5px}
.avatar-form select{width:100%;font-size:14px;color:#f1f7ff;background:#172b43;border:1px solid #6584a1;border-radius:6px;min-height:39px;padding:5px}
.avatar-footer{flex:0 0 auto;display:flex;flex-direction:column;gap:4px}
#avatar-enter{background:#237a58;border-color:#90ddb0;font-size:14px;min-height:43px}
#avatar-enter:disabled{opacity:.5}
.avatar-footer p{margin:0;font-size:10px;text-align:center;color:#aebdd0}
body.avatar-setup .cloud-access{display:none}
@media(max-height:620px){#avatar-preview{width:min(46vw,165px,43%)}body.avatar-setup .avatar-upper{gap:5px}.avatar-directions button{min-height:29px}}


/* CANONICAL UI: one 50/50 phone shell, four tabs, one 8-action grid,
   one 3x3 Backpack. Previously conflicting v0.4-v0.9 overrides removed. */
.menu-tabs button[data-tab="inventory"].selected,.menu-tabs button[data-tab="status"].selected{background:#216dac;border-color:#47a4ff}
.menu-pane[data-pane="inventory"]{background:#091829;gap:6px;padding:7px 9px 9px}
.menu-pane[data-pane="inventory"] .panel-heading{min-height:28px;font-size:clamp(11px,2.8vw,13px);white-space:nowrap;letter-spacing:.02em}
.menu-pane[data-pane="inventory"] .backpack-member-switch{min-height:30px;max-width:46%;min-width:0;padding:2px 7px;border:1px solid #5f8bad;border-radius:7px;background:#14283e;color:#e9cb86;font-size:clamp(10px,2.8vw,13px);letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-pane[data-pane="inventory"] .backpack-member-switch:focus-visible{outline:2px solid #9be5cd;outline-offset:1px}
.backpack-switch-hint{flex:0 0 auto;font-size:clamp(10px,2.4vw,12px);line-height:1.2;text-align:center;color:#b8cbe2;margin:0}
.backpack-panel{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,32%) minmax(0,68%);gap:6px;padding:6px;border:2px solid #3698ff;border-radius:13px;background:#091323;overflow:hidden;align-items:stretch}
.equipment-preview{min-width:0;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:6px}
.equipment-slot{position:relative;width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;overflow-wrap:anywhere;padding:5px;border:2px solid #d6b65d;border-radius:10px;background:#152439;color:#e9cb86;font-size:clamp(10px,2.4vw,12px);line-height:1.1}
.equipment-slot.selected{border-color:#9be5cd;background:#215146}
.menu-pane[data-pane="inventory"] .backpack-panel .inventory{height:100%;min-height:0;min-width:0;max-width:none;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:6px;align-self:stretch}
.menu-pane[data-pane="inventory"] .backpack-panel .inventory .backpack-item{position:relative;min-width:0;min-height:0;padding:3px;display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;overflow:hidden;overflow-wrap:anywhere;border:2px solid #d4b15d;border-radius:10px;background:#151e2d;font-weight:700}
.menu-pane[data-pane="inventory"] .backpack-item.selected{border-color:#9be5cd;background:#203c55}
.backpack-item-art{width:80%;height:80%;max-width:60px;max-height:60px;object-fit:contain;image-rendering:pixelated;flex:0 1 auto}
.backpack-item-label{display:block;max-width:100%;max-height:100%;font-size:clamp(9px,2.2vw,12px);line-height:1.15;overflow:hidden;overflow-wrap:anywhere;text-align:center}
.backpack-item-label[hidden]{display:none!important}
.backpack-item-quantity{position:absolute;z-index:1;right:3px;bottom:3px;font-size:clamp(9px,2.5vw,12px);line-height:1;color:#f2d383;background:#101722b8;padding:0 2px;border-radius:2px}
.backpack-item-actions{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:stretch;overflow:hidden;border-radius:inherit;background:#090f1cf5}
.backpack-item-action{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;color:#f8f2df;font-size:clamp(10px,2.4vw,13px);font-weight:800;text-align:center;padding:2px;touch-action:manipulation}
.backpack-item-action+.backpack-item-action{border-top:1px solid #71869b}
.backpack-item-action:focus-visible{outline:2px solid #9be5cd;outline-offset:-2px}
.status-display{min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px}
.status-stat{display:flex;flex-direction:column;gap:4px;padding:9px 11px;background:#13233b;border:1px solid #5284c0;border-radius:9px;min-width:0}
.status-stat span{font-size:10px;color:#b2c5d9}
.status-stat strong{font-size:13px;overflow-wrap:anywhere}
.slice-objectives{grid-column:1/-1;display:flex;flex-direction:column;gap:7px;padding:10px;border:2px solid #d7b55e;background:#0d1d31;border-radius:10px;color:#eaf2ff}
.slice-objectives>strong{font-size:12px;letter-spacing:.05em;color:#f3d785}
.slice-objective{padding:8px;background:#172e4c;border:1px solid #547aa5;border-radius:7px}
.slice-objective strong{font-size:12px}
.slice-objective p{font-size:11px;line-height:1.4;margin:4px 0 0;color:#c6d8ec}
.avatar-form input[type="text"]{width:100%;min-height:39px;border-radius:6px;background:#172b43;color:#fff;border:1px solid #6584a1;padding:6px;font-size:16px}
.actions-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;flex:0 0 31px}
.actions-subtabs button{min-height:29px;height:29px;padding:2px 6px;font-size:12px}
.status-legacy-toolbar,.status-legacy-toolbar[hidden]{display:none!important}
.dialogue-notice[hidden]{display:none!important}
.menu-half{position:relative}
.dialogue-notice{flex:0 0 auto;min-height:29px;max-height:38px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;font-weight:500;border-radius:0;background:#35445a;color:#f9e5b9;border-color:#927753;padding:3px 10px;font-size:11px}
.menu-pane[data-pane="actions"] .actions{min-height:0}
@media(max-width:360px){.backpack-panel{gap:4px;padding:4px}.equipment-preview{gap:4px}.menu-pane[data-pane="inventory"] .backpack-panel .inventory{gap:4px}.backpack-item-label{font-size:9px}}
@media(max-height:680px){.menu-pane[data-pane="inventory"]{gap:3px;padding:4px 6px 6px}.backpack-panel{padding:4px;gap:4px}.backpack-switch-hint{font-size:10px}.actions-subtabs{flex-basis:27px}.actions-subtabs button{min-height:25px;height:25px}}
