@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-tight-cyrillic-ext-700-normal-D_7NT8eF.woff2)format("woff2"),url(/assets/inter-tight-cyrillic-ext-700-normal-BFcoPt71.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-tight-cyrillic-700-normal-DtWWjp29.woff2)format("woff2"),url(/assets/inter-tight-cyrillic-700-normal-DDZiLR3d.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-tight-greek-ext-700-normal-D0RkHJEE.woff2)format("woff2"),url(/assets/inter-tight-greek-ext-700-normal-mW3dmpoD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-tight-greek-700-normal-RgALSHS4.woff2)format("woff2"),url(/assets/inter-tight-greek-700-normal-DU8XoIeX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-tight-vietnamese-700-normal-Cn_DV52A.woff2)format("woff2"),url(/assets/inter-tight-vietnamese-700-normal-DwHBAXeT.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-tight-latin-ext-700-normal-BpKPOkj3.woff2)format("woff2"),url(/assets/inter-tight-latin-ext-700-normal-CrlzIQ10.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-tight-latin-700-normal-BZKd_v_8.woff2)format("woff2"),url(/assets/inter-tight-latin-700-normal-DvYAVZQd.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-tight-cyrillic-ext-800-normal-CzCOBUhR.woff2)format("woff2"),url(/assets/inter-tight-cyrillic-ext-800-normal-WowoGRZX.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-tight-cyrillic-800-normal-CC_RRmyd.woff2)format("woff2"),url(/assets/inter-tight-cyrillic-800-normal-ChWbk4mt.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-tight-greek-ext-800-normal-DNWjXg9N.woff2)format("woff2"),url(/assets/inter-tight-greek-ext-800-normal-DfP-QoiQ.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-tight-greek-800-normal-X9eW6L67.woff2)format("woff2"),url(/assets/inter-tight-greek-800-normal-CxHmUlv4.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-tight-vietnamese-800-normal-OJoDhpMd.woff2)format("woff2"),url(/assets/inter-tight-vietnamese-800-normal-CbYrLkxo.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-tight-latin-ext-800-normal-DfKN99cy.woff2)format("woff2"),url(/assets/inter-tight-latin-ext-800-normal-A39zhqaD.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-tight-latin-800-normal-CRGCHRPv.woff2)format("woff2"),url(/assets/inter-tight-latin-800-normal-D2te1T7i.woff)format("woff");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}.star-border{border-radius:var(--radius-full);background:0 0;width:100%;padding:1px;display:inline-flex;position:relative;overflow:hidden}.star-border:before,.star-border:after{content:"";opacity:.55;pointer-events:none;z-index:0;width:200%;height:50%;position:absolute}.star-border:before{background:radial-gradient(circle, var(--star-color,var(--accent-start)), transparent 70%);border-radius:50%;animation:7s ease-in-out infinite alternate star-border-drift-bottom;bottom:-20%;right:-120%}.star-border:after{background:radial-gradient(circle, var(--star-color-end,var(--accent-end)), transparent 70%);border-radius:50%;animation:8s ease-in-out infinite alternate star-border-drift-top;top:-20%;left:-120%}.star-border-inner{z-index:1;border-radius:inherit;background:var(--accent);color:#fff;justify-content:center;align-items:center;width:100%;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff38,0 8px 28px -6px #4f7cff73}@keyframes star-border-drift-bottom{0%{opacity:.4;transform:translate(0)}to{opacity:.75;transform:translate(-35%)}}@keyframes star-border-drift-top{0%{opacity:.4;transform:translate(0)}to{opacity:.75;transform:translate(35%)}}@media (prefers-reduced-motion:reduce){.star-border:before,.star-border:after{opacity:.35;animation:none}}.spotlight-card{border-radius:var(--radius-lg);--mouse-x:50%;--mouse-y:50%;--spotlight-color:#4f7cff1f;position:relative;overflow:hidden}.spotlight-card:before{content:"";background:radial-gradient(520px circle at var(--mouse-x) var(--mouse-y), var(--spotlight-color), transparent 42%);opacity:0;pointer-events:none;z-index:0;transition:opacity .35s;position:absolute;inset:0}.spotlight-card:hover:before,.spotlight-card:focus-within:before,.spotlight-card.is-active:before{opacity:1}.spotlight-card-content{z-index:1;position:relative}.shiny-text{background:linear-gradient(120deg, var(--accent-start) 0%, #c4b5fd 35%, var(--accent-end) 50%, #93c5fd 65%, var(--accent-start) 100%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite shiny-text-sweep;display:inline-block}@keyframes shiny-text-sweep{0%{background-position:0%}to{background-position:200%}}@media (prefers-reduced-motion:reduce){.shiny-text{background:var(--accent);-webkit-background-clip:text;background-clip:text;animation:none}}:root{--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Inter Tight", var(--font-body);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-full:9999px;--touch:48px;--max-width:520px;--nav-height:72px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.22s;--duration-slow:.38s}:root,[data-theme=dark]{--surface-0:#080b14;--surface-1:#0e1424;--surface-2:#151d32;--surface-3:#1c2740;--text-primary:#f2f5fc;--text-secondary:#94a3c4;--text-tertiary:#647094;--accent-start:#4f7cff;--accent-end:#8b5cf6;--accent-solid:#5b7dff;--accent-muted:#4f7cff24;--success:#34d399;--success-muted:#34d39924;--warning:#fbbf24;--warning-muted:#fbbf241f;--danger:#f87171;--danger-muted:#f8717124;--info:#60a5fa;--info-muted:#60a5fa1f;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff29;--shadow-sm:0 2px 8px #0000003d;--shadow-md:0 8px 24px #00000052;--shadow-lg:0 16px 48px #0006;--focus-ring:0 0 0 3px #4f7cff73;--bg:var(--surface-0);--bg-elevated:var(--surface-1);--bg-card:var(--surface-2);--text:var(--text-primary);--text-muted:var(--text-secondary);--border:var(--border-default);--shadow:var(--shadow-md);--radius:var(--radius-md);--radius-sm:var(--radius-sm);--accent:linear-gradient(135deg, var(--accent-start), var(--accent-end));--font:var(--font-body)}[data-theme=light]{--surface-0:#f0f3fa;--surface-1:#fff;--surface-2:#f7f9fd;--surface-3:#eef2f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--accent-start:#3b6ef5;--accent-end:#7c3aed;--accent-solid:#3b6ef5;--accent-muted:#3b6ef51a;--success:#059669;--success-muted:#0596691a;--warning:#d97706;--warning-muted:#d977061a;--danger:#dc2626;--danger-muted:#dc26261a;--info:#2563eb;--info-muted:#2563eb14;--border-subtle:#0f172a0d;--border-default:#0f172a1a;--border-strong:#0f172a29;--shadow-sm:0 2px 8px #0f172a0f;--shadow-md:0 8px 24px #0f172a14;--shadow-lg:0 16px 48px #0f172a1f;--focus-ring:0 0 0 3px #3b6ef559}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s;--duration-slow:0s}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;min-height:100%}body{font-family:var(--font-body);background:var(--surface-0);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;min-height:var(--touch);color:inherit;background:0 0;border:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton{background:var(--surface-2);animation:none}}.app-shell{min-height:100%;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));padding-top:env(safe-area-inset-top,0px)}.page{padding:var(--space-4);max-width:var(--max-width);margin:0 auto}.page-header{margin-bottom:var(--space-6)}.page-greeting{color:var(--text-secondary);margin-bottom:var(--space-2);font-size:.875rem}.page-title{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:var(--space-4);font-size:1.75rem;font-weight:700;line-height:1.15}.page-title-sm{margin-bottom:var(--space-3);font-size:1.375rem}.section-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem;font-weight:600}.section-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.wordmark{align-items:center;gap:var(--space-2);display:inline-flex}.wordmark-text{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.5rem;font-weight:700}.wordmark-accent,.gradient-text{background:var(--accent);color:#0000;-webkit-background-clip:text;background-clip:text}.card{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-p-sm{padding:var(--space-3)}.card-p-md{padding:var(--space-4)}.card-p-lg{padding:var(--space-5)}.card-interactive{transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.card-interactive:active{border-color:var(--border-strong)}.card-selected{border-color:var(--accent-solid);background:var(--accent-muted)}.wordmark-blur{margin:0;display:inline}.balance-card-wrap{margin-bottom:var(--space-4)}.balance-card-wrap .balance-card{background:linear-gradient(155deg, color-mix(in srgb, var(--accent-start) 14%, var(--surface-2)), var(--surface-2) 55%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-start) 22%, var(--border-default)), var(--shadow-sm);border:none;margin-bottom:0}.balance-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2);font-size:.8125rem;font-weight:500}.balance-amount{font-family:var(--font-display);letter-spacing:-.04em;font-size:2.5rem;font-weight:800;line-height:1.05}.balance-meta{margin-top:var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.btn-wrap{display:inline-block}.btn-wrap-full,.star-border-full{width:100%;display:block}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch);padding:0 var(--space-6);border-radius:var(--radius-full);letter-spacing:-.01em;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);border:none;font-size:.9375rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-lg{min-height:52px;padding:0 var(--space-8);font-size:1rem}.btn-full{width:100%}.btn-in-star{width:100%;box-shadow:none;border:none}.btn-primary{background:var(--accent);color:#fff;box-shadow:inset 0 1px #fff3,0 6px 20px -8px #4f7cff8c}.btn-secondary{background:color-mix(in srgb, var(--surface-1) 88%, var(--surface-3));color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-default), inset 0 1px 0 #ffffff0a}.btn-secondary:active:not(:disabled){background:var(--surface-3)}.btn-ghost{color:var(--text-secondary);min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-full);background:0 0}.btn-danger{background:var(--danger-muted);color:var(--danger);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 35%, transparent)}.btn-icon-only{min-width:var(--touch);border-radius:var(--radius-full);padding:0}.badge{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:uppercase;align-items:center;padding:3px 10px;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-active{background:var(--success-muted);color:var(--success)}.badge-paused{background:var(--warning-muted);color:var(--warning)}.badge-revoked{background:var(--danger-muted);color:var(--danger)}.badge-neutral{background:var(--surface-3);color:var(--text-secondary)}.badge-info{background:var(--info-muted);color:var(--info)}.platform-tile{border-radius:var(--radius-md);background:linear-gradient(145deg, color-mix(in srgb, var(--accent-start) 18%, var(--surface-3)), var(--surface-3));width:48px;height:48px;color:var(--accent-solid);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 4px 12px #0000001f}.input-group{gap:var(--space-2);flex-direction:column;display:flex}.input-label{color:var(--text-secondary);font-size:.875rem}.input-hint{color:var(--text-tertiary);font-size:.8125rem}.input{width:100%;min-height:var(--touch);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-out);font-size:1rem}.input:focus{border-color:var(--accent-solid)}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton-hero{border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack-lg{gap:var(--space-4)}.muted{color:var(--text-secondary);font-size:.875rem}.text-link{color:var(--accent-solid);min-height:var(--touch);align-items:center;gap:var(--space-1);font-size:.875rem;font-weight:500;display:inline-flex}.state-view{text-align:center;padding:var(--space-8) var(--space-4)}.state-icon-wrap{border-radius:var(--radius-full);width:56px;height:56px;margin-bottom:var(--space-4);justify-content:center;align-items:center;display:inline-flex}.state-icon-error{background:var(--danger-muted);color:var(--danger)}.state-icon-empty{background:var(--surface-3);color:var(--text-tertiary)}.state-message{color:var(--text-secondary);margin-bottom:var(--space-4);line-height:1.5}.info-box{background:var(--info-muted);border:1px solid color-mix(in srgb, var(--info) 28%, transparent);border-radius:var(--radius-sm);padding:var(--space-4);font-size:.875rem;line-height:1.55}.info-box-title{color:var(--text-primary);margin-bottom:var(--space-2);font-weight:600}.info-box-body{color:var(--text-secondary)}.info-box-body p+p{margin-top:var(--space-2)}.info-box-body strong{color:var(--text-primary);font-weight:600}.bottom-nav{padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface-1) 94%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-subtle);z-index:100;max-width:var(--max-width);justify-content:space-around;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-link{min-width:64px;min-height:var(--touch);color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.6875rem;font-weight:500;display:flex;position:relative}.bottom-nav-link.active{color:var(--accent-solid)}.bottom-nav-link:has(.bottom-nav-indicator){color:var(--accent-solid)}.bottom-nav-indicator{border-radius:var(--radius-full);background:var(--accent-muted);border:1px solid color-mix(in srgb, var(--accent-start) 28%, transparent);z-index:-1;position:absolute;inset:4px 6px}.bottom-nav-icon{opacity:.85}.bottom-nav-link.active .bottom-nav-icon{opacity:1}.bottom-nav-link:has(.bottom-nav-indicator) .bottom-nav-icon{opacity:1}.ledger-item{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);display:flex}.ledger-item:last-child{border-bottom:none}.ledger-item-title{font-size:.9375rem;font-weight:600}.ledger-item-date{color:var(--text-tertiary);margin-top:2px;font-size:.8125rem}.ledger-item-amount{font-family:var(--font-display);white-space:nowrap;font-size:.9375rem;font-weight:700}.ledger-item-amount-positive{color:var(--success)}.ledger-item-amount-negative{color:var(--danger)}.preset-grid{gap:var(--space-2);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.preset-chip{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-full);background:var(--surface-1);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-default);transition:background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border:none;font-size:.9375rem;font-weight:600;display:inline-flex}.preset-chip-selected{background:var(--accent-muted);color:var(--accent-solid);box-shadow:inset 0 0 0 1.5px var(--accent-solid), 0 4px 16px -6px #4f7cff59}.preset-chip-check{border-radius:var(--radius-full);background:var(--accent-solid);color:#fff;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.qr-wrap{padding:var(--space-4);justify-content:center;display:flex}.qr-wrap img{border-radius:var(--radius-md);width:100%;max-width:280px;padding:var(--space-3);background:#fff}.platform-tile-lg{width:52px;height:52px}.device-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.device-row-info{gap:var(--space-3);align-items:center;min-width:0;display:flex}.device-row-name{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.device-row-sub{color:var(--text-secondary);margin-top:2px;font-size:.8125rem}.device-ip-btn{margin-top:var(--space-2);min-height:36px;color:var(--text-tertiary);padding:0;font-size:.8125rem}.platform-option{align-items:center;gap:var(--space-4);text-align:left;width:100%;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2);min-height:72px;box-shadow:inset 0 0 0 1px var(--border-default);transition:background var(--duration-fast) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);border:none;display:flex}.platform-option-selected{background:color-mix(in srgb, var(--accent-muted) 65%, var(--surface-2));box-shadow:inset 0 0 0 1.5px var(--accent-solid), 0 8px 24px -12px #4f7cff47}.platform-option-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.platform-option-label{letter-spacing:-.01em;font-size:.9375rem;font-weight:700}.platform-option-hint{color:var(--text-tertiary);font-size:.75rem}.platform-option-radio{border-radius:var(--radius-full);width:26px;height:26px;box-shadow:inset 0 0 0 2px var(--border-strong);color:#fff;transition:box-shadow var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.platform-option-radio.is-on{background:var(--accent-solid);box-shadow:none}.faq-item{overflow:hidden}.faq-item summary{cursor:pointer;min-height:var(--touch);align-items:center;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";border-right:2px solid var(--text-tertiary);border-bottom:2px solid var(--text-tertiary);width:8px;height:8px;transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0;margin-left:auto;transform:rotate(45deg)}.faq-item[open] summary:after{transform:rotate(-135deg)}.faq-answer{color:var(--text-secondary);padding-top:var(--space-2);padding-bottom:var(--space-2);font-size:.875rem;line-height:1.55}.instructions-pre{white-space:pre-wrap;color:var(--text-secondary);font-size:.875rem;line-height:1.6}.instruction-guide{gap:var(--space-4);flex-direction:column;display:flex}.instruction-steps-nav{justify-content:center;gap:var(--space-2);display:flex}.instruction-step-dot{border-radius:var(--radius-full);background:var(--surface-3);width:8px;height:8px;min-height:unset;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);padding:0}.instruction-step-dot.active{background:var(--accent-solid);transform:scale(1.25)}.instruction-step-visual{background:var(--surface-3);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:var(--space-2);min-height:120px;padding:var(--space-4);flex-direction:column;display:flex}.instruction-step-number{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-size:.75rem;font-weight:600}.instruction-step-placeholder{color:var(--text-tertiary);font-size:.875rem}.instruction-step-text{color:var(--text-primary);font-size:.9375rem;line-height:1.55}.instruction-step-actions{justify-content:space-between;gap:var(--space-3);display:flex}.toast-container{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + var(--space-3));width:calc(100% - var(--space-8));max-width:calc(var(--max-width) - var(--space-8));z-index:200;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--surface-1);border:1px solid var(--border-default);box-shadow:var(--shadow-md);pointer-events:auto;font-size:.875rem;display:flex}.toast-success{border-color:color-mix(in srgb, var(--success) 35%, transparent)}.toast-error{border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.toast-message{color:var(--text-primary);flex:1}.toast-dismiss{min-width:32px;min-height:32px;color:var(--text-tertiary);justify-content:center;align-items:center;padding:0;display:flex}.payment-comment{word-break:break-word;color:var(--text-primary);margin-top:var(--space-2);font-family:ui-monospace,Cascadia Code,SF Mono,monospace;font-size:1.05rem}.dev-banner{text-align:center;padding:var(--space-4);color:var(--text-tertiary);font-size:.8125rem}.pricing-hero{margin-bottom:var(--space-4)}.pricing-amount{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1.1}.back-link{align-items:center;gap:var(--space-1);color:var(--text-secondary);margin-bottom:var(--space-2);min-height:var(--touch);font-size:.875rem;display:inline-flex}
