:root{color:#35423a;font-synthesis:none;text-rendering:optimizelegibility;--page:#f8faf7;--card:#fff;--ink:#17221b;--muted:#718077;--border:#dfe7e1;--green:#1f7a52;--green-dark:#155b3c;--green-soft:#dff3e7;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--shadow:0 16px 45px #1d362612;background:#f8faf7;font-family:Inter,ui-sans-serif,system-ui,sans-serif}body{background:var(--page);min-width:320px;min-height:100vh;margin:0}::selection{color:#fff;background:var(--green)}*{box-sizing:border-box}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;position:relative}.modal-backdrop{z-index:100;background:#00000059;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:20px;width:min(100%,480px);max-height:calc(100dvh - 40px);padding:32px;overflow-y:auto;box-shadow:0 24px 60px #0000002e}.modal-card h2{color:var(--ink);margin:0 0 8px;font-size:22px}.modal-card>p{color:var(--muted);margin:0 0 20px;line-height:1.6}.invite-link-row{gap:10px;margin-bottom:12px;display:flex}.invite-link-row input{background:var(--page);color:var(--ink);flex:1;font-size:13px}.invite-email-row{gap:10px;margin-bottom:6px;display:flex}.invite-email-row input{background:var(--page);color:var(--ink);flex:1;font-size:13px}.invite-hint{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.close-button{color:var(--muted);margin-top:8px;font-size:13px}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#f8faf7e6;justify-content:space-between;align-items:center;height:72px;padding:0 max(24px,50vw - 540px);display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:11px;font-weight:800;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--green);width:34px;height:34px;font-family:var(--mono);border-radius:11px;place-items:center;font-weight:800;display:inline-grid;box-shadow:0 6px 16px #1f7a5233}.brand-mark.large{border-radius:15px;width:50px;height:50px;font-size:24px}.header-actions{align-items:center;gap:10px;display:flex}.header-actions>*{box-sizing:border-box;height:34px}.header-actions .demo-pill,.header-actions .admin-pill,.header-actions .streak-pill,.header-actions .restore-token-pill,.header-actions .restore-progress-pill,.header-actions .restore-button{align-items:center;display:inline-flex}.avatar-button{width:38px;height:38px;color:var(--green-dark);background:#dce9e1;border:0;border-radius:50%;padding:0;font-weight:800;overflow:hidden}.avatar-button img{object-fit:cover;width:100%;height:100%;display:block}.avatar-menu-wrapper{position:relative}.avatar-menu{border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow);z-index:200;background:#fff;border-radius:14px;padding:14px;position:absolute;top:calc(100% + 10px);right:0}.avatar-menu-name{color:var(--ink);margin:0 0 2px;font-size:14px;font-weight:800}.avatar-menu-email{color:var(--muted);margin:0 0 10px;font-size:12px}.avatar-menu hr{border:none;border-top:1px solid var(--border);margin:0 0 10px}.avatar-menu button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;padding:6px 0;font-size:14px;font-weight:700}.avatar-menu button:hover{color:var(--green)}.demo-pill,.admin-pill,.done-badge,.pending-badge{border-radius:99px;padding:6px 10px;font-size:12px;font-weight:800}.demo-pill{color:#775b12;background:#fff3c7}.admin-pill{color:#31517a;background:#e6f0ff}.streak-pill{color:#7a2e0e;background:#ffe9da;border:1px solid #ffd0b0;border-radius:99px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.streak-pill strong{font-size:13px}.restore-button{color:#775b12;background:#fff3c7;border-color:#f4d98a}.restore-button:hover{background:#ffeaa8}.restore-token-pill,.restore-progress-pill{border-radius:99px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.restore-token-pill{color:#1f6f4a;background:#e3f7ec;border:1px solid #b6e6cd;justify-content:center;width:34px;padding:0;font-size:15px}.restore-progress-pill{color:#5b6472;background:#eef1f5;border:1px solid #dbe0e8}.info-pill{cursor:pointer;-webkit-tap-highlight-color:transparent;position:relative}.info-pill:after{content:attr(data-tooltip);z-index:20;color:#f4f6fa;text-align:left;opacity:0;visibility:hidden;pointer-events:none;background:#1f2430;border-radius:10px;width:min(260px,100vw - 32px);max-width:calc(100vw - 32px);padding:10px 12px;font-size:12px;font-weight:500;line-height:1.45;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px);box-shadow:0 8px 24px #0000002e}.info-pill.is-open:after{opacity:1;visibility:visible;transform:translateY(0)}@media (width<=560px){.info-pill:after{width:auto;max-width:none;position:fixed;top:64px;left:16px;right:16px}}main{width:min(100% - 40px,920px);margin:0 auto;padding:54px 0 80px}.hero-copy{max-width:620px;margin-bottom:30px}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:900}h1,h2,h3,p{margin-top:0}h1{color:var(--ink);letter-spacing:-.055em;margin-bottom:14px;font-size:clamp(38px,6vw,58px);line-height:1.04}.hero-copy>p:last-child{color:var(--muted);font-size:18px}.checkin-card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:22px;padding:28px;transition:all .2s}.checkin-card.is-complete{background:linear-gradient(135deg,#f5fcf7,#ecf8f0);border-color:#91cfad}.checkin-heading{align-items:center;gap:16px;margin-bottom:24px;display:flex}.checkin-heading h2,.section-heading h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:24px}.status-icon{background:var(--green);color:#fff;border-radius:50%;flex:0 0 46px;place-items:center;height:46px;font-size:25px;font-weight:900;display:grid}.checkin-form{gap:14px;display:grid}.checkin-field-links{gap:8px;display:grid}.checkin-field-links .link-label{color:var(--ink);font-size:13px;font-weight:800}.checkin-field-links .link-label span{color:var(--muted);font-weight:500}.link-field-row{align-items:center;gap:8px;display:flex}.link-remove{border:1px solid var(--border);width:42px;height:46px;color:var(--muted);cursor:pointer;background:#fff;border-radius:11px;flex:none;font-size:20px;line-height:1}.link-remove:hover{color:var(--ink);border-color:#cbd2dc}.link-add{color:var(--green);justify-self:start;font-weight:800;text-decoration:none}label{color:var(--ink);gap:7px;font-size:13px;font-weight:800;display:grid}label span{color:var(--muted);font-weight:500}input{border:1px solid var(--border);width:100%;height:46px;color:var(--ink);background:#fff;border-radius:11px;outline:none;padding:0 13px}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f7a521f}.button{border:0;border-radius:11px;min-height:42px;padding:0 18px;font-weight:850;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.65;cursor:wait}.button.primary{color:#fff;background:var(--green);height:46px;box-shadow:0 6px 14px #1f7a5233}.button.primary:hover{background:var(--green-dark)}.button.secondary{border:1px solid var(--border);color:var(--ink);background:#fff}.button.compact{min-height:38px;padding:0 14px;font-size:13px}.completion-row{background:#ffffffb3;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.completion-row strong,.completion-row a{display:block}.completion-row a{color:var(--green);margin-top:4px;font-size:13px}.completion-actions{flex:none;align-items:center;gap:14px;display:flex}.edit-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.text-button{color:var(--muted);background:0 0;border:0;text-decoration:underline}.toast{color:var(--green-dark);margin:14px 4px 0;font-size:14px;font-weight:700}.team-section{margin-top:52px}.team-switcher{flex-wrap:wrap;gap:8px;margin:26px 0 -8px;display:flex}.team-pill{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:99px;padding:8px 16px;font-size:13px;font-weight:800}.team-pill:hover{border-color:#cbd2dc}.team-pill.active{border-color:var(--green);color:var(--green-dark);background:var(--green-soft)}.readonly-note{background:var(--card)}.readonly-note-body{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.readonly-note-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.join-requests{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.join-requests h3{color:var(--ink);margin:0 0 12px;font-size:16px}.join-request-list,.join-team-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.join-request-row,.join-team-row{border:1px solid var(--border);background:var(--card);border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.join-request-info,.join-team-info{flex-direction:column;min-width:0;display:flex}.join-request-info strong,.join-team-info strong{color:var(--ink);font-size:14px}.join-request-info span,.join-team-info span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.join-request-actions{flex:none;align-items:center;gap:8px;display:flex}.button.primary.compact,.button.ghost.compact{height:36px;min-height:36px;padding:0 14px;font-size:13px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.team-heading-actions{align-items:center;gap:14px;display:flex}.button.primary.compact{height:38px;min-height:38px;padding:0 14px;font-size:13px}.score{color:var(--muted);font-size:14px}.score strong{color:var(--green);font-size:22px}.member-grid{gap:12px;display:grid}.member-card{border:1px solid var(--border);background:var(--card);border-radius:16px;align-items:center;min-height:86px;padding:16px 18px;display:flex}.member-card.complete{border-color:#b5dcc5}.member-avatar{width:48px;height:48px;color:var(--green-dark);background:#e5f0e9;border-radius:15px;place-items:center;font-weight:900;display:grid;overflow:hidden}.member-avatar img{object-fit:cover;width:100%;height:100%}.member-info{flex:1;min-width:0;padding:0 14px}.member-info h3{color:var(--ink);margin:0 0 4px;font-size:16px}.member-info h3 span{color:var(--muted);text-transform:uppercase;margin-left:8px;font-size:10px}.member-info p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;overflow:hidden}.done-badge{color:var(--green-dark);background:var(--green-soft)}.pending-badge{color:#746840;background:#f6f0d9}.member-actions{align-items:center;gap:8px;display:flex}.member-actions>*{box-sizing:border-box;justify-content:center;align-items:center;height:32px;display:inline-flex}.member-streak{color:#7a2e0e;background:#ffe9da;border:1px solid #ffd0b0;border-radius:99px;align-items:center;gap:3px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.member-streak.none{color:#8a92a0;background:#f2f4f7;border-color:#e2e6ec;font-weight:700}.nudge-button{color:#76530d;background:#fff8e8;border:1px solid #d6aa54;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:850}.history-button{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:850}.history-button:hover{border-color:#cbd2dc}.follow-button{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:850}.follow-button:hover{border-color:#cbd2dc}.follow-button.following{color:#1a56c4;background:#eef4ff;border-color:#8ab4f8}.follow-button:disabled{opacity:.6;cursor:default}.remove-button{color:#9f2d20;background:#fff3f1;border:1px solid #efb4ad;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:850}.remove-button:disabled{opacity:.65;cursor:wait}.manage-actions{margin:0 0 16px}.manage-member-list{gap:10px;max-height:320px;margin:0 0 4px;padding:0;list-style:none;display:grid;overflow-y:auto}.manage-member-row{border:1px solid var(--border);background:var(--card);border-radius:13px;align-items:center;gap:12px;padding:10px 12px;display:flex}.manage-member-avatar{color:#5b6472;background:#eef1f5;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:inline-flex;overflow:hidden}.manage-member-avatar img{object-fit:cover;width:100%;height:100%}.manage-member-info{flex-direction:column;flex:1;min-width:0;display:flex}.manage-member-info strong{color:var(--ink);font-size:14px}.manage-member-info span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.manage-you{color:var(--muted);font-weight:700}.manage-teams{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.manage-teams h3{color:var(--ink);margin:0 0 4px;font-size:16px}.manage-teams-hint{color:var(--muted);margin:0 0 14px;font-size:13px}.manage-teams-list{gap:12px;display:grid}.manage-teams-empty{color:var(--muted);margin:0 0 8px;font-size:13px}.manage-team-create{gap:8px;margin-bottom:16px;display:flex}.manage-team-create input{border:1px solid var(--border);border-radius:11px;flex:1;min-width:0;padding:9px 12px;font-size:14px}.manage-team{border:1px solid var(--border);background:var(--card);border-radius:13px;margin-bottom:12px;padding:12px 14px}.manage-team-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.manage-team-head strong{color:var(--ink);font-size:15px}.manage-team-head-actions{align-items:center;gap:10px;display:flex}.manage-team-members{gap:8px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.manage-team-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.manage-team-avatars{align-items:center;display:flex}.manage-team-avatar{border:2px solid var(--card);color:#5b6472;background:#eef1f5;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:-8px;font-size:11px;font-weight:800;display:inline-flex;overflow:hidden}.manage-team-avatar:first-child{margin-left:0}.manage-team-avatar img{object-fit:cover;width:100%;height:100%}.manage-team-avatar.more{color:#5b6472;background:#e2e6ec}.manage-team-empty-note{color:var(--muted);font-size:13px}.button.ghost.compact{border:1px solid var(--border);height:36px;min-height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;padding:0 14px;font-size:13px;font-weight:800}.button.ghost.compact:hover{border-color:#cbd2dc}.button.ghost.compact:disabled{opacity:.65;cursor:wait}.team-member-picker{gap:8px;max-height:380px;margin:0 0 4px;padding:0;list-style:none;display:grid;overflow-y:auto}.team-member-option{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:13px;align-items:center;gap:12px;padding:10px 12px;display:flex}.team-member-option.selected{border-color:var(--green);background:var(--green-soft)}.team-member-avatar{color:#5b6472;background:#eef1f5;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:inline-flex;overflow:hidden}.team-member-avatar img{object-fit:cover;width:100%;height:100%}.team-member-info{flex-direction:column;flex:1;min-width:0;display:flex}.team-member-info strong{color:var(--ink);font-size:14px}.team-member-info span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.team-member-option input[type=checkbox]{flex:none;width:20px;height:20px}.history-list{gap:10px;max-height:60vh;margin:0 0 4px;padding:0;list-style:none;display:grid;overflow-y:auto}.history-row{border:1px solid var(--border);background:var(--card);border-radius:13px;gap:14px;padding:12px 14px;display:flex}.history-date{width:92px;color:var(--muted);flex:none;padding-top:1px;font-size:12px;font-weight:800}.history-body{flex:1;min-width:0}.history-body strong{color:var(--ink);margin-bottom:4px;font-size:14px;display:block}.history-links{flex-wrap:wrap;gap:4px 14px;display:flex}.history-links a{color:var(--green);word-break:break-all;font-size:13px}.ack-card{text-align:center;max-width:400px}.ack-emoji{margin-bottom:12px;font-size:52px;line-height:1}.ack-check{color:#1f6f4a;background:#e3f7ec;border:2px solid #b6e6cd;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 14px;font-size:30px;font-weight:900;display:inline-flex}.ack-card>p{margin:0 auto 18px}.ack-streak{color:#7a2e0e;background:#ffe9da;border:1px solid #ffd0b0;border-radius:99px;align-items:center;gap:6px;margin:0 auto 22px;padding:8px 16px;font-size:15px;font-weight:800;display:inline-flex}.ack-card .button{width:100%}.whats-new-card{text-align:center;max-width:420px}.whats-new-eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:900}.whats-new-slide{flex-direction:column;justify-content:center;align-items:center;min-height:172px;display:flex}.whats-new-emoji{margin-bottom:12px;font-size:48px;line-height:1}.whats-new-slide h2{margin:0 0 8px}.whats-new-slide>p{max-width:340px;color:var(--muted);margin:0 auto;line-height:1.55}.whats-new-dots{justify-content:center;gap:8px;margin:18px 0;display:flex}.whats-new-dot{cursor:pointer;background:#d5dbe3;border:0;border-radius:50%;width:8px;height:8px;padding:0;transition:background .15s,transform .15s}.whats-new-dot.active{background:var(--green);transform:scale(1.25)}.whats-new-actions{justify-content:center;align-items:center;gap:12px;display:flex}.whats-new-actions .button.primary{min-width:120px}.nudge-banner{color:#5c4a20;background:#fff9e9;border:1px solid #ead39f;border-radius:13px;align-items:center;gap:12px;margin:-18px 0 30px;padding:14px 16px;font-size:13px;display:flex}.nudge-banner>div{flex:1;min-width:0}.nudge-dismiss{color:#8a7433;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;width:28px;height:28px;font-size:20px;line-height:1}.nudge-dismiss:hover{color:#5c4a20;background:#8a74331f}footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:24px;font-size:12px}.login-page{background:radial-gradient(circle at 50% 20%, #e5f3e9 0, transparent 38%), var(--page);place-items:center;width:100%;min-height:100vh;padding:28px;display:grid}.login-card{border:1px solid var(--border);width:min(100%,440px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:24px;padding:46px}.login-card .brand-mark{margin-bottom:20px}.login-card h1{font-size:42px}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}.auth-form{text-align:left;gap:10px;margin-top:16px;display:grid}.auth-form label{font-size:12px}.auth-submit{width:100%;margin-top:2px}.google-button{width:100%;margin:10px 0 6px}.auth-mode-toggle{color:var(--green);font-size:13px}.auth-toast{text-align:left;color:#b42318;background:#fff1f0;border:1px solid #fecdca;border-radius:10px;width:100%;margin:10px 0 2px;padding:9px 11px}.login-card small{color:var(--muted)}.loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}@media (width<=700px){.topbar{padding:0 18px}.demo-pill{display:none}main{width:min(100% - 28px,920px);padding-top:36px}.checkin-card{padding:22px 18px}.checkin-form{grid-template-columns:1fr}.section-heading{align-items:start;gap:16px}.section-heading h2{font-size:20px}.member-card{padding:14px}.member-actions{align-items:center;gap:6px}.member-actions .btn-label{display:none}.member-actions .history-button,.member-actions .follow-button,.member-actions .nudge-button{padding:7px 9px}.member-actions .done-badge,.member-actions .pending-badge{padding:6px 9px}.member-streak.none{display:none}.login-card{padding:34px 24px}}
