@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2)format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2)format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff")}:root{--brand:#8f5bff;--action:#6550be;--action-ink:#514095;--on-action:#fff;--butter:#fff7df;--paper:#fffdf5;--ink:#232026;--ink-2:#3b3640;--muted:#696354;--soft:#ebe4f6;--lavender:#ded2f3;--coral:#ff6f61;--coral-ink:#b8432f;--coral-soft:#ffe3df;--line:#d9d0b9;--control:#81778f;--danger:#912d38;--danger-soft:#f6e3e3;--success:#25613e;--success-soft:#e1efe4;--warn:#7a4b00;--warn-soft:#fbebc8;--map-ground:#efe7d2;--r-sm:14px;--r-control:18px;--r-md:22px;--r-lg:32px;--r-xl:44px;--shadow-tile:0 26px 50px -36px #5140958c;--shadow-pop:0 40px 80px -36px #23202699;--shadow-button:0 16px 28px -16px #6550bebf;--ease:cubic-bezier(.22, 1, .36, 1);--sans:Inter, system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--sidebar:248px;--tabbar:74px;--max:1328px;--public-page-width:1240px;--public-page-inset:16px;--reading:760px}html{background:var(--butter);scrollbar-gutter:stable}body{background:var(--butter);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}*,:before,:after{box-sizing:border-box}img,video,svg{max-width:100%;display:block}h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}a{color:var(--action-ink)}a:hover{color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--action);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--butter);border-radius:999px;padding:12px 18px;position:absolute;top:-80px;left:16px}.skip-link:focus{top:16px}.mono{font-family:var(--mono);font-weight:500}.eyebrow{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--action-ink);font-size:11px;font-weight:500}.muted{color:var(--muted)}.ink-2{color:var(--ink-2)}.t-hero{letter-spacing:-.08em;font-size:clamp(52px,7vw,104px);font-weight:800;line-height:.9}.t-page{letter-spacing:-.07em;font-size:clamp(40px,4.8vw,72px);font-weight:800;line-height:.95}.t-section{letter-spacing:-.05em;font-size:clamp(22px,2.2vw,28px);font-weight:800;line-height:1.05}.t-card{letter-spacing:-.04em;font-size:21px;font-weight:800;line-height:1.15}.t-page em,.t-hero em,.t-section em{color:var(--action);font-style:normal}.lead{color:var(--ink-2);max-width:640px;font-size:17px}.hint{color:var(--muted);font-size:13px}.qb,.ab{letter-spacing:-.06em;padding:.38em .7em .44em;font-weight:800;line-height:1;display:inline-block}.qb{background:var(--paper);border:1px solid var(--line);border-radius:.6em .6em .6em .14em;box-shadow:0 20px 40px -30px #51409599}.ab{background:var(--action);color:#fff;border-radius:.6em .6em .14em;box-shadow:0 20px 40px -26px #6550becc}.ab em{color:var(--butter);font-style:normal}.ab.butter{background:var(--butter);color:var(--ink)}.bubble{background:var(--paper);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:20px 20px 20px 6px;align-self:flex-start;max-width:80%;padding:12px 16px}.bubble.me{background:var(--soft);border-color:#0000;border-radius:20px 20px 6px;align-self:flex-end}.bubble.vi{background:var(--action);color:#fff;border-color:#0000}.bubble.sys{border:1px dashed var(--control);font-family:var(--mono);color:var(--muted);background:0 0;border-radius:999px;align-self:center;max-width:none;padding:6px 14px;font-size:11px}.bubble.fail{border:1px solid var(--danger);background:var(--danger-soft)}.bubble .meta{font-family:var(--mono);color:var(--muted);margin-top:4px;font-size:10px;display:block}.day{font-family:var(--mono);color:var(--action-ink);background:var(--soft);border-radius:999px;align-self:center;padding:6px 12px;font-size:10px}.tile{border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-tile);border:1px solid #d9d0b9f2;min-width:0;position:relative}.tile.clip{overflow:hidden}.tile.flat{box-shadow:none}.tile.vi{background:var(--action);color:#fff;border-color:var(--action)}.tile.vi a:not(.btn){color:var(--butter)}.tile.ink{background:var(--ink);color:var(--butter);border-color:var(--ink)}.tile.lav{background:var(--lavender);border-color:var(--lavender)}.tile.soft{background:var(--soft);border-color:var(--soft)}.tile.danger{border:1.5px solid var(--danger);box-shadow:none}.tile.warn{border:1.5px solid var(--warn)}.tile.xl{border-radius:var(--r-xl)}.pad{padding:24px}.pad-lg{padding:clamp(22px,3vw,40px)}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.between{justify-content:space-between}.g4{gap:4px}.g8{gap:8px}.g12{gap:12px}.g16{gap:16px}.g20{gap:20px}.g24{gap:24px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;display:grid}.split{grid-template-columns:var(--split,minmax(0, 7fr) minmax(0, 5fr));align-items:start;gap:18px;display:grid}@media (width<=960px){.split{grid-template-columns:1fr}}.pill{background:var(--paper);border:1px solid var(--line);font-family:var(--mono);color:var(--ink);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:7px 13px;font-size:11px;display:inline-flex}.pill.vi{background:var(--action);border-color:var(--action);color:#fff}.pill.lav{background:var(--soft);color:var(--action-ink);border-color:#0000}.pill.ok{background:var(--success-soft);color:var(--success);border-color:#0000}.pill.err{background:var(--danger-soft);color:var(--danger);border-color:#0000}.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.pill.ink{background:var(--ink);border-color:var(--ink);color:var(--butter)}.pill.glass{color:#fff;background:#ffffff1a;border-color:#ffffff4d}.note{border-radius:var(--r-md);background:var(--soft);align-items:flex-start;gap:12px;padding:16px 18px;font-size:14px;display:flex}.note>svg{color:var(--action);flex:none;margin-top:2px}.note strong{display:block}.note.ok{background:var(--success-soft)}.note.ok>svg{color:var(--success)}.note.err{background:var(--danger-soft)}.note.err>svg{color:var(--danger)}.note.warn{background:var(--warn-soft)}.note.warn>svg{color:var(--warn)}.btn{--bg:var(--action);--fg:#fff;--bd:var(--action);background:var(--bg);min-height:52px;color:var(--fg);border:1px solid var(--bd);font-family:var(--mono);text-align:center;cursor:pointer;box-shadow:var(--shadow-button);transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .2s;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{color:var(--fg);transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn.ghost{--bg:transparent;--fg:var(--action-ink);--bd:var(--action);box-shadow:none}.btn.ghost:hover{background:var(--soft)}.btn.quiet{--bg:var(--paper);--fg:var(--ink);--bd:var(--control);box-shadow:none}.btn.butter{--bg:var(--butter);--fg:var(--ink);--bd:var(--butter);box-shadow:0 18px 30px -18px #23202699}.btn.outline-light{--bg:transparent;--fg:#fff;--bd:var(--butter);box-shadow:none}.btn.ink{--bg:var(--ink);--fg:var(--butter);--bd:var(--ink);box-shadow:none}.btn.danger{--bg:var(--danger);--fg:#fff;--bd:var(--danger);box-shadow:none}.btn.danger-ghost{--bg:var(--paper);--fg:var(--danger);--bd:var(--danger);box-shadow:none}.btn.google{--bg:var(--paper);--fg:var(--ink);--bd:var(--control);box-shadow:none;font-family:var(--sans);font-size:15px;font-weight:600}.btn.lg{min-height:58px;padding:0 30px;font-size:13px}.btn.sm{min-height:44px;padding:0 16px}.btn.block{width:100%}.btn.icon{width:52px;padding:0}.btn.icon.lg{width:64px}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none}.icon-btn{border:1px solid var(--line);background:var(--paper);width:48px;height:48px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.link{font-family:var(--mono);color:var(--action-ink);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:0;font-size:12px;text-decoration:underline;display:inline-flex}.link.danger{color:var(--danger)}.crumb{font-family:var(--mono);color:var(--action-ink);align-items:center;gap:8px;width:fit-content;min-height:44px;font-size:12px;text-decoration:none;display:inline-flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.label{font-size:14px;font-weight:600}.input{border-radius:var(--r-control);border:1px solid var(--control);background:var(--paper);width:100%;min-height:54px;padding:0 18px}textarea.input{resize:vertical;min-height:120px;padding:14px 18px;line-height:1.5}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 22px),calc(100% - 16px);background-repeat:no-repeat;background-size:6px 6px;padding-right:44px}.input:focus{border-color:var(--action);box-shadow:0 0 0 4px var(--soft);outline:none}.input[aria-invalid=true]{border:2px solid var(--danger)}.input:disabled{opacity:.6}.input-icon{position:relative}.input-icon>svg{color:var(--action);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.input-icon>.input{padding-left:48px}.error-text{color:var(--danger);align-items:center;gap:6px;font-size:13px;display:flex}.count{font-family:var(--mono);color:var(--muted);align-self:flex-end;font-size:11px}.divider{font-family:var(--mono);color:var(--muted);align-items:center;gap:14px;font-size:11px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.check{min-height:48px;color:var(--ink-2);cursor:pointer;align-items:flex-start;gap:12px;font-size:14px;display:flex}.check input{width:22px;height:22px;accent-color:var(--action);flex:none;margin:1px 0 0}.chip{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:14px;transition:background .2s,border-color .2s;display:inline-flex}.chip:hover{border-color:var(--action)}.chip[aria-pressed=true]{background:var(--soft);border-color:var(--action);color:var(--action-ink);font-weight:600}.chip:has(input:checked){background:var(--soft);border-color:var(--action);color:var(--action-ink);font-weight:600}.chip input{opacity:0;pointer-events:none;position:absolute}.chip:has(input:focus-visible){outline:3px solid var(--action);outline-offset:3px}.choice{border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;align-items:center;gap:14px;width:100%;min-height:68px;padding:12px 18px;display:flex;position:relative}.choice .ic{background:var(--soft);width:44px;height:44px;color:var(--action);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}.choice[aria-pressed=true]{border:2px solid var(--action);background:var(--soft)}.choice:has(input:checked){border:2px solid var(--action);background:var(--soft)}.choice:has(input:checked) .ic{background:var(--action);color:#fff}.choice input{opacity:0;position:absolute}.choice:has(input:focus-visible){outline:3px solid var(--action);outline-offset:3px}.switch{appearance:none;background:var(--line);cursor:pointer;border:0;border-radius:999px;flex:none;width:56px;height:32px;margin:0;padding:0;transition:background .3s;position:relative}.switch:after{content:"";width:24px;height:24px;transition:transform .35s var(--ease);background:#fff;border-radius:50%;position:absolute;top:4px;left:4px;box-shadow:0 2px 6px #0003}.switch:checked,.switch[aria-checked=true]{background:var(--action)}.switch:checked:after,.switch[aria-checked=true]:after{transform:translate(24px)}.switch:disabled{opacity:.55;cursor:not-allowed}.seg{background:var(--paper);border:1px solid var(--line);border-radius:26px;flex-wrap:wrap;gap:2px;max-width:100%;padding:4px;display:inline-flex}.seg>button,.seg>a{min-height:42px;font-family:var(--mono);color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:12px;text-decoration:none;display:inline-flex}.seg [aria-pressed=true],.seg [aria-current=page],.seg [aria-selected=true]{background:var(--action);color:#fff}.seg.block{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.steps{gap:8px;display:flex}.steps i{background:var(--line);border-radius:6px;flex:1;height:6px}.steps i.on{background:var(--action)}.range{width:100%;accent-color:var(--action);height:28px}.list{flex-direction:column;display:flex}.lrow{border-top:1px solid var(--line);min-height:72px;color:var(--ink);text-align:left;background:0 0;align-items:center;gap:16px;width:100%;padding:12px 20px;text-decoration:none;display:flex}.list>.lrow:first-child{border-top:0}a.lrow:hover,button.lrow:hover{background:#ebe4f680}.lrow .ic{background:var(--soft);width:44px;height:44px;color:var(--action);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}.lrow .tt{font-weight:600;display:block}.lrow .ds{color:var(--muted);font-size:13px;display:block}.lrow .chev{color:var(--control);flex:none;margin-left:auto}.lrow.hl{background:var(--soft)}.avatar{background:var(--lavender);color:var(--action-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex;overflow:hidden}.avatar img,.photo img{object-fit:cover;width:100%;height:100%}.photo{background:var(--lavender);color:var(--action-ink);letter-spacing:-.06em;justify-content:center;align-items:center;font-weight:900;display:flex;position:relative;overflow:hidden}.photo>img{position:absolute;inset:0}.date{background:var(--action);color:#fff;text-align:center;border-radius:20px;flex:none;width:72px;padding:10px 0 12px}.date b{letter-spacing:-.05em;font-size:30px;line-height:1;display:block}.date span{font-family:var(--mono);text-transform:uppercase;font-size:10px}.date.lav{background:var(--lavender);color:var(--action-ink)}.date.ink{background:var(--ink);color:var(--butter)}.banner{border-radius:20px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.banner.off{background:var(--ink);color:var(--butter)}.banner.upd{background:var(--action);color:#fff}.banner.ok{background:var(--success-soft);color:var(--success)}.scrim{z-index:80;background:#23202661;justify-content:center;align-items:center;padding:16px;animation:.25s both fp-fade;display:flex;position:fixed;inset:0}.dialog{background:var(--paper);border-radius:var(--r-lg);width:min(100%,540px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-pop);animation:fp-pop .5s var(--ease) both;padding:clamp(24px,4vw,36px);overflow:auto}.dialog.vi{background:var(--action);color:#fff;border-radius:var(--r-xl);position:relative;overflow:hidden}@media (width<=700px){.scrim.sheet-on-mobile{align-items:flex-end;padding:0}.scrim.sheet-on-mobile .dialog{width:100%;padding-bottom:calc(28px + env(safe-area-inset-bottom));border-radius:32px 32px 0 0}}.toast{left:50%;bottom:calc(24px + var(--tabbar-space,0px));z-index:90;background:var(--ink);color:var(--butter);box-shadow:var(--shadow-pop);animation:fp-pop .4s var(--ease) both;border-radius:22px 22px 22px 6px;max-width:calc(100% - 32px);padding:14px 22px;font-size:14px;position:fixed;transform:translate(-50%)}.sk{background:linear-gradient(90deg,#efe7d2 0%,#f7f0dc 40%,#efe7d2 80%) 0 0/300% 100%;border-radius:12px;animation:1.6s linear infinite fp-shimmer}.empty{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.empty .ic{background:var(--soft);width:84px;height:84px;color:var(--action);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.logo{color:var(--ink);letter-spacing:-.06em;align-items:center;gap:9px;font-size:23px;font-weight:800;text-decoration:none;display:inline-flex}.logo svg{flex:none;display:block;overflow:visible}.logo .brand-body{fill:var(--logo-body,var(--action))}.logo .brand-word{fill:var(--logo-word,var(--ink))}.logo .brand-heart{fill:var(--coral);transform-box:fill-box;transform-origin:50%;transition:transform .5s var(--ease)}.logo:hover .brand-heart{transform:scale(1.16)}@keyframes fp-fade{0%{opacity:0}to{opacity:1}}@keyframes fp-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fp-pop{0%{opacity:0;transform:scale(.92)translateY(10px)}60%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:none}}@keyframes fp-float{0%,to{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-10px) rotate(var(--r,0deg))}}@keyframes fp-spin{to{transform:rotate(360deg)}}@keyframes fp-beat{0%,60%,to{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}42%{transform:scale(1.1)}}@keyframes fp-ping{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}@keyframes fp-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes fp-typing{0%,80%,to{opacity:.25}40%{opacity:1}}@keyframes fp-out-left{to{opacity:0;transform:translate(-120%)rotate(-14deg)}}@keyframes fp-out-right{to{opacity:0;transform:translate(120%)rotate(14deg)}}@keyframes fp-kb{0%{transform:scale(1.02)}to{transform:scale(1.1)}}.anim-up{animation:fp-up .7s var(--ease) both}.anim-pop{animation:fp-pop .6s var(--ease) both}.anim-float{animation:6s ease-in-out infinite fp-float}.anim-spin{animation:30s linear infinite fp-spin}.anim-beat .brand-heart{transform-box:fill-box;transform-origin:50%;animation:fp-beat 1.6s var(--ease) infinite}.anim-kb{animation:16s ease-in-out infinite alternate fp-kb}.d1{animation-delay:80ms}.d2{animation-delay:.16s}.d3{animation-delay:.24s}.d4{animation-delay:.32s}.d5{animation-delay:.45s}.ping{border:2px solid var(--brand);animation:fp-ping 2.6s var(--ease) infinite;border-radius:50%;position:absolute}.typing span{background:var(--action);border-radius:50%;width:7px;height:7px;margin:0 2px;animation:1.2s infinite fp-typing;display:inline-block}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{gap:18px;min-height:100vh;padding:18px;display:flex}.side{flex:0 0 var(--sidebar);background:var(--action);color:#fff;border-radius:36px;flex-direction:column;align-self:flex-start;gap:28px;height:calc(100vh - 36px);padding:26px 16px 16px;display:flex;position:sticky;top:18px;overflow-y:auto}.side .logo{--logo-body:var(--butter);--logo-word:#fff;padding-left:10px}.side nav{flex-direction:column;gap:4px;display:flex}.side nav a{color:#fff;min-height:54px;transition:background .2s, padding .3s var(--ease);border-radius:20px;align-items:center;gap:12px;padding:0 18px;font-weight:600;text-decoration:none;display:flex}.side nav a:hover{background:#ffffff1a;padding-left:24px}.side nav a[aria-current=page]{background:var(--butter);color:var(--ink)}.side .me{color:#fff;background:#2320262e;border-radius:22px;align-items:center;gap:12px;min-width:0;margin-top:auto;padding:10px;text-decoration:none;display:flex}.side .me small{font-family:var(--mono);color:var(--butter);white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.side .about{font-family:var(--mono);color:var(--butter);align-items:center;min-height:44px;padding:0 10px;font-size:11px;display:inline-flex}.app-main{outline:none;flex-direction:column;flex:1;gap:18px;min-width:0;padding:8px 6px 24px;display:flex}.app-main.reading{max-width:980px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:10px 6px 4px;display:flex}.mtop,.tabbar{display:none}.tabbar a{color:var(--ink);font-family:var(--mono);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;text-decoration:none;display:flex;position:relative}.tabbar a[aria-current=page]{background:var(--action);color:#fff}.badge{background:var(--butter);min-width:22px;height:22px;color:var(--action-ink);border-radius:11px;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}@media (width<=900px){.app{padding:0 16px calc(var(--tabbar) + 30px + env(safe-area-inset-bottom));display:block}.side{display:none}.mtop{z-index:40;padding:calc(10px + env(safe-area-inset-top)) 4px 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff7dfeb;justify-content:space-between;align-items:center;gap:12px;margin:0 -4px;display:flex;position:sticky;top:0}.mtop .logo{font-size:21px}.tabbar{z-index:50;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));height:var(--tabbar);background:var(--paper);border:1px solid var(--line);border-radius:30px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;display:grid;position:fixed;box-shadow:0 20px 40px -24px #51409599}.tabbar .badge{background:var(--brand);color:#fff;min-width:18px;height:18px;font-size:10px;position:absolute;top:6px;right:18%}.app-main{gap:16px;padding:4px 0 0}.app.keyboard .tabbar{display:none}:root{--tabbar-space:calc(var(--tabbar) + 14px)}}.block{display:block}.switch-row{min-height:64px;padding:8px 0}.section-rule>*+*{border-top:1px solid var(--line)}.form-section{padding:24px 28px}.form-section h2{margin-bottom:4px}@media (width<=700px){.form-section{padding:20px}}.save-bar{bottom:calc(14px + var(--tabbar-space,0px));z-index:30;background:var(--soft);box-shadow:var(--shadow-tile);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky}.date.lg{border-radius:28px;width:120px;padding:14px 0 16px}.date.lg b{font-size:56px}.entry{width:min(calc(100% - 2 * var(--public-page-inset)), var(--public-page-width));flex-direction:column;gap:18px;min-height:calc(100dvh - 14px);margin:14px auto 0;padding:0 0 24px;display:flex}.entry-top{background:var(--paper);border:1px solid var(--line);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:8px 8px 8px 24px;display:flex}.entry-grid{flex:1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:18px;display:grid}.entry-card{border-radius:var(--r-xl);flex-direction:column;gap:20px;padding:clamp(24px,4vw,52px);display:flex}.entry-side{border-radius:var(--r-xl);flex-direction:column;justify-content:space-between;gap:24px;padding:32px;display:flex;overflow:hidden}.entry-side .art{aspect-ratio:1;border-radius:50%;align-self:center;width:min(100%,380px);position:relative;overflow:hidden}.entry-side .art img{object-fit:cover;width:100%;height:100%}.entry-narrow{width:min(100%,620px);margin:24px auto 0}@media (width<=900px){.entry-grid{grid-template-columns:1fr}.entry-side{display:none}.entry-top{padding-left:18px}}@media (width<=520px){.entry-top>.row>.mono{display:none}}.discover{grid-template-columns:290px minmax(0,1fr) 290px;align-items:start;gap:18px;display:grid}.discover.no-aside{grid-template-columns:290px minmax(0,1fr)}@media (width<=1240px){.discover,.discover.no-aside{grid-template-columns:280px minmax(0,1fr)}.discover>.discover-aside{display:none}}@media (width<=900px){.discover,.discover.no-aside{grid-template-columns:1fr}}.analytics-choice{z-index:80;bottom:calc(var(--tabbar,0px) + 20px);width:min(500px,100vw - 40px);max-height:calc(100vh - 120px);box-shadow:var(--shadow-pop);position:fixed;right:20px;overflow:auto}.deck{width:100%;max-width:480px;min-height:clamp(440px,62vh,640px);margin-inline:auto;position:relative}.deck .behind{background:var(--lavender);border-radius:40px;position:absolute;inset:20px -8px -12px 20px;transform:rotate(2.5deg)}.deck .card{background:var(--lavender);touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:40px;position:absolute;inset:0;overflow:hidden;box-shadow:0 40px 70px -40px #23202699}.deck .card .photo{font-size:140px;position:absolute;inset:0}.deck .glass{background:var(--paper);border-radius:28px;padding:20px 24px;position:absolute;bottom:14px;left:14px;right:14px}.deck .name{letter-spacing:-.075em;font-size:clamp(40px,5vw,60px);font-weight:900;line-height:.9}.deck .hint-label{font-family:var(--mono);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;position:absolute;top:24px}.deck .out-left{animation:fp-out-left .42s var(--ease) both}.deck .out-right{animation:fp-out-right .42s var(--ease) both}.map-box{background:var(--map-ground);border-radius:40px;min-height:560px;position:relative;overflow:hidden}.result-card{border-radius:32px;grid-template-columns:140px 1fr auto;align-items:center;gap:20px;padding:14px;display:grid}@media (width<=700px){.result-card{grid-template-columns:96px 1fr}.result-card .actions{flex-direction:row;grid-column:1/-1}}.thread{flex-direction:column;flex:1;justify-content:flex-end;gap:12px;padding:24px 6px;display:flex}.composer{bottom:calc(10px + var(--tabbar-space,0px));background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-tile);border-radius:30px;align-items:flex-end;gap:10px;padding:10px;display:flex;position:sticky}.composer textarea{resize:none;background:0 0;border:0;min-height:52px;max-height:200px}.composer textarea:focus{box-shadow:none}.lrow-ic{background:var(--soft);width:48px;height:48px;color:var(--action);border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex}.start-hero{flex-direction:column;justify-content:space-between;gap:28px;min-height:600px;padding:clamp(28px,4vw,52px);display:flex;overflow:hidden}.start-star{color:#ffffff24;position:absolute;top:-90px;right:-90px}.start-bubble{background:var(--butter);color:var(--action);border-radius:.36em .36em .36em .1em;margin-top:14px;padding:.08em .28em .14em;display:inline-block}.start-way{color:var(--ink);border-radius:26px;padding:18px 20px;text-decoration:none}.start-num{letter-spacing:-.08em;color:var(--brand);width:40px;font-size:44px;font-weight:900;line-height:1}.start-shield{background:var(--action);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:56px;height:56px;display:flex}@media (width<=960px){.start-hero{min-height:0}}.entry-main{flex-direction:column;flex:1;display:flex}.not-found,.auth-return{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;min-height:70vh;padding:48px 24px;display:flex;overflow:hidden}.not-found-code{letter-spacing:-.09em;color:var(--butter);font-size:clamp(140px,22vw,240px);font-weight:900;line-height:.8;position:relative}.auth-return-mark{width:180px;height:180px;color:var(--butter);justify-content:center;align-items:center;display:flex;position:relative}.auth-return-mark .anim-beat .brand-heart{animation-duration:2.4s}.clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-quote{background:var(--action);color:#fff;border-radius:22px 22px 6px;max-width:62%;padding:12px 16px;font-size:15px;font-weight:600;position:absolute;top:70px;right:18px}.preview-card{background:var(--lavender);border-radius:36px;height:560px;position:relative;overflow:hidden}.preview-card .photo,.deck .card .photo{font-size:140px;position:absolute;inset:0}.preview-card .glass{background:var(--paper);border-radius:26px;padding:20px 22px;position:absolute;bottom:14px;left:14px;right:14px}.deck.has-photo{min-height:0}.deck .card.has-photo{position:relative;inset:auto}.deck .card.has-photo .photo{aspect-ratio:4/3;width:100%;position:relative;inset:auto}.deck .card.has-photo .glass{margin:0 14px 14px;position:relative;inset:auto}.deck .card.has-photo .name{font-size:clamp(32px,4vw,44px)}@media (width>=901px){.deck .card.has-photo .photo{aspect-ratio:auto;height:clamp(190px,100dvh - 520px,300px)}.deck .card.has-photo .glass{padding:16px 20px}.deck .card.has-photo .name{font-size:clamp(28px,2.3vw,36px)}}.preview-card .name{letter-spacing:-.075em;font-size:48px;font-weight:900;line-height:.9}.family-token{text-align:center;letter-spacing:.06em;width:100%;color:var(--action-ink);background:0 0;border:0;font-size:clamp(22px,3vw,34px)}.parent-hero{background:var(--lavender);min-height:min(760px,78vh);position:relative}.parent-hero .photo{font-size:200px;position:absolute;inset:0}.parent-name{background:var(--butter);letter-spacing:-.08em;overflow-wrap:anywhere;border-radius:30px 30px 30px 8px;max-width:calc(100% - 40px);padding:12px 22px 16px;font-size:clamp(44px,6vw,76px);font-weight:900;line-height:.9;position:absolute;bottom:20px;left:20px}@media (width<=900px){.parent-hero{min-height:360px}}.decision{grid-template-columns:170px 1fr;gap:10px 16px;font-size:15px;display:grid}.decision dt{color:var(--muted)}@media (width<=600px){.decision{grid-template-columns:1fr;gap:2px}.decision dd{margin-bottom:10px}}.production-map,.production-map .discovery-map{position:absolute;inset:0}.map-reset{border:1px solid var(--line);background:var(--paper);min-height:44px;font-family:var(--mono);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:12px;display:inline-flex;position:absolute;top:18px;left:18px}.map-privacy{max-width:min(440px,100% - 36px);color:var(--ink-2);background:#fffdf5eb;border-radius:16px;padding:8px 14px;font-size:12px;position:absolute;bottom:18px;left:18px}.map-render-error{position:absolute;inset:auto 18px 70px}.map-person{cursor:pointer;font:600 12px var(--sans);color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;display:flex}.map-person img,.map-person:before{border:3px solid var(--paper);object-fit:cover;background:var(--lavender);border-radius:50%;width:52px;height:52px;box-shadow:0 8px 16px -6px #23202680}.map-person span{background:var(--paper);border-radius:999px;padding:2px 8px}.map-person.selected img{border-color:var(--action);box-shadow:0 0 0 3px var(--action)}.map-card{border-radius:28px;align-items:center;gap:14px;width:min(360px,100% - 36px);padding:16px;display:flex;position:absolute;top:18px;right:18px}.map-card a{color:var(--ink);text-decoration:none}.match-reply{background:var(--lavender);color:var(--ink);letter-spacing:-.04em;border-radius:22px 22px 8px;margin:10px 0 0 50px;padding:12px 20px;font-size:22px;font-weight:800;display:inline-block}.deck-end{justify-content:center;min-height:clamp(380px,52vh,560px)}@media (width<=900px){.map-box{min-height:480px}}.seg.block>button{padding:0 8px}.app.keyboard{--tabbar-space:0px;padding-bottom:18px}.thread-head{z-index:20;border-radius:30px;align-items:center;gap:14px;padding:12px 16px;display:flex;position:sticky;top:0}@media (width<=900px){.thread-head{top:72px}}.thread-menu{position:relative}.thread-menu summary{cursor:pointer;list-style:none}.thread-menu summary::-webkit-details-marker{display:none}.thread-menu-panel{z-index:30;border-radius:22px;width:240px;padding:12px;position:absolute;top:56px;right:0}.activity-row{border-radius:30px;align-items:center;gap:16px;padding:14px;display:flex;position:relative}.activity-row .stretched{color:var(--ink);text-decoration:none}.activity-row .stretched:after{content:"";border-radius:30px;position:absolute;inset:0}.activity-row:hover{border-color:var(--action)}.activity-hero{flex-wrap:wrap;align-items:center;gap:28px;padding:clamp(22px,3vw,34px);display:flex}.activity-art{border-radius:26px;height:220px;position:relative;overflow:hidden}.activity-art img{object-fit:cover;width:100%;height:100%}.step-no{color:var(--action);vertical-align:middle;margin-right:8px;font-size:.6em}.session-check{min-height:100vh;color:var(--action);font-family:var(--mono);flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:12px;display:flex}.session-check span{color:var(--muted)}.session-check .anim-beat .brand-heart{animation-duration:1.4s}@media (width<=600px){.note{flex-wrap:wrap}.note>.btn{width:100%}}.filters-toggle{display:none}@media (width<=900px){.filters-toggle{justify-content:space-between;width:100%;display:inline-flex}.discover-filters:not(.open){display:none}.page-head .seg{grid-auto-columns:1fr;grid-auto-flow:column;width:100%;display:grid}}.install-sheet{z-index:60;width:min(420px,100% - 32px);box-shadow:var(--shadow-pop);border-radius:28px;align-items:flex-start;gap:16px;padding:20px;display:flex;position:fixed;bottom:24px;right:24px}.install-icon{background:var(--action);width:56px;height:56px;color:var(--butter);border-radius:18px;flex:none;justify-content:center;align-items:center;display:flex}.banner .btn.outline-light{min-height:40px}@media (width<=900px){.install-sheet{width:auto;left:16px;right:16px;bottom:calc(var(--tabbar) + 30px + env(safe-area-inset-bottom))}.banner{flex-wrap:wrap}}@media (width<=420px){.start-way{gap:10px;padding:14px}.start-way>svg{display:none}.start-num{width:24px;font-size:32px}}@media (width<=520px){.start-privacy{flex-direction:column;align-items:flex-start}}
