:root{--bg: #0b0e16;--paper: #f3ead6;--sheet: #fbf8ef;--ink: #1b1512;--accent: #c8362e;--gold: #e6b24a;--line: #1d1d20;--slab: linear-gradient(#4b4b50, #333337);--slab-edge: #1d1d20;--look: #7a4fc4;--act: #3fa64a;--wood: linear-gradient(#a06e3e, #7c522b);--wood-edge: #3b2615;--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--font-cut: "Roboto Condensed", "Arial Narrow", "Helvetica Neue", sans-serif-condensed, sans-serif;--outline: 2px 0 0 var(--line), -2px 0 0 var(--line), 0 2px 0 var(--line), 0 -2px 0 var(--line), 1.5px 1.5px 0 var(--line), -1.5px -1.5px 0 var(--line), 1.5px -1.5px 0 var(--line), -1.5px 1.5px 0 var(--line), 0 3px 2px rgba(0, 0, 0, .4);--sticker: drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff) drop-shadow(1px 3px 0 rgba(0, 0, 0, .45));font-family:var(--font-cut)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--paper);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%}#app,#scene{position:fixed;left:0;top:0;width:100%;height:100%;height:100lvh}#scene{display:block}#ui{position:fixed;inset:0;pointer-events:none}#ui>*{pointer-events:auto}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer;transition:transform .08s,box-shadow .08s,filter .08s}.hidden{display:none!important}.hud{position:absolute;inset:0;pointer-events:none!important}.hud>*{pointer-events:auto}.hero-badge{position:absolute;left:calc(10px + var(--safe-l));top:calc(8px + var(--safe-t));display:flex;align-items:center;pointer-events:none!important}.hero-badge .portrait{position:relative;z-index:1;width:66px;height:66px;border:4px solid #2a2a2e;box-shadow:0 0 0 2px #6b6b72,0 4px 0 2px #00000073}.hero-info{display:flex;flex-direction:column;gap:3px;margin-left:-16px;padding:6px 26px 7px 24px;background:var(--slab);border-top:2px solid #6b6b72;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);filter:drop-shadow(0 3px 0 rgba(0,0,0,.45))}.hero-name{font-weight:900;font-size:17px;line-height:1;text-transform:uppercase;letter-spacing:.5px;color:#fff}.anxiety{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;color:#ff8d84;pointer-events:none!important}.anxiety b{display:block;width:120px;height:10px;border-radius:2px;border:2px solid #121214;background:#1a1a1c;overflow:hidden}.anxiety i{display:block;height:100%;width:0;background:linear-gradient(#e2473d,#a8241c);transition:width .6s}.goal{position:absolute;left:calc(14px + var(--safe-l));top:calc(92px + var(--safe-t));width:200px;padding:16px 8px 8px;border-radius:10px;background:var(--wood);border:3px solid var(--wood-edge);box-shadow:0 4px #0006;transform:rotate(-1.5deg);pointer-events:none!important}.goal:before,.board:before{content:"";position:absolute;left:50%;top:-9px;width:64px;height:20px;transform:translate(-50%);border-radius:8px 8px 4px 4px;background:linear-gradient(#f2f3f4,#9aa0a6);border:2px solid #3a3a3e;z-index:1}.goal:after,.board:after{content:"";position:absolute;left:50%;top:-4px;width:14px;height:7px;transform:translate(-50%);border-radius:4px;background:#3a3a3e;z-index:2}.goal-sheet{background:linear-gradient(315deg,transparent 0 7px,#d6ccb4 7px 12px,var(--sheet) 12px);color:var(--ink);padding:8px 10px 10px;border-radius:2px;box-shadow:0 1px #00000040}.goal-head{font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#444;border-bottom:2px solid var(--ink);padding-bottom:2px;margin-bottom:4px}.goal-text{font-weight:700;font-size:14px;line-height:1.2}.btn-round{position:absolute;width:86px;height:86px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#5fc468,var(--act) 60%,#2c7d35);border:4px solid #fff;box-shadow:0 0 0 3px var(--line),0 5px 0 3px #00000073;display:flex;align-items:center;justify-content:center;padding:0}.btn-round:active{transform:translateY(3px);box-shadow:0 0 0 3px var(--line),0 2px 0 3px #00000073}.btn-round .ico{font-size:38px;line-height:1;margin-top:-8px;filter:var(--sticker)}.btn-round .lbl{position:absolute;left:50%;bottom:-12px;transform:translate(-50%);max-width:180px;padding:3px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--slab);border:2px solid var(--slab-edge);border-radius:4px;color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.3px}.btn-round .lbl:empty{display:none}.btn-action{right:calc(26px + var(--safe-r));bottom:calc(34px + var(--safe-b))}.btn-action.disabled{filter:grayscale(1) brightness(.85);opacity:.6}.btn-look{right:calc(132px + var(--safe-r));bottom:calc(74px + var(--safe-b));width:70px;height:70px;background:radial-gradient(circle at 35% 30%,#9c76e0,var(--look) 60%,#4e2d8a)}.btn-look .ico{font-size:30px;margin-top:-6px}.ico svg{display:block;width:1.3em;height:1.3em;overflow:visible}.btn-look .lbl{font-size:10px;bottom:-11px}.btn-sticker{position:absolute;top:calc(6px + var(--safe-t));width:78px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:0}.btn-sticker .ico{font-size:42px;line-height:1.1;filter:var(--sticker)}.btn-sticker .lbl{color:#fff;font-size:16px;font-weight:900;text-shadow:var(--outline)}.btn-sticker:active{transform:translateY(2px) scale(.95)}.btn-journal{right:calc(8px + var(--safe-r))}.btn-menu{right:calc(90px + var(--safe-r))}.joy-zone{position:absolute;left:0;top:0;bottom:0;width:45%}.look-zone{position:absolute;right:0;top:0;bottom:0;width:55%}.joy-base{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:4px solid rgba(29,29,32,.6);background:#3a3a3e59;box-shadow:inset 0 0 0 2px #ffffff40;left:calc(110px + var(--safe-l));top:calc(100% - 110px);opacity:.5;pointer-events:none}.joy-base.active{opacity:1}.joy-knob{position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#6b6b72,#3a3a3e 70%);border:3px solid #fff;box-shadow:0 0 0 3px var(--line),0 3px 0 3px #00000059;transform:translate(-50%,-50%)}.vignette{position:absolute;inset:0;pointer-events:none!important;--anx: 0;background:radial-gradient(ellipse at center,transparent 55%,rgba(60,0,20,calc(var(--anx) * .75)) 100%)}.vignette.look{animation:look 1.2s ease-out}@keyframes look{0%{box-shadow:inset 0 0 #7850c800}25%{box-shadow:inset 0 0 160px 60px #461e78bf}to{box-shadow:inset 0 0 #7850c800}}.flash{position:absolute;inset:0;background:#e8ecff;opacity:0;pointer-events:none!important}.flash.on{animation:flash .6s ease-out}@keyframes flash{0%,30%{opacity:.85}15%{opacity:.2}to{opacity:0}}.toast{position:absolute;left:50%;top:calc(56px + var(--safe-t));transform:translate(-50%,-10px);max-width:62vw;padding:8px 18px;border-radius:4px;background:var(--slab);border:2px solid var(--slab-edge);border-top-color:#6b6b72;box-shadow:0 4px #0006;color:#fff;font-size:16px;font-weight:700;text-align:center;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none!important}.toast.show{opacity:1;transform:translate(-50%)}.layer{position:absolute;inset:0}.dlg-layer{display:flex;align-items:flex-end;justify-content:center;padding:0 calc(16px + var(--safe-r)) calc(12px + var(--safe-b)) calc(16px + var(--safe-l))}.dlg{width:min(820px,100%);display:flex;gap:12px;align-items:flex-end;animation:up .2s ease-out}@keyframes up{0%{transform:translateY(20px);opacity:0}}.portrait{width:92px;height:92px;flex:none;border-radius:50%;background:#6f8fa8;border:5px solid #2a2a2e;box-shadow:0 0 0 2px #6b6b72,0 4px 0 2px #00000073}.dlg-body{flex:1;position:relative;background:var(--sheet);color:var(--ink);border-radius:6px;border:3px solid var(--line);padding:12px 18px 14px;min-height:84px;box-shadow:0 5px #00000073}.dlg-name{position:absolute;left:12px;top:-16px;padding:3px 14px;background:var(--slab);border:2px solid var(--slab-edge);border-radius:4px;color:#fff;font-weight:900;font-size:15px;text-transform:uppercase;letter-spacing:.5px}.dlg-name+.dlg-text{margin-top:4px}.dlg-text{font-size:19px;font-weight:500;line-height:1.3}.dlg-text.narrator{font-style:italic;color:#4a3f36}.dlg-next{position:absolute;right:12px;bottom:4px;font-size:12px;color:var(--accent);animation:blink 1s infinite}@keyframes blink{50%{opacity:.2}}.choices{width:min(820px,100%);display:flex;gap:12px;align-items:flex-end}.choice-list{flex:1;display:flex;flex-direction:column;gap:8px}.choice{text-align:left;background:var(--slab);color:#fff;border:2px solid var(--slab-edge);border-top-color:#6b6b72;border-radius:4px;padding:10px 16px;font-size:18px;font-weight:700;box-shadow:0 4px #00000073;display:flex;gap:10px;align-items:center;min-height:48px}.choice:active{transform:translateY(3px);box-shadow:0 1px #00000073}.tone{flex:none;font-size:11px;font-weight:900;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:2px solid #fff;box-shadow:0 0 0 2px var(--line);background:#777;color:#fff}.tone-num{min-width:1.6em;text-align:center;background:#4a4f5e}.tone-calm{background:var(--act)}.tone-insist{background:var(--accent)}.tone-silent{background:#5a6cb0}.title-card,.fade,.tbc,.bridge{background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px;animation:fadein .5s ease-out}.title-card{background:#000000d1}.tbc{overflow-y:auto;justify-content:safe center}.out{animation:fadeout .5s ease-in forwards}@keyframes fadein{0%{opacity:0}}@keyframes fadeout{to{opacity:0}}.chapter-card{background:#000;z-index:50;animation:fadein .4s ease-out}.chapter-card:before{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px 30px #ff6e1473}.chapter-card.out{animation:fadeout .6s ease-in forwards}.title-main{font-size:clamp(28px,5vw,50px);font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#fff;text-shadow:var(--outline)}.title-sub,.fade-text,.bridge-text{font-size:18px;opacity:.85;max-width:640px;line-height:1.4}.bridge-who{font-size:28px;font-weight:900;text-transform:uppercase;color:var(--gold);text-shadow:var(--outline)}.btn-big{min-width:220px;padding:11px 24px;border-radius:6px;background:linear-gradient(#dc4a3f,#a8251d);color:#fff;border:3px solid var(--line);font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 2px 0 rgba(0,0,0,.45);box-shadow:inset 0 2px #ffffff4d,0 4px #00000080}.btn-big:active{transform:translateY(3px);box-shadow:0 1px #00000080}.btn-ghost{background:var(--slab);box-shadow:inset 0 2px #ffffff2e,0 4px #00000080}@media (hover: hover){.btn-big:hover,.choice:hover,.btn-sticker:hover,.btn-round:hover{filter:brightness(1.12)}}.menu{background:radial-gradient(ellipse at 50% 30%,#2b2236,#0b0e16 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px}.menu-title{font-size:clamp(48px,11vw,100px);font-weight:900;letter-spacing:4px;color:#fff;text-shadow:3px 0 0 var(--line),-3px 0 0 var(--line),0 3px 0 var(--line),0 -3px 0 var(--line),3px 3px 0 var(--line),-3px -3px 0 var(--line),3px -3px 0 var(--line),-3px 3px 0 var(--line),6px 7px 0 var(--accent)}.menu-sub{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:1px;opacity:.75;margin-bottom:14px}.menu-col{display:flex;flex-direction:column;gap:12px;align-items:center}.panel-layer{background:#0009;display:flex;align-items:center;justify-content:center;padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(12px + var(--safe-b)) calc(16px + var(--safe-l))}.board{position:relative;width:min(560px,100%);max-height:100%;display:flex;padding:18px 12px 12px;border-radius:14px;background:var(--wood);border:3px solid var(--wood-edge);box-shadow:0 8px #00000073;transform:rotate(-.6deg)}.board:before{width:120px;height:30px;top:-14px}.board:after{width:22px;height:10px;top:-7px}.panel{flex:1;min-height:0;background:var(--sheet);color:var(--ink);border-radius:3px;padding:18px 22px;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;display:flex;flex-direction:column;gap:10px;align-items:stretch;box-shadow:0 2px #00000040}.panel h2{margin:0;font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;border-bottom:3px solid var(--ink);padding-bottom:4px}.panel h3{margin:8px 0 0;font-size:17px;font-weight:900;text-transform:uppercase;color:var(--accent)}.panel p{margin:0;line-height:1.4;font-size:16px}.panel .small{font-size:14px;opacity:.7}.journal{background:repeating-linear-gradient(transparent 0 27px,#c9dbea 27px 28px),var(--sheet);background-attachment:local}.journal .entry{border-left:3px solid var(--accent);padding:4px 12px;font-size:16px}.journal .entry b{font-size:17px;text-transform:uppercase}.journal .entry p{font-size:16px;margin-top:3px}.rotate{display:none;position:absolute;inset:0;z-index:100;background:var(--bg);flex-direction:column;align-items:center;justify-content:center;gap:16px;font-size:18px;text-align:center;padding:30px}.rotate-ico{font-size:48px}@media (orientation: portrait) and (pointer: coarse){.rotate{display:flex}}@media (max-height: 430px){.dlg-text{font-size:16px}.portrait{width:70px;height:70px}.hero-badge .portrait{width:54px;height:54px}.goal{top:calc(74px + var(--safe-t));width:170px}.goal-text{font-size:13px}.dlg-body{min-height:70px;padding:10px 14px 12px}.choice{padding:8px 14px;font-size:16px;min-height:42px}.btn-round{width:76px;height:76px}.btn-round .ico{font-size:32px}.btn-look{width:62px;height:62px;right:calc(118px + var(--safe-r));bottom:calc(66px + var(--safe-b))}.btn-look .ico{font-size:26px}.btn-sticker{width:62px}.btn-sticker .ico{font-size:30px}.btn-sticker .lbl{font-size:12px}.btn-menu{right:calc(72px + var(--safe-r))}}.sens{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:700;opacity:.9;width:100%;max-width:320px;align-self:center}.sens input{width:100%;accent-color:var(--accent);height:28px}.mg-layer{z-index:30}.mg-board{width:min(900px,100%);transform:rotate(-.3deg)}.mg{gap:10px;align-items:stretch;text-align:center;position:relative}.mg-title{margin:0}.mg-rules{display:flex;flex-direction:column;align-items:center;gap:8px}.mg-rules p{margin:0;max-width:560px;font-size:17px;line-height:1.35}.mg-rules .btn-big{margin-top:8px}.mg-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;min-height:52px}.mg-actions .btn-big{min-width:0;padding:10px 18px;font-size:17px}.mg-over{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:#f3ead6f0}.mg-over p{margin:0;max-width:480px;font-size:18px}.mg-stamp{font-size:clamp(40px,9vw,72px);font-weight:900;text-transform:uppercase;padding:2px 22px;border:6px solid currentColor;border-radius:10px;transform:rotate(-6deg);animation:stamp .35s cubic-bezier(.2,1.6,.4,1)}.mg-stamp.win{color:#2f8a3a}.mg-stamp.lose{color:#b8352e}@keyframes stamp{0%{transform:rotate(-6deg) scale(2.2);opacity:0}}.mg-score{font-size:18px;font-weight:900;text-transform:uppercase}.mg-canvas{width:100%;max-width:calc(52vh * 16 / 9);margin:0 auto;aspect-ratio:16 / 9;border:3px solid var(--line);border-radius:6px;touch-action:none;background:#c4c9cf}.mg-pad{display:flex;gap:10px;justify-content:center}.mg-key{width:76px;height:58px;border-radius:8px;background:var(--slab);color:#fff;border:3px solid var(--line);font-size:24px;font-weight:900;box-shadow:inset 0 2px #ffffff2e,0 4px #00000080;touch-action:none;user-select:none;-webkit-user-select:none}.mg-key.wide{width:150px;font-size:19px;text-transform:uppercase;background:linear-gradient(#dc4a3f,#a8251d)}.mg-key:active{transform:translateY(3px)}.pk-table{display:flex;flex-direction:column;gap:8px;align-items:center;padding:10px;border-radius:10px;background:radial-gradient(ellipse at 50% 40%,#3f8a4f,#24603a);border:3px solid var(--line);color:#fff}.pk-opps{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.pk-name,.pk-pot,.pk-me{font-weight:900;text-shadow:0 2px 0 rgba(0,0,0,.5)}.pk-combo{font-size:13px;color:var(--gold);font-weight:700}.pk-log{min-height:22px;font-size:16px;font-style:italic}.pk-row,.pk-hand{display:flex;gap:6px;justify-content:center}.pk-card{width:58px;height:82px;border-radius:6px;background:#fbf8f0;color:#1d1d20;border:3px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-size:22px;line-height:1;cursor:pointer;transition:transform .12s;box-shadow:0 3px #00000059}.pk-card span{font-size:26px}.pk-card.red{color:#c8362e}.pk-card.back{background:repeating-linear-gradient(45deg,#c8362e 0 6px,#a8251d 6px 12px)}.pk-card.small{width:38px;height:54px;font-size:15px;cursor:default}.pk-card.small span{font-size:17px}.pk-card.out{transform:translateY(-14px);opacity:.55;outline:3px dashed var(--gold)}.mf-area{display:flex;flex-direction:column;gap:8px;padding:12px;min-height:260px;border-radius:10px;background:#1c1a24;color:var(--paper);border:3px solid var(--line);text-align:left}.mf-night{font-size:22px;font-weight:900;text-transform:uppercase;color:var(--gold);text-align:center}.mf-scene{font-size:17px;font-style:italic;text-align:center}.mf-talk{display:flex;flex-direction:column;gap:6px}.mf-line{padding:6px 10px;border-radius:8px;background:#f3ead6;color:var(--ink);font-size:15px;animation:up .2s ease-out}.mf-line b{margin-right:8px;text-transform:uppercase}.mf-line.creepy{background:#e3e7d6}.mf-ask{font-weight:900;font-size:18px;text-align:center;text-transform:uppercase}.mf-votes{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.mn-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(54px,1fr));gap:3px;width:min(620px,100%);margin:0 auto;padding:3px;background:var(--line);border-radius:8px}.mn-cell{position:relative;background:#fbf8f0;border-radius:3px;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;font-size:12px;line-height:1.1;overflow:hidden}.mn-cell b{font-size:12px;text-transform:uppercase}.mn-cell.start{background:#d8efcf}.mn-cell.chance{background:#f6dfa4}.mn-cell.grotto{background:#c9c3d6}.mn-cell.quiet{background:#dfe3e6}.mn-cell.own-k{box-shadow:inset 0 -6px #e0bd6c}.mn-cell.own-m{box-shadow:inset 0 -6px #6e5038}.mn-toks{display:flex;gap:2px;margin-top:auto}.mn-tok{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);font-style:normal;font-weight:900;font-size:11px;line-height:16px;color:#fff}.mn-tok.k{background:#c8962e}.mn-tok.m{background:#6e5038}.mn-center{grid-row:2 / 5;grid-column:2 / 5;background:#e9dfc7;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px}.mn-money{font-weight:900;font-size:16px}.mn-log{min-height:38px;font-size:14px;font-style:italic}@media (max-height: 500px){.mg-canvas{max-width:calc(46vh * 16 / 9)}.mn-grid{grid-template-rows:repeat(5,minmax(40px,1fr))}.mn-die{width:32px;height:32px;font-size:19px;line-height:26px}}@media (max-width: 560px){.mn-cell,.mn-cell b{font-size:9px}.mn-money{font-size:13px}.mg-actions .btn-big{font-size:14px;padding:8px 10px}.pk-card{width:50px;height:72px}.pk-card.small{width:28px;height:42px;font-size:12px}.pk-card.small span{font-size:13px}.pk-opps{gap:8px}}.cb .small{font-size:15px}.cb-lane{position:relative;height:64px;border-radius:8px;background:linear-gradient(#2a2633,#1a1820);border:3px solid var(--line);overflow:hidden}.cb-hero,.cb-enemy{position:absolute;top:9px;width:40px;height:40px;border-radius:50%;border:3px solid var(--line)}.cb-hero{left:8px;background:linear-gradient(#e0bd6c 0 40%,#f3d9c2 40%)}.cb-enemy{background:#3b3442;border-color:#000;display:flex;gap:6px;align-items:center;justify-content:center}.cb-enemy i{width:9px;height:11px;border-radius:50%;background:#fffbe8;box-shadow:0 0 8px #fffbe8}.cb-enemy.hit{filter:brightness(2.5);transform:translate(10px) rotate(12deg)}.cb-bar{position:relative;height:30px;border-radius:15px;background:#3a2a2a;border:3px solid var(--line);overflow:hidden}.cb-zone{position:absolute;top:0;bottom:0;background:#3c8a46}.cb-mark{position:absolute;top:0;bottom:0;width:6px;background:#fff}.cb-info{font-weight:900;font-size:17px}.pk-cookie{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-2px;background:radial-gradient(circle at 30% 35%,#5a3519 0 1.5px,transparent 2px),radial-gradient(circle at 65% 60%,#5a3519 0 1.5px,transparent 2px),#d9a35a;border:2px solid var(--line)}.mn-dice{display:flex;gap:8px}.mn-die{width:40px;height:40px;border-radius:8px;background:#fbf8f0;border:3px solid var(--line);font-style:normal;font-weight:900;font-size:24px;line-height:34px;box-shadow:0 3px #00000059}.pk-carve{cursor:crosshair}.br-greet{min-height:34px;font-size:22px;font-weight:900;color:#b8352e;opacity:0}.br-greet.show{animation:greet 1.8s ease-out}@keyframes greet{0%{opacity:0;transform:scale(1.4)}15%{opacity:1;transform:scale(1)}to{opacity:0}}.br-stage{position:relative;height:min(42vh,260px);border-radius:10px;background:radial-gradient(circle at 50% 50%,#3a3346,#1b1822);border:3px solid var(--line);touch-action:none;overflow:hidden}.br-target,.br-ring{position:absolute;left:50%;top:50%;width:90px;height:90px;border-radius:50%;transform:translate(-50%,-50%)}.br-target{background:#f3ead626;border:6px solid #f3ead6}.br-ring{border:5px solid #e6b24a}.br-stage.good .br-target{border-color:#5fc468;box-shadow:0 0 24px #5fc468}.br-stage.bad .br-target{border-color:#e0483d;box-shadow:0 0 24px #e0483d}.br-panic{font-weight:900;display:flex;gap:6px;justify-content:center;align-items:center}.br-panic i{width:18px;height:18px;border-radius:50%;border:3px solid var(--line);background:#f3ead6}.br-panic i.on{background:#b8352e}.tr-page{display:flex;flex-direction:column;gap:12px;align-items:center;padding:16px;border-radius:6px;background:linear-gradient(#efe2bf,#e2cf9e);border:3px solid #8a6a3a;box-shadow:inset 0 0 30px #78501e59}.tr-hint{font-style:italic;font-size:16px;color:#5a4020;min-height:22px}.tr-word{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(34px,7vw,52px);color:#2a1a0a;transition:color .2s}.tr-word.ok{color:#2f8a3a}.tr-word.bad{color:#b8352e}.tr-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(420px,100%)}.tr-status{font-size:14px;color:#5a4020}.goal-side{margin-top:6px;padding-top:5px;border-top:2px dashed rgba(27,21,18,.35);font-size:13px;line-height:1.25;color:#6a3f8a;font-weight:700}.entry.quest.done b{color:#2f8a3a}.entry.quest.failed b{color:#b8352e;text-decoration:line-through}.entry.quest.active b:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:var(--look)}.fates{display:flex;flex-direction:column;gap:8px;width:min(720px,100%);text-align:left}.fate{padding:8px 12px;border-radius:8px;background:#f3ead614;border-left:4px solid var(--gold);color:var(--paper);font-size:15px;line-height:1.35}.fate b{display:block;color:var(--gold);text-transform:uppercase;font-size:13px}.hs-stage{position:relative;height:170px;border-radius:10px;background:linear-gradient(#8a5a32,#6b4226);border:3px solid var(--line);touch-action:none;display:flex;align-items:center;justify-content:center}.hs-shoe{width:90px;height:100px;border:18px solid #8a9096;border-bottom:none;border-radius:50px 50px 0 0;box-shadow:0 0 0 3px var(--line);transition:transform .05s}.bp-wrap{display:flex;gap:14px;align-items:flex-start;justify-content:center;flex-wrap:wrap}.bp-grid{display:grid;gap:4px;padding:10px;border-radius:16px 16px 10px 10px;background:#4a6a8a;border:4px solid var(--line);width:min(300px,90%)}.bp-cell{aspect-ratio:1;border-radius:6px;background:#ffffff1f;border:2px dashed rgba(255,255,255,.35)}.bp-cell.full{border:2px solid var(--line)}.bp-tray{display:flex;flex-wrap:wrap;gap:8px;max-width:340px;justify-content:center}.bp-piece{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:8px;background:#fbf8f0;border:3px solid var(--line);font-size:12px;font-weight:700;color:var(--ink)}.bp-piece.sel{outline:4px solid var(--gold)}.bp-mini{display:grid;gap:2px}.bp-mini i{border:1px solid var(--line);border-radius:2px}.cl-board,.cl-row{display:flex;flex-direction:column;gap:4px;align-items:center}.cl-row{flex-direction:row;justify-content:center}.cl-d{width:40px;height:44px;border-radius:6px;border:3px solid var(--line);background:#fbf8f0;font-style:normal;font-weight:900;font-size:24px;line-height:38px}.cl-entry .cl-d{background:#e9dfc7}.cl-entry .cl-d.on{background:#fff}.cl-d.ok{background:#5fc468}.cl-d.near{background:#f2c94a}.cl-d.no{background:#9aa0a6;color:#3a3a3e}.cl-pad{display:grid;grid-template-columns:repeat(6,minmax(0,54px));gap:6px;justify-content:center}.cl-key{height:48px;border-radius:6px;background:var(--slab);color:#fff;border:2px solid var(--slab-edge);font-weight:900;font-size:20px;box-shadow:0 3px #00000073}.cl-key.go{grid-column:span 2;background:linear-gradient(#dc4a3f,#a8251d);font-size:16px}.pr-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pr-col{display:flex;flex-direction:column;gap:6px}.pr-item{padding:9px 10px;border-radius:8px;background:#fbf8f0;border:3px solid var(--line);font-size:14px;line-height:1.25;text-align:left;color:var(--ink)}.pr-item.end{background:#f3ead6}.pr-item.sel{outline:4px solid var(--gold)}.pr-item.ok{background:#cdeccb;opacity:.75}.pr-item.bad{background:#f2b5ad}.kn-door{height:150px;width:110px;margin:0 auto;border-radius:6px 6px 0 0;background:repeating-linear-gradient(90deg,#8a5a32 0 22px,#7a4f2b 22px 24px);border:4px solid var(--line);transition:transform .06s}.kn-door.hit{transform:scale(.96) rotate(-1deg);box-shadow:0 0 0 6px #ffd25a99}.kn-door.hit-long{transform:scale(.92);box-shadow:0 0 0 10px #ff8c3c99}.kn-dots{display:flex;gap:6px;justify-content:center;min-height:18px}.kn-dots i{width:14px;height:14px;border-radius:50%;background:var(--line)}.kn-dots i.long{width:32px;border-radius:7px}.hs-jar{width:80px;height:100px;border-radius:10px 10px 16px 16px;background:linear-gradient(90deg,#a0c88ccc,#6ea05ae6);border:4px solid var(--line);border-top:16px solid #c8a03a;transition:transform .05s}.hs-lamp{width:64px;height:100px;border-radius:30px 30px 8px 8px;background:radial-gradient(circle at 50% 55%,#ffcf5a 0 18px,#3a3a3e 19px);border:4px solid var(--line);transition:transform .05s}.btn-run{right:calc(40px + var(--safe-r));bottom:calc(140px + var(--safe-b));width:62px;height:62px;background:radial-gradient(circle at 35% 30%,#7ab8e8,#2a6aa8 60%,#1a4a7a)}.btn-run.on{background:radial-gradient(circle at 35% 30%,#ffc070,#e07a22 60%,#a8501a)}.btn-run .ico{font-size:26px;margin-top:-6px}.btn-run .lbl{font-size:10px;bottom:-11px}.btn-skill{right:calc(132px + var(--safe-r));bottom:calc(74px + var(--safe-b));width:70px;height:70px;background:radial-gradient(circle at 35% 30%,#ff8a6a,#c8362e 60%,#7a1f1a)}.btn-skill2{right:calc(122px + var(--safe-r));bottom:calc(168px + var(--safe-b));width:62px;height:62px;background:radial-gradient(circle at 35% 30%,#ffc070,#e07a22 60%,#a8501a)}.btn-skill .ico{font-size:30px;margin-top:-6px}.btn-skill .lbl{font-size:10px;bottom:-11px}.btn-skill.disabled{filter:grayscale(1) brightness(.7);pointer-events:none}@media (max-height: 430px){.btn-skill{width:62px;height:62px;right:calc(118px + var(--safe-r));bottom:calc(66px + var(--safe-b))}.btn-skill2{width:54px;height:54px;right:calc(108px + var(--safe-r));bottom:calc(146px + var(--safe-b))}.btn-skill .ico{font-size:24px}}@media (max-height: 430px){.btn-run{width:54px;height:54px;right:calc(36px + var(--safe-r));bottom:calc(124px + var(--safe-b))}.btn-run .ico{font-size:22px}}.stage-ui{z-index:20;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:calc(10px + var(--safe-t, 0px)) 16px calc(14px + var(--safe-b, 0px));pointer-events:auto}.stage-top{visibility:hidden;padding:6px 16px;border-radius:999px;background:#0000008c;color:#fff;font-weight:900;font-size:clamp(14px,2.6vw,18px);letter-spacing:.5px;text-shadow:var(--outline)}.stage-bottom{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(720px,100%)}.stage-cap{visibility:hidden;padding:10px 16px;border-radius:12px;background:#0009;color:#fff;font-size:clamp(15px,2.8vw,19px);line-height:1.35;text-align:center;text-shadow:0 1px 2px #000}.stage-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.stage-bar:empty{display:none}.dlg,.choice{position:relative}.dlg .script-btn{right:46px;background:#9bd0ff}
