@font-face{font-family:Emilys Handwriting;src:url(/assets/EmilysHandwriting-Regular-BZUnahIv.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;size-adjust:115%}:root{--ink: #17160f;--line: #17160f;--paper: #ffffff;--bg: #f5f3ee;--muted: #a09d94;--hair: #d8d5cc;--highlight: #b6f299;--frame: 2.5px;--font-chrome: Nunito, system-ui, sans-serif;--font-content: "Emilys Handwriting", cursive}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-chrome);font-size:14px;-webkit-font-smoothing:antialiased}#root{height:100%}button{font-family:inherit}.app{height:100%;min-height:620px;display:flex;flex-direction:column;gap:14px;padding:14px 20px 10px}.pill{font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:#ffe9a8;border-radius:999px;padding:3px 9px}.week{flex:0 0 clamp(180px,28vh,280px);display:grid;grid-template-columns:repeat(5,1fr);gap:var(--frame);background:var(--line);border:var(--frame) solid var(--line);min-height:0}.lower{flex:1 1 auto;display:grid;grid-template-columns:1.55fr 1fr;gap:16px;min-height:0}.grid{display:grid;gap:var(--frame);background:var(--line);border:var(--frame) solid var(--line);min-height:0}.grid-classes{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.grid-categories{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.day,.box{background:var(--paper);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.day.is-today{background:#fffdf2}.day-head{flex:0 0 auto;display:flex;align-items:baseline;gap:6px;padding:5px 9px 4px;border-bottom:2px solid var(--line)}.day-name{margin-right:auto;font-family:var(--font-chrome);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.01em}.day-date{font-size:11px;color:#7c7a71}.is-today .day-date{color:var(--ink);font-weight:600}.box-head{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:7px 9px 2px}.box-title{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-chrome);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.01em;padding:0;color:var(--ink)}.box-title::placeholder{color:var(--hair)}.swatch{flex:none;width:13px;height:13px;padding:0;border:1px solid rgba(0,0,0,.18);border-radius:3px;background:none;cursor:pointer;opacity:.4;transition:opacity .12s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.box:hover .swatch{opacity:1}.swatch::-webkit-color-swatch-wrapper{padding:0}.swatch::-webkit-color-swatch{border:none;border-radius:2px}.head-btn{flex:none;border:none;background:none;padding:2px 3px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);cursor:pointer;opacity:0;transition:opacity .12s ease}.box:hover .head-btn,.day:hover .head-btn,.head-btn:focus-visible{opacity:1}.head-btn:hover{color:var(--ink)}.clear-btn.is-armed{opacity:1;color:#d1483f;font-weight:600}.list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:5px 8px 4px}.list-filler{flex:1 1 auto;min-height:24px;cursor:text;padding:3px 4px}.list-hint{font-size:12px;color:var(--hair);opacity:0;transition:opacity .12s ease}.box:hover .list-hint,.day:hover .list-hint{opacity:1}.row{display:grid;grid-template-columns:15px minmax(0,1fr) 17px;align-items:start;gap:5px;padding:1px 0}.row.depth-1{padding-left:15px}.row-lead{display:flex;justify-content:center}.dot{width:11px;height:11px;margin-top:5px;padding:0;border-radius:50%;border:1.5px solid transparent;background:var(--hair);cursor:pointer}.dot.dot-empty{background:transparent;border-color:var(--hair)}.bullet{width:4px;height:4px;margin-top:8px;border-radius:50%;background:#cbc8bf}.sub-arrow{font-size:11px;line-height:1.9;color:#8f8c83}.row-body{position:relative;min-width:0}.row-text{display:inline;font-family:var(--font-content);font-size:13.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;padding:1px 2px}.is-done .row-text{background-image:linear-gradient(101deg,#b6f29900 .4%,#b6f299f2 2.4%,#aef08dd9 96%,#b6f29900 99.6%);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:1px}.row-input{display:block;width:100%;border:none;outline:none;resize:none;overflow:hidden;background:transparent;color:inherit;font-family:var(--font-content);font-size:13.5px;line-height:1.5;padding:1px 2px}.is-done .row-input{background:#b6f29999;border-radius:2px}.check{width:16px;height:16px;margin-top:3px;padding:0;border:1.5px solid var(--hair);border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .12s ease}.row:hover .check,.check:focus-visible{opacity:1}.check svg{width:10px;height:10px;fill:none;stroke:#bcb9b0;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.is-done .check{background:#67c545;border-color:#67c545}.is-done .check svg{stroke:#fff}.picker{position:absolute;z-index:30;top:100%;left:-20px;margin-top:4px;min-width:138px;padding:4px;background:var(--paper);border:1.5px solid var(--line);border-radius:7px;box-shadow:0 10px 24px #00000029}.picker-option{display:flex;align-items:center;gap:7px;width:100%;padding:4px 6px;border:none;border-radius:4px;background:none;font-size:12px;text-align:left;cursor:pointer;color:var(--ink)}.picker-option:hover{background:#f2f1ec}.picker-swatch{flex:none;width:10px;height:10px;border-radius:50%}.picker-swatch-none{border:1.5px solid var(--hair)}.picker-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hints{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;color:#a8a59d}kbd{font-family:inherit;font-size:10px;border:1px solid var(--hair);border-radius:3px;padding:1px 4px;margin-right:3px;background:var(--paper);color:#85827a}.list::-webkit-scrollbar{width:7px}.list::-webkit-scrollbar-thumb{background:#e2dfd7;border-radius:4px}.list::-webkit-scrollbar-track{background:transparent}@media (max-width: 1040px){.lower{grid-template-columns:1fr}.app{height:auto;min-height:100%}.grid-classes,.grid-categories{grid-auto-rows:minmax(140px,auto)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;background:#17160f57}.modal{width:min(560px,100%);max-height:100%;overflow-y:auto;background:var(--paper);border:var(--frame) solid var(--line);border-radius:10px;box-shadow:0 18px 44px #00000038;outline:none}.modal-head{display:flex;align-items:center;gap:8px;padding:9px 10px 8px 14px;border-bottom:2px solid var(--line)}.modal-title{margin-right:auto;font-family:var(--font-chrome);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.03em}.modal-close{border:none;background:none;padding:0 4px;font-size:20px;line-height:1;color:var(--muted);cursor:pointer}.modal-close:hover{color:var(--ink)}.font-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--frame);background:var(--hair)}.font-col{background:var(--paper);padding:11px 12px 12px;min-width:0}.font-col-title{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.font-col-note{margin:2px 0 9px;font-size:11px;color:var(--muted)}.font-options{display:flex;flex-direction:column;gap:1px}.font-option{display:block;width:100%;padding:6px 9px;border:1.5px solid transparent;border-radius:6px;background:none;color:var(--ink);font-size:15px;text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.font-option:hover{background:#f2f1ec}.font-option.is-selected{border-color:var(--line);background:var(--highlight)}@media (max-width: 560px){.font-cols{grid-template-columns:1fr}}
