:root{--void: #8ecbf5;--panel: #f4efe2;--panel-2: #e4dcc8;--line: #b6ab90;--copper: #c9761a;--arc: #1596b4;--danger: #d1362a;--bone: #2c2418;--dim: #6f6552;--ink: #2c2418;--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--void);overflow:hidden;font-family:var(--mono);color:var(--bone);-webkit-tap-highlight-color:transparent}#stage{position:fixed;inset:0}canvas{display:block}.panel{position:fixed;left:0;right:0;top:0;display:flex;gap:1px;background:var(--line);border-bottom:1px solid var(--line);pointer-events:none;z-index:10}.cell{flex:1;background:linear-gradient(180deg,var(--panel),var(--panel-2));padding:7px 10px 8px;min-width:0}.cell .k{font-size:9px;letter-spacing:.18em;color:var(--dim);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell .v{font-size:19px;font-weight:700;letter-spacing:.04em;line-height:1.15;font-variant-numeric:tabular-nums}.v.copper{color:var(--copper)}.v.arc{color:var(--arc)}.v.danger{color:var(--danger)}.lamp{flex:0 0 76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:linear-gradient(180deg,var(--panel),var(--panel-2))}.bulb{width:15px;height:15px;border-radius:50%;background:#c3b79c;border:1px solid #a2957a;box-shadow:inset 0 1px 2px #00000059}.bulb.hot{background:var(--danger);border-color:#ff8a7a;box-shadow:0 0 14px var(--danger),0 0 30px #d1362a80;animation:flick .55s steps(2,end) infinite}@keyframes flick{50%{opacity:.35}}.lamp .k{font-size:8px;letter-spacing:.14em;color:var(--dim)}.veil{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px 0;overflow-y:auto;background:radial-gradient(120% 100% at 50% 0%,#8ecbf5d1,#3c607ce6);backdrop-filter:blur(3px)}.veil[hidden]{display:none}.card{width:min(560px,92vw);margin:auto;flex:0 0 auto;border:1px solid var(--line);background:linear-gradient(180deg,#fdfaf1,var(--panel));padding:26px 26px 22px;box-shadow:0 30px 90px #1e281e59}.veil-logo{width:88px;height:88px;object-fit:contain;display:block;margin:0 0 10px}.eyebrow{font-size:10px;letter-spacing:.34em;color:var(--copper);text-transform:uppercase}.title{font-size:clamp(38px,9vw,66px);font-weight:800;letter-spacing:-.045em;margin:6px 0 2px;line-height:.92}.title span{color:var(--copper)}.lede{color:var(--dim);font-size:13px;line-height:1.65;margin:12px 0 18px;max-width:46ch}.rule{height:1px;background:var(--line);margin:16px 0}.section{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--copper);margin-bottom:10px}.keys{display:grid;grid-template-columns:auto 1fr;gap:7px 16px;font-size:12px;color:var(--dim)}.keys b{color:var(--bone);font-weight:600;white-space:nowrap}.go{margin-top:20px;width:100%;padding:14px;border:1px solid var(--copper);cursor:pointer;background:var(--copper);color:#fff8ec;font-family:var(--mono);font-weight:800;font-size:14px;letter-spacing:.2em;text-transform:uppercase;transition:.15s}.go:hover{background:#e08a2c;box-shadow:0 0 24px #c9761a59}.go:focus-visible{outline:2px solid var(--arc);outline-offset:3px}.go.ghost{background:transparent;color:var(--copper);margin-top:9px}.go.ghost:hover{background:#c9761a24;box-shadow:none}.stat{display:flex;justify-content:space-between;font-size:12px;color:var(--dim);padding:5px 0}.stat b{color:var(--bone);font-weight:600;font-variant-numeric:tabular-nums}.drops{display:grid;gap:7px}.drop{display:grid;grid-template-columns:22px auto 1fr;align-items:center;gap:10px;font-size:12px;color:var(--dim)}.drop i{width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;color:#fffdf4;text-shadow:0 1px 1px rgba(0,0,0,.45);box-shadow:inset 0 -2px #00000038,inset 0 2px #ffffff4d}.drop b{color:var(--ink);font-weight:700;white-space:nowrap}#toast{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);z-index:15;text-align:center;pointer-events:none;opacity:0;transition:opacity .25s}#toast.on{opacity:1}#toast .big{font-size:clamp(30px,7vw,54px);font-weight:800;letter-spacing:-.03em;color:#fffdf6;text-shadow:0 3px 0 rgba(60,45,20,.55),0 8px 30px rgba(40,30,10,.5)}#toast .sub{font-size:11px;letter-spacing:.3em;color:#fdf3dd;text-shadow:0 2px 6px rgba(40,30,10,.7);margin-top:6px;text-transform:uppercase}#tut{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:14;width:min(760px,94vw);display:flex;align-items:center;gap:14px;padding:11px 12px 11px 14px;border:1px solid var(--line);border-left:3px solid var(--copper);background:linear-gradient(180deg,#fdfaf1f5,#eee7d6f5);box-shadow:0 18px 50px #1e281e59;backdrop-filter:blur(4px);transition:border-color .25s}#tut[hidden]{display:none}body.touch #tut{bottom:136px}.tut-bar{position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--copper);box-shadow:0 0 8px #c9761a8c;transition:width .45s cubic-bezier(.2,.8,.2,1)}.tut-n{flex:0 0 auto;display:flex;align-items:baseline;gap:1px;color:var(--copper);font-variant-numeric:tabular-nums}.tut-n b{font-size:20px;font-weight:800;letter-spacing:-.03em}.tut-n small{font-size:10px;color:var(--dim)}.tut-main{flex:1 1 auto;min-width:0;transition:opacity .25s}.tut-title{font-size:13px;font-weight:700;letter-spacing:.02em}.tut-hint{font-size:11px;line-height:1.5;color:var(--dim);margin-top:2px}.tut-keys{flex:0 0 auto;display:flex;gap:5px;flex-wrap:wrap;max-width:190px;justify-content:flex-end}#tut kbd{font-family:var(--mono);font-size:10px;font-weight:700;line-height:1;padding:5px 6px;min-width:22px;text-align:center;color:var(--ink);background:#fffdf6;border:1px solid var(--line);border-bottom-width:2px;border-radius:3px}#tut kbd.tb,body.touch #tut kbd.kb{display:none}body.touch #tut kbd.tb{display:block}.tut-tick{flex:0 0 auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fffdf6;background:var(--arc);font-size:13px;font-weight:800;opacity:0;transform:scale(.3);transition:opacity .18s,transform .28s cubic-bezier(.2,1.6,.4,1)}#tut.done{border-left-color:var(--arc)}#tut.done .tut-bar{background:var(--arc);box-shadow:0 0 10px #1596b499}#tut.done .tut-main{opacity:.4}#tut.done .tut-keys{opacity:.25}#tut.done .tut-tick{opacity:1;transform:scale(1)}.tut-skip{flex:0 0 auto;align-self:stretch;padding:0 10px;cursor:pointer;border:none;border-left:1px solid var(--line);background:transparent;color:var(--dim);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.tut-skip:hover{color:var(--copper)}.tut-skip:focus-visible{outline:2px solid var(--arc);outline-offset:-2px}@media (max-width: 620px){.tut-keys{display:none}.tut-hint{font-size:10px}}#touch{position:fixed;inset:auto 0 0;z-index:12;display:none;justify-content:space-between;align-items:flex-end;padding:18px;pointer-events:none}body.touch #touch{display:flex}.pad{display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(3,54px);pointer-events:auto}.pad i{border:1px solid var(--line);background:#faf6ead1;border-radius:6px;margin:3px;font-style:normal;display:flex;align-items:center;justify-content:center;color:var(--dim)}.pad i:active{background:#1596b44d;border-color:var(--arc)}.pad i.empty{visibility:hidden}#tb{pointer-events:auto;width:86px;height:86px;border-radius:50%;border:1px solid var(--copper);background:#faf0dce6;color:var(--copper);font-family:var(--mono);font-weight:800;letter-spacing:.1em;font-size:12px}#tb:active{background:#c9761a8c}@media (prefers-reduced-motion: reduce){.bulb.hot{animation:none}#toast,.tut-bar,.tut-tick,.tut-main,#tut{transition:none}}
