@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700;9..144,900&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--font-display: "Fraunces", "Playfair Display", Georgia, serif;--font-ui: "Manrope", "Nunito", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--font-main: var(--font-ui);--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-4xl: 3.75rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4.5rem;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-snap: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .13s;--duration-base: .22s;--duration-slow: .42s;--shadow-sm: 0 1px 2px rgb(0 0 0 / .05), 0 1px 3px rgb(0 0 0 / .04);--shadow-md: 0 2px 4px rgb(0 0 0 / .05), 0 8px 20px -6px rgb(0 0 0 / .12);--shadow-lg: 0 4px 8px rgb(0 0 0 / .05), 0 20px 48px -12px rgb(0 0 0 / .22);--shadow-inset: inset 0 1px 0 rgb(255 255 255 / .06);--rail-width: 15rem;--rail-width-collapsed: 4.5rem;--content-max: 96rem;--primary: #3f7d3a;--primary-light: #5da357;--primary-dark: #2a5626;--secondary: #1f2a1c;--accent: #d98a1f;--success: #3f7d3a;--warning: #d98a1f;--danger: #b8402f;--info: #33637a;--background: #faf8f3;--surface: #ffffff;--surface-variant: #f1eee6;--text: #16180f;--text-secondary: #6b6d60;--border: #e2ddd0;--card-blur: 0px;--card-border-width: 1px;--button-transform: none}:root{--primary-soft: color-mix(in oklab, var(--primary) 12%, transparent);--primary-softer: color-mix(in oklab, var(--primary) 6%, transparent);--danger-soft: color-mix(in oklab, var(--danger) 12%, transparent);--accent-soft: color-mix(in oklab, var(--accent) 15%, transparent);--hairline: color-mix(in oklab, var(--border) 70%, transparent);--overlay: color-mix(in oklab, var(--secondary, #000) 55%, transparent);--nav-active-bg: var(--primary-soft);--on-primary: #fff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);font-size:var(--text-md);font-weight:450;line-height:1.55;color:var(--text);background-color:var(--background);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--duration-slow) var(--ease-in-out),color var(--duration-slow) var(--ease-in-out)}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(70rem 40rem at 8% -10%,var(--primary-softer),transparent 70%),radial-gradient(50rem 30rem at 100% 0%,var(--accent-soft),transparent 65%);opacity:.9;pointer-events:none}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--primary);color:var(--on-primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-xs)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border:3px solid transparent;background-clip:content-box;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);font-weight:700;line-height:1.1;letter-spacing:-.015em;text-wrap:balance}h1{font-size:var(--text-3xl);font-weight:900;letter-spacing:-.03em}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg);font-family:var(--font-ui);font-weight:700;letter-spacing:-.01em}h4{font-size:var(--text-md);font-family:var(--font-ui);font-weight:700}a{color:var(--primary);text-decoration-thickness:1px;text-underline-offset:.2em}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}.numeric,.stat-value,.timer-digits{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.eyebrow{font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.app-shell{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);min-height:100vh}.app-main{min-width:0;padding:var(--space-xl) var(--space-xl) var(--space-3xl);max-width:var(--content-max)}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg) var(--space-md);border-right:1px solid var(--hairline);background:color-mix(in oklab,var(--surface) 55%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.rail-brand{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-xs) var(--space-md);border-bottom:1px solid var(--hairline)}.rail-mark{font-size:1.75rem;line-height:1;filter:drop-shadow(0 2px 6px rgb(0 0 0 / .18));transition:transform var(--duration-base) var(--ease-snap)}.rail-brand:hover .rail-mark{transform:rotate(-8deg) scale(1.08)}.rail-wordmark{font-family:var(--font-display);font-size:1.15rem;font-weight:900;letter-spacing:-.02em;line-height:1.05}.rail-wordmark span{color:var(--primary)}.rail-user{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1}.rail-section{margin-top:var(--space-md);padding:0 var(--space-xs) var(--space-2xs)}.rail-link{position:relative;display:flex;align-items:center;gap:var(--space-sm);padding:.625rem var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-align:left;transition:color var(--duration-fast) ease,background-color var(--duration-fast) ease}.rail-link svg{flex-shrink:0}.rail-link:hover{color:var(--text);background:var(--primary-softer)}.rail-link:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:var(--radius-pill);background:var(--primary);transform:translateY(-50%);transition:height var(--duration-base) var(--ease-snap)}.rail-link[aria-current=page]{color:var(--text);background:var(--primary-soft);font-weight:700}.rail-link[aria-current=page]:before{height:60%}.rail-footer{display:flex;flex-direction:column;gap:var(--space-2xs);padding-top:var(--space-md);border-top:1px solid var(--hairline)}.tabbar{display:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;padding-bottom:var(--space-md);margin-bottom:var(--space-xl);border-bottom:1px solid var(--hairline)}.page-title{font-size:var(--text-2xl);margin:0}.page-lede{color:var(--text-secondary);font-size:var(--text-sm);max-width:48ch;margin-top:var(--space-2xs)}.page-actions{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.dashboard-unified-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-lg);align-items:stretch;width:100%}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--space-md)}.card{background:var(--surface);-webkit-backdrop-filter:blur(var(--card-blur));backdrop-filter:blur(var(--card-blur));border:var(--card-border-width) solid var(--hairline);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:border-color var(--duration-base) ease,box-shadow var(--duration-base) ease,transform var(--duration-base) var(--ease-out)}.card:hover{border-color:color-mix(in oklab,var(--primary) 30%,var(--border));box-shadow:var(--shadow-md)}.panel{background:var(--surface-variant);border-radius:var(--radius-md);padding:var(--space-md)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.card-title{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-md);font-weight:700;font-family:var(--font-ui);letter-spacing:-.01em;margin:0}.stat{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-md);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--hairline)}.stat-value{font-size:var(--text-2xl);font-weight:700;line-height:1;letter-spacing:-.03em}.stat-hint{font-size:var(--text-xs);color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:.5625rem var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:650;line-height:1.2;white-space:nowrap;transform:var(--button-transform);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,translate var(--duration-fast) var(--ease-snap)}.btn:hover:not(:disabled){border-color:color-mix(in oklab,var(--primary) 45%,var(--border));background:var(--primary-softer);translate:0 -1px}.btn:active:not(:disabled){translate:0 1px;box-shadow:none}.btn-primary{background:var(--primary);border-color:transparent;color:var(--on-primary);box-shadow:var(--shadow-sm),var(--shadow-inset)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:transparent;color:var(--on-primary);box-shadow:var(--shadow-md),var(--shadow-inset)}.btn-danger{color:var(--danger);border-color:color-mix(in oklab,var(--danger) 35%,var(--border))}.btn-danger:hover:not(:disabled){background:var(--danger);border-color:transparent;color:#fff}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover:not(:disabled){background:var(--primary-softer);border-color:transparent}.btn-icon{padding:.5rem;aspect-ratio:1}.btn-sm{padding:.3125rem var(--space-xs);font-size:var(--text-xs)}.btn-lg{padding:.8125rem var(--space-lg);font-size:var(--text-md)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.field-label{font-size:var(--text-xs);font-weight:650;color:var(--text-secondary)}.field-hint{font-size:var(--text-xs);color:var(--text-secondary)}.input,select.input,textarea.input{width:100%;padding:.5625rem var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--text-sm);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.input::placeholder{color:color-mix(in oklab,var(--text-secondary) 70%,transparent)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input:disabled{background:var(--surface-variant);cursor:not-allowed}textarea.input{resize:vertical;min-height:5rem;line-height:1.5}.badge{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:.125rem var(--space-xs);border-radius:var(--radius-pill);background:var(--surface-variant);color:var(--text-secondary);font-size:var(--text-2xs);font-weight:700;letter-spacing:.02em;white-space:nowrap}.badge-primary{background:var(--primary-soft);color:var(--primary-dark)}.badge-danger,.badge-live{background:var(--danger-soft);color:var(--danger)}.badge-live:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 1.8s var(--ease-in-out) infinite}.swatch{width:.625rem;height:.625rem;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px color-mix(in oklab,currentColor 15%,transparent)}.rows{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-xs);border-bottom:1px solid var(--hairline);transition:background-color var(--duration-fast) ease}.row:last-child{border-bottom:none}.row:hover{background:var(--primary-softer)}.row-main{flex:1;min-width:0}.row-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--text-secondary);flex-wrap:wrap}.row-actions{display:flex;gap:var(--space-2xs);opacity:0;transition:opacity var(--duration-fast) ease}.row:hover .row-actions,.row:focus-within .row-actions{opacity:1}@media(hover:none){.row-actions{opacity:1}}.table-scroll{overflow-x:auto;margin-inline:calc(var(--space-lg) * -1);padding-inline:var(--space-lg)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--text-secondary)}.empty-mark{font-size:2.5rem;line-height:1;opacity:.65}.toggle-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) 0}.checkbox-item{display:inline-flex;align-items:center;gap:var(--space-xs);cursor:pointer}.switch{position:relative;display:inline-block;width:2.5rem;height:1.375rem;flex-shrink:0}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.slider{position:absolute;inset:0;cursor:pointer;background-color:var(--border);border-radius:var(--radius-pill);transition:background-color var(--duration-base) ease}.slider:before{content:"";position:absolute;height:1rem;width:1rem;left:.1875rem;bottom:.1875rem;background-color:var(--surface);border-radius:50%;box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-snap)}.switch input:checked+.slider{background-color:var(--primary)}.switch input:checked+.slider:before{transform:translate(1.125rem)}.switch input:focus-visible+.slider{outline:2px solid var(--primary);outline-offset:2px}.slider.round{border-radius:var(--radius-pill)}.toast-stack{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:9999;display:flex;flex-direction:column;gap:var(--space-xs);max-width:min(26rem,calc(100vw - 2 * var(--space-lg)));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--hairline);border-left:3px solid var(--primary);background:var(--surface);box-shadow:var(--shadow-lg);color:var(--text);font-size:var(--text-sm);font-weight:550;pointer-events:auto;animation:toast-in var(--duration-base) var(--ease-out) both}.toast[data-tone=error]{border-left-color:var(--danger)}.toast[data-tone=warning]{border-left-color:var(--warning)}.toast[data-leaving=true]{animation:toast-out var(--duration-fast) var(--ease-in-out) both}.toast-icon{flex-shrink:0;margin-top:1px;color:var(--primary)}.toast[data-tone=error] .toast-icon{color:var(--danger)}.toast[data-tone=warning] .toast-icon{color:var(--warning)}.toast-body{flex:1;min-width:0}.dialog-backdrop{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:var(--space-md);background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in var(--duration-fast) ease both}.dialog{width:100%;max-width:32rem;max-height:min(85vh,48rem);overflow-y:auto;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-lg);animation:dialog-in var(--duration-base) var(--ease-out) both}.dialog-wide{max-width:48rem}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.dialog-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;margin:0}.dialog-body{color:var(--text-secondary);font-size:var(--text-sm)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-xs);margin-top:var(--space-lg);flex-wrap:wrap}.timer-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--hairline);background:radial-gradient(40rem 20rem at 100% 0%,var(--primary-soft),transparent 70%),var(--surface)}.timer-digits{font-size:clamp(2.25rem,7vw,var(--text-4xl));font-weight:700;line-height:1;letter-spacing:-.04em}.timer-digits .sep{opacity:.35;animation:pulse 2s var(--ease-in-out) infinite}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-variant) 25%,var(--border) 50%,var(--surface-variant) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.sync-warning{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--text-xs);font-weight:650}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(1.5rem) scale(.97)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate(1rem) scale(.97)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes rise{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}.reveal>*{animation:rise var(--duration-slow) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 55ms)}.rail-nav .rail-link{animation:rise var(--duration-base) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 25ms)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:1024px){:root{--rail-width: var(--rail-width-collapsed)}.rail-wordmark,.rail-user,.rail-link span,.rail-section{display:none}.rail-link{justify-content:center;padding:var(--space-sm)}.rail-brand{justify-content:center}}@media(max-width:768px){.app-shell{grid-template-columns:minmax(0,1fr)}.rail{display:none}.app-main{padding:var(--space-md) var(--space-md) 5.5rem}h1{font-size:var(--text-xl)}.page-head{margin-bottom:var(--space-lg)}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-around;gap:2px;padding:var(--space-2xs) var(--space-2xs) max(var(--space-2xs),env(safe-area-inset-bottom));background:color-mix(in oklab,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--hairline)}.tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:0;padding:var(--space-xs) var(--space-2xs);border-radius:var(--radius-sm);font-size:var(--text-2xs);font-weight:650;color:var(--text-secondary);transition:color var(--duration-fast) ease,background-color var(--duration-fast) ease}.tabbar button[aria-current=page]{color:var(--primary);background:var(--primary-soft)}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--hairline)}.dashboard-unified-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.dashboard-unified-grid>div{grid-column:span 1!important}.card{padding:var(--space-md)}.toast-stack{left:var(--space-md);right:var(--space-md);bottom:5rem;max-width:none}.desktop-nav,.mobile-hidden{display:none!important}}@media(min-width:769px){.mobile-topbar{display:none}}.flex{display:flex}.grid{display:grid}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-2xs{gap:var(--space-2xs)}.gap-xs,.gap-sm{gap:var(--space-xs)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.m-0{margin:0}.mb-xs{margin-bottom:var(--space-2xs)}.mb-sm{margin-bottom:var(--space-xs)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-0{margin-top:0}.mt-sm{margin-top:var(--space-xs)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.ml-auto{margin-left:auto}.mr-md{margin-right:var(--space-md)}.p-0{padding:0}.p-sm{padding:var(--space-xs)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.text-2xs{font-size:var(--text-2xs)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.font-bold{font-weight:700}.font-normal{font-weight:450}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-muted{color:var(--text-secondary)}.text-primary{color:var(--primary)}.text-secondary{color:var(--text-secondary)}.text-danger{color:var(--danger)}.text-white{color:#fff}.relative{position:relative}.absolute{position:absolute}.w-full{width:100%}.h-full{height:100%}.overflow-hidden{overflow:hidden}.mobile-only,.desktop-only{display:none}@media(max-width:768px){.mobile-only{display:flex}}@media(min-width:769px){.desktop-only{display:flex}}.widget-grip{position:absolute;top:0;left:0;right:0;height:var(--space-xl);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:var(--text-secondary);opacity:.25;cursor:grab;touch-action:none;transition:opacity var(--duration-fast) ease,background-color var(--duration-fast) ease}.widget-grip:hover,.widget-grip:focus-visible{opacity:1;background:var(--primary-softer)}.widget-grip:active{cursor:grabbing}.widget-resize{position:absolute;right:-6px;top:25%;bottom:25%;width:14px;display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;opacity:0;transition:opacity var(--duration-fast) ease}.widget-resize span{width:3px;height:2.5rem;border-radius:var(--radius-pill);background:var(--primary)}.card:hover>.widget-resize,.widget-resize:focus-visible,.widget-resize[data-active]{opacity:.75}@media(hover:none){.widget-resize{display:none}}.widget-body{display:flex;flex-direction:column;flex:1;min-height:0}.widget-body:not([data-collapsed]){max-height:clamp(24rem,70vh,50rem)}.widget-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);margin-bottom:var(--space-md)}.widget-body[data-collapsed] .widget-header{margin-bottom:0}.widget-content{flex:1;min-height:0;overflow-y:auto}.widget-header h3{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-md);margin:0}.widget-icon-bg{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);background:var(--primary-soft);flex-shrink:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);border:1px solid transparent;color:var(--text-secondary);transition:color var(--duration-fast) ease,background-color var(--duration-fast) ease}.icon-btn:hover{color:var(--text);background:var(--primary-softer)}.icon-btn[data-active=true]{color:var(--primary);background:var(--primary-soft)}.panda-confirm{max-width:22rem;text-align:center}.panda-confirm-art{display:flex;justify-content:center;margin-bottom:var(--space-xs);animation:head-tilt 3s var(--ease-in-out) infinite}.panda-confirm-actions{justify-content:stretch}.panda-confirm-actions .btn{flex:1}@keyframes head-tilt{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.swatch-picker{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.swatch-option{width:2rem;height:2rem;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--hairline);transition:transform var(--duration-fast) var(--ease-snap),box-shadow var(--duration-fast) ease}.swatch-option:hover{transform:scale(1.12)}.swatch-option[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text)}.chart-tooltip{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--surface);box-shadow:var(--shadow-md);color:var(--text);font-size:var(--text-sm)}.recharts-cartesian-axis-tick text{fill:var(--text-secondary)}.stat-unit{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);letter-spacing:0}.auth-screen{display:grid;place-items:center;min-height:100vh;padding:var(--space-lg)}.auth-card{width:100%;max-width:25rem;display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--hairline);background:var(--surface);box-shadow:var(--shadow-lg)}.auth-mark{font-size:2.5rem;line-height:1;margin-bottom:var(--space-xs);filter:drop-shadow(0 4px 10px rgb(0 0 0 / .15))}.auth-title{font-size:var(--text-2xl);margin:0}.auth-links{display:flex;flex-direction:column;gap:var(--space-xs);align-items:flex-start;padding-top:var(--space-md);border-top:1px solid var(--hairline)}.link-button{font-size:var(--text-sm);font-weight:650;color:var(--primary);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}.link-button:hover{color:var(--primary-dark)}.input-affix{position:relative;display:block}.input-affix .input{padding-right:2.5rem}.input-affix-btn{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-xs);color:var(--text-secondary)}.input-affix-btn:hover{color:var(--text);background:var(--primary-softer)}.chart-frame{position:relative;width:100%;height:clamp(14rem,28vh,22rem)}.chart-frame-tall{height:clamp(18rem,42vh,30rem)}
