@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_eaa4bee4-module__dFVSAq__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_eaa4bee4-module__dFVSAq__variable{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.2ontrj8z1-o25.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.33iiebxkijmxa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.2nzetymcmw3t7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0_f09-l1omku8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_e06d9437-module__v8ILfq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_e06d9437-module__v8ILfq__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--slate:#1a2b3c;--slate-2:#26384a;--teal:#2dd4bf;--teal-ink:#0d9488;--off-white:#f8fafc;--coral:#fb7185;--success:#16a34a;--error:#dc2626;--bg:var(--off-white);--surface:#fff;--surface-2:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--text:var(--slate);--muted:#5b6b7b;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #1018280a, 0 8px 24px #1018280f;--shadow-lg:0 12px 40px #1018281a;--maxw:1080px;--font-sans-stack:var(--font-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono-stack:var(--font-mono), ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 80% -10%, #2dd4bf1a, transparent 60%), radial-gradient(900px 500px at -10% 10%, #1a2b3c0f, transparent 55%), var(--bg);color:var(--text);font-family:var(--font-sans-stack);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.55}a{color:var(--teal-ink);text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.site-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffffb8;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{letter-spacing:-.01em;color:var(--slate);align-items:center;gap:10px;font-size:17px;font-weight:700;display:inline-flex}.brand:hover{text-decoration:none}.brand .brand-icon{width:22px;height:22px;color:var(--teal-ink);flex-shrink:0}.header-tag{color:var(--muted);font-size:13px;font-family:var(--font-mono-stack)}.hero{padding:72px 0 40px}.eyebrow{font-family:var(--font-mono-stack);text-transform:uppercase;letter-spacing:.14em;color:var(--teal-ink);font-size:12px;font-weight:600}.hero h1{letter-spacing:-.03em;max-width:18ch;margin:16px 0 0;font-size:clamp(34px,5vw,52px);line-height:1.05}.hero p.lead{color:var(--muted);max-width:60ch;margin:20px 0 0;font-size:18px}.rules{grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0 8px;display:grid}.rule{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.rule h3{align-items:center;gap:8px;margin:0 0 6px;font-size:15px;display:flex}.rule p{color:var(--muted);margin:0;font-size:14px}.rule .glyph{color:var(--teal-ink)}.section{padding:40px 0 24px}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.section-head h2{letter-spacing:-.02em;margin:0;font-size:24px}.section-head p{color:var(--muted);margin:0;font-size:14px}.grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:22px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-3px)}.card.disabled{opacity:.72}.card.disabled:hover{box-shadow:var(--shadow);border-color:var(--border);transform:none}.card-top{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card h3{letter-spacing:-.01em;margin:0;font-size:18px}.card .tagline{color:var(--muted);min-height:40px;margin:0 0 16px;font-size:14px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.chip{font-size:12px;font-family:var(--font-mono-stack);color:var(--slate-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 10px}.card .spacer{flex:1}.card-wide{flex-direction:row;grid-column:1/-1;align-items:center;gap:28px}.card-wide .card-body{flex:1;min-width:0}.card-wide .spacer{display:none}.card-wide .tagline{min-height:0}.card-wide .chips{margin-bottom:0}.card-wide .btn-block{white-space:nowrap;flex-shrink:0;width:auto}.badge{font-size:11px;font-weight:600;font-family:var(--font-mono-stack);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:4px 9px}.badge-easy{color:var(--teal-ink);background:#2dd4bf24}.badge-medium{color:#b45309;background:#f59e0b26}.badge-hard{color:var(--coral);background:#fb718526}.badge-warn{color:#92400e;background:#fbbf242e}.btn{font:inherit;border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--slate);color:#fff}.btn-primary:hover{background:var(--slate-2)}.btn-teal{background:var(--teal);color:#062c27}.btn-teal:hover{background:#26bda9}.btn-ghost{color:var(--slate);border-color:var(--border-strong);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{color:var(--error);background:0 0;border-color:#dc26264d}.btn-danger:hover{background:#dc26260f}.btn-block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.flow{flex-direction:column;align-items:center;min-height:100vh;padding:48px 24px 64px;display:flex}.flow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:32px}.flow-card.wide{max-width:540px}.flow-head{margin-bottom:24px}.flow-head h1{letter-spacing:-.02em;margin:10px 0 6px;font-size:24px}.flow-head p{color:var(--muted);margin:0;font-size:14px}.steps{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.step-dot{background:var(--border);border-radius:999px;flex:1;min-width:24px;height:6px}.step-dot.done{background:var(--teal)}.step-dot.active{background:var(--slate)}.field{margin-bottom:16px}.label{color:var(--slate-2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.input{width:100%;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);background:#fff;padding:11px 13px;font-size:15px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #2dd4bf33}.input.code-input{font-family:var(--font-mono-stack);letter-spacing:.4em;text-align:center;font-size:24px}.hint{color:var(--muted);margin:6px 0 0;font-size:13px}.alert{border-radius:var(--radius-sm);border:1px solid #0000;margin-bottom:18px;padding:12px 14px;font-size:14px}.alert-error{color:#7f1d1d;background:#dc262614;border-color:#dc262640}.alert-info{color:var(--slate);background:#2dd4bf1a;border-color:#2dd4bf4d}.alert-warn{color:#78350f;background:#fbbf2424;border-color:#fbbf2466}.mono-box{font-family:var(--font-mono-stack);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);word-break:break-all;color:var(--slate);padding:14px;font-size:15px}.qr{border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;width:200px;height:200px;margin:0 auto 16px;display:block}.countdown{font-family:var(--font-mono-stack);letter-spacing:.04em;color:var(--slate);text-align:center;margin:8px 0 4px;font-size:44px;font-weight:600}.countdown.expired{color:var(--error)}.success-mark{width:56px;height:56px;color:var(--success);background:#16a34a1f;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:28px;display:flex}.flow-actions{flex-direction:column;gap:10px;margin-top:22px;display:flex}.flow-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:18px;display:flex}.flow-foot form{margin:0}.link-muted{color:var(--muted);font-size:13px}.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:64px;padding:32px 0;font-size:13px}.site-footer .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.inline-note{font-family:var(--font-mono-stack);color:var(--muted);font-size:12px}@media (max-width:860px){.rules,.grid{grid-template-columns:1fr}.card-wide{flex-direction:column;grid-column:auto;align-items:stretch;gap:0}.card-wide .spacer{display:block}.card-wide .chips{margin-bottom:18px}.card-wide .btn-block{width:100%}}
