/* Delve · Shadow. Luke Steuber. */
@font-face{font-family:"Plex Mono";src:url("fonts/IBMPlexMono-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plex Sans";src:url("fonts/IBMPlexSans-400.woff2") format("woff2");font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#000;--ink:#fff;--text:#ededed;--sub:#a6a6a6;--line:#333;--wall:#202020;--scrim:#000c;--paper:#ededed;--mono:"Plex Mono",monospace;--sans:"Plex Sans",sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#fff;--ink:#000;--text:#121212;--sub:#606060;--line:#ccc;--wall:#e2e2e2;--scrim:#fffc}
@media(prefers-color-scheme:light){:root[data-theme=system]{color-scheme:light;--bg:#fff;--ink:#000;--text:#121212;--sub:#606060;--line:#ccc;--wall:#e2e2e2;--scrim:#fffc}}
*{box-sizing:border-box;border-radius:0}html,body{margin:0;touch-action:manipulation}body{height:100dvh;overflow:hidden;background:var(--bg);color:var(--text);font:16px/1.45 var(--sans);-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-user-select:none;user-select:none}button:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ib{display:inline-grid;place-items:center;width:48px;height:48px;min-width:48px;min-height:48px;border:0;background:none;padding:12px;color:var(--ink)}.ib svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ib:active{opacity:.6}#restart-btn{position:fixed;top:max(0px,env(safe-area-inset-top));left:8px;color:var(--sub)}.readout{position:fixed;top:calc(max(0px,env(safe-area-inset-top)) + 19px);left:50%;transform:translateX(-50%);font:500 13px/1 var(--mono);color:var(--sub);white-space:nowrap}.toolbar{position:fixed;bottom:max(6px,env(safe-area-inset-bottom));left:8px;right:8px;display:flex;justify-content:space-between}.toolbar{pointer-events:none}.toolbar>div{display:flex;pointer-events:auto}.toolbar .ib{color:var(--sub)}.ib[aria-pressed=true]{color:var(--ink)}
#play{position:absolute;inset:58px 16px 64px;display:grid;grid-template-rows:minmax(260px,1fr) 290px 48px;justify-items:center;gap:12px}#map-zone{align-self:center;display:flex;flex-direction:column;align-items:center;gap:12px}#map{position:relative;--cell:48px;user-select:none;touch-action:manipulation}.grid-row{display:flex}.cell{position:relative;display:grid;place-items:center;width:var(--cell);height:var(--cell);padding:0;border:0;background:var(--bg);box-shadow:inset 0 0 0 .5px var(--line);color:var(--ink)}.cell.wall{background:var(--wall);box-shadow:none}.cell:focus-visible{outline-offset:-3px;z-index:3}.cell svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;pointer-events:none}.cell.foe svg{width:34px;height:34px;background:var(--paper);color:#000;stroke:none;fill:#000;transform-origin:50% 90%}.cell.active{outline:1px solid var(--ink);outline-offset:-4px}.cell .tiny-pips{position:absolute;bottom:3px;display:flex;gap:2px}.tiny-pips i{width:3px;height:3px;background:var(--ink);border-radius:50%}.cell.hint::after{content:'';position:absolute;inset:5px;border:1px dashed var(--ink);pointer-events:none}.player{position:absolute;width:16px;height:16px;left:16px;top:16px;border-radius:50%;background:var(--ink);outline:3px solid var(--bg);pointer-events:none;z-index:4;will-change:transform}.cell.fallen svg{transform-origin:50% 90%}#vitals{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:24px}#hearts{display:flex;gap:6px}#hearts svg{width:16px;height:16px;fill:var(--ink);stroke:var(--ink);stroke-width:1.2}#hearts svg.empty{fill:none;opacity:.4}#taps{font:500 12px var(--mono);color:var(--sub)}
#duel-zone{width:336px;max-width:100%;display:grid;grid-template-rows:210px 64px;gap:16px;align-self:end}#stage{position:relative;background:transparent;overflow:hidden}#stage.engaged{background:var(--paper)}#figure{width:100%;height:100%;display:block;fill:#000}.body{transform-origin:120px 182px}.paper{fill:var(--paper)}#pips{position:absolute;top:10px;left:10px;display:flex;gap:5px}#pips i{width:6px;height:6px;border:1px solid #000;border-radius:50%;background:#000}#pips i.empty{background:none;opacity:.35}#memory{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:4px;background:var(--paper);min-height:0;flex-wrap:wrap}#memory svg{width:32px;height:32px;fill:#000;stroke:none}#answers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}#answers button{border:1px solid var(--line);background:var(--bg);min-width:48px;min-height:64px;display:grid;place-items:center;padding:12px}#answers button svg{width:36px;height:36px;fill:var(--ink)}#answers button[aria-disabled=true]{opacity:.22}#answers button:active{background:var(--wall)}#answers button.hit{outline:2px solid var(--ink);outline-offset:-5px}#answers button.miss{outline:2px dashed var(--ink);outline-offset:-5px}#completion{height:48px;width:100%;display:flex;justify-content:center}#next-btn{border:1px solid var(--line)}
.sheet{width:min(32rem,calc(100vw - 16px));max-height:calc(100dvh - 16px);border:1px solid var(--ink);padding:0;background:var(--bg);color:var(--text)}.sheet[open]{display:flex;flex-direction:column}.sheet::backdrop{background:var(--scrim)}.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;gap:12px;border-bottom:1px solid var(--line)}.sheet-head h2{margin:0;font:500 16px var(--mono)}.sheet-head form{margin:0}.sheet-body{padding:20px 24px;overflow:auto;min-height:0}.sheet-body p{margin:0 0 16px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-bottom:1px solid var(--line)}.row select{max-width:65%;min-height:48px;background:var(--bg);border:0;padding:4px 8px}.sheet-foot{padding:12px 24px;border-top:1px solid var(--line);color:var(--sub);font-size:14px}
@media(orientation:landscape) and (max-height:600px){#play{inset:54px 64px 60px;grid-template-columns:336px 1fr;grid-template-rows:1fr;column-gap:40px;align-items:center}#map-zone{gap:6px}#duel-zone{width:300px;grid-template-rows:178px 64px;gap:10px;align-self:center}#completion{position:fixed;bottom:6px;left:calc(50% - 24px);width:48px}.readout{top:18px}}
@media(max-height:740px) and (orientation:portrait){#play{inset:50px 12px 58px;grid-template-rows:minmax(250px,1fr) 230px 48px;gap:4px}#duel-zone{grid-template-rows:158px 64px;gap:8px}#map-zone{gap:4px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}:root[data-motion=reduce] *{animation:none!important;transition:none!important}
@media(forced-colors:active){.cell.foe svg,#stage.engaged,#figure,.paper,#pips,#answers button svg{forced-color-adjust:none}#map{--ink:CanvasText;--bg:Canvas;--wall:GrayText;--line:CanvasText}}
