:root{--paper:#f7f3e9;--paper-sheet:#fbf7ee;--paper-card:#fffdf7;--paper-sunken:#efe9db;--paper-soft:#f6f2e7;--today-wash:#fbf2ec;--today-border:#f0ddd4;--ink-900:#2f2a24;--ink-800:#3a342c;--ink-600:#6b6253;--ink-500:#7a7163;--label-700:#9c8f78;--label-500:#b3a07f;--label-300:#bcab89;--line:#e7decb;--line-strong:#e0d6c2;--line-list:#ece2d0;--line-dash:#e6dcc9;--line-grid:#efe6d4;--guava:#c2796a;--guava-text:#a85a48;--guava-tint:#f4dcd5;--guava-block:#e7b9ab;--sage:#82926a;--sage-text:#566240;--sage-tint:#e3e8d8;--sage-block:#bfcaac;--slate:#6d7787;--slate-text:#4d5666;--slate-tint:#e1e4ea;--slate-block:#c2cad6;--c-yellow:#c79a44;--c-pink:#b07089;--c-gray:#8a7d6a;--r-sheet:34px;--r-card:16px;--r-card-sm:14px;--r-pill:24px;--r-button:26px;--r-input:16px;--shadow-sheet:0 -16px 44px #3a342c2e;--shadow-card:0 1px 3px #0000000f;--shadow-guava:0 10px 24px -10px #c2796ab3;--shadow-float:0 8px 18px -8px #c2796ab3;--font-serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--bg:var(--paper);--panel:var(--paper-card);--ink:var(--ink-800);--muted:var(--ink-500)}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink-800);background:var(--paper);font-family:var(--font-serif);letter-spacing:0;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;margin:0}body{background:linear-gradient(180deg, #fbf2ec8c, #f7f3e900 260px), var(--paper)}button,input,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.58}.appShell{width:min(760px,100vw - 28px);padding:max(20px, env(safe-area-inset-top)) 0 max(42px, env(safe-area-inset-bottom));margin:0 auto}.loginShell{place-items:center;min-height:100vh;padding:18px;display:grid}.loginPanel{border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper-sheet);width:min(390px,100%);box-shadow:var(--shadow-card);gap:14px;padding:24px;display:grid}.loginPanel:before{content:"";background:url(/guava.png) 50%/contain no-repeat;justify-self:center;width:72px;height:72px;margin-bottom:2px}.loginPanel h1{text-align:center;font-size:2.55rem}.loginPanel label,.accountPanel label,.editor label,.editor fieldset{color:var(--label-700);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:0;gap:7px;margin:0;padding:0;font-size:.72rem;display:grid}.loginPanel input,.loginPanel button,.accountPanel input,.accountPanel button,.toolbar button,.toolbar input,.toolbar select,.editor button,.editor input,.editor select,.editor textarea{border:1px solid var(--line);border-radius:var(--r-input);background:var(--paper-card);min-height:42px;color:var(--ink-800);padding:0 12px}.loginPanel button,.accountPanel button,.toolbar button,.editorActionRow button:last-child,.aiComposerActions button:last-child{background:var(--guava);color:#fdf4e9;border:0;box-shadow:0 1px 3px #00000014}.loginPanel button:disabled{opacity:.62}.segmentedControl{border-radius:var(--r-pill);background:var(--paper-sunken);border:0;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.segmentedControl button{border-radius:var(--r-pill);min-height:34px;box-shadow:none;color:var(--label-700);background:0 0;border:0}.segmentedControl .activeSegment{background:var(--paper-card);color:var(--ink-800);box-shadow:var(--shadow-card)}.statusMessage{border-radius:var(--r-card-sm);color:var(--guava-text);background:#fff7f2;border:1px solid #e2c2b9;margin:0 0 12px;padding:10px 12px;font-size:1rem}div.statusMessage{justify-content:space-between;align-items:center;gap:12px;display:flex}.statusMessage button{border-radius:var(--r-pill);min-height:32px;color:inherit;box-shadow:none;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid;padding:0 12px;font-size:.72rem;font-weight:500}.statusMessage.success{color:var(--sage-text);background:#f4f7ed;border-color:#cbd6bd}.dayHeader{gap:12px;padding:8px 0 18px;display:grid}.comparisonBar{justify-content:space-between;align-items:center;gap:12px;min-height:28px;display:flex;overflow:hidden}.navigationBar{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.dateNav{text-align:center;flex:auto;justify-content:center;min-width:0;display:flex}.dateStack{min-width:0;max-width:100%}.dateStack h1{white-space:nowrap;font-size:clamp(1.82rem,5.8vw,2.45rem)}.eyebrow{color:var(--label-500);font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;margin:0 0 4px;font-size:.62rem}.compareLine{min-width:0;color:var(--label-700);white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:1rem;display:flex}.compareAvatar{background:var(--sage-tint);width:24px;min-width:24px;height:24px;min-height:24px;color:var(--sage-text);border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:.78rem;font-weight:600;transition:opacity .14s,transform .14s;display:inline-grid}.compareAvatar:active{opacity:.72;transform:scale(.94)}.compareLine em{color:var(--sage-text);font-style:italic}h1,h2{color:var(--ink-800);margin:0;font-weight:600}h1{font-size:clamp(2rem,4vw,3.1rem);line-height:.95}h2{font-size:1.55rem}.toolbar,.headerNav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.headerNav{flex-wrap:nowrap;align-self:center;gap:11px}.headerActions,.navSide{flex:none;align-items:center;gap:10px;display:flex}.navSide{min-width:48px}.navSideLeft{justify-content:flex-start}.navSideRight{justify-content:flex-end;min-width:48px}.viewSwitch{width:152px}.dateControls{align-items:center;gap:8px;display:flex}.dateControls button[aria-label]{border-color:var(--line-strong);width:44px;box-shadow:none;color:var(--label-700);font-family:var(--font-mono);background:0 0;border-radius:50%;padding:0}.dateControls button:not([aria-label]){border-radius:var(--r-pill)}.toolbar input,.toolbar select{min-width:150px;font-family:var(--font-mono);font-size:.78rem}.toolbar select{color:var(--sage-text)}.toolbar button:hover,.toolbar select:hover,.toolbar input:hover{border-color:var(--label-700)}.syncBadge{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper-card);width:86px;min-height:34px;color:var(--label-700);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;padding:0 11px;font-size:.68rem;font-weight:500;display:inline-flex}.syncBadge.saving,.syncBadge.syncing{color:#8a6820;border-color:#dcc48c}.syncBadge.saved{color:var(--sage-text);border-color:#cbd6bd}.syncBadge.error{color:var(--guava-text);border-color:#e2c2b9}.syncButton{border-color:var(--line-strong)!important;box-shadow:none!important;color:var(--ink-600)!important;background:0 0!important}.logoutButton{background:var(--ink-800)!important;box-shadow:none!important}.circleNavButton,.profileButton{border:1px solid var(--line-strong);place-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;line-height:1;display:inline-grid;box-shadow:none!important;color:var(--label-700)!important;background:#fffdf76b!important;border-radius:50%!important}.profileButton{border-color:#e7decbad;font-size:1.32rem;font-weight:600;color:var(--guava-text)!important;background:#fffdf7b8!important}.circleNavButton{font-family:var(--font-serif);font-size:1.38rem}.compactViewToggle{border-radius:var(--r-pill);background:var(--paper-sunken);grid-template-columns:1fr 1fr;align-items:center;width:132px;min-height:42px;padding:3px;display:grid;position:relative;overflow:hidden}.compactViewToggle .toggleIndicator{border-radius:var(--r-pill);background:var(--guava);width:calc(50% - 3px);height:calc(100% - 6px);box-shadow:var(--shadow-card);transition:transform .3s cubic-bezier(.2,.9,.2,1.15);position:absolute;top:3px;left:3px;transform:translate(0)}.compactViewToggle.weekActive .toggleIndicator{transform:translate(100%)}.compactViewToggle button{z-index:1;min-height:36px;color:var(--label-700);background:0 0;border:0;padding:0 12px;font-size:.9rem;line-height:1;position:relative}.compactViewToggle button[aria-pressed=true]{color:#fdf4e9;font-weight:600}.dayTimelineScrollArea{padding-bottom:112px}.dayCreateActions{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:100;border-radius:var(--r-pill);background:#f0ebe2;border:1px solid #ddd8cd;align-items:center;gap:2px;padding:5px;display:flex;position:fixed;transform:translate(-50%)}.dayCreateActions button{-webkit-tap-highlight-color:transparent;cursor:pointer;border:0;transition:transform 80ms,background-color .12s}.dayCreateActions button:active{transform:scale(.96)}.dayCreateActions button:focus-visible{box-shadow:0 0 0 2px var(--sage-block);outline:none}.dayCreateActions .quickCreateButton{border-radius:var(--r-pill);color:#fff;min-height:44px;font-family:var(--font-serif);letter-spacing:.2px;background:#c4796b;align-items:center;gap:7px;padding:11px 22px 11px 18px;font-size:15px;line-height:1;display:inline-flex}.dayCreateActions .quickCreateButton svg{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:16px;height:16px}.dayCreateDivider{background:#d5d0c5;width:1px;height:20px;margin:0 2px}.dayCreateActions .aiCreateButton{color:#8b8579;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.dayCreateActions .aiCreateButton:hover,.dayCreateActions .aiCreateButton:focus-visible{background:#0000000a}.dayCreateActions .aiCreateButton svg{fill:currentColor;width:20px;height:20px}.accountPanel{border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#fffdf7c2;grid-template-columns:minmax(230px,.9fr) minmax(260px,1.1fr) minmax(220px,1fr);align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:grid}.profileControls,.inviteControls,.inviteItem{align-items:end;gap:8px;display:flex}.accountPanel button{white-space:nowrap;min-height:40px}.inviteList{gap:8px;display:grid}.inviteItem{min-height:40px;color:var(--ink-800);justify-content:space-between;font-size:1rem}.updateBanner{right:16px;bottom:max(16px, env(safe-area-inset-bottom));z-index:40;border:1px solid var(--line-strong);border-radius:var(--r-card-sm);background:var(--ink-800);color:#fffdf7;align-items:center;gap:10px;padding:10px 12px;font-size:.92rem;display:flex;position:fixed;box-shadow:0 10px 24px #3a342c2e}.updateBanner button{border-radius:var(--r-pill);color:#fff;background:0 0;border:1px solid #ffffff8c;min-height:30px;padding:0 10px}.profilePage,.weekPage{width:min(520px,100%);margin:0 auto}.weekPage{padding-bottom:92px}.profileBackButton{border:1px solid var(--line);border-radius:var(--r-pill);min-height:36px;color:var(--label-700);box-shadow:none;background:#fffdf76b;align-items:center;gap:6px;padding:0 12px 0 10px;font-size:.95rem;display:inline-flex}.profileBackButton span{font-size:1.35rem;line-height:1}.profileHero{text-align:center;padding:12px 0 18px}.profileAvatar{background:var(--guava);color:#fdf4e9;border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 10px;font-size:2.35rem;font-weight:600;display:grid;box-shadow:0 8px 20px -8px #c2796acc}.profileHero h2{font-size:2rem;line-height:1}.profileHero p,.pairingCard p,.weekSummary p{margin:0}.profileHero p{color:#a99a80;font-family:var(--font-mono);letter-spacing:.05em;margin-top:5px;font-size:.72rem}.pairingCard{background:linear-gradient(135deg,#f4dcd5 0%,#ece4d8 50%,#e3e8d8 100%);border-radius:22px;margin:0 0 16px;padding:20px;overflow:hidden}.profileEyebrow{color:#a98c7a;font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;font-size:.6rem;margin-bottom:12px!important}.pairingMain{align-items:center;gap:14px;margin-bottom:14px;display:flex}.pairAvatars{flex:none;width:74px;height:46px;position:relative}.pairAvatars span{border:2px solid var(--paper-sheet);color:#fdf4e9;border-radius:50%;place-items:center;width:46px;height:46px;font-size:1.25rem;font-weight:600;display:grid;position:absolute;top:0}.pairAvatars span:first-child{background:var(--guava);left:0}.pairAvatars span:last-child{background:var(--sage);right:0}.pairingMain h3{color:var(--ink-800);margin:0;font-size:1.45rem;font-weight:600;line-height:1.05}.pairingMain p{color:#8a7d68;font-size:1rem;font-style:italic}.pairStats{border-top:1px dashed #d3c3b0;padding-top:14px;display:flex}.pairStats div{text-align:center;flex:1;gap:4px;display:grid}.pairStats div+div{border-left:1px solid #d3c3b0}.pairStats strong{color:var(--guava-text);font-size:1.55rem;font-weight:600;line-height:1}.pairStats div:last-child strong{color:var(--sage-text)}.pairStats span{color:var(--label-700);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.55rem}.profilePanel{border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#fffdf7c2;gap:12px;margin-bottom:16px;padding:14px;display:grid}.profilePanel label{color:var(--label-700);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex:1;gap:7px;font-size:.72rem;display:grid}.profilePanel input,.profilePanel button{border:1px solid var(--line);border-radius:var(--r-input);background:var(--paper-card);min-height:44px;color:var(--ink-800);padding:0 12px}.profilePanel button{background:var(--guava);color:#fdf4e9;white-space:nowrap;border:0;box-shadow:0 1px 3px #00000014}.settingsList{border:1px solid var(--line-list);background:var(--paper-card);border-radius:18px;margin-bottom:12px;overflow:hidden}.settingsList button{border:0;border-top:1px dashed var(--line-list);width:100%;min-height:52px;color:var(--ink-800);background:0 0;justify-content:space-between;align-items:center;padding:0 18px;font-size:1.08rem;display:flex}.settingsList button:first-child{border-top:0}.settingsList span{align-items:center;gap:12px;display:flex}.settingsList i,.weekLegend i{border-radius:3px;width:10px;height:10px;display:inline-block}.settingsList b{color:#c7b89a;font-weight:400}.dotGuava,.legendYou{background:var(--guava-block)}.dotSage,.legendPartner{background:var(--sage-block)}.dotSlate,.legendShared{background:var(--slate-block)}.dotGold{background:var(--c-yellow)}.signOutText{width:100%;color:var(--guava-text);background:0 0;border:0;padding:12px;font-size:1.2rem;font-style:italic}.weekSummary{background:var(--paper);text-align:center;gap:6px;margin-bottom:12px;padding-top:16px;display:grid}.weekSummary h2{font-size:2rem;font-weight:400}.weekRangeNav{justify-content:space-between;align-items:center;gap:12px;display:flex}.weekRangeNav h2{flex:1}.weekSummary p:last-child{color:var(--ink-600);justify-content:center;align-items:center;gap:7px;font-style:italic;display:flex}.weekSummary p:last-child span{background:var(--slate);border-radius:50%;width:7px;height:7px}.weekGrid{border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#fffdf7c2;max-height:calc(100dvh - 210px);padding:12px;overflow-y:auto}.weekDays{z-index:20;border-radius:var(--r-card-sm);-webkit-backdrop-filter:blur(12px);background:#fffdf77a;border:1px solid #e7decbb8;grid-template-columns:34px repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px;padding:4px;display:grid;position:sticky;top:4px}.weekDays button{border-radius:var(--r-card-sm);min-height:42px;color:var(--ink-600);background:0 0;border:0;place-items:center;gap:1px;display:grid}.weekDays button.today{color:var(--guava-text);background:#c2796a42}.weekDays span{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.52rem}.weekDays strong{font-size:1rem;font-weight:600}.weekTimeline{grid-template-columns:34px 1fr;height:1440px;display:grid}.weekTimes{position:relative}.weekTimes span{color:var(--label-300);font-family:var(--font-mono);font-size:.55rem;position:absolute;left:0;transform:translateY(-50%)}.weekColumns{grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.weekColumns:before{content:"";z-index:0;pointer-events:none;opacity:.25;background:linear-gradient(90deg,#edd5cc,#f5ede8,#d8e4d8);position:absolute;inset:0}.weekRule{border-top:1px dashed var(--line-dash);z-index:2;position:absolute;left:0;right:0}.weekColumn{z-index:1;border-left:1px solid var(--line-grid);position:relative}.weekColumn.todayColumn{background:var(--today-wash);border-radius:8px}.weekEvent{z-index:4;width:34%;min-height:12px;color:var(--slate-text);box-shadow:none;text-align:center;cursor:pointer;border:0;border-radius:5px;padding:2px;font-size:.7rem;font-weight:600;position:absolute;left:26%;overflow:hidden}.weekEvent:disabled{cursor:default;opacity:.72;border:1px dashed #6973866b}.weekEvent.current{background:var(--guava-block);width:32%;left:10%}.weekEvent.selected{background:var(--sage-block);width:32%;left:58%}.weekEvent.shared{background:var(--slate-block);width:72%;left:14%}.sharedEveningHighlight{z-index:2;pointer-events:none;background:#cd8b782e;border-radius:6px;position:absolute;left:6px;right:6px}.weekLegend{justify-content:center;gap:18px;padding:14px 0 0;display:flex}.weekLegend span{color:var(--label-700);font-family:var(--font-mono);letter-spacing:.08em;align-items:center;gap:6px;font-size:.58rem;display:flex}.findTimeButton{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:35;border-radius:var(--r-pill);background:var(--sage);color:#f7f8f2;white-space:nowrap;border:0;min-height:46px;padding:0 22px;font-size:1rem;position:fixed;transform:translate(-50%);box-shadow:0 2px 8px #0000001a}.findTimeNote{left:50%;bottom:calc(82px + env(safe-area-inset-bottom));z-index:35;border:1px solid var(--line);border-radius:var(--r-card-sm);width:min(460px,100vw - 32px);color:var(--sage-text);box-shadow:var(--shadow-card);text-align:center;background:#fffdf7db;margin:0;padding:10px 12px;position:fixed;transform:translate(-50%)}.allDayStrip{width:min(520px,100%);color:var(--label-700);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:54px 1fr;align-items:start;gap:12px;margin:0 auto 12px;font-size:.68rem;display:grid}.allDayStrip>div{flex-wrap:wrap;gap:8px;display:flex}.allDayEvent{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--slate-tint);min-height:34px;color:var(--slate-text);font-family:var(--font-serif);border-left-width:0;padding:0 12px;font-size:1rem}.calendarFrame{border:1px solid var(--line);border-radius:var(--r-card);width:min(520px,100%);box-shadow:var(--shadow-card);background:#fffdf7b8;grid-template-rows:42px auto;grid-template-columns:54px 1fr;margin:0 auto;display:grid;overflow:hidden}.timeHeader{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-card)}.laneHeaders{border-bottom:1px solid var(--line);background:var(--paper-card);text-align:center;grid-template-columns:1fr 1.1fr 1fr;align-items:center;font-size:1rem;font-style:italic;display:grid}.laneHeaders span:first-child{color:var(--guava-text)}.laneHeaders span:nth-child(2){color:var(--slate-text)}.laneHeaders span:nth-child(3){color:var(--sage-text)}.timeRail{border-right:1px solid var(--line);background:var(--paper);position:relative}.timeRail span{color:var(--label-300);font-family:var(--font-mono);font-size:.58rem;position:absolute;right:8px;transform:translateY(-50%)}.timeline{touch-action:pan-y;-webkit-user-select:none;user-select:none;background:var(--paper-card);position:relative;overflow:hidden}.timeline *{-webkit-user-select:none;user-select:none}.timeline:before,.timeline:after{content:"";background:var(--line-grid);z-index:1;width:1px;position:absolute;top:0;bottom:0}.timeline:before{left:47%}.timeline:after{left:53%}.hourLines{z-index:0;pointer-events:none;position:absolute;inset:0}.hourLines:before{content:"";z-index:0;pointer-events:none;opacity:.25;background:linear-gradient(90deg,#edd5cc,#f5ede8,#d8e4d8);position:absolute;inset:0}.hourLines span{z-index:1;border-top:1px solid #e7decb70;position:absolute;left:0;right:0}.hourLines .hourLine{border-top:1px dashed var(--line-dash)}.hourLines .quarterLine{opacity:.7}.emptyLayer{z-index:2;position:absolute;top:0;bottom:0}.laneCurrent{width:47%;left:0}.laneShared{width:53%;left:23.5%}.laneSelected{width:47%;left:53%}.eventBlock,.draftBlock{z-index:5;border-radius:var(--r-card-sm);position:absolute;overflow:hidden;box-shadow:0 8px 18px -15px #3a342c73}.eventBlock{border:1px solid #0000}.draftBlock{border:1px solid #0000!important}.eventBlock.current{background:var(--guava-tint)}.eventBlock.selected{background:var(--sage-tint)}.eventBlock.shared{z-index:6;background:var(--slate-tint)}.eventBlock:not(.readOnly),.eventBlock:not(.readOnly) .eventBody,.resizeHandle{touch-action:none}.eventBlock.shared.sideOverlap{animation:2.4s ease-in-out infinite sharedFade}.eventBlock.shared.sideOverlap .eventBody{background:#fffdf74d}.eventBlock.readOnly{opacity:.78;border-style:dashed!important}.eventBlock.readOnly .eventBody{cursor:default}.eventBody{width:100%;height:100%;min-height:28px;color:var(--ink-800);text-align:left;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.eventTitle{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:1rem;font-weight:600;line-height:1.05;overflow:hidden}.eventBlock.current .eventTitle{color:var(--guava-text)}.eventBlock.selected .eventTitle{color:var(--sage-text)}.eventBlock.shared .eventTitle{color:var(--slate-text)}.eventMeta{color:var(--label-700);font-family:var(--font-mono);font-size:.58rem}.resizeHandle{z-index:8;cursor:ns-resize;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;height:10px;padding:0;position:absolute;left:0;right:0}.resizeHandle.top{top:0}.resizeHandle.bottom{bottom:0}.draftBlock{color:var(--guava-text);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:.72rem;font-weight:500;display:flex;border:1px dashed var(--guava)!important;background:#c2796a1f!important}.modalLayer.eventEditorLayer{touch-action:none;padding:0;overflow:hidden}.eventEditorLayer .event-editor-sheet,.eventEditorLayer .event-editor-content{touch-action:pan-y}.modalLayer{z-index:1000;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);padding:16px 16px max(16px, env(safe-area-inset-bottom));background:#3a342c5c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0;overflow:hidden}.editor{border:1px solid var(--line);border-radius:var(--r-sheet) var(--r-sheet) var(--r-card) var(--r-card);background:var(--paper-sheet);width:min(440px,100%);box-shadow:var(--shadow-sheet);gap:0;padding:14px 18px 0;display:grid}.editor:before{content:"";background:var(--line-strong);border-radius:999px;justify-self:center;width:42px;height:4px}.editorHeader,.editorToggleRow,.editorActionRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.editorHeader{border-bottom:1px solid #3a342c12;margin-bottom:20px;padding-bottom:14px}.editorField{margin-bottom:20px!important}.editorNotice{border:1px solid var(--line);border-radius:var(--r-card-sm);color:var(--label-700);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#fffdf79e;margin:-8px 0 18px;padding:9px 11px;font-size:.62rem}.editorActionRow button{min-height:54px}.editorToggleRow{border-top:1px solid #3a342c12;border-bottom:1px solid #3a342c12;align-items:stretch;gap:0;margin-bottom:14px;padding:4px 0;display:grid}.editorSwitchLine{border-bottom:1px solid #3a342c0f;justify-content:space-between;align-items:center;width:100%;min-width:0;min-height:0;color:var(--ink-800)!important;font-family:var(--font-serif)!important;letter-spacing:0!important;text-transform:none!important;grid-template-columns:none!important;gap:16px!important;padding:12px 0!important;font-size:1.02rem!important;display:flex!important}.editorSwitchLine:last-child{border-bottom:0}.editorSwitchLine>span{white-space:normal;min-width:0}.editorSwitch{border:0;flex:none;align-items:center;width:44px;min-width:44px;height:24px;margin-left:auto;display:inline-flex;min-height:24px!important;box-shadow:none!important;background:#d8cfc4!important;border-radius:12px!important;padding:3px!important}.editorSwitch span{width:18px;height:18px;box-shadow:var(--shadow-card);background:#fff;border-radius:50%;transition:transform .16s}.editorSwitch.active{background:#8fa68e!important}.editorSwitch.active span{transform:translate(20px)}.editorActionRow .danger{border-radius:50%;flex:none;place-items:center;width:54px;font-size:0;display:inline-grid}.editorActionRow .danger svg{fill:currentColor;width:18px;height:18px}.editorActionRow button:last-child{border-radius:28px;flex:1;font-size:1.22rem;font-weight:600}.editorActionRow{background:var(--paper-sheet);border-top:1px solid #3a342c12;margin:0 -18px;padding:14px 18px 24px;position:sticky;bottom:0}.editorHeader button{border-color:var(--line-strong);width:44px;min-height:44px;box-shadow:none;color:var(--label-700);background:0 0;border-radius:50%;padding:0}.editor input,.editor select,.editor textarea{background:var(--paper-card);width:100%;font-family:var(--font-serif);letter-spacing:0;text-transform:none;font-size:1.08rem}.editor textarea{resize:vertical;min-height:132px;padding:12px 14px;line-height:1.35}.event-editor-sheet{flex-direction:column;gap:0;min-height:0;max-height:min(86dvh,720px);padding:12px 18px 0;display:flex;overflow:hidden}.event-editor-sheet:before{content:none}.event-editor-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;gap:18px;height:100%;min-height:0;padding-top:20px;padding-bottom:18px;display:grid;overflow:hidden auto}.event-editor-sheet input:focus,.event-editor-sheet input:focus-visible,.event-editor-sheet select:focus,.event-editor-sheet select:focus-visible,.event-editor-sheet textarea:focus,.event-editor-sheet textarea:focus-visible{outline:none;box-shadow:0 0 0 2px var(--sage-block)!important}.eventEditorHero{padding:calc(env(safe-area-inset-top,0px) + 16px) 0 20px;flex:none;grid-template-columns:44px 1fr;align-items:start;gap:12px;display:grid;overflow:visible}.eventEditorClose{justify-content:center;align-items:center;width:44px;height:44px;font-size:1.45rem;line-height:1;display:inline-flex;border-color:var(--line-strong)!important;min-height:44px!important;box-shadow:none!important;color:var(--label-700)!important;background:0 0!important;border-radius:50%!important;padding:0!important}.eventTitleWrap{grid-template-columns:14px minmax(0,1fr);align-items:center;gap:5px 10px;min-width:0;padding-top:0;display:grid;overflow:visible}.eventColorSignal{border-radius:50%;width:12px;height:12px;margin:0;box-shadow:0 0 0 4px #fffdf7bd}.eventTitleInput{font-weight:600;line-height:1.2;min-height:44px!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:8px 12px!important;font-size:clamp(1.375rem,5vw,1.5rem)!important}.eventTitleInput::placeholder{color:var(--label-300)}.eventSummaryLine{color:var(--label-700);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;grid-column:2;margin:0;font-size:.68rem}.eventDraftNotice{border-radius:var(--r-card-sm);color:var(--guava-text);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#c2796a1a;border:1px solid #c2796a38;margin:-4px 0 0;padding:10px 12px;font-size:.64rem}.eventEditorSection{gap:12px;display:grid}.eventEditorSection.readOnlySection{opacity:.72}.eventSectionHeader{color:var(--label-700);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.68rem;display:flex}.eventWhenGrid{grid-template-columns:1.2fr .8fr .8fr;gap:10px;display:grid}.eventWhenGrid.allDay{grid-template-columns:1fr}.eventSoftField{border-radius:var(--r-card-sm);background:#8fa68e1f;min-width:0;color:var(--sage-text)!important;font-family:var(--font-mono)!important;letter-spacing:.08em!important;text-transform:uppercase!important;gap:7px!important;padding:11px 12px!important;font-size:.62rem!important;display:grid!important}.eventSoftField input{min-height:28px!important;box-shadow:none!important;font-family:var(--font-serif)!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;font-size:1.12rem!important}.eventInlineSwitch{justify-content:space-between;align-items:center;min-height:48px;color:var(--ink-800)!important;font-family:var(--font-serif)!important;letter-spacing:0!important;text-transform:none!important;border-top:1px solid #3a342c12!important;border-bottom:1px solid #3a342c12!important;grid-template-columns:none!important;gap:14px!important;padding:10px 0!important;font-size:1.05rem!important;display:flex!important}.eventForSegment,.eventCategoryPills{border-radius:var(--r-card-sm);background:var(--paper-sunken);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.eventForSegment button,.eventCategoryPills button{font-family:var(--font-serif);font-size:.98rem;min-height:42px!important;box-shadow:none!important;color:var(--label-700)!important;background:0 0!important;border:0!important;border-radius:9px!important;padding:0 8px!important}.eventForSegment button.active,.eventCategoryPills button.active{background:var(--paper-card)!important;color:var(--ink-800)!important;box-shadow:var(--shadow-card)!important}.eventForSegment button:disabled,.eventCategoryPills button:disabled{cursor:default;opacity:.58}.eventColorSwatches{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.eventColorSwatches button{width:30px;min-height:30px!important;box-shadow:none!important;border:0!important;border-radius:50%!important;padding:0!important}.eventColorSwatches button.selected{outline-offset:3px;outline:2px solid #9b8b76}.eventEditorActions{background:var(--paper-sheet);padding:14px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid #3a342c12;flex:none;align-items:center;gap:12px;margin:4px -18px 0;display:flex;position:relative;bottom:auto}.eventEditorActions .danger{flex:none;place-items:center;width:54px;font-size:0;display:inline-grid;border-radius:50%!important;min-height:54px!important}.eventEditorActions .danger svg{fill:currentColor;width:18px;height:18px}.eventEditorActions button:last-child{flex:1;font-size:1.12rem;font-weight:600;background:var(--guava)!important;color:#fdf4e9!important;border:0!important;border-radius:28px!important;min-height:54px!important;box-shadow:0 1px 3px #00000014!important}@media (max-width:760px){.modalLayer{justify-content:stretch;align-items:stretch;padding:0;overflow:hidden}.event-editor-sheet{z-index:1000;border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--paper-sheet);border-bottom:0;border-left:0;border-right:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:12px 16px 0;position:fixed;inset:0;transform:none}.event-editor-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;min-height:0;padding-top:20px;padding-bottom:calc(80px + env(safe-area-inset-bottom));flex:1;overflow:hidden auto}.eventEditorHero{padding-top:calc(env(safe-area-inset-top,0px) + 16px);grid-template-columns:40px 1fr;gap:10px}.eventEditorClose{width:40px;min-height:40px!important}.eventWhenGrid{grid-template-columns:1fr 1fr}.eventWhenGrid .eventSoftField:first-child{grid-column:1/-1}.eventForSegment button,.eventCategoryPills button{font-size:.92rem;padding:0 5px!important}.eventEditorActions{padding:14px 16px calc(16px + env(safe-area-inset-bottom));margin:4px -16px 0}}.aiComposerMediaRow{align-items:center;gap:10px;min-height:44px;margin-bottom:20px;display:flex}.aiMediaButton{width:44px;height:44px;color:var(--muted);border-radius:50%;flex:0 0 44px;padding:0}.aiMediaButton svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:21px;height:21px}.aiImageInput{display:none}.aiImageSelection{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.aiImageSelection img{object-fit:cover;border-radius:6px;flex:0 0 44px;width:44px;height:44px}.aiImageSelection span,.aiMediaStatus{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.aiImageSelection button{border-radius:50%;flex:0 0 44px;width:44px;height:44px;padding:0}.aiComposerActions{background:var(--paper-sheet);border-top:1px solid #3a342c12;gap:12px;margin:0 -18px;padding:14px 18px 24px;display:flex}.aiComposerActions button{min-height:54px}.aiComposerActions button:first-child{flex:none;width:108px}.aiComposerActions button:last-child{border-radius:28px;flex:1;font-size:1.08rem;font-weight:600}.swatches{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:12px;display:flex}.swatches button{width:28px;min-height:28px;box-shadow:none;border:0;border-radius:50%;padding:0}.swatches .selectedSwatch{outline-offset:2px;outline:1.5px solid #9b8b76}.danger{box-shadow:none!important;color:var(--guava-text)!important;background:0 0!important;border-color:#e2c2b9!important}@keyframes sharedFade{0%,to{opacity:.72}50%{opacity:.38}}@media (max-width:760px){html,body{min-height:100dvh}.appShell{width:100%;padding:max(10px, env(safe-area-inset-top)) 10px max(24px, env(safe-area-inset-bottom))}.dayHeader{z-index:12;border-bottom:1px solid var(--line);background:#f7f3e9f5;padding:10px 0 12px;position:sticky;top:0}.navigationBar{align-items:center;gap:8px}.dateStack{min-width:0}.navSide,.navSideRight{min-width:42px}.circleNavButton,.profileButton{width:42px;min-width:42px;height:42px;min-height:42px}.compactViewToggle{width:112px;min-height:38px}h1{font-size:clamp(1.82rem,9vw,2.55rem)}.dateStack h1{font-size:clamp(1.55rem,7vw,2.1rem)}.compactViewToggle button{min-height:32px;padding:0 8px;font-size:.82rem}.toolbar{grid-template-columns:1fr auto;justify-content:stretch;align-items:center;gap:7px;width:100%;display:grid}.dateControls{grid-column:1/-1;grid-template-columns:44px minmax(0,1fr) 66px 44px;gap:7px;width:100%;display:grid}.toolbar select{grid-column:1/-1;width:100%;min-width:0}.toolbar input{width:100%;min-width:0}.toolbar button{white-space:nowrap;min-height:44px;padding:0 10px}.syncBadge,.syncButton{display:none}.logoutButton{grid-column:2;min-width:62px}.accountPanel{grid-template-columns:1fr;gap:9px;padding:10px}.profileControls,.inviteControls{grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.accountPanel input{width:100%;min-width:0}.accountPanel button{min-height:44px;padding:0 10px}.calendarFrame{grid-template-columns:38px minmax(0,1fr);width:100%;overflow:hidden}.allDayStrip{grid-template-columns:38px 1fr;padding:0 2px}.timeRail span{font-size:.5rem;right:4px}.eventBody{padding:6px 5px}.eventTitle{font-size:.78rem}.eventMeta{font-size:.5rem}.laneHeaders{font-size:.82rem}.eventBlock,.draftBlock{border-radius:12px}.resizeHandle{height:18px}.modalLayer{align-items:flex-end;padding:0}.editor{border-radius:var(--r-sheet) var(--r-sheet) 0 0;border-bottom:0;border-left:0;border-right:0;width:100%;max-height:min(78dvh,640px);padding:12px 16px 0;overflow-y:auto}.editorHeader{z-index:1;background:var(--paper-sheet);padding-bottom:14px;position:sticky;top:0}.swatches{display:flex}.swatches button{border-radius:50%;width:28px;min-height:28px}.editorActionRow{margin:0 -16px;padding:14px 16px 24px}.modalLayer{justify-content:stretch;align-items:stretch;padding:0;overflow:hidden}.editor.event-editor-sheet{z-index:1000;border-radius:var(--r-sheet) var(--r-sheet) 0 0;border-bottom:0;border-left:0;border-right:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:12px 16px 0;position:fixed;inset:0;overflow:hidden;transform:none}.editor.event-editor-sheet .event-editor-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;min-height:0;padding-top:20px;padding-bottom:calc(80px + env(safe-area-inset-bottom));flex:1;overflow:hidden auto}}
