:root{--bg: #b9a985;--ink: #2e2014;--ink-soft: #6b5238;--parch: #efe1bf;--parch-2: #e4d09f;--parch-edge: #b8955e;--wood: #7a4b2a;--wood-dark: #3a2111;--wood-ink: #fbecd0;--bark: #efe5cc;--bark-line: rgba(70, 50, 30, .28);--gold: #e2b24a;--gold-2: #b8862a;--red: #a8301f;--good: #3f7a2f;--warn: #b5541c;--bad: #a8301f;--shadow: 0 8px 22px rgba(28, 16, 6, .35);--display: "Ruslan Display", "PT Serif", Georgia, serif;--serif: "Kurale", "PT Serif", Georgia, serif;--sans: "PT Sans", system-ui, -apple-system, sans-serif;--paper-noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .25  0 0 0 0 .12  0 0 0 .22 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #2a231a}}:root[data-theme=dark]{--bg: #2a231a}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#scene{position:fixed;inset:0;width:100vw;height:100vh;display:block;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none}#ui>*{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.ico{display:inline-flex;width:22px;height:22px;flex:none}.ico svg{width:100%;height:100%}.wood{background:repeating-linear-gradient(92deg,rgba(0,0,0,.05) 0 2px,transparent 2px 9px,rgba(255,220,170,.04) 9px 11px,transparent 11px 17px),linear-gradient(180deg,#8c5a33,#74462a 55%,#5f381f);border:2px solid var(--wood-dark);box-shadow:inset 0 1px #ffdcaa59,inset 0 -3px #00000040,var(--shadow);color:var(--wood-ink)}.parchment{background:var(--paper-noise),radial-gradient(120% 90% at 30% 20%,#f6ead0 0%,var(--parch) 55%,var(--parch-2) 100%);border:1px solid var(--parch-edge);box-shadow:inset 0 0 18px #8c602847,var(--shadow);color:var(--ink)}.bark{background:radial-gradient(3px 1px at 20% 30%,var(--bark-line) 60%,transparent 70%),radial-gradient(4px 1px at 70% 60%,var(--bark-line) 60%,transparent 70%),radial-gradient(3px 1px at 45% 80%,var(--bark-line) 60%,transparent 70%),radial-gradient(5px 1.2px at 85% 20%,var(--bark-line) 60%,transparent 70%),linear-gradient(180deg,#f6eedc,var(--bark) 60%,#e3d4b2);background-size:60px 18px,90px 22px,70px 26px,110px 20px,auto;border-radius:3px 10px 4px 12px;box-shadow:inset 0 0 0 1px #785a3240,0 3px 10px #1c100647}.topbar{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:12px}.brand{display:flex;flex-direction:column;line-height:1;padding:0 6px}.brand-title{font-family:var(--display);font-size:24px;color:var(--gold);text-shadow:0 2px 0 rgba(0,0,0,.45);letter-spacing:.02em}.brand-sub{font-family:var(--serif);font-size:12px;color:#e8cfa4;margin-top:2px}.stats{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.stats::-webkit-scrollbar{display:none}.plaque{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:8px;background:linear-gradient(180deg,#f4e6c6,#e2cd9c);color:var(--ink);border:1px solid #4a2c15;box-shadow:inset 0 1px #fff6e0,inset 0 -2px #78501e40,0 2px #0000004d;flex:none;white-space:nowrap;cursor:help}.stat-value{font-weight:700;font-variant-numeric:tabular-nums;font-size:15px}.stat-value.bad{color:var(--bad)}.controls{display:flex;gap:6px;align-items:center}.seg{display:flex;gap:2px;padding:2px;border-radius:9px;background:#00000040;box-shadow:inset 0 2px 3px #00000059}.btn{display:inline-grid;place-items:center;width:36px;height:34px;border-radius:7px;color:var(--wood-ink)}.btn .ico,.btn>svg{width:20px;height:20px}.btn:hover{background:#ffe6be1f}.btn.active{background:linear-gradient(180deg,#f3c862,var(--gold-2));color:#3a2410;box-shadow:inset 0 1px #fff0bf,0 1px #0006}.btn:disabled{opacity:.35;cursor:default}.controls>.btn{background:#0003;box-shadow:inset 0 1px #ffdcaa33}.left{position:absolute;left:10px;top:calc(var(--top-h, 52px) + 18px);width:290px;display:flex;flex-direction:column;gap:10px;pointer-events:none!important}.left>*{pointer-events:auto}.quest{position:relative;padding:12px 14px 12px 16px;border-radius:6px 14px}.quest:before{content:"";position:absolute;left:-6px;top:10px;bottom:10px;width:10px;border-radius:6px;background:linear-gradient(90deg,#6e4322,#a8743f 50%,#6e4322);box-shadow:0 2px 4px #0000004d}.quest-kicker{font-family:var(--serif);font-size:12px;color:var(--red);letter-spacing:.04em}.quest h3{margin:2px 0 4px;font-family:var(--serif);font-size:19px;line-height:1.15}.quest p{margin:0 0 9px;line-height:1.38;font-size:13.5px}.quest-bar,.meter-bar{height:10px;border-radius:99px;background:#5a3c1933;box-shadow:inset 0 1px 2px #0000004d;overflow:hidden}.quest-fill,.meter-fill{height:100%;border-radius:99px;background:linear-gradient(180deg,#7fb054,var(--good));transition:width .4s}.quest-meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:13px;color:var(--ink-soft)}.quest-reward{display:inline-flex;align-items:center;gap:3px;font-weight:700;color:var(--ink)}.quest-reward .ico{width:18px;height:18px}.info{display:none;padding:12px 14px;border-radius:12px}.info.show{display:block;animation:pop .18s ease-out}.info-head{display:flex;align-items:center;gap:10px}.info-thumb{width:54px;height:54px;flex:none;background:center / contain no-repeat;border-radius:8px;background-color:#785a321f}.info h3{margin:0;font-family:var(--serif);font-size:18px}.info p{margin:8px 0 0;line-height:1.4}.info .hint{font-family:var(--serif);color:var(--ink-soft)}.info .hint.bad{color:var(--bad)}.needs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.need{display:inline-flex;align-items:center;gap:3px;padding:3px 8px 3px 5px;border-radius:99px;font-size:12.5px;font-weight:700}.need .ico{width:14px;height:14px}.need.ok{background:#3f7a2f26;color:var(--good)}.need.no{background:#a8301f21;color:var(--bad)}.meter{margin-top:9px;font-size:12.5px;color:var(--ink-soft)}.meter span{display:block;margin-bottom:3px}.log{position:absolute;left:10px;bottom:118px;width:min(430px,calc(100vw - 100px));display:flex;flex-direction:column;gap:5px;pointer-events:none!important}.log-head{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-family:var(--serif);font-size:14px;color:#fbecd0;text-shadow:0 1px 2px rgba(0,0,0,.7);pointer-events:auto}.msg{display:grid;grid-template-columns:auto 1fr;column-gap:8px;padding:6px 12px;font-family:var(--serif);font-size:13.5px;line-height:1.35;color:#2b1d10;animation:unroll .35s ease-out}.msg-date{color:#7a5c3a;font-size:12px;padding-top:1px;white-space:nowrap}.msg-src{grid-column:2;font-size:11px;color:#7a5c3a;font-style:italic;margin-top:2px}.msg-warn{box-shadow:inset 4px 0 0 var(--warn),0 3px 10px #1c100647}.msg-good{box-shadow:inset 4px 0 0 var(--good),0 3px 10px #1c100647}.msg-chronicle{box-shadow:inset 4px 0 0 var(--red),0 3px 10px #1c100647}.mapctl{position:absolute;right:10px;bottom:118px;display:flex;flex-direction:column;gap:6px}.round{display:grid;place-items:center;width:42px;height:42px;border-radius:50%}.round .ico{width:20px;height:20px}.round.active{background:linear-gradient(180deg,#f3c862,var(--gold-2));color:#3a2410}.overlay-menu{position:absolute;right:52px;bottom:0;display:none;grid-template-columns:repeat(2,1fr);gap:5px;padding:8px;border-radius:10px;width:200px}.overlay-menu.show{display:grid;animation:pop .15s ease-out}.chip{padding:7px 8px;border-radius:7px;background:#78501e1f;font-weight:700;font-size:13px}.chip:hover{background:#78501e38}.chip.active{background:var(--wood);color:var(--wood-ink)}.dock{position:absolute;left:50%;bottom:8px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;max-width:calc(100vw - 12px);pointer-events:none!important}.dock>*{pointer-events:auto}.toolbar{display:flex;gap:4px;padding:6px 8px;border-radius:16px;max-width:100%;overflow-x:auto;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.cat{position:relative;display:flex;flex-direction:column;align-items:center;width:78px;flex:none;padding:3px 2px 4px;border-radius:11px;transition:transform .12s}.cat:hover{background:#ffe6be1a;transform:translateY(-2px)}.cat-face{display:grid;place-items:center;width:62px;height:56px;border-radius:10px;background:radial-gradient(circle at 50% 35%,#f6ead0,#dcc596 75%);border:1px solid #3d2513;box-shadow:inset 0 -3px #78501e4d,inset 0 1px #fff4da,0 2px #00000059}.cat-thumb{width:60px;height:54px;background:center / contain no-repeat}.cat-ico{display:inline-flex;width:34px;height:34px}.cat-ico svg{width:100%;height:100%}.cat-label{margin-top:3px;font-family:var(--serif);font-size:13.5px;line-height:1.1;color:var(--wood-ink);text-shadow:0 1px 1px rgba(0,0,0,.6)}.cat-cost,.cat-more{position:absolute;top:0;right:2px;min-width:22px;padding:1px 5px;border-radius:99px;background:#3a2111;color:#f4e0b8;font-size:11px;font-weight:700;border:1px solid #c79a55}.cat-more{background:var(--red)}.cat.active .cat-face{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold),0 0 14px #ffd26ecc,inset 0 -3px #78501e4d}.cat.hint:not(.active) .cat-face{animation:beckon 1.4s ease-in-out infinite}@keyframes beckon{0%,to{box-shadow:0 0 #ffd26ee6,inset 0 -3px #78501e4d;transform:translateY(0)}50%{box-shadow:0 0 0 6px #ffd26e00,inset 0 -3px #78501e4d;transform:translateY(-4px)}}.tray{display:none;margin-bottom:8px;padding:10px;border-radius:14px;max-width:100%}.tray.show{display:block;animation:pop .16s ease-out}.tray-chain{font-family:var(--serif);font-size:13px;color:var(--ink-soft);text-align:center;margin-bottom:8px}.tray-row{display:flex;gap:8px;overflow-x:auto}.card{display:grid;grid-template-columns:76px 1fr;grid-template-rows:1fr auto;column-gap:8px;width:250px;flex:none;padding:8px;border-radius:10px;text-align:left;background:#fffaeb8c;border:1px solid rgba(120,80,30,.3)}.card:hover{background:#fffaebe6}.card.active{border-color:var(--gold-2);box-shadow:0 0 0 2px var(--gold)}.card-thumb{grid-row:span 2;width:76px;height:70px;background:center / contain no-repeat}.card-meta strong{display:block;font-family:var(--serif);font-size:15px}.card-desc{display:block;font-size:12px;line-height:1.3;color:var(--ink-soft);margin-top:2px}.card-cost{display:inline-flex;align-items:center;gap:3px;margin-top:4px;font-weight:700;font-size:13px}.card-cost .ico{width:18px;height:18px}.cursor-tip{position:fixed;display:none;max-width:240px;padding:7px 10px;border-radius:9px;background:#28180ce0;color:#fbecd0;font-size:13px;box-shadow:0 4px 14px #00000059;pointer-events:none!important;border-left:4px solid var(--good)}.cursor-tip.show{display:block}.cursor-tip.warn{border-left-color:#e3a12a}.cursor-tip.bad{border-left-color:#e0533d}.ct-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.ct-cost{display:inline-flex;align-items:center;gap:3px;font-weight:700}.ct-cost .ico{width:16px;height:16px}.ct-note{margin-top:2px;opacity:.85}.cursor-tip.bad .ct-note{color:#ffb4a6;opacity:1}.cursor-tip.warn .ct-note{color:#ffd98a;opacity:1}.toast{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none!important;text-align:center;padding:18px 30px 16px;border-radius:14px;background:var(--paper-noise),radial-gradient(120% 90% at 30% 20%,#f6ead0 0%,var(--parch) 55%,var(--parch-2) 100%);border:1px solid var(--parch-edge);box-shadow:var(--shadow)}.toast.show{animation:toast 2.8s ease-out forwards}@keyframes toast{0%{opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(-4deg)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.06) rotate(1deg)}20%{transform:translate(-50%,-50%) scale(1) rotate(0)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-60%) scale(.96)}}.seal{display:grid;place-items:center;width:46px;height:46px;margin:-40px auto 6px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d4553f,#8e2416 70%);color:#f6d6b8;font-size:22px;font-weight:700;box-shadow:0 0 0 4px #8e241659,0 3px 8px #0006}.seal.big{width:64px;height:64px;font-size:30px;margin-top:-54px}.toast-kicker{font-family:var(--serif);color:var(--red);font-size:13px}.toast-title{font-family:var(--serif);font-size:24px;margin:2px 0 6px}.toast-reward{display:inline-flex;gap:4px;align-items:center;font-weight:700}.coin-float{position:fixed;z-index:50;display:inline-flex;align-items:center;gap:3px;transform:translate(-50%);font-weight:700;color:#fff3d0;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.6);pointer-events:none;animation:coin 1.6s ease-out forwards}.coin-float .ico{width:18px;height:18px}@keyframes coin{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,34px)}}.modal{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle,#1e120840,#1e120899)}.modal.show{display:flex}.modal-card{position:relative;width:min(460px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:24px 26px;border-radius:10px;animation:pop .2s ease-out}.modal-card.wide{width:min(620px,100%)}.modal-card h2{font-family:var(--serif);margin:0 0 10px;font-size:24px}.modal-card p{line-height:1.5}.modal-x{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--ink-soft)}.modal-x svg{width:18px;height:18px}.modal-x:hover{background:#78501e26}.start{text-align:center}.title-plate{font-family:var(--display);font-size:52px;line-height:1;color:var(--red);text-shadow:0 2px 0 #f6ead0,0 3px 0 rgba(90,40,20,.35)}.title-sub{font-family:var(--serif);font-size:16px;color:var(--ink-soft);margin-top:4px}.lead{font-family:var(--serif);font-size:15.5px;margin:14px 0 4px}.choices,.menu-list{display:grid;gap:8px;margin:14px 0 6px;text-align:left}.choice{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;background:#fffaeb99;border:1px solid rgba(120,80,30,.35);box-shadow:0 2px #5a3c1940}.choice:hover{background:#fffaebf2}.choice strong{font-family:var(--serif);font-size:18px}.choice span{font-size:13.5px;color:var(--ink-soft)}.choice.primary{background:linear-gradient(180deg,#b8402c,#8e2a1a);border-color:#5e1a0e;color:#fbecd0}.choice.primary span{color:#f3d3b6}.link{margin-top:6px;color:var(--ink-soft);text-decoration:underline;font-size:14px}.help-list{margin:0;padding-left:20px;line-height:1.55}.chron-list{display:grid;gap:10px}.chron{padding:10px 12px;border-radius:8px;background:#fffaeb8c;border-left:4px solid var(--red)}.chron p{margin:4px 0;font-family:var(--serif)}.chron.locked{opacity:.55;border-left-color:var(--parch-edge)}.chron-pop{font-size:12px;color:var(--red);font-weight:700}.chron-src{font-size:12px;color:var(--ink-soft);font-style:italic}@keyframes pop{0%{opacity:0;transform:scale(.94)}}@keyframes unroll{0%{opacity:0;transform:translate(-12px) scaleX(.9)}}@media(max-width:1100px){.brand{display:none}}@media(max-height:760px){.msg:not(:nth-last-child(-n+2)){display:none}}@media(max-height:560px){.msg:not(:nth-last-child(-n+1)){display:none}.msg-src,.quest p{display:none}}@media(max-width:760px){.topbar{top:6px;left:6px;right:6px;gap:6px;padding:4px 6px;flex-wrap:wrap}.stats{order:2;flex:1 1 100%;gap:5px}.controls{order:1;margin-left:auto}.plaque{padding:3px 7px 3px 4px;gap:4px}.plaque .ico{width:18px;height:18px}.stat-value{font-size:13px}.btn{width:32px;height:30px}.left{left:6px;top:calc(var(--top-h, 80px) + 12px);width:min(290px,calc(100vw - 64px))}.quest{padding:8px 10px 9px 13px}.quest h3{font-size:16px}.quest p{font-size:12.5px;margin-bottom:6px}.cat{width:60px}.cat-face{width:50px;height:46px}.cat-thumb{width:48px;height:44px}.cat-ico{width:28px;height:28px}.cat-label{font-size:11.5px}.cat-cost{display:none}.toolbar{padding:4px 5px;gap:2px}.log{bottom:96px;left:6px;width:calc(100vw - 64px)}.msg:not(:nth-last-child(-n+1)){display:none}.msg{font-size:12.5px}.msg-src{display:none}.mapctl{right:6px;bottom:96px}.round{width:38px;height:38px}.card{width:210px;grid-template-columns:60px 1fr}.card-thumb{width:60px;height:56px}.cursor-tip{display:none!important}}@media(max-width:760px)and (max-height:520px){.quest p{display:none}}
