:root{--bg:#f6f4ef;--card:#fff;--ink:#1f2a30;--muted:#6b7680;--line:#e2ddd3;--accent:#2a6f6b;--accent-ink:#fff;--warn:#b8471f;--done:#eef2ee;--radius:14px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-text-size-adjust:100%;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,system-ui,sans-serif;font-size:17px;line-height:1.6}button,input,textarea{font:inherit;color:inherit}.screen{max-width:560px;padding:16px 16px calc(24px + env(safe-area-inset-bottom));min-height:100dvh;margin:0 auto}.center{text-align:center;flex-direction:column;justify-content:center;display:flex}.stack{flex-direction:column;gap:14px;display:flex}.row{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}h1{margin:0;font-size:1.35rem}h2{margin:18px 0 6px;font-size:1rem}.brand{text-align:center;margin-top:10vh;font-size:1.6rem}.brand+.muted{text-align:center;margin-top:-6px}.muted{color:var(--muted);margin:0}.small{font-size:.9rem}.error{color:var(--warn);margin:0;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.consent{font-size:1.05rem;line-height:1.8}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--muted);font-size:.9rem}.field input,.field textarea{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;font-size:1.05rem}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);border-color:#0000}.check{align-items:flex-start;gap:10px;display:flex}.check input{flex:none;width:22px;height:22px;margin-top:4px}.primary{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:12px;min-height:52px;padding:14px 18px;font-size:1.05rem;font-weight:700}.primary:disabled{opacity:.45;cursor:default}.link{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;min-height:44px;padding:10px 4px}.bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.period{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.due{color:var(--muted);font-size:.85rem;font-weight:400}.due.soon{color:var(--warn);font-weight:700}.person{text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;min-height:72px;display:flex}.person.done{background:var(--done);color:var(--muted);cursor:default}.avatar{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.person.done .avatar{background:#b9c4bf}.who{flex-direction:column;flex:1;display:flex}.who small{color:var(--muted);font-size:.85rem}.status{flex:none;font-size:.85rem}.progress{background:var(--line);border-radius:3px;height:6px;margin:6px 0 18px;overflow:hidden}.progress div{background:var(--accent);height:100%;transition:width .2s}.desc{margin:0;font-size:1.05rem}.scale{flex-direction:column;gap:10px;margin-top:6px;display:flex}.choice{background:var(--card);border:2px solid var(--line);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:14px;width:100%;min-height:56px;padding:10px 16px;display:flex}.choice b{width:28px;color:var(--accent);font-size:1.3rem}.choice.on{border-color:var(--accent);background:#e8f1f0}.choice.na{color:var(--muted);justify-content:center;margin-top:6px}.choice:active{transform:scale(.99)}.summary{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.summary li+li{border-top:1px solid var(--line)}.summary .link{width:100%;color:var(--ink);justify-content:space-between;padding:12px 16px;display:flex}.summary b{color:var(--accent)}@media (width>=600px){body{font-size:16px}.scale{grid-template-columns:1fr 1fr;display:grid}.choice.na{grid-column:1/-1}}.wide{max-width:1080px}.tabs{flex-wrap:wrap;gap:6px;margin:10px 0 16px;display:flex}.tabs button{background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:8px 14px}.tabs button.on{background:var(--accent);color:#fff;border-color:var(--accent)}table.grid{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;font-size:.95rem}table.grid th,table.grid td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}table.grid th{background:#f1ede5;font-weight:600}table.grid tr.warn td{background:#fff4ec}table.grid tr.pick{cursor:pointer}table.grid tr.pick:hover{background:#f4f8f7}table.grid tr.sel td{background:#e8f1f0}.cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=720px){.cols{grid-template-columns:1fr}}.pill{background:#eee;border-radius:999px;margin-right:4px;padding:2px 8px;font-size:.8rem;display:inline-block}.pill.ok{background:#e3f1e6}.pill.bad{background:#fde3d6}.notice{background:#fff4ec;border:1px solid #f3c9b1;border-radius:10px;padding:10px 14px}.secondary{background:var(--card);border:1px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:12px;padding:10px 16px}.secondary:disabled{opacity:.45;cursor:default}textarea.mono{font-family:ui-monospace,Consolas,monospace;font-size:.85rem}.avatar.photo{object-fit:cover;background:#ddd;border-radius:50%}.tiles{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;display:grid}.tile{background:var(--card);border:2px solid var(--line);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.tile strong{font-size:.95rem}.tile small{font-size:.75rem}.tile.on{border-color:var(--accent);background:#e8f1f0}.tile.static{cursor:default}.tile:disabled{opacity:.6;cursor:default}.link.small{min-height:0;font-size:.85rem}.bar .row{flex-wrap:wrap;justify-content:flex-end;gap:0 6px}details summary{cursor:pointer}
