@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/a128116a0bc3fa8c-s.0cbqbgn.0b1sm.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/9db33c57cd4391b8-s.0j8hzus97z-h~.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/8010b10db0d5feb2-s.p.0j~~wvhvc~~2a.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.0j1f760ks3~7e.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.0lukgm0wyhr0a.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0524igg32t-c1.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_f45a0ea9-module__EZawZW__className{font-family:Fraunces,Fraunces Fallback}.fraunces_f45a0ea9-module__EZawZW__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_34a85c05-module__gGo3DG__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_34a85c05-module__gGo3DG__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
:root{--lav-50:#fbf9ff;--lav-100:#f3edff;--lav-150:#ebe1ff;--lav-200:#d9c8ff;--lav-300:#b89cff;--lav-400:#9a78f0;--lav-500:#7a55d8;--lav-600:#5e3eb0;--lav-700:#3f2880;--ink:#2a1e4a;--ink-2:#5a4d7a;--ink-3:#8a82a8;--card-bg:#fff;--surface:#fff;--surface-input-focus:#fff;--line:#7a55d824;--line-2:#7a55d847;--silver-from:#e9ebf0;--silver-to:#a7adb8;--silver-alpha:55%;--ease:cubic-bezier(.22, 1, .36, 1)}:focus-visible{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--lav-400);outline:none}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-dm-sans), system-ui, -apple-system, sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 80% -10%, #ece2ff 0%, transparent 60%), radial-gradient(900px 500px at -10% 110%, #f0e6ff 0%, transparent 55%), var(--lav-50);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed}.page{flex-direction:column;min-height:100dvh;padding:56px 56px 40px;display:flex;position:relative}.birds-strip{pointer-events:none;height:150px;position:absolute;top:0;left:0;right:0;overflow:hidden}.bird{color:var(--ink);position:absolute;left:0}.bird-glyph{animation:ease-in-out infinite bird-flap;display:block}@keyframes bird-flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.55)}}.header{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;display:flex}.header .title-block{max-width:620px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.page-brand{flex-direction:column;align-items:flex-start;display:flex}.page-wordmark{font-family:var(--font-fraunces), serif;letter-spacing:-.025em;color:var(--ink);font-variation-settings:"opsz" 96;margin:0 0 14px;font-size:34px;font-weight:300;line-height:1}.btn.back-btn{padding:8px 14px}.btn.back-btn svg{margin-left:-2px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--lav-500);margin-bottom:14px;font-size:11px;font-weight:500}h1{font-family:var(--font-fraunces), serif;letter-spacing:-.025em;color:var(--ink);font-variation-settings:"opsz" 144;margin:0 0 10px;font-size:clamp(56px,7.5vw,92px);font-style:normal;font-weight:300;line-height:1}.tagline{font-family:var(--font-fraunces), serif;color:var(--ink);letter-spacing:-.005em;font-variation-settings:"opsz" 60;margin:0 0 14px;font-size:clamp(20px,2.2vw,26px);font-style:normal;font-weight:300}.tagline .accent{color:var(--lav-500);font-style:italic}.view-toggle{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff8c;border-radius:999px;margin-top:8px;padding:4px;display:inline-flex;position:relative}.view-toggle button{cursor:pointer;color:var(--ink-2);transition:color .3s var(--ease);z-index:2;letter-spacing:.01em;background:0 0;border:none;border-radius:999px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;position:relative}.view-toggle button:hover{color:var(--ink)}.view-toggle button.active{color:#fff}.view-toggle .pill{background:var(--lav-500);transition:all .4s var(--ease);z-index:1;border-radius:999px;position:absolute;top:4px;bottom:4px;box-shadow:0 2px 8px #7a55d84d}.subtitle{color:var(--ink-2);max-width:480px;margin:0;font-size:15px;line-height:1.55}.toolbar{align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:all .2s var(--ease);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--lav-300);color:var(--lav-600);transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.btn.primary{background:var(--lav-500);border-color:var(--lav-500);color:#fff;box-shadow:0 2px 8px #7a55d84d}.btn.primary:hover{background:var(--lav-400);border-color:var(--lav-400);box-shadow:0 4px 12px #7a55d85c}.btn:active{box-shadow:none;transform:translateY(0)scale(.98)}.btn.primary:active{box-shadow:0 1px 4px #7a55d83d}.btn .plus{margin-top:-1px;font-size:18px;line-height:1}.btn.icon-btn{border-radius:50%;justify-content:center;width:38px;height:38px;padding:0;position:relative}.icon-btn-badge{color:#fff;text-align:center;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--lav-50);background:#c64a6a;border-radius:8px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:-3px;right:-3px}.btn.sign-out-btn{border-color:#c64a6a38}.btn.sign-out-btn:hover{background:#fdeef2;border-color:#c64a6a66;transform:translateY(-1px);box-shadow:0 4px 12px #c64a6a1f}.timeline-wrap{flex-direction:column;flex:1;min-height:480px;display:flex;position:relative}.year-axis{border-top:1px dashed var(--line-2);height:28px;margin-top:24px;position:relative}.year-tick{font-family:var(--font-fraunces), serif;color:var(--ink-3);font-variant-numeric:tabular-nums;padding-top:8px;font-size:13px;position:absolute;top:0;transform:translate(-50%)}.year-tick:before{content:"";background:var(--lav-200);width:1px;height:6px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.diary-strip{flex:none;height:34px;margin-top:12px;position:relative}.diary-strip-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);opacity:.75;pointer-events:none;font-size:9px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.diary-strip-rail{pointer-events:none;background:#8a82a838;border-radius:999px;height:2px;margin-top:-1px;position:absolute;top:50%}.diary-dot{cursor:pointer;background:0 0;border:0;width:16px;height:16px;margin:0;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%)}.diary-dot:after{content:"";width:5px;height:5px;transition:width .18s var(--ease), height .18s var(--ease), background .18s var(--ease);background:#b9b3c9;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.diary-dot.cluster:after{background:#9c95ae;width:8px;height:8px}.diary-dot.today:after{background:0 0;border:1.5px solid #b9b3c9;width:8px;height:8px}.diary-dot:hover:after,.diary-dot:focus-visible:after{background:var(--lav-400);width:10px;height:10px}.diary-dot.today:hover:after,.diary-dot.today:focus-visible:after{border-color:var(--lav-400);background:0 0}.diary-peek{border:1px solid var(--line);background:var(--card-bg);text-align:left;opacity:0;visibility:hidden;min-width:120px;max-width:260px;transition:opacity .18s var(--ease);pointer-events:none;z-index:5;border-radius:10px;padding:8px 10px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #7a55d824}.diary-dot:hover,.diary-dot:focus-visible{z-index:70}.diary-dot:hover .diary-peek,.diary-dot:focus-visible .diary-peek{opacity:1;visibility:visible}.diary-peek-date{font-family:var(--font-fraunces), serif;color:var(--ink);font-size:12px;display:block}.diary-peek-text{color:var(--ink-2);margin-top:4px;font-size:11.5px;line-height:1.5;display:block}.layer-picker{display:inline-flex;position:relative}.layer-picker-btn.open{border-color:var(--lav-300);color:var(--lav-600);background:var(--lav-100)}.layer-panel{z-index:30;background:var(--surface);border:1px solid var(--line);transform-origin:0 0;border-radius:16px;min-width:220px;padding:12px 14px 6px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 40px #3c237829}.layer-panel-title{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px;font-size:11px}.layer-row{gap:24px;padding:8px 0}.layer-row+.layer-row{border-top:1px solid var(--line)}.layer-row .switch-title{margin-bottom:2px}.layer-row .hint{white-space:nowrap}.dash-toolbar{z-index:50;gap:8px;display:flex;position:fixed;top:24px;right:32px}.tl2{--conn-w:1px;--conn-line:linear-gradient(to bottom, color-mix(in srgb, var(--lav-200) 52%, transparent) 0%, color-mix(in srgb, var(--lav-300) 38%, transparent) 50%, color-mix(in srgb, var(--lav-200) 52%, transparent) 100%);--conn-shadow:0 1px 2px #7a55d812;flex-direction:column;flex:1;justify-content:center;min-height:0;padding:0 40px;display:flex}.tl2-track{min-height:calc(var(--lane-count,1) * var(--lane-h,40px));touch-action:none;flex:1;position:relative}.tl2-rail{background:linear-gradient(to right, color-mix(in srgb, var(--lav-200) 45%, transparent) 0%, color-mix(in srgb, var(--lav-300) 45%, transparent) 50%, color-mix(in srgb, var(--lav-200) 45%, transparent) 100%);z-index:0;pointer-events:none;--rail-shadow:0 1px 4px #7a55d82e;height:4px;box-shadow:var(--rail-shadow);transition:box-shadow .25s var(--ease);border-radius:999px;margin-top:-2px;position:absolute;left:0;right:0}.tl2-connector{width:var(--conn-w,1px);background:var(--conn-line);box-shadow:var(--conn-shadow);pointer-events:none;position:absolute}.tl2-connector.moving{transition:top .25s var(--ease)}.tl2-bar{height:calc(var(--lane-h) - 10px);cursor:pointer;z-index:var(--bar-z,2);--seam-shadow:0 0 0 0 transparent;box-shadow:var(--seam-shadow), 0 2px 8px #7a55d82e;transition:box-shadow .35s var(--ease), filter .35s var(--ease);border-radius:10px;align-items:center;display:flex;position:absolute}.tl2-bar:hover{filter:brightness(1.04);box-shadow:var(--seam-shadow), 0 4px 14px #7a55d847}.tl2-bar.read-only{cursor:default}.tl2-bar.event{box-shadow:none;color:var(--ink);background:0 0;border:none}.tl2-bar.event:after{content:"";width:var(--event-dot,14px);height:var(--event-dot,14px);background:linear-gradient(90deg, color-mix(in srgb, var(--silver-from) var(--silver-alpha), transparent), color-mix(in srgb, var(--silver-to) var(--silver-alpha), transparent));transition:filter .35s var(--ease), box-shadow .35s var(--ease);border-radius:50%;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #ffffff73,0 1px 5px #7a55d824}.tl2-bar.event.thin:after{left:50%}.tl2-bar.event.thin:before{content:"";border-radius:50%;position:absolute;inset:-4px}.tl2-bar.event:hover{filter:none;box-shadow:none}.tl2-bar.event:hover:after,.tl2-bar.event:focus-visible:after,.tl2-bar.event.popup-open:after{filter:brightness(1.06);box-shadow:inset 0 0 0 1px #ffffffb3,0 4px 14px #7a55d83d}.tl2-bar.event:hover,.tl2-bar.label-hover.popup-open{z-index:calc(var(--bar-z,2) + 1)}.tl2.movable .tl2-bar.event{cursor:grab}.tl2.moving-row{-webkit-user-select:none;user-select:none}.tl2-bar.event.moving{cursor:grabbing;z-index:calc(var(--bar-z,2) + 2);transition:top .25s var(--ease)}.tl2-bar.event.moving:after{filter:brightness(1.06);box-shadow:inset 0 0 0 1px #ffffffb3,0 4px 14px #7a55d83d}.tl2.movable-bars .tl2-bar.period{cursor:grab}.tl2-bar.period.moving{cursor:grabbing;z-index:30;transition:top .25s var(--ease);filter:brightness(1.05);box-shadow:inset 0 0 0 1px #ffffff8c,0 4px 14px #7a55d83d}.tl2-rail.drop-target{box-shadow:0 0 0 3px color-mix(in srgb, var(--lav-400) 30%, transparent), var(--rail-shadow)}.tl2-bar.clip-start{border-top-left-radius:0;border-bottom-left-radius:0}.tl2-bar.clip-end{border-top-right-radius:0;border-bottom-right-radius:0}.tl2-bar.join-start,.tl2-bar.period.thin.join-start{border-top-left-radius:0;border-bottom-left-radius:0}.tl2-bar.period.join-end{--seam-shadow:6px 0 10px -4px #3c237852}.tl2-bar.present:after{content:"";background:var(--seg-end,var(--lav-500));width:12px;height:12px;animation:pulse 2s infinite var(--ease);border-radius:50%;position:absolute;top:50%;right:-2px;transform:translateY(-50%);box-shadow:0 0 #7a55d899}@keyframes pulse{0%{box-shadow:0 0 #7a55d880}70%{box-shadow:0 0 0 12px #7a55d800}to{box-shadow:0 0 #7a55d800}}.tl2-bar-label{align-items:baseline;gap:8px;width:100%;min-width:0;padding:0 12px;display:flex}.tl2-bar.period .tl2-bar-label{color:#fff}.tl2-bar-label .ttl{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.tl2-bar-label .dur{opacity:.85;white-space:nowrap;flex-shrink:0;font-size:11px}.tl2-bar.period.thin{border-radius:4px calc(var(--thin-bar-h,14px) / 2) calc(var(--thin-bar-h,14px) / 2) 4px;box-shadow:var(--seam-shadow), 0 2px 8px #7a55d82e;transition:box-shadow .35s var(--ease), filter .35s var(--ease)}.tl2-bar.period.thin:hover{filter:brightness(1.06);box-shadow:var(--seam-shadow), 0 6px 18px #7a55d84d}.tl2-bar.period.child{box-shadow:var(--seam-shadow), inset 0 0 0 1px #fff6, 0 1px 4px #7a55d824}.tl2-bar.period.child.thin{border-radius:min(4px, calc(var(--seg-h,14px) / 3.5)) calc(var(--seg-h,14px) / 2) calc(var(--seg-h,14px) / 2) min(4px, calc(var(--seg-h,14px) / 3.5))}.tl2-bar.period.child:hover{box-shadow:var(--seam-shadow), inset 0 0 0 1px #ffffff8c, 0 3px 10px #7a55d842}.tl2-bar.period.child:not(.thin) .tl2-bar-label{display:none}.tl2-bar.thin .tl2-bar-label{bottom:calc(100% + var(--label-dist,18px));text-align:center;pointer-events:none;width:max-content;padding:0;display:block;position:absolute;left:50%;transform:translate(-50%)}.tl2-bar.thin.below .tl2-bar-label{bottom:auto;top:calc(100% + var(--label-dist,18px))}.tl2-bar.thin.label-hover .tl2-bar-label:after{content:"";width:var(--conn-w,1px);height:var(--label-dist,18px);background:var(--conn-line);box-shadow:var(--conn-shadow);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tl2-bar.thin.label-hover.below .tl2-bar-label:after{top:auto;bottom:100%}.tl2-bar.thin .tl2-bar-label .ttl,.tl2-bar.thin .tl2-bar-label .dur{color:var(--ink);white-space:nowrap;text-overflow:unset;display:block;overflow:visible}.tl2-bar.thin .tl2-bar-label .ttl{font-family:var(--font-fraunces), serif;font-size:14px;font-weight:400}.tl2-bar.thin .tl2-bar-label .dur{color:var(--ink-3);opacity:1;margin-top:2px;font-size:11px}.tl2-bar.thin.label-hover .tl2-bar-label{opacity:0;filter:blur(4px);transition:opacity .45s var(--ease), transform .45s var(--ease), filter .45s var(--ease);background:var(--surface);border-radius:12px;padding:5px 12px;transform:translate(-50%)translateY(8px);box-shadow:0 4px 14px #3c23781a}.tl2-bar.thin.label-hover.below .tl2-bar-label{transform:translate(-50%)translateY(-8px)}.tl2-bar.thin.label-hover:hover .tl2-bar-label,.tl2-bar.thin.label-hover:focus-visible .tl2-bar-label,.tl2-bar.thin.label-hover.popup-open .tl2-bar-label{opacity:1;filter:blur();transform:translate(-50%)translateY(0)}.tl2-detail-anchor{height:calc(var(--lane-h) - 10px);z-index:60;pointer-events:none;position:absolute}.detail{bottom:calc(100% + 96px + var(--label-offset,0px));background:var(--surface);border:1px solid var(--line);pointer-events:none;z-index:10;text-align:left;border-radius:14px;width:300px;padding:20px 22px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 20px 50px #3c23782e,0 4px 12px #3c23780f}.detail:after{content:"";background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:12px;height:12px;margin-top:-6px;position:absolute;top:100%;left:50%;transform:translate(-50%)rotate(45deg)}.detail .d-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--lav-500);margin-bottom:8px;font-size:10px;font-weight:500}.detail .d-title{font-family:var(--font-fraunces), serif;color:var(--ink);letter-spacing:-.01em;font-variation-settings:"opsz" 60;margin:0 0 6px;font-size:22px;font-weight:400;line-height:1.15}.detail .d-place{color:var(--ink-2);align-items:center;gap:5px;margin-bottom:12px;font-size:12px;display:flex}.detail .d-place svg{opacity:.6;width:11px;height:11px}.detail .d-desc{color:var(--ink-2);text-wrap:pretty;margin:0 0 12px;font-size:13px;line-height:1.55}.detail .d-tags{flex-wrap:wrap;gap:5px;display:flex}.detail .tag{letter-spacing:.05em;text-transform:uppercase;background:var(--lav-100);color:var(--lav-600);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:500;transition:background .15s,color .15s}.detail .tag:hover{background:var(--lav-200);cursor:default}.detail .edit-link{color:var(--lav-500);cursor:pointer;pointer-events:auto;opacity:0;transition:color .2s var(--ease), opacity .15s .1s ease;align-items:center;gap:5px;margin-top:12px;font-size:12px;display:inline-flex}.tl2-detail-anchor .detail .edit-link{opacity:1}.detail .edit-link:hover{color:var(--lav-700)}.detail .edit-link svg{width:11px;height:11px}.tl2-detail-anchor[data-align=start] .detail{left:0;transform:none}.tl2-detail-anchor[data-align=start] .detail:after{left:24px;transform:translate(0)rotate(45deg)}.tl2-detail-anchor[data-align=end] .detail{left:auto;right:0;transform:none}.tl2-detail-anchor[data-align=end] .detail:after{left:auto;right:24px;transform:translate(0)rotate(45deg)}.empty{text-align:center;color:var(--ink-3);padding:80px 20px}.empty h3{font-family:var(--font-fraunces), serif;color:var(--ink);margin:0 0 8px;font-size:28px;font-weight:300}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line,.skeleton-bar{background:linear-gradient(90deg, var(--lav-100) 25%, var(--lav-150) 50%, var(--lav-100) 75%);background-size:200% 100%;border-radius:999px;animation:1.6s linear infinite shimmer}.skeleton-header{margin-bottom:72px}.skeleton-line.lg{width:220px;height:40px;margin-bottom:14px}.skeleton-line.sm{width:320px;height:16px}.skeleton-timeline{flex-direction:column;flex:1;justify-content:center;gap:26px;display:flex}.skeleton-bar{height:14px}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.rise-enter{animation:rise-in .55s var(--ease) both;animation-delay:calc(var(--enter-i,0) * 60ms)}.modal-scrim{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#2819505c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:20px;width:100%;max-width:520px;max-height:calc(100vh - 48px);padding:36px;overflow-y:auto;box-shadow:0 30px 80px #3c237833}.modal,.modal *{scrollbar-width:none;-ms-overflow-style:none}.modal::-webkit-scrollbar{display:none}.modal ::-webkit-scrollbar{display:none}.modal h2{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;margin:0 0 24px;font-size:28px;font-weight:400}.field{margin-bottom:16px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}label{letter-spacing:.04em;color:var(--ink-2);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:500;display:block}input,textarea,select{border:1px solid var(--line);background:var(--lav-50);width:100%;color:var(--ink);transition:all .2s var(--ease);resize:vertical;border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px}input:focus,textarea:focus,select:focus{border-color:var(--lav-400);background:var(--surface-input-focus);box-shadow:0 0 0 4px #9a78f024}input[type=radio],input[type=checkbox]{width:auto;padding:0}textarea{min-height:90px;line-height:1.5}.hint{color:var(--ink-3);margin-top:4px;font-size:12px}.tag-suggestions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tag-chip{border:1px solid var(--line);background:var(--lav-50);color:var(--ink-2);cursor:pointer;transition:all .2s var(--ease);border-radius:999px;padding:4px 10px;font-family:inherit;font-size:12px}.tag-chip:hover{border-color:var(--line-2);background:var(--lav-100);color:var(--ink)}.background-entries{color:var(--ink-3);margin-top:16px;font-size:13px}.background-entries summary{cursor:pointer;width:fit-content;transition:color .2s var(--ease), background .2s var(--ease);border-radius:8px;padding:4px 10px}.background-entries summary:hover{color:var(--ink-2);background:var(--lav-100)}.background-entries ul{flex-direction:column;gap:2px;margin:8px 0 0;padding:0;list-style:none;display:flex}.background-entries li button{text-align:left;width:100%;color:var(--ink-2);cursor:pointer;transition:background .2s var(--ease);background:0 0;border:none;border-radius:8px;align-items:baseline;gap:12px;padding:6px 10px;font-family:inherit;font-size:13px;display:flex}.background-entries li button:hover{background:var(--lav-100)}.background-entries .bg-entry-title{color:var(--ink)}.background-entries .bg-entry-dates{color:var(--ink-3);font-size:12px}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-option{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.radio-option input{accent-color:var(--lav-500)}.password-field{position:relative}.password-field input{width:100%;padding-right:40px}.password-toggle{width:28px;height:28px;color:var(--ink-3);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:none;border-radius:6px;padding:4px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{color:var(--ink-2)}.password-toggle svg{width:100%;height:100%}.oauth-divider{color:var(--ink-3);align-items:center;gap:12px;margin:20px 0 14px;font-size:12px;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background:var(--line);flex:1;height:1px}.oauth-row{justify-content:center;gap:12px;display:flex}.oauth-icon-btn{justify-content:center;width:48px;height:44px;padding:0}.oauth-icon-btn:disabled{opacity:.6;cursor:default}.oauth-note{text-align:center;color:var(--ink-3);margin:12px 0 0;font-size:12px;line-height:1.5}.swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.swatch{cursor:pointer;width:32px;height:32px;transition:all .2s var(--ease);border:2px solid #0000;border-radius:10px;position:relative}.swatch:hover{transform:translateY(-2px)}.swatch.selected{border-color:var(--lav-400);box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--lav-400), 0 4px 12px #7a55d84d}.swatch.auto{color:#fff;text-shadow:0 1px 2px #0000004d;background:conic-gradient(#c0a5ff,#f0a6c8,#a5c6ff,#c4e0a0,#ffd29e,#c0a5ff);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.swatch.auto:before{content:"A";font-family:var(--font-fraunces), serif;font-style:italic}.month-picker{width:100%;position:relative}.month-picker-trigger{border:1px solid var(--line);background:var(--lav-50);width:100%;color:var(--ink);transition:all .2s var(--ease);text-align:left;cursor:pointer;border-radius:10px;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;font-family:inherit;font-size:14px;display:flex}.month-picker-trigger.placeholder{color:var(--ink-3)}.month-picker-trigger:focus,.month-picker-trigger:focus-visible{border-color:var(--lav-400);background:var(--surface-input-focus);box-shadow:0 0 0 4px #9a78f024}.month-picker-trigger:disabled{opacity:.5;cursor:default}.month-picker-chevron{width:14px;height:14px;color:var(--ink-3);flex-shrink:0}.month-picker-wrap{position:relative}.month-picker-clear{width:20px;height:20px;color:var(--ink-3);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:none;border-radius:6px;font-size:15px;line-height:1;position:absolute;top:50%;right:30px;transform:translateY(-50%)}.month-picker-clear:hover{color:var(--ink-2)}.month-picker-panel{z-index:200;background:var(--surface);border:1px solid var(--line);min-width:210px;animation:picker-in .18s var(--ease);border-radius:14px;padding:14px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 32px #3c237824}@keyframes picker-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}.month-picker-year-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.month-picker-year-nav button{border:1px solid var(--line);cursor:pointer;width:28px;height:28px;color:var(--ink-2);transition:all .2s var(--ease);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.month-picker-year-nav button:hover{border-color:var(--lav-300);color:var(--lav-600);background:var(--lav-50)}.month-picker-year-nav button svg{width:14px;height:14px}.month-picker-year{color:var(--ink);letter-spacing:-.01em;font-size:15px;font-weight:600}.month-picker-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.month-btn{color:var(--ink-2);cursor:pointer;transition:all .15s var(--ease);text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;padding:9px 4px;font-family:inherit;font-size:13px;font-weight:500}.month-btn:hover{background:var(--lav-100);color:var(--ink);border-color:var(--lav-200)}.month-btn.current{color:var(--lav-500);font-weight:600}.month-btn.selected{background:var(--lav-500);color:#fff;border-color:var(--lav-500)}.month-btn.selected:hover{background:var(--lav-400);border-color:var(--lav-400)}.month-back-btn{cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;border-radius:6px;padding:2px 6px}.month-back-btn:hover{background:var(--lav-100);color:var(--lav-600)}.month-picker-panel.day-view{width:280px}.day-picker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.day-header{letter-spacing:.04em;color:var(--ink-3);text-align:center;text-transform:uppercase;padding:4px 0 6px;font-size:11px;font-weight:600}.day-btn{aspect-ratio:1;color:var(--ink-2);cursor:pointer;transition:all .12s var(--ease);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;width:100%;padding:0;font-family:inherit;font-size:13px;font-weight:400;display:flex}.day-btn:hover{background:var(--lav-100);color:var(--ink);border-color:var(--lav-200)}.day-btn.today{color:var(--lav-500);font-weight:700}.day-btn.today:after{content:"";background:var(--lav-400);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.day-btn.today{position:relative}.day-btn.selected{background:var(--lav-500);color:#fff;border-color:var(--lav-500);font-weight:600}.day-btn.selected:hover{background:var(--lav-400);border-color:var(--lav-400)}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;display:flex}.modal-actions .delete{color:#c64a6a;background:0 0;border-color:#0000;margin-right:auto}.modal-actions .delete:hover{color:#a83253;background:#fdeef2}.place-combobox{position:relative}.place-suggestions{z-index:30;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #2a1e4a24}.place-suggestions li{cursor:pointer;transition:background .15s var(--ease);border-radius:8px;padding:8px 10px;font-size:14px}.place-suggestions li.highlighted{background:var(--lav-100)}@keyframes shake{0%,to{transform:translateY(-50%)translate(0)}20%{transform:translateY(-50%)translate(-6px)}40%{transform:translateY(-50%)translate(6px)}60%{transform:translateY(-50%)translate(-4px)}80%{transform:translateY(-50%)translate(4px)}}.tl2-bar.shaking{animation:.3s both shake}.tl2.panning{cursor:grab}.tl2.panning:active{cursor:grabbing}@media (pointer:coarse){.tl2-bar:before{content:"";position:absolute;inset:-13px 0}.tl2-bar.event.thin:before{inset:-13px}}.d-edit{justify-content:center;width:100%;margin-top:10px}.tl2-detail-anchor .detail .d-edit{pointer-events:auto}.map-page{gap:16px;height:100dvh;padding:32px 32px 24px}.map-page .page-header{margin-bottom:0}.map-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.compare-label{letter-spacing:.22em;text-transform:uppercase;color:var(--lav-500);margin:18px 0 4px;font-size:11px;font-weight:500}.map-title{font-family:var(--font-fraunces), serif;margin:0 0 10px;font-size:28px;font-weight:300}.map-empty{text-align:center}.unmapped-panel{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.unmapped-body{background:var(--card-bg);border:1px solid var(--line);border-radius:12px;width:100%;max-width:520px;padding:12px 14px}.unmapped-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.unmapped-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.unmapped-list li{align-items:center;gap:10px;display:flex}.unmapped-name{font-size:13px;font-weight:600}.crosshair-banner{background:var(--lav-100);border:1px solid var(--line-2);border-radius:10px;padding:8px 12px;font-size:13px}.map-shell{border-radius:16px;flex:1;min-height:420px;overflow:hidden;box-shadow:0 4px 18px #7a55d824}.map-canvas{width:100%;height:100%}.map-canvas .leaflet-tile-pane{filter:saturate(.65)contrast(.95)}.map-canvas.crosshair{cursor:crosshair}.map-pin{justify-content:center;align-items:center;display:flex}.map-pin-dot{background:var(--lav-500);border:2px solid #fff;border-radius:50% 50% 50% 0;width:16px;height:16px;display:block;transform:rotate(-45deg);box-shadow:0 2px 6px #7a55d866}.map-pin-count{background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:flex;position:absolute;top:-8px;right:-8px}.map-card .leaflet-popup-content-wrapper{font-family:var(--font-dm-sans), sans-serif;border-radius:12px;box-shadow:0 8px 24px #2a1e4a2e}.map-card .leaflet-popup-content{margin:12px 14px}.map-card-title{font-family:var(--font-fraunces), serif;color:var(--ink);margin:0 0 8px;font-size:15px;font-weight:500}.map-card-row{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.map-card-dot{border-radius:50%;flex-shrink:0;align-self:center;width:9px;height:9px}.map-card-entry{flex-direction:column;display:flex}.map-card-entry-title{color:var(--ink);font-size:13px;font-weight:600}.map-card-dates{color:var(--ink-3);font-size:11.5px}.map-loading{color:var(--ink-3);flex:1;justify-content:center;align-items:center;display:flex}@media (max-width:720px){.page{padding:32px 24px}.header{flex-direction:column;align-items:flex-start}.field-row{grid-template-columns:1fr}.detail{width:260px}.dash-toolbar{justify-content:flex-end;margin-bottom:8px;position:static}.modal{width:calc(100vw - 32px);max-height:90dvh;overflow-y:auto}.map-page{padding:20px 12px 12px}.map-header{flex-direction:column;align-items:flex-start}}body[data-pro-theme=beige]{--ink:#2e2316;--ink-2:#6b5638;--ink-3:#9c8867;--line:#785a3229;--line-2:#785a3252;--lav-50:#faf5ea;--lav-100:#ede0c6;--lav-150:#e4d3b0;--lav-200:#d4bf95;--lav-300:#b8a374;--lav-400:#97825a;--lav-500:#8a6c4a;--lav-600:#6e5638;--lav-700:#4f3d26;--surface:#fffaef;--surface-input-focus:#fff;background-color:#f7f1e5;background-image:radial-gradient(1200px 600px at 80% -10%,#e8dcc4 0%,#0000 60%),radial-gradient(900px 500px at -10% 110%,#ebe1cf 0%,#0000 55%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}body[data-pro-theme=grey]{--ink:#1f242c;--ink-2:#535c6b;--ink-3:#8a93a0;--line:#3c4b5f24;--line-2:#3c4b5f47;--lav-50:#f4f6f9;--lav-100:#e2e6ec;--lav-150:#d4dae2;--lav-200:#c0c7d0;--lav-300:#98a0ac;--lav-400:#6f7888;--lav-500:#525b6c;--lav-600:#3c4554;--lav-700:#262e3c;--surface:#fff;--surface-input-focus:#fff;background-color:#f0f2f5;background-image:radial-gradient(1200px 600px at 80% -10%,#dde2ea 0%,#0000 60%),radial-gradient(900px 500px at -10% 110%,#e1e6ec 0%,#0000 55%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}body[data-pro-theme=dark]{--ink:#f0f1f5;--ink-2:#b8bccc;--ink-3:#7a8294;--line:#ffffff1a;--line-2:#ffffff38;--lav-50:#1d2030;--lav-100:#262a3c;--lav-150:#2e3346;--lav-200:#3a4054;--lav-300:#565d75;--lav-400:#7a8298;--lav-500:#a4acc2;--lav-600:#c8cee0;--lav-700:#e8ebf2;--surface:#242838;--surface-input-focus:#2c3142;background-color:#161824;background-image:radial-gradient(1200px 600px at 80% -10%,#2a2e40 0%,#0000 60%),radial-gradient(900px 500px at -10% 110%,#1f2230 0%,#0000 55%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}body[data-pro-theme=black]{--ink:#fff;--ink-2:#c8c8c8;--ink-3:#7a7a7a;--line:#ffffff1a;--line-2:#ffffff38;--lav-50:#0a0a0a;--lav-100:#1a1a1a;--lav-150:#1f1f1f;--lav-200:#2a2a2a;--lav-300:#4a4a4a;--lav-400:#6e6e6e;--lav-500:#9a9a9a;--lav-600:#c4c4c4;--lav-700:#e8e8e8;--surface:#141414;--surface-input-focus:#1f1f1f;background-color:#000;background-image:radial-gradient(1200px 600px at 80% -10%,#1a1a1a 0%,#0000 60%),radial-gradient(900px 500px at -10% 110%,#0a0a0a 0%,#0000 55%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}body[data-pro-theme=dark] .swatch.selected,body[data-pro-theme=black] .swatch.selected{box-shadow:0 0 0 3px var(--surface), 0 0 0 4px var(--ink)}.theme-picker{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:theme-picker-in .4s var(--ease) both;background:#fff6;border-radius:999px;align-items:center;gap:8px;margin-left:12px;padding:6px 10px;display:inline-flex}body[data-pro-theme] .theme-picker{background:#ffffff0f}body[data-pro-theme=beige] .theme-picker{background:#fffaf080}body[data-pro-theme=grey] .theme-picker{background:#fff6}@keyframes theme-picker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.theme-dot{cursor:pointer;width:22px;height:22px;transition:all .2s var(--ease);border:2px solid #0000;border-radius:50%;padding:0;position:relative}.theme-dot:hover{transform:scale(1.12)}.theme-dot.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface)}.theme-picker-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:4px;font-size:11px;font-weight:500}.view-toggle-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.view-toggle{margin-top:0}.settings-card{max-width:560px}.settings-sub{color:var(--ink-3);margin:0 0 28px;font-size:13px}.settings-section{margin-bottom:26px}.settings-section.with-divider{border-top:1px solid var(--line);margin-top:2px;padding-top:24px}.settings-section-title{letter-spacing:.22em;text-transform:uppercase;color:var(--lav-500);margin-bottom:14px;font-size:11px;font-weight:500}.choice-cards{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.choice-card{border:1px solid var(--line);background:var(--lav-50);cursor:pointer;text-align:center;text-transform:none;letter-spacing:0;transition:all .2s var(--ease);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin-bottom:0;padding:16px 10px 13px;display:flex;position:relative}.choice-card:hover{border-color:var(--lav-300);transform:translateY(-1px);box-shadow:0 4px 12px #7a55d81a}.choice-card input{opacity:0;pointer-events:none;position:absolute}.choice-card .choice-example{font-family:var(--font-fraunces), serif;color:var(--ink);white-space:nowrap;font-size:15px}.choice-card .choice-caption{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:500}.choice-card:has(input:checked){border-color:var(--lav-400);background:var(--lav-100);box-shadow:0 0 0 3px #9a78f024}.choice-card:has(input:checked) .choice-example{color:var(--lav-600)}.choice-card:has(input:checked) .choice-caption{color:var(--lav-500)}.choice-card:has(input:focus-visible){box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--lav-400)}.switch-row{cursor:pointer;text-transform:none;letter-spacing:0;justify-content:space-between;align-items:center;gap:18px;margin-bottom:0;display:flex}.switch-copy{min-width:0;display:block}.switch-title{color:var(--ink);margin-bottom:4px;font-size:14px;font-weight:500;display:block}.switch-row .hint{margin-top:0;font-weight:400;line-height:1.5;display:block}.switch{flex-shrink:0;margin-top:2px;display:inline-flex;position:relative}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:var(--lav-150);border:1px solid var(--line);width:42px;height:24px;transition:background .25s var(--ease), border-color .25s var(--ease);border-radius:999px;display:block}.switch-thumb{width:18px;height:18px;transition:transform .25s var(--ease);background:#fff;border-radius:50%;margin:2px;display:block;box-shadow:0 1px 3px #3c237840}.switch input:checked+.switch-track{background:var(--lav-500);border-color:var(--lav-500)}.switch input:checked+.switch-track .switch-thumb{transform:translate(18px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--lav-400)}.profile-link-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.profile-link{background:var(--lav-100);color:var(--ink-2);border-radius:6px;padding:3px 8px;font-size:12px}.disclosure-btn{color:var(--ink);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:none;align-items:center;gap:7px;padding:0;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex}.disclosure-btn:hover,.disclosure-btn.open{color:var(--lav-600)}.disclosure-btn .chev{color:var(--ink-3);transition:transform .25s var(--ease), color .2s var(--ease);flex-shrink:0}.disclosure-btn:hover .chev{color:currentColor}.disclosure-btn.open .chev{transform:rotate(180deg)}.pw-form{padding-top:16px}.settings-save-row{justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;display:flex}.save-flash{color:var(--lav-600);font-size:13px}.save-flash.error{color:#c64a6a}.btn:disabled{opacity:.55;pointer-events:none}.settings-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:30px;padding-top:20px;display:flex}.settings-footer .settings-save-row{margin-top:0}.danger-zone{border:1px solid #c64a6a59;border-radius:12px;margin-top:24px;padding:16px}.danger-zone h3{color:#c64a6a;margin:0 0 6px;font-size:15px}.danger-zone input{margin:8px 0}.danger-error{color:#c64a6a;margin:0 0 8px;font-size:13px}.btn.danger-btn{color:#c64a6a;border-color:#c64a6a80}.btn.danger-btn:disabled{opacity:.5;cursor:default}.friends-content{width:100%;max-width:720px;margin:0 auto}.friend-add-row{gap:8px;display:flex}.friend-add-row input{flex:1}.friend-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.friend-list li{align-items:center;gap:12px;display:flex}.friend-name{flex:1;font-size:14px;font-weight:600}.friend-actions{gap:6px;display:flex}@media (max-width:560px){.choice-cards{grid-template-columns:1fr}.settings-footer{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.skeleton-line,.skeleton-bar,.rise-enter,.tl2-bar.present:after,.month-picker-panel,.theme-picker{animation:none!important}.rise-enter{opacity:1;transform:none}.tl2-bar.shaking{animation-duration:10ms!important}}.diary-textarea{resize:vertical;min-height:160px;line-height:1.55}.graph-page{flex-direction:column;height:100dvh;padding:0;display:flex}.graph-topbar{justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 28px 0;display:flex}.graph-topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.graph-main{flex:1;min-height:0;position:relative}.graph-canvas{position:absolute;inset:0}.graph-canvas canvas.graph-labels{pointer-events:none;z-index:5;position:absolute;inset:0}.kind-chips{flex-wrap:wrap;justify-content:center;gap:6px;padding:4px 20px 14px;display:flex}.kind-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:opacity .15s var(--ease), border-color .15s var(--ease), background .2s var(--ease), color .2s var(--ease);border-radius:999px;padding:4px 12px;font-size:13px}.kind-chip:before{content:"";border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.kind-chip.kind-person{--chip-hue:#f08abf}.kind-chip.kind-place{--chip-hue:#6dc9a5}.kind-chip.kind-topic{--chip-hue:#7ab8e8}.kind-chip:before{background:var(--chip-hue)}.kind-chip.focused{color:var(--ink);background:color-mix(in srgb, var(--chip-hue) 16%, var(--surface));border-color:color-mix(in srgb, var(--chip-hue) 55%, var(--surface))}.kind-chip.muted{opacity:.55}.kind-chip:hover{border-color:var(--line-2)}.graph-pending{text-align:center;color:var(--ink-3);margin:-6px 0 8px;font-size:13px}.graph-empty{text-align:center;color:var(--ink-2);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.graph-empty h2{color:var(--ink);margin-bottom:8px}.graph-empty p{max-width:420px}.graph-panel{background:var(--card-bg);border:1px solid var(--line);border-radius:16px;width:min(340px,100vw - 32px);padding:20px;position:absolute;top:16px;bottom:16px;right:16px;overflow-y:auto;box-shadow:0 12px 40px #7c65cf1f}.graph-panel h3{margin:0 24px 2px 0}.graph-panel h4{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;font-size:13px}.graph-panel-kind{color:var(--ink-3);margin:0 0 12px;font-size:13px}.graph-panel-close{padding:2px 10px;position:absolute;top:12px;right:12px}.graph-panel-actions label{color:var(--ink-2);font-size:12px}.graph-rename-row{gap:8px;margin:4px 0 6px;display:flex}.graph-rename-row input{flex:1}.graph-panel-error{color:#c64a6a;font-size:13px}.diary-render{color:var(--ink);font-size:14px;line-height:1.6}.diary-render h1,.diary-render h2,.diary-render h3{margin:14px 0 6px;font-size:15px}.diary-render p{margin:0 0 10px}.diary-render ul,.diary-render ol{margin:0 0 10px;padding-left:20px}.graph-connected{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.graph-connected button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:14px;display:flex}.graph-connected button:hover{background:var(--surface)}.graph-connected .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.graph-connected-date{color:var(--ink-3);margin-left:auto;font-size:12px}.graph-ask{pointer-events:none;z-index:5;flex-direction:column-reverse;align-items:center;gap:8px;padding:0 20px;display:flex;position:absolute;bottom:16px;left:0;right:0}.graph-ask>*{pointer-events:auto}.graph-ask-row{width:min(560px,100%);transition:box-shadow .2s var(--ease);background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(120deg,#c9b6ff,#ffb1d0 50%,#a8d8f5) border-box;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 4px 4px 14px;display:flex;box-shadow:0 8px 28px #7c65cf1a}.graph-ask-row:focus-within{box-shadow:0 8px 28px #7c65cf1a,0 0 0 4px #9a78f024}.graph-ask-mark{cursor:help;letter-spacing:.04em;background:linear-gradient(120deg,#9a78f0,#f08abf 55%,#7ab8e8);color:#0000;-webkit-background-clip:text;background-clip:text;border:none;border-radius:999px;outline:none;flex-shrink:0;align-items:center;gap:4px;padding:4px 6px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.graph-ask-mark:focus-visible{box-shadow:0 0 0 3px #9a78f033}.graph-ask-row input,.graph-ask-row input:focus{min-width:0;box-shadow:none;background:0 0;border:none;border-radius:999px;flex:1;padding:9px 6px}.graph-ask-row .btn{padding:8px 16px}.graph-ask-info{flex-shrink:0;display:inline-flex;position:relative}.graph-ask-tip{background:var(--card-bg);border:1px solid var(--line);width:260px;color:var(--ink-2);text-align:left;opacity:0;pointer-events:none;transition:opacity .15s var(--ease), transform .15s var(--ease);z-index:5;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.5;position:absolute;bottom:calc(100% + 10px);left:0;transform:translateY(4px);box-shadow:0 8px 28px #7c65cf1f}.graph-ask-info:hover .graph-ask-tip,.graph-ask-info:focus-within .graph-ask-tip{opacity:1;transform:translateY(0)}.graph-ask-answer{background:var(--card-bg);border:1px solid var(--line);width:min(560px,100%);color:var(--ink);border-radius:14px;padding:12px 40px 12px 16px;font-size:14px;line-height:1.55;position:relative;box-shadow:0 8px 28px #7c65cf1a}.graph-ask-answer p{margin:0}.graph-ask-clear{padding:2px 10px;position:absolute;top:8px;right:8px}.graph-ask-error{color:#c64a6a;margin:0;font-size:13px}.graph-ask-hint{color:var(--ink-3);margin:6px 0 0;font-size:12px}.graph-ask>.graph-ask-hint{margin:0}@media (max-width:640px){.graph-topbar{flex-direction:column;gap:14px;padding:20px 20px 0}.graph-topbar-actions{justify-content:flex-start}.page-header{flex-direction:column}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.diary-calendar{background:var(--card-bg);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.diary-cal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.diary-cal-month{font-family:var(--font-fraunces), serif;color:var(--ink);font-size:14px}.diary-cal-nav{color:var(--ink-3);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:8px;padding:2px 8px;font-size:18px;line-height:1}.diary-cal-nav:hover{background:var(--lav-100);color:var(--ink)}.diary-cal-zoom{cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:8px;padding:2px 8px}.diary-cal-zoom:hover{background:var(--lav-100);color:var(--lav-600)}.diary-cal-pick{gap:4px;min-height:217px;display:grid}.diary-cal-pick.months{grid-template-columns:repeat(3,1fr)}.diary-cal-pick.years{grid-template-columns:repeat(4,1fr)}.diary-cal-pick button{font-variant-numeric:tabular-nums;color:var(--ink-2);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:8px;font-family:inherit;font-size:12px}.diary-cal-pick button:hover{background:var(--lav-100);color:var(--ink)}.diary-cal-pick button.now{background:var(--lav-100);color:var(--lav-600);font-weight:600}.diary-cal-pick button.current{box-shadow:inset 0 0 0 1.5px var(--lav-300)}.diary-cal-grid{border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:fixed;width:100%}.diary-cal-grid th{color:var(--ink-3);padding-bottom:4px;font-size:10px;font-weight:500}.diary-cal-grid td{text-align:center;padding:1px}.diary-cal-grid td button{aspect-ratio:1;width:100%;min-height:26px;color:var(--ink-2);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:8px;font-family:inherit;font-size:12px;position:relative}.diary-cal-grid td button:hover{background:var(--lav-100);color:var(--ink)}.diary-cal-grid td.future button{color:var(--ink-3)}.diary-cal-grid td.today button{background:var(--lav-100);color:var(--lav-600);font-weight:600}.diary-cal-grid td.selected button{box-shadow:inset 0 0 0 1.5px var(--lav-300)}.diary-cal-grid td.written button:after,.diary-cal-grid td.has-note button:after{content:"";border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.diary-cal-grid td.written button:after{background:var(--lav-400)}.diary-cal-grid td.has-note button:after{border:1px solid var(--lav-300);background:0 0}.diary-cal-hint{color:var(--ink-3);margin:10px 2px 0;font-size:11px;line-height:1.5}.diary-page{padding-bottom:64px}.diary-topbar{margin-bottom:24px}.diary-layout{grid-template-columns:minmax(0,640px) 240px;justify-content:center;align-items:start;gap:32px;display:grid}.diary-side{position:sticky;top:32px}.diary-column{flex-direction:column;gap:20px;min-width:0;display:flex}.diary-card{background:var(--card-bg);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.diary-card.today{border-color:var(--lav-200)}.diary-card-date{font-family:var(--font-fraunces), serif;color:var(--ink);align-items:baseline;gap:10px;margin:0 0 10px;font-size:16px;font-weight:500;display:flex}.diary-today-tag{color:var(--ink-3);font-family:inherit;font-size:11px;font-style:italic}.diary-card-body{width:100%;color:var(--ink-2);cursor:pointer;transition:opacity .18s var(--ease);border-radius:8px}.diary-card-body:hover{opacity:.72}.diary-card-body p{margin:0 0 8px;line-height:1.7}.diary-card-body>:last-child{margin-bottom:0}.diary-md h1,.diary-md h2,.diary-md h3,.diary-md h4,.diary-md h5,.diary-md h6{font-family:var(--font-fraunces), serif;color:var(--ink);margin:14px 0 6px;font-weight:500;line-height:1.35}.diary-md h1{font-size:16px}.diary-md h2{font-size:15px}.diary-md h3{font-size:14px}.diary-md h4,.diary-md h5,.diary-md h6{font-size:13px}.diary-md>:first-child,.diary-note-head+*{margin-top:0}.diary-md ul,.diary-md ol{margin:0 0 8px;padding-left:20px;line-height:1.7}.diary-md li{margin-bottom:2px}.diary-md li>ul,.diary-md li>ol{margin-bottom:0}.diary-md strong{color:var(--ink);font-weight:600}.diary-md em{font-style:italic}.diary-md a{color:var(--lav-500);text-underline-offset:2px;text-decoration:underline}.diary-md blockquote{border-left:2px solid var(--line-2);color:var(--ink-3);margin:0 0 8px;padding-left:12px;font-style:italic}.diary-md code{background:var(--lav-100);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.diary-md pre{border:1px solid var(--line);background:var(--lav-50);border-radius:8px;margin:0 0 8px;padding:10px 12px;overflow-x:auto}.diary-md pre code{background:0 0;padding:0}.diary-md hr{border:0;border-top:1px solid var(--line);margin:12px 0}.diary-editor-status{min-height:16px;color:var(--ink-3);margin-top:6px;font-size:11.5px;font-style:italic}.diary-load-more{align-self:center}.diary-empty{text-align:center}.diary-pick-error{color:#c64a6a;background:#c64a6a14;border-radius:10px;margin:0 0 12px;padding:8px 12px;font-size:13px}@media (max-width:900px){.diary-layout{grid-template-columns:minmax(0,1fr)}.diary-side{order:-1;width:100%;max-width:260px;margin:0 auto;position:static}}.note-grace-list{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.note-grace-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease);border-radius:999px;padding:5px 10px;font-family:inherit;font-size:12px}.note-grace-chip:hover{border-color:var(--line-2)}.note-grace-chip.active{background:var(--lav-100);border-color:var(--lav-200);color:var(--lav-600)}.note-env-scene{flex-direction:column;align-items:center;gap:20px;display:flex}.note-env{cursor:pointer;width:208px;height:138px;transition:transform .25s var(--ease);background:0 0;border:none;padding:0;position:relative}.note-env:hover{transform:translateY(-2px)scale(1.02)}.note-env:focus-visible{outline:2px solid var(--lav-300);outline-offset:8px;border-radius:12px}.note-env-inner{perspective:600px;filter:drop-shadow(0 18px 32px #140a3259);display:block;position:absolute;inset:0}.note-env-inner>span{display:block}.note-env-back{z-index:1;background:linear-gradient(160deg, var(--lav-150), var(--lav-200));border-radius:10px;position:absolute;inset:0}.note-env-letter{z-index:3;background:#fffdf8;border-radius:6px;height:84%;position:absolute;top:9%;left:7%;right:7%;box-shadow:0 4px 14px #3c23781f}.note-env-letter:before{content:"";background:repeating-linear-gradient(to bottom, var(--lav-150) 0 3px, transparent 3px 14px);border-radius:2px;height:46%;position:absolute;top:16%;left:12%;right:12%}.note-env-pocket{z-index:4;clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%);background:linear-gradient(200deg, var(--lav-100), var(--lav-200));border-radius:10px;position:absolute;inset:0}.note-env-flap{z-index:5;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg, var(--lav-200), var(--lav-300));border-radius:10px 10px 0 0;height:54%;position:absolute;top:0;left:0;right:0}.note-env.open .note-env-flap{z-index:2}.note-env-seal{z-index:6;background:radial-gradient(circle at 34% 30%, var(--lav-400), var(--lav-600));border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;position:absolute;top:54%;left:50%;box-shadow:inset 0 0 0 3px #ffffff2e,0 2px 6px #28145a4d}.note-env-caption{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.note-env-caption h3{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;color:#fffffff0;text-shadow:0 1px 8px #140a3259;margin:0;font-size:19px;font-weight:500}.note-env-count{color:#ffffffc7;font-size:13px}.note-env-hint{color:#fff9;font-size:12px;font-style:italic}.note-env-later{color:#fffc;cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease);background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:6px 16px;font-size:12.5px}.note-env-later:hover{background:#ffffff1f;border-color:#ffffff8c}.note-letter{background:linear-gradient(180deg, #fffdf8, var(--surface));border-radius:14px;width:100%;max-width:460px;max-height:calc(100vh - 48px);padding:32px 34px;overflow-y:auto;box-shadow:0 30px 80px #1e0f4659}.note-letter h3{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;color:var(--ink);margin:0 0 2px;font-size:22px;font-weight:500}.note-letter-meta{color:var(--ink-3);margin-bottom:16px;font-size:12px;font-style:italic;display:block}.note-letter-body{color:var(--ink-2);border-top:1px solid var(--line);padding-top:14px;font-size:15px;line-height:1.75}.note-letter-body p{margin:0 0 10px}.note-letter-body>:last-child{margin-bottom:0}.note-letter-actions{justify-content:flex-end;margin-top:20px;display:flex}.diary-notes{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.diary-note{border-left:2px solid var(--lav-200);color:var(--ink-2);padding:2px 0 2px 12px;font-size:13.5px;line-height:1.7}.diary-note-head{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.diary-note-heading{align-items:baseline;gap:8px;min-width:0;display:flex}.diary-note-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;font-size:9.5px}.diary-note-when{color:var(--ink-3);white-space:nowrap;font-size:10.5px;font-style:italic}.diary-note-discard{color:var(--ink-3);cursor:pointer;opacity:0;transition:opacity .18s var(--ease), color .18s var(--ease);background:0 0;border:0;padding:0 4px;font-size:15px;line-height:1}.diary-note:hover .diary-note-discard,.diary-note-discard:focus-visible{opacity:1}.diary-note-discard:hover{color:#c64a6a}.diary-note p{margin:0 0 6px}.diary-note>:last-child{margin-bottom:0}.note-delete-modal{max-width:420px}.note-delete-meta{color:var(--ink-3);margin:-12px 0 12px;font-size:13px;font-style:italic}.note-delete-warn{color:var(--ink-2);margin:0;font-size:14px;line-height:1.65}.note-delete-error{color:#c64a6a;margin:12px 0 0;font-size:13px}.music-strip{height:26px;margin:10px 40px 0;position:relative}.music-rail{background:var(--lav-100);pointer-events:none;border-radius:999px;height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.music-dot{background:var(--lav-300);cursor:pointer;width:8px;height:8px;transition:transform .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);border:none;border-radius:50%;margin:-4px 0 0 -4px;padding:0;position:absolute;top:50%}.music-dot:hover,.music-dot.active{background:var(--lav-500);transform:scale(1.5);box-shadow:0 0 0 4px #7a55d81f}.music-card{background:var(--surface);border:1px solid var(--line);z-index:30;width:min(300px,86vw);animation:music-card-in .22s var(--ease);border-radius:14px;padding:12px 12px 10px;position:absolute;bottom:22px;transform:translate(-50%);box-shadow:0 12px 32px #3c237824}@keyframes music-card-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.music-card-month{letter-spacing:.14em;text-transform:uppercase;color:var(--lav-500);margin:0 6px 8px;font-size:11px;font-weight:500}.music-track{cursor:pointer;text-align:left;width:100%;transition:background .2s var(--ease);background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:5px 6px;display:flex}.music-track:hover:not(:disabled),.music-track.playing{background:var(--lav-50)}.music-track:disabled{cursor:default}.music-art{object-fit:cover;border-radius:6px;flex-shrink:0;width:28px;height:28px}.music-art.fallback{background:var(--lav-100);color:var(--lav-500);justify-content:center;align-items:center;font-size:13px;display:inline-flex}.music-track-main{flex-direction:column;flex:1;min-width:0;display:flex}.music-track-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.music-track-artist{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.music-track-count{color:var(--ink-3);flex-shrink:0;font-size:11px}.music-embed{border:none;border-radius:12px;width:100%;margin-top:8px;display:block}.music-hint{text-align:center;margin-top:8px}.music-hint a{color:var(--ink-3);border-bottom:1px dashed var(--lav-200);transition:color .2s var(--ease);font-size:12px;text-decoration:none}.music-hint a:hover{color:var(--lav-500)}.music-preview{margin-top:12px}.contact-fab{z-index:80;position:fixed;bottom:24px;right:32px}.contact-btn{color:var(--ink-2);box-shadow:0 6px 20px #5a3caa24}.contact-btn:hover{color:var(--lav-600)}.contact-btn.open{border-color:var(--lav-300);color:var(--lav-600);background:var(--lav-100)}.contact-panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;width:min(320px,100vw - 40px);padding:20px;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 18px 50px #3c237829}.contact-panel h3{font-family:var(--font-fraunces), serif;color:var(--ink);margin:0 0 4px;font-size:19px;font-weight:400}.contact-lead{color:var(--ink-2);margin:0 0 14px;font-size:13px;line-height:1.5}.contact-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.contact-chip{border:1px solid var(--line);background:var(--lav-50);color:var(--ink-2);cursor:pointer;transition:all .2s var(--ease);border-radius:999px;padding:4px 11px;font-family:inherit;font-size:12px}.contact-chip:hover{border-color:var(--line-2);background:var(--lav-100);color:var(--ink)}.contact-chip.on{border-color:var(--lav-300);background:var(--lav-100);color:var(--lav-600)}.contact-area{min-height:84px;font-size:13px}.contact-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;display:flex}.contact-actions .btn{padding:8px 18px;font-size:13px}.contact-actions .btn:disabled{opacity:.5;cursor:default}.contact-count{color:var(--ink-3);font-size:11px}.contact-error{color:#c64a6a;margin:10px 0 0;font-size:12px;line-height:1.45}.contact-sent{text-align:center;padding:6px 0 2px}.contact-sent p{color:var(--ink-2);margin:0;font-size:13px}@media (max-width:560px){.contact-fab{bottom:16px;right:16px}}
.plus-gate{text-align:center;max-width:460px;margin:48px auto 0}.plus-gate h3{margin-bottom:8px}.plus-gate p{color:var(--ink-3);margin-bottom:18px}.plus-pill{letter-spacing:.02em;color:var(--lav-600);background:color-mix(in oklab, var(--lav-500) 14%, transparent);border:1px solid color-mix(in oklab, var(--lav-500) 30%, transparent);border-radius:999px;padding:6px 14px;font-size:12px;display:inline-block}.char-counter{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.char-counter.near{color:#b07a1f}.char-counter.over{color:#c64a6a}.diary-editor-foot{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.terms-row{color:var(--ink-3);align-items:flex-start;gap:10px;margin:4px 0 14px;font-size:13px;display:flex}.terms-row input{margin-top:3px}.terms-row a,.oauth-terms a,.legal-links a{color:var(--lav-500)}.oauth-terms{text-align:center;margin-top:12px}.plan-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.plan-name{font-weight:600}.plan-caption{color:var(--ink-3);margin-top:2px;font-size:12px}.plan-budget{background:color-mix(in oklab, var(--ink-3) 18%, transparent);border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.plan-budget>span{background:var(--lav-500);border-radius:inherit;height:100%;display:block}.legal-links{text-align:center;margin-top:28px}.switch-row.disabled{opacity:.55}
.music-chip{z-index:80;background:var(--surface);border:1px solid var(--line);will-change:width, height;border-radius:20px;width:40px;height:40px;transition:width .18s cubic-bezier(.2,.8,.2,1),height .18s cubic-bezier(.2,.8,.2,1),border-radius .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;position:fixed;bottom:24px;left:24px;overflow:hidden;box-shadow:0 8px 24px #3c237829}.music-chip.expanded{border-radius:14px;width:min(340px,100vw - 48px);height:124px;box-shadow:0 12px 32px #3c23782e}.music-chip-face{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .1s;display:flex;position:absolute;inset:0}.music-chip-face .music-art{border-radius:50%;width:28px;height:28px}.music-chip-face:focus-visible{outline:2px solid var(--lav-300);outline-offset:-3px;border-radius:inherit}.music-chip.expanded .music-chip-face{opacity:0;pointer-events:none}.music-chip-body{opacity:0;pointer-events:none;transition:opacity .12s;position:absolute;top:0;left:0}.music-chip.expanded .music-chip-body{opacity:1;pointer-events:auto}.music-chip-head{align-items:center;gap:6px;height:44px;padding:0 8px 0 12px;display:flex}.music-chip-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.music-chip-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.music-chip-sub{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.music-chip-btn{width:26px;height:26px;color:var(--ink-2);cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.music-chip-btn:hover{background:var(--lav-50);color:var(--lav-600)}.music-chip-btn:focus-visible{outline:2px solid var(--lav-300);outline-offset:1px}.music-chip-embed{border:0;width:100%;height:80px;display:block}.music-track-list{scrollbar-width:thin;scrollbar-color:var(--lav-200) transparent;max-height:210px;overflow-y:auto}@media (max-width:560px){.music-chip{bottom:16px;left:16px}}
:root{--site-foot-h:34px}.site-foot{height:var(--site-foot-h);color:var(--ink-3);text-align:center;justify-content:center;align-items:center;font-size:12px;display:flex}.site-foot a{color:var(--ink-3);text-underline-offset:3px;text-decoration:underline}.site-foot a:hover{color:var(--lav-500)}.page{min-height:calc(100dvh - var(--site-foot-h))}.graph-page,.map-page{height:calc(100dvh - var(--site-foot-h))}
