:root{--bg:#111318;--panel:#1c1f28;--text:#e6e2d6;--muted:#9a9686;--accent:#ffd23f;--button:#2a2e3a;--button-pressed:#454b5e;--pad-button:clamp(46px, 14vw, 62px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#app{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"top""view""message""help";display:grid}#topbar{background:var(--panel);grid-area:top;align-items:center;gap:16px;padding:8px 12px;font-size:15px;display:flex}.bar-row{display:contents}#seed{color:var(--muted);order:-1}#seed-value{color:var(--text);-webkit-user-select:text;user-select:text;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:600}#level-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}#turns,#levers,#depth,#health,#fate{font-variant-numeric:tabular-nums;white-space:nowrap}#fate{color:#c9a7ff}#health.low{color:#ff7a72;font-weight:600}#levers.done{color:#9be564}#keys{font-variant-numeric:tabular-nums;white-space:nowrap;color:#ffe14d}#top-buttons{gap:8px;display:flex}button{font:inherit;color:var(--text);background:var(--button);cursor:pointer;border:1px solid #3a3f4e;border-radius:8px;padding:6px 12px}a.button{font:inherit;color:var(--text);background:var(--button);border:1px solid #3a3f4e;border-radius:8px;padding:6px 12px;text-decoration:none;display:inline-block}button:active,a.button:active,button.pressed{background:var(--button-pressed)}#view{touch-action:none;grid-area:view;min-height:0;position:relative}#map{cursor:pointer;width:100%;height:100%;display:block;position:absolute;inset:0}#in-view{background:#1c1f28e0;border:1px solid #3a3f4e;border-radius:8px;max-width:min(260px,62%);padding:6px 10px;font-size:14px;position:absolute;top:8px;right:8px}#in-view.left{left:8px;right:auto}#in-view[hidden]{display:none}#in-view h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 4px;font-size:12px;font-weight:400}#in-view-list{margin:0;padding:0;list-style:none}#in-view-list li{cursor:pointer;border-radius:4px;gap:8px;line-height:1.5;display:flex}#in-view-list li:hover{background:#ffffff0f}#in-view-list li.more{cursor:default}#in-view-list .glyph{text-align:center;flex:none;width:1em;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700}#in-view-list .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}#in-view-list .mark{text-align:center;flex:none;width:.7em;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700}#in-view-list .health{font-variant-numeric:tabular-nums;color:var(--muted)}#in-view-list .more{color:var(--muted);font-style:italic}#log-bar{grid-area:message;align-items:flex-end;gap:10px;padding:4px 12px;display:flex}#short-log{--lines:5;min-width:0;height:calc(var(--lines) * 1.4em);color:var(--muted);cursor:pointer;flex-direction:column;flex:1;justify-content:flex-end;margin:0;padding:0;font-size:15px;line-height:1.4em;list-style:none;display:flex;overflow:hidden}#short-log li{flex-shrink:0}#short-log li.new{color:var(--text)}#short-log li.brief{font-style:italic}.damage{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:600}.damage-physical{color:#d9c7a7}.damage-cold{color:#7fd3ff}.damage-heat{color:#ff8a4c}.damage-electric{color:#f5e94a}.damage-true{color:#f4f1ff}.damage-poison{color:#7bd44a}#statuses{pointer-events:none;flex-wrap:wrap;gap:6px;max-width:calc(100% - 16px);margin:0;padding:0;list-style:none;display:flex;position:absolute;bottom:8px;left:8px}#statuses li{border:1px solid var(--status-color);color:var(--status-color);font-variant-numeric:tabular-nums;white-space:nowrap;background:#111318d9;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:14px;display:flex}#statuses li.building{background:linear-gradient(to right, color-mix(in srgb, var(--status-color) 22%, transparent) calc(var(--fill) * 100%), transparent 0), #111318d9;color:var(--text)}#statuses li.active{font-weight:600}#statuses .glyph{color:var(--status-color);font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700}#log-button{flex:none}#log-list{-webkit-user-select:text;user-select:text;max-height:60vh;margin:0 0 16px;padding:0;list-style:none;overflow-y:auto}#log-list li{border-bottom:1px solid #2a2e3a;gap:12px;padding:5px 0;display:flex}#log-list .turn{width:5em;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.buttons{flex-wrap:wrap;gap:8px;display:flex}#help{text-align:center;color:var(--muted);grid-area:help;margin:0;padding:4px 12px 10px;font-size:14px}#help .noticing{color:#ffd23f}#help .hunting{color:#ff5f57}kbd{background:var(--button);min-width:1.6em;color:var(--text);text-align:center;border:1px solid #3a3f4e;border-radius:4px;margin:0 1px;padding:0 4px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;display:inline-block}#dpad{grid-area:pad;grid-template-columns:repeat(3, var(--pad-button));grid-template-rows:repeat(3, var(--pad-button));touch-action:none;place-content:center;gap:6px;padding:6px 12px 10px;display:none}#dpad button{touch-action:none;border-radius:14px;justify-content:center;align-items:center;padding:0;display:flex}#dpad svg{width:46%;height:46%;fill:var(--text);pointer-events:none}#dpad .wait{color:var(--muted);font-size:14px}@media (pointer:coarse),(width<=700px){#app{grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"top""view""message""pad"}#help{display:none}#dpad{justify-self:center;display:grid}#topbar{gap:10px;font-size:14px}#short-log{--lines:4;font-size:14px}#log-bar{display:contents}#short-log{grid-area:message;margin:4px 12px}#log-button{z-index:1;grid-area:pad;place-self:end start;margin:0 0 14px 12px;padding:10px 16px;position:relative}}@media (width<=700px){#topbar{grid-template-columns:minmax(0,1fr) auto;row-gap:6px;padding:6px 12px;display:grid}.bar-row{grid-column:1;align-items:center;gap:10px;min-width:0;display:flex}#level-name,#seed{flex:1;min-width:0}#level-name{text-align:left;font-weight:600}#seed{white-space:nowrap;text-overflow:ellipsis;order:0;overflow:hidden}}@media (pointer:coarse),(width<=700px){#top-buttons{right:calc(12px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;position:fixed}#top-buttons button{padding:10px 12px}}@media (pointer:coarse) and (orientation:landscape) and (height<=600px){#app{grid-template:"top top""view pad"minmax(0,1fr)"message pad"/minmax(0,1fr) auto}#log-bar{display:flex}#top-buttons{flex-direction:row;grid-area:1/2/span 2;align-self:center;position:static}#top-buttons button{padding:6px 12px}#short-log{margin:0}#log-button{margin:0;padding:6px 12px}}.overlay{background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.panel{background:var(--panel);border:1px solid #3a3f4e;border-radius:12px;width:min(480px,100%);max-height:100%;padding:20px;overflow:auto}.panel h2{margin-top:0}.muted{color:var(--muted)}#inspect-title .glyph{font-family:ui-monospace,Menlo,Consolas,monospace}#inspect-stats{border-collapse:collapse;width:100%;margin-bottom:16px}#inspect-stats th,#inspect-stats td{text-align:left;vertical-align:top;border-bottom:1px solid #2a2e3a;padding:4px 0}#inspect-stats th{width:8.5em;color:var(--muted);padding-right:12px;font-weight:400}#feature-menu{width:min(360px,100% - 24px);padding:14px 16px;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000080}#feature-menu.top{top:12px;bottom:auto}#feature-menu[hidden]{display:none}#feature-menu h2{margin-bottom:10px;font-size:1.1em}#feature-menu p{margin:0 0 10px}#menu-options{gap:8px;margin:0 0 10px;padding:0;list-style:none;display:grid}#menu-options button{text-align:left;width:100%;padding:10px 12px}#menu-options button:disabled{color:var(--muted);cursor:default}#victory-art{width:max-content;max-width:100%;color:var(--accent);margin:0 auto 8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.15;overflow:hidden}#victory-screen h2{text-align:center}#victory-stats{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-bottom:16px}#victory-stats th,#victory-stats td{text-align:left;border-bottom:1px solid #2a2e3a;padding:4px 0}#victory-stats th{color:var(--muted);font-weight:400}#victory-stats td{text-align:right}#error-screen .panel{-webkit-user-select:text;user-select:text;border-color:#a8483e;width:min(720px,100%)}#error-list li{margin-bottom:8px}.panel h3{margin:0 0 8px;font-size:1em}#debug-roll{border-collapse:collapse;-webkit-user-select:text;user-select:text;width:100%;margin-bottom:16px;font-size:14px}#debug-roll th,#debug-roll td{text-align:left;vertical-align:top;border-bottom:1px solid #2a2e3a;padding:3px 0}#debug-roll th{width:11em;color:var(--muted);padding-right:12px;font-weight:400}.debug-section{border-bottom:1px solid #2a2e3a;margin-bottom:8px}.debug-section summary{cursor:pointer;padding:8px 0;font-weight:600}.debug-section[open] summary{margin-bottom:4px}.debug-tool{margin-bottom:16px}.debug-tool .field{gap:8px;margin-top:6px;display:flex}.debug-tool .field label{white-space:nowrap;color:var(--muted);align-self:center}.debug-tool p{margin:6px 0 0}.small{font-size:13px}.problem{color:#ff7a72}.stats-text{width:100%;height:11em;color:var(--text);background:var(--bg);resize:vertical;-webkit-user-select:text;user-select:text;border:1px solid #3a3f4e;border-radius:8px;margin-top:8px;padding:6px 8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;display:block}.stats-text[hidden]{display:none}select{min-width:0;font:inherit;color:var(--text);background:var(--bg);border:1px solid #3a3f4e;border-radius:8px;flex:1;padding:6px 10px;font-size:16px}label.check{cursor:pointer;align-items:center;gap:8px;display:flex}label.check input{width:20px;height:20px;margin:0}.panel h3:not(:first-of-type){margin-top:4px}input[type=text]{min-width:0;font:inherit;color:var(--text);background:var(--bg);-webkit-user-select:text;user-select:text;border:1px solid #3a3f4e;border-radius:8px;flex:1;padding:6px 10px;font-size:16px}
