@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-SemiBold.ttf)format("truetype")}:root{--bg:#fff;--surface:#faf8f2;--fg:#16130a;--muted:#6b6250;--line:#e8e0cf;--accent:#f0a908;--accent-strong:#c98606;--on-accent:#16130a;--danger:#b3261e;--ok:#0a5c36;--radius:14px;--radius-s:9px;--tap:44px;--font:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}::selection{background:var(--accent);color:var(--on-accent)}body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.5}:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.topbar{background:var(--fg);color:#fff;z-index:10;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:.6rem;margin-right:auto;font-weight:600;text-decoration:none;display:inline-flex}.brand img{object-fit:contain;background:#fff;border-radius:10px;width:36px;height:36px;padding:2px}.nav{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.nav a{color:#fff;min-height:var(--tap);border-radius:var(--radius-s);align-items:center;padding:.55rem .8rem;text-decoration:none;display:inline-flex}.nav a[aria-current=page]{background:var(--accent);color:var(--on-accent);font-weight:600}.btn-logout{color:#fff;border-radius:var(--radius-s);min-height:var(--tap);font:inherit;cursor:pointer;background:0 0;border:1px solid #fff5;padding:.4rem .8rem}.container{max-width:960px;margin:0 auto;padding:1.25rem 1rem 4rem}.container>h1{letter-spacing:-.02em;margin:.5rem 0 1.25rem;font-size:1.5rem}button,.btn{font:inherit;min-height:var(--tap);border-radius:var(--radius-s);border:1px solid var(--line);color:var(--fg);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);border-color:var(--accent-strong);color:var(--on-accent);font-weight:600}.btn-danger{border-color:var(--danger);color:var(--danger);background:#fff}button:disabled,.btn-disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;min-height:var(--tap);border-radius:var(--radius-s);border:1px solid var(--line);color:var(--fg);background:#fff;width:100%;padding:.55rem .7rem}input::placeholder{color:var(--muted);opacity:1}label{gap:.3rem;font-weight:600;display:grid}.form{gap:1rem;max-width:560px;display:grid}.form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.hint{color:var(--muted);font-size:.9rem;font-weight:400}.error{color:var(--danger);font-weight:600}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1rem}.stack{gap:1rem;display:grid}.list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.list a{color:inherit;text-decoration:none}.row{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.badge{border:1px solid var(--line);background:var(--surface);min-height:28px;color:var(--fg);border-radius:999px;align-items:center;padding:.1rem .6rem;font-size:.85rem;font-weight:600;display:inline-flex}.badge-draft{background:#fff}.badge-done,.badge-completed{background:var(--accent);border-color:var(--accent-strong);color:var(--on-accent)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:.7rem .8rem}th{background:var(--surface);font-size:.85rem}.empty{border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);background:var(--surface);padding:2rem 1rem}.cover{object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);width:100%;max-height:220px}
