@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_41550692-module__20uw4a__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_41550692-module__20uw4a__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_74d5d3c1-module__oPY7tG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:normal;font-weight:400}.instrument_serif_74d5d3c1-module__oPY7tG__variable{--font-instrument:"Instrument Serif", "Instrument Serif Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141218;--surface:#1c1822;--surface2:#252030;--surface3:#2f2a3d;--border:#3d3848;--border2:#4d4758;--text:#f5f2ed;--text2:#a8a3ae;--text3:#7d7786;--accent:#ff6b5c;--accent2:#ff9f95;--green:#ff8a7a;--red:#fb7185;--purple:#9b8cff;--orange:#fb923c;--pink:#f472b6;--blue:#60a5fa;--cyan:#22d3ee;--radius:14px;--radius-sm:8px;--radius-xs:6px;--glow-1:radial-gradient(circle, #ff6b5c1a 0%, transparent 70%);--glow-2:radial-gradient(circle, #ff8a7a14 0%, transparent 70%);--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;accent-color:var(--accent)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf7f2;--surface:#fff;--surface2:#f3eee8;--surface3:#e8e2da;--border:#ddd4c8;--border2:#c9bfb2;--text:#1c1917;--text2:#57534e;--text3:#78716c;--accent:#ff6b5c;--accent2:#ffb3ab;--green:#ff8a7a;--red:#e11d48;--purple:#6d5bd6;--orange:#ea580c;--pink:#db2777;--blue:#2563eb;--cyan:#0891b2;--glow-1:radial-gradient(circle, #ff6b5c29 0%, transparent 70%);--glow-2:radial-gradient(circle, #ff8a7a1f 0%, transparent 70%);--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(--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;position:fixed;top:-200px;left:-200px}.app:after{content:"";background:var(--glow-2);pointer-events:none;z-index:0;width:700px;height:700px;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}.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(68px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;display:flex}.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-end;align-items:flex-end;gap:10px;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:260px;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:48px;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:2px;padding:8px 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:10px;font-weight:600}.bottom-nav-item .notif-badge{position:absolute;top:4px;right:calc(50% - 18px)}.settings-page{padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));max-width:600px;margin:0 auto}.settings-section{margin-bottom:28px}.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:16px}.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;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}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}button,.btn,.group-card,.friend-row,.cal-toggle,.member-chip,.vis-chip,.pill,.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}}@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))}.cal-header{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px}.cal-header-controls{align-items:flex-end}.cal-grid{min-width:780px}.free-panel{padding:14px 20px}.drawer-overlay,.drawer{display:none!important}}@media (max-width:768px){.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}}
