@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0900-097F,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0900-097F,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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;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{display:flex;align-items:center;gap:14px;padding:10px 28px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:21px;font-weight:600;color:var(--text);text-decoration:none}.brand small{font:12px var(--font-text);color:var(--muted)}.top nav{display:flex;gap:4px;margin-left:18px}.top nav a{padding:6px 12px;border-radius:3px;color:var(--muted);text-decoration:none}.top nav a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.user{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-size:13px;font-weight:600;border:0;cursor:pointer}.role{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--accent-mark);color:var(--ochre);font-weight:600;white-space:nowrap}.menu{position:absolute;right:20px;top:52px;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:12px;min-width:220px;box-shadow:0 6px 20px #00000014;z-index:20}.menu p{margin:0 0 10px;font-size:13px;color:var(--muted)}main{max-width:1120px;margin:0 auto;padding:26px 28px 40px}main.wide{max-width:1240px}h1{font-family:var(--font-display);font-weight:600;font-size:30px;margin:0 0 6px;line-height:1.2}h2{font-family:var(--font-display);font-weight:600;font-size:21px;margin:0 0 10px}.sub{color:var(--muted);margin:0 0 20px}.crumbs{color:var(--muted);font-size:13px;margin-bottom:8px}.crumbs a{text-decoration:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:20px}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.row-between{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:13px}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:4px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600;font-size:14px;cursor:pointer;text-decoration:none}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:transparent;color:var(--accent)}.btn.quiet{background:transparent;border-color:var(--border);color:var(--text)}.btn.quiet.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn.sm{padding:5px 10px;font-size:13px}.btn.block{width:100%;justify-content:center}.bar{height:6px;background:var(--panel-strong);border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;background:var(--ok)}.tag{display:inline-block;font-size:12px;padding:2px 8px;border-radius:10px;font-weight:600;white-space:nowrap}.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{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:8px 10px;border-bottom:1px solid var(--border)}td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}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{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);font:15px var(--font-text)}select.role-select{font:14px var(--font-text);padding:4px 6px;border:1px solid var(--border);border-radius:3px;background:#fff}.filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.filters .search{max-width:340px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}.tabs a,.tabs button{padding:8px 14px;color:var(--muted);text-decoration:none;border:0;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap}.tabs .on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.banner{border-radius:4px;padding:12px 16px;margin-top:14px;display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.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{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpi .card{padding:14px 16px}.kpi b{display:block;font-family:var(--font-display);font-size:28px;font-weight:600}.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);border-radius:4px;padding:14px 18px;white-space:pre-line;line-height:1.65}.task.mono{font-family:var(--font-mono)}.split{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.side{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:16px;position:sticky;top:70px;max-height:calc(100vh - 90px);overflow:auto}.side .head{display:flex;justify-content:space-between;align-items:center}.close{border:0;background:none;font-size:20px;color:var(--muted);cursor:pointer}.dict-row{padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.dict-row b{font-family:var(--font-mono)}.sheet-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.sheet{--lh: 40px;--c1: 76px;--c3: 170px;--pad: 12px;position:relative;margin-top:16px;background:var(--sheet);border:1px solid var(--border);border-radius:4px;padding:8px 0 12px}.sheet .hdr,.sheet .ln{display:grid;grid-template-columns:var(--c1) minmax(0,1fr) var(--c3)}.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{position:relative;height:100%}.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%;border:0;background:transparent;padding:10px var(--pad) 0;font:17px var(--font-mono);color:#1f2a44;outline:none}.sheet input:focus{background:#b07d2b12}.sheet .cell:first-child input{font-weight:700;color:var(--accent)}.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:"↳";position:absolute;left:calc(var(--pad) + 1ch);top:12px;color:#b9c6d2;font-size:13px;pointer-events:none}.sheet .ln.good{background:#f3f9f5}.sheet .ln.bad{background:#fdf3f1}.sheet .cell.dose-bad{background:#fbe3df}.sheet .overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:10px var(--pad) 0;font:17px var(--font-mono);white-space:pre;overflow:hidden;pointer-events:none;color:#1f2a44}.sheet.checked .cell:nth-child(2) input{color:transparent;caret-color:#1f2a44}.sheet mark{background:#f3c9c2;color:var(--danger);border-radius:2px;text-decoration:underline wavy var(--danger)}.sheet .measure{position:absolute;visibility:hidden;white-space:pre;font:17px var(--font-mono)}.legend{display:flex;gap:16px;color:var(--muted);font-size:13px;margin-top:8px;flex-wrap:wrap}.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);font-size:12px;padding:24px 16px 32px}footer.site a{color:var(--muted)}@media (max-width: 900px){.split{grid-template-columns:minmax(0,1fr)}.side{position:fixed;top:56px;right:0;bottom:0;left:0;max-height:none;border-radius:0;z-index:30}.kpi{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.top{padding:8px 14px;gap:8px}.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{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ochre);background:var(--accent-mark);padding:2px 8px;border-radius:10px;white-space:nowrap}.lock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#171a1659;display:grid;place-items:center;padding:16px;z-index:40}.lock-card{max-width:460px;width:100%;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{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 640px){.lock-tag{flex-direction:column;gap:2px;white-space:normal;text-align:center;font-size:11px;line-height:1.25;padding:4px 6px;border-radius:6px;max-width:92px}}.app-account{display:flex;flex-direction:column;gap:8px;margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.app-account .toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.app-account input[type=time]{font:inherit;align-self:flex-start}.app-account p{margin:4px 0 0}
