:root{--bg:#121216;--panel:#1c1b22;--panel-raised:#26242d;--gold:#c9a24b;--ivory:#efe8d6;--grey:#9a97a1;--crimson:#8b1e2d;--arcane:#6a5acd;--amber:#d9962b;--touch:3.5rem;font-size:18px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ivory);margin:0}body{-webkit-text-size-adjust:100%;overscroll-behavior:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body:before{content:"";z-index:0;pointer-events:none;background:var(--art-brand-title_background) center top / cover no-repeat;opacity:.16;position:fixed;inset:0}#app{z-index:1;max-width:600px;height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));flex-direction:column;gap:8px;margin:0 auto;display:flex;position:relative}h1,h2{color:var(--gold);margin:0;font-family:Georgia,Times New Roman,serif;font-weight:600}h2{font-size:1.4rem}p{margin:0;line-height:1.45}.muted{color:var(--grey)}.small{font-size:.85rem}.warn{color:var(--amber)}button{font:inherit;color:var(--ivory);background:var(--panel);border:1px solid var(--panel-raised);min-height:var(--touch);cursor:pointer;border-radius:8px;padding:0 14px}button:hover{background:var(--panel-raised)}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button[aria-pressed=true]{border:3px solid var(--gold);color:var(--gold);background:var(--panel-raised)}.panel{background:var(--panel);border:1px solid var(--panel-raised);border-radius:10px;padding:10px 14px}.title-screen:before{content:"";z-index:1;background:var(--art-brand-title_background) center top / cover no-repeat;pointer-events:none;position:fixed;inset:0}.title-screen>*{z-index:2;position:relative}.title-screen{flex-direction:column;flex:1;justify-content:center;gap:22px;padding:0 12px;display:flex}.title-screen h1{text-align:center;font-size:2.4rem}.title-screen h1.logo{background:var(--art-brand-logo) center / contain no-repeat;height:30vh;min-height:140px;font-size:0}.title-screen .subtitle{background:#0e0d12a6;border-radius:8px;align-self:center;padding:4px 12px}.title-screen .stack button,.title-screen button{border-color:var(--gold);background:#1c1b22e0}.title-screen .subtitle{text-align:center}.stack{flex-direction:column;gap:14px;display:flex}[hidden]{display:none!important}.header .row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.header .core-title{color:var(--gold);font-weight:600}.resources{color:var(--grey);flex-wrap:wrap;gap:4px 18px;margin-top:6px;font-size:.85rem;display:flex}.page-holder{flex:1;min-height:0;position:relative}.page{flex-direction:column;gap:14px;padding:8px 4px 16px;display:flex;position:absolute;inset:0;overflow-y:auto}.page[hidden]{display:none}.res-row{flex-direction:column;gap:4px;display:flex}.res-row .top{justify-content:space-between;display:flex}.bar{background:var(--panel-raised);border-radius:7px;height:14px;overflow:hidden}.bar>div{background:var(--arcane);height:100%;transition:width .4s linear}.bar.full>div{background:var(--amber)}.save-row{align-items:center;gap:12px;display:flex}.save-row .small{flex:1}.nav{gap:6px;padding:6px;display:flex}.nav button{text-overflow:ellipsis;white-space:nowrap;flex:1;min-height:4rem;padding:0 2px;font-size:.78rem;overflow:hidden}@media (prefers-reduced-motion:reduce){.bar>div{transition:none}}.ico:before{content:"";vertical-align:-.28em;background-position:50%;background-repeat:no-repeat;background-size:contain;width:1.25em;height:1.25em;margin-right:.35em;display:inline-block}.nav button.ico:before{width:2em;height:2em;margin:0 auto 2px;display:block}.res-gold:before{background-image:var(--art-icon-res_gold)}.res-mana:before{background-image:var(--art-icon-res_mana)}.res-stone:before{background-image:var(--art-icon-res_stone)}.res-iron:before{background-image:var(--art-icon-res_iron)}.res-knowledge:before{background-image:var(--art-icon-res_knowledge)}.nav-domain:before{background-image:var(--art-icon-nav_domain)}.nav-dungeon:before{background-image:var(--art-icon-nav_dungeon)}.nav-creatures:before{background-image:var(--art-icon-nav_creatures)}.nav-defense:before{background-image:var(--art-icon-nav_defense)}.nav-knowledge:before{background-image:var(--art-icon-nav_knowledge)}.mode-select:before{background-image:var(--art-icon-act_select)}.mode-excavate:before{background-image:var(--art-icon-act_excavate)}.mode-corridor:before{background-image:var(--art-icon-act_corridor)}.mode-build:before{background-image:var(--art-icon-act_build)}.mode-trap:before{background-image:var(--art-icon-act_trap)}.thumb:before{background-image:var(--thumb);width:2.2em;height:2.2em}.portrait{background:var(--portrait) center / contain no-repeat;filter:drop-shadow(0 4px 6px #000);height:190px}.nav-defense.ico,.nav button{line-height:1.1}.toolbar{flex-wrap:wrap;gap:6px;display:flex}.toolbar button{flex:auto;min-width:5rem}.map-scroll{border:1px solid var(--panel-raised);touch-action:pan-x pan-y;background:#0c0c10;border-radius:8px;max-height:55vh;overflow:auto}.map{grid-template-columns:repeat(var(--cols), var(--cell));width:max-content;display:grid}.cell{width:var(--cell);height:var(--cell);min-height:0;color:var(--ivory);text-shadow:0 1px 3px #000;background:#17161c 50%/cover;border:1px solid #0c0c10;border-radius:0;padding:0;font-size:.8rem;font-weight:600}.cell.st-ROCK{background-color:#0f0f13;background-image:var(--art-tile-rock);color:var(--grey)}.cell.st-EXCAVATED{background-color:#2a2630;background-image:var(--art-tile-excavated);color:var(--grey)}.cell.st-CORRIDOR{background-color:#3a3340;background-image:var(--art-tile-corridor);color:var(--ivory)}.cell.st-ENTRANCE{background-color:var(--crimson);background-image:var(--art-tile-entrance);color:var(--ivory)}.cell.st-ROOM_OCCUPIED{background-color:#3d3a52;background-image:var(--art-tile-room_floor);color:var(--gold)}.cell.cat-SPECIAL{background-color:#4a2430}.cell.sel{outline:3px solid var(--gold);outline-offset:-3px}.cell.pv-ok{box-shadow:inset 0 0 0 3px #5fa86a,inset 0 0 14px #5fa86a}.cell.pv-bad{box-shadow:inset 0 0 0 3px var(--amber)}button[disabled]{opacity:.5;cursor:not-allowed}.attr-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attr-row>span:first-child{min-width:7rem}select{font:inherit;color:var(--ivory);background:var(--panel);border:1px solid var(--panel-raised);min-height:var(--touch);border-radius:8px;padding:0 10px}.log{background:#0c0c10;border-radius:6px;flex-direction:column;gap:2px;max-height:40vh;padding:6px;display:flex;overflow-y:auto}.overlay{z-index:10;background:var(--bg);padding:16px;position:fixed;inset:0;overflow-y:auto}.overlay textarea{width:100%;min-height:6rem;color:var(--ivory);border:1px solid var(--panel-raised);background:#17161c;border-radius:8px;font-family:monospace;font-size:.75rem}.overlay label{flex-direction:column;gap:4px;display:flex}.overlay select{min-height:var(--touch);font-size:1rem}.tutorial{background:#0e0d12fc;align-items:center;display:flex}.tutorial .stack{gap:16px;width:100%;max-width:560px;margin:0 auto}.tutorial h2{font-size:1.7rem}.tutorial p[data-test=tutorial-body]{font-size:1.05rem;line-height:1.55}
