:root{--bg:#f6f6fb;--surface:#fff;--surface-2:#f0f1f8;--text:#1c1d2b;--muted:#6b6f85;--line:#e2e4ee;--accent:#4f46e5;--accent-text:#fff;--accent-soft:#eceafd;--good:#15803d;--good-soft:#dcfce7;--bad:#b91c1c;--bad-soft:#fee2e2;--warn-soft:#fef3c7;--warn:#92400e;--radius:12px;--shadow:0 1px 2px #1414320f, 0 4px 16px #1414320d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12131c;--surface:#1b1d2a;--surface-2:#242738;--text:#ecedf5;--muted:#9a9eb5;--line:#2e3145;--accent:#818cf8;--accent-text:#12131c;--accent-soft:#2a2d52;--good:#4ade80;--good-soft:#143222;--bad:#f87171;--bad-soft:#3b1a1a;--warn-soft:#3a2f12;--warn:#fcd34d;--shadow:none}}*{box-sizing:border-box}html{font-size:calc(16px * var(--scale,1))}body{background:var(--bg);color:var(--text);font-family:var(--font-ui,Vazirmatn), Vazirmatn, system-ui, -apple-system, "Segoe UI", sans-serif;font-size:.9375rem;line-height:var(--leading,1.7);margin:0}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.1rem}h3{color:var(--muted);margin:1rem 0 .5rem;font-size:.95rem;font-weight:500}p{margin:0 0 .75rem}a{color:var(--accent);text-decoration:none}.muted{color:var(--muted)}.small{font-size:.85rem}.ltr{text-align:start;direction:ltr;unicode-bidi:isolate}.en{font-family:var(--font-word,system-ui), system-ui, -apple-system, "Segoe UI", sans-serif;direction:ltr;unicode-bidi:isolate}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-inline-end:1px solid var(--line);flex-direction:column;gap:.25rem;height:100vh;padding:1.25rem .75rem;display:flex;position:sticky;top:0}.brand{color:var(--accent);padding:0 .75rem 1rem;font-size:1.15rem;font-weight:700}.side a,.side button.link{color:var(--text);font:inherit;cursor:pointer;text-align:start;background:0 0;border:0;border-radius:8px;align-items:center;gap:.6rem;width:100%;padding:.55rem .75rem;display:flex}.side a:hover,.side button.link:hover{background:var(--surface-2)}.side a.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.side .spacer{flex:1}.side .who{color:var(--muted);text-overflow:ellipsis;padding:.5rem .75rem;font-size:.85rem;overflow:hidden}.main{width:100%;min-width:0;max-width:1100px;padding:1.75rem 2rem 4rem}.badge-count{background:var(--accent);color:var(--accent-text);border-radius:99px;margin-inline-start:auto;padding:0 .5rem;font-size:.75rem;line-height:1.5rem}@media (width<=760px){.shell{grid-template-columns:1fr}.side{z-index:10;border-inline-end:0;border-top:1px solid var(--line);flex-direction:row;height:auto;padding:.35rem;position:fixed;inset:auto 0 0;overflow-x:auto}.side .brand,.side .spacer,.side .who{display:none}.side a,.side button.link{white-space:nowrap;flex-direction:column;gap:0;width:auto;padding:.35rem .6rem;font-size:.7rem}.badge-count{margin:0}.main{padding:1rem 1rem 6rem}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.25rem}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.stat b{font-size:1.7rem;line-height:1.3;display:block}.stat span{color:var(--muted);font-size:.85rem}.notice{border-radius:var(--radius);margin-bottom:1rem;padding:.7rem 1rem}.notice.error{background:var(--bad-soft);color:var(--bad)}.notice.ok{background:var(--good-soft);color:var(--good)}.notice.warn{background:var(--warn-soft);color:var(--warn)}button,.btn{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .95rem;display:inline-flex}button:hover:not(:disabled),.btn:hover{border-color:var(--accent)}button:disabled{opacity:.55;cursor:default}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:500}button.danger{color:var(--bad)}button.ghost{background:0 0;border-color:#0000;padding:.3rem .5rem}button.big{padding:.8rem 1.5rem;font-size:1.05rem}button.good{background:var(--good-soft);color:var(--good);border-color:#0000}button.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:.45rem .65rem}textarea{resize:vertical;min-height:4.5rem}input[type=checkbox],input[type=radio]{width:1.05rem;height:1.05rem;accent-color:var(--accent);flex:none}label.field{margin-bottom:.75rem;display:block}label.field>span{color:var(--muted);margin-bottom:.2rem;font-size:.85rem;display:block}label.check{cursor:pointer;align-items:center;gap:.5rem;padding:.2rem 0;display:flex}.checks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.1rem 1rem;display:grid}.fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 1rem;display:grid}table{border-collapse:collapse;width:100%}th{text-align:start;color:var(--muted);padding:.4rem .5rem;font-size:.8rem;font-weight:500}td{border-top:1px solid var(--line);vertical-align:middle;padding:.4rem .5rem}.table-wrap{overflow-x:auto}.dot{vertical-align:middle;border:1px solid #00000026;border-radius:50%;flex:none;width:1rem;height:1rem;display:inline-block}.dot.pen{border-radius:3px}.chip{background:var(--surface-2);border-radius:99px;padding:0 .6rem;font-size:.8rem;line-height:1.5rem;display:inline-block}.chip.accent{background:var(--accent-soft);color:var(--accent)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.auth{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth .card{width:100%;max-width:400px}.auth h1{color:var(--accent)}.steps{flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem;padding:0;list-style:none;display:flex}.steps li{color:var(--muted);align-items:center;gap:.4rem;font-size:.9rem;display:flex}.steps li b{background:var(--surface-2);border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-weight:500;display:grid}.steps li.on{color:var(--text)}.steps li.on b{background:var(--accent);color:var(--accent-text)}.steps li+li:before{content:"";background:var(--line);width:1.5rem;height:1px}.thumbs{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.thumb{border:1px solid var(--line);border-radius:8px;width:110px;height:140px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb button{top:4px;color:#fff;background:#0009;border:0;padding:0 .4rem;position:absolute;inset-inline-end:4px}.drop{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;padding:2rem 1rem}.boxes{grid-template-columns:repeat(6,1fr);align-items:end;gap:.5rem;height:150px;display:grid}.boxes>div{text-align:center;height:100%;color:var(--muted);flex-direction:column;justify-content:flex-end;font-size:.8rem;display:flex}.boxes i{background:var(--accent);opacity:.85;border-radius:6px 6px 0 0;min-height:3px;display:block}.boxes>div:last-child i{background:var(--good)}.boxes b{color:var(--text)}.flash{text-align:center;max-width:620px;margin:1.5rem auto;padding:2rem 1.5rem}.flash .term{margin-bottom:.25rem;font-size:2rem;font-weight:700}.flash .ipa{color:var(--muted);font-size:1.05rem}.flash .answer{text-align:start;border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.flash .translation{text-align:center;margin-bottom:.75rem;font-size:1.3rem;font-weight:500}.detail dt{color:var(--muted);margin-top:.6rem;font-size:.8rem}.detail dd{margin:0}.detail ul{margin:0;padding-inline-start:1.2rem}.progress{background:var(--surface-2);border-radius:99px;height:6px;overflow:hidden}.progress i{background:var(--accent);height:100%;transition:width .2s;display:block}.card-row{border-top:1px solid var(--line);padding:.7rem 0}.card-row:first-child{border-top:0}.card-row .head{cursor:pointer;align-items:center;gap:.75rem;display:flex}.card-row .term{font-size:1.05rem;font-weight:700}.rec{color:var(--bad);animation:1s infinite pulse}@keyframes pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.rec{animation:none}.progress i{transition:none}}[data-calm] *,[data-calm] :before,[data-calm] :after{transition:none!important;animation:none!important}.swatches{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.6rem;margin-bottom:.5rem;display:grid}.swatch{text-align:start;white-space:normal;background:var(--sw-bg);color:var(--sw-text);border-width:2px;border-color:var(--sw-line);padding:0;display:block;overflow:hidden}.swatch[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.swatch .look{align-items:center;gap:.3rem;padding:.55rem .6rem .3rem;display:flex}.swatch .look i{background:var(--sw-surface);border:1px solid var(--sw-line);border-radius:5px;flex:1;height:1.4rem}.swatch .look i.a{background:var(--sw-accent);border-color:#0000;flex:.6}.swatch .look i.b{background:var(--sw-surface-2)}.swatch .name{padding:0 .6rem .45rem;font-size:.8rem;display:block}.swatch.auto{background:linear-gradient(115deg,#f6f6fb 50%,#12131c 50%)}.swatch.auto .name{color:#fff;text-shadow:0 0 3px #000,0 0 6px #000}.segmented{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{background:0 0;border:0;border-radius:0}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.sample{border:1px dashed var(--line);border-radius:var(--radius);margin-top:.5rem;padding:.9rem 1rem}.sample .term{font-size:1.6rem;font-weight:700}.swatch.locked .look{opacity:.45}table.plan-table th,table.plan-table td{text-align:center}table.plan-table th:first-child,table.plan-table td:first-child{text-align:start}table.plan-table .mine{background:var(--accent-soft)}.tpl.al-center{text-align:center}.tpl.al-start{text-align:start}.tpl.sh-none{box-shadow:none}.tpl.sh-soft{box-shadow:0 2px 10px #0000001a}.tpl.sh-strong{box-shadow:0 10px 30px #00000038}.tpl.a-bar,.tpl.a-cefr{border-top:5px solid var(--accent)}.tpl.a-cefr[data-cefr=A1]{border-top-color:#2e9e5b}.tpl.a-cefr[data-cefr=A2]{border-top-color:#6bb536}.tpl.a-cefr[data-cefr=B1]{border-top-color:#d6a400}.tpl.a-cefr[data-cefr=B2]{border-top-color:#e07b00}.tpl.a-cefr[data-cefr=C1]{border-top-color:#d64545}.tpl.a-cefr[data-cefr=C2]{border-top-color:#8e44ad}.tpl .f{margin:.35rem 0}.tpl .f.pre{white-space:pre-wrap}.tpl .s-sm{font-size:.9rem}.tpl .s-md{font-size:1.05rem}.tpl .s-lg{font-size:1.35rem}.tpl .s-xl{font-size:2rem;line-height:1.3}.tpl .b{font-weight:700}.tpl .m{color:var(--muted)}.tpl .h{color:var(--muted);direction:inherit;font-size:.8rem;font-weight:400}.tpl .f ul{text-align:start;margin:0;padding-inline-start:1.2rem}.tpl .chip{margin:.1rem}.tpl .back.kept{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.tpl.flip-fade{animation:.35s tpl-fade}.tpl.flip-3d{animation:.45s tpl-turn}@keyframes tpl-fade{0%{opacity:0}}@keyframes tpl-turn{0%{opacity:0;transform:perspective(900px)rotateY(90deg)}}@media (prefers-reduced-motion:reduce){.tpl.flip-fade,.tpl.flip-3d{animation:none}}.tpl-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin-bottom:.75rem;display:grid}.tpl-tile{text-align:start;white-space:normal;border-width:2px;flex-direction:column;align-items:flex-start;gap:.3rem;min-height:4.2rem;padding:.7rem .8rem;display:flex}.tpl-tile[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.tpl-tile.add{color:var(--muted);border-style:dashed}.tpl-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.tpl-stage{position:sticky;top:1rem}.tpl-stage .flash{max-width:none;margin:.5rem 0 0}.tpl-item{border:1px solid var(--line);border-radius:8px;margin-bottom:.4rem;padding:.35rem .6rem}.tpl-opts{gap:.3rem .75rem;font-size:.85rem}.tpl-opts select{width:auto;padding:.15rem .4rem;font-size:.85rem}.tpl-side{margin-bottom:1rem}@media (width<=860px){.tpl-editor{grid-template-columns:1fr}.tpl-stage{position:static}}.card-image img{border-radius:10px;max-width:100%;max-height:260px;display:inline-block}.card-image.placeholder{border:1px dashed var(--line);color:var(--muted);border-radius:10px;font-size:2.2rem;line-height:4.5rem}.modal{z-index:50;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border-radius:var(--radius);flex-direction:column;max-width:min(46rem,100%);max-height:100%;padding:1rem;display:flex}.crop-scroll{text-align:center;overflow:auto}.crop{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;line-height:0;display:inline-block;position:relative}.crop img{max-width:100%;max-height:65vh;display:block}.crop-box{border:2px solid var(--accent);pointer-events:none;position:absolute;box-shadow:0 0 0 9999px #00000073}.crop{overflow:hidden}.fix{border:1px solid var(--line);border-radius:var(--radius);margin-top:.75rem;padding:.75rem}.fix textarea{width:100%}.fix-old{color:var(--muted);unicode-bidi:plaintext;text-decoration:line-through}.fix-new{color:var(--good);unicode-bidi:plaintext}.dup-group{border:1px solid var(--line);border-radius:var(--radius);margin-top:.75rem;padding:.6rem .75rem}.suggest{margin-top:.3rem;font-size:.85rem}.suggest button{padding:0 .5rem;font-size:.8rem}.compare{background:var(--surface-2);border-radius:10px;flex-basis:100%;order:1;gap:.5rem;padding:.6rem .75rem;display:grid}.compare-line{align-items:center;gap:.6rem;display:flex}.compare-name{min-width:5.5rem;font-size:.85rem}.wave{flex:1;align-items:center;gap:1px;min-width:0;height:44px;display:flex}.wave i{background:var(--muted);border-radius:1px;flex:1;min-width:1px}.wave.mine i{background:var(--accent)}.verdict{background:var(--surface-2);border-radius:10px;flex-basis:100%;order:1;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.verdict-score{white-space:nowrap;font-size:1.15rem}.verdict.good .verdict-score{color:var(--good)}.verdict.fair .verdict-score{color:var(--warn)}.verdict.poor .verdict-score{color:var(--bad)}.rate small{opacity:.8;font-size:.72rem;font-weight:400;display:block}.type-in{text-align:center;max-width:320px;margin:.75rem auto .5rem;font-size:1.2rem}a.stat{color:inherit;text-decoration:none}a.stat:hover{border-color:var(--accent)}.goal .progress{margin-top:.6rem}.bars{align-items:flex-end;gap:3px;height:130px;display:flex}.bars>div{text-align:center;min-width:0;height:100%;color:var(--muted);flex-direction:column;flex:1;justify-content:flex-end;font-size:.7rem;display:flex}.bars i{background:var(--accent);opacity:.85;border-radius:4px 4px 0 0;min-height:2px;display:block}.bars span{height:1.1rem;overflow:hidden}.heat{grid-template-rows:repeat(7,11px);grid-auto-columns:11px;grid-auto-flow:column;gap:3px;padding-bottom:4px;display:grid;overflow-x:auto}.heat i,.heat-key i{background:var(--surface-2);border-radius:2px}.heat-key{align-items:center;gap:3px;margin-top:.5rem;display:flex}.heat-key i{width:11px;height:11px}i[data-l="1"]{background:color-mix(in srgb, var(--accent) 30%, var(--surface-2))}i[data-l="2"]{background:color-mix(in srgb, var(--accent) 55%, var(--surface-2))}i[data-l="3"]{background:color-mix(in srgb, var(--accent) 80%, var(--surface-2))}i[data-l="4"]{background:var(--accent)}.paint{flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex}.paint input[type=color]{cursor:pointer;width:3rem;height:2.4rem;padding:.15rem}.paint input[type=color]:disabled{opacity:.45;cursor:not-allowed}.chat{flex-direction:column;gap:.6rem;min-height:12rem;max-height:55vh;padding:.25rem;display:flex;overflow-y:auto}.chat .turn{border-radius:var(--radius);white-space:pre-wrap;text-align:start;unicode-bidi:plaintext;max-width:85%;padding:.6rem .85rem}.chat .turn.learner{background:var(--accent-soft);align-self:flex-start}.chat .turn.tutor{background:var(--surface-2);align-self:flex-end}.verdict{border:1px solid var(--line);border-radius:var(--radius);margin-top:1rem;padding:.9rem 1rem}.verdict .fixed{margin:.5rem 0;font-size:1.15rem;font-weight:600}.sheet{border-collapse:collapse;width:100%;font-size:.9rem}.sheet th,.sheet td{border:1px solid var(--line);text-align:start;vertical-align:top;unicode-bidi:plaintext;padding:.35rem .5rem}.sheet select{width:100%}.share-link{align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.share-link input{flex:1;min-width:0}.tpl .worn{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;margin:-.5rem 0 .5rem;display:flex}.tpl .worn .sticker{font-size:1.5rem;line-height:1}.tpl .worn .badge{background:var(--accent);color:#fff;border-radius:6px;padding:.1rem .55rem;font-size:.78rem;font-weight:700}.tpl.pt{--pt:color-mix(in srgb, currentColor 13%, transparent)}.tpl.pt-dots{background-image:radial-gradient(var(--pt) 1.5px, transparent 1.6px);background-size:14px 14px}.tpl.pt-stripes{background-image:repeating-linear-gradient(45deg, var(--pt) 0 2px, transparent 2px 12px)}.tpl.pt-grid{background-image:linear-gradient(var(--pt) 1px, transparent 1px), linear-gradient(90deg, var(--pt) 1px, transparent 1px);background-size:18px 18px}.tpl.pt-checks{background-image:repeating-conic-gradient(var(--pt) 0 25%, transparent 0 50%);background-size:24px 24px}.tpl.pt-waves{background-image:radial-gradient(circle at 50% 0, transparent 9px, var(--pt) 9.5px 11px, transparent 11.5px);background-size:24px 14px}.tpl.pt-zigzag{background-image:linear-gradient(135deg, var(--pt) 25%, transparent 25%), linear-gradient(225deg, var(--pt) 25%, transparent 25%);background-size:18px 18px}.rule{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 11rem;align-items:center;gap:1rem;margin:.6rem 0;padding:.75rem;display:grid}.rule.off .rule-preview{opacity:.4}.rule .rule-form{gap:.6rem;min-width:0;display:grid}.rule .mini{min-height:6.5rem;margin:0;padding:1rem .75rem}.rule .swatch input[type=color]{width:100%;height:2.2rem;padding:.1rem}@media (width<=640px){.rule{grid-template-columns:1fr}}.ex-tr{color:var(--muted);unicode-bidi:plaintext;font-size:.85em}.page-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.page-tile{gap:.35rem;margin:0;padding:.6rem;display:grid}.page-thumb{border:1px solid var(--line);aspect-ratio:3/4;background:var(--surface-2);cursor:zoom-in;border-radius:8px;padding:0;overflow:hidden}.page-thumb img{object-fit:cover;width:100%;height:100%;display:block}
