:root,:root[data-theme=stone]{--surface:#060916b8;--rule:#d6ddff24;--ink:#eef2ff;--accent:#ffd76a;--face:"Space Grotesk", system-ui, sans-serif}:root[data-theme=vellum]{--surface:#f6efdc;--rule:#8a6a3d;--ink:#2a2418;--accent:#8a2a14;--face:"EB Garamond", Georgia, serif}:root[data-theme=steel]{--surface:#1b2230;--rule:#4d5a6d;--ink:#e8eef7;--accent:#2f6fd0;--face:"Barlow Condensed", system-ui, sans-serif}:root[data-theme=hairline]{--surface:#04060aa8;--rule:#ffffff80;--ink:#fff;--accent:#fff;--face:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--log-bottom:min(calc(380 * var(--ui-scale)), max(calc(150 * var(--ui-scale)), calc(100vh - 380 * var(--ui-scale))));--log-height:calc(190 * var(--ui-scale));--list-row:calc(44 * var(--ui-scale));--ui-lift:0 calc(2 * var(--ui-scale)) calc(10 * var(--ui-scale)) color-mix(in srgb, var(--surface) 45%, transparent);--ui-scale:clamp(1px, min(100vh / 720, 100vw / 1080), 3px)}.list-row{height:var(--list-row);flex:0 0 var(--list-row);border-bottom:var(--ui-scale) solid var(--rule);border-radius:0}.list-row:has(.dlg-note){height:auto;min-height:var(--list-row);flex:none}.list-row:has(.opt-hint){height:auto;min-height:var(--list-row);flex:none}body.touch .list-row:has(select){height:auto;min-height:var(--list-row);flex:none}body.touch .list-row:has(input[type=range]){height:auto;min-height:var(--list-row);flex:none}.list-scroll{scrollbar-gutter:stable;min-height:0;overflow-y:auto}body{background:var(--surface);font-family:var(--face);overflow:hidden}#gameContainer{width:100vw;height:100vh}#gameContainer canvas{display:block}#hudRail{display:contents}#areaName{top:calc(26 * var(--ui-scale));padding:0 0 calc(9 * var(--ui-scale));color:var(--ink);white-space:nowrap;z-index:100;font-size:calc(27 * var(--ui-scale));letter-spacing:calc(11 * var(--ui-scale));text-align:center;text-indent:calc(11 * var(--ui-scale));text-shadow:0 calc(2 * var(--ui-scale)) 0 color-mix(in srgb, var(--surface) 55%, transparent), 0 0 calc(22 * var(--ui-scale)) color-mix(in srgb, var(--surface) 50%, transparent);position:fixed;left:50%;transform:translate(-50%)}#areaName:after{content:"";width:calc(190 * var(--ui-scale));height:calc(2 * var(--ui-scale));background:var(--accent);box-shadow:0 var(--ui-scale) 0 color-mix(in srgb, var(--surface) 50%, transparent);position:absolute;bottom:0;left:50%;transform:translate(-50%)}#minimap{z-index:100;background:var(--surface);border-left:var(--ui-scale) solid var(--rule);border-bottom:var(--ui-scale) solid var(--rule);position:fixed;top:0;right:0}#minimapCanvas{width:calc(180 * var(--ui-scale));height:calc(180 * var(--ui-scale));display:block}#clockPanel{align-items:baseline;gap:calc(6 * var(--ui-scale));padding:calc(7 * var(--ui-scale)) calc(10 * var(--ui-scale)) calc(6 * var(--ui-scale));color:var(--ink);font-size:calc(11 * var(--ui-scale));white-space:nowrap;display:flex}#clockIcon{font-size:calc(15 * var(--ui-scale))}#clockWeather{font-size:calc(13 * var(--ui-scale))}#clockTime{font-size:calc(17 * var(--ui-scale));color:var(--accent);letter-spacing:var(--ui-scale);font-weight:700}.opt-link{width:100%;margin-top:calc(6 * var(--ui-scale));font-size:calc(11 * var(--ui-scale));color:var(--ink);background:color-mix(in srgb, var(--surface) 75%, transparent);border:1px solid color-mix(in srgb, var(--rule) 35%, transparent);border-radius:calc(4 * var(--ui-scale));padding:calc(5 * var(--ui-scale)) calc(7 * var(--ui-scale))}#clockDate{color:var(--accent);margin-left:auto}#netlink{font-size:calc(13 * var(--ui-scale));padding:calc(2 * var(--ui-scale)) calc(4 * var(--ui-scale));border-radius:calc(4 * var(--ui-scale));background:color-mix(in srgb, var(--accent) 22%, transparent);animation:1.4s ease-in-out infinite netflash;position:relative}#netlink:after{content:"";border-top:calc(2 * var(--ui-scale)) solid var(--rule);position:absolute;top:48%;left:10%;right:10%;transform:rotate(-28deg)}@keyframes netflash{0%,to{opacity:1}50%{opacity:.25}}#clockBar{height:calc(4 * var(--ui-scale));border-top:var(--ui-scale) solid color-mix(in srgb, var(--rule) 70%, transparent);background:var(--accent);position:relative}#clockMarker{top:calc(-3 * var(--ui-scale));width:calc(2 * var(--ui-scale));height:calc(10 * var(--ui-scale));margin-left:calc(-1 * var(--ui-scale));background:var(--accent);box-shadow:0 0 calc(4 * var(--ui-scale)) color-mix(in srgb, var(--surface) 80%, transparent);position:absolute}#loading{color:var(--accent);font-size:calc(24 * var(--ui-scale));z-index:2000;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#debug{bottom:calc(20 * var(--ui-scale));right:calc(20 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 78%, transparent);font-size:calc(11 * var(--ui-scale));background:var(--surface);padding:calc(6 * var(--ui-scale)) calc(10 * var(--ui-scale));z-index:100;white-space:pre;position:fixed}#debugBuild{color:color-mix(in srgb, var(--ink) 48%, transparent);display:block}#optionsPanel{background:color-mix(in srgb, var(--surface) 97%, transparent);-webkit-backdrop-filter:blur(calc(3 * var(--ui-scale)));backdrop-filter:blur(calc(3 * var(--ui-scale)));border:var(--ui-scale) solid var(--rule);border-radius:calc(3 * var(--ui-scale));width:min(calc(100vw - 32 * var(--ui-scale)), calc(430 * var(--ui-scale)));max-height:calc(100vh - 48 * var(--ui-scale));padding:calc(18 * var(--ui-scale)) calc(22 * var(--ui-scale)) calc(16 * var(--ui-scale));box-shadow:0 calc(10 * var(--ui-scale)) calc(40 * var(--ui-scale)) color-mix(in srgb, var(--surface) 60%, transparent);color:var(--ink);z-index:1500;display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#optionsPanel.show{animation:.3s ease-out popIn;display:block}#optionsPanel .opt-head{justify-content:space-between;align-items:baseline;gap:calc(12 * var(--ui-scale));margin-bottom:calc(4 * var(--ui-scale));display:flex}#optionsPanel h3{color:var(--accent);font-size:calc(17 * var(--ui-scale));margin:0}#optionsPanel .opt-esc{color:color-mix(in srgb, var(--ink) 48%, transparent);font-size:calc(11 * var(--ui-scale))}#optionsPanel .opt-section{margin-top:calc(18 * var(--ui-scale))}#optionsPanel .rail-head{align-items:center;gap:calc(12 * var(--ui-scale));display:flex}#optionsPanel .rail-head span{font-size:calc(10 * var(--ui-scale));letter-spacing:calc(2.5 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 68%, transparent);text-transform:uppercase;white-space:nowrap}#optionsPanel .rail-head:after{content:"";height:var(--ui-scale);background:var(--rule);flex:1}#optionsPanel .opt-row{grid-template-columns:calc(84 * var(--ui-scale)) 1fr calc(46 * var(--ui-scale));align-items:center;gap:calc(12 * var(--ui-scale));display:grid}#optionsPanel .opt-row:has(input[type=checkbox]){grid-template-columns:calc(84 * var(--ui-scale)) calc(20 * var(--ui-scale)) 1fr}#optionsPanel .opt-row label{color:color-mix(in srgb, var(--ink) 82%, transparent);font-size:calc(13 * var(--ui-scale))}#optionsPanel .opt-static .value-display{grid-column:3}#optionsPanel .value-display{text-align:right;color:var(--accent);font-size:calc(13 * var(--ui-scale));font-variant-numeric:tabular-nums}#optionsPanel input[type=range]{cursor:pointer;width:100%;accent-color:var(--accent);height:calc(18 * var(--ui-scale))}#optionsPanel select,#optionsPanel input[type=text]{box-sizing:border-box;background:color-mix(in srgb, var(--surface) 90%, transparent);width:100%;color:var(--ink);border:var(--ui-scale) solid var(--rule);border-radius:calc(2 * var(--ui-scale));padding:calc(6 * var(--ui-scale)) calc(8 * var(--ui-scale));font-size:calc(12 * var(--ui-scale));font-family:inherit}#optionsPanel select{grid-column:2/span 2}#optionsPanel select:focus,#optionsPanel input[type=text]:focus,#optionsPanel button:focus-visible,.tswitch:focus-visible .tswitch-track{border-color:var(--accent);box-shadow:0 0 0 calc(2 * var(--ui-scale)) color-mix(in srgb, var(--accent) 45%, transparent);outline:none}#optionsPanel .opt-fields{gap:calc(8 * var(--ui-scale));margin-top:calc(10 * var(--ui-scale));flex-direction:column;display:flex}#optionsPanel .opt-buttons{gap:calc(8 * var(--ui-scale));margin-top:calc(10 * var(--ui-scale));display:flex}#optionsPanel .opt-buttons button{flex:1}#optionsPanel .opt-note{margin:calc(6 * var(--ui-scale)) 0 0;color:color-mix(in srgb, var(--ink) 68%, transparent);font-size:calc(11 * var(--ui-scale));line-height:1.4}#optionsPanel .opt-note.software{color:var(--accent)}#optionsPanel .opt-hint{margin-top:calc(2 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 68%, transparent);font-size:calc(11 * var(--ui-scale));grid-column:3;line-height:1.4}#optionsPanel .opt-row input[type=checkbox]{width:calc(16 * var(--ui-scale));height:calc(16 * var(--ui-scale));accent-color:var(--accent)}#optionsPanel .opt-foot{gap:calc(8 * var(--ui-scale));margin-top:calc(18 * var(--ui-scale));padding-top:calc(14 * var(--ui-scale));border-top:var(--ui-scale) solid color-mix(in srgb, var(--rule) 70%, transparent);display:flex}#optionsPanel .opt-foot button{flex:1}#optionsPanel .opt-build{margin:calc(12 * var(--ui-scale)) 0 0;text-align:center;color:color-mix(in srgb, var(--ink) 48%, transparent);font-size:calc(10 * var(--ui-scale))}#optionsPanel button{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--ink);border:var(--ui-scale) solid var(--rule);border-radius:calc(2 * var(--ui-scale));padding:calc(8 * var(--ui-scale)) calc(10 * var(--ui-scale));font-size:calc(12 * var(--ui-scale));cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}#optionsPanel button:hover{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:var(--rule)}#optionsPanel button:active{background:color-mix(in srgb, var(--accent) 30%, transparent)}#toast{top:calc(70 * var(--ui-scale));background:var(--surface);border-left:calc(3 * var(--ui-scale)) solid var(--accent);padding:calc(8 * var(--ui-scale)) calc(24 * var(--ui-scale));color:var(--accent);font-size:calc(15 * var(--ui-scale));z-index:400;opacity:0;pointer-events:none;white-space:nowrap;box-shadow:var(--ui-lift);transition:opacity .4s;position:fixed;left:50%;transform:translate(-50%)}#toast.show{opacity:1}#breath{color:var(--accent);font-size:calc(13 * var(--ui-scale));letter-spacing:var(--ui-scale);margin-top:calc(2 * var(--ui-scale));min-height:calc(15 * var(--ui-scale))}#breath .warded,#breath .arm,#breath .winded{color:var(--accent)}#status{z-index:100;background:var(--surface);border-right:var(--ui-scale) solid var(--rule);padding:calc(10 * var(--ui-scale)) calc(16 * var(--ui-scale)) calc(8 * var(--ui-scale)) calc(12 * var(--ui-scale));color:var(--ink);min-width:calc(160 * var(--ui-scale));position:fixed;top:0;left:0}#hearts{color:var(--accent);font-size:calc(18 * var(--ui-scale));letter-spacing:var(--ui-scale);line-height:1.2}.hud-bar{color:var(--accent);letter-spacing:-1px}.hud-bar.breath{color:inherit}.hud-bar.hud-hurt{color:var(--accent)}.hud-hp{color:var(--ink);font-size:11px}#hurt{pointer-events:none;z-index:1100;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 10%, transparent) 45%, color-mix(in srgb, var(--surface) 55%, transparent) 100%);opacity:0;transition:opacity .15s;position:fixed;inset:0}#hurt.show{opacity:1}#inventory{top:calc(64 * var(--ui-scale));z-index:100;background:var(--surface);border-right:var(--ui-scale) solid var(--rule);border-top:var(--ui-scale) solid color-mix(in srgb, var(--rule) 70%, transparent);border-bottom:var(--ui-scale) solid var(--rule);padding:calc(8 * var(--ui-scale)) calc(16 * var(--ui-scale)) calc(8 * var(--ui-scale)) calc(12 * var(--ui-scale));color:var(--ink);font-size:calc(13 * var(--ui-scale));min-width:calc(160 * var(--ui-scale));position:fixed;left:0}#inventory div{line-height:1.5}#inventory div.usable{cursor:pointer}#inventory div.usable:hover{color:var(--accent)}#dialogue{left:50%;bottom:calc(20 * var(--ui-scale));width:min(calc(1100 * var(--ui-scale)), 96vw);z-index:1200;background:linear-gradient(180deg, var(--surface) 0%, var(--surface) 100%);border:var(--ui-scale) solid var(--rule);box-shadow:0 10px 40px color-mix(in srgb, var(--surface) 70%, transparent);color:var(--ink);font-size:calc(17 * var(--ui-scale));padding:calc(14 * var(--ui-scale)) calc(16 * var(--ui-scale));gap:calc(14 * var(--ui-scale));max-height:calc(100vh - 40 * var(--ui-scale));align-items:stretch;display:none;position:fixed;transform:translate(-50%)}#dialogue.show{animation:.15s ease-out popIn;display:flex}#dialogue .dlg-side{flex:0 0 calc(132 * var(--ui-scale));align-items:center;gap:calc(6 * var(--ui-scale));flex-direction:column;display:flex}#dialogue .dlg-face{width:calc(132 * var(--ui-scale));height:calc(154 * var(--ui-scale));image-rendering:pixelated;image-rendering:crisp-edges;background:linear-gradient(180deg, var(--accent) 0%, var(--surface) 100%);border:calc(2 * var(--ui-scale)) solid var(--rule)}#dialogue .dlg-emoji{width:calc(132 * var(--ui-scale));height:calc(154 * var(--ui-scale));font-size:calc(72 * var(--ui-scale));line-height:calc(154 * var(--ui-scale));text-align:center;background:color-mix(in srgb, var(--accent) 10%, transparent);border:calc(2 * var(--ui-scale)) solid var(--rule)}#dialogue .dlg-name{color:var(--accent);font-weight:700;font-size:calc(15 * var(--ui-scale));text-align:center;text-shadow:0 1px 0 var(--surface);line-height:1.2}#dialogue .dlg-me .dlg-face{transform:scaleX(-1)}#dialogue .dlg-me{opacity:.55;filter:saturate(.7);transition:opacity .2s,filter .2s}#dialogue.choosing .dlg-me{opacity:1;filter:none}#dialogue.choosing .dlg-them{opacity:.6;filter:saturate(.7)}#dialogue .dlg-them{transition:opacity .2s,filter .2s}#dialogue .dlg-panel{min-height:calc(154 * var(--ui-scale));background:color-mix(in srgb, var(--surface) 22%, transparent);border:calc(2 * var(--ui-scale)) solid color-mix(in srgb, var(--rule) 45%, transparent);min-width:0;padding:calc(12 * var(--ui-scale)) calc(14 * var(--ui-scale));flex-direction:column;flex:1;display:flex;position:relative}#dialogue .dlg-text{min-height:calc(52 * var(--ui-scale));white-space:pre-wrap;flex:none;line-height:1.55}#dialogue .dlg-choices{margin-top:calc(10 * var(--ui-scale));scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 50%, transparent) transparent;flex:auto;min-height:0;overflow-y:auto}#dialogue .dlg-choice{padding-inline:calc(6 * var(--ui-scale));cursor:pointer;white-space:pre;color:var(--ink);align-content:center;display:grid}#dialogue .dlg-choice.sel{color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, transparent)}#dialogue .dlg-waiting{color:color-mix(in srgb, var(--ink) 62%, transparent);cursor:default;pointer-events:none;font-style:italic}#dialogue .dlg-note{margin-left:calc(14 * var(--ui-scale));font-size:calc(14 * var(--ui-scale));color:var(--accent);white-space:pre-wrap;display:block}#dialogue .dlg-choice.sel .dlg-note{color:var(--ink)}#dialogue .dlg-hint{right:calc(10 * var(--ui-scale));bottom:calc(6 * var(--ui-scale));color:var(--accent);animation:.8s infinite alternate bob;position:absolute}@keyframes bob{0%{transform:translateY(0)}to{transform:translateY(4px)}}#quests{top:calc(84 * var(--ui-scale));left:calc(200 * var(--ui-scale));max-width:calc(280 * var(--ui-scale));background:var(--surface);border-left:calc(3 * var(--ui-scale)) solid var(--rule);padding:calc(8 * var(--ui-scale)) calc(12 * var(--ui-scale));color:var(--ink);font-size:calc(12 * var(--ui-scale));z-index:100;display:none;position:fixed}#quests.has-errands{display:block}#quests .title{color:var(--accent);margin-bottom:calc(4 * var(--ui-scale));font-weight:700}#quests div{line-height:1.5}#optionsPanel button.wide{width:100%;padding:calc(8 * var(--ui-scale));background:var(--surface);color:var(--ink);border:calc(2 * var(--ui-scale)) solid var(--rule);cursor:pointer;font-family:inherit}#optionsPanel button.wide:hover{background:var(--accent)}#title{z-index:3000;background:var(--surface);color:var(--ink);display:none;position:fixed;inset:0}#title.show{display:flex}#titleSky{width:100%;height:100%;display:block;position:absolute;inset:0}#titleRail{flex:0 0 calc(384 * var(--ui-scale));background:var(--surface);border-right:var(--ui-scale) solid var(--rule);padding:calc(56 * var(--ui-scale)) calc(40 * var(--ui-scale)) calc(36 * var(--ui-scale));gap:calc(40 * var(--ui-scale));flex-direction:column;display:flex;position:relative}#titleRail .brand{gap:calc(14 * var(--ui-scale));flex-direction:column;display:flex}#title h1{font-size:calc(34 * var(--ui-scale));letter-spacing:calc(7 * var(--ui-scale));color:var(--accent);padding-left:calc(22 * var(--ui-scale));font-weight:700;position:relative}#title h1:before{content:"";left:0;top:calc(4 * var(--ui-scale));width:calc(10 * var(--ui-scale));height:calc(28 * var(--ui-scale));background:var(--accent);position:absolute}#title .tagline{margin-left:calc(22 * var(--ui-scale));font-size:calc(13 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 68%, transparent);line-height:1.7}#titleRail .rail-block{gap:calc(16 * var(--ui-scale));flex-direction:column;display:flex}.title-world-fields{gap:calc(8 * var(--ui-scale));flex-direction:column;display:flex}.title-world-fields label,.title-world-fields summary{color:color-mix(in srgb, var(--ink) 68%, transparent);font-size:calc(12 * var(--ui-scale));letter-spacing:var(--ui-scale)}.title-world-fields input{box-sizing:border-box;background:var(--surface);border:var(--ui-scale) solid var(--rule);width:100%;color:var(--ink);padding:calc(9 * var(--ui-scale)) calc(10 * var(--ui-scale));font:inherit}.title-world-fields input:focus{border-color:var(--accent);outline:none}.title-world-fields details{flex-direction:column;display:flex}.title-world-fields summary{cursor:pointer;color:color-mix(in srgb, var(--ink) 52%, transparent)}.title-world-fields details input{margin-top:calc(8 * var(--ui-scale))}#titleWorldError{min-height:calc(14 * var(--ui-scale));color:var(--accent);font-size:calc(11 * var(--ui-scale))}#titleRail .build{margin-top:calc(10 * var(--ui-scale));font-size:calc(11 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 82%, transparent);letter-spacing:var(--ui-scale);line-height:1.6}#titleRail .rail-foot{padding-top:calc(10 * var(--ui-scale));border-top:var(--ui-scale) solid var(--rule);font-size:calc(11 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 48%, transparent);letter-spacing:var(--ui-scale);margin-top:auto;line-height:2}#titleRail .rail-foot .on-keys,#titleRail .rail-foot .on-touch{display:none}#titleRail .rail-foot .on-keys{display:inline}body.touch #titleRail .rail-foot .on-keys{display:none}body.touch #titleRail .rail-foot .on-touch{display:inline}#title .rail-head{align-items:center;gap:calc(14 * var(--ui-scale));display:flex}#title .rail-head span{font-size:calc(11 * var(--ui-scale));letter-spacing:calc(3 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 68%, transparent);text-transform:uppercase;white-space:nowrap}#title .rail-head:after{content:"";height:var(--ui-scale);background:var(--rule);flex:1}#titleMain{padding:0 calc(72 * var(--ui-scale)) 0 calc(56 * var(--ui-scale));background:var(--surface);flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex;position:relative}#titleMain>.rail-head{margin-bottom:calc(26 * var(--ui-scale))}#slots{flex-direction:column;display:flex}#slots .slot+.slot{border-top:var(--ui-scale) solid color-mix(in srgb, var(--rule) 70%, transparent)}#slots .slot{align-items:stretch;display:flex}#slots .band{align-items:center;gap:calc(26 * var(--ui-scale));padding:calc(22 * var(--ui-scale)) calc(26 * var(--ui-scale)) calc(22 * var(--ui-scale)) calc(22 * var(--ui-scale));border:none;border-left:calc(4 * var(--ui-scale)) solid transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;flex:1;min-width:0;transition:background .12s,border-color .12s;display:flex}#slots .band:hover,#slots .band:focus-visible{background:color-mix(in srgb, var(--surface) 72%, transparent);border-left-color:var(--accent);outline:none}#slots .slot-no{font-size:calc(40 * var(--ui-scale));width:calc(34 * var(--ui-scale));color:var(--accent);flex:none;font-weight:700;line-height:1}#slots .band:hover .slot-no,#slots .band:focus-visible .slot-no{color:var(--accent)}#slots .slot-of{gap:calc(8 * var(--ui-scale));flex-direction:column;flex:1;min-width:0;display:flex}#slots .slot-day{font-size:calc(20 * var(--ui-scale));letter-spacing:var(--ui-scale)}#slots .slot-world{color:color-mix(in srgb, var(--ink) 68%, transparent);font-size:calc(13 * var(--ui-scale));letter-spacing:calc(2 * var(--ui-scale));margin-left:calc(10 * var(--ui-scale));text-transform:uppercase}#slots .slot-facts{gap:calc(22 * var(--ui-scale));font-size:calc(12 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 82%, transparent);letter-spacing:var(--ui-scale);flex-wrap:wrap;display:flex}#slots .slot-seed{color:color-mix(in srgb, var(--ink) 48%, transparent)}#slots .slot-go{font-size:calc(13 * var(--ui-scale));letter-spacing:calc(3 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 68%, transparent);text-transform:uppercase;flex:none}#slots .band:hover .slot-go,#slots .band:focus-visible .slot-go,#slots .slot.empty .slot-go{color:var(--accent)}#slots .slot.empty .slot-of{font-size:calc(15 * var(--ui-scale));letter-spacing:calc(2 * var(--ui-scale));color:color-mix(in srgb, var(--ink) 48%, transparent)}#slots .slot-del{width:calc(46 * var(--ui-scale));border:none;border-left:var(--ui-scale) solid color-mix(in srgb, var(--rule) 70%, transparent);color:var(--accent);font:inherit;font-size:calc(15 * var(--ui-scale));cursor:pointer;background:0 0;flex:none;transition:color .12s,background .12s}#slots .slot-del:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 28%, transparent)}#title .hint{margin-top:calc(30 * var(--ui-scale));font-size:calc(11 * var(--ui-scale));letter-spacing:calc(2 * var(--ui-scale));color:var(--accent);text-transform:uppercase}#titleExtras{margin-top:calc(22 * var(--ui-scale));gap:calc(12 * var(--ui-scale));display:grid}#titleExtras .switch{gap:0 calc(10 * var(--ui-scale));cursor:pointer;text-align:left;grid-template-columns:auto 1fr;align-items:baseline;display:grid}#titleExtras .switch input{accent-color:var(--accent);grid-row:1/span 2}#titleExtras .switch-name{color:var(--ink);font-size:calc(13 * var(--ui-scale))}#titleExtras .switch-note{color:var(--dim);font-size:calc(11 * var(--ui-scale));line-height:1.4}.tswitch{gap:calc(10 * var(--ui-scale));cursor:pointer;align-items:flex-start;display:flex}.tswitch:hover .tswitch-track{border-color:var(--rule)}.tswitch-track{width:calc(38 * var(--ui-scale));height:calc(20 * var(--ui-scale));margin-top:calc(2 * var(--ui-scale));background:var(--surface);border:var(--ui-scale) solid var(--rule);flex:none;transition:background .12s;position:relative}.tswitch-track:after{content:"";top:calc(3 * var(--ui-scale));left:calc(3 * var(--ui-scale));width:calc(12 * var(--ui-scale));height:calc(12 * var(--ui-scale));background:var(--ink);transition:left .12s,background .12s;position:absolute}.tswitch[aria-checked=true] .tswitch-track{background:var(--accent);border-color:var(--rule)}.tswitch[aria-checked=true] .tswitch-track:after{left:calc(21 * var(--ui-scale));background:var(--surface)}.tswitch-label{color:var(--ink);font-size:calc(13 * var(--ui-scale))}.tswitch-note{color:var(--accent);font-size:calc(11 * var(--ui-scale));margin-top:calc(2 * var(--ui-scale));line-height:1.4;display:block}#journal{width:min(calc(620 * var(--ui-scale)), 92vw);z-index:1400;background:linear-gradient(180deg, var(--accent) 0%, var(--surface) 100%);max-height:82vh;color:var(--accent);border:calc(3 * var(--ui-scale)) solid var(--rule);padding:calc(18 * var(--ui-scale)) calc(22 * var(--ui-scale));box-shadow:0 calc(10 * var(--ui-scale)) calc(40 * var(--ui-scale)) color-mix(in srgb, var(--surface) 60%, transparent);display:none;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}#journal.show{animation:.2s ease-out popIn;display:block}#journal h2{color:var(--accent);margin-bottom:calc(8 * var(--ui-scale))}#journal h3{color:var(--accent);margin:calc(14 * var(--ui-scale)) 0 calc(4 * var(--ui-scale));font-size:calc(14 * var(--ui-scale));border-bottom:var(--ui-scale) solid var(--rule)}#journal ul{list-style:none}#journal li{font-size:calc(13 * var(--ui-scale));align-items:center;line-height:1.5;display:flex}#journal .j-line{font-size:calc(13 * var(--ui-scale));color:var(--accent)}#journal .j-empty{font-size:calc(13 * var(--ui-scale));color:var(--accent);font-style:italic}#journal .j-hint{text-align:center;color:var(--accent);font-size:calc(11 * var(--ui-scale));margin-top:calc(14 * var(--ui-scale))}#optionsPanel select{width:100%;padding:calc(5 * var(--ui-scale)) calc(6 * var(--ui-scale));font:inherit;font-size:calc(12 * var(--ui-scale));color:var(--ink);background:var(--surface);border:var(--ui-scale) solid var(--rule)}#optionsPanel #gpuName{font-size:calc(11 * var(--ui-scale));opacity:.75}#optionsPanel #gpuName.software{color:var(--accent);opacity:1}#duelbar{left:50%;top:calc(96 * var(--ui-scale));background:color-mix(in srgb, var(--surface) 86%, transparent);border-left:calc(3 * var(--ui-scale)) solid var(--rule);padding:calc(6 * var(--ui-scale)) calc(18 * var(--ui-scale));color:var(--ink);font-size:calc(14 * var(--ui-scale));z-index:1200;white-space:nowrap;display:none;position:fixed;transform:translate(-50%)}#duelbar.show{display:block}#roster{width:min(calc(760 * var(--ui-scale)), 94vw);z-index:1400;background:linear-gradient(180deg, var(--accent) 0%, var(--surface) 100%);max-height:84vh;color:var(--accent);border:calc(3 * var(--ui-scale)) solid var(--rule);padding:calc(16 * var(--ui-scale)) calc(20 * var(--ui-scale));box-shadow:0 calc(10 * var(--ui-scale)) calc(40 * var(--ui-scale)) color-mix(in srgb, var(--surface) 60%, transparent);display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#roster.show{animation:.2s ease-out popIn;display:block}#roster h2{color:var(--accent);margin-bottom:calc(6 * var(--ui-scale))}#roster .j-line{font-size:calc(13 * var(--ui-scale));color:var(--accent)}#roster .j-hint{text-align:center;color:var(--accent);font-size:calc(11 * var(--ui-scale));margin-top:calc(10 * var(--ui-scale))}.ro-scroll{max-height:60vh;margin-top:calc(8 * var(--ui-scale))}.ro-table{border-collapse:collapse;width:100%;font-size:calc(12 * var(--ui-scale))}.ro-table th{text-align:left;background:var(--surface);color:var(--accent);padding:calc(4 * var(--ui-scale)) calc(6 * var(--ui-scale));border-bottom:1px solid var(--rule);position:sticky;top:0}.ro-table td{padding-inline:calc(6 * var(--ui-scale));vertical-align:middle}.ro-table tr:hover td{background:color-mix(in srgb, var(--accent) 12%, transparent)}.ro-family,.ro-doing,.ro-fed{color:var(--accent)}.ro-hungry{color:var(--accent);font-weight:700}.ro-old{color:var(--accent);opacity:.75;font-style:italic}.ro-sort{margin-top:calc(8 * var(--ui-scale));font-size:calc(12 * var(--ui-scale));color:var(--accent)}.ro-sort button{background:var(--surface);color:var(--accent);border:1px solid var(--rule);cursor:pointer;border-radius:calc(3 * var(--ui-scale));margin-left:calc(4 * var(--ui-scale));padding:calc(2 * var(--ui-scale)) calc(8 * var(--ui-scale));font-size:calc(11 * var(--ui-scale))}.ro-sort button.on{background:var(--accent);color:var(--ink)}#players{width:min(calc(480 * var(--ui-scale)), 92vw);z-index:1400;background:linear-gradient(180deg, var(--accent) 0%, var(--surface) 100%);max-height:82vh;color:var(--accent);border:calc(3 * var(--ui-scale)) solid var(--rule);padding:calc(18 * var(--ui-scale)) calc(22 * var(--ui-scale));box-shadow:0 calc(10 * var(--ui-scale)) calc(40 * var(--ui-scale)) color-mix(in srgb, var(--surface) 60%, transparent);display:none;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}#players.show{animation:.2s ease-out popIn;display:block}#players h2{color:var(--accent);margin-bottom:calc(8 * var(--ui-scale))}#players ul{margin-top:calc(8 * var(--ui-scale));list-style:none}#players li{font-size:calc(13 * var(--ui-scale));align-items:center;line-height:1.5;display:flex}#players .j-line{font-size:calc(13 * var(--ui-scale));color:var(--accent)}#players .j-empty{font-size:calc(13 * var(--ui-scale));color:var(--accent);font-style:italic}#players .j-hint{text-align:center;color:var(--accent);font-size:calc(11 * var(--ui-scale));margin-top:calc(14 * var(--ui-scale))}#castbar{left:50%;bottom:calc(120 * var(--ui-scale));background:var(--surface);border-left:calc(3 * var(--ui-scale)) solid var(--rule);padding:calc(8 * var(--ui-scale)) calc(20 * var(--ui-scale));color:var(--ink);font-size:calc(14 * var(--ui-scale));z-index:1000;white-space:nowrap;display:none;position:fixed;transform:translate(-50%)}#castbar.show{display:block}#castbar.bite{border-left-color:var(--rule);color:var(--accent);animation:.25s infinite alternate bob}#journal ul.j-key{gap:calc(10 * var(--ui-scale));flex-wrap:wrap;display:flex}#journal ul.j-key li{align-items:center;gap:calc(5 * var(--ui-scale));font-size:calc(12 * var(--ui-scale));display:flex}#journal .sw{width:calc(10 * var(--ui-scale));height:calc(10 * var(--ui-scale));border:var(--ui-scale) solid var(--rule);display:inline-block}#rucksack{width:min(calc(760 * var(--ui-scale)), 94vw);z-index:1400;background:linear-gradient(180deg, var(--accent) 0%, var(--surface) 100%);max-height:84vh;color:var(--accent);border:calc(3 * var(--ui-scale)) solid var(--rule);padding:calc(18 * var(--ui-scale)) calc(22 * var(--ui-scale));box-shadow:0 calc(10 * var(--ui-scale)) calc(40 * var(--ui-scale)) color-mix(in srgb, var(--surface) 60%, transparent);display:none;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}#rucksack.show{animation:.2s ease-out popIn;display:block}#rucksack h2{color:var(--accent);margin-bottom:calc(6 * var(--ui-scale))}#rucksack h3{color:var(--accent);font-size:calc(13 * var(--ui-scale));margin-bottom:calc(6 * var(--ui-scale));border-bottom:var(--ui-scale) solid var(--rule)}#rucksack .r-stats{font-size:calc(13 * var(--ui-scale));color:var(--accent);margin-bottom:calc(12 * var(--ui-scale))}#rucksack .r-columns{gap:calc(18 * var(--ui-scale));align-items:flex-start;display:flex}#rucksack .r-worn{flex:0 0 calc(220 * var(--ui-scale))}#rucksack .r-bag{flex:1;min-width:0}#rucksack .r-slot{margin-bottom:calc(6 * var(--ui-scale))}#rucksack .r-slot-name{font-size:calc(10 * var(--ui-scale));text-transform:uppercase;letter-spacing:var(--ui-scale);color:var(--accent)}#rucksack .r-grid{grid-template-columns:repeat(auto-fill, minmax(calc(200 * var(--ui-scale)), 1fr));column-gap:calc(6 * var(--ui-scale));display:grid}#rucksack .r-item{align-items:center;gap:calc(8 * var(--ui-scale));padding-inline:calc(8 * var(--ui-scale));font-size:calc(13 * var(--ui-scale));background:0 0;display:flex}#rucksack .r-item.worn{background:var(--surface);border-bottom-color:var(--rule);cursor:pointer}#rucksack .r-item.empty{color:var(--accent);font-style:italic}#rucksack .r-item.wear,#rucksack .r-item.use,#rucksack .r-item.look{cursor:pointer}#rucksack .r-item.wear:hover,#rucksack .r-item.use:hover,#rucksack .r-item.look:hover,#rucksack .r-item.worn:hover{background:var(--surface)}#rucksack .r-emoji{font-size:calc(18 * var(--ui-scale))}#rucksack .r-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}#rucksack .r-note{font-size:calc(11 * var(--ui-scale));color:var(--accent)}#rucksack .r-empty{font-size:calc(13 * var(--ui-scale));color:var(--accent);font-style:italic}#rucksack .r-hint{text-align:center;color:var(--accent);font-size:calc(11 * var(--ui-scale));margin-top:calc(14 * var(--ui-scale))}#inventory .hud-stats{color:var(--ink);font-size:11px}#inventory{cursor:pointer}#kinpanel{z-index:1600;background:var(--surface);color:var(--ink);flex-direction:column;display:none;position:fixed;inset:0}#kinpanel.show{display:flex}#kinpanel .wm-bar{align-items:baseline;gap:calc(16 * var(--ui-scale));padding:calc(10 * var(--ui-scale)) calc(18 * var(--ui-scale));background:linear-gradient(180deg, var(--surface) 0%, var(--surface) 100%);border-bottom:calc(2 * var(--ui-scale)) solid var(--rule);display:flex}#kinTitle{color:var(--accent);font-weight:700;font-size:calc(16 * var(--ui-scale))}#kinpanel .wm-keys{color:color-mix(in srgb, var(--ink) 78%, transparent);font-size:calc(11 * var(--ui-scale))}#kinCanvas{cursor:grab;touch-action:none;flex:1;width:100%;min-height:0;display:block}#kinpanel .wm-legend{gap:calc(14 * var(--ui-scale));padding:calc(8 * var(--ui-scale)) calc(18 * var(--ui-scale));background:var(--surface);border-top:calc(2 * var(--ui-scale)) solid var(--rule);font-size:calc(11 * var(--ui-scale));color:var(--ink);flex-wrap:wrap;display:flex}#kinpanel .wm-legend span{align-items:center;gap:calc(5 * var(--ui-scale));display:flex}#kinpanel .wm-legend i{width:calc(10 * var(--ui-scale));height:calc(10 * var(--ui-scale));border-radius:calc(2 * var(--ui-scale));display:inline-block}#kinCard{right:calc(18 * var(--ui-scale));top:calc(72 * var(--ui-scale));max-width:calc(260 * var(--ui-scale));padding:calc(12 * var(--ui-scale)) calc(14 * var(--ui-scale));background:color-mix(in srgb, var(--surface) 94%, transparent);border:calc(2 * var(--ui-scale)) solid var(--rule);border-radius:calc(4 * var(--ui-scale));font-size:calc(12 * var(--ui-scale));color:var(--ink);line-height:1.55;display:none;position:absolute}#kinCard.show{display:block}#kinCard .kin-note{color:color-mix(in srgb, var(--ink) 78%, transparent)}#worldmap{z-index:1600;background:var(--surface);color:var(--ink);flex-direction:column;display:none;position:fixed;inset:0}#worldmap.show{display:flex}#worldmap .wm-bar{align-items:baseline;gap:calc(16 * var(--ui-scale));padding:calc(10 * var(--ui-scale)) calc(18 * var(--ui-scale));background:linear-gradient(180deg, var(--surface) 0%, var(--surface) 100%);border-bottom:calc(2 * var(--ui-scale)) solid var(--rule);display:flex}#worldmapTitle{color:var(--accent);font-weight:700;font-size:calc(16 * var(--ui-scale))}#worldmap .wm-keys{color:var(--accent);font-size:calc(11 * var(--ui-scale))}#worldmapCanvas{cursor:grab;touch-action:none;flex:1;width:100%;min-height:0;display:block}#worldmap .wm-legend{gap:calc(14 * var(--ui-scale));padding:calc(8 * var(--ui-scale)) calc(18 * var(--ui-scale));background:var(--surface);border-top:calc(2 * var(--ui-scale)) solid var(--rule);font-size:calc(11 * var(--ui-scale));color:var(--ink);flex-wrap:wrap;display:flex}#worldmap .wm-legend span{align-items:center;gap:calc(5 * var(--ui-scale));display:flex}#worldmap .wm-legend i{width:calc(10 * var(--ui-scale));height:calc(10 * var(--ui-scale));border-radius:50%;display:inline-block}#compass{top:calc(74 * var(--ui-scale));gap:calc(16 * var(--ui-scale));color:var(--ink);font-size:calc(11 * var(--ui-scale));letter-spacing:calc(3 * var(--ui-scale));z-index:100;white-space:nowrap;text-transform:uppercase;text-shadow:0 var(--ui-scale) 0 color-mix(in srgb, var(--surface) 70%, transparent), 0 0 calc(10 * var(--ui-scale)) color-mix(in srgb, var(--surface) 60%, transparent);padding:0;display:none;position:fixed;left:50%;transform:translate(-50%)}#compass .c-primary{color:var(--accent);font-weight:700}.photo-hidden{display:none!important}#photoHint{bottom:calc(18 * var(--ui-scale));background:color-mix(in srgb, var(--surface) 55%, transparent);color:var(--ink);font-size:calc(12 * var(--ui-scale));padding:calc(5 * var(--ui-scale)) calc(16 * var(--ui-scale));z-index:200;pointer-events:none;display:none;position:fixed;left:50%;transform:translate(-50%)}#photoHint.show{display:block}#chatPanel{left:0;bottom:var(--log-bottom);width:calc(360 * var(--ui-scale));z-index:300;display:none;position:fixed}#chatPanel.show{display:block}#chatPanel.console{background:color-mix(in srgb, var(--surface) 90%, transparent);border-top:calc(2 * var(--ui-scale)) solid var(--rule);width:auto;padding:calc(10 * var(--ui-scale)) calc(16 * var(--ui-scale)) calc(12 * var(--ui-scale));box-shadow:0 -8px 24px color-mix(in srgb, var(--surface) 45%, transparent);animation:.13s ease-out consoleUp;position:fixed;bottom:0;left:0;right:0}#chatPanel.console #chatLog{max-height:40vh;padding-bottom:calc(6 * var(--ui-scale));overscroll-behavior:contain;overflow-y:auto}#chatPanel.console #chatInput{margin-top:calc(8 * var(--ui-scale));padding:calc(7 * var(--ui-scale)) calc(10 * var(--ui-scale));font-size:calc(13 * var(--ui-scale))}@keyframes consoleUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}#chatLog{max-height:var(--log-height);font-size:calc(13 * var(--ui-scale));align-items:flex-start;gap:calc(3 * var(--ui-scale));background:0 0;flex-direction:column;padding:0;line-height:1.45;display:flex;overflow-y:auto}#chatLog>div{max-width:100%;padding:calc(3 * var(--ui-scale)) calc(10 * var(--ui-scale)) calc(3 * var(--ui-scale)) calc(8 * var(--ui-scale));border-left:calc(3 * var(--ui-scale)) solid color-mix(in srgb, var(--rule) 28%, transparent);background:var(--surface);color:var(--ink);text-shadow:0 var(--ui-scale) calc(2 * var(--ui-scale)) color-mix(in srgb, var(--surface) 90%, transparent);transition:opacity .26s}#chatLog>div.sys{border-left-color:var(--rule);background:color-mix(in srgb, var(--surface) 76%, transparent);color:var(--accent)}#chatPanel:not(.console) #chatLog>div{opacity:.5}#chatPanel:not(.console) #chatLog>div:nth-last-child(3){opacity:.72}#chatPanel:not(.console) #chatLog>div:nth-last-child(2){opacity:.88}#chatPanel:not(.console) #chatLog>div:last-child{opacity:1}@keyframes logLine{0%{opacity:0;transform:translate(-10px)}}#chatLog>div{animation:.17s ease-out logLine}@media (prefers-reduced-motion:reduce){#chatLog>div{transition:none;animation:none}}#chatInput{width:100%;margin-top:calc(5 * var(--ui-scale));padding:calc(5 * var(--ui-scale)) calc(8 * var(--ui-scale));font-family:inherit;font-size:calc(12 * var(--ui-scale));background:color-mix(in srgb, var(--surface) 80%, transparent);color:var(--ink);border:var(--ui-scale) solid var(--rule);display:none}#chatInput.show{display:block}#nameplates{pointer-events:none;z-index:90;position:fixed;inset:0}.nameplate{background:color-mix(in srgb, var(--surface) 55%, transparent);color:var(--ink);font-size:calc(11 * var(--ui-scale));padding:var(--ui-scale) calc(6 * var(--ui-scale));white-space:nowrap;position:absolute;transform:translate(-50%,-100%)}#optionsPanel input[type=text]{width:100%;margin-bottom:calc(6 * var(--ui-scale));padding:calc(5 * var(--ui-scale)) calc(8 * var(--ui-scale));font-family:inherit;font-size:calc(12 * var(--ui-scale));background:var(--surface);color:var(--ink);border:var(--ui-scale) solid var(--rule)}#actionCard{right:var(--safe-right);bottom:var(--safe-bottom);z-index:1750;width:var(--band-action);min-height:calc(72 * var(--ui-scale));color:var(--ink,var(--ui-ink));font-family:var(--face,inherit);text-align:left;cursor:pointer;box-shadow:var(--ui-lift);touch-action:manipulation;background:0 0;border:0;padding:0;display:grid;position:fixed}#actionCard[hidden]{display:none}.action-card-head{height:calc(28 * var(--ui-scale));padding:0 calc(12 * var(--ui-scale));color:var(--accent,var(--ui-ink));background:var(--surface,var(--ui-glass));border:var(--ui-scale) solid var(--rule,var(--ui-rim));font-size:calc(10 * var(--ui-scale));letter-spacing:calc(2 * var(--ui-scale));text-transform:uppercase;border-bottom:0;align-items:center;display:flex}.action-card-row{justify-content:space-between;align-items:center;gap:calc(10 * var(--ui-scale));min-height:calc(44 * var(--ui-scale));padding:0 calc(12 * var(--ui-scale));background:var(--surface,var(--ui-glass));border:var(--ui-scale) solid color-mix(in srgb, var(--rule,var(--ui-rim)) 60%, transparent);display:flex}.action-card-row strong{font-size:calc(12.5 * var(--ui-scale));letter-spacing:calc(1 * var(--ui-scale));font-weight:600;line-height:1.2}.action-card-row kbd{color:color-mix(in srgb, var(--ink,var(--ui-ink)) 70%, transparent);font:calc(9 * var(--ui-scale))/1 var(--face,monospace);letter-spacing:var(--ui-scale);text-transform:uppercase;flex:none}#actionCard:hover .action-card-row,#actionCard:focus-visible .action-card-row{background:color-mix(in srgb, var(--accent,var(--ui-glass-lit)) 58%, var(--surface,var(--ui-glass)))}#actionCard:focus-visible{outline:calc(2 * var(--ui-scale)) solid var(--accent,var(--ui-ink));outline-offset:calc(-2 * var(--ui-scale))}body:has(#title.show,#dialogue.show,#worldmap.show,#kinpanel.show,#rucksack.show,#journal.show,#players.show,#roster.show,#optionsPanel.show,#photoHint.show,#touchMore.show) #actionCard{display:none}body.touch #touchAct{right:var(--safe-right);bottom:var(--safe-bottom);width:var(--band-action);height:var(--reflex-row);gap:var(--ui-scale);pointer-events:none;display:flex}body.touch #touchAct .touch-do{display:none}body.touch #touchAct .touch-orbit{width:var(--reflex-row);height:var(--reflex-row);border-radius:0;flex:none;margin:0;position:static;transform:none}body.touch #touchAct .touch-swing{flex:auto;order:0;width:auto}body.touch #touchAct .touch-guard{order:2}body.touch #touchAct .touch-loose{order:1}body.touch #actionCard{bottom:calc(var(--safe-bottom) + var(--reflex-row) + var(--ui-scale))}@media (max-width:620px){#actionCard{width:min(var(--band-action), calc(46vw - var(--safe-right)))}.action-card-row{padding-inline:calc(9 * var(--ui-scale))}.action-card-row strong{font-size:calc(11.5 * var(--ui-scale))}}:root{--touch-target:calc(48 * var(--ui-scale));--touch-act:calc(78 * var(--ui-scale));--act-reach:calc(96 * var(--ui-scale));--touch-gap:calc(8 * var(--ui-scale));--touch-edge:calc(20 * var(--ui-scale));--minimap-drop:calc(268 * var(--ui-scale));--safe-top:env(safe-area-inset-top,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--band-tabs:calc(44 * var(--ui-scale));--band-left:calc(56 * var(--ui-scale));--band-action:calc(200 * var(--ui-scale));--band-book:calc(372 * var(--ui-scale));--band-thumb:calc(124 * var(--ui-scale));--band-bearings:calc(140 * var(--ui-scale));--reflex-row:calc(62 * var(--ui-scale))}body{touch-action:manipulation;overscroll-behavior:none}#gameContainer{height:100vh;height:100dvh}#gameContainer canvas{touch-action:none}#touch{display:none}body.touch #touch{z-index:1700;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;display:block;position:fixed;inset:0}#touch button{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:pointer;color:var(--ink);background:var(--surface);border:var(--ui-scale) solid var(--rule);box-shadow:var(--ui-lift);text-shadow:0 var(--ui-scale) calc(2 * var(--ui-scale)) color-mix(in srgb, var(--surface) 75%, transparent);justify-content:center;align-items:center;font-family:inherit;transition:background 90ms linear,border-color 90ms linear;display:flex}#touch button:active{background:var(--accent);border-color:color-mix(in srgb, var(--rule) 72%, transparent);box-shadow:var(--ui-lift), 0 0 0 calc(2 * var(--ui-scale)) color-mix(in srgb, var(--surface) 18%, transparent)}#touchStick{pointer-events:auto;touch-action:none;width:55%;height:58%;position:absolute;bottom:0;left:0}#touchStick .stick-base{left:calc(var(--safe-left) + 24 * var(--ui-scale));bottom:calc(var(--safe-bottom) + 20 * var(--ui-scale));width:calc(104 * var(--ui-scale));height:calc(104 * var(--ui-scale));border:var(--ui-scale) solid var(--rule);background:radial-gradient(circle, color-mix(in srgb, var(--surface) 50%, transparent) 45%, color-mix(in srgb, var(--surface) 10%, transparent) 100%);pointer-events:none;border-radius:50%;margin:0;display:none;position:fixed;top:auto}body.touch #touchStick .stick-base{opacity:.5;display:block}body.touch #touchStick .stick-base.show{opacity:1;margin:calc(-52 * var(--ui-scale)) 0 0 calc(-52 * var(--ui-scale));bottom:auto}#touchStick .stick-arcs{inset:calc(-4 * var(--ui-scale));pointer-events:none;width:auto;height:auto;position:absolute;overflow:visible;transform:rotate(-90deg)}#touchStick .stick-arcs circle{fill:none;pathLength:100;stroke-dasharray:calc(var(--hud-share,1) * 100) 100;transition:stroke-dasharray .12s linear}#touchStick .arc-health{stroke:var(--accent);stroke-width:calc(5 * var(--ui-scale));--hud-share:var(--hp-share,1)}#touchStick .arc-breath{stroke:var(--ink);stroke-width:calc(3 * var(--ui-scale));opacity:.75;--hud-share:var(--breath-share,1)}#touchStick .stick-nub{width:calc(40 * var(--ui-scale));height:calc(40 * var(--ui-scale));background:color-mix(in srgb, var(--rule) 50%, transparent);border:var(--ui-scale) solid color-mix(in srgb, var(--rule) 75%, transparent);box-shadow:var(--ui-lift);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#touchPanels{pointer-events:auto;background:color-mix(in srgb, var(--surface) 72%, transparent);border:var(--ui-scale) solid color-mix(in srgb, var(--rule) 14%, transparent);border-top:none;align-items:center;width:-moz-fit-content;width:fit-content;margin-inline:auto;display:flex;position:absolute;top:0;left:0;right:0}#touchPanels .touch-btn+.touch-btn{border-left:var(--ui-scale) solid color-mix(in srgb, var(--rule) 10%, transparent)}#touch .touch-btn{width:var(--touch-target);height:var(--touch-target);font-size:calc(22 * var(--ui-scale));box-shadow:none;background:0 0;border-color:#0000}#touch .touch-glyph{justify-content:center;align-items:center;display:flex}#touch .touch-glyph svg{width:55%;height:auto;max-width:calc(30 * var(--ui-scale))}#touch .touch-btn .touch-glyph,#touch .touch-round .touch-glyph,#touch .touch-orbit .touch-glyph{width:100%;height:100%}#touch .touch-more-btn .touch-glyph{filter:grayscale()brightness(1.25)contrast(1.05)}#touchAct{right:calc(var(--touch-edge) + var(--safe-right));bottom:calc(var(--touch-edge) + var(--safe-bottom));width:var(--touch-act);height:var(--touch-act);pointer-events:none;position:absolute}.touch-do{font-size:calc(19 * var(--ui-scale));letter-spacing:var(--ui-scale);font-weight:700;position:absolute;inset:0}.touch-orbit .touch-glyph svg,#touchPanels .touch-glyph svg{width:58%;max-width:none}.touch-orbit{width:var(--touch-target);height:var(--touch-target);font-size:calc(21 * var(--ui-scale));margin:calc(var(--touch-target) / -2) 0 0 calc(var(--touch-target) / -2);transform:rotate(var(--arc)) translateY(calc(-1 * var(--act-reach))) rotate(calc(-1 * var(--arc)));position:absolute;top:50%;left:50%}.touch-swing{--arc:-45deg}.touch-guard{--arc:-86deg}.touch-loose{--arc:-4deg}#touchMore{width:min(94vw, calc(520 * var(--ui-scale)));gap:calc(6 * var(--ui-scale));max-height:calc(100dvh - 24 * var(--ui-scale));pointer-events:auto;background:color-mix(in srgb, var(--surface) 95%, transparent);border:var(--ui-scale) solid var(--rule);padding:calc(8 * var(--ui-scale));box-shadow:var(--ui-lift);grid-template-columns:repeat(2,minmax(0,1fr));display:none;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}#touchMore.show{display:grid}#touch .touch-more-btn{min-height:var(--touch-target);padding:0 calc(12 * var(--ui-scale));gap:calc(10 * var(--ui-scale));font-size:calc(13 * var(--ui-scale));white-space:nowrap;background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:none;border-color:#0000;justify-content:flex-start}.touch-more-btn .touch-glyph{font-size:calc(20 * var(--ui-scale))}#touch .touch-close,:is(body.touch:has(#dialogue.show,#worldmap.show,#rucksack.show,#journal.show,#players.show,#optionsPanel.show) #touchStick,body.touch:has(#dialogue.show,#worldmap.show,#rucksack.show,#journal.show,#players.show,#optionsPanel.show) #touchAct){display:none}body.touch:has(#dialogue.show,#worldmap.show,#rucksack.show,#journal.show,#players.show,#optionsPanel.show) #touch .touch-btn{display:none}body.touch:has(#dialogue.show,#worldmap.show,#rucksack.show,#journal.show,#players.show,#optionsPanel.show) #touchMore{display:none}body.touch:has(#dialogue.show,#worldmap.show,#rucksack.show,#journal.show,#players.show,#optionsPanel.show) #touch .touch-close{display:flex}body.touch #debug,body.touch .r-hint,body.touch .j-hint,body.touch #worldmap .wm-keys,body.touch #kinpanel .wm-keys,body.touch #optionsPanel .opt-esc,.on-touch,body.touch .on-keys{display:none}body.touch .on-touch{display:inline}body.touch #optionsPanel button.wide,body.touch #optionsPanel select,body.touch #optionsPanel input[type=text]{min-height:var(--touch-target);font-size:calc(15 * var(--ui-scale))}body.touch #optionsPanel input[type=range]{height:var(--touch-target)}@media (min-width:1080px) and (min-height:700px){:root{--hud-rail:calc(250 * var(--ui-scale));--hud-edge:calc(20 * var(--ui-scale))}#hudRail{gap:calc(10 * var(--ui-scale));top:var(--hud-edge);bottom:var(--hud-edge);right:var(--hud-edge);width:var(--hud-rail);z-index:300;pointer-events:none;flex-direction:column;display:flex;position:fixed}body:has(#actionCard:not([hidden])) #hudRail{bottom:calc(var(--hud-edge) + 82 * var(--ui-scale))}#hudRail>*{pointer-events:auto;flex:none}#minimap,#status,#inventory,#quests,#chatPanel{width:auto;min-width:0;max-width:none;position:static}#minimapCanvas{width:100%;height:auto}#quests{max-height:calc(132 * var(--ui-scale));overflow-y:auto}#chatPanel{min-height:0;margin-top:auto}#chatPanel.show{flex-direction:column;display:flex}#hudRail>#chatPanel{flex:0 auto}:root{--log-height:calc(340 * var(--ui-scale))}#chatLog{min-height:0}#debug{left:var(--hud-edge);right:auto}#touchPanels{top:var(--hud-edge);left:var(--hud-edge);right:auto}#dialogue{left:var(--hud-edge);right:calc(var(--hud-rail) + 2 * var(--hud-edge));width:auto;transform:none}}@media (max-width:820px),(max-height:560px){#debug{display:none}#breath{color:var(--accent);letter-spacing:1px;min-height:15px;margin-top:2px;font-size:13px}#breath .warded{color:var(--accent)}#status{min-width:0;padding:7px 12px 8px calc(12px + var(--safe-left));max-width:calc(50vw - var(--touch-edge));border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--face);letter-spacing:1px;border-top:none;border-left:none;line-height:1.35;top:0;left:0}#hearts,#breath{letter-spacing:1px;min-height:0;margin:0;font-size:11px}#status .hud-bar{display:none}.hud-hp{font-size:11px}.hud-now{color:var(--accent);font-weight:600}#breath .hud-now{color:var(--ink)}.hud-max{opacity:.66;letter-spacing:1px;font-size:9.5px}#inventory,#quests.has-errands{display:none}#minimap{width:124px;padding:3px;top:8px;right:8px}#minimapCanvas{width:110px;height:110px}#clockPanel{white-space:normal;flex-wrap:wrap;gap:4px;font-size:9px}#clockDate{flex-basis:100%;margin-left:0}#clockIcon{font-size:12px}#clockTime{letter-spacing:0;font-size:13px}#areaName{white-space:normal;text-align:center;max-width:420px;margin-inline:auto;padding:5px 10px;font-size:11px;top:8px;left:112px;right:132px;transform:none}#compass{top:auto;bottom:0;left:var(--band-bearings);right:var(--band-bearings);letter-spacing:2px;white-space:nowrap;width:-moz-fit-content;width:fit-content;padding:6px 14px calc(6px + var(--safe-bottom));max-width:calc(100vw - 2 * var(--band-bearings));background:var(--surface);border-top:1px solid var(--rule);text-shadow:none;flex-wrap:nowrap;justify-content:center;gap:10px;margin-inline:auto;font-size:10px;transform:none}#toast,#duelbar{left:var(--band-left);white-space:normal;text-align:left;width:min(50vw,360px);max-width:none;margin-inline:0;font-size:12px;right:auto;transform:none}#toast{top:auto;bottom:calc(var(--log-bottom) + var(--log-height) + 6px);padding:6px 12px}#duelbar{padding:5px 12px;top:116px;bottom:auto}body:has(#chatPanel.console) #toast{text-align:center;width:auto;margin-inline:auto;inset:154px 132px auto 112px}#castbar{white-space:normal;text-align:center;max-width:60vw;font-size:12px;bottom:8px}#dialogue{gap:8px;width:97vw;padding:10px;font-size:14px;bottom:12px}#dialogue .dlg-side{flex:0 0 72px}#dialogue .dlg-face,#dialogue .dlg-emoji{width:72px;height:84px;font-size:40px;line-height:84px}#dialogue .dlg-name{font-size:12px}#dialogue .dlg-panel{min-height:84px;padding:8px 10px}#dialogue .dlg-text{min-height:40px;line-height:1.45}#chatPanel{left:var(--band-left);width:min(50vw,360px);right:auto}:root{--log-height:82px}#chatLog{font-size:11px}#chatPanel:not(.console) #chatLog>div:nth-last-child(n+4){display:none}:root{--log-bottom:calc(var(--safe-bottom) + var(--band-thumb))}#journal,#players,#rucksack{-webkit-overflow-scrolling:touch;width:94vw;max-height:78vh;padding:14px}#rucksack .r-columns{flex-direction:column;gap:10px}#rucksack .r-worn{flex:auto;width:100%}#rucksack .r-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}#optionsPanel{width:94vw;min-width:0;max-height:86vh;padding:14px}#optionsPanel h3{margin-bottom:10px}#worldmap .wm-bar{gap:10px;padding:8px 12px}#worldmap .wm-legend{gap:8px;padding:6px 12px;font-size:10px}#touchPanels{width:var(--band-tabs);flex-direction:column;margin:0;top:72px;left:0;right:auto}#touchPanels .touch-btn{width:var(--band-tabs);height:var(--band-tabs);font-size:19px}#touchPanels .touch-btn+.touch-btn{border-left:none;border-top:var(--ui-scale) solid color-mix(in srgb, var(--rule) 10%, transparent)}@media (max-height:400px){#touchPanels{max-height:calc(100dvh - 72px - var(--safe-bottom,0px));flex-wrap:wrap;align-content:flex-start;width:auto}}#titleRail{flex-basis:232px;gap:20px;padding:22px 20px 18px}#title h1{letter-spacing:4px;padding-left:16px;font-size:22px}#title h1:before{width:7px;height:19px;top:2px}#title .tagline{display:none}#titleMain{padding:0 16px}#slots .band{gap:16px;min-height:64px;padding:12px 14px}#slots .slot-no{width:22px;font-size:26px}#slots .slot-day{font-size:16px}#slots .slot-del{width:44px}}@media (max-height:560px){#title .hint{display:none}#titleRail{gap:16px;padding:18px 16px 14px}#titleRail .rail-foot{font-size:9px;line-height:1.8}#titleMain>.rail-head{margin-bottom:12px}#slots .band{min-height:68px;padding:10px 12px}#slots .slot-facts{gap:12px;font-size:10px}#slots .slot-seed{display:none}#slots .slot-world{margin-left:8px;font-size:10px}:root{--touch-edge:0px}#status{padding-top:calc(var(--safe-top) + 7px);padding-left:calc(var(--safe-left) + 12px);top:0;left:0}#inventory{top:calc(var(--safe-top) + 48px);padding-left:calc(var(--safe-left) + 12px);left:0}#minimap{top:var(--safe-top);right:var(--safe-right)}#areaName{top:calc(var(--safe-top) + 52px)}#touchPanels{top:calc(var(--safe-top) + 62px);left:var(--safe-left);margin:0;right:auto}#compass{top:auto;bottom:0}#chatPanel{left:calc(var(--safe-left) + var(--band-left));width:min(calc(50vw - var(--band-left)), 360px);padding-left:0}#toast,#duelbar{left:calc(var(--safe-left) + var(--band-left))}#duelbar{top:calc(var(--safe-top) + 116px)}#castbar{bottom:var(--safe-bottom)}:root{--log-height:62px}#chatPanel:not(.console) #chatLog>div:nth-last-child(n+3){display:none}:root{--log-bottom:calc(var(--safe-bottom) + var(--band-thumb))}#dialogue{bottom:var(--safe-bottom);width:calc(100vw - var(--safe-left) - var(--safe-right))}:root{--touch-act:66px;--act-reach:74px;--touch-gap:6px}#touchMore{gap:5px;width:min(94vw,440px)}#touch .touch-more-btn{gap:8px;min-height:44px;padding:0 10px;font-size:11px}.touch-more-btn .touch-glyph{font-size:16px}}#turnPhone{z-index:9000;background:var(--surface);color:var(--ink);padding:calc(24 * var(--ui-scale));font-family:var(--face);text-align:center;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#turnPhone .turn-card{max-width:calc(320 * var(--ui-scale))}#turnPhone .turn-icon{font-size:calc(56 * var(--ui-scale));line-height:1;animation:2.4s ease-in-out infinite turn-nudge;display:inline-block}#turnPhone h2{margin:calc(14 * var(--ui-scale)) 0 calc(8 * var(--ui-scale));font-size:calc(20 * var(--ui-scale));letter-spacing:calc(.5 * var(--ui-scale))}#turnPhone p{font-size:calc(14 * var(--ui-scale));opacity:.8;margin:0;line-height:1.5}@keyframes turn-nudge{0%,55%,to{transform:rotate(0)}25%,40%{transform:rotate(-90deg)}}@media (prefers-reduced-motion:reduce){#turnPhone .turn-icon{animation:none;transform:rotate(-90deg)}}#minimapCanvas{cursor:pointer}:root{--play-surface:var(--surface,#060916b8);--play-rule:var(--rule,#d6ddff24);--play-ink:var(--ink,#eef2ff);--paper-top:#f6efdc;--paper-bottom:#e8dcc0;--paper-rule:#8a6a3d;--paper-rule-faint:#c9b58a;--paper-ink:#2a2418;--paper-ink-dim:#6a5a3a;--paper-ink-faint:#8a7a5a;--paper-accent:#6b3f1d;--paper-surface:linear-gradient(180deg, var(--paper-top) 0%, var(--paper-bottom) 100%)}#minimap,#status,#inventory,#quests,#debug,#toast,#duelbar,#castbar,#chatLog>div,#chatPanel.console,#dialogue{background:var(--play-surface);color:var(--play-ink)}#minimap,#status,#inventory,#quests,#debug,#dialogue,#chatPanel.console{border-color:var(--play-rule)}#dialogue .dlg-panel,#dialogue .dlg-emoji{background:color-mix(in srgb, var(--play-surface) 76%, transparent);border-color:var(--play-rule)}#journal,#roster,#players,#rucksack,#optionsPanel,#worldmap,#kinpanel{background:var(--paper-surface);color:var(--paper-ink);border-color:var(--paper-rule);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}#journal h2,#journal h3,#roster h2,#players h2,#rucksack h2,#rucksack h3,#optionsPanel h3,#worldmapTitle,#kinTitle,#optionsPanel .value-display{color:var(--paper-accent)}#journal h3,#rucksack h3,#optionsPanel .rail-head:after{border-color:var(--paper-rule-faint);background-color:var(--paper-rule-faint)}#journal .j-line,#players .j-line,#roster .j-line,#rucksack .r-stats,#rucksack .r-slot-name{color:var(--paper-ink)}#journal .j-empty,#players .j-empty,#rucksack .r-empty,#rucksack .r-note,#rucksack .r-item.empty,#kinCard .kin-note{color:var(--paper-ink-dim)}#journal .j-hint,#players .j-hint,#roster .j-hint,#rucksack .r-hint{color:var(--paper-ink-faint)}#optionsPanel #gpuName.software,#optionsPanel .opt-note.software{color:var(--paper-accent)}#optionsPanel .opt-esc,#optionsPanel .rail-head span,#optionsPanel .opt-row label,#optionsPanel .opt-note,#optionsPanel .opt-hint,#optionsPanel .opt-build{color:var(--paper-ink-faint)}#optionsPanel select,#optionsPanel input[type=text],#optionsPanel button,#optionsPanel button.wide,#optionsPanel .opt-link{color:var(--paper-ink);border-color:var(--paper-rule-faint);background:#ffffff5c;border-radius:0}#optionsPanel select:focus,#optionsPanel input[type=text]:focus,#optionsPanel button:hover,#optionsPanel button.wide:hover{border-color:var(--paper-rule);background:#ffffff94}#optionsPanel input[type=range],#optionsPanel .opt-row input[type=checkbox]{accent-color:var(--paper-rule)}#optionsPanel .opt-foot{border-color:var(--paper-rule-faint)}#optionsPanel .opt-leave{color:var(--paper-accent);border-color:var(--paper-rule)}#worldmap .wm-bar,#kinpanel .wm-bar{background:var(--paper-top);border-color:var(--paper-rule)}#worldmap .wm-legend,#kinpanel .wm-legend{background:var(--paper-bottom);border-color:var(--paper-rule-faint);color:var(--paper-ink-dim)}#worldmap .wm-keys,#kinpanel .wm-keys{color:var(--paper-ink-faint)}#kinCard{background:var(--paper-top);border-color:var(--paper-rule);color:var(--paper-ink)}
