:root{--bg:#0c0e11;--panel:#14181d;--panel-2:#1b2027;--line:#ebe6da1a;--line-strong:#ebe6da38;--text:#ebe6da;--text-soft:#ebe6daad;--text-faint:#ebe6da6b;--amber:#f0a830;--amber-soft:#f0a83024;--red:#e5484d;--red-soft:#e5484d24;--green:#46d18a;--green-soft:#46d18a1f;--paper:#f1e9d6;--paper-ink:#2a2620;--radius:14px;--font-type:"Special Elite", "Courier New", monospace;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Fraunces", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(900px 500px at 85% -10%, #e5484d1a, transparent 60%), radial-gradient(800px 500px at -10% 110%, #f0a83014, transparent 60%), linear-gradient(#ebe6da06 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(90deg, #ebe6da06 1px, transparent 1px) 0 0 / 32px 32px, var(--bg);background-attachment:fixed;min-height:100dvh;overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}a{color:var(--amber)}.page{width:100%;max-width:560px;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));flex-direction:column;gap:18px;margin:0 auto;display:flex}.brand{font-family:var(--font-type);letter-spacing:.04em}.brand b{color:var(--amber);font-weight:inherit}.eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);margin:0;font-size:.72rem;font-weight:600}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#14181de0;padding:18px}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 20px;font-weight:600;text-decoration:none;transition:transform .15s,filter .15s,opacity .15s,border-color .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--amber);color:#1a1204;box-shadow:0 10px 28px -12px #f0a830b3}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{color:var(--text-soft);border-color:var(--line-strong);background:0 0;min-height:42px}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:#ebe6da66}.btn-danger{background:var(--red-soft);color:var(--red);border-color:#e5484d66}.btn-sm{border-radius:10px;min-height:36px;padding:0 12px;font-size:.85rem}.btn-block{width:100%}.input{border:1.5px solid var(--line-strong);width:100%;min-height:52px;font-family:var(--font-mono);background:#00000059;border-radius:12px;outline:none;padding:0 14px;font-size:1.05rem;transition:border-color .2s,box-shadow .2s}textarea.input{resize:vertical;min-height:96px;padding:12px 14px}.input:focus{border-color:var(--amber);box-shadow:0 0 0 4px var(--amber-soft)}.input.has-error{border-color:var(--red);animation:.4s shake}.chip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--text-soft);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.chip-amber{color:var(--amber);background:var(--amber-soft);border-color:#f0a83066}.chip-green{color:var(--green);background:var(--green-soft);border-color:#46d18a66}.chip-red{color:var(--red);background:var(--red-soft);border-color:#e5484d66}.center-screen{text-align:center;place-items:center;min-height:100dvh;padding:24px;display:grid}.spinner{border:2px solid var(--line-strong);border-top-color:var(--amber);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.caret{vertical-align:-.12em;background:currentColor;width:.55em;height:1em;margin-left:2px;animation:.8s steps(2,jump-none) infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.stamp{font-family:var(--font-type);letter-spacing:.12em;text-transform:uppercase;opacity:.85;border:2.5px solid;border-radius:6px;padding:4px 10px;font-size:.85rem;display:inline-block;transform:rotate(-6deg);-webkit-mask-image:radial-gradient(circle at 30% 40%,#000 60%,#000000bf 100%);mask-image:radial-gradient(circle at 30% 40%,#000 60%,#000000bf 100%)}.stamp-red{color:var(--red)}.stamp-green{color:var(--green)}.stamp-amber{color:var(--amber)}.login{justify-content:center;gap:26px;max-width:440px}.login-header{text-align:center;animation:.7s cubic-bezier(.2,.8,.2,1) both rise;position:relative}.login-radar{background:radial-gradient(circle,#0000 0 27%,#f0a83040 28% 29%,#0000 30% 57%,#f0a83033 58% 59%,#0000 60%),radial-gradient(circle,#16130c,#0c0e11 70%);border:1px solid #f0a83066;border-radius:50%;width:88px;height:88px;margin:0 auto 18px;position:relative;overflow:hidden;box-shadow:0 0 40px -10px #f0a83080}.login-radar-sweep{background:conic-gradient(#f0a8308c,#0000 70deg);animation:3s linear infinite spin;position:absolute;inset:0}.login-radar-blip{background:var(--red);width:7px;height:7px;box-shadow:0 0 10px var(--red);border-radius:50%;animation:3s ease-out infinite blip;position:absolute;top:26%;left:62%}.login-title{margin:8px 0 0;font-size:clamp(1.7rem,8vw,2.2rem);font-weight:400}.login-stamp{position:absolute;top:6px;right:4px}.login-card{flex-direction:column;gap:20px;animation:.7s cubic-bezier(.2,.8,.2,1) .12s both rise;display:flex}.segmented{border:1px solid var(--line);background:#00000059;border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid;position:relative}.segmented button{z-index:1;min-height:42px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;font-weight:600;transition:color .25s;position:relative}.segmented button.is-active{color:#1a1204}.segmented-thumb{background:var(--amber);border-radius:9px;width:calc(50% - 4px);transition:transform .35s cubic-bezier(.3,1.4,.5,1);position:absolute;top:4px;bottom:4px;left:4px}.segmented-thumb[data-role=gm]{transform:translate(100%)}.login-form{flex-direction:column;display:flex}.login-label{margin-bottom:8px}.login-hint{min-height:1.4em;color:var(--text-soft);margin:10px 0 18px;font-size:.9rem}.login-hint.is-error{color:var(--red);font-family:var(--font-mono)}.login-footer{text-align:center;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:.7rem}@keyframes blip{0%,8%{opacity:0}12%{opacity:1}60%,to{opacity:0}}.splash{padding:calc(24px + env(safe-area-inset-top)) 20px calc(56px + env(safe-area-inset-bottom));cursor:pointer;background:radial-gradient(circle at 50% 38%, #1a1710 0%, var(--bg) 65%);outline:none;flex-direction:column;justify-content:center;align-items:center;gap:22px;transition:opacity .45s,transform .45s;animation:.5s both fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.splash.is-leaving{opacity:0;transform:scale(1.05)}.splash-noise{pointer-events:none;position:absolute;inset:0}.noise-dot{background:var(--amber);opacity:.1;width:2px;height:2px;animation:3s ease-in-out infinite twinkle;position:absolute}.splash-stage{aspect-ratio:1;width:min(60vw,250px);position:relative}.globe{filter:drop-shadow(0 0 30px #f0a8302e);width:100%;height:100%;animation:.9s cubic-bezier(.2,.9,.3,1.2) both globe-in;overflow:visible}.lands{animation:14s linear infinite spin-lands}.grid-line,.meridian{fill:none;stroke:#f0a83029;stroke-width:.8px}.meridian{transform-box:fill-box;transform-origin:50%;animation:6s linear infinite meridian}.globe-rim{fill:none;stroke:#f0a8308c;stroke-width:1.2px}.sweep{transform-origin:100px 100px;animation:2.4s linear infinite spin}.reticle{fill:none;stroke:var(--red);stroke-width:1.4px;opacity:0;transform-origin:100px 88px;animation:.6s ease-out 1.1s both reticle-lock}.pin{transform-origin:50% 100%;filter:drop-shadow(0 10px 12px #00000080);width:16%;margin-left:-8%;animation:.6s cubic-bezier(.5,0,.75,0) 1.6s both pin-drop,.45s ease-out 2.2s pin-squash;position:absolute;bottom:56%;left:50%}.impact{position:absolute;top:44%;left:50%}.ring{border:2px solid var(--red);opacity:0;border-radius:50%;width:60px;height:24px;animation:1.1s ease-out 2.2s both ring;position:absolute;top:-12px;left:-30px}.ring-2{border-color:var(--amber);animation-delay:2.4s}.splash-stamp{font-size:1.1rem;animation:.45s cubic-bezier(.2,1.6,.4,1) 2.6s both stamp;position:absolute;bottom:4%;right:-8%}.splash-stamp .stamp{background:#0c0e11cc}.splash-terminal{width:min(100%,330px);font-family:var(--font-mono);color:var(--green);font-size:.82rem}.splash-terminal p{white-space:nowrap;margin:0 0 4px;animation:.5s steps(28,end) both type-line;overflow:hidden}.prompt{color:var(--amber)}.splash-text{text-align:center;max-width:340px}.splash-text>*{animation:.7s cubic-bezier(.2,.8,.2,1) both rise}.splash-kicker{color:var(--amber);animation-delay:3s}.splash-name{margin:6px 0 8px;font-size:clamp(1.6rem,8vw,2.2rem);font-weight:400;animation-delay:3.15s}.splash-sub{color:var(--text-soft);margin:0;animation-delay:3.35s}.splash-progress{left:50%;bottom:calc(34px + env(safe-area-inset-bottom));background:var(--line);border-radius:3px;width:120px;height:3px;margin-left:-60px;position:absolute;overflow:hidden}.splash-progress span{background:var(--amber);transform-origin:0;height:100%;animation:linear both progress;display:block}.splash-skip{bottom:calc(10px + env(safe-area-inset-bottom));font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint);margin:0;font-size:.68rem;position:absolute}@keyframes fade-in{0%{opacity:0}}@keyframes twinkle{50%{opacity:.5}}@keyframes globe-in{0%{opacity:0;transform:scale(.5)}}@keyframes spin-lands{to{transform:translate(-240px)}}@keyframes meridian{0%{transform:scaleX(1)}to{transform:scaleX(-1)}}@keyframes reticle-lock{0%{opacity:0;transform:scale(2.2)}to{opacity:1;transform:scale(1)}}@keyframes pin-drop{0%{opacity:0;transform:translateY(-60vh)}30%{opacity:1}}@keyframes pin-squash{0%{transform:scale(1.25,.75)}45%{transform:scale(.9,1.12)translateY(-8%)}to{transform:none}}@keyframes ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(3)}}@keyframes stamp{0%{opacity:0;transform:scale(2.4)rotate(-14deg)}}@keyframes type-line{0%{max-width:0}to{max-width:100%}}@keyframes progress{0%{transform:scaleX(0)}}.blocks{flex-direction:column;gap:14px;display:flex}.blk-p{color:var(--text);margin:0;line-height:1.6}.blk-p strong{color:var(--amber);font-weight:600}.blk-heading{font-family:var(--font-type);letter-spacing:.03em;margin:8px 0 0;font-size:1.15rem;font-weight:400}.blk-list{flex-direction:column;gap:6px;margin:0;padding-left:1.3em;line-height:1.5;display:flex}.blk-list strong{color:var(--amber);font-weight:600}.blk-intercept{background:repeating-linear-gradient(0deg,#46d18a09 0 1px,#0000 1px 3px),#07100b;border:1px solid #46d18a47;border-radius:12px;margin:0;overflow:hidden}.blk-intercept figcaption{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--green);border-bottom:1px solid #46d18a33;align-items:center;gap:8px;padding:8px 14px;font-size:.7rem;font-weight:600;display:flex}.rec{background:var(--red);border-radius:50%;width:8px;height:8px;animation:1.4s steps(2,jump-none) infinite blink}.blk-intercept blockquote{font-family:var(--font-mono);color:#c9f5dc;white-space:pre-line;margin:0;padding:14px;font-size:.95rem;line-height:1.65}.blk-document{background:var(--paper);color:var(--paper-ink);border-radius:6px;margin:0;padding:16px;transform:rotate(-.4deg);box-shadow:0 12px 30px -16px #000c}.blk-document figcaption{font-family:var(--font-type);text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px dashed #2a262059;margin-bottom:12px;padding-bottom:8px;font-size:1rem}.blk-document pre{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.82rem;line-height:1.6}.blk-alert{border:1px solid;border-left-width:4px;border-radius:12px;padding:12px 14px}.blk-alert strong{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}.blk-alert p{color:var(--text-soft);margin:6px 0 0;line-height:1.5}.tone-red{color:var(--red);background:var(--red-soft);border-color:#e5484d66}.tone-amber{color:var(--amber);background:var(--amber-soft);border-color:#f0a83066}.tone-green{color:var(--green);background:var(--green-soft);border-color:#46d18a66}.blk-digit{background:var(--amber-soft);border:1px dashed #f0a83080;border-radius:12px;align-items:center;gap:14px;padding:12px;display:flex}.blk-digit-value{width:56px;height:64px;font-family:var(--font-mono);color:var(--amber);text-shadow:0 0 18px #f0a83099;background:#0a0b0d;border:1px solid #f0a83080;border-radius:10px;flex:none;place-items:center;font-size:2.2rem;font-weight:600;display:grid}.blk-digit .eyebrow{color:var(--amber);display:block}.blk-digit-note{color:var(--text-soft);margin-top:4px;font-size:.85rem;display:block}.blk-map{border:1px solid var(--line-strong);background:radial-gradient(circle at 80% 30%, #f0a8301f, transparent 50%), var(--panel-2);border-radius:12px;flex-direction:column;gap:6px;padding:14px;display:flex}.blk-map-coords{font-family:var(--font-mono);font-size:1.15rem}.blk-map-caption{font-family:var(--font-mono);color:var(--text-soft);margin-bottom:8px;font-size:.8rem}.blk-signature{text-align:right;font-family:var(--font-type);color:var(--text-soft);margin:0}.blk-coupon{text-align:center;border:2px dashed var(--amber);background:var(--amber-soft);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:20px 18px;display:flex;position:relative}.blk-coupon-icon{font-size:2rem}.blk-coupon strong{font-family:var(--font-type);text-transform:uppercase;letter-spacing:.05em;color:var(--amber);font-size:1.25rem;font-weight:400}.blk-coupon p{color:var(--text-soft);margin:0;font-size:.9rem;line-height:1.5}@keyframes blink{50%{opacity:.2}}.safe{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(135deg,#171b21,#0f1215);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.safe-head{align-items:center;gap:10px;min-width:0;display:flex}.safe-head .eyebrow{white-space:nowrap}.safe-icon svg{fill:none;width:26px;height:26px;stroke:var(--amber);stroke-width:1.6px;stroke-linecap:round}.safe-count{color:var(--text-soft);white-space:nowrap;margin-top:2px;font-size:.85rem;display:block}.safe-slots{flex:none;gap:6px;display:flex}.safe-slot{border:1px solid var(--line-strong);width:34px;height:42px;font-family:var(--font-mono);color:var(--text-faint);background:#07080a;border-radius:8px;place-items:center;font-size:1.35rem;font-weight:600;display:grid}.safe-slot.is-set{color:var(--amber);text-shadow:0 0 14px #f0a83099;border-color:#f0a8308c;animation:.6s cubic-bezier(.3,1.4,.5,1) both flip-in}@keyframes flip-in{0%{opacity:0;transform:rotateX(90deg)}}.action-form,.action-waiting{flex-direction:column;gap:10px;display:flex}.action-tip{color:var(--text-soft);margin:0;font-size:.85rem}.action-feedback{font-family:var(--font-mono);border:1px solid;border-radius:10px;margin:0;padding:10px 12px;font-size:.85rem;line-height:1.45;animation:.3s both rise}.coords-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.coords-field{flex-direction:column;gap:6px;min-width:0;display:flex}.coords-field .input{padding:0 10px}@media (width<=360px){.coords-grid{grid-template-columns:1fr}}.safe-input{position:relative}.safe-input.has-error{animation:.4s shake}.safe-input input{opacity:0;z-index:1;width:100%;font-size:16px;position:absolute;inset:0}.safe-input-slots{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.safe-input-slots span{border:1.5px solid var(--line-strong);height:68px;font-family:var(--font-mono);color:var(--amber);text-shadow:0 0 16px #f0a83080;background:#07080a;border-radius:12px;place-items:center;font-size:2rem;font-weight:600;display:grid}.safe-input:focus-within .safe-input-slots span.is-cursor{border-color:var(--amber);box-shadow:0 0 0 4px var(--amber-soft)}.safe-input-slots span.is-set{border-color:#f0a83080}.safe-input.has-error .safe-input-slots span{border-color:var(--red)}.mission-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.mission-brand{margin:2px 0 0;font-size:1.1rem}.help-btn{flex:none}.help-dot{background:var(--red);border-radius:50%;width:8px;height:8px;animation:2s ease-out infinite pulse;box-shadow:0 0 #e5484d99}.finale-banner{color:var(--text);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:12px;display:flex}.dossier{animation:.6s cubic-bezier(.2,.8,.2,1) both rise;position:relative}.dossier-tab{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);background:#231d12;border:1px solid #f0a8304d;border-bottom:0;border-radius:12px 12px 0 0;padding:8px 16px 6px;font-size:.72rem;font-weight:600;display:inline-block}.dossier-body{border-radius:0 var(--radius) var(--radius) var(--radius);background:linear-gradient(#19160f,#121417 180px);border:1px solid #f0a8304d;flex-direction:column;gap:16px;padding:18px 16px 20px;display:flex;box-shadow:0 30px 60px -30px #000c}.dossier-report{border-bottom:1.5px dashed var(--line-strong);flex-direction:column;gap:12px;padding-bottom:18px;display:flex}.dossier-report>.eyebrow{color:var(--green)}.dossier-title .stamp{background:var(--bg);position:absolute;top:2px;right:14px}.dossier-title .eyebrow{color:var(--amber)}.dossier-title h1{margin:4px 0 0;font-size:clamp(1.4rem,6.5vw,1.8rem);font-weight:400;line-height:1.2}.dossier-action,.dossier-success{border-top:1px solid var(--line);padding-top:16px}.dossier-success{animation:.6s both rise}.standby{border:1px solid var(--line);font-family:var(--font-mono);color:var(--text-soft);background:#0000004d;border-radius:12px;align-items:center;gap:12px;padding:12px;font-size:.82rem;display:flex}.standby p{margin:0}.standby-radar{border:1px solid #f0a83066;border-radius:50%;flex:none;width:30px;height:30px;position:relative;overflow:hidden}.standby-radar:after{content:"";background:conic-gradient(#f0a830b3,#0000 80deg);animation:2s linear infinite spin;position:absolute;inset:0}.transmissions,.archives{flex-direction:column;gap:10px;display:flex}.transmissions h2,.archives h2{margin:10px 0 0}.transmissions ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.transmissions-empty{font-family:var(--font-mono);color:var(--text-faint);margin:0;font-size:.85rem}.transmission{border:1px solid var(--line);border-left:3px solid var(--amber);background:var(--panel);border-radius:12px;padding:12px 14px}.transmission.is-fresh{animation:.5s both rise,2.5s ease-out glow}.transmission-head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber);justify-content:space-between;gap:10px;font-size:.72rem;font-weight:600;display:flex}.transmission-head time{color:var(--text-faint)}.transmission p{line-height:1.55;font-family:var(--font-mono);margin:8px 0 0;font-size:.9rem}.archive{border:1px solid var(--line);background:var(--panel);border-radius:12px}.archive summary{cursor:pointer;align-items:center;gap:10px;padding:12px 14px;list-style:none;display:flex}.archive summary::-webkit-details-marker{display:none}.archive summary>span:nth-child(2){flex:1;min-width:0}.archive-num{font-family:var(--font-mono);color:var(--text-faint)}.archive-body{padding:4px 14px 16px}.archive-body hr{border:0;border-top:1px dashed var(--line-strong);margin:16px 0}.mission-footer{justify-content:center;padding-top:10px;display:flex}.linkish{color:var(--text-faint);cursor:pointer;background:0 0;border:0;font-size:.8rem;text-decoration:underline}.sheet-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:flex-end;animation:.2s both fade;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:480px;padding:22px 18px calc(22px + env(safe-area-inset-bottom));background:var(--panel-2);border:1px solid var(--line-strong);border-radius:20px 20px 0 0;flex-direction:column;gap:12px;animation:.3s cubic-bezier(.2,.8,.2,1) both sheet-up;display:flex}.sheet h2{margin:0;font-weight:400}.sheet p{color:var(--text-soft);margin:0 0 6px;line-height:1.5}@media (width>=560px){.sheet-backdrop{align-items:center}.sheet{border-radius:20px}}.toast{left:50%;top:calc(12px + env(safe-area-inset-top));z-index:30;background:var(--amber);color:#1a1204;white-space:nowrap;border-radius:999px;padding:10px 16px;font-size:.9rem;font-weight:600;animation:.4s cubic-bezier(.2,1.4,.4,1) both toast-in;position:fixed;transform:translate(-50%);box-shadow:0 12px 30px -10px #000000b3}@keyframes pulse{70%{box-shadow:0 0 0 8px #e5484d00}to{box-shadow:0 0 #e5484d00}}@keyframes glow{0%{box-shadow:0 0 0 1px var(--amber), 0 0 30px -4px #f0a83099}}@keyframes fade{0%{opacity:0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-20px)}}.qr-card{flex-direction:column;align-items:center;gap:14px;width:min(100%,380px);padding:28px 20px;animation:.5s both rise;display:flex}.qr-card .stamp{font-size:1.1rem;animation:.45s cubic-bezier(.2,1.6,.4,1) .15s both stamp-in}.qr-card h1{margin:8px 0 0;font-size:1.5rem;font-weight:400}.qr-card p{color:var(--text-soft);margin:0 0 8px;line-height:1.5}@keyframes stamp-in{0%{opacity:0;transform:scale(2.2)rotate(-14deg)}}.confetti{z-index:2;pointer-events:none;position:absolute;top:50%;left:50%}.confetti span{opacity:0;animation:confetti 1.8s var(--d) cubic-bezier(.1, .8, .3, 1) both;position:absolute}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}80%{opacity:1}to{opacity:0;transform:translate(var(--x), calc(var(--y) + 90px)) rotate(var(--r))}}.finale{isolation:isolate;min-height:100dvh;padding:calc(40px + env(safe-area-inset-top)) 16px calc(40px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:24px;display:flex;position:relative;overflow-x:hidden}.finale-warmth{z-index:-1;opacity:0;background:radial-gradient(900px 600px at 80% -10%,#ff6b6b59,#0000 60%),radial-gradient(800px 600px at -10% 100%,#ffb5474d,#0000 60%),#1a1020;animation:1.2s 1.5s both warm;position:fixed;inset:0}.finale-unlock{flex-direction:column;align-items:center;gap:16px;font-size:1.1rem;display:flex}.finale-unlock .stamp{animation:.45s cubic-bezier(.2,1.6,.4,1) both stamp-in}.finale-code{gap:8px;display:flex}.finale-code span{width:46px;height:58px;font-family:var(--font-mono);color:var(--amber);text-shadow:0 0 16px #f0a830b3;background:#07080a;border:1px solid #f0a8308c;border-radius:10px;place-items:center;font-size:1.8rem;font-weight:600;animation:.5s cubic-bezier(.3,1.4,.5,1) both flip-in;display:grid}.finale-hero{place-items:center;height:clamp(150px,42vw,220px);display:grid;position:relative}.finale-thirty{font-family:var(--font-display);background:linear-gradient(135deg,#ffb547 20%,#ff6b6b 80%);color:#0000;filter:drop-shadow(0 0 34px #ffb54773);-webkit-background-clip:text;background-clip:text;font-size:clamp(8rem,44vw,12rem);font-weight:800;line-height:1;animation:.9s cubic-bezier(.2,1.6,.4,1) 1.7s both thirty-pop}.finale-letter{background:var(--paper);width:min(100%,560px);color:var(--paper-ink);border-radius:8px;padding:26px 22px;animation:.9s cubic-bezier(.2,.8,.2,1) 2.8s both letter-in;box-shadow:0 30px 60px -20px #000000b3}.finale-letter .blk-heading{font-family:var(--font-display);color:#c2410c;margin:0 0 4px;font-size:2rem;font-weight:800}.finale-letter .blk-p{color:var(--paper-ink);font-size:1.02rem;line-height:1.7}.finale-letter .blk-signature{font-family:var(--font-display);color:var(--paper-ink);font-size:1.1rem;font-style:italic}.finale-letter .blk-coupon{background:#c2410c14;border-color:#c2410c;margin-top:10px}.finale-letter .blk-coupon strong{color:#c2410c}.finale-letter .blk-coupon p{color:#2a2620cc}.finale-back{animation:.6s 3.6s both rise}@keyframes warm{to{opacity:1}}@keyframes thirty-pop{0%{opacity:0;transform:scale(.2)rotate(-12deg)}}@keyframes letter-in{0%{opacity:0;transform:translateY(40px)rotate(-2deg)}}
