:root{--bone:#dcd3bd;--dim:#8f8a7e;--ember:#ff7a3c;--ghost:#7dffc8;--ink:#05060b;--panel:#09090dc2;--sa-t:env(safe-area-inset-top,0px);--sa-b:env(safe-area-inset-bottom,0px);--sa-l:env(safe-area-inset-left,0px);--sa-r:env(safe-area-inset-right,0px);--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--ink);height:100%;color:var(--bone);font-family:var(--serif);touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;width:100%;margin:0;position:fixed;overflow:hidden}canvas#c{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{color:inherit;cursor:pointer;touch-action:manipulation;font-family:inherit}#hud,#game-hud{pointer-events:none;position:fixed;inset:0}#hud button,#game-hud button,#hud input{pointer-events:auto}#zone{top:calc(14px + var(--sa-t));text-align:center;letter-spacing:.22em;text-transform:uppercase;color:var(--bone);opacity:0;text-shadow:0 2px 16px #000,0 0 3px #000;padding:0 70px;font-size:clamp(15px,3vw,20px);transition:opacity .9s;position:absolute;left:0;right:0}#zone.on{opacity:.92}#hint{left:50%;bottom:calc(148px + var(--sa-b));text-align:center;color:#e9e3d1;opacity:0;text-shadow:0 1px 10px #000,0 0 4px #000;width:max-content;max-width:88vw;font-size:clamp(17px,3.8vw,21px);font-style:italic;transition:opacity .6s;position:absolute;transform:translate(-50%)}#hint.on{opacity:1}#toast{text-align:center;color:#ffd9b3;opacity:0;text-shadow:0 1px 12px #000,0 0 4px #000;width:max-content;max-width:86vw;font-size:clamp(17px,3.8vw,22px);transition:opacity .5s;position:absolute;top:22%;left:50%;transform:translate(-50%)}#toast.on{opacity:1}#presence{top:calc(66px + var(--sa-t));right:calc(14px + var(--sa-r));color:var(--ghost);opacity:0;text-shadow:0 0 8px #000;font-size:15px;transition:opacity .4s;position:absolute}#presence.on{opacity:.85}#candles{top:calc(16px + var(--sa-t));left:calc(16px + var(--sa-l));background:#05050873;border-radius:22px;gap:6px;padding:9px 11px;display:none;position:absolute}#candles.on{display:flex}#candles span{background:#33302b;border-radius:50% 50% 45% 45%/70% 70% 30% 30%;width:9px;height:15px}#candles span.lit{background:#ffb765;box-shadow:0 0 9px 2px #ff8e32b3}#card{left:50%;bottom:calc(20px + var(--sa-b));text-align:center;background:var(--panel);opacity:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-top:1px solid #dcd3bd47;border-bottom:1px solid #dcd3bd1a;width:min(560px,100vw - 32px);padding:12px 18px 13px;transition:opacity .28s,transform .28s;position:absolute;transform:translate(-50%,12px)}#card.on{opacity:1;transform:translate(-50%)}#card h2{letter-spacing:.02em;margin:0;font-size:clamp(18px,4.2vw,23px);font-weight:600}#card p{color:#c9c3b4;margin:5px 0 0;font-size:clamp(15px,3.5vw,17px);line-height:1.32}#card-sub{font-style:italic;color:var(--ember)!important}#action{left:50%;bottom:calc(150px + var(--sa-b));letter-spacing:.24em;color:#ffe7cf;text-shadow:0 0 12px #ff7832e6;opacity:0;visibility:hidden;background:radial-gradient(at 50% 120%,#7a1f0c,#2a0c08 72%);border:2px solid #c9542a;border-radius:6px;min-width:176px;min-height:76px;padding:12px 34px;font-size:26px;font-weight:700;transition:opacity .25s,transform .25s;animation:2.1s ease-in-out infinite throb;position:absolute;transform:translate(-50%,20px)scale(.92);box-shadow:0 0 30px #ff5a1e73,inset 0 0 18px #0009}#action.on{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}@keyframes throb{50%{box-shadow:0 0 46px #ff5a1eb8,inset 0 0 18px #0009}}@media (prefers-reduced-motion:reduce){#action{animation:none}}#emotes{right:calc(14px + var(--sa-r));bottom:calc(24px + var(--sa-b));flex-direction:column-reverse;align-items:flex-end;gap:8px;display:flex;position:absolute}#emote-open,#emote-list button{min-width:56px;min-height:56px;color:var(--bone);background:#09090dad;border:1px solid #dcd3bd4d;border-radius:28px;padding:0 14px;font-size:17px}#emote-list{flex-direction:column;gap:8px;display:none}#emotes.open #emote-list{display:flex}#stick{left:calc(86px + var(--sa-l));top:calc(100% - 118px - var(--sa-b));background:radial-gradient(circle,#0a0a0e1a,#0a0a0e6b);border:2px solid #dcd3bd57;border-radius:50%;width:124px;height:124px;margin:-62px 0 0 -62px;display:none;position:fixed}#stick-knob{background:radial-gradient(circle at 40% 35%,#dcd3bdb8,#78726466);border:1px solid #ffffff4d;border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%}#stick.active{border-color:#dcd3bdb3}body.touch #stick{display:block}body.touch #card{bottom:calc(20px + var(--sa-b))}@media (max-width:760px){body.touch #card{bottom:calc(196px + var(--sa-b))}body.touch #action{bottom:calc(26px + var(--sa-b));letter-spacing:.16em;min-width:132px;min-height:76px;padding:10px 18px;font-size:22px;left:50%;right:auto}body.touch #hint{bottom:calc(196px + var(--sa-b))}body.touch #card.on~#hint{bottom:calc(320px + var(--sa-b))}}@media (max-height:480px) and (orientation:landscape){#card{width:min(50vw,480px);padding:8px 12px;bottom:calc(10px + var(--sa-b))!important}#card p{font-size:14px}#card h2{font-size:17px}#hint{top:calc(52px + var(--sa-t));bottom:auto!important}#action{right:calc(84px + var(--sa-r));min-width:124px;min-height:68px;padding:8px 16px;font-size:21px;left:auto!important;bottom:calc(24px + var(--sa-b))!important;transform:none!important}#stick{top:calc(100% - 92px - var(--sa-b))}#zone{top:calc(8px + var(--sa-t));font-size:18px}}body.cinematic #hud{opacity:0;transition:opacity .4s}body.cinematic #hud *{pointer-events:none!important}body.in-game #stick,body.in-game #emotes,body.in-game #action,body.in-game #card{display:none!important}#letterbox i{z-index:5;pointer-events:none;background:#000;height:11vh;transition:transform .9s cubic-bezier(.2,.8,.2,1);position:fixed;left:0;right:0}#letterbox i:first-child{top:0;transform:translateY(-100%)}#letterbox i:last-child{bottom:0;transform:translateY(100%)}#letterbox.on i{transform:none}#rise-title{text-align:center;z-index:6;opacity:0;pointer-events:none;padding:0 18px;transition:opacity .7s,transform 1.2s;position:fixed;bottom:13vh;left:0;right:0;transform:translateY(8px)scale(.98)}#rise-title.on{opacity:1;transform:none}#rise-title .n{letter-spacing:.08em;text-transform:uppercase;color:#f4ead6;text-shadow:0 0 26px #ff5014cc,0 3px 18px #000;font-size:clamp(22px,4.8vw,38px);font-weight:700;line-height:1.06}#rise-title .s{color:var(--ember);letter-spacing:.2em;text-shadow:0 2px 10px #000;margin-top:4px;font-size:clamp(15px,2.8vw,19px);font-style:italic}#game-hud{z-index:4;display:none}#game-hud.on{display:block}#game-board{top:calc(12px + var(--sa-t));background:var(--panel);border:1px solid #dcd3bd40;align-items:center;gap:18px;padding:6px 22px;font-size:32px;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%)}#game-board .sep{background:#dcd3bd4d;width:1px;height:26px}#game-time{color:var(--ember)}#game-exit{top:calc(12px + var(--sa-t));left:calc(12px + var(--sa-l));background:var(--panel);border:1px solid #dcd3bd4d;min-height:52px;padding:0 18px;font-size:17px;position:absolute}#game-result{text-align:center;background:#08070aeb;border:1px solid #dcd3bd52;min-width:min(330px,86vw);padding:20px 22px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#game-result.on{pointer-events:auto;display:block}#game-result .k{letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-size:15px}#result-score{color:#f4ead6;font-size:68px;font-weight:700;line-height:1.1}#result-best{color:var(--ember);font-size:17px;font-style:italic}#game-result .row{gap:12px;margin-top:16px;display:flex}#game-result .row button{background:#1b1311;border:1px solid #dcd3bd57;flex:1;min-height:58px;font-size:19px}#loading,#title{z-index:20;text-align:center;background:radial-gradient(at 50% 70%,#17151c,#05060b 72%);justify-content:center;align-items:center;padding:24px;transition:opacity 1.1s;display:flex;position:fixed;inset:0}#title{background:radial-gradient(at 50% 58%,#05060b1a,#05060be0 75%)}#title[hidden],#loading[hidden],#fatal[hidden]{display:none}#loading.gone,#title.gone{opacity:0;pointer-events:none}h1{letter-spacing:.15em;color:#e8e0cd;text-shadow:0 0 28px #ff501957,0 4px 22px #000;margin:0;font-size:clamp(34px,9.5vw,86px);font-weight:700;line-height:1.06}#load-bar{background:#dcd3bd2b;width:min(300px,70vw);height:2px;margin:26px auto 12px}#load-fill{background:var(--ember);width:0;height:100%;box-shadow:0 0 10px var(--ember);transition:width .25s}#load-text{color:var(--dim);min-height:1.3em;margin:0;font-size:17px;font-style:italic}#title .sub{color:#d5cdbb;text-shadow:0 2px 10px #000;margin:14px 0 28px;font-size:clamp(18px,4.2vw,25px);font-style:italic}#connect{letter-spacing:.12em;color:#ffe7cf;background:#421008e6;border:1px solid #e0643a;width:min(330px,84vw);min-height:68px;margin:0 auto;font-size:21px;display:block;box-shadow:0 0 28px #ff5a1e6b}#ghost{letter-spacing:.06em;width:min(330px,84vw);min-height:56px;color:var(--ghost);background:#061210b3;border:1px solid #7dffc86b;margin:12px auto 0;font-size:18px;display:block}#connect:disabled,#ghost:disabled{opacity:.55;cursor:wait}#title-status{color:#ffc9a3;text-shadow:0 1px 8px #000;max-width:88vw;min-height:1.4em;margin:12px auto 0;font-size:17px;font-style:italic}.snd{color:#aaa497;text-shadow:0 1px 6px #000;max-width:min(430px,88vw);margin:8px auto 0;font-size:14px;line-height:1.35}#fatal{z-index:30;text-align:center;background:#05060b;justify-content:center;align-items:center;padding:26px;font-size:18px;display:flex;position:fixed;inset:0}body.hide-ui #hud{display:none}#compass{top:calc(54px + var(--sa-t));color:#ffb48a;white-space:nowrap;text-shadow:0 1px 6px #000;background:#05050880;border-radius:22px;align-items:center;gap:8px;padding:6px 15px 6px 10px;font-size:16px;display:none;position:absolute;left:50%;transform:translate(-50%)}#compass.on{display:flex}#compass.grave{color:var(--ghost)}#compass svg{filter:drop-shadow(0 0 5px);display:block}body.cinematic #compass,body.in-game #compass{display:none}#board{right:calc(14px + var(--sa-r));bottom:calc(92px + var(--sa-b));letter-spacing:.13em;color:#a8ffd4;text-shadow:0 0 8px #2ee08bcc;background:#061812b8;border:2px solid #2ee08b;border-radius:34px;min-width:86px;min-height:66px;padding:0 12px;font-size:15px;font-weight:700;position:absolute;box-shadow:0 0 16px #2ee08b4d}#board[aria-pressed=true]{color:#02120b;text-shadow:none;background:#1db874;box-shadow:0 0 28px #2ee08bbf}body.in-game #board{display:none}@media (max-height:480px) and (orientation:landscape){#board{bottom:calc(92px + var(--sa-b));min-height:56px}#compass{top:calc(38px + var(--sa-t));font-size:14px}}#picker{z-index:22;padding:calc(10px + var(--sa-t)) calc(10px + var(--sa-r)) calc(10px + var(--sa-b)) calc(10px + var(--sa-l));background:#030306db;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#picker[hidden],#picker-search-wrap[hidden],#picker-close[hidden],#picker-more[hidden],#picker-warn[hidden],#monsters[hidden]{display:none}.picker-inner{background:#0b0a0e;border:1px solid #dcd3bd3d;flex-direction:column;width:min(860px,100%);min-height:0;max-height:100%;padding:14px;display:flex}.picker-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.picker-head h2{letter-spacing:.05em;margin:0;font-size:clamp(22px,5vw,32px);font-weight:600}#picker-close,#picker-more{background:#1a1714;border:1px solid #dcd3bd4d;min-height:48px;padding:0 18px;font-size:16px}#picker-info{color:var(--dim);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;margin:5px 0 10px;font-size:14px}#picker-search{width:100%;min-height:48px;font:inherit;color:var(--bone);-webkit-user-select:text;user-select:text;background:#000;border:1px solid #dcd3bd4d;margin-bottom:10px;padding:8px 12px;font-size:16px}#picker-warn{color:#ff9c72;margin:0 0 10px;font-size:15px}#picker-grid{touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:auto;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.tile{min-height:148px;color:var(--bone);text-align:center;touch-action:pan-y;background:#14121a;border:1px solid #dcd3bd24;flex-direction:column;align-items:center;padding:6px 4px 8px;display:flex}.tile:hover,.tile:focus-visible{border-color:var(--ember);background:#201512;outline:none}.tile:active{transform:scale(.97)}.tile img{object-fit:contain;width:92px;height:92px}.tile-name{margin-top:4px;font-size:14px;line-height:1.12}.tile-num{color:var(--dim);margin-top:2px;font-size:12px}.picker-none{text-align:center;color:var(--dim);grid-column:1/-1}#picker-more{align-self:center;margin-top:10px}#monsters{top:calc(10px + var(--sa-t));right:calc(70px + var(--sa-r));min-height:48px;color:var(--bone);background:#05050880;border:1px solid #dcd3bd3d;border-radius:24px;padding:0 14px;font-size:15px;position:absolute}#treasure{top:calc(52px + var(--sa-t));left:calc(16px + var(--sa-l));color:#ffd98c;text-shadow:0 1px 4px #000;background:#05050873;border-radius:18px;padding:6px 12px;font-size:15px;display:none;position:absolute}#treasure.on{display:block}#chat{left:50%;bottom:calc(148px + var(--sa-b));pointer-events:auto;gap:8px;width:min(480px,100vw - 24px);display:flex;position:absolute;transform:translate(-50%)}#chat[hidden]{display:none}#chat-input{min-width:0;min-height:50px;font:inherit;color:var(--bone);-webkit-user-select:text;user-select:text;background:#050508e0;border:1px solid #dcd3bd66;flex:1;padding:8px 12px;font-size:16px}#chat-send{min-width:66px;min-height:50px;color:var(--bone);background:#1d1612;border:1px solid #dcd3bd66;font-size:16px}#sound{top:calc(10px + var(--sa-t));right:calc(12px + var(--sa-r));gap:8px;display:flex;position:absolute}.snd-btn{width:52px;height:52px;color:var(--bone);background:#05050880;border:1px solid #dcd3bd4d;border-radius:50%;padding:12px}.snd-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.snd-btn .slash{stroke:#ff7a3c;stroke-width:2.4px;display:none}.snd-btn[aria-pressed=false]{color:#6c675c}.snd-btn[aria-pressed=false] .slash{display:inline}#presence{top:calc(70px + var(--sa-t))}#remote-btn{top:calc(10px + var(--sa-t));right:calc(12px + var(--sa-r));width:52px;height:52px;color:var(--bone);pointer-events:auto;background:#05050880;border:1px solid #dcd3bd4d;border-radius:50%;padding:11px;position:absolute}#remote-btn svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:100%;height:100%;display:block}#remote{top:calc(68px + var(--sa-t));right:calc(12px + var(--sa-r));pointer-events:auto;z-index:3;background:#0a090de6;border:1px solid #dcd3bd42;border-radius:12px;gap:4px;width:min(300px,100vw - 24px);padding:8px 10px;display:grid;position:absolute}#remote[hidden]{display:none}.rm-row{grid-template-columns:52px 74px 1fr;align-items:center;gap:6px;font-size:15px;display:grid}.rm-row input[type=range]{accent-color:#d2622f;touch-action:none;width:100%;height:44px}#monsters{right:calc(72px + var(--sa-r))}#sound{display:none}
