/*! tailwindcss v4.2.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Fraunces", ui-serif, Georgia, serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg-primary:#fbf9f4;--bg-secondary:#f3efe6;--bg-tertiary:#e8e3d6;--bg-elevated:#fff;--text-primary:#17171c;--text-secondary:#4a4a55;--text-tertiary:#8a8a96;--border-color:#e3ddcd;--border-strong:#cfc7b3;--border-hover:#17171c;--button-bg:#17171c;--button-bg-hover:#2a2a33;--button-text:#fbf9f4;--button-secondary-bg:#f3efe6;--accent:#b45309;--accent-hover:#92400e;--accent-soft:#fef3c7;--accent-ring:#b453092e;--accent-text:#78350f;--error-bg:#fdecec;--error-text:#a5192c;--success-bg:#e9f6ee;--success-text:#12693d;--focus-bg:var(--accent-soft);--focus-border:var(--accent);--delete-color:#a5192c;--higher:#12693d;--lower:#a5192c;--higher-soft:#12693d1a;--lower-soft:#a5192c17;--modal-overlay:#11111673;--graph-bg:#f3efe6;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 2px #1111160d;--shadow-md:0 6px 18px -6px #1111161f, 0 2px 4px -2px #1111160f;--shadow-lg:0 16px 40px -12px #11111638, 0 4px 8px -4px #11111614;--transition-fast:.14s cubic-bezier(.4, 0, .2, 1);--transition-base:.22s cubic-bezier(.4, 0, .2, 1);--font-display:"Fraunces", ui-serif, Georgia, Cambria, "Times New Roman", serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-primary:#101013;--bg-secondary:#17171c;--bg-tertiary:#1f1f26;--bg-elevated:#1a1a20;--text-primary:#f2ecdc;--text-secondary:#b5b1a3;--text-tertiary:#7b7873;--border-color:#2a2a32;--border-strong:#3a3a43;--border-hover:#f2ecdc;--button-bg:#f2ecdc;--button-bg-hover:#e4ddc8;--button-text:#101013;--button-secondary-bg:#17171c;--accent:#f59e0b;--accent-hover:#fbbf24;--accent-soft:#f59e0b24;--accent-ring:#f59e0b47;--accent-text:#fcd34d;--error-bg:#a5192c24;--error-text:#fda4af;--success-bg:#12693d24;--success-text:#86efac;--higher:#4ade80;--lower:#f87171;--higher-soft:#4ade801f;--lower-soft:#f871711f;--modal-overlay:#0009;--graph-bg:#17171c;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 6px 18px -6px #00000080, 0 2px 4px -2px #0000004d;--shadow-lg:0 16px 40px -12px #000000b3, 0 4px 8px -4px #0006}}[data-theme=dark]{--bg-primary:#101013;--bg-secondary:#17171c;--bg-tertiary:#1f1f26;--bg-elevated:#1a1a20;--text-primary:#f2ecdc;--text-secondary:#b5b1a3;--text-tertiary:#7b7873;--border-color:#2a2a32;--border-strong:#3a3a43;--border-hover:#f2ecdc;--button-bg:#f2ecdc;--button-bg-hover:#e4ddc8;--button-text:#101013;--button-secondary-bg:#17171c;--accent:#f59e0b;--accent-hover:#fbbf24;--accent-soft:#f59e0b24;--accent-ring:#f59e0b47;--accent-text:#fcd34d;--error-bg:#a5192c24;--error-text:#fda4af;--success-bg:#12693d24;--success-text:#86efac;--higher:#4ade80;--lower:#f87171;--higher-soft:#4ade801f;--lower-soft:#f871711f;--modal-overlay:#0009;--graph-bg:#17171c;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 6px 18px -6px #00000080, 0 2px 4px -2px #0000004d;--shadow-lg:0 16px 40px -12px #000000b3, 0 4px 8px -4px #0006}*{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--accent-soft);color:var(--accent-text)}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-feature-settings:"cv02","cv03","cv04","cv11";color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;padding:2rem;line-height:1.55}@media(max-width:768px){body{padding:1rem}}@media(max-width:480px){body{padding:.75rem}}body:has(.app-layout){padding:0}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);width:220px;height:100vh;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--border-color);padding:1.25rem 1rem}.logo-img-dark{display:none}@media(prefers-color-scheme:dark){.logo-img-light{display:none}.logo-img-dark{display:inline}}[data-theme=light] .logo-img-light{display:inline}[data-theme=light] .logo-img-dark,[data-theme=dark] .logo-img-light{display:none}[data-theme=dark] .logo-img-dark{display:inline}.sidebar-section{border-bottom:1px solid var(--border-color);padding:.6rem 0}.sidebar-section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;padding:0 1rem .3rem;font-size:.68rem;font-weight:600}.sidebar-nav-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;transition:color var(--transition-fast),background var(--transition-fast);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:0 0;border:none;border-left:2px solid #0000;justify-content:space-between;align-items:center;padding:.4rem 1rem;font-size:.875rem;font-weight:500;line-height:1.4;text-decoration:none;display:flex}.sidebar-nav-item:hover{color:var(--text-primary);background:var(--bg-tertiary)}.sidebar-nav-item.active{color:var(--text-primary);border-left-color:var(--focus-border);background:var(--bg-primary);box-shadow:var(--shadow-sm);font-weight:600}.sidebar-nav-item.selected{color:var(--text-primary);background:#ffffff80}.sidebar-nav-muted{color:var(--text-tertiary);font-size:.8rem}.sidebar-workspace-group+.sidebar-workspace-group{margin-top:.15rem}.sidebar-workspace-subnav{padding-bottom:.35rem}.sidebar-workspace-id{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;padding:0 1rem .35rem 1.65rem;font-family:monospace;font-size:.7rem;overflow:hidden}.sidebar-subnav-item{justify-content:flex-start;padding-left:1.65rem;font-size:.82rem}.sidebar-workspace-toggle{color:var(--text-tertiary);flex-shrink:0;margin-left:.75rem;font-size:.75rem}.sidebar-spacer{flex:1}.sidebar-bottom{border-top:1px solid var(--border-color);padding:.5rem 0}.sidebar-nav-logout:hover{color:var(--error-text)}.page-content{flex:1;min-width:0;padding:2rem}.header{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;max-width:1200px;margin:0 auto 2rem;display:grid}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;color:var(--text-primary)}h1{letter-spacing:-.025em;font-size:clamp(1.5rem,2.5vw + .5rem,2rem);font-weight:600;line-height:1.1}h2{letter-spacing:-.02em;font-weight:600;line-height:1.2}h3{letter-spacing:-.015em;font-weight:600;line-height:1.25}.num,.metric-value,.stat-card-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.header-nav{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);gap:.25rem;padding:.25rem;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:.4rem .85rem;font-size:.8125rem;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.nav-link.active{color:var(--text-primary);background:var(--bg-primary);box-shadow:var(--shadow-sm)}.dark-mode .nav-link.active{box-shadow:0 1px 3px #0000004d}.header-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.dark-mode-toggle{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;width:34px;height:34px;padding:.4rem;font-size:1rem;display:flex}.dark-mode-toggle:hover{color:var(--text-primary);border-color:var(--border-hover);box-shadow:var(--shadow-sm)}#graphInterval{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;width:auto;padding:.4rem .6rem;font-size:.8125rem;font-weight:500}#graphInterval:hover{color:var(--text-primary);border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.reconfigure-btn{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:.4rem .6rem;font-size:.8125rem;font-weight:500}.reconfigure-btn:hover{color:var(--text-primary);border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.logout-btn{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:.4rem .75rem;font-size:.8125rem;font-weight:500}.logout-btn:hover{color:var(--error-text);border-color:var(--error-text)}.container{max-width:1200px;margin:0 auto}.portal-layout{grid-template-columns:200px 1fr;align-items:start;gap:2rem;max-width:1200px;margin:0 auto;display:grid}.portal-sidebar{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:sticky;top:2rem;overflow:hidden}.portal-sidebar-header{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);padding:1rem}.portal-nav-item{color:var(--text-secondary);cursor:pointer;text-align:left;width:100%;transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.875rem;font-weight:500;display:flex}.portal-nav-item:hover{color:var(--text-primary);background:var(--bg-secondary)}.portal-nav-item.active{color:var(--text-primary);background:var(--bg-secondary);border-left-color:var(--focus-border);font-weight:600}@media(max-width:640px){.portal-layout{grid-template-columns:1fr}.portal-sidebar{border-radius:8px;flex-flow:wrap;position:static}.portal-sidebar-header{display:none}.portal-nav-item{border-bottom:3px solid #0000;border-left:none;flex:1;justify-content:center}.portal-nav-item.active{border-left:none;border-bottom-color:var(--focus-border)}}.loading{text-align:center;color:var(--text-secondary);padding:2rem}.xp-display{text-align:center;margin-bottom:3rem}.xp-circle{border:4px solid var(--text-primary);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:200px;height:200px;margin:0 auto 1rem;display:flex}.xp-value{color:var(--text-primary);font-size:3rem;font-weight:600;line-height:1}.xp-label{color:var(--text-secondary);margin-top:.5rem;font-size:.875rem}.rank-display{text-align:center;color:var(--text-secondary);margin-top:.5rem;font-size:1.25rem;font-weight:600}.section{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-primary);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.section h2{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.metrics-grid{margin-top:1rem}.metric-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base);padding:1rem 140px 1rem 1rem;position:relative}.metric-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.add-metric-ghost{border:2px dashed var(--border-color);cursor:pointer;min-height:120px;color:var(--text-tertiary);transition:border-color var(--transition-base),color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base);border-radius:var(--radius-md);background:0 0;flex-direction:column;justify-content:center;align-items:center;padding-right:1rem;display:flex}.add-metric-ghost:hover{border-color:var(--border-hover);color:var(--text-secondary);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.add-metric-ghost .ghost-icon{margin-bottom:.25rem;font-size:2rem;font-weight:300;line-height:1}.add-metric-ghost .ghost-label{font-size:.85rem;font-weight:500}.add-metric-ghost.expanded{cursor:default;border-style:solid;border-color:var(--border-hover);justify-content:flex-start;align-items:stretch;padding:1rem;animation:.15s ease-out fadeInUp}.add-metric-ghost.expanded:hover{background:0 0}.add-metric-ghost .metric-name-input{border:none;border-bottom:2px solid var(--border-color);width:100%;color:var(--text-primary);background:0 0;border-radius:0;padding:.25rem 0;font-family:inherit;font-size:1rem;font-weight:600}.add-metric-ghost .metric-name-input:focus{border-bottom-color:var(--border-hover);outline:none}.add-metric-toggle{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:.25rem 0;font-family:inherit;font-size:.8rem}.add-metric-toggle:hover{color:var(--text-secondary)}.add-metric-advanced .form-group{margin-bottom:.5rem}.add-metric-advanced textarea{min-height:40px}.add-metric-advanced input,.add-metric-advanced textarea{padding:.4rem .5rem;font-size:.8rem}.add-metric-actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.add-metric-cancel{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-family:inherit;font-size:.8rem}.add-metric-cancel:hover{color:var(--text-primary)}.metric-info{width:100%}.metric-name{color:var(--text-primary);margin-bottom:.25rem;font-weight:600}.leaf-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--accent-soft);color:var(--accent-text);vertical-align:middle;border-radius:999px;margin-left:.4rem;padding:.15em .5em;font-size:.65rem;font-weight:600}.metric-stats{color:var(--text-secondary);font-size:.875rem}.metric-actions{grid-template-columns:repeat(2,1fr);gap:.5rem;width:120px;display:grid;position:absolute;top:1rem;right:1rem}.btn-small{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;height:30px;transition:all var(--transition-fast);text-align:center;white-space:nowrap;color:var(--text-primary);background:0 0;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:.75rem;font-weight:500;display:inline-flex}.btn-small:hover{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg);box-shadow:var(--shadow-sm)}.btn-small:active{transform:scale(.97)}.btn-delete{border-color:var(--delete-color);color:var(--delete-color);border:1px solid var(--delete-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:center;white-space:nowrap;background:0 0;padding:.35rem .6rem;font-size:.7rem;font-weight:500}.btn-delete:hover{background:var(--delete-color);color:#fff;border-color:var(--delete-color);box-shadow:var(--shadow-sm)}.btn-focus.active{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}.form-group{margin-bottom:1rem}label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}input,select,textarea{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;height:36px;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);padding:.55rem .75rem;font-family:inherit;font-size:.875rem}textarea{resize:vertical;min-height:80px}input:focus,select:focus,textarea:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--accent-ring);outline:none}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.btn{background:var(--button-bg);height:36px;color:var(--button-text);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.btn:hover{background:var(--button-bg-hover);box-shadow:var(--shadow-sm)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{height:36px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);background:0 0;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.btn-secondary:hover{color:var(--text-primary);border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.filter-bar input[type=text],.filter-bar input[type=number],.filter-bar select{width:auto;min-width:0}.filter-bar label{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.4rem;margin:0;font-size:.85rem;display:inline-flex}.checkbox-label{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;margin:0;font-size:.85rem;display:inline-flex}.checkbox-label input[type=checkbox]{margin:0}.timeline{margin-top:1rem}.timeline-item{border-left:3px solid var(--border-color);transition:border-color var(--transition-base);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:1rem;padding:1rem}.timeline-item:hover{border-left-color:var(--border-hover);background:var(--bg-secondary)}.timeline-header{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.timeline-metric{color:var(--text-primary);font-weight:600}.timeline-change{color:var(--text-secondary);font-size:.875rem}.timeline-date{color:var(--text-tertiary);font-size:.75rem}.timeline-description{color:var(--text-secondary);font-size:.875rem}.modal{background:var(--modal-overlay);z-index:1000;justify-content:center;align-items:center;display:none;position:fixed;top:0;right:0;bottom:0;left:0}.modal.show{display:flex}.modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:90%;max-width:500px;box-shadow:var(--shadow-lg);padding:2rem;animation:.2s ease-out modalIn}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h3{color:var(--text-primary);font-size:1.25rem}.modal-close{cursor:pointer;color:var(--text-tertiary);transition:color var(--transition-fast),background var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;display:flex}.modal-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.uv-label-tip{position:relative}.uv-label-tip:after{content:attr(data-tip);z-index:10;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);white-space:normal;width:max-content;max-width:320px;box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;visibility:hidden;padding:.4rem .6rem;font-size:.75rem;font-weight:400;transition:opacity .1s ease-out,visibility 0s linear 1s;position:absolute;top:calc(100% + 4px);left:0}.uv-label-tip:hover:after{opacity:1;visibility:visible;transition:opacity .1s ease-out 1s,visibility 0s linear 1s}.tp-row{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);padding:.75rem 1rem}.tp-toggle{justify-content:space-between;align-items:center;display:flex}.tp-label{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.tp-note{color:var(--text-muted,var(--text-secondary));opacity:.7;font-size:.75rem;font-weight:400}.tp-switch{flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.tp-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;width:0;height:0;position:absolute}.tp-slider{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base);border-radius:22px;position:absolute;top:0;right:0;bottom:0;left:0}.tp-slider:before{content:"";width:16px;height:16px;transition:transform var(--transition-base);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.tp-switch input:checked+.tp-slider{background:var(--focus-border);border-color:var(--focus-border)}.tp-switch input:checked+.tp-slider:before{transform:translate(18px)}.tp-switch input:focus-visible+.tp-slider{box-shadow:0 0 0 3px var(--accent-ring)}.tp-switch--disabled .tp-slider{cursor:not-allowed;opacity:.4}.tp-halflife{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;display:flex}.tp-halflife label{margin:0;font-size:.8125rem}.tp-halflife-input{text-align:right;width:80px!important}.tp-preview{border-top:1px solid var(--border-color);flex-direction:column;gap:.25rem;margin-top:.75rem;padding-top:.75rem;display:flex}.tp-preview-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.tp-preview-dates{color:var(--text-secondary);opacity:.8;word-break:break-word;font-size:.75rem;line-height:1.5}.tp-halflife-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tp-halflife-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tp-halflife-input[type=number]{-moz-appearance:textfield}.focus-banner{background:var(--focus-bg);border:1px solid var(--focus-border);border-radius:var(--radius-md);box-shadow:0 0 0 3px var(--accent-ring);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;display:flex}.focus-banner-text{color:var(--text-primary);font-size:1rem}.focus-exit-btn{background:var(--button-bg);color:var(--button-text);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast);border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.focus-exit-btn:hover{background:var(--button-bg-hover);box-shadow:var(--shadow-sm)}details summary{cursor:pointer;color:var(--text-secondary);font-size:.75rem;transition:color .2s}details summary:hover{color:var(--text-primary)}details>div{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-primary);margin-top:.25rem;padding:.5rem .75rem;font-family:monospace;font-size:.75rem}.modal-large{width:95%;max-width:900px}.graph-modal-container{background:var(--graph-bg);border-radius:var(--radius-md);width:100%;min-height:400px;padding:1rem;position:relative}.graph-modal-container canvas{display:block;width:100%!important}.graph-loading,.graph-no-data{text-align:center;color:var(--text-tertiary);padding:3rem;font-size:.875rem}.message{border-radius:var(--radius-md);margin-top:1rem;padding:.75rem 1rem;font-size:.875rem;display:none}.message.show{display:block}.message.success{background:var(--success-bg);color:var(--success-text)}.message.error{background:var(--error-bg);color:var(--error-text)}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-page h1{margin-bottom:2rem}.login-page button[type=submit]{background:var(--button-bg);width:100%;color:var(--button-text);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);border:none;padding:.75rem;font-size:1rem;font-weight:500}.login-page button[type=submit]:hover{background:var(--button-bg-hover);box-shadow:var(--shadow-md)}.login-page button[type=submit]:active{transform:scale(.98)}.login-page button[type=submit]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.login-page input{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem;font-size:1rem}.login-page input:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--accent-ring)}.error{color:var(--error-text);margin-top:1rem;font-size:.875rem;display:none}.error.show{display:block}.toggle-mode{text-align:center;margin-top:1.5rem}.toggle-mode button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;text-decoration:underline}.toggle-mode button:hover{color:var(--text-primary);opacity:1}.reconfigure-link{text-align:center;margin-top:1.5rem}.reconfigure-link a{color:var(--text-tertiary);font-size:.75rem;text-decoration:none}.reconfigure-link a:hover{color:var(--text-primary)}.setup-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.setup-page h1{margin-bottom:1rem}.subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.875rem}.setup-page button[type=submit]{background:var(--button-bg);width:100%;color:var(--button-text);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);border:none;padding:.75rem;font-size:1rem;font-weight:500}.setup-page button[type=submit]:hover{background:var(--button-bg-hover);box-shadow:var(--shadow-md)}.setup-page button[type=submit]:active{transform:scale(.98)}.setup-page button[type=submit]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.steps{background:var(--bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--text-primary);margin-bottom:2rem;padding:1rem}.steps h3{color:var(--text-primary);margin-bottom:.75rem;font-size:.875rem;font-weight:600}.steps ol{color:var(--text-secondary);margin-left:1.25rem;font-size:.875rem}.steps ol li{margin-bottom:.5rem}.steps a{color:var(--text-primary);text-decoration:underline}.example{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-top:2rem;padding:1rem}.example h3{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.example pre{background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem;font-size:.75rem;overflow-x:auto}.example p{color:var(--text-tertiary);margin-top:.5rem;font-size:.75rem;line-height:1.4}button:not([class]){background:var(--button-bg);height:36px;color:var(--button-text);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);border:none;justify-content:center;align-items:center;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;display:inline-flex}button:not([class]):hover{background:var(--button-bg-hover);box-shadow:var(--shadow-sm)}button:not([class]):active{transform:scale(.97)}button:not([class]):disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.expandable-panel{border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-base);overflow:hidden}.expandable-panel:hover{border-color:var(--border-hover)}@supports (color:color-mix(in lab,red,red)){.expandable-panel:hover{border-color:color-mix(in srgb,var(--border-hover) 40%,var(--border-color))}}table{border-collapse:collapse;width:100%}th{color:var(--text-secondary);text-align:left;font-weight:500}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid var(--border-color);background:var(--bg-primary);cursor:pointer;width:18px;min-width:18px;height:18px;transition:background var(--transition-fast),border-color var(--transition-fast);border-radius:5px;justify-content:center;align-items:center;display:inline-flex;position:relative}input[type=checkbox]:checked{background:var(--focus-border);border-color:var(--focus-border)}input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;transform:rotate(45deg)translate(-.5px,-.5px)}input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}input[type=checkbox]:hover:not(:disabled){border-color:var(--focus-border)}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}code{font-family:ui-monospace,SF Mono,Cascadia Code,monospace}.btn-copy{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:border-color var(--transition-fast),color var(--transition-fast);padding:.15rem .5rem;font-family:inherit;font-size:.72rem}.btn-copy:hover{border-color:var(--border-hover);color:var(--text-primary)}pre{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);margin:0;padding:.75rem 1rem;font-size:.8125rem;line-height:1.6;overflow-x:auto}.section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.4rem;font-size:.7rem;font-weight:600}.stat-card{min-width:120px}.stat-card-label{color:var(--text-secondary);margin-bottom:.2rem;font-size:.75rem}.stat-card-value{color:var(--text-primary);font-family:monospace;font-size:1.1rem;font-weight:700}.color-higher{color:#22c55e}.color-lower{color:#ef4444}.color-info{color:var(--focus-border)}.bg-higher{color:#15803d;background:#22c55e1a}.bg-lower{color:#b91c1c;background:#ef44441a}.oauth-buttons{flex-direction:column;gap:.6rem;display:flex}.oauth-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);justify-content:center;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.9rem;font-weight:500;display:flex}.oauth-btn:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);background:var(--bg-secondary)}.oauth-btn:active{transform:scale(.98)}.oauth-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}@media(max-width:768px){.metrics-grid{grid-template-columns:1fr}.xp-circle{width:150px;height:150px}.xp-value{font-size:2rem}.header{grid-template-columns:1fr;justify-items:center;gap:.75rem}.header-actions{flex-wrap:wrap;justify-content:center}body{padding:1rem}.modal-large{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.modal-large .modal-content{border-radius:0;flex-direction:column;height:100%;max-height:100%;display:flex}.graph-modal-container{flex:1;justify-content:center;align-items:center;min-height:250px;padding:.5rem;display:flex}.graph-modal-container canvas{max-width:100%;max-height:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}body.landing-page{padding:0}.lp-page{flex-direction:column;min-height:100vh;display:flex}.lp-section{width:100%}.lp-wrap{width:100%;max-width:1100px;margin:0 auto;padding:0 2rem}.lp-nav{border-bottom:1px solid var(--border-color)}.lp-nav-inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:1.25rem 2rem;display:flex}.lp-hero{max-width:1100px;margin:0 auto;padding:4rem 2rem 3rem}.lp-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:3.5rem;display:grid}.lp-hero-ctas{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.lp-stats{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.lp-stats-inner{text-align:center;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1100px;margin:0 auto;padding:1.75rem 2rem;display:grid}.lp-stat-value{letter-spacing:-.04em;font-size:1.85rem;font-weight:800}.lp-stat-label{color:var(--text-secondary);margin-top:3px;font-size:.78rem}.lp-how-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3rem;margin-top:3rem;display:grid}.lp-step{flex-direction:column;gap:.875rem;display:flex}.lp-step-num{background:var(--button-bg);width:1.75rem;height:1.75rem;color:var(--button-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.lp-step-title{font-size:1rem;font-weight:700}.lp-step-body{color:var(--text-secondary);font-size:.875rem;line-height:1.75}.lp-cards-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.lp-card{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:.75rem;padding:2rem;transition:transform .2s,box-shadow .2s,border-color .2s}.lp-card:hover{box-shadow:0 12px 32px var(--text-primary);transform:translateY(-4px)}@supports (color:color-mix(in lab,red,red)){.lp-card:hover{box-shadow:0 12px 32px color-mix(in srgb,var(--text-primary) 8%,transparent)}}.lp-card:hover{border-color:var(--border-hover)}.lp-card-title{margin-bottom:.75rem;font-size:1.05rem;font-weight:700}.lp-card-list{color:var(--text-secondary);margin-bottom:1.5rem;padding-left:1.1rem;font-size:.875rem;line-height:1.9}.lp-footer{border-top:1px solid var(--border-color);margin-top:auto}.lp-footer-inner{max-width:1100px;color:var(--text-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:0 auto;padding:1.5rem 2rem;font-size:.825rem;display:flex}.lp-footer-links{gap:1.25rem;display:flex}.lp-footer-links a{color:var(--text-tertiary);text-decoration:none}.lp-btn-primary{background:var(--button-bg);color:var(--button-text);border-radius:var(--radius-md);transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);padding:.75rem 1.6rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.lp-btn-primary:hover{background:var(--button-bg-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.lp-btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);padding:.75rem 1.6rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-block}.lp-btn-secondary:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.lp-btn-sm-primary{background:var(--button-bg);color:var(--button-text);border-radius:var(--radius-sm);transition:background var(--transition-fast),box-shadow var(--transition-fast);padding:.5rem 1.1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block}.lp-btn-sm-primary:hover{background:var(--button-bg-hover);box-shadow:var(--shadow-sm)}.lp-btn-sm-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);padding:.5rem 1.1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block}.lp-btn-sm-secondary:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.lp-differentiators{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.lp-diff-grid{grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto;padding:0 2rem;display:grid}.lp-diff-item{border-right:1px solid var(--border-color);margin-right:2rem;padding:2rem 2rem 2rem 0}.lp-diff-item:last-child{border-right:none;margin-right:0;padding-right:0}.lp-diff-accent{background:var(--button-bg);width:1.5rem;height:2px;margin-bottom:.875rem}.lp-diff-title{color:var(--text-primary);margin-bottom:.4rem;font-size:.925rem;font-weight:700}.lp-diff-body{color:var(--text-secondary);font-size:.845rem;line-height:1.7}.lp-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:1rem;font-size:.75rem;font-weight:600}@media(max-width:700px){.lp-hero-grid{grid-template-columns:1fr}.lp-hero-sim{justify-content:center}.lp-stats-inner,.lp-diff-grid{grid-template-columns:1fr}.lp-diff-item{border-right:none;border-bottom:1px solid var(--border-color);margin-right:0;padding:1.5rem 0}.lp-diff-item:last-child{border-bottom:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes drawPath{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes nodeAppear{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes agentDot{0%{offset-distance:0%;opacity:.9}10%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes barOscillate{0%{width:52%}25%{width:61%}50%{width:55%}75%{width:68%}to{width:52%}}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes slideInRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes deltaAppear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--button-bg) 20%,transparent)}}.reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.demo-btn{border-radius:var(--radius-sm);cursor:pointer;transition:transform 80ms ease,opacity 80ms ease,box-shadow var(--transition-fast);flex:1;padding:.65rem;font-family:inherit;font-size:.9rem;font-weight:600}.demo-btn:hover{box-shadow:var(--shadow-sm)}.demo-btn:active{opacity:.85;transform:scale(.95)}.demo-btn--secondary{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary)}.demo-btn--primary{background:var(--button-bg);color:var(--button-text);border:none}.mobile-topbar{z-index:40;background:var(--bg-primary);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:saturate(140%)blur(6px);backdrop-filter:saturate(140%)blur(6px);justify-content:space-between;align-items:center;padding:.65rem 1rem;display:none;position:sticky;top:0}.mobile-topbar-logo{height:2rem}.mobile-topbar-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);width:40px;height:40px;color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.mobile-topbar-btn:hover,.mobile-topbar-btn:focus-visible{border-color:var(--border-hover);outline:none}.mobile-topbar-burger{width:18px;height:14px;position:relative}.mobile-topbar-burger:before,.mobile-topbar-burger:after,.mobile-topbar-burger>span{content:"";height:2px;transition:transform var(--transition-base),opacity var(--transition-base),top var(--transition-base);background:currentColor;border-radius:2px;position:absolute;left:0;right:0}.mobile-topbar-burger:before{top:0}.mobile-topbar-burger>span{top:6px}.mobile-topbar-burger:after{top:12px}.mobile-topbar-btn[aria-expanded=true] .mobile-topbar-burger:before{top:6px;transform:rotate(45deg)}.mobile-topbar-btn[aria-expanded=true] .mobile-topbar-burger>span{opacity:0}.mobile-topbar-btn[aria-expanded=true] .mobile-topbar-burger:after{top:6px;transform:rotate(-45deg)}.sidebar-scrim{background:var(--modal-overlay);z-index:49;animation:.18s both fadeIn;display:none;position:fixed;top:0;right:0;bottom:0;left:0}@media(max-width:900px){.app-layout{flex-direction:column}.mobile-topbar{display:flex}.sidebar{z-index:50;width:min(82vw,320px);height:100vh;box-shadow:var(--shadow-lg);transition:transform .25s cubic-bezier(.4,0,.2,1);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-scrim.show{display:block}.page-content{padding:1rem}}@media(max-width:480px){.page-content{padding:.75rem}}.section,.lp-card,.modal-content,.expandable-panel,.metric-card{background:var(--bg-elevated)}[data-theme=dark] .section,[data-theme=dark] .lp-card,[data-theme=dark] .modal-content,[data-theme=dark] .expandable-panel,[data-theme=dark] .metric-card{background:var(--bg-secondary)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .section,:root:not([data-theme=light]) .lp-card,:root:not([data-theme=light]) .modal-content,:root:not([data-theme=light]) .expandable-panel,:root:not([data-theme=light]) .metric-card{background:var(--bg-secondary)}}.section h2{font-family:var(--font-display);letter-spacing:-.015em;font-weight:600}:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);border-radius:var(--radius-sm);outline:2px solid #0000}a{color:var(--accent);text-underline-offset:.18em;transition:color var(--transition-fast);text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}a.sidebar-nav-item,.lp-footer-links a,.sidebar-nav-item,.nav-link,.portal-nav-item,.lp-btn-primary,.lp-btn-secondary,.lp-btn-sm-primary,.lp-btn-sm-secondary{text-decoration:none}.lp-btn-primary,.lp-btn-sm-primary{position:relative;box-shadow:0 0 #0000,inset 0 1px #ffffff14}.lp-btn-primary:hover,.lp-btn-sm-primary:hover{box-shadow:0 0 0 4px var(--accent-ring),inset 0 1px #ffffff14}.lp-diff-accent{background:var(--accent);border-radius:2px;width:2rem;height:3px}.lp-hero h1,.lp-page h2{font-family:var(--font-display)}.lp-eyebrow{color:var(--accent)}@media(max-width:768px){table{white-space:nowrap;display:block;overflow-x:auto}.metric-card{padding-right:1rem}.metric-actions{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));width:auto;margin-top:.75rem;position:static}.section{padding:1rem}h1{font-size:1.4rem}.header{grid-template-columns:1fr;justify-items:stretch}.header-nav{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.login-page,.setup-page{align-items:flex-start;padding:3rem 1rem 1.5rem}}@media(max-width:480px){.lp-nav-inner,.lp-footer-inner{padding-left:1rem;padding-right:1rem}.lp-hero{padding:2.5rem 1rem 2rem}.lp-wrap{padding:0 1rem}.lp-hero h1{font-size:clamp(1.75rem,7vw,2.5rem)!important}}code,pre,kbd,samp{font-family:var(--font-mono);font-variant-ligatures:none}.status-badge{background:var(--bg-tertiary);color:var(--text-secondary)}.status-badge.status-open{background:var(--accent-soft);color:var(--accent-text)}.status-badge.status-resolved{background:var(--success-bg);color:var(--success-text)}.status-badge.status-voided{background:var(--error-bg);color:var(--error-text)}.status-badge.status-closed{background:var(--bg-secondary);color:var(--text-tertiary)}.theme-toggle{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);width:1.75rem;height:1.75rem;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);justify-content:center;align-items:center;padding:0;font-size:.85rem;font-weight:500;display:inline-flex}.theme-toggle:hover{color:var(--text-primary);border-color:var(--border-hover)}.theme-toggle-icon{font-size:.95rem;line-height:1}@media(max-width:480px){.lp-nav-inner img{max-width:40vw;height:auto!important}}.agent-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.agent-stat-card{margin-bottom:0;padding:1rem 1.25rem}.section-header{margin-bottom:1.25rem}.section-header h2{margin-bottom:.25rem}.section-subtitle{color:var(--text-secondary);max-width:720px;margin:0;font-size:.875rem;line-height:1.55}.agents-table-wrap{margin:0 -1.5rem -1.5rem;overflow-x:auto}.agents-table{border-collapse:collapse;width:100%;font-size:.875rem}.agents-table thead th{background:var(--bg-elevated);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.65rem .6rem;font-size:.7rem;font-weight:600;position:sticky;top:0}.agents-table thead th:first-child{padding-left:1.5rem}.agents-table thead th:last-child{padding-right:1.5rem}.agents-table tbody td:first-child{padding-left:1.5rem}.agents-table tbody td:last-child{padding-right:1.5rem}.agents-table .num-col{text-align:right;font-variant-numeric:tabular-nums}.agents-table tbody tr.agent-row{border-bottom:1px solid var(--border-color);cursor:pointer;transition:background var(--transition-fast)}.agents-table tbody tr.agent-row:hover{background:var(--bg-secondary)}.agents-table tbody tr.agent-row.expanded{background:var(--bg-secondary);border-bottom:none}.agents-table tbody tr.agent-row>td{vertical-align:middle;padding:.75rem .6rem}.agents-table tbody tr.agent-expanded{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.agents-table tbody tr.agent-expanded>td{padding:0 1.5rem 1.25rem}.agent-chevron{width:1.5rem;color:var(--text-tertiary);text-align:center;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);font-size:.75rem}.agent-row:hover .agent-chevron,.agent-row.expanded .agent-chevron{color:var(--text-primary)}.agent-id{color:var(--text-primary);font-weight:600}.agent-id.agent-id-opaque{font-family:var(--font-mono);color:var(--text-secondary);text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;max-width:22ch;font-size:.78rem;font-weight:500;display:inline-block;overflow:hidden}.agent-groups{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.agent-chip{background:var(--bg-tertiary);color:var(--text-secondary);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.25rem;padding:.18rem .55rem;font-size:.72rem;font-weight:600;line-height:1.1;display:inline-flex}.agent-chip-admin{background:var(--accent-soft);color:var(--accent-text)}.agent-chip-trader{background:var(--success-bg);color:var(--success-text)}.agent-chip-public{background:var(--bg-tertiary);color:var(--text-secondary)}.agent-chip-remove{cursor:pointer;opacity:.5;color:inherit;transition:opacity var(--transition-fast);background:0 0;border:none;margin:0 -.15rem 0 .1rem;padding:0;font-size:.7rem;font-weight:700;line-height:1}.agent-chip-remove:hover{opacity:1}.agent-add-group{color:var(--text-tertiary);border:1px dashed var(--border-color);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);background:0 0;border-radius:999px;padding:.15rem .55rem;font-family:inherit;font-size:.72rem}.agent-add-group:hover{color:var(--text-primary);border-color:var(--border-hover)}.agent-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.agent-num-pos{color:var(--success-text)}.agent-num-neg{color:var(--error-text)}.agent-num-bold{font-weight:600}.agent-subtable{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.8rem}.agent-subtable thead th{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.35rem .45rem;font-size:.68rem;font-weight:600}.agent-subtable tbody td{border-bottom:1px solid var(--border-color);padding:.35rem .45rem}.agent-subtable tbody tr:last-child td{border-bottom:none}.group-row{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);overflow:hidden}.group-row:hover{border-color:var(--border-hover)}.group-row-head{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .9rem;display:flex}.group-row.expanded .group-row-head{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.group-row-title{flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;display:flex}.group-row-name{letter-spacing:-.01em;font-size:.95rem;font-weight:600}.group-row-meta{color:var(--text-secondary);white-space:nowrap;font-size:.78rem}.group-row-body{padding:1rem .9rem}.group-row-body+.group-row-body,.group-row-body .group-subsection{margin-top:1.25rem}.group-row-body .group-subsection:first-child{margin-top:0}.capability-row{flex-wrap:wrap;gap:.75rem;display:flex}.capability-row label{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-primary);transition:border-color var(--transition-fast);align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.875rem;display:inline-flex}.capability-row label:hover{border-color:var(--border-hover)}.agent-form-inline{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.agent-form-inline .form-group{margin-bottom:0}.agent-code-step p{color:var(--text-secondary);margin-bottom:.4rem;font-size:.8rem;font-weight:500}@media(max-width:768px){.agents-table-wrap{margin:0 -1rem -1rem}.agents-table thead th:first-child,.agents-table tbody td:first-child{padding-left:1rem}.agents-table thead th:last-child,.agents-table tbody td:last-child{padding-right:1rem}.agents-table tbody tr.agent-expanded>td{padding-left:1rem;padding-right:1rem}}.markets-toolbar{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.markets-filter-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.markets-search{flex:220px;min-width:0;height:34px;font-size:.9rem}.markets-chips{flex-wrap:wrap;gap:.3rem;display:inline-flex}.markets-chip{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);border-radius:999px;padding:.35rem .7rem;font-family:inherit;font-size:.78rem;font-weight:500}.markets-chip:hover{color:var(--text-primary);border-color:var(--border-hover)}.markets-chip.active{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-soft);font-weight:600}.markets-chip-count{color:var(--text-tertiary);margin-left:.3rem;font-size:.72rem}.markets-chip.active .markets-chip-count{color:var(--accent-text);opacity:.75}.markets-sort{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.markets-sort-label{text-transform:uppercase;letter-spacing:.06em;margin-right:.1rem;font-size:.7rem;font-weight:600}.markets-sort-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;padding:.25rem .55rem;font-family:inherit;font-size:.78rem}.markets-sort-btn:hover{color:var(--text-primary)}.markets-sort-btn.active{color:var(--text-primary);background:var(--bg-secondary);border-color:var(--border-color);font-weight:600}.markets-admin-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.markets-admin-row label{color:var(--text-secondary);white-space:nowrap;margin:0}.markets-admin-row input[type=number]{width:100px;height:30px;margin:0;font-size:.85rem}.markets-target-pill{background:var(--focus-bg);border:1px solid var(--focus-border);color:var(--text-primary);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.78rem;display:inline-flex}.markets-target-pill button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.markets-list{flex-direction:column;gap:.4rem;display:flex}.market-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);padding:.55rem .9rem}.market-card:hover{border-color:var(--border-hover);background:var(--bg-secondary)}.market-card.expanded{border-color:var(--border-hover);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.market-card-head{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;min-width:0;display:flex}.market-head-name{flex:180px;align-items:center;gap:.5rem;min-width:0;display:flex}.market-metric-name{letter-spacing:-.01em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.market-status-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.1rem .45rem;font-size:.62rem;font-weight:700}.market-status-open{background:var(--success-bg);color:var(--success-text)}.market-status-resolved{background:var(--accent-soft);color:var(--accent-text)}.market-status-voided{background:var(--bg-tertiary);color:var(--text-secondary)}.market-status-closed{background:var(--bg-tertiary);color:var(--text-tertiary)}.market-head-target{min-width:200px;font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;flex:0 auto;align-items:center;gap:.4rem;font-size:.78rem;display:inline-flex}.market-head-target .dot{opacity:.4}.market-head-target .time-remaining{color:var(--text-tertiary)}.market-head-target .time-remaining.expired{color:var(--error-text)}.market-head-prediction{flex:2 260px;align-items:center;gap:.65rem;min-width:0;display:flex}.market-head-prediction .slider-wrap{flex:1;min-width:0}.market-consensus{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);text-align:right;flex-shrink:0;min-width:3.2rem;font-size:.92rem;font-weight:600}.market-delta{font-size:.72rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.market-delta.pos{color:var(--success-text)}.market-delta.neg{color:var(--error-text)}.market-delta-baseline{color:var(--text-tertiary);margin-left:.2rem}.market-head-actions{flex:none;gap:.3rem;margin-left:auto;display:flex}.market-head-actions .btn-small{height:26px;padding:.2rem .55rem;font-size:.72rem}.market-card-expanded{border-top:1px solid var(--border-color);cursor:auto;margin-top:.6rem;padding-top:.75rem}.market-card-expanded p{color:var(--text-secondary);margin:0 0 .5rem;font-size:.85rem}.markets-empty{text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-md);padding:2rem 1rem}@media(max-width:640px){.market-card{padding:.7rem .85rem}.market-head-name,.market-head-target,.market-head-prediction{flex:100%}.market-head-actions{flex:100%;justify-content:flex-start}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
