:root{--navy:#1c2346;--navy-2:#242c55;--blue:#009ddb;--orange:#ec6434;--ink:#101425;--line:#ffffff24;--radius:10px}*{box-sizing:border-box}html,body{background:var(--navy);color:#eef1f8;-webkit-font-smoothing:antialiased;margin:0;padding:0;font:16px/1.55 Tahoma,Segoe UI,system-ui,-apple-system,sans-serif}a{color:var(--blue)}.shell{max-width:1100px;margin:0 auto;padding:28px 24px 64px}header.bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;display:flex}header.bar strong{letter-spacing:.02em;font-size:18px}header.bar nav{gap:18px;font-size:14px;display:flex}header.bar .brand{color:#eef1f8;letter-spacing:.02em;font-size:17px;font-weight:600;text-decoration:none}h1{margin:24px 0 6px;font-size:26px}p.lede{color:#aab3cc;max-width:62ch;margin:0 0 26px}.btn{appearance:none;border-radius:var(--radius);font:inherit;cursor:pointer;background:var(--blue);color:#04121c;border:1px solid #0000;padding:13px 22px;font-weight:600;transition:filter .15s,opacity .15s}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{border-color:var(--line);color:#eef1f8;background:0 0}.btn.accent{background:var(--orange);color:#1a0b04}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.card{background:var(--navy-2);border:1px solid var(--line);border-radius:14px;padding:20px}.notice{border-left:3px solid var(--orange);background:#ec64341a;border-radius:6px;margin:16px 0;padding:12px 16px;font-size:14px}.notice.info{border-left-color:var(--blue);background:#009ddb1a}.viewfinder{border:1px solid var(--line);border-radius:var(--radius);background:#05070f;width:100%;max-width:560px;margin:0 auto;position:relative;overflow:hidden}.viewfinder>.ratio{width:100%}.viewfinder video,.viewfinder img{object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0}.controls{max-width:560px;margin:20px auto 0}.btn.big{padding:17px 34px;font-size:18px}.busy{border-radius:var(--radius);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0e20b8;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.busy p{color:#dfe5f4;margin:0;font-size:15px}.spinner{border:3px solid #ffffff38;border-top-color:var(--blue);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px;margin-top:8px;display:grid}@media (max-width:860px){.result{grid-template-columns:1fr}}.result-image img{border-radius:var(--radius);background:var(--navy);width:auto;max-width:100%;height:auto;max-height:72vh;margin:0 auto;display:block}.result-side h2{margin:0 0 8px;font-size:20px}.qr{background:#fff;border-radius:10px;width:240px;height:240px;margin:4px 0 14px;padding:10px;display:block}label.consent{color:#c3cade;cursor:pointer;align-items:flex-start;gap:10px;max-width:64ch;font-size:14px;display:flex}label.consent input{flex:none;width:18px;height:18px;margin-top:3px}.muted{color:#8c95b0;font-size:14px}@page{size:4in 6in;margin:0}.print-area{position:absolute;top:0;left:-100000px}@media print{html,body{background:#fff}body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.print-area img{width:auto;max-width:100%;height:auto;max-height:100%}.no-print{display:none!important}}.hero{background:var(--navy);isolation:isolate;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-art{z-index:-1;pointer-events:none;--art-op:.62;background-repeat:no-repeat;background-size:cover;animation:.9s both art-in;position:absolute;top:0;bottom:0}.hero-waves{background-position:0;width:min(27%,430px);left:0;-webkit-mask-image:linear-gradient(90deg,#000 55%,#0000 100%);mask-image:linear-gradient(90deg,#000 55%,#0000 100%)}.hero-dots{background-position:100%;width:min(27%,430px);right:0;-webkit-mask-image:linear-gradient(270deg,#000 55%,#0000 100%);mask-image:linear-gradient(270deg,#000 55%,#0000 100%)}@keyframes art-in{0%{opacity:0}to{opacity:var(--art-op)}}.hero-body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#1c2346f0 0%,#1c2346cc 45%,#1c234600 72%);position:absolute;inset:-8% -14%}.hero-body{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:clamp(18px,3.2vw,30px);width:100%;max-width:760px;padding:48px 24px 56px;display:flex;position:relative}.hero-logo{aspect-ratio:1732/853;width:clamp(230px,40vw,460px);position:relative}.hero-logo img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .52s,transform .52s cubic-bezier(.2,.7,.2,1);display:block;transform:scale(.985)}.hero-logo[data-loaded=true] img{opacity:1;transform:none}.hero-logo .shimmer{background:linear-gradient(100deg,#0000 20%,#ffffff17 45%,#0000 70%) 0 0/220% 100% no-repeat,#ffffff0b;border-radius:12px;transition:opacity .32s;animation:1.5s linear infinite shimmer;position:absolute;inset:8% 4%}.hero-logo[data-loaded=true] .shimmer{opacity:0;animation:none}@keyframes shimmer{0%{background-position:-120% 0}to{background-position:120% 0}}.hero h1{letter-spacing:-.022em;color:#fff;text-wrap:balance;margin:0;font-size:clamp(30px,6.2vw,60px);font-weight:700;line-height:1.06}.hero-sub{color:#a9b3ce;text-wrap:pretty;max-width:46ch;margin:0;font-size:clamp(15px,2.1vw,19px);line-height:1.6}.hero-action{flex-direction:column;align-items:center;width:100%;display:flex}.cta{min-height:64px;font:inherit;letter-spacing:.005em;cursor:pointer;color:#04121c;background:linear-gradient(180deg, #2ab6ef 0%, var(--blue) 100%);border:0;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:0 40px;font-size:clamp(17px,2.2vw,20px);font-weight:700;text-decoration:none;transition:transform .19s cubic-bezier(.2,.7,.2,1),box-shadow .19s,filter .19s;display:inline-flex;box-shadow:0 12px 30px -12px #009ddbbf,inset 0 1px #ffffff59}.cta:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 18px 40px -14px #009ddbe6,inset 0 1px #fff6}.cta:active{transform:translateY(0)scale(.985)}.cta:focus-visible{outline-offset:3px;outline:3px solid #9fe3ff}.cta.is-busy{pointer-events:none;filter:saturate(.85)}.cta-icon{place-items:center;width:22px;height:22px;display:grid}.hero-foot{letter-spacing:.06em;text-transform:uppercase;color:#7b86a4;margin:16px 0 0;font-size:13.5px}.hero-offline{color:#cfd6e8;border:1px solid var(--line);background:#ffffff0a;border-radius:14px;max-width:40ch;margin:0;padding:18px 22px;font-size:clamp(15px,2vw,18px);line-height:1.6}.hero-reason{color:#6d7796;word-break:break-word;margin:12px 0 0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px}.hero-skeleton{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.sk{background:linear-gradient(100deg,#0000 20%,#ffffff14 45%,#0000 70%) 0 0/220% 100% no-repeat,#ffffff0d;border-radius:10px;animation:1.5s linear infinite shimmer;display:block}.sk-line{height:clamp(30px,5.4vw,52px)}.sk-line.sk-sm{border-radius:8px;height:18px}.sk-pill{border-radius:999px;width:260px;max-width:80%;height:64px;margin-top:8px}.hero-status{color:#8c96b3;align-items:center;gap:10px;margin:4px 0 0;font-size:14px;display:inline-flex}.dot-pulse{background:var(--blue);border-radius:50%;width:8px;height:8px;animation:1.25s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.spinner.sm{border-width:2px;border-color:#04121c #04121c47 #04121c47;width:20px;height:20px}.rise{animation:.62s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:var(--d,0s)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero-wall-link{z-index:2;letter-spacing:.08em;text-transform:uppercase;color:#96a1c0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e209e;border:1px solid #ffffff14;border-radius:999px;padding:8px 14px;font-size:12px;text-decoration:none;transition:color .18s,background .18s,border-color .18s;position:absolute;bottom:24px;right:26px}.hero-wall-link:hover,.hero-wall-link:focus-visible{color:#eef1f8;background:#0a0e20d9;border-color:#fff3}@media (max-width:700px){.hero-waves,.hero-dots{--art-op:.26;width:34%}.hero-body:before{inset:-20% -30%}.hero-body{gap:20px;padding:40px 20px 76px}.hero-logo{width:clamp(200px,56vw,300px)}.cta{width:100%;max-width:380px;padding:0 24px}.hero-wall-link{bottom:18px;right:50%;transform:translate(50%)}}@media (max-height:560px){.hero-body{gap:14px;padding:24px 24px 32px}.hero-logo{width:clamp(180px,26vw,300px)}.cta{min-height:54px}}@media (prefers-reduced-motion:reduce){.hero-art,.rise,.hero-logo img,.sk,.hero-logo .shimmer,.dot-pulse,.cta{transition:none!important;animation:none!important}.rise,.hero-logo img{opacity:1;transform:none}.hero-art{opacity:var(--art-op)}}@media print{.hero{display:none}}.stage{background:var(--navy);isolation:isolate;flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.stage-bar{z-index:2;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:18px 22px 6px;display:grid;position:relative}.stage-mark{opacity:.95;justify-self:center;width:clamp(130px,17vw,200px);height:auto;display:block}.stage-spacer{display:block}.stage-body{z-index:1;flex-direction:column;flex:1;justify-content:center;width:100%;max-width:1140px;margin:0 auto;padding:12px 22px 40px;display:flex;position:relative}.ghost-btn{color:#dfe5f4;min-height:44px;font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff24;border-radius:999px;justify-content:center;justify-self:start;align-items:center;gap:8px;padding:0 18px;font-size:14.5px;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s,transform .18s cubic-bezier(.2,.7,.2,1);display:inline-flex}.ghost-btn:hover{background:#ffffff1c;border-color:#ffffff42;transform:translateY(-1px)}.ghost-btn:active{transform:translateY(0)}.ghost-btn:focus-visible{outline-offset:3px;outline:3px solid #9fe3ff}.ghost-btn.wide{justify-self:stretch;width:100%}.stage .viewfinder{border-color:#ffffff1a;border-radius:20px;max-width:520px;box-shadow:0 30px 70px -40px #000000e6,inset 0 0 0 1px #ffffff0a}.stage .controls{flex-direction:column;align-items:center;max-width:520px;margin:26px auto 0;display:flex}.stage .controls .hero-foot{margin-top:14px}.panel{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:560px;margin:0 auto;display:flex}.panel h2{letter-spacing:-.015em;color:#fff;margin:0;font-size:clamp(22px,3.4vw,30px)}.panel-wait p{color:#a9b3ce;margin:0;font-size:16px}.stage .result{align-items:center;gap:40px}.stage .result-image img{max-height:66vh;box-shadow:0 30px 70px -40px #000000e6}.stage .result-side h2{letter-spacing:-.015em;color:#fff;font-size:clamp(21px,2.8vw,27px)}.qr-wait{background:#ffffff0f;border:1px dashed #ffffff29;place-items:center;display:grid}.side-actions{flex-direction:column;gap:10px;width:100%;max-width:260px;margin-top:4px;display:flex}.cta.cta-sm{width:100%;min-height:52px;padding:0 24px;font-size:17px}.cta.accent{color:#1a0b04;background:linear-gradient(180deg, #f5814f 0%, var(--orange) 100%);box-shadow:0 12px 30px -12px #ec6434bf,inset 0 1px #ffffff4d}.cta.accent:hover{box-shadow:0 18px 40px -14px #ec6434e6,inset 0 1px #ffffff5c}@media (max-width:860px){.stage .result{gap:24px}.side-actions{max-width:100%}.stage .result-image img{max-height:52vh}}@media (max-width:700px){.stage-bar{padding:14px 16px 4px}.stage .result-side{text-align:center;flex-direction:column;align-items:center;display:flex}.stage .result-image img{max-height:38vh}.stage .qr{width:200px;height:200px;margin:10px auto 12px}.side-actions{max-width:320px;margin-left:auto;margin-right:auto}.stage-body{padding:8px 16px 32px}.ghost-btn{padding:0 14px;font-size:14px}.stage-mark{width:clamp(110px,34vw,160px)}}
