:root{--bg:#FFFBF5;--card:#FFFFFF;--text:#5C5349;--text-sub:#9A9085;--accent:#E89072;--accent-dark:#C56F50;--accent-rgb:232,144,114;--line:#E6DECF;--line-warm:#F0E7DA;--bg-soft:#FBF8F2;--tint:#FDEFE7;--divider:#F2ECE3;--muted:#C9BEAE;--muted-2:#B0A695;--must:#E07A6B;--ok:#7FB98E;--teal:#4FBBB0;--vaccine:#E9BC3A;--warn-strong:#D9772E;--doc:#B0866E;--peach:#FFE3D9;--font:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6;padding:0 16px 48px;-webkit-tap-highlight-color:transparent}img{max-width:100%}.wrap{max-width:640px;margin:0 auto}button{font-family:var(--font);cursor:pointer;border:none;background:none;color:inherit;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease}button:not(:disabled):active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.card:hover{box-shadow:0 4px 14px rgba(0,0,0,.1);transform:translateY(-1px)}button.act:hover{box-shadow:0 3px 10px rgba(var(--accent-rgb),.35);transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}header{padding:22px 0 6px}.brand{display:flex;align-items:center;gap:10px}.brand svg{flex:none}h1{font-size:21px;font-weight:700;letter-spacing:.02em}.today{color:var(--text-sub);font-size:12.5px;margin-top:2px}.brand{position:relative}.logout-form{margin-left:auto}.logout{font-size:11.5px;color:var(--muted-2);border:1px solid var(--line);border-radius:999px;padding:3px 12px;background:var(--card)}.tabs{display:flex;gap:6px;margin-top:14px;border-bottom:1.5px solid var(--line-warm);padding-bottom:0}.tab{text-decoration:none;color:var(--muted-2);font-size:14px;font-weight:500;padding:6px 14px 8px;border-radius:10px 10px 0 0;position:relative;transition:transform .12s cubic-bezier(.34,1.56,.64,1)}.tab:active{transform:scale(.95)}.tab.on{color:var(--accent-dark);font-weight:700}.tab.on:after{content:"";position:absolute;left:10px;right:10px;bottom:-1.5px;height:3px;border-radius:2px;background:var(--accent)}.subtabs{display:flex;align-items:center;gap:6px;margin-top:16px}.subtabs .spacer{flex:1 1}.stab{text-decoration:none;color:var(--muted-2);font-size:13px;font-weight:500;background:var(--card);border:1px solid var(--line-warm);border-radius:999px;padding:4px 14px;transition:transform .12s cubic-bezier(.34,1.56,.64,1)}a.stab:active{transform:scale(.95)}.stab.on{background:var(--tint);color:var(--accent-dark);font-weight:700;border-color:transparent}.stab-mon{font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.login-wrap{justify-content:center;min-height:80vh}.login-card,.login-wrap{display:flex;align-items:center}.login-card{background:var(--card);border:1px solid var(--line-warm);border-radius:20px;padding:34px 28px;text-align:center;width:100%;max-width:340px;flex-direction:column;gap:8px}.login-card h1{font-size:19px}.login-note{font-size:13px;color:var(--text-sub)}.login-ng{font-size:12.5px;color:var(--must);font-weight:700}.login-form{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.login-form input{font-family:var(--font);font-size:16px;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg-soft);color:var(--text);text-align:center;outline:none}.login-form input:focus{border-color:var(--accent)}.login-form .act{background:var(--accent);color:#fff;font-weight:700;font-size:15px;border-radius:12px;padding:11px;box-shadow:0 2px 0 var(--accent-dark)}.stathero{background:var(--card);border:1px solid var(--line-warm);border-radius:16px;padding:16px 18px}.statbig{font-size:27px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.statbig span{font-size:13px;font-weight:500;color:var(--text-sub)}.statsub{font-size:12.5px;color:var(--text-sub);margin-top:4px}.delta{font-size:12px;font-weight:700;color:var(--muted-2)}.delta.up{color:var(--ok)}.delta.down{color:var(--must)}.tablebox{background:var(--card);border:1px solid var(--line-warm);border-radius:14px;overflow-x:auto}.tablebox table{width:100%;border-collapse:collapse;font-size:12.5px}.tablebox th{text-align:left;font-size:11px;font-weight:500;color:var(--muted-2);padding:9px 12px 6px}.tablebox td,.tablebox th{border-bottom:1px solid var(--divider);white-space:nowrap}.tablebox td{padding:8px 12px}.tablebox tr:last-child td{border-bottom:none}.tablebox .r{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tablebox .bad{color:var(--warn-strong);font-weight:700}.empty-note{margin-top:20px;font-size:13px;color:var(--muted-2)}.monthbars{display:flex;align-items:flex-end;gap:8px;background:var(--card);border:1px solid var(--line-warm);border-radius:14px;padding:14px 14px 10px}.mb{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.mb-bar{width:70%;max-width:34px;border-radius:6px 6px 2px 2px;background:var(--tint);border:1.5px solid var(--accent)}.mb:last-child .mb-bar{background:var(--accent)}.mb-v{font-size:9.5px;color:var(--muted-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.mb-l{font-size:10.5px;color:var(--text-sub);font-weight:500}.payrows{display:flex;flex-direction:column;gap:6px}.payrow{display:flex;justify-content:space-between;font-size:13px;gap:10px}.payrow b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.paytotal{font-size:25px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:10px}.post.overdue{border-color:var(--must);border-width:1.5px}.summary{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}.summary a{text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--line-warm);border-radius:999px;padding:5px 12px;font-size:12.5px;display:inline-flex;align-items:center;gap:6px;transition:transform .12s cubic-bezier(.34,1.56,.64,1)}.summary a:active{transform:scale(.96)}.summary .n{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dot{width:8px;height:8px;border-radius:50%;flex:none}section{margin-top:26px}.lane-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}.lane-h svg{flex:none}.lane-h h2{font-size:15.5px;font-weight:700}.lane-h .count{margin-left:auto;font-size:12px;font-weight:700;color:var(--accent-dark);background:var(--tint);border-radius:999px;padding:2px 10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lane-note{font-size:12px;color:var(--muted-2);margin:-6px 0 10px 28px}.cards{display:flex;flex-direction:column;gap:10px}.card{background:var(--card);border:1px solid var(--line-warm);border-radius:16px;padding:14px 16px;transition:box-shadow .18s ease,transform .18s ease}.card.mine{border-color:var(--accent);border-width:1.5px}.chiprow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.chip{font-size:11.5px;padding:2px 9px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--divider);color:var(--muted-2)}.chip.proj{color:var(--accent-dark);background:var(--tint);border-color:transparent;font-weight:500}.due{font-size:11.5px;padding:2px 9px;border-radius:999px;font-weight:700;color:#fff;background:var(--must)}.due.soft{background:var(--vaccine);color:#6B5410}.stale{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:2px 9px;border-radius:999px;font-weight:700;color:#fff;background:var(--warn-strong)}.card h3{font-size:15px;font-weight:700;line-height:1.5;text-wrap:balance}.next{display:flex;gap:7px;align-items:flex-start;margin-top:7px;font-size:13px;color:var(--text);background:var(--bg-soft);border-radius:10px;padding:7px 10px}.next svg{flex:none;margin-top:3px}.next b{font-weight:700}.next.empty{color:var(--warn-strong);background:#FBEEDD}.meta{align-items:center;gap:10px;margin-top:9px;font-size:11.5px;color:var(--muted-2)}.answers,.meta{display:flex;flex-wrap:wrap}.answers{gap:8px;margin-top:11px}button.act{background:var(--accent);color:#fff;font-weight:700;font-size:13.5px;border-radius:12px;padding:9px 16px;box-shadow:0 2px 0 var(--accent-dark)}button.act.ghost{background:var(--card);color:var(--accent-dark);box-shadow:none;border:1.5px solid var(--accent)}.map{margin-top:10px}.map-step,.map-track{display:flex;align-items:center}.map-step{flex:1 1;flex-direction:column;gap:4px;min-width:0}.map-dot{width:14px;height:14px;border-radius:50%;background:var(--divider);border:2.5px solid var(--divider);flex:none;position:relative;z-index:1}.map-step.done .map-dot{background:var(--ok);border-color:var(--ok)}.map-step.now .map-dot{background:var(--card);border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.25)}.map-label{font-size:10px;color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.map-step.now .map-label{color:var(--accent-dark);font-weight:700}.map-line{height:3px;flex:1 1;background:var(--divider);margin:0 -8px;position:relative;top:-8px}.map-line.done{background:var(--ok)}details{margin-top:10px;border-top:1px solid var(--divider);padding-top:8px}summary{font-size:12.5px;color:var(--muted-2);cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}summary::-webkit-details-marker{display:none}summary .tri{transition:transform .15s ease}details[open] summary .tri{transform:rotate(90deg)}.fusen{margin-top:8px;flex-direction:column}.fusen,.fusen li{display:flex;gap:8px}.fusen li{list-style:none;font-size:12.5px}.fusen time{flex:none;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:74px}.resv{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line-warm);border-radius:14px;padding:10px 14px}.resv time{flex:none;font-weight:700;font-size:13px;color:var(--teal);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:88px}.resv .what{font-size:13px;min-width:0}.resv .what small{display:block;color:var(--muted-2);font-size:11px}.snsband{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;background:var(--bg-soft);border:1px solid var(--line-warm);border-radius:12px;padding:9px 12px;font-size:12.5px}.snsband b{font-weight:700}.snsband .good{color:var(--ok)}.snsband .need{color:var(--warn-strong);font-weight:700}.days{gap:15px}.day,.days{display:flex;flex-direction:column}.day,.day-b{gap:6px}.day-b{display:flex;align-items:baseline;color:var(--muted-2);padding-left:2px}.day-b .dd{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.day-b .dw{font-size:11px}.day.today .day-b .dd,.day.today .day-b .dw{color:var(--accent-dark)}.day.today .day-b:after{content:"";width:22px;height:3px;border-radius:2px;background:var(--accent);align-self:center}.posts{display:flex;flex-direction:column;gap:7px}.post{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line-warm);border-radius:14px;padding:9px 11px;font-size:12.5px}.post.needwork{border-color:var(--warn-strong);border-style:dashed}.pt{object-fit:cover;background:var(--bg-soft);display:block}.ph,.pt{flex:none;width:58px;height:58px;border-radius:12px}.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9.5px;font-weight:700;letter-spacing:.04em}.ph svg{display:block}.ph-present{background:#EBDFF0;color:#9A7FAE}.ph-short{background:#F6D9E2;color:#C1738D}.ph-stamp{background:#E2EFDF;color:#7FA383}.ph-manga{background:#FFE3D9;color:#C56F50}.ph-illust{background:#DEEAF0;color:#7396A8}.pc{flex:1 1;min-width:0;flex-direction:column;gap:3px}.pc,.pr1{display:flex}.pr1{align-items:center;gap:8px}.ptime{flex:none;color:var(--muted-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:11.5px}.ptitle{font-weight:500;min-width:0;line-height:1.45}.pst{flex:none;font-size:10.5px;font-weight:700;border-radius:999px;padding:1.5px 8px}.pst.mada{background:#FBEEDD;color:var(--warn-strong)}.pst.crea{background:var(--bg-soft);color:var(--doc);border:1px solid var(--line)}.pst.wait{background:var(--tint);color:var(--accent-dark)}.pst.idea{background:var(--bg-soft);color:var(--muted-2);border:1px solid var(--divider)}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.mc{font-size:10.5px;font-weight:700;border-radius:999px;padding:1.5px 9px;background:var(--peach);color:var(--accent-dark)}.ck{margin-left:auto;display:flex}.deadline{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--doc);padding:4px 11px}.medialegend{font-size:11px;color:var(--muted-2);margin:-4px 0 10px 28px}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;background:var(--card);border:1px solid var(--line-warm);border-radius:16px;padding:10px;margin-top:16px}.cal-w{text-align:center;font-size:10.5px;color:var(--muted-2);padding:2px 0}.cal-w:first-child{color:#D98A8A}.cal-c{min-height:52px;border-radius:10px;padding:4px 3px 3px;display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:inherit;position:relative}.cal-c.has{background:var(--bg-soft)}.cal-c.has:active{transform:scale(.94)}.cal-d{font-size:12px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-sub);line-height:1.2}.cal-d.today{background:var(--accent);color:#fff;font-weight:700;width:20px;height:20px;border-radius:50%;align-items:center}.cal-d.today,.cal-dots{display:flex;justify-content:center}.cal-dots{flex-wrap:wrap;gap:2.5px;max-width:100%}.cd{width:6px;height:6px;border-radius:50%;flex:none}.cd.done{background:#CBDFD0}.cd.mada{background:var(--warn-strong)}.cd.rest{background:var(--accent)}.cd.flag{background:var(--doc);border-radius:2px}.cal-mada{position:absolute;top:2px;right:3px;font-size:9px;font-weight:700;color:#fff;background:var(--warn-strong);border-radius:999px;min-width:14px;height:14px;padding:0 3px;display:flex;align-items:center;justify-content:center}.backlink{display:flex;border-radius:50%}.donecard{display:flex;align-items:center;gap:9px;color:var(--muted-2);font-size:13px;padding:6px 4px}.donecard svg{flex:none}#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(16px);background:var(--text);color:#FFFBF5;font-size:13px;border-radius:12px;padding:10px 18px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1);max-width:88vw;text-align:center;z-index:50}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}footer{margin-top:36px;font-size:11.5px;color:var(--muted);text-align:center}