:root{--paper:#dfe6dc;--surface:#f4f7f1;--ink:#162019;--muted:#4e5c54;--pine:#215445;--pine-2:#16382e;--line:#c3cec2;--danger:#922c2c;--amber:#7a4e10;--touch:44px;--nav:64px;--header:56px;--radius:16px;--font:"Segoe UI", "Avenir Next", "Helvetica Neue", sans-serif;--serif:Palatino, "Palatino Linotype", "Iowan Old Style", Georgia, serif;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:17px;line-height:1.45}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0}a{color:var(--pine);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{min-height:var(--touch);min-width:var(--touch);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;padding:0 14px}button.primary{background:var(--pine);color:#f4f7f1;border-color:var(--pine)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button.ghost{background:0 0}input,select,textarea{width:100%;min-height:var(--touch);border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px}input[type=checkbox],input[type=radio]{width:auto;min-width:22px;min-height:22px}:focus-visible{outline:3px solid var(--pine);outline-offset:2px}.card.focus{border-color:var(--pine);box-shadow:0 0 0 2px color-mix(in srgb, var(--pine) 35%, transparent)}textarea{resize:vertical;min-height:120px}label{color:var(--muted);margin:12px 0 6px;font-size:.85rem;display:block}.app-header{z-index:20;height:var(--header);background:color-mix(in srgb, var(--paper) 92%, white);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 12px 0 16px;display:flex;position:sticky;top:0}.app-header h1{margin:0;font-size:1.05rem;font-weight:650}.brand{align-items:baseline;gap:8px;min-width:0;display:flex}.version{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:0;font-size:.75rem}.gear{width:var(--touch);height:var(--touch);color:var(--ink);background:0 0;border:0;place-items:center;display:grid}main.page{padding:16px 16px calc(var(--nav) + 88px);max-width:920px;margin:0 auto}.nav{height:var(--nav);background:var(--surface);border-top:1px solid var(--line);z-index:30;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav a{color:var(--muted);min-height:var(--touch);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.7rem;display:flex}.nav a.active{color:var(--pine);font-weight:650}.fab{right:16px;bottom:calc(var(--nav) + 16px);width:var(--touch);height:var(--touch);background:var(--pine);color:#f4f7f1;z-index:40;border:0;border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 8px 20px #16382e47}.sheet-backdrop{z-index:50;background:#16201973;position:fixed;inset:0}.sheet{z-index:51;background:var(--surface);padding:16px 16px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;max-height:88vh;position:fixed;bottom:0;left:0;right:0;overflow:auto}.tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.tabs button.active{background:var(--pine);color:#f4f7f1;border-color:var(--pine)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 10px;padding:14px}.empty{text-align:center;color:var(--muted);padding:28px 8px}.toast{background:var(--pine-2);color:#f4f7f1;z-index:60;border-radius:999px;padding:10px 16px;font-size:.92rem;position:fixed;top:12px;left:50%;transform:translate(-50%)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:var(--touch);border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 14px}.chip.on{background:var(--pine);color:#f4f7f1;border-color:var(--pine)}.chip:has(input:checked){background:var(--pine);color:#f4f7f1;border-color:var(--pine)}.row{align-items:center;gap:8px;display:flex}.grow{flex:1}.date-hero{font-family:var(--serif);letter-spacing:-.03em;margin:4px 0 18px;font-size:clamp(2.2rem,10vw,3.4rem);line-height:1.05}.muted{color:var(--muted)}.error{color:var(--danger);margin:8px 0}.stack{gap:10px;display:grid}.seg{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.login-wrap{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;width:min(420px,100%);padding:28px 22px}.login-card h1{font-family:var(--serif);margin:0 0 8px;font-size:2rem}@media (width>=640px){.kanban{grid-template-columns:repeat(3,1fr);align-items:start;gap:12px;display:grid}}
