:root{--paper:#f3f0e8;--sheet:#faf8f4;--ink:#1c1915;--ink-soft:#4a453d;--ink-faint:#7a7368;--rule:#1c191524;--rule-strong:#1c191552;--inset:#ece7dc;--plate:#e7e1d4;--ok:#1f4d3a;--warn:#8a4b12;--danger:#8e2f24;--font-sans:var(--font-sans-loaded), "IBM Plex Sans JP", "Hiragino Sans", "Noto Sans CJK JP", "Noto Sans JP", sans-serif;--font-mincho:var(--font-mincho-loaded), "Shippori Mincho", "Hiragino Mincho ProN", "Noto Serif CJK JP", "Yu Mincho", serif}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.5}h1,h2,.brand-name{font-family:var(--font-mincho);letter-spacing:-.02em;text-wrap:balance;font-weight:600}h1{margin:0;font-size:28px;line-height:1.25}h2{margin:0;font-size:22px;line-height:1.3}p{text-wrap:pretty;margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:active{transform:scale(.98)}:focus{outline:none}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.topbar{z-index:5;background:var(--paper);border-bottom:1px solid var(--rule);align-items:center;gap:18px;min-height:56px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:8px;text-decoration:none;display:flex}.brand-kicker{letter-spacing:.14em;color:var(--ink-faint);margin:0;font-size:11px;font-weight:600}.brand-name{font-size:20px}.nav{gap:2px;display:flex}.nav a{color:var(--ink-soft);border-radius:4px;padding:6px 8px;text-decoration:none}.nav a[aria-current=page]{color:var(--ink);font-weight:600}.spacer{margin-left:auto}.who{color:var(--ink-faint);font-size:12px}.signout{color:var(--ink-soft);background:0 0;border:0;min-height:36px;padding:0 8px}main{width:min(1120px,100% - 56px);margin:0 auto;padding:28px 0 72px}.kicker{letter-spacing:.08em;color:var(--ink-faint);margin-bottom:6px;font-size:12px}.lede{color:var(--ink-soft);margin-top:8px}.meta{color:var(--ink-faint);font-size:12px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.page-actions,.stack,.filter,.confirm-actions{gap:8px;display:flex}.stack{flex-direction:column;align-items:stretch;margin-top:20px}.filter{align-items:center;margin-bottom:12px}.filter input,.filter select{background:var(--sheet);width:auto}.filter input[type=search],.filter input[name=q]{width:min(280px,100%)}.button,button{background:var(--ink);min-height:36px;color:var(--paper);border:0;border-radius:4px;justify-content:center;align-items:center;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}button.quiet,a.quiet{color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule-strong);background:0 0}button.danger{color:var(--danger);background:0 0;box-shadow:inset 0 0 0 1px #8e2f2473}button:disabled{opacity:.55;cursor:progress}.shelf{flex-direction:column;gap:12px;margin-top:28px;display:flex}.book{background:var(--sheet);border-radius:6px;grid-template-columns:8px 1fr auto;align-items:center;gap:16px;padding:18px 18px 18px 0;text-decoration:none;display:grid}.book .spine{background:var(--ink);border-radius:6px 0 0 6px;align-self:stretch;width:8px}.book:hover{background:#fffdf8}.book p{color:var(--ink-soft);margin-top:4px;font-size:13px}.count{font-variant-numeric:tabular-nums;font-size:28px;font-weight:500;line-height:1}.count .unit{color:var(--ink-faint);margin-left:2px;font-size:12px;font-weight:400}.warn{color:var(--warn)}.sheet{background:var(--sheet);border-radius:6px;overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--ink-faint);border-bottom:1px solid var(--rule);padding:10px 12px;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:11px 12px}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#1c191506}.num,.money{font-variant-numeric:tabular-nums}.plate{background:var(--plate);font-family:var(--font-sans);letter-spacing:.04em;font-variant-numeric:tabular-nums;border-radius:2px;padding:2px 6px;font-size:12px;font-weight:500;text-decoration:none;display:inline-block}.name-link{font-weight:500;text-decoration:none}.name-link:hover{text-decoration:underline}.stamp{letter-spacing:.06em;border:1px solid;border-radius:2px;padding:1px 6px 2px;font-size:11px;line-height:1.5;display:inline-block}.stamp[data-tone=ok]{color:var(--ok)}.stamp[data-tone=neutral]{color:var(--ink-soft)}.stamp[data-tone=warn]{color:var(--warn)}.stamp[data-tone=faint]{color:var(--ink-faint)}.stamp[data-tone=danger]{color:var(--danger)}.soon{color:var(--warn);margin-left:6px;font-size:12px}.empty{color:var(--ink-soft);padding:28px 12px}.note{color:var(--ink-faint);margin-top:10px;font-size:12px}.inline-sm{display:none}.form-grid{grid-template-columns:1fr 1fr;gap:16px 20px;margin-top:22px;display:grid}.wide{grid-column:1/-1}.field{flex-direction:column;gap:6px;display:flex}.field .label{color:var(--ink-soft);font-size:12px;font-weight:500}.req{color:var(--ink-faint);margin-left:6px;font-weight:400}input,select,textarea{background:var(--inset);border:0;border-radius:4px;width:100%;min-height:36px;padding:8px 10px}textarea{resize:vertical;min-height:104px}.field-error,.form-error{color:var(--danger);font-size:12px}.form-error{margin-top:12px}.saved{color:var(--ok);margin-top:12px}.check{flex-direction:row;align-items:center;gap:8px;min-height:36px}.check input{width:16px;min-height:16px}.form-actions{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.danger-zone{border-top:1px solid var(--rule);margin-top:36px;padding-top:16px}dialog{background:0 0;border:0;padding:0}dialog::backdrop{background:#1c19156b}.confirm{background:var(--sheet);width:min(420px,100vw - 32px);box-shadow:0 0 0 1px var(--rule);border-radius:8px;padding:20px}.confirm p{margin-bottom:16px}.confirm-actions{justify-content:flex-end}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(26rem,100%)}.login-card h1{font-size:40px}.login-card p{color:var(--ink-soft);margin-top:12px}.login-card form{margin-top:22px}.login-card button,.login-card .button{width:100%}pre{background:var(--inset);border-radius:4px;margin:12px 0 0;padding:12px 14px;font-size:12px;line-height:1.55;overflow:auto}.prose{flex-direction:column;gap:22px;max-width:68ch;display:flex}.prose h2{font-size:20px}.prose p,.prose li{color:var(--ink-soft)}.prose ol{margin:8px 0 0;padding-left:1.2em}@media (max-width:760px){.topbar{flex-wrap:wrap;gap:4px 12px;padding:8px 16px}.who{display:none}main{width:auto;margin:0 16px;padding-top:20px}.page-head,.filter,.form-actions{flex-wrap:wrap;align-items:stretch}.filter input[name=q]{width:100%}.form-grid{grid-template-columns:1fr}.ledger thead{display:none}.ledger,.ledger tbody{display:block}.ledger tr{border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr auto;grid-template-areas:"id name status""user user user";gap:4px 8px;padding:12px;display:grid}.ledger td{border:0;padding:0;display:block}.ledger td.hide-sm{display:none}.cell-id{grid-area:id}.cell-lead{grid-area:1/1/auto/3}.cell-name{grid-area:name}.cell-status{grid-area:status;justify-self:end}.cell-user{color:var(--ink-soft);grid-area:user;font-size:12px}.hide-sm{display:none}.inline-sm{display:inline}.book{grid-template-columns:8px 1fr}.count{grid-column:2}}@media (prefers-reduced-motion:reduce){button:active{transform:none}}
