:root{--ink:#f5e9d0;--night:#171521;--panel:#292334;--gold:#edc578;--muted:#b9acbf;--edge:#625368;color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;font-size:14px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--night);color:var(--ink)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;border:1px solid var(--edge);background:#3a3045;border-radius:7px;padding:8px;min-height:44px}button:active{background:#66516c}button:disabled{opacity:.55;cursor:default}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hidden,[hidden]{display:none!important}.dim,.quiet-note{color:var(--muted)}p{line-height:1.4}canvas{display:block;max-width:100%}.game-shell{height:100dvh;width:min(100%,1000px);margin:auto;padding:env(safe-area-inset-top) max(6px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-left));display:grid;grid-template-rows:minmax(180px,40fr) minmax(360px,60fr) auto;gap:6px;overflow:hidden}.viewport-wrap{position:relative;isolation:isolate;min-height:0;border:1px solid #7c6a7e;border-radius:10px;overflow:hidden;background:#30553d}.viewport-wrap>#game{width:100%;height:100%;object-fit:fill}.world3d-host{position:absolute;inset:0;z-index:1;overflow:hidden}.world3d-host canvas{width:100%!important;height:100%!important;position:absolute;inset:0;touch-action:none}.level-range,.world-activity,.performance-overlay{position:absolute;z-index:3;background:#171521e8;padding:5px 8px;border-radius:5px;font-size:11px;pointer-events:none}.level-range{top:8px;left:8px;max-width:70%;color:var(--gold)}.pace-button{position:absolute;z-index:4;right:7px;top:7px;font-size:12px;padding:6px;min-width:60px}.view-toggle{position:absolute;z-index:4;left:8px;bottom:8px;font-size:12px;min-height:44px;background:#211c2eed;border-color:#a99569}.world-activity{bottom:8px;left:92px;max-width:calc(100% - 100px);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.performance-overlay{bottom:58px;left:7px;color:#91eab2;font:11px monospace}.map-button{position:absolute;z-index:4;right:8px;bottom:48px;width:50px;height:44px;background:#211c2ed9;font-size:0}.map-button:after{content:"MAP";font-size:11px}.banner{position:absolute;z-index:6;top:25%;left:5%;right:5%;padding:12px;background:#332638ed;border:1px solid var(--gold);text-align:center;color:var(--gold)}.context-panel{min-height:0;overflow:auto;overscroll-behavior:contain}.tab-page{min-height:100%}#adventureTab{height:100%;min-height:0;display:grid;grid-template-rows:44px minmax(0,1fr) auto;gap:5px;position:relative}.goal-controls{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-height:0}.goal-controls>span{display:none}.goal-controls button{font-size:12px;padding:3px 5px}.goal-controls .active{border-color:var(--gold);background:#4b3b43}.goal-controls strong,.goal-controls small{display:block}.goal-controls strong{font-weight:600;font-size:12px}.goal-controls small{font-size:10px;color:#d4c3aa;line-height:1.2}.adventure-progress{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(115px,1fr);gap:5px;min-height:0}.party-column{display:flex;flex-direction:column;min-height:0;gap:4px}.party-panel{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:4px;flex:1;min-height:0}.hero-card{min-width:0;min-height:0;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:5px;padding:4px;border:1px solid var(--edge);border-radius:7px;background:linear-gradient(135deg,#342b40,#25202f)}.portrait-wrap{position:relative;width:44px;height:48px}.portrait{width:44px;height:48px;padding:0;background-color:#191520;border-radius:5px;background-image:url(/assets/party-option-g-atlas-v1-CRB6Lf4u.png);background-size:400% auto;background-repeat:no-repeat}.portrait-0{background-position:0 0}.portrait-1{background-position:33.333% 0}.portrait-2{background-position:66.667% 0}.portrait-3{background-position:100% 0}.hero-info{min-width:0}.hero-name span{display:block;font-size:12px;font-weight:700;line-height:1.1}.hero-name small{display:block;color:var(--gold);font-size:10px;line-height:1.2}.hero-action{display:none}.stat-row{display:grid;grid-template-columns:16px minmax(14px,1fr) 43px;gap:2px;align-items:center;font-size:9px;line-height:1.25;margin-top:1px}.stat-row em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums;font-size:9px}.bar{height:5px;background:#15111c;overflow:hidden;border-radius:2px}.bar i{display:block;height:100%}.hp i{background:#e3696d}.mp i{background:#66aef0}.xp i{background:#e8c264}.is-ghost{border-color:#6babbf}.is-ghost .portrait{opacity:.5}.taking-hit{border-color:#f77671}.resurrect-chip{position:absolute;bottom:0;left:0;right:0;min-height:44px;padding:1px;font-size:8px;background:#244455ed}.reserved-slot{flex-shrink:0;text-align:center;color:#a294ae;font-size:10px;padding:4px;border:1px dashed #57485f;border-radius:5px}.queue-panel{min-height:0;display:flex;flex-direction:column;background:#24202e;border:1px solid #9e8059;border-radius:7px;padding:6px;overflow:hidden}.queue-panel header{font-size:12px;font-weight:700;color:var(--gold);display:flex;align-items:center;justify-content:space-between;gap:3px}.queue-panel header span{background:#4c3c49;border-radius:10px;padding:1px 5px;font-size:11px}.queue-panel>small{font-size:10px;color:var(--muted);padding:3px 0 6px}.upgrade-queue{min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:5px}.queue-action{flex-shrink:0;width:100%;min-height:46px;text-align:left;font-size:11px;line-height:1.3;padding:7px;background:#473644;border-color:#927550;overflow-wrap:anywhere}.upgrade-queue p{font-size:12px;margin:5px 0}.bottom-grid{min-height:0}.journey-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;background:#25202f;border:1px solid var(--edge);border-radius:6px;padding:5px 7px}.journey-top{display:contents}.journey-top>div:first-child{min-width:0}.journey-card .eyebrow,.route-track,.boss-readiness,.log{display:none}.journey-top p{margin:0;font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journey-actions{display:flex;align-items:center;gap:5px}.supplies{font-size:10px;white-space:nowrap}.pack-toggle{font-size:10px;padding:3px 5px;min-height:44px}.loot-card{position:absolute;z-index:9;inset:48px 0 0;background:#292231;border:1px solid #b29163;border-radius:8px;padding:12px;overflow:auto}.loot-heading{display:flex;justify-content:space-between}.loot-heading p{margin:0;color:var(--gold)}.loot{padding:9px 0;border-bottom:1px solid var(--edge);font-size:12px}.loot span{display:block}.upgrade{color:#9bdfad}.main-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-bottom:3px}.main-menu button{font-size:11px;padding:5px 1px;min-height:48px;min-width:0}.main-menu .active{border-color:var(--gold);background:#5b414a;color:#ffe2a4}.tab-page-heading{display:flex;justify-content:space-between;align-items:center;color:var(--gold);font-size:18px;padding:6px 2px 10px}.tab-page-heading span,.tab-page-heading small{font-size:11px;color:var(--muted)}.equipment-panel,.achievement-panel{display:grid;gap:6px}.equipment-card,.achievement-item,.settings-panel{border:1px solid var(--edge);background:#292331;border-radius:7px;padding:10px}.equipment-card>strong,.equipment-card>span{display:block;font-size:13px}.equipment-card>span{font-size:11px;color:#99dab0;margin-top:3px}.equipment-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px}.equipment-slots div{display:flex;flex-direction:column;background:#1e1928;border-radius:4px;padding:5px;min-width:0}.equipment-slots b{color:var(--muted);font-size:10px}.equipment-slots span{font-size:11px;overflow-wrap:anywhere}.achievement-item{display:flex;gap:8px;align-items:center}.achievement-item.completed{opacity:.55}.achievement-check{color:var(--gold);font-size:22px}.achievement-item strong,.achievement-item small{display:block;font-size:13px}.achievement-item small{font-size:11px;color:var(--muted);margin-top:3px}.settings-panel{font-size:13px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0}.settings-row button{flex-shrink:0;max-width:50%;font-size:12px}.settings-buttons{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.settings-buttons button{font-size:12px}.seed-fieldset{min-width:0;border:1px solid var(--edge);border-radius:6px;margin:10px 0;padding:8px}.seed-fieldset legend{color:var(--gold)}input,select{background:#1e1928;border:1px solid #81708c;border-radius:4px;min-height:44px;padding:5px;max-width:100%}#seedPreviewCanvas{width:100%;height:auto;aspect-ratio:3/2;image-rendering:pixelated}#seedStatus,#saveStatus{font-size:12px;overflow-wrap:anywhere}.battle-panel{display:none}.combat-sheet-button{position:absolute;z-index:4;right:8px;top:58px;font-size:11px;max-width:50%;background:#422a35e8}.battle-detail{position:fixed;z-index:31;inset:12% 8px auto;background:#29212fed;border:1px solid var(--edge);border-radius:8px;padding:12px;max-height:70dvh;overflow:auto}.battle-detail header{display:flex;align-items:center;justify-content:space-between}.battle-detail .enemy-roster{display:grid;gap:8px;margin:12px 0}.enemy-row{display:grid;grid-template-columns:1fr 65px 55px;gap:5px;align-items:center;font-size:12px}.enemy-bar{height:8px;background:#15111c}.enemy-bar i{display:block;height:100%;background:#e3696d}.enemy-row em{font-size:10px;font-style:normal;text-align:right}.combat-log{font-size:12px}.combat-log p{margin:5px 0}.combat-log .party{color:#9bdfad}.combat-log .enemy{color:#ff9b91}.combat-log .special{color:#d7b3ef}.threat-hard,.death-skull{color:#ff8a80}.threat-easy{color:#91dba3}.threat-trivial{color:#a99daf}.threat-equal{color:var(--gold)}.map-modal,.character-modal,.quest-picker,.party-setup,.resurrect-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#0e0b15e8;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));overscroll-behavior:contain}.party-setup{z-index:40}.map-dialog,.character-sheet,.quest-dialog,.party-setup-dialog,.resurrect-dialog{width:min(680px,100%);max-height:100%;overflow:auto;overscroll-behavior:contain;background:#292231;border:1px solid #b09671;border-radius:10px;padding:12px}.map-title,.sheet-heading,.quest-dialog header,.party-setup-dialog header,.party-setup-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.map-title strong,.sheet-heading strong,.quest-dialog header strong,.party-setup-dialog header strong{font-size:18px;color:var(--gold)}.map-title button,.sheet-heading button,.quest-dialog header button,.party-setup-dialog header button{min-width:44px;flex-shrink:0}.map-dialog canvas{width:100%;height:auto;aspect-ratio:16/9;margin-top:10px}.map-dialog p{font-size:12px}.quest-cards{display:grid;gap:8px;margin-top:10px}.quest-card{display:grid;text-align:left;gap:4px;padding:12px}.quest-card strong{font-size:15px;color:var(--gold)}.quest-card span{font-size:12px;color:#99dab0}.quest-card small{font-size:12px;line-height:1.4}.quest-card em{font-size:12px;font-style:normal}.party-setup-dialog p{font-size:13px}.party-setup-dialog label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;font-size:12px}.party-setup-dialog select,.party-setup-dialog input{width:52%}.party-setup-dialog footer{margin-top:12px}.sheet-heading .eyebrow{font-size:10px;color:var(--muted)}.character-sheet-body{display:grid;gap:10px;margin-top:10px}.paper-doll{position:relative;min-height:350px;background:radial-gradient(ellipse,#66526a,#201c2a);border-radius:8px}.full-character{position:absolute;width:200px;height:290px;left:50%;bottom:10px;transform:translate(-50%);background-image:url(/assets/party-option-g-atlas-v1-CRB6Lf4u.png);background-size:400% auto;background-position-y:100%;background-repeat:no-repeat}.full-character-0{background-position-x:0}.full-character-1{background-position-x:33.333%}.full-character-2{background-position-x:66.667%}.full-character-3{background-position-x:100%}.equipment-slot{position:absolute;width:90px;min-height:52px;padding:5px;background:#211a2ce8;border:1px solid var(--edge);border-radius:5px;font-size:10px;text-align:center}.equipment-slot span,.equipment-slot strong,.equipment-slot em{display:block;font-size:10px;overflow-wrap:anywhere}.equipment-slot span{color:var(--gold)}.equipment-slot em{font-style:normal;color:#99dab0}.equipment-helm{top:5px;left:calc(50% - 45px)}.equipment-weapon{top:85px;left:5px}.equipment-armor{top:85px;right:5px}.equipment-gloves{top:200px;left:5px}.equipment-cloak{top:200px;right:5px}.equipment-boots{bottom:5px;left:calc(50% - 45px)}.stat-panel,.growth-panel{padding:8px;background:#201b29;border-radius:6px;margin-bottom:8px}.stat-panel h3,.growth-panel h3{font-size:14px;margin:0 0 6px;color:var(--gold)}.stat-panel dl{display:grid;grid-template-columns:1fr 1fr;margin:0;font-size:12px}.stat-panel dt,.stat-panel dd{margin:0;padding:3px}.stat-panel dd{text-align:right}.growth-panel p{font-size:12px}.ability-row{display:grid;grid-template-columns:42px 1fr;gap:5px;padding:7px 0;border-top:1px solid var(--edge);font-size:12px}.ability-row small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.ability-row em{grid-column:2;font-style:normal;font-size:10px;color:var(--muted)}.ability-row.unlocked em{color:#99dab0}.ability-row>b{color:var(--gold)}@media(min-width:700px){.game-shell{grid-template-rows:minmax(200px,50fr) minmax(330px,50fr) auto}.hero-name span{font-size:14px}.hero-name small{font-size:12px}.stat-row,.stat-row em{font-size:11px}.hero-card{grid-template-columns:54px 1fr}.portrait,.portrait-wrap{width:54px;height:56px}.equipment-panel,.character-sheet-body{grid-template-columns:1fr 1fr}.queue-action,.main-menu button{font-size:13px}}@media(max-height:700px){.game-shell{grid-template-rows:minmax(145px,30fr) minmax(330px,70fr) auto;gap:4px}.hero-card,.reserved-slot{padding:2px}.journey-card{padding:2px 5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.sell-excess{position:sticky;top:0;z-index:1;background:#4b3c30;border-color:#c2a76d}.sell-excess strong,.sell-excess small{display:block}.sell-excess small{margin-top:3px;color:#e8cfa2;font-size:10px}.sell-excess:disabled{opacity:1;background:#332d31;color:#b9acbf;border-color:#71604e}
