:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-bricolage:"Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-instrument:Georgia, "Times New Roman", Times, serif;--bg:#111217;--surface:#181a22;--surface2:#222632;--surface3:#2d3340;--border:#343a46;--border2:#48515f;--text:#f7f8fb;--text2:#b9bfca;--text3:#7e8796;--accent:#ff6b5c;--accent2:#ff9f95;--green:#35d39f;--red:#fb7185;--purple:#9b8cff;--orange:#f2a541;--pink:#f472b6;--blue:#60a5fa;--cyan:#22d3ee;--radius:14px;--radius-sm:8px;--radius-xs:6px;--app-bg:linear-gradient(180deg, color-mix(in srgb, var(--surface2) 46%, var(--bg)) 0px, var(--bg) 300px);--glow-1:none;--glow-2:none;--header-bg:color-mix(in srgb, var(--bg) 88%, transparent);--cal-header-bg:color-mix(in srgb, var(--bg) 92%, transparent);--cal-sticky-bg:color-mix(in srgb, var(--bg) 95%, transparent);--today-header-bg:color-mix(in srgb, var(--accent) 8%, var(--bg));--today-col-bg:color-mix(in srgb, var(--accent) 2%, var(--bg));--overlay-scrim:#0000008c;--event-hover-shadow:0 4px 20px #00000080;--notif-panel-shadow:0 12px 48px #00000080;--toast-shadow:0 8px 32px #00000080;--notif-unread-bg:color-mix(in srgb, var(--accent) 4%, var(--bg));--vis-chip-active-bg:color-mix(in srgb, var(--accent) 12%, var(--bg));--free-panel-bg:color-mix(in srgb, var(--green) 4%, var(--bg));--bottom-nav-bg:color-mix(in srgb, var(--surface) 92%, var(--bg));--drawer-overlay:#00000080;--auth-error-bg:color-mix(in srgb, var(--red) 12%, var(--bg));--busy-stripe:#5c64780f;--busy-border:#5c647826;--cell-border-b:#3d384859;--cell-border-r:#3d384833;--day-header-border:#3d384880;--free-slot-bg:color-mix(in srgb, var(--green) 10%, var(--bg));--free-slot-bg-hover:color-mix(in srgb, var(--green) 20%, var(--bg));--free-slot-border:color-mix(in srgb, var(--green) 40%, var(--bg));--toggle-knob-shadow:0 1px 3px #0000004d;--signout-border:color-mix(in srgb, var(--red) 20%, transparent);--tag-green-bg:color-mix(in srgb, var(--green) 12%, var(--bg));--tag-accent-bg:color-mix(in srgb, var(--accent) 12%, var(--bg));--tag-accent-soft:color-mix(in srgb, var(--accent) 10%, var(--bg));--tag-green-soft:color-mix(in srgb, var(--green) 8%, var(--bg));--notif-icon-avail:color-mix(in srgb, var(--green) 12%, var(--bg));--notif-icon-req:color-mix(in srgb, var(--accent) 12%, var(--bg));--free-toggle-on-bg:color-mix(in srgb, var(--green) 12%, var(--bg));--page-header-sticky-offset:67px;--cal-subheader-sticky-offset:164px;--mobile-section-gap:18px;--mobile-section-pad:16px;--mobile-control-gap:12px;--mobile-stack-gap:10px;accent-color:var(--accent)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f8fb;--surface:#fff;--surface2:#eef2f7;--surface3:#e3e9f1;--border:#d7e0ea;--border2:#bdcad8;--text:#151820;--text2:#505967;--text3:#7a8494;--accent:#ff6b5c;--accent2:#ffb3ab;--green:#059669;--red:#e11d48;--purple:#6d5bd6;--orange:#d97706;--pink:#db2777;--blue:#2563eb;--cyan:#0891b2;--app-bg:linear-gradient(180deg, #eef3f7 0px, var(--bg) 320px);--glow-1:none;--glow-2:none;--header-bg:color-mix(in srgb, var(--bg) 92%, transparent);--cal-header-bg:color-mix(in srgb, var(--bg) 94%, transparent);--cal-sticky-bg:color-mix(in srgb, var(--bg) 96%, transparent);--today-header-bg:color-mix(in srgb, var(--accent) 10%, var(--bg));--today-col-bg:color-mix(in srgb, var(--accent) 3%, var(--bg));--overlay-scrim:#1c191766;--event-hover-shadow:0 4px 20px #1c19171f;--notif-panel-shadow:0 12px 48px #1c19171f;--toast-shadow:0 8px 32px #1c19171f;--notif-unread-bg:color-mix(in srgb, var(--accent) 6%, var(--bg));--vis-chip-active-bg:color-mix(in srgb, var(--accent) 14%, var(--bg));--free-panel-bg:color-mix(in srgb, var(--green) 6%, var(--bg));--bottom-nav-bg:color-mix(in srgb, var(--surface) 94%, var(--bg));--drawer-overlay:#1c191759;--auth-error-bg:color-mix(in srgb, var(--red) 10%, var(--bg));--busy-stripe:#78716c14;--busy-border:#78716c33;--cell-border-b:#78716c47;--cell-border-r:#78716c2e;--day-header-border:#78716c59;--free-slot-bg:color-mix(in srgb, var(--green) 12%, var(--bg));--free-slot-bg-hover:color-mix(in srgb, var(--green) 22%, var(--bg));--free-slot-border:color-mix(in srgb, var(--green) 45%, var(--bg));--toggle-knob-shadow:0 1px 3px #1c191726;--signout-border:color-mix(in srgb, var(--red) 25%, transparent)}*{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body{background:var(--app-bg);color:var(--text);font-family:var(--font-bricolage), sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.app{flex-direction:column;min-height:100dvh;display:flex;position:relative}.app:before{content:"";background:var(--glow-1);pointer-events:none;z-index:0;width:600px;height:600px;display:none;position:fixed;top:-200px;left:-200px}.app:after{content:"";background:var(--glow-2);pointer-events:none;z-index:0;width:700px;height:700px;display:none;position:fixed;bottom:-300px;right:-200px}.header{padding:10px 14px;padding-top:max(10px, env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(24px);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.logo{align-items:center;gap:8px;min-width:0;display:flex}.header-drawer-btn{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.logo-icon{color:#0000;background:url(/brand/logo-kk-spine.svg) 50%/contain no-repeat;flex-shrink:0;width:34px;height:34px;font-size:0;line-height:0;display:block;overflow:hidden}.logo-text{font-family:var(--font-instrument), serif;font-size:20px}.header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.header-action-mobile-hidden{display:inline-flex}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:5px;padding:10px 16px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.btn:hover{background:var(--surface2);border-color:var(--border2)}.btn-accent{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn-accent:hover{background:var(--accent2)}.btn-green{background:var(--green);color:var(--bg);border-color:var(--green)}.btn-sm{border-radius:var(--radius-xs);min-height:36px;padding:6px 12px;font-size:11px}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface2)}.btn-icon{min-width:44px;padding:6px 8px}.layout{z-index:1;flex-direction:row;display:flex;position:relative}.sidebar{border-right:1px solid var(--border);width:272px;top:var(--page-header-sticky-offset);max-height:calc(100vh - var(--page-header-sticky-offset));flex-direction:column;flex-shrink:0;align-self:flex-start;display:none;position:sticky;overflow-y:auto}.sb-scroll{flex:1;padding:16px;overflow-y:auto}.main{min-width:0;padding-bottom:calc(82px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;display:flex}.activation-dashboard{border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface2) 42%, transparent), transparent);flex-direction:column;gap:14px;padding:18px 14px 16px;display:flex}.activation-hero{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.activation-copy{min-width:0;max-width:720px}.activation-pill{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));border-radius:var(--radius-xs);background:color-mix(in srgb, var(--accent) 9%, var(--surface));min-height:28px;color:var(--accent2);letter-spacing:0;align-items:center;gap:6px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.activation-copy h1{font-family:var(--font-instrument), serif;letter-spacing:0;margin:8px 0 6px;font-size:30px;line-height:.98}.activation-copy p{max-width:620px;color:var(--text2);font-size:14px;line-height:1.55}.activation-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.activation-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.activation-metric{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 86%, transparent);flex-direction:column;gap:2px;min-height:72px;padding:12px;display:flex}.activation-metric-value{color:var(--text);font-size:24px;font-weight:800;line-height:1}.activation-metric-label{color:var(--text3);letter-spacing:0;font-size:11px;font-weight:700}.activation-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.activation-step{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:78px;color:var(--text);cursor:pointer;font:inherit;text-align:left;align-items:center;gap:10px;padding:12px;text-decoration:none;transition:transform .15s,border-color .15s,background .15s;display:flex}.activation-step:hover{border-color:var(--border2);background:var(--surface2);transform:translateY(-1px)}.activation-step.complete{border-color:color-mix(in srgb, var(--green) 42%, var(--border));background:color-mix(in srgb, var(--green) 8%, var(--surface))}.activation-step.complete>svg{color:var(--green);flex-shrink:0}.activation-step-icon{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text);background:var(--surface2);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.activation-step-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.activation-step-title{color:var(--text);font-size:13px;font-weight:800;line-height:1.2}.activation-step-copy{color:var(--text2);font-size:11px;line-height:1.35}.sb-section{margin-bottom:24px}.sb-label{text-transform:uppercase;letter-spacing:1.8px;color:var(--text3);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:9px;font-weight:700;display:flex}.sb-label button{all:unset;cursor:pointer;opacity:.5;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:opacity .2s;display:inline-flex}.sb-label button:hover{opacity:1}.group-card{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:9px;margin-bottom:3px;padding:12px 14px;transition:all .15s;display:flex}.group-card:hover,.group-card.active{background:var(--surface2)}.group-card.active:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:20px;margin-left:-4px}.group-emoji{font-size:16px}.group-name{flex:1;font-size:13px;font-weight:600}.group-count{color:var(--text3);background:var(--surface3);border-radius:10px;padding:2px 7px;font-size:10px}.friend-row{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:9px;margin-bottom:1px;padding:10px 12px;transition:all .12s;display:flex}.friend-row:hover{background:var(--surface2)}.friend-avatar-wrap{position:relative}.friend-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.online-dot{background:var(--green);border:2px solid var(--bg);border-radius:50%;width:9px;height:9px;position:absolute;bottom:-1px;right:-1px}.friend-name{flex:1;font-size:12px;font-weight:500}.check-circle{border:2px solid var(--border2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;transition:all .15s;display:flex}.check-circle.checked{background:var(--accent);border-color:var(--accent);color:var(--bg)}.cal-toggle{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:9px;margin-bottom:3px;padding:7px 10px;transition:all .12s;display:flex}.cal-toggle:hover{background:var(--surface2)}.cal-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.cal-name{flex:1;font-size:12px;font-weight:500}.cal-vis-badge{background:var(--surface3);color:var(--text2);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600;transition:background .15s}.cal-vis-badge:hover{background:var(--border)}.cal-header{border-bottom:1px solid var(--border);top:var(--page-header-sticky-offset);background:var(--cal-header-bg);-webkit-backdrop-filter:blur(16px);z-index:50;flex-flow:column;justify-content:flex-start;align-items:flex-start;gap:8px;padding:10px 14px;display:flex;position:sticky}.cal-title{font-family:var(--font-instrument), serif;white-space:nowrap;font-size:18px}.cal-title-wrap{align-items:center;gap:8px;display:flex}.cal-week-nav{gap:6px;display:inline-flex}.cal-pills{gap:4px;display:flex}.cal-header-controls{flex-flow:column;justify-content:flex-start;align-items:flex-start;gap:10px;width:100%;display:flex}.cal-header-groups-row{flex-wrap:wrap;align-items:stretch;gap:8px;width:100%;display:flex}.cal-header-group{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 78%, transparent);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:7px 10px;display:flex}.cal-header-group-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--text3);white-space:nowrap;font-size:9px;font-weight:700}.cal-header-icons{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:3px;max-width:100%;display:flex}.pill{cursor:pointer;background:var(--surface);border:1px solid var(--border);color:var(--text2);border-radius:16px;padding:4px 12px;font-size:14px;font-weight:600;transition:all .2s}.pill.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.pill:hover:not(.active){background:var(--surface2)}.cal-grid{grid-template-columns:52px repeat(7,1fr);min-width:600px;display:grid}.cal-day-header{text-align:center;border-bottom:1px solid var(--border);border-right:1px solid var(--day-header-border);top:var(--cal-subheader-sticky-offset);background:var(--cal-sticky-bg);-webkit-backdrop-filter:blur(12px);z-index:40;padding:10px 6px;position:sticky}.cal-day-header.today{background:var(--today-header-bg)}.cal-day-name{color:var(--text3);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700}.cal-day-num{margin-top:1px;font-size:18px;font-weight:700}.cal-day-header.today .cal-day-num{color:var(--accent)}.cal-corner{border-bottom:1px solid var(--border);border-right:1px solid var(--day-header-border);top:var(--cal-subheader-sticky-offset);background:var(--cal-sticky-bg);z-index:41;position:sticky}.cal-time{text-align:right;color:var(--text3);border-right:1px solid var(--day-header-border);justify-content:flex-end;align-items:flex-start;height:56px;padding:2px 6px 0;font-size:9px;font-weight:600;display:flex}.cal-cell{border-bottom:1px solid var(--cell-border-b);border-right:1px solid var(--cell-border-r);cursor:pointer;height:56px;position:relative}.cal-cell.today-col{background:var(--today-col-bg)}.cal-cell.cal-cell-conflict{cursor:not-allowed}.cal-event{cursor:pointer;z-index:10;border-left:3px solid;border-radius:5px;padding:3px 6px;font-size:10px;font-weight:600;transition:transform .12s,box-shadow .12s;position:absolute;left:2px;right:2px;overflow:hidden}.cal-event:hover{box-shadow:var(--event-hover-shadow);z-index:20;transform:scale(1.03)}.cal-event .ev-title{white-space:nowrap;text-overflow:ellipsis;line-height:1.25;overflow:hidden}.cal-event .ev-time{opacity:.7;font-size:8px;font-weight:400}.cal-event .ev-cal-dot{border-radius:2px;width:6px;height:6px;position:absolute;top:3px;right:3px}.cal-event .joinable-badge{opacity:.7;justify-content:center;align-items:center;line-height:0;display:flex;position:absolute;bottom:3px;right:3px}.busy-block{background:repeating-linear-gradient(45deg, var(--busy-stripe), var(--busy-stripe) 3px, transparent 3px, transparent 6px);border:1px dashed var(--busy-border);z-index:2;border-radius:3px;position:absolute;left:2px;right:2px}.free-slot{background:var(--free-slot-bg);border:1px dashed var(--free-slot-border);z-index:5;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;left:2px;right:2px}.free-slot:hover{background:var(--free-slot-bg-hover)}.free-slot span{color:var(--green);font-size:9px;font-weight:700}.overlay{background:var(--overlay-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:440px;max-width:92vw;max-height:82vh;padding:24px;animation:.2s slideUp;overflow-y:auto}.modal-title{font-family:var(--font-instrument), serif;margin-bottom:3px;font-size:20px}.modal-sub{color:var(--text2);margin-bottom:18px;font-size:12px}.modal-section{margin-bottom:16px}.modal-label{color:var(--text3);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px;font-size:10px;font-weight:700}.modal-row{align-items:center;gap:10px;padding:7px 0;display:flex}.modal-row+.modal-row{border-top:1px solid var(--border)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);width:100%;color:var(--text);outline:none;padding:14px 16px;font-family:inherit;font-size:16px;transition:border-color .2s}.input:focus{border-color:var(--accent)}.input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);outline:none}.tag{border-radius:10px;align-items:center;gap:4px;padding:3px 9px;font-size:10px;font-weight:600;display:inline-flex}.notif-badge{background:var(--red);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-3px;right:-3px}.notif-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:360px;max-height:420px;box-shadow:var(--notif-panel-shadow);z-index:150;animation:.2s slideUp;position:absolute;top:42px;right:0;overflow-y:auto}.notif-item{border-bottom:1px solid var(--border);cursor:pointer;gap:12px;padding:14px 16px;transition:background .12s;display:flex}.notif-item:hover{background:var(--surface2)}.notif-item.unread{background:var(--notif-unread-bg)}.notif-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.notif-text{font-size:12px;font-weight:500;line-height:1.4}.notif-time{color:var(--text3);margin-top:3px;font-size:10px}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.free-panel{border-bottom:1px solid var(--border);background:var(--free-panel-bg);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.mini-avatars{display:flex}.mini-avatars>span{border:2px solid var(--bg);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-left:-5px;font-size:12px;display:flex}.mini-avatars>span:first-child{margin-left:0}.vis-chip{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text2);border-radius:12px;padding:4px 10px;font-size:10px;font-weight:600;transition:all .15s}.vis-chip.active{border-color:var(--accent);background:var(--vis-chip-active-bg);color:var(--accent)}.vis-chip:hover:not(.active){border-color:var(--border2)}.member-grid{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.member-chip{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:16px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.member-chip.selected{border-color:currentColor}.member-chip:hover{background:var(--surface2)}.toast{background:var(--surface2);border:1px solid var(--border);z-index:300;box-shadow:var(--toast-shadow);border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:12px;font-weight:600;animation:.25s slideUp;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.loading-spinner{border:3px solid var(--surface3);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:3px}.auth-page{min-height:100vh;padding:24px;padding-bottom:env(safe-area-inset-bottom,24px);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px}.auth-logo{align-items:center;gap:10px;margin-bottom:28px;display:flex}.auth-title{font-family:var(--font-instrument), serif;margin-bottom:4px;font-size:28px}.auth-sub{color:var(--text2);margin-bottom:28px;font-size:14px;line-height:1.5}.auth-socials{flex-direction:column;gap:10px;display:flex}.auth-social-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:10px;padding:13px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;display:flex}.auth-social-btn:hover{background:var(--surface2)}.auth-social-btn:active{transform:scale(.98)}.auth-divider{color:var(--text3);align-items:center;gap:14px;margin:24px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-oauth-hint{margin-top:-12px;margin-bottom:20px;font-size:13px}.auth-field{margin-bottom:12px}.auth-field .input{border-radius:10px;padding:14px 16px;font-size:16px}.auth-error{color:var(--red);background:var(--auth-error-bg);border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:500}.auth-submit{border-radius:10px;width:100%;margin-top:4px;padding:14px;font-size:15px}.auth-footer{text-align:center;color:var(--text3);margin-top:24px;font-size:13px;line-height:1.4}.auth-footer a{color:var(--accent);font-weight:600;text-decoration:none}.auth-footer-tight{margin-top:12px}.auth-footer-gap-sm{margin-top:18px}.auth-footer-muted{opacity:.85;font-size:12px}.auth-footer-legal{opacity:.8;margin-top:8px;font-size:12px}.mobile-header{padding:12px 16px;padding-top:calc(env(safe-area-inset-top,12px) + 12px);border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(24px);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-header-title{font-family:var(--font-instrument), serif;font-size:18px;font-weight:400}.bottom-nav{background:var(--bottom-nav-bg);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:110;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #00000059}[data-theme=light] .bottom-nav{box-shadow:0 -4px 24px #1c19171f}.bottom-nav-item{border-radius:var(--radius-sm);min-height:56px;color:var(--text2);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 4px;font-family:inherit;transition:color .15s,transform .12s,opacity .12s;display:flex;position:relative}.bottom-nav-item:active{opacity:.88;transform:scale(.96)}.bottom-nav-item.active{color:var(--accent)}a.bottom-nav-item{color:var(--text2);text-decoration:none}a.bottom-nav-item.active{color:var(--accent)}.bottom-nav-icon{min-height:28px;color:inherit;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.bottom-nav-icon svg,.header-actions svg,.notif-icon svg,.cal-vis-badge svg,.check-circle svg,.sb-label button svg{flex-shrink:0;display:block}.bottom-nav-icon svg{color:currentColor;opacity:1;width:26px;height:26px}.header-actions svg{color:var(--text);opacity:1}.notif-icon svg,.cal-vis-badge svg,.check-circle svg,.sb-label button svg{color:inherit}.bottom-nav-label{font-size:11px;font-weight:600}.bottom-nav-item .notif-badge{position:absolute;top:4px;right:calc(50% - 18px)}.settings-page{padding:16px;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px));max-width:600px;margin:0 auto}.settings-section{margin-bottom:var(--mobile-section-gap)}.settings-section-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text3);margin-bottom:14px;font-size:11px;font-weight:700}.settings-avatar-picker{align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.settings-current-avatar{background:var(--surface2);border:2px solid var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;display:flex}.settings-avatar-grid{flex-wrap:wrap;gap:6px;display:flex}.settings-avatar-option{cursor:pointer;background:var(--surface);-webkit-tap-highlight-color:transparent;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:all .15s;display:flex}.settings-avatar-option.active{border-color:var(--accent);background:var(--surface2)}.settings-field{margin-bottom:var(--mobile-control-gap)}.settings-actions-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-actions-row-end{align-items:flex-end}.settings-stack-mobile{flex-direction:column;gap:8px;max-width:420px;display:flex}.settings-label{color:var(--text2);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.settings-value{color:var(--text3);padding:10px 0;font-size:14px}.settings-select{appearance:none}.settings-textarea{resize:vertical;min-height:128px}.settings-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-calendar-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.settings-calendar-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px 14px}.settings-calendar-card-main{align-items:center;gap:12px;display:flex}.settings-calendar-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.settings-calendar-name{font-size:14px;font-weight:600}.settings-calendar-meta{color:var(--text3);text-transform:capitalize;margin-top:2px;font-size:11px}.settings-calendar-form{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px}.provider-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;transition:background .15s,border-color .15s;display:flex}.provider-option:hover{background:var(--surface2,var(--surface));border-color:var(--accent,var(--border))}.provider-option-icon{flex-shrink:0;font-size:22px;line-height:1}.provider-option-text{flex-direction:column;gap:2px;min-width:0;display:flex}.provider-option-name{font-size:14px;font-weight:600}.provider-option-desc{color:var(--text2);font-size:12px}.settings-toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--mobile-control-gap);padding:14px 0;display:flex}.settings-toggle-label{font-size:14px;font-weight:600}.settings-toggle-desc{color:var(--text3);margin-top:2px;font-size:11px}.settings-toggle{background:var(--surface3);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background .2s;position:relative}.settings-toggle.on{background:var(--accent)}.settings-toggle-knob{width:22px;height:22px;box-shadow:var(--toggle-knob-shadow);background:#fff;border-radius:50%;transition:transform .2s;position:absolute;top:3px;left:3px}.settings-toggle.on .settings-toggle-knob{transform:translate(20px)}.settings-signout{width:100%;color:var(--red);border-color:var(--signout-border);justify-content:center;padding:14px;font-size:14px}.settings-saving{color:var(--text3);background:var(--surface2);border-radius:8px;padding:6px 12px;font-size:12px;position:fixed;top:80px;right:16px}.event-place{color:var(--text2);align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.event-place a{color:var(--green);text-decoration:none}.drawer-overlay{background:var(--drawer-overlay);z-index:150;animation:.15s fadeIn;position:fixed;inset:0}.drawer{background:var(--surface);border-right:1px solid var(--border);z-index:151;width:300px;max-width:85vw;padding:16px;padding-top:calc(env(safe-area-inset-top,16px) + 16px);padding-bottom:calc(env(safe-area-inset-bottom,16px) + 16px);animation:.2s slideRight;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.drawer-quick-actions{margin-bottom:16px;display:none}.drawer-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.app-panel{padding:18px 16px}.app-panel-title{font-family:var(--font-instrument), serif;margin-bottom:18px;font-size:22px}.joinable-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.empty-state{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 88%, transparent);width:100%;min-height:240px;color:var(--text2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 18px;display:flex}.empty-state-start{min-height:300px}.empty-state-icon{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 9%, var(--surface));width:56px;height:56px;color:var(--accent2);border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));justify-content:center;align-items:center;display:inline-flex}.empty-state h2{color:var(--text);font-family:var(--font-instrument), serif;letter-spacing:0;margin:4px 0 0;font-size:24px;line-height:1.05}.empty-state p{max-width:440px;color:var(--text2);font-size:13px;line-height:1.55}.empty-state-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:4px;display:flex}.joinable-empty{grid-column:1/-1}.calendar-empty-callout{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 84%, transparent);justify-content:space-between;align-items:center;gap:14px;margin:14px;padding:12px;display:flex}.calendar-empty-callout strong,.calendar-empty-callout span{display:block}.calendar-empty-callout strong{color:var(--text);font-size:13px;line-height:1.3}.calendar-empty-callout span{color:var(--text2);margin-top:2px;font-size:12px;line-height:1.4}.calendar-empty-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.onboarding-list{gap:8px;margin:16px 0;display:grid}.onboarding-list div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:42px;color:var(--text2);align-items:center;gap:9px;padding:10px 12px;font-size:12px;line-height:1.35;display:flex}.onboarding-list svg{color:var(--green);flex-shrink:0}.onboarding-options{flex-direction:column;gap:8px;display:flex}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}button,.btn,.group-card,.friend-row,.cal-toggle,.member-chip,.vis-chip,.pill,.activation-step,.auth-social-btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (prefers-reduced-motion:reduce){.bottom-nav-item{transition:none}.bottom-nav-item:active{transform:none}.overlay,.modal,.drawer,.drawer-overlay,.notif-panel,.toast{animation:none!important}.activation-step{transition:none}.activation-step:hover{transform:none}}@media (min-width:769px){:root{--page-header-sticky-offset:58px;--cal-subheader-sticky-offset:108px}.header-drawer-btn{display:none}.header{padding:14px 24px;padding-top:max(14px, env(safe-area-inset-top,0px))}.header-actions{gap:8px}.logo-text{font-size:24px}.btn{min-height:0;padding:7px 14px}.btn-sm{min-height:0;padding:4px 10px}.btn-icon{min-width:0;padding:6px 8px}.friend-row{padding:6px 8px}.group-card{padding:9px 11px}.input{padding:9px 12px;font-size:13px}.settings-inline-grid{grid-template-columns:1fr}.sidebar{display:flex}.main{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.activation-dashboard{padding:22px 20px 18px}.activation-hero{align-items:center}.activation-copy h1{font-size:40px}.cal-header{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px}.cal-header-controls{align-items:flex-end;width:auto}.cal-header-groups-row{width:auto}.cal-grid{min-width:780px}.free-panel{padding:14px 20px}.drawer-overlay,.drawer{display:none!important}.header-action-mobile-hidden{display:inline-flex}.app-panel{padding:20px}.drawer-quick-actions{display:none!important}}@media (max-width:768px){:root{--page-header-sticky-offset:64px;--cal-subheader-sticky-offset:176px}.header{padding:10px 12px;padding-top:max(10px, env(safe-area-inset-top,0px))}.logo-text{font-size:18px}.header-actions{gap:6px}.header-action-mobile-hidden{display:none}.drawer-quick-actions{display:block}.activation-dashboard{gap:12px;padding:14px 12px}.activation-hero{flex-direction:column;gap:12px}.activation-copy h1{font-size:30px}.activation-actions{justify-content:stretch;width:100%}.activation-actions .btn{flex:140px}.activation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.activation-steps{grid-template-columns:1fr}.calendar-empty-callout{flex-direction:column;align-items:stretch;margin:12px}.calendar-empty-actions{justify-content:stretch}.calendar-empty-actions .btn,.empty-state-actions .btn{flex:150px}.cal-header{gap:10px;padding:12px}.cal-title{font-size:17px}.cal-title-wrap{gap:10px}.cal-header-controls,.cal-header-groups-row{gap:8px}.cal-header-group{flex:150px;min-width:0;padding:8px 9px}.cal-pills{gap:6px;width:100%}.pill{padding:6px 12px;font-size:13px}.mobile-header{padding:10px 14px;padding-top:calc(env(safe-area-inset-top,10px) + 10px)}.mobile-header-title{font-size:17px}.settings-page{padding:14px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.settings-section{margin-bottom:var(--mobile-section-gap);padding:var(--mobile-section-pad);border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 90%, transparent);border-radius:14px}.settings-section-title{letter-spacing:1.2px;margin-bottom:16px}.settings-avatar-picker{gap:14px;margin-bottom:16px}.settings-inline-grid{grid-template-columns:1fr;gap:10px}.settings-actions-row{flex-direction:column;align-items:stretch;gap:10px}.settings-actions-row>.btn,.settings-actions-row>a.btn{justify-content:center;width:100%}.settings-actions-row>[data-testid=feedback-priority-badge]{align-self:flex-start}.settings-actions-row-end{align-items:stretch}.settings-stack-mobile{gap:10px;max-width:none}.settings-calendar-list{gap:12px}.settings-toggle-row{align-items:flex-start;padding:16px 0}.settings-toggle-row:first-of-type{padding-top:0}.settings-toggle-row:last-child{border-bottom:0;padding-bottom:0}.settings-toggle-label{font-size:13px}.settings-toggle-desc{margin-top:4px;font-size:12px;line-height:1.45}.settings-signout{width:100%}.app-panel{padding:16px 14px}.app-panel-title{margin-bottom:14px;font-size:20px}.notif-panel{border-radius:16px 16px 0 0;width:100%;max-height:70vh;animation:.2s slideUp;position:fixed;inset:auto 0 0}.modal{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:90vh;animation:.2s slideUp;position:fixed;bottom:0;left:0;right:0}.overlay{align-items:flex-end}}:root{--vt-slide-offset:48px;--vt-fade-exit:.14s;--vt-fade-enter:.2s}@keyframes vt-fade{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur()}}@keyframes vt-slide{0%{translate:var(--slide-offset,0)}to{translate:0}}::view-transition-old(.nav-forward){--slide-offset:calc(var(--vt-slide-offset) * -1);animation:var(--vt-fade-exit) ease-in both vt-fade reverse, .32s ease-in-out both vt-slide reverse}::view-transition-new(.nav-forward){--slide-offset:var(--vt-slide-offset);animation:var(--vt-fade-enter) ease-out var(--vt-fade-exit) both vt-fade, .32s ease-in-out both vt-slide}::view-transition-old(.nav-back){--slide-offset:var(--vt-slide-offset);animation:var(--vt-fade-exit) ease-in both vt-fade reverse, .32s ease-in-out both vt-slide reverse}::view-transition-new(.nav-back){--slide-offset:calc(var(--vt-slide-offset) * -1);animation:var(--vt-fade-enter) ease-out var(--vt-fade-exit) both vt-fade, .32s ease-in-out both vt-slide}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation-duration:.001ms!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:.001ms!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:.001ms!important;animation-delay:0s!important}}
