:root{--ground:#eef0f3;--slip:#fff;--slip-pink:#fff1f3;--slip-blue:#eef4ff;--ink:#0f172a;--ink-2:#3f4a5a;--rule:#c9ced8;--tear:#aab2bf;--primary:#1e3a8a;--primary-ink:#fff;--primary-soft:#dbe5ff;--stamp:#6d28d9;--ok:#047857;--ok-soft:#dcf5ea;--warn:#92400e;--warn-soft:#fdecc8;--bad:#b91c1c;--bad-soft:#fde2e1;--radius:10px;--mono:ui-monospace, "SF Mono", "Roboto Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.16, 1, .3, 1);color:var(--ink);background:var(--ground);-webkit-text-size-adjust:100%;accent-color:var(--primary);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}@media (prefers-color-scheme:dark){:root{--ground:#0e131c;--slip:#171e2b;--slip-pink:#2a1a22;--slip-blue:#17223a;--ink:#eef1f6;--ink-2:#b4bccb;--rule:#2f3a4d;--tear:#455269;--primary:#8fb0ff;--primary-ink:#0b1430;--primary-soft:#1f2d52;--stamp:#c4a5ff;--ok:#5fd3a3;--ok-soft:#12322a;--warn:#f6c46d;--warn-soft:#3a2c12;--bad:#ff8f87;--bad-soft:#3d1b1b}}*{box-sizing:border-box}html{scrollbar-color:var(--tear) transparent}body{background:var(--ground);margin:0}::selection{background:var(--primary-soft);color:var(--ink)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}h1{letter-spacing:-.01em;margin:0;font-size:1.5rem;line-height:1.2}h2{margin:24px 0 8px;font-size:1.05rem}p{margin:0 0 8px}a{color:var(--primary);text-underline-offset:3px}.page{max-width:720px;margin:0 auto;padding:0 12px 104px}.appbar{z-index:5;background:var(--slip);border-bottom:2px dashed var(--tear);margin:0 -12px 12px;padding:12px 16px 10px;position:sticky;top:0}.appbar .row{flex-wrap:nowrap}.appbar .who{color:var(--ink-2);font-size:.82rem}.appbar h1{color:var(--primary)}.back{color:var(--primary);background:0 0;border:0;align-items:center;gap:4px;min-height:36px;padding:0;font-weight:600;display:inline-flex}nav.bottom{z-index:10;background:var(--slip);border-top:1px solid var(--rule);padding:4px 4px calc(4px + env(safe-area-inset-bottom));justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}nav.bottom a{max-width:144px;color:var(--ink-2);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 2px;font-size:.74rem;font-weight:600;text-decoration:none;display:flex}nav.bottom a[aria-current=page]{color:var(--primary);background:var(--primary-soft)}nav.bottom .dot{background:var(--bad);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;margin-left:18px;padding:0 5px;font-size:.7rem;line-height:18px;position:absolute}nav.bottom .ic-wrap{display:flex;position:relative}.icon{flex:none;width:22px;height:22px}.days{gap:6px;margin-top:10px;display:flex}.days button{flex:1;min-height:40px;font-size:.92rem}.days button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.days .pick{flex:none;position:relative}.days .pick button{place-items:center;width:48px;padding:0;display:grid}.days .pick input{opacity:0;pointer-events:none;min-height:0;margin:0;position:absolute;inset:0}.card,.slip{background:var(--slip);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:10px;padding:14px;position:relative}.slip.pink{background:var(--slip-pink)}.slip.blue{background:var(--slip-blue)}.card.tap,.slip.tap{cursor:pointer;transition:transform .16s var(--ease), box-shadow .16s var(--ease)}.card.tap:active,.slip.tap:active{transform:scale(.99)}@media (hover:hover){.card.tap:hover,.slip.tap:hover{box-shadow:0 2px 10px #0f172a14}}.slip-head{justify-content:space-between;align-items:baseline;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.slip-sub{color:var(--ink-2);margin:2px 0 8px;font-size:.86rem}.ref{font-family:var(--mono);color:var(--ink-2);font-size:.9rem;font-weight:600}.tear{border:0;border-top:2px dashed var(--tear);margin:12px -14px}.weigh{border-collapse:collapse;width:100%;margin:4px 0;font-size:.95rem}.weigh td{border-bottom:1px dotted var(--tear);padding:4px 0}.weigh td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.weigh tr.net td{color:var(--primary);border-bottom:0;padding-top:6px;font-size:1.15rem;font-weight:800}.weigh tr.over td:last-child{color:var(--warn);font-weight:700}.stamp{letter-spacing:.08em;text-transform:uppercase;color:var(--stamp);white-space:nowrap;background:0 0;border:2px solid;border-radius:4px;padding:1px 7px;font-size:.72rem;font-weight:800;display:inline-block;transform:rotate(-6deg)}.stamp.ok{color:var(--ok)}.stamp.warn{color:var(--warn)}.stamp.bad{color:var(--bad)}.stamp.plain{color:var(--ink-2)}.slip .stamp.corner{position:absolute;top:40px;right:12px}.plate{font-family:var(--mono);letter-spacing:.04em;border:1.5px solid var(--ink);background:var(--slip);border-radius:4px;padding:0 6px;font-size:.86rem;font-weight:700;display:inline-block}.steps{gap:4px;margin:10px 0 4px;display:flex}.steps li{text-align:center;color:var(--ink-2);flex:1;font-size:.7rem;font-weight:600;list-style:none}.steps li:before{content:"";background:var(--rule);border-radius:3px;height:6px;margin-bottom:4px;display:block}.steps li.done:before{background:var(--primary)}.steps li.now{color:var(--primary)}.steps li.now:before{background:repeating-linear-gradient(90deg, var(--primary) 0 6px, var(--primary-soft) 6px 10px)}.steps{padding:0}.figures{grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 12px;display:grid}.figures div{background:var(--slip);border:1px solid var(--rule);border-radius:var(--radius);padding:8px 10px}.figures b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.3rem;display:block}.figures small{color:var(--ink-2);font-size:.78rem}.stats{font-family:var(--mono);font-variant-numeric:tabular-nums;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px;font-size:.9rem;display:grid}.stats small{color:var(--ink-2);font-family:system-ui,sans-serif;font-size:.72rem;display:block}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.muted{color:var(--ink-2);font-size:.9rem}.stack>*+*{margin-top:10px}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=360px){.grid2{grid-template-columns:1fr}}.section-title{justify-content:space-between;align-items:center;margin:22px 2px 8px;display:flex}.section-title h2{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:.82rem}.empty{text-align:center;color:var(--ink-2);border:2px dashed var(--rule);border-radius:var(--radius);padding:28px 16px}.empty strong{color:var(--ink);margin-bottom:4px;display:block}label{color:var(--ink-2);font-size:.86rem;font-weight:600;display:block}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--slip);border:1px solid var(--tear);border-radius:8px;min-height:48px;margin-top:4px;padding:11px 12px;font-weight:400;display:block}input[type=number]{font-family:var(--mono);font-variant-numeric:tabular-nums}input::placeholder{color:var(--ink-2);opacity:.8;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}input:focus,select:focus,textarea:focus{outline:3px solid var(--primary-soft);border-color:var(--primary)}button{font:inherit;cursor:pointer;border:1px solid var(--tear);background:var(--slip);min-height:48px;color:var(--ink);transition:background .15s var(--ease), transform .15s var(--ease);border-radius:8px;padding:0 16px;font-weight:700}button:active:not(:disabled){transform:translateY(1px)}button.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary);width:100%}button.danger{color:var(--bad)}button.small{min-height:38px;padding:0 12px;font-size:.9rem}button:disabled{opacity:.5;cursor:not-allowed}button[aria-busy=true]{opacity:.7;cursor:progress}.actions{flex-wrap:wrap;gap:8px;display:flex}button.toggle{align-items:center;gap:4px;display:inline-flex}button.toggle[aria-pressed=true]{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.actions>.primary{flex:1;width:auto}.badge{background:var(--rule);color:var(--ink);border-radius:999px;padding:2px 9px;font-size:.76rem;font-weight:700;display:inline-block}.badge.good{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.error{background:var(--bad-soft);color:var(--bad);border-radius:8px;margin:8px 0;padding:10px 12px;font-weight:600}.notice{background:var(--ok-soft);color:var(--ok);border-radius:8px;margin:8px 0;padding:10px 12px;font-weight:600}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tabs button{flex:auto;min-height:40px}.tabs button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--rule);padding:8px 6px}td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.scroll-x{overflow-x:auto}dialog.sheet{background:var(--slip);width:100%;max-width:720px;max-height:92vh;color:var(--ink);border:0;border-radius:16px 16px 0 0;margin:auto auto 0;padding:0;box-shadow:0 -6px 24px #0f172a2e}dialog.sheet[open]{animation:sheet-in .26s var(--ease)}dialog.sheet::backdrop{background:#0f172a73}.sheet-head{z-index:1;background:var(--slip);border-bottom:2px dashed var(--tear);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex;position:sticky;top:0}.sheet-head h2{margin:0;font-size:1.1rem}.sheet-body{padding:14px 16px calc(18px + env(safe-area-inset-bottom))}@keyframes sheet-in{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.toast{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:20;background:var(--ink);max-width:560px;color:var(--slip);animation:sheet-in .22s var(--ease);border-radius:10px;margin:0 auto;padding:12px 14px;font-weight:600;position:fixed;box-shadow:0 6px 20px #0f172a40}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
