*{box-sizing:border-box}body{margin:0;color:#1d3531;background:radial-gradient(circle at 5% 0,hsla(29,68%,73%,.28),transparent 28%),radial-gradient(circle at 100% 20%,rgba(93,155,137,.18),transparent 30%),linear-gradient(180deg,#f7f2e9,#eee8dd);font-family:Trebuchet MS,sans-serif}button,input,textarea{font-family:inherit}#app,.shell{min-height:100vh}.topbar{justify-content:space-between;max-width:1240px;margin:0 auto;padding:20px 28px 10px}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:#1d5049;font-family:Georgia,serif;font-weight:700}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{color:#173d3a;font-family:Georgia,serif;font-size:19px}.brand small{margin-top:2px;color:#7a8783;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.menu{max-width:1184px;margin:0 auto;border:1px solid rgba(22,66,60,.12)!important;border-radius:16px!important;background:hsla(0,0%,100%,.7)!important;backdrop-filter:blur(12px)}.menu .p-menuitem-link{border-radius:10px}.menu .router-link-active{background:#e5eeeb}.logout-button{color:#1d5049!important}.install-banner,.update-banner{display:flex;justify-content:flex-end;max-width:1184px;margin:12px auto 0}.page{width:min(1184px,calc(100% - 40px));margin:0 auto;padding:34px 0 64px}.p-button{border-color:#20564e;background:#20564e}.p-button:enabled:hover{border-color:#173f39;background:#173f39}.p-button.p-button-outlined,.p-button.p-button-text{color:#20564e;background:transparent}.p-button.p-button-text{border-color:transparent}@media (max-width:768px){.topbar{padding:15px 20px 8px}.menu{width:calc(100% - 32px)}.menu .p-menubar-button{display:none!important}.menu .p-menubar-root-list{display:flex!important;position:static!important;width:100%;padding:0!important;border:0!important;box-shadow:none!important}.menu .p-menuitem{flex:1}.menu .p-menuitem-link{justify-content:center}.menu .p-menuitem-text{display:none}.page{width:min(100% - 28px,1184px);padding-top:26px}.install-banner,.update-banner{margin-right:16px}}.dashboard-page[data-v-0ca77137]{display:grid;gap:24px}.hero[data-v-0ca77137]{display:flex;justify-content:space-between;gap:36px;padding:38px;border-radius:30px;color:#fffaf4;background:linear-gradient(135deg,#173d3a,#245b55 66%,#d06d4d 140%);box-shadow:0 24px 60px rgba(17,54,51,.18)}.hero h1[data-v-0ca77137]{max-width:760px;margin:8px 0 14px;font-family:Georgia,serif;font-size:clamp(36px,5vw,62px);font-weight:500;line-height:1.02}.hero-copy[data-v-0ca77137]{max-width:760px;margin:0;color:#d8e6e1;font-size:17px;line-height:1.6}.hero-actions[data-v-0ca77137]{display:flex;min-width:230px;flex-direction:column;justify-content:center;gap:12px}.hero[data-v-0ca77137] .p-button{justify-content:center;background:#f7c96b;border-color:#f7c96b;color:#173d3a}.hero[data-v-0ca77137] .p-button-outlined{background:transparent;border-color:#d8e6e1;color:#fff}.eyebrow[data-v-0ca77137]{margin:0;color:#efb89e;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.stats-grid[data-v-0ca77137]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card[data-v-0ca77137]{position:relative;display:flex;min-height:150px;flex-direction:column;padding:22px;overflow:hidden;border:1px solid rgba(24,61,58,.1);border-radius:22px;background:hsla(0,0%,100%,.82)}.stat-card[data-v-0ca77137]:before{position:absolute;top:0;left:0;width:100%;height:5px;content:"";background:var(--accent)}.stat-card strong[data-v-0ca77137]{margin:12px 0 4px;color:#173d3a;font-family:Georgia,serif;font-size:38px}.stat-card>span[data-v-0ca77137]:last-child{color:#687572;line-height:1.4}.stat-label[data-v-0ca77137]{color:#3f514e;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.accent-coral[data-v-0ca77137]{--accent:#d87959}.accent-mint[data-v-0ca77137]{--accent:#6cae98}.accent-gold[data-v-0ca77137]{--accent:#e5b852}.accent-blue[data-v-0ca77137]{--accent:#6d94b0}.routine-card[data-v-0ca77137]{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;padding:32px;border-radius:26px;background:hsla(0,0%,100%,.66)}.routine-card h2[data-v-0ca77137]{margin:8px 0;color:#173d3a;font-family:Georgia,serif;font-size:32px;font-weight:500}.routine-card ol[data-v-0ca77137]{display:grid;gap:18px;margin:0;padding:0;list-style:none}.routine-card li[data-v-0ca77137]{display:flex;gap:16px}.routine-card li>span[data-v-0ca77137]{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;background:#f3c56b;color:#173d3a;font-weight:700}.routine-card strong[data-v-0ca77137]{color:#253e3a}.routine-card p[data-v-0ca77137]{margin:4px 0 0;color:#667470;line-height:1.5}@media (max-width:900px){.hero[data-v-0ca77137]{flex-direction:column}.hero-actions[data-v-0ca77137]{min-width:0}.stats-grid[data-v-0ca77137]{grid-template-columns:repeat(2,1fr)}.routine-card[data-v-0ca77137]{grid-template-columns:1fr}}@media (max-width:560px){.hero[data-v-0ca77137]{padding:26px}.stats-grid[data-v-0ca77137]{grid-template-columns:1fr}}.form-grid[data-v-b9915a08]{display:grid;gap:18px}label[data-v-b9915a08]{display:grid;gap:7px;color:#3a4c49;font-size:13px;font-weight:700}[data-v-b9915a08] .p-dropdown,[data-v-b9915a08] .p-inputtextarea{width:100%}.practice-page[data-v-05901f38]{position:relative}.page-header[data-v-05901f38]{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-header h1[data-v-05901f38]{margin:6px 0;color:#173d3a;font-family:Georgia,serif;font-size:46px;font-weight:500}.page-header p[data-v-05901f38]:last-child{margin:0;color:#6a7774}.eyebrow[data-v-05901f38]{margin:0;color:#bf6548;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.filters[data-v-05901f38]{display:grid;grid-template-columns:minmax(260px,1fr) 220px 180px auto;gap:12px;margin:26px 0 12px;padding:16px;border:1px solid rgba(24,61,58,.1);border-radius:18px;background:hsla(0,0%,100%,.7)}.search-field[data-v-05901f38]{position:relative}.search-field i[data-v-05901f38]{position:absolute;z-index:1;top:13px;left:13px;color:#84908e}.search-field[data-v-05901f38] input{width:100%;padding-left:38px}.filters[data-v-05901f38] .p-dropdown{width:100%}.queue-summary[data-v-05901f38]{margin:18px 4px 12px;color:#6c7875}.item-list[data-v-05901f38]{display:grid;gap:14px}.practice-card[data-v-05901f38]{padding:22px;border:1px solid rgba(24,61,58,.1);border-radius:22px;background:hsla(0,0%,100%,.84);box-shadow:0 10px 30px rgba(26,59,56,.05)}.card-topline[data-v-05901f38]{display:flex;align-items:center;gap:10px}.category-pill[data-v-05901f38]{padding:5px 9px;border-radius:999px;background:#e8efed;color:#31504b;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.category-pill.pronunciation[data-v-05901f38]{background:#e4eef7;color:#3c6482}.category-pill.vocabulary[data-v-05901f38]{background:#f7ead0;color:#886625}.category-pill.grammar[data-v-05901f38]{background:#f4ddd4;color:#8a503b}.category-pill.structure[data-v-05901f38]{background:#e5e0f2;color:#5f5280}.learned[data-v-05901f38],.source[data-v-05901f38]{color:#72807c;font-size:12px}.learned[data-v-05901f38]{margin-left:auto;color:#34755f;font-weight:700}.practice-copy[data-v-05901f38]{margin:16px 0}.cue[data-v-05901f38]{margin:0;color:#213c38;font-size:18px;font-weight:700;line-height:1.45}.target[data-v-05901f38]{display:grid;gap:3px;margin:12px 0 0;color:#22634f;font-size:17px;line-height:1.45}.target span[data-v-05901f38]{color:#8b6c59;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.notes[data-v-05901f38]{margin:10px 0 0;color:#687572;line-height:1.45}.practice-meta[data-v-05901f38]{display:flex;gap:26px;padding:14px 0;border-top:1px solid #e7ecea;border-bottom:1px solid #e7ecea}.practice-meta div[data-v-05901f38]{display:grid;gap:2px}.practice-meta span[data-v-05901f38]{color:#8a9592;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.practice-meta strong[data-v-05901f38]{color:#36504b;font-size:14px}.card-actions[data-v-05901f38]{display:flex;align-items:center;gap:8px;margin-top:16px}.spacer[data-v-05901f38]{flex:1}.empty[data-v-05901f38]{padding:70px 20px;text-align:center;color:#70807c}.empty i[data-v-05901f38]{color:#64a58e;font-size:48px}.empty h2[data-v-05901f38]{color:#31504b}.show-more[data-v-05901f38]{justify-self:center;margin:10px 0}@media (max-width:820px){.filters[data-v-05901f38]{grid-template-columns:1fr 1fr}.search-field[data-v-05901f38]{grid-column:1/-1}}@media (max-width:560px){.page-header[data-v-05901f38]{align-items:flex-start;flex-direction:column}.filters[data-v-05901f38]{grid-template-columns:1fr}.search-field[data-v-05901f38]{grid-column:auto}.practice-meta[data-v-05901f38]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card-actions[data-v-05901f38]{flex-wrap:wrap}.spacer[data-v-05901f38]{display:none}}.page-header[data-v-1d84db6e]{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-header h1[data-v-1d84db6e]{margin:6px 0;color:#173d3a;font-family:Georgia,serif;font-size:46px;font-weight:500}.page-header p[data-v-1d84db6e]:last-child{margin:0;color:#6a7774}.eyebrow[data-v-1d84db6e]{margin:0;color:#bf6548;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.reviews[data-v-1d84db6e]{display:grid;gap:18px;margin-top:28px}.review-card[data-v-1d84db6e]{display:grid;grid-template-columns:105px 1fr;overflow:hidden;border:1px solid rgba(24,61,58,.1);border-radius:24px;background:hsla(0,0%,100%,.84)}.score[data-v-1d84db6e]{display:flex;align-items:baseline;justify-content:center;padding:28px 12px;color:#fff;background:#1f514b}.score strong[data-v-1d84db6e]{font-family:Georgia,serif;font-size:42px}.score span[data-v-1d84db6e]{color:#bcd0ca}.review-body[data-v-1d84db6e]{padding:24px}.review-title[data-v-1d84db6e]{display:flex;justify-content:space-between;gap:20px}.review-title h2[data-v-1d84db6e]{margin:0 0 3px;color:#264640;font-size:22px}.review-title time[data-v-1d84db6e]{color:#82908c;font-size:12px}.review-title>span[data-v-1d84db6e]{align-self:flex-start;padding:6px 9px;border-radius:999px;background:#f1dfd6;color:#86533f;font-size:11px;font-weight:700}.feedback[data-v-1d84db6e],.summary[data-v-1d84db6e]{color:#62716d;line-height:1.55}.rating-row[data-v-1d84db6e]{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.rating-row span[data-v-1d84db6e]{padding:7px 9px;border-radius:8px;background:#edf2f0;color:#586864;font-size:12px}.rating-row strong[data-v-1d84db6e]{color:#244b44}details[data-v-1d84db6e]{border-top:1px solid #e5ebe9}summary[data-v-1d84db6e]{padding:15px 0 0;color:#315c54;font-weight:700;cursor:pointer}.mistake[data-v-1d84db6e]{margin-top:12px;padding:14px;border-radius:14px;background:#faf8f3}.mistake>span[data-v-1d84db6e]{color:#856a56;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mistake p[data-v-1d84db6e]{display:flex;align-items:flex-start;gap:8px;margin:8px 0;line-height:1.4}.wrong[data-v-1d84db6e]{color:#8b4c43}.right[data-v-1d84db6e]{color:#32705c}.mistake small[data-v-1d84db6e]{color:#75817e}.empty[data-v-1d84db6e]{margin-top:28px;padding:80px 20px;border-radius:24px;background:hsla(0,0%,100%,.65);text-align:center;color:#74817e}.empty i[data-v-1d84db6e]{color:#d47b5b;font-size:48px}.empty h2[data-v-1d84db6e]{color:#31504b}@media (max-width:680px){.page-header[data-v-1d84db6e]{align-items:flex-start;flex-direction:column}.review-card[data-v-1d84db6e]{grid-template-columns:1fr}.score[data-v-1d84db6e]{justify-content:flex-start;padding:14px 22px}.review-title[data-v-1d84db6e]{flex-direction:column}.review-title>span[data-v-1d84db6e]{align-self:flex-start}}.login-page[data-v-61f9df3f]{min-height:calc(100vh - 40px);display:grid;place-items:center;padding:24px}.login-card[data-v-61f9df3f]{width:min(440px,100%);padding:36px;border-radius:28px;background:hsla(0,0%,100%,.88);box-shadow:0 20px 60px rgba(22,66,60,.14)}.eyebrow[data-v-61f9df3f]{margin:0 0 8px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:#b86145}h1[data-v-61f9df3f]{margin:0;font-size:40px;color:#173d3a;font-family:Georgia,serif;font-weight:500}.copy[data-v-61f9df3f]{margin:14px 0 28px;line-height:1.5;color:#4b5a57}