@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/ca8956476e4b15e1-s.2of77tvarlxv9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/0ada71b763703d9d-s.0_hkuyklry9k2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/2b7d3311b69a4dca-s.p.32vcy6_pq4pnh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6632a144c419935f-s.38msdipe8z81f.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/7b27d9904b50e540-s.30bhvdlsk8sra.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d38f3bca7db33566-s.p.3se9ogqst-d6c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_b29e33c6-module__saqemW__className{font-family:Newsreader,Newsreader Fallback}.newsreader_b29e33c6-module__saqemW__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
:root{--bg:#121417;--card:#1b1e23;--ink:#ecebe6;--muted:#9b9fa6;--line:#2a2e35;--brand-blue:#6f9cff;--brand-on-blue:#121417;--accent:var(--brand-blue);--accent-soft:#6f9cff24;--good:#4cc185;--again:#e5a94a;--shadow:0 10px 30px #00000073;--srs-again:#ef6a5e;--srs-hard:#9b9fa6;--srs-good:#4cc185;--srs-easy:#6aa5f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f7f5f0;--card:#fff;--ink:#16181c;--muted:#63666d;--line:#e6e2d9;--brand-blue:#2a55c7;--brand-on-blue:#fff;--accent-soft:#2a55c71a;--good:#2f8f5b;--again:#c0842a;--shadow:0 10px 30px #14161c1f;--srs-again:#c4362c;--srs-hard:#63666d;--srs-good:#2f8f5b;--srs-easy:#2f6fbf;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{max-width:100vw;overflow-x:hidden}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-geist-sans), "Segoe UI", system-ui, sans-serif;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}a{color:inherit}button{font:inherit}h1,h2:not(.section-title){font-family:var(--font-newsreader), Georgia, serif;font-weight:500}.muted{color:var(--muted)}.site-header{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;grid-template-areas:"brand tabs lang";align-items:center;gap:12px 24px;padding:12px 20px;display:grid}.site-header .brand{grid-area:brand}.site-header .header-right{grid-area:lang;align-items:center;gap:12px;display:flex}.auth-status{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.tabs{scrollbar-width:none;grid-area:tabs;gap:4px;display:flex;overflow-x:auto}.tabs a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:7px 12px;font-size:.95rem;font-weight:600;text-decoration:none}.tabs a:hover{color:var(--ink)}.tabs a.active{color:var(--ink);background:var(--line)}@media (max-width:640px){.site-header{grid-template-columns:1fr auto;grid-template-areas:"brand lang""tabs tabs";padding:10px 16px}.tabs{margin:0 -6px}}.brand{text-decoration:none}.logo{align-items:center;gap:8px;display:inline-flex}.logo-mark{flex-shrink:0}.logo-word{font-family:var(--font-newsreader), Georgia, serif;letter-spacing:-.01em;color:var(--ink);font-size:1.35rem;font-weight:500}.logo-blue{color:var(--brand-blue)}.lang-switch{border:1px solid var(--line);border-radius:999px;display:flex;overflow:hidden}.lang-switch button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:5px 12px;font-size:.8rem;font-weight:700}.lang-switch button.active{background:var(--ink);color:var(--bg)}.page{width:100%;max-width:960px;margin:0 auto;padding:32px 16px 64px}.page.narrow{max-width:620px}.hero{max-width:640px;padding:32px 0 40px}.hero h1{letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(2rem,6vw,3.2rem);line-height:1.1}.hero p{color:var(--muted);margin:0;font-size:1.15rem;line-height:1.5}.section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:36px 0 14px;font-size:.8rem}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.deck-tile{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;height:100%;padding:20px;transition:border-color .15s;display:flex}.deck-tile:hover{border-color:var(--accent)}.deck-tile h3{margin:12px 0 6px;font-size:1.2rem;line-height:1.25}.deck-tile h3 a{text-decoration:none}.deck-tile h3 a:hover{text-decoration:underline}.deck-tile p{color:var(--muted);margin:0 0 16px;line-height:1.45}.tile-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:.9rem;display:flex}.tile-open{color:var(--accent);margin-top:14px;font-weight:600;text-decoration:none;display:inline-block}.tile-open:hover{text-decoration:underline}.save-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:600}.save-btn:hover{border-color:var(--accent)}.save-btn.saved{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.deck-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-intro{padding:16px 0 8px}.page-intro h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.8rem,5vw,2.4rem)}.page-intro p{color:var(--muted);margin:0;font-size:1.1rem;line-height:1.5}.empty-state{border:1px dashed var(--line);color:var(--muted);border-radius:16px;margin:0;padding:20px;line-height:1.5}.empty-state p{margin:0}.fine-print{color:var(--muted);margin-top:32px;font-size:.85rem}.about-section{margin-top:32px}.about-section h2{margin:0 0 8px;font-size:1.25rem}.about-section p{margin:0;line-height:1.6}.about-section strong{color:var(--accent)}.placeholder{border:2px dashed var(--line);color:var(--muted);border-radius:12px;padding:14px 16px}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--line);color:var(--ink);border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:600}.tag.accent{background:var(--accent-soft);color:var(--accent)}.deck-tags{margin-top:24px}.deck-title{letter-spacing:-.02em;margin:12px 0 8px;font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.15}.deck-description{color:var(--muted);margin:0 0 24px;font-size:1.05rem;line-height:1.5}.big-btn{padding:14px 28px;font-size:1.05rem;text-decoration:none;display:inline-block}.inside-list{margin:0;padding-left:1.4em;line-height:1.9}.link-muted{color:var(--muted);font-size:.9rem;text-decoration:none}.link-muted:hover{color:var(--ink)}.link-button{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-top:16px;font-size:.9rem;text-decoration:underline;display:inline-block}.btn{cursor:pointer;color:#fff;text-align:center;border:none;border-radius:12px;min-width:110px;padding:12px 18px;font-weight:600}.btn.accent{background:var(--accent);color:var(--brand-on-blue)}.btn.again{background:var(--again)}.btn.good{background:var(--good)}.btn.nav{color:var(--ink);border:1px solid var(--line);background:0 0}.btn:disabled{opacity:.35;cursor:default}.controls{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.keys{color:var(--muted);text-align:center;margin-top:18px;font-size:.85rem}.practice{flex-direction:column;flex:1;align-items:center;width:100%;padding:12px 16px 90px;display:flex}.practice-top{width:100%;max-width:960px;margin-bottom:12px}.exit-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:4px;padding:8px 16px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.exit-btn:hover{border-color:var(--again);color:var(--again)}.practice-main{flex-direction:column;align-items:center;width:100%;display:flex}.practice-header{text-align:center;margin-bottom:20px}.practice-header h1{letter-spacing:-.02em;margin:0;font-size:1.8rem}.practice-header p{color:var(--muted);margin:6px 0 0}.practice-header .badge{margin-bottom:10px;display:inline-block}.progress{gap:6px;width:100%;max-width:490px;margin-bottom:20px;display:flex}.pip{background:var(--line);border-radius:3px;flex:1;height:6px;transition:background .3s}.pip.seen{background:var(--muted);opacity:.45}.pip.current{background:var(--muted)}.pip.known{background:var(--good)}.pip.again{background:var(--again)}.badge{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:2px solid var(--accent);border-radius:999px;margin-bottom:14px;padding:3px 12px;font-size:.8rem;font-weight:700}.face{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;color:var(--ink);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex}.big{margin:0;font-size:2.2rem;font-weight:700;line-height:1.15}.big.sentence{max-width:340px;font-size:1.55rem;line-height:1.3}.big strong,.learn-text strong,.suggestion strong,.reminder strong{color:var(--accent)}.sub{color:var(--accent);margin:8px 0 0;font-size:1.1rem;font-weight:600}.sub .details{color:var(--muted);font-weight:400}.hint{color:var(--muted);margin-top:14px;font-size:.85rem}.cue{max-width:330px;margin:14px 0 0;font-size:1.05rem;font-style:italic;line-height:1.45}.deal{animation:.4s cubic-bezier(.2,.7,.2,1) dealIn}.learn-wrap{width:100%;max-width:490px;position:relative}.learn-wrap.has-bubble{margin-top:112px}.learn-card{min-height:350px}.learn-card.note{border:2px solid var(--accent)}.learn-text{max-width:340px;margin:14px 0 0;line-height:1.5}.learn-text p{margin:0 0 10px}.learn-text.muted{font-style:italic}.overview-list{columns:2;text-align:left;column-gap:28px;margin:0;padding:0 0 0 1.6em;font-weight:600;line-height:1.7}ul.overview-list{columns:1;font-weight:400}.overview-list li::marker{color:var(--accent)}.card-note{max-width:330px;color:var(--muted);margin:14px 0 0;font-size:.9rem}.suggest-btn{border:1px dashed var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;margin-top:16px;padding:7px 14px;font-size:.9rem;font-weight:600;animation:.3s ease-out rise}.suggestion{background:var(--accent-soft);border-radius:12px;margin:16px 0 0;padding:8px 14px;animation:.3s ease-out rise}.bubble{z-index:2;width:190px;height:136px;box-shadow:var(--shadow);background:#fffaf2;border:3px solid #2b2118;border-radius:50%;justify-content:center;align-items:center;animation:.5s cubic-bezier(.2,1.4,.4,1) both pop;display:flex;position:absolute;top:-120px}.bubble svg{width:128px;height:96px}.bubble:before,.bubble:after{content:"";background:#fffaf2;border:3px solid #2b2118;border-radius:50%;position:absolute}.bubble:before{width:24px;height:24px;bottom:-16px}.bubble:after{width:13px;height:13px;bottom:-34px}.bubble-right{right:-34px}.bubble-right:before{left:22px}.bubble-right:after{left:6px}.bubble-left{left:-34px}.bubble-left:before{right:22px}.bubble-left:after{right:6px}@media (max-width:480px){.bubble{width:158px;height:114px;top:-104px}.bubble-right{right:-6px}.bubble-left{left:-6px}.bubble svg{width:106px;height:80px}.learn-wrap.has-bubble{margin-top:98px}}.scene{aspect-ratio:4/3;perspective:1200px;cursor:pointer;width:100%;max-width:490px;min-height:385px}.scene:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:20px}.card{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.2,1);position:relative}.card.flipped{transform:rotateY(180deg)}.card .face{backface-visibility:hidden;position:absolute;inset:0}.card .back{transform:rotateY(180deg)}.info-wrap{justify-content:center;width:100%;margin-top:8px;display:flex}.info{cursor:pointer;border-width:1px;width:100%;max-width:490px;min-height:365px}.info h2{margin:0 0 12px;font-size:1.6rem}.instructions{max-width:340px;line-height:1.5}.instructions p{margin:0 0 12px}.instructions strong{color:var(--accent)}.help-btn{z-index:10;border:1px solid var(--line);background:var(--card);color:var(--ink);box-shadow:var(--shadow);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600;position:fixed;bottom:16px;left:16px}.help-btn:hover{border-color:var(--accent)}.summary{text-align:center;width:100%;max-width:490px}.summary h2{margin:0 0 8px;font-size:1.8rem}.summary>p{color:var(--muted)}.summary-cta{border-top:1px solid var(--line);color:var(--muted);margin-top:28px;padding-top:22px}.summary-cta strong{color:var(--ink)}.score{letter-spacing:-.03em;margin:0;font-size:3.6rem;font-weight:800;color:var(--accent)!important}.result-list{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:14px;margin:20px 0 8px;padding:0;list-style:none;overflow:hidden}.result-list li{border-top:1px solid var(--line);grid-template-columns:24px 1fr auto;align-items:baseline;gap:4px 10px;padding:10px 14px;display:grid}.result-list li:first-child{border-top:none}.mark-ok{color:var(--good);font-weight:700}.mark-miss{color:var(--again);font-weight:700}.reminder{color:var(--muted);grid-column:2/-1;font-size:.88rem;font-style:italic}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes dealIn{0%{opacity:0;transform:translateY(30px)rotate(-3deg)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)translateY(20px)}to{opacity:1;transform:none}}.wizard-steps{margin:12px 0 28px}.controls.left{justify-content:flex-start}.field{flex-direction:column;gap:6px;max-width:480px;margin-bottom:18px;display:flex}.field label{color:var(--muted);font-size:.85rem;font-weight:600}.field-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.field .hint{color:var(--muted);font-size:.8rem}.form-error{color:var(--again);margin:0 0 12px;font-size:.9rem}.form-success{color:var(--good);margin:0 0 12px;font-size:.9rem}.field input,.field textarea,.field select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;width:100%;padding:10px 12px}.field textarea{resize:vertical;min-height:70px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.kind-options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;max-width:640px;display:grid}.kind-option{text-align:left;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:14px;padding:16px}.kind-option:hover{border-color:var(--accent)}.kind-option.selected{border-color:var(--accent);background:var(--accent-soft)}.kind-option strong{margin-bottom:4px;display:block}.kind-option span{color:var(--muted);font-size:.9rem}.row-actions{justify-self:end;gap:2px;display:flex}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 7px;font-size:1rem;line-height:1}.icon-btn:hover{color:var(--accent);background:var(--accent-soft)}.icon-btn:disabled{opacity:.3;cursor:default;background:0 0}.save-btn.danger:hover{border-color:var(--again);color:var(--again)}.create-tile{border:2px dashed var(--line);height:100%;min-height:160px;color:var(--muted);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:flex}.create-tile:hover{border-color:var(--accent);color:var(--accent)}.create-plus{font-size:2rem;font-weight:700;line-height:1}.tile-actions{gap:6px;display:flex}.image-add-btn{border:1px dashed var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.image-add-btn:hover{border-color:var(--accent);color:var(--accent)}.image-add-preview{align-items:center;gap:4px;display:flex}.image-add-preview img{object-fit:cover;border:1px solid var(--line);border-radius:6px;width:22px;height:22px}.image-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 5px;font-size:1rem;line-height:1}.image-remove:hover{color:var(--again)}.card-image{object-fit:cover;border-radius:12px;max-width:100%;max-height:140px;margin:12px auto 0;display:block}.settings-link{color:var(--muted);border-radius:999px;padding:6px 8px;font-size:1.15rem;line-height:1;text-decoration:none}.settings-link:hover,.settings-link.active{color:var(--ink);background:var(--line)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.srs-counts{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:8px 0 0;font-size:.95rem;display:flex}.srs-count{color:var(--muted)}.srs-count strong{font-size:1.05rem}.srs-count-new strong{color:var(--srs-easy)}.srs-count-learning strong{color:var(--srs-again)}.srs-count-review strong{color:var(--srs-good)}.srs-count.active strong{text-underline-offset:3px;text-decoration:underline}.srs-answers{gap:8px}.srs-answers .btn{flex-direction:column;align-items:center;gap:2px;min-width:84px;padding:8px 14px 10px;display:flex}.srs-interval{opacity:.9;font-size:.75rem;font-weight:500}.btn.srs-again{background:var(--srs-again)}.btn.srs-hard{background:var(--srs-hard)}.btn.srs-good{background:var(--srs-good)}.btn.srs-easy{background:var(--srs-easy)}.btn.wide{min-width:180px}.notice{border:1px solid var(--line);border-radius:12px;max-width:420px;margin:0 0 16px;padding:10px 14px;font-size:.9rem}.notice.error{border-color:var(--srs-again);color:var(--srs-again)}.srs-panel{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:28px 0 8px;padding:16px 18px}.srs-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.srs-panel h2{margin:0;font-size:1.05rem}.srs-panel p{margin:10px 0 0;line-height:1.5}.srs-panel-body{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:12px;display:flex}.srs-panel-body .srs-counts{justify-content:flex-start;margin:0}.srs-options{margin-left:auto}.switch{background:var(--line);cursor:pointer;border:none;border-radius:999px;flex:none;width:44px;height:26px;transition:background .2s;position:relative}.switch.on{background:var(--srs-good)}.switch-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch.on .switch-knob{transform:translate(18px)}.switch:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.check-field{cursor:pointer;align-items:flex-start;gap:10px;max-width:520px;margin:4px 0 20px;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:2px}.check-field .hint{color:var(--muted);margin-top:2px;font-size:.85rem;display:block}.settings-form h2{margin:8px 0 4px;font-size:1.25rem}.settings-form>.muted{margin:0 0 20px}.settings-form>.hint{color:var(--muted);margin:-10px 0 18px;font-size:.8rem;display:block}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;max-width:480px;display:grid}.field .hint.error{color:var(--srs-again)}.saved-note{color:var(--good);font-size:.9rem}.section-title-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-title-row .tile-open{margin:0}.due-list{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.due-list li{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:8px 18px;padding:12px 16px;display:grid}.due-list li:first-child{border-top:none}.due-title{font-weight:600;text-decoration:none}.due-title:hover{text-decoration:underline}.due-list .srs-counts{margin:0}@media (max-width:640px){.due-list li{grid-template-columns:1fr auto}.due-list .srs-counts{grid-column:1;justify-content:flex-start}.due-list .btn{grid-area:1/2/span 2}}.chapter-label{color:var(--muted);margin-left:12px;font-size:.85rem;font-weight:600}.chapters-hint{margin:-6px 0 12px;font-size:.9rem;line-height:1.5}.chapter-list{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.chapter-list li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 16px;display:flex}.chapter-list li:first-child{border-top:none}.chapter-info{flex-direction:column;gap:2px;min-width:0;display:flex}.chapter-info .muted{font-size:.88rem}.chapter-actions{gap:8px;display:flex}.chapter-actions .btn{min-width:0;padding:8px 14px;text-decoration:none}.create-tile-wrap{flex-direction:column;gap:8px;height:100%;display:flex}.create-tile-wrap .create-tile{flex:1}.import-link{text-align:center;color:var(--accent);border:1px solid var(--line);border-radius:12px;padding:8px;font-size:.9rem;font-weight:600;text-decoration:none}.import-link:hover{border-color:var(--accent)}.step-title{margin:32px 0 12px;font-size:1.15rem}.dropzone{max-width:820px}.import-text{resize:vertical;width:100%;min-height:200px;font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;line-height:1.5}.import-text:focus{outline:2px solid var(--accent);outline-offset:1px}.file-row{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0;display:flex}.file-btn{cursor:pointer;min-width:0}.dropzone>.hint{color:var(--muted);font-size:.85rem;display:block}.import-options{flex-wrap:wrap;align-items:flex-end;gap:0 24px;display:flex}.import-options .field{min-width:260px}.check-field.inline{align-items:center;margin:0 0 18px}.import-summary{flex-wrap:wrap;align-items:center;gap:6px 18px;margin:8px 0 10px;display:flex}.import-summary .check-field.inline{margin:0}.import-table-wrap{max-height:60vh}.import-table th{vertical-align:top;padding:8px 10px}.role-select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:5px 8px;font-size:.85rem;font-weight:600}.col-name{color:var(--muted);text-transform:none;letter-spacing:0;margin-top:4px;font-size:.75rem;font-weight:500;display:block}.import-table .col-check,.import-table .col-num{white-space:nowrap;width:1%}.import-table tbody tr{cursor:default}.import-table tbody tr:hover{background:0 0}.import-table td.ignored{color:var(--muted);opacity:.6;text-decoration:line-through}.import-table tr.excluded td{opacity:.45}.row-end{white-space:nowrap;text-align:right}.problem{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-right:6px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.problem.blocking{border:1px solid var(--srs-again);color:var(--srs-again);background:0 0}.cell-input{width:100%;min-width:120px;font:inherit;border:1px solid var(--accent);background:var(--card);color:var(--ink);border-radius:6px;padding:4px 6px}.show-more{margin:10px auto;display:block}.page.wide{max-width:1200px}.browser{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;margin-top:16px;display:grid}.browser-filters{flex-wrap:wrap;gap:8px;display:flex}.browser-filters input,.browser-filters select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:9px 12px}.browser-filters input{flex:240px}.browser-count{margin:10px 0 8px;font-size:.85rem}.table-wrap{border:1px solid var(--line);background:var(--card);border-radius:14px;max-height:70vh;overflow:auto}.browser-table{border-collapse:collapse;width:100%;font-size:.92rem}.browser-table th{background:var(--card);text-align:left;border-bottom:1px solid var(--line);padding:0;position:sticky;top:0}.sort-btn{text-align:left;width:100%;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:.8rem;font-weight:700}.sort-btn:hover{color:var(--ink)}.browser-table td{border-top:1px solid var(--line);vertical-align:top;padding:9px 12px}.browser-table tbody tr{cursor:pointer}.browser-table tbody tr:hover{background:var(--accent-soft)}.browser-table tbody tr.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.browser-table tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.col-deck,.col-due{color:var(--muted);white-space:nowrap}.browser-empty{margin:0;padding:16px}.browser-editor{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:18px;position:sticky;top:16px}.card-editor h2{margin:0 0 4px;font-size:1.2rem}.card-editor>.muted{margin:0 0 16px;font-size:.9rem}.card-editor .field{max-width:none}.card-editor .section-title{margin-top:24px}.card-editor>.hint{color:var(--muted);margin:-6px 0 12px;font-size:.85rem;display:block}.tile-open.inline{margin:0}.sched-list{grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 14px;font-size:.9rem;display:grid}.sched-list dt{color:var(--muted)}.sched-list dd{margin:0}.editor-danger{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.link-button.danger{color:var(--srs-again)}.link-button.inline{font-size:inherit;margin:0;padding:0}.link-button:disabled{opacity:.4;cursor:default}@media (max-width:900px){.browser{grid-template-columns:minmax(0,1fr)}.browser-editor{position:static}.table-wrap{max-height:50vh}}@media (max-width:640px){.browser-table:not(.import-table) .col-deck,.browser-table:not(.import-table) th:nth-child(3){display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.page.account-page{max-width:760px}.avatar{object-fit:cover;background:var(--line);border-radius:50%;flex-shrink:0;display:inline-block}.avatar-initial{background:var(--accent-soft);color:var(--accent);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.auth-status-user{align-items:center;gap:8px;display:inline-flex}.auth-status-user span:last-child{text-overflow:ellipsis;overflow:hidden}.account-head{flex-wrap:wrap;align-items:center;gap:20px;padding:16px 0 4px;display:flex}.account-id{flex:1;min-width:200px}.account-name{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.6rem,4vw,2rem)}.account-meta{overflow-wrap:anywhere;margin:4px 0 10px;font-size:.95rem}.avatar-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.btn.small{min-width:0;padding:8px 14px;font-size:.9rem}.account-claim{margin-top:16px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-tile{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}.stat-value{letter-spacing:-.02em;font-size:1.9rem;font-weight:700;line-height:1.1}.stat-label{color:var(--muted);margin-top:4px;font-size:.85rem}.heatmap-wrap{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-top:12px;padding:16px;overflow-x:auto}.heatmap{gap:4px;width:max-content;margin:0 auto;display:flex}.heat-week{grid-template-rows:repeat(7,14px);gap:4px;display:grid}.heat-cell{background:var(--line);border-radius:3px;width:14px;height:14px;display:block}.heat-cell.future{background:0 0}.heat-cell.level-1{background:color-mix(in srgb, var(--accent) 30%, var(--line))}.heat-cell.level-2{background:color-mix(in srgb, var(--accent) 55%, var(--line))}.heat-cell.level-3{background:color-mix(in srgb, var(--accent) 80%, var(--line))}.heat-cell.level-4{background:var(--accent)}.heat-legend{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:10px;font-size:.8rem;display:flex}.heat-legend span:first-child{margin-right:4px}.heat-legend span:last-child{margin-left:4px}.activity-list{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.activity-list li{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 16px;display:flex}.activity-list li:first-child{border-top:none}.activity-list li>:last-child{flex-shrink:0;font-size:.9rem}.account-details{flex-direction:column;gap:20px;display:flex}.detail-row{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.detail-label{min-width:90px;color:var(--muted)}.detail-form .field{margin-bottom:12px}.detail-form .controls{margin-top:8px}.account-links{flex-wrap:wrap;gap:20px;display:flex}.account-links .tile-open{margin:0}@media (max-width:640px){.stat-grid,.stat-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid.three .stat-tile:last-child{grid-column:1/-1}}.landing a.btn{text-decoration:none;display:inline-block}.landing-hero{text-align:center;padding:56px 0 24px}.landing-hero h1{letter-spacing:-.015em;max-width:720px;margin:0 auto 16px;font-size:clamp(2.3rem,7vw,3.8rem);line-height:1.08}.landing-hero h1 em,.landing-final h2{color:var(--brand-blue)}.landing-lead{max-width:560px;color:var(--muted);margin:0 auto 28px;font-size:1.15rem;line-height:1.55}.landing-ctas{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.landing-note{color:var(--muted);margin:12px 0 0;font-size:.9rem}.landing-section{margin-top:64px;scroll-margin-top:24px}.landing-section h2,.landing-final h2{letter-spacing:-.01em;margin:0 0 18px;font-size:clamp(1.6rem,4vw,2.1rem)}.landing-section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.landing-steps,.landing-why{grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:720px){.landing-steps,.landing-why{grid-template-columns:1fr}}.landing-steps li,.landing-why li{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}.landing-steps svg{fill:none;stroke:var(--brand-blue);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.landing-steps h3,.landing-why h3{margin:10px 0 6px;font-size:1.05rem}.landing-why h3{margin-top:0}.landing-steps p,.landing-why p{color:var(--muted);margin:0;line-height:1.5}.landing-final{text-align:center;border:1px solid var(--line);border-radius:20px;margin:72px 0 16px;padding:40px 20px}.landing-final p{color:var(--muted);margin:0 0 22px}
