@font-face{font-family:Vollkorn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vollkorn-cyrillic-ext-600-normal-DjlkCfwC.woff2)format("woff2"),url(/assets/vollkorn-cyrillic-ext-600-normal-C8Ps5gwY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Vollkorn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vollkorn-cyrillic-600-normal-BAaY4JMF.woff2)format("woff2"),url(/assets/vollkorn-cyrillic-600-normal-DurJb7GJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Vollkorn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vollkorn-greek-600-normal-B03tQI9i.woff2)format("woff2"),url(/assets/vollkorn-greek-600-normal-BdN5pHoP.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Vollkorn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vollkorn-vietnamese-600-normal-CocrgJyS.woff2)format("woff2"),url(/assets/vollkorn-vietnamese-600-normal-C-AXzaie.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Vollkorn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vollkorn-latin-ext-600-normal-DfoPGkY8.woff2)format("woff2"),url(/assets/vollkorn-latin-ext-600-normal-D4xdxtUa.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vollkorn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vollkorn-latin-600-normal-Bg0efxoh.woff2)format("woff2"),url(/assets/vollkorn-latin-600-normal-DxYBVd_6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-cyrillic-ext-400-normal-BjDhGU6t.woff2)format("woff2"),url(/assets/noto-sans-cyrillic-ext-400-normal-d9FrwbiD.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-cyrillic-400-normal-CHP_ranX.woff2)format("woff2"),url(/assets/noto-sans-cyrillic-400-normal-BDYvNhAR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-devanagari-400-normal-C3FccbrF.woff2)format("woff2"),url(/assets/noto-sans-devanagari-400-normal-g9fsM2jL.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-greek-ext-400-normal-i2oSBwXz.woff2)format("woff2"),url(/assets/noto-sans-greek-ext-400-normal-L11LEhi4.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-greek-400-normal-DCESwnT1.woff2)format("woff2"),url(/assets/noto-sans-greek-400-normal-Be2BcUUc.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-vietnamese-400-normal-D2wP-Vm-.woff2)format("woff2"),url(/assets/noto-sans-vietnamese-400-normal-C3Al4sv4.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-latin-ext-400-normal-CVf-LbaS.woff2)format("woff2"),url(/assets/noto-sans-latin-ext-400-normal-CNh9dRW_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-latin-400-normal-BTkUljjl.woff2)format("woff2"),url(/assets/noto-sans-latin-400-normal-DPpKfCgK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-cyrillic-ext-600-normal-DlWr7wnj.woff2)format("woff2"),url(/assets/noto-sans-cyrillic-ext-600-normal-Cwz1867h.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-cyrillic-600-normal-KpAl9xZA.woff2)format("woff2"),url(/assets/noto-sans-cyrillic-600-normal-BRIw9PIU.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-devanagari-600-normal-Ewgvvq1j.woff2)format("woff2"),url(/assets/noto-sans-devanagari-600-normal-Bly84zfI.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-greek-ext-600-normal-B4z4a2vi.woff2)format("woff2"),url(/assets/noto-sans-greek-ext-600-normal-BjvVOqxV.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-greek-600-normal-CT9U7UAD.woff2)format("woff2"),url(/assets/noto-sans-greek-600-normal-C0bz_iEd.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-vietnamese-600-normal-mhyQDSzg.woff2)format("woff2"),url(/assets/noto-sans-vietnamese-600-normal-D0HZFEqa.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-latin-ext-600-normal-Has_8ph9.woff2)format("woff2"),url(/assets/noto-sans-latin-ext-600-normal-B3lLaxXr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-latin-600-normal-Dkgu5AE5.woff2)format("woff2"),url(/assets/noto-sans-latin-600-normal-DVJMj_t0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display:"Vollkorn", Georgia, serif;--font-text:"Noto Sans", sans-serif;--font-mono:"Courier New", ui-monospace, monospace;--bg:#f6f3ec;--surface:#fffdf8;--panel-strong:#ede8de;--text:#171a16;--muted:#5e6459;--accent:#1e4636;--accent-hover:#11291f;--accent-soft:#dcebe2;--accent-mark:#f3e7cf;--on-accent:#f6f3ec;--link:#2f6b52;--ochre:#8a5e18;--ochre-line:#b07d2b;--focus-ring:#b07d2b;--danger:#a8342a;--danger-soft:#f6e1dd;--ok:#2f6b52;--border:#d6d0c2;--rule:#cfdbe6;--margin-rule:#e3a3a0;--sheet:#fffef9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font-text)}a{color:var(--link)}button{font:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.top{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;align-items:center;gap:14px;padding:10px 28px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);color:var(--text);align-items:center;gap:8px;font-size:21px;font-weight:600;text-decoration:none;display:flex}.brand small{font:12px var(--font-text);color:var(--muted)}.top nav{gap:4px;margin-left:18px;display:flex}.top nav a{color:var(--muted);border-radius:3px;padding:6px 12px;text-decoration:none}.top nav a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.user{color:var(--muted);align-items:center;gap:10px;margin-left:auto;font-size:14px;display:flex}.avatar{background:var(--accent);width:30px;height:30px;color:var(--on-accent);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.role{background:var(--accent-mark);color:var(--ochre);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.menu{background:var(--surface);border:1px solid var(--border);z-index:20;border-radius:4px;min-width:220px;padding:12px;position:absolute;top:52px;right:20px;box-shadow:0 6px 20px #00000014}.menu p{color:var(--muted);margin:0 0 10px;font-size:13px}main{max-width:1120px;margin:0 auto;padding:26px 28px 40px}main.wide{max-width:1240px}h1{font-family:var(--font-display);margin:0 0 6px;font-size:30px;font-weight:600;line-height:1.2}h2{font-family:var(--font-display);margin:0 0 10px;font-size:21px;font-weight:600}.sub{color:var(--muted);margin:0 0 20px}.crumbs{color:var(--muted);margin-bottom:8px;font-size:13px}.crumbs a{text-decoration:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:20px}.grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.btn{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{color:var(--accent);background:0 0}.btn.quiet{border-color:var(--border);color:var(--text);background:0 0}.btn.quiet.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.sm{padding:5px 10px;font-size:13px}.btn.block{justify-content:center;width:100%}.bar{background:var(--panel-strong);border-radius:3px;height:6px;overflow:hidden}.bar i{background:var(--ok);height:100%;display:block}.tag{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.t-none{background:var(--panel-strong);color:var(--muted)}.t-errors{background:var(--danger-soft);color:var(--danger)}.t-solved{background:var(--accent-soft);color:var(--ok)}.t-hinted{background:var(--accent-mark);color:var(--ochre)}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);padding:8px 10px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 10px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr.click{cursor:pointer}tr.click:hover td{background:#1e46360a}tr.low td{background:#fdf3f1}.mono{font-family:var(--font-mono)}.table-card{padding:0 6px;overflow-x:auto}.search{border:1px solid var(--border);background:var(--surface);width:100%;font:15px var(--font-text);border-radius:4px;padding:9px 12px}select.role-select{font:14px var(--font-text);border:1px solid var(--border);background:#fff;border-radius:3px;padding:4px 6px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filters .search{max-width:340px}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:18px;display:flex;overflow-x:auto}.tabs a,.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;text-decoration:none}.tabs .on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.banner{border-radius:4px;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:14px;padding:12px 16px;display:flex}.banner>div{flex:1;min-width:200px}.banner.err{background:var(--danger-soft);color:var(--danger);border:1px solid #e6b8b0}.banner.ok{background:var(--accent-soft);color:var(--ok);border:1px solid #b8d6c4}.banner.note{background:var(--accent-mark);color:var(--ochre);border:1px solid #e3cfa6;margin:0 0 16px}.kpi{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.kpi .card{padding:14px 16px}.kpi b{font-family:var(--font-display);font-size:28px;font-weight:600;display:block}.kpi span{color:var(--muted);font-size:13px}.task{overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ochre-line);white-space:pre-line;border-radius:4px;padding:14px 18px;line-height:1.65}.task.mono{font-family:var(--font-mono)}.split{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:22px;display:grid}.side{background:var(--surface);border:1px solid var(--border);border-radius:4px;max-height:calc(100vh - 90px);padding:16px;position:sticky;top:70px;overflow:auto}.side .head{justify-content:space-between;align-items:center;display:flex}.close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:20px}.dict-row{border-bottom:1px solid var(--border);padding:8px 0;font-size:14px}.dict-row b{font-family:var(--font-mono)}.sheet-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.sheet{--lh:40px;--c1:76px;--c3:170px;--pad:12px;background:var(--sheet);border:1px solid var(--border);border-radius:4px;margin-top:16px;padding:8px 0 12px;position:relative}.sheet .hdr,.sheet .ln{grid-template-columns:var(--c1) minmax(0, 1fr) var(--c3);display:grid}.sheet .hdr{font:600 11px var(--font-text);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:4px}.sheet .hdr span{padding:0 var(--pad)}.sheet .ln{height:var(--lh);border-bottom:1px solid var(--rule)}.sheet .cell{height:100%;position:relative}.sheet .cell:first-child{border-right:2px solid var(--margin-rule)}.sheet .cell:nth-child(2){border-right:1px solid var(--rule)}.sheet input{width:100%;height:100%;padding:10px var(--pad) 0;font:17px var(--font-mono);color:#1f2a44;background:0 0;border:0;outline:none}.sheet input:focus{background:#b07d2b12}.sheet .cell:first-child input{color:var(--accent);font-weight:700}.sheet .ln.cont .cell:nth-child(2) input,.sheet .ln.cont .overlay{padding-left:calc(var(--pad) + 4ch)}.sheet .ln.cont .cell:nth-child(2):before{content:"↳";left:calc(var(--pad) + 1ch);color:#b9c6d2;pointer-events:none;font-size:13px;position:absolute;top:12px}.sheet .ln.good{background:#f3f9f5}.sheet .ln.bad{background:#fdf3f1}.sheet .cell.dose-bad{background:#fbe3df}.sheet .overlay{padding:10px var(--pad) 0;font:17px var(--font-mono);white-space:pre;pointer-events:none;color:#1f2a44;position:absolute;inset:0;overflow:hidden}.sheet.checked .cell:nth-child(2) input{color:#0000;caret-color:#1f2a44}.sheet mark{color:var(--danger);-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);background:#f3c9c2;border-radius:2px}.sheet .measure{visibility:hidden;white-space:pre;font:17px var(--font-mono);position:absolute}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:8px;font-size:13px;display:flex}.compare td{font-family:var(--font-mono)}.compare .bad{color:var(--danger)}.compare .good{color:var(--ok)}.center{max-width:480px;margin:0 auto;padding-top:80px}.center .card{padding:32px}footer.site{text-align:center;color:var(--muted);padding:24px 16px 32px;font-size:12px}footer.site a{color:var(--muted)}@media (width<=900px){.split{grid-template-columns:minmax(0,1fr)}.side{z-index:30;border-radius:0;max-height:none;position:fixed;inset:56px 0 0}.kpi{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.top{gap:8px;padding:8px 14px}.top nav{margin-left:4px}.top nav a{padding:6px 7px;font-size:14px}.brand small,.brand-name,.user .role,.user .name{display:none}.top nav{gap:0}main{padding:16px 14px 32px}h1{font-size:24px}.sheet{--lh:36px;--c1:46px;--c3:78px;--pad:6px}.sheet input,.sheet .overlay,.sheet .measure{font-size:14px}.sheet input,.sheet .overlay{padding-top:10px}}tr.locked td{color:var(--muted)}.lock-tag{color:var(--ochre);background:var(--accent-mark);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.lock-overlay{z-index:40;background:#171a1659;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.lock-card{width:100%;max-width:460px;box-shadow:0 10px 30px #0000001f}.lock-card p{margin:0 0 18px}.lock-card .seal{color:#8e2b22;display:block}.lock-card h2{margin-top:12px}.lock-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=640px){.lock-tag{white-space:normal;text-align:center;border-radius:6px;flex-direction:column;gap:2px;max-width:92px;padding:4px 6px;font-size:11px;line-height:1.25}}.app-account{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;margin:0 0 10px;padding-bottom:10px;display:flex}.app-account .toggle{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.app-account input[type=time]{font:inherit;align-self:flex-start}.app-account p{margin:4px 0 0}
