.eb{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:560px;margin:8vh auto 0;display:flex}.eb__art{background:var(--field);width:72px;height:72px;color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;place-items:center;margin-bottom:8px;display:grid;position:relative}.eb__ring{border:1px dashed var(--line-strong);border-radius:50%;animation:40s linear infinite fh-spin;position:absolute;inset:-14px}.eb__title{letter-spacing:-.04em;text-wrap:balance;padding-bottom:4px;font-size:48px;font-weight:700;line-height:1.04}.eb__body{text-wrap:pretty;max-width:440px}.eb__detail{border-radius:var(--r-sm);background:var(--field);text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:4px 10px;overflow:hidden}.eb__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}@media (width<=767px){.eb{margin-top:4vh}.eb__title{font-size:34px}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");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}:root,[data-theme=dark]{--bg:#0b0b0b;--sidebar:#0f0f0f;--surface:#151515;--surface-2:#1a1a1a;--field:#1f1f1f;--overlay:#242424;--hover:#2d2d2d;--black:#000;--line:#ffffff12;--line-strong:#ffffff1f;--text:#f3f3f3;--text-2:#8f8f8f;--text-3:#6d6d6d;--accent:#2b3bff;--accent-hover:#4351ff;--accent-ink:#7c87ff;--on-accent:#fff;--pink:#f47b85;--pink-ink:#f47b85;--on-pink:#1a0b10;--success:#3dd68c;--warning:#f5b83d;--danger:#ff5c47;--accent-tint:#2b3bff33;--pink-tint:#f47b8524;--success-tint:#3dd68c24;--warning-tint:#f5b83d24;--danger-tint:#ff5c4724;--neutral-tint:#ffffff12;--accent-wash:#2b3bff12;--pink-wash:#f47b850f;--tick-empty:#ffffff1a;--toggle-off:var(--hover);--skeleton:#ffffff0a;--skeleton-shine:#ffffff0d;--scrim:#0009;--shadow-overlay:0 16px 48px #00000080, 0 0 0 1px var(--line-strong);--shadow-card:0 0 #0000;--shadow-black:0 0 0 1px var(--line);--card-line:transparent;--glow-accent:0 8px 24px -8px #2b3bff99;--focus:0 0 0 1px #2b3bff, 0 0 0 4px #2b3bff52;--grad:linear-gradient(95deg, #7c87ff 10%, #f47b85 90%);--series-1:#f3f3f5;--series-2:#7c87ff;--series-3:#f47b85;--series-4:#5cc8b0;color-scheme:dark}[data-theme=light]{--bg:#f6f6f8;--sidebar:#efeff2;--surface:#fff;--surface-2:#f6f6f8;--field:#f0f0f3;--overlay:#fff;--hover:#e8e8ec;--black:#fff;--line:#0a0a1414;--line-strong:#0a0a1424;--text:#0b0b0e;--text-2:#5f6068;--text-3:#8e8f97;--accent:#2b3bff;--accent-hover:#4351ff;--accent-ink:#2b3bff;--on-accent:#fff;--pink:#f47b85;--pink-ink:#c42b44;--on-pink:#1a0b10;--success:#0b7f48;--warning:#9a5b00;--danger:#c8361c;--accent-tint:#2b3bff1a;--pink-tint:#f47b853d;--success-tint:#0b7f481a;--warning-tint:#9a5b001a;--danger-tint:#c8361c1a;--neutral-tint:#0a0a140f;--accent-wash:#2b3bff0d;--pink-wash:#f47b851f;--tick-empty:#0a0a141f;--toggle-off:#86878f;--skeleton:#0a0a140d;--skeleton-shine:#fff9;--scrim:#0a0a1452;--shadow-overlay:0 16px 48px #0a0a1424, 0 0 0 1px var(--line);--shadow-card:0 1px 2px #0a0a140a;--shadow-black:0 1px 2px #0a0a140d, 0 12px 32px -12px #0a0a141f, 0 0 0 1px var(--line);--card-line:var(--line);--glow-accent:0 8px 24px -8px #2b3bff73;--focus:0 0 0 1px #2b3bff, 0 0 0 4px #2b3bff38;--grad:linear-gradient(95deg, #2b3bff 10%, #c42b44 90%);--series-1:#0b0b0e;--series-2:#2b3bff;--series-3:#e8606c;--series-4:#1f9c84;color-scheme:light}:root{--font-sans:"Geist Variable", "Geist", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, monospace;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-modal:16px;--r-full:999px;--btn-radius:var(--r-full);--ease:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.4, .5, 1);--d-hover:.12s;--d-ctrl:.18s;--d-sheet:.24s;--d-swap:.3s;--gutter:40px;--max:1200px;--max-wide:1440px;--max-read:680px;--card-gap:20px;--aside-w:400px;--subnav-w:240px;--subnav-gap:48px;--sidebar-w:264px;--rail-w:64px;--topbar-h:56px;--dock-base:0px;--demo-space:0px;--dock-space:calc(var(--dock-base) + var(--demo-space))}@media (width>=768px){:root{--topbar-h:0px}}@media (width<=1023px){:root{--gutter:24px}}@media (width<=767px){:root{--gutter:16px;--dock-base:calc(96px + env(safe-area-inset-bottom))}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);scrollbar-gutter:stable}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:15px;line-height:1.6;overflow-x:clip}img,svg,video,canvas{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}input,textarea,select{font:inherit;color:inherit}ul,ol{padding:0;list-style:none}table{border-collapse:collapse;width:100%}h1,h2,h3,h4{text-wrap:balance;font-weight:700}p{text-wrap:pretty}hr{background:var(--line);border:0;height:1px}::selection{background:var(--accent);color:var(--on-accent)}::placeholder{color:var(--text-3);opacity:1}:focus{outline:none}:focus-visible{box-shadow:var(--focus);border-radius:var(--r-sm);outline:none}.theme-scope{background:var(--bg);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--hover) transparent}.page-title{letter-spacing:-.03em;font-size:32px;font-weight:700;line-height:1.1}.section-title{letter-spacing:-.012em;font-size:18px;font-weight:600;line-height:1.3}.card-title{letter-spacing:-.006em;font-size:17px;font-weight:600;line-height:1.35}.lede{color:var(--text-2);font-size:17px;font-weight:500;line-height:1.5}.lede strong,.meta strong,.text-2 strong{color:var(--text);font-weight:600}.body-l{font-size:17px;line-height:1.55}.meta{color:var(--text-2);font-size:13px;font-weight:500;line-height:1.45}.small{font-size:13px;line-height:1.45}.tiny{font-size:12px;line-height:1.4}.mono,.num{font-family:var(--font-mono);font-feature-settings:"zero", "tnum";letter-spacing:-.01em}.num{font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);letter-spacing:normal;color:var(--text-2);align-items:center;gap:10px;font-size:12px;font-weight:500;line-height:1.3;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);border-radius:1px;flex:none;width:7px;height:7px}.eyebrow--plain:before{display:none}.eyebrow--pink:before{background:var(--pink)}.label-caps{letter-spacing:normal;font-size:12px;font-weight:600;line-height:1.2}.text-gradient{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.text-1{color:var(--text)}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.tone-accent{color:var(--accent-ink)}.tone-pink{color:var(--pink-ink)}.tone-success{color:var(--success)}.tone-warning{color:var(--warning)}.tone-danger{color:var(--danger)}.tone-neutral{color:var(--text-2)}.strong{color:var(--text);font-weight:600}.bold{font-weight:700}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.clamp-2,.clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp-2{-webkit-line-clamp:2;line-clamp:2}.clamp-3{-webkit-line-clamp:3;line-clamp:3}.right{text-align:right}.center{text-align:center}.link{color:var(--accent-ink);text-underline-offset:3px;transition:text-decoration-color var(--d-hover) var(--ease);border-radius:2px;font-weight:500;text-decoration:underline #0000}.link:hover{text-decoration-color:currentColor}.link-quiet{color:var(--text-2);transition:color var(--d-hover) var(--ease)}.link-quiet:hover{color:var(--text)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=767px){.page-title{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-reduce-motion] *,:root[data-reduce-motion] :before,:root[data-reduce-motion] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@keyframes fh-fade-in{0%{opacity:0}}@keyframes fh-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fh-swap{0%{opacity:0;filter:blur(8px)}}@keyframes fh-spin{to{transform:rotate(360deg)}}@keyframes fh-ping{0%{opacity:.6;transform:scale(1)}70%,to{opacity:0;transform:scale(3)}}@keyframes fh-pulse{50%{opacity:.35}}@keyframes fh-shimmer{to{transform:translate(100%)}}.enter{animation:fh-rise var(--d-swap) var(--ease) both}.swap{animation:fh-swap var(--d-swap) var(--ease) both}.stagger>*{animation:fh-rise .4s var(--ease) both}.stagger>:nth-child(2){animation-delay:60ms}.stagger>:nth-child(3){animation-delay:.12s}.stagger>:nth-child(4){animation-delay:.18s}.stagger>:nth-child(5){animation-delay:.24s}.stagger>:nth-child(n+6){animation-delay:.3s}.page{width:100%;max-width:calc(var(--max-wide) + var(--gutter) * 2);padding:96px var(--gutter) calc(96px + var(--dock-space));gap:var(--card-gap);flex-direction:column;margin-inline:auto;display:flex}.page--narrow{max-width:calc(var(--max-read) + var(--gutter) * 2)}.page--full{max-width:none}.page--flush{padding-bottom:0}.page--composer{padding-bottom:calc(140px + var(--dock-space))}.page>*{z-index:1;position:relative}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:8px;display:flex}.page-head__text{flex-direction:column;flex:420px;gap:10px;min-width:0;display:flex}.page-head__sub{max-width:640px}.page-head__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-head__meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.page-head__back{color:var(--text-2);border-radius:var(--r-sm);transition:color var(--d-hover) var(--ease);align-self:flex-start;align-items:center;gap:6px;margin-bottom:4px;font-size:13px;font-weight:500;display:inline-flex}.page-head__back:hover{color:var(--text)}.page-head__back svg{transition:transform var(--d-hover) var(--ease)}.page-head__back:hover svg{transform:translate(-2px)}.section{flex-direction:column;gap:16px;display:flex}.section__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.section__text{flex-direction:column;gap:4px;min-width:0;display:flex}.stack{gap:var(--card-gap);flex-direction:column;min-width:0;display:flex}.stack-1{flex-direction:column;gap:4px;min-width:0;display:flex}.stack-2{flex-direction:column;gap:8px;min-width:0;display:flex}.stack-3{flex-direction:column;gap:12px;min-width:0;display:flex}.stack-4{flex-direction:column;gap:16px;min-width:0;display:flex}.stack-6{flex-direction:column;gap:24px;min-width:0;display:flex}.stack-8{flex-direction:column;gap:32px;min-width:0;display:flex}.stack-10{flex-direction:column;gap:40px;min-width:0;display:flex}.row{align-items:center;gap:12px;min-width:0;display:flex}.row-1{align-items:center;gap:4px;min-width:0;display:flex}.row-2{align-items:center;gap:8px;min-width:0;display:flex}.row-3{align-items:center;gap:12px;min-width:0;display:flex}.row-4{align-items:center;gap:16px;min-width:0;display:flex}.row-6{align-items:center;gap:24px;min-width:0;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.end{justify-content:flex-end}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.grow{flex:auto;min-width:0}.shrink-0{flex-shrink:0}.ml-auto{margin-left:auto}.grid{gap:var(--card-gap);min-width:0;display:grid}.grid>*{min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.grid-5-7{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.grid-8-4{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}.grid-auto-s{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr))}.gap-2{gap:8px}.gap-3{gap:12px}.gap-6{gap:24px}.span-2{grid-column:span 2}.span-all{grid-column:1/-1}.tiles{gap:var(--card-gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}.tiles>*{min-width:0}.split{gap:var(--card-gap);grid-template-columns:minmax(0, 1fr) var(--aside-w);align-items:start;display:grid}.sticky-top{top:calc(var(--topbar-h) + 24px);position:sticky}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.w-full{width:100%}@media (width<=1023px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-7-5,.grid-5-7,.grid-8-4{grid-template-columns:minmax(0,1fr)}.page{padding-top:72px}.tiles,.tiles--3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr)}.sticky-top{position:static}.hide-tablet{display:none!important}}@media (width>=600px) and (width<=1023px){.tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.page{padding-top:32px}.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.hide-mobile{display:none!important}}@media (width<=479px){.tiles,.tiles--3{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:-4px calc(var(--gutter) * -1) -24px;padding:4px var(--gutter) 24px;scroll-padding-inline:var(--gutter);grid-template-columns:none;grid-auto-columns:80%;grid-auto-flow:column;gap:12px;overflow-x:auto}.tiles::-webkit-scrollbar{display:none}.tiles>*{scroll-snap-align:start}}@media (width>=768px){.show-mobile{display:none!important}}@media (width>=1024px){.show-tablet-down{display:none!important}}.logo{color:var(--text);align-items:center;gap:9px;display:inline-flex}.logo-mark{flex:none}.logo__word{letter-spacing:-.05em;font-weight:700;line-height:1}.spinner{color:currentColor;flex:none;place-items:center;display:inline-grid}.spinner svg{animation:.8s linear infinite fh-spin}span.spinner:empty{border:2px solid color-mix(in srgb, currentColor 20%, transparent);border-top-color:currentColor;border-radius:50%;animation:.8s linear infinite fh-spin}.kbd{border-radius:var(--r-xs);background:var(--hover);min-width:20px;height:20px;box-shadow:inset 0 -1px 0 var(--line-strong);color:var(--text-2);font-family:var(--font-mono);justify-content:center;align-items:center;padding:0 5px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.btn{--btn-h:36px;height:var(--btn-h);border-radius:var(--btn-radius);letter-spacing:-.006em;white-space:nowrap;user-select:none;transition:background-color var(--d-hover) var(--ease), box-shadow var(--d-hover) var(--ease), color var(--d-hover) var(--ease), opacity var(--d-hover) var(--ease), transform var(--d-hover) var(--ease);flex:none;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:600;line-height:1;display:inline-flex;position:relative}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.4}.btn.is-loading{opacity:1}.btn__inner{align-items:center;gap:8px;min-width:0;display:inline-flex}.btn__label{text-overflow:ellipsis;overflow:hidden}.btn.is-loading .btn__inner{visibility:hidden}.btn__spinner{margin:auto;position:absolute;inset:0}.btn--s{--btn-h:28px;padding:0 12px;font-size:13px}.btn--s .btn__inner{gap:6px}.btn--l{--btn-h:44px;padding:0 18px;font-size:15px}.btn--icon{width:var(--btn-h);border-radius:50%;padding:0}.btn--block{width:100%;display:flex}.btn--pill{border-radius:var(--r-full)}.btn--pill.btn--l{padding:0 22px}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--glow-accent)}.btn--secondary{background:var(--text);color:var(--bg)}.btn--secondary:hover:not(:disabled){background:color-mix(in srgb, var(--text) 86%, var(--bg))}.btn--outline{color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.btn--outline:hover:not(:disabled){background:color-mix(in srgb, var(--text) 8%, transparent)}.btn--ghost,.btn--tertiary{color:var(--text-2)}.btn--ghost:hover:not(:disabled),.btn--tertiary:hover:not(:disabled),.btn--ghost[aria-expanded=true],.btn--tertiary[aria-expanded=true]{background:var(--field);color:var(--text)}.btn--danger{background:var(--danger-tint);color:var(--danger)}.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 22%, transparent)}.btn--danger-solid{background:var(--danger);color:#fff}.btn--danger-solid:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 88%, #fff)}.btn:focus-visible{box-shadow:var(--focus)}.icon-btn{overflow:visible}.icon-btn__badge{border-radius:var(--r-full);background:var(--text);min-width:18px;height:18px;color:var(--bg);font-family:var(--font-mono);text-align:center;box-shadow:0 0 0 2px var(--bg);padding:0 5px;font-size:12px;font-weight:600;line-height:18px;position:absolute;top:-4px;right:-4px}.icon-btn__badge--dot{background:var(--text);width:8px;min-width:8px;height:8px;padding:0;top:5px;right:5px}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field__top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field__label{color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.field__optional{color:var(--text-2);margin-left:8px;font-weight:400}.field__aside{color:var(--text-2);font-size:13px}.field__hint{color:var(--text-2);font-size:13px;line-height:1.45}.field__error{color:var(--danger);font-size:13px;font-weight:500;line-height:1.45}.input{border-radius:var(--r-md);background:var(--field);height:44px;color:var(--text);transition:box-shadow var(--d-hover) var(--ease), background-color var(--d-hover) var(--ease);align-items:center;gap:10px;padding:0 14px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #0000}.input:hover{box-shadow:inset 0 0 0 1px var(--line-strong)}.input:focus-within{box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 4px #2b3bff3d}.input.is-invalid{box-shadow:inset 0 0 0 1px var(--danger)}.input.is-invalid:focus-within{box-shadow:inset 0 0 0 1px var(--danger), 0 0 0 4px var(--danger-tint)}.input.is-disabled{opacity:.5}.input--l{height:52px;padding:0 16px}.input--l .input__el{font-size:16px}.input--pill{border-radius:var(--r-full);padding-left:20px}.input__icon{color:var(--text-2);flex:none}.input__affix{color:var(--text-2);flex:none;font-size:15px}.input__affix--end{margin-left:auto}.input__el{min-width:0;height:100%;color:inherit;background:0 0;border:0;outline:none;flex:auto;padding:0;font-size:15px}.input__el:focus-visible{box-shadow:none}.input--money{gap:6px}.input--money .input__el,.input--money .input__affix{font-family:var(--font-mono);font-feature-settings:"zero", "tnum"}.input--date .input__el{font-family:var(--font-mono);font-size:14px}.input--date .input__el::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}.input--date .input__el::-webkit-calendar-picker-indicator:hover{opacity:1}.select .input__el{appearance:none;cursor:pointer;padding-right:26px}.select .input__el option{background:var(--surface-2);color:var(--text)}.select.is-placeholder .input__el{color:var(--text-3)}.select__chevron{pointer-events:none;color:var(--text-2);position:absolute;right:14px}.textarea{border-radius:var(--r-md);background:var(--field);width:100%;min-height:96px;color:var(--text);resize:vertical;transition:box-shadow var(--d-hover) var(--ease);border:0;padding:12px 14px;font-size:15px;line-height:1.6;display:block;box-shadow:inset 0 0 0 1px #0000}.textarea:hover{box-shadow:inset 0 0 0 1px var(--line-strong)}.textarea:focus,.textarea:focus-visible{border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 4px #2b3bff3d;outline:none}.textarea.is-invalid{box-shadow:inset 0 0 0 1px var(--danger)}@media (width<=767px){.input__el,.textarea{font-size:16px}}.check{cursor:pointer;align-items:flex-start;gap:10px;min-width:0;display:inline-flex;position:relative}.check.is-disabled{opacity:.45;cursor:not-allowed}.check__input,.toggle__input,.radio-card__input,.seg__input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.check__box{border-radius:var(--r-xs);background:var(--field);width:16px;height:16px;box-shadow:inset 0 0 0 1.5px var(--line-strong);color:#0000;transition:background-color var(--d-ctrl) var(--ease), box-shadow var(--d-ctrl) var(--ease), color var(--d-ctrl) var(--ease);flex:none;place-items:center;margin-top:3px;display:grid}.check:hover .check__box{box-shadow:inset 0 0 0 1.5px var(--text-3)}.check__box.is-on{background:var(--accent);box-shadow:none;color:#fff}.check__input:focus-visible+.check__box{box-shadow:var(--focus)}.check__text{flex-direction:column;gap:2px;min-width:0;display:flex}.check__label{font-size:14px;font-weight:500;line-height:1.5}.check__desc{color:var(--text-2);font-size:13px;line-height:1.45}.toggle{cursor:pointer;flex:none;align-items:center;display:inline-flex;position:relative}.toggle.is-disabled{opacity:.45;cursor:not-allowed}.toggle__track{border-radius:var(--r-full);background:var(--toggle-off);width:36px;height:20px;transition:background-color var(--d-ctrl) var(--ease);flex:none;position:relative}.toggle__track.is-on{background:var(--accent)}.toggle__thumb{width:16px;height:16px;transition:transform var(--d-ctrl) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.toggle__track.is-on .toggle__thumb{transform:translate(16px)}.toggle__input:focus-visible+.toggle__track{box-shadow:var(--focus)}.toggle--row{justify-content:space-between;gap:24px;width:100%;padding:4px 0;display:flex}.toggle__text{flex-direction:column;gap:2px;min-width:0;display:flex}.toggle__label{font-size:15px;font-weight:500;line-height:1.4}.toggle__desc{color:var(--text-2);font-size:13px;line-height:1.45}.radio-cards{gap:8px;display:grid}.radio-cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}.radio-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}.radio-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=767px){.radio-cards--3,.radio-cards--4{grid-template-columns:minmax(0,1fr)}}@media (width<=479px){.radio-cards--2{grid-template-columns:minmax(0,1fr)}}.radio-card{border-radius:var(--r-lg);background:var(--surface-2);cursor:pointer;transition:background-color var(--d-ctrl) var(--ease);align-items:flex-start;gap:12px;padding:16px;display:flex;position:relative}.radio-card:hover{background:var(--field)}.radio-card.is-on{background:var(--hover)}.radio-card.is-disabled{opacity:.45;cursor:not-allowed}.radio-card:has(.radio-card__input:focus-visible){box-shadow:inset 0 0 0 1.5px var(--accent), 0 0 0 4px #2b3bff3d}.radio-card__dot{width:16px;height:16px;box-shadow:inset 0 0 0 1.5px var(--line-strong);transition:box-shadow var(--d-ctrl) var(--ease);border-radius:50%;flex:none;margin-top:2px}.radio-card.is-on .radio-card__dot{box-shadow:inset 0 0 0 5px var(--accent)}.radio-card__icon{background:var(--field);width:32px;height:32px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;margin-top:-6px;display:grid}.radio-card__text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.radio-card__label{font-size:15px;font-weight:600;line-height:1.35}.radio-card__desc{color:var(--text-2);font-size:13px;line-height:1.45}.radio-card__meta{font-family:var(--font-mono);flex:none;margin-left:auto;font-size:14px;font-weight:600}.seg-wrap{flex-direction:column;align-self:flex-start;align-items:flex-start;gap:8px;max-width:100%;display:inline-flex}.seg-wrap--block{align-self:stretch;align-items:stretch;width:100%;display:flex}.seg{border-radius:var(--r-md);background:var(--field);scrollbar-width:none;align-items:stretch;max-width:100%;height:40px;padding:4px;display:inline-flex;position:relative;overflow-x:auto}.seg--s{height:34px}.seg--block{display:flex}.seg--block .seg__opt{flex:1}.seg__thumb{background:var(--hover);transition:transform var(--d-ctrl) var(--ease), width var(--d-ctrl) var(--ease);border-radius:7px;position:absolute;top:4px;bottom:4px;left:0;box-shadow:0 1px 2px #00000040}[data-theme=light] .seg__thumb{background:var(--surface);box-shadow:0 1px 3px #0a0a141f}.seg__opt{z-index:1;color:var(--text-2);white-space:nowrap;cursor:pointer;transition:color var(--d-ctrl) var(--ease);border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex;position:relative}.seg__opt:hover,.seg__opt.is-on{color:var(--text)}.seg__opt:has(>span>.sr-only:only-child){gap:0;width:40px;padding:0}.seg--s .seg__opt:has(>span>.sr-only:only-child){width:36px}.seg__opt:has(>span>.sr-only:only-child)>span{position:absolute}.seg__opt.is-disabled{opacity:.4;cursor:not-allowed}.seg__opt:has(.seg__input:focus-visible){box-shadow:var(--focus)}.seg__hint{color:var(--text-2);font-size:13px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:var(--r-full);background:var(--field);height:28px;box-shadow:inset 0 0 0 1px var(--line);color:var(--text);white-space:nowrap;transition:background-color var(--d-hover) var(--ease), box-shadow var(--d-hover) var(--ease), color var(--d-hover) var(--ease);align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.chip svg{color:var(--text-2);flex:none}.chip--choice{height:36px;color:var(--text-2);padding:0 14px;font-size:14px}.chip--choice:hover:not(:disabled){color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.chip--choice:disabled{opacity:.4}.chip.is-on{background:var(--accent-tint);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 70%, transparent)}.chip.is-on svg{color:var(--accent-ink)}.chip__btn{border-radius:inherit;align-items:center;gap:6px;height:100%;display:inline-flex}.chip:has(.chip__btn){padding:0}.chip:has(.chip__btn) .chip__btn{padding:0 10px}.chip--removable{padding-right:4px}.chip--removable:has(.chip__btn) .chip__btn{padding-right:2px}.chip__x{width:20px;height:20px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.chip__x:hover{background:var(--hover);color:var(--text)}.drop{border-radius:var(--r-lg);background:var(--surface-2);border:1.5px dashed var(--line-strong);transition:border-color var(--d-hover) var(--ease), background-color var(--d-hover) var(--ease)}.drop:hover:not(.is-disabled){border-color:var(--text-3)}.drop.is-over{border-color:var(--accent);background:var(--accent-wash)}.drop.is-disabled{opacity:.6}.drop__btn{border-radius:inherit;text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;padding:28px 20px;display:flex}.drop__icon{background:var(--field);width:44px;height:44px;color:var(--accent-ink);border-radius:50%;place-items:center;display:grid}.drop.is-over .drop__icon{background:var(--accent);color:#fff}.drop__text{flex-direction:column;gap:4px;display:flex}.drop__title{font-size:15px;font-weight:600}.drop__hint{color:var(--text-2);font-size:13px}.drop--compact .drop__btn{text-align:left;flex-direction:row;padding:12px 14px}.drop--compact .drop__icon{width:32px;height:32px}.drop--compact .drop__title{font-size:14px;font-weight:500}.code{grid-auto-flow:column;align-self:flex-start;gap:8px;display:inline-grid;position:relative}.code__input{opacity:0;caret-color:#0000;cursor:text;border:0;width:100%;font-size:16px;position:absolute;inset:0}.code__cell{border-radius:var(--r-md);background:var(--field);width:48px;height:56px;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--d-hover) var(--ease);place-items:center;font-size:24px;font-weight:600;display:grid}.code__cell.is-active{box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 4px #2b3bff3d}.code.is-invalid .code__cell{box-shadow:inset 0 0 0 1px var(--danger)}.code.is-disabled{opacity:.5}@media (width<=400px){.code{gap:6px}.code__cell{width:42px;height:52px}}.tabs{scrollbar-width:none;align-items:center;gap:4px;max-width:100%;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs{--fade-start:0px;--fade-end:0px}.tabs.has-more-start{--fade-start:32px}.tabs.has-more-end{--fade-end:32px}.tabs:is(.has-more-start,.has-more-end){-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent)}.tab{border-radius:var(--r-md);height:36px;color:var(--text-2);white-space:nowrap;transition:background-color var(--d-hover) var(--ease), color var(--d-hover) var(--ease);flex:none;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.tab:hover{color:var(--text)}.tabs--pills .tab.is-on{background:var(--field);color:var(--text)}.tab__count{color:var(--text-2);font-size:12px}.tab.is-on .tab__count{color:var(--accent-ink)}.tabs--text{gap:20px}.tabs--text .tab{height:auto;color:var(--text-3);padding:4px 0;font-size:16px;font-weight:600}.tabs--text .tab:hover,.tabs--text .tab.is-on{color:var(--text);background:0 0}.badge{border-radius:var(--r-sm);white-space:nowrap;flex:none;align-items:center;gap:6px;height:22px;padding:0 8px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.badge--neutral{background:var(--neutral-tint);color:var(--text-2)}.badge--accent{background:var(--accent-tint);color:var(--accent-ink)}.badge--pink{background:var(--pink-tint);color:var(--pink-ink)}.badge--success{background:var(--success-tint);color:var(--success)}.badge--warning{background:var(--warning-tint);color:var(--warning)}.badge--danger{background:var(--danger-tint);color:var(--danger)}.badge--solid.badge--accent{background:var(--accent);color:var(--on-accent)}.badge--solid.badge--pink{background:var(--pink);color:var(--on-pink)}.badge--solid.badge--success{background:var(--success);color:#04140c}.badge--solid.badge--danger{background:var(--danger);color:#fff}.badge--solid.badge--neutral{background:var(--text);color:var(--bg)}.count{border-radius:var(--r-full);background:var(--text);min-width:18px;height:18px;color:var(--bg);font-family:var(--font-mono);flex:none;place-items:center;padding:0 5px;font-size:12px;font-weight:600;line-height:1;display:inline-grid}.dot{background:var(--text-3);border-radius:50%;flex:none;display:inline-block;position:relative}.dot--accent{background:var(--accent-ink)}.dot--pink{background:var(--pink)}.dot--success{background:var(--success)}.dot--warning{background:var(--warning)}.dot--danger{background:var(--danger)}.dot--ping:after{content:"";border-radius:inherit;background:inherit;animation:fh-ping 2.4s var(--ease) infinite;position:absolute;inset:0}.dot--pulse{animation:1.6s ease-in-out infinite fh-pulse}.glyph{color:var(--text-2);flex:none}.avatar{letter-spacing:-.01em;color:#fff;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;line-height:1;display:inline-grid;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar--accent{background:var(--accent-tint);color:var(--accent-ink)}.avatar--pink{background:var(--pink-tint);color:var(--pink-ink)}.avatar--teal{color:var(--series-4);background:#5cc8b029}.avatar--neutral{background:var(--field);color:var(--text-2)}.avatar--more{background:var(--field);color:var(--text-2);font-family:var(--font-mono);font-weight:500}.avatar-stack{align-items:center;display:inline-flex}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--surface)}.avatar-stack .avatar+.avatar{margin-left:-6px}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.money__cents{opacity:.45}.money--s{font-size:14px;font-weight:600}.money--m{letter-spacing:-.02em;font-size:24px;font-weight:600}.money--l{letter-spacing:-.03em;font-size:36px;font-weight:600;line-height:1}.money--xl{letter-spacing:-.035em;font-size:48px;font-weight:600;line-height:1}@media (width<=767px){.money--l{font-size:30px}.money--xl{font-size:38px}}.card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--card-line);min-width:0;box-shadow:var(--shadow-card);flex-direction:column;gap:16px;padding:24px;display:flex;position:relative}.card--flush{gap:0;padding:0}.card--flush>.card__head{padding:20px 24px}.card--flush>.card__foot{padding:16px 24px 20px}.card__head{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.card__heading{align-items:center;gap:12px;min-width:0;display:flex}.card__count{color:var(--text-2);font-size:14px;font-weight:500}.card__verdict{font-size:13px;font-weight:500}.card__action{flex:none;align-items:center;gap:8px;display:flex}.card__link{width:24px;height:24px;color:var(--text-2);transition:color var(--d-hover) var(--ease), background-color var(--d-hover) var(--ease);border-radius:50%;place-items:center;display:inline-grid}.card__link:hover{color:var(--text);background:var(--field)}.card__link svg{transition:transform var(--d-hover) var(--ease)}.card__link:hover svg{transform:translate(2px)}.card:not(.card--flush)>.card__head{margin-bottom:6px}.card__body{flex-direction:column;gap:16px;min-width:0;display:flex}.card__foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;display:flex}.card--inset{background:var(--surface-2);box-shadow:none;border-color:#0000}.card--dashed{border:1px dashed var(--line-strong);box-shadow:none;background:0 0}.card--raised{background:var(--overlay);border-color:var(--line-strong);box-shadow:0 12px 32px -16px #00000080}.card--wash{background:var(--accent-wash);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.tile{isolation:isolate;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--card-line);min-width:0;min-height:148px;box-shadow:var(--shadow-card);color:var(--text);text-align:left;transition:border-color var(--d-hover) var(--ease), background-color var(--d-hover) var(--ease), box-shadow var(--d-hover) var(--ease);flex-direction:column;justify-content:space-between;gap:20px;padding:20px;display:flex;position:relative;overflow:hidden}.tile__top{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.tile__label{letter-spacing:-.01em;color:var(--text-2);font-size:17px;font-weight:500;line-height:1.35}.tile__alert{flex:none}.tile__bottom{flex-direction:column;gap:10px;min-width:0;display:flex}.tile__value{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(28px,2.5vw,36px);font-weight:600;line-height:1;overflow:hidden}.tile__value .money{font-size:inherit;font-weight:inherit;letter-spacing:inherit}.tile__caption{color:var(--text-2);font-size:13px;font-weight:500;line-height:1.4}.tile__caption strong{color:var(--text);font-weight:600}.tile--link{cursor:pointer}.tile--link:hover{background:color-mix(in srgb, var(--surface) 94%, var(--text))}.tile:focus-visible{box-shadow:var(--focus);border-radius:var(--r-xl)}.list{flex-direction:column;gap:8px;min-width:0;display:flex}.lrow{border-radius:var(--r-md);background:var(--surface-2);width:100%;min-height:52px;color:var(--text);text-align:left;transition:background-color var(--d-hover) var(--ease), box-shadow var(--d-hover) var(--ease);align-items:center;gap:12px;padding:10px 14px;display:flex;box-shadow:inset 0 0 0 1px #0000}.lrow--link{cursor:pointer}.lrow--link:hover{background:var(--field)}.lrow--highlight{box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-wash)}.lrow--highlight:hover{background:color-mix(in srgb, var(--accent) 10%, var(--surface-2))}.lrow.is-selected{box-shadow:inset 0 0 0 1px var(--line-strong);background:var(--field)}.lrow__icon{background:var(--field);width:32px;height:32px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;display:grid}.lrow--link:hover .lrow__icon{background:var(--hover)}.lrow__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lrow__title{align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:500;line-height:1.4;display:flex}.lrow__meta{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.4;overflow:hidden}.lrow__trailing{color:var(--text-2);flex:none;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.lrow__trailing .money{font-size:14px}.lrow__trailing .money:not([class*=tone-]){color:var(--text)}.lrow__chevron{color:var(--text-3);transition:transform var(--d-hover) var(--ease), color var(--d-hover) var(--ease);flex:none}.lrow--link:hover .lrow__chevron{color:var(--text-2);transform:translate(2px)}.lrow__start{height:20px}.lrow:focus-visible{box-shadow:var(--focus);border-radius:var(--r-md)}.list--divided{gap:0}.list--divided>.lrow{border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding-inline:0}.list--divided>.lrow:last-child{border-bottom:0}.list--divided>.lrow--link:hover{background:0 0}.list--divided>.lrow--link:hover .lrow__title{color:var(--text)}.kv{flex-direction:column;display:flex}.kv__row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.kv__row:last-child{border-bottom:0}.kv dt{color:var(--text-2);flex:none;font-size:13px}.kv dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:500}.kv--2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;display:grid}.kv--2 .kv__row:nth-last-child(2):nth-child(odd){border-bottom:0}@media (width<=767px){.kv--2{grid-template-columns:minmax(0,1fr)}.kv--2 .kv__row:nth-last-child(2):nth-child(odd){border-bottom:1px solid var(--line)}}.divider{width:100%}.divider-label{align-items:center;gap:12px;display:flex}.divider-label:before,.divider-label:after{content:"";background:var(--line);flex:1;height:1px}.divider-label span{border-radius:var(--r-full);background:var(--field);color:var(--text-2);padding:3px 10px;font-size:12px;font-weight:500}.callout{--tone:var(--accent);--tone-ink:var(--accent-ink);background:color-mix(in srgb, var(--tone) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 26%, transparent);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.callout--pink{--tone:var(--pink);--tone-ink:var(--pink-ink)}.callout--success{--tone:var(--success);--tone-ink:var(--success)}.callout--warning{--tone:var(--warning);--tone-ink:var(--warning)}.callout--danger{--tone:var(--danger);--tone-ink:var(--danger)}.callout--neutral{--tone:var(--text-2);--tone-ink:var(--text-2)}.callout__icon{color:var(--tone-ink);flex:none;margin-top:2px;display:inline-flex}.callout__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.callout__title{font-size:14px;font-weight:600;line-height:1.45}.callout__body{color:var(--text-2);font-size:14px;line-height:1.55}.callout__action{flex:none;align-self:center}@media (width<=767px){.callout{flex-wrap:wrap}.callout__action{width:100%;padding-left:28px}}.setting{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:18px 0;display:flex}.setting:last-child{border-bottom:0}.setting__text{flex-direction:column;gap:2px;min-width:0;display:flex}.setting__title{font-size:15px;font-weight:500;line-height:1.4}.setting__desc{color:var(--text-2);font-size:13px;line-height:1.45}.setting__control{flex:none;align-items:center;gap:8px;display:flex}@media (width<=767px){.setting{flex-direction:column;align-items:stretch;gap:12px}.setting__control{flex:auto}}.empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.empty--compact{padding:28px 16px}.empty__art{justify-content:center;align-items:center;width:132px;height:56px;margin-bottom:12px;display:flex;position:relative}.empty__icon{z-index:1;background:var(--field);width:48px;height:48px;box-shadow:inset 0 0 0 1px var(--line), 0 0 0 6px var(--bg);color:var(--text-2);border-radius:50%;place-items:center;display:grid;position:relative}.card .empty__icon{box-shadow:inset 0 0 0 1px var(--line), 0 0 0 6px var(--surface)}.empty__ghost{background:var(--field);width:32px;height:32px;color:var(--text-3);opacity:.55;border-radius:50%;place-items:center;display:grid;position:absolute}.empty__ghost--l{top:20px;left:12px;transform:rotate(-10deg)}.empty__ghost--r{top:4px;right:12px;transform:rotate(8deg)}.empty__title{font-size:16px;font-weight:600;line-height:1.35}.empty__body{max-width:380px;color:var(--text-2);font-size:14px;line-height:1.55}.empty__action{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.skeleton{border-radius:var(--r-sm);background:var(--skeleton);display:block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--skeleton-shine), transparent);animation:1.4s ease-in-out infinite fh-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-lines{flex-direction:column;gap:8px;width:100%;display:flex}.ticks{flex:none;align-items:flex-end;gap:3px;display:inline-flex}.ticks--fill{justify-content:space-between;gap:0;width:100%;display:flex}.tick{width:2px;height:var(--tick-h,12px);background:var(--tick-empty);border-radius:1px;flex:none;display:block}.ticks--accent .tick.is-on{background:var(--accent)}.ticks--pink .tick.is-on{background:var(--pink)}.ticks--success .tick.is-on{background:var(--success)}.ticks--warning .tick.is-on{background:var(--warning)}.ticks--danger .tick.is-on{background:var(--danger)}.ticks--inverse .tick{background:#ffffff42}.ticks--inverse .tick.is-on{background:#fff}.ticks--on-pink .tick{background:#1a0b1029}.ticks--on-pink .tick.is-on{background:var(--on-pink)}.ticks--animate .tick.is-on{animation:fh-tick .42s var(--ease) both;animation-delay:calc(var(--i,0) * 16ms)}@keyframes fh-tick{0%{opacity:.12;transform:scaleY(.5)}}.bar-track{border-radius:var(--r-full);background:var(--tick-empty);width:100%;height:4px;position:relative;overflow:hidden}.bar-track--m{height:8px}.bar-fill{border-radius:inherit;height:100%;transition:width .6s var(--ease);display:block}.bar-fill--accent{background:var(--accent)}.bar-fill--pink{background:var(--pink)}.bar-fill--success{background:var(--success)}.bar-fill--warning{background:var(--warning)}.bar-fill--danger{background:var(--danger)}.spark{flex:none;overflow:visible}.spark__line{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;stroke:var(--spark,var(--accent-ink))}.spark__line--hi{stroke:var(--pink)}.spark__dot{fill:var(--spark,var(--accent-ink))}.spark__dot--hi{fill:var(--pink)}.spark--pink{--spark:var(--pink)}.spark--text{--spark:var(--text)}.spark--success{--spark:var(--success)}.spark--danger{--spark:var(--danger)}.bars{flex-direction:column;gap:16px;min-width:0;display:flex}.bars__legend{color:var(--text-2);flex-wrap:wrap;gap:16px;font-size:12px;font-weight:500;display:flex}.bars__key{align-items:center;gap:6px;display:inline-flex}.bars__swatch{background:var(--accent);border-radius:3px;width:10px;height:10px;display:inline-block}.bars__swatch--compare{border:1.5px dashed var(--text-2);background:0 0}.bars__swatch--projected{background:linear-gradient(180deg, var(--pink), var(--accent))}.bars__plot{padding-bottom:24px;padding-right:48px;position:relative}.bars__grid{pointer-events:none;position:absolute;inset:0 48px 24px 0}.bars__gridline{border-top:1px dashed var(--line);position:absolute;left:0;right:-48px}.bars__gridline span{color:var(--text-2);background:var(--surface);padding-left:6px;font-size:12px;position:absolute;top:0;right:0;transform:translateY(-50%)}.bars__cols{gap:4px;display:flex;position:absolute;inset:0 48px 0 0}.bars__col{cursor:default;border-radius:8px;outline:none;flex-direction:column;flex:1 1 0;min-width:0;padding-bottom:24px;display:flex;position:relative}.bars__col.is-hover:before{content:"";background:var(--neutral-tint);opacity:.6;border-radius:8px;position:absolute;inset:-4px 0 20px}.bars__pair{flex:1;justify-content:center;align-items:flex-end;gap:3px;display:flex;position:relative}.bar{transform-origin:bottom;width:min(14px,34%);min-height:2px;animation:fh-grow .7s var(--ease) both;animation-delay:calc(var(--i,0) * 40ms);border-radius:4px 4px 2px 2px;display:block}.bar--value{background:var(--accent)}.bar--compare{box-shadow:inset 0 0 0 1.5px var(--text-3);background:0 0;background-image:radial-gradient(var(--text-3) .75px, transparent .75px);background-size:4px 4px;border-radius:4px 4px 2px 2px}.bar--projected{background:linear-gradient(180deg, var(--pink), var(--accent));opacity:.85}@keyframes fh-grow{0%{transform:scaleY(0)}}.bars__x{text-align:center;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.bars__col.is-hover .bars__x{color:var(--text)}.chart-tip{z-index:5;background:var(--overlay);min-width:190px;box-shadow:var(--shadow-overlay);pointer-events:none;animation:fh-fade-in .12s var(--ease) both;border-radius:10px;padding:10px 12px;font-size:13px;position:absolute;top:0;left:50%;transform:translate(-50%,calc(-100% - 6px))}.bars__col:first-child .chart-tip{left:0;transform:translateY(calc(-100% - 6px))}.bars__col:last-child .chart-tip{left:auto;right:0;transform:translateY(calc(-100% - 6px))}.chart-tip__title{margin-bottom:6px;font-weight:600}.chart-tip__row{color:var(--text-2);align-items:center;gap:8px;line-height:1.7;display:flex}.chart-tip__row .mono{color:var(--text);margin-left:auto}.chart-tip__tick{border-radius:2px;width:3px;height:12px;display:inline-block}.uptime{flex-direction:column;gap:8px;min-width:0;display:flex}.uptime__ticks{justify-content:space-between;gap:2px;height:24px;display:flex}.uptime__tick{background:var(--tick-empty);border-radius:1px;flex:1 1 0;min-width:2px;max-width:4px}.uptime__tick--up{background:var(--success)}.uptime__tick--degraded{background:var(--warning)}.uptime__tick--down{background:var(--danger)}.uptime__tick:hover{transform:scaleY(1.15)}.uptime__foot{color:var(--text-2);justify-content:space-between;gap:12px;font-size:12px;display:flex}.ring{flex-direction:column;flex:none;align-items:center;gap:8px;display:inline-flex}.ring__dial{position:relative}.ring__dial svg{transform:rotate(-90deg)}.ring__track{fill:none;stroke:var(--tick-empty)}.ring__value{fill:none;stroke-linecap:round;animation:fh-ring .9s var(--ease) both}@keyframes fh-ring{0%{stroke-dashoffset:var(--c)}}.ring__value--success{stroke:var(--success)}.ring__value--accent{stroke:var(--accent-ink)}.ring__value--warning{stroke:var(--warning)}.ring__value--danger{stroke:var(--danger)}.ring__value--neutral{stroke:var(--text-3)}.ring__num{letter-spacing:-.02em;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.ring__label{color:var(--text-2);text-align:center;font-size:12px;font-weight:500}.table-wrap{width:100%;position:relative;overflow-x:auto}.table{font-size:14px}.table th{border-bottom:1px solid var(--line);height:40px;color:var(--text-2);text-align:left;white-space:nowrap;vertical-align:middle;padding:0 12px;font-size:12px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;height:56px;padding:10px 12px}.table :is(th,td):first-child{padding-left:16px}.table :is(th,td):last-child{padding-right:16px}.card--flush .table :is(th,td):first-child{padding-left:24px}.card--flush .table :is(th,td):last-child{padding-right:24px}.card .table tbody tr:last-child td{border-bottom:0}.table--dense td{height:44px;padding-block:8px}.table .al-right{text-align:right}.table .al-center{text-align:center}.table td.mono{font-size:13px}.table th.is-sorted{box-shadow:inset 0 2px 0 var(--accent);color:var(--text)}.th-sort{color:inherit;font-weight:inherit;border-radius:4px;align-items:center;gap:4px;display:inline-flex}.th-sort:hover{color:var(--text)}.al-right .th-sort{flex-direction:row-reverse}.table--clickable tbody tr:not(.table__group){cursor:pointer;transition:background-color var(--d-hover) var(--ease)}.table--clickable tbody tr:not(.table__group):hover{background:color-mix(in srgb, var(--text) 3%, transparent)}.table tbody tr:focus-visible{box-shadow:inset 0 0 0 1px var(--accent);border-radius:0;outline:none}.table tbody tr.is-selected{background:var(--accent-wash)}.table__group th{letter-spacing:normal;height:auto;color:var(--text-2);border-bottom:1px solid var(--line);padding-top:24px;padding-bottom:8px;font-size:12px;font-weight:600}.table tbody .table__group:first-child th{padding-top:12px}.table-empty{padding:8px}@media (width<=767px){.table thead{display:none}.table,.table tbody,.table tr,.table td{width:100%;display:block}.table tbody tr:not(.table__group){border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.card .table tbody tr:last-child{border-bottom:0}.table td,.table--dense td{text-align:right;border:0;justify-content:space-between;align-items:center;gap:12px;height:auto;display:flex;padding:0!important}.table td:before{content:attr(data-label);font-family:var(--font-sans);color:var(--text-2);text-align:left;flex:none;font-size:13px;font-weight:400}.table td.td-primary{text-align:left;justify-content:flex-start;font-size:15px;font-weight:600}.table td.td-primary:before,.table td[data-label=""]:before{display:none}.table__group th{padding:20px 16px 8px;display:block}}.rich{overflow-wrap:anywhere}.rich p+p{margin-top:12px}.overlay{z-index:100;display:flex;position:fixed;inset:0}.overlay--center{justify-content:center;align-items:center;padding:24px 16px}.scrim{background:var(--scrim);backdrop-filter:blur(6px);animation:fh-fade-in .2s var(--ease) both;position:absolute;inset:0}.overlay[data-state=closed]{pointer-events:none}.overlay[data-state=closed] .scrim{animation:fh-fade-out .2s var(--ease) both}@keyframes fh-fade-out{to{opacity:0}}.modal{border-radius:var(--r-modal);background:var(--surface-2);width:100%;max-width:480px;max-height:calc(100dvh - 48px);box-shadow:var(--shadow-overlay);animation:fh-modal-in .22s var(--ease) both;outline:none;flex-direction:column;display:flex;position:relative}[data-theme=light] .modal{background:var(--surface)}.overlay[data-state=closed] .modal{animation:fh-modal-out .16s var(--ease) both}@keyframes fh-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes fh-modal-out{to{opacity:0;transform:translateY(6px)scale(.99)}}.modal--s{max-width:420px}.modal--l{max-width:560px}.modal--xl{max-width:720px}.modal__head{justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 28px 0;display:flex}.modal__title{letter-spacing:-.02em;font-size:20px;font-weight:700;line-height:1.25}.modal__desc{color:var(--text-2);font-size:14px;line-height:1.5}.modal__head .overlay-close{margin:-4px -8px 0 0}.modal__form{flex-direction:column;flex:1;min-height:0;display:flex}.modal__body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px 28px 4px;display:flex;overflow-y:auto}.modal__foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:20px 28px 28px;display:flex}@media (width<=767px){.overlay--center{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));align-items:flex-end}.modal__head{padding:22px 20px 0}.modal__body{padding:16px 20px 4px}.modal__foot{padding:16px 20px 20px}.modal__foot .btn{flex:1}}.overlay--sheet{justify-content:flex-end}.sheet{border-radius:var(--r-modal);background:var(--black);width:min(480px,100vw - 24px);box-shadow:var(--shadow-black), 0 24px 64px #00000080;animation:fh-sheet-in var(--d-sheet) var(--ease) both;outline:none;flex-direction:column;display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow:clip}[data-theme=light] .sheet{box-shadow:var(--shadow-black), 0 24px 64px #0a0a1429}.overlay[data-state=closed] .sheet{animation:fh-sheet-out .2s var(--ease) both}@keyframes fh-sheet-in{0%{opacity:0;transform:translate(32px)}}@keyframes fh-sheet-out{to{opacity:0;transform:translate(24px)}}.sheet--l{width:min(560px,100vw - 24px)}.sheet--xl{width:min(720px,100vw - 24px)}.sheet__grip{display:none}.sheet__head{align-items:flex-start;gap:12px;padding:40px 32px 20px;display:flex}.sheet__title{letter-spacing:-.025em;font-size:22px;font-weight:700;line-height:1.2}.sheet__scroll{overscroll-behavior:contain;flex:1;min-height:0;position:relative;overflow-y:auto}.sheet__hero{border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);margin:0 32px;padding:20px}.sheet__body{flex-direction:column;gap:24px;padding:20px 32px 32px;display:flex}.sheet__foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:16px 32px 20px;display:flex}@media (width<=767px){.sheet,.sheet--l,.sheet--xl{border-radius:20px 20px 0 0;width:100%;max-height:92dvh;animation-name:fh-sheet-up;inset:auto 0 0}.overlay[data-state=closed] .sheet{animation-name:fh-sheet-down}.sheet__grip{background:var(--line-strong);border-radius:2px;flex:none;width:36px;height:4px;margin:8px auto 0;display:block}.sheet__head{padding:14px 20px 12px}.sheet__hero{margin:0 20px}.sheet__body{padding:16px 20px 24px}.sheet__foot{padding:12px 20px calc(16px + env(safe-area-inset-bottom))}.sheet__foot .btn{flex:1}}@keyframes fh-sheet-up{0%{transform:translateY(100%)}}@keyframes fh-sheet-down{to{transform:translateY(100%)}}.pop-anchor{min-width:0;display:inline-flex}.popover{z-index:120;border-radius:var(--r-lg);background:var(--overlay);max-height:min(70dvh,560px);box-shadow:var(--shadow-overlay);animation:fh-pop .14s var(--ease) both;outline:none;position:fixed;overflow-y:auto}@keyframes fh-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.menu{border-radius:12px}.menu__inner{flex-direction:column;padding:6px;display:flex}.menu__header{border-bottom:1px solid var(--line);margin:-6px -6px 6px;padding:10px 10px 12px}.menu__sep{background:var(--line);height:1px;margin:6px -6px}.menu__heading{color:var(--text-2);padding:8px 10px 4px;font-size:12px;font-weight:500}.menu__item{width:100%;min-height:36px;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:500;display:flex}.menu__item svg{color:var(--text-2);flex:none}.menu__item:hover,.menu__item:focus-visible{background:var(--hover);box-shadow:none;outline:none}.menu__item--danger,.menu__item--danger svg{color:var(--danger)}.menu__item[aria-disabled=true]{opacity:.4;cursor:not-allowed}.menu__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu__hint{color:var(--text-2);flex:none;align-items:center;gap:4px;margin-left:auto;font-size:13px;display:inline-flex}.menu__text{flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px 0;display:flex}.menu__note{color:var(--text-2);font-size:12px;font-weight:400;line-height:1.4}.menu__item[aria-disabled=true]:has(.menu__note){opacity:1}.menu__item[aria-disabled=true]:has(.menu__note) :is(svg,.menu__label,.menu__hint){opacity:.4}.tip-anchor{min-width:0;display:inline-flex}.tooltip{z-index:130;border-radius:var(--r-sm);background:var(--overlay);max-width:280px;box-shadow:var(--shadow-overlay);color:var(--text);pointer-events:none;animation:fh-fade-in .12s var(--ease) both;align-items:center;gap:8px;padding:6px 9px;font-size:12px;font-weight:500;line-height:1.35;display:inline-flex;position:fixed}.tooltip .kbd{min-width:18px;height:18px}.toaster{z-index:140;top:calc(16px + env(safe-area-inset-top));pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{border-radius:var(--r-lg);background:var(--overlay);max-width:100%;min-height:44px;box-shadow:var(--shadow-overlay);color:var(--text);pointer-events:auto;animation:fh-toast-in .26s var(--ease-spring) both;align-items:center;gap:10px;padding:0 6px 0 14px;font-size:14px;font-weight:500;display:flex}.toast.is-leaving{animation:fh-toast-out .18s var(--ease) both}@keyframes fh-toast-in{0%{opacity:0;transform:translateY(-14px)scale(.96)}}@keyframes fh-toast-out{to{opacity:0;transform:translateY(-8px)scale(.98)}}.toast__icon{flex:none}.toast--success .toast__icon{color:var(--success)}.toast--error .toast__icon{color:var(--danger)}.toast--info .toast__icon{color:var(--accent-ink)}.toast__msg{padding:10px 0;line-height:1.4}.toast__x{width:28px;height:28px;color:var(--text-2);border-radius:8px;flex:none;place-items:center;display:grid}.toast__x:hover{background:var(--hover);color:var(--text)}.toast--celebrate{isolation:isolate;background:var(--pink);width:360px;min-height:112px;color:var(--on-pink);border-radius:18px;align-items:flex-start;padding:18px 10px 18px 20px;position:relative;overflow:hidden;box-shadow:0 20px 48px -16px #f47b858c,0 0 0 1px #fff3}.toast--celebrate:before{content:"";z-index:-1;background:radial-gradient(70% 90% at 100% 0,#ffffff73,#0000 60%),radial-gradient(60% 80% at 0 120%,#2b3bff38,#0000 65%);position:absolute;inset:0}.toast__celebrate{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.toast__eyebrow{letter-spacing:normal;opacity:.7;font-size:12px;font-weight:500}.toast__headline{letter-spacing:-.02em;font-size:20px;font-weight:700;line-height:1.2}.toast__art{opacity:.8;position:absolute;bottom:16px;right:18px}.toast--celebrate .toast__x{color:#1a0b1099}.toast--celebrate .toast__x:hover{color:var(--on-pink);background:#1a0b1014}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;display:grid}.skip-link{z-index:200;border-radius:var(--r-full);background:var(--text);color:var(--bg);padding:10px 16px;font-size:14px;font-weight:600;position:fixed;top:-64px;left:12px}.skip-link:focus,.skip-link:focus-visible{top:12px}.sidebar{z-index:20;overscroll-behavior:contain;background:var(--sidebar);border-right:1px solid var(--line);scrollbar-width:none;flex-direction:column;gap:24px;height:100dvh;padding:16px 12px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar::-webkit-scrollbar{display:none}.sidebar__top{border-bottom:1px solid var(--line-strong);flex-direction:column;gap:8px;padding-bottom:16px;display:flex}.sidebar__foot{flex-direction:column;align-items:stretch;gap:4px;margin-top:auto;padding-top:8px;display:flex}.sidebar__alerts{justify-content:flex-end;align-items:center;gap:4px;display:flex}.sidebar .sidebar__alerts .tip-anchor{width:auto}.sidebar__foot .icon-btn.is-active{background:var(--field);color:var(--text)}.sidebar .tip-anchor{width:100%;display:flex}.sidebar .side-actions .tip-anchor{flex:none;width:auto}.acct-anchor{width:100%;display:flex}.user-anchor{display:flex}.acct{border-radius:var(--r-md);text-align:left;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 8px;display:flex}.acct--switch{transition:background-color var(--d-hover) var(--ease)}.acct--switch:hover,.acct--switch[aria-expanded=true]{background:var(--field)}.acct__name{letter-spacing:-.01em;flex:1;font-size:14px;font-weight:600}.acct__chevron{color:var(--text-2);flex:none}.brand{border-radius:var(--r-md);align-items:center;gap:10px;min-height:44px;padding:0 8px;display:flex}.brand__mark{color:var(--text);flex:none;place-items:center;display:grid}.brand__word{letter-spacing:-.045em;font-size:19px;font-weight:700}.side-actions{align-items:center;gap:6px;display:flex}.side-actions__main{flex:1;min-width:0}.side-nav{flex-direction:column;gap:28px;display:flex}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group__label{color:var(--text-2);padding:0 10px 8px;font-size:12px;font-weight:500}.nav-item{border-radius:var(--r-md);width:100%;height:38px;color:var(--text-2);text-align:left;transition:background-color var(--d-hover) var(--ease), color var(--d-hover) var(--ease);align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:500;display:flex;position:relative}.nav-item:hover{color:var(--text);background:color-mix(in srgb, var(--field) 60%, transparent)}.nav-item.is-active{background:var(--field);color:var(--text)}.nav-item__icon{color:var(--text-2);transition:color var(--d-hover) var(--ease);flex:none}.nav-item:hover .nav-item__icon,.nav-item.is-active .nav-item__icon{color:var(--text)}.nav-item__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item__badge{flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.nav-item__keys{opacity:0;transition:opacity var(--d-hover) var(--ease);gap:2px;margin-left:auto;display:inline-flex}.nav-item:hover .nav-item__keys,.nav-item:focus-visible .nav-item__keys{opacity:1}.nav-item__keys .kbd{min-width:18px;height:18px;font-size:12px}.nav-client{gap:10px;height:36px}.nav-item--big{height:44px;color:var(--text);font-size:15px}.nav-item--big .nav-item__icon{color:var(--text-2)}.nav-item--danger,.nav-item--danger .nav-item__icon{color:var(--danger)}.user-pill{width:36px;height:36px;transition:box-shadow var(--d-hover) var(--ease);border-radius:50%;place-items:center;display:grid}.user-pill:hover,.user-pill[aria-expanded=true]{box-shadow:0 0 0 1px var(--line-strong)}.care-line{background:var(--accent-wash);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 24%, transparent);color:var(--text-2);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:13px;display:flex}.care-line strong{color:var(--text);font-weight:600}.care-line:hover{color:var(--text)}.toggle__track--mini{width:28px;height:16px}.toggle__track--mini .toggle__thumb{width:12px;height:12px}.toggle__track--mini.is-on .toggle__thumb{transform:translate(12px)}.shell__body{flex-direction:column;min-width:0;min-height:100dvh;display:flex}.shell__main{outline:none;flex:1;min-width:0;position:relative}.viewing-as{min-height:36px;padding:6px var(--gutter);background:linear-gradient(90deg, var(--accent-tint), var(--pink-tint));border-bottom:1px solid var(--line);color:var(--text-2);align-items:center;gap:10px;font-size:13px;display:flex}.viewing-as svg{color:var(--accent-ink);flex:none}.viewing-as strong{color:var(--text);font-weight:600}.viewing-as__back{color:var(--accent-ink);flex:none;align-items:center;gap:6px;margin-left:auto;font-weight:600;display:inline-flex}.viewing-as__back:hover{color:var(--text)}.topbar{z-index:40;height:var(--topbar-h);padding:0 var(--gutter);background:color-mix(in srgb, var(--bg) 80%, transparent);backdrop-filter:blur(12px)saturate(1.4);transition:border-color var(--d-ctrl) var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.topbar.is-scrolled{border-bottom-color:var(--line)}.topbar__left{align-items:center;gap:12px;min-width:0;display:flex}.topbar__right{flex:none;align-items:center;gap:8px;display:flex}.topbar__brand{letter-spacing:-.01em;align-items:center;gap:10px;min-width:0;font-size:15px;font-weight:600;display:flex}.notif{flex-direction:column;min-height:0;display:flex}.popover.notif-pop{flex-direction:column;display:flex;overflow:hidden}.notif-pop .notif{flex:auto}.notif-pop .notif__list{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.notif__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 10px 8px 16px;display:flex}.notif__list{flex-direction:column;gap:2px;padding:6px;display:flex}.notif__item{text-align:left;width:100%;transition:background-color var(--d-hover) var(--ease);border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px 10px 10px 12px;display:grid;position:relative}.notif__item:hover{background:var(--hover)}.notif__icon{background:var(--field);width:32px;height:32px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.notif__text{flex-direction:column;gap:2px;min-width:0;display:flex}.notif__title{color:var(--text-2);font-size:14px;font-weight:500;line-height:1.4}.notif__item.is-unread .notif__title{color:var(--text);font-weight:600}.notif__body{color:var(--text-2);font-size:13px;line-height:1.45}.notif__time{color:var(--text-2);white-space:nowrap;padding-top:2px;font-size:12px}.notif__dot{background:var(--accent-ink);border-radius:50%;width:5px;height:5px;margin-top:-2.5px;position:absolute;top:50%;left:3px}.notif__foot{border-top:1px solid var(--line);justify-content:center;padding:10px 16px;display:flex}.notif__empty{text-align:center;padding:24px 16px}.sheet .notif__list{margin:0 -10px;padding:0}.dock{display:none}.more-group{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding-bottom:14px;display:flex}.more-group:last-child{border-bottom:0;padding-bottom:0}.more-group .acct-anchor .acct{background:var(--surface);min-height:48px;box-shadow:inset 0 0 0 1px var(--line)}@media (width<=1023px){.shell{grid-template-columns:var(--rail-w) minmax(0, 1fr)}.sidebar{align-items:center;gap:16px;padding:12px 10px}.sidebar .acct,.sidebar .brand{justify-content:center;width:44px;padding:0}.sidebar :is(.acct__name,.acct__chevron,.brand__word,.nav-group__label,.nav-item__label,.nav-item__keys){display:none}.sidebar .side-actions,.sidebar .sidebar__foot{flex-direction:column;align-items:center;gap:8px}.sidebar .sidebar__alerts{flex-direction:column;justify-content:flex-start;gap:8px}.sidebar .side-nav{gap:16px;width:100%}.sidebar .nav-group{align-items:center}.sidebar .nav-item{justify-content:center;width:44px;height:40px;padding:0}.sidebar .nav-item__badge{position:absolute;top:1px;right:0;transform:scale(.85)}.sidebar .nav-item__badge .dot{display:none}}@media (width<=767px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{gap:8px;padding-right:12px}.dock{z-index:50;left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));pointer-events:none;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed}.dock__bar{border-radius:var(--r-full);background:color-mix(in srgb, var(--overlay) 92%, transparent);backdrop-filter:blur(16px)saturate(1.4);max-width:420px;height:60px;box-shadow:var(--shadow-overlay);pointer-events:auto;flex:1;gap:2px;padding:0 4px;display:flex}.dock__item{border-radius:var(--r-full);min-width:0;color:var(--text-2);transition:color var(--d-hover) var(--ease);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:3px;display:flex}.dock__item.is-active,.dock__item.is-active svg{color:var(--text)}.dock__icon{display:inline-flex;position:relative}.dock__badge{position:absolute;top:-5px;right:-10px}.dock__label{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 1px;font-size:12px;font-weight:500;line-height:1;overflow:hidden}.dock .pop-anchor{pointer-events:auto}.dock__plus{background:var(--accent);width:56px;height:56px;color:var(--on-accent);pointer-events:auto;transition:transform var(--d-hover) var(--ease), background-color var(--d-hover) var(--ease);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 12px 28px -10px #2b3bffcc,inset 0 1px #fff3}.dock__plus:active{transform:scale(.95)}.dock__plus:focus-visible{border-radius:50%}}.overlay--palette{justify-content:center;align-items:flex-start;padding:15vh 16px 16px}.palette{border-radius:var(--r-lg);background:var(--overlay);width:100%;max-width:640px;max-height:min(560px,72vh);box-shadow:var(--shadow-overlay);animation:fh-modal-in .2s var(--ease) both;flex-direction:column;display:flex;position:relative;overflow:hidden}.overlay[data-state=closed] .palette{animation:fh-modal-out .14s var(--ease) both}.pal__input{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex}.pal__input>svg{color:var(--text-2);flex:none}.pal__input input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:16px}.pal__input input:focus-visible{box-shadow:none}.pal__context{background:var(--field);max-width:160px;height:24px;color:var(--text-2);border-radius:6px;padding:0 8px;font-size:12px;font-weight:500;line-height:24px}.pal__list{overscroll-behavior:contain;flex:1;min-height:0;padding:6px;overflow-y:auto}.pal__group{color:var(--text-2);padding:10px 10px 4px;font-size:12px;font-weight:500}.pal__item{cursor:pointer;border-radius:8px;align-items:center;gap:12px;height:40px;padding:0 10px;font-size:14px;font-weight:500;display:flex}.pal__item.is-active{background:var(--hover)}.pal__icon{width:20px;color:var(--text-2);flex:none;place-items:center;display:grid}.pal__item.is-active .pal__icon{color:var(--text)}.pal__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pal__hint{color:var(--text-2);margin-left:8px;font-size:13px;font-weight:400}.pal__meta{flex:none;font-size:12px;font-weight:500}.pal__meta:not([class*=tone-]){color:var(--text-2)}.pal__go{color:var(--text-2);flex:none}.pal__hit{background:var(--pink-tint);color:inherit;box-shadow:0 0 0 1px var(--pink-tint);border-radius:3px}.pal__empty{text-align:center;color:var(--text-2);padding:28px 16px;font-size:14px}.pal__foot{border-top:1px solid var(--line);color:var(--text-2);flex:none;gap:16px;padding:10px 16px;font-size:12px;display:flex}.pal__foot span{align-items:center;gap:4px;display:inline-flex}.pal__foot .kbd{min-width:18px;height:18px}@media (width<=767px){.overlay--palette{padding:12px}.palette{max-height:80dvh}.pal__foot{display:none}}.boot{z-index:10;background:var(--bg);color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:32px;padding:24px;display:flex;position:fixed;inset:0}.boot__mark{width:120px;height:120px;animation:fh-fade-in .4s var(--ease) both;place-items:center;display:grid;position:relative}.boot__mark .logo-mark{position:relative}.boot__halo{filter:blur(6px);background:radial-gradient(closest-side,#2b3bff8c,#2b3bff29 55%,#0000);border-radius:50%;animation:2.4s ease-in-out infinite fh-breathe;position:absolute;inset:-50px}@keyframes fh-breathe{50%{opacity:.6;transform:scale(.86)}}.boot__msg{text-align:center;max-width:340px;color:var(--text-2);flex-direction:column;align-items:center;gap:16px;display:flex}.boot--page{gap:24px;min-height:100dvh;position:relative}.boot--page .boot__msg{gap:14px;max-width:480px}.boot__title{letter-spacing:-.04em;text-wrap:balance;padding-bottom:2px;font-size:44px;font-weight:700;line-height:1.04}.boot__body{max-width:420px;font-size:16px;line-height:1.6}.boot__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.boot__dev{color:var(--text-3);margin-top:20px;font-size:12px}@media (width<=767px){.boot__title{font-size:34px}}.demo-bar{z-index:90;border-radius:var(--r-full);background:color-mix(in srgb, var(--overlay) 92%, transparent);backdrop-filter:blur(16px);box-shadow:var(--shadow-overlay);align-items:center;gap:6px;padding:5px 5px 5px 12px;display:flex;position:fixed;bottom:16px;right:16px}.demo-bar__tag{font-family:var(--font-mono);letter-spacing:normal;color:var(--pink-ink);align-items:center;gap:8px;margin-right:4px;font-size:12px;font-weight:500;display:inline-flex}.demo-bar .seg{background:var(--field);height:28px}.demo-bar .btn{border-radius:var(--r-full)}:root:has(.demo-bar){--demo-space:56px}@media (width<=767px){:root:has(.demo-bar){--demo-space:48px}.demo-bar{right:50%;bottom:calc(var(--dock-base) + 2px);transform:translate(50%)}:root:not(:has(.dock)) .demo-bar{bottom:calc(12px + env(safe-area-inset-bottom))}}.kit{min-height:100dvh}.kit .section{scroll-margin-top:80px}.kit-bar{z-index:40;height:60px;padding:0 var(--gutter);background:color-mix(in srgb, var(--bg) 80%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:16px;display:flex;position:sticky;top:0}.kit-bar__title{color:var(--text-2);border-left:1px solid var(--line);padding-left:16px;font-size:14px;font-weight:600}.kit-bar__nav{scrollbar-width:none;gap:16px;margin-left:auto;margin-right:8px;display:flex;overflow-x:auto}.kit-bar__nav a{white-space:nowrap}.kit-bar>.seg-wrap{margin-left:auto}@media (width>=1024px){.kit-bar>.seg-wrap{margin-left:0}}@media (width<=479px){.kit-bar__title{display:none}}.kit-demo{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--card-line);flex-direction:column;gap:16px;min-width:0;padding:24px;display:flex}.kit-demo__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.kit-demo__body{min-width:0}.kit-swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=479px){.kit-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}}.kit-swatch{flex-direction:column;gap:4px;min-width:0;display:flex}.kit-swatch__chip{border-radius:var(--r-md);height:56px;box-shadow:inset 0 0 0 1px var(--line-strong);place-items:center;font-weight:600;display:grid}.kit-swatch__name{font-size:13px;font-weight:500}
