:root{--ink: #0e1420;--ink-2: #161d2c;--ink-3: #1f2941;--paper: #ede9df;--paper-dim: #9a978c;--brass: #c9a227;--brass-bright: #e6c158;--seal: #8c3b33;--seal-bright: #b6564b;--verify: #5da688;--line: #2a3344;--font-display: "Fraunces", serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--ink);background-image:radial-gradient(circle at 50% -10%,#1a2338 0%,var(--ink) 55%);color:var(--paper);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#app{max-width:560px;margin:0 auto;padding:48px 24px 80px;min-height:100vh;display:flex;flex-direction:column}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}h1.title{font-family:var(--font-display);font-weight:600;font-size:40px;letter-spacing:-.01em;margin:0 0 6px;color:var(--paper)}.subtitle{color:var(--paper-dim);margin:0 0 36px;font-size:15px;max-width:46ch}.ledger{display:flex;align-items:center;gap:0;margin-bottom:32px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.ledger-step{display:flex;align-items:center;gap:8px;color:var(--paper-dim)}.ledger-step .dot{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--line);background:transparent;flex-shrink:0}.ledger-step.active{color:var(--brass-bright)}.ledger-step.active .dot{background:var(--brass);border-color:var(--brass);box-shadow:0 0 0 3px #c9a2272e}.ledger-step.done{color:var(--verify)}.ledger-step.done .dot{background:var(--verify);border-color:var(--verify)}.ledger-rule{flex:1;height:1px;background:var(--line);margin:0 10px}.card{background:var(--ink-2);border:1px solid var(--line);border-radius:8px;padding:32px;flex:1}.card h2{font-family:var(--font-display);font-weight:600;font-size:22px;margin:0 0 8px}.card p.hint{color:var(--paper-dim);font-size:14px;margin:0 0 24px}label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:8px}.nametag-input{display:flex;align-items:center;background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:0 4px 0 14px;margin-bottom:20px}.nametag-input .at{font-family:var(--font-mono);color:var(--paper-dim)}.nametag-input input{flex:1;background:transparent;border:none;outline:none;color:var(--paper);font-family:var(--font-mono);font-size:15px;padding:12px 10px}button.primary{width:100%;background:var(--brass);color:#1a1305;border:none;border-radius:6px;padding:13px 20px;font-family:var(--font-body);font-weight:600;font-size:15px;cursor:pointer;transition:background .15s ease,transform .1s ease}button.primary:hover:not(:disabled){background:var(--brass-bright)}button.primary:active:not(:disabled){transform:translateY(1px)}button.primary:disabled{background:var(--ink-3);color:var(--paper-dim);cursor:not-allowed}button.ghost{width:100%;background:transparent;color:var(--paper);border:1px solid var(--line);border-radius:6px;padding:12px 20px;font-family:var(--font-body);font-size:14px;cursor:pointer;margin-top:12px}button.ghost:hover{border-color:var(--brass);color:var(--brass-bright)}.status-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.status-row:last-child{border-bottom:none}.status-row .label{color:var(--paper-dim)}.status-row .value{font-family:var(--font-mono);color:var(--paper)}.status-row .value.pending{color:var(--brass)}.status-row .value.confirmed{color:var(--verify)}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--brass);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.moves{display:flex;gap:14px;margin-bottom:24px}.move-btn{flex:1;aspect-ratio:1;background:var(--ink);border:1.5px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,transform .1s ease}.move-btn svg{width:42%;height:42%;stroke:var(--paper-dim);fill:none;stroke-width:1.6;transition:stroke .15s ease}.move-btn:hover{border-color:var(--brass);transform:translateY(-2px)}.move-btn:hover svg{stroke:var(--brass-bright)}.move-btn.selected{border-color:var(--brass);background:#c9a2271a}.move-btn.selected svg{stroke:var(--brass-bright)}.seal-stage{display:flex;flex-direction:column;align-items:center;padding:12px 0 8px}.seal{width:108px;height:108px;border-radius:50%;background:radial-gradient(circle at 32% 28%,var(--seal-bright),var(--seal) 70%);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #00000059,inset 0 0 0 3px #0000002e;animation:stamp-down .5s cubic-bezier(.2,1.6,.4,1) both;position:relative}.seal svg{width:46px;height:46px;stroke:#ede9dfd9;fill:none;stroke-width:1.6}.seal.cracking{animation:crack .6s ease both}@keyframes stamp-down{0%{transform:scale(1.6);opacity:0}70%{transform:scale(.94);opacity:1}to{transform:scale(1)}}@keyframes crack{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.05) rotate(-3deg)}70%{transform:scale(.98) rotate(2deg);opacity:.6}to{transform:scale(.9) rotate(0);opacity:0}}.seal-hash{font-family:var(--font-mono);font-size:12px;color:var(--paper-dim);margin-top:16px;letter-spacing:.02em}.seal-caption{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--brass);margin-top:6px}.result-moves{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0 24px}.result-move{display:flex;flex-direction:column;align-items:center;gap:8px}.result-move .icon-circle{width:72px;height:72px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center}.result-move .icon-circle svg{width:34px;height:34px;stroke:var(--paper);fill:none;stroke-width:1.6}.result-move.winner .icon-circle{border-color:var(--brass);box-shadow:0 0 0 4px #c9a22726}.result-move .who{font-family:var(--font-mono);font-size:12px;color:var(--paper-dim)}.vs{font-family:var(--font-display);color:var(--paper-dim);font-size:18px}.verdict{font-family:var(--font-display);font-size:26px;font-weight:600;text-align:center;margin:0 0 6px}.verdict.win{color:var(--brass-bright)}.verdict.draw{color:var(--paper-dim)}.verdict-sub{text-align:center;color:var(--paper-dim);font-size:14px;margin:0 0 28px}.mnemonic-box{background:var(--ink);border:1px solid var(--seal);border-radius:6px;padding:14px 16px;margin-bottom:20px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--paper);word-break:break-word}.mnemonic-box .warn{display:block;font-family:var(--font-body);color:var(--brass-bright);font-size:12px;margin-bottom:8px}.error-box{background:#8c3b331f;border:1px solid var(--seal);border-radius:6px;padding:14px 16px;color:var(--paper);font-size:14px;margin-bottom:20px}footer.meta{margin-top:28px;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--paper-dim);letter-spacing:.04em}@media (max-width: 420px){h1.title{font-size:32px}.card{padding:24px}}
