@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: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_1fa4de{font-family:Fredoka,Fredoka Fallback;font-style:normal}.__variable_1fa4de{--font-fredoka:"Fredoka","Fredoka Fallback"}@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: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_c046d1{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_c046d1{--font-nunito:"Nunito","Nunito Fallback"}:root{--ink:#1A2B52;--ink2:#3D5080;--paper:#F2F2EE;--card:#FFFFFF;--red:#D94F2B;--red-soft:#FDEEE9;--green:#3D7A58;--green-soft:#E8F5EE;--muted:#888EA0;--border:#E2E2E8;--shadow:0 2px 16px rgba(26,43,82,0.08);--r:16px;--rs:10px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}button{cursor:pointer;border:none;background:none;-webkit-tap-highlight-color:transparent}button,input,textarea{font-family:inherit}body{font-family:var(--font-nunito),"Nunito",sans-serif;font-size:16px;line-height:1.5;background:var(--paper);color:var(--ink);min-height:100dvh;max-width:480px;margin:0 auto;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-fredoka),"Fredoka",sans-serif;line-height:1.2}.overlay{display:none;position:fixed;inset:0;background:rgba(26,43,82,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;align-items:center;justify-content:center;padding:24px}.overlay.active{display:flex}.ov-card{background:var(--card);border-radius:var(--r);padding:32px 24px;width:100%;max-width:340px;text-align:center}.ov-icon{font-size:52px;margin-bottom:12px}.ov-card h3{font-size:24px;margin-bottom:8px}.ov-card p{font-size:15px;color:var(--muted);margin-bottom:24px}.ov-btns{display:flex;flex-direction:column;gap:10px}.ph{display:flex;align-items:center;gap:12px;padding:20px 16px 8px;flex-shrink:0}.ph h2{font-size:22px;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-back{width:40px;height:40px;border-radius:50%;background:var(--card);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ink);box-shadow:var(--shadow);flex-shrink:0}.screen{display:flex;flex-direction:column;min-height:100dvh}.home-hero{padding:28px 16px 12px;position:relative}.home-hero h1{font-size:38px;color:var(--ink)}.home-hero h1 span{color:var(--red)}.home-hero p{color:var(--muted);font-size:15px;margin-top:4px}.sess-list{padding:8px 16px 100px;gap:12px}.empty,.sess-list{flex:1 1;display:flex;flex-direction:column}.empty{align-items:center;justify-content:center;text-align:center;padding:40px 24px;color:var(--muted)}.empty-icon{font-size:56px;margin-bottom:16px}.empty h3{font-size:20px;color:var(--ink2);margin-bottom:8px}.sess-card{background:var(--card);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);border:1.5px solid var(--border)}.sc-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.sc-top h3{font-size:18px;flex:1 1;overflow:hidden;text-overflow:ellipsis}.sc-top h3,.tag{white-space:nowrap}.tag{background:var(--red-soft);color:var(--red);font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;flex-shrink:0}.sc-info{display:flex;align-items:center;gap:6px;margin-bottom:6px}.sc-desc,.sc-info{min-width:0;overflow:hidden}.sc-desc{font-size:12px;text-overflow:ellipsis;flex:1 1}.mbadge,.sc-desc{color:var(--muted);white-space:nowrap}.mbadge{font-size:11px;font-weight:700;flex-shrink:0}.mbadge.ok{color:var(--green)}.mbadge.partial{color:var(--red)}@media (min-width:500px){.sc-top{margin-bottom:6px}.sc-top h3{white-space:normal;overflow:visible;text-overflow:clip}.sc-info{flex-wrap:wrap;gap:4px 10px;margin-bottom:12px}.sc-desc{white-space:normal;flex-basis:100%;font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mbadge{font-size:13px}}.sc-actions{display:none}.swipe-wrap{position:relative;overflow:hidden;border-radius:var(--r)}.swipe-behind{position:absolute;inset:0;display:flex}.swipe-del{background:var(--red);justify-content:flex-end;padding-right:20px}.swipe-del,.swipe-edit{flex:1 1;color:#fff;display:flex;align-items:center;font-weight:700;font-size:15px;border-radius:var(--r)}.swipe-edit{background:var(--green);justify-content:flex-start;padding-left:20px}.swipe-card{will-change:transform;border-radius:var(--r);cursor:pointer}@media (min-width:500px){.swipe-behind{display:none}.swipe-card{transform:none!important;transition:none!important;cursor:default}.sc-actions{display:flex;gap:8px}.sc-btn-edit{background:var(--green)}.sc-btn-del,.sc-btn-edit{display:inline-flex;color:#fff;padding:12px;width:48px;flex:none;justify-content:center}.sc-btn-del{background:var(--red)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-nunito),"Nunito",sans-serif;font-weight:700;font-size:16px;padding:12px 20px;border-radius:var(--rs);transition:transform .1s,opacity .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn-p{background:var(--ink);color:#fff;flex:1 1}.btn-s{background:var(--card);color:var(--ink);border:1.5px solid var(--border);flex:1 1}.btn-r,.fab{background:var(--red);color:#fff}.fab{position:fixed;bottom:24px;right:max(16px,calc((100vw - 480px) / 2 + 16px));width:60px;height:60px;border-radius:50%;font-size:32px;box-shadow:0 4px 20px rgba(217,79,43,.4);display:flex;align-items:center;justify-content:center;z-index:10}.form-body{flex:1 1;padding:8px 16px 24px;gap:20px;overflow-y:auto}.fg,.form-body{display:flex;flex-direction:column}.fg{gap:6px}label{font-size:14px;font-weight:700;color:var(--ink2);letter-spacing:.02em}input[type=text],textarea{width:100%;padding:13px 14px;border:1.5px solid var(--border);border-radius:var(--rs);font-size:16px;color:var(--ink);background:var(--card);transition:border-color .15s;-webkit-appearance:none}input[type=text]:focus,textarea:focus{outline:none;border-color:var(--ink)}textarea{resize:vertical;min-height:80px}.form-foot{padding:16px;border-top:1.5px solid var(--border);flex-shrink:0}.setup-scroll{flex:1 1;overflow-y:auto;padding-bottom:16px}.sec-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:16px 16px 8px}.word-list{flex-direction:column;padding:0 16px}.word-list,.wrow{display:flex;gap:8px}.wrow{background:var(--card);border:1.5px solid var(--border);border-radius:var(--rs);padding:10px 12px;align-items:center;transition:border-color .2s,background .2s}.wrow.has-rec{border-color:#C8E6D4;background:#FAFFFE}.wrow.is-rec{border-color:var(--red);background:var(--red-soft)}.wrow input{flex:1 1;border:none;background:transparent;font-size:16px;color:var(--ink);padding:2px 0;min-width:0}.wrow input:focus{outline:none}.wrow input::placeholder{color:var(--muted)}.dur{font-size:12px;font-weight:700;color:var(--green);background:var(--green-soft);padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.dur.rec{color:var(--red);background:var(--red-soft)}.ib{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.ib-rec{background:var(--red-soft);color:var(--red)}.ib-rec.active{background:var(--red);color:#fff}.ib-play{background:#EEF0F8;color:var(--ink)}.ib-play.disabled{opacity:.3;pointer-events:none}.ib-rm{background:#F4F4F4;color:var(--muted);font-size:16px}.lang-warn{font-size:14px;color:var(--red);flex-shrink:0;cursor:help;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wrow.is-invalid{border-color:var(--red)!important;background:var(--red-soft)!important;opacity:.8}.mic-meter{display:flex;align-items:center;gap:3px;height:36px;width:72px;flex-shrink:0;padding:4px 6px;background:var(--red-soft);border-radius:8px;justify-content:center}.mic-bar{width:5px;height:3px;background:var(--red);border-radius:3px;transition:height .05s ease}.add-word{margin:8px 16px 0;background:var(--paper);border:1.5px dashed var(--border);border-radius:var(--rs);padding:12px;width:calc(100% - 32px);color:var(--muted);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;gap:6px}.s-panel{margin:0 16px;background:var(--card);border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden}.s-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);gap:16px}.s-row:last-child{border-bottom:none}.s-label{font-size:15px;font-weight:600;color:var(--ink)}.s-sub{font-size:13px;color:var(--muted);margin-top:1px}.toggle{position:relative;width:48px;height:28px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.t-track{position:absolute;inset:0;background:var(--border);border-radius:14px;transition:background .2s;cursor:pointer}.toggle input:checked+.t-track{background:var(--green)}.t-thumb{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:left .2s;pointer-events:none}.toggle input:checked~.t-thumb{left:24px}.numinput{gap:4px}.numinput,.numinput button{display:flex;align-items:center}.numinput button{width:32px;height:32px;border-radius:8px;background:var(--paper);border:1.5px solid var(--border);font-size:18px;font-weight:700;color:var(--ink);justify-content:center}.numinput span{min-width:36px;text-align:center;font-weight:700;font-size:16px}.setup-foot{padding:16px;border-top:1.5px solid var(--border);flex-shrink:0}.btn-start-p{width:100%;background:var(--red);color:#fff;padding:16px;border-radius:var(--rs);font-size:18px;font-weight:700;font-family:var(--font-fredoka),"Fredoka",sans-serif}.btn-start-p:disabled{opacity:.4;pointer-events:none}.countdown-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;background:var(--ink);gap:16px}.cd-num{font-size:140px;font-weight:700;color:#fff;line-height:1;animation:cdpop .5s ease-out}.cd-label,.cd-num{font-family:var(--font-fredoka),"Fredoka",sans-serif}.cd-label{font-size:22px;color:rgba(255,255,255,.45)}@keyframes cdpop{0%{transform:scale(1.5);opacity:.3}to{transform:scale(1);opacity:1}}.practice-screen{display:flex;flex-direction:column;min-height:100dvh}.prac-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px;flex-shrink:0}.prac-lbl{font-size:14px;font-weight:700;color:var(--muted)}.btn-pause-sm{width:40px;height:40px;border-radius:50%;background:var(--card);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--ink);box-shadow:var(--shadow)}.prog-track{height:6px;background:var(--border);margin:0 16px;border-radius:3px;overflow:hidden;flex-shrink:0}.prog-fill{height:100%;background:var(--red);border-radius:3px;transition:width .6s ease}.timer-track{height:4px;background:var(--border);margin:6px 16px 0;border-radius:2px;overflow:hidden;flex-shrink:0}.timer-fill{height:100%;background:var(--ink2);border-radius:2px;width:0}.audio-area{flex:1 1;flex-direction:column;gap:24px;padding:32px 24px}.audio-area,.waveform{display:flex;align-items:center;justify-content:center}.waveform{gap:5px;height:80px}.wb{width:6px;border-radius:3px;background:var(--border)}.wb:first-child{height:18px;--ad:.00s}.wb:nth-child(2){height:32px;--ad:.10s}.wb:nth-child(3){height:52px;--ad:.05s}.wb:nth-child(4){height:68px;--ad:.15s}.wb:nth-child(5){height:80px;--ad:.20s}.wb:nth-child(6){height:64px;--ad:.08s}.wb:nth-child(7){height:44px;--ad:.12s}.wb:nth-child(8){height:30px;--ad:.18s}.wb:nth-child(9){height:16px;--ad:.03s}.wb.playing{background:var(--ink)}.wb.playing,.wb.recwave{animation:wave .7s ease-in-out infinite alternate;animation-delay:var(--ad)}.wb.recwave{background:var(--red)}@keyframes wave{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.wb{animation:none!important}}.audio-status{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-size:18px;color:var(--muted);text-align:center}.audio-status.on{color:var(--ink)}.prac-btns{padding:8px 16px 16px;flex-direction:column;flex-shrink:0}.prac-btns,.prac-main{display:flex;gap:10px}.btn-replay{flex:1 1;background:var(--card);color:var(--ink);border:1.5px solid var(--border);font-size:16px}.btn-next,.btn-replay{padding:16px;border-radius:var(--rs);font-weight:700}.btn-next{flex:2 1;background:var(--ink);color:#fff;font-size:18px;font-family:var(--font-fredoka),"Fredoka",sans-serif}.btn-finish-sm{background:transparent;color:var(--muted);font-size:14px;font-weight:700;padding:10px;text-align:center;width:100%}.end-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:32px 24px;text-align:center}.end-emoji{font-size:72px;margin-bottom:16px}.end-title{font-size:36px;margin-bottom:8px}.end-sub{font-size:15px;color:var(--muted);margin-bottom:32px}.end-stats{display:flex;gap:16px;width:100%;margin-bottom:36px}.stat-c{flex:1 1;background:var(--card);border-radius:var(--r);padding:20px 12px;box-shadow:var(--shadow)}.stat-v{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-size:36px;font-weight:700;color:var(--ink)}.stat-l{font-size:13px;color:var(--muted);margin-top:4px}.end-btns{display:flex;flex-direction:column;gap:10px;width:100%}.end-btns .btn{width:100%;padding:15px;font-size:17px}.cat-wrap{position:relative}.cat-drop{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1.5px solid var(--border);border-radius:var(--rs);box-shadow:var(--shadow);z-index:50;overflow:hidden;max-height:280px;overflow-y:auto}.cat-item{padding:12px 14px;font-size:15px;cursor:pointer;display:flex;align-items:center;gap:10px;color:var(--ink)}.cat-item.hi,.cat-item:hover{background:var(--paper)}.cat-item .cat-count{color:var(--muted)}.cat-item .cat-count,.cat-item .cat-new{font-size:12px;font-weight:700;margin-left:auto}.cat-item .cat-new{color:var(--red)}.cat-divider{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 14px 4px;border-top:1px solid var(--border)}.android-banner{background:var(--ink);color:#fff;padding:12px 16px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}.android-banner a{color:#fff;text-decoration:underline;font-weight:700;white-space:nowrap}.android-banner-close{margin-left:auto;font-size:18px;opacity:.6;flex-shrink:0}