:root{--accent: #0f766e;--bg: #f8fafc;--fg: #0f172a;--muted: #64748b;--line: #e2e8f0;--danger: #b91c1c;--maxw: 720px;--formw: 520px;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;color:var(--fg);background:var(--bg)}*{box-sizing:border-box}body{margin:0}.app{max-width:var(--maxw);margin:0 auto;padding:0 16px 96px}header.top{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--accent);color:#fff;position:sticky;top:0;z-index:10}header.top a{color:#fff;text-decoration:none;font-weight:600}header.top .spacer{flex:1}h1{font-size:1.25rem;margin:20px 0 12px}h2{font-size:1.05rem;margin:24px 0 8px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}.card a{color:inherit;text-decoration:none;display:block}.row{display:flex;align-items:center;gap:8px}.muted{color:var(--muted);font-size:.85rem}.overdue{color:var(--danger);font-weight:600}.badge{font-size:.75rem;padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#334155}.badge.line{background:#dcfce7;color:#166534}.badge.decided{background:#e0e7ff;color:#3730a3}.badge.voting{background:#fef3c7;color:#92400e}button,.btn{font:inherit;padding:8px 14px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}button.ghost{background:#fff;color:var(--accent)}button:disabled{opacity:.5;cursor:default}input,textarea,select{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}label{display:block;margin:10px 0 4px;font-size:.85rem;color:var(--muted)}.error{color:var(--danger);margin:8px 0}.notice{background:#fff7ed;border:1px solid #fed7aa;padding:10px 12px;border-radius:8px;margin:12px 0}.center{text-align:center;padding:48px 0}ul.plain{list-style:none;padding:0;margin:0}.unread{display:inline-block;min-width:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:#fff;color:var(--accent);font-size:.75rem;text-align:center;font-weight:700}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-head{text-align:center;font-size:.8rem;color:var(--muted);padding:4px 0;background:#fff;border:1px solid var(--line)}.cal-cell{min-height:64px;background:#fff;border:1px solid var(--line);padding:2px;font-size:.75rem}.cal-cell.today{border-color:var(--accent);border-width:2px}.cal-day{color:var(--muted);font-size:.7rem}.cal-task{display:block;margin-top:2px;padding:2px 4px;border-radius:4px;background:#ccfbf1;color:#115e59;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-task.overdue{background:#fee2e2;color:#991b1b}.cal-event{display:block;margin-top:2px;padding:2px 4px;border-radius:4px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:768px){:root{--maxw: 900px}ul.plain{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;align-items:start}ul.plain>.card{margin-bottom:0}ul.plain>p{grid-column:1 / -1}form.card{max-width:var(--formw)}.cal-cell{min-height:96px}}@media(min-width:1120px){:root{--maxw: 1040px}header.top{padding-left:max(16px,calc((100% - var(--maxw)) / 2));padding-right:max(16px,calc((100% - var(--maxw)) / 2))}header.top a:hover{text-decoration:underline}.card a:hover strong{text-decoration:underline}ul.plain{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}
