html,body,#root{width:100vw;height:100dvh;margin:0;overflow:hidden}#root canvas{width:100vw!important;height:100dvh!important}.e-screen{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#0e0d0b;color:#efe6d3;text-align:center;padding:24px}.e-screen h1{font-weight:400;font-size:clamp(26px,4vw,48px);margin:0;letter-spacing:.04em}.e-line{margin:0;font-size:18px;opacity:.8}.e-enter{font:inherit;font-size:18px;padding:12px 34px;background:#c9a24b;color:#14110d;border:0;border-radius:4px;cursor:pointer}.e-enter:hover,.e-enter:focus-visible{background:#dcb65f;outline:2px solid #efe6d3;outline-offset:2px}.e-sound{font-family:system-ui,Segoe UI,sans-serif;font-size:14px;opacity:.85;display:flex;gap:8px;align-items:center;cursor:pointer}.e-how{font-family:system-ui,Segoe UI,sans-serif;font-size:12px;opacity:.7;margin:0}.e-how a{color:#c9a24b}.e-gate .m-bar{width:min(280px,60vw);overflow:hidden}.e-card h1{font-size:26px}.e-card p{font-size:20px;margin:0}.e-ctl{position:fixed;top:52px;right:12px;z-index:25;font-family:system-ui,Segoe UI,sans-serif}.e-ctl button{font-size:12px;padding:6px 12px;background:#0e0d0bb8;color:#efe6d3;border:1px solid rgba(239,230,211,.4);border-radius:4px;cursor:pointer}@keyframes e-pulse{0%,to{opacity:.3}50%{opacity:1}}.e-welcome{gap:22px}.e-enter:disabled{background:#5b4d2f;color:#a99d86;cursor:progress;outline:none}.e-pre{display:flex;flex-direction:column;align-items:center;gap:6px}.e-pre .m-bar{width:min(320px,70vw);overflow:hidden}.e-pre .e-count{font-family:system-ui,Segoe UI,sans-serif;font-size:12px;opacity:.7;margin:0}.e-open{color:#c9a66b;font-style:italic}.tu-card{position:fixed;left:50%;bottom:clamp(14px,3vh,30px);transform:translate(-50%);z-index:35;width:min(460px,92vw);box-sizing:border-box;padding:9px 14px 8px;color:#efe6d3;background:#0e0d0bdb;border:1px solid rgba(201,162,75,.55);border-radius:8px;font-family:system-ui,Segoe UI,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.6);box-shadow:0 6px 28px #00000073;opacity:1;transition:opacity .4s ease,border-color .2s ease;animation:tu-in .42s ease both}.tu-card.out{opacity:0;pointer-events:none}.tu-card.ticked{border-color:#c9a24b}.tu-main{display:grid;grid-template-columns:112px 1fr auto;gap:12px;align-items:center}.tu-pic{width:112px;height:58px}.tu-pic svg{width:100%;height:100%;display:block;overflow:visible}.tu-text{display:grid;gap:4px;min-width:0}.tu-text strong{font-weight:600;font-size:15px;line-height:1.25;color:#f3ead7}.tu-text small{font-size:12.5px;line-height:1.35;opacity:.85}.tu-tick{min-width:44px;display:grid;justify-items:center;gap:2px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c9a24b}.tu-tick i{width:26px;height:26px;border-radius:50%;background:#c9a24b;color:#14110d;display:grid;place-items:center;font-style:normal;font-size:15px;font-weight:700;animation:tu-pop .3s ease both}.tu-card footer{display:flex;align-items:center;gap:10px;margin-top:7px;padding-top:6px;border-top:1px solid rgba(239,230,211,.14)}.tu-dots{list-style:none;margin:0;padding:0;display:flex;gap:6px}.tu-dots li{width:9px;height:9px;box-sizing:border-box;border-radius:50%;border:1px solid rgba(201,162,75,.7)}.tu-dots li.ok{background:#c9a24b}.tu-dots li.now{background:#c9a24b59;box-shadow:0 0 0 2px #c9a24b40}.tu-count{flex:1;font-size:12px;letter-spacing:.06em;opacity:.8}.tu-skip{font:inherit;font-size:12px;padding:4px 12px;color:#efe6d3;background:transparent;border:1px solid rgba(239,230,211,.45);border-radius:4px;cursor:pointer}.tu-skip:hover{border-color:#c9a24b;color:#c9a24b}.tu-all{margin:6px 0 4px;font-size:15px;text-align:center}.tu-card.tu-map{width:min(390px,92vw);animation-name:tu-in-down}.tu-card.tu-map:before{content:"";position:absolute;top:-8px;left:var(--ax, 90%);width:14px;height:14px;background:#0e0d0bf2;border-left:1px solid rgba(201,162,75,.55);border-top:1px solid rgba(201,162,75,.55);transform:translate(-50%) rotate(45deg)}.tu-card.tu-map .tu-main{grid-template-columns:96px 1fr auto}.tu-card.tu-map .tu-pic{width:96px;height:52px}.tu-line{fill:none;stroke:#c9a24b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}svg .tu-dots{fill:none;stroke:#c9a24b;stroke-width:2;stroke-dasharray:2 5;stroke-linecap:round}.tu-solid{fill:#efe6d3}.tu-solid-soft{fill:#c9a24b73;stroke:none}.tu-cap{fill:#efe6d31a;stroke:#c9a24b;stroke-width:2}.tu-cap-top{fill:#efe6d314;stroke:none}.tu-letter{fill:#efe6d3;font:700 18px system-ui,Segoe UI,sans-serif;text-shadow:none}.tu-cursor{fill:#efe6d3;stroke:#14110d;stroke-width:1.2;stroke-linejoin:round}.tu-glow{fill:#c9a24b33;stroke:none}.tu-ring{fill:none;stroke:#e7c46b;stroke-width:2.4}.tu-ring.thick{stroke-width:4}@keyframes tu-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%)}}@keyframes tu-in-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes tu-pop{0%{transform:scale(.4)}to{transform:scale(1)}}.tu-card.rm,.tu-card.rm.out{animation:none;transition:none}.tu-card.rm .tu-tick i{animation:none}@media(prefers-reduced-motion:reduce){.tu-card,.tu-tick i{animation:none;transition:none}}@media(max-width:520px){.tu-main{grid-template-columns:1fr}.tu-pic{margin:0 auto}}body[data-tutorial] .h-hint{display:none}.in-root{position:fixed;inset:0;z-index:70;background:#0e0d0b;color:#efe6d3;font-family:Georgia,Times New Roman,serif;overflow:hidden;opacity:1;transition:opacity .6s ease}.in-root.leaving{opacity:0;pointer-events:none;transition-duration:.8s}.in-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;pointer-events:none}.in-slide.on{opacity:1}.in-img{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform}.in-slide.on .in-img{animation:in-kb var(--secs) linear forwards}@keyframes in-kb{0%{transform:scale(1) translate3d(calc(var(--dir) * -.8%),.3%,0)}to{transform:scale(1.06) translate3d(calc(var(--dir) * .8%),-.3%,0)}}.in-hold{z-index:1;transition-duration:.6s}.in-hold .in-img,.in-hold.on .in-img{animation:none;transform:none}.in-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#0e0d0be6,#0e0d0bb8 30%,#0e0d0b1f 58%,#0e0d0b00 70%),linear-gradient(180deg,#0e0d0b59,#0e0d0b00 22% 70%,#0e0d0bb3)}.in-copy{position:absolute;z-index:3;left:clamp(32px,6vw,120px);top:50%;transform:translateY(-50%);width:clamp(320px,42vw,780px);text-shadow:0 2px 14px rgba(0,0,0,.7);transition:opacity .5s ease}.in-copy h1{font-weight:400;font-size:clamp(34px,4.4vw,84px);line-height:1.06;margin:0 0 18px;letter-spacing:.03em;text-wrap:balance}.in-copy h1:after{content:"";display:block;width:90px;height:1px;background:#c9a24b;margin:22px 0 0}.in-line{margin:0;font-style:italic;font-size:clamp(16px,1.45vw,26px);line-height:1.45;opacity:.9}.in-dock{position:relative;display:grid;align-items:center;min-height:64px;margin-top:30px}.in-load,.in-enter{grid-area:1 / 1}.in-load{display:flex;align-items:center;gap:16px;font:13px system-ui,Segoe UI,sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:.9;transition:opacity .4s ease}.in-root.loaded .in-load{opacity:0;pointer-events:none}.in-bar{flex:1;max-width:360px;height:4px;background:#efe6d338;border-radius:2px;overflow:hidden}.in-bar i{display:block;height:100%;background:#c9a24b;transition:width .3s ease}.in-pct{min-width:3.4em;text-align:left;font-variant-numeric:tabular-nums}.in-enter{justify-self:start;font:inherit;font-size:clamp(17px,1.4vw,22px);padding:13px 38px;background:#c9a24b;color:#14110d;border:0;border-radius:4px;cursor:pointer;animation:in-rise .6s ease both}.in-enter:hover,.in-enter:focus-visible{background:#dcb65f;outline:2px solid #efe6d3;outline-offset:2px}@keyframes in-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.in-sound{margin-top:18px;font:13px system-ui,Segoe UI,sans-serif;opacity:.85;display:flex;gap:8px;align-items:center;cursor:pointer}.in-caption{position:absolute;z-index:3;right:clamp(24px,4vw,80px);bottom:clamp(26px,5vh,56px);font:600 13px system-ui,Segoe UI,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#c9a24b;text-shadow:0 1px 8px rgba(0,0,0,.85);animation:in-rise .9s ease .3s both;transition:opacity .5s ease}.in-root.entering .in-copy,.in-root.entering .in-caption{opacity:0;pointer-events:none}.in-root.entering .in-shade{opacity:0;transition:opacity .5s ease}.in-root.rm .in-img,.in-root.rm .in-slide.on .in-img{animation:none;transform:none}.in-root.rm .in-enter,.in-root.rm .in-caption{animation:none}@media(prefers-reduced-motion:reduce){.in-img,.in-slide.on .in-img,.in-enter,.in-caption{animation:none!important}}.in-open{color:var(--in-brass,#C9A66B);letter-spacing:.02em}.h-bar{position:fixed;top:12px;right:12px;z-index:25;display:flex;gap:6px;font-family:system-ui,Segoe UI,sans-serif;opacity:1;transition:opacity .4s ease;text-shadow:0 1px 3px rgba(0,0,0,.6)}.h-bar.h-off{opacity:.55}.h-bar.h-rm{transition-duration:.2s}.h-bar button,.h-hint{font:inherit;font-size:12px;padding:6px 12px;background:#0e0d0bb8;color:#efe6d3;border:1px solid rgba(239,230,211,.4);border-radius:4px;cursor:pointer;text-shadow:0 1px 3px rgba(0,0,0,.6)}.h-bar button:hover,.h-bar button:focus-visible,.h-hint:hover{background:#0e0d0beb;outline:1px solid #c9a24b}.h-hint{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:25}@media(pointer:coarse){.h-bar button,.h-hint{min-height:48px;min-width:48px;font-size:14px}}.h-onboard{position:fixed;top:88vh;left:50%;transform:translate(-50%,-50%);z-index:44;background:#0e0d0bd6;color:#efe6d3;padding:9px 18px;border-radius:999px;font:15px system-ui,Segoe UI,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.6);border:1px solid rgba(201,162,75,.6);pointer-events:none;white-space:nowrap}.x-card{position:fixed;left:50%;bottom:36px;transform:translate(-50%);z-index:30;width:min(440px,90vw);box-sizing:border-box;padding:16px 20px;background:#0e0d0bdb;color:#efe6d3;border:1px solid rgba(239,230,211,.3);border-radius:6px;font-family:system-ui,Segoe UI,sans-serif;text-align:center}.x-line{margin:0 0 12px;font-size:15px;line-height:1.4}.x-keys{display:flex;gap:8px;justify-content:center;margin-bottom:14px}.x-key{min-width:34px;height:34px;padding:0 6px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:15px;border:1px solid rgba(239,230,211,.5);border-bottom-width:3px;border-radius:5px;transition:background .08s,color .08s}.x-key.on{background:#c9a24b;color:#14110d;border-color:#dcb65f}.x-btns{display:flex;gap:10px;justify-content:center}.x-btns button{font:inherit;font-size:14px;padding:7px 20px;border-radius:4px;cursor:pointer}.x-try{background:#c9a24b;color:#14110d;border:0}.x-skip{background:transparent;color:#efe6d3;border:1px solid rgba(239,230,211,.5)}.x-btns button:focus-visible{outline:2px solid #efe6d3;outline-offset:2px}.cr-back{position:fixed;inset:0;z-index:60;background:#0a0a0c99;display:flex;align-items:center;justify-content:center}.cr-box{max-width:560px;max-height:80vh;overflow:auto;background:#1a1a1e;color:#eee;padding:20px 24px;border-radius:8px;font-size:14px;line-height:1.45}.cr-box h2{margin:0 0 8px}.cr-box h3{margin:14px 0 4px;font-size:13px;opacity:.7;text-transform:uppercase;letter-spacing:.08em}.cr-box ul{margin:0;padding-left:18px}.cr-box button{margin-top:14px}.mp-back{position:fixed;inset:0;z-index:62;background:#08080ac7;display:flex;align-items:center;justify-content:center}.mp-box{width:min(96vw,1180px);height:min(92vh,820px);display:grid;grid-template-rows:auto 1fr auto;gap:8px;background:#121214;color:#efe6d3;padding:14px 20px;border-radius:8px;font:15px system-ui,Segoe UI,sans-serif;border:1px solid rgba(239,230,211,.18)}.mp-head{display:flex;gap:10px;align-items:center}.mp-head h2{margin:0;flex:1;font:600 20px Cinzel,serif;letter-spacing:.08em}.mp-svg{width:100%;height:100%;min-height:0;background:#0d0d0f;border-radius:6px}.mp-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:15px}.mp-legend{opacity:.85;letter-spacing:.03em}.mp-you{opacity:.95}.mp-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#ff4d4d;border:1px solid #fff;margin-right:6px;vertical-align:-1px}.mp-box button{background:#0e0d0bb8;color:#efe6d3;border:1px solid rgba(239,230,211,.4);border-radius:4px;padding:6px 14px;cursor:pointer;font:inherit;font-size:13px}.mp-box button:focus-visible,.mp-box button:hover{border-color:#c9a24b;outline:1px solid #c9a24b}.lm-svg{display:block}.lm-wing{font:600 25px Cinzel,serif;letter-spacing:.14em}.lm-sub{font:15px system-ui,Segoe UI,sans-serif;fill:#a89f8c}.lm-lbl{font:600 20px system-ui,Segoe UI,sans-serif;fill:#f3ebdb;pointer-events:none;paint-order:stroke;stroke:#0d0d0f;stroke-width:5px;stroke-linejoin:round}.lm-stop{outline:none}.lm-stop[role=button]{cursor:pointer}.lm-stop .lm-shape{transition:fill .15s,stroke-width .15s}.lm-stop[role=button]:hover .lm-shape,.lm-stop[role=button]:focus-visible .lm-shape,.lm-hover .lm-shape{fill:#3a3224;stroke-width:6}.lm-stop[role=button]:focus-visible .lm-lbl,.lm-stop[role=button]:hover .lm-lbl{fill:#ffd98a}.lm-stop[role=button]:focus-visible .lm-shape{stroke:#ffd98a}.lm-pulse{transform-box:fill-box;transform-origin:center;animation:lm-pulse 1.8s ease-out infinite}@keyframes lm-pulse{0%{transform:scale(1);opacity:.9}to{transform:scale(2.6);opacity:0}}@media(prefers-reduced-motion:reduce){.lm-pulse{animation:none;opacity:.5}}.in-back{position:fixed;inset:0;z-index:61;background:#0a0a0c8c;display:flex;align-items:center;justify-content:center}.in-box{max-width:520px;background:#1a1a1e;color:#eee;padding:20px 24px;border-radius:8px;font-size:15px;line-height:1.5}.in-box h2{margin:0 0 8px}.in-src{font-size:12px;opacity:.7}.in-box button{margin:10px 8px 0 0;font:inherit;font-size:13px;background:#2b2b32;color:#eee;border:1px solid #555;border-radius:4px;padding:6px 12px;cursor:pointer}.in-box button:focus-visible{border-color:#d7aa3b}.in-back{justify-content:flex-start;align-items:stretch;background:transparent;pointer-events:none}.in-box{pointer-events:auto;width:min(420px,30vw);max-width:none;border-radius:0;overflow:auto;box-shadow:4px 0 18px #00000073}.hg-minimap .lm-mini{display:block;width:100%;height:auto;aspect-ratio:760/620}.ds-sign{position:fixed;left:0;top:0;z-index:22;transform-origin:50% 100%;cursor:pointer;text-align:center;font-family:Cinzel,serif;color:#efe6d3;background:#121214e6;border:1px solid rgba(239,230,211,.35);border-bottom:4px solid #3fb58c;border-radius:3px;padding:6px 14px 7px;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.6);box-shadow:0 2px 12px #00000080}.ds-sign small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.8}.ds-sign span{display:block;font-size:16px;font-weight:600;letter-spacing:.05em}.ds-sign b{color:#d7aa3b;font-weight:700}.ds-sign:hover,.ds-sign:focus-visible{background:#30281af2;border-color:#c9a24b;outline:none}.wb-board{position:fixed;left:0;top:0;z-index:22;transform-origin:50% 50%;font-family:Cinzel,serif;color:#efe6d3;background:#121214eb;border:1px solid rgba(239,230,211,.35);border-top:5px solid #d7aa3b;border-radius:3px;padding:10px 16px 12px;min-width:210px;box-shadow:0 4px 18px #0000008c}.wb-board h3{margin:0 0 6px;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:#d7aa3b;text-align:center}.wb-board h4{margin:8px 0 3px;font-size:11px;letter-spacing:.2em;text-transform:uppercase}.wb-board button{display:block;width:100%;text-align:left;background:transparent;color:#efe6d3;border:0;border-bottom:1px solid rgba(239,230,211,.15);padding:4px 2px;font:600 14px Cinzel,serif;letter-spacing:.04em;cursor:pointer}.wb-board button:hover,.wb-board button:focus-visible{color:#ffd98a;outline:none;background:#d7aa3b1a}.wl-prompt{position:fixed;left:50%;bottom:88px;transform:translate(-50%);z-index:45;padding:12px 19px;border:1px solid #bda77d;border-radius:5px;background:#1b2623;color:#f5efe2;font:600 15px Arial,sans-serif;box-shadow:0 8px 25px #0008;cursor:pointer}.wl-overlay{position:fixed;inset:0;z-index:80;background:#0d1513f0;color:#eee8db;font:15px Arial,sans-serif;opacity:0;transition:opacity .2s ease;pointer-events:none}.wl-overlay.wl-visible{opacity:1;pointer-events:auto}.wl-overlay.wl-reduced{transition:none}.wl-shell{height:100%;max-width:1500px;margin:auto;display:flex;flex-direction:column;padding:25px 34px 30px;box-sizing:border-box}.wl-keyboard{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.wl-header{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:1px solid #8e836d;padding-bottom:15px}.wl-kicker{font-size:11px;letter-spacing:.23em;color:#c7b78e}.wl-header h1{font: 34px Georgia,serif;margin:7px 0}.wl-header p{margin:0;color:#c8c7be}.wl-close,.wl-toolbar button,.wl-button,.wl-source-head button{cursor:pointer;border:1px solid #ad9b78;background:#263630;color:#f7f0df;border-radius:4px;min-height:44px;padding:8px 16px;font:inherit}.wl-close span{font-size:12px;color:#bbbaa9;margin-left:15px}.wl-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;color:#d0c7b4;font-size:13px}.wl-toolbar>div{display:flex;align-items:center;gap:12px}.wl-toolbar button{min-width:44px;padding:0;font-size:22px}.wl-viewport{flex:1;overflow:auto;background:linear-gradient(140deg,#4c5c51,#293c36);border:1px solid #776f5b;cursor:grab;touch-action:none}.wl-viewport:active{cursor:grabbing}.wl-grid{display:grid;grid-template-columns:repeat(8,160px);gap:14px;width:max-content;padding:35px;transform-origin:top left}.wl-holder{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:7px;width:160px;min-height:155px;padding:9px;border:2px solid #88795c;background:#ded4bc;color:#222921;cursor:pointer;box-shadow:3px 5px 10px #0005}.wl-holder.wl-selected{outline:4px solid #f3d695;outline-offset:2px}.wl-art{height:100px;background-color:#758a7a;background-repeat:no-repeat;border:5px solid #574e3e;box-shadow:inset 0 0 0 2px #c6af7b}.wl-id{font-size:11px;letter-spacing:.04em;overflow-wrap:anywhere;color:#585341}.wl-holder strong{font: 15px Georgia,serif}.wl-badge{display:inline-block;align-self:start;color:#4d573f;border:1px solid #8b906b;padding:4px 6px;font-size:10px;letter-spacing:.02em}.wl-source{position:absolute;right:34px;top:135px;bottom:30px;width:min(390px,calc(100vw - 68px));overflow:auto;box-sizing:border-box;background:#e9e1d1;color:#28342d;border:1px solid #a99878;box-shadow:-12px 5px 35px #0008;padding:20px}.wl-source-head{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.16em;font-size:12px}.wl-source-head button{font-size:22px;padding:0;min-width:44px}.wl-source h2{font: 26px Georgia,serif;margin:12px 0}.wl-source dl{display:grid;grid-template-columns:96px 1fr;gap:10px;margin:28px 0}.wl-source dt{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#626a5e}.wl-source dd{margin:0;overflow-wrap:anywhere}.wl-source a{color:#255d54}@media(max-width:900px){.wl-shell{padding:16px}.wl-toolbar>span:nth-child(2){display:none}.wl-header h1{font-size:25px}.wl-source{right:16px;top:115px;bottom:16px}}
