@font-face{font-family:Nunito;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_28e10a{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_28e10a{--font-body:"Nunito","Nunito Fallback"}@font-face{font-family:Fredoka;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fredoka;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka Fallback;src:local("Arial");ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.00%;size-adjust:101.84%}.__className_dcba26{font-family:Fredoka,Fredoka Fallback;font-style:normal}.__variable_dcba26{--font-display:"Fredoka","Fredoka Fallback"}:root{--bg:#111118;--surface:#1a1a24;--surface-raised:#232330;--card:#1e1e2a;--fg:#f0ece4;--fg-dim:#c8c0b0;--fg-muted:#7a7488;--accent:#f0c030;--accent-dark:#c89a18;--accent-soft:rgba(240,192,48,0.15);--accent-glow:rgba(240,192,48,0.08);--success:#58cc02;--success-dark:#46a302;--success-soft:rgba(88,204,2,0.15);--error:#ff4b4b;--error-soft:rgba(255,75,75,0.12);--border:#2a2a38;--border-subtle:#1e1e28;--user-bubble-bg:#1f1c14;--user-bubble-border:#3a3420;--radius:16px;--radius-sm:10px;--radius-lg:24px;--radius-full:999px;--ease:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1);--bounce:cubic-bezier(0.34,1.56,0.64,1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body),-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.85}button{cursor:pointer;border:none;font-family:inherit}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--fg-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes breathe{0%,to{opacity:.04}50%{opacity:.1}}@keyframes numberReveal{0%{opacity:0;transform:scale(.5);filter:blur(10px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes drawPath{to{stroke-dashoffset:0}}@keyframes twinkle{0%,to{opacity:.06}50%{opacity:.35}}@keyframes nodeAppear{0%{opacity:0;transform:scale(.3)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes dotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@keyframes progressGlow{0%,to{box-shadow:0 0 6px var(--success-soft)}50%{box-shadow:0 0 16px var(--success-soft)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}.mascot-sparkle{animation:sparkle 1.2s ease-in-out infinite}.landing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:2rem 1rem 2.5rem;text-align:center;position:relative;overflow-x:hidden}.landing-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,var(--accent-glow) 0,transparent 70%);animation:breathe 6s ease-in-out infinite;pointer-events:none}.landing-mascot{opacity:0;animation:popIn .7s var(--bounce) .1s forwards}.landing-mascot svg{animation:float 3s ease-in-out infinite;animation-delay:.8s}.landing-speech{display:inline-block;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius) var(--radius) var(--radius) 4px;padding:.6rem 1.1rem;font-size:.88rem;font-weight:500;color:var(--fg-dim);margin-top:-.5rem;margin-bottom:1rem;position:relative;opacity:0;animation:fadeUp .6s var(--ease-out) .5s forwards}.landing-speech:before{content:"";position:absolute;bottom:-6px;left:18px;width:10px;height:10px;background:var(--surface-raised);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}.landing h1{font-family:var(--font-display),sans-serif;font-size:clamp(2.6rem,8vw,4.2rem);font-weight:600;letter-spacing:.01em;line-height:1.1;margin-bottom:.2rem;position:relative;opacity:0;animation:fadeUp .8s var(--ease-out) .15s forwards}.landing-subtitle{display:block;font-family:var(--font-body),sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-top:.5rem;margin-bottom:1.2rem;opacity:0;animation:fadeUp .8s var(--ease-out) .25s forwards}.landing-desc{max-width:380px;color:var(--fg-dim);font-size:1rem;font-weight:400;line-height:1.75;margin-bottom:1rem;opacity:0;animation:fadeUp .8s var(--ease-out) .35s forwards}.landing-cta{position:relative;background:var(--accent);color:#1a1510;padding:.95rem 2.8rem;border-radius:var(--radius);font-size:1rem;font-weight:700;letter-spacing:.02em;border:none;box-shadow:0 4px 0 var(--accent-dark);transition:all .15s ease;opacity:0;animation:fadeUp .8s var(--ease-out) 1.6s forwards}.landing-cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--accent-dark),0 6px 24px var(--accent-soft)}.landing-cta:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--accent-dark)}.landing-cta:disabled{opacity:.4;cursor:not-allowed;transform:none}.landing-error{margin-top:1.25rem;color:var(--error);font-size:.88rem;font-weight:500;max-width:380px;text-align:center;line-height:1.6;opacity:0;animation:fadeUp .5s var(--ease-out) forwards}.journey{max-width:100%;margin:.5rem 0}.journey-line{stroke-dasharray:1500;stroke-dashoffset:1500;animation:drawPath 1.8s ease-out .25s forwards}.journey-sparkle{opacity:0;animation:twinkle 3.5s ease-in-out infinite}.journey-node{transform-origin:center;opacity:0;animation:nodeAppear .5s var(--bounce) forwards}.journey-node:after{content:attr(data-label);position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);background:var(--surface-raised);color:var(--fg-dim);padding:4px 12px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--bounce);transform:translateX(-50%) translateY(4px);z-index:10;border:1px solid var(--border)}.journey-node:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}.journey-circle{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-family:var(--font-display),sans-serif;transition:transform .3s var(--bounce),filter .3s var(--ease);cursor:default;box-shadow:0 3px 0 rgba(0,0,0,.25)}.journey-circle:hover{transform:scale(1.2) translateY(-2px);filter:brightness(1.15)}.journey-node--final .journey-circle:hover{transform:scale(1.25) translateY(-2px)}.journey-caption{font-size:.85rem;color:var(--fg-muted);font-weight:500;letter-spacing:.03em;margin-top:1rem;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s var(--ease-out) 1.5s forwards}.interview{display:flex;flex-direction:column;height:100dvh;max-width:720px;margin:0 auto}.chat-area{flex:1 1;overflow-y:auto;padding:1.25rem 1rem}.input-bar{padding:.75rem 1rem 1rem;border-top:1px solid var(--border-subtle);display:flex;gap:.5rem;align-items:center;background:var(--bg)}.input-field{flex:1 1;padding:.85rem 1.2rem;border-radius:var(--radius-full);border:2px solid var(--border);background:var(--surface);color:var(--fg);font-size:.95rem;font-weight:400;font-family:var(--font-body),sans-serif;outline:none;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}.input-field::placeholder{color:var(--fg-muted);font-weight:400}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.send-btn{background:var(--success);color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 0 var(--success-dark);transition:all .15s ease;flex-shrink:0}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 0 var(--success-dark),0 4px 16px var(--success-soft)}.send-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--success-dark)}.send-btn:disabled{opacity:.3;cursor:not-allowed;transform:none;box-shadow:0 3px 0 var(--success-dark)}.progress-wrap{padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:.75rem}.progress-mascot{flex-shrink:0}.progress-content{flex:1 1;min-width:0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.progress-phase{font-family:var(--font-display),sans-serif;font-size:.88rem;font-weight:500;color:var(--fg-dim);letter-spacing:.01em}.progress-pct{font-size:.75rem;font-weight:700;color:var(--success);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress-track{height:12px;border-radius:var(--radius-full);background:var(--surface-raised);overflow:hidden;position:relative;border:1px solid var(--border)}.progress-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--success),#78e030);transition:width .6s var(--ease);position:relative;min-width:12px}.progress-fill:after{content:"";position:absolute;top:2px;left:6px;right:6px;height:3px;border-radius:2px;background:rgba(255,255,255,.25)}.bubble-row{display:flex;margin-bottom:.75rem;gap:.5rem;align-items:flex-end;animation-duration:.4s;animation-timing-function:var(--bounce);animation-fill-mode:forwards}.bubble-row--user{justify-content:flex-end;animation-name:slideInRight}.bubble-row--assistant{justify-content:flex-start;animation-name:slideInLeft}.bubble-avatar{flex-shrink:0;margin-bottom:4px}.bubble{max-width:75%;padding:.85rem 1.1rem;border-radius:var(--radius-lg);font-size:.93rem;font-weight:400;line-height:1.65;white-space:pre-wrap;word-break:break-word}.bubble--user{background:var(--user-bubble-bg);color:var(--fg);border:1.5px solid var(--user-bubble-border);border-bottom-right-radius:6px}.bubble--assistant{background:var(--surface);color:var(--fg);border:1.5px solid var(--border);border-bottom-left-radius:6px}.typing-indicator{display:flex;align-items:flex-end;gap:.5rem;margin-bottom:.75rem;animation:fadeIn .3s ease forwards}.typing-dots{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);border-bottom-left-radius:6px;padding:.85rem 1.2rem;display:flex;gap:4px;align-items:center}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--fg-muted);animation:dotBounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.result-page{min-height:100dvh;padding:2.5rem 1.5rem;display:flex;flex-direction:column;align-items:center}.result-mascot{opacity:0;animation:popIn .6s var(--bounce) .1s forwards;margin-bottom:.5rem}.result-mascot svg{animation:wiggle .6s var(--bounce) .7s}.result-card{max-width:600px;width:100%}.result-number{font-size:clamp(5rem,18vw,8rem);font-weight:700;color:var(--accent);line-height:1;margin-bottom:.15rem;animation:numberReveal .9s var(--ease-out) .3s forwards}.result-number,.result-title{font-family:var(--font-display),sans-serif;text-align:center;opacity:0}.result-title{font-size:1.5rem;font-weight:600;color:var(--fg);margin-bottom:.5rem;animation:fadeUp .8s var(--ease-out) .5s forwards}.result-meta{text-align:center;color:var(--fg-dim);font-size:.95rem;font-weight:400;margin-bottom:2rem;opacity:0;animation:fadeUp .8s var(--ease-out) .65s forwards}.result-hr{width:40px;height:3px;border:none;border-radius:2px;background:var(--accent);margin:0 auto 2rem;opacity:0;animation:fadeIn .6s var(--ease-out) .75s forwards}.result-summary{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;white-space:pre-wrap;line-height:1.8;font-size:.95rem;font-weight:400;color:var(--fg-dim);opacity:0;animation:fadeUp .8s var(--ease-out) .85s forwards}.result-eyebrow{font-family:var(--font-body),sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--success);margin-bottom:.5rem;opacity:0;animation:fadeUp .7s var(--ease-out) .05s forwards}.result-portrait-heading{font-family:var(--font-display),sans-serif;font-size:1.1rem;font-weight:500;color:var(--fg-dim);text-align:center;margin-bottom:1.25rem;opacity:0;animation:fadeUp .7s var(--ease-out) .8s forwards}.result-restart{display:inline-block;margin-top:2rem;padding:.8rem 2rem;border-radius:var(--radius);border:2px solid var(--border);color:var(--fg-muted);font-size:.9rem;font-weight:600;transition:all .2s var(--ease);opacity:0;animation:fadeUp .8s var(--ease-out) 1s forwards}.result-restart:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);opacity:1}.state-empty{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--fg-muted);font-weight:400}.state-empty-title{font-family:var(--font-display),sans-serif;font-size:1.3rem;font-weight:600;color:var(--fg-dim);margin-bottom:.5rem}.state-empty-desc{font-size:.92rem;max-width:360px;line-height:1.65;color:var(--fg-muted);margin-bottom:1.5rem}.state-empty-action{display:inline-block;padding:.75rem 2rem;border-radius:var(--radius);background:var(--accent);color:#1a1510;font-size:.9rem;font-weight:700;box-shadow:0 3px 0 var(--accent-dark);transition:all .15s ease}.state-empty-action:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--accent-dark);opacity:1}.state-empty a{display:inline-block;margin-top:.75rem}.faq-section{width:100%;max-width:520px;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-subtle);opacity:0;animation:fadeUp .8s var(--ease-out) 1.8s forwards}.faq-title{font-family:var(--font-display),sans-serif;font-size:1.3rem;font-weight:600;text-align:center;color:var(--fg);margin-bottom:1.25rem}.faq-item{border:1.5px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;overflow:hidden;transition:border-color .2s var(--ease)}.faq-item[open]{border-color:var(--accent)}.faq-question{padding:.85rem 1.1rem;font-size:.92rem;font-weight:600;color:var(--fg);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;transition:color .2s}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";font-size:1.1rem;font-weight:400;color:var(--fg-muted);transition:transform .25s var(--bounce);flex-shrink:0;margin-left:.75rem}.faq-item[open] .faq-question:after{transform:rotate(45deg);color:var(--accent)}.faq-answer{padding:0 1.1rem 1rem;font-size:.88rem;font-weight:400;line-height:1.7;color:var(--fg-dim)}@media (max-width:480px){.landing h1{font-size:2.4rem}.landing-desc{font-size:.92rem}.bubble{max-width:85%;font-size:.9rem}.input-field{font-size:.9rem;padding:.75rem 1rem}.result-summary{padding:1.25rem;font-size:.9rem}.faq-section{margin-top:2rem}}