@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Silkscreen&display=swap";@font-face{font-family:Baskervville;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Baskervville-Regular.ttf) format("truetype")}:root{font-family:var(--serif);color:#eee8dc;background:var(--bg);font-synthesis:none;font-size:16px;--bg: #0f1526;--bg-2: #141b2f;--bg-3: #1c2542;--bg-0: color-mix(in srgb, var(--bg) 70%, #000);--panel: color-mix(in srgb, var(--bg-2) 85%, transparent);--gold: #d9b477;--gold-hi: color-mix(in srgb, var(--gold) 80%, #fff);--line: color-mix(in srgb, var(--gold) 72%, var(--bg));--line-soft: color-mix(in srgb, var(--line) 25%, transparent);--teal: #7fd3c4;--cream: #f0e6cf;--ink: #1a1f36;--muted: #a7b6cc;--text: #e6e2d8;--rose: #e98bb0;--rose-line: #b96a8a;--serif: "Baskervville", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif;--pixel: "Silkscreen", "Courier New", monospace;--sidebar-w: clamp(320px, 24vw, 420px)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}input,textarea{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:12px 14px}input::placeholder,textarea::placeholder{color:#b3aea5}a{color:var(--gold);text-decoration:none}button svg{flex-shrink:0;color:var(--gold);stroke-width:1.6}button:hover:not(:disabled){background-color:#ffffff09}.pixel-sprite{image-rendering:pixelated}.game-container canvas{touch-action:none}body{overscroll-behavior:none}.app{height:100dvh;min-height:500px;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,var(--bg-3),var(--bg) 70%);padding:9px;gap:9px}.frame,.brand,.header-actions,.world-pane,.sidebar-footer button{position:relative;border:1px solid var(--line);border-radius:6px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bg-0) 50%,transparent),0 4px 18px #00000040;background:var(--panel)}.frame:before,.world-pane:before{content:"";position:absolute;inset:3px;pointer-events:none;z-index:1;border-radius:3px;opacity:.7;background:linear-gradient(var(--line),var(--line)) 0 0 / 7px 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 0 / 1px 7px no-repeat,linear-gradient(var(--line),var(--line)) 100% 0 / 7px 1px no-repeat,linear-gradient(var(--line),var(--line)) 100% 0 / 1px 7px no-repeat,linear-gradient(var(--line),var(--line)) 0 100% / 7px 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 100% / 1px 7px no-repeat,linear-gradient(var(--line),var(--line)) 100% 100% / 7px 1px no-repeat,linear-gradient(var(--line),var(--line)) 100% 100% / 1px 7px no-repeat}.topbar{position:relative;height:54px;display:flex;align-items:center;gap:8px;flex-shrink:0}.topbar>.brand,.topbar>.header-actions{height:100%;display:flex;align-items:center}.brand{flex:1;color:var(--gold);white-space:nowrap;padding:0 22px;gap:0}.brand>svg{display:none}.brand>div{font:clamp(13px,1.1vw,18px) var(--serif);text-transform:uppercase;letter-spacing:2px;display:flex;align-items:center;gap:14px}.brand i,.hint-event i{font-style:normal;color:var(--gold);font-size:.8em}.world-selector{position:absolute;left:calc((100% - var(--sidebar-w) - 9px) / 2);top:50%;transform:translate(-50%,-50%);height:38px;z-index:2;display:flex;align-items:center;gap:14px;min-width:300px;padding:0 16px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--bg) 69%,transparent);color:var(--cream);font-size:18px;text-align:center}.world-selector i{font-style:normal;color:var(--gold);font-size:9px}.world-selector span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-selector strong{font-weight:400}.world-selector small{font-size:inherit;color:inherit}.world-selector small:before{content:", "}.world-selector small em{display:none}.world-selector svg{position:absolute;right:-26px;opacity:0;transition:opacity .15s}.world-selector:hover svg{opacity:1}.header-actions{justify-content:flex-start;gap:8px;padding:0 10px;width:var(--sidebar-w);flex-shrink:0}.quiet-button{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:5px;padding:0 14px;height:36px;white-space:nowrap;font-size:16px;color:var(--cream);background:var(--bg)}.quiet-button:hover{border-color:var(--gold)}.new-world svg{display:none}.donate{margin-left:auto}.donate svg{color:var(--rose);fill:var(--rose)}.donate:hover{background:#ffffff09;border-color:var(--rose-line)}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;color:var(--gold);background:var(--bg)}.icon-button:hover{border-color:var(--gold)}.workspace{display:flex;flex:1;min-height:0;gap:9px}.world-pane{position:relative;min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.game-container{border-radius:5px 5px 0 0;flex:1;min-height:0;overflow:hidden;outline:none;background:#718649;position:relative}.world-tooltip{position:absolute;z-index:5;pointer-events:none;opacity:0;transition:opacity .12s ease;max-width:220px;padding:3px 9px 4px;border:1px solid var(--line);border-radius:4px;background:#101728ee;box-shadow:0 2px 10px #0008;color:var(--cream);font-family:var(--serif);font-size:13px;line-height:1.25;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-tooltip i{opacity:.72}.world-tooltip.is-shown{opacity:1}.game-container canvas{display:block;image-rendering:pixelated}.map-controls{position:absolute;right:12px;top:12px;display:flex;align-items:center;background:color-mix(in srgb,var(--bg) 85%,transparent);border:1px solid #a2875b99;border-radius:3px;height:30px;color:var(--gold);opacity:.6;transition:opacity .15s}.map-controls:hover,.map-controls:focus-within{opacity:1}.map-controls button{width:29px;height:28px;display:flex;align-items:center;justify-content:center}.map-controls span{font:8px var(--pixel);width:23px;text-align:center}.map-controls button:last-child{border-left:1px solid var(--line);margin-left:4px}.location-label{display:none}.world-notice{animation:rise-in .18s ease-out;position:absolute;bottom:96px;left:50%;transform:translate(-50%);background:color-mix(in srgb,var(--bg-2) 96%,transparent);border:1px solid var(--line);border-radius:3px;padding:12px 16px;max-width:90%;width:max-content;font-size:14px;display:flex;align-items:center;gap:9px;box-shadow:0 4px 20px #0005;z-index:3}.world-notice button{display:flex;align-items:center;gap:5px;color:var(--gold);border-left:1px solid var(--line);padding-left:12px}.sidebar{width:var(--sidebar-w);display:flex;flex-direction:column;gap:9px;overflow:auto;flex-shrink:0;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:3px;margin:-3px}.mobile-sheet-grabber,.mobile-sheet-summary,.sidebar-hidden .sidebar{display:none}.sidebar>section{padding:14px 16px;flex-shrink:0}.sky-card{padding:0!important;overflow:hidden}.sky-card .place-heading{position:relative;z-index:1;padding:14px 16px 0;width:60%;min-width:0}.sky-card .character{position:relative;z-index:1;margin:12px 16px 14px}.sky-card .character>div:last-child{flex:1;min-width:0;padding-right:8px;text-shadow:0 1px 2px var(--bg),0 0 12px var(--bg),0 0 24px color-mix(in srgb,var(--bg) 80%,transparent)}.role .sex{font-style:normal;margin-left:7px;font-size:17px}.role .sex.female{color:var(--rose)}.role .sex.male{color:#7fb3e6}.role>span{color:var(--muted)}.place-heading h2{font-size:20px;line-height:1.15;color:var(--cream)}.place-heading p{font-size:15px;margin-top:2px;color:var(--cream)}.place-heading p span{padding:0 8px;color:var(--gold)}.place-heading .season{font-style:normal;color:var(--season);border:1px solid color-mix(in srgb,var(--season) 45%,transparent);background:color-mix(in srgb,var(--season) 14%,transparent);border-radius:999px;padding:1px 9px 2px;font-size:13px;letter-spacing:.02em;white-space:nowrap;text-shadow:0 0 10px color-mix(in srgb,var(--season) 35%,transparent)}.place-heading small{display:block;font-size:14px;color:var(--muted);margin-top:1px}.sky{position:absolute;top:0;right:0;width:68%;height:175px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-end;padding:10px 14px 34px 40px;text-align:right;color:var(--cream);transition:background 1.5s ease;text-shadow:0 1px 3px #000a;mask-image:radial-gradient(125% 140% at 100% 0%,#000 48%,#000a 64%,transparent 82%);-webkit-mask-image:radial-gradient(125% 140% at 100% 0%,#000 48%,#000a 64%,transparent 82%)}.sky:has(canvas.sky-scene){mask-image:radial-gradient(125% 140% at 100% 0%,#000 48%,#000a 64%,transparent 82%),linear-gradient(#000 55%,transparent);-webkit-mask-image:radial-gradient(125% 140% at 100% 0%,#000 48%,#000a 64%,transparent 82%),linear-gradient(#000 55%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}.sky-scene{position:absolute;inset:0;width:100%;height:100%}.sky>span,.sky>button{position:relative;z-index:1;text-shadow:0 1px 2px #000,0 0 10px #000d}.sky-period{font-size:15px;margin-bottom:6px}.sky-condition{font-size:14px;opacity:.95}.sky-temp{font-size:15px;padding:0 2px;margin-top:1px;color:var(--cream);border-bottom:1px dotted transparent;text-shadow:inherit}.sky-temp:hover{background:none;border-bottom-color:var(--cream)}.sky-drift{animation:sky-drift 90s linear infinite}.sky-drift.fast{animation-duration:55s;animation-delay:-20s}@keyframes sky-drift{0%{transform:translate(-30px)}to{transform:translate(80px)}}.sky-halo{transform-origin:0 0;animation:sky-breathe 7s ease-in-out infinite}.sky-rays{transform-origin:0 0;animation:sky-spin 120s linear infinite}@keyframes sky-breathe{50%{transform:scale(1.12);opacity:.85}}@keyframes sky-spin{to{transform:rotate(360deg)}}.sky-stars circle{animation:sky-twinkle 3s ease-in-out infinite}@keyframes sky-twinkle{50%{opacity:.25}}.sky-mist{animation:sky-mist 40s ease-in-out infinite alternate}@keyframes sky-mist{to{transform:translate(-30px)}}.sky-rain line{animation:sky-rain 1.3s linear infinite}@keyframes sky-rain{to{transform:translate(-30px,170px)}}.sky-snow circle{animation:sky-snow 5s linear infinite}@keyframes sky-snow{to{transform:translate(-18px,170px)}}@media(prefers-reduced-motion:reduce){.sky *{animation:none!important}}.character{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:6px;padding:4px;margin:-4px;cursor:pointer;color:inherit;font:inherit}.character:hover,.character:focus-visible{border-color:var(--line-soft);background:#ffffff08}.portrait{background:linear-gradient(145deg,#323a68,#263052);border-radius:5px;width:106px;height:123px;overflow:hidden;border:1px solid var(--line);display:flex;align-items:flex-end;justify-content:center;flex-shrink:0}.character h1{font-size:24px;line-height:1.2;margin-bottom:2px;color:var(--cream)}.role{color:var(--cream);font-size:16px}.condition,.traits{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.condition{color:#9ec98e;font-size:15px;margin-top:4px}.traits{color:var(--muted);font-size:13px;font-style:italic;margin-top:2px}.sky-card .traits{max-height:0;margin-top:0;opacity:0;transition:opacity .2s,max-height .2s,margin-top .2s}.sky-card:hover .traits,.sky-card .character:focus-visible .traits{max-height:1.4em;margin-top:2px;opacity:1}.stats{margin-top:25px;font-size:13px}.stats .link{background:none;border:0;padding:0;color:var(--cream);text-decoration:underline;cursor:pointer;font:inherit}.stats .needs{margin-top:12px;gap:8px}.stats .outlook{margin:10px 0 0;padding-left:16px;opacity:.8;line-height:1.5}.stats .outlook a{color:inherit}.wealth{display:flex;align-items:center;gap:6px;color:var(--cream);font-size:15px;margin-top:6px;white-space:nowrap}.wealth .pixel-sprite{margin-top:-7px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.section-heading h2{font-size:19px;color:var(--cream);flex:1}.section-heading .explore{color:var(--gold);font-size:15px;display:flex;align-items:center;gap:5px}.eyebrow{font:10px var(--pixel);letter-spacing:2px;text-transform:uppercase;color:var(--muted);display:block}.subtle{font-size:12px;color:var(--muted)}.map-button{position:relative;display:block;width:100%;padding:0;border-radius:6px;border:1px solid var(--line);background:#71864b;overflow:hidden}.minimap-frame{position:relative;display:block;line-height:0}.map-pin{position:absolute;z-index:2;transform:translate(-50%,calc(-100% - 7px));padding:3px 7px;font-size:12px;line-height:1.2;white-space:nowrap;pointer-events:none;color:var(--cream);background:color-mix(in srgb,var(--bg) 87%,transparent);border:1px solid var(--line-soft);border-radius:3px}.minimap{display:block;width:100%;height:auto;aspect-ratio:2.1;image-rendering:pixelated}.north{position:absolute;right:8px;top:8px;color:var(--cream);font-size:15px;background:color-mix(in srgb,var(--bg) 80%,transparent);border:1px solid var(--line-soft);padding:3px 6px}.map-scale{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;gap:8px;color:var(--cream);font:8px var(--pixel);background:color-mix(in srgb,var(--bg) 80%,transparent);border:1px solid var(--line-soft);padding:3px 7px}.map-scale i{width:48px;height:2px;background:var(--gold);box-shadow:0 -3px 0 0 var(--gold) inset,-1px 0 0 1px var(--gold)}.map-switcher{display:flex;border:1px solid var(--line);overflow:hidden}.map-switcher button{padding:3px 12px;color:var(--gold);font-size:13px}.map-switcher button[aria-pressed=true]{background:var(--bg-3);color:var(--cream);box-shadow:inset 0 -2px color-mix(in srgb,var(--gold) 33%,transparent)}.context-section{flex:1 1 0!important;min-height:210px;padding-top:10px!important;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.context-section>.section-heading{margin-bottom:8px}.context-section h2{font-size:19px;line-height:1.3;margin-bottom:7px}.context-section p{font-size:15px;line-height:1.45;color:var(--muted);margin:6px 0 12px}.side-tabs{display:flex;gap:4px;border:1px solid var(--line-soft);border-radius:6px;padding:3px;margin-bottom:6px;background:var(--bg)}.side-tabs button{flex:1;padding:7px 4px 8px;font-size:clamp(13px,1vw,16px);white-space:nowrap;color:var(--muted);border:1px solid transparent;border-radius:4px}.side-tabs button[aria-selected=true]{color:var(--cream);border-color:var(--line);background:linear-gradient(var(--bg-3),var(--bg-2));box-shadow:inset 0 -2px color-mix(in srgb,var(--gold) 33%,transparent)}.side-tabs button:hover{background:#ffffff06}.focus-card{display:flex;gap:12px;align-items:flex-start;margin-bottom:7px}.focus-card h2{font-size:19px;margin-bottom:4px;color:var(--cream)}.focus-card p{font-size:15px;line-height:1.4;color:var(--text)}.focus-thumbnail{width:78px;height:90px;background:#727e50;border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.focus-thumbnail .pixel-sprite{transform:scale(1.2)}.focus-thumbnail.portrait{background:linear-gradient(145deg,#323a68,#263052);border-radius:5px;align-items:flex-end}.focus-thumbnail.portrait .pixel-sprite{transform:none}.focus-card .brief p{margin-top:3px}.focus-card .brief p:first-child{color:var(--muted);margin-top:1px}.focus-card .brief .role{color:var(--gold);font-size:inherit;font-variant-caps:small-caps;letter-spacing:.02em}.focus-card .brief .name{color:var(--cream)}.focus-card .brief .thing{color:#9fc6a0}.focus-card .brief .state{color:#e0a487}.context-actions{display:flex;flex-direction:column;gap:7px}.action{display:flex;align-items:center;gap:11px;min-height:37px;border:1px solid var(--line);border-radius:5px;padding:8px 12px;color:var(--cream);text-align:left;font:500 14px var(--sans);background:var(--bg)}.action span{flex:1}.action:hover:not(:disabled){border-color:var(--gold)}.action.primary{background:color-mix(in srgb,var(--gold) 28%,var(--bg-2));width:100%;margin-bottom:8px;border-color:var(--line)}.evidence-link{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:15px;margin-top:16px;border-block:1px solid var(--line-soft);width:100%;padding:12px 0}.nearby-list{display:flex;flex-direction:column}.nearby-list button{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:5px;border-bottom:1px solid var(--line-soft);text-align:left;min-height:48px}.nearby-list button:last-child{border-bottom:0}.nearby-list button>span:nth-child(2){flex:1;font-size:16px;color:var(--cream)}.nearby-list button>svg{color:var(--line);transition:transform .15s,color .15s}.nearby-list button:not(:disabled):hover{background:#ffffff0a}.nearby-list button:not(:disabled):hover>svg{color:var(--gold);transform:translate(3px)}.nearby-blank{width:24px;flex-shrink:0}.nearby-list>p{color:var(--muted);font-size:14px;margin:10px 8px}.nearby-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 8px 4px;font:9px var(--pixel);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.nearby-head button{padding:2px 0;opacity:.7;letter-spacing:inherit;font:inherit;text-transform:inherit}.nearby-head button:hover,.nearby-head button[aria-pressed=true]{color:var(--gold);opacity:1}.nearby-list small{display:block;color:var(--muted);font-size:13px;margin-top:1px}.context-section .event-log{margin:0;max-height:none}.context-section .event-log>div{font-size:14px;line-height:1.5;padding:8px 0;border-color:var(--line-soft)}.context-section .event-log span{color:var(--text)}.sidebar-footer{display:flex;gap:8px;flex-shrink:0;position:sticky;bottom:0;background:var(--bg);padding-top:2px}.sidebar-footer button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;flex:1;padding:12px 5px;font-size:17px;color:var(--cream);white-space:nowrap}.sidebar-footer button:hover{border-color:var(--gold)}.sidebar-footer svg{width:21px;height:21px}.sidebar-footer kbd,.quick-actions kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);font:9px var(--pixel);color:var(--ink);background:var(--gold);border-radius:3px;padding:3px 4px 2px;line-height:1;box-shadow:inset 0 -2px #0004}.bottom-bar{flex-shrink:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:46px;align-content:center;padding:10px 14px;gap:6px 12px;border-top:1px solid var(--line-soft);position:relative}.quick-actions{display:flex;gap:10px}.quick-actions button{position:relative;display:flex;gap:10px;align-items:center;justify-content:flex-start;border:1px solid var(--line);border-radius:5px;padding:0 34px 0 14px;font-size:17px;color:var(--cream);background:var(--bg);min-width:120px}.quick-actions button:hover{border-color:var(--gold)}.quick-actions svg{width:20px;height:20px}.command-input{display:flex;min-width:0;border:1px solid var(--line);border-radius:5px;background:var(--bg)}.command-input input{border:0;background:transparent;min-width:0;flex:1;font-size:18px;padding:8px 14px;color:var(--cream)}.command-input button{width:48px;border-left:1px solid var(--line);color:var(--ink);background:var(--gold)}.command-input button svg{color:var(--ink)}.command-input button:hover{background:var(--gold-hi)}.narrator-panel{position:absolute;transform:translateY(100%) scaleY(.6);transform-origin:bottom center;opacity:0;visibility:hidden;background:color-mix(in srgb,var(--bg-2) 96%,transparent);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;padding:16px 22px 18px;box-shadow:0 -12px 40px color-mix(in srgb,var(--bg-0) 50%,transparent);transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease,visibility 0s linear .28s;z-index:3}.narrator-panel.open{transform:none;opacity:1;visibility:visible;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease,visibility 0s}.narrator-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.narrator-title{font-family:var(--pixel);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.narrator-title i{font-style:normal;margin-right:8px}.narrator-tools{display:flex;gap:4px}.narrator-tools button{background:none;border:0;color:var(--muted);padding:4px;cursor:pointer}.narrator-tools button:hover{color:var(--cream)}.narrator-body{font-size:17px;line-height:1.55;color:var(--text);min-height:52px;max-height:34dvh;overflow:auto;scrollbar-width:thin;scrollbar-color:#63704b transparent}.narrator-body p{margin:0}.narrator-said{color:var(--muted);font-size:14px;font-style:italic;margin-bottom:6px!important}.narrator-hint{color:var(--muted);font-size:15px}.narrator-error{color:var(--rose);font-size:15px}.narrator-busy{display:flex;gap:6px;align-items:center;height:52px}.narrator-busy span{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:narrator-dot 1.1s infinite ease-in-out}.narrator-busy span:nth-child(2){animation-delay:.18s}.narrator-busy span:nth-child(3){animation-delay:.36s}@keyframes narrator-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.narration-log{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.narration-log li{border-bottom:1px solid var(--line-soft);padding-bottom:14px;font-size:15px;line-height:1.6}.narration-log small{display:block;color:var(--gold);font-family:var(--pixel);font-size:10px;letter-spacing:1px;margin-bottom:6px}.narration-log p{margin:0}.keyboard-hint{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,6px);display:flex;align-items:center;padding:7px 4px;border:1px solid var(--line-soft);border-radius:6px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 18px #0006;color:var(--text);font-size:15px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .6s ease,transform .6s ease;z-index:4}.keyboard-hint[data-shown]{opacity:1;transform:translate(-50%)}.keyboard-hint span{display:flex;align-items:center;gap:4px;padding:0 12px}.keyboard-hint span+span{border-left:1px solid var(--line-soft)}.keyboard-hint kbd{margin-right:4px;font:9px var(--pixel);text-transform:uppercase;color:var(--cream);border:1px solid color-mix(in srgb,var(--cream) 55%,transparent);border-radius:3px;padding:4px 5px 3px;line-height:1;letter-spacing:1px}.keyboard-hint kbd+kbd{margin-left:-1px}.hints-toggle{display:grid;place-items:center;width:46px;border:1px solid var(--line);border-radius:5px;background:var(--bg)}.hints-toggle[aria-pressed=true]{border-color:var(--gold)}kbd{font:inherit;color:#d6cab4;letter-spacing:.5px}.statusbar{display:none}.modal-backdrop{position:fixed;inset:0;background:#101116bf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:20;display:flex;align-items:center;justify-content:center;padding:24px}.modal{position:relative;width:min(680px,100%);max-height:90dvh;overflow:auto;background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:32px;box-shadow:0 30px 100px #10171080;scrollbar-width:thin;scrollbar-color:#63704b transparent}.modal-dialogue{width:min(760px,100%);padding:25px 30px 24px;border-radius:16px;background:linear-gradient(120deg,var(--bg-3),var(--bg-2) 64%,var(--bg-3));border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--bg-0),inset 0 0 0 5px color-mix(in srgb,var(--line) 13%,transparent),0 30px 100px #10171080;transition:width .18s ease,min-height .18s ease}.modal-dialogue.is-responding{width:min(820px,100%);min-height:min(560px,86dvh);display:flex;flex-direction:column}.dialogue-heading{display:flex;align-items:center;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--line-soft)}.dialogue-face{position:relative;flex:0 0 auto;display:flex}.dialogue-took{position:absolute;right:-13px;top:-12px;z-index:2;pointer-events:none;animation:took 1.4s ease-out forwards;transform-origin:20% 100%}.dialogue-took svg{display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes took{0%{opacity:0;transform:translateY(5px) scale(.6)}12%{opacity:1;transform:translateY(-2px) scale(1.25)}22%,72%{opacity:1;transform:translateY(-3px) scale(1)}to{opacity:0;transform:translateY(-13px) scale(1)}}.dialogue-portrait[data-took=anger]{animation:took-shake .44s steps(1,end) 2}.dialogue-portrait[data-took=warm],.dialogue-portrait[data-took=nod]{animation:took-dip .42s ease-out}@keyframes took-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes took-dip{0%,to{transform:translateY(0)}45%{transform:translateY(3px)}}.dialogue-portrait{width:132px;height:154px;flex:0 0 auto;overflow:hidden;border:2px solid var(--gold);border-radius:13px;background:#304762;display:grid;place-items:end center}.dialogue-portrait canvas{width:100%;height:100%;image-rendering:pixelated}.dialogue-heading h2{margin:0;color:var(--cream);font-size:28px}.dialogue-heading p{margin:6px 0 0;color:var(--gold);font:11px var(--pixel);letter-spacing:.4px;text-transform:none}.dialogue-regard{display:flex;align-items:center;gap:8px;margin:7px 0 0;color:#9aa6c2;font:10px var(--pixel);letter-spacing:.4px}.regard-notches{display:inline-flex;gap:3px}.regard-notches i{width:7px;height:7px;background:#2f3e5e;box-shadow:inset 0 0 0 1px #1d2740;transform:rotate(45deg)}.regard-notches i.on{background:var(--gold);box-shadow:inset 0 0 0 1px #6b4c14}.dialogue-regard[data-moved] .regard-notches i.on:last-of-type{animation:notch-lit .9s ease-out}.dialogue-regard[data-moved=anger]{color:#d08a7e}.dialogue-regard[data-moved=warm]{color:#e4c07a}@keyframes notch-lit{0%,to{transform:rotate(45deg) scale(1);filter:none}35%{transform:rotate(45deg) scale(1.5);filter:brightness(1.7)}}.dialogue-gift{margin:14px 0 0;padding:9px 11px;border:1px solid var(--gold);border-radius:6px;background:#263b62;color:var(--cream);font:11px var(--pixel);letter-spacing:.4px;text-transform:uppercase}.dialogue-history{min-height:124px;max-height:42dvh;overflow-y:auto;padding:22px 10px 12px 0;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.is-responding .dialogue-history{flex:1;min-height:0;max-height:none}.dialogue-line{max-width:680px;margin:0 0 18px;font-size:24px;line-height:1.45}.dialogue-line.npc{color:var(--cream)}.dialogue-line.past{margin-bottom:10px;font-size:18px;opacity:.55}.dialogue-action{display:block;margin-bottom:6px;font-size:.72em;opacity:.55}.dialogue-action:first-letter{text-transform:uppercase}.dialogue-line.player{margin-left:auto;padding-left:22px;border-left:2px solid var(--gold);color:var(--gold)}.dialogue-thinking{display:flex;gap:6px;min-height:22px;align-items:center}.dialogue-thinking span{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:narrator-dot 1.1s infinite ease-in-out}.dialogue-thinking span:nth-child(2){animation-delay:.18s}.dialogue-thinking span:nth-child(3){animation-delay:.36s}.dialogue-error{color:var(--rose);font-size:14px}.dialogue-actions{display:flex;justify-content:flex-end;gap:9px}.dialogue-actions button,.dialogue-input button{border:1px solid var(--line);border-radius:9px;background:#172741;color:var(--cream);padding:10px 15px;font:11px var(--pixel);letter-spacing:.4px;text-transform:uppercase}.dialogue-actions button:hover,.dialogue-input button:hover:not(:disabled){border-color:var(--cream)}.dialogue-respond{background:#263b62!important}.dialogue-continue span{color:var(--gold)}.dialogue-input{display:flex;gap:8px;margin-top:12px}.dialogue-input input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px 13px;background:#0b1120;color:var(--text);font-size:16px}.dialogue-input button{display:grid;place-items:center;padding:0 14px;background:var(--gold);color:var(--ink)}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.modal-dialogue,.modal-dialogue.is-responding{min-height:min(540px,88dvh);padding:22px 18px 18px}.dialogue-portrait{width:96px;height:112px}.dialogue-heading{gap:12px}.dialogue-heading h2{font-size:23px}.dialogue-heading p{font-size:9px;line-height:1.55}.dialogue-line{font-size:19px}}.close-modal{position:absolute;right:16px;top:16px}.modal>.eyebrow{color:var(--muted);font-size:10px;margin-bottom:13px}.modal>h2{font-size:26px;margin-bottom:14px;line-height:1.4}.modal>p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:24px}.world-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:21px 0}.world-card{text-align:left;border:1px solid var(--line);border-radius:5px;overflow:hidden;padding:0;background:var(--bg)}.world-card.selected{border-color:var(--muted);box-shadow:0 0 0 1px #c0ae7730}.world-card-art{height:149px;background:#7e9055;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding-bottom:9px}.world-card-art.neolithic{background:#a1a870}.world-card-art .pixel-sprite:last-child{margin-left:-15px}.world-card-title{display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:14px;padding:15px 14px 8px}.world-card>small{display:block;font-size:10px;color:var(--muted);padding:0 14px}.world-card>p{font-size:11px;line-height:1.7;color:var(--muted);padding:12px 14px 16px}.field-label{font-size:11px;display:flex;flex-direction:column;gap:8px;color:var(--muted)}.field-label input{font-size:13px}.seed-row{display:flex;gap:12px;align-items:flex-end;margin-top:15px}.seed-row label{flex:1;min-width:0}.seed-row .action{height:43px}.modal-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.modal-bottom>span{font-size:10px;color:var(--muted);max-width:230px;line-height:1.7}.filled-button{background:#b8a370;color:#242c24;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 17px;border:1px solid var(--line);border-radius:3px;font-weight:600;font-size:12px;white-space:nowrap}.filled-button:hover{background:#ccb781}.error{padding:12px;background:#754a3333;border:1px solid var(--line);font-size:12px!important;color:#ebc6a0!important;margin-top:14px}.inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inventory-item{background:var(--bg);border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;padding:10px;gap:12px}.item-art{width:40px;display:flex;justify-content:center}.inventory-item>div:nth-child(2){flex:1}.inventory-item strong{font-size:12px;font-weight:500}.inventory-item small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.small-button{border:1px solid var(--line);padding:6px 8px;border-radius:3px;color:#d8c38e;font-size:11px}.needs{margin-top:25px;display:flex;flex-direction:column;gap:15px}.needs label{display:flex;align-items:center;gap:15px;font-size:12px}.needs meter{flex:1;height:9px;accent-color:var(--muted)}.needs span{font-size:10px;color:var(--muted);width:50px}.note-entry{display:flex;flex-direction:column;gap:9px;margin:20px 0}.note-entry textarea{resize:vertical;min-height:90px;font-size:13px}.note-entry button{align-self:flex-end}.saved-note{padding:13px;border-left:2px solid #b8a370;background:#303037;margin-bottom:10px}.saved-note small{font-size:10px;color:var(--muted)}.saved-note p{font-size:13px;line-height:1.7;margin-top:5px;white-space:pre-wrap}.modal h3{font-size:16px;margin:20px 0 12px}.event-log{margin-bottom:20px;max-height:300px;overflow:auto}.event-log>div{display:flex;gap:18px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;line-height:1.7}.event-log time{font-size:10px;color:var(--muted);flex-shrink:0;padding-top:3px}.event-log span{color:var(--muted)}.event-log .life-aim-step{display:block;margin-top:4px}.evidence-card{padding:18px 0;border-top:1px solid var(--line)}.evidence-status{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:4px 7px}.evidence-card h3{line-height:1.7}.evidence-card p{font-size:13px;line-height:1.8;color:var(--muted)}.evidence-card .limitation{font-size:11px;color:var(--muted);margin:12px 0}.evidence-card a,.text-button{display:inline-flex;gap:7px;align-items:center;font-size:11px;color:#d4ba84}.text-button{margin-left:18px;text-decoration:underline}.large-map{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:4px;image-rendering:pixelated}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:13px}.swatches{display:flex;gap:8px}.swatches button{width:24px;height:24px;border-radius:50%;border:1px solid #ffffff30}.swatches [data-bg]{border-color:#fff5}.swatches button[aria-checked=true]{outline:2px solid var(--cream);outline-offset:2px}.swatches button[data-culture]{box-shadow:inset 0 0 0 5px #0006}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.settings-footnote{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.settings-footnote strong{font-weight:500;font-size:13px}.settings-footnote p{font-size:12px;color:var(--muted);line-height:1.8;margin:10px 0}.settings-footnote small{font-size:10px;color:var(--muted)}.replay-bar{position:absolute;left:50%;bottom:118px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 13px;background:#243025f2;border:1px solid #9c9b6b;border-radius:4px;max-width:94%;z-index:4}.replay-bar button{display:flex;align-items:center;gap:7px;color:#e3d5a8;white-space:nowrap;font-size:11px}.replay-bar input{width:140px;padding:0;accent-color:#c8b47c}.replay-bar span{font-size:10px;white-space:nowrap;color:#acb596}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.replay-bar{gap:6px}.replay-bar input{width:65px}.replay-bar button:last-child{font-size:9px}}@media(min-width:1900px){.topbar{height:60px}.sidebar{width:380px}.character-section,.region-section,.context-section{padding-inline:20px}.portrait{width:120px;height:128px}.portrait .pixel-sprite{transform:scale(1.1);transform-origin:bottom}.sidebar .minimap{aspect-ratio:1.55}.place-heading h2{font-size:23px}.bottom-bar{height:72px}.context-section p{font-size:17px}}@media(max-width:1280px){.brand>div{display:none}.brand>svg{display:block}.brand{flex:0}}@media(max-width:1150px){.topbar{gap:15px;padding-inline:12px}.brand>div{font-size:14px}.world-selector{min-width:240px;font-size:16px}.header-actions{gap:8px;flex:0}.quiet-button{font-size:15px}.sidebar{width:290px}.character{gap:11px}.portrait{width:100px;height:112px}.character h1{font-size:22px}.role,.condition,.wealth{font-size:15px}.bottom-bar{padding-inline:10px;gap:7px 10px}.quick-actions button{min-width:0;padding:10px;gap:7px;font-size:14px}.command-input input{font-size:15px}.sidebar-footer{padding:16px 12px}.sidebar-footer button{font-size:14px}}@media(max-width:850px){.brand>div{display:none}.brand>svg{display:block}.brand{flex:0}.world-selector{flex:1;min-width:0;font-size:15px}.header-actions{flex:0}.new-world{display:none}.topbar{height:50px}.sidebar{width:270px}.quick-actions button{padding:10px 8px}.quick-actions span{display:none}.keyboard-hint{font-size:13px}.bottom-bar{height:66px}.command-input input{font-size:14px}.portrait{width:90px}.character{gap:10px}.condition,.wealth{font-size:13px}.sidebar-footer{padding:12px}.context-section p{font-size:15px}}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.app{min-height:0;padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));gap:6px}.brand{padding:0 4px}.world-selector{position:static;transform:none;flex:1;min-width:0;gap:8px;padding:0 10px;font-size:14px}.world-selector svg{display:none}.header-actions{width:auto;padding-inline:4px}.donate{display:none}.icon-button{width:40px;height:40px}.sidebar{position:fixed;left:0;right:0;top:auto;bottom:calc(84px + env(safe-area-inset-bottom));width:100%;height:min(45dvh,430px);max-height:calc(100dvh - 134px - env(safe-area-inset-bottom));margin:0;padding:0 8px 8px;z-index:5;box-shadow:-10px 0 30px #0005;border:1px solid var(--line);border-radius:14px 14px 0 0;background:color-mix(in srgb,var(--bg) 96%,transparent);transition:height .18s ease}.sidebar[data-sheet-snap=peek]{height:74px;overflow:hidden}.sidebar[data-sheet-snap=full]{height:calc(100dvh - 134px - env(safe-area-inset-bottom))}.sidebar:not(.sidebar-hidden .sidebar){padding-top:0}.mobile-sheet-grabber{display:flex;width:100%;flex:none;height:22px;align-items:center;justify-content:center;touch-action:none;cursor:grab}.mobile-sheet-grabber:active{cursor:grabbing}.mobile-sheet-grabber span{width:44px;height:4px;border-radius:99px;background:color-mix(in srgb,var(--gold) 67%,transparent)}.mobile-sheet-summary{width:100%;flex:none;text-align:left;align-items:center;gap:10px;min-height:34px;padding:0 8px 6px;color:var(--cream)}.mobile-sheet-summary .pixel-sprite{width:32px;height:38px}.mobile-sheet-summary>span{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.mobile-sheet-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:400}.mobile-sheet-summary small{color:var(--muted);font-size:12px}.mobile-sheet-summary>svg{color:var(--gold);transform:rotate(180deg)}.sidebar[data-sheet-snap=peek]>section,.sidebar[data-sheet-snap=peek]>.sidebar-footer{display:none}.sidebar[data-sheet-snap=peek] .mobile-sheet-summary{display:flex}.sidebar[data-sheet-snap=half] .mobile-sheet-summary,.sidebar[data-sheet-snap=full] .mobile-sheet-summary,.sidebar-hidden .sidebar{display:none}.map-controls{right:10px;top:10px;opacity:1;z-index:6}.sidebar .portrait{width:78px;height:88px}.sidebar .character{min-width:0;gap:10px}.sidebar .character h1{font-size:19px}.sidebar .place-heading h2{font-size:20px}.sidebar .sky{width:50%;height:132px;padding:8px 10px 26px 24px}.sidebar .sky-condition,.sidebar .sky-period{font-size:11px}.sidebar[data-sheet-snap=peek]{height:68px}.bottom-bar{height:76px;grid-template-rows:1fr;padding:9px 8px;gap:7px 8px}.keyboard-hint,.hints-toggle{display:none}.quick-actions{gap:4px}.quick-actions button{padding:10px 6px}.quick-actions svg{width:18px}.quick-actions kbd{display:none}.command-input input{font-size:16px;padding:8px}input,textarea,select{font-size:16px}.command-input button{width:33px}.event-strip{font-size:11px;padding-inline:10px}.modal-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.weaver-modes>span{flex:0 0 100%}.weaver-modes button{max-width:100%}.day-plan li{grid-template-columns:24px 44px minmax(0,1fr) auto;gap:8px;padding:7px 4px;font-size:14px}.day-plan li:not(:last-child):after{left:16px}.character-panel h3{font-size:17px}.ability-list li{gap:7px;font-size:14px}.bearing.panel-card{gap:20px}.character-body,.character-tab{padding:16px 12px}.modal{padding:24px 18px}.modal>h2{font-size:22px}.world-cards{gap:9px}.world-card-art{height:120px}.world-card-art .pixel-sprite{transform:scale(.8)}.world-card-art .pixel-sprite:last-child{display:none}.world-card-title{font-size:12px;padding:12px 10px 8px}.world-card>small,.world-card>p{padding-inline:10px}.modal-bottom{align-items:flex-end}.modal-bottom>span{max-width:155px;font-size:9px}.inventory-grid,.settings-actions{grid-template-columns:1fr}.seed-row{gap:8px}.seed-row .action{font-size:10px;padding:9px}}@media(max-height:500px){.app{min-height:0}.bottom-bar{height:68px}.sidebar{bottom:calc(76px + env(safe-area-inset-bottom))}.sidebar[data-sheet-snap=peek]{height:62px}.sidebar[data-sheet-snap=half]{height:min(64dvh,300px)}.sidebar[data-sheet-snap=full]{height:calc(100dvh - 126px - env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}.weaver-modes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.weaver-modes>span{font-size:13px;color:var(--muted)}.weaver-modes button,.weaver-examples button{border:1px solid #655e47;border-radius:7px;padding:8px 11px;background:#252923;color:#e0d8c4;cursor:pointer}.weaver-modes button[aria-pressed=true],.weaver-examples button[aria-pressed=true]{border-color:#c4a968;background:#444431;color:#fff1c8}.weaver-examples{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.weaver-examples button{font-size:12px}.atlas-map{display:block;width:100%;height:auto;border:1px solid #565e49;border-radius:8px;margin:12px 0}.weaver-preview{color:#dcc68d;padding:10px;border-left:2px solid #bda46b}.field-label select{max-width:100%;width:100%;background:#202621;color:#eee4cc;border:1px solid #67634d;padding:10px;border-radius:6px}.field-label small{font-weight:400;font-size:11px;opacity:.7}button:disabled{opacity:.5;cursor:default}.prop-prompts{position:absolute;bottom:155px;left:20px;z-index:4;display:flex;flex-direction:column;gap:5px;align-items:flex-start;pointer-events:none}.modal-world{width:min(1130px,100%);padding:52px 38px 28px;background:radial-gradient(ellipse at 65% 15%,#18233355,transparent 60%),linear-gradient(125deg,#0d1521,#111a28 55%,#0b1420);border:2px solid #dbb864;box-shadow:0 28px 100px #000a,inset 0 0 45px #060d1844;color:#f4eee0}.modal-world .close-modal{border:1px solid #b99b53;border-radius:4px;color:#efca72}.weaver{font-family:Georgia,Times New Roman,serif}.weaver h2{font-size:clamp(32px,4.2vw,58px);font-weight:400;line-height:1.2;margin:0 0 24px;letter-spacing:-1px}.weaver button,.weaver input,.weaver select{font-family:inherit}.weaver-modes{margin:0 0 26px;gap:10px}.weaver-modes button{display:flex;align-items:center;text-align:left;gap:23px;width:350px;padding:12px 25px;background:#ffffff03;border-color:#46505a;font-size:21px;color:#f4eee0}.weaver-modes svg{width:33px;height:33px;stroke-width:1.3}.weaver-modes small{display:block;font-size:15px;margin-top:4px;color:#dedbd3}.weaver-modes button[aria-pressed=true],.weaver .random-start{background:linear-gradient(120deg,#e9cb7130,#e9cb7115);border:1px solid #f2ce75;box-shadow:inset 0 0 0 1px #e7c26b55}.weaver-prompt{display:flex;gap:16px;margin-bottom:21px}.weaver .random-start{display:flex;align-items:center;justify-content:center;gap:20px;width:250px;flex-shrink:0;color:#ffdb88;border-radius:7px;font-size:23px}.random-start svg{width:32px;height:32px}.weaver-prompt>div{position:relative;flex:1;min-width:0}.weaver-prompt input{width:100%;height:62px;background:#090f1988;border:1px solid #aa8c50;border-radius:6px;padding:0 50px 0 20px;color:#fff7e7;font-size:21px}.weaver-prompt>div button{position:absolute;right:12px;top:18px;background:none;border:0;color:#afcff2}.weaver-examples{gap:12px 16px;margin:0 0 24px}.weaver-examples button{font-size:16px;padding:9px 20px;background:linear-gradient(#ffffff05,#ffffff02);border-color:#46505a;color:#f0eadc}.weaver-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #a58a4b;padding-top:20px}.weaver h3{display:flex;align-items:center;gap:16px;font-size:20px;font-weight:400;margin:0 0 16px}.weaver h3 svg,.weaver-field>svg,.weaver-result svg{color:#f1c56f;flex-shrink:0}.weaver-manual{border-right:1px solid #46505a;padding-right:19px}.weaver-field{display:grid;grid-template-columns:25px 125px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #283a53;background:#1b293e55;border-radius:6px;padding:7px 8px 7px 13px;margin-bottom:8px;font-size:15px}.weaver-field input,.weaver-field select{width:100%;min-width:0;background:#090f1980;border:1px solid #9b804c;border-radius:6px;padding:13px 14px;color:#f0eadc;font-size:15px}.weaver-field select option{background:#111c2b}.weaver-field small{grid-column:3;font-size:10px;color:#c0c6d2;margin-top:-3px;line-height:1.4}.weaver .atlas-map{margin:0 0 12px;border-color:#a8945d}.weaver-result{border:1px solid #8a784d;border-radius:6px;padding:14px 18px;background:radial-gradient(ellipse at right bottom,#797a3c33,transparent 65%),#0b111acc}.weaver-result h4{display:flex;align-items:center;gap:15px;font-weight:400;font-size:18px;color:#ffd781;margin:0 0 9px}.weaver-result p{font-size:16px;line-height:1.5;margin:0 0 3px}.weaver-result small{color:#cecac0;font-size:14px}.weaver-bottom{border-top:1px solid #a58a4b;margin-top:24px;padding-top:24px;display:flex;justify-content:center}.weaver-bottom .filled-button{width:426px;max-width:100%;height:63px;display:flex;align-items:center;justify-content:center;gap:18px;background:linear-gradient(120deg,#e3bc62,#f4d88b 52%,#d6ac51);border:1px solid #ffdf91;border-radius:6px;color:#171306;font-size:27px;box-shadow:inset 0 0 20px #fff2b633}.weaver-route{font-size:14px;color:#d9c795}.weaver button:focus-visible,.weaver input:focus-visible,.weaver select:focus-visible{outline:2px solid #b5d6fc;outline-offset:3px}@media(max-width:760px){.modal-world{padding:55px 20px 22px}.weaver-details{grid-template-columns:1fr}.weaver-manual{border-right:0;padding-right:0}.weaver-prompt{flex-direction:column}.weaver .random-start{width:100%;padding:12px}.weaver-modes{flex-wrap:nowrap}.weaver-modes button{width:50%;gap:10px;padding:12px;font-size:17px}.weaver-modes small{font-size:12px}.weaver-field{grid-template-columns:22px 105px minmax(0,1fr)}.weaver-examples{gap:8px}.weaver-examples button{font-size:14px;padding:8px 12px}}.weaver button,.weaver input,.weaver select,.weaver label,.weaver p,.weaver small{font-weight:400}.weaver .atlas-map{height:202px;object-fit:fill}.weaver-bottom .filled-button svg{color:#171306}@media(max-width:760px){.weaver .atlas-map{height:auto}}.weaver{font-family:Baskervville,Georgia,serif}:root{--start-gold: var(--gold);--start-border: #8d7950;--start-panel: #101a28}.start-preview{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--start-border);border-radius:6px;background:linear-gradient(110deg,#ddba6510,#0d1522);color:#f0e9dc;font:15px Baskervville,Georgia,serif}.start-preview>svg{flex-shrink:0;color:var(--start-gold)}.start-preview strong{font-weight:400;color:#f4d38c}.start-preview-role{color:#eee5d6}.start-preview p{margin:3px 0 0;color:#bfc3cb;font-size:13px}.region-tag{display:inline-block;margin-right:7px;padding:1px 7px;border:1px solid currentColor;border-radius:9px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;opacity:.92}.region-tag[data-culture=european]{color:#8fb3e0}.region-tag[data-culture=north-african-west-asian]{color:#e0b878}.region-tag[data-culture=inner-eurasian]{color:#b39ede}.region-tag[data-culture=south-asian]{color:#e59b6d}.region-tag[data-culture=east-asian]{color:#e08b96}.region-tag[data-culture=southeast-asian]{color:#7fc7ae}.region-tag[data-culture=west-central-african]{color:#d7c26a}.region-tag[data-culture=east-southern-african]{color:#a8c46f}.region-tag[data-culture=mesoamerican]{color:#6fc3c9}.region-tag[data-culture=andean]{color:#c9a0d6}.region-tag[data-culture=other-indigenous-american]{color:#9ec9e6}.region-tag[data-culture=australian-pacific]{color:#dba0a0}.modal-world{width:min(940px,100%);padding:26px 28px 18px;max-height:calc(100dvh - 40px)}.weaver h2{font-size:36px;margin:0 44px 14px 0;letter-spacing:-.5px}.weaver-modes{margin-bottom:14px;gap:9px}.weaver-modes button{width:280px;padding:8px 16px;gap:15px;font-size:17px}.weaver-modes small{font-size:12px;margin-top:2px}.weaver-modes svg{width:25px;height:25px}.weaver-prompt{gap:12px;margin-bottom:14px}.weaver .random-start{width:190px;font-size:18px;gap:14px}.random-start svg{width:24px;height:24px}.weaver-prompt input{height:44px;font-size:17px;padding-left:15px}.weaver-prompt>div button{top:10px}.weaver-examples{gap:7px 10px;margin-bottom:16px}.weaver-examples button{font-size:13px;padding:6px 12px}.weaver-details{gap:16px;padding-top:14px}.weaver h3{font-size:16px;gap:10px;margin-bottom:11px}.weaver h3 svg{width:20px;height:20px}.weaver-manual{padding-right:15px}.weaver-field{grid-template-columns:20px 99px minmax(0,1fr);gap:8px;font-size:13px;padding:5px 6px 5px 9px;margin-bottom:6px}.weaver-field>svg{width:19px;height:19px}.weaver-field input,.weaver-field select{padding:9px 10px;font-size:13px}.weaver-field small{font-size:9px;grid-column:2 / 4}.weaver .atlas-map{height:148px;margin-bottom:10px}.weaver .start-preview{font-size:14px;padding:9px 12px}.weaver .start-preview p{font-size:12px}.weaver-bottom{position:sticky;bottom:-18px;background:var(--start-panel);margin-top:16px;padding:12px 0 0;z-index:1}.weaver-bottom .filled-button{height:44px;width:320px;font-size:21px}@media(max-width:760px){.modal-world{padding:38px 18px 16px}.weaver h2{font-size:28px}.weaver-modes button{width:50%;font-size:15px;padding:8px;gap:8px}.weaver .random-start{width:100%;padding:9px}.weaver-details{grid-template-columns:1fr}.weaver-manual{padding-right:0}.weaver .atlas-map{height:auto;max-height:165px}.weaver-bottom{bottom:-16px}}.sidebar .character>div:last-child{min-width:0}.sidebar .character h1{overflow-wrap:anywhere}.border-hint{top:18px;bottom:auto;pointer-events:none}.fps-meter{position:absolute;top:14px;left:14px;z-index:6;display:flex;flex-direction:column;gap:2px;padding:8px 11px;color:#e8d6ad;background:#202a28ed;border:1px solid #887b56;border-radius:4px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none}.fps-meter strong{font-size:15px}.live-graphics-panel{position:absolute;top:14px;left:14px;z-index:30;width:min(290px,calc(100% - 28px));max-height:calc(100% - 28px);overflow:auto;padding:12px;color:#eadbb7;background:#172321f2;border:1px solid #887b56;border-radius:6px;box-shadow:0 10px 30px #0a1110a8;font:12px var(--sans)}.combat-test-panel{left:auto;right:14px;width:min(240px,calc(100% - 28px))}.live-graphics-panel header,.live-graphics-panel footer,.live-graphics-panel label>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.live-graphics-panel header{margin-bottom:12px}.live-graphics-panel header div{display:grid;gap:2px}.live-graphics-panel header span{color:#baa77a;font-size:10px;letter-spacing:.12em}.live-graphics-panel header strong{color:#fff1cb;font-size:17px}.live-graphics-panel button,.live-graphics-panel select{color:#eadbb7;background:#25332f;border:1px solid #645e47;border-radius:4px}.live-graphics-panel button{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;cursor:pointer}.live-graphics-panel header button{padding:5px}.live-graphics-panel label{display:grid;gap:5px;margin:10px 0;color:#cfc09b}.live-graphics-panel select{width:100%;padding:6px 7px}.live-graphics-panel input[type=range]{width:100%;accent-color:#d7b86e}.live-graphics-panel output{color:#fff1cb;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.live-graphics-panel .live-graphics-check{display:flex;grid-template-columns:none;align-items:center;gap:8px}.live-tuning-section{margin:8px -2px;padding:8px 2px 2px;border-top:1px solid #4d4d3e}.live-tuning-section summary{color:#fff1cb;font-size:14px;font-weight:650;cursor:pointer}.live-tuning-section>p{margin:7px 0 9px;color:#a99b78;font-size:11px;line-height:1.4}.live-animal-controls{margin:14px -2px 0;padding:12px 2px 0;border-top:1px solid #4d4d3e}.live-animal-controls>div:first-child{display:grid;gap:2px;margin-bottom:8px}.live-animal-controls>div:first-child span{color:#baa77a;font-size:10px;letter-spacing:.12em}.live-animal-controls>div:first-child strong{color:#fff1cb;font-size:15px}.live-animal-actions{display:flex;gap:7px}.live-animal-controls p{min-height:16px;margin-top:8px;color:#a99b78}.live-graphics-panel footer{margin-top:12px;padding-top:10px;border-top:1px solid #4d4d3e;color:#a99b78}.live-graphics-panel>header{position:sticky;top:-12px;z-index:2;padding-top:12px;margin-top:-12px;background:#172321}.live-graphics-panel>.fps-meter{position:sticky;top:34px;z-index:2;margin-bottom:10px;border-color:#4d4d3e;background:#101a18;pointer-events:auto}.fps-meter-top{display:flex;align-items:baseline;gap:9px}.fps-meter-rows{display:grid;gap:1px;color:#a99b78;font-size:11px}.fps-meter-rows [data-warn]{color:#e2a45f}.fps-spark{display:flex;align-items:flex-end;gap:1px;height:22px;margin:5px 0 4px}.fps-spark i{flex:1;min-height:1px;background:#6f8f6a}.fps-spark i[data-hitch]{background:#d08a4a}.fps-worst{margin-top:6px;padding-top:5px;border-top:1px solid #3a4a45;font-size:11px}.fps-worst>summary{display:flex;justify-content:space-between;color:#e8d6ad;cursor:pointer}.fps-worst button{color:#a99b78;background:none;border:0;font:inherit;text-decoration:underline;cursor:pointer}.fps-worst p{margin:3px 0 0;color:#a99b78}.fps-hitch{margin-top:4px}.fps-hitch>b{display:flex;justify-content:space-between;color:#e2a45f}.fps-worst ul{margin:1px 0 0;padding:0 0 0 10px;list-style:none;color:#a99b78}.fps-worst li{display:flex;justify-content:space-between;gap:8px}.fps-worst em{font-style:normal}.fps-meter-top [data-warn]{color:#e2a45f}.live-tabs{display:flex;gap:4px;margin-bottom:10px}.live-tabs button{flex:1;padding:5px 8px;color:#a99b78;background:#101a18;border:1px solid #4d4d3e;border-radius:4px;font:inherit;cursor:pointer}.live-tabs button[aria-selected=true]{color:#fff1cb;background:#2b3a35;border-color:#887b56}.combat-test-panel .live-animal-actions,.live-perf .live-animal-actions{flex-wrap:wrap}.live-perf h4{margin:0 0 6px;color:#fff1cb;font-size:12px}.live-perf .live-graphics-check{align-items:flex-start}.live-perf .live-graphics-check input{margin-top:2px}.live-perf .live-graphics-check>span{flex:1}.live-perf .live-graphics-check em{display:block;color:#a99b78;font-style:normal;font-size:11px}.modal-character{width:min(1060px,100%);padding:0}.character-panel header{padding:22px 56px 14px 28px;border-bottom:1px solid var(--line-soft)}.character-panel header h2{font-size:34px;color:var(--cream);line-height:1.1}.character-panel header p{color:var(--muted);font-size:15px;margin-top:2px}.character-panel header .where{position:absolute;right:62px;top:30px;color:var(--muted);font-size:13px}.character-panel nav{display:flex;gap:20px;padding:0 28px;border-bottom:1px solid var(--line-soft)}.character-panel nav button{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:13px 0;cursor:pointer}.character-panel nav button[aria-selected=true]{color:var(--belief-cyan);border-bottom-color:var(--belief-coral)}.character-body{display:grid;grid-template-columns:190px minmax(0,1fr) 250px;gap:24px;padding:22px 28px;align-items:start}.character-tab{padding:22px 28px}.character-panel h1{font-size:27px;line-height:1.25;color:var(--cream)}.character-panel h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:20px 0 8px}.character-panel .summary{color:var(--muted);font-size:14px;margin-top:6px}.bearing{display:flex;gap:28px;margin-top:22px;padding-top:14px;border-top:1px solid var(--line-soft)}.bearing dt{font:9px var(--pixel);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.bearing dd{font-size:17px;color:var(--cream);text-transform:capitalize}.character-portrait{background:linear-gradient(145deg,#323a68,#263052);border:1px solid var(--line);border-radius:5px;aspect-ratio:1;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.character-aside .condition{list-style:none;margin:12px 0 0;display:grid;gap:4px}.character-aside .condition li{display:flex;align-items:center;gap:9px;color:#7f8aa8;font-size:16px}.character-aside .condition li svg{color:#6f9c64}.character-aside .condition li[data-urgent]{color:var(--rose)}.character-aside .condition li[data-urgent] svg{color:var(--rose)}.character-aside p{color:var(--text);font-size:14px}.character-aside .adornment{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:5px}.character-aside .adornment li{position:relative;padding-left:14px;color:#cbb489;font-family:var(--sans);font-size:13.5px;line-height:1.35}.character-aside .adornment li:before{content:"";position:absolute;left:2px;top:7px;width:4px;height:4px;background:currentColor;transform:rotate(45deg)}.character-aside .adornment li[data-kind=mark]{color:#b79ba8}.carrying{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--text)}.follow-day{display:flex;align-items:center;gap:9px;width:100%;margin-top:22px;padding:9px 11px;background:none;border:1px solid var(--line-soft);border-top:1px solid var(--line-soft);border-radius:5px;color:var(--cream);font:inherit;font-size:15px;text-align:left;cursor:pointer}.follow-day:hover:not([disabled]){border-color:var(--gold)}.follow-day[disabled]{color:var(--muted);cursor:default}.follow-day i{width:9px;height:9px;transform:rotate(45deg);background:var(--gold);flex-shrink:0}.day-plan{list-style:none;display:grid;gap:2px;margin:16px 0;padding:0}.day-plan li{position:relative;display:grid;grid-template-columns:28px 54px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px;border-radius:4px;font-size:16px}.day-plan li:not(:last-child):after{content:"";position:absolute;left:22px;top:30px;bottom:-4px;width:1px;background:var(--line-soft)}.day-plan svg{color:var(--gold);opacity:.85}.day-plan li[data-activity=draw-water] svg,.day-plan li[data-activity=rest] svg{color:var(--teal)}.day-plan li[data-activity=tend] svg,.day-plan li[data-activity=gather] svg,.day-plan li[data-activity=graze] svg{color:#9ec98e}.day-plan li[data-activity=visit] svg,.day-plan li[data-activity=play] svg{color:#c8a2d8}.day-plan li[data-activity=cook] svg,.day-plan li[data-activity=warm] svg{color:var(--rose)}.day-plan li[data-state=now] svg{opacity:1}.day-plan li[data-state=now]{background:#ffffff0f}.day-plan li[data-state=done]{color:var(--muted)}.day-plan li[data-state=done] svg{opacity:.4}.day-plan time{color:var(--muted);font-size:13px}.day-plan em{font-style:normal;font-size:12px;color:var(--gold)}.day-plan li[data-open],.event-open{cursor:pointer;transition:background .15s}.day-plan li[data-open]:hover,.event-open:hover{background:#ffffff0d}.event-open[data-aim] time{color:var(--gold)}.day-evidence{margin-left:8px;font-size:11px;color:var(--muted);text-transform:lowercase}.ability-list{list-style:none;display:grid;gap:7px}.ability-list li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:16px}.ability-list svg{color:var(--gold)}.ability-list li[data-tone=strength] svg,.ability-list li[data-tone=endurance] svg{color:var(--rose)}.ability-list li[data-tone=wit] svg,.ability-list li[data-tone=conscientiousness] svg{color:var(--teal)}.pips{display:inline-flex;gap:4px}.pips i{width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--line)}.pips i.on{background:var(--gold);border-color:var(--gold)}.pips[data-tone=strength] i.on,.pips[data-tone=endurance] i.on{background:var(--rose);border-color:var(--rose)}.pips[data-tone=wit] i.on,.pips[data-tone=conscientiousness] i.on{background:var(--teal);border-color:var(--teal)}.household-list,.belongings,.available{list-style:none;display:grid;gap:6px;margin:0;padding:0}.household-list button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#ffffff08;border:1px solid transparent;border-left:2px solid transparent;border-radius:4px;padding:7px 9px;color:inherit;font:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.household-list button:hover{background:#ffffff12;border-left-color:var(--culture-accent, var(--gold))}.household-list canvas{flex-shrink:0}.household-list span{display:grid;gap:1px;min-width:0;font-size:15px;line-height:1.25}.household-list small,.character-panel .available button[disabled]{color:var(--muted)}.household-list small{font-size:12px}.household-list.wide{grid-template-columns:1fr 1fr}.dots{display:inline-flex;gap:3px;margin-left:auto;flex-shrink:0}.dots i{width:6px;height:6px;border-radius:50%;background:#ffffff1f}.dots i.on{background:var(--rose-line)}.belongings{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.belongings li{position:relative;aspect-ratio:1;border:1px solid var(--line-soft);border-radius:4px;background:#ffffff08;display:flex;align-items:center;justify-content:center}.belongings li.empty{border-color:#ffffff10;border-style:dashed;background:none}.belongings button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.belongings button:hover{transform:translateY(-2px);border-color:var(--line);box-shadow:0 4px 10px #0005}.belongings button[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent),0 0 12px color-mix(in srgb,var(--gold) 22%,transparent)}.belongings.worn{margin-bottom:10px}.belongings.worn button:disabled{cursor:default}.belongings.worn button:not(:disabled):hover{border-color:var(--line)}.equipment{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:10px}.equip-slot{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.equip-slot button{width:100%;aspect-ratio:1;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:1px dashed #ffffff10;border-radius:5px;color:inherit;cursor:default}.equip-slot[data-filled] button{border-style:solid;border-color:var(--line);background:#ffffff08}.equip-slot[data-filled] button:not(:disabled){cursor:pointer}.equip-slot[data-filled] button:not(:disabled):hover{border-color:var(--gold)}.equip-slot[data-over] button{border-style:solid;border-color:var(--gold);background:#d9a84517}.equip-slot small{font-family:var(--sans);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#69739c}.equip-slot[data-filled] small{color:#a3abcb}.equip-slot[data-slot=hand][data-filled] small{color:var(--gold)}.wear-action{margin-left:8px;padding:4px 11px;border:1px solid var(--gold);border-radius:3px;background:none;color:var(--gold);font:500 12px var(--sans);cursor:pointer}.belonging-note .rarity{margin-right:6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.belonging-note{display:grid;gap:2px;color:var(--muted);font-size:13px;line-height:1.4;margin-top:12px;padding-top:10px;border-top:1px solid #ffffff0d}.belonging-note strong{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--cream)}.belonging-note .rarity,.belonging-note .wear-action{justify-self:start;margin:4px 0 0}.belongings b{position:absolute;right:4px;bottom:4px;padding:0 4px;border-radius:7px;background:#0a102999;font-family:var(--sans);font-size:10px;font-variant-numeric:normal;color:#c3c7dc}.available button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:1px solid var(--line-soft);border-radius:5px;padding:7px 9px;color:var(--cream);font:inherit;font-size:14px;cursor:pointer}.available button:hover:not([disabled]){border-color:var(--gold)}.available li:first-child button:not([disabled]){border-color:var(--rose-line);background:#b96a8a24}.abilities-tab{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:20px;max-width:1040px;padding:22px 32px}.abilities-tab .panel-card{margin-top:0;padding:14px 18px 18px}.abilities-tab .ability-list.wide li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;font-family:var(--sans);font-size:15px}.abilities-tab .ability-list.wide li+li{border-top:1px solid var(--line-soft)}.stat-bars{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:7px 24px}.stat-bars li{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:10px;font-size:14px;text-transform:capitalize}.stat-bars i{height:6px;background:#ffffff14;border-radius:3px}.stat-bars b{display:block;height:100%;background:var(--gold);border-radius:3px}.character-panel footer{display:flex;font-style:italic;justify-content:space-between;align-items:center;padding:13px 28px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:14px}.character-panel footer button{background:none;border:1px solid var(--line);border-radius:5px;color:var(--cream);font:inherit;font-size:14px;padding:6px 16px;cursor:pointer}@media(max-width:860px){.character-body,.household-list.wide,.stat-bars{grid-template-columns:1fr}}.powers{list-style:none;display:grid;gap:4px}.powers li{display:flex;align-items:baseline;gap:12px;padding:8px 10px;border-radius:4px;font-size:16px;background:#ffffff06}.powers li[data-rank=paramount]{background:#b96a8a20}.powers small{display:block;color:var(--muted);font-size:13px}.powers em{margin-left:auto;font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.keeps{color:var(--text);font-size:15px;margin-top:10px;font-style:italic}.character-tab>p{color:var(--muted);font-size:15px}.glyph{image-rendering:pixelated;flex-shrink:0}.powers li{align-items:center}.patron{display:flex;align-items:center;gap:14px}.modal-character{width:min(1500px,100%);height:min(900px,90dvh);overflow:hidden;padding:0;border-radius:1px;border-color:#c09b4e;background:#0c1021;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 30%,transparent),0 0 0 4px #0c1021,0 0 0 5px #806a3c,0 30px 100px #080b12b8}.modal-character>.close-modal{right:24px;top:25px;z-index:2;color:#d6d5df}.character-panel{--culture-dark: color-mix( in oklab, var(--culture-accent, #62d4ca) 8%, #0a1029 );--culture-deep: color-mix( in oklab, var(--culture-accent, #62d4ca) 11%, #060c20 );--belief-cyan: #62d4ca;--belief-coral: #ef766d;--belief-indigo: #292f58;--sans: "DM Sans", system-ui, sans-serif;position:relative;display:flex;flex-direction:column;height:100%;isolation:isolate}.character-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(125% 135% at 100% -5%,color-mix(in srgb,var(--culture-deep) 18%,transparent) 0%,color-mix(in srgb,var(--culture-deep) 58%,transparent) 34%,color-mix(in srgb,var(--culture-deep) 88%,transparent) 72%,var(--culture-deep) 100%),linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--culture-dark) 30%,transparent) 26%,color-mix(in srgb,var(--culture-dark) 62%,transparent) 60%,color-mix(in srgb,var(--culture-dark) 80%,transparent) 100%),var(--panel-scene, none) top center/cover no-repeat}.culture-strip{position:absolute;inset:0 auto 0 0;width:46px;z-index:-1;background:linear-gradient(180deg,#0c142f8c,#0c142f5c),var(--culture-pattern) center top/44px 44px repeat-y,linear-gradient(180deg,#1a2450,#0c1430);border-right:1px solid var(--line);opacity:.55}.corner-frame{position:relative;--corner: 14px;--corner-line: var(--line);background-image:linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line));background-repeat:no-repeat;background-size:var(--corner) 1px,1px var(--corner),var(--corner) 1px,1px var(--corner),var(--corner) 1px,1px var(--corner),var(--corner) 1px,1px var(--corner);background-position:left top,left top,right top,right top,left bottom,left bottom,right bottom,right bottom}.corner-frame:after{content:"";position:absolute;inset:5px;pointer-events:none;background-image:linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line)),linear-gradient(var(--corner-line),var(--corner-line));background-repeat:no-repeat;background-size:calc(var(--corner) * .5) 1px,1px calc(var(--corner) * .5),calc(var(--corner) * .5) 1px,1px calc(var(--corner) * .5),calc(var(--corner) * .5) 1px,1px calc(var(--corner) * .5),calc(var(--corner) * .5) 1px,1px calc(var(--corner) * .5);background-position:left top,left top,right top,right top,left bottom,left bottom,right bottom,right bottom;opacity:.55}.character-panel>*:not(.culture-strip){margin-left:46px}.character-panel>.character-body,.character-panel>.character-tab,.character-panel>.belief-layout,.character-panel>.outlook-layout{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4a5a86 transparent}.character-panel>.character-header,.character-panel>nav{flex:0 0 auto}.character-panel .character-header{position:relative;display:flex;align-items:baseline;min-height:88px;gap:24px;padding:24px 150px 20px 136px;border-bottom:1px solid var(--line)}.header-avatar{position:absolute;left:62px;top:18px;display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border:2px solid var(--culture-accent, var(--belief-coral));border-radius:50%;background:radial-gradient(circle at 50% 35%,#2b3766,#131c3a)}.header-avatar canvas{transform:scale(1.35) translateY(3px);image-rendering:pixelated}.character-panel .character-header h2{font-size:42px;font-weight:400;line-height:1}.character-panel .character-header p{margin:0;color:#c5c5d5;font-size:19px}.character-panel .character-header .where{right:74px;top:35px;color:#c4c5d3;font-size:15px}.character-panel>nav{align-items:flex-end;min-height:62px;gap:34px;padding:0 34px 0 62px;border-bottom-color:var(--line)}.character-panel>nav button{padding:20px 10px 16px;font-family:var(--serif);font-size:16px;letter-spacing:.14em;border-bottom-width:4px}.character-panel>nav button[aria-selected=true]{color:var(--culture-accent, var(--belief-cyan));border-bottom-color:var(--culture-accent, var(--belief-coral))}.character-body{grid-template-columns:260px minmax(460px,1fr) 320px;gap:0;padding:0;align-items:stretch}.character-aside,.character-side{padding:22px 24px 28px;background:linear-gradient(180deg,color-mix(in srgb,var(--culture-dark) 62%,transparent),color-mix(in srgb,var(--culture-dark) 88%,transparent));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.character-aside{border-right:1px solid var(--line);box-shadow:inset -1px 0 #ffffff0d}.character-side{border-left:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--culture-accent, #62d4ca) 5%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--culture-dark) 48%,transparent),color-mix(in srgb,var(--culture-dark) 74%,transparent));box-shadow:inset 1px 0 #ffffff12}.character-main{padding:20px 26px 22px}.character-panel h1{font-size:28px;font-weight:400;line-height:1.15}.character-panel h3{margin:18px 0 10px;color:var(--cream);font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:0;text-transform:none}.character-side h3,.character-aside h3{margin:26px 0 12px;padding-bottom:7px;font-size:19px;border-bottom:1px solid #ffffff14}.character-side>h3:first-child,.character-aside>h3:first-child{margin-top:0}.character-panel h3>svg{vertical-align:-3px;margin-right:6px;color:var(--gold)}.character-panel h3.eyebrow{margin-bottom:4px;color:var(--gold);font:9px var(--pixel);letter-spacing:.16em;text-transform:uppercase}.character-panel .summary{color:#b7b9ce;font-size:15px}.character-portrait{aspect-ratio:4 / 5;border-color:#566399;border-radius:1px;background:linear-gradient(145deg,#323a68,#263052)}.character-aside .condition{gap:8px;margin:14px 8px;padding-bottom:14px;border-bottom:1px solid var(--line-soft)}.character-aside .condition li{color:#91d69b;font-size:16px}.character-aside .condition li:nth-child(2){color:var(--belief-cyan)}.character-aside .condition li[data-state=unwell],.character-aside .condition li[data-state=hungry],.character-aside .condition li[data-state=thirsty],.character-aside .condition li[data-state=tired]{color:var(--belief-coral)}.carrying{min-height:32px;color:#d3d3df}.follow-day{margin-top:20px;border-width:1px 0 0;border-radius:0;padding:18px 5px;font-family:var(--sans)}.day-plan{gap:0}.day-plan li{grid-template-columns:24px 56px minmax(0,1fr) auto;min-height:36px;padding:4px 10px;border-radius:1px;font-size:16px}.day-plan li:not(:last-child):after{left:21px;top:30px;bottom:-4px;background:color-mix(in srgb,var(--gold) 47%,transparent)}.day-plan li[data-state=now]{border-left:2px solid var(--belief-cyan);background:linear-gradient(90deg,#3f4d864f,#30375f35)}.day-plan li[data-state=now] svg{color:var(--belief-cyan)}.day-plan time{font:9px var(--pixel);letter-spacing:.1em}.ability-list{gap:6px}.ability-list li{font-size:15px}.ability-list svg{color:var(--belief-cyan)}.pips{gap:10px}.pips i{width:12px;height:12px;border-color:#9297b0}.bearing{gap:58px;margin-top:18px}.bearing dd{margin-top:4px;font-size:18px}.household-list,.belongings,.available{gap:8px}.household-list button{min-height:74px;padding:8px 12px;border-radius:1px}.household-list button:hover,.household-list button:focus-visible{border-color:#566fb0;background:#41508446}.belongings{grid-auto-rows:84px;gap:9px}.equipment{gap:7px;margin-bottom:0}.equip-slot{gap:4px}.equip-slot button,.belongings li,.belongings button{border-radius:1px}.available button{border-width:1px 0 0;border-radius:0;font-family:var(--sans)}.available li:first-child button:not([disabled]){border-color:transparent;background:linear-gradient(90deg,#a64f59,#c46968)}.character-panel footer>button{border-radius:1px}.character-tab{min-height:635px;padding:28px 34px}.outlook-overview>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#b8bbcf;font-family:var(--sans);font-size:13px;line-height:1.55}.belief-measures{display:flex;gap:24px;margin:8px 0 0}.belief-measures div{display:flex;gap:8px;font-family:var(--sans);font-size:12px}.belief-measures dd{margin:0;color:var(--belief-cyan);text-transform:capitalize}.belief-main{min-width:0;padding:23px 28px}.belief-intro{max-width:900px}.outlook-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,640px);align-items:center;gap:28px}.outlook-overview{margin-top:0;padding:10px 14px 12px;font-size:13px}.outlook-overview>h3:first-child{margin-top:0}.belief-intro h3{margin:0 0 7px}.belief-intro h1{font-size:27px}.belief-intro p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:6px;color:#b8bbcf;font-family:var(--sans);font-size:13.5px;line-height:1.5}.power-map{position:relative;height:268px;margin-top:5px;border-bottom:1px solid var(--line)}.power-map svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.power-map path{fill:none;stroke:#d7ae58b3;stroke-width:1.25;vector-effect:non-scaling-stroke;shape-rendering:crispEdges}.power-map path[data-relation=consort-of]{stroke-dasharray:3 4}.power-map path[data-relation=aspect-of]{stroke:var(--belief-coral);stroke-dasharray:7 5}.panel-card{margin-top:12px;padding:12px 16px;background:linear-gradient(180deg,color-mix(in srgb,var(--culture-dark) 70%,transparent),color-mix(in srgb,var(--culture-dark) 90%,transparent));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid var(--line-soft);border-radius:2px}.panel-card>h3:first-child{margin-top:0}.character-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.character-about{margin:8px 0 0;color:#cfd4e4;font-size:14px;line-height:1.55}.portrait-frame{--corner: 16px;padding:5px}.portrait-frame>.character-portrait{border-radius:1px}.character-aside .rule-diamond{margin:16px 0 12px}.character-quote{margin:0;color:#a4abc4;font-size:14px;font-style:italic;line-height:1.5;text-align:center}.bearing.panel-card{display:flex;gap:48px}.rule-diamond{display:block;height:9px;margin:14px 0 16px;background:linear-gradient(var(--line-soft),var(--line-soft)) left center/100% 1px no-repeat,linear-gradient(45deg,transparent 42%,var(--gold) 42% 58%,transparent 58%) center/9px 9px no-repeat}.outlook-main{min-width:0;padding:20px 32px 26px}.outlook-main h1{margin-top:6px;font-size:38px}.stance-row{display:flex;gap:14px;margin-top:22px}.stance-card{position:relative;display:flex;flex:1 1 0;min-width:0;padding:18px 8px 14px;flex-direction:column;align-items:center;color:var(--cream);background:#16203c73;border:1px solid var(--line-soft);border-radius:2px;font:inherit;cursor:pointer}.stance-card:hover{border-color:#6b7aa8}.stance-card[data-selected=true]{border-color:var(--belief-cyan);background:#1b2c4c80}.stance-card[data-selected=true]:before{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;background:var(--belief-cyan);transform:translate(-50%) rotate(45deg)}.stance-card svg,.stance-tile svg{color:var(--kind-color, var(--cream))}.stance-card[data-kind=temper],.stance-tile[data-kind=temper]{--kind-color: var(--gold)}.stance-card[data-kind=cosmic],.stance-tile[data-kind=cosmic]{--kind-color: var(--belief-cyan)}.stance-card[data-kind=political],.stance-tile[data-kind=political]{--kind-color: var(--cream)}.stance-card[data-kind=ethical],.stance-tile[data-kind=ethical]{--kind-color: #e9a8c0}.stance-card[data-kind=economic],.stance-tile[data-kind=economic]{--kind-color: #9fc79a}.stance-card strong{display:block;max-width:100%;margin-top:12px;overflow:hidden;font-size:16px;font-weight:400;text-align:center;text-overflow:ellipsis;white-space:nowrap}.stance-card small{margin-top:4px;color:var(--gold);font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.stance-detail{--corner: 16px;border:1px solid color-mix(in srgb,var(--line) 18%,transparent);display:grid;grid-template-columns:300px minmax(0,1fr);gap:34px;margin-top:22px;padding:26px 30px;background-color:#141d3559}.stance-identity h2{margin:14px 0 0;font-size:27px;font-weight:400}.stance-identity>small{color:var(--gold);font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.stance-tile{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--line-soft);border-radius:2px;background:#1d2a4a66}.stance-identity dl{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line-soft)}.stance-identity dl div{display:flex;justify-content:space-between;gap:16px;padding:5px 0;font-family:var(--sans);font-size:12px}.stance-identity dt{color:#8f9ab4;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.stance-identity dd{margin:0;color:var(--cream);text-transform:capitalize}.stance-copy>p:first-child{margin-bottom:16px;color:#e7e9f4;font-family:inherit;font-size:22px;line-height:1.35}.stance-copy p{margin:0 0 12px;color:#cfd4e4;font-family:var(--sans);font-size:14px;line-height:1.65}.stance-excerpt{color:#a9b1c8!important;font-size:12.5px!important}.stance-copy a{color:var(--belief-cyan);font-family:var(--sans);font-size:12px}.power-node{position:absolute;z-index:1;display:flex;width:150px;min-height:112px;padding:4px;transform:translate(-50%,-50%);flex-direction:column;align-items:center;justify-content:center;color:var(--cream);background:transparent;border:1px solid transparent;border-radius:1px;font:inherit;cursor:pointer}.power-node:hover,.power-node:focus-visible{background:#31406c32;border-color:#5e70a2}.power-node[data-selected=true]{border-color:var(--belief-cyan);background:linear-gradient(var(--belief-coral),var(--belief-coral)) left top/12px 2px no-repeat,linear-gradient(var(--belief-coral),var(--belief-coral)) left top/2px 12px no-repeat,linear-gradient(var(--belief-coral),var(--belief-coral)) right top/12px 2px no-repeat,linear-gradient(var(--belief-coral),var(--belief-coral)) right top/2px 12px no-repeat,linear-gradient(var(--belief-coral),var(--belief-coral)) left bottom/12px 2px no-repeat,linear-gradient(var(--belief-coral),var(--belief-coral)) left bottom/2px 12px no-repeat,linear-gradient(var(--belief-coral),var(--belief-coral)) right bottom/12px 2px no-repeat,linear-gradient(var(--belief-coral),var(--belief-coral)) right bottom/2px 12px no-repeat,#30446826}.power-node .deity-icon{width:62px;height:62px;object-fit:contain;image-rendering:pixelated}.power-node .glyph{margin:9px}.power-node strong{display:block;max-width:146px;overflow:hidden;font-size:15px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.power-node small{margin-top:2px;color:var(--gold);font-family:var(--sans);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.power-node[data-tier=primary]{min-height:120px}.power-node[data-tier=primary] .deity-icon{width:72px;height:72px}.more-powers{position:absolute;right:0;bottom:7px;color:var(--muted);font-family:var(--sans);font-size:10px}.power-detail{display:grid;grid-template-columns:158px minmax(290px,1fr) 280px;gap:24px;align-items:start;padding-top:14px}.power-detail h1{margin-bottom:10px;font-size:28px}.power-identity{display:grid;justify-items:center;align-content:start;text-align:center}.power-portrait{display:flex;width:72px;height:72px;align-items:center;justify-content:center;background:linear-gradient(135deg,#c5a365,#86613d)}.power-portrait .deity-icon{width:64px;height:64px;object-fit:contain;image-rendering:pixelated}.power-copy,.belief-practices{padding-left:22px;border-left:1px solid var(--line)}.power-copy h2{margin:3px 0 10px;color:#e7e9f4;font-size:22px;font-weight:400;line-height:1.35}.power-copy h2:first-letter{text-transform:uppercase}.power-copy>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;margin:7px 0;color:#b8bbcf;font-family:var(--sans);font-size:13.5px;line-height:1.5}.power-copy dl{margin-top:12px;padding-top:8px;border-top:1px solid var(--line-soft)}.power-copy dl div{display:grid;grid-template-columns:118px 1fr;padding:3px 0;font-family:var(--sans);font-size:11px}.power-copy dt{color:#aeb1c4;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.power-copy dd{color:var(--cream)}.power-copy dd:first-letter{text-transform:uppercase}.belief-practices h3{margin-top:3px}.belief-practices ul{list-style:none}.belief-practices li{position:relative;padding:8px 0 8px 17px;border-top:1px solid color-mix(in srgb,var(--gold) 15%,transparent);color:#d0d1dc;font-family:var(--sans);font-size:11px;line-height:1.35}.belief-practices li:before{content:"";position:absolute;left:2px;top:13px;width:6px;height:6px;transform:rotate(45deg);background:var(--gold)}.belief-practices li:first-child{padding-inline:25px 8px;color:var(--cream);background:linear-gradient(90deg,#a64f59ad,#c4696878)}.belief-practices li:first-child:before{left:10px}.belief-practices a{display:block;margin-top:10px;color:var(--belief-cyan);font-family:var(--sans);font-size:12px;text-align:right}.deity-icon{flex-shrink:0}@media(max-width:1120px){.character-body{grid-template-columns:235px minmax(400px,1fr) 290px}.power-detail{grid-template-columns:180px minmax(260px,1fr) 230px}}@media(max-width:860px){.character-panel .character-header{display:block;padding:20px 58px 16px 54px}.character-panel .character-header h2{font-size:31px}.character-panel .character-header p{margin-top:5px;font-size:14px}.character-panel .character-header .where{display:none}.character-mark{left:25px;top:32px}.character-panel>nav{gap:16px;overflow-x:auto;padding-inline:18px}.character-body{grid-template-columns:1fr}.character-aside{display:none}.belief-intro,.outlook-intro{grid-template-columns:1fr}.character-side,.power-copy,.belief-practices{border-left:0}.character-side{border-top:1px solid var(--line)}.belief-main{padding:20px 16px}.power-map{height:340px}.power-detail{grid-template-columns:1fr}.power-copy,.belief-practices{padding:14px 0 0;border-top:1px solid var(--line)}.character-pair{grid-template-columns:1fr}}.household-tab .household-line{margin:0 0 16px;color:#cfd4e4;font-size:16px}.household-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:20px;align-items:start}.household-grid .panel-card{margin-top:0;padding:18px 20px}.household-grid .panel-card>h3:first-child{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--cream);margin:0 0 16px}.household-grid .panel-card>h3 svg{color:var(--gold)}.household-grid .panel-card>h3 em{margin-left:auto;font-size:12px;font-style:italic;color:var(--muted);letter-spacing:0}.household-groups{display:grid;gap:8px}.household-group{display:grid;grid-template-columns:76px 22px minmax(0,1fr);align-items:center;gap:0}.household-group-label{font-size:13px;color:var(--muted);text-align:right;padding-right:8px}.household-stem{align-self:stretch;position:relative}.household-stem:before{content:"";position:absolute;top:50%;left:0;width:11px;border-top:1px solid var(--line-soft)}.household-rows{--rail-inset: 36px;list-style:none;display:grid;gap:8px;position:relative;padding-left:11px}.household-rows:has(li:only-child):before{display:none}.household-rows:before{content:"";position:absolute;left:0;top:var(--rail-inset, 50%);bottom:var(--rail-inset, 50%);border-left:1px solid var(--line-soft)}.household-rows li{position:relative}.household-rows li:before{content:"";position:absolute;left:-11px;top:50%;width:11px;border-top:1px solid var(--line-soft)}.household-rows button{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:#ffffff08;border:1px solid var(--line-soft);border-radius:3px;padding:8px 16px 8px 8px;color:inherit;font:inherit;cursor:pointer}.household-rows button:hover{border-color:var(--gold)}.household-rows button[aria-current=true]{background:#ffffff0f}.household-portrait{display:grid;place-items:center;width:54px;height:54px;flex-shrink:0;border:1px solid var(--line-soft);border-radius:2px;background:#0d162c66;overflow:hidden}.household-portrait canvas{image-rendering:pixelated}.household-who{display:grid;gap:3px}.household-who b{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.1;color:var(--cream)}.household-who small{font-size:14px;color:var(--muted)}.household-who small i{font-style:normal;margin:0 7px}.household-note{margin-left:auto;display:flex;align-items:center;gap:22px;flex-shrink:0;text-align:right}.household-note i{font-style:italic;font-size:15px;color:#b6bcd2}.household-chip{display:inline-flex;align-items:center;gap:8px;font-style:normal;font-size:15px;color:var(--cream)}.household-chip svg{color:var(--gold)}.household-chip.is-self{color:var(--belief-cyan)}.household-chip .rule-diamond{margin:0}.household-more{margin:14px 0 0;font-size:13px;color:var(--muted)}.household-side{display:grid;gap:20px}.household-stats{display:grid;gap:0}.household-stats>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-soft)}.household-stats>div:last-child{border-bottom:none}.household-stats svg{color:var(--gold)}.household-stats dt{font-size:16px;color:#cfd4e4}.household-stats dd{margin:0;font-size:16px;color:var(--cream)}.household-history{margin:0;font-size:16px;line-height:1.6;color:#cfd4e4}@media(max-width:900px){.household-grid,.household-group{grid-template-columns:1fr}.household-group-label{text-align:left;padding:0 0 4px}.household-stem,.household-rows:before,.household-rows li:before{display:none}.household-rows{padding-left:0}.household-note{display:none}}.rest-menu{position:relative;display:flex}.rest-options{position:absolute;bottom:calc(100% + 6px);left:0;display:flex;flex-direction:column;gap:4px;padding:5px;border:1px solid var(--line);border-radius:5px;background:var(--bg);z-index:5}.quick-actions .rest-options button{padding:6px 12px;font-size:15px;min-width:168px}.live-frame-cap{display:flex;align-items:center;gap:6px;margin:8px 0 10px}.live-frame-cap span{color:#a99b78}.live-frame-cap button{padding:4px 10px;color:#a99b78;background:#101a18;border:1px solid #4d4d3e;border-radius:4px;font:inherit;cursor:pointer}.live-frame-cap button[aria-pressed=true]{color:#fff1cb;background:#2b3a35;border-color:#887b56}.hand-actions{display:flex;gap:6px;margin-top:6px}.hand-actions button{flex:1;padding:4px 6px;font-size:11px;border:1px solid var(--line-soft);border-radius:5px;background:#ffffff08;color:inherit;cursor:pointer}.hand-actions button:hover{border-color:var(--gold)}.vitals{position:absolute;top:14px;left:16px;z-index:4;display:flex;align-items:center;gap:3px;padding:5px 8px;color:#e0645a;background:color-mix(in srgb,var(--bg) 70%,transparent);border:1px solid var(--line-soft);border-radius:4px}.heart{width:17px;height:15px;shape-rendering:crispEdges;overflow:visible;filter:drop-shadow(1px 1px 0 #0009);transition:transform .15s}.heart-empty{fill:#2a1a24;stroke:#0b0e1a;stroke-width:.35}.heart-full{fill:#e84c4c;transition:clip-path .3s ease-out}.vitals:hover .heart:not([data-empty]){transform:translateY(-1px)}.vitals[data-flash=hurt]{animation:vitals-hurt .45s steps(6)}.vitals[data-flash=hurt] .heart-full{animation:heart-blink .45s steps(2) 3}.vitals[data-flash=heal] .heart:not([data-empty]){animation:heart-pop .4s ease-out}.vitals[data-low] .heart:not([data-empty]){animation:heart-beat .9s ease-in-out infinite}.vitals-injury{display:flex;align-items:center;gap:4px;margin-left:4px;padding-left:7px;border-left:1px solid var(--line-soft);color:var(--cream);font:10px var(--pixel)}@keyframes vitals-hurt{0%,to{transform:none}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}}@keyframes heart-blink{50%{fill:#fff4e0}}@keyframes heart-pop{40%{transform:scale(1.25);filter:drop-shadow(0 0 3px #ffd98a)}}@keyframes heart-beat{15%{transform:scale(1.15)}30%{transform:none}}.skill-pips{display:flex;gap:2px}.skill-pips i{position:relative;width:9px;height:5px;border-radius:1px;background:#ffffff14;overflow:hidden}.skill-pips i.full{background:var(--gold)}.skill-pips i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--fill, 0);background:color-mix(in srgb,var(--gold) 53%,transparent);transition:width .5s ease-out}.skill-icon{display:grid;place-items:center;flex:none;width:26px;height:26px;color:var(--gold);border:1px solid var(--line-soft);border-radius:5px;background:#ffffff08}.skill-toast{position:absolute;left:50%;bottom:168px;z-index:5;display:flex;align-items:center;gap:9px;padding:6px 12px 7px 7px;text-align:left;color:var(--cream);background:color-mix(in srgb,var(--bg) 90%,transparent);border:1px solid var(--line-soft);border-radius:7px;transform:translate(-50%);animation:skill-toast-in .22s ease-out}.skill-toast-body{display:flex;flex-direction:column;gap:4px}.skill-toast small{font-size:12px;color:var(--muted)}.skill-toast small b{color:var(--gold);font-weight:400}.skill-toast[data-level-up]{padding:10px 16px 11px 11px;border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 13%,transparent),0 12px 30px #05081299;animation:skill-level-in .5s cubic-bezier(.2,1.4,.4,1)}.skill-toast[data-level-up] .skill-icon{width:38px;height:38px;border-color:var(--gold)}.skill-toast[data-level-up] small{font:10px var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.skill-toast strong{font:20px var(--serif);line-height:1}.skill-toast em{max-width:260px;font-size:12px;font-style:normal;color:var(--muted)}@keyframes skill-toast-in{0%{opacity:0;transform:translate(-50%,6px)}}@keyframes skill-level-in{0%{opacity:0;transform:translate(-50%,10px) scale(.92)}}.skills-panel{display:flex;flex-direction:column;min-height:0;overflow-y:auto;--group: var(--gold)}[data-group=Land]{--group: #7fb069}[data-group=Combat]{--group: #d0674f}[data-group=Craft]{--group: #d99a3e}[data-group=People]{--group: #d77a8f}[data-group=Road]{--group: #4fb3a9}.skills-panel section{padding:2px 0 4px 8px;border-left:2px solid var(--group)}.skills-panel section+section{margin-top:6px}.skills-panel h3{margin:2px 0 2px 6px;font:10px var(--pixel);letter-spacing:.16em;text-transform:uppercase;color:var(--group)}.skill-row{display:grid;grid-template-columns:26px 1fr auto auto;grid-template-areas:"icon name level marks" "icon bar bar bar";align-items:center;gap:2px 9px;width:100%;padding:4px 6px;text-align:left;color:var(--cream);border:1px solid transparent;border-radius:5px}.skill-row .skill-icon{grid-area:icon}.skill-row .skill-name{grid-area:name}.skill-row .skill-level{grid-area:level}.skill-row .skill-milestones{grid-area:marks}.skill-row .skill-bar{grid-area:bar}.skill-row:hover{border-color:var(--line-soft);background:#ffffff05}.skill-row[data-waiting]{border-color:color-mix(in srgb,var(--gold) 40%,transparent);background:color-mix(in srgb,var(--gold) 5%,transparent)}.skill-row[data-untried],.skill-row[data-untried] .skill-icon,.skill-row[data-untried] .skill-level{color:var(--muted)}.skill-row .skill-icon{width:24px;height:24px;color:var(--group)}.skill-name{font-size:14px}.skill-level{min-width:14px;text-align:right;font:17px var(--serif);color:var(--gold)}.skill-bar{position:relative;display:block;height:3px;border-radius:2px;background:#ffffff14;overflow:hidden}.skill-bar i{position:absolute;inset:0 auto 0 0;background:var(--group, var(--gold));transition:width .6s ease-out}.skill-milestones{display:flex;gap:5px}.skill-milestones i{width:8px;height:8px;border-radius:50%;border:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.skill-milestones i[data-state=reached]{border-color:var(--line)}.skill-milestones i[data-state=chosen]{border-color:var(--gold);background:var(--gold)}.skill-milestones i[data-state=waiting]{border-color:var(--gold);box-shadow:0 0 color-mix(in srgb,var(--gold) 60%,transparent);animation:milestone-pulse 1.6s ease-out infinite}@keyframes milestone-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--gold) 67%,transparent);background:color-mix(in srgb,var(--gold) 40%,transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb,var(--gold) 0%,transparent);background:transparent}to{box-shadow:0 0 color-mix(in srgb,var(--gold) 0%,transparent)}}.skills-more{align-self:flex-end;margin:8px 4px 2px;color:var(--gold);font-size:13px}.skills-more:hover{text-decoration:underline}.collapse-notice{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:#05070fe8;animation:collapse-in 1.2s ease-out}.collapse-notice>div{max-width:420px;padding:0 24px;text-align:center}.collapse-notice small{font:10px var(--pixel);letter-spacing:.14em;color:var(--gold)}.collapse-notice h2{margin:6px 0 10px;font:30px var(--serif);color:var(--cream)}.collapse-notice p{margin-bottom:18px;line-height:1.5;color:var(--text)}.collapse-notice button{padding:8px 22px;color:var(--ink);background:var(--gold);border-radius:5px}@keyframes collapse-in{0%{background:#6a0f0f;opacity:0}}.drain-bar{position:relative}.drain-bar i{position:absolute;inset:0 auto 0 0;border-radius:3px}.drain-bar .drain-fill{background:linear-gradient(#f08478,#c9473f);transition:width .12s ease-out}.drain-bar .drain-ghost{background:#ffe2c4;transition:width .7s cubic-bezier(.5,0,.6,1)}.bag-flight{position:fixed;z-index:60;width:24px;height:24px;margin:-12px 0 0 -12px;pointer-events:none;opacity:0;animation:bag-flight .52s cubic-bezier(.5,-.1,.7,.6) forwards}.bag-flight>*{animation:bag-flight-lift .52s ease-out forwards}@keyframes bag-flight{0%{opacity:0;transform:translate(0) scale(.6)}12%{opacity:1;transform:translate(0) scale(1.25)}to{opacity:1;transform:translate(var(--dx),var(--dy)) scale(.7)}}@keyframes bag-flight-lift{0%,to{transform:translateY(0)}40%{transform:translateY(-46px)}}.bag-bounce{animation:bag-bounce .42s cubic-bezier(.2,1.5,.4,1)}@keyframes bag-bounce{0%{transform:scale(1)}30%{transform:scale(1.09,.92)}60%{transform:scale(.97,1.05)}to{transform:scale(1)}}.bag-gain{position:fixed;z-index:60;padding:1px 6px;font:11px var(--pixel);color:var(--ink);background:var(--gold);border-radius:999px;pointer-events:none;animation:bag-gain 1.1s ease-out forwards}@keyframes bag-gain{0%{opacity:0;transform:translateY(6px) scale(.7)}15%{opacity:1;transform:translateY(-4px) scale(1.1)}25%,75%{opacity:1;transform:translateY(-6px) scale(1)}to{opacity:0;transform:translateY(-14px)}}@keyframes prompt-in{0%{opacity:0;transform:translate(-8px)}}.world-notice{animation:notice-in .26s cubic-bezier(.2,1.25,.4,1)}.dialogue-gift{animation:prompt-in .3s cubic-bezier(.2,1.3,.4,1)}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,10px)}}.dialogue-line[data-typing]{cursor:pointer}.dialogue-unspoken{visibility:hidden}.skill-toast .skill-pips{position:relative;overflow:hidden}.skill-toast .skill-pips:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,#fff8 50%,transparent 65%);transform:translate(-100%);animation:pip-shine .7s .25s ease-out forwards}@keyframes pip-shine{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.bag-flight,.bag-gain,.bag-bounce,.key-prompt,.world-notice,.dialogue-gift,.dialogue-took,.dialogue-regard .regard-notches i,.dialogue-portrait[data-took],.skill-toast,.skill-toast .skill-pips:after,.collapse-notice{animation:none!important}.drain-bar i{transition:none!important}}.touch-controls{display:none}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.touch-controls{position:absolute;left:0;right:0;bottom:158px;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;padding:0 14px;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-stick{position:relative;width:104px;height:104px;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold) 33%,transparent);background:radial-gradient(color-mix(in srgb,var(--bg) 53%,transparent),color-mix(in srgb,var(--bg) 20%,transparent));pointer-events:auto;touch-action:none}.touch-stick[data-run]{border-color:var(--gold)}.touch-stick i{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-3) 90%,transparent);box-shadow:0 2px 8px #0008;transition:transform .05s linear}.touch-actions{display:grid;grid-template-columns:repeat(2,44px) 72px;grid-auto-flow:dense;align-items:end;justify-items:center;gap:8px;direction:rtl;pointer-events:none}.touch-actions>*{direction:ltr;pointer-events:auto;touch-action:none}.touch-primary,.touch-small{display:grid;place-items:center;color:var(--cream);border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--bg-2) 90%,transparent);box-shadow:0 3px 0 var(--bg-0),0 6px 14px #0007;transition:transform .06s ease-out,box-shadow .06s}.touch-primary{grid-column:1;grid-row:1 / span 2;width:72px;height:72px;gap:0;align-content:center;color:var(--ink);border-color:var(--gold-hi);background:linear-gradient(var(--gold-hi),color-mix(in srgb,var(--gold) 85%,#000));animation:prompt-in .18s cubic-bezier(.2,1.3,.4,1)}.touch-primary small{max-width:62px;overflow:hidden;font-size:9px;line-height:1.05;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.touch-small{width:44px;height:44px}.touch-alternate{animation:prompt-in .18s cubic-bezier(.2,1.3,.4,1)}.touch-primary:active,.touch-small:active{transform:translateY(3px);box-shadow:0 0 0 var(--bg-0),0 2px 6px #0007}.prop-prompts,.map-controls{display:none}.skill-toast{top:46px;bottom:auto;max-width:calc(100% - 24px)}.skill-toast em{max-width:200px}.world-notice:not(.border-hint){top:46px;bottom:auto;padding:8px 12px;font-size:13px}.vitals{top:8px;left:8px}.vitals-bar{width:72px}.sidebar>.context-section{order:1}.sidebar>.sky-card{order:2}.sidebar>.region-section{order:3}.sidebar>.context-section{flex:0 0 auto!important;min-height:200px}.sidebar .skills-panel{overflow:visible}.skill-toast[data-level-up] small{white-space:nowrap}.side-tabs button{padding:8px 2px;font-size:13px}.collapse-notice h2{font-size:24px}.combat-test-panel{top:44px;max-height:55%}}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.app{--bottom-bar-h: 88px}.world-selector{height:46px;min-width:0;gap:0;padding:0 10px}.world-selector>i{display:none}.world-selector span{display:flex;flex-direction:column;gap:1px;line-height:1.15}.world-selector strong{overflow:hidden;text-overflow:ellipsis;font-size:16px}.world-selector small{color:var(--muted);font-size:11px;letter-spacing:.5px}.world-selector small:before{content:none}.world-selector small em{display:inline;font-style:normal}.world-selector small i{font-style:normal;color:var(--gold);font-size:inherit}.topbar-avatar{position:relative;width:44px;height:44px;flex:none;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--bg) 69%,transparent);display:grid;place-items:center}.topbar-avatar canvas{width:100%;height:100%;object-fit:cover;pointer-events:none}.topbar-avatar>i{position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-radius:50%;border:1px solid var(--bg);background:#6fbf73}.header-actions .icon-button[aria-label="Audio studio"]{display:none}.topbar,.header-actions{gap:6px;padding-inline:0}.world-minimap{position:absolute;right:10px;top:10px;z-index:4;width:136px;height:96px;padding:4px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--bg) 80%,transparent);box-shadow:0 4px 14px #0006}.world-minimap canvas{width:100%;height:100%;object-fit:cover;border-radius:5px;image-rendering:pixelated}.minimap-expand,.minimap-north{position:absolute;display:grid;place-items:center;width:20px;height:20px;border-radius:4px;background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--gold);font-size:10px}.minimap-expand{right:6px;top:6px}.minimap-north{right:6px;bottom:6px}.sky-card .map-button{display:none}.vitals{top:10px;left:10px;padding:4px 8px 4px 6px;gap:6px}.vitals-bar{width:64px;height:5px}.quick-actions{gap:3px}.quick-actions button{flex-direction:column;gap:3px;padding:6px 3px}.quick-actions span{display:block;font-size:9px;letter-spacing:.3px;color:var(--muted)}.bottom-bar{height:var(--bottom-bar-h)}.command-input input{padding:10px 12px}.sidebar[data-sheet-snap=peek]{display:none}.sidebar{bottom:calc(var(--bottom-bar-h) + env(safe-area-inset-bottom));max-height:calc(100dvh - 50px - var(--bottom-bar-h) - env(safe-area-inset-bottom))}.sidebar[data-sheet-snap=full]{height:calc(100dvh - 50px - var(--bottom-bar-h) - env(safe-area-inset-bottom))}.narrator-tab{position:absolute;right:12px;bottom:calc(var(--bottom-bar-h) + 8px);z-index:4;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg-2) 90%,transparent);color:var(--gold);box-shadow:0 3px 0 var(--bg-0),0 6px 14px #0007}.narrator-tab[data-unread]:after{content:"";position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--gold)}.narrator-panel{padding:12px 16px 16px;border-radius:12px 12px 0 0}.narrator-panel header{margin-bottom:8px}.narrator-body{font-size:15px;line-height:1.5;max-height:38dvh}.narrator-said{font-size:13px}.touch-controls{bottom:calc(var(--bottom-bar-h) + 62px + 12px)}.touch-stick{width:88px;height:88px;opacity:.55;border-color:color-mix(in srgb,var(--gold) 25%,transparent);background:radial-gradient(color-mix(in srgb,var(--bg) 33%,transparent),color-mix(in srgb,var(--bg) 9%,transparent))}.touch-stick[data-run]{opacity:.8}.touch-stick i{width:38px;height:38px;margin:-19px 0 0 -19px;background:color-mix(in srgb,var(--bg-3) 69%,transparent)}}.dialogue-language{position:absolute;top:16px;right:60px;opacity:.55}.dialogue-language[aria-pressed=true]{opacity:1;color:var(--gold, #d8b77a);border-color:currentColor}.dialogue-explain{position:absolute;top:16px;right:104px}.dialogue-explain:disabled{opacity:.45;cursor:default}.dialogue-explain[aria-expanded=true]{border-color:var(--gold)}.dialogue-explanation{margin-top:14px;padding:11px 14px;border:1px solid var(--line-soft);border-radius:6px;color:var(--cream);font-size:14px;line-height:1.5}.dialogue-explanation strong{color:var(--gold)}.dialogue-glossed{display:inline-grid;cursor:pointer}.dialogue-glossed>span{grid-area:1 / 1;transition:opacity .45s ease}.dialogue-glossed>span:first-child{font-style:italic}.dialogue-glossed>span:last-child,.dialogue-glossed[data-english]>span:first-child{opacity:0}.dialogue-glossed[data-english]>span:last-child{opacity:1}@media(prefers-reduced-motion:reduce){.dialogue-glossed>span{transition:none}}.place-pick{display:flex;gap:6px;min-width:0}.place-pick button{flex-shrink:0;display:grid;place-items:center;padding:0 10px;background:#090f1980;border:1px solid #9b804c;border-radius:6px;color:#f1c56f;cursor:pointer}.evening{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;overflow:auto;background:linear-gradient(to bottom,#03061a,#0a1334 42%,#241f4d 74%,#4b3358);animation:evening-in .9s ease-out both}.evening .splash-stars{position:fixed}.evening-moon{position:fixed;top:9vh;right:12vw;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fffbe8,#f1dfae 60%,#d9c08a);box-shadow:inset calc((.5 - var(--phase, .5)) * 108px) 0 0 0 #0b1436,0 0 36px 10px #f6e5b433,0 0 90px 30px #f6e5b414}.evening-horizon{position:fixed;inset:auto 0 0;line-height:0;pointer-events:none}.evening-horizon img{width:100%;height:auto;image-rendering:pixelated;filter:brightness(.42) saturate(.55) hue-rotate(-12deg)}.evening-horizon:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#241f4d00,#0a133466 60%,#03061acc)}.evening-hearth{position:fixed;inset:auto 0 0;height:32vh;background:radial-gradient(ellipse at 50% 120%,#e2874455 0%,#b0503a22 38%,transparent 70%);animation:hearth 3.2s ease-in-out infinite alternate;pointer-events:none}.evening-card{position:relative;z-index:1;width:min(620px,100%);padding:30px 28px 22px;background:#121932f2;border:1px solid var(--line);border-radius:4px;box-shadow:0 0 0 4px #121932,0 0 0 5px var(--line-soft),0 24px 60px #0009;animation:evening-rise .7s .2s cubic-bezier(.2,.8,.2,1) both}.evening-ribbon{position:absolute;top:-17px;left:50%;transform:translate(-50%);padding:8px 30px;background:var(--cream);color:var(--ink);font-family:var(--pixel);font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%,10px 50%);filter:drop-shadow(0 2px 0 var(--line))}.evening-card h2{margin:10px 0 18px;text-align:center;font-weight:400;font-size:26px;color:var(--cream)}.evening-rows{display:grid;gap:8px;margin:0;padding:0;list-style:none}.evening-rows li{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px;min-height:58px;padding:8px 12px;background:linear-gradient(90deg,#f0e6cf12,#f0e6cf06);border:1px solid var(--line-soft);border-left:3px solid var(--gold);border-radius:3px;opacity:0;transform:translateY(8px);transition:opacity .38s ease-out,transform .38s cubic-bezier(.2,.8,.2,1.3)}.evening-rows li.in{opacity:1;transform:none}.ledger-label{font-family:var(--pixel);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.ledger-body{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;min-width:0}.ledger-detail{display:inline-flex;align-items:center;gap:10px;color:var(--text)}.ledger-none{color:var(--muted);font-style:italic}.ledger-values{display:inline-flex;flex-wrap:wrap;gap:10px;margin-left:auto}.ledger-value{display:inline-flex;align-items:center;gap:6px}.ledger-good{display:inline-grid;place-items:center;width:36px;height:36px;background:var(--bg-0);border:1px solid var(--line-soft);border-radius:3px}.ledger-good-letter{font-family:var(--pixel);color:var(--gold)}.tally{min-width:42px;padding:4px 8px;background:var(--bg-0);border:1px solid var(--line-soft);box-shadow:inset 0 2px #0007;font-family:var(--pixel);font-size:16px;text-align:right;color:var(--cream)}.ledger-value.short .tally{color:var(--rose)}.ledger-pips{display:inline-flex;gap:3px}.ledger-pips i{width:8px;height:8px;border:1px solid var(--gold)}.ledger-pips i.done{background:var(--gold)}.ledger-bar{display:inline-block;width:88px;height:10px;background:var(--bg-0);border:1px solid var(--line-soft)}.ledger-bar i{display:block;height:100%;background:linear-gradient(to bottom,#f2d596,#c89a52);transition:width .9s cubic-bezier(.2,.8,.2,1)}.ledger-people{gap:12px}.ledger-person{display:inline-grid;justify-items:center;gap:2px;font-size:12px}.ledger-portrait{display:grid;place-items:center;width:44px;height:44px;overflow:hidden;border-radius:3px;background:var(--bg-0);border:1px solid var(--line-soft)}.ledger-portrait canvas{max-width:100%;max-height:100%}.ledger-person.warmer .ledger-portrait{box-shadow:0 0 10px #8fd4a855;border-color:#8fd4a8}.ledger-person.warmer .ledger-person-name{color:#8fd4a8}.ledger-person.cooler .ledger-portrait{border-color:var(--rose-line)}.ledger-person.cooler .ledger-person-name{color:var(--rose)}.ledger-sky{position:relative;width:88px;height:48px;overflow:hidden;border:1px solid var(--line-soft);border-radius:3px}.ledger-sky .sky-scene{position:absolute;inset:0;width:100%;height:100%}.evening-sleep{display:flex;align-items:center;gap:10px;margin:18px 0 0 auto;padding:10px 20px;background:transparent;color:var(--gold);border:1px solid var(--line);border-radius:3px;font-family:var(--pixel);font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.evening-sleep.ready{background:var(--gold);color:var(--ink);animation:sleep-ready 1.8s ease-in-out infinite}.evening-sleep kbd{font-family:inherit;opacity:.7}@keyframes evening-in{0%{opacity:0}}@keyframes evening-rise{0%{opacity:0;transform:translateY(24px)}}@keyframes hearth{to{opacity:.65}}@keyframes sleep-ready{50%{box-shadow:0 0 16px color-mix(in srgb,var(--gold) 53%,transparent)}}@media(max-width:560px){.evening-rows li{grid-template-columns:1fr;gap:6px}.evening-ribbon{font-size:10px;padding:7px 22px}}@media(prefers-reduced-motion:reduce){.evening,.evening-card,.evening-hearth,.evening-sleep.ready{animation:none}.evening-rows li{transition:none}}.wiki-focus{margin-bottom:9px;font-size:14px;line-height:1.45;color:var(--text)}.wiki-focus p{margin:6px 0 4px}.wiki-focus a{color:var(--gold)}.wiki-photo{display:block;width:100%;padding:0;border:1px solid var(--line);background:#0c1120;cursor:zoom-in;position:relative}.wiki-photo img{display:block;width:100%;max-height:180px;object-fit:cover}.wiki-photo span{position:absolute;left:6px;bottom:5px;font-size:11px;color:#fff;text-shadow:0 1px 2px #000}.wiki-lightbox figure{position:relative;margin:0;max-width:92vw}.wiki-lightbox img{display:block;max-width:92vw;max-height:82dvh;border:1px solid var(--line)}.wiki-lightbox figcaption{margin-top:8px;text-align:center;font-size:13px;color:var(--muted)}.wiki-lightbox figcaption a{color:var(--gold)}.wiki-lightbox figure>button{position:absolute;top:6px;right:6px;background:#101116cc;border:1px solid var(--line);color:var(--cream);padding:4px;cursor:pointer}.modal-map{width:min(1280px,100%);max-height:94dvh;padding:0;overflow:hidden;background:#101d2a;border-color:var(--gold)}.map-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 64px 12px 22px;border-bottom:1px solid var(--line-soft)}.map-title h2{margin:0;font:400 24px Georgia,serif}.map-title p{margin:2px 0 0;font-size:12px;color:var(--muted)}.map-toggle{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.map-toggle button{padding:6px 14px;background:transparent;color:var(--muted);font-size:12px}.map-toggle button[aria-pressed=true]{background:var(--gold);color:#17212b}.map-body{display:flex;min-height:0}.map-stage{position:relative;flex:1;min-width:0;background:#12304a;overflow:hidden}.map-surface{cursor:grab;touch-action:none}.map-surface:active{cursor:grabbing}.map-surface .large-map{border:0;border-radius:0;max-height:calc(94dvh - 70px);object-fit:cover}.map-stage .arrival-map{border:0}.map-zoom{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:4px}.map-zoom button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:4px;background:#142331e8;color:#ffe0a0}.map-ruler{position:absolute;left:14px;bottom:12px;width:50%;display:flex;align-items:center;gap:8px;pointer-events:none;font-size:11px;color:#f7edd4;text-shadow:0 1px 3px #000}.map-ruler i{height:5px;border:1.5px solid #f7edd4;border-top:0;box-shadow:0 1px 2px #0008}.map-card{position:absolute;transform:translate(-50%,calc(-100% - 16px));min-width:190px;padding:10px 12px;background:#101d2af2;border:1px solid var(--gold);border-radius:6px;box-shadow:0 8px 24px #0009;display:grid;gap:4px}.map-card strong{font:400 17px Georgia,serif}.map-card span{font-size:11px;color:var(--muted)}.map-card div{display:flex;gap:6px;margin-top:6px}.map-card button{flex:1;padding:6px 10px;border:1px solid var(--line);border-radius:4px;background:transparent;font-size:12px}.map-journey{position:absolute;left:12px;bottom:12px;min-width:240px;padding:10px 12px;background:#101d2af2;border:1px solid var(--gold);border-radius:6px;box-shadow:0 8px 24px #0009;display:grid;gap:4px}.map-journey strong{font:400 17px Georgia,serif}.map-journey span{font-size:11px;color:var(--muted)}.map-journey div{display:flex;gap:6px;margin-top:6px}.map-journey button{flex:1;padding:6px 10px;border:1px solid var(--line);border-radius:4px;background:transparent;font-size:12px}.map-journey button.primary,.map-card button.primary{background:var(--gold);color:#17212b;border-color:#ffe2a0}.map-places{width:240px;flex:none;border-left:1px solid var(--line-soft);display:flex;flex-direction:column;max-height:calc(94dvh - 70px)}.map-places.is-closed{width:auto}.map-places-toggle{display:flex;justify-content:space-between;gap:10px;padding:12px 16px;background:transparent;border:0;border-bottom:1px solid var(--line-soft);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.map-places ul{list-style:none;margin:0;padding:6px;overflow:auto}.map-places li button{width:100%;display:grid;text-align:left;gap:2px;padding:8px 10px;border:1px solid transparent;border-radius:4px;background:transparent;font-size:13px}.map-places li button:hover,.map-places li button[aria-pressed=true]{border-color:var(--line);background:#182a3a}.map-places small{font-size:10px;color:var(--muted)}@media(max-width:760px){.map-body{flex-direction:column}.map-title{flex-wrap:wrap;padding:12px 56px 10px 14px}.map-places,.map-places.is-closed{width:auto;max-height:32dvh;border-left:0;border-top:1px solid var(--line-soft)}}.map-journey-hint{position:absolute;left:12px;bottom:8px;margin:0;font-size:11px;color:#f7edd4;text-shadow:0 1px 3px #000;pointer-events:none}.map-roads{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-roads path{fill:none;stroke:#6b4a2a;stroke-width:1.4;stroke-dasharray:4 3;stroke-linecap:round;opacity:.75;vector-effect:non-scaling-stroke}.map-modal .map-settlement,.map-modal .map-settlement:hover{min-width:0;min-height:0;box-shadow:none;--map-glyph-ink: #2b2118;--map-glyph-fill: #f1e4c3;--map-glyph-accent: #e2b65c;position:absolute;transform:translate(-10px,-75%);display:flex;align-items:flex-end;gap:3px;padding:0;border:0;background:none;cursor:pointer;white-space:nowrap;font-family:Georgia,Iowan Old Style,serif;font-size:11px;font-style:italic;line-height:1;color:#241a10;text-shadow:0 0 2px #f1e4c3,0 0 3px #f1e4c3,0 0 5px #f1e4c3aa}.map-settlement svg{flex:none;filter:drop-shadow(0 1px 0 #0006)}.map-settlement span{padding-bottom:2px}.map-settlement:hover span,.map-settlement:focus-visible span{color:#7a3d0c}.map-settlement.is-town{font-size:12.5px;font-style:normal;font-variant:small-caps;letter-spacing:.03em}.map-settlement.is-city{font-size:15px;font-style:normal;font-variant:small-caps;font-weight:700;letter-spacing:.05em}.map-period{display:flex;flex-direction:column;align-items:center;gap:3px;margin-left:auto;max-width:360px;text-align:center}.map-period button{padding:6px 14px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--muted);font-size:12px;letter-spacing:.04em}.map-period button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#17212b}.map-period small{font-size:11px;font-style:italic;color:var(--muted)}.period-canvas{width:100%;height:auto;display:block;max-height:calc(94dvh - 70px);object-fit:cover}.map-stage[class*=period-]:after{content:"";position:absolute;inset:0;pointer-events:none}.map-stage[class*=period-] .map-settlement svg{filter:none}.map-foot{fill:#1e1812}.period-cartouche{position:absolute;right:64px;bottom:22px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 18px;pointer-events:none;font-family:Georgia,Iowan Old Style,serif;color:#2c2018}.period-cartouche strong{font-size:17px;font-weight:400;font-variant:small-caps;letter-spacing:.08em}.period-cartouche span{font-size:11px;font-style:italic}.period-peutinger .map-roads path{stroke:#b0302a;stroke-dasharray:none;stroke-width:2;opacity:.9}.period-peutinger .map-settlement{--map-glyph-fill: #f0dcb0;--map-glyph-accent: #c0442e;color:#7a2418;text-shadow:0 0 3px #ecd9ae,0 0 5px #ecd9ae}.period-peutinger .period-cartouche{background:#ecd9ae;border:2px solid #7a5530;color:#7a2418}.period-peutinger:after{box-shadow:inset 0 0 0 6px #7a5530,inset 0 0 0 8px #ecd9ae,inset 0 0 0 9px #7a5530}.period-portolan .map-roads path{stroke:#7a5a3a;stroke-dasharray:2 4;opacity:.6}.period-portolan .map-settlement{font-family:Apple Chancery,URW Chancery L,Georgia,serif;color:#2c2018;text-shadow:0 0 3px #eee0be,0 0 5px #eee0be}.period-portolan .map-settlement.is-city,.period-portolan .map-settlement.is-town{color:#a8362a}.period-portolan .map-settlement{--map-glyph-fill: #e8d6aa;--map-glyph-accent: #b8402e;--map-glyph-ink: #3a2616}.period-portolan .period-cartouche{font-family:Apple Chancery,URW Chancery L,Georgia,serif;color:#a8362a;background:#eee0be;border:1px solid #6a4a2a;border-radius:40%/50%;padding:10px 30px}.period-portolan:after{box-shadow:inset 0 0 0 5px #eee0be,inset 0 0 0 6px #6a4a2a,inset 0 0 40px #7a502a55}.period-engraved .map-roads path{stroke:#2c2620;stroke-dasharray:none;stroke-width:.9;opacity:.8}.period-engraved .map-settlement{--map-glyph-fill: #f4eee0;--map-glyph-accent: #d8b890;--map-glyph-ink: #2c2620;color:#1e1a16;text-shadow:0 0 3px #f4eee0,0 0 5px #f4eee0}.period-engraved .period-cartouche{background:#f4eee0;border:3px double #2c2620}.period-engraved:after{border:7px solid transparent;border-image:repeating-linear-gradient(45deg,#2c2620 0 12px,#f4eee0 12px 24px) 7;box-shadow:inset 0 0 0 1px #2c2620}.period-survey .map-roads path{stroke:#c0392b;stroke-dasharray:none;stroke-width:1.3;opacity:.85}.period-survey .map-settlement{font-family:Helvetica Neue,Arial,sans-serif;font-style:normal;color:#1c2430;text-shadow:0 0 2px #fff,0 0 4px #fff;--map-glyph-fill: #fff;--map-glyph-accent: #e4a0a0;--map-glyph-ink: #1c2430}.period-survey .period-cartouche{font-family:Helvetica Neue,Arial,sans-serif;background:#fffffff0;border:1px solid #1c2430;align-items:flex-start}.period-survey .period-cartouche strong{font-variant:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px}.period-survey:after{box-shadow:inset 0 0 0 6px #f7f6f0,inset 0 0 0 7px #1c2430}.period-islamic .map-roads path{stroke:#8a2a1a;stroke-dasharray:1 5;stroke-width:2.2;opacity:.9}.period-islamic .map-settlement{--map-glyph-fill: #e8c870;--map-glyph-accent: #c0402e;--map-glyph-ink: #4a1e12;color:#4a1e12;text-shadow:0 0 3px #e2c686,0 0 5px #e2c686}.period-islamic .map-settlement.is-city{color:#a8261a}.period-islamic .period-cartouche{background:#1f5a52;color:#f0d890;border:2px solid #c89b3c;border-radius:18px}.period-islamic:after{box-shadow:inset 0 0 0 4px #c89b3c,inset 0 0 0 7px #7a2418,inset 0 0 0 9px #c89b3c}.period-ink .map-roads path{stroke:#7a2a20;stroke-dasharray:none;stroke-width:1.1;opacity:.7}.period-ink .map-settlement{align-items:flex-start;--map-glyph-fill: #ece2cc;--map-glyph-accent: #b42a20;--map-glyph-ink: #1e1e1e;color:#1e1e1e;text-shadow:none;font-style:normal}.period-ink .map-settlement span{writing-mode:vertical-rl;padding:3px 1px;border:1px solid #3a3a3a;background:#ece2ccdd;letter-spacing:.05em;font-size:10px}.period-ink .map-settlement.is-city span{border-color:#b42a20;color:#8a1e18;font-size:12px}.period-ink .period-cartouche{inset:22px auto auto 22px;writing-mode:vertical-rl;background:#ece2cc;border:1px solid #3a3a3a;padding:14px 8px}.period-ink:after{box-shadow:inset 0 0 0 10px #6a4a30,inset 0 0 0 12px #c8a870}.period-painted .map-roads path{stroke:#fff4d8;stroke-dasharray:3 3;stroke-width:2;opacity:.95}.period-painted .map-settlement{--map-glyph-fill: #fff4d8;--map-glyph-accent: #e8b030;--map-glyph-ink: #20160f;color:#20160f;font-style:normal;font-weight:700;text-shadow:0 0 3px #f0c870,0 0 5px #f0c870}.period-painted .period-cartouche{background:#3a66aa;color:#fff4d8;border:2px solid #20160f}.period-painted:after{box-shadow:inset 0 0 0 8px #b8302a,inset 0 0 0 10px #f0c870,inset 0 0 0 12px #20160f}.period-codex .map-roads path{display:none}.period-codex .map-settlement{--map-glyph-fill: #f0dcb0;--map-glyph-accent: #b8412e;--map-glyph-ink: #1e1812;color:#1e1812;font-style:normal;font-weight:700;text-shadow:0 0 3px #eee0be,0 0 5px #eee0be}.period-codex .period-cartouche{background:#b8412e;color:#f6e8c6;border:2px solid #1e1812}.period-codex:after{box-shadow:inset 0 0 0 7px #b8412e,inset 0 0 0 9px #1e1812}.period-sketch .map-roads path{stroke:#5a5a5a;stroke-dasharray:5 3;stroke-width:1;opacity:.8}.period-sketch .map-settlement{--map-glyph-fill: #f0ece2;--map-glyph-accent: #c8c0b0;--map-glyph-ink: #4a4a4a;color:#3a3a3a;font-family:Bradley Hand,Segoe Print,cursive;text-shadow:0 0 3px #f0ece2}.period-sketch .period-cartouche{font-family:Bradley Hand,Segoe Print,cursive;color:#3a3a3a}.map-stage[class*=period-] .map-ruler span{color:#2c2018;text-shadow:none}.map-stage[class*=period-] .map-ruler i{border-color:#2c2018;box-shadow:none}.map-settlement.is-home{pointer-events:none}.skill-test-panel .live-animal-controls{margin-top:8px;padding-top:8px}.skill-test-panel .live-animal-actions{flex-wrap:wrap}.skill-test-panel .live-animal-controls>.skill-test-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.skill-test-head strong{flex:1;color:#fff1cb;font-weight:400}.skill-test-panel .skill-test-head button{justify-content:center;width:24px;height:22px;padding:0}.skill-test-head output{min-width:16px;text-align:center;color:var(--gold)}.skill-test-panel .skill-test-skill label{display:flex;align-items:center;gap:6px;margin:2px 0;font-size:12px}.skill-test-skill label small{width:8px;color:#8f8a74}.skill-test-skill label[data-off]{opacity:.45}:where([data-tip]){position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;top:calc(100% + 7px);left:50%;z-index:50;padding:5px 7px 4px;white-space:nowrap;font:9px/1 var(--pixel);letter-spacing:1px;text-transform:uppercase;color:var(--cream);background:var(--bg-0);border:1px solid var(--line);box-shadow:2px 2px #0008;pointer-events:none;opacity:0;transform:translate(-50%,-3px);transition:opacity .12s,transform .12s}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transform:translate(-50%);transition-delay:.25s}.vitals[data-tip]:after{left:0;transform:translateY(-3px)}.vitals[data-tip]:hover:after{transform:none}.map-controls [data-tip]:after{left:auto;right:0;transform:translateY(-3px)}.map-controls [data-tip]:hover:after{transform:none}.world-notice[data-walking]{padding:5px 6px 5px 10px;gap:7px;font:10px var(--pixel);letter-spacing:1px;text-transform:uppercase;color:var(--cream);background:color-mix(in srgb,var(--bg) 77%,transparent);border-color:var(--line-soft);box-shadow:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.world-notice[data-walking]>svg{color:var(--gold);animation:walk-bob .5s steps(2) infinite}.world-notice[data-walking] button{padding:3px 6px 3px 8px;font:inherit;gap:4px;border-radius:2px}.world-notice[data-walking] button:hover{background:#ffffff10}@keyframes walk-bob{50%{transform:translateY(-1px)}}@keyframes rise-in{0%{opacity:0;translate:0 6px}}.place-heading p,.role,.sky-scene,.map-controls span,.wealth,.nearby-list button>span{font-variant-numeric:tabular-nums lining-nums}.side-tabs button,.quick-actions button,.map-switcher button{transition:background-color .15s,color .15s,border-color .15s}.side-tabs+*{animation:rise-in .18s ease-out}@media(max-width:1150px)and (min-width:641px){.keyboard-hint span:nth-last-child(-n+2){display:none}}@media(max-width:1050px)and (min-width:641px){.quick-actions span{display:none}.quick-actions button{padding-inline:9px}}@media(prefers-reduced-motion:reduce){.vitals,.vitals *,.world-notice,.world-notice *,.side-tabs+*,.prop-prompts>*,[data-tip]:after{animation:none!important;transition:none!important}}.brand>svg{display:block;flex-shrink:0;margin-right:12px}.brand>img{display:block;height:clamp(18px,1.9vw,28px);width:auto;min-width:0;image-rendering:pixelated;filter:drop-shadow(0 1px 0 #0008)}.selector-flourish{width:28px;height:9px;flex-shrink:0;opacity:.85;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 9' shape-rendering='crispEdges' fill='%23d9b477'%3E%3Cpath d='M0 4h9v1H0zM19 4h9v1h-9zM13 0h2v1h1v1h1v1h1v1h1v1h-1v1h-1v1h-1v1h-1v1h-2V8h-1V7h-1V6h-1V5H9V4h1V3h1V2h1V1h1z'/%3E%3Cpath fill='%230f1526' d='M13 3h2v3h-2z'/%3E%3C/svg%3E") center / contain no-repeat;image-rendering:pixelated}.world-selector:hover .selector-flourish{opacity:1}.new-world svg{display:block;color:var(--gold)}.heart{width:20px;height:17px}.side-tabs{border:0;padding:0;background:none;gap:5px}.side-tabs button,.map-switcher button,.section-heading .explore{border:1px solid var(--line-soft);border-radius:3px;background:linear-gradient(var(--bg-3),var(--bg));box-shadow:inset 0 1px #ffffff0d}.side-tabs button:hover,.map-switcher button:hover,.section-heading .explore:hover{border-color:var(--line);color:var(--cream)}.side-tabs button[aria-selected=true]{border-color:var(--gold);box-shadow:inset 0 1px #ffffff14,0 0 0 1px color-mix(in srgb,var(--gold) 13%,transparent)}.map-switcher{border:0;gap:4px;overflow:visible}.map-switcher button[aria-pressed=true],.side-tabs button[aria-selected=true]{border-color:var(--gold);color:var(--cream);box-shadow:inset 0 1px #ffffff14,0 0 0 1px color-mix(in srgb,var(--gold) 13%,transparent)}.section-heading .explore{padding:3px 10px}.map-controls{height:34px;opacity:.85;border-radius:4px;box-shadow:0 2px #0006}.map-controls button{width:32px;height:32px}.map-controls span{font:8px var(--pixel);width:28px}@media(max-width:1280px){.brand>img{display:none}}@media(max-width:1600px){.new-world svg{display:none}.header-actions{gap:6px}.header-actions .quiet-button{padding-inline:11px}}.side-tabs button{padding-inline:2px;font-size:clamp(13px,.95vw,16px)}.inspect{position:fixed;inset:0;z-index:60;display:grid;grid-template-rows:auto auto auto;justify-items:center;align-content:center;padding:24px 16px 18px;background:radial-gradient(ellipse 60% 55% at 50% 40%,#1c2742ee,color-mix(in srgb,var(--bg-0) 96%,transparent) 62%,#04060cfc);-webkit-backdrop-filter:blur(6px) saturate(.7);backdrop-filter:blur(6px) saturate(.7);animation:inspect-in .36s ease-out both;overflow:hidden}@keyframes inspect-in{0%{opacity:0}}.inspect-mist{position:absolute;inset:-20%;pointer-events:none;background:radial-gradient(ellipse 30% 18% at 30% 70%,color-mix(in srgb,var(--line) 8%,transparent),transparent 70%),radial-gradient(ellipse 34% 20% at 72% 62%,#7d93c012,transparent 70%),radial-gradient(ellipse 26% 14% at 50% 85%,color-mix(in srgb,var(--gold) 6%,transparent),transparent 70%);animation:inspect-mist 28s ease-in-out infinite alternate}@keyframes inspect-mist{to{transform:translate(4%,-3%) scale(1.08)}}.inspect-stage{position:relative;display:grid;place-items:center;width:min(384px,82vw);aspect-ratio:1;animation:inspect-rise .52s cubic-bezier(.2,.8,.2,1) both}@keyframes inspect-rise{0%{opacity:0;transform:translateY(18px) scale(.94)}}.inspect-plinth{position:absolute;left:12%;right:12%;bottom:4%;height:16%;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--gold) 20%,transparent) 0%,color-mix(in srgb,var(--gold) 6%,transparent) 40%,transparent 70%);box-shadow:0 0 80px 20px color-mix(in srgb,var(--gold) 4%,transparent)}.inspect-stage:before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,#f0e6cf12 0%,transparent 65%)}.inspect-turn{position:relative;width:100%;height:100%;image-rendering:pixelated;cursor:grab;touch-action:none;opacity:0;transition:opacity .3s;filter:drop-shadow(0 10px 18px #000a)}.inspect-turn.is-ready{opacity:1}.inspect-turn:active{cursor:grabbing}.inspect-flat{display:grid;place-items:center}.inspect-card{position:relative;width:min(640px,100%);text-align:center;color:var(--cream);animation:inspect-rise .62s 80ms cubic-bezier(.2,.8,.2,1) both}.inspect-rarity{display:block;font:11px var(--pixel);letter-spacing:.3em;text-transform:uppercase;margin-bottom:6px}.inspect-card h2{margin:0;font:400 clamp(28px,4.4vw,44px) / 1.1 var(--serif);letter-spacing:.16em;text-transform:uppercase;color:#f4ead2;text-shadow:0 0 24px color-mix(in srgb,var(--gold) 25%,transparent),0 2px 0 #0008}.inspect-card h2.is-long{font-size:clamp(22px,3vw,30px);letter-spacing:.1em}.inspect-kind{margin:8px 0 0;font-size:15px;font-style:italic;color:var(--muted);text-transform:capitalize}.inspect-rule{position:relative;height:1px;margin:16px auto 14px;width:min(480px,90%);background:linear-gradient(90deg,transparent,var(--line) 20%,var(--gold) 50%,var(--line) 80%,transparent)}.inspect-rule i{position:absolute;left:50%;top:50%;width:9px;height:9px;border:1px solid var(--gold);background:var(--bg-0);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 10px color-mix(in srgb,var(--gold) 40%,transparent)}.inspect-stats{display:flex;flex-wrap:wrap;justify-content:center;margin:0}.inspect-stats>div{padding:2px 22px;min-width:96px}.inspect-stats>div+div{border-left:1px solid var(--line-soft)}.inspect-stats dt{font:10px var(--pixel);letter-spacing:.22em;text-transform:uppercase;color:var(--line)}.inspect-stats dd{margin:4px 0 0;font-size:22px;color:#f4ead2;text-transform:capitalize}.inspect-desc{margin:16px auto 0;max-width:52ch;font-size:17px;line-height:1.5;color:#d8d2c4}.inspect-traits{margin:8px 0 0;font:10px var(--pixel);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.inspect-card footer{display:flex;justify-content:center;gap:28px;margin-top:20px}.inspect-action{display:inline-flex;align-items:center;gap:9px;font-size:16px;letter-spacing:.06em;color:#e6e2d8;opacity:.85;transition:opacity .15s,color .15s}.inspect-action:hover{opacity:1;color:#fff4dc}.inspect-action kbd{min-width:26px;padding:3px 6px;border:1px solid var(--line);border-radius:3px;font:11px var(--pixel);color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,transparent)}.inspect-hint{margin:14px 0 0;font:10px var(--pixel);letter-spacing:.3em;text-transform:uppercase;color:#a7b6cc66}@media(max-height:700px){.inspect-stage{width:min(288px,70vw)}.inspect-desc{font-size:15px}}.inventory-list button{gap:14px;padding:7px 10px 7px 7px;min-height:70px}.inventory-well{position:relative;display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border:1px solid var(--line-soft);border-radius:6px;background:radial-gradient(circle at 50% 42%,#2a3658,#151c30 70%);box-shadow:inset 0 0 12px #0008;transition:border-color .18s,box-shadow .22s,background .22s}.inventory-well>*{transition:transform .22s cubic-bezier(.2,.9,.3,1.4),filter .22s;filter:drop-shadow(0 2px 2px #0009)}.inventory-list button:hover .inventory-well,.inventory-list button:focus-visible .inventory-well{border-color:var(--gold);background:radial-gradient(circle at 50% 42%,#4a4436,#1b2034 72%);box-shadow:inset 0 0 12px #0006,0 0 14px color-mix(in srgb,var(--gold) 33%,transparent)}.inventory-list button:hover .inventory-well>*,.inventory-list button:focus-visible .inventory-well>*{transform:translateY(-2px) scale(1.14);filter:drop-shadow(0 4px 4px #000a) drop-shadow(0 0 6px #f4d99a66)}.inventory-list button:hover>span:nth-child(2){color:#fff4dc}.inventory-count{font:11px var(--pixel);color:var(--gold);padding:3px 7px;border:1px solid var(--line-soft);border-radius:10px;background:color-mix(in srgb,var(--gold) 7%,transparent)}.prop-prompts,.work-card{--glass: linear-gradient(180deg, #26302ef2, #171e1df2);--edge: #8f7f55;--ink: #efe2c0;--muted: #a99d7e}.prop-prompts{gap:7px}.prop-prompts>button,.prop-prompts>span{position:relative;pointer-events:auto;display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;color:var(--ink);background:var(--glass);border:1px solid #8f7f5599;border-radius:999px;box-shadow:inset 0 1px #ffffff14,0 6px 18px -6px #000c,0 1px 2px #0008;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:14px var(--serif);white-space:nowrap;animation:prompt-in .42s cubic-bezier(.16,1.2,.3,1) both}.prop-prompts>:nth-child(2){animation-delay:.04s}.prop-prompts>:nth-child(3){animation-delay:.08s}.prop-prompts>span{padding-left:14px;color:var(--muted);font-size:13px}.prop-prompts>span b{color:var(--ink);font-weight:400}.prop-prompts .key-prompt{cursor:pointer;transition:transform .18s cubic-bezier(.2,1.4,.4,1),border-color .2s,box-shadow .2s}.prop-prompts .key-prompt:hover{transform:translate(3px);border-color:var(--gold)}.prop-prompts .key-prompt:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--gold-hi) 20%,transparent) 50%,transparent 70%) no-repeat;background-size:250% 100%;animation:prompt-sheen .9s .15s ease-out both;pointer-events:none}.prop-prompts kbd{position:relative;display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;color:#231c10;background:linear-gradient(180deg,var(--gold-hi),var(--gold));border-radius:50%;box-shadow:inset 0 -2px color-mix(in srgb,var(--line) 60%,transparent),0 2px color-mix(in srgb,var(--gold) 40%,#000),0 0 0 1px #0006;font:11px var(--pixel);transition:transform .08s ease-out,box-shadow .08s ease-out}.prop-prompts>span kbd{min-width:20px;height:20px;margin-left:-8px;font-size:9px}.prop-prompts .key-prompt[data-down]{transform:translateY(1px) scale(.985)}.prop-prompts .key-prompt[data-down] kbd{transform:translateY(2px);box-shadow:inset 0 -1px color-mix(in srgb,var(--line) 60%,transparent),0 0 color-mix(in srgb,var(--gold) 40%,#000),0 0 0 1px #0006}.prop-prompts .key-prompt[data-kind=talk],.prop-prompts .key-prompt[data-kind=work],.prop-prompts .talk-prompt{border-color:color-mix(in srgb,var(--gold) 80%,transparent);animation:prompt-in .42s cubic-bezier(.16,1.2,.3,1) both,prompt-glow 2.4s .5s ease-in-out infinite}.key-ring{position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p) * 1turn),color-mix(in srgb,var(--gold) 15%,transparent) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));animation:ring-fill var(--stage-ms, 1.1s) linear infinite}.prop-prompts .key-prompt[data-holding] kbd{transform:translateY(2px);box-shadow:inset 0 -1px color-mix(in srgb,var(--line) 60%,transparent),0 0 0 1px #0006,0 0 14px color-mix(in srgb,var(--gold) 53%,transparent)}@property --p{syntax: "<number>"; inherits: false; initial-value: 0;}@keyframes ring-fill{0%{--p: 0}to{--p: 1}}@keyframes prompt-in{0%{opacity:0;transform:translate(-14px) scale(.96);filter:blur(3px)}}@keyframes prompt-sheen{0%{background-position:130% 0}to{background-position:-30% 0}}@keyframes prompt-glow{50%{box-shadow:inset 0 1px #ffffff14,0 6px 18px -6px #000c,0 0 0 3px color-mix(in srgb,var(--gold) 13%,transparent)}}.work-card{position:absolute;top:58px;left:16px;z-index:4;width:256px;overflow:hidden;color:var(--ink);background:linear-gradient(180deg,#1e2625a6,#141a19a6);border:1px solid #ffffff26;border-radius:14px;box-shadow:inset 0 1px #ffffff17,0 10px 28px -14px #000c;-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);text-shadow:0 1px 1px #0007;transition:border-color .3s,background .3s;font:14px var(--serif);animation:card-in .5s cubic-bezier(.16,1.1,.3,1) both}.work-card[data-here]{border-color:color-mix(in srgb,var(--gold) 50%,transparent)}.work-card:not([data-open]):hover{background:linear-gradient(180deg,#232c2bbf,#171e1dbf)}.work-card-head{display:flex;align-items:center;gap:10px;width:100%;padding:7px 34px 7px 8px;color:inherit;background:none;border:0;text-align:left;cursor:pointer}.work-icon{display:grid;place-items:center;width:26px;height:26px;flex:none;background:color-mix(in srgb,var(--gold) 12%,transparent);border:1px solid color-mix(in srgb,var(--gold) 33%,transparent);border-radius:50%}.work-card .work-icon svg{width:13px;height:13px;color:var(--gold);stroke-width:2.2}.work-pips{display:flex;gap:4px;flex:none}.work-pips i{width:6px;height:6px;border-radius:50%;background:#ffffff26;transition:background .4s,box-shadow .4s}.work-pips i[data-done]{background:var(--gold)}.work-pips i[data-now]{background:color-mix(in srgb,var(--gold) 40%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 15%,transparent)}.work-card[data-open] .work-pips{display:none}.work-card[data-holding] .work-icon svg{animation:hammer .55s ease-in-out infinite;transform-origin:70% 70%}.work-title{display:grid;flex:1;min-width:0}.work-title small{color:var(--gold);font:8px var(--pixel);letter-spacing:.14em;text-transform:uppercase}.work-card:not([data-open]) .work-title small{display:none}.work-title b{overflow:hidden;font:15px var(--serif);font-weight:400;text-overflow:ellipsis;white-space:nowrap}.work-count{color:var(--muted);font:10px var(--pixel)}.work-body{display:grid;gap:9px;padding:2px 12px 12px}.work-stages{display:flex;margin:4px 0 0;padding:0;list-style:none}.work-stages li{position:relative;display:grid;flex:1;justify-items:center;gap:5px;color:var(--muted);font-size:12.5px;transition:color .3s}.work-stages li+li:before{content:"";position:absolute;top:7px;right:50%;width:100%;height:2px;background:linear-gradient(90deg,var(--gold) 50%,#8f7f5544 50%) 100% 0 / 200% 100%;transition:background-position .5s cubic-bezier(.3,.8,.3,1)}.work-stages li[data-done]:before,.work-stages li[data-now]:before{background-position:0 0}.work-stages i{position:relative;z-index:1;width:16px;height:16px;background:#1c2322;border:2px solid #8f7f55aa;border-radius:50%;transition:background .3s,border-color .3s,transform .35s cubic-bezier(.2,1.8,.4,1)}.work-stages li[data-done] i{background:var(--gold);border-color:var(--gold);transform:scale(.8)}.work-stages li[data-done] i:after{content:"";position:absolute;left:3px;top:0;width:4px;height:7px;border:solid #231c10;border-width:0 2px 2px 0;transform:rotate(45deg)}.work-stages li[data-now]{color:var(--ink)}.work-stages li[data-now] i{border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 13%,transparent);animation:stage-pulse 1.8s ease-in-out infinite}.work-stages em{position:absolute;inset:2px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p) * 1turn),transparent 0);animation:ring-fill var(--stage-ms) linear infinite}.work-where{margin:0;padding:7px 10px;color:#d7c9a4;background:#0000002b;border-radius:6px;font-size:13px}.work-card[data-here] .work-where{color:var(--gold)}.work-actions{display:flex;gap:6px}.work-actions:empty{display:none}.work-title b{white-space:normal;line-height:1.2;animation:task-in .45s cubic-bezier(.2,1.3,.4,1) both}.work-where{display:flex;align-items:center;gap:7px}.work-where svg{flex:none;color:var(--gold)}.work-where span{flex:1;min-width:0}.work-where small{color:var(--muted);font:9px var(--pixel);font-variant-numeric:tabular-nums}.work-hold kbd{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;color:#231c10;background:linear-gradient(180deg,var(--gold-hi),var(--gold));border-radius:5px;box-shadow:0 2px color-mix(in srgb,var(--gold) 40%,#000);font:9px var(--pixel);animation:key-nudge 1.4s ease-in-out infinite}.work-card[data-holding] .work-hold kbd{transform:translateY(2px);box-shadow:0 0 color-mix(in srgb,var(--gold) 40%,#000);animation:none}.work-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.work-actions button[data-on]{color:var(--gold);border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}.work-actions button[data-on] svg{animation:compass-swing 2.4s ease-in-out infinite}.work-stages li[data-done] i{animation:stage-pop .5s cubic-bezier(.2,1.8,.4,1)}.work-card[data-finished]{border-color:var(--gold);animation:card-in .5s cubic-bezier(.16,1.1,.3,1) both,card-out .5s ease-in 3.1s forwards}.work-card[data-finished] .work-icon{animation:stage-pop .6s cubic-bezier(.2,1.8,.4,1),glint 1.6s ease-in-out infinite .6s}.work-side{display:flex;align-items:center;gap:7px;margin:-2px 2px 0;color:var(--muted);font-size:12.5px}.work-side svg{color:#9fc27a}.work-side[data-done] span{text-decoration:line-through;text-decoration-color:#9fc27a99}.work-cheer{color:var(--gold)}.work-actions button{flex:1;padding:7px 8px;white-space:nowrap;color:var(--ink);background:#ffffff0a;border:1px solid #8f7f5599;border-radius:7px;font:13px var(--serif);cursor:pointer;transition:transform .15s cubic-bezier(.2,1.4,.4,1),background .2s,border-color .2s}.work-actions button:hover{transform:translateY(-1px);border-color:var(--gold);background:#ffffff14}.work-actions button:active{transform:translateY(1px)}.work-actions .primary{color:#231c10;background:linear-gradient(180deg,var(--gold-hi),var(--gold));border-color:var(--gold-hi);box-shadow:inset 0 -2px color-mix(in srgb,var(--line) 60%,transparent)}.work-actions .primary:hover{background:linear-gradient(180deg,var(--gold-hi),var(--gold))}@keyframes card-in{0%{opacity:0;transform:translateY(-8px) scale(.97);filter:blur(4px)}}@keyframes stage-pulse{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--gold) 0%,transparent)}}@keyframes task-in{0%{opacity:0;transform:translate(10px)}}@keyframes stage-pop{0%{transform:scale(.4)}60%{transform:scale(1.3);box-shadow:0 0 0 8px color-mix(in srgb,var(--gold) 27%,transparent)}}@keyframes key-nudge{50%{transform:translateY(1px);box-shadow:0 1px color-mix(in srgb,var(--gold) 40%,#000)}}@keyframes compass-swing{25%{transform:rotate(-18deg)}75%{transform:rotate(14deg)}}@keyframes glint{50%{box-shadow:inset 0 -2px color-mix(in srgb,var(--line) 60%,transparent),0 2px color-mix(in srgb,var(--gold) 40%,#000),0 0 14px color-mix(in srgb,var(--gold) 53%,transparent)}}@keyframes card-out{to{opacity:0;transform:translateY(-6px) scale(.97)}}@keyframes hammer{50%{transform:rotate(-28deg)}}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.work-card{top:112px;left:12px;width:min(300px,calc(100% - 24px))}.work-card-head{padding:8px 10px 7px}.work-actions button{padding:11px 10px}}@media(prefers-reduced-motion:reduce){.prop-prompts>*,.prop-prompts .key-prompt:after,.work-card,.work-card *,.work-stages li[data-now] i,.work-card[data-holding] .work-icon svg{animation:none}}.vitals{gap:4px;padding:6px 11px;background:linear-gradient(180deg,#ffffff1f,#ffffff08);border:1px solid #ffffff2e;border-radius:999px;box-shadow:inset 0 1px #ffffff14,0 6px 18px -6px #000c;-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);animation:prompt-in .5s cubic-bezier(.16,1.2,.3,1) both}.vitals[data-flash=hurt]{border-color:#e0645acc;box-shadow:inset 0 1px #ffffff14,0 0 0 3px #e0645a33,0 6px 18px -6px #000c}.vitals[data-flash=heal]{border-color:color-mix(in srgb,var(--gold) 80%,transparent)}.vitals[data-low]{border-color:#e0645a99;animation:vitals-low 1.8s ease-in-out infinite}@keyframes vitals-low{50%{box-shadow:inset 0 1px #ffffff14,0 0 0 4px #e0645a26,0 6px 18px -6px #000c}}.quick-actions button{background:linear-gradient(180deg,#ffffff0a,#00000014),var(--bg);border-color:#8f7f5580;border-radius:8px;box-shadow:inset 0 1px #ffffff12,0 2px #0000004d;transition:transform .15s cubic-bezier(.2,1.4,.4,1),border-color .2s,box-shadow .2s,background-color .2s}.quick-actions button:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:inset 0 1px #ffffff1a,0 4px #0000004d,0 8px 18px -8px color-mix(in srgb,var(--gold) 33%,transparent)}.quick-actions button:active,.quick-actions button[aria-expanded=true]{transform:translateY(1px);box-shadow:inset 0 2px 6px #0006}.quick-actions button svg{color:var(--gold);transition:transform .25s cubic-bezier(.2,1.6,.4,1)}.quick-actions button:hover svg{transform:scale(1.12) rotate(-6deg)}.quick-actions kbd{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;color:#231c10;background:linear-gradient(180deg,var(--gold-hi),var(--gold));border:0;border-radius:4px;box-shadow:inset 0 -1.5px color-mix(in srgb,var(--line) 60%,transparent),0 1.5px color-mix(in srgb,var(--gold) 40%,#000);font:8px var(--pixel);letter-spacing:.5px;line-height:1}.quick-actions button:has(kbd[data-wide]){padding-right:56px}.quick-actions button:active kbd{translate:0 1px;box-shadow:inset 0 -1px color-mix(in srgb,var(--line) 60%,transparent)}.today{display:grid;gap:14px;padding-bottom:16px}.today-aim{position:relative;display:grid;gap:4px;padding:12px 14px;color:var(--cream);background:#ffffff08;border:1px solid #8f7f5580;border-radius:8px;text-align:left;cursor:pointer;overflow:hidden;animation:rise-in .3s ease-out both;transition:border-color .2s,transform .2s cubic-bezier(.2,1.4,.4,1)}.today-aim:hover{border-color:var(--gold);transform:translate(2px)}.today-aim small,.today-head,.today-text small{color:var(--gold);font:8px var(--pixel);letter-spacing:.14em;text-transform:uppercase}.today-aim b{font:16px/1.35 var(--serif);font-weight:400}.today-aim>span{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:12.5px}.today-steps{display:inline-flex;gap:4px}.today-steps em{width:14px;height:5px;background:#ffffff1a;border-radius:3px;transition:background .4s}.today-steps em[data-done]{background:var(--gold)}.today-goals{display:grid;gap:6px;margin:0;padding:0;list-style:none}.today-goals li{animation:rise-in .3s calc(var(--i) * 45ms + 60ms) ease-out both}.today-goals button{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;color:var(--cream);background:#ffffff06;border:1px solid transparent;border-radius:8px;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,transform .2s cubic-bezier(.2,1.4,.4,1)}.today-goals button:hover{background:#ffffff0f;border-color:#8f7f5580;transform:translate(2px)}.today-goals button[data-aim]{border-color:color-mix(in srgb,var(--gold) 53%,transparent);background:color-mix(in srgb,var(--gold) 7%,transparent)}.today-icon{display:grid;place-items:center;width:30px;height:30px;flex:none;color:var(--gold);background:#0000002e;border:1px solid #8f7f5566;border-radius:7px}.today-text{display:grid;flex:1;gap:2px;min-width:0;font:14px/1.35 var(--serif)}.today-text small{color:color-mix(in srgb,var(--gold) 60%,var(--muted))}.today-goals button[data-aim] .today-text small{color:var(--gold)}.today-check{position:relative;width:18px;height:18px;flex:none;border:1.5px solid #8f7f5599;border-radius:50%;transition:background .3s,border-color .3s,transform .35s cubic-bezier(.2,1.8,.4,1)}.today-goals button[data-done] .today-check{background:var(--gold);border-color:var(--gold);transform:scale(1.05)}.today-goals button[data-done] .today-check:after{content:"";position:absolute;left:5px;top:1.5px;width:4px;height:8px;border:solid #231c10;border-width:0 2px 2px 0;transform:rotate(45deg)}.today-goals button[data-done] .today-text{color:var(--muted)}.today-goals button[data-done] .today-icon{opacity:.55}.today-empty{color:var(--muted);font-size:13px}.today-head{margin:4px 0 -6px;color:color-mix(in srgb,var(--gold) 60%,var(--muted))}.today-log{display:grid;margin:0;padding:0 0 0 16px;list-style:none;background:linear-gradient(var(--line),var(--line)) 4px 0 / 1px 100% no-repeat;max-height:260px;overflow:auto}.today-log li{position:relative;display:grid;grid-template-columns:38px 1fr;gap:8px;padding:7px 0;color:var(--muted);font-size:12.5px;line-height:1.5}.today-log li:before{content:"";position:absolute;left:-15px;top:12px;width:6px;height:6px;background:var(--line);border-radius:50%}.today-log li:first-child{color:var(--cream);animation:rise-in .35s ease-out}.today-log li:first-child:before{background:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 20%,transparent)}.today-log time{padding-top:2px;font:8px var(--pixel)}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.quick-actions button{width:40px;height:40px;padding:0;justify-content:center}.quick-actions button span,.quick-actions kbd{display:none}.quick-actions button svg{width:19px;height:19px}}@media(prefers-reduced-motion:reduce){.vitals,.today *,.quick-actions *{animation:none!important}}.work-card:not([data-open]) .work-body{display:none}.work-card[data-open] .work-body{animation:rise-in .25s ease-out}.work-close{position:absolute;top:8px;right:6px;display:grid;place-items:center;width:24px;height:24px;color:var(--muted);background:none;border:0;border-radius:6px;cursor:pointer;transition:color .15s,background .15s,opacity .2s}.work-card:not([data-open]){width:auto;max-width:300px}.work-card:not([data-open]) .work-card-head{padding-right:12px}.work-card:not([data-open]) .work-close{display:none}.work-close:hover{color:var(--ink);background:#ffffff14}.work-count{transition:opacity .2s}.toasts{position:absolute;top:16px;left:50%;z-index:5;display:grid;justify-items:center;gap:6px;width:min(440px,calc(100% - 32px));transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:10px;max-width:100%;padding:8px 16px 8px 12px;color:#f1e6cb;background:linear-gradient(180deg,#1b2221d9,#121817d9);border:1px solid #ffffff1c;border-radius:999px;box-shadow:inset 0 1px #ffffff12,0 10px 28px -12px #000c;-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);font:14px/1.35 var(--serif);text-shadow:0 1px 1px #0008;animation:toast-in .55s cubic-bezier(.16,1.1,.3,1) both;transition:opacity .4s ease,transform .4s ease,filter .4s ease}.toast:nth-child(2){opacity:.75;transform:scale(.97)}.toast:nth-child(3){opacity:.45;transform:scale(.94)}.toast[data-leaving]{opacity:0;transform:translateY(-6px) scale(.96);filter:blur(2px)}.toast i{width:6px;height:6px;flex:none;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 15%,transparent),0 0 8px color-mix(in srgb,var(--gold) 53%,transparent)}.toast[data-kind=social] i{background:#9cc7a4;box-shadow:0 0 0 3px #9cc7a426,0 0 8px #9cc7a488}.toast[data-kind=world] i{background:#8fb3d9;box-shadow:0 0 0 3px #8fb3d926,0 0 8px #8fb3d988}.toast[data-kind=system] i{background:#b9b0a0;box-shadow:none}.toast span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.96);filter:blur(4px)}}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.toasts{top:62px}.toast{font-size:13px}}@media(prefers-reduced-motion:reduce){.toast{animation:none;transition:opacity .3s}}.world-status{display:contents}.phone-panel-dismiss{display:none}.phone-sheet-header{display:contents}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.app{--bottom-bar-h: 108px;--phone-top-h: 48px;position:fixed;inset:var(--viewport-top, 0px) 0 auto;height:var(--viewport-height, 100dvh);padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}.topbar{height:var(--phone-top-h)}.icon-button,.topbar-avatar{width:44px;height:44px}.header-actions{gap:4px}.world-selector{height:44px;padding-inline:6px}.world-selector strong{font-size:clamp(13px,3.7vw,16px)}.world-selector small{font-size:10px;letter-spacing:0}.bottom-bar{height:var(--bottom-bar-h);grid-template-columns:minmax(0,1fr);grid-template-rows:44px 44px;gap:6px;padding:7px 8px;background:color-mix(in srgb,var(--bg) 96%,transparent);position:relative;z-index:8}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.quick-actions>button,.rest-menu>button{width:100%;min-width:0;min-height:44px}.quick-actions button{justify-content:center;padding:4px}.quick-actions button span{display:block;font:10px var(--sans);color:var(--cream)}.quick-actions button kbd{display:none}.command-input input{font-size:16px;padding:8px 12px}.command-input button{width:44px}.rest-options{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(var(--bottom-bar-h) + 12px + env(safe-area-inset-bottom));border-radius:12px;padding:8px;box-shadow:0 -12px 40px #0006}.quick-actions .rest-options button{width:100%;min-height:48px;font-size:17px;padding:10px}.touch-controls{bottom:calc(var(--bottom-bar-h) + 56px);padding:0 12px}.touch-controls[hidden]{display:none}.touch-stick{width:96px;height:96px;opacity:.8}.touch-run{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:44px;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:22px;background:color-mix(in srgb,var(--bg-2) 90%,transparent);color:var(--cream);font:10px var(--sans);pointer-events:auto;touch-action:none}.touch-run[aria-pressed=true]{background:var(--gold);color:var(--ink)}.touch-run[aria-pressed=true] svg{color:var(--ink)}.touch-actions{grid-template-columns:repeat(2,44px) 72px;gap:6px}.touch-primary small{font:10px/1.1 var(--sans)}.narrator-tools button{display:grid;place-items:center;width:44px;height:44px}.narrator-body{min-height:0;max-height:min(38dvh,260px);overscroll-behavior:contain}.narrator-panel{z-index:7;max-height:calc(var(--viewport-height, 100dvh) - var(--phone-top-h) - var(--bottom-bar-h) - 24px);overflow:auto}.phone-panel-dismiss{display:block;position:absolute;inset:0 0 var(--bottom-bar-h);z-index:5;background:#070d1c33}.sidebar{bottom:calc(var(--bottom-bar-h) + 6px + env(safe-area-inset-bottom));height:min(52dvh,460px);max-height:calc(var(--viewport-height, 100dvh) - var(--phone-top-h) - var(--bottom-bar-h) - 24px - env(safe-area-inset-bottom));z-index:7;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:44px 16px;padding-bottom:16px}.sidebar[data-sheet-snap=full]{height:calc(var(--viewport-height, 100dvh) - var(--phone-top-h) - var(--bottom-bar-h) - 24px - env(safe-area-inset-bottom))}.phone-sheet-header{display:block;position:sticky;top:0;background:var(--bg);z-index:2}.mobile-sheet-grabber{height:44px;padding-inline:48px}.phone-sheet-close{position:absolute;top:0;right:4px;display:grid;place-items:center;width:44px;height:44px;z-index:3}.app[data-phone-overlay] .world-status,.app[data-phone-overlay] .world-minimap,.app[data-phone-overlay] .narrator-tab,.app[data-world-input-blocked] .world-tooltip{visibility:hidden;pointer-events:none}.world-status{display:flex;flex-direction:column;align-items:flex-start;gap:8px;position:absolute;top:112px;left:10px;right:10px;z-index:4;max-height:calc(100% - var(--bottom-bar-h) - 130px);overflow-y:auto;overscroll-behavior:contain;pointer-events:none}.world-status>.toasts,.world-status>.world-notice,.world-status>.work-card{position:static;transform:none;margin:0;max-width:100%;width:auto}.world-status>.toasts{width:100%;justify-items:start}.toasts:empty{display:none}.toasts .toast:not(:first-child){display:none}.toast{border-radius:12px;padding:9px 12px;font-size:13px}.world-status>.world-notice{pointer-events:auto;font-size:13px;padding:8px 12px;animation:none}.world-notice button{min-height:32px}.world-status>.work-card{pointer-events:auto;flex-shrink:0}.work-card-head{min-height:44px}.work-close{top:0;right:0;width:44px;height:44px}.work-card[data-open] .work-card-head{padding-right:44px}.modal-backdrop{top:var(--viewport-top, 0px);bottom:auto;height:var(--viewport-height, 100dvh);padding:10px}.modal{max-height:calc(var(--viewport-height, 100dvh) - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:56px 16px 20px;border-radius:12px;overscroll-behavior:contain}.modal.modal-settings{padding:56px 16px 20px}.modal.modal-dialogue{min-height:0;padding:56px 16px 20px}.settings-tabs{overflow-x:auto;scroll-padding-inline:4px}.settings-tabs button{flex:0 0 auto;min-height:44px;padding-inline:10px}.map-zoom button{width:44px;height:44px}.modal>.close-modal{position:absolute;top:8px;right:8px;width:44px;height:44px;z-index:3;background:color-mix(in srgb,var(--bg) 96%,transparent)}.modal:not(.modal-character):not(.modal-map)>.close-modal{position:sticky;top:0;float:right;margin-top:-48px;margin-right:-8px}.modal-character{padding:0;height:calc(var(--viewport-height, 100dvh) - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden}.character-panel .culture-strip{display:none}.character-panel>*:not(.culture-strip){margin-left:0}.character-panel .character-header{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:12px;min-height:88px;padding:16px 60px 16px 14px;align-items:center}.character-panel .header-avatar{position:static;grid-row:1 / span 2;width:48px;height:48px}.character-panel .character-header h2{min-width:0;font-size:clamp(22px,6vw,30px);line-height:1.1;overflow-wrap:anywhere}.character-panel .character-header p{margin:0;font-size:13px;line-height:1.4}.character-panel>nav{min-height:52px;gap:4px;padding-inline:8px;overflow-x:auto;scrollbar-width:thin;scroll-padding-inline:8px;background:linear-gradient(90deg,#101a30,#23314a)}.character-panel>nav button{flex:0 0 auto;min-height:48px;padding:14px 12px 10px;font:12px var(--sans);letter-spacing:.08em}.character-body{grid-template-columns:minmax(0,1fr)}.character-panel .character-main,.character-panel .character-tab{padding:16px}.character-panel h1{font-size:27px}.character-panel .panel-card{min-width:0}.day-plan li{grid-template-columns:24px 40px minmax(0,1fr);gap:8px;font-size:14px}.day-plan li>em{grid-column:3;font:11px var(--sans);margin-top:-4px}.modal-map{padding:0;display:flex;flex-direction:column;overflow-y:auto}.map-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 60px 12px 14px}.map-title>div:first-child{grid-column:1 / -1}.map-title h2{overflow-wrap:anywhere;font-size:24px}.map-toggle button,.map-period button{min-height:44px}.map-body{flex-direction:column}.map-stage{flex:none}.map-places,.map-places.is-closed{width:auto;max-height:28dvh;border-left:0}.map-places button,.sidebar .context-actions button,.sidebar .evidence-link{min-height:44px}.inspect,.evening{top:var(--viewport-top, 0px);bottom:auto;height:var(--viewport-height, 100dvh);overflow-y:auto;overscroll-behavior:contain}.inspect{align-content:start;padding-top:16px}.inspect-stage{width:min(220px,55vw)}.inspect-card footer{flex-wrap:wrap;gap:12px}.inspect-action{min-height:44px}.inspect-action kbd{display:none}.evening{place-items:start center}.evening-card{padding:24px 16px}}@media(hover:none)and (pointer:coarse){[data-tip]:after{display:none}}@media(max-height:500px)and (max-width:1024px)and (pointer:coarse){.app{--phone-top-h: 44px;--bottom-bar-h: 58px}.bottom-bar{grid-template-columns:220px minmax(0,1fr);grid-template-rows:44px}.quick-actions button span{display:none}.touch-controls{bottom:calc(var(--bottom-bar-h) + 12px)}.touch-stick{width:80px;height:80px}.world-minimap{width:112px;height:72px}.world-status{top:86px;right:130px;max-height:calc(100% - var(--bottom-bar-h) - 96px)}.character-panel .character-header{min-height:68px;padding-block:8px}.map-stage{max-height:38dvh}}@media(max-width:640px),(pointer:coarse)and (max-width:1024px){.plot-veil,.plot-floor{overscroll-behavior:contain}}
