:root{--bg: #f4f5f8;--card: #ffffff;--text: #1c2230;--muted: #687085;--border: #dde1e9;--accent: #2f5bea;--accent-soft: #e8eefe;--ok: #188a4a;--ok-bg: #e3f5ea;--bad: #c93a3a;--bad-bg: #fbe8e8;--warn: #a35f00;--warn-bg: #fff3d1;--mask: #e3e6ee;--key: #c62828;--sk: #7a3fc4;--a1: #188a4a;--a2: #0d7f8c;--b1: #2f5bea;--b2: #8a3fd1;--radius: 12px;--shadow: 0 1px 3px rgba(20, 30, 60, .08);--topbar-h: 3.2rem;--glow: rgba(47, 91, 234, .28)}@media (prefers-color-scheme: dark){:root{--bg: #12151c;--card: #1b2029;--text: #e6e9ef;--muted: #949cb0;--border: #2c3340;--accent: #6d8cff;--accent-soft: #232c45;--ok: #4cc47f;--ok-bg: #173323;--bad: #ff7676;--bad-bg: #3a1d1f;--warn: #f0b44c;--warn-bg: #3a2f17;--mask: #2c3340;--key: #ff8a80;--sk: #c9a8ff;--a1: #4cc47f;--a2: #4fc8d4;--b1: #7d9bff;--b2: #c39bff;--shadow: none}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.45}button{font:inherit;color:inherit}h1{font-size:1.6rem;margin:.2rem 0 .4rem}h2{font-size:1.1rem;margin:0 0 .6rem}.muted{color:var(--muted)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--topbar-h);padding:0 1.2rem;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{background:none;border:0;font-weight:700;font-size:1.65rem;cursor:pointer;color:var(--accent);padding:0}.header-user{display:flex;align-items:center;gap:.6rem;white-space:nowrap}.brand{white-space:nowrap}.user-name{font-weight:600}.topbar-left{display:flex;align-items:center;gap:.5rem}.menu-btn{display:none;border:0;background:none;padding:0 .3rem;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text)}.layout{display:flex;align-items:flex-start}.layout>main{flex:1;min-width:0}.side{position:sticky;top:var(--topbar-h);flex:0 0 180px;height:calc(100vh - var(--topbar-h));overflow-y:auto;padding:.6rem .45rem;background:var(--card);border-right:1px solid var(--border)}.side hr{border:0;border-top:1px solid var(--border);margin:.4rem .3rem}.side-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.32rem .5rem;border:0;border-radius:7px;background:none;text-align:left;font-size:.87rem;cursor:pointer}.side-item img{width:20px;height:20px;flex-shrink:0}.side-item:hover{background:var(--accent-soft)}.side-item.active{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 0 0 2px var(--glow)}.side-item.planned{opacity:.45;cursor:default}.side-item.planned:hover{background:none}.side-item.star:not(.active){font-weight:700;color:var(--accent)}.side-item.teacher:not(.active){font-weight:700;color:var(--ok)}.hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin:.8rem 0 .3rem;padding:1rem 1.2rem;border:1px solid var(--accent);border-radius:var(--radius);background:linear-gradient(120deg,var(--accent-soft),var(--card) 75%);box-shadow:var(--shadow)}.hero-icon{width:52px;height:52px}.hero h2{margin:0 0 .2rem;font-size:1.15rem}.hero p{margin:0;color:var(--muted);font-size:.9rem}.hero-actions{display:flex;flex-direction:column;gap:.4rem}@media (max-width: 640px){.hero{grid-template-columns:auto 1fr}.hero-actions{grid-column:1 / -1;flex-direction:row}.hero-actions .btn{flex:1}}@media (max-width: 900px){.menu-btn{display:block}.side{position:fixed;left:0;bottom:0;height:auto;z-index:20;width:240px;transform:translate(-105%);transition:transform .2s;box-shadow:0 0 24px #00000040}.side.open{transform:none}}main{max-width:960px;margin:0 auto;padding:1.5rem 1.2rem 3rem}.narrow{max-width:680px;margin:0 auto;overflow-x:auto}.btn{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:.6rem 1.1rem;cursor:pointer;font-weight:600}.btn:hover:not(:disabled){border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent}.btn.small{padding:.3rem .7rem;font-size:.85rem}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn.big{width:100%;padding:.9rem;font-size:1.05rem;margin-top:.8rem}.back{background:none;border:0;color:var(--muted);cursor:pointer;padding:0;margin-bottom:.6rem}.back:hover{color:var(--accent)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;border:1px solid var(--border);background:var(--card);cursor:pointer;color:var(--muted);flex-shrink:0}.icon-btn:hover{color:var(--accent);border-color:var(--accent)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem;margin-bottom:1rem}.profiles{display:grid;gap:.6rem;margin:1rem 0 1.5rem}.profile{display:flex;gap:.5rem}.profile-name{flex:1;text-align:left;padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);cursor:pointer;font-weight:600;font-size:1.05rem}.profile-name:hover{border-color:var(--accent)}.profile .icon-btn{height:auto;width:3rem}.add-profile{display:flex;gap:.6rem;margin-top:1rem}.add-profile input,.search{flex:1;padding:.6rem .8rem;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:1.2rem}.tile{display:flex;flex-direction:column;gap:.35rem;text-align:left;padding:1.3rem;min-height:140px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);cursor:pointer}.tile:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.tile:disabled{cursor:default;opacity:.55}.tile-title{font-size:1.2rem;font-weight:700}.tile-head{display:flex;align-items:center;gap:.7rem}.tile-icon{width:44px;height:44px;flex-shrink:0}.tile-desc{color:var(--muted);font-size:.92rem}.tile-meta{margin-top:auto;font-size:.85rem;font-weight:600;color:var(--accent)}.tile-accent{border-color:var(--accent);background:var(--accent-soft)}.tile-teacher{border-color:var(--ok);background:linear-gradient(120deg,var(--ok-bg),var(--card) 75%)}.tile-teacher:hover:not(:disabled){border-color:var(--ok)}.tile-teacher .tile-meta{color:var(--ok)}.tile-solve{border-color:var(--accent);background:linear-gradient(120deg,var(--accent-soft),var(--card) 75%)}.tile-solve:hover:not(:disabled){border-color:var(--accent)}.rs-img{display:block;max-width:100%;max-height:26rem;margin:.8rem 0;border:1px solid var(--border);border-radius:8px}.rs-photo .search{width:100%;box-sizing:border-box;margin-bottom:.6rem}.rs-solution h2{font-size:1.05rem;margin:.4rem 0 .5rem}.rs-steps{padding-left:1.4rem}.rs-steps li{margin:.7rem 0}.rs-steps p{margin:0 0 .3rem}.rs-math{overflow-x:auto;padding:.2rem 0}.rs-answer{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:1rem 0 .6rem;padding:.6rem .9rem;border:1px solid var(--ok);border-radius:8px;background:var(--ok-bg)}.sp-card{text-align:center;padding:1.6rem 1rem}.sp-word{font-size:2rem;font-weight:700;margin:.3rem 0;overflow-wrap:anywhere}.sp-actions{justify-content:center;margin-top:1.2rem}.sp-card .feedback{justify-content:center}.tiles.rows{grid-template-columns:minmax(0,1fr);gap:.45rem;margin-top:.8rem}.tiles.rows .tile{min-width:0;display:grid;grid-template-columns:minmax(170px,240px) 1fr auto;align-items:center;gap:1rem;min-height:0;padding:.6rem 1rem}.tiles.rows .tile-icon{width:34px;height:34px}.tiles.rows .tile-title{font-size:1.05rem}.tiles.rows .tile-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.tiles.rows .tile-meta{margin:0;white-space:nowrap;text-align:right}@media (max-width: 640px){.tiles.rows .tile{grid-template-columns:minmax(0,1fr) auto;row-gap:.15rem}.tiles.rows .tile-desc{grid-column:1 / -1;grid-row:2;min-width:0}}@keyframes flash-ok{0%{box-shadow:0 0 0 3px var(--ok)}to{box-shadow:var(--shadow)}}@keyframes flash-bad{0%{box-shadow:0 0 0 3px var(--bad)}to{box-shadow:var(--shadow)}}.question.ok{animation:flash-ok .6s}.question.bad{animation:flash-bad .6s}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1rem 0}.stat{display:flex;flex-direction:column;align-items:center;padding:.9rem .5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.stat b{font-size:1.8rem;line-height:1.1;white-space:nowrap}.stat span{font-size:.85rem;color:var(--muted);text-align:center}.stat{min-width:0}.dots{letter-spacing:.15em;color:var(--accent);white-space:nowrap}.home-links{margin-top:1.2rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.home-copy{margin:1.2rem 0 .4rem;text-align:center}.report{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.2rem;margin-top:1.4rem;padding:.9rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:var(--card)}.report h2{margin:0 0 .2rem;font-size:1.05rem}.report p{margin:0}.validity-alert{margin:.4rem 0 1rem;border-color:var(--warn);background:var(--warn-bg)}.validity h2{font-size:1rem;margin:1.3rem 0 .5rem}.valid-card{margin-bottom:.6rem}.valid-card p{margin:.3rem 0}.valid-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .8rem}.valid-expired{border-color:var(--bad)}.valid-new{border-color:var(--accent)}.valid-due{border-color:var(--warn)}.small{font-size:.85rem}.stat-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.stats.four{grid-template-columns:repeat(4,1fr)}@media (max-width: 560px){.stats.four{grid-template-columns:repeat(2,1fr)}}.chart{display:flex;align-items:flex-end;gap:4px;height:120px;margin:.4rem 0 1.2rem}.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}.bar span{font-size:.65rem;color:var(--muted);text-align:center;margin-top:2px}.bar-a{background:var(--bad-bg);border:1px solid var(--border);border-radius:3px 3px 0 0;display:flex;flex-direction:column;justify-content:flex-end;min-height:2px;overflow:hidden}.bar-c{background:var(--ok)}.lvl-row{display:flex;align-items:center;gap:.7rem;margin:.35rem 0}.lvl-name{width:11rem;flex-shrink:0;font-weight:600;font-size:.9rem}@media (max-width: 600px){.lvl-name{width:7.5rem}}.lvl-num{width:6.5rem;text-align:right;font-size:.85rem}.pbar{flex:1;height:10px;background:var(--bg);border:1px solid var(--border);border-radius:5px;overflow:hidden;display:flex}.pbar-l{background:var(--ok)}.pbar-s{background:var(--accent);opacity:.45}.legend{display:inline-block;width:.8rem;height:.8rem;border-radius:2px;vertical-align:middle;margin-left:.4rem}.legend.l,.legend.c{background:var(--ok)}.legend.s{background:var(--accent);opacity:.45}.legend.a{background:var(--bad-bg);border:1px solid var(--border)}.signin{text-align:center;padding:2rem 1.5rem}.list{list-style:none;padding:0;margin:.3rem 0 1rem}.list li{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.list li>span:first-child{flex:1}.list li:last-child{border-bottom:0}.inline{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}code{background:var(--bg);padding:.1rem .3rem;border-radius:4px}.field{margin:1.1rem 0}.field-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.4rem}.seg{display:flex;flex-wrap:wrap;gap:.4rem}.seg.two{display:grid;grid-template-columns:1fr 1fr}.seg.two .seg-btn{min-width:0;padding:.5rem .4rem}.seg-btn{display:flex;flex-direction:column;align-items:center;min-width:4.2rem;padding:.5rem .9rem;border-radius:10px;border:1px solid var(--border);background:var(--card);cursor:pointer;font-weight:600}.seg-btn small{font-weight:400;font-size:.75rem;color:var(--muted)}.seg-btn:hover:not(:disabled){border-color:var(--accent)}.seg-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 3px var(--glow)}.seg-btn.active small{color:#ffffffd9}.seg-btn:disabled{opacity:.45;cursor:default}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}.actions .btn{flex:1;min-width:140px;padding:.8rem}.quiz-top{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.quiz-title{font-weight:700;flex:1}.progress{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:1.2rem}.progress>div{height:100%;background:var(--accent);transition:width .2s}.question{text-align:center;padding:1.8rem 1.2rem}.q-label{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.q-prompt{display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:2rem;font-weight:700;margin:.5rem 0 .2rem;word-break:break-word}.q-sub{color:var(--muted)}.q-prompt.long{font-size:1.2rem;font-weight:600}.options{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}@media (max-width: 560px){.options{grid-template-columns:1fr}.q-prompt{font-size:1.5rem}}.option{display:flex;align-items:center;gap:.8rem;text-align:left;padding:1rem;border-radius:var(--radius);border:2px solid var(--border);background:var(--card);cursor:pointer;font-size:1.05rem;transition:border-color .12s,background .12s}.option:hover:not(:disabled){border-color:var(--accent)}.option:disabled{cursor:default}.option .key{flex-shrink:0;width:1.7rem;height:1.7rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:var(--bg);color:var(--muted)}.option.correct{border-color:var(--ok);background:var(--ok-bg)}.option.correct .key{background:var(--ok);color:#fff}.option.wrong{border-color:var(--bad);background:var(--bad-bg)}.option.wrong .key{background:var(--bad);color:#fff}.option.dim{opacity:.55}.feedback{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;min-height:2.6rem;margin:1rem 0 .4rem}.feedback .info{color:var(--muted)}.next-row{display:flex;justify-content:flex-end}.next-row .btn{min-width:160px}.hint{font-size:.8rem;color:var(--muted);text-align:center;margin-top:1rem}.q-report-row{text-align:center;font-size:.8rem;margin-top:.3rem}.q-report-row>.link-btn{color:var(--muted)}.q-report{text-align:left;font-size:.95rem;margin-top:.6rem}.q-report h2{font-size:1rem;margin:0 0 .5rem}.q-report-opt{display:flex;gap:.5rem;align-items:flex-start;margin:.3rem 0}.q-report textarea{margin-top:.5rem}.pre{white-space:pre-wrap}.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn)}.typed{display:grid;gap:.7rem}.answer{width:100%;font:inherit;font-size:1.3rem;text-align:center;padding:.8rem 1rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--text)}.answer:focus{outline:none;border-color:var(--accent)}.answer.ok{border-color:var(--ok);background:var(--ok-bg)}.answer.warn{border-color:var(--warn);background:var(--warn-bg)}.answer.bad{border-color:var(--bad);background:var(--bad-bg)}.typed-actions{display:flex;gap:.6rem}.typed-actions .btn{flex:1;padding:.8rem}.char-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.char-bar .btn{min-width:2.4rem;font-size:1.05rem}.feedback .note{flex-basis:100%;color:var(--muted);font-size:.9rem}.conj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.8rem}.conj-card{margin:0}.conj-card h3{margin:0 0 .4rem;font-size:1rem}.verbs.conj td{padding:.25rem .4rem}.cat-list{max-height:50vh;overflow-y:auto;margin-top:.5rem}.score{text-align:center}.score-pct{font-size:3rem;font-weight:800}.mistakes{list-style:none;padding:0;margin:0}.mistakes li{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.mistakes li:last-child{border-bottom:0}.mistakes .arrow{color:var(--muted)}.table-tools{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin:1rem 0}.toggles{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.9rem}.toggles label{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.table-wrap{overflow-x:auto}table.verbs{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden}.verbs th,.verbs td{padding:.55rem .8rem;text-align:left;border-bottom:1px solid var(--border)}.verbs th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg);position:sticky;top:0}.verbs td.en{font-weight:600}.verbs td.sk{color:var(--sk)}.verbs td.masked{color:transparent;background:var(--mask);cursor:pointer;user-select:none}.verbs td.lvl{color:var(--muted);font-size:.85rem}.verbs td.done{color:var(--ok);font-weight:700;width:1.5rem}.verbs .icon-btn{width:1.8rem;height:1.8rem}.paste{width:100%;padding:.7rem .8rem;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;resize:vertical;margin-bottom:.6rem}.card>input.search{width:100%}.sk-label{display:block;margin:.9rem 0 .35rem}.date-row{display:flex;gap:.5rem;align-items:center}.date-row .search{flex:1;min-width:0}.date-row .date-pick{flex:0 0 auto;width:auto}.code-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin:.6rem 0 .3rem}.code-row .field-label{margin:0}.code-val{font-size:1.15rem;letter-spacing:.12em}.adm-table{width:100%;border-collapse:collapse;font-size:.88rem}.adm-table th,.adm-table td{padding:.35rem .5rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.adm-table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap}.adm-table .search{width:auto;padding:.25rem .45rem;font-size:.85rem}.adm-table .nowrap{white-space:nowrap}.adm-table summary{cursor:pointer}.file-btn{text-align:center}.link{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font-weight:600;text-align:left}a.btn{text-decoration:none;display:inline-block}.reader{max-width:760px;margin:0 auto;padding-bottom:45vh}.reader-bar{display:flex;align-items:center;gap:.8rem}.reader-bar .back{margin:0}.reader-title{flex:1;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.8rem 0 1rem}.reader-tools .seg-btn{min-width:3rem;padding:.3rem .6rem}.reader-tools select{flex:1 1 180px;min-width:0;max-width:100%}.reader-text{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.4rem;font-size:1.15rem;line-height:1.8}.reader-text p{margin:0 0 1em}.w{cursor:pointer;border-radius:3px}.w:hover{background:var(--accent-soft)}.reader-text.marks .w.learning{background:var(--warn-bg);box-shadow:inset 0 -2px 0 var(--warn)}.s.reading{background:var(--accent-soft);border-radius:4px}.w.speaking{text-decoration:underline 2px var(--accent)}.reader-text .w.active{background:var(--accent);color:#fff}.sheet{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:720px;max-height:55vh;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -6px 24px #141e3c2e;padding:1rem 1.2rem 1.2rem;z-index:20}.sheet-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.sheet-word{font-size:1.4rem;flex:1}.entry{display:grid;justify-items:start;gap:.3rem;padding:.6rem 0;border-top:1px solid var(--border)}.entry .icon-btn{width:1.8rem;height:1.8rem;vertical-align:middle;margin-left:.3rem}.sheet-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.card>select.search{width:100%;margin-bottom:.6rem}.tabs{margin:1rem 0 .6rem}.seg.filter{margin:.6rem 0 1rem;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.seg.filter .seg-btn{min-width:0;padding:.3rem .7rem;flex-shrink:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}.photo{position:relative;padding:.4rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.photo:hover{border-color:var(--accent)}.photo-open{display:flex;flex-direction:column;gap:.3rem;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.photo img{width:100%;aspect-ratio:3 / 4;object-fit:contain;border-radius:8px;background:var(--bg)}.photo-cap{font-size:.8rem;color:var(--muted)}.photo-note{font-size:.85rem}.photo-num{position:absolute;top:.7rem;left:.7rem;min-width:1.7rem;padding:.1rem .45rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.85rem;font-weight:700;text-align:center;pointer-events:none}.photo-del{position:absolute;top:.7rem;right:.7rem;display:flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;border:0;border-radius:50%;background:#14182299;color:#fff;font-size:1.2rem;line-height:1;cursor:pointer}.photo-del:hover{background:var(--bad)}.photo-full img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg)}.pg-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}.pg{position:relative;margin:0;padding:.3rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:grab;user-select:none;-webkit-user-select:none}.pg.new{border-color:var(--accent);box-shadow:0 0 0 2px var(--glow)}.pg img,.pg-none{display:block;width:100%;aspect-ratio:3 / 4;object-fit:contain;border-radius:6px}.pg img{pointer-events:none;-webkit-touch-callout:none}.pg-none{display:flex;align-items:center;justify-content:center;background:var(--card);color:var(--muted);font-size:.8rem}.pg .photo-num{top:.55rem;left:.55rem}.pg .photo-del{top:.55rem;right:.55rem;width:1.75rem;height:1.75rem}.pg.dragging{z-index:5;cursor:grabbing;opacity:.9;box-shadow:0 10px 28px #141e3c4d}.pg.target{outline:3px solid var(--accent);outline-offset:2px}.pg-card button:disabled{opacity:.4;cursor:default}.page-head h1 .rename-btn{width:1.9rem;height:1.9rem;margin-left:.5rem;vertical-align:middle;font-size:1rem}.page-head h1 .rename{width:min(100%,26rem);padding:.3rem .6rem;font:inherit;font-size:1.3rem;vertical-align:middle}.chips{list-style:none;padding:0;margin:.3rem 0 1rem;display:flex;flex-wrap:wrap;gap:.4rem}.chips li{border:1px solid var(--border);border-radius:999px;padding:.15rem .65rem;font-size:.85rem}.topics{display:grid;gap:.6rem;margin:1rem 0}.topic{display:flex;flex-direction:column;gap:.2rem;text-align:left;padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);cursor:pointer}.topic:hover{border-color:var(--accent)}.topic-title{font-weight:700}.group{margin-top:1.4rem}.group-title{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin:0;font-size:1.1rem;color:var(--accent)}.group-title .muted{color:var(--muted)}.topics.grid2{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:.6rem}.seg.en-level{margin-top:.6rem}.topic:disabled{opacity:.5;cursor:default;border-color:var(--border)}.hanzi{font-family:Microsoft YaHei,PingFang SC,Hiragino Sans GB,Noto Sans SC,Noto Sans CJK SC,sans-serif;font-weight:500}.q-prompt .hanzi{font-size:1.8em;line-height:1.2}.option .hanzi{font-size:1.6rem;line-height:1.2}td.hanzi{font-size:1.4rem;white-space:nowrap}.pr-table td:first-child{font-weight:600;width:34%}.pr-note{color:var(--accent);font-size:1.05rem;font-weight:600;margin:.2rem 0 .9rem}.pr-tests th,.pr-tests td{text-align:center;padding:.4rem .5rem}.pr-tests th:first-child,.pr-tests td:first-child{text-align:left;white-space:nowrap}.pr-tests th .muted{text-transform:none;letter-spacing:0;font-weight:400}.pr-tests .btn.small{min-width:5.5rem}.pr-tests .btn.ok{border-color:var(--ok);color:var(--ok)}.fy-tests{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.4rem}.fy-tests .btn.ok{border-color:var(--ok);color:var(--ok)}.pr-schools td:first-child{white-space:nowrap;color:var(--muted)}.pr-theme{font-size:1.25rem;font-weight:600;margin:.2rem 0 .8rem}.pr-clock{font-size:2.6rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;margin:1rem 0 .4rem}.topic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.lvl-chip{flex-shrink:0;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap;color:var(--chip);background:color-mix(in srgb,var(--chip) 14%,transparent)}.lvl-A1{--chip: var(--a1)}.lvl-A2{--chip: var(--a2)}.lvl-B1{--chip: var(--b1)}.lvl-B2{--chip: var(--b2)}.lvl-C1{--chip: var(--warn)}.lvl-C2{--chip: var(--key)}.lvl-1{--chip: var(--a1)}.lvl-2{--chip: var(--a2)}.lvl-3{--chip: var(--b1)}.lvl-4{--chip: var(--b2)}.lvl-5{--chip: var(--warn)}.lvl-6{--chip: var(--key)}.mini-bar{display:block;height:4px;margin-top:.35rem;border-radius:2px;background:var(--border);overflow:hidden}.mini-bar span{display:block;height:100%;background:var(--ok)}.q-img{display:block;max-width:100%;max-height:260px;margin:0 auto .9rem;border-radius:8px}.q-prompt.task{display:block;margin:.6rem 0 .3rem;font-size:1.05rem;font-weight:400;line-height:1.55;text-align:left}.q-fig{display:flex;justify-content:center;margin:.8rem 0 .3rem}.q-fig svg{max-width:100%;height:auto;background:#fff;border-radius:8px}.feedback .solution{flex-basis:100%;padding:.7rem 1rem;border-left:4px solid var(--accent);border-radius:0 8px 8px 0;background:var(--accent-soft)}.solution p{margin:.25rem 0 0}.options.long{grid-template-columns:1fr}.options.long .option{font-size:1rem}.option.picked{border-color:var(--accent);background:var(--accent-soft)}.card-answer{margin:1rem 0 .4rem;padding:1rem 1.2rem;border:2px solid var(--ok);border-radius:var(--radius);background:var(--ok-bg);font-size:1.1rem}.grades{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.8rem}.grades .btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem .4rem}.grades .key{font-size:.75rem;color:var(--muted)}@media (max-width: 560px){.grades{grid-template-columns:1fr 1fr}}.exam-timer{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}.exam-timer.low{color:var(--bad)}.exam-nav{display:grid;grid-template-columns:repeat(10,1fr);gap:.3rem;margin:.6rem 0 1rem}.exam-nav button{padding:.3rem 0;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font:inherit;font-size:.8rem;cursor:pointer}.exam-nav button.done{background:var(--accent-soft);border-color:var(--accent)}.exam-nav button.cur{outline:2px solid var(--accent);outline-offset:1px}.exam-actions .btn:disabled{opacity:.45;cursor:default}.as-list{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.6rem}.as-list li{display:flex;align-items:flex-start;gap:.9rem;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.as-list img{width:120px;flex-shrink:0;border-radius:6px}.as-q{font-weight:600}.as-a{margin-top:.3rem;color:var(--ok)}.as-list.hide .as-a:not(.shown){filter:blur(5px);cursor:pointer;user-select:none}@media (max-width: 560px){.as-list li{flex-direction:column}.as-list img{width:100%;max-width:280px}}.explain p{margin:0 0 .7rem}.examples{list-style:none;padding:0;margin:.3rem 0 0}.examples li{display:flex;align-items:center;gap:.7rem;padding:.5rem .7rem;margin:.4rem 0;background:var(--ok-bg);border-left:4px solid var(--ok);border-radius:0 8px 8px 0}.ex{display:flex;flex-direction:column}.ex-en{color:var(--ok);font-weight:600}.ex-py{color:var(--muted);font-size:.92rem;font-style:italic}.ex-sk{color:var(--muted);font-size:.92rem}.explain .key,.ex .key{color:var(--key);font-weight:700}.paste-box{margin-top:.8rem}.paste-box summary{cursor:pointer;color:var(--accent)}.edit-words{width:100%;border-collapse:collapse}.edit-words th{text-align:left;font-size:.85rem;color:var(--muted);font-weight:600;padding:.2rem .3rem}.edit-words td{padding:.15rem .2rem}.edit-words td:last-child{width:2.4rem}.edit-words .cell{width:100%;min-width:7rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}.edit-words .cell.missing{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--bg))}.edit-words .icon-btn{width:2rem;height:2rem}.pick-tools{display:flex;gap:.5rem;margin-bottom:.5rem}.pick-list{list-style:none;padding:0;margin:0;max-height:50vh;overflow-y:auto;border-top:1px solid var(--border)}.pick-list li{border-bottom:1px solid var(--border)}.pick-list label{display:flex;align-items:baseline;gap:.4rem;padding:.35rem .2rem;cursor:pointer}.pick-list .small{margin-left:auto}.pick{display:flex;gap:.5rem}.pick select{flex:1;min-width:0}.pick input{width:6rem}.item-card{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--card)}.item-title{background:none;border:0;padding:0;text-align:left;font-weight:700;font-size:1rem;color:var(--text);cursor:pointer}.item-title:hover{color:var(--accent)}.item-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.tg-form .field-label,.tg-task .field-label{display:block;margin:.9rem 0 .35rem}.tg-form .field-label:first-child{margin-top:0}.tg-form .search{width:100%}.tg-checks{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.tg-row{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1rem}.tg-row label{display:flex;align-items:center;gap:.4rem}.tg-row input,.tg-row select,.tg-head input,.tg-head select{padding:.35rem .5rem;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit}.tg-row input[type=number],.tg-head input[type=number]{width:4.5rem}.tg-task{padding:.9rem 1rem}.tg-task .field-label{margin-top:.2rem}.tg-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-bottom:.6rem}.tg-tools{display:flex;gap:.3rem;margin-left:auto}.tg-flag{border-color:var(--warn)}.tg-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .8rem;margin-bottom:.6rem;padding:.45rem .7rem;border-radius:8px;background:var(--warn-bg);color:var(--warn);font-size:.88rem}.tg-opt{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.tg-opt input[type=radio]{width:1.1rem;height:1.1rem;accent-color:var(--ok)}.tg-opt .search{padding:.4rem .6rem}.tg-skillhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;margin-top:.6rem}.tg-skills{max-height:16rem;overflow:auto;margin:.35rem 0 .4rem;padding:.35rem .6rem;border:1px solid var(--border);border-radius:8px}.tg-skill{display:flex;align-items:flex-start;gap:.45rem;padding:.2rem 0;font-size:.9rem;cursor:pointer}.tg-skill input{margin-top:.2rem;flex-shrink:0}.tg-units{margin:.35rem 0 .4rem;padding:.1rem .6rem;border:1px solid var(--border);border-radius:8px}.tg-unit+.tg-unit{border-top:1px solid var(--border)}.tg-unit>.tg-skill{padding:.45rem 0;font-weight:600}.tg-unitbody{padding:0 0 .5rem 1.5rem}.tg-unitbody .tg-skillhead{margin-top:0}.tg-task .tg-fig{margin-bottom:.5rem}.tg-task .tg-fig svg{max-width:260px}.tg-pick{display:flex;align-items:center;gap:.5rem}.tg-pick .search{width:auto}.tg-claim{margin:0 0 .9rem;padding:.6rem .9rem;border-left:4px solid var(--ok);border-radius:8px;background:var(--ok-bg);font-weight:600}.tg-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem;margin-bottom:.6rem}.tg-hub-card{display:flex;flex-direction:column;gap:.5rem;margin:0}.tg-hub-card h2{margin:0;font-size:1.05rem}.tg-hub-card p{margin:0;flex:1;font-size:.9rem}.tg-hub-acts{display:flex;flex-wrap:wrap;gap:.4rem}.tg-hub-acts .btn{flex:0 1 auto;padding:.55rem .75rem;font-size:.9rem;line-height:1.25}.tg-own-files{list-style:none;padding:0;margin:.4rem 0;display:grid;gap:.2rem}.tg-own-files li{display:flex;align-items:center;gap:.4rem;font-size:.9rem}.depth{width:100%;margin:.5rem 0 .1rem;accent-color:var(--accent)}.depth-scale{display:flex;justify-content:space-between}.outline h3{font-size:1rem;margin:.9rem 0 .3rem}.outline h3:first-child{margin-top:0}.outline .ol-pt{position:relative;margin:.3rem 0;padding-left:1.1rem}.outline .ol-pt:before{content:"•";position:absolute;left:.25rem;color:var(--accent)}.terms{margin:0;padding-left:1.1rem}.terms li{margin:.3rem 0}.outline .reading{background:var(--warn-bg);border-radius:6px}.outline .found{background:var(--warn-bg);border-radius:6px;outline:2px solid var(--warn)}.note-search .search{width:100%}.hit{display:block;width:100%;text-align:left;background:var(--card);color:inherit;font:inherit;border:1px solid var(--border);border-radius:10px;padding:.55rem .75rem;margin-top:.45rem;cursor:pointer}.hit:hover{border-color:var(--accent)}.hit .small{display:block;margin-bottom:.15rem}.hit mark{background:var(--warn-bg);color:inherit;border-radius:3px;padding:0 .1em}.timeline{list-style:none;margin:0;padding:0 0 0 1rem;border-left:2px solid var(--accent)}.timeline li{position:relative;display:grid;grid-template-columns:minmax(5.5rem,max-content) 1fr;gap:.6rem;margin:.55rem 0}.timeline li:before{content:"";position:absolute;left:calc(-1rem - 6px);top:.45em;width:10px;height:10px;border-radius:50%;background:var(--accent)}.mm{display:flex;align-items:center;gap:1.6rem;overflow-x:auto;padding:.3rem 0}.mm-root{flex:none;max-width:13rem;padding:.7rem 1rem;border-radius:14px;background:var(--accent);color:#fff;font-weight:700;text-align:center}.mm-branches{display:flex;flex-direction:column;gap:.7rem;padding-left:1.2rem;border-left:2px solid var(--accent)}.mm-branch{position:relative;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.mm-branch:before{content:"";position:absolute;left:-1.2rem;top:50%;width:1.2rem;border-top:2px solid var(--accent)}.mm-node{padding:.35rem .7rem;border:2px solid var(--accent);border-radius:10px;font-weight:600;background:var(--card)}.mm-leaves{display:flex;flex-wrap:wrap;gap:.3rem}.mm-leaf{font-size:.85rem;padding:.15rem .55rem;border-radius:999px;background:var(--accent-soft)}@media (max-width: 700px){.mm{flex-direction:column;align-items:stretch}.mm-root{max-width:none}}.match-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:1rem}.match-col{display:flex;flex-direction:column;gap:.45rem}.match-btn{text-align:left;font:inherit;color:inherit;background:var(--card);border:2px solid var(--border);border-radius:10px;padding:.5rem .7rem;cursor:pointer}.match-btn.sel{border-color:var(--accent);background:var(--accent-soft)}.match-btn.ok{border-color:var(--ok);background:var(--ok-bg);color:var(--ok);cursor:default}.match-btn.bad{border-color:var(--bad);background:var(--bad-bg)}.cheat.guide{width:auto;max-width:190mm;font-size:11pt}.cheat.guide h3{font-size:1.1em;margin:1em 0 .4em}.guide-term{margin:.2em 0}.guide-q{padding-left:1.4em}.guide-q li{margin:.45em 0;break-inside:avoid}.guide-line{height:1.6em;border-bottom:1px solid #999}.guide-key{break-before:page}.guide-brand{margin-top:1.5em;text-align:right;font-size:.75em;color:#777}main.wide{max-width:1240px}.cheat-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:1.2rem;align-items:start}.cheat-settings{position:sticky;top:calc(var(--topbar-h) + 1rem)}@media (max-width: 860px){.cheat-layout{grid-template-columns:1fr}.cheat-settings{position:static}}.cheat-wrap{overflow:hidden}.cheat{width:190mm;min-height:60mm;margin:0 auto;padding:8mm;background:#fff;color:#111;line-height:1.3;box-shadow:0 1px 6px #00000040;transform-origin:top left}.cheat-title{font-weight:700;font-size:1.25em;margin-bottom:.5em}.cheat.paged{width:auto;min-height:0;padding:0;background:none;box-shadow:none}.cheat-page{box-sizing:border-box;display:flex;flex-direction:column;width:210mm;height:296.5mm;margin:0 auto;padding:10mm;background:#fff;box-shadow:0 1px 6px #00000040;overflow:hidden}.cheat-page.landscape{width:297mm;height:209.5mm}.cheat-page+.cheat-page{margin-top:8mm}.cheat-flow{flex:1;min-height:0;column-fill:auto}.cheat-probe{position:absolute;left:-10000px;top:0;visibility:hidden}.cheat-tlist{column-gap:1em}.cheat-trow{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);border:1px solid #999;margin-bottom:-1px;break-inside:avoid}.cheat-trow>*{padding:.15em .4em;overflow-wrap:anywhere}.cheat-trow>*+*{border-left:1px solid #999}.cheat-list{column-gap:1.5em;column-rule:1px solid #ccc}.cheat-list div{break-inside:avoid;padding:.05em 0}.cheat-cards{display:grid;align-content:start}.cut-card{display:grid;grid-template-columns:1fr 1fr;min-height:3.6em;border:1px solid #555;margin:-1px 0 0 -1px;break-inside:avoid}.cut-card span{display:flex;align-items:center;justify-content:center;text-align:center;padding:.4em}.cut-card span+span{border-left:1px dashed #999}.cheat-strips{display:grid;gap:3mm;align-items:start;align-content:start}.strip{border:1px dashed #666;padding:.4em .5em;break-inside:avoid;overflow-wrap:anywhere}.cheat-outline{column-gap:1.5em;column-rule:1px solid #ccc}.cheat-h{font-weight:700;margin:.5em 0 .15em;break-after:avoid}.cheat-li{padding-left:.9em;text-indent:-.9em;margin:.1em 0;break-inside:avoid}.cheat-li:before{content:"• "}.cheat.book{width:297mm;min-height:0;padding:0;background:none;box-shadow:none}.book-sheet{position:relative;width:297mm;height:209.5mm;display:grid;grid-template:repeat(2,minmax(0,1fr)) / repeat(4,minmax(0,1fr));background:#fff;box-shadow:0 1px 6px #00000040;overflow:hidden}.book-sheet+.book-sheet{margin-top:8mm}.book-page{display:flex;flex-direction:column;padding:6mm 5mm 2mm;overflow:hidden}.book-page.flip{transform:rotate(180deg)}.book-body{flex:1;min-height:0;overflow:hidden;overflow-wrap:anywhere}.book-num{height:4mm;text-align:center;font-size:7pt;color:#888}.book-pair{margin:.1em 0}.book-cover{height:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:.6em}.book-title{font-size:1.6em;font-weight:700;line-height:1.2}.book-sub{color:#555}.book-brand{margin-top:2em;font-size:.8em;color:#888}.book-fold{position:absolute;border:0 dashed #aaa}.book-fold.v{top:0;bottom:0;border-left-width:1px}.book-fold.h{left:0;right:0;top:50%;border-top-width:1px}.book-cut{position:absolute;left:25%;right:25%;top:50%;border-top:1.5px solid #222}.book-cut:before{content:"✂";position:absolute;left:-1.1em;top:-.72em;font-size:12pt;line-height:1;color:#222}.book-probe{position:absolute;left:-10000px;top:0;visibility:hidden}.book-probe .book-page{width:74.25mm;height:104.75mm;contain:strict}.gap{display:inline-block;min-width:1.1em;padding:0 .12em;margin:0 .04em;border:0;border-bottom:3px solid var(--muted);border-radius:4px 4px 0 0;background:var(--accent-soft);color:var(--accent);font:inherit;line-height:1.2;cursor:pointer}.gap.current{border-bottom-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.gap.ok{background:var(--ok-bg);border-bottom-color:var(--ok);color:var(--ok);cursor:default}.gap.bad{background:var(--bad-bg);border-bottom-color:var(--bad);color:var(--bad);cursor:default}.gap.bad s{color:var(--muted);margin-right:.15em}.q-prompt.long>span{line-height:1.7}.say-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.9rem}.say-row .btn{display:inline-flex;align-items:center;gap:.4rem}.say-row svg{width:1.1em;height:1.1em}.say-text{margin-top:.7rem;font-size:1.1rem}.dict-diff{flex-basis:100%;display:grid;gap:.35rem;line-height:1.6}.dict-diff mark{padding:0 .15em;border-radius:4px}.dict-diff mark.bad{background:var(--bad-bg);color:var(--bad);text-decoration:line-through}.dict-diff mark.ok{background:var(--ok-bg);color:var(--ok);font-weight:700}.note-box{padding:.6rem .9rem;border-left:4px solid var(--accent);border-radius:0 8px 8px 0;background:var(--accent-soft)}.note-box.tip{border-left-color:var(--ok);background:var(--ok-bg)}.note-box.ask{border-left-color:#7a3fc4;background:color-mix(in srgb,#7a3fc4 12%,var(--card))}.lesson{max-width:48rem;padding:1.1rem 1.5rem;line-height:1.6}.lesson>p:first-child{margin-top:0}.lesson h2{margin:1.3rem 0 .35rem;font-size:1.1rem}.lesson ul{padding-left:1.3rem}.lesson li{margin:.25rem 0}.lesson .note-box{margin:.8rem 0}.lesson .note-box p{margin:.2rem 0 0}@media print{.lesson{max-width:none;padding:0;border:0;box-shadow:none}.lesson .note-box{break-inside:avoid}}.vs-list{margin:.5rem 0;padding:.7rem 1rem}.vs-list summary{cursor:pointer}.vs-list p{margin:.5rem 0 0;line-height:1.6}.center{text-align:center}.about li{margin:.25rem 0;line-height:1.45}.dict-player{text-align:center;padding:1.6rem 1.2rem}.dict-phase{display:inline-block;padding:.35rem 1rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:1rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dict-phase.part{background:var(--ok-bg);color:var(--ok)}.dict-phase.check{background:var(--warn-bg);color:var(--warn)}.dict-phase.outro{background:#f1e6fb;color:#7a3fc4}@media (prefers-color-scheme: dark){.dict-phase.outro{background:#34254a;color:#c9a5f0}}.dict-count{font-size:1.6rem;font-weight:700;margin:.4rem 0 .8rem}.dict-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem}.dict-controls .btn{padding:.8rem .3rem}@media (max-width: 560px){.dict-controls{grid-template-columns:1fr 1fr}}.dict-gap .gap-row{display:flex;align-items:center;gap:.6rem}.dict-gap input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.dict-gap input[type=number]{flex:none;width:5.5rem;padding:.35rem .5rem}.dict-player .dict-gap{max-width:440px;margin:1.2rem auto 0;text-align:left}.dict-text{font-size:1.25rem;line-height:1.9}.dict-text p{margin:0 0 .8rem}.dict-text mark{padding:0 .05em;border-radius:3px}.dict-text mark.iy{background:#ffe58a;color:#1c2230}.dict-text mark.cap{background:#c9e7ff;color:#1c2230}.dict-text mark.punct{background:#ffc9c9;color:#1c2230;padding:0 .15em}.voice-pick{width:100%}.audio-box audio{width:100%;margin:.6rem 0}.subject-list{display:grid;gap:.25rem;margin-bottom:.6rem}.subject-row{display:flex;align-items:center;gap:.3rem}.reset-btn{flex-shrink:0;width:1.6rem;height:1.6rem;font-size:.9rem}.subject{display:flex;align-items:center;gap:.45rem;width:100%;padding:.32rem .45rem;border:1px solid transparent;border-radius:7px;background:none;text-align:left;font-size:.84rem;cursor:pointer}.subject img{width:20px;height:20px;flex-shrink:0}.subject:hover{background:var(--accent-soft)}.subject.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 2px var(--glow)}.subject.active .subject-counts,.subject.active .bad{color:#fff}.subject-name{flex:1;font-weight:600}.subject-counts{font-size:.74rem;color:var(--muted);white-space:nowrap}.row-icon{width:20px;height:20px;vertical-align:-4px;margin-right:.45rem}.q-passage{max-height:46vh;overflow-y:auto;margin:.5rem 0 .4rem;padding:.8rem 1rem;border-left:4px solid var(--accent);border-radius:0 8px 8px 0;background:var(--bg);text-align:left;white-space:pre-line;line-height:1.6}@media print{.dict-text{font-size:14pt}}.terms{padding-left:1.3rem}.terms li{margin:.45rem 0;line-height:1.5}.consent{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 .4rem;font-weight:600;cursor:pointer}.consent input{width:1.2rem;height:1.2rem;margin-top:.15rem;flex-shrink:0}.about{max-width:580px;font-size:.88rem}.about h1{font-size:1.3rem}.about h2{font-size:.98rem}.about .card{padding:.9rem 1.1rem;margin-bottom:.8rem}.about .terms li{margin:.25rem 0;line-height:1.45}.about .consent{margin:.7rem 0 .3rem}.about .consent input{width:1.05rem;height:1.05rem;margin-top:.1rem}.about .btn.big{padding:.6rem;font-size:.95rem;margin-top:.5rem}.link-btn{border:0;background:none;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}.privacy{display:grid;grid-template-columns:minmax(7rem,30%) 1fr;gap:.35rem .8rem;margin:0}.privacy dt{font-weight:600}.privacy dd{margin:0;line-height:1.45}@media (max-width: 520px){.privacy{grid-template-columns:1fr;gap:0}.privacy dd{margin-bottom:.45rem}}.legal-links{text-align:center;line-height:1.8;margin:1rem 0}.form-lines{list-style:none;padding:0}.form-lines li{margin:.9rem 0;line-height:1.6}.form-lines li:before{content:"– "}.form-lines .fill{display:inline-block;min-width:14rem;border-bottom:1px dotted currentColor}@media print{.withdrawal{max-width:none;font-size:11pt}.withdrawal .card{border:0;box-shadow:none;padding:0;margin-bottom:8mm}.withdrawal .form-lines .fill{min-width:60%}}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin:.4rem 0 .8rem}.badge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.1rem;padding:.5rem .4rem;border:1px solid var(--border);border-radius:10px;opacity:.45}.badge small{color:var(--muted);font-size:.72rem}.badge-star{font-size:1.4rem;color:var(--muted);line-height:1}.badge.got{opacity:1;border-color:#e0b100;background:color-mix(in srgb,#ffd54f 18%,var(--card))}.badge.got .badge-star{color:#e0a800}.week-table{width:100%;border-collapse:collapse;font-size:.92rem}.week-table th{text-align:left;color:var(--muted);font-weight:600;font-size:.8rem}.week-table th,.week-table td{padding:.35rem .4rem;border-bottom:1px solid var(--border)}.week-table td:not(:first-child),.week-table th:not(:first-child){text-align:right}.week-table td:nth-child(2):not(:last-child){text-align:left}.pt-wrap{overflow-x:auto}.pt{display:grid;grid-template-columns:repeat(18,minmax(40px,1fr));grid-template-rows:repeat(10,auto);gap:3px;min-width:760px;margin:.6rem 0}.pt-cell{display:flex;flex-direction:column;align-items:center;padding:2px 1px;border-radius:4px;line-height:1.1;color:#1c2230;border:2px solid transparent}.pt-cell small{font-size:.6rem}.pt-cell b{font-size:.95rem}.pt-cell span{font-size:.52rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pt-cell.zs{border-color:#1c22308c}.pt-cell.pt-off{opacity:.14}.pt-cell.pt-off>*{visibility:hidden}.pt-gap{justify-content:center;font-size:.6rem;color:var(--muted);background:var(--border)}.pt-spacer{grid-row:8;grid-column:1 / -1;height:.5rem}.pt-alk{background:#ffcdd2}.pt-zem{background:#ffe0b2}.pt-pre{background:#cfe3ff}.pt-ost{background:#d7dce5}.pt-lan{background:#f8c8dc}.pt-akt{background:#e6c9ef}.pt-pol{background:#fff0a8}.pt-nek{background:#c8f0d2}.pt-hal{background:#b8eef3}.pt-vzp{background:#d9d0f2}.pt-legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem}.pt-key{display:inline-block;width:.9em;height:.9em;border-radius:3px;vertical-align:middle;margin-right:.3rem}.ws-paper{padding:1.4rem;background:#fff;color:#111;border-radius:8px;box-shadow:0 1px 6px #0003}.ws-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem;border-bottom:2px solid #111;margin-bottom:.8rem}.ws-head h2{margin:0 0 .3rem}.ws-tasks{list-style:none;padding:0;columns:2;column-gap:2.5rem;font-size:1.1rem;line-height:2.3;margin:0}.ws-tasks.small{font-size:.85rem;line-height:1.6;columns:3}.ws-tasks li{break-inside:avoid}.ws-h{column-span:all;font-weight:700;font-size:.95rem;margin-top:.4rem}.ws-n{display:inline-block;min-width:2.2em;color:#666;font-size:.85em}.ws-key{margin-top:1.6rem;padding-top:.6rem;border-top:1px dashed #999}.cheat-settings .btn.big+.btn.big{margin-top:.5rem}@media print{.ws-paper{box-shadow:none;padding:0}.ws-key{break-before:page;border-top:0}}.page-head{margin-bottom:.6rem}.page-head h1{margin-bottom:0}.page-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.6rem;margin-bottom:1rem}.bar-tools{display:flex;flex-wrap:nowrap;align-items:center;gap:.8rem}.bar-tools .search{flex:0 1 270px;width:270px;padding:.5rem .8rem;font-size:.95rem}.cheat-btn{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}.cheat-btn svg{flex:none}.page-bar>.cheat-btn,.bar-tools>.cheat-btn,.table-tools>.cheat-btn{margin-left:auto}@media (max-width: 860px){.bar-tools{flex-wrap:wrap}.bar-tools .search{flex:1 1 160px;width:auto}}.page{display:grid;grid-template-columns:190px minmax(0,1fr);gap:1rem;align-items:start}.page-body{min-width:0;overflow-x:auto}.page.full{grid-template-columns:1fr}.page-menu{position:sticky;top:calc(var(--topbar-h) + 1rem);max-height:calc(100vh - var(--topbar-h) - 2rem);overflow-y:auto;padding:.75rem;font-size:.86rem}.page-menu .field:first-child,.page-menu>.seg:first-child{margin-top:0}.page-menu .field{margin:.75rem 0}.page-menu .field-label{font-size:.68rem;margin-bottom:.3rem}.page-menu .seg{gap:.3rem}.page-menu .seg-btn{min-width:0;padding:.28rem .55rem;border-radius:8px;font-size:.84rem}.page-menu .seg-btn small{font-size:.68rem}.page-menu .btn{border-radius:8px}.page-menu .btn.big{margin-top:.45rem;padding:.45rem .6rem;font-size:.88rem}.ocr-choice{display:flex;align-items:flex-start;gap:.45rem;margin:.6rem 0 .1rem;cursor:pointer}.ocr-choice input{margin-top:.2rem;accent-color:var(--accent)}.page-menu a.btn.big,.page-menu .file-btn{display:block;text-align:center;text-decoration:none}.page-menu select.search,.page-menu input.search{display:block;width:100%;padding:.38rem .55rem;font-size:.86rem;border-radius:8px}.page-menu h2{margin-bottom:.45rem;font-size:.95rem}.page-menu p{margin:.5rem 0;font-size:.8rem}.page-menu .muted.small{font-size:.78rem}.menu-sep{margin-top:1rem}.page-body>.group:first-child,.group.first{margin-top:0}.page-body>p.muted:first-child{margin-top:0}.level-bar{flex-basis:100%}.list li:has(.level-bar){flex-wrap:wrap}.tabs{display:flex;flex-wrap:wrap;gap:.3rem}.tab{padding:.38rem .9rem;border:1px solid var(--border);border-radius:999px;background:var(--card);font-weight:600;font-size:.9rem;cursor:pointer}.tab:hover{border-color:var(--accent)}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 3px var(--glow)}.lvl-chips{display:inline-flex;gap:.45rem}.lvl-chip-btn{min-width:3.4rem;padding:.45rem 1.1rem;border:2px solid var(--border);border-radius:999px;background:var(--card);font-weight:800;font-size:1.12rem;line-height:1.2;color:var(--muted);cursor:pointer;transition:background .15s,box-shadow .15s}.lvl-chip-btn:hover{border-color:var(--accent)}.lvl-chip-btn.on{color:#fff}.lvl-chip-btn.on.vz-zs{background:var(--ok);border-color:var(--ok);box-shadow:0 0 0 3px #188a4a40,0 0 12px #188a4a8c}.lvl-chip-btn.on.vz-ss{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px #2f5bea40,0 0 12px #2f5bea8c}.lvl-chip-btn.on.vz-vs{background:#7a3fc4;border-color:#7a3fc4;box-shadow:0 0 0 3px #7a3fc440,0 0 12px #7a3fc48c}.menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.menu-actions .btn{padding:.42rem .3rem;font-size:.86rem}.menu-note{color:var(--muted);text-align:center}.cat{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem;width:100%;padding:.28rem .45rem;border:0;border-radius:6px;background:none;text-align:left;font-size:.84rem;line-height:1.3;cursor:pointer}.cat small{color:var(--muted);font-size:.72rem}.cat:hover{background:var(--accent-soft)}.cat.active{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 0 0 2px var(--glow)}.cat.active small{color:#ffffffd9}.cat-group{margin:.7rem .45rem .15rem;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}@media (max-width: 860px){.page{grid-template-columns:minmax(0,1fr)}.page>*{min-width:0}.page-menu{position:static;max-height:none}.page-menu .menu-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.vz-sec{margin-bottom:1.6rem}.vz-sec .group-title{margin-bottom:.6rem}.vz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-flow:dense;gap:.6rem}.vz-card{padding:.7rem .9rem;border:1px solid var(--border);border-radius:10px;background:var(--card);break-inside:avoid}.vz-card.vz-wide{grid-column:1 / -1}.vz-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.vz-name{font-weight:600;font-size:.92rem}.vz-lvl{flex-shrink:0;padding:0 .4rem;border-radius:999px;font-size:.7rem;font-weight:700}.vz-zs{background:var(--ok-bg);color:var(--ok)}.vz-ss{background:var(--accent-soft);color:var(--accent)}.vz-vs{background:#f1e6fb;color:#7a3fc4}.vz-f{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.6rem;margin:.5rem 0 .2rem;font-size:1.08rem;overflow-x:auto;overflow-y:hidden;padding:.15rem 0}.vz-f .vz-tex{display:inline-block;white-space:nowrap}.vz-f code{font-size:.85rem;color:var(--muted);white-space:pre-wrap}.vz-note{font-size:.82rem;color:var(--muted)}.vz-table td{vertical-align:top}.vz-table .vz-tex code{font-size:.8rem}@media (prefers-color-scheme: dark){.vz-vs{background:#34254a;color:#c9a5f0}}@media print{.page-menu,.page-head .back{display:none!important}.page{display:block}.vz-grid{grid-template-columns:1fr 1fr;gap:4px}.vz-card{padding:4px 6px;border-color:#bbb}.vz-sec{break-inside:auto;margin-bottom:10px}}@media print{@page{size:A4;margin:10mm}body{background:#fff}.topbar,.side,.no-print{display:none!important}main,main.wide{max-width:none;padding:0}.cheat-layout{display:block}.cheat-wrap{overflow:visible;margin:0;height:auto!important}.cheat{width:auto;min-height:0;padding:0;box-shadow:none;zoom:1!important;transform:none!important}.cheat-page{box-shadow:none}.cheat-page+.cheat-page{margin-top:0;break-before:page}.book-sheet{box-shadow:none}.book-sheet+.book-sheet{margin-top:0;break-before:page}}.steps{margin:.3rem 0 .9rem;padding-left:1.3rem;font-size:.92rem}.steps li{margin:.25rem 0}.family-code{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:.4rem 0 .8rem;padding:.6rem .8rem;border:1px dashed var(--accent);border-radius:10px;background:var(--accent-soft)}.family-code b{font:700 1.35rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.12em}.ot-num{max-width:8rem}.ot-when{display:flex;flex-wrap:wrap;gap:.5rem}.tg-form .ot-when .search,.ot-when .search{width:auto;flex:1 1 9rem}.ot-variants{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.ot-share{text-align:center}.ot-share p{margin:.3rem 0}.ot-qr{width:min(300px,75vw);margin:.5rem auto}.ot-qr svg{display:block;width:100%;height:auto}.ot-code{font:700 2.4rem/1.1 ui-monospace,Consolas,monospace;letter-spacing:.14em;color:var(--accent)}.ot-share p.ot-code{margin:.4rem 0 .6rem}.ot-link{word-break:break-all}.ot-share:fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:#111;font-size:1.6rem}.ot-share:fullscreen .ot-qr{width:min(62vh,80vw)}.ot-share:fullscreen .ot-code{font-size:5rem}.ot-share:fullscreen .actions,.ot-share:fullscreen .ot-link{display:none}.ot-scroll{overflow-x:auto}.ot-table{border-collapse:collapse;width:100%;font-size:.9rem}.ot-table th,.ot-table td{border:1px solid var(--border);padding:.3rem .45rem;text-align:center;white-space:nowrap}.ot-table th:first-child,.ot-table td:first-child{text-align:left;white-space:normal}.ot-table thead th{background:var(--accent-soft)}.ot-table tfoot th,.ot-table tfoot td{background:var(--bg)}td.ot-ok,span.ot-ok{color:var(--ok)}td.ot-ok{background:var(--ok-bg)}td.ot-bad,span.ot-bad{color:var(--bad)}td.ot-bad{background:var(--bad-bg)}td.ot-check,td.ot-part,span.ot-check{color:var(--warn);font-weight:700}td.ot-check,td.ot-part{background:var(--warn-bg)}td.ot-empty{color:var(--muted)}.ot-total{font-size:1.5rem;margin:.4rem 0}.ot-task{padding:.9rem 1rem}.ot-task.ot-ok{border-left:4px solid var(--ok)}.ot-task.ot-bad{border-left:4px solid var(--bad)}.ot-task.ot-check{border-left:4px solid var(--warn)}.ot-task .field-label{display:block;margin:.7rem 0 .3rem}.ot-task-head{display:flex;flex-wrap:wrap;gap:.3rem .5rem;align-items:baseline;margin-bottom:.5rem}.ot-task-head .tg-q{flex:1;white-space:pre-wrap}.ot-task .tg-pts{color:var(--muted);font-size:.85em;white-space:nowrap}.ot-task .tg-abcd{list-style:none;padding:0;margin:.2rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1.2rem}.ot-task .tg-sol{white-space:pre-wrap;margin-top:.3rem}.ot-given,.ot-right{white-space:pre-wrap;padding:.4rem .6rem;border-radius:8px;background:var(--bg)}.ot-right{background:var(--ok-bg)}.ot-pts{margin-top:.7rem}.ot-pts input{width:4.5rem;padding:.3rem .4rem;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit}@media print{.ot-table{font-size:10px}.ot-table th,.ot-table td{padding:2px 4px}}.ot-scale{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.ot-scale input,.tr-pupils input.search,.credit-table input.search,.credit-users input.search{padding:.3rem .4rem;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit}.ot-scale input{width:4.2rem}.page-menu .ot-scale{gap:.3rem .6rem}.tr-pupils{width:100%;border-collapse:collapse}.tr-pupils td{padding:.25rem .35rem;vertical-align:middle}.tr-pupils input.search{width:100%}.tr-pupils td:first-child,.tr-pin{white-space:nowrap;width:1%}.tr-book td:first-child{white-space:nowrap}.tr-book .tr-cell{min-width:2.8rem;padding:.15rem .3rem}.tr-mark{min-width:2rem;padding:.15rem .35rem;border:0;border-radius:6px;background:none;color:inherit;font:700 1rem/1.2 inherit;cursor:pointer}.tr-mark:hover{background:var(--accent-soft)}.tr-cell small{display:block;color:var(--muted);font-size:.7rem}.tr-cell.g1,.tr-cell.g2{background:var(--ok-bg)}.tr-cell.g4{background:var(--warn-bg)}.tr-cell.g5{background:var(--bad-bg)}.tr-own .tr-mark{text-decoration:underline dotted}.tr-select{font:inherit;padding:.1rem;border-radius:6px}.tr-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem}.tr-card{display:grid;gap:.2rem;padding:.7rem .9rem;border:1px dashed var(--border);border-radius:10px;background:var(--card);break-inside:avoid}.tr-card-pin{font:700 1.5rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.1em;color:var(--accent)}.narrow-form{max-width:36rem}@media print{.tr-cards{grid-template-columns:1fr 1fr 1fr}.tr-card{border-color:#888}.tr-mark{font-size:11px}}.credit-table{border-collapse:collapse;margin-bottom:.6rem}.credit-table td{padding:.3rem .5rem .3rem 0}.credit-table input.search{width:7rem}.credit-table input.search.wide{width:15rem;max-width:100%}.credit-users input.search{width:6rem}.shop-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 .6rem}.shop-item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:9rem}.shop-item span{font-weight:400;color:var(--muted)}.shop-consent .consent{font-weight:400}.ot-clock{font-weight:700;font-variant-numeric:tabular-nums;padding:.25rem .7rem;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.ot-clock.warn{background:var(--warn-bg);color:var(--warn)}.ot-page .ot-intro h1{margin-top:0}.ot-form .field-label{display:block;margin:.9rem 0 .35rem}.ot-form .search,.ot-page .ot-task .search,.ot-page .ot-task .paste{width:100%}.ot-fig{display:block;max-width:min(320px,100%);height:auto;margin:.2rem 0 .6rem;background:#fff;border-radius:6px}.ot-options{display:grid;gap:.45rem}.ot-option{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem .8rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--card);cursor:pointer}.ot-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.ot-option input{width:1.15rem;height:1.15rem;margin-top:.15rem;flex-shrink:0;accent-color:var(--accent)}.ot-got{font-weight:700;white-space:nowrap}.ot-got.ok{color:var(--ok)}.ot-got.warn{color:var(--warn)}.ot-got.bad{color:var(--bad)}.ot-privacy summary{cursor:pointer;color:var(--accent)}
