:root{--brand-600:oklch(0.42 0.14 145);--brand-700:oklch(0.32 0.10 145);--brand-800:oklch(0.25 0.08 145);--gray-100:oklch(0.98 0.01 145);--gray-200:oklch(0.95 0.02 145);--gray-300:oklch(0.88 0.03 145);--gray-400:oklch(0.78 0.04 145);--gray-500:oklch(0.65 0.05 145);--gray-600:oklch(0.45 0.06 145);--gray-700:oklch(0.35 0.08 145);--gray-800:oklch(0.25 0.10 145);--gray-900:oklch(0.16 0.02 145);--success-600:oklch(0.72 0.18 145);--success-700:oklch(0.58 0.15 145);--warning-600:oklch(0.85 0.20 160);--warning-700:oklch(0.75 0.22 160);--danger-600:oklch(0.65 0.25 0);--danger-700:oklch(0.55 0.23 0);--bg-surface:oklch(0.99 0.01 145);--bg-surface-raised:oklch(0.97 0.01 145);--bg-surface-depressed:oklch(0.93 0.03 145);--bg-overlay:oklch(0.90 0.05 145);--border-default:oklch(0.88 0.025 145);--border-strong:oklch(0.78 0.04 145);--border-faint:oklch(0.95 0.02 145);--text-primary:oklch(0.16 0.02 145);--text-secondary:oklch(0.45 0.035 145);--text-muted:oklch(0.50 0.04 145);--text-faint:oklch(0.78 0.04 145);--text-inverse:oklch(0.97 0.015 145);--accent-primary:oklch(0.42 0.14 145);--accent-primary-muted:oklch(0.92 0.06 145);--accent-primary-hover:oklch(0.37 0.12 145);--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 1px 3px rgba(0,0,0,0.1);--shadow-md:0 4px 6px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px rgba(0,0,0,0.1);--topbar-height:72px;--duration-fast:200ms;--duration-normal:300ms;--chart-1:oklch(0.55 0.18 145);--chart-2:oklch(0.50 0.15 200);--chart-3:oklch(0.55 0.20 25);--chart-4:oklch(0.65 0.18 80);--chart-5:oklch(0.50 0.20 300);--chart-6:oklch(0.55 0.18 170);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--dark-mode-bg:oklch(0.15 0.02 145);--dark-mode-surface:oklch(0.22 0.03 145);--dark-mode-text:oklch(0.95 0.01 145);--dark-mode-border:oklch(0.38 0.04 145);--dark-mode-accent:oklch(0.52 0.15 145);--transition-base:all var(--duration-normal) var(--ease-out)}.ui-text{color:var(--text-primary);line-height:1.6;margin:0}.ui-text-xs{font-size:var(--text-xs)}.ui-text-sm{font-size:var(--text-sm)}.ui-text-base{font-size:var(--text-md)}.ui-text-lg{font-size:var(--text-lg)}.ui-text-xl{font-size:var(--text-xl)}.ui-text-2xl{font-size:var(--text-2xl)}.ui-text-display{font-size:var(--text-display)}.ui-text-normal{font-weight:var(--weight-normal)}.ui-text-medium{font-weight:var(--weight-medium)}.ui-text-semibold{font-weight:var(--weight-semibold)}.ui-text-bold{font-weight:var(--weight-bold)}.ui-text-primary{color:var(--text-primary)}.ui-text-secondary{color:var(--text-secondary)}.ui-text-muted{color:var(--text-muted)}.ui-text-faint{color:var(--text-faint)}.ui-text-inverse{color:var(--text-inverse)}.ui-text-brand{color:var(--brand-600)}.ui-text-success{color:var(--success-600)}.ui-text-warning{color:var(--warning-600)}.ui-text-danger{color:var(--danger-600)}.ui-text-left{text-align:left}.ui-text-center{text-align:center}.ui-text-right{text-align:right}.ui-text-justify{text-align:justify}.ui-text-underline{text-decoration:underline}.ui-text-no-underline{text-decoration:none}.ui-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-text-clamp-1{-webkit-line-clamp:1}.ui-text-clamp-1,.ui-text-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.ui-text-clamp-2{-webkit-line-clamp:2}.ui-leading-none{line-height:1}.ui-leading-tight{line-height:1.25}.ui-leading-snug{line-height:1.375}.ui-leading-normal{line-height:1.6}.ui-leading-relaxed{line-height:1.75}.ui-leading-loose{line-height:2}.ui-space-y>*+*{margin-top:var(--space-md)}.ui-space-x>*+*{margin-left:var(--space-md)}.ui-list-disc{list-style-type:disc}.ui-list-circle{list-style-type:circle}.ui-list-square{list-style-type:square}.ui-list-none{list-style-type:none}.ui-code{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.ui-code,.ui-pre{font-family:var(--font-outlier);background:var(--bg-surface-raised);font-size:var(--text-sm);color:var(--text-primary)}.ui-pre{padding:var(--space-md);border-radius:var(--radius-md);overflow-x:auto;white-space:pre}.ui-container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-md);padding-right:var(--space-md);max-width:1200px}.ui-container-sm{max-width:640px}.ui-container-md{max-width:768px}.ui-container-lg{max-width:1024px}.ui-container-xl{max-width:1280px}.ui-container-fluid{max-width:none;padding-left:var(--space-2xl);padding-right:var(--space-2xl)}.ui-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:var(--space-md);gap:var(--space-md);width:100%}.ui-grid-cols-1{grid-template-columns:repeat(1,1fr)}.ui-grid-cols-2{grid-template-columns:repeat(2,1fr)}.ui-grid-cols-3{grid-template-columns:repeat(3,1fr)}.ui-grid-cols-4{grid-template-columns:repeat(4,1fr)}.ui-grid-cols-5{grid-template-columns:repeat(5,1fr)}.ui-grid-cols-6{grid-template-columns:repeat(6,1fr)}.ui-grid-cols-7{grid-template-columns:repeat(7,1fr)}.ui-grid-cols-8{grid-template-columns:repeat(8,1fr)}.ui-grid-cols-9{grid-template-columns:repeat(9,1fr)}.ui-grid-cols-10{grid-template-columns:repeat(10,1fr)}.ui-grid-cols-11{grid-template-columns:repeat(11,1fr)}.ui-grid-cols-12{grid-template-columns:repeat(12,1fr)}.ui-gap-0{gap:0}.ui-gap-xs{gap:var(--space-xs)}.ui-gap-sm{gap:var(--space-sm)}.ui-gap-md{gap:var(--space-md)}.ui-gap-lg{gap:var(--space-lg)}.ui-gap-xl{gap:var(--space-xl)}.ui-gap-2xl{gap:var(--space-2xl)}.ui-grid-flow-row{grid-auto-flow:row}.ui-grid-flow-col{grid-auto-flow:column}.ui-grid-areas{grid-template-areas:"auto"}.ui-flex{display:flex}.ui-inline-flex{display:inline-flex}.ui-flex-col{flex-direction:column}.ui-flex-row{flex-direction:row}.ui-flex-wrap{flex-wrap:wrap}.ui-flex-nowrap{flex-wrap:nowrap}.ui-items-start{align-items:start}.ui-items-end{align-items:end}.ui-items-center{align-items:center}.ui-items-baseline{align-items:baseline}.ui-items-stretch{align-items:stretch}.ui-justify-start{justify-content:start}.ui-justify-end{justify-content:end}.ui-justify-center{justify-content:center}.ui-justify-between{justify-content:space-between}.ui-justify-around{justify-content:space-around}.ui-justify-evenly{justify-content:space-evenly}.ui-self-auto{align-self:auto}.ui-self-start{align-self:start}.ui-self-end{align-self:end}.ui-self-center{align-self:center}.ui-self-stretch{align-self:stretch}.ui-m-0{margin:0}.ui-m-xs{margin:var(--space-xs)}.ui-m-sm{margin:var(--space-sm)}.ui-m-md{margin:var(--space-md)}.ui-m-lg{margin:var(--space-lg)}.ui-m-xl{margin:var(--space-xl)}.ui-m-2xl{margin:var(--space-2xl)}.ui-mx-0{margin-left:0;margin-right:0}.ui-mx-xs{margin-left:var(--space-xs);margin-right:var(--space-xs)}.ui-mx-sm{margin-left:var(--space-sm);margin-right:var(--space-sm)}.ui-mx-md{margin-left:var(--space-md);margin-right:var(--space-md)}.ui-mx-lg{margin-left:var(--space-lg);margin-right:var(--space-lg)}.ui-mx-xl{margin-left:var(--space-xl);margin-right:var(--space-xl)}.ui-mx-2xl{margin-left:var(--space-2xl);margin-right:var(--space-2xl)}.ui-my-0{margin-top:0;margin-bottom:0}.ui-my-xs{margin-top:var(--space-xs);margin-bottom:var(--space-xs)}.ui-my-sm{margin-top:var(--space-sm);margin-bottom:var(--space-sm)}.ui-my-md{margin-top:var(--space-md);margin-bottom:var(--space-md)}.ui-my-lg{margin-top:var(--space-lg);margin-bottom:var(--space-lg)}.ui-my-xl{margin-top:var(--space-xl);margin-bottom:var(--space-xl)}.ui-my-2xl{margin-top:var(--space-2xl);margin-bottom:var(--space-2xl)}.ui-mt-0{margin-top:0}.ui-mt-xs{margin-top:var(--space-xs)}.ui-mt-sm{margin-top:var(--space-sm)}.ui-mt-md{margin-top:var(--space-md)}.ui-mt-lg{margin-top:var(--space-lg)}.ui-mt-xl{margin-top:var(--space-xl)}.ui-mt-2xl{margin-top:var(--space-2xl)}.ui-mb-0{margin-bottom:0}.ui-mb-xs{margin-bottom:var(--space-xs)}.ui-mb-sm{margin-bottom:var(--space-sm)}.ui-mb-md{margin-bottom:var(--space-md)}.ui-mb-lg{margin-bottom:var(--space-lg)}.ui-mb-xl{margin-bottom:var(--space-xl)}.ui-mb-2xl{margin-bottom:var(--space-2xl)}.ui-ml-0{margin-left:0}.ui-ml-xs{margin-left:var(--space-xs)}.ui-ml-sm{margin-left:var(--space-sm)}.ui-ml-md{margin-left:var(--space-md)}.ui-ml-lg{margin-left:var(--space-lg)}.ui-ml-xl{margin-left:var(--space-xl)}.ui-ml-2xl{margin-left:var(--space-2xl)}.ui-mr-0{margin-right:0}.ui-mr-xs{margin-right:var(--space-xs)}.ui-mr-sm{margin-right:var(--space-sm)}.ui-mr-md{margin-right:var(--space-md)}.ui-mr-lg{margin-right:var(--space-lg)}.ui-mr-xl{margin-right:var(--space-xl)}.ui-mr-2xl{margin-right:var(--space-2xl)}.ui-p-0{padding:0}.ui-p-xs{padding:var(--space-xs)}.ui-p-sm{padding:var(--space-sm)}.ui-p-md{padding:var(--space-md)}.ui-p-lg{padding:var(--space-lg)}.ui-p-xl{padding:var(--space-xl)}.ui-p-2xl{padding:var(--space-2xl)}.ui-px-0{padding-left:0;padding-right:0}.ui-px-xs{padding-left:var(--space-xs);padding-right:var(--space-xs)}.ui-px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.ui-px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.ui-px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.ui-px-xl{padding-left:var(--space-xl);padding-right:var(--space-xl)}.ui-px-2xl{padding-left:var(--space-2xl);padding-right:var(--space-2xl)}.ui-py-0{padding-top:0;padding-bottom:0}.ui-py-xs{padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.ui-py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.ui-py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.ui-py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.ui-py-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.ui-py-2xl{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl)}.ui-pt-0{padding-top:0}.ui-pt-xs{padding-top:var(--space-xs)}.ui-pt-sm{padding-top:var(--space-sm)}.ui-pt-md{padding-top:var(--space-md)}.ui-pt-lg{padding-top:var(--space-lg)}.ui-pt-xl{padding-top:var(--space-xl)}.ui-pt-2xl{padding-top:var(--space-2xl)}.ui-pb-0{padding-bottom:0}.ui-pb-xs{padding-bottom:var(--space-xs)}.ui-pb-sm{padding-bottom:var(--space-sm)}.ui-pb-md{padding-bottom:var(--space-md)}.ui-pb-lg{padding-bottom:var(--space-lg)}.ui-pb-xl{padding-bottom:var(--space-xl)}.ui-pb-2xl{padding-bottom:var(--space-2xl)}.ui-pl-0{padding-left:0}.ui-pl-xs{padding-left:var(--space-xs)}.ui-pl-sm{padding-left:var(--space-sm)}.ui-pl-md{padding-left:var(--space-md)}.ui-pl-lg{padding-left:var(--space-lg)}.ui-pl-xl{padding-left:var(--space-xl)}.ui-pl-2xl{padding-left:var(--space-2xl)}.ui-pr-0{padding-right:0}.ui-pr-xs{padding-right:var(--space-xs)}.ui-pr-sm{padding-right:var(--space-sm)}.ui-pr-md{padding-right:var(--space-md)}.ui-pr-lg{padding-right:var(--space-lg)}.ui-pr-xl{padding-right:var(--space-xl)}.ui-pr-2xl{padding-right:var(--space-2xl)}.ui-w-full{width:100%}.ui-h-full{height:100%}.ui-h-screen{height:100vh}.ui-relative{position:relative}.ui-absolute{position:absolute}.ui-fixed{position:fixed}.ui-sticky{position:-webkit-sticky;position:sticky}.ui-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:all var(--duration-fast) var(--ease-in-out);cursor:pointer;border:1px solid transparent;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;height:2.625rem;padding:0 var(--space-5);gap:var(--space-2)}.ui-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ui-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ui-btn-primary{background:var(--accent-primary);color:var(--text-inverse);border-color:var(--accent-primary)}.ui-btn-primary:hover:not(:disabled){background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.ui-btn-outline{background:transparent;color:var(--accent-primary);border-color:var(--accent-primary)}.ui-btn-outline:hover:not(:disabled){background:var(--accent-primary-muted)}.ui-btn-ghost{background:transparent;color:var(--accent-primary);border-color:transparent}.ui-btn-ghost:hover:not(:disabled){background:var(--accent-primary-muted)}.ui-btn-danger{background:var(--danger-600);color:var(--text-inverse);border-color:var(--danger-600)}.ui-btn-danger:hover:not(:disabled){background:var(--danger-700);border-color:var(--danger-700)}.ui-btn-sm{height:2.25rem;padding:0 var(--space-3);font-size:.875rem}.ui-card{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-surface-raised);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--duration-normal) var(--ease-in-out)}.ui-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.ui-card-head{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--border-default);min-height:4rem}.ui-card-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary)}.ui-card-body{padding:var(--space-5)}.ui-field{display:flex;flex-direction:column;gap:var(--space-1);width:100%;position:relative}.ui-label{font-size:.875rem;font-weight:500}.ui-input,.ui-label{color:var(--text-primary)}.ui-input{height:2.75rem;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-surface-raised);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-in-out)}.ui-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted)}.ui-modal-backdrop{position:fixed;inset:0;z-index:60;background:oklch(0 0 0/.6);display:grid;place-items:center;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ui-modal{width:100%;max-width:35rem;max-height:calc(100dvh - 2rem);background:var(--bg-surface-raised);border-radius:var(--radius-lg);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.ui-badge{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;transition:all var(--duration-fast) var(--ease-in-out);height:1.25rem}.ui-badge-default{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default)}.ui-badge-success{background:var(--success-600);color:var(--text-inverse)}.ui-badge-danger{background:var(--danger-600);color:var(--text-inverse)}.ui-badge-warn{background:var(--warning-600);color:var(--text-inverse)}.ui-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-5);text-align:center;color:var(--text-secondary)}.ui-empty-state-title{margin:0 0 var(--space-md);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary)}.text-display{font-size:clamp(3rem,6vw,5.5rem);font-family:var(--font-display);color:var(--text-primary)}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-md);padding-right:var(--space-md);max-width:75rem}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:var(--space-5);gap:var(--space-5)}.col-span-12{grid-column:span 12}.col-span-6{grid-column:span 6}.col-span-4{grid-column:span 4}@media (max-width:980px){.app-layout,.grid{grid-template-columns:1fr}}@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&family=Space+Grotesk:wght@300..700&display=swap");:root{--bg-page:var(--gray-100);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-display:clamp(2.75rem,5vw + 1rem,5.25rem);--leading-normal:1.5;--radius-xs:6px;--radius-pill:999px;--elevation-2:var(--shadow-sm);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--font-display:"Fraunces",Georgia,serif;--font-body:"Space Grotesk",system-ui,sans-serif;--font-outlier:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--color-rule:var(--border-default);--color-paper:var(--bg-surface);--color-paper-2:var(--bg-surface-raised);--color-ink:var(--text-primary);--color-ink-2:var(--text-secondary);--color-accent:var(--accent-primary)}*{box-sizing:border-box}body,html{min-height:100%;margin:0;overflow-x:clip}body{background:var(--bg-page);color:var(--text-primary);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.app-layout{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:280px minmax(0,1fr);background:var(--bg-page);color:var(--text-primary)}.app-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh;padding:var(--space-4);border-right:1px solid var(--border-default);background:linear-gradient(180deg,var(--gray-900),var(--gray-800));color:var(--text-inverse);display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto}.app-drawer-backdrop{display:none}.app-sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:rgba(30,41,59,.4)}.brand-logo{width:2.25rem;height:2.25rem;max-width:2.25rem;max-height:2.25rem;flex:0 0 2.25rem;object-fit:contain;display:block}.app-sidebar-brand p{margin:0;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-inverse)}.app-sidebar-brand small{color:var(--gray-300);font-size:var(--text-xs)}.app-sidebar-nav{margin-top:var(--space-3);display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.app-sidebar-lang{margin-top:auto;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.app-sidebar-children,.app-sidebar-lang{padding-top:var(--space-3);border-top:1px solid var(--border-default)}.app-sidebar-children{margin-top:var(--space-3)}.app-sidebar-section-title{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--gray-200);letter-spacing:.03em}.app-sidebar-empty{margin:0;font-size:var(--text-sm);color:var(--gray-300)}.app-sidebar-child-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.app-sidebar-child-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-sm);background:rgba(30,41,59,.35);transition:border-color var(--duration-fast) var(--ease-in-out)}.app-sidebar-child-item:hover{border-color:rgba(148,163,184,.45)}.app-sidebar-avatar,.app-sidebar-avatar-fallback{width:1.75rem;height:1.75rem;border-radius:var(--radius-pill);border:1px solid var(--border-strong);flex-shrink:0}.app-sidebar-avatar{object-fit:cover}.app-sidebar-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:var(--weight-bold);color:var(--text-secondary);background:var(--bg-surface-raised)}.app-sidebar-child-meta{display:grid;grid-gap:1px;gap:1px;min-width:0}.app-sidebar-child-meta strong{font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar-child-meta small{color:var(--gray-300);font-size:var(--text-xs)}.app-nav-link{min-height:42px;border-radius:var(--radius-sm);border:1px solid transparent;color:var(--gray-300);padding:0 var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);font-size:var(--text-sm);transition:background var(--duration-fast) var(--ease-in-out),border-color var(--duration-fast) var(--ease-in-out),color var(--duration-fast) var(--ease-in-out);text-decoration:none}.app-nav-link:hover{border-color:var(--border-faint);background:rgba(30,41,59,.7);color:var(--text-inverse)}.app-nav-link.active{color:var(--text-inverse);border-color:var(--brand-700);background:linear-gradient(140deg,var(--brand-800),var(--brand-600))}.app-nav-icon{min-width:24px;min-height:24px;border-radius:var(--radius-xs);border:1px solid rgba(148,163,184,.25);background:rgba(15,23,42,.25);display:inline-flex;align-items:center;justify-content:center}.app-nav-icon svg{width:14px;height:14px;fill:currentColor}.app-nav-link-nested{margin-left:1.6rem;width:calc(100% - 1.6rem);font-size:var(--text-sm)}.app-nav-link-nested .app-nav-icon{width:18px;min-width:18px;height:18px;min-height:18px}.app-main-area{min-width:0;padding:var(--space-4);padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.app-topbar{min-height:var(--topbar-height);border:1px solid var(--border-default);background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--elevation-2);justify-content:space-between;padding:var(--space-3) var(--space-4)}.app-topbar,.app-topbar-row-main{display:flex;align-items:center;gap:var(--space-3)}.app-topbar-row-filters,.app-topbar-row-main{width:100%}.app-topbar.role-parent{flex-wrap:nowrap;align-items:center}.app-topbar.role-parent .app-topbar-row-main{width:auto;flex:1 1 auto}.app-topbar.role-parent .app-topbar-row-filters{width:auto}.app-topbar-left{display:inline-flex;align-items:center;gap:var(--space-3);min-width:0;flex:1 1 auto}.app-topbar-meta{min-width:0}.app-menu-btn{min-width:42px;min-height:42px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface-raised);color:var(--text-primary);cursor:pointer;display:none;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--duration-fast) var(--ease-in-out),border-color var(--duration-fast) var(--ease-in-out)}.app-menu-btn:hover{background:var(--accent-primary-muted);border-color:var(--accent-primary)}.app-topbar-title{margin:0;font-size:var(--text-base);font-weight:var(--weight-bold);display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar-subtitle{color:var(--text-muted)}.app-topbar-sep{color:var(--text-faint);font-weight:var(--weight-medium)}.app-topbar-account{color:var(--text-muted);font-weight:var(--weight-medium);font-size:var(--text-sm)}.app-topbar-right{flex:0 0 auto}.app-topbar-filters,.app-topbar-right{display:inline-flex;align-items:center;gap:var(--space-2)}.app-topbar-profile-link{margin-left:auto;width:2.5rem;height:2.5rem;padding:0;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--bg-surface-raised);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color var(--duration-fast) var(--ease-in-out)}.app-topbar-profile-link:hover{border-color:var(--accent-primary)}.app-topbar-avatar-fallback,.app-topbar-avatar-img{width:100%;height:100%}.app-topbar-avatar-img{object-fit:cover}.app-topbar-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:.92rem;font-weight:var(--weight-bold);background:var(--bg-surface-raised)}.app-content,.dev-banner{margin-top:var(--space-4)}.dev-banner{min-height:42px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--accent-primary-muted);color:var(--text-primary);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm)}.dev-banner-dismiss{width:28px;height:28px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.app-content>.grid,.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));grid-gap:var(--space-4);gap:var(--space-4);align-items:start}.actions,.data-actions,.ui-row{gap:var(--space-2)}.actions,.data-actions,.data-toolbar,.ui-row{display:flex;align-items:center;flex-wrap:wrap}.data-toolbar{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.data-main{min-width:0;display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.data-title{margin:0;color:var(--text-primary);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.muted,.ui-card-subtitle,.ui-helper{color:var(--text-secondary)}.balance-value{margin:var(--space-3) 0 0;color:var(--text-primary);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:var(--weight-bold);line-height:1}.ui-tabs{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface-raised)}.ui-link-btn,.ui-tab{border:0;background:transparent;color:var(--accent-primary);font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.ui-tab{min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm)}.ui-tab.active{background:var(--accent-primary);color:var(--text-inverse)}.ui-field-inline{flex-direction:row;align-items:center;justify-content:space-between}.ui-select-wrap{display:inline-flex}.ui-select{min-height:40px;max-width:100%;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);padding:0 var(--space-3);font:inherit}.app-loading{min-height:60vh;min-height:60dvh;display:grid;place-items:center}.app-loading-spinner{width:2.5rem;height:2.5rem;border-radius:var(--radius-pill);border:3px solid var(--border-strong);border-top-color:var(--accent-primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.public-layout{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;grid-gap:var(--space-5);gap:var(--space-5);padding:var(--space-4);background:var(--bg-page);color:var(--text-primary)}.public-topbar{width:min(1120px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--elevation-2)}.public-brand{min-width:0;display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text-primary);font-weight:var(--weight-bold);text-decoration:none}.public-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-footer,.public-links{display:inline-flex;align-items:center;gap:var(--space-3)}.public-links{flex:0 0 auto}.public-footer a,.public-links a{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none}.public-footer a:hover,.public-links a:hover{color:var(--text-primary)}.public-main{width:min(1120px,100%);margin:0 auto;padding-top:calc(var(--space-md) + 3.5rem)}.public-stack{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.public-audience-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:640px){.public-audience-grid{grid-template-columns:1fr}}.public-grid{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.landing-hero{border:none;background:transparent;box-shadow:none}.landing-hero .ui-card-head{margin-bottom:var(--space-4)}.login-page-grid{align-items:stretch;justify-content:center}.auth-panel,.login-intro-card{min-width:0}.public-footer{justify-content:center;color:var(--text-muted);font-size:var(--text-sm)}.public-footer-sep{color:var(--text-faint)}.world-cup-page{display:grid;grid-gap:1.25rem;gap:1.25rem}.world-cup-day,.world-cup-match-list,.world-cup-page,.world-cup-page .ui-card,.world-cup-page .ui-card-body,.world-cup-page .ui-card-head,.world-cup-page>*,.world-cup-score-form,.world-cup-table-wrap{min-width:0;max-width:100%}.world-cup-page .ui-card-subtitle,.world-cup-page .ui-card-title{overflow-wrap:anywhere}.world-cup-page .ui-card-head:has(.world-cup-collapse-toggle){position:relative;align-items:center;min-height:60px;padding:var(--space-3) 4rem var(--space-3) var(--space-4)}.world-cup-page .ui-card-head:has(.world-cup-collapse-toggle)>div:last-child{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%)}.world-cup-collapse-toggle{width:36px;height:36px;min-height:36px;padding:0;border-radius:var(--radius-pill);display:grid;place-items:center}.world-cup-collapse-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform var(--duration-normal) var(--ease-in-out)}.world-cup-collapse-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.world-cup-day{display:grid;grid-gap:.75rem;gap:.75rem}.world-cup-day>h2{margin:0;text-transform:capitalize;font-size:1.05rem}.world-cup-match-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));grid-gap:1rem;gap:1rem}.world-cup-match-meta{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-bottom:1rem;font-size:1.15rem}.world-cup-match-heading-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.15rem}.world-cup-match-card .ui-card-subtitle{margin-top:.75rem}.world-cup-match-card .ui-card-body{padding-top:.75rem}.world-cup-match-time{display:inline-flex;align-items:center;gap:.35rem;min-height:28px;padding:.25rem .55rem;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-surface-raised);color:var(--text-primary);font-weight:var(--weight-bold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.world-cup-match-time svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.world-cup-inline-result{margin-left:auto;color:var(--text-primary);font-size:1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.world-cup-match-title button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin:-.2rem;padding:.2rem;background:none;color:var(--accent-primary);font:inherit;font-weight:inherit;cursor:pointer;text-align:left;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:.2rem;touch-action:manipulation}.world-cup-match-title button:focus-visible,.world-cup-match-title button:hover{color:var(--accent-primary-hover);-webkit-text-decoration-style:solid;text-decoration-style:solid}.world-cup-team-history{display:grid;grid-gap:.6rem;gap:.6rem;margin-top:1rem;max-height:55vh;overflow-y:auto}.world-cup-team-history-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.7rem;gap:.7rem;padding:.65rem;border:1px solid var(--border-default);border-radius:12px}.world-cup-team-history-item span{overflow-wrap:anywhere}.world-cup-score-form{display:grid;grid-gap:.7rem;gap:.7rem}.world-cup-score-inputs{display:grid;grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr);align-items:center;grid-gap:.5rem;gap:.5rem}.world-cup-score-separator{display:grid;place-items:center;align-self:stretch;min-width:.5rem;line-height:1;font-weight:var(--weight-bold)}.world-cup-score-actions{display:flex;flex-wrap:wrap;gap:.5rem}.world-cup-score-form .ui-input{text-align:center;font-weight:var(--weight-bold)}.world-cup-team{display:inline-flex;align-items:center;gap:.35rem}.world-cup-flag{font-size:1.05em;line-height:1}.world-cup-finished-group{display:grid;grid-gap:.5rem;gap:.5rem}.world-cup-finished-group>h3{margin:0;text-transform:capitalize;font-size:.95rem}.world-cup-finished-list{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.world-cup-family-filters-wrap{display:grid;grid-gap:.85rem;gap:.85rem;margin-bottom:1rem}.world-cup-family-filters-toggle{width:100%}.world-cup-family-filters{display:grid;grid-gap:1rem;gap:1rem}.world-cup-family-filter-group{display:grid;grid-gap:.45rem;gap:.45rem}.world-cup-family-filter-group>h3{margin:0;font-size:.95rem}.world-cup-family-filter-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));grid-gap:.6rem;gap:.6rem}.world-cup-family-overview{display:grid;grid-gap:1rem;gap:1rem}.world-cup-family-member{display:grid;grid-gap:.6rem;gap:.6rem}.world-cup-family-member>h3{margin:0;font-size:1rem}.world-cup-family-member-list{display:grid;grid-gap:.5rem;gap:.5rem}.world-cup-family-member-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .8rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface)}.world-cup-family-member-item div{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.world-cup-family-member-item strong{font-size:.95rem;overflow-wrap:anywhere}.world-cup-family-member-item span{color:var(--text-muted);font-size:.9rem;overflow-wrap:anywhere}.world-cup-family-member-item small{color:var(--text-muted);text-align:right}.world-cup-points{margin:.8rem 0 0;color:var(--success-700);font-weight:var(--weight-bold)}.world-cup-family-predictions{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem}.world-cup-family-predictions h3{width:100%;margin:0;font-size:.9rem}.world-cup-message{margin:0}.world-cup-sync-button{width:100%;margin-top:.75rem}.world-cup-table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}.world-cup-table{width:100%;border-collapse:collapse}.world-cup-table td,.world-cup-table th{padding:.7rem;text-align:left;border-bottom:1px solid var(--border-default);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.world-cup-bracket-page,.world-cup-stage-page{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.world-cup-bracket-stage-matches{display:grid;grid-gap:.75rem;gap:.75rem}.world-cup-bracket-match-card{display:grid;grid-gap:.7rem;gap:.7rem;padding:.9rem 1rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface-raised)}.world-cup-bracket-match-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.world-cup-bracket-match-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.world-cup-bracket-score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.world-cup-bracket-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:.6rem;gap:.6rem}.world-cup-bracket-vs{color:var(--text-muted);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.08em}.world-cup-bracket-away{justify-content:flex-end;text-align:right}.world-cup-bracket-page .world-cup-team{min-width:0;overflow-wrap:anywhere}.world-cup-bracket-page .world-cup-flag{flex:0 0 auto}.world-cup-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));grid-gap:.6rem;gap:.6rem}.world-cup-team-choice{min-height:44px;padding:.65rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface-raised);color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-in-out),background var(--duration-fast) var(--ease-in-out)}.world-cup-team-choice.selected{border-color:var(--accent-primary);background:var(--accent-primary-muted)}.world-cup-team-choice.automatic{display:flex;align-items:center;justify-content:space-between;border-color:var(--success-700);cursor:default}.world-cup-team-choice:disabled{cursor:not-allowed;opacity:.55}.world-cup-stage-save{width:100%;margin-top:1rem}.world-cup-bracket-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));grid-gap:.75rem;gap:.75rem}.world-cup-bracket-match{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;grid-gap:.5rem;gap:.5rem;padding:.65rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface-raised)}.world-cup-bracket-match:has(.world-cup-bracket-info){position:relative;z-index:10}.world-cup-bracket-heading{position:relative;display:flex;align-items:center;gap:.4rem}.world-cup-bracket-heading strong{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.world-cup-bracket-info-button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:var(--bg-surface);color:var(--accent-primary);font:700 .78rem/1 serif;cursor:pointer}.world-cup-bracket-info{position:absolute;z-index:5;top:calc(100% + .45rem);left:0;width:min(320px,calc(100vw - 3rem));padding:.7rem .8rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);box-shadow:0 12px 32px rgba(0,0,0,.55);font-size:.8rem;line-height:1.45;white-space:pre-line}.world-cup-bracket-match select{width:100%;min-width:0;min-height:42px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);padding:.5rem}.world-cup-bracket-fixed{display:flex;align-items:center;min-height:42px;padding:.5rem;border:1px solid var(--success-700);border-radius:var(--radius-sm);background:rgba(21,128,61,.12);font-weight:var(--weight-bold)}@media (max-width:980px){.app-layout,.public-grid{grid-template-columns:1fr}.app-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:60;width:min(82vw,300px);max-width:300px;transform:translateX(-110%);transition:transform .24s var(--ease-in-out);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:max(var(--space-4),env(safe-area-inset-top));padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.app-sidebar.open{transform:translateX(0)}.app-drawer-backdrop{position:fixed;inset:0;z-index:55;background:rgba(2,6,23,.6);opacity:0;pointer-events:none;transition:opacity .24s var(--ease-in-out);display:block}.app-drawer-backdrop.open{opacity:1;pointer-events:auto}.app-menu-btn{display:inline-flex;align-items:center;justify-content:center}.app-topbar.role-child{flex-wrap:nowrap;align-items:center}.app-topbar.role-parent{flex-wrap:wrap;align-items:flex-start}.app-topbar.role-parent .app-topbar-row-main{width:100%;flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-2);gap:var(--space-2)}.app-topbar.role-parent .app-topbar-row-filters{width:100%;flex:0 0 auto}.app-topbar-title{white-space:normal}.app-topbar-right{width:auto;flex-wrap:nowrap;flex:0 0 auto;margin-left:auto}.app-topbar-right>*{flex:0 0 auto;min-width:0}.app-topbar.role-parent .app-topbar-right{display:contents;margin-left:0}.app-topbar.role-parent .app-topbar-account{display:none}.app-topbar.role-parent .app-topbar-filters{grid-column:1/-1;width:100%;min-width:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.app-topbar.role-parent .app-topbar-filters .ui-field,.app-topbar.role-parent .app-topbar-filters .ui-select,.app-topbar.role-parent .app-topbar-filters .ui-select-wrap{width:100%;min-width:0}.app-topbar-right>.app-topbar-profile-link{grid-column:2;grid-row:1;flex:0 0 auto;min-width:40px;margin-left:0;justify-self:end}.app-topbar-right .ui-select{max-width:170px}.app-topbar.role-parent .app-topbar-filters .ui-select{max-width:100%}}@media (max-width:640px){.public-topbar{align-items:flex-start;flex-wrap:wrap;row-gap:var(--space-2)}.public-brand{min-width:0}.public-brand span{display:block;line-height:1.15;word-break:break-word}.public-links{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2)}.install-ios-hint{max-width:100%}.install-app-btn{min-height:34px;padding:0 var(--space-3);font-size:.8rem}.app-main-area,.public-layout{padding:var(--space-3)}.auth-panel .ui-card-body,.auth-panel .ui-card-head{padding-left:var(--space-4);padding-right:var(--space-4)}.invite-row{flex-direction:column}.profile-photo-wrap{grid-template-columns:1fr}.avatar-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.data-actions{width:100%;display:grid;grid-template-columns:1fr}.app-topbar{gap:var(--space-2)}.app-topbar-left{min-width:0}.app-topbar-right .ui-select{max-width:132px}.app-topbar.role-parent .app-topbar-filters{grid-template-columns:1fr}.app-topbar.role-parent .app-topbar-filters .ui-select{max-width:100%}.actions,.ui-row{width:100%}.actions>*,.ui-row>*{flex:1 1}}.landing-list{margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.landing-list li{position:relative;padding-left:var(--space-6);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.landing-list li:before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border-radius:var(--radius-xs);background:var(--accent-primary-muted);border:1px solid var(--border-default)}.landing-hero .ui-card-subtitle{max-width:72ch}.status{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-sm)}.status.success{background:var(--success-600);color:var(--text-inverse)}.status.error{background:var(--danger-600);color:var(--text-inverse)}.panel{margin-bottom:var(--space-4)}.panel:last-child{margin-bottom:0}.panel-title,.settings-section-title{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.stats-inline{flex-wrap:wrap;font-size:var(--text-sm)}.data-row,.stats-inline{display:flex;gap:var(--space-3)}.data-row{align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--border-faint)}.data-row:last-child{border-bottom:none}.metric-positive{color:var(--success-600);font-weight:var(--weight-bold);font-size:var(--text-lg)}.settings-section{display:grid;grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-4)}.settings-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.form-grid-inline{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.invite-list{display:flex;flex-direction:column;gap:var(--space-2)}.invite-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.auth-form{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.auth-links-row{display:flex;gap:var(--space-3);justify-content:center;font-size:var(--text-sm)}.legal-content{max-width:72ch;margin:0 auto;padding:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-normal)}.nav-pill{position:fixed;top:var(--space-md);left:50%;transform:translateX(-50%);gap:var(--space-md);padding:.5rem max(1.25rem,env(safe-area-inset-right)) .5rem max(1.25rem,env(safe-area-inset-left));background:oklch(.98 .01 145/.82);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);border:1px solid var(--color-rule);border-radius:var(--radius-pill);box-shadow:0 8px 24px -12px oklch(0 0 0/.18);z-index:var(--z-sticky,200)}.nav-pill,.nav-pill__wordmark{display:inline-flex;align-items:center}.nav-pill__wordmark{gap:var(--space-2);color:var(--color-ink);font-weight:var(--weight-bold);font-size:var(--text-sm);text-decoration:none;white-space:nowrap}.nav-pill__wordmark .brand-logo{width:1.75rem;height:1.75rem;max-width:1.75rem;max-height:1.75rem;flex:0 0 1.75rem;object-fit:contain}.nav-pill__links{display:inline-flex;align-items:center;gap:var(--space-3)}.nav-pill__links a{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.nav-pill__links a:hover{color:var(--color-ink)}.nav-pill__cta{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--text-inverse);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.nav-pill__cta:hover{background:var(--accent-primary-hover,oklch(.37 .12 145));color:var(--text-inverse)}.nav-pill__mobile-menu{display:none}.nav-pill__menu-toggle{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:transparent;color:var(--color-ink);cursor:pointer;list-style:none;padding:0}.nav-pill__menu-toggle::-webkit-details-marker{display:none}.nav-pill__menu-toggle::marker{content:""}.nav-pill__menu-icon{font-size:1.1rem;line-height:1}.nav-pill__mobile-links{flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--color-rule);margin-top:var(--space-2);width:100%}.nav-pill__mobile-links a{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);text-decoration:none}.landing-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-4);gap:var(--space-4);max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.bento-cell{min-width:0;border-radius:var(--radius-card,12px);border:1px solid var(--color-rule);background:var(--color-paper);padding:var(--space-5);transition:box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.bento-cell:hover{box-shadow:0 8px 30px oklch(0 0 0/.1);border-color:var(--color-ink-2);transform:translateY(-2px)}.bento-cell__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-md,12px);background:var(--accent-primary-muted,oklch(.92 .06 145));color:var(--color-accent);margin-bottom:var(--space-3);font-size:1.25rem}.bento-cell__title{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-ink);line-height:1.25}.bento-cell__body{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.bento-cell__actions{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2)}.bento-hero{display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);background:linear-gradient(160deg,var(--color-paper),var(--color-paper-2))}.bento-hero__eyebrow{margin:0;font-size:var(--text-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent)}.bento-hero__title{margin:0;font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--weight-bold,700);line-height:1.05;letter-spacing:-.02em;color:var(--color-ink);max-width:18ch}.bento-hero__subtitle{margin:0;font-size:var(--text-md);color:var(--text-secondary);max-width:55ch;line-height:1.5}.bento-span-2x2{grid-row:span 2}.bento-span-2x1,.bento-span-2x2{grid-column:span 2}.bento-span-1x2{grid-row:span 2}@media (max-width:980px){.landing-bento{grid-template-columns:repeat(2,1fr)}.bento-span-2x2{grid-column:span 2;grid-row:span 1}.bento-span-1x2{grid-row:span 1}.nav-pill__cta,.nav-pill__links{display:none}.nav-pill__mobile-menu{display:block}}@media (max-width:640px){.landing-bento{grid-template-columns:1fr}.bento-span-1x2,.bento-span-2x1,.bento-span-2x2{grid-column:span 1;grid-row:span 1}.bento-hero__title{font-size:clamp(2.25rem,6vw,3.5rem)}.nav-pill{top:var(--space-2);left:var(--space-2);right:var(--space-2);width:auto;transform:none;flex-wrap:wrap;justify-content:space-between}.nav-pill__wordmark span{font-size:var(--text-sm)}}.foot-stmt{max-width:1200px;margin:0 auto;padding:var(--space-2xl) var(--space-4) var(--space-xl);display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}.foot-stmt__line{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,3rem);line-height:1.1;letter-spacing:-.02em;max-width:38ch;margin:0;color:var(--color-ink)}.foot-stmt__meta{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-md);border-top:1px solid var(--color-rule);font-size:var(--text-sm);color:var(--text-muted)}.foot-stmt__wordmark{font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--color-ink);text-decoration:none}.foot-stmt__meta a{color:var(--text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.foot-stmt__meta a:hover{color:var(--color-ink)}.foot-stmt__sep{color:var(--text-faint)}