.planner-shell{--rail-slim:68px;--rail-wide:236px;--rail-gap:14px;--rail-space:calc(var(--rail-slim) + var(--rail-gap) * 2)}.planner-shell:has(.rail.is-pinned){--rail-space:calc(var(--rail-wide) + var(--rail-gap) * 2)}.planner-shell>.planner-body{margin-left:var(--rail-space);width:calc(100% - var(--rail-space));transition:margin-left .3s cubic-bezier(.2,.8,.2,1)}.sidebar.rail{position:fixed;inset:var(--rail-gap) auto var(--rail-gap) var(--rail-gap);z-index:40;width:var(--rail-slim);padding:14px 10px 12px;display:flex;flex-direction:column;gap:14px;background:color-mix(in srgb,white 88%,var(--sage-light));border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 30px -18px rgb(40 36 30/.35);overflow:hidden;transform:none;transition:width .3s cubic-bezier(.2,.8,.2,1) .08s,box-shadow .3s}.sidebar.rail.is-open,.sidebar.rail.is-pinned,.sidebar.rail:has(:focus-visible),.sidebar.rail:hover{width:var(--rail-wide)}.sidebar.rail:not(.is-pinned).is-open,.sidebar.rail:not(.is-pinned):has(:focus-visible),.sidebar.rail:not(.is-pinned):hover{box-shadow:0 24px 60px -24px rgb(40 36 30/.45)}.rail-text{white-space:nowrap;opacity:0;transform:translateX(-4px);transition:opacity .18s,transform .18s}.rail.is-open .rail-text,.rail.is-pinned .rail-text,.rail:has(:focus-visible) .rail-text,.rail:hover .rail-text{opacity:1;transform:none;transition-delay:.12s}.rail-top{min-height:48px}.rail-head,.rail-top{display:flex;align-items:center;gap:12px}.rail-head{min-width:0;color:inherit;text-decoration:none}.rail-head .rail-text{display:grid;gap:1px;min-width:0}.rail-head strong{font-size:13px;overflow:hidden;text-overflow:ellipsis}.rail-head small{font-size:11px;color:var(--muted)}.rail-mark{position:relative;display:grid;place-items:center;flex:none;width:48px;height:48px;font-family:Playfair Display,Georgia,serif;font-size:14px;color:var(--ink)}.rail-mark svg{position:absolute;inset:0;transform:rotate(-90deg)}.rail-mark circle{fill:none;stroke-width:2.5}.rail-mark-track{stroke:var(--line)}.rail-mark-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .6s}.rail-close{display:none;margin-left:auto}.rail-nav{position:relative;flex:1;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.rail-nav::-webkit-scrollbar{display:none}.rail-group+.rail-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.rail-link.nav-link{position:relative;z-index:1;display:flex;align-items:center;gap:14px;height:42px;min-height:0;margin:0;padding:0 14px;border:0;border-radius:14px;background:none;color:var(--muted);font-size:13px;font-weight:450;text-decoration:none;transition:color .2s}.rail-link.nav-link.active,.rail-link.nav-link:hover{background:none;color:var(--ink)}.rail-link.nav-link.active{font-weight:600}.rail-link.is-sub{height:36px;font-size:12.5px}.rail:is(:hover,:has(:focus-visible),.is-open,.is-pinned) .rail-link.is-sub{padding-left:26px}.rail-icon{position:relative;display:grid;place-items:center;flex:none;width:22px;margin-left:-1px}.rail-link.is-sub .rail-icon svg{width:17px;height:17px}.rail-link.active .rail-icon{color:var(--accent)}.rail-dot{top:-2px;right:-3px;width:7px;height:7px;border-radius:50%}.rail-count,.rail-dot{position:absolute;background:var(--accent);box-shadow:0 0 0 2px white}.rail-count{top:-8px;right:-11px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;color:var(--accent-foreground,#fff);font-size:12px;font-weight:600;line-height:16px;text-align:center}.rail-ext{margin-left:auto;opacity:.5}.rail-bead,.rail-ghost{position:absolute;top:0;left:0;right:0;height:42px;border-radius:14px;pointer-events:none;opacity:0}.rail-bead{background:var(--sage-light);transition:transform .45s cubic-bezier(.3,1.35,.5,1),height .2s,opacity .2s}.rail-bead:before{content:"";position:absolute;left:4px;top:30%;bottom:30%;width:3px;border-radius:3px;background:var(--accent)}.rail-ghost{background:color-mix(in srgb,var(--sage-light) 45%,transparent);transition:transform .22s cubic-bezier(.2,.8,.2,1),height .2s,opacity .2s}.rail-bottom{display:grid;gap:4px;padding-top:10px;border-top:1px solid var(--line)}.rail-user{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 4px}.rail-user .avatar{width:36px;height:36px;border:0}.rail-user .rail-text{display:grid;min-width:0;flex:1}.rail-user strong{font-size:12px}.rail-user small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.rail-user .icon-button{flex:none}.rail-pin{display:flex;align-items:center;gap:14px;height:38px;padding:0 14px;border:0;border-radius:14px;background:none;color:var(--muted);font-size:12px;cursor:pointer}.rail-pin:hover{color:var(--ink);background:color-mix(in srgb,var(--sage-light) 45%,transparent)}@media (prefers-reduced-motion:reduce){.planner-shell>.planner-body,.rail-bead,.rail-ghost,.rail-text,.sidebar.rail{transition:none}}@media (max-width:767px){.planner-shell>.planner-body{margin-left:0;width:100%;transition:none}.sidebar.rail{inset:0 auto 0 0;width:min(280px,86vw);border-radius:0 24px 24px 0;transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}.sidebar.rail.is-open{transform:none;width:min(280px,86vw)}.rail .rail-text{opacity:1;transform:none}.rail-close{display:inline-flex}.rail-pin[aria-pressed]{display:none}.rail-link.is-sub{padding-left:26px}}.rail-mark-plain{border-radius:50%;border:2.5px solid var(--line);font-size:13px}.bottom-nav{display:none}@media (max-width:767px){.bottom-nav{position:fixed;inset:auto 0 0 0;z-index:38;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.bottom-nav-item{display:grid;justify-items:center;gap:3px;min-height:48px;padding:4px 2px;border:0;border-radius:var(--radius-sm);background:none;color:var(--muted);font-size:11px;font-weight:500;line-height:1.1;text-decoration:none;transition:color .15s var(--ease)}.bottom-nav-item span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav-item.is-active{color:var(--accent)}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-icon{position:relative;display:grid;place-items:center;width:44px;height:28px;border-radius:999px;transition:background-color .2s var(--ease)}.is-active .bottom-nav-icon{background:color-mix(in srgb,var(--accent) 14%,transparent)}.is-active .bottom-nav-icon .wi-accent{fill:color-mix(in srgb,var(--accent) 35%,transparent)}.bottom-nav-badge{position:absolute;top:-2px;right:2px;min-width:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--accent-foreground,#fff);font-size:10px;font-weight:700;line-height:16px;text-align:center}.planner-main{padding-bottom:calc(84px + env(safe-area-inset-bottom, 0px))!important}.planner-footer{padding-bottom:calc(70px + env(safe-area-inset-bottom, 0px))!important}.theme-picker-trigger{bottom:calc(76px + env(safe-area-inset-bottom, 0px))!important}}