:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f1;--surface:#fbfcfa;--ink:#17201b;--muted:#5c6a62;--line:#dde3dc;--accent:#2f6f5a;--accent-ink:#fff;--chip:#e4ece6;--danger:#b3392f;--wash:#eaf0ea;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101512;--surface:#171e19;--ink:#e8eee9;--muted:#9aa99f;--line:#28332c;--accent:#5db596;--accent-ink:#0c1410;--chip:#1f2b24;--danger:#e0746a;--wash:#1b251f}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans);margin:0}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent)}.shell{max-width:680px;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}.top{align-items:center;gap:12px;padding:8px 0 14px;display:flex}.top h1{font:600 22px/1.1 var(--serif);letter-spacing:.01em;margin:0}.top .spacer{flex:1}.linkish{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px 4px;font-size:14px}.tabs{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs a{text-align:center;color:var(--muted);flex:1;padding:14px 4px;font-size:14px;font-weight:500;text-decoration:none}.tabs a.router-link-exact-active{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}@media (width>=720px){.shell{padding-bottom:48px}.tabs{background:0 0;border:0;gap:4px;margin-bottom:12px;padding:0;position:static}.tabs a{border-radius:999px;flex:none;padding:8px 14px}.tabs a.router-link-exact-active{background:var(--chip);box-shadow:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row .grow{flex:1}.muted{color:var(--muted)}.small{font-size:13.5px}.err{color:var(--danger)}.empty{text-align:center;color:var(--muted);padding:28px 12px}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;min-height:44px;padding:0 18px;font-weight:500}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn:disabled{opacity:.5;cursor:default}.btn.block{width:100%}.btn.small{min-height:36px;padding:0 12px;font-size:14px}textarea,input[type=text],input[type=password],input[type=date],select{border:1px solid var(--line);background:var(--bg);border-radius:12px;width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px 12px;font-size:16px}textarea{resize:none;line-height:1.5;font-family:var(--serif);font-size:17px}textarea:focus,input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label.field{min-width:0;color:var(--muted);flex-direction:column;gap:4px;font-size:13.5px;display:flex}input[type=date]{appearance:none;text-align:left;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.5em;margin:0}.pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pair label.field{min-width:0}.combo{position:relative}.tagmenu{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000038}.tagmenu li{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 12px;display:flex}.tagmenu li.on,.tagmenu li:hover{background:var(--chip)}.tagmenu li.create{color:var(--accent);font-weight:500}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--chip);color:var(--ink);border:0;border-radius:999px;align-items:center;gap:4px;padding:4px 11px;font-size:14px;display:inline-flex}button.chip{cursor:pointer}.chip .x{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0 0 0 2px;font-size:15px;line-height:1}.chip.ghost{border:1px dashed var(--line);color:var(--muted);background:0 0}.chip.on{background:var(--accent);color:var(--accent-ink)}.entry{flex-direction:column;gap:8px;display:flex}.entry .when{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.entry .when .spacer{flex:1}.entry .text{font:17px/1.55 var(--serif);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.dayhead{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 2px 8px;font-size:13px}.seg{border:1px solid var(--line);background:var(--surface);border-radius:12px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;min-height:40px;color:var(--muted);background:0 0;border:0;padding:0 14px;font-weight:500}.seg button.on{background:var(--chip);color:var(--ink)}.login{place-items:center;min-height:100dvh;padding:20px;display:grid}.login form{flex-direction:column;gap:12px;width:min(380px,100%);display:flex}.login h1{font:600 28px/1.1 var(--serif);margin:0 0 4px}.topic h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.topic p,.overview p{font-family:var(--serif);white-space:pre-wrap;margin:8px 0 0;font-size:17px;line-height:1.55}.notice{background:var(--wash);border-radius:12px;padding:10px 14px;font-size:14.5px}.todo{align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.todo .box{border:2px solid var(--muted);cursor:pointer;width:28px;height:28px;color:var(--accent-ink);background:0 0;border-radius:50%;flex:none;place-items:center;margin:8px 0 0;font-size:16px;line-height:1;display:grid;position:relative}.todo .box:after{content:"";position:absolute;inset:-9px}.todo .box.on{background:var(--accent);border-color:var(--accent)}.todo .body{flex-direction:column;flex:1;gap:4px;min-width:0;padding:6px 0;display:flex}.todo .label{text-align:left;cursor:pointer;font:17px/1.4 var(--sans);overflow-wrap:anywhere;background:0 0;border:0;padding:0}.todo.finished .label{color:var(--muted);text-decoration:line-through}.due{background:var(--chip);color:var(--muted);border-radius:999px;align-self:flex-start;padding:2px 9px;font-size:13px}.due.late{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.due.today{background:var(--accent);color:var(--accent-ink)}.todo-edit{flex-direction:column;flex:1;gap:8px;min-width:0;padding:4px 0;display:flex}
