@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Figtree:wght@400;500;600;700&display=swap";:root{--bg0:#f8dfc8;--bg1:#f3c9b6;--ink:#2b3f6e;--muted:#7a849e;--line:#efd2c4;--panel:#ffffffd1;--panel-solid:#fff;--accent:#5c7cfa;--accent-ink:#fff;--danger:#e07a7a;--ok:#5bb89a;--shadow:0 10px 28px #2b3f6e14;--radius:32px;color:var(--ink);background:var(--bg1);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Figtree,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(900px 520px at 12% -8%,#ffe7a8 0%,#0000 55%),radial-gradient(800px 480px at 100% 0,#c9e4ff 0%,#0000 50%),linear-gradient(#f9e4c4 0%,#f2c4b4 48%,#ebb0a6 100%);min-height:100vh;margin:0}html{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0;display:none}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2{letter-spacing:-.02em;margin:0 0 .35rem;font-family:Fraunces,serif;font-weight:700}h1{font-size:clamp(1.75rem,4vw,2.35rem)}h2{font-size:1.15rem}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.shell{flex-direction:column;min-height:100vh;display:flex;position:relative}.shell[data-theme=dark]{--bg0:#0e1612;--bg1:#121c17;--ink:#e4efe8;--muted:#8fa399;--line:#2a3d34;--panel:#141e19c7;--panel-solid:#1a2620;--accent:#3d9b7f;--accent-ink:#06110c;--danger:#d96a6a;--ok:#5bb894;--shadow:0 12px 40px #0006;color:var(--ink);background:radial-gradient(1000px 520px at 8% -12%, #1a3328 0%, transparent 55%), radial-gradient(800px 440px at 100% 0%, #1a2830 0%, transparent 50%), linear-gradient(180deg, var(--bg0), var(--bg1) 45%, #0c1210)}.shell-scroll-rail{z-index:12;pointer-events:auto;cursor:ns-resize;touch-action:none;justify-content:flex-end;align-items:center;width:1.05rem;display:flex;position:fixed;top:0;bottom:0;right:0}.shell-scroll-rail-word{letter-spacing:.14em;color:var(--ink);opacity:.32;writing-mode:vertical-rl;-webkit-user-select:none;user-select:none;pointer-events:none;margin-right:.05rem;font-family:Fraunces,serif;font-size:.68rem;font-weight:700;transform:rotate(180deg)}.shell-scroll-rail-scrub{background:var(--accent);opacity:.9;pointer-events:none;border-radius:999px 0 0 999px;width:2px;height:2.4rem;transition:top .35s cubic-bezier(.22,1,.36,1);position:absolute;right:0;transform:translateY(-50%)}.shell[data-motion=off] .shell-scroll-rail-scrub{transition:none}.shell-color-wash{z-index:0;pointer-events:none;background:#fbfaf8;position:fixed;inset:0;overflow:hidden}.shell-color-blob{filter:blur(64px);opacity:.55;border-radius:50%;width:min(70vw,520px);height:min(70vw,520px);animation:36s ease-in-out infinite alternate shell-color-drift;position:absolute}.shell-color-blob--a{background:#c9e4ff;top:-12%;left:-8%}.shell-color-blob--b{background:#f2c4b4;animation-duration:42s;animation-delay:-8s;top:35%;right:-18%}.shell-color-blob--c{background:#d4f0e4;animation-duration:48s;animation-delay:-16s;bottom:-20%;left:20%}@keyframes shell-color-drift{0%{transform:translate(0)scale(1)}to{transform:translate(8%,-6%)scale(1.12)}}.shell[data-theme=color]{--bg0:#fbfaf8;--bg1:#f7f5f2;--ink:#2b3f6e;--muted:#7a849e;--line:#e8ddd4;--panel:#ffffffb8;--panel-solid:#fff;--accent:#5c7cfa;--accent-ink:#fff;color:var(--ink);background:0 0}.shell[data-theme=color] .topbar,.shell[data-theme=color] .main,.shell[data-theme=color] .shell-menu{z-index:1;position:relative}.shell[data-theme=color] .stat--wash-sky{background:linear-gradient(160deg,#dceefc 0%,#f3f9fe 80%)}.shell[data-theme=color] .stat--wash-blush{background:linear-gradient(160deg,#fce0e6 0%,#fff6f8 80%)}.shell[data-theme=color] .stat--wash-mint{background:linear-gradient(160deg,#d8f3ea 0%,#f4fcf9 80%)}.shell[data-theme=color] .panel--cozy:first-of-type{background:linear-gradient(165deg,#fff0d6 0%,#fffaf0 75%)}.shell[data-theme=color] .panel--cozy:nth-of-type(2){background:linear-gradient(165deg,#e4ddff 0%,#f7f5ff 75%)}.shell[data-theme=color] .panel--cozy.wide{background:linear-gradient(165deg,#d9f0ff 0%,#f5fbff 75%)}.shell[data-motion=off] .shell-color-blob{animation:none}@media (prefers-reduced-motion:reduce){.shell-color-blob{animation:none}}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb, var(--bg1) 82%, transparent);z-index:10;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;padding:.9rem 1.25rem;display:flex;position:sticky;top:0}.brand{flex-direction:column;gap:.1rem;display:flex}.brand-row{align-items:center;gap:.55rem;display:flex}.brand-icon{object-fit:cover;border-radius:22%;flex-shrink:0;width:2rem;height:2rem;box-shadow:0 2px 8px #2b3f6e1f}.brand-mark{letter-spacing:-.03em;font-family:Fraunces,serif;font-size:1.35rem;font-weight:700}.brand-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.shell-menu-brand{display:none}.shell-menu-toggle{appearance:none;border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;margin-left:auto;padding:0;display:none}.shell-menu-glyph{width:1.35rem;height:1.35rem;color:var(--ink)}.shell-menu{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;min-width:0;display:flex}.nav{flex-wrap:wrap;gap:.35rem;display:flex}.nav a{color:var(--ink);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .7rem;font-weight:500;text-decoration:none;display:inline-flex}.nav a.active{background:var(--accent);color:var(--accent-ink)}.nav-glyph{width:1.15rem;height:1.15rem;color:inherit;flex-shrink:0}.topbar-actions{align-items:center;gap:.5rem;display:flex}.user-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;font-size:.85rem;overflow:hidden}.main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.25rem 1.35rem 1.25rem 1.25rem}.page--home-rails{padding-left:1.6rem}.home-action-rail{z-index:12;flex-direction:column;align-items:flex-start;gap:1.1rem;padding-left:.05rem;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}.home-action-rail-btn{appearance:none;letter-spacing:.12em;color:var(--ink);opacity:.38;writing-mode:vertical-rl;cursor:pointer;background:0 0;border:none;padding:0;font-family:Fraunces,serif;font-size:.68rem;font-weight:700;line-height:1;text-decoration:none;transform:rotate(180deg)}.home-action-rail-btn:hover:not(:disabled),.home-action-rail-btn:focus-visible{opacity:.85;color:var(--accent)}.home-action-rail-btn:disabled{opacity:.18;cursor:not-allowed}.page-title{letter-spacing:-.03em;color:var(--ink);max-width:22rem;margin:0 0 .75rem;font-family:Figtree,sans-serif;font-size:clamp(1.65rem,4.5vw,2.35rem);font-weight:400;line-height:1.2}.page-title-em{font-weight:700}.page-title-plain{font-weight:400}.page-title-sub{color:var(--ink);margin:-.35rem 0 1rem;font-family:Fraunces,serif;font-size:1.15rem;font-weight:700}.page-title-meta{margin:-.35rem 0 .75rem;font-size:.9rem}.page{flex-direction:column;gap:1.25rem;display:flex}.page.narrow{max-width:32rem;margin:0 auto}.auth-page{justify-content:center;min-height:100vh;padding:1.25rem 1rem 2rem}.auth-page-with-mascot{text-align:center;align-items:center;width:100%;max-width:min(42rem,100%)}.auth-page-with-mascot .cozy-companion{width:100%;max-width:min(100%,72vh);margin:0 0 .75rem}.auth-page-with-mascot .cozy-companion-img{width:100%;max-width:none}.auth-page-with-mascot .stack{text-align:left;width:100%;max-width:22rem}.auth-page-with-mascot .field{text-align:left}.auth-page-with-mascot .page-title{text-align:center;max-width:none}.auth-page--animate>.cozy-companion,.auth-page--animate>.eyebrow,.auth-page--animate>h1,.auth-page--animate>.lede,.auth-page--animate>.stack,.auth-page--animate>.status{opacity:0;animation:.75s cubic-bezier(.22,1,.36,1) forwards auth-enter;transform:translateY(1.1rem)}.auth-page--animate>.cozy-companion{animation-delay:60ms}.auth-page--animate>.eyebrow{animation-delay:.22s}.auth-page--animate>h1{animation-delay:.32s}.auth-page--animate>.lede{animation-delay:.42s}.auth-page--animate>.stack{animation-delay:.54s}.auth-page--animate>.stack .field,.auth-page--animate>.stack .btn{opacity:0;animation:.65s cubic-bezier(.22,1,.36,1) forwards auth-enter;transform:translateY(.65rem)}.auth-page--animate>.stack .field{animation-delay:.62s}.auth-page--animate>.stack .btn{animation-delay:.74s}.auth-page--animate>.status{animation-duration:.55s;animation-delay:0s}.auth-page--animate .cozy-companion-figure{animation:.9s cubic-bezier(.22,1,.36,1) .1s both auth-companion-pop,3.6s ease-in-out 1.05s infinite cozy-companion-bob}.auth-page--animate .cute-mascot-quote{opacity:0;animation:.7s cubic-bezier(.22,1,.36,1) .28s forwards auth-quote-in;transform:translateY(.5rem)scale(.96)}@keyframes auth-enter{to{opacity:1;transform:translateY(0)}}@keyframes auth-companion-pop{0%{opacity:0;transform:translateY(1.25rem)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes auth-quote-in{to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.auth-page--animate>.cozy-companion,.auth-page--animate>.eyebrow,.auth-page--animate>h1,.auth-page--animate>.lede,.auth-page--animate>.stack,.auth-page--animate>.status,.auth-page--animate>.stack .field,.auth-page--animate>.stack .btn,.auth-page--animate .cute-mascot-quote{opacity:1;animation:none;transform:none}.auth-page--animate .cozy-companion-figure{animation:none}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.lede{color:var(--muted);max-width:40rem;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0;font-size:.75rem}.muted{color:var(--muted)}.empty{color:var(--muted);padding:1.5rem 0}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn{appearance:none;border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:.55rem 1rem;font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.ghost{background:0 0}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.stack{flex-direction:column;gap:.85rem;display:flex}.field{flex-direction:column;gap:.35rem;font-size:.92rem;font-weight:500;display:flex}.field input,.field textarea{font:inherit;color:var(--ink);box-shadow:none;background:#fffffff2;border:none;border-radius:999px;padding:.7rem .85rem}.field textarea{resize:vertical;border-radius:18px;min-height:6rem}.status{border:none;border-radius:18px;margin:0;padding:.75rem 1rem}.status.ok{color:var(--ok);background:#dff3ec}.status.err{color:var(--danger);background:#fde8e8}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.stat{border-radius:var(--radius);background:#ffffffe0;border:none;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:.75rem 1rem;padding:1.15rem 1.2rem 1.25rem;display:grid;position:relative;box-shadow:0 14px 36px #2b3f6e14}.stat-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.stat-aside{flex-direction:column;justify-self:stretch;align-items:flex-start;gap:.4rem;min-width:0;padding-top:.1rem;display:flex}.stat-quote{max-width:100%}.stat-quote .cute-mascot-quote-text{font-size:.92rem}@media (width<=720px){.stat{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:.65rem .75rem}.stat-quote .cute-mascot-quote-text{font-size:.82rem}}.stat-label{color:var(--muted);margin-bottom:.2rem;font-size:.85rem;display:block}.stat-value{letter-spacing:-.02em;margin-bottom:.65rem;font-family:Fraunces,serif;font-size:2rem;font-weight:700;line-height:1.1}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.panel{border-radius:var(--radius);background:#ffffffe0;border:none;padding:1rem 1.1rem;position:relative;overflow:hidden;box-shadow:0 14px 36px #2b3f6e14}.panel.wide{grid-column:1/-1}.rank-list{margin:.75rem 0 0;padding:0;list-style:none}.rank-list li{border-bottom:1px solid color-mix(in srgb, var(--line) 55%, transparent);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.rank-list li:last-child{border-bottom:none}.rank-pill{min-width:1.75rem;color:var(--ink);font-variant-numeric:tabular-nums;background:#dbebf9;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .65rem;font-size:.85rem;font-weight:600;display:inline-flex}.chart-wrap{width:100%;min-height:260px}.chart-wrap--donut{position:relative}.chart-tooltip-pill{color:#fff;background:#1c2438;border-radius:999px;align-items:center;gap:.55rem;padding:.4rem .75rem;font-size:.8rem;display:inline-flex;box-shadow:0 8px 20px #1c243838}.chart-tooltip-pill strong{font-variant-numeric:tabular-nums;font-weight:700}.donut-center-value{fill:var(--ink);font-family:Fraunces,serif;font-size:1.55rem;font-weight:700}.donut-center-label{fill:var(--muted);letter-spacing:.04em;font-size:.72rem}.filters{border-radius:var(--radius);background:#ffffffe0;border:none;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:.75rem;padding:1rem;display:grid;box-shadow:0 12px 32px #2b3f6e12}.report-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.report-row{border-radius:var(--radius);border:none;border-left:3px solid color-mix(in srgb, var(--accent) 35%, transparent);color:inherit;background:#ffffffe0;grid-template-columns:6.5rem 7rem 1fr auto;align-items:baseline;gap:.75rem;padding:.85rem 1rem;text-decoration:none;display:grid;box-shadow:0 12px 32px #2b3f6e12}.report-row:hover{background:color-mix(in srgb, var(--accent) 10%, white);text-decoration:none}.report-row time{color:var(--muted);font-variant-numeric:tabular-nums}.report-row .subject{color:var(--ink)}.report-row .tags{color:var(--muted);text-align:right;font-size:.85rem}.help{border-radius:var(--radius);background:#ffffffe0;border:none;padding:1rem;box-shadow:0 12px 32px #2b3f6e12}.help pre{white-space:pre-wrap;color:var(--muted);margin:.5rem 0 0}.preview{flex-direction:column;gap:.75rem;display:flex}.table-wrap{border-radius:var(--radius);box-shadow:none;background:#fffffff2;border:none;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem .75rem}th{background:color-mix(in srgb, var(--bg0) 55%, white);font-weight:600}.error-list{color:var(--danger);margin:0;padding-left:1.2rem}.detail{gap:.85rem;margin:0;display:grid}.detail div{gap:.2rem;display:grid}.detail dt{color:var(--muted);font-size:.85rem}.detail dd{margin:0;font-size:1.05rem}.crumb{color:var(--muted);margin:0}@media (width<=720px){.shell .topbar{z-index:20;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;box-shadow:none;background:0 0;border:none;flex-wrap:nowrap;align-items:flex-start;padding:.65rem;position:fixed;top:0;left:auto;right:0}.shell .topbar.menu-open{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;padding:.75rem;left:0;right:0}.shell-brand{display:none}.shell-menu-toggle{box-shadow:none;background:0 0;border:none;margin-left:0;display:inline-flex}.shell .topbar.menu-open .shell-menu-toggle{margin-left:auto}.shell-menu{border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);flex-direction:column;flex-basis:auto;align-items:stretch;gap:.85rem;margin:0;padding:.85rem 1rem 1.1rem;display:none;position:absolute;top:100%;left:0;right:0}.shell-menu.open{display:flex}.shell-menu-brand{flex-direction:column;gap:.1rem;display:flex}.shell-menu .nav{flex-direction:column;gap:.25rem}.shell-menu .nav a{text-align:left;border-radius:10px;padding:.65rem .85rem}.shell-menu .topbar-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;padding-top:.25rem}.shell-menu .shell-settings{border-top:1px solid var(--line)}.shell-menu .user-email{max-width:none;display:block}.shell .main{padding-top:3.5rem}}.cozy-companion{text-align:center;flex-direction:column;align-items:center;gap:.55rem;margin:.25rem 0 .5rem;display:flex}.cozy-companion--inline{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:.85rem}.cozy-companion--corner{text-align:left;flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem 1.25rem;width:100%;margin:0 0 .75rem;display:flex}.cozy-companion-copy{flex-direction:column;flex:1;align-items:flex-start;gap:.45rem;min-width:0;display:flex}.cozy-companion--corner .cute-mascot-quote{align-self:flex-start}.cozy-companion-figure{justify-content:center;animation:3.6s ease-in-out infinite cozy-companion-bob;display:flex}.cozy-companion--inline .cozy-companion-figure,.cozy-companion--corner .cozy-companion-figure{flex-shrink:0}.cozy-companion-img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:min(100%,420px);max-width:100%;height:auto;display:block}.cozy-companion--md .cozy-companion-img{width:min(100%,240px)}.cozy-companion--sm .cozy-companion-img{width:min(100%,180px)}.cozy-companion-caption{color:var(--muted);margin:0;font-size:.85rem}.cozy-empty{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:.5rem 0 1rem;display:flex}.cozy-empty .empty{padding:0}.cozy-empty--compact{gap:.45rem;margin-top:1.25rem}.theme-glyph{color:inherit;line-height:0;display:inline-flex}.theme-glyph svg{width:100%;height:100%;display:block}.cozy-spot{aspect-ratio:1;width:min(140px,42vw);height:auto;color:var(--ink);margin:0 auto .35rem;line-height:0;display:block}.cozy-spot svg{width:100%;height:100%}.stat-glyph{width:1.35rem;height:1.35rem;color:var(--ink);opacity:.85;margin-bottom:.35rem;display:block}.stat-glyph .theme-glyph{width:100%;height:100%}.stat--wash-sky{background:radial-gradient(120% 90% at 100% 0,#7eb8e88c 0%,#0000 55%),linear-gradient(160deg,#e8f4fc 0%,#f7fbfe 70%)}.stat--wash-blush{background:radial-gradient(120% 90% at 100% 0,#f2a8b08c 0%,#0000 55%),linear-gradient(160deg,#fce8ec 0%,#fff8f9 70%)}.stat--wash-mint{background:radial-gradient(120% 90% at 100% 0,#8fd4c18c 0%,#0000 55%),linear-gradient(160deg,#e6f7f1 0%,#f7fcfa 70%)}.block-meter{align-items:center;gap:.28rem;margin-top:auto;padding-top:.15rem;display:flex}.block-meter-seg{border:1.5px dashed color-mix(in srgb, var(--ink) 18%, transparent);box-sizing:border-box;background:0 0;border-radius:999px;flex:1;height:1.05rem}.block-meter--sky .block-meter-seg.is-filled{background:#7eb8e8;border:none}.block-meter--blush .block-meter-seg.is-filled{background:#f2a8b0;border:none}.block-meter--mint .block-meter-seg.is-filled{background:#8fd4c1;border:none}.block-meter--animate .block-meter-seg.is-filled{opacity:0;transform-origin:0;animation:.7s cubic-bezier(.22,1,.36,1) forwards block-meter-fill;transform:scaleX(.35)}@keyframes block-meter-fill{to{opacity:1;transform:scaleX(1)}}.dash-enter{opacity:0;animation:.95s cubic-bezier(.22,1,.36,1) forwards dash-enter;transform:translateY(1.1rem)}@keyframes dash-enter{to{opacity:1;transform:translateY(0)}}.shell[data-motion=off] .dash-enter,.shell[data-motion=off] .block-meter--animate .block-meter-seg.is-filled{opacity:1;animation:none;transform:none}.donut-legend{flex-wrap:wrap;gap:.45rem .75rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.donut-legend-item{color:var(--ink);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.donut-legend-swatch{border-radius:999px;flex-shrink:0;width:.7rem;height:.7rem}.donut-legend-name{font-weight:500}.donut-legend-count{color:var(--muted);font-variant-numeric:tabular-nums}.shell-settings{border-top:1px solid var(--line);flex-direction:column;gap:.75rem;padding:.85rem 0 .25rem;display:flex}.shell-settings-head{align-items:center;gap:.4rem;font-size:.92rem;font-weight:600;display:flex}.shell-knob{flex-direction:column;gap:.35rem;display:flex}.shell-knob-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.shell-knob-toggle{background:color-mix(in srgb, var(--panel-solid) 70%, var(--line));border-radius:999px;gap:.25rem;padding:.2rem;display:inline-flex}.shell-knob-btn{border:none;padding:.35rem .75rem;font-size:.82rem}.shell-knob-btn.is-active{background:var(--accent);color:var(--accent-ink)}@media (width>=721px){.shell-settings{border-top:none;flex-flow:wrap;align-items:center;gap:.65rem 1rem;margin-left:auto;padding:0}.shell-settings-head{font-size:.82rem}.shell-knob{flex-direction:row;align-items:center;gap:.4rem}.shell-menu .topbar-actions{margin-left:0}}.shell[data-theme=dark] .stat--wash-sky,.shell[data-theme=dark] .stat--wash-blush,.shell[data-theme=dark] .stat--wash-mint,.shell[data-theme=dark] .panel--cozy,.shell[data-theme=dark] .cute-mascot-quote,.shell[data-theme=dark] .cute-mascot-quote:after{background:color-mix(in srgb, var(--panel-solid) 88%, transparent)}.shell[data-theme=dark] .rank-pill{background:color-mix(in srgb, var(--accent) 28%, var(--panel-solid))}.panel--cozy{background:radial-gradient(80% 70% at 100% 100%,#ffe7a847 0%,#0000 50%),#ffffffeb}.page-with-corner-mascot{position:relative}.panel-with-watermark{z-index:0;position:relative}.panel-with-watermark>:not(.cozy-watermark){z-index:1;position:relative}.cozy-watermark{opacity:.18;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;object-fit:contain;width:min(52%,260px);height:auto;position:absolute;bottom:-.5rem;right:-.35rem}.panel.wide .cozy-watermark{opacity:.16;width:min(34%,280px)}@keyframes cozy-companion-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.cozy-companion-figure{animation:none}}@media (width<=720px){.stat-row,.dash-grid{grid-template-columns:1fr}.report-row{grid-template-columns:1fr;gap:.25rem}.cozy-companion--inline{text-align:center;flex-direction:column}.cozy-companion--corner{text-align:center;flex-direction:column;align-items:center}.cozy-companion-copy{align-items:center}.cozy-companion--corner .cute-mascot-quote{align-self:center}}.ui-lab{--bg0:#f8dfc8;--bg1:#f3c9b6;--ink:#2b3f6e;--muted:#7a849e;--line:#efd2c4;--panel:#ffffffd1;--panel-solid:#fff;--accent:#5c7cfa;--accent-ink:#fff;--danger:#e07a7a;--ok:#5bb89a;--shadow:0 10px 28px #2b3f6e14;--radius:32px;min-height:100vh;color:var(--ink);background:radial-gradient(900px 520px at 12% -8%,#ffe7a8 0%,#0000 55%),radial-gradient(800px 480px at 100% 0,#c9e4ff 0%,#0000 50%),linear-gradient(#f9e4c4 0%,#f2c4b4 48%,#ebb0a6 100%)}.ui-lab[data-theme=dark]{--bg0:#0e1612;--bg1:#121c17;--ink:#e4efe8;--muted:#8fa399;--line:#2a3d34;--panel:#141e19c7;--panel-solid:#1a2620;--accent:#3d9b7f;--accent-ink:#06110c;--danger:#d96a6a;--ok:#5bb894;--shadow:0 12px 40px #0006;--radius:14px;background:radial-gradient(1000px 520px at 8% -12%, #1a3328 0%, transparent 55%), radial-gradient(800px 440px at 100% 0%, #1a2830 0%, transparent 50%), linear-gradient(180deg, var(--bg0), var(--bg1) 45%, #0c1210)}.ui-lab-mascot{margin:.15rem 0 1.25rem;display:block}.ui-lab-mascot-gallery-head{margin-bottom:1rem}.ui-lab-mascot-gallery-head h2{margin-bottom:.15rem}.ui-lab-mascot-grid{grid-template-columns:1fr;gap:1.75rem 1.25rem;display:grid}@media (width>=720px){.ui-lab-mascot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cute-mascot-wrap{text-align:center;flex-direction:column;align-items:center;gap:.55rem;width:100%;max-width:none;margin:0;display:flex}.cute-mascot-quote{z-index:1;color:var(--ink);box-shadow:none;background:#ffffffeb;border-radius:999px;margin:0;padding:.7rem 1.1rem .85rem;position:relative}.cute-mascot-quote p,.cute-mascot-quote-text{letter-spacing:-.01em;min-height:1.35em;margin:0;font-family:Fraunces,serif;font-size:1.05rem;font-weight:500;line-height:1.35}.cute-mascot-quote-text--talking .cute-mascot-char{opacity:0;animation:.55s cubic-bezier(.22,1,.36,1) forwards cute-mascot-char-in;display:inline-block;transform:translateY(.28em)}@keyframes cute-mascot-char-in{0%{opacity:0;filter:blur(2px);transform:translateY(.28em)}to{opacity:1;filter:blur();transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cute-mascot-char{opacity:1;filter:none;animation:none;transform:none}}.cute-mascot-quote p:before,.cute-mascot-quote-text:before{content:"“";opacity:.45;margin-right:.1em}.cute-mascot-quote p:after,.cute-mascot-quote-text:after{content:"”";opacity:.45;margin-left:.1em}.cute-mascot-quote:after{content:"";background:#ffffffeb;border-radius:2px;width:14px;height:14px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.cute-mascot-caption{color:var(--muted);letter-spacing:.04em;margin:0;font-size:.82rem}.ui-lab-mascot .cute-mascot-figure{justify-content:center;width:100%;animation:3.6s ease-in-out infinite ui-lab-mascot-bob;display:flex}.ui-lab-mascot .cute-mascot{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:min(100%,420px);max-width:100%;height:auto;display:block}.ui-lab[data-theme=dark] .cute-mascot-quote,.ui-lab[data-theme=dark] .cute-mascot-quote:after{background:color-mix(in srgb, var(--panel-solid) 88%, transparent)}.ui-lab[data-theme=dark] .cute-mascot{opacity:.92;filter:brightness(.92)saturate(.9)}@keyframes ui-lab-mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.ui-lab-mascot .cute-mascot-figure{animation:none}}.ui-lab .topbar{background:color-mix(in srgb, var(--bg1) 82%, transparent)}.ui-lab-topbar{flex-wrap:nowrap;gap:.75rem}.ui-lab-menu-brand{display:none}.ui-lab-menu-toggle{appearance:none;border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;margin-left:auto;padding:0;display:none}.ui-lab-burger{flex-direction:column;gap:4px;width:1.1rem;display:flex}.ui-lab-burger span{background:var(--ink);border-radius:1px;height:2px;transition:transform .2s,opacity .2s;display:block}.ui-lab-topbar.menu-open .ui-lab-burger span:first-child{transform:translateY(6px)rotate(45deg)}.ui-lab-topbar.menu-open .ui-lab-burger span:nth-child(2){opacity:0}.ui-lab-topbar.menu-open .ui-lab-burger span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.ui-lab-menu{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;min-width:0;display:flex}.ui-lab .nav-item{appearance:none;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.4rem .7rem;font-weight:500;display:inline-block}.ui-lab .nav-item.active{background:var(--accent);color:var(--accent-ink)}@media (width<=720px){.ui-lab .ui-lab-topbar{z-index:20;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;box-shadow:none;background:0 0;border:none;flex-wrap:nowrap;align-items:flex-start;padding:.65rem;position:fixed;top:0;left:auto;right:0}.ui-lab .ui-lab-topbar.menu-open{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;padding:.75rem;left:0;right:0}.ui-lab-brand{display:none}.ui-lab-menu-toggle{box-shadow:none;background:0 0;border:none;margin-left:0;display:inline-flex}.ui-lab-topbar.menu-open .ui-lab-menu-toggle{margin-left:auto}.ui-lab-menu{border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);flex-direction:column;flex-basis:auto;align-items:stretch;gap:.85rem;margin:0;padding:.85rem 1rem 1.1rem;display:none;position:absolute;top:100%;left:0;right:0}.ui-lab-menu.open{display:flex}.ui-lab-menu-brand{flex-direction:column;gap:.1rem;display:flex}.ui-lab-menu .nav{flex-direction:column;gap:.25rem}.ui-lab-menu .nav-item{text-align:left;border-radius:10px;padding:.65rem .85rem}.ui-lab-menu .topbar-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;padding-top:.25rem}.ui-lab-menu .user-email{max-width:none;display:block}.ui-lab .main{padding-top:3.5rem}}.ui-lab .theme-toggle{border:1px solid var(--line);background:var(--panel);border-radius:999px;gap:.25rem;padding:.15rem;display:flex}.ui-lab .theme-toggle .btn{padding:.35rem .75rem;font-size:.85rem}.ui-lab .theme-toggle .theme-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ui-lab[data-theme=dark] .status.ok{color:var(--ok);background:#1a3328}.ui-lab[data-theme=dark] .status.err{color:#f0a0a0;background:#3a1c1c}.ui-lab[data-theme=dark] th{background:#1e2c25}.ui-lab .fake-pie{align-items:center;gap:1.25rem;min-height:200px;padding:.5rem 0;display:flex}.ui-lab .fake-pie-svg{flex-shrink:0;overflow:visible}.ui-lab .fake-pie-seg{stroke-linecap:butt;stroke-dashoffset:var(--seg-offset);stroke-dasharray:0 var(--seg-circ);animation:.9s ease-out forwards ui-lab-pie-draw;animation-delay:calc(var(--seg-index) * .14s)}@keyframes ui-lab-pie-draw{to{stroke-dasharray:var(--seg-len) var(--seg-gap)}}@media (prefers-reduced-motion:reduce){.ui-lab .fake-pie-seg{stroke-dasharray:var(--seg-len) var(--seg-gap);animation:none}}.ui-lab .fake-pie-legend{color:var(--muted);flex-direction:column;gap:.45rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.ui-lab .fake-pie-legend .swatch{vertical-align:middle;border-radius:2px;width:.7rem;height:.7rem;margin-right:.4rem;display:inline-block}.ui-lab .swatch.s1{background:#f0a07a}.ui-lab .swatch.s2{background:#7eb8e8}.ui-lab .swatch.s3{background:#8fd4c1}.ui-lab .swatch.s4{background:#f0d06a}.ui-lab[data-theme=dark] .swatch.s1{background:#e8a090}.ui-lab[data-theme=dark] .swatch.s2{background:#6a9cc4}.ui-lab[data-theme=dark] .swatch.s3{background:#6fb89a}.ui-lab[data-theme=dark] .swatch.s4{background:#c9b056}.ui-lab .fake-bars{align-items:flex-end;gap:.45rem;height:160px;padding:.5rem 0 0;display:flex}.ui-lab .fake-bar{min-width:0;height:var(--bar-h,50%);background:linear-gradient(180deg, #7eb8e8 0%, var(--accent) 100%);opacity:.9;transform-origin:bottom;animation:.75s cubic-bezier(.22,1,.36,1) forwards ui-lab-bar-grow;animation-delay:calc(var(--bar-i,0) * 60ms);border-radius:999px 999px 6px 6px;flex:1;transform:scaleY(0)}.ui-lab[data-theme=dark] .fake-bar{background:linear-gradient(180deg, #5bb894 0%, var(--accent) 100%)}@keyframes ui-lab-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.ui-lab .fake-bar{animation:none;transform:scaleY(1)}}.ui-lab-login{max-width:22rem;margin-top:.5rem}.design-lab{flex-direction:column;gap:1.25rem;margin-bottom:.5rem;display:flex}.design-lab-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=720px){.design-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-lab-block.wide{grid-column:1/-1}}.design-lab-block h3{margin:0 0 .35rem;font-family:Fraunces,serif;font-size:1.2rem}.design-lab-subhead{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.1rem 0 .5rem;font-family:Figtree,sans-serif;font-size:.85rem;font-weight:600}.design-lab-block-lede{margin:0 0 .85rem;font-size:.92rem}.design-lab-glyphs{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.85rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.design-lab-glyph{color:var(--ink);flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.design-lab-glyph strong{font-size:.88rem}.design-lab-glyph code{word-break:break-all;color:var(--muted);font-size:.72rem}.design-lab-glyph-sizes{align-items:flex-end;gap:.75rem;margin-bottom:.35rem;display:flex}.design-lab-glyph-svg{color:var(--ink);line-height:0;display:inline-flex}.design-lab-glyph-svg svg{width:100%;height:100%;display:block}.design-lab-glyph-svg--sm{width:24px;height:24px}.design-lab-glyph-svg--lg{width:48px;height:48px}.design-lab-spacing{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.design-lab-spacing-row{align-items:center;gap:.65rem;font-size:.88rem;display:flex}.design-lab-spacing-bar{background:color-mix(in srgb, var(--accent) 55%, white);border-radius:999px;flex-shrink:0;min-width:4px;height:10px}.design-lab-empty-spots{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.design-lab-empty-spot{color:var(--ink);flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.design-lab-empty-spot-svg{width:120px;height:120px;color:var(--ink);margin-bottom:.35rem;line-height:0;display:block}.design-lab-empty-spot-svg svg{width:100%;height:100%}.design-lab-empty-spot code{color:var(--muted);word-break:break-all;font-size:.72rem}.design-lab-icon-gallery{gap:1.25rem;margin:0 0 1.25rem;display:grid}@media (width>=720px){.design-lab-icon-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.design-lab-icon-set-label{color:var(--ink);margin:0 0 .55rem;font-size:.88rem;font-weight:700}.design-lab-icon-previews{flex-wrap:wrap;align-items:flex-end;gap:1.25rem 1.75rem;margin:0;display:flex}.design-lab-icon-preview{flex-direction:column;align-items:center;gap:.45rem;margin:0;display:flex}.design-lab-icon-preview figcaption{color:var(--muted);font-size:.78rem;font-weight:600}.design-lab-icon-img{object-fit:cover;border-radius:22.37%;display:block;box-shadow:0 8px 22px #2b3f6e1f}.design-lab-icon-img--lg{width:180px;height:180px}.design-lab-icon-img--sm{width:64px;height:64px}.design-lab-footnote{margin:.85rem 0 0;font-size:.85rem}.design-lab-swatches{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.design-lab-swatch{align-items:center;gap:.75rem;display:flex}.design-lab-swatch-chip{border-radius:12px;flex-shrink:0;width:2.5rem;height:2.5rem;box-shadow:inset 0 0 0 1px #2b3f6e14}.design-lab-swatch-meta{flex-direction:column;gap:.1rem;min-width:0;display:flex}.design-lab-swatch-meta code,.design-lab-hex{font-size:.8rem}.design-lab-fonts{flex-direction:column;gap:1.1rem;margin:0;padding:0;list-style:none;display:flex}.design-lab-font-meta{flex-direction:column;gap:.15rem;margin-bottom:.35rem;display:flex}.design-lab-font-meta code{font-size:.78rem}.design-lab-font-display{letter-spacing:-.02em;margin:0;font-family:Fraunces,serif;font-size:1.45rem;font-weight:700}.design-lab-font-body{margin:0;font-family:Figtree,sans-serif;font-size:1rem;font-weight:500}.design-lab-token-list{flex-direction:column;gap:.4rem;margin:0;padding-left:1.1rem;font-size:.92rem;display:flex}.design-lab-assets{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.design-lab-assets{grid-template-columns:repeat(2,minmax(0,1fr))}}.design-lab-asset{border-radius:calc(var(--radius) - 8px);background:#ffffff8c;padding:.85rem .95rem}.design-lab-asset-head{flex-direction:column;gap:.2rem;margin-bottom:.4rem;display:flex}.design-lab-asset-head code{word-break:break-all;font-size:.75rem}.design-lab-asset p{margin:.35rem 0 0;font-size:.9rem}.design-lab-tag{background:color-mix(in srgb, var(--accent) 12%, white);color:var(--ink);border-radius:999px;margin-bottom:.25rem;margin-right:.35rem;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.design-lab-components{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.design-lab-components li{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);flex-direction:column;gap:.15rem;padding-bottom:.65rem;display:flex}.design-lab-components li:last-child{border-bottom:none;padding-bottom:0}.design-lab-components code{word-break:break-word;font-size:.78rem}.ui-lab[data-theme=dark] .design-lab-asset{background:color-mix(in srgb, var(--panel-solid) 80%, transparent)}.ui-lab[data-theme=dark] .design-lab-tag{background:color-mix(in srgb, var(--accent) 25%, var(--panel-solid))}.ui-lab[data-theme=dark] .design-lab-swatch-chip{box-shadow:inset 0 0 0 1px #ffffff14}.ui-lab .stat,.ui-lab .panel,.ui-lab .filters,.ui-lab .report-row,.ui-lab .help,.ui-lab .table-wrap,.ui-lab .field input,.ui-lab .field textarea{box-shadow:none;border:none}.ui-lab .stat,.ui-lab .panel,.ui-lab .filters,.ui-lab .report-row{border-radius:var(--radius);background:#ffffffe0}.ui-lab .field input,.ui-lab .field textarea{background:#fffffff2;border-radius:999px}.ui-lab .field textarea{border-radius:18px}.ui-lab .field.is-focus input{outline:2px solid color-mix(in srgb, var(--accent) 55%, white);outline-offset:2px}.ui-lab .field.is-error input{outline:2px solid color-mix(in srgb, var(--danger) 70%, white);outline-offset:2px}.ui-lab .field.is-success input{outline:2px solid color-mix(in srgb, var(--ok) 70%, white);outline-offset:2px}.ui-lab .field-hint{margin-top:.35rem;font-size:.85rem;font-weight:600;display:block}.ui-lab .field-hint.err{color:var(--danger)}.ui-lab .field-hint.ok{color:var(--ok)}.ui-lab .ui-lab-toast{border-radius:var(--radius);background:color-mix(in srgb, var(--ok) 18%, white);color:var(--ink);margin-top:1rem;padding:.75rem 1rem;font-size:.92rem;font-weight:600}.ui-lab .ui-lab-empty{text-align:center;color:var(--ink);flex-direction:column;align-items:center;gap:.55rem;padding:1.25rem .5rem .5rem;display:flex}.ui-lab .ui-lab-empty-art{width:140px;height:140px;color:var(--ink);line-height:0;display:block}.ui-lab .ui-lab-empty-art svg{width:100%;height:100%}.ui-lab .ui-lab-empty h3{margin:.25rem 0 0;font-family:Fraunces,serif;font-size:1.35rem}.ui-lab .ui-lab-empty .lede{max-width:22rem;margin:0 0 .5rem}.ui-lab .btn{box-shadow:none;border:none}.ui-lab .btn.primary{background:var(--accent)}.ui-lab .status.ok{background:#dff5ec;border-radius:14px}.ui-lab .status.err{background:#fde8e8;border-radius:14px}.ui-lab .report-row:hover{background:#fffffffa;border:none}.ui-lab .rank-list li{border-bottom:none}.ui-lab .rank-list li+li{margin-top:.15rem}.ui-lab[data-theme=dark] .stat,.ui-lab[data-theme=dark] .panel,.ui-lab[data-theme=dark] .filters,.ui-lab[data-theme=dark] .report-row{background:color-mix(in srgb, var(--panel-solid) 88%, transparent)}.ui-lab[data-theme=dark] .field input,.ui-lab[data-theme=dark] .field textarea{background:var(--panel-solid);border-radius:10px}@media (width<=720px){.stat-row,.dash-grid{grid-template-columns:1fr}.report-row{grid-template-columns:1fr 1fr;grid-template-areas:"date object""subject subject""tags tags"}.report-row time{grid-area:date}.report-row strong{text-align:right;grid-area:object}.report-row .subject{grid-area:subject}.report-row .tags{text-align:left;grid-area:tags}.user-email{display:none}}
