:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#d9d8ce;background:#171c1a;font-synthesis:none;--muted:#898f83;--line:#343a31;--gold:#c7ac73;--paper:#e2ddcc;--accent:#ae654b;--surface:#20251f;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 70% 0,#34372a55,transparent 55%),#171c1a}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}button:disabled{cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{transition:background .15s,color .15s}button:hover{color:#f2e4c4}.masthead{height:92px;margin:0 auto;max-width:1440px;padding:0 56px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:flex;align-items:center;gap:13px;font-family:Georgia,serif;letter-spacing:4px;font-size:23px;color:var(--paper);text-decoration:none}.sigil{width:29px;height:32px;border:1px solid #8b8057;display:grid;place-items:center;transform:rotate(-3deg);font-size:24px;letter-spacing:0;color:var(--gold);background:#9b895812}.edition{font-family:var(--mono);font-size:8px;letter-spacing:2px;margin-left:5px;border-left:1px solid var(--line);padding:9px 0 9px 20px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:32px}.phase{font-size:9px;letter-spacing:1.4px;color:var(--gold)}.phase span{display:block;color:var(--muted);font-size:8px;margin-top:6px}.quiet{background:transparent;border:1px solid #4a4e40;border-radius:3px;font-size:11px;padding:10px 14px}.quiet span{margin-left:13px}main{max-width:1328px;margin:auto;padding:44px 56px 0}.intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;gap:20px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--gold);font-weight:600;margin:0 0 12px}h1{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-1px;font-size:39px;color:var(--paper);margin:0 0 12px}.subtitle{font-size:12px;color:#92978b;margin:0;line-height:1.6}.world-status{font-family:var(--mono);font-size:8px;letter-spacing:1px;white-space:nowrap;color:var(--muted);display:flex;align-items:center;gap:9px;padding-bottom:4px}.world-status #clock{font-size:12px;margin-left:9px;color:var(--paper);padding-left:15px;border-left:1px solid var(--line)}.status-dot{width:5px;height:5px;border-radius:50%;background:#adbd8d;box-shadow:0 0 8px #adbd8d44}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:24px;align-items:start}.panel{border:1px solid var(--line);border-radius:5px;background:linear-gradient(125deg,#262b22,#20251f);overflow:hidden}.panel-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-head h2{margin:0;font-size:11px;font-weight:500;letter-spacing:.3px;color:#c7cabc}.small-icon{font-size:17px;vertical-align:-1px;margin-right:8px;color:var(--gold)}.tag{font-family:var(--mono);color:#a0a88c;font-size:8px;letter-spacing:1px;border:1px solid #444a37;border-radius:3px;padding:4px 7px;background:#9ba87609}.combat-tag{color:#efad88;border-color:#a26648;background:#85534324}.journal{display:flex;flex-direction:column;height:clamp(520px,calc(100dvh - 300px),755px);min-height:0}.journal-top{display:flex;gap:19px;align-items:center;border-bottom:1px solid #343a3180;margin:0 22px;padding:31px 4px 26px}.chapter-mark{display:grid;place-items:center;flex-shrink:0;height:56px;width:41px;font-size:31px;font-family:Georgia,serif;color:#ab9768;border:1px solid #5e573d;background:#a18b4d0a}.journal-top .eyebrow{font-size:8px;margin-bottom:8px}.journal-top h3{font-family:Georgia,serif;font-size:24px;font-weight:400;color:var(--paper);margin:0 0 7px}.journal-top p:last-child{font-size:11px;color:var(--muted);margin:0}.events{height:430px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#585d4a transparent;padding:18px 25px 28px;flex:1 1 0;min-height:0;overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable}.event{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:baseline;margin-bottom:19px}.event-time{font-family:var(--mono);color:#6b7464;font-size:8px;letter-spacing:.3px}.event p{font-size:12px;line-height:1.9;white-space:pre-line;margin:0;color:#b9c0af;overflow-wrap:anywhere}.event.command{margin-top:24px;margin-bottom:10px}.event.command p{font-family:var(--mono);font-size:11px;color:var(--gold)}.event.combat p{color:#d7ae92}.event.system p{font-size:11px;color:#89967d;font-style:italic}#command-form{flex-shrink:0;margin:0;padding:17px 22px;border-bottom:1px solid var(--line);background:linear-gradient(transparent,#1d221c)}.command-line{display:flex;align-items:center;border:1px solid #596044;background:#161b16;border-radius:4px;padding:7px 9px 7px 13px;box-shadow:0 4px 15px #0001}.command-line:focus-within{border-color:#b19d68;box-shadow:0 0 0 2px #b19d680a}.prompt{font-size:23px;color:var(--gold);font-family:var(--mono);margin-right:10px}#command{width:100%;border:0;background:none;padding:7px 0;outline:none;color:#ece3cf;font-family:var(--mono);font-size:11px}#command::placeholder{color:#697461}.submit{font-family:var(--mono);background:#38402c;color:var(--gold);border:1px solid #4a5437;padding:6px 10px;border-radius:3px;font-size:16px}.submit:hover{background:#4d573b}.command-note{display:flex;align-items:center;justify-content:space-between;margin-top:11px;color:#798370;gap:10px;font-size:8px}kbd{font-family:var(--mono);font-size:8px;margin-right:3px;color:#b2baa3}.text-button{background:transparent;padding:0;color:#949e83;font-size:9px}.text-button span{display:inline-grid;place-items:center;font-size:8px;border:1px solid #4b5340;border-radius:3px;width:15px;height:15px;margin-left:4px}.sidebar{display:flex;flex-direction:column;gap:19px}.character .panel-head{padding-bottom:14px}.identity{display:flex;gap:15px;align-items:center;padding:21px 20px}.portrait{background:linear-gradient(135deg,#3d4330,#282d23);border:1px solid #5c6046;width:54px;height:64px;border-radius:3px;color:#a5ad83;flex-shrink:0}.portrait svg{height:100%;width:100%}.identity h3{font-family:Georgia,serif;font-weight:400;margin:0 0 6px;font-size:22px;color:var(--paper)}.identity p{font-size:10px;margin:0 0 5px;color:#a5ae97}.small-muted{font-size:8px;letter-spacing:.3px;color:#89937b}.health-label{display:flex;justify-content:space-between;align-items:center;margin:0 20px 8px;font-size:8px;letter-spacing:1.1px;color:#a1aa92}.health-label strong{font-family:var(--mono);font-size:13px;font-weight:400;color:#e3d7bb;letter-spacing:0}.health-label strong span{font-size:10px;color:#758268}.health-track{height:5px;background:#343d2d;margin:0 20px;border-radius:2px;overflow:hidden}#health-fill{height:100%;background:linear-gradient(90deg,#8f9c67,#a8b880);transition:width .3s}.stat-trio{display:grid;grid-template-columns:repeat(3,1fr);padding:19px 20px}.stat-trio div{text-align:center;border-right:1px solid var(--line)}.stat-trio div:last-child{border:0}.stat-trio strong{display:block;font-family:Georgia,serif;font-size:23px;font-weight:400;color:var(--paper);margin-bottom:5px}.stat-trio strong span{font-size:12px;color:#9ba58b}.stat-trio div>span{font-size:7px;letter-spacing:.7px;color:#8b977d}.weapon{display:flex;align-items:center;gap:14px;margin:0 20px;padding:13px 0;border-top:1px solid var(--line)}.weapon>span{font-size:22px;color:#b6a475}.weapon strong{font-size:10px;color:#d6d5bd;display:block;font-weight:400;margin-bottom:5px}.weapon div span{font-size:9px;color:#8c987e}.detail-link{display:flex;align-items:center;justify-content:space-between;background:#ffffff02;border-top:1px solid var(--line);padding:12px 20px;width:100%;font-size:9px;color:#a7ae97}.map{display:grid;grid-template-columns:repeat(13,1fr);padding:17px 23px 12px;gap:3px}.tile{aspect-ratio:1;display:grid;place-items:center;font-size:12px;border-radius:1px;font-family:var(--mono)}.tile.wall{background:#4a5140;border:1px solid #59604d;box-shadow:inset 0 0 0 1px #292f2370}.tile.ground{color:#444e36;background:#1b211a}.tile.player{color:#e4d09a;background:#7b6e3f55;outline:1px solid #bda66d;box-shadow:0 0 10px #bda66d22}.tile.creature{color:#e8a07d;background:#613e2e;border:1px solid #b87350}.map-legend{display:flex;justify-content:center;gap:16px;font-size:8px;color:#9ba58d;padding:2px 15px 16px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{height:5px;width:5px;display:inline-block}.legend-you{background:#d9bd7e;transform:rotate(45deg)}.legend-rat{background:#bf7c58}.legend-wall{background:#667057}.map-caption{padding:10px 17px;background:#161c1655;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#73816a;font-family:var(--mono);font-size:7px;letter-spacing:.5px}.map-caption span:first-child{color:#aab698}.quick-actions{padding:1px 4px}.quick-actions .eyebrow{font-size:8px;color:#89967a;margin-bottom:13px}.navigation{display:flex;align-items:center;gap:18px}.compass{display:grid;grid-template-columns:repeat(3,29px);grid-template-rows:repeat(3,27px);gap:3px}.compass button{background:#262e22;border:1px solid #404a36;border-radius:3px;color:#a8b28e;font-family:var(--mono);font-size:13px}.compass button:hover{background:#3a4630}.compass button:nth-child(1){grid-column:2}.compass button:nth-child(2){grid-column:1;grid-row:2}.compass>span{grid-column:2;grid-row:2;text-align:center;align-self:center;color:#707d60;font-size:11px}.compass button:nth-child(4){grid-column:3;grid-row:2}.compass button:nth-child(5){grid-column:2;grid-row:3}.action-buttons{flex:1;display:grid;gap:6px}.action-buttons button{font-size:9px;color:#a4af93;padding:3px 0;background:none;display:flex;justify-content:space-between;text-align:left}.action-buttons span{color:#6d7d5c}footer{padding:21px 0 27px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#7b8772;gap:15px}.footer-divider{padding:0 8px;color:#49543f}#save-status{color:#a3ad91}.notice{border:1px solid #9e7751;background:#463d2b;padding:15px;font-size:12px;line-height:1.6;margin-bottom:20px;color:#ead2a6}.notice[hidden]{display:none}dialog{background:#232a20;border:1px solid #707957;color:var(--paper);border-radius:6px;max-width:540px;width:calc(100% - 36px);padding:32px;box-shadow:0 24px 90px #0008}dialog::backdrop{background:#111610c9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog h2{font:400 28px Georgia,serif;margin:12px 0 18px}dialog p{font-size:12px;line-height:1.8;color:#aab79b}dialog .attribution{font-size:10px;border-top:1px solid var(--line);padding-top:15px}dialog a{color:var(--gold)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.primary{background:#aaa374;color:#1b2318;padding:11px 16px;border-radius:3px;font-size:11px}.primary:hover{background:#c6bd8b;color:#111}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1450px){main{padding-top:54px}.journal{height:755px}.events{height:470px}}@media(max-width:1100px){.masthead{padding:0 30px}main{padding:32px 30px 0}.game-layout{grid-template-columns:minmax(0,1fr) 285px;gap:18px}.world-status{display:none}h1{font-size:34px}.edition{display:none}.journal-top h3{font-size:21px}.journal-top{margin:0 16px}.events{padding-left:19px;padding-right:19px}.event{grid-template-columns:30px 1fr;gap:8px}.history-note{display:none}.panel-head{padding-left:16px;padding-right:16px}}@media(max-width:760px){.masthead{height:75px;padding:0 20px}.phase{display:none}.wordmark{font-size:20px}.quiet{padding:9px 11px}main{padding:28px 18px 0}.intro{margin-bottom:25px}h1{font-size:31px;letter-spacing:-.7px}.subtitle{font-size:11px}.game-layout{grid-template-columns:1fr}.journal{height:clamp(480px,75dvh,620px);min-height:0}.journal-top{padding-top:23px;padding-bottom:23px}.events{height:auto;min-height:0;flex:1 1 0;max-height:none}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.quick-actions{grid-column:1/-1}.navigation{max-width:300px}.character{grid-row:1/3}.map-panel{grid-column:2}.map{padding:15px 10px;gap:2px}.tile{font-size:9px}.map-legend{font-size:7px;gap:8px;padding-left:5px;padding-right:5px}.panel-head{padding:13px 12px}.panel-head h2{font-size:10px}.map-panel .small-muted{display:none}.identity{padding:17px 12px;gap:8px}.identity h3{font-size:18px}.portrait{width:40px;height:50px}.identity .small-muted{font-size:7px}.health-label{margin-left:12px;margin-right:12px}.health-track{margin:0 12px}.stat-trio{padding:17px 6px}.stat-trio div>span{font-size:6px}.stat-trio strong{font-size:20px}.weapon{margin:0 12px;gap:8px}.weapon div span{font-size:8px}.map-caption{font-size:6px;padding:8px}.map-caption span:last-child{letter-spacing:0}.detail-link{padding:12px}.history-note{display:inline}.quick-actions{grid-column:2;grid-row:2}.quick-actions .eyebrow{display:none}.navigation{gap:12px;flex-wrap:wrap}.action-buttons{min-width:90px}footer{line-height:1.7}footer>span{max-width:250px}.footer-divider{padding:0 3px}}@media(max-width:420px){.sidebar{grid-template-columns:1fr}.character{grid-row:auto}.map-panel{grid-column:auto}.quick-actions{grid-column:auto;grid-row:auto}.map{max-width:310px;margin:auto}.navigation{max-width:none;gap:28px}.action-buttons{gap:12px}.history-note{display:none}.journal-top h3{font-size:20px}h1{font-size:28px}.event p{font-size:11px}.identity{gap:14px}.identity h3{font-size:24px}.portrait{width:48px;height:57px}.stat-trio div>span{font-size:8px}.map-panel .small-muted{display:inline}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.journal>.panel-head,.journal-top{flex-shrink:0}.game-layout{grid-template-areas:"intro sidebar" "journal sidebar";row-gap:24px}.game-layout>.intro{grid-area:intro;margin-bottom:0;min-width:0;flex-wrap:wrap}.game-layout>.journal{grid-area:journal}.game-layout>.sidebar{grid-area:sidebar}@media(max-width:760px){.game-layout{grid-template-areas:"intro" "journal" "sidebar";row-gap:18px}}.debug-inspector{margin-top:24px}.debug-inspector summary{padding:16px 20px;cursor:pointer;font-size:12px;color:var(--paper)}.debug-badge{margin-left:12px;font:9px var(--mono);color:var(--gold)}.debug-content{border-top:1px solid var(--line);padding:18px 20px}.debug-content>p{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 12px}.debug-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.debug-toolbar button:disabled{opacity:.4;cursor:default}.debug-content .debug-status{color:var(--gold);overflow-wrap:anywhere}#debug-log{display:block;width:100%;height:340px;min-height:160px;max-height:60dvh;resize:vertical;overflow:auto;background:#141a14;color:#bac6ad;border:1px solid #4b563d;border-radius:3px;padding:14px;font:11px/1.6 var(--mono);tab-size:2}.debug-content .debug-note{margin-top:12px;margin-bottom:0;font-size:10px}@media(max-width:760px){.debug-content{padding:15px 12px}#debug-log{height:280px;font-size:10px}}.debug-views{display:flex;gap:4px;margin:0 0 12px;border-bottom:1px solid var(--line)}.debug-views button{background:transparent;color:var(--muted);padding:10px 15px;border-bottom:2px solid transparent;font-size:11px}.debug-views button[aria-selected=true]{color:var(--gold);border-color:var(--gold)}
