:root{--bg:#14110d;--panel:#1d1914;--panel-2:#262019;--line:#3a3127;--text:#ece3d3;--muted:#a8998a;--accent:#d9a441;--accent-ink:#1a1307;--green:#7fbf6a;--danger:#d0664f;--player:#2c3a2a;--npc:#2e2638;--serif:"EB Garamond", Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);margin:0}body{overflow:hidden}[hidden]{display:none!important}button,input{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:.55em 1em;transition:background .15s,border-color .15s,opacity .15s}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.35;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08)}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.ghost:hover{color:var(--text);border-color:var(--line)}button.danger{color:var(--danger)}input{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);outline:none;min-width:0;padding:.65em .8em}input:focus{border-color:var(--accent)}.row{align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.small{font-size:.85rem}.screen{position:fixed;inset:0}.center{place-items:center;padding:16px;display:grid;overflow:auto}.start-card{text-align:center;max-width:560px}.start-card h1{font-family:var(--serif);margin:.2em 0 .3em;font-size:clamp(2rem,6vw,3.2rem);font-weight:500;line-height:1.1}.login-card{text-align:left;gap:12px;width:min(420px,100%);display:grid}.login-card h1{text-align:center}.login-card label:not(.row){gap:4px;display:grid}.login-card input[type=email],.login-card input[type=password]{width:100%}.login-card .row{align-items:flex-start;gap:8px}.login-msg{min-height:1.2em;color:var(--accent);margin:0}.login-links{justify-items:start;gap:4px;display:grid}.linkish{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:none;padding:2px 0;text-decoration:underline}#report-text{resize:vertical;width:100%;font:inherit;padding:8px}.kicker{font-family:var(--mono);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem}.lead{font-family:var(--serif);color:var(--muted);margin:0 0 2em;font-size:1.25rem}.hero-pick{border-top:1px solid var(--line);margin-top:2em;padding-top:1.5em}.hero-pick .row{flex-wrap:wrap;justify-content:center}#continue-box button{padding:.7em 2.2em;font-size:1.1rem}#intro{background:#000;place-items:center;display:grid;overflow:hidden}#intro-stage{font-family:var(--mono);place-items:center;width:100%;height:100%;display:grid}#intro-skip{color:#888;z-index:2;position:absolute;bottom:16px;right:16px}.intro-credit{white-space:pre;letter-spacing:.05em;font-size:clamp(14px,2.4vw,22px)}.intro-credit span{transition:color 90ms}.crt{color:#ff5;white-space:pre;line-height:1.25;font-size:var(--crt-font,14px);background:#55f;padding:2vh 2vw;position:relative;box-shadow:0 0 60px #5555ff73}.crt:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#00000012 0 1px,#0000 1px 4px);position:absolute;inset:0}.crt .w{color:#fff}.press{color:#aaa;text-align:center;margin-top:1.5em;animation:1.2s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}#game{flex-direction:column;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.brand{font-family:var(--serif);color:var(--accent);font-size:1.15rem}.topbar nav{gap:4px;display:flex;position:relative}.layout{flex-direction:column;flex:1;gap:8px;min-height:0;padding:8px;display:flex}.top-row{flex:0 0 40%;gap:8px;min-height:170px;max-height:54%;display:flex}.bottom-row{flex:1;gap:8px;min-height:0;display:flex}.picture{aspect-ratio:16/9;background:#000;flex:none;max-width:62%;height:100%;margin:0;position:relative;overflow:hidden}.picture img,.placeholder{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.picture img{animation:.6s fadein}@keyframes fadein{0%{opacity:0}to{opacity:1}}.placeholder{text-align:center;font-family:var(--serif);color:#ffffffbf;place-items:center;padding:1em;font-size:1.4rem;display:grid}.placeholder small{font-family:var(--mono);opacity:.6;margin-top:.5em;font-size:.7rem;display:block}figcaption{font-family:var(--serif);color:#fff;background:linear-gradient(#0000,#000000bf);padding:24px 14px 10px;font-size:1.2rem;position:absolute;bottom:0;left:0;right:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0;min-height:0}.panel-title{font-family:var(--serif);color:var(--accent);margin-bottom:4px;font-size:1.05rem;display:block}.p-map{flex:1}.p-stats{flex:0 0 168px;justify-content:space-around;gap:4px;padding:8px 4px;display:flex}.gauge{flex-direction:column;flex:1;align-items:center;gap:6px;min-height:0;display:flex}.g-val{font-size:.95rem}.g-name{color:var(--muted);text-align:center;font-size:.7rem}.trough{background:var(--line);border-radius:3px;flex:1;width:22px;min-height:40px;display:block;position:relative;overflow:hidden}.trough>i{height:calc(var(--v,0) * 1%);background:var(--green);transition:height .4s,background .4s;position:absolute;bottom:0;left:0;right:0}.p-left{flex-direction:column;flex:0 0 clamp(250px,24%,340px);gap:12px;padding:12px;display:flex;overflow:auto}.p-text{flex:1}.compass{grid-template-columns:1fr auto 1fr;place-items:center;gap:0 10px;padding:18px 0 6px;display:grid}.dial{flex:none;grid-column:2;width:132px;height:132px;position:relative}.dial-svg{width:100%;height:100%;position:absolute;inset:0}.dial button{width:38px;height:34px;font-family:var(--mono);padding:0;font-size:.85rem;position:absolute}.dial button:not(:disabled){color:var(--accent);border-color:#5a4a30}.c-e{top:-4px;left:47px}.c-d{bottom:-4px;left:47px}.c-ny{top:49px;left:-4px}.c-k{top:49px;right:-4px}.vert{flex-direction:column;grid-column:3;justify-content:center;justify-self:start;gap:8px;margin-left:14px;display:flex}.vert button{width:40px;height:36px;padding:0;font-size:1.5rem;line-height:1}.inv>span{color:var(--muted)}.inv ul{flex-wrap:wrap;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.inv li{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:.82rem}.inv li.free{display:none}.inv li img{width:auto;height:26px;display:block}.inv li .nm{display:none}.inv li[data-tint=fekete] img{filter:brightness(.18)contrast(1.4)}.inv li[data-tint=feher] img{filter:grayscale()brightness(1.9)}.inv li[data-tint=ezust] img{filter:grayscale()brightness(1.25)}.story{flex-direction:column;min-height:0;display:flex}.log{scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:18px clamp(12px,2vw,28px);display:flex;overflow-y:auto}.msg{max-width:56rem;line-height:1.55;animation:.3s fadein}.msg.narrator{font-family:var(--serif);font-size:1.18rem}.msg.player{background:var(--player);border-radius:14px 14px 4px;align-self:flex-end;max-width:80%;padding:.45em .9em}.msg.npc{font-family:var(--serif);background:var(--npc);border-left:3px solid #9b7fd1;border-radius:4px 14px 14px;padding:.55em 1em;font-size:1.18rem}.msg.npc .who{font-family:var(--sans);color:#c3b0ea;text-transform:capitalize;margin-bottom:2px;font-size:.78rem;display:block}.msg.system{color:var(--muted);align-self:center;font-size:.82rem;font-style:italic}.msg.inventory{font-size:.95rem}.msg.inventory b{color:var(--muted);font-weight:400}.msg.ending{font-family:var(--serif);border:1px solid var(--accent);border-radius:var(--radius);padding:.8em 1em;font-size:1.2rem}.msg.waiting:before{content:"···";color:var(--muted);letter-spacing:.2em;animation:1s steps(2,end) infinite blink}.msg.waiting:after{content:none}.msg.pending:after{content:"▍";color:var(--accent);animation:1s steps(2,end) infinite blink}.input{border-top:1px solid var(--line);padding:10px clamp(12px, 2vw, 28px) max(10px, env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:8px;display:grid;position:relative}.input .row input{flex:1;font-size:1.05rem}.input .row button{width:48px;height:44px;padding:0;font-size:1.1rem}.input .row .quick-toggle{width:44px;font-size:1.5rem;line-height:1}.quick{z-index:6;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% - 6px);left:clamp(12px,2vw,28px);box-shadow:0 4px 14px #00000059}.quick button{text-align:left;white-space:nowrap;padding:.35em 1em;font-size:.85rem}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;width:min(520px,100vw - 32px);padding:0}dialog::backdrop{background:#0009}.dlg{gap:14px;padding:20px;display:grid}.dlg h2{font-family:var(--serif);margin:0;font-size:1.6rem;font-weight:500}.dlg fieldset{border:1px solid var(--line);border-radius:var(--radius);gap:8px;display:grid}.dlg legend{color:var(--muted);padding:0 6px}.dlg label{cursor:pointer;align-items:baseline;gap:8px;display:flex}.dlg-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.dlg .row input{flex:1}.save-list{grid-template-columns:minmax(0,1fr);gap:6px;max-height:40vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.save-list li{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 10px;display:flex}.save-list li div{flex:1;min-width:0}.save-list li b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.save-list li small{color:var(--muted)}.save-list .empty{color:var(--muted);border-style:dashed;justify-content:center}.save-list li.auto{border-style:dashed}.save-list .save-kind{color:var(--muted);margin-right:4px}.save-filter{flex-wrap:wrap;gap:4px;margin:4px 0 8px;display:flex}.save-filter button{border-radius:999px;padding:3px 10px;font-size:.85rem}.save-filter button:after{content:attr(data-count);opacity:.7;margin-left:6px;font-size:.75rem}.save-filter button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.ending h2{color:var(--accent)}.ending p{font-family:var(--serif);margin:0;font-size:1.15rem;line-height:1.5}@media (width>=1921px){#game{zoom:var(--z,1);width:calc(100vw / var(--z,1));height:calc(100dvh / var(--z,1));inset:0 auto auto 0}}.quick-guide{border-bottom:1px dashed;gap:4px;margin-bottom:2px;padding-bottom:4px;display:grid}.quick .guide-step{color:#fff;background:#2f8f4e;border-color:#1d5c32;font-weight:700}.quick .guide-step:hover:not(:disabled){color:#fff;background:#3aa85d}.quick .guide-left{opacity:.8;text-align:center;font-size:.8rem}.quick-toggle.has-guide{box-shadow:0 0 0 2px #3aa85d}.dial button.next:not(:disabled){box-shadow:0 0 0 2px #b7f0c8;color:#fff!important;background:#3aa85d!important;border-color:#1d5c32!important}.picture.compare-on{aspect-ratio:32/9;max-width:82%}.picture.compare-on #scene-img,.picture.compare-on #scene-placeholder{display:none}.cmp-wrap{background:#000;gap:3px;display:flex;position:absolute;inset:0}.cmp{background:#14110e;flex:1 1 0;min-width:0;position:relative}.picture .cmp img{object-fit:contain;width:100%;height:100%;animation:none;position:absolute;inset:0}.cmp .tag{z-index:2;font:600 .75rem var(--mono);color:#fff;background:#0009;border-radius:3px;padding:1px 7px;position:absolute;top:4px;left:4px}.cmp.missing{background:repeating-linear-gradient(45deg,#2a1414,#2a1414 10px,#1c0e0e 10px 20px);place-items:center;display:grid}@media (width<=820px){.layout{gap:6px;padding:6px}.top-row{flex-direction:column;flex:none;gap:6px;min-height:0;max-height:none}.p-stats{flex-direction:row;flex:none;gap:14px;padding:6px 10px}.gauge{flex-direction:row;gap:8px}.g-val{text-align:right;order:3;min-width:3.2em}.g-name{text-align:left;order:1;min-width:4.6em}.trough{flex:1;order:2;width:auto;height:12px;min-height:0}.trough>i{width:calc(var(--v,0) * 1%);height:auto;transition:width .4s;top:0;right:auto}.picture{aspect-ratio:auto;width:100%;max-width:none;height:28dvh}.bottom-row{flex-direction:column-reverse;gap:6px}.p-left{flex:none;padding:8px;overflow:visible}.bag-box{display:none}.compass{flex-wrap:nowrap;gap:10px}.vert button{width:34px;height:30px}.msg.narrator,.msg.npc{font-size:1.08rem}.brand{font-size:1rem}.brand-rest{display:none}body.theme-pixel .panel,body.theme-pixel .picture{border-width:7px;border-image-width:7px}}.setup{padding:24px 16px 40px;overflow-y:auto}.setup-card{gap:18px;max-width:760px;margin:0 auto;display:grid}.setup-card h1{font-family:var(--serif);margin:0;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:500}.choice{border:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:0;display:grid}.choice legend{font-family:var(--serif);margin-bottom:8px;padding:0;font-size:1.25rem}.option{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:8px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex;position:relative}.option:hover{border-color:var(--muted)}.option input{opacity:0;pointer-events:none;position:absolute}.option:has(input:checked){border-color:var(--accent);background:var(--panel-2);box-shadow:0 0 0 1px var(--accent) inset}.option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.option b{font-weight:600;display:block}.option small{color:var(--muted);margin-top:2px;display:block}.picture-option{padding:0;overflow:hidden}.picture-option img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.picture-option span{padding:0 14px 12px}.advanced{color:var(--muted)}.advanced summary{cursor:pointer}.advanced label{color:var(--text);gap:8px;margin-top:8px;display:flex}.privacy{margin:0}.setup-actions{justify-content:flex-end}.setup-actions .primary{padding:.7em 2em;font-size:1.1rem}.new-adventure{margin-top:1.5em}.button-link{border-radius:var(--radius);padding:.55em 1em;text-decoration:none}.chronicle{color:#3b2a1a;max-width:760px;max-height:84vh;font-family:var(--serif);background:#f1e6c8;border-radius:4px;padding:clamp(16px,3.5vw,44px);font-size:clamp(13px,min(1.9vw,2.3vh),20px);line-height:1.5;overflow-y:auto;box-shadow:0 0 80px #f1e6c840}.chronicle h2{text-align:center;color:#8e2a1f;letter-spacing:.12em;margin:0 0 .8em;font-size:1.3em;font-weight:500}.chronicle p{text-align:justify;margin:0 0 .8em}.chronicle p:first-of-type:first-letter{float:left;color:#8e2a1f;padding:.05em .1em 0 0;font-size:3.4em;line-height:.9}.chronicle .word{opacity:0;transition:opacity .35s}.chronicle .word.on{opacity:1}#intro .press.kodex{color:#c9b98f}body.theme-kodex{--bg:#e9dcbc;--panel:#f3e9d0;--panel-2:#ebdfc1;--line:#cbb98f;--text:#33251a;--muted:#7a6650;--accent:#9b2f22;--accent-ink:#fff6e6;--green:#4f7a35;--danger:#a0331f;--player:#e2d2ad;--npc:#e8dcc0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body.theme-kodex .msg.npc{border-left-color:#2a4b8d}body.theme-kodex .msg.npc .who{color:#2a4b8d}body.theme-kodex figcaption{color:#fff}body.theme-kodex .compass button:not(:disabled){border-color:#b98a5a}body.theme-pixel{--bg:#19120d;--panel:#2a1d13;--panel-2:#3a281a;--line:#5a4129;--text:#ecdcb8;--muted:#b5a283;--accent:#f0a020;--accent-ink:#2a1a05;--green:#4f8a3a;--danger:#d0664f;--player:#cdb98c;--npc:#d9c79b;--radius:2px;--parchment:#e6d5b0;--ink:#2a2118;--wood:#6b4a30;--brass:#c9a24a;--stone:#8b8777;--stone-hi:#a8a493;--stone-lo:#5c5a4d;--pixfont:"Pixelify Sans", "IBM Plex Mono", ui-monospace, monospace;background:radial-gradient(ellipse at 50% 0%, #2b1f16, var(--bg) 70%);color:#e6d5b0}body.theme-pixel #game{--serif:var(--pixfont);font-family:var(--pixfont)}body.theme-pixel .topbar{color:#e6d5b0;background:#2a1d13;border-bottom:2px solid #0e0905}body.theme-pixel .brand{font-family:"Jersey 10", var(--pixfont);letter-spacing:.06em;color:var(--brass);font-size:1.6rem}body.theme-pixel .topbar button{color:#cdb98c}body.theme-pixel .panel,body.theme-pixel .picture{image-rendering:pixelated;background-clip:padding-box;border:14px solid #0000;border-image:url(/img/ui/pixel/frame.png) 7/14px;border-radius:0}body.theme-pixel .picture{background:#000}body.theme-pixel .picture img{image-rendering:auto}body.theme-pixel .panel{--text:var(--ink);--muted:#4d4535;--line:#3b2c1e;--panel-2:#5f5c50;color:var(--ink);background:var(--stone) url(/img/ui/pixel/stone.png) 0 0 / 384px 384px;image-rendering:pixelated}body.theme-pixel .panel>*,body.theme-pixel .panel img{image-rendering:auto}body.theme-pixel .panel-title{font-family:"Jersey 10", var(--pixfont);letter-spacing:.08em;color:#f3e6c4;text-shadow:1px 1px #2a1d13;text-transform:uppercase;font-size:1.35rem}body.theme-pixel figcaption{font-family:"Jersey 10", var(--pixfont);letter-spacing:.05em;font-size:1.5rem}body.theme-pixel .p-left{gap:6px;padding:4px}body.theme-pixel button{background:var(--stone-hi);color:var(--ink);box-shadow:inset -2px -2px 0 var(--stone-lo), inset 2px 2px 0 #cfcbb9;border:2px solid #2a2118;border-radius:0;padding:.4em .9em;font-family:inherit}body.theme-pixel button:hover:not(:disabled){border-color:var(--accent);background:#b6b2a1}body.theme-pixel button:active:not(:disabled){box-shadow:inset 2px 2px 0 var(--stone-lo), inset -2px -2px 0 #cfcbb9}body.theme-pixel button:disabled{opacity:.45}body.theme-pixel button.ghost{box-shadow:none;background:0 0;border-color:#0000}body.theme-pixel .save-list button.ghost{color:var(--muted)}body.theme-pixel button.primary{background:var(--accent);color:var(--accent-ink)}body.theme-pixel input{color:#f1e4c2;background:#1c1610;border:2px solid #0e0905;border-radius:0}body.theme-pixel #game input,body.theme-pixel #game button{font-family:var(--pixfont)}body.theme-pixel input:focus{border-color:var(--accent)}body.theme-pixel .dial button{color:#2a2118;background:var(--stone-hi);place-items:center;padding:0;font-size:1rem;font-weight:700;line-height:1;display:grid}body.theme-pixel .dial button:not(:disabled){color:#2a2118;border-color:#1b1209}body.theme-pixel .dial button:disabled{opacity:.62;color:#5d5444}body.theme-pixel .vert button{color:#2a2118;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}body.theme-pixel .p-stats{color:var(--ink)}body.theme-pixel .g-val{color:#f6ecd0;text-shadow:1px 1px #1b1209,-1px 0 #1b1209,0 -1px #1b1209;font-size:1rem;font-weight:700}body.theme-pixel .g-name{color:#f6ecd0;text-shadow:1px 1px #1b1209,-1px 0 #1b1209,0 -1px #1b1209;font-size:.78rem;font-weight:500}body.theme-pixel .trough{background:#3b3326;border:2px solid #1b1209;border-radius:0;box-shadow:inset 2px 2px #00000080}body.theme-pixel .trough>i{left:0;right:0}body.theme-pixel .inv ul{grid-template-columns:repeat(5,1fr);gap:5px;margin-top:2px;display:grid}body.theme-pixel .inv li{aspect-ratio:1;color:#e6d5b0;text-align:center;word-break:break-word;background:#3a3932;border:2px solid #1f1d18;border-radius:0;place-items:center;padding:2px;font-size:.72rem;line-height:1.05;display:grid;overflow:hidden;box-shadow:inset 2px 2px #00000080,inset -1px -1px #ffffff0f}body.theme-pixel .inv li.free{display:grid}body.theme-pixel .inv li img{object-fit:contain;width:100%;height:auto;max-height:90%;image-rendering:pixelated}body.theme-pixel .p-text{background:var(--parchment);color:var(--ink)}body.theme-pixel .log{scrollbar-width:thin;scrollbar-color:#8a6a3f #d8c59c;padding:14px clamp(10px,1.6vw,24px)}body.theme-pixel .msg{color:var(--ink)}body.theme-pixel .msg.narrator,body.theme-pixel .msg.npc{font-size:1.12rem;line-height:1.5}body.theme-pixel .msg.player{color:#6b2c14;background:0 0;border-radius:0;align-self:flex-start;max-width:100%;padding:0}body.theme-pixel .msg.player:before{content:"› ";font-weight:700}body.theme-pixel .msg.npc{border-left:4px solid var(--wood);background:#d9c79b;border-radius:0}body.theme-pixel .msg.npc .who{font-family:"Jersey 10", var(--pixfont);color:#6b2c14;letter-spacing:.05em;font-size:1.1rem}body.theme-pixel .msg.system{color:#6b5a3c}body.theme-pixel .msg.ending{border-color:var(--wood)}body.theme-pixel .input{border-top:2px solid #b79b68}body.theme-pixel .quick{background:#cdb98c;border:2px solid #2a2118;border-radius:0;box-shadow:3px 3px #00000059}body.theme-pixel .map-hint,body.theme-pixel .map-hint.muted{color:#2a2118}body.theme-kodex{background:radial-gradient(at 50% 0,#f3e9cf,#e4d5b0 80%)}body.theme-kodex .topbar{background:#e6d7b2;border-bottom:2px solid #8a6a3f}body.theme-kodex .brand{letter-spacing:.02em;font-style:italic}body.theme-kodex .panel,body.theme-kodex .picture{border:2px solid #5b3b22;border-radius:3px;box-shadow:inset 0 0 0 3px #f6eed7,inset 0 0 0 4px #b8913a}body.theme-kodex .picture{margin:4px;box-shadow:0 0 0 3px #f6eed7,0 0 0 4px #b8913a}body.theme-kodex .panel{background-color:#f3e9d0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .45  0 0 0 0 .33  0 0 0 0 .18  0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}body.theme-kodex .panel-title{color:#8e2a1f;border-bottom:1px solid #b8913a;margin-bottom:6px;padding-bottom:2px;font-size:1.2rem;font-style:italic}body.theme-kodex figcaption{font-style:italic}body.theme-kodex button{color:#33251a;background:#f6eed7;border:1.5px solid #5b3b22;border-radius:3px;box-shadow:1px 1px #5b3b2259}body.theme-kodex button:hover:not(:disabled){color:#8e2a1f;border-color:#8e2a1f}body.theme-kodex button.ghost{box-shadow:none;background:0 0;border-color:#0000}body.theme-kodex button.primary{color:#fff6e6;background:#8e2a1f;border-color:#5e1a12}body.theme-kodex input{color:#33251a;background:#fbf5e4;border:1.5px solid #5b3b22;border-radius:3px}body.theme-kodex .dial-svg{filter:sepia(.35)saturate(.85)}body.theme-kodex .dial button{color:#8e2a1f;font-family:var(--serif);background:#f6eed7;place-items:center;padding:0;font-size:1.05rem;font-weight:600;line-height:1;display:grid}body.theme-kodex .dial button:disabled{opacity:.55;color:#7a6650}body.theme-kodex .vert button{color:#8e2a1f;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}body.theme-kodex .g-name{color:#5b4630}body.theme-kodex .trough{background:#e3d3ad;border:1.5px solid #5b3b22;border-radius:2px}body.theme-kodex .trough>i{background:#4f7a35}body.theme-kodex .inv ul{grid-template-columns:repeat(5,1fr);gap:5px;margin-top:4px;display:grid}body.theme-kodex .inv li{aspect-ratio:1;color:#33251a;text-align:center;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;background:radial-gradient(at 50% 45%,#fbf4e0 0%,#f1e3bf 75%,#e6d3a6 100%);border:1.2px solid #5b3b22;border-radius:2px;place-items:center;padding:3px;font-size:.74rem;line-height:1.05;display:grid;overflow:hidden;box-shadow:inset 0 0 0 2px #f6ecd2,inset 0 0 0 2.8px #5b3b2273}body.theme-kodex .inv li.free{background:#f1e3bf73;border-color:#5b3b2273;display:grid;box-shadow:inset 0 0 0 2px #f6ecd280,inset 0 0 0 2.8px #5b3b222e}body.theme-kodex .inv li img{display:none}body.theme-kodex .inv li .nm{display:inline}body.theme-kodex .p-text{background-color:#f6eed7}body.theme-kodex .msg.player{color:#8e2a1f;background:0 0;border-radius:0;align-self:flex-start;max-width:100%;padding:0;font-style:italic}body.theme-kodex .msg.player:before{content:"› "}body.theme-kodex .msg.npc{background:#ede0bd;border-left:3px solid #2a4b8d;border-radius:2px}body.theme-kodex .quick{background:#f6eed7;border:1.5px solid #5b3b22;border-radius:3px}body.theme-kodex .map-card{overflow:hidden}body.theme-kodex .map-wrap{scrollbar-width:thin;scrollbar-color:#b8913a #ebdfc1;flex:1;min-height:0;display:flex;overflow:auto}body.theme-kodex svg.map,body.theme-pixel svg.map{width:calc(var(--vbw,300) * var(--mz) * 1px);height:calc(var(--vbh,100) * var(--mz) * 1px);flex:none;max-width:none;margin:auto}body.theme-kodex svg.map{--mz:1.15}body.theme-kodex a,body.theme-kodex .button-link{color:#8e2a1f}body.theme-kodex .map-tip{color:#33251a;background:#f6eed7;border:1.5px solid #5b3b22;border-radius:3px;font-style:italic}:root{--map-edge:#6e5e48;--map-node:#2a231b;--map-stroke:#b79a62;--map-here:#d9a441;--map-unknown:#8a7a63;--map-text:#d8cbb4;--map-lock:#e0b24d;--map-trail:#c9a24a}.map-card{flex-direction:column;padding:8px 12px 10px;display:flex;overflow:hidden}.map-wrap{flex:1;min-height:0}.map-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.map-head b{font-family:var(--serif);color:var(--accent);font-size:1.1rem;font-weight:500}.map-tabs{flex-wrap:wrap;flex:1;gap:4px;display:flex}.map-tabs button{border-color:var(--line);padding:.15em .65em;font-size:.78rem}.map-tabs button.active{color:var(--accent);border-color:var(--accent)}.map-tabs button.here:not(.active):after{content:" •";color:var(--map-here)}.map-close{display:none}.map-wrap{overflow-x:auto}.map-wrap.grab{cursor:grab}.map-wrap.grabbing{cursor:grabbing}svg.map{width:max(60%, calc(var(--vbw,300) * .95px));-webkit-user-select:none;user-select:none;height:auto;display:block}.map .hit{fill:#0000;stroke:none}.map .edge{stroke:var(--map-edge);stroke-width:2px;stroke-linecap:round}.map .edge.solid{stroke:var(--map-trail);stroke-width:2.2px;stroke-dasharray:.5 4.5;opacity:.95}.map .edge.fresh{animation:1.6s ease-out map-trail}@keyframes map-trail{0%{opacity:0;stroke-dashoffset:30px}}.map .edge.dashed{stroke-dasharray:3 5;opacity:.75}.map .edge.chasm{stroke-dasharray:2 6;stroke:var(--danger);opacity:.8}.map .node .mark{fill:var(--map-node);stroke:var(--map-stroke);stroke-width:1.5px;rx:9px}.map .node.visited .mark{fill:color-mix(in srgb, var(--map-node) 35%, transparent)}.map .node.unknown .mark,.map .node.locked .mark{stroke-dasharray:3 3;stroke:var(--map-unknown);fill:#0000}.map .node text.q{fill:var(--map-unknown);font-size:13px;font-weight:700}.map .label{fill:var(--map-text);font-size:8.5px;font-family:var(--serif);paint-order:stroke;stroke:var(--bg);stroke-width:2px;stroke-linejoin:round;pointer-events:none}.map .node.current .mark{stroke:var(--map-here);stroke-width:2px}.map .go{cursor:pointer}.map .go .mark{stroke:var(--map-text)}.map .go:hover .mark,.map .portal.go:hover .arrow{filter:brightness(1.4)}.map .portal .arrow{fill:var(--map-stroke)}.map .portal.climb .arrow{fill:var(--map-here)}.map .portal.unknown .arrow,.map .portal.locked .arrow{fill:none;stroke:var(--map-unknown);stroke-width:1.5px}.map .lock-body{fill:var(--map-lock)}.map .lock-shackle{stroke:var(--map-lock);stroke-width:2px}.map .hero{pointer-events:none}.map .hero-bob{animation:2.4s ease-in-out infinite map-bob}@keyframes map-bob{50%{transform:translateY(-1.5px)}}.map .hero-shadow{fill:#00000040}.map .hero-cloak{fill:#8e2a1f;stroke:#33241a;stroke-width:.8px}.map .hero-head{fill:#ecd2ae;stroke:#33241a;stroke-width:.7px}.map .hero-hood{fill:#8e2a1f;stroke:#33241a;stroke-width:.7px;stroke-linejoin:round}.map .rose{pointer-events:none;opacity:.85}.map .rose-ring{fill:none;stroke:var(--map-edge);stroke-width:.8px}.map .rose-a{fill:var(--map-stroke);stroke:var(--map-edge);stroke-width:.5px}.map .rose-n{fill:var(--map-here)}.map .rose-t{fill:var(--map-text);font-family:var(--serif);font-size:7px;font-weight:600}.map .dracones{fill:var(--map-here);opacity:.55;font-family:var(--serif);letter-spacing:.03em;pointer-events:none;font-size:9px;font-style:italic}.map mask .reveal{animation:1.4s ease-out map-reveal}.map .terrain image.reveal{animation:.9s steps(5,end) map-reveal}@keyframes map-reveal{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.map .hero-bob,.map .edge.fresh,.map mask .reveal,.map .terrain image.reveal{animation:none}}.map-hint{margin:6px 0 0}.map-tip{z-index:60;pointer-events:none;background:var(--panel);max-width:240px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--serif);padding:5px 10px;font-size:.95rem;position:fixed;box-shadow:0 3px 10px #0006}body.theme-pixel .map-tip{color:#f6ecd0;border:2px solid var(--brass);font-family:var(--pixfont);background:#2a1d13;border-radius:0;padding:4px 9px;font-size:.9rem;box-shadow:3px 3px #00000073}.map-open{display:none}body.theme-pixel .map .layer,body.theme-pixel .map .layer *,body.theme-pixel .map .rose *{shape-rendering:crispedges}body.theme-pixel .map .pix{image-rendering:pixelated}body.theme-pixel{--map-edge:#2a2118;--map-node:#a7a392;--map-stroke:#2a2118;--map-here:#f0a020;--map-unknown:#4d4535;--map-text:#2a2118;--map-lock:#6b4a30;--map-trail:#f3e6c4}body.theme-pixel .map-card{overflow:hidden}body.theme-pixel .map-wrap{scrollbar-width:thin;scrollbar-color:#5c5a4d #3b3a33;flex:1;min-height:0;display:flex;overflow:auto}body.theme-pixel svg.map{--mz:1.25}body.theme-pixel .map .node .mark{rx:0px;stroke-width:2px}body.theme-pixel .map .node.visited .mark{fill:none;stroke:#2a21188c}body.theme-pixel .map .node.unknown .mark,body.theme-pixel .map .node.locked .mark{fill:#8b8777d9;stroke:#2a2118;stroke-dasharray:4 4;stroke-width:2px}body.theme-pixel .map .node.current .mark{stroke:var(--map-here);stroke-width:3px}body.theme-pixel .map .node text.q{fill:var(--map-text);font-family:var(--serif);font-size:18px;font-weight:700}body.theme-pixel .map .edge{stroke-width:2px;stroke-linecap:butt}body.theme-pixel .map .edge.solid{stroke:var(--map-trail);stroke-width:3px;stroke-dasharray:3 3;opacity:.9}body.theme-pixel .map .edge.dashed{stroke-dasharray:3 3;opacity:1}body.theme-pixel .map .label{display:none}body.theme-pixel .map .portal .arrow{fill:var(--map-here);stroke:#2a2118;stroke-width:1.5px;transform:scale(1.5)}body.theme-pixel .map .portal.unknown .arrow,body.theme-pixel .map .portal.locked .arrow{fill:#8b8777;stroke:#2a2118;stroke-dasharray:2 2}body.theme-pixel .map .go .mark{stroke:#f3e6c4}body.theme-pixel .map .go:hover .mark{stroke:var(--map-here);filter:none}body.theme-pixel .map .rose-a{fill:#e6d5b0;stroke:none}body.theme-pixel .map .rose-t{font-family:var(--pixfont);fill:#f3e6c4;font-size:8px}body.theme-pixel .map .dracones{font-family:var(--pixfont);fill:#f3e6c4;opacity:.7;font-size:8px;font-style:normal}body.theme-pixel .map-tabs button{font-family:var(--serif);padding:.1em .6em;font-size:.75rem}body.theme-pixel .map-tabs button.active{background:var(--accent);color:var(--accent-ink);border-color:#2a2118}body.theme-kodex{--map-edge:#7a5a38;--map-node:#f7eed6;--map-stroke:#5b3b22;--map-here:#9b2f22;--map-unknown:#a58b66;--map-text:#3a2a1a;--map-lock:#8e2a1f;--map-trail:#8e2a1f}body.theme-kodex .map .layer{filter:url(#ink)}body.theme-kodex .map .edge{stroke-width:1.6px}body.theme-kodex .map .edge.solid{stroke-width:1.9px;stroke-dasharray:.2 3.6}body.theme-kodex .map .node .mark{stroke-width:1.2px;rx:50%}body.theme-kodex .map .node.visited .mark{fill:#f7eed68c}body.theme-kodex .map .node.visited:not(.named):not(.current) .mark{opacity:.55}body.theme-kodex .map .node.current .mark{stroke:#8e2a1f;stroke-width:2px;fill:#f7eed6cc}body.theme-kodex .map .label{stroke:#f6eed7e6;stroke-width:2.6px;font-size:9.5px;font-style:italic;font-weight:500}@media (width<=820px){.map-card{display:none}.map-card.open{z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding-bottom:16px;display:flex;position:fixed;inset:8px;overflow:auto}.map-card.open .map-close,.map-open{display:inline-block}}.admin{height:100%;padding:16px clamp(12px,3vw,32px) 48px;position:static;overflow:auto}.admin h1{font-family:var(--serif);margin:0 0 4px;font-weight:500}.admin h2{font-family:var(--serif);margin:28px 0 10px;font-size:1.35rem;font-weight:500}.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.card span{color:var(--muted);font-size:.85rem;display:block}.card b{font-size:1.5rem;font-weight:500}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.9rem}.data th,.data td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.data th{color:var(--muted);background:var(--panel);font-weight:500;position:sticky;top:0}.data tbody tr:hover{background:var(--panel)}.data tr.clickable{cursor:pointer}.data td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dot{background:var(--line);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot.on{background:var(--green);box-shadow:0 0 6px var(--green)}.badge{background:var(--panel-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.75rem;display:inline-block}.badge.bad{color:var(--danger);border-color:var(--danger)}.alerts{border:1px solid var(--danger);color:var(--danger);background:var(--panel-2);border-left-width:6px;border-radius:6px;margin:12px 0;padding:10px 14px}.alerts p{margin:4px 0}.ai-ctl{white-space:nowrap}.ai-ctl input{width:5.5em}.ai-ctl.saved select,.ai-ctl.saved input{outline:1px solid var(--green,#4f7a35)}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.filters select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.55em .6em}.turn-reply{color:var(--muted);white-space:pre-wrap;max-width:60ch}.turn-input{font-weight:500}.split{grid-template-columns:2fr 1fr;gap:16px;display:grid}@media (width<=900px){.split{grid-template-columns:1fr}}@media (width<=640px){.wide-only{display:none}}.report-detail{background:var(--panel-2);border:1px solid var(--line);white-space:pre-wrap;border-radius:6px;max-height:420px;padding:10px;font-size:.8rem;overflow:auto}#inventory li.item{cursor:pointer}#inventory li.item:hover{filter:brightness(1.15)}#dlg-ending{max-height:55vh;margin:12px auto auto;overflow:auto}#dlg-ending::backdrop{background:#00000040}body.theme-kodex .inv li.has-icon img{object-fit:contain;width:100%;height:100%;max-height:90%;display:block}body.theme-kodex .inv li.has-icon .nm{display:none}.menu-btn{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:3px 6px;display:grid}.menu-btn:hover,.menu-btn[aria-expanded=true]{border-color:var(--line);background:var(--panel-2)}.menu-btn svg{width:34px;height:26px;display:block}.menu-btn .ico-pixel{display:none}.menu-btn .pg{fill:#f6ecd2;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round}.menu-btn .ln{fill:none;stroke:currentColor;stroke-width:1.1px;stroke-linecap:round;opacity:.75}.menu-pop{z-index:50;white-space:nowrap;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000059}.menu-pop[hidden]{display:none}.menu-pop>button,.menu-pop>a{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:.55em .8em;text-decoration:none}.menu-pop>button:hover,.menu-pop>a:hover,.menu-pop>:focus-visible{background:var(--panel-2)}.menu-pop>[hidden],body.theme-pixel .menu-btn .ico-kodex{display:none}body.theme-pixel .menu-btn .ico-pixel{image-rendering:pixelated;width:40px;height:30px;display:block}body.theme-pixel .menu-btn:hover,body.theme-pixel .menu-btn[aria-expanded=true]{background:#3b2a1c;border-color:#0e0905;border-radius:0}body.theme-pixel .menu-pop{background:#2a1d13;border:2px solid #0e0905;border-radius:0;box-shadow:4px 4px #00000080}body.theme-pixel .menu-pop>button,body.theme-pixel .menu-pop>a{color:#e6d5b0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:.5em .8em;font-size:1.05rem}body.theme-pixel .menu-btn{box-shadow:none;background:0 0;border:2px solid #0000;padding:2px 5px}body.theme-pixel .menu-pop>button:hover,body.theme-pixel .menu-pop>a:hover{color:#f6ecd0;background:#4a3523}body.theme-kodex .menu-btn{color:#5b3b22}body.theme-kodex .menu-btn:hover,body.theme-kodex .menu-btn[aria-expanded=true]{background:#f3e9d0;border-color:#8a6a3f}body.theme-kodex .menu-pop{background:#f6ecd2;border:1.5px solid #5b3b22;border-radius:3px;padding:9px;box-shadow:inset 0 0 0 3px #f6ecd2,inset 0 0 0 4px #b8913a,0 8px 20px #3c28144d}body.theme-kodex .menu-pop>button,body.theme-kodex .menu-pop>a{color:#33251a;font-family:var(--serif);font-size:1.05rem}body.theme-kodex .menu-pop>button:hover,body.theme-kodex .menu-pop>a:hover{background:#ead9b0}#dlg-help{width:min(720px,100vw - 32px)}.dlg.help{grid-template-rows:auto 1fr auto;max-height:min(86vh,900px)}.help-body{padding-right:6px;line-height:1.5;overflow:auto}.help-body h3{font-family:var(--serif);color:var(--accent);margin:1.1em 0 .35em;font-size:1.15rem;font-weight:600}.help-body h3:first-child{margin-top:0}.help-body p{margin:.45em 0}.help-body ul{margin:.4em 0;padding-left:1.3em}.help-body li{margin:.25em 0}.help-body kbd{background:var(--panel-2);border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:0 .35em;font-family:ui-monospace,Consolas,monospace;font-size:.92em}.help-body ul.examples{flex-wrap:wrap;gap:6px 16px;padding-left:0;list-style:none;display:flex}
