@font-face{font-family:Doto;src:url(/fonts/doto-latin-600.woff2) format("woff2");font-weight:600;font-display:swap}.duel-stage{position:relative;height:100dvh;min-height:540px;background:#0a0e14;color:#f5f5f0;overflow:hidden;outline:none}.duel-stage[hidden],.duel-gate[hidden]{display:none}.duel-canvas-wrap,.duel-canvas{position:absolute;inset:0;width:100%;height:100%}.duel-canvas{touch-action:none;user-select:none;-webkit-tap-highlight-color:transparent}.duel-gate{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem;background:radial-gradient(ellipse at 30% 20%,rgba(255,107,53,.08),transparent 55%),radial-gradient(ellipse at 75% 75%,rgba(125,167,168,.07),transparent 50%),#0a0e14}.duel-gate__eyebrow{font-family:Doto,monospace;font-size:.8rem;letter-spacing:.35em;color:#ff6b35}.duel-gate__title{font-size:clamp(1.9rem,6vw,3.4rem);font-weight:800;line-height:1.08;margin-top:1rem;max-width:40rem;color:#f5f5f0}.duel-gate__sub{margin-top:1rem;max-width:30rem;color:#aeb6c5;font-size:1rem;line-height:1.55}.duel-gate__play{margin-top:2.2rem;font-family:Doto,monospace;font-size:1.05rem;letter-spacing:.2em;padding:1.1rem 2.6rem;color:#0a0e14;background:#ff6b35;border:none;border-radius:4px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 0 32px #ff6b3559;touch-action:manipulation}.duel-gate__play:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 44px #ff6b3580}.duel-gate__play:disabled{opacity:.55;cursor:wait}.duel-gate__note{margin-top:1.1rem;font-size:.8rem;color:#77809199}.duel-gate__text-link{margin-top:2.4rem;font-size:.85rem;color:#8e99ad;text-decoration:underline;text-underline-offset:4px}.duel-gate__text-link:hover{color:#f5f5f0}.duel-hud{position:absolute;z-index:10;inset:0;pointer-events:none}.duel-hud[hidden]{display:none}.duel-hud__top{position:absolute;top:6.2rem;left:1rem;right:1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.duel-hud__round{font-family:Doto,monospace;font-size:.72rem;letter-spacing:.22em;color:#8e99ad;padding-top:.35rem}.duel-hud__right{display:flex;align-items:center;gap:.9rem;pointer-events:auto}.duel-hud__cost{font-family:Doto,monospace;font-size:1.5rem;color:#ff6b35;min-width:5.5ch;text-align:right}.duel-hud__mute{font-family:Doto,monospace;font-size:.66rem;letter-spacing:.14em;color:#8e99ad;background:#141a24b3;border:1px solid #2a3242;border-radius:3px;padding:.45rem .7rem;cursor:pointer;touch-action:manipulation}.duel-hud__mute:hover{color:#f5f5f0}.duel-ctx{position:absolute;top:5.6rem;left:1rem;right:1rem;height:4px;background:#46536b59;border-radius:2px;overflow:hidden}.duel-ctx__bar{height:100%;width:0%;background:#7da7a8;border-radius:2px;transition:width .4s ease}.duel-ctx__bar.is-hot{background:#ff6b35}.duel-caption{position:absolute;left:50%;bottom:4.6rem;transform:translate(-50%);width:min(92%,34rem);text-align:center}.duel-caption__main{font-size:clamp(1.05rem,3vw,1.45rem);font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.7)}.duel-caption__sub{margin-top:.4rem;font-size:.88rem;color:#aeb6c5;line-height:1.45;text-shadow:0 2px 10px rgba(0,0,0,.7)}.duel-tap-hint{position:absolute;left:50%;bottom:1.4rem;transform:translate(-50%);font-family:Doto,monospace;font-size:.75rem;letter-spacing:.3em;color:#ff6b35;opacity:0;transition:opacity .3s ease}.duel-tap-hint.is-visible{opacity:1;animation:duel-pulse 1.6s ease-in-out infinite}@keyframes duel-pulse{50%{opacity:.35}}.duel-panel{position:absolute;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(94%,30rem);max-height:calc(100dvh - 6rem);overflow-y:auto;background:#0c1018f0;border:1px solid #2a3242;border-radius:8px;padding:1.6rem 1.5rem;pointer-events:auto;box-shadow:0 24px 80px #0009}.duel-panel[hidden]{display:none}.duel-panel h2{font-family:Doto,monospace;font-size:.85rem;letter-spacing:.28em;color:#ff6b35}.duel-receipt__rows{margin-top:1.1rem;display:flex;flex-direction:column;gap:.85rem}.duel-receipt__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px dashed #2a3242;padding-bottom:.85rem}.duel-receipt__label{font-size:.9rem;color:#aeb6c5}.duel-receipt__label strong{display:block;color:#f5f5f0;font-size:1rem}.duel-receipt__value{font-family:Doto,monospace;font-size:1.6rem;white-space:nowrap}.duel-receipt__value.is-burn{color:#ff6b35}.duel-receipt__value.is-win{color:#7da7a8}.duel-receipt__headline{margin-top:1.2rem;font-size:1.5rem;font-weight:800;color:#ff6b35}.duel-receipt__fineprint{margin-top:.9rem;font-size:.72rem;color:#778091;line-height:1.5}.duel-panel__actions{margin-top:1.3rem;display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.duel-btn{font-family:Doto,monospace;font-size:.8rem;letter-spacing:.16em;padding:.8rem 1.3rem;border-radius:4px;cursor:pointer;border:1px solid #2a3242;background:transparent;color:#f5f5f0;touch-action:manipulation}.duel-btn--primary{background:#ff6b35;border-color:#ff6b35;color:#0a0e14}.duel-btn:hover{border-color:#ff6b35}.duel-share-note{font-size:.78rem;color:#8e99ad;min-height:1.1em}.duel-endcard__frame{margin-top:1rem;font-size:.9rem;color:#aeb6c5;line-height:1.6}.duel-endcard__frame strong{color:#f5f5f0}.duel-endcard__receipts{margin-top:.9rem;display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:#8e99ad}.duel-endcard__receipts span strong{color:#f5f5f0;font-weight:600}.duel-form{margin-top:1.2rem;display:flex;gap:.6rem;flex-wrap:wrap}.duel-form input[type=email]{flex:1 1 12rem;background:#141a24e6;border:1px solid #2a3242;border-radius:4px;color:#f5f5f0;padding:.8rem .9rem;font-size:.9rem}.duel-form input[type=email]:focus{outline:2px solid #ff6b35;outline-offset:1px}.duel-fallback-note{background:#0a0e14;color:#aeb6c5;padding:1rem 1.5rem;text-align:center;font-size:.9rem;border-bottom:1px solid #2a3242}.duel-fallback-note[hidden]{display:none}@media(max-height:480px){.duel-stage{min-height:100dvh}.duel-hud__top{top:3.2rem}.duel-ctx{top:2.6rem}.duel-caption{bottom:2.9rem}.duel-caption__sub{display:none}.duel-tap-hint{bottom:.5rem}}@media(prefers-reduced-motion:reduce){.duel-tap-hint.is-visible{animation:none}.duel-gate__play{transition:none}}
