:root{color-scheme:light dark;--c-bg: #f5f6f8;--c-surface: #ffffff;--c-surface-2: #f0f2f5;--c-text: #171a1f;--c-text-2: #4f5663;--c-text-3: #636a77;--c-border: #e2e5ea;--c-border-strong: #8b929e;--c-primary: #2952cc;--c-primary-soft: #eef2fd;--c-primary-solid: #2952cc;--c-primary-solid-hover: #2145b0;--c-primary-solid-active: #1b3a94;--c-on-primary: #ffffff;--c-accent: #a84f08;--c-accent-soft: #fff4e5;--c-success: #18794e;--c-success-soft: #ecf8f1;--c-success-border: #b5e3c9;--c-warning: #8f5400;--c-warning-soft: #fff7e6;--c-warning-border: #f3d49b;--c-danger: #c22f2f;--c-danger-soft: #fdeeee;--c-danger-border: #f3c0c0;--c-focus: #2952cc;--c-overlay: rgba(23, 26, 31, .04);--c-scrim: rgba(23, 26, 31, .4);--font-sans: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 36px;--lh-tight: 1.25;--lh-normal: 1.5;--lh-relaxed: 1.7;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 1px 3px rgba(16, 24, 40, .08), 0 4px 12px rgba(16, 24, 40, .06);--shadow-lg: 0 8px 28px rgba(16, 24, 40, .12);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--c-focus) 35%, transparent);--control-h: 40px;--control-h-sm: 32px;--content-w: 960px;--auth-w: 400px;--console-w: 1280px;--duration: .12s}@media(prefers-color-scheme:dark){:root{--c-bg: #0e1014;--c-surface: #161920;--c-surface-2: #1d2129;--c-text: #e7e9ee;--c-text-2: #b0b6c2;--c-text-3: #8d94a1;--c-border: #2a2f39;--c-border-strong: #6b7380;--c-primary: #8aa6ff;--c-primary-soft: #1a2340;--c-primary-solid: #3d64e0;--c-primary-solid-hover: #3256c8;--c-primary-solid-active: #2a4ab0;--c-on-primary: #ffffff;--c-accent: #f0a54a;--c-accent-soft: #2b2113;--c-success: #4cc38a;--c-success-soft: #11251b;--c-success-border: #1f4d36;--c-warning: #e6b04d;--c-warning-soft: #2a2112;--c-warning-border: #5a4520;--c-danger: #f07575;--c-danger-soft: #2c1517;--c-danger-border: #5c2a2d;--c-focus: #8aa6ff;--c-overlay: rgba(255, 255, 255, .04);--c-scrim: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 1px 3px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 28px rgba(0, 0, 0, .55)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:var(--lh-tight);font-weight:var(--fw-semibold)}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}p{margin:0}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:var(--radius-sm)}code,.mono{font-family:var(--font-mono);font-size:.95em}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--c-text-2)}.subtle{color:var(--c-text-3);font-size:var(--fs-sm)}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--sp-4);top:-100px;z-index:10}.skip-link:focus{top:var(--sp-3);background:var(--c-surface);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}[hidden]{display:none!important}svg.icon{width:16px;height:16px;flex:none;vertical-align:-3px}.app-header{position:relative;z-index:30;background:var(--c-surface);border-bottom:1px solid var(--c-border)}.app-header__inner{max-width:var(--content-w);margin:0 auto;padding:0 var(--sp-5);height:56px;display:flex;align-items:center;gap:var(--sp-4)}.app-header--app{flex:none}.app-header--app .app-header__inner{max-width:none;padding:0 var(--sp-4)}.brand{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--c-text);font-weight:var(--fw-semibold);font-size:var(--fs-lg);white-space:nowrap}.brand:hover{text-decoration:none}.brand__mark{width:28px;height:28px;border-radius:var(--radius-md);background:var(--c-primary-solid);color:var(--c-on-primary);display:inline-grid;place-items:center}.brand__mark svg{width:16px;height:16px}.container{max-width:var(--content-w);margin:0 auto;padding:var(--sp-6) var(--sp-5) var(--sp-8)}.page-title{margin-bottom:var(--sp-5)}.page-title p{margin-top:var(--sp-1);color:var(--c-text-2)}.stack{display:grid;gap:var(--sp-5)}.grid-2{display:grid;gap:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-1) var(--sp-3);margin-bottom:var(--sp-4)}.section-head p{color:var(--c-text-3);font-size:var(--fs-sm)}section[id]{scroll-margin-top:var(--sp-4)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--sp-5);min-width:0}.card.card--flush{padding:0;overflow:hidden}.card__head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--control-h);padding:0 var(--sp-4);border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-weight:var(--fw-medium);line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color var(--duration),border-color var(--duration),color var(--duration),box-shadow var(--duration)}.btn:hover{text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn--primary{background:var(--c-primary-solid);color:var(--c-on-primary)}.btn--primary:hover{background:var(--c-primary-solid-hover)}.btn--primary:active{background:var(--c-primary-solid-active)}.btn--secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border-strong)}.btn--secondary:hover{background:var(--c-surface-2)}.btn--ghost{background:transparent;color:var(--c-text-2)}.btn--ghost:hover{background:var(--c-surface-2);color:var(--c-text)}.btn--danger{background:var(--c-surface);color:var(--c-danger);border-color:var(--c-danger-border)}.btn--danger:hover{background:var(--c-danger-soft)}.btn--block{width:100%}.btn--sm{height:var(--control-h-sm);padding:0 var(--sp-3);font-size:var(--fs-sm)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress;opacity:1}.btn[aria-busy=true]:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form{display:grid;gap:var(--sp-4)}.field{display:grid;gap:var(--sp-2)}.label{font-weight:var(--fw-medium);color:var(--c-text);font-size:var(--fs-md)}.input{width:100%;height:var(--control-h);padding:0 var(--sp-3);background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:var(--radius-md);font:inherit;transition:border-color var(--duration),box-shadow var(--duration)}.input::placeholder{color:var(--c-text-3);opacity:1}.input:hover{border-color:var(--c-text-2)}.input:focus{outline:none;border-color:var(--c-focus);box-shadow:var(--focus-ring)}.input:disabled{background:var(--c-surface-2);color:var(--c-text-3);cursor:not-allowed}.input[aria-invalid=true]{border-color:var(--c-danger)}.input[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--c-danger) 30%,transparent)}.input--code{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.input--code::placeholder{text-transform:none;letter-spacing:normal;font-family:var(--font-sans)}.field-hint{color:var(--c-text-3);font-size:var(--fs-sm)}.field-error{color:var(--c-danger);font-size:var(--fs-sm);display:flex;gap:var(--sp-1);align-items:flex-start}.field-error:empty{display:none}.inline-form{display:flex;gap:var(--sp-3);align-items:flex-start}.inline-form .field{flex:1;min-width:0}.alert{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);border:1px solid;font-size:var(--fs-md)}.alert svg.icon{margin-top:2px}.alert--info{background:var(--c-primary-soft);border-color:color-mix(in srgb,var(--c-primary) 30%,transparent);color:var(--c-text)}.alert--info svg.icon{color:var(--c-primary)}.alert--success{background:var(--c-success-soft);border-color:var(--c-success-border);color:var(--c-text)}.alert--success svg.icon{color:var(--c-success)}.alert--warning{background:var(--c-warning-soft);border-color:var(--c-warning-border);color:var(--c-text)}.alert--warning svg.icon{color:var(--c-warning)}.alert--danger{background:var(--c-danger-soft);border-color:var(--c-danger-border);color:var(--c-text)}.alert--danger svg.icon{color:var(--c-danger)}.alert:empty{display:none}.tag{display:inline-flex;align-items:center;height:22px;padding:0 var(--sp-2);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--c-surface-2);color:var(--c-text-2);border:1px solid var(--c-border);white-space:nowrap}.tag--primary{background:var(--c-primary-soft);color:var(--c-primary);border-color:transparent}.tag--success{background:var(--c-success-soft);color:var(--c-success);border-color:transparent}.tag--warning{background:var(--c-warning-soft);color:var(--c-warning);border-color:transparent}.tag--danger{background:var(--c-danger-soft);color:var(--c-danger);border-color:transparent}.tag--accent{background:var(--c-accent-soft);color:var(--c-accent);border-color:transparent}.tags{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.table th{text-align:left;font-weight:var(--fw-medium);color:var(--c-text-2);font-size:var(--fs-sm);background:var(--c-surface-2);padding:var(--sp-2) var(--sp-4);white-space:nowrap;border-bottom:1px solid var(--c-border)}.table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-border);vertical-align:top}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--c-overlay)}.table th.num,.table td.num{text-align:right}.cell-stack{display:grid;gap:var(--sp-1)}@media(max-width:640px){.table--stack thead{display:none}.table--stack,.table--stack tbody,.table--stack tr,.table--stack td{display:block;width:100%}.table--stack tr{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-border)}.table--stack tr:last-child{border-bottom:0}.table--stack td{border:0;padding:var(--sp-1) 0;display:flex;justify-content:space-between;gap:var(--sp-4);text-align:right}.table--stack td:before{content:attr(data-label);color:var(--c-text-3);text-align:left;flex:none}.table--stack td.num{text-align:right}.table--stack .cell-stack{justify-items:end}.table--stack tbody tr:hover td{background:none}}.tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--c-border);padding:0 var(--sp-3);overflow-x:auto}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:var(--sp-3) var(--sp-3);margin-bottom:-1px;font:inherit;color:var(--c-text-2);cursor:pointer;white-space:nowrap;display:inline-flex;gap:var(--sp-2);align-items:center}.tab:hover{color:var(--c-text)}.tab[aria-selected=true]{color:var(--c-primary);border-bottom-color:var(--c-primary);font-weight:var(--fw-medium)}.tab:focus-visible{outline-offset:-2px}.tab__count{font-size:var(--fs-xs);color:var(--c-text-3);background:var(--c-surface-2);border-radius:var(--radius-full);padding:0 var(--sp-2);line-height:18px}.tab-panel:focus-visible{outline-offset:-2px}.icon-btn{display:inline-grid;place-items:center;width:var(--control-h-sm);height:var(--control-h-sm);flex:none;border:0;border-radius:var(--radius-md);background:transparent;color:var(--c-text-2);cursor:pointer}.icon-btn:hover{background:var(--c-surface-2);color:var(--c-text)}.icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.icon-btn:disabled{opacity:.55;cursor:not-allowed}.select{height:var(--control-h-sm);padding:0 var(--sp-6) 0 var(--sp-3);max-width:100%;background:var(--c-surface);color:var(--c-text);font:inherit;font-size:var(--fs-sm);border:1px solid var(--c-border-strong);border-radius:var(--radius-md);cursor:pointer}.select:hover{border-color:var(--c-text-2)}.select:focus{outline:none;border-color:var(--c-focus);box-shadow:var(--focus-ring)}.select:disabled{background:var(--c-surface-2);color:var(--c-text-3);cursor:not-allowed}select.input{padding-right:var(--sp-6)}.spinner{width:16px;height:16px;flex:none;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}.spinner--lg{width:24px;height:24px}.segmented{display:inline-flex;gap:2px;padding:2px;flex:none;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-md)}.segmented__item{display:inline-flex;align-items:center;gap:var(--sp-1);height:26px;padding:0 var(--sp-3);border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text-2)}.segmented__item:hover{color:var(--c-text)}.segmented__item[aria-pressed=true]{background:var(--c-surface);color:var(--c-primary);box-shadow:var(--shadow-sm)}.segmented__item[aria-disabled=true]{color:var(--c-text-3);opacity:.6;cursor:not-allowed}.segmented__item[aria-disabled=true]:hover{color:var(--c-text-3)}.segmented__item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.segmented__item .icon{width:12px;height:12px}.menu{position:absolute;right:0;top:calc(100% + var(--sp-1));z-index:50;min-width:248px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--sp-1)}.menu__head{padding:var(--sp-3) var(--sp-3) var(--sp-2)}.menu__head .stat__value{font-size:var(--fs-xl);margin-top:var(--sp-1)}.menu__head .stat__label{font-size:var(--fs-sm)}.menu__head .stat__meta{margin-top:var(--sp-1)}.menu__sep{height:1px;background:var(--c-border);margin:var(--sp-1) 0;border:0}.menu__item{display:flex;align-items:center;gap:var(--sp-3);width:100%;height:var(--control-h);padding:0 var(--sp-3);border:0;border-radius:var(--radius-md);background:none;font:inherit;color:var(--c-text);text-align:left;cursor:pointer;text-decoration:none}.menu__item:hover,.menu__item:focus-visible{background:var(--c-surface-2);text-decoration:none}.menu__item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.menu__item .icon{color:var(--c-text-2)}.menu__item-meta{margin-left:auto;color:var(--c-text-3);font-size:var(--fs-xs)}.account-menu{position:relative;margin-left:auto}.account-menu__trigger{gap:var(--sp-2);padding:0 var(--sp-3)}.account-menu__balance{font-variant-numeric:tabular-nums;color:var(--c-text);font-weight:var(--fw-medium)}.account-menu__trigger[aria-expanded=true]{background:var(--c-surface-2);color:var(--c-text)}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--c-border);color:var(--c-text-2);font-size:var(--fs-sm)}.pager__buttons{display:flex;gap:var(--sp-2);align-items:center}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--c-scrim)}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:61;display:grid;place-items:center;padding:var(--sp-4)}.modal{width:min(480px,100%);max-height:calc(100dvh - var(--sp-6));overflow-y:auto;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal:focus{outline:none}.modal__head{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) 0}.modal__titles{flex:1;min-width:0}.modal__head p{margin-top:var(--sp-1);color:var(--c-text-2);font-size:var(--fs-sm)}.modal__body{padding:var(--sp-4) var(--sp-5);display:grid;gap:var(--sp-4)}.modal__foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:0 var(--sp-5) var(--sp-5)}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(440px,100%);display:flex;flex-direction:column;background:var(--c-surface);border-left:1px solid var(--c-border);box-shadow:var(--shadow-lg)}.drawer:focus{outline:none}.drawer__head{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border)}.drawer__head>div{flex:1;min-width:0}.drawer__head p{color:var(--c-text-3);font-size:var(--fs-sm);margin-top:var(--sp-1);overflow-wrap:anywhere}.drawer__body{flex:1;overflow-y:auto;padding:var(--sp-5);display:grid;gap:var(--sp-4);align-content:start}.drawer__foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--c-border)}.toasts{position:fixed;right:var(--sp-4);bottom:var(--sp-4);z-index:70;display:grid;gap:var(--sp-2);width:min(380px,calc(100vw - var(--sp-6)));pointer-events:none}.toasts>[role]{display:grid;gap:var(--sp-2)}.toast{box-shadow:var(--shadow-md);align-items:flex-start;pointer-events:auto}.toast__body{flex:1;min-width:0;display:grid;gap:2px}.toast__title{font-weight:var(--fw-medium)}.toast .icon-btn{width:24px;height:24px;margin:-2px -4px 0 0}.empty{text-align:center;padding:var(--sp-7) var(--sp-5);color:var(--c-text-2)}.empty__icon{width:40px;height:40px;margin:0 auto var(--sp-3);border-radius:var(--radius-full);background:var(--c-surface-2);color:var(--c-text-3);display:grid;place-items:center}.empty__icon svg{width:20px;height:20px}.empty__title{color:var(--c-text);font-weight:var(--fw-medium);margin-bottom:var(--sp-1)}.empty--compact{padding:var(--sp-5)}.stat__label{color:var(--c-text-2);font-size:var(--fs-md)}.stat__value{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:var(--sp-2);word-break:break-all}.stat__unit{font-size:var(--fs-lg);color:var(--c-text-2);font-weight:var(--fw-normal);margin-left:var(--sp-1)}.stat__meta{margin-top:var(--sp-3);color:var(--c-text-3);font-size:var(--fs-sm)}.dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--sp-2) var(--sp-5);margin:0}.dl dt{color:var(--c-text-2)}.dl dd{margin:0;overflow-wrap:anywhere}.products{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.product{border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--sp-4);display:grid;gap:var(--sp-3);align-content:start;background:var(--c-surface)}.product__head{display:flex;align-items:center;gap:var(--sp-3);justify-content:space-between}.product__title{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.product__icon{width:28px;height:28px;flex:none;border-radius:var(--radius-md);display:inline-grid;place-items:center;background:var(--c-primary-soft);color:var(--c-primary)}.product__name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.product__tiers{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--c-text-3)}.product__tier-names{color:var(--c-text);font-weight:var(--fw-medium)}.auth{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6) var(--sp-4)}.auth__box{width:100%;max-width:var(--auth-w)}.auth__brand{display:flex;justify-content:center;margin-bottom:var(--sp-5)}.auth__card{padding:var(--sp-6);box-shadow:var(--shadow-md)}.auth__title{text-align:center;margin-bottom:var(--sp-2)}.auth__lead{text-align:center;color:var(--c-text-2);margin-bottom:var(--sp-5)}.auth__switch{text-align:center;margin-top:var(--sp-5);color:var(--c-text-2)}.auth__foot{text-align:center;margin-top:var(--sp-5);color:var(--c-text-3);font-size:var(--fs-sm)}.error-page{text-align:center}.error-page__code{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);color:var(--c-text-3);font-variant-numeric:tabular-nums;margin-bottom:var(--sp-3)}.error-page .auth__title{margin-bottom:var(--sp-3)}.error-page p,.auth__lead,.empty p{text-wrap:balance}.error-page__actions{display:flex;justify-content:center;gap:var(--sp-3);margin-top:var(--sp-5);flex-wrap:wrap}.container--console,.app-header--console .app-header__inner{max-width:var(--console-w)}.subnav{background:var(--c-surface);border-bottom:1px solid var(--c-border);flex:none}.subnav__inner{max-width:var(--console-w);margin:0 auto;padding:0 var(--sp-5);display:flex;gap:var(--sp-1);overflow-x:auto}.subnav__link{display:inline-flex;align-items:center;gap:var(--sp-2);height:44px;padding:0 var(--sp-3);flex:none;border:0;border-bottom:2px solid transparent;background:none;font:inherit;color:var(--c-text-2);cursor:pointer;white-space:nowrap;text-decoration:none}.subnav__link:hover{color:var(--c-text);text-decoration:none}.subnav__link[aria-current=page]{color:var(--c-primary);border-bottom-color:var(--c-primary);font-weight:var(--fw-medium)}.subnav__link:focus-visible{outline-offset:-2px}.subnav__count{font-size:var(--fs-xs);border-radius:var(--radius-full);padding:0 var(--sp-2);line-height:18px;background:var(--c-warning-soft);color:var(--c-warning);font-variant-numeric:tabular-nums}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-5)}.page-head p{margin-top:var(--sp-1);color:var(--c-text-2)}.page-head__crumb{font-size:var(--fs-sm);margin-bottom:var(--sp-2)}.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.stat-grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.stat--sm .stat__value{font-size:var(--fs-2xl);word-break:normal}.stat--sm .stat__label{font-size:var(--fs-sm)}.stat--sm .stat__meta{margin-top:var(--sp-2)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border)}.toolbar .field{flex:0 1 180px;min-width:140px;gap:var(--sp-1)}.toolbar .field--grow{flex:1 1 240px}.toolbar .label{font-size:var(--fs-sm);font-weight:var(--fw-normal);color:var(--c-text-2)}.toolbar .input{height:var(--control-h-sm);font-size:var(--fs-sm)}.toolbar .btn{height:var(--control-h-sm);font-size:var(--fs-sm);padding:0 var(--sp-3)}.toolbar__note{margin-left:auto;align-self:center;color:var(--c-text-3);font-size:var(--fs-sm)}textarea.input{height:auto;min-height:72px;padding:var(--sp-2) var(--sp-3);line-height:var(--lh-normal);resize:vertical}.cell-actions{text-align:right;white-space:nowrap}.cell-actions .btn+.btn{margin-left:var(--sp-1)}.table--actions td{vertical-align:middle;padding-top:var(--sp-2);padding-bottom:var(--sp-2)}.mono-id{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--c-text-2)}.summary{background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4)}.secret{font-family:var(--font-mono);font-size:var(--fs-lg);padding:var(--sp-3) var(--sp-4);background:var(--c-surface-2);border:1px dashed var(--c-border-strong);border-radius:var(--radius-md);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;text-align:center}.modal--wide{width:min(640px,100%)}.rows{display:grid;gap:var(--sp-2)}.rows__item{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr) auto;gap:var(--sp-2);align-items:center}.chain{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:stretch;list-style:none;margin:0;padding:0}.chain__step{border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);display:grid;gap:2px;align-content:start;min-width:160px;background:var(--c-surface)}.chain__arrow{align-self:center;color:var(--c-text-3)}.note{color:var(--c-text-3);font-size:var(--fs-sm);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--c-border)}.card__body{padding:var(--sp-4) var(--sp-5)}@media(max-width:768px){.app-header--app .app-header__inner{padding:0 var(--sp-3);gap:var(--sp-2)}.app-header--app .brand__name{display:none}.account-menu__trigger>.icon:first-child,.account-menu__label{display:none}.account-menu__trigger{padding:0 var(--sp-2);gap:var(--sp-1)}.account-menu .menu{position:fixed;top:60px;left:var(--sp-3);right:var(--sp-3);min-width:0}}@media(max-width:640px){.container{padding:var(--sp-5) var(--sp-4) var(--sp-7)}.app-header__inner{padding:0 var(--sp-4);gap:var(--sp-3)}.modal__head{padding:var(--sp-4) var(--sp-4) 0}.modal__body{padding:var(--sp-3) var(--sp-4)}.modal__foot{padding:0 var(--sp-4) var(--sp-4)}.grid-2{grid-template-columns:minmax(0,1fr)}.card{padding:var(--sp-4)}.card__head{padding:var(--sp-3) var(--sp-4)}.auth__card{padding:var(--sp-5)}.inline-form{flex-direction:column;align-items:stretch}.stat__value{font-size:32px}.tabs{padding:0 var(--sp-2)}.tab{padding:var(--sp-3) var(--sp-2)}.subnav__inner{padding:0 var(--sp-2)}.toolbar{padding:var(--sp-3) var(--sp-4)}.toolbar .field,.toolbar .field--grow{flex:1 1 100%}.toolbar__note{margin-left:0}.table--stack td.cell-actions{justify-content:flex-end}.table--stack td.cell-actions:before{content:none}.rows__item{grid-template-columns:minmax(0,1fr)}.note,.card__body{padding:var(--sp-3) var(--sp-4)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}html,body,#root{height:100%}body{overflow:hidden}#root{display:flex;flex-direction:column}.shell{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;overflow-x:clip}.nowrap{white-space:nowrap}.shell__main{flex:1;min-height:0;display:flex}.shell__main:focus{outline:none}.app-nav{display:flex;align-items:stretch;align-self:stretch;gap:var(--sp-1);margin-left:var(--sp-3)}.app-nav__link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 var(--sp-3);font:inherit;color:var(--c-text-2);cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.app-nav__link:hover{color:var(--c-text)}.app-nav__link[aria-current=page]{color:var(--c-primary);border-bottom-color:var(--c-primary);font-weight:var(--fw-medium)}.app-nav__link:focus-visible{outline-offset:-2px}.page-scroll{flex:1;min-width:0;overflow-y:auto}.container--wide{max-width:none}.boot{flex:1}.boot__status{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center;color:var(--c-text-2)}.boot__status .spinner{color:var(--c-primary)}.chat{flex:1;min-width:0;display:grid;grid-template-columns:272px minmax(0,1fr);min-height:0}.chat[data-sidebar=closed]{grid-template-columns:minmax(0,1fr)}.chat[data-sidebar=closed] .sidebar{display:none}.sidebar{display:flex;flex-direction:column;min-height:0;background:var(--c-surface);border-right:1px solid var(--c-border)}.sidebar__head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3)}.sidebar__close{display:none}@media(max-width:768px){.sidebar__close{display:inline-grid}}.sidebar__head .btn--primary{flex:1}.sidebar__label{padding:var(--sp-2) var(--sp-4) var(--sp-1);color:var(--c-text-3);font-size:var(--fs-xs);display:flex;justify-content:space-between}.conv-list{list-style:none;margin:0;padding:0 var(--sp-2) var(--sp-3);overflow-y:auto;flex:1;min-height:0}.conv-item{position:relative;display:flex;align-items:center;border-radius:var(--radius-md)}.conv-item:hover{background:var(--c-surface-2)}.conv-item__link{flex:1;min-width:0;display:grid;gap:2px;padding:var(--sp-2) var(--sp-3);border:0;border-radius:var(--radius-md);background:none;text-align:left;cursor:pointer;font:inherit;color:var(--c-text)}.conv-item__link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.conv-item__link[aria-current=true]{background:var(--c-primary-soft)}.conv-item__link[aria-current=true] .conv-item__title{color:var(--c-primary);font-weight:var(--fw-medium)}.conv-item__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-item__time{color:var(--c-text-3);font-size:var(--fs-xs)}.conv-item__actions{position:absolute;right:var(--sp-1);top:50%;transform:translateY(-50%);display:flex;gap:2px;opacity:0}.conv-item:hover .conv-item__actions,.conv-item:focus-within .conv-item__actions{opacity:1}.conv-item:hover .conv-item__link,.conv-item:focus-within .conv-item__link{padding-right:76px}@media(hover:none){.conv-item__actions{opacity:1}.conv-item__link{padding-right:76px}}.sidebar__foot{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--c-border);color:var(--c-text-3);font-size:var(--fs-xs)}.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--c-bg)}.chat-toolbar{flex:none;display:flex;align-items:center;gap:var(--sp-2);min-height:52px;padding:var(--sp-2) var(--sp-4);background:var(--c-surface);border-bottom:1px solid var(--c-border)}.chat-toolbar__title{flex:1;min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-toolbar__controls{display:flex;align-items:center;gap:var(--sp-2);flex:none}.chat-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.chat-log__inner{max-width:768px;margin:0 auto;padding:var(--sp-5) var(--sp-4) var(--sp-6);display:grid;gap:var(--sp-5)}.chat-log__empty{min-height:100%;display:grid;place-items:center;padding:var(--sp-5) var(--sp-4)}.chat-log__empty .empty{max-width:440px}.chat-log__empty .empty__icon{width:48px;height:48px;background:var(--c-primary-soft);color:var(--c-primary)}.chat-log__empty .empty__icon svg{width:24px;height:24px}.chat-log__empty .empty__title{font-size:var(--fs-lg)}.msg{display:grid;gap:var(--sp-2);min-width:0}.msg__head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);color:var(--c-text-3);font-size:var(--fs-sm)}.msg__name{color:var(--c-text);font-weight:var(--fw-medium)}.msg__meta{font-variant-numeric:tabular-nums}.msg__actions{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.msg__actions .btn{color:var(--c-text-3)}.msg__actions .btn:hover{color:var(--c-text)}.msg--user{justify-items:end}.msg--user .msg__head{justify-content:flex-end}.msg__bubble{max-width:min(85%,640px);padding:var(--sp-3) var(--sp-4);background:var(--c-primary-soft);color:var(--c-text);border-radius:var(--radius-lg);border-top-right-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--lh-relaxed)}.msg__attachments{display:flex;flex-wrap:wrap;gap:var(--sp-1);justify-content:flex-end}.msg--assistant{grid-template-columns:28px minmax(0,1fr);column-gap:var(--sp-3);align-items:start}.msg--assistant>.msg__avatar{grid-row:1 / span 3}.msg--assistant>:not(.msg__avatar){grid-column:2}.msg__avatar{width:28px;height:28px;border-radius:var(--radius-md);background:var(--c-primary-solid);color:var(--c-on-primary);display:grid;place-items:center}.msg__body{min-width:0;line-height:var(--lh-relaxed);overflow-wrap:anywhere}.msg__body--note{color:var(--c-text-2)}.generating{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--c-text-2)}.generating__dots{display:inline-flex;gap:3px}.generating__dots i{width:6px;height:6px;border-radius:50%;background:var(--c-primary);animation:pulse 1.2s infinite ease-in-out}.generating__dots i:nth-child(2){animation-delay:.15s}.generating__dots i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,80%,to{opacity:.25}40%{opacity:1}}.caret{display:inline-block;width:2px;height:1.1em;margin-left:2px;vertical-align:text-bottom;background:var(--c-primary);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md blockquote,.md pre,.md .code-block,.md .md-table,.md hr{margin:0 0 var(--sp-3)}.md h1,.md h2,.md h3,.md h4{margin:var(--sp-5) 0 var(--sp-2);line-height:var(--lh-tight)}.md h1{font-size:var(--fs-xl)}.md h2{font-size:var(--fs-lg)}.md h3,.md h4{font-size:var(--fs-md)}.md ul,.md ol{padding-left:var(--sp-5)}.md li+li{margin-top:var(--sp-1)}.md li>p{margin:0}.md a{text-decoration:underline;text-underline-offset:2px}.md blockquote{padding-left:var(--sp-3);border-left:3px solid var(--c-border-strong);color:var(--c-text-2)}.md hr{border:0;border-top:1px solid var(--c-border)}.md :not(pre)>code{font-family:var(--font-mono);font-size:.9em;padding:1px var(--sp-1);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-sm)}.md img{max-width:100%}.code-block{border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;background:var(--c-surface-2)}.code-block__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);height:var(--control-h-sm);padding:0 var(--sp-1) 0 var(--sp-3);background:var(--c-surface);border-bottom:1px solid var(--c-border);color:var(--c-text-3);font-size:var(--fs-xs);font-family:var(--font-mono)}.code-block__head .btn{height:26px;font-family:var(--font-sans);color:var(--c-text-2)}.code-block pre{margin:0;padding:var(--sp-3) var(--sp-4);overflow-x:auto;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:var(--lh-normal);-moz-tab-size:4;tab-size:4}.code-block pre code{font-family:inherit}.md-table{overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--radius-md)}.md-table table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.md-table th{background:var(--c-surface-2);color:var(--c-text-2);font-weight:var(--fw-medium);text-align:left}.md-table th,.md-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-border);vertical-align:top}.md-table tr:last-child td{border-bottom:0}.md-table td[align=right],.md-table th[align=right]{text-align:right;font-variant-numeric:tabular-nums}.composer-wrap{flex:none;padding:0 var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));background:var(--c-bg)}.composer-wrap__inner{max-width:768px;margin:0 auto;display:grid;gap:var(--sp-2)}.gen-bar{display:flex;align-items:center;gap:var(--sp-3);justify-content:space-between;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.gen-bar__status{display:flex;align-items:center;gap:var(--sp-2);color:var(--c-text-2);min-width:0}.gen-bar__status .spinner{color:var(--c-primary)}.composer{background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--sp-2);display:grid;gap:var(--sp-1);transition:border-color var(--duration),box-shadow var(--duration)}.composer:focus-within{border-color:var(--c-focus);box-shadow:var(--focus-ring)}.composer__input{display:block;width:100%;min-height:40px;max-height:200px;resize:none;overflow-y:auto;padding:var(--sp-2);border:0;background:transparent;color:var(--c-text);font:inherit;line-height:var(--lh-normal)}.composer__input:focus{outline:none}.composer__input::placeholder{color:var(--c-text-3);opacity:1}.composer__bar{display:flex;align-items:center;gap:var(--sp-2)}.composer__hint{flex:1;min-width:0;color:var(--c-text-3);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer__hint kbd{font-family:var(--font-mono);font-size:var(--fs-xs);padding:0 var(--sp-1);border:1px solid var(--c-border);border-bottom-width:2px;border-radius:var(--radius-sm);background:var(--c-surface-2)}.composer__send{width:var(--control-h-sm);padding:0}.attachments{display:flex;flex-wrap:wrap;gap:var(--sp-1);padding:var(--sp-1) var(--sp-1) 0}.attachment{display:inline-flex;align-items:center;gap:var(--sp-1);max-width:260px;height:28px;padding:0 var(--sp-1) 0 var(--sp-2);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface-2);font-size:var(--fs-sm);color:var(--c-text)}.attachment__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment__size{color:var(--c-text-3);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex:none}.attachment .icon-btn{width:22px;height:22px}.attachment[aria-busy=true]{color:var(--c-text-3)}.page-title--row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.stats{display:grid;gap:var(--sp-5);grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr))}.stats .card{display:grid;align-content:start}.stats .stat__value{font-size:var(--fs-2xl);word-break:normal;white-space:nowrap}.stat__label .icon{margin-right:var(--sp-1)}.mini-stats{display:grid;gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.mini-stats dt{color:var(--c-text-2);font-size:var(--fs-sm)}.mini-stats dd{margin:var(--sp-1) 0 0;font-size:var(--fs-xl);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.stats .stat--hero .stat__value{font-size:var(--fs-3xl)}.card__actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-4)}.chart{position:relative}.chart-svg{display:block;width:100%;height:var(--chart-h, 160px);overflow:visible}.chart-svg .grid-line{stroke:var(--c-border);stroke-width:1}.chart-svg path,.chart-svg rect{transition:opacity var(--duration)}.chart-svg .axis-text{fill:var(--c-text-3);font-size:var(--fs-xs);font-family:var(--font-sans)}.chart-tip{position:absolute;top:0;left:var(--tip-x, 50%);transform:translate(-50%,-100%);pointer-events:none;z-index:2;display:grid;gap:2px;padding:var(--sp-1) var(--sp-2);white-space:nowrap;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--fs-xs);color:var(--c-text-2)}.chart-tip b{color:var(--c-text);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.chart-empty{padding:var(--sp-5);text-align:center;color:var(--c-text-3);font-size:var(--fs-sm)}.legend{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--c-text-2)}.legend__item{display:inline-flex;align-items:center;gap:var(--sp-2)}.legend__swatch{width:10px;height:10px;border-radius:var(--radius-sm);background:var(--series-color, var(--c-text-3))}.legend__val{color:var(--c-text);font-variant-numeric:tabular-nums}.console-shell{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.drawer .dl dd{font-family:var(--font-mono);font-size:var(--fs-sm)}@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat--hero{grid-column:1 / -1}}@media(max-width:768px){.app-nav{margin-left:0;gap:0}.app-nav__link{padding:0 var(--sp-2)}.app-nav__link .icon{display:none}.chat,.chat[data-sidebar=closed]{grid-template-columns:minmax(0,1fr)}.sidebar,.chat[data-sidebar=closed] .sidebar{display:flex;position:fixed;top:0;bottom:0;left:0;z-index:61;width:min(320px,86vw);box-shadow:var(--shadow-lg);transform:translate(-100%);visibility:hidden;transition:transform var(--duration) ease-out,visibility var(--duration)}.chat[data-drawer=open] .sidebar{transform:none;visibility:visible}.chat-toolbar{padding:var(--sp-2) var(--sp-3)}.chat-toolbar__title{display:none}.chat-toolbar__controls{flex:1;min-width:0}.chat-toolbar__controls .select{flex:1 1 0;min-width:0;width:0}.chat-toolbar .segmented__item{padding:0 var(--sp-2)}.chat-log__inner{padding:var(--sp-4) var(--sp-3) var(--sp-5);gap:var(--sp-4)}.msg__bubble{max-width:92%}.msg--assistant{grid-template-columns:minmax(0,1fr)}.msg--assistant>.msg__avatar{display:none}.msg--assistant>:not(.msg__avatar){grid-column:1}.composer-wrap{padding:0 var(--sp-3) calc(var(--sp-2) + env(safe-area-inset-bottom))}.composer__hint{display:none}.composer__bar{justify-content:space-between}}@media(max-width:640px){.stats{gap:var(--sp-3)}.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat__value{font-size:var(--fs-xl)}.stats .stat--hero .stat__value{font-size:var(--fs-2xl)}}
