@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2)format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2)format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2)format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-vietnamese-700-normal-DH94m5DZ.woff2)format("woff2"),url(/assets/fraunces-vietnamese-700-normal-DxawQjq2.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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-ext-700-normal-CanUGppC.woff2)format("woff2"),url(/assets/fraunces-latin-ext-700-normal-DuBstVeD.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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2)format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.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}.mode-icon.violet{background:#8062b6}.mode-icon.forest{background:#4f8a63}.write-card .kicker,.match-heading .kicker{align-items:center;gap:6px;display:inline-flex}.write-form{text-align:left;gap:11px;width:min(560px,100%);display:grid}.write-form label{color:var(--muted);font-size:13px;font-weight:700}.write-form textarea{min-height:110px}.write-form .primary{justify-self:center}.written-feedback{border-top:1px solid var(--line);width:min(580px,100%);padding-top:25px}.written-feedback>span{border-radius:50%;place-items:center;width:42px;height:42px;margin:auto;display:grid}.written-feedback.correct>span{color:#17645e;background:#d9eee7}.written-feedback.incorrect>span{color:#aa3f32;background:#fff0ed}.written-feedback h2{margin:15px 0 8px;font-size:28px}.written-feedback p{margin:0;font-size:20px;line-height:1.55}.written-feedback small{color:var(--muted);margin-top:10px;display:block}.match-timer{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.match-heading{align-items:end}.match-board{grid-template-columns:1fr 1fr;gap:18px;display:grid}.match-board section{align-content:start;gap:9px;display:grid}.match-board h2{margin:0 0 5px;font-size:22px}.match-board button{border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:13px 15px;transition:transform .15s,border-color .15s,background-color .15s;display:flex}.match-board button:hover:not(:disabled){border-color:var(--teal);transform:translateY(-1px)}.match-board button.selected{border-color:var(--teal);background:#d9eee7;box-shadow:0 0 0 3px #166b681a}.match-board button.matched{color:#17645e;cursor:default;background:#eff8f4;border-color:#bcded2}.match-board button:disabled:not(.matched){opacity:.7;cursor:wait}@media (width<=900px){main .mode-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){main .mode-grid{grid-template-columns:1fr}.match-heading .secondary{margin-top:18px}.match-board{grid-template-columns:1fr;gap:25px}}:root{color:#202827;font-synthesis:none;--ink:#202827;--muted:#68716d;--cream:#fbf8f1;--paper:#fffdf8;--coral:#f26b4e;--coral-dark:#d95539;--teal:#166b68;--gold:#e7a43b;--line:#dedbd1;background:#fbf8f1;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #166b6840}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em;font-family:Fraunces,serif}.page-width{width:min(1160px,100% - 48px);margin-inline:auto}.app-shell{min-height:100vh;overflow:hidden}.topbar{z-index:20;justify-content:space-between;align-items:center;width:min(1220px,100% - 48px);height:78px;margin:auto;display:flex;position:relative}.brand{cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:22px;font-weight:700;display:inline-flex}.brand>span:last-child>span{color:var(--coral)}.brand-mark{color:#fff;background:var(--teal);border-radius:12px;place-items:center;width:38px;height:38px;display:grid;transform:rotate(-3deg)}.desktop-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff94;border:1px solid #dedbd1b3;border-radius:16px;gap:3px;padding:5px;display:flex}.desktop-nav button,.mobile-nav button{color:#69716e;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:7px;padding:9px 13px;font-size:14px;font-weight:600;display:flex}.desktop-nav button:hover,.desktop-nav button.active,.mobile-nav button.active{color:var(--ink);background:#fff;box-shadow:0 3px 12px #2f322d12}.menu-button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:8px;display:none}.mobile-nav{display:none}main{min-height:calc(100vh - 210px)}.hero{grid-template-columns:1.03fr .97fr;align-items:center;gap:40px;min-height:595px;padding-block:58px 72px;display:grid}.hero-copy{z-index:2;position:relative}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--coral-dark);font-size:12px;font-weight:700}.eyebrow{background:#fff0e8;border:1px solid #f8d8ca;border-radius:100px;align-items:center;gap:7px;padding:8px 12px;display:inline-flex}.hero h1{margin:25px 0 28px;font-size:clamp(58px,7vw,92px);line-height:.94}.hero h1 em{color:var(--coral);font-style:italic;font-weight:600}.hero-copy>p{max-width:590px;color:var(--muted);font-size:19px;line-height:1.65}.button-row{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.primary,.secondary,.danger-outline,label.file-button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 17px;font-weight:700;text-decoration:none;display:inline-flex}.primary{background:var(--coral);color:#fff;box-shadow:0 7px 18px #f26b4e33}.primary:hover{background:var(--coral-dark);transform:translateY(-1px)}.secondary,label.file-button{border-color:var(--line);background:#fff}.secondary:hover,label.file-button:hover{border-color:#b8bbb4}.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.hero-visual{isolation:isolate;height:440px;position:relative}.hero-visual:before{content:"";z-index:-2;background:#d8ece5;border-radius:50%;position:absolute;inset:40px 12px 15px 45px;transform:rotate(-8deg)}.hero-visual:after{content:"";z-index:-3;background:#fde4a8;border-radius:50%;width:170px;height:170px;position:absolute;top:0;right:-35px}.floating-card{border:1px solid #2028271a;border-radius:24px;flex-direction:column;padding:36px;display:flex;position:absolute;box-shadow:0 26px 60px #3036312e}.floating-card b{font-family:Fraunces,serif;font-size:28px;line-height:1.22}.card-back{background:var(--teal);color:#fff;opacity:.9;width:340px;height:260px;top:30px;right:20px;transform:rotate(8deg)}.card-back span{opacity:.7;text-transform:uppercase;letter-spacing:.13em;margin-bottom:auto;font-size:11px}.card-front{background:var(--paper);width:365px;height:275px;top:115px;left:30px;transform:rotate(-6deg)}.card-front small{color:var(--coral);letter-spacing:.15em;font-weight:700}.card-front b{margin:auto 0;font-size:34px}.card-front span{color:var(--muted);font-size:13px}.orbit{color:#fff;border-radius:20px;place-items:center;width:66px;height:66px;display:grid;position:absolute;box-shadow:0 12px 25px #20282729}.orbit-one{background:var(--coral);top:30px;left:0;transform:rotate(-12deg)}.orbit-two{background:var(--gold);bottom:20px;right:15px;transform:rotate(9deg)}.stats-strip{background:var(--teal);color:#fff;justify-content:center;min-height:102px;display:flex}.stats-strip>div{border-right:1px solid #ffffff2e;grid-template-rows:auto auto;grid-template-columns:28px auto;align-content:center;column-gap:13px;width:min(300px,30%);padding-left:55px;display:grid}.stats-strip>div:last-child{border:0}.stats-strip svg{color:#8dc5b7;grid-row:1/3;align-self:center}.stats-strip strong{font-family:Fraunces,serif;font-size:25px;line-height:1}.stats-strip span{opacity:.72;font-size:12px}.section-block,.page-section{padding-block:80px}.page-section{min-height:690px}.section-heading,.page-title{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.section-heading h2,.page-title h1{margin:6px 0 0;font-size:38px}.page-title{align-items:start;margin-bottom:38px}.page-title h1{font-size:52px}.page-title p{max-width:660px;color:var(--muted);margin:9px 0 0;line-height:1.6}.page-title.compact{margin-bottom:24px}.text-button,.back-button{cursor:pointer;color:var(--teal);background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-weight:700;display:inline-flex}.set-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.set-card{text-align:left;border:1px solid var(--line);border-top:5px solid var(--set-color);background:var(--paper);cursor:pointer;border-radius:18px;min-height:255px;padding:27px;transition:transform .2s,box-shadow .2s;box-shadow:0 5px 20px #29302c0a}.set-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #29302c1a}.set-subject{color:var(--set-color);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:700}.set-card h3{margin:18px 0 9px;font-family:Fraunces,serif;font-size:24px}.set-card p{color:var(--muted);min-height:48px;line-height:1.5}.set-card-meta{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.progress-line,.study-progress,.score-bar{background:#ebe8df;border-radius:10px;height:7px;overflow:hidden}.progress-line{margin-top:13px}.progress-line i,.study-progress i,.score-bar i{background:var(--set-color,var(--coral));border-radius:inherit;height:100%;transition:width .35s;display:block}.how-it-works{background:#efe9dd;padding:85px 0 90px}.how-it-works h2{margin:7px 0 35px;font-size:43px}.steps{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.steps article{border-left:1px solid #cfc7b9;padding:25px 30px}.steps article>b{color:var(--coral);letter-spacing:.1em;font-size:12px}.steps h3{margin:28px 0 8px;font-family:Fraunces,serif;font-size:25px}.steps p{color:var(--muted);line-height:1.6}.empty-state{text-align:center;min-height:260px;color:var(--muted);border:1px dashed #c8c5bc;border-radius:18px;justify-content:center;place-items:center;padding:45px;display:grid}.empty-state h3{color:var(--ink);margin:10px 0 4px}.search{border:1px solid var(--line);max-width:500px;color:var(--muted);background:#fff;border-radius:13px;align-items:center;gap:10px;margin-bottom:27px;padding:0 15px;display:flex}.search input{background:0 0;border:0;outline:0;flex:1;height:48px}.library-grid{grid-template-columns:repeat(3,1fr)}label{display:block}label>span,fieldset legend{letter-spacing:.04em;color:#505a56;margin-bottom:7px;font-size:12px;font-weight:700;display:block}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #d4d3cc;border-radius:10px;outline:none;padding:11px 13px}input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #166b6814}textarea{resize:vertical;line-height:1.5}.editor-panel,.generator-panel,.trust-panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:27px}.editor-panel>label{margin-top:19px}.form-grid{grid-template-columns:1.4fr 1fr;gap:17px;display:grid}.color-picker{border:0;margin:20px 0 0;padding:0}.color-picker button{cursor:pointer;border:3px solid #fff;border-radius:50%;width:30px;height:30px;margin-right:9px;box-shadow:0 0 0 1px #ccc}.color-picker button.selected{box-shadow:0 0 0 3px var(--ink)}.cards-heading{justify-content:space-between;align-items:center;margin:40px 0 15px;display:flex}.cards-heading h2{margin:0;font-size:32px}.cards-heading span{color:var(--muted);font-size:13px}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.edit-cards{gap:12px;display:grid}.edit-card{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:48px 1fr 42px;padding:18px 15px 18px 0;display:grid}.card-number{color:#929893;flex-direction:column;align-items:center;gap:8px;padding-top:5px;display:flex}.edit-fields{grid-template-columns:1fr 1fr;gap:13px;display:grid}.note-field{grid-column:1/3}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.icon-button.danger:hover{color:#b83e34;background:#fff0ed}.add-card{cursor:pointer;background:0 0;border:1px dashed #b9bbb4;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:54px;margin-top:13px;font-weight:700;display:flex}.editor-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.form-error{color:#a53b30;background:#fff0ed;border:1px solid #f3c4bc;border-radius:10px;margin:13px 0;padding:11px 13px;font-size:14px;font-weight:600}.set-banner{background:var(--set-color);color:#fff;border-radius:25px;justify-content:space-between;align-items:center;min-height:270px;padding:48px;display:flex;position:relative;overflow:hidden}.set-banner:after{content:"";border:1px solid #ffffff26;border-radius:50%;width:330px;height:330px;position:absolute;top:-80px;right:-80px}.set-banner>div:first-child{z-index:1;max-width:680px;position:relative}.set-banner>div>span{letter-spacing:.15em;text-transform:uppercase;opacity:.8;font-size:12px;font-weight:700}.set-banner h1{margin:15px 0 12px;font-size:48px}.set-banner p{opacity:.85;font-size:17px}.set-banner small{opacity:.7}.mastery-ring{z-index:1;background:conic-gradient(white var(--mastery),#fff3 0);text-align:center;height:132px;color:var(--ink);border-radius:50%;flex:0 0 132px;place-content:center;margin-right:25px;display:grid;position:relative}.mastery-ring:before{content:"";background:var(--set-color);border-radius:50%;position:absolute;inset:9px}.mastery-ring strong,.mastery-ring span{color:#fff;z-index:1}.mastery-ring strong{font-family:Fraunces,serif;font-size:28px}.mastery-ring span{opacity:.75;font-size:11px}.mode-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 65px;display:grid}.mode-grid>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:15px;grid-template-columns:50px 1fr 24px;align-items:center;gap:13px;min-height:104px;padding:18px;display:grid}.mode-grid>button:hover{border-color:#a9aca5;transform:translateY(-2px)}.mode-grid>button:disabled{opacity:.45;cursor:not-allowed;transform:none}.mode-grid h3{margin:0 0 4px}.mode-grid p{color:var(--muted);margin:0;font-size:12px}.mode-icon{color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.mode-icon.coral{background:var(--coral)}.mode-icon.teal{background:var(--teal)}.mode-icon.gold{background:var(--gold)}.card-list-heading{align-items:center}.set-actions{gap:8px;display:flex}.menu-wrap{position:relative}.popover{z-index:5;border:1px solid var(--line);background:#fff;border-radius:11px;width:175px;padding:6px;position:absolute;top:45px;right:0;box-shadow:0 13px 35px #1e262326}.popover button{cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;width:100%;padding:9px;display:flex}.popover button:hover{background:#f4f2ed}.danger-text{color:#ae3c32!important}.term-list{gap:9px;display:grid}.term-list article{border:1px solid var(--line);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:25px;padding:20px 22px;display:flex}.term-list h3{margin:0 0 7px;font-size:16px}.term-list p{color:#4e5854;margin:0}.term-list small{color:var(--muted);margin-top:8px;font-style:italic;display:block}.mastery-badge{color:#727872;background:#eeeae2;border-radius:100px;flex:none;padding:6px 9px;font-size:11px;font-weight:700}.mastery-badge.level-1{color:#8e6413;background:#fff0cf}.mastery-badge.level-2{color:#17645e;background:#d9eee7}.study-page{min-height:720px;padding-block:40px 90px}.study-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.study-top>div{align-items:center;gap:12px;display:flex}.study-top span{color:var(--muted);font-size:13px}.study-progress{height:5px;margin-bottom:50px}.flashcard{perspective:1200px;cursor:pointer;width:min(760px,100%);height:440px;transform-style:preserve-3d;background:0 0;border:0;margin:0 auto;transition:transform .55s;display:block;position:relative}.flashcard.flipped{transform:rotateY(180deg)}.flash-face{backface-visibility:hidden;border:1px solid var(--line);text-align:center;border-radius:25px;flex-direction:column;justify-content:center;align-items:center;padding:55px;display:flex;position:absolute;inset:0;box-shadow:0 18px 45px #282f2b1a}.flash-face.front{background:var(--paper)}.flash-face.back{background:var(--teal);color:#fff;transform:rotateY(180deg)}.flash-face>span{text-transform:uppercase;letter-spacing:.14em;color:var(--coral);font-size:11px;font-weight:700;position:absolute;top:30px}.flash-face.back>span{color:#a8d7ca}.flash-face h2{max-width:610px;margin:0;font-size:38px}.flash-face p{color:#c8e3dc;max-width:580px;margin:20px 0 0;line-height:1.6}.flash-face small{color:var(--muted);position:absolute;bottom:27px}.flash-face.back small{color:#a9cec5}.flash-controls{justify-content:center;gap:10px;margin-top:25px;display:flex}.flash-controls button svg{width:18px}.keyboard-hint{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:12px;display:flex}.learn-card{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:25px;flex-direction:column;justify-content:center;align-items:center;width:min(760px,100%);min-height:450px;margin:0 auto;padding:65px;display:flex;box-shadow:0 18px 45px #282f2b14}.learn-card h1{margin:30px 0;font-size:40px}.answer-reveal{border-top:1px solid var(--line);width:100%;padding-top:28px}.answer-reveal>p{font-size:20px;line-height:1.6}.answer-reveal small{color:var(--muted)}.confidence{grid-template-columns:1fr 1fr;gap:12px;margin-top:30px;display:grid}.confidence button{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px;font-weight:700;display:flex}.confidence .again{color:#aa3f32;background:#ffebe6}.confidence .got-it{color:#17665f;background:#daeee8}.completion{text-align:center;border:1px solid var(--line);background:#fff;border-radius:24px;width:min(620px,100%);margin:80px auto;padding:65px}.completion-icon{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:74px;height:74px;margin:auto;display:grid}.completion h1{margin:25px 0 12px;font-size:42px}.completion p{color:var(--muted);line-height:1.6}.completion .primary{margin-top:13px}.test-page .page-title{margin-bottom:30px}.questions{gap:18px;display:grid}.question-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:28px}.question-card>span{color:var(--coral);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.question-card h2{letter-spacing:-.02em;margin:12px 0 20px;font-family:DM Sans;font-size:20px}.choice-list{gap:9px;display:grid}.choice-list label{border:1px solid var(--line);cursor:pointer;border-radius:10px;grid-template-columns:20px 32px 1fr;align-items:center;gap:10px;padding:12px;display:grid}.choice-list label:has(input:checked){border-color:var(--teal);background:#eef8f4}.choice-list input{width:auto}.choice-list i{background:#eeeae2;border-radius:7px;place-items:center;width:27px;height:27px;font-size:12px;font-style:normal;font-weight:700;display:grid}.choice-list p{margin:0}.submit-test{margin:25px 0 0 auto;display:flex}.test-result .score-bar{max-width:350px;margin:25px auto}.test-review{gap:9px;width:min(800px,100%);margin:0 auto;display:grid}.test-review article{border:1px solid var(--line);background:#fff;border-left:4px solid;border-radius:12px;grid-template-columns:30px 1fr 24px;gap:12px;padding:17px;display:grid}.test-review .correct{border-left-color:var(--teal)}.test-review .incorrect{border-left-color:var(--coral)}.test-review h3{margin:0 0 6px}.test-review p{color:var(--muted);margin:0}.test-review small{margin-top:5px;display:block}.test-review .correct>svg{color:var(--teal)}.test-review .incorrect>svg{color:var(--coral)}.generate-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);align-items:start;gap:18px;display:grid}.generator-panel>label,.generator-panel>.form-grid,.upload-zone{margin-bottom:19px}.generator-panel label>small{text-align:right;color:var(--muted);margin-top:4px;display:block}.upload-zone{background:#f8f5ed;border:1px dashed #b8bab3;border-radius:13px;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:18px;display:grid}.upload-zone>svg{color:var(--teal)}.upload-zone b,.upload-zone span{display:block}.upload-zone span{color:var(--muted);margin-top:3px;font-size:12px}.source-chips{flex-wrap:wrap;gap:7px;margin:-6px 0 18px;display:flex}.source-chips>span{color:var(--teal);background:#e9f3ef;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.source-chips button{cursor:pointer;background:0 0;border:0;padding:0;display:grid}.generate-button{width:100%;min-height:50px}.trust-panel{background:var(--teal);color:#fff;position:sticky;top:20px}.trust-panel>svg{color:#a4d5c9;width:42px;height:42px}.trust-panel h2{margin:20px 0 10px;font-size:27px}.trust-panel p,.trust-panel li{color:#c4e0d9;line-height:1.55}.trust-panel hr{border:0;border-top:1px solid #ffffff2e;margin:25px 0}.trust-panel h3{font-size:14px}.trust-panel ul{padding-left:20px}.trust-panel .small-print{opacity:.75;margin:24px 0 0;font-size:11px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.metric-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:65px;display:grid}.metric-grid article{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:34px 1fr;align-items:center;padding:21px;display:grid}.metric-grid svg,.metric-symbol{color:var(--coral);grid-row:1/3;font-size:24px}.metric-grid span:not(.metric-symbol){color:var(--muted);font-size:11px}.metric-grid strong{font-family:Fraunces,serif;font-size:22px}.progress-columns{grid-template-columns:1.15fr .85fr;gap:35px;display:grid}.mastery-list,.attempt-list{gap:9px;display:grid}.mastery-list>button,.attempt-list article{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:14px 1fr 48px;align-items:center;gap:11px;padding:16px;display:grid}.set-dot{border-radius:50%;width:10px;height:10px}.mastery-list b,.mastery-list span,.attempt-list b,.attempt-list span{display:block}.mastery-list span,.attempt-list span{color:var(--muted);margin-top:3px;font-size:11px}.mastery-list .progress-line{height:5px;margin-top:8px}.mastery-list>button>strong,.attempt-list>article>strong{text-align:right;font-family:Fraunces,serif}.attempt-list article{grid-template-columns:1fr 50px}.empty-compact{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:12px;padding:25px}.data-panel{background:#eee9dd;border-radius:16px;justify-content:space-between;align-items:center;gap:25px;margin-top:60px;padding:24px;display:flex}.data-panel h2{margin:0 0 5px;font-size:23px}.data-panel p{color:var(--muted);max-width:700px;margin:0}.danger-outline{color:#a53e34;white-space:nowrap;background:0 0;border-color:#d9aaa4}footer{border-top:1px solid var(--line);width:min(1160px,100% - 48px);min-height:135px;color:var(--muted);align-items:center;gap:25px;margin:auto;font-size:12px;display:flex}.brand.mini{color:var(--ink);font-size:16px}.brand.mini .brand-mark{border-radius:9px;width:30px;height:30px}.brand.mini+p{margin:0 auto 0 0}footer a{color:var(--teal);font-weight:700}@media (width<=900px){.desktop-nav{display:none}.menu-button{display:grid}.mobile-nav{z-index:15;border:1px solid var(--line);background:#fff;border-radius:13px;width:210px;padding:8px;display:grid;position:absolute;top:70px;right:24px;box-shadow:0 15px 35px #1e262326}.hero{grid-template-columns:1fr;padding-top:40px}.hero-copy{text-align:center}.hero-copy>p{margin-inline:auto}.hero-copy .button-row{justify-content:center}.hero-visual{width:100%;max-width:560px;height:380px;margin:auto}.set-grid,.library-grid{grid-template-columns:repeat(2,1fr)}.mode-grid{grid-template-columns:1fr;margin-bottom:45px}.generate-layout,.progress-columns{grid-template-columns:1fr}.trust-panel{position:static}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.page-width,.topbar,footer{width:min(100% - 28px,1160px)}.topbar{height:66px}.brand{font-size:19px}.brand-mark{width:34px;height:34px}.hero{min-height:auto;padding:40px 0 65px}.hero h1{font-size:53px}.hero-copy>p{font-size:16px}.hero-visual{height:300px}.floating-card{padding:25px}.card-back{width:260px;height:200px}.card-front{width:285px;height:210px;top:82px;left:4px}.card-front b{font-size:26px}.orbit{border-radius:15px;width:50px;height:50px}.orbit-one{top:5px}.stats-strip{min-height:88px}.stats-strip>div{text-align:center;grid-template-columns:1fr;width:33.33%;padding:12px}.stats-strip svg{display:none}.stats-strip strong{font-size:21px}.section-block,.page-section{padding-block:55px}.page-title{display:block}.page-title>.primary,.page-title>.button-row{margin-top:20px}.page-title h1{font-size:40px}.section-heading h2{font-size:31px}.set-grid,.library-grid,.steps{grid-template-columns:1fr}.set-card{min-height:220px}.steps article{padding-left:20px}.form-grid,.edit-fields{grid-template-columns:1fr}.note-field{grid-column:1}.edit-card{grid-template-columns:36px 1fr 37px;padding-right:8px}.edit-card textarea{min-height:70px}.editor-panel,.generator-panel,.trust-panel{padding:20px}.cards-heading{align-items:start;gap:14px}.cards-heading .file-button{padding:8px 10px;font-size:12px}.set-banner{padding:30px 25px;display:block}.set-banner h1{font-size:37px}.mastery-ring{width:105px;height:105px;margin:28px 0 0}.mode-grid>button{min-height:90px}.term-list article{align-items:start}.flashcard{height:380px}.flash-face{padding:37px 25px}.flash-face h2{font-size:29px}.flash-controls{grid-template-columns:1fr 1fr;display:grid}.flash-controls .primary{grid-column:1/3}.learn-card{padding:40px 22px}.learn-card h1{font-size:31px}.confidence{grid-template-columns:1fr}.completion{margin:45px auto;padding:45px 22px}.question-card{padding:20px 16px}.choice-list label{grid-template-columns:17px 29px 1fr;padding:10px 7px}.upload-zone{grid-template-columns:30px 1fr}.upload-zone .file-button{grid-column:1/3}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article{grid-template-columns:27px 1fr;padding:15px}.metric-grid strong{font-size:18px}.data-panel{display:block}.data-panel button{margin-top:18px}.button-row{align-items:stretch}.page-title .button-row{display:grid}.editor-actions{grid-template-columns:1fr 1fr;display:grid}footer{flex-wrap:wrap;align-content:center;gap:9px 20px;padding-block:25px}.brand.mini+p{order:3;width:100%}}.learn-card h1{overflow-wrap:anywhere}.learn-card h1.long{font-size:28px;line-height:1.35}.learn-head{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.learn-intro{max-width:560px;color:var(--muted);margin:0 0 6px;line-height:1.6}.learn-stages{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:20px 0;display:grid}.learn-stages article{border:1px solid var(--line);text-align:left;background:color-mix(in srgb,var(--paper) 70%,transparent);border-radius:14px;padding:12px 14px}.learn-stages strong{font-family:Fraunces,serif;font-size:26px;line-height:1.1;display:block}.learn-stages span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.learn-stages .learning strong{color:var(--coral-dark)}.learn-stages .familiar strong{color:var(--gold)}.learn-stages .mastered strong{color:var(--teal)}.learn-options{justify-items:center;gap:16px;width:100%;margin-bottom:24px;display:grid}.learn-options fieldset{border:0;justify-items:center;gap:8px;margin:0;padding:0;display:grid}.learn-options legend{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding:0;font-size:12px;font-weight:700}.segmented{background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 14px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px #2028271f}.stage-pill{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:100px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.stage-pill.learning{background:color-mix(in srgb,var(--coral) 14%,var(--paper));color:var(--coral-dark)}.stage-pill.familiar{background:color-mix(in srgb,var(--gold) 18%,var(--paper));color:color-mix(in srgb,var(--gold) 70%,var(--ink))}.stage-pill.mastered{background:color-mix(in srgb,var(--teal) 12%,var(--paper));color:var(--teal)}.learn-choices{gap:10px;width:100%;display:grid}.learn-choices button{text-align:left;border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:14px;grid-template-columns:30px 1fr;align-items:center;gap:12px;padding:14px 16px;font-size:17px;line-height:1.4;transition:border-color .15s,transform .15s;display:grid}.learn-choices button:hover:not(:disabled){border-color:var(--teal);transform:translateY(-1px)}.learn-choices button i{background:color-mix(in srgb,var(--ink) 7%,transparent);border-radius:8px;place-items:center;width:28px;height:28px;font-size:13px;font-style:normal;font-weight:700;display:grid}.learn-choices button:disabled{cursor:default}.learn-choices button:disabled:not(.correct):not(.incorrect){opacity:.5}.learn-choices button.correct{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 12%,var(--paper))}.learn-choices button.incorrect{border-color:var(--coral);background:color-mix(in srgb,var(--coral) 12%,var(--paper))}.learn-written{text-align:left;gap:10px;width:min(560px,100%);display:grid}.learn-written label{color:var(--muted);font-size:13px;font-weight:700}.learn-written input{padding:13px 15px;font-size:18px}.learn-written .primary{justify-self:center}.learn-card>.text-button{margin-top:16px}.learn-feedback{border-top:1px solid var(--line);justify-items:center;gap:10px;width:100%;margin-top:24px;padding-top:22px;display:grid}.learn-feedback h2{align-items:center;gap:8px;margin:0;font-size:26px;display:inline-flex}.learn-feedback.correct h2{color:var(--teal)}.learn-feedback.incorrect h2{color:var(--coral-dark)}.learn-feedback p{margin:0;font-size:20px}.learn-feedback small{color:var(--muted)}.learn-feedback .actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:6px;display:flex}.learn-summary{width:min(720px,100%)}.round-review{text-align:left;gap:8px;width:100%;margin:6px 0 24px;display:grid}.round-review article{border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:22px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.round-review article.correct>svg{color:var(--teal)}.round-review article.incorrect>svg{color:var(--coral-dark)}.round-review b{line-height:1.3;display:block}.round-review span{color:var(--muted);font-size:14px}.learn-summary .button-row{justify-content:center}@media (width<=600px){.learn-stages{gap:6px}.learn-stages article{padding:10px}.learn-stages strong{font-size:20px}.learn-choices button{padding:12px;font-size:15px}.round-review article{grid-template-columns:22px 1fr}.round-review .stage-pill{grid-column:2}}:focus-visible{outline-offset:4px;outline:3px solid #166b68}.profile-page{text-align:center;flex-direction:column;justify-content:center;max-width:880px;min-height:calc(100vh - 120px);margin:0 auto;padding:56px 24px 80px;display:flex}.profile-header{margin-bottom:28px}.profile-brand{justify-content:center;gap:10px;margin:0 auto 18px;display:inline-flex}.profile-header h1{letter-spacing:-.03em;color:var(--ink);margin:12px 0 14px;font-family:Fraunces,serif;font-size:clamp(36px,5.5vw,54px)}.profile-header p{color:var(--muted);max-width:540px;margin:0 auto;font-size:17px;line-height:1.6}.profile-grid{flex-wrap:wrap;justify-content:center;gap:20px;margin:28px 0 24px;display:flex}.profile-tile{background:var(--paper);border:1px solid var(--line);cursor:pointer;min-width:155px;min-height:165px;color:var(--ink);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px 20px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s;display:flex;box-shadow:0 4px 18px #29302c0a}.profile-tile:hover{border-color:var(--teal);transform:translateY(-4px);box-shadow:0 14px 32px #29302c17}.profile-avatar{background:var(--teal);color:#fff;border-radius:22px;place-items:center;width:76px;height:76px;transition:transform .2s cubic-bezier(.16,1,.3,1);display:grid;box-shadow:0 6px 18px #0000001f}.profile-tile:hover .profile-avatar{transform:scale(1.06)}.avatar-ocean{background:linear-gradient(135deg,#3288b8,#18556f)}.avatar-forest{background:linear-gradient(135deg,#4f8a63,#245c51)}.avatar-violet{background:linear-gradient(135deg,#8062b6,#51437d)}.avatar-poppy{background:linear-gradient(135deg,#f26b4e,#c74327)}.avatar-sun{background:linear-gradient(135deg,#e7a43b,#a86c18)}.avatar-new{background:linear-gradient(135deg, var(--teal), #0e4442);color:#fff}.profile-tile-info{flex-direction:column;align-items:center;gap:5px;display:flex}.profile-tile strong{color:var(--ink);font-size:17px;font-weight:700;line-height:1.2}.profile-tile-badge{color:var(--muted);background:#0000000a;border-radius:100px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.profile-actions-strip{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:14px;display:flex}.profile-card-container{background:var(--paper);border:1px solid var(--line);text-align:left;border-radius:24px;width:100%;max-width:440px;margin:20px auto;padding:36px 32px;box-shadow:0 10px 35px #29302c12}.profile-form-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:24px;display:flex}.profile-form-header .profile-avatar{margin-bottom:14px}.profile-form-header h2{letter-spacing:-.02em;color:var(--ink);margin:0 0 8px;font-family:Fraunces,serif;font-size:26px}.profile-form-desc{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.profile-form{gap:18px;width:100%;margin:0 auto;display:grid}.profile-form-fields{gap:15px;display:grid}.profile-form label{gap:7px;display:grid}.profile-form label>span{letter-spacing:.03em;color:#505a56;font-size:13px;font-weight:700}.profile-form input,.profile-form select{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:12px;padding:12px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.profile-form input:focus,.profile-form select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #166b681f}.pin-field-label{gap:7px;display:grid}.pin-styled-input{letter-spacing:.38em;text-align:center;font-family:inherit;font-size:22px;font-weight:700}.pin-hint{color:var(--muted);margin-top:1px;font-size:12px}.profile-form-buttons{gap:10px;margin-top:8px;display:grid}.profile-form-buttons .primary,.profile-form-buttons .secondary{width:100%;min-height:46px}.profile-form-error{max-width:440px;margin:16px auto}.profile-toolbar{background:var(--paper);border-bottom:1px solid var(--line);z-index:30;padding:8px 0;font-size:13px;position:relative;box-shadow:0 2px 8px #00000005}.profile-toolbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-user-badge{align-items:center;gap:12px;display:flex}.profile-avatar-mini{color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 2px 6px #0000001f}.profile-user-details{flex-direction:column;display:flex}.profile-kicker-mini{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:10px;font-weight:700;line-height:1}.profile-user-details strong{color:var(--ink);font-size:15px;font-weight:700;line-height:1.2}.sync-pill{border:1px solid #0000;border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.sync-dot{border-radius:50%;width:7px;height:7px}.sync-pill.sync-synced{color:#166b68;background:#eef8f4;border-color:#bce0d5}.sync-pill.sync-synced .sync-dot{background:#1bb273}.sync-pill.sync-pending{color:#9c6c19;background:#fef7ea;border-color:#fae2b8}.sync-pill.sync-pending .sync-dot{background:#e7a43b;animation:1.2s infinite pulse}.sync-pill.sync-error{color:#a53b30;background:#fff5f3;border-color:#f7c7bf}.sync-pill.sync-error .sync-dot{background:#d94235}.profile-toolbar-actions{align-items:center;gap:8px;display:flex}.toolbar-btn{border:1px solid var(--line);background:var(--paper);min-height:38px;color:var(--ink);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:7px 13px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.toolbar-btn:hover:not(:disabled){background:#fff;border-color:#b8bbb4;transform:translateY(-1px)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn.logout-btn:hover:not(:disabled){color:var(--coral-dark);background:#fff8f7;border-color:#f3c4bc}div.sync-error{color:#a53b30;background:#fff5f3;border-bottom:1px solid #f3c4bc;padding:12px 24px;font-size:14px}.sync-error-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sync-error-message{flex:300px;align-items:center;gap:10px;font-weight:600;display:flex}.sync-error-btns{align-items:center;gap:8px;display:flex}.sync-error button{color:#a53b30;cursor:pointer;background:#fff;border:1px solid #e8b0a7;border-radius:8px;min-height:36px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s}.sync-error button:hover:not(:disabled){background:#ffebe8}.sync-error button:disabled{opacity:.5;cursor:not-allowed}.migration-notice{color:#17645e;background:#eef8f4;border-bottom:1px solid #bce0d5;padding:12px 24px;font-size:14px}.migration-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.migration-inner p{margin:0;font-weight:600}.migration-inner button{color:#fff;cursor:pointer;background:#166b68;border:1px solid #166b68;border-radius:8px;min-height:36px;padding:6px 14px;font-size:13px;font-weight:700;transition:background .15s}.migration-inner button:hover{background:#115350}.profile-msg{color:var(--teal);padding:8px 0;font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.flash-audio{flex-wrap:wrap;gap:12px}.speech-settings{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 24px;max-width:720px;margin:16px auto;padding:16px;display:flex}.speech-settings label{flex:180px;gap:8px;display:grid}.speech-settings select,.speech-settings input{width:100%;min-height:44px;font:inherit}.speech-settings small{flex-basis:100%}:root[data-palette=ocean]{--coral:#3288b8;--coral-dark:#23709b;--teal:#18556f;--gold:#52a79c}:root[data-palette=violet]{--coral:#8062b6;--coral-dark:#67499d;--teal:#51437d;--gold:#d39358}:root[data-palette=forest]{--coral:#4f8a63;--coral-dark:#39734e;--teal:#245c51;--gold:#ce9042}body,.app-shell,.how-it-works,.set-card,.editor-panel,.generator-panel,.edit-card,.mode-grid>button,.term-list article,.flash-face,.learn-card,.completion,.question-card,.test-review article,.metric-grid article,.mastery-list>button,.attempt-list article,.data-panel,input,textarea,select{transition:background-color .18s,border-color .18s,color .18s}.settings-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start;gap:20px;display:grid}.settings-main{gap:20px;display:grid}.settings-card,.storage-card{border:1px solid var(--line);background:var(--paper);border-radius:19px;padding:28px}.settings-title{border-bottom:1px solid var(--line);align-items:flex-start;gap:15px;padding-bottom:23px;display:flex}.settings-title>svg{box-sizing:content-box;color:#fff;background:var(--coral);border-radius:12px;padding:11px}.settings-title h2,.storage-card h2{margin:0 0 6px;font-size:28px}.settings-title p,.storage-card p{color:var(--muted);margin:0;line-height:1.6}.setting-field{border:0;margin:27px 0 0;padding:0}.setting-field legend{margin-bottom:11px}.audio-test-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding-top:22px;display:grid}.audio-test-row b,.audio-test-row span{display:block}.audio-test-row span{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.5}.audio-test-row>div:last-child{gap:8px;display:grid}.theme-options,.palette-options{gap:10px;display:grid}.theme-options{grid-template-columns:repeat(3,1fr)}.palette-options{grid-template-columns:repeat(4,1fr)}.theme-options button,.palette-options button{border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;border-radius:13px;min-height:88px;padding:14px;position:relative}.theme-options button{grid-template-columns:30px 1fr;align-items:center;gap:8px;display:grid}.theme-options button>svg:first-child{color:var(--muted)}.theme-options b,.theme-options small{display:block}.theme-options small{color:var(--muted);margin-top:3px}.theme-options button.selected,.palette-options button.selected{border-color:var(--coral);box-shadow:0 0 0 2px color-mix(in srgb, var(--coral) 18%, transparent)}.option-check{width:16px;height:16px;color:var(--coral);position:absolute;top:9px;right:9px}.palette-options button{flex-direction:column;justify-content:center;gap:10px;display:flex}.palette-swatches{display:flex}.palette-swatches i{border:2px solid var(--paper);border-radius:50%;width:27px;height:27px;margin-right:-6px;box-shadow:0 0 0 1px #00000014}.storage-card{color:#fff;background:var(--teal);border-color:#0000;position:sticky;top:20px}.storage-card>svg{width:43px;height:43px;color:color-mix(in srgb, var(--gold) 75%, white);margin-bottom:18px}.storage-card .kicker{color:color-mix(in srgb, var(--gold) 75%, white);margin-bottom:7px;display:block}.storage-card p,.storage-card>small,.storage-fact span{color:#ffffffb8}.storage-fact{border-top:1px solid #ffffff2b;grid-template-columns:28px 1fr;gap:11px;padding:18px 0;display:grid}.storage-fact:first-of-type{margin-top:23px}.storage-fact b,.storage-fact span{display:block}.storage-fact span{margin-top:4px;font-size:12px;line-height:1.45}.storage-card .secondary{width:100%;color:var(--ink);background:var(--paper);margin:9px 0 12px}.trust-panel code{color:#fff;background:#ffffff1f;border-radius:4px;padding:1px 4px}.ai-connection{border:1px solid color-mix(in srgb, var(--gold) 55%, var(--line));background:color-mix(in srgb, var(--gold) 10%, var(--paper));border-radius:13px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;padding:14px;display:flex}.ai-connection.connected{border-color:color-mix(in srgb, var(--teal) 45%, var(--line));background:color-mix(in srgb, var(--teal) 9%, var(--paper))}.ai-connection>div{align-items:center;gap:11px;display:flex}.ai-connection>div>svg{color:var(--teal);flex:none}.ai-connection b,.ai-connection small{display:block}.ai-connection small{color:var(--muted);margin-top:3px;line-height:1.4}.ai-connection>button{flex:none}.flash-audio{justify-content:center;margin-top:15px;display:flex}.flash-audio+.flash-controls{margin-top:12px}.read-aloud-button{gap:7px}.read-aloud-button:disabled{opacity:.45;cursor:not-allowed}.speech-spinner{animation:.9s linear infinite speech-spin}@keyframes speech-spin{to{transform:rotate(360deg)}}.term-actions{flex:none;align-items:center;gap:8px;display:flex}.term-actions .read-aloud-button,.term-list>article>.read-aloud-button{color:var(--teal)}.model-picker,.generation-guidance{border:0;margin:0 0 22px;padding:0}.model-picker>legend,.generation-guidance>legend{margin-bottom:9px}.model-family-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.model-family-options button,.preset-grid button{min-width:0;color:var(--ink);text-align:left;border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:13px;display:flex}.model-family-options button:hover,.preset-grid button:hover{border-color:color-mix(in srgb, var(--teal) 55%, var(--line))}.model-family-options button.selected,.preset-grid button.selected{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb, var(--teal) 14%, transparent);background:color-mix(in srgb, var(--teal) 8%, var(--paper))}.model-family-options svg{color:var(--teal);margin-bottom:3px}.model-family-options small,.preset-grid small,.model-note,.paid-model-warning span{color:var(--muted);line-height:1.4}.model-note{margin:9px 2px 0;font-size:12px}.paid-model-options{border:1px solid var(--line);background:color-mix(in srgb, var(--gold) 7%, var(--paper));border-radius:13px;gap:13px;margin-top:15px;padding:16px;display:grid}.model-price{text-align:left!important}.paid-model-warning{background:color-mix(in srgb, var(--gold) 13%, var(--paper));border-radius:10px;grid-template-columns:24px 1fr;gap:10px;padding:13px;display:grid}.paid-model-warning>svg{color:var(--teal)}.paid-model-warning b,.paid-model-warning span,.paid-model-warning a{display:block}.paid-model-warning span{margin:3px 0 6px;font-size:12px}.paid-model-warning a{color:var(--teal);font-size:12px;font-weight:700}.paid-confirm{cursor:pointer;grid-template-columns:18px 1fr;align-items:start;gap:9px;display:grid}.paid-confirm input{width:18px;height:18px;margin:1px 0 0}.paid-confirm>span{color:var(--ink);letter-spacing:0;margin:0;font-size:13px;line-height:1.45}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px;display:grid}.preset-grid button:last-child{grid-column:1/-1}.generation-guidance textarea{min-height:105px}.storage-card>small{line-height:1.5;display:block}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#edf2ef;--muted:#a8b3ae;--cream:#101715;--paper:#19221f;--line:#34413d;color:var(--ink);background:var(--cream)}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell{background:var(--cream)}:root[data-theme=dark] .desktop-nav{border-color:var(--line);background:#19221fc7}:root[data-theme=dark] .desktop-nav button,:root[data-theme=dark] .mobile-nav button{color:var(--muted)}:root[data-theme=dark] .desktop-nav button:hover,:root[data-theme=dark] .desktop-nav button.active,:root[data-theme=dark] .mobile-nav button.active,:root[data-theme=dark] .mobile-nav,:root[data-theme=dark] .menu-button,:root[data-theme=dark] .secondary,:root[data-theme=dark] label.file-button,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .search,:root[data-theme=dark] .edit-card,:root[data-theme=dark] .mode-grid>button,:root[data-theme=dark] .popover,:root[data-theme=dark] .term-list article,:root[data-theme=dark] .completion,:root[data-theme=dark] .question-card,:root[data-theme=dark] .test-review article,:root[data-theme=dark] .metric-grid article,:root[data-theme=dark] .mastery-list>button,:root[data-theme=dark] .attempt-list article,:root[data-theme=dark] .model-family-options button,:root[data-theme=dark] .preset-grid button,:root[data-theme=dark] .paid-model-options{color:var(--ink);background:var(--paper);border-color:var(--line)}:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select{color:var(--ink);border-color:var(--line);background:#121a18}:root[data-theme=dark] label>span,:root[data-theme=dark] fieldset legend,:root[data-theme=dark] .term-list p,:root[data-theme=dark] .choice-list p{color:#cbd3cf}:root[data-theme=dark] .how-it-works,:root[data-theme=dark] .data-panel{background:#151e1b}:root[data-theme=dark] .upload-zone,:root[data-theme=dark] .choice-list label,:root[data-theme=dark] .progress-line,:root[data-theme=dark] .study-progress,:root[data-theme=dark] .score-bar,:root[data-theme=dark] .choice-list i{border-color:var(--line);background:#111917}:root[data-theme=dark] .choice-list label:has(input:checked){background:color-mix(in srgb, var(--teal) 35%, #111917);border-color:var(--coral)}:root[data-theme=dark] .popover button:hover,:root[data-theme=dark] .eyebrow{background:color-mix(in srgb, var(--coral) 14%, var(--paper))}:root[data-theme=dark] .eyebrow{border-color:color-mix(in srgb, var(--coral) 40%, var(--line))}:root[data-theme=dark] .hero-visual:before{background:color-mix(in srgb, var(--teal) 35%, var(--paper))}:root[data-theme=dark] .hero-visual:after{background:color-mix(in srgb, var(--gold) 42%, var(--cream))}:root[data-theme=dark] .data-panel p,:root[data-theme=dark] .set-card p{color:var(--muted)}.shared-notice{border:1px solid color-mix(in srgb, var(--teal) 25%, var(--line));background:color-mix(in srgb, var(--teal) 8%, var(--paper));border-radius:12px;align-items:center;gap:12px;width:fit-content;max-width:100%;margin-bottom:18px;padding:11px 14px;display:flex}.shared-notice>svg{color:var(--teal);flex:none}.shared-notice p,.shared-notice b,.shared-notice span{margin:0;display:block}.shared-notice span{color:var(--muted);margin-top:2px;font-size:12px}.shared-book{opacity:.62;z-index:1;width:105px;height:105px;margin-right:38px;position:relative}.shared-actions{justify-content:flex-end;gap:10px;margin:18px 0 55px;display:flex}.share-status{color:var(--teal);margin-top:7px;font-weight:700;display:block}@media (width<=900px){.settings-layout{grid-template-columns:1fr}.storage-card{position:static}}@media (width<=650px){.theme-options,.palette-options{grid-template-columns:1fr 1fr}.settings-card,.storage-card{padding:20px}.set-actions{flex-wrap:wrap;justify-content:flex-end}.shared-book{width:72px;height:72px;margin:25px 0 0}.ai-connection{flex-direction:column;align-items:stretch}.audio-test-row{grid-template-columns:1fr}.model-family-options,.preset-grid{grid-template-columns:1fr 1fr}.preset-grid button:last-child{grid-column:auto}}.topic-section{margin:-30px 0 60px}.topic-mastery{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.topic-mastery article{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:16px}.topic-mastery article>div:first-child{justify-content:space-between;gap:8px;display:flex}.topic-mastery b{font-size:13px}.topic-mastery span{color:var(--muted);white-space:nowrap;font-size:10px}.topic-mastery strong{margin:13px 0 8px;font-family:Fraunces,serif;font-size:22px;display:block}.topic-mastery .progress-line{height:5px}.library-tabs{background:color-mix(in srgb, var(--line) 45%, transparent);border-radius:13px;gap:5px;margin-bottom:18px;padding:5px;display:inline-flex}.local-storage-notice{background:color-mix(in srgb, var(--teal) 7%, var(--paper));border:1px solid color-mix(in srgb, var(--teal) 25%, var(--line));border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;margin:-10px 0 20px;padding:15px 18px;display:grid}.local-storage-notice>svg{color:var(--teal)}.local-storage-notice b{font-size:13px;display:block}.local-storage-notice p{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.45}.local-storage-notice .text-button{white-space:nowrap}.library-tabs button{min-height:39px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:7px 12px;font-weight:700;display:inline-flex}.library-tabs button.active{color:var(--ink);background:var(--paper);box-shadow:0 3px 10px #20282714}.library-tabs button span{min-width:21px;height:21px;color:var(--muted);background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:100px;place-items:center;padding-inline:5px;font-size:10px;display:grid}.create-method,.draft-notice{background:color-mix(in srgb, var(--teal) 7%, var(--paper));border:1px solid color-mix(in srgb, var(--teal) 25%, var(--line));border-radius:15px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px;padding:17px 20px;display:flex}.create-method>div,.draft-notice{align-items:center;gap:12px;display:flex}.create-method>div>svg,.draft-notice>svg{color:var(--teal);flex:none}.create-method b,.create-method small,.draft-notice b,.draft-notice span{display:block}.create-method small,.draft-notice span,.generation-save-note{color:var(--muted);font-size:12px}.create-method small,.draft-notice span{margin-top:3px}.generation-save-note{text-align:center;margin:10px 0 0}@media (width<=900px){.topic-mastery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.topic-section{margin-top:0}.topic-mastery{grid-template-columns:1fr}.create-method{flex-direction:column;align-items:stretch}.library-tabs{display:flex}.library-tabs button{flex:1;justify-content:center}.local-storage-notice{grid-template-columns:32px 1fr}.local-storage-notice .text-button{grid-column:2;justify-self:start}}:root[data-theme=dark] .profile-tile{background:var(--paper);border-color:var(--line);color:var(--ink);box-shadow:0 4px 18px #00000040}:root[data-theme=dark] .profile-tile strong{color:var(--ink)}:root[data-theme=dark] .profile-tile-badge{color:var(--muted);background:#ffffff14}:root[data-theme=dark] .profile-card-container{background:var(--paper);border-color:var(--line);box-shadow:0 10px 35px #00000059}:root[data-theme=dark] .profile-form-header h2{color:var(--ink)}:root[data-theme=dark] .profile-form label>span{color:var(--muted)}:root[data-theme=dark] .profile-form input,:root[data-theme=dark] .profile-form select{border-color:var(--line);color:var(--ink);background:#141c1a}:root[data-theme=dark] .profile-toolbar{border-bottom-color:var(--line);background:#141c1a}:root[data-theme=dark] .toolbar-btn{border-color:var(--line);color:var(--ink);background:#1a2421}:root[data-theme=dark] .toolbar-btn:hover:not(:disabled){background:#22302c;border-color:#40554f}:root[data-theme=dark] .toolbar-btn.logout-btn:hover:not(:disabled){color:#f89088;background:#2b1816;border-color:#632b24}:root[data-theme=dark] .sync-pill.sync-synced{color:#5edbb0;background:#1bb27326;border-color:#1bb2734d}:root[data-theme=dark] .sync-pill.sync-pending{color:#f7ca78;background:#e7a43b26;border-color:#e7a43b4d}:root[data-theme=dark] .sync-pill.sync-error{color:#f89088;background:#d9423526;border-color:#d942354d}:root[data-theme=dark] div.sync-error{color:#f89088;background:#251817;border-bottom-color:#4a2925}:root[data-theme=dark] .sync-error button{color:#f89088;background:#331e1c;border-color:#5a2e29}:root[data-theme=dark] .migration-notice{color:#79d8ba;background:#13221d;border-bottom-color:#26473b}
