@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}#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}.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}.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--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);box-shadow:none;background:#ffffffe0;border:none;padding:1rem;position:relative}.stat-label{color:var(--muted);margin-bottom:.35rem;font-size:.85rem;display:block}.stat-value{font-family:Fraunces,serif;font-size:1.8rem;font-weight:700}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.panel{border-radius:var(--radius);box-shadow:none;background:#ffffffe0;border:none;padding:1rem 1.1rem;position:relative;overflow:hidden}.panel.wide{grid-column:1/-1}.rank-list{margin:.75rem 0 0;padding:0;list-style:none}.rank-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.rank-list li:last-child{border-bottom:none}.chart-wrap{width:100%;min-height:260px}.filters{border-radius:var(--radius);box-shadow:none;background:#ffffffe0;border:none;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:.75rem;padding:1rem;display:grid}.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;box-shadow:none;background:#ffffffe0;grid-template-columns:6.5rem 7rem 1fr auto;align-items:baseline;gap:.75rem;padding:.85rem 1rem;text-decoration:none;display:grid}.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);box-shadow:none;background:#ffffffe0;border:none;padding:1rem}.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 .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{flex-shrink:0;margin:0 0 .5rem;position:relative}.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--corner .cozy-companion-img{margin-left:auto}.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,#7eb8e859 0%,#0000 55%),#ffffffe0}.stat--wash-blush{background:radial-gradient(120% 90% at 100% 0,#f2a8b061 0%,#0000 55%),#ffffffe0}.stat--wash-mint{background:radial-gradient(120% 90% at 100% 0,#8fd4c161 0%,#0000 55%),#ffffffe0}.panel--cozy{background:radial-gradient(80% 70% at 100% 100%,#ffe7a838 0%,#0000 50%),#ffffffe0}.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}}.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}}
