
:root{font-family:var(--body-font,system-ui);color:#28352f;background:#f8f8f5;font-synthesis:none;text-rendering:optimizeLegibility;--green:#29483b;--green2:#426754;--ink:#26332e;--muted:#828b84;--line:#e6e8e1;--paper:#fff;--lime:#e8efc6;--peach:#f4e8d9;--shadow:0 16px 50px #28352f0e}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.boot{height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;background:var(--green);color:white;border-radius:12px;font:700 calc(21px * var(--ui-scale,1)) var(--display-font,system-ui)}.boot .brand-mark{margin:auto}.shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}aside{position:sticky;top:0;height:100vh;background:#f3f4ef;border-right:1px solid var(--line);padding:25px 16px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 27px;color:var(--ink);text-decoration:none;font:700 calc(16px * var(--ui-scale,1)) var(--display-font,system-ui);letter-spacing:-.5px}.brand-mark{flex:none}.side-label{margin:0 10px 8px;color:#a0a79e;text-transform:uppercase;font-size:calc(10px * var(--ui-scale,1));font-weight:700;letter-spacing:1.1px}.nav{display:grid;gap:4px}.nav button{display:flex;align-items:center;gap:12px;border:0;border-radius:9px;background:none;color:#707970;text-align:left;padding:10px 12px;font-size:calc(13px * var(--ui-scale,1));transition:.15s}.nav button:hover{background:#e9ece5;color:var(--ink)}.nav button.active{background:white;color:var(--green);font-weight:600;box-shadow:0 3px 10px #243a3108}.nav-icon{width:19px;text-align:center;font-size:calc(16px * var(--ui-scale,1))}.aside-bottom{margin-top:auto}.profile-switch{border:1px solid var(--line);padding:12px 10px;border-radius:11px;background:#fff;margin:12px 2px 10px;cursor:pointer}.profile-switch small{display:block;text-transform:uppercase;letter-spacing:.8px;font-size:calc(9px * var(--ui-scale,1));color:var(--muted);margin-bottom:5px}.profile-switch strong{font-size:calc(12px * var(--ui-scale,1))}.user-row{display:flex;align-items:center;gap:10px;padding:12px 9px 0;border-top:1px solid var(--line);font-size:calc(11px * var(--ui-scale,1));color:#667168}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e1e8d3;color:var(--green);font-weight:700}.user-row button{margin-left:auto;border:0;background:none;color:#798178;font-size:calc(11px * var(--ui-scale,1))}main{min-width:0;padding:27px clamp(22px,4vw,56px) 70px;max-width:1540px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.crumb{color:#939a93;font-size:calc(12px * var(--ui-scale,1))}.top-actions{display:flex;align-items:center;gap:10px}.date-label{font-size:calc(11px * var(--ui-scale,1));color:#818981}.select-profile{border:1px solid var(--line);background:white;padding:8px 11px;border-radius:8px;color:var(--ink);font-size:calc(12px * var(--ui-scale,1));max-width:190px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:calc(10px * var(--ui-scale,1));text-transform:uppercase;letter-spacing:1.2px;color:#849087;font-weight:700;margin-bottom:9px}.page-head h1{font:600 calc(clamp(24px,3vw,34px) * var(--ui-scale,1)) var(--display-font,system-ui);letter-spacing:-1.2px;margin:0;color:#29362f}.page-head p{font-size:calc(13px * var(--ui-scale,1));color:#838c84;margin:8px 0 0}.btn{border:0;border-radius:8px;background:var(--green);color:white;padding:10px 15px;font-size:calc(12px * var(--ui-scale,1));font-weight:600;transition:background .15s,transform .15s}.btn:hover{background:#365d4b;transform:translateY(-1px)}.btn.secondary{background:white;color:var(--green);border:1px solid var(--line)}.btn.soft{background:#eef1e7;color:var(--green)}.btn.danger{background:#f7e6e2;color:#9a5145}.btn.small{padding:7px 10px;font-size:calc(11px * var(--ui-scale,1))}.icon-btn{display:inline-grid;place-items:center;padding:0;flex-shrink:0;width:34px;height:34px;border:1px solid var(--line);background:white;border-radius:8px;color:#617066;font-size:calc(16px * var(--ui-scale,1))}.cards{display:grid;gap:14px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.stat-card,.panel{background:var(--paper);border:1px solid #eceee8;border-radius:12px;box-shadow:var(--shadow)}.stat-card{padding:17px 18px 16px;min-height:115px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#8a938a;font-size:calc(11px * var(--ui-scale,1))}.stat-ico{width:27px;height:27px;background:#f0f3e9;color:var(--green);display:grid;place-items:center;border-radius:8px;font-size:calc(13px * var(--ui-scale,1))}.stat-value{font:600 calc(27px * var(--ui-scale,1)) var(--display-font,system-ui);letter-spacing:-1px;margin:11px 0 2px}.stat-sub{font-size:calc(10px * var(--ui-scale,1));color:#929a92}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr)}.panel{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-head h2{font:600 calc(14px * var(--ui-scale,1)) var(--display-font,system-ui);margin:0}.panel-head p{margin:5px 0 0;color:#919990;font-size:calc(10px * var(--ui-scale,1))}.chart{height:170px;display:flex;align-items:flex-end;gap:10px;padding:12px 3px 0;border-bottom:1px solid var(--line)}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;height:100%;font-size:calc(9px * var(--ui-scale,1));color:#9aa198}.bar{width:min(28px,70%);min-height:3px;background:#dfe7cb;border-radius:5px 5px 0 0;transition:height .4s}.bar.today{background:var(--green)}.progress-row{margin:15px 0}.progress-meta{display:flex;justify-content:space-between;font-size:calc(11px * var(--ui-scale,1));margin-bottom:7px}.progress-meta span:last-child{color:#929a91}.progress{height:6px;border-radius:5px;background:#eef0eb;overflow:hidden}.progress i{height:100%;display:block;background:#89a277;border-radius:5px}.activity{display:grid;gap:0}.activity-row{display:flex;align-items:center;gap:10px;border-top:1px solid #f0f1ec;padding:12px 0;font-size:calc(11px * var(--ui-scale,1))}.activity-row:first-child{border-top:0}.activity-dot{width:7px;height:7px;background:#a7ba88;border-radius:50%}.activity-row span:last-child{margin-left:auto;color:#9aa198;font-size:calc(10px * var(--ui-scale,1))}.empty{padding:35px 15px;text-align:center;color:#929a92;font-size:calc(12px * var(--ui-scale,1))}.empty strong{display:block;color:#505e54;font:600 calc(15px * var(--ui-scale,1)) var(--display-font,system-ui);margin-bottom:8px}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 11px;color:var(--ink);font-size:calc(12px * var(--ui-scale,1));outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#8ca28c;box-shadow:0 0 0 3px #42675414}.search{max-width:320px}.select.compact{width:auto;min-width:130px}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%;font-size:calc(12px * var(--ui-scale,1))}.table th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:#909990;font-size:calc(9px * var(--ui-scale,1));font-weight:700;padding:11px 12px;border-bottom:1px solid var(--line)}.table td{padding:13px 12px;border-bottom:1px solid #f0f1ec;vertical-align:middle}.table tr:last-child td{border-bottom:0}.word{font-weight:600;font-size:calc(13px * var(--ui-scale,1))}.subtext{display:block;color:#929a92;font-size:calc(10px * var(--ui-scale,1));margin-top:4px}.badge{display:inline-block;background:#f0f3ea;color:#5f7258;border-radius:20px;padding:4px 8px;font-size:calc(9px * var(--ui-scale,1))}.actions{display:flex;gap:5px}.actions button{border:0;background:transparent;color:#6e7e70;font-size:calc(11px * var(--ui-scale,1));padding:5px}.review-wrap{max-width:760px;margin:0 auto}.review-progress{height:4px;background:#e8ebe3;border-radius:4px;margin-bottom:20px;overflow:hidden}.review-progress i{display:block;height:100%;background:#8da27d;transition:width .3s}.review-card{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 30px;background:#fff;border:1px solid #eceee8;border-radius:16px;box-shadow:var(--shadow)}.review-type{color:#9ba398;text-transform:uppercase;letter-spacing:1px;font-size:calc(9px * var(--ui-scale,1))}.review-front{font:600 calc(clamp(28px,5vw,42px) * var(--ui-scale,1)) var(--display-font,system-ui);letter-spacing:-1px;margin:27px 0 8px}.review-back{font-size:calc(16px * var(--ui-scale,1));color:#5b695f;margin:8px 0}.review-example{font-size:calc(13px * var(--ui-scale,1));color:#6f7c71;max-width:480px;line-height:1.6;margin-top:16px}.rating-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.rating{border:1px solid var(--line);background:white;border-radius:9px;padding:12px 8px;color:#3e5145;font-weight:600;font-size:calc(12px * var(--ui-scale,1))}.rating span{display:block;font-size:calc(9px * var(--ui-scale,1));font-weight:400;color:#949b94;margin-top:4px}.rating:hover{border-color:#9aaa86;background:#f5f7ef}.rating.again{color:#a55a4f}.rating.easy{color:#47734f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:calc(10px * var(--ui-scale,1));color:#667269;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.tabs{display:flex;gap:4px;background:#eef0eb;padding:4px;border-radius:9px;width:max-content;margin-bottom:16px}.tabs button{border:0;background:transparent;color:#778076;border-radius:6px;padding:8px 12px;font-size:calc(11px * var(--ui-scale,1))}.tabs button.active{background:white;color:var(--green);box-shadow:0 2px 4px #0000000a}.callout{border-radius:9px;background:#f3f5ed;padding:13px 15px;color:#677466;font-size:calc(11px * var(--ui-scale,1));line-height:1.55}.callout.warn{background:#fbf2e5;color:#8b704e}.toggle{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #eef0eb;font-size:calc(12px * var(--ui-scale,1))}.toggle input{accent-color:var(--green)}.profile-card{display:flex;align-items:center;gap:14px;padding:17px;border-bottom:1px solid #eff0eb}.profile-letter{width:42px;height:42px;background:#eff2e6;border-radius:11px;display:grid;place-items:center;color:var(--green);font-weight:700;font-size:calc(17px * var(--ui-scale,1))}.profile-card h3{margin:0 0 4px;font-size:calc(13px * var(--ui-scale,1))}.profile-card p{margin:0;color:#929a92;font-size:calc(10px * var(--ui-scale,1))}.profile-card .actions{margin-left:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.studio-output{white-space:pre-wrap;line-height:1.7;font-size:calc(13px * var(--ui-scale,1));color:#58665d}.rtl{direction:rtl;unicode-bidi:isolate}dialog{border:0;border-radius:14px;padding:25px;width:min(600px,calc(100vw - 28px));max-height:90vh;box-shadow:0 30px 100px #18251e38;color:var(--ink)}dialog::backdrop{background:#1c292280;backdrop-filter:blur(3px)}dialog h2{font:600 calc(19px * var(--ui-scale,1)) var(--display-font,system-ui);margin:0 0 6px}dialog .close{position:absolute;right:15px;top:15px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#263a30;color:white;border-radius:8px;padding:11px 16px;font-size:calc(12px * var(--ui-scale,1));box-shadow:var(--shadow);transition:.2s;z-index:10;max-width:calc(100vw - 30px)}#toast.show{opacity:1;transform:translate(-50%,0)}.auth{min-height:100vh;display:grid;grid-template-columns:minmax(300px,1fr) minmax(340px,1fr);background:white}.auth-aside{background:#29483b;color:#f5f5ee;padding:clamp(30px,7vw,90px);display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-aside .brand{color:white;padding:0}.auth-aside .brand-mark{background:#e9efc8;color:#29483b}.auth-quote{max-width:480px}.auth-quote blockquote{font:500 calc(clamp(27px,4vw,43px) * var(--ui-scale,1))/1.25 var(--display-font,system-ui);letter-spacing:-1.4px;margin:0 0 20px}.auth-quote p{font-size:calc(13px * var(--ui-scale,1));color:#c2d1c5}.auth-note{font-size:calc(10px * var(--ui-scale,1));color:#b1c2b5}.auth-main{display:grid;place-items:center;padding:30px}.auth-form{width:min(360px,100%)}.auth-form h1{font:600 calc(27px * var(--ui-scale,1)) var(--display-font,system-ui);letter-spacing:-1px;margin:0 0 8px}.auth-form>p{font-size:calc(12px * var(--ui-scale,1));color:#879087;margin:0 0 25px}.auth-form .field{margin-bottom:13px}.auth-form .btn{width:100%;margin-top:6px}.auth-switch{text-align:center;color:#919890;font-size:calc(11px * var(--ui-scale,1));margin-top:16px}.auth-switch button{border:0;background:none;color:var(--green);font-weight:600}.mobile-top{display:none}
@media(max-width:960px){.shell{grid-template-columns:204px minmax(0,1fr)}aside{padding:22px 11px}.dashboard-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}main{padding:24px 24px 60px}}
@media(max-width:680px){.shell{display:block}aside{position:fixed;top:auto;bottom:0;height:auto;width:100%;padding:6px 5px calc(6px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);background:#fbfbf8ef;backdrop-filter:blur(10px)}aside .brand,aside .side-label,.aside-bottom{display:none}.nav{display:flex;justify-content:space-around;gap:0}.nav button{display:flex;flex-direction:column;gap:3px;padding:6px 2px;font-size:calc(8px * var(--ui-scale,1));min-width:0;flex:1;text-align:center;white-space:nowrap}.nav-icon{font-size:calc(16px * var(--ui-scale,1))}main{padding:18px 16px 95px}.topbar{margin-bottom:22px}.date-label{display:none}.page-head{align-items:flex-start}.page-head .btn{padding:9px 10px;font-size:calc(10px * var(--ui-scale,1))}.page-head p{max-width:220px;line-height:1.4}.stat-grid{gap:9px}.stat-card{padding:13px;min-height:101px}.stat-value{font-size:calc(23px * var(--ui-scale,1))}.panel{padding:16px}.review-card{min-height:310px;padding:28px 18px}.rating-row{gap:6px}.rating{padding:11px 4px;font-size:calc(11px * var(--ui-scale,1))}.table th,.table td{padding:10px 8px}.table{min-width:550px}.toolbar .search{max-width:none;flex:1}.auth{display:block}.auth-aside{display:none}.auth-main{min-height:100vh}.form-grid,.split{grid-template-columns:1fr}.field.full{grid-column:auto}.top-actions .select-profile{max-width:140px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
:root[data-theme="dark"]{color-scheme:dark;--green:#b4d2b5;--green2:#a7caa9;--ink:#e4eae4;--muted:#9aa89c;--line:#343e37;--paper:#242c27;--lime:#354135;--peach:#40372e;--shadow:0 16px 50px #0003;background:#1c231f;color:var(--ink)}:root[data-theme="dark"] body{background:#1c231f;color:var(--ink)}:root[data-theme="dark"] aside{background:#202823;border-color:var(--line)}:root[data-theme="dark"] .brand{color:var(--ink)}:root[data-theme="dark"] .brand-mark{background:#dfe9c7;color:#26392e}:root[data-theme="dark"] .nav button{color:#a2afa5}:root[data-theme="dark"] .nav button:hover,:root[data-theme="dark"] .nav button.active{background:#303a33;color:#e6eee4}:root[data-theme="dark"] .profile-switch,:root[data-theme="dark"] .select-profile,:root[data-theme="dark"] .stat-card,:root[data-theme="dark"] .panel,:root[data-theme="dark"] .review-card,:root[data-theme="dark"] .icon-btn,:root[data-theme="dark"] .rating{background:#242c27;border-color:#364139;color:var(--ink)}:root[data-theme="dark"] .btn.secondary{background:#29332d;border-color:#3a453d;color:#d9e5d7}:root[data-theme="dark"] .btn.soft,:root[data-theme="dark"] .stat-ico,:root[data-theme="dark"] .callout{background:#303a31;color:#c7d6c5}:root[data-theme="dark"] .badge{background:#344138;color:#cad8c4}:root[data-theme="dark"] .bar{background:#586b50}:root[data-theme="dark"] .bar.today{background:#bbd39c}:root[data-theme="dark"] .progress{background:#39433c}:root[data-theme="dark"] .progress i{background:#a6c18b}:root[data-theme="dark"] .input,:root[data-theme="dark"] .select,:root[data-theme="dark"] .textarea{background:#202823;border-color:#3a453d;color:#e4eae4}:root[data-theme="dark"] .table td{border-color:#333c35}:root[data-theme="dark"] .table th{border-color:#414a43;color:#a8b2a9}:root[data-theme="dark"] .actions button{color:#bdcbbb}:root[data-theme="dark"] .profile-card{border-color:#343e37}:root[data-theme="dark"] .profile-letter{background:#354236;color:#d9e6cf}:root[data-theme="dark"] .tabs{background:#29312b}:root[data-theme="dark"] .tabs button.active{background:#3a453d;color:#e3eadf}:root[data-theme="dark"] dialog{background:#242c27;color:var(--ink)}:root[data-theme="dark"] .auth{background:#1c231f}:root[data-theme="dark"] .auth-main{color:var(--ink)}:root[data-theme="dark"] .rating:hover{background:#303b33;border-color:#70866f}

/* Refined, touch-first presentation */
:root{--green:#29483b;--green2:#57745e;--ink:#26352d;--muted:#78847b;--line:#e5e9e0;--paper:#fff;--lime:#eaf0d7;--peach:#f6e9dc;--shadow:0 12px 34px rgba(37,55,43,.07);color-scheme:light}
html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 88% 0%,#eff2e6 0,transparent 38%),#f8f8f5;color:var(--ink);-webkit-font-smoothing:antialiased}button,a,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #99b38a;outline-offset:2px}.shell{grid-template-columns:252px minmax(0,1fr)}aside{background:linear-gradient(180deg,#f2f4ed 0%,#f6f7f2 100%);padding:25px 17px}.brand{font-size:calc(17px * var(--ui-scale,1));padding:0 8px 30px}.brand-mark{width:42px;height:42px;border-radius:14px;box-shadow:0 6px 16px #243a311f}.side-label{margin:0 12px 10px}.nav{gap:5px}.nav button{min-height:45px;border-radius:12px;padding:10px 13px;font-size:calc(13px * var(--ui-scale,1))}.nav button.active{background:#fff;border:1px solid #e8ece3;box-shadow:0 5px 16px #243a310b}.nav-icon{width:22px;font-size:calc(17px * var(--ui-scale,1))}main{padding-top:30px}.topbar{margin-bottom:34px}.crumb{font-size:calc(13px * var(--ui-scale,1))}.crumb b{color:var(--green);margin-left:5px}.select-profile,.icon-btn{min-height:42px;border-radius:11px}.page-head{margin-bottom:27px}.page-head h1{font-weight:700;letter-spacing:-1.35px}.page-head p{font-size:calc(14px * var(--ui-scale,1));line-height:1.5}.btn{min-height:44px;border-radius:11px;padding:11px 16px;font-size:calc(13px * var(--ui-scale,1));box-shadow:0 3px 8px #20372c0d}.btn.secondary{box-shadow:none}.btn.small{min-height:40px;padding:9px 12px}.stat-card,.panel{border-radius:18px;border-color:#e9ece5;box-shadow:var(--shadow)}.stat-card{padding:19px 20px;min-height:125px}.stat-value{font-size:calc(30px * var(--ui-scale,1))}.panel{padding:23px}.panel-head h2{font-size:calc(15px * var(--ui-scale,1))}.panel-head p{font-size:calc(11px * var(--ui-scale,1))}.input,.select,.textarea{min-height:46px;border-radius:11px;padding:11px 13px;font-size:calc(14px * var(--ui-scale,1))}.field label{font-size:calc(11px * var(--ui-scale,1))}.callout{border-radius:12px;padding:15px 16px;font-size:calc(12px * var(--ui-scale,1))}.review-card{border-radius:23px;border-color:#e9ece5;background:radial-gradient(ellipse at 50% 0%,#f4f6ec 0,white 70%);box-shadow:0 16px 50px #28352f0c}.rating{min-height:58px;border-radius:13px}.rating span{font-size:calc(10px * var(--ui-scale,1))}.profile-card{padding:20px 17px}.profile-letter{border-radius:14px}.tabs{border-radius:12px}.tabs button{min-height:40px;border-radius:9px}.mobile-nav{display:none}.mobile-more{padding:2px}.mobile-more-head h2{margin:0;font:700 calc(24px * var(--ui-scale,1)) var(--display-font,system-ui);letter-spacing:-.8px}.mobile-more-head p{margin:7px 0 20px;color:var(--muted);font-size:calc(13px * var(--ui-scale,1))}.mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mobile-more-item{display:flex;align-items:center;gap:11px;min-height:56px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-align:left;font-size:calc(13px * var(--ui-scale,1));font-weight:600}.mobile-more-item span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#f0f3e9;color:var(--green);font-size:calc(17px * var(--ui-scale,1))}.mobile-more-signout{width:100%;margin-top:13px}
@media(max-width:960px){.shell{grid-template-columns:218px minmax(0,1fr)}aside{padding:23px 13px}.dashboard-grid{grid-template-columns:1fr}main{padding:25px 22px 60px}}
@media(max-width:680px){
  body{background:#f7f8f4;min-width:320px}.shell{display:block;min-height:100dvh}aside{display:none}.mobile-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #e6e9e2;background:rgba(250,251,247,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 -8px 24px #20372c0a}.mobile-nav button{display:flex;min-width:0;min-height:57px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:13px;background:transparent;color:#7e897e;font-size:calc(10px * var(--ui-scale,1));font-weight:600}.mobile-nav button .nav-icon{width:auto;font-size:calc(20px * var(--ui-scale,1));line-height:1}.mobile-nav button.active{background:#eaf0df;color:#29483b}.mobile-nav button:active{transform:scale(.97)}main{width:100%;max-width:720px;margin:0 auto;padding:0 16px calc(112px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:15;display:flex;min-height:62px;align-items:center;margin:0 -16px 23px;padding:8px 16px;background:rgba(248,249,245,.92);border-bottom:1px solid #e9ece5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.crumb{font-size:calc(12px * var(--ui-scale,1))}.top-actions{gap:7px}.date-label{display:none}.select-profile{max-width:min(44vw,165px);min-height:43px;padding:8px 10px;font-size:calc(14px * var(--ui-scale,1))}.icon-btn{width:43px;height:43px;min-width:43px;border-radius:12px}.page-head{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:20px}.page-head h1{font-size:calc(29px * var(--ui-scale,1));line-height:1.13;letter-spacing:-1.2px}.page-head p{max-width:38ch;margin-top:8px;font-size:calc(14px * var(--ui-scale,1));line-height:1.5}.page-head .btn{align-self:flex-start;min-height:48px;padding:12px 16px;font-size:calc(13px * var(--ui-scale,1))}.eyebrow{font-size:calc(10px * var(--ui-scale,1));margin-bottom:8px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.stat-card{min-width:0;min-height:112px;padding:14px;border-radius:16px}.stat-top{font-size:calc(11px * var(--ui-scale,1));gap:4px}.stat-ico{width:29px;height:29px;flex:none}.stat-value{margin:10px 0 3px;font-size:calc(26px * var(--ui-scale,1))}.stat-sub{font-size:calc(10px * var(--ui-scale,1));line-height:1.35}.dashboard-grid,.split{grid-template-columns:minmax(0,1fr);gap:12px}.panel{padding:18px;border-radius:17px}.panel-head{gap:10px;margin-bottom:15px}.panel-head h2{font-size:calc(15px * var(--ui-scale,1))}.panel-head p{font-size:calc(11px * var(--ui-scale,1));line-height:1.4}.chart{height:138px;gap:5px}.bar-col{font-size:calc(9px * var(--ui-scale,1))}.toolbar{gap:8px;margin-bottom:12px}.toolbar .search{order:-1;flex-basis:100%;max-width:none;min-height:48px}.toolbar .select{flex:1;min-width:0}.toolbar .btn{flex:1;min-height:44px;padding:9px 10px}.input,.select,.textarea{min-height:48px;font-size:calc(16px * var(--ui-scale,1));border-radius:12px}.table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.table{min-width:0}.table .word{font-size:calc(14px * var(--ui-scale,1))}.table .subtext{font-size:calc(11px * var(--ui-scale,1))}.actions{gap:6px;flex-wrap:wrap}.actions button{min-height:38px;padding:8px;border-radius:9px;background:#f3f5ef}.review-wrap{max-width:100%}.review-progress{height:5px;margin-bottom:14px}.review-card{min-height:min(53dvh,430px);padding:28px 18px;border-radius:22px}.review-front{font-size:calc(clamp(30px,8vw,40px) * var(--ui-scale,1));line-height:1.16;overflow-wrap:anywhere;margin:22px 0 10px}.review-back{font-size:calc(17px * var(--ui-scale,1));line-height:1.45}.review-example{font-size:calc(14px * var(--ui-scale,1));line-height:1.6}.rating-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.rating{min-height:60px;padding:10px 8px;font-size:calc(13px * var(--ui-scale,1))}.rating span{font-size:calc(10px * var(--ui-scale,1))}.form-grid{grid-template-columns:minmax(0,1fr);gap:14px}.field.full{grid-column:auto}.modal-actions{position:sticky;bottom:-1px;padding:10px 0 max(2px,env(safe-area-inset-bottom));background:var(--paper)}dialog{width:calc(100vw - 20px);max-width:560px;max-height:calc(100dvh - 24px);padding:22px 18px;border-radius:20px}dialog.mobile-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:82dvh;padding:24px 18px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;overflow:auto}dialog.mobile-sheet::backdrop{background:#1c292280}.mobile-more-grid{gap:8px}.mobile-more-item{min-height:58px;font-size:calc(12px * var(--ui-scale,1))}.profile-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px 4px}.profile-card>div:nth-child(2){min-width:0}.profile-card .actions{grid-column:1/-1;margin:0;width:100%}.profile-card .actions button{flex:1;min-height:42px;background:#f4f6f0;border-radius:10px}.profile-card p{font-size:calc(11px * var(--ui-scale,1));line-height:1.4}.profile-card h3{font-size:calc(14px * var(--ui-scale,1))}.tabs{max-width:100%;overflow:auto;width:100%;padding:4px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;min-height:42px;padding:9px 13px;font-size:calc(12px * var(--ui-scale,1))}.studio-output{font-size:calc(14px * var(--ui-scale,1));line-height:1.65}.auth{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 0%,#e8eedb 0,transparent 55%),#fff}.auth-main{display:grid;flex:1;min-height:100dvh;place-items:center;padding:32px 24px calc(32px + env(safe-area-inset-bottom))}.auth-form{width:min(420px,100%)}.auth-form h1{font-size:calc(30px * var(--ui-scale,1))}.auth-form>p{font-size:calc(14px * var(--ui-scale,1));line-height:1.5;margin-bottom:28px}.auth-form .field{margin-bottom:17px}.auth-form .btn{min-height:50px;font-size:calc(14px * var(--ui-scale,1))}.auth-switch{font-size:calc(13px * var(--ui-scale,1))}.auth-switch button{min-height:42px;padding:8px}.subtext{font-size:calc(11px * var(--ui-scale,1));line-height:1.4}#toast{bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);width:max-content;text-align:center;font-size:calc(13px * var(--ui-scale,1))}
}
@media(max-width:390px){.mobile-nav{padding-left:7px;padding-right:7px}.mobile-nav button{font-size:calc(9px * var(--ui-scale,1))}.mobile-nav button .nav-icon{font-size:calc(19px * var(--ui-scale,1))}.stat-card{padding:12px}.stat-value{font-size:calc(24px * var(--ui-scale,1))}.panel{padding:16px}.topbar{padding-left:13px;padding-right:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:root[data-theme="dark"] body{background:#1c231f}:root[data-theme="dark"] aside{background:#202823}:root[data-theme="dark"] .mobile-nav{background:rgba(32,40,35,.94);border-color:#343e37}:root[data-theme="dark"] .mobile-nav button{color:#a2afa5}:root[data-theme="dark"] .mobile-nav button.active{background:#344237;color:#e6eee4}:root[data-theme="dark"] .topbar{background:rgba(28,35,31,.93);border-color:#343e37}:root[data-theme="dark"] .table tr,:root[data-theme="dark"] .mobile-more-item{background:#242c27;border-color:#364139;color:var(--ink)}:root[data-theme="dark"] .table td:first-child{border-color:#343e37}:root[data-theme="dark"] .table td::before{color:#a3afa3}:root[data-theme="dark"] .table .actions button,:root[data-theme="dark"] .profile-card .actions button{background:#303a33;color:#d2dfd0}:root[data-theme="dark"] .mobile-more-item span{background:#354236;color:#d9e6cf}:root[data-theme="dark"] .review-card{background:radial-gradient(ellipse at 50% 0%,#303a31 0,#242c27 70%)}

/* Tactile, reversible flashcard flip */
.review-card-stage{perspective:1400px;touch-action:manipulation}.review-card{display:block;width:100%;min-height:0;padding:0;border:0;border-radius:23px;background:transparent;color:inherit;text-align:center;font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;box-shadow:none;outline-offset:6px}.review-card-inner{display:grid;position:relative;min-height:350px;transform-style:preserve-3d;transition:transform 620ms cubic-bezier(.2,.72,.18,1);will-change:transform}.review-card.flipped .review-card-inner{transform:rotateY(180deg)}.review-face{grid-area:1/1;display:flex;min-width:0;min-height:350px;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:42px 32px 28px;border:1px solid #e7ebe3;border-radius:23px;background:radial-gradient(ellipse at 50% 0%,#f1f5e7 0,white 68%);box-shadow:0 18px 44px rgba(38,58,45,.1);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-wrap:anywhere}.review-face-back{transform:rotateY(180deg);background:radial-gradient(ellipse at 50% 0%,#f8eee3 0,#fff 68%)}.review-type{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#eef2e7;color:#71806e;font-size:calc(10px * var(--ui-scale,1));font-weight:700;letter-spacing:.08em;text-transform:uppercase}.review-front{max-width:100%;font-size:calc(clamp(30px,5vw,44px) * var(--ui-scale,1));line-height:1.18;overflow-wrap:anywhere}.review-back{max-width:100%;font-size:calc(clamp(19px,3vw,25px) * var(--ui-scale,1));font-weight:600;line-height:1.35;color:#455b4c;overflow-wrap:anywhere}.review-example{max-width:100%;margin-top:18px;padding:12px 14px;border-radius:13px;background:#f5f6f1;color:#5d6a60;font-size:calc(14px * var(--ui-scale,1));line-height:1.55}.review-example-translation{color:#858e84;font-size:calc(12px * var(--ui-scale,1))}.review-notes{max-width:100%;margin-top:12px;color:#78847b;font-size:calc(12px * var(--ui-scale,1));line-height:1.5}.review-card-hint{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:auto;padding-top:24px;color:#929c91;font-size:calc(11px * var(--ui-scale,1));font-weight:600;letter-spacing:.01em}.flip-glyph{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid #e2e8dc;border-radius:50%;color:#61775f;font-size:calc(15px * var(--ui-scale,1))}.review-hint{margin:10px 0 0;text-align:center;color:#929a92;font-size:calc(11px * var(--ui-scale,1))}.rating-row[hidden],.review-keyboard-hint[hidden]{display:none!important}.rating-row{animation:ratings-in .32s ease-out both}.review-keyboard-hint{text-align:center;margin-top:11px}@keyframes ratings-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}:root[data-theme="dark"] .review-face{border-color:#364139;background:radial-gradient(ellipse at 50% 0%,#303a31 0,#242c27 70%);box-shadow:0 18px 44px #0004}:root[data-theme="dark"] .review-face-back{background:radial-gradient(ellipse at 50% 0%,#40382f 0,#242c27 70%)}:root[data-theme="dark"] .review-type{background:#354236;color:#ccd9c6}:root[data-theme="dark"] .review-back{color:#d4e1d4}:root[data-theme="dark"] .review-example{background:#303a33;color:#c5d0c4}:root[data-theme="dark"] .review-example-translation,:root[data-theme="dark"] .review-card-hint,:root[data-theme="dark"] .review-hint{color:#a6b2a6}:root[data-theme="dark"] .flip-glyph{border-color:#4a594b;color:#d5e2ca}
@media(max-width:680px){.review-card,.review-face{border-radius:22px}.review-card-inner,.review-face{min-height:min(53dvh,430px)}.review-face{padding:34px 20px 22px}.review-front{font-size:calc(clamp(30px,8vw,40px) * var(--ui-scale,1));line-height:1.17}.review-back{font-size:calc(clamp(19px,5.2vw,23px) * var(--ui-scale,1))}.review-example{font-size:calc(13px * var(--ui-scale,1))}.review-card-hint{padding-top:20px;font-size:calc(11px * var(--ui-scale,1))}.review-hint{font-size:calc(10px * var(--ui-scale,1));margin-top:8px}}
@media(prefers-reduced-motion:reduce){.review-card-inner,.rating-row{transition:none!important;animation:none!important}}




/* Warm theme: soft parchment, cinnamon accents, and ink-like text. */
:root[data-theme="warm"]{color-scheme:light;--green:#8a4935;--green2:#a65e43;--ink:#3d2d26;--muted:#927c6c;--line:#ead8c6;--paper:#fffaf3;--lime:#f1dfbf;--peach:#f7dfcc;--shadow:0 16px 50px #633b2514;background:#f8efe4;color:var(--ink)}
:root[data-theme="warm"] body{background:#f8efe4;color:var(--ink)}
:root[data-theme="warm"] aside{background:#f5e9dc;border-color:#e6d2bd}
:root[data-theme="warm"] .brand{color:var(--ink)}
:root[data-theme="warm"] .brand-mark{background:#8a4935;color:#fff8ef}
:root[data-theme="warm"] .nav button{color:#806b5c}
:root[data-theme="warm"] .nav button:hover,:root[data-theme="warm"] .nav button.active{background:#ead7c3;color:#713d2d}
:root[data-theme="warm"] .profile-switch,:root[data-theme="warm"] .select-profile,:root[data-theme="warm"] .stat-card,:root[data-theme="warm"] .panel,:root[data-theme="warm"] .review-card,:root[data-theme="warm"] .icon-btn,:root[data-theme="warm"] .rating{background:#fffaf3;border-color:#ead8c6;color:var(--ink)}
:root[data-theme="warm"] .btn.secondary{background:#f4e6d6;border-color:#e6d2bd;color:#704531}
:root[data-theme="warm"] .btn.soft,:root[data-theme="warm"] .stat-ico,:root[data-theme="warm"] .callout{background:#f1e3d2;color:#735d49}
:root[data-theme="warm"] .badge{background:#f2e2cd;color:#805737}
:root[data-theme="warm"] .input,:root[data-theme="warm"] .select,:root[data-theme="warm"] .textarea{background:#fffaf3;border-color:#e6d2bd;color:#3d2d26}
:root[data-theme="warm"] .tabs{background:#eee0cf}
:root[data-theme="warm"] .tabs button.active{background:#fffaf3;color:#8a4935}
:root[data-theme="warm"] .review-progress{background:#eadbc9}
:root[data-theme="warm"] .review-progress i{background:#c17a55}
:root[data-theme="warm"] .rating:hover{background:#f7ecde;border-color:#c89a77}
:root[data-theme="warm"] .auth{background:#fffaf3}
:root[data-theme="warm"] .auth-aside{background:#713f30}
:root[data-theme="warm"] .auth-aside .brand-mark{background:#f2dfbd;color:#713f30}
@media(max-width:680px){:root[data-theme="warm"] aside{background:#f8efe4ed}}





/* Review is a fixed interaction surface: no page scrolling while cards are active. */
html.review-mode,html.review-mode body{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none}body.review-mode{position:fixed;left:0;right:0;bottom:0;touch-action:none}.review-mode .shell{height:100dvh;min-height:0;overflow:hidden}.review-mode main{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;overscroll-behavior:none}.review-mode #page-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.review-mode .page-head{flex:0 0 auto}.review-mode .review-wrap{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;margin:0 auto;width:100%}.review-mode .review-card-stage{flex:0 0 auto;touch-action:none}.review-mode .review-card-inner,.review-mode .review-face{min-height:clamp(220px,40dvh,430px)}.review-card.is-dragging{transition:none!important;will-change:transform}.review-card.swipe-spring-back{transition:transform .34s cubic-bezier(.2,.82,.25,1)!important}.review-card.swipe-out-left,.review-card.swipe-out-right{transition:transform .28s cubic-bezier(.22,.76,.3,1)!important;pointer-events:none}
.review-swipe-hint{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(100%,460px);margin:12px auto 0;color:var(--ink);user-select:none;-webkit-user-select:none}.swipe-choice{min-height:54px;display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.swipe-got-it{justify-content:flex-end;text-align:right}.swipe-label{display:grid;gap:2px;line-height:1.1}.swipe-label strong{font-size:calc(13px * var(--ui-scale,1));color:var(--ink)}.swipe-label small{font-size:calc(10px * var(--ui-scale,1));color:var(--muted)}.swipe-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f7e8e4;color:#a65345;font-size:calc(18px * var(--ui-scale,1));font-weight:700}.swipe-got-it .swipe-arrow{background:#e8f0e4;color:#50734b}.review-mode .review-swipe-hint{flex-shrink:0}.review-mode .rating-row,.review-mode .review-keyboard-hint,.review-mode .review-hint{flex-shrink:0}
:root[data-theme="dark"] .swipe-arrow{background:#493431;color:#e5a69a}:root[data-theme="dark"] .swipe-got-it .swipe-arrow{background:#344236;color:#b7d2a9}:root[data-theme="warm"] .swipe-arrow{background:#f5e1d8;color:#9c513e}:root[data-theme="warm"] .swipe-got-it .swipe-arrow{background:#e8edd9;color:#647844}
@media(max-width:680px){.review-mode main{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.review-mode .review-card-inner,.review-mode .review-face{min-height:clamp(205px,35dvh,330px)}.review-mode .review-swipe-hint{gap:8px;margin-top:9px}.review-mode .swipe-choice{min-height:48px;padding:7px 10px;border-radius:12px}.review-mode .swipe-arrow{width:27px;height:27px}.review-mode .swipe-label strong{font-size:calc(12px * var(--ui-scale,1))}.review-mode .swipe-label small{font-size:calc(9px * var(--ui-scale,1))}.review-mode .review-hint{margin-top:6px}.review-mode .rating-row{margin-top:8px}.review-mode .review-keyboard-hint{margin-top:6px}}
@media(prefers-reduced-motion:reduce){.review-card.swipe-spring-back,.review-card.swipe-out-left,.review-card.swipe-out-right{transition:none!important}}

.review-head-actions,.review-complete-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.review-head-actions .btn{white-space:nowrap}.rating-row .rating{min-height:46px}
@media(max-width:680px){.review-head-actions{gap:6px}.review-head-actions .btn{padding:8px 9px;font-size:calc(10px * var(--ui-scale,1))}}

@media(max-width:680px){.review-mode .review-keyboard-hint{display:none!important}}

/* Compact review layout for phone-height viewports. */
@media(max-width:680px){
  .review-mode main{padding:12px 12px calc(76px + env(safe-area-inset-bottom))}
  .review-mode .topbar{margin-bottom:10px}
  .review-mode .page-head{margin-bottom:10px;gap:10px;align-items:center}
  .review-mode .page-head .eyebrow{margin-bottom:4px}
  .review-mode .page-head h1{font-size:calc(24px * var(--ui-scale,1))}
  .review-mode .page-head p{font-size:calc(11px * var(--ui-scale,1));margin-top:3px}
  .review-mode .review-wrap{justify-content:flex-start}
  .review-mode .review-progress{margin-bottom:10px}
  .review-mode .review-card-stage{flex:1 1 auto;min-height:0;display:flex;align-items:stretch}
  .review-mode .review-card{height:100%;min-height:0}
  .review-mode .review-card-inner,.review-mode .review-face{height:100%;min-height:0!important}
  .review-mode .review-face{padding:24px 16px 16px}
  .review-mode .review-front{font-size:calc(clamp(24px,7.5vw,36px) * var(--ui-scale,1));margin:14px 0 6px}
  .review-mode .review-back{font-size:calc(clamp(18px,5vw,22px) * var(--ui-scale,1))}
  .review-mode .review-card-hint{padding-top:14px}
  .review-mode .review-hint{display:none!important}
  .review-mode .review-swipe-hint{margin-top:7px}
  .review-mode .rating-row{gap:6px;margin-top:7px}
  .review-mode .rating{min-height:40px;padding:8px 4px;border-radius:10px;font-size:calc(11px * var(--ui-scale,1))}
}

.remember-option{display:flex;align-items:center;gap:9px;margin:5px 0 15px;color:#69756c;font-size:calc(12px * var(--ui-scale,1));cursor:pointer}.remember-option input{width:17px;height:17px;margin:0;accent-color:var(--green);flex:none}.remember-option span{line-height:1.35}:root[data-theme="dark"] .remember-option{color:#c5d0c4}
@media(max-width:680px){.remember-option{font-size:calc(13px * var(--ui-scale,1));margin:3px 0 17px}}

/* Scheduling controls and simplified manual card form. */
.schedule-panel,.appearance-panel{max-width:860px;margin:0 auto 16px}.algorithm-summary{padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--muted);font-size:calc(13px * var(--ui-scale,1));line-height:1.6}.algorithm-summary b{color:var(--ink)}.algorithm-details,.advanced-weights,.manual-extra{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:12px 14px}.algorithm-details{margin-top:10px}.algorithm-details summary,.advanced-weights summary,.manual-extra summary{cursor:pointer;color:var(--green);font-size:calc(12px * var(--ui-scale,1));font-weight:700}.algorithm-details p,.advanced-weights p{font-size:calc(12px * var(--ui-scale,1));line-height:1.6;color:var(--muted)}.algorithm-details code{display:block;overflow-x:auto;padding:12px;border-radius:8px;background:#f3f5ef;color:var(--ink);font-size:calc(12px * var(--ui-scale,1))}.preview-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:18px 0 9px}.preview-heading h3{font:600 calc(14px * var(--ui-scale,1)) var(--display-font,system-ui);margin:0;color:var(--ink)}.preview-samples{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.preview-sample{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--paper)}.preview-sample h4{margin:0 0 9px;font:600 calc(12px * var(--ui-scale,1)) var(--display-font,system-ui);color:var(--ink)}.delay-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.delay-item{display:grid;gap:5px;min-width:0;padding:8px 6px;border-radius:8px;background:#f3f5ef;text-align:center}.delay-item span{font-size:calc(10px * var(--ui-scale,1));color:var(--muted)}.delay-item strong{font-size:calc(11px * var(--ui-scale,1));color:var(--green)}.schedule-form{margin-top:15px}.schedule-toggle{display:flex;grid-column:1/-1;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.schedule-toggle input{width:17px;height:17px;accent-color:var(--green)}.schedule-toggle span{display:grid;gap:3px}.schedule-toggle b{font-size:calc(12px * var(--ui-scale,1));color:var(--ink)}.schedule-toggle small{font-size:calc(10px * var(--ui-scale,1));color:var(--muted)}.advanced-weights{grid-column:1/-1}.advanced-weights .field{margin:12px 0}.manual-card-form{grid-template-columns:1fr}.manual-extra{grid-column:1/-1}.manual-extra .form-grid{margin-top:14px}.manual-extra summary{min-height:20px;display:flex;align-items:center}.manual-extra[open] summary{margin-bottom:9px}.manual-card-form .modal-actions{margin-top:3px}.auth-form .remember-option{align-self:start}
:root[data-theme="dark"] .algorithm-details code,:root[data-theme="dark"] .delay-item{background:#303a33;color:var(--ink)}
:root[data-theme="warm"] .algorithm-details code,:root[data-theme="warm"] .delay-item{background:#f1e3d2;color:#704531}
@media(max-width:680px){.schedule-panel,.appearance-panel{margin-bottom:12px}.algorithm-summary{font-size:calc(12px * var(--ui-scale,1));padding:12px}.algorithm-details,.advanced-weights,.manual-extra{padding:11px}.preview-heading{align-items:flex-start;flex-direction:column}.preview-samples{grid-template-columns:1fr}.schedule-form{grid-template-columns:1fr}.schedule-toggle,.advanced-weights{grid-column:auto}.delay-preview{gap:4px}.delay-item{padding:7px 3px}.delay-item strong{font-size:calc(10px * var(--ui-scale,1))}.manual-card-form .modal-actions{position:sticky;bottom:-1px;padding:10px 0 max(2px,env(safe-area-inset-bottom));background:var(--paper)}}

/* Consistent line icons across workspace navigation. */
.app-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.nav-icon{display:inline-flex;align-items:center;justify-content:center}.nav-icon .app-icon{width:19px;height:19px}.mobile-nav .nav-icon .app-icon{width:21px;height:21px}.mobile-more-item>span{display:grid;place-items:center}.mobile-more-item>span .app-icon{width:20px;height:20px}.top-actions .icon-btn .app-icon{width:18px;height:18px;margin:auto}.panel-head>.app-icon{width:21px;height:21px;color:var(--green)}
@media(max-width:680px){.nav-icon .app-icon{width:21px;height:21px}}

.review-card-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px}.review-formality{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid #d5c6a3;border-radius:999px;background:#f6f0df;color:#71562e;font-size:calc(10px * var(--ui-scale,1));font-weight:700;letter-spacing:.02em}.review-card-front .review-formality{white-space:normal}.library-formality{color:var(--muted)}
:root[data-theme="dark"] .review-formality{background:#433d2e;border-color:#716442;color:#e8d6a6}:root[data-theme="warm"] .review-formality{background:#f5e5c8;border-color:#dfc89c;color:#78572a}
@media(max-width:680px){.review-card-meta{gap:5px}.review-formality{min-height:24px;padding:4px 8px;font-size:calc(9px * var(--ui-scale,1))}}

/* Searchable, typeable pickers in the vocabulary generator. */
.choice-picker{position:relative}.choice-picker .input{padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,#7d897e 50%),linear-gradient(135deg,#7d897e 50%,transparent 50%);background-position:calc(100% - 16px) 21px,calc(100% - 11px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.choice-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:30;max-height:230px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 14px 30px #17251d24}.choice-options[hidden]{display:none}.choice-option{display:block;width:100%;min-height:39px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;font-size:calc(13px * var(--ui-scale,1))}.choice-option:hover,.choice-option:focus{outline:0;background:#eef2e8;color:var(--green)}.choice-empty{padding:10px;color:var(--muted);font-size:calc(11px * var(--ui-scale,1))}.generator-panel .field .subtext{line-height:1.45}.generator-panel select{cursor:pointer}:root[data-theme="dark"] .choice-option:hover,:root[data-theme="dark"] .choice-option:focus{background:#344237;color:#e6eee4}:root[data-theme="warm"] .choice-option:hover,:root[data-theme="warm"] .choice-option:focus{background:#f1e3d2;color:#704531}
@media(max-width:680px){.choice-options{max-height:190px}.choice-option{min-height:43px;font-size:calc(14px * var(--ui-scale,1))}.choice-picker .input{background-position:calc(100% - 17px) 24px,calc(100% - 12px) 24px}}

/* Clear first-run language choice. */
.generator-panel #study-language-note{line-height:1.5}
.generator-panel #manage-languages{white-space:nowrap}
.generator-panel #generator-first-set-note{line-height:1.55}

.guest-preview-btn{width:100%;margin-top:12px}
.guest-preview-note{text-align:center;margin:7px 0 0;line-height:1.45}
.guest-preview-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.guest-preview-actions .btn{min-width:120px}
@media(max-width:680px){.guest-preview-actions{display:grid;grid-template-columns:1fr 1fr}.guest-preview-actions .btn{min-width:0}}

/* Collections, bulk organization, and scoped progress. */
[hidden]{display:none!important}
.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:0 0 22px}
.deck-tile{min-width:0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}
.deck-tile-heading{display:flex;align-items:center;gap:10px}.deck-tile-heading .app-icon{color:var(--green);flex-shrink:0}.deck-tile h2{font-size:calc(17px * var(--ui-scale,1));margin:0;overflow-wrap:anywhere}.deck-tile p{color:var(--muted);font-size:calc(12px * var(--ui-scale,1));margin:10px 0}.deck-tile-actions{display:flex;align-items:center;gap:8px;margin-top:18px}.deck-tile-actions .icon-btn{margin-left:auto;width:36px;height:36px}
.bulk-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 13px}.bulk-card-actions>span{margin-right:auto;font-size:calc(12px * var(--ui-scale,1));color:var(--muted)}.bulk-card-actions select{max-width:230px}.card-library-table input[type="checkbox"]{width:19px;height:19px;accent-color:var(--green);cursor:pointer}.card-library-table .word{overflow-wrap:anywhere}.deck-comparison{margin-top:20px}.deck-link{background:none;border:0;color:var(--green);font-weight:700;text-align:left;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.analytics-note{margin-top:18px;line-height:1.6}.chart-count{font-size:calc(11px * var(--ui-scale,1));color:var(--ink)}.stat-ico .app-icon{width:20px;height:20px}.generated-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.generated-actions .select{max-width:210px}#review-deck-filter{max-width:220px;min-width:0}
@media(max-width:680px){.deck-grid{grid-template-columns:1fr;gap:10px;margin-bottom:17px}.deck-tile{padding:16px}.deck-tile-actions{margin-top:12px}.bulk-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.bulk-card-actions>span{grid-column:1/-1}.bulk-card-actions select{max-width:100%;min-width:0}.generated-actions{width:100%;gap:7px}.generated-actions .select{flex:1;max-width:none;min-width:100px}.review-mode .page-head{flex-direction:column;align-items:stretch}.review-head-actions{justify-content:flex-end;width:100%}#review-deck-filter{flex:1;max-width:none;width:0;font-size:calc(11px * var(--ui-scale,1));padding:8px;min-height:36px}.review-head-actions .btn{min-height:36px}.deck-comparison{padding:17px}}

/* Explicit cell roles keep phone layouts independent of table column order. */
.user-row{min-width:0}.user-row .avatar{flex:none;min-width:30px}.user-email{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row button{flex:none}
.stat-line-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card-library-table{table-layout:fixed}.card-library-table th:first-child{width:40px}.card-library-table th:nth-child(2),.card-library-table th:nth-child(3){width:27%}.card-library-table th:nth-child(4){width:18%}.card-library-table td{overflow-wrap:anywhere}.card-library-table .actions{flex-wrap:wrap;gap:2px}.card-library-table .actions button{min-height:32px;padding:5px}.card-detail-badges{display:flex;align-items:flex-start;gap:5px;flex-wrap:wrap}.card-detail-badges .badge{white-space:normal;line-height:1.4}.status-badge{text-transform:capitalize}.selection-heading{padding:0!important}
.toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,auto) minmax(150px,auto);align-items:stretch}.toolbar .search{max-width:none;width:100%;min-width:0}.toolbar .select.compact{width:100%;min-width:0}.toolbar .btn{min-height:38px;white-space:nowrap}.bulk-card-actions{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(140px,190px) auto;gap:10px}.bulk-card-actions>span{margin:0;font-size:calc(11px * var(--ui-scale,1))}.select-all-control{display:flex;align-items:center;gap:7px;font-size:calc(11px * var(--ui-scale,1));color:var(--muted);white-space:nowrap}.select-all-control input{width:18px;height:18px;accent-color:var(--green)}
@media(max-width:1000px){
 .card-library-table,.card-library-table tbody{display:block;min-width:0;width:100%}.card-library-table thead{display:none}.card-library-table tbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.card-library-table tr{position:relative;display:grid;grid-template-columns:1fr 1fr;min-width:0;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.card-library-table td{display:flex;flex-direction:column;gap:5px;min-width:0;padding:7px 0;border:0;font-size:calc(13px * var(--ui-scale,1))}.card-library-table td[data-label]::before{content:attr(data-label);font-size:calc(10px * var(--ui-scale,1));color:var(--muted);font-weight:600}.card-library-table .card-selection-cell{position:absolute;right:16px;top:14px;padding:0}.card-library-table .card-expression-cell{grid-column:1/-1;padding-right:32px}.card-library-table .card-expression-cell .word{font-size:calc(16px * var(--ui-scale,1));line-height:1.5}.card-library-table .card-meaning-cell,.card-library-table .card-details-cell,.card-library-table .card-actions-cell{grid-column:1/-1}.card-library-table .card-actions-cell{margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}.card-library-table .card-actions-cell .actions{gap:6px}.card-library-table .actions button{min-height:38px;padding:8px}.card-library-table .empty-card-row{grid-column:1/-1}.card-library-table .empty-card-row td{grid-column:1/-1}.card-library-table{border:0}.panel:has(>.card-library-table){padding:0;border:0;background:none;box-shadow:none}
}
@media(max-width:680px){
 .toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.toolbar .search{grid-column:1/-1;order:0;min-height:46px}.toolbar .select,.toolbar .btn{min-height:44px;flex:none;min-width:0;width:100%;font-size:calc(13px * var(--ui-scale,1))}.bulk-card-actions{grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:16px 0}.bulk-card-actions>span{grid-column:2;text-align:right;font-size:calc(10px * var(--ui-scale,1))}.bulk-card-actions select{grid-column:1;max-width:none;width:100%;font-size:calc(14px * var(--ui-scale,1))}.bulk-card-actions .btn{grid-column:2;min-height:46px}.select-all-control{grid-column:1;font-size:calc(11px * var(--ui-scale,1))}.card-library-table tbody{display:grid;grid-template-columns:minmax(0,1fr)}
 .responsive-cards:not(.card-library-table),.responsive-cards:not(.card-library-table) tbody{display:block;width:100%;min-width:0}.responsive-cards thead{display:none}.responsive-cards:not(.card-library-table) tr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px;margin:0 0 12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.responsive-cards:not(.card-library-table) td{display:flex;flex-direction:column;gap:5px;min-width:0;padding:3px 0;border:0;font-size:calc(13px * var(--ui-scale,1));overflow-wrap:anywhere}.responsive-cards td[data-label]::before{content:attr(data-label);font-size:calc(10px * var(--ui-scale,1));color:var(--muted);font-weight:600}.generated-card-table .card-selection-cell{position:absolute;right:16px;top:16px}.generated-card-table .card-expression-cell{grid-column:1/-1;padding-right:30px!important}.generated-card-table .card-meaning-cell,.generated-card-table .card-details-cell,.comparison-deck-cell{grid-column:1/-1}.generated-card-table .word{font-size:calc(16px * var(--ui-scale,1))}.generated-card-table input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}.deck-comparison .table-wrap{overflow:visible}.deck-comparison{padding:16px}.generated-actions{display:grid;grid-template-columns:1fr 1fr}.generated-actions .select{grid-column:1/-1;width:100%}.generated-actions .btn{width:100%;min-height:44px}.panel-head:has(.generated-actions){flex-direction:column;align-items:stretch;gap:14px}
 .review-mode .rating-row{grid-template-columns:repeat(4,minmax(0,1fr))}.review-mode .review-head-actions .btn{min-height:36px;align-self:auto}
}

.auth-guest-choice{margin:20px 0 10px}.auth-guest-choice .guest-preview-btn{margin:0;min-height:46px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:calc(11px * var(--ui-scale,1))}.auth-divider::before,.auth-divider::after{content:'';height:1px;background:var(--line);flex:1}.auth-main{min-width:0}.guest-entry{width:100%;margin:0 0 12px;font-size:calc(11px * var(--ui-scale,1))}.guest-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;margin:0 0 20px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--muted);font-size:calc(12px * var(--ui-scale,1))}.guest-preview-bar .btn{white-space:nowrap}.mobile-more-signout+.mobile-more-signout{margin-top:8px}
@media(max-width:680px){.auth-main{padding-top:24px;padding-bottom:28px}.auth-form>p{margin-bottom:18px}.auth-guest-choice{margin-top:16px}.guest-preview-bar{font-size:calc(11px * var(--ui-scale,1));margin-bottom:16px}.guest-preview-bar .btn{min-height:38px}.guest-preview-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}

.library-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:10px}.library-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,auto) minmax(150px,auto);gap:9px;min-width:0}.library-tools{display:flex;gap:8px;flex-wrap:wrap}.library-tools .btn{flex:none}.card-library-table .actions button{white-space:nowrap}
@media(max-width:680px){.library-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.library-filters .search{grid-column:1/-1}.library-tools{display:grid;grid-template-columns:1fr 1fr}.library-tools .btn{width:100%}.bulk-card-actions>span{overflow-wrap:anywhere}}


/* Align form controls independently of how much help text each field has. */
html{scroll-behavior:auto}
.field{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0}
.generator-panel{max-width:850px;padding:24px}.generator-panel .form-grid{align-items:start;gap:18px 20px}.generator-panel .field{gap:7px}.generator-panel .field label{font-size:calc(12px * var(--ui-scale,1));line-height:1.4}.generator-panel .input,.generator-panel .select{height:46px;min-height:46px;flex:none;font-size:calc(14px * var(--ui-scale,1));line-height:1.3}.generator-panel .select{padding-right:32px}.generator-panel .choice-picker{min-width:0}.generator-panel .subtext{margin-top:0;font-size:calc(11px * var(--ui-scale,1));line-height:1.45}.generator-panel .optional-label{font-weight:400;color:var(--muted)}.generator-panel .choice-picker .input{background-position:calc(100% - 16px) 21px,calc(100% - 11px) 21px}.generator-footer{padding-top:4px}.generator-submit-field .btn{align-self:flex-start;min-height:44px}.guest-generator .generator-submit-field{display:none}.guest-generator .generator-footer{padding-top:18px;border-top:1px solid var(--line)}.guest-access-note{font-size:calc(12px * var(--ui-scale,1));color:var(--muted);line-height:1.5}.guest-generator .guest-preview-actions{margin-top:4px}.guest-generator .guest-preview-actions .btn{min-height:44px}.btn:disabled,.btn:disabled:hover{opacity:.5;cursor:default;transform:none}
@media(max-width:680px){.generator-panel{padding:18px}.generator-panel .form-grid{gap:18px}.generator-panel .input,.generator-panel .select{height:48px;min-height:48px;font-size:calc(16px * var(--ui-scale,1))}.generator-panel .choice-picker .input{background-position:calc(100% - 17px) 23px,calc(100% - 12px) 23px}.generator-panel .subtext{font-size:calc(11px * var(--ui-scale,1))}.generator-submit-field .btn{width:100%;align-self:stretch}.guest-generator .guest-preview-actions{display:flex}.guest-generator .guest-preview-actions .btn{flex:1;min-width:120px}}

/* Focus feedback stays inside controls, including clipped review containers. */
:root{--focus-ring:#789366;--selection-bg:#f0f5eb}
:root[data-theme="warm"]{--focus-ring:#a67d50;--selection-bg:#f6eddf}
:root[data-theme="dark"]{--focus-ring:#b4d2b5;--selection-bg:#303f33}
.input:focus,.select:focus,.textarea:focus,.select-profile:focus,
select:focus-visible,textarea:focus-visible,input:not([type="checkbox"]):not([type="radio"]):focus-visible{
  outline:0;outline-offset:0;border-color:var(--focus-ring);box-shadow:inset 0 0 0 2px var(--focus-ring)
}
.select,.select-profile{max-width:100%;text-overflow:ellipsis}
.library-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.selection-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-size:calc(11px * var(--ui-scale,1))}
.selection-controls .select-all-control{font-size:calc(12px * var(--ui-scale,1))}.selection-controls>span{margin-left:auto}
.text-button{border:0;background:none;padding:8px;color:var(--green);font-size:calc(12px * var(--ui-scale,1));font-weight:600;border-radius:8px;min-height:36px}
.text-button:disabled{opacity:.45;cursor:default}
.selection-active{padding-bottom:115px}
.selection-dock{position:fixed;z-index:35;left:280px;right:28px;bottom:22px;max-width:1060px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 10px 40px #182e2929}
.selection-dock-copy{display:grid;gap:5px;min-width:0}.selection-dock-copy strong{font-size:calc(13px * var(--ui-scale,1));line-height:1.4;overflow-wrap:anywhere}.selection-dock-copy>span{font-size:calc(11px * var(--ui-scale,1));color:var(--muted);line-height:1.4}
.selection-dock-actions{display:flex;gap:8px;align-items:center;flex:none}.selection-dock-actions .btn{min-height:42px;white-space:nowrap}
.card-library-table tr.is-selected{background:var(--selection-bg)}
.card-library-table.is-selecting .card-actions-cell,.card-library-table.is-selecting .card-actions-heading{display:none}
.card-library-table:not(.is-selecting) .card-expression-cell{padding-right:12px}
.card-library-table.is-selecting [data-card-row]{cursor:pointer}
.card-library-table [data-card-row]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}
.move-cards-form{display:grid;gap:14px;margin-top:17px}.move-summary{padding:11px 13px;border:1px solid var(--line);border-radius:11px;color:var(--muted);font-size:calc(12px * var(--ui-scale,1));line-height:1.5}.move-summary summary{cursor:pointer}.move-summary ul{padding-left:20px;margin-bottom:0;max-height:140px;overflow:auto}.move-summary li{padding:3px 0}
.move-destinations{display:grid;gap:7px;max-height:260px;overflow:auto;overscroll-behavior:contain;padding:3px}
.move-destination{display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:var(--paper)}
.move-destination:has(input:checked){border-color:var(--focus-ring);background:var(--selection-bg);box-shadow:inset 0 0 0 1px var(--focus-ring)}
.move-destination input{width:18px;height:18px;flex:none;accent-color:var(--green)}.move-destination>span{display:grid;gap:5px;min-width:0}.move-destination strong{font-size:calc(13px * var(--ui-scale,1));overflow-wrap:anywhere}.move-destination small{font-size:calc(11px * var(--ui-scale,1));line-height:1.4;color:var(--muted)}
.move-new-deck{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--selection-bg)}.move-plan{margin:0;font-size:calc(12px * var(--ui-scale,1));line-height:1.55;color:var(--muted);min-height:20px}.move-empty{padding:4px 9px}.move-modal-actions{margin-top:0;position:sticky;bottom:0;background:var(--paper);padding:12px 0 2px;z-index:2}.move-modal-actions .btn{min-height:44px}.move-modal-actions .btn:last-child{min-width:150px}
@media(max-width:1000px){.selection-dock{left:240px;right:22px}.card-library-table:not(.is-selecting) .card-expression-cell{padding-right:0}.card-library-table.is-selecting .card-expression-cell{padding-right:32px}.card-library-table tr.is-selected{border-color:var(--focus-ring)}}
@media(max-width:680px){
 .library-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.library-head-actions .btn{width:100%;min-width:0;padding:11px 8px;font-size:calc(12px * var(--ui-scale,1));align-self:stretch}
 .selection-controls{gap:8px 14px}.selection-controls>span{flex-basis:100%;margin:0;font-size:calc(11px * var(--ui-scale,1))}
 .selection-dock{left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));max-width:none;flex-direction:column;align-items:stretch;gap:10px;padding:13px;border-radius:15px}
 .selection-dock-actions{display:flex;width:100%;gap:7px}.selection-dock-actions .btn{flex:1;min-height:44px;font-size:calc(12px * var(--ui-scale,1));padding:10px 8px}.selection-dock-actions .text-button{font-size:calc(11px * var(--ui-scale,1));padding:6px}.selection-dock-copy strong{font-size:calc(13px * var(--ui-scale,1))}.selection-dock-copy>span{font-size:calc(10px * var(--ui-scale,1))}.selection-active{padding-bottom:155px}
 .move-destinations{max-height:220px}.move-cards-form .input,.move-cards-form .select{font-size:calc(16px * var(--ui-scale,1));min-height:46px}.move-destination{min-height:65px;padding:11px}.move-destination strong{font-size:calc(14px * var(--ui-scale,1))}.move-modal-actions{gap:8px;padding-top:10px}.move-modal-actions .btn:last-child{flex:1;min-width:0;font-size:calc(12px * var(--ui-scale,1))}.move-modal-actions .btn:first-child{font-size:calc(12px * var(--ui-scale,1))}
}

.selection-mode #deck-overview,.selection-mode .library-tools{display:none}
.card-library-table.is-selecting th:first-child{width:40px}
.card-library-table.is-selecting th:nth-child(2){width:calc((100% - 40px)*.4)}
.card-library-table.is-selecting th:nth-child(3){width:calc((100% - 40px)*.38)}
.card-library-table.is-selecting th:nth-child(4){width:calc((100% - 40px)*.22)}
.move-destinations{max-height:300px}.move-new-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.move-new-toolbar>strong{font-size:calc(13px * var(--ui-scale,1))}.move-summary>p{margin:9px 0 0;line-height:1.5}
@media(max-width:680px){.move-destinations{max-height:220px}.move-new-toolbar .text-button{font-size:calc(11px * var(--ui-scale,1))}}

/* Extra material appears only in a card type that explicitly includes it. */
.review-detail-label{display:block;margin-bottom:6px;font-size:calc(9px * var(--ui-scale,1));font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.review-grammar{display:block;max-width:100%;margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--paper);color:var(--ink);font-size:calc(12px * var(--ui-scale,1));line-height:1.5;text-align:left;overflow-wrap:anywhere}
.review-example>.review-detail-label{font-size:calc(9px * var(--ui-scale,1))}.review-example-translation{display:block;margin-top:4px}
.preview-grammar,.preview-example{display:grid;gap:5px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);font-size:calc(12px * var(--ui-scale,1));line-height:1.5}.preview-grammar>b,.preview-example>b{font-size:calc(10px * var(--ui-scale,1));color:var(--muted)}
.card-type-description{line-height:1.5!important}.manual-card-form #manual-type-note{font-size:calc(11px * var(--ui-scale,1));line-height:1.5}.manual-card-form details>.field{margin-top:12px}
@media(max-width:680px){.review-grammar{margin-top:12px;padding:10px 11px;font-size:calc(11px * var(--ui-scale,1));line-height:1.45}.review-detail-label{font-size:calc(9px * var(--ui-scale,1));margin-bottom:5px}.preview-grammar,.preview-example{font-size:calc(12px * var(--ui-scale,1))}}


/* Let the card use the available review space without hiding rating controls. */
.review-mode .review-wrap{justify-content:flex-start}
.review-mode .review-card-stage{flex:1 1 auto;min-height:0;display:flex;align-items:stretch}
.review-mode .review-card{height:100%;min-height:0}
.review-mode .review-card-inner,.review-mode .review-face{height:100%;min-height:0!important}
.review-mode .review-face-back:has(.review-grammar),.review-mode .review-face-back:has(.review-example){padding:20px 24px}
.review-face-back:has(.review-grammar) .review-card-hint,.review-face-back:has(.review-example) .review-card-hint{display:none}
.review-mode .review-grammar{margin-top:10px;padding:9px 11px}
@media(max-height:760px){.review-mode .review-face-back:has(.review-grammar) .review-back,.review-mode .review-face-back:has(.review-example) .review-back{font-size:calc(19px * var(--ui-scale,1))}.review-mode .review-face-back:has(.review-example) .review-example{margin-top:10px;padding:9px 11px;font-size:calc(12px * var(--ui-scale,1))}}
@media(max-width:680px){.review-mode .review-face-back:has(.review-grammar),.review-mode .review-face-back:has(.review-example){padding:16px}.review-mode .review-grammar{margin-top:8px;padding:8px 10px}}

/* Extra feature entries must not push account controls out of a short desktop sidebar. */
@media(min-width:681px){aside .desktop-nav{flex:1 1 auto;min-height:0;overflow-y:auto;align-content:start;scrollbar-width:thin}aside .aside-bottom,aside .brand,aside .side-label{flex-shrink:0}}
@media(min-width:681px) and (max-height:800px){aside .desktop-nav button{min-height:38px;padding-top:8px;padding-bottom:8px}}

/* Live review queues and a read-only library preview. */
.review-session-counts{display:flex;justify-content:space-between;gap:10px;flex:0 0 auto;margin:0 0 12px;padding:0 4px;color:var(--muted);font-size:calc(11px * var(--ui-scale,1));line-height:1.5}
.review-session-counts strong{color:var(--ink);font-weight:600;margin-right:3px}
.review-mode .review-wait-wrap{justify-content:flex-start}
.review-rest{width:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;padding:34px 26px;text-align:center;margin:auto 0}
.review-rest-icon{display:grid;place-items:center;margin:0 auto 18px;width:48px;height:48px;border:1px solid var(--line);border-radius:12px;color:var(--green)}
.review-rest-icon .app-icon{width:25px;height:25px}
.review-rest h2{font:600 calc(26px * var(--ui-scale,1))/1.25 var(--display-font,system-ui),system-ui,sans-serif;margin:0 0 14px;letter-spacing:-.6px}
.review-rest p{max-width:520px;margin:10px auto;color:var(--muted);font-size:calc(14px * var(--ui-scale,1));line-height:1.6}
.review-rest .subtext{font-size:calc(12px * var(--ui-scale,1))}
.review-countdown{font:600 calc(23px * var(--ui-scale,1))/1.5 var(--display-font,system-ui),system-ui,sans-serif;margin:21px 0;color:var(--green);font-variant-numeric:tabular-nums}
.review-rest-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.review-rest-actions .btn{min-height:44px}
.deck-follow-default{display:flex!important;align-items:center;gap:9px;margin:10px 0 3px;font-weight:400!important;line-height:1.5}
.deck-follow-default input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0}
.card-library-table .actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px}
.card-library-table .actions .app-icon{width:15px;height:15px;flex-shrink:0}
.card-library-table .actions button.is-favorite .app-icon{fill:var(--peach);color:var(--green)}
dialog.card-preview-modal{width:min(740px,calc(100vw - 24px));max-width:740px;max-height:calc(100dvh - 24px);overscroll-behavior:contain}
.preview-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:17px 0 14px}
.preview-card-meta>span:last-child:not(.badge){margin-left:auto;font-size:calc(11px * var(--ui-scale,1));color:var(--muted)}
.preview-card{display:block;width:100%;padding:0;touch-action:pan-y}
.preview-card .review-card-inner,.preview-card .review-face{height:clamp(230px,43dvh,380px);min-height:0}
.preview-card .review-face{overflow:auto;overscroll-behavior:contain;justify-content:safe center;padding:25px 22px;box-shadow:none}
.preview-card .review-front{font-size:calc(clamp(24px,4vw,34px) * var(--ui-scale,1));margin:14px 0;line-height:1.3}
.preview-card .review-back{font-size:calc(22px * var(--ui-scale,1));line-height:1.4}
.preview-card .review-card-hint{font-size:calc(11px * var(--ui-scale,1))}
.preview-schedule-note{font-size:calc(12px * var(--ui-scale,1));line-height:1.5;color:var(--muted);margin:17px 0}
.preview-card-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.preview-card-actions>div{display:flex;gap:8px}
.preview-card-actions .btn{min-height:44px}
.preview-keyboard-note{margin:16px 0 0}
@media(max-width:680px){
 .review-session-counts{font-size:calc(10px * var(--ui-scale,1));gap:6px;margin-bottom:9px}
 .review-rest{padding:25px 18px}.review-rest h2{font-size:calc(23px * var(--ui-scale,1))}.review-rest p{font-size:calc(13px * var(--ui-scale,1))}.review-countdown{font-size:calc(22px * var(--ui-scale,1))}
 .review-rest-icon{margin-bottom:13px}.review-rest-actions{margin-top:18px}
 dialog.card-preview-modal{padding:23px 16px 19px}.preview-card .review-face{padding:22px 16px}.preview-card .review-front{font-size:calc(26px * var(--ui-scale,1))}.preview-card .review-back{font-size:calc(20px * var(--ui-scale,1))}.preview-keyboard-note{display:none}.preview-card-actions{gap:9px}.preview-card-meta>span:last-child:not(.badge){margin-left:0;width:100%}
 .card-library-table .actions button{min-height:42px;padding:9px 10px}
}

.auth-data-link{text-align:center;margin:24px 0 0!important;font-size:calc(12px * var(--ui-scale,1))!important}.auth-data-link a,.data-page a:not(.brand):not(.btn),.appearance-panel .callout a{color:var(--green);text-underline-offset:3px}.data-page{width:min(800px,100%);margin:0 auto;padding:40px 24px 70px}.data-page .brand{margin-bottom:48px}.data-page h1{font:600 calc(clamp(30px,5vw,44px) * var(--ui-scale,1))/1.2 var(--display-font,system-ui),system-ui,sans-serif;letter-spacing:-1px;margin:12px 0 17px}.data-page .data-intro{font-size:calc(17px * var(--ui-scale,1));line-height:1.65;color:var(--muted)}.data-page section{padding:24px 0;border-bottom:1px solid var(--line)}.data-page h2{font:600 calc(21px * var(--ui-scale,1))/1.3 var(--display-font,system-ui),system-ui,sans-serif;margin:0 0 15px}.data-page section p{font-size:calc(15px * var(--ui-scale,1));line-height:1.75;margin:10px 0;color:var(--ink)}.data-page>p.subtext{margin:26px 0}.data-page>.btn{display:inline-flex;padding:14px 20px;text-decoration:none}.data-page .eyebrow{margin-bottom:10px}

.review-countdown.is-idle{font:400 calc(13px * var(--ui-scale,1))/1.6 var(--body-font,system-ui),system-ui,sans-serif;color:var(--muted)}.form-grid>.modal-actions.full{grid-column:1/-1;min-width:0;flex-wrap:wrap}.modal-actions .btn{white-space:nowrap}.modal-actions #delete-deck{margin-right:auto}

.device-panel{margin-top:18px}.device-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.device-row:last-of-type{margin-bottom:14px}.device-row p{margin:5px 0 0}.device-row strong{font-size:calc(14px * var(--ui-scale,1))}.review-head-actions{flex-wrap:wrap}

.offline-landing{max-width:600px;min-height:100dvh;margin:auto;padding:12vh 24px 32px;box-sizing:border-box}.offline-landing .brand{margin-bottom:40px}.offline-landing h1{font-size:calc(32px * var(--ui-scale,1))}.offline-landing p{line-height:1.7;color:var(--muted);margin:20px 0 28px}.offline-landing>.btn{margin:0 8px 12px 0}

.workspace-intro{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.workspace-intro h2{font:600 calc(23px * var(--ui-scale,1))/1.3 var(--display-font,system-ui),system-ui,sans-serif;margin:0 0 12px}.workspace-intro p{font-size:calc(14px * var(--ui-scale,1));line-height:1.65;color:var(--muted)}.workspace-intro .btn{margin-top:10px}@media(max-width:650px){.workspace-intro{grid-template-columns:1fr;gap:14px}.workspace-intro .panel{padding:20px}}

.auth-invitation{font-size:13px;line-height:1.6;margin-bottom:20px}.auth-invitation[hidden]{display:none}

.review-card-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.review-layout-tools{flex-wrap:wrap;row-gap:4px}.review-card-actions .text-button{min-height:36px}
