*{box-sizing:border-box}body,html{margin:0}body{min-height:100vh;font-family:Geist,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;color:#0a0a0a;-webkit-font-smoothing:antialiased;background:linear-gradient(180deg,#fafafa,#f3f1ec) fixed}a{color:inherit}header.top{border-bottom:1px solid #e5e5e5;background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:5}.nav{max-width:1100px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.nav img{height:28px;display:block}.nav .who{font-size:13px;color:#737373;display:flex;gap:12px;align-items:center}main.wrap{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.narrow{max-width:760px}h1{font-size:30px;letter-spacing:-.03em;margin:0 0 6px}h2{font-size:18px;letter-spacing:-.01em;margin:0}.muted{color:#737373}.small{font-size:13px}.card{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:20px 22px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#0a0a0a;color:#fff;border:0;text-decoration:none;font:600 14px inherit;font-family:inherit;padding:10px 16px;border-radius:9px;cursor:pointer}.btn:hover{background:#262626}.btn.ghost{background:#fff;color:#0a0a0a;border:1px solid #d4d4d4}.btn.ghost:hover{background:#f5f5f5}.btn.sm{padding:6px 10px;font-size:13px}input,select,textarea{font:inherit;font-size:14px;border:1px solid #d4d4d4;border-radius:8px;padding:8px 10px;background:#fff;color:#0a0a0a}textarea{width:100%;min-height:38px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:600;color:#737373;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:10px 8px;border-bottom:1px solid #e5e5e5}td{padding:12px 8px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.bar{height:6px;background:#eee;overflow:hidden;min-width:90px}.bar,.bar i{border-radius:99px}.bar i{display:block;height:100%;background:#0a0a0a}.pill{display:inline-block;font-size:12px;font-weight:600;border-radius:99px;padding:3px 10px;border:1px solid #e5e5e5;background:#fafafa;color:#525252}.pill.done{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.pill.in_progress{background:#fffbeb;border-color:#f3e3a6;color:#8a6a10}.pill.over{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.tag{display:inline-block;font-size:12px;background:#f5f5f5;border:1px solid #e5e5e5;border-radius:6px;padding:2px 8px;margin:2px 4px 2px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px}.task{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #f0f0f0}.task:first-of-type{border-top:0}.dot{width:18px;height:18px;border-radius:50%;border:2px solid #d4d4d4;flex:none;margin-top:2px}.dot.done{background:#0a0a0a;border-color:#0a0a0a}.dot.in_progress{border-color:#c9a227}.next{border-left:3px solid #c9a227}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.note{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:8px 10px;font-size:13.5px;color:#404040;margin-top:6px}.center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}@media(max-width:700px){.hide-sm{display:none}main.wrap{padding:22px 16px 48px}}.trow{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.seg{display:inline-flex;border:1px solid #d4d4d4;border-radius:9px;overflow:hidden;background:#fff;flex:none}.seg button{font:inherit;font-size:13px;font-weight:500;padding:6px 12px;border:0;border-left:1px solid #e5e5e5;background:#fff;color:#525252;cursor:pointer}.seg button:first-child{border-left:0}.seg button:hover:not(.on){background:#f5f5f5}.seg button.on{background:#0a0a0a;color:#fff}.seg button:disabled{cursor:wait}.linkbtn{background:none;border:0;padding:4px 0;font:inherit;font-size:13px;color:#737373;text-decoration:underline;cursor:pointer}@media(max-width:700px){.seg{margin-left:30px}}.arow{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #f3f3f3}.arow:first-of-type{border-top:0}