.ui-button{min-height:var(--target-size);padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer}.ui-button--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.ui-button--destructive{border-color:var(--color-error);background:var(--color-error);color:var(--color-on-primary)}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-button:focus-visible,.ui-control:focus-visible,.ui-dialog:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ui-field{display:grid;gap:var(--space-1)}.ui-field__label{margin:0;font-weight:var(--font-weight-semibold)}.ui-control{min-height:var(--target-size);width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.ui-control[aria-invalid=true]{border-color:var(--color-error)}.ui-field__help{color:var(--color-text-muted);font-size:var(--font-size-caption)}.ui-field__error{color:var(--color-error);font-size:var(--font-size-caption)}.ui-validation,.ui-alert{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ui-validation{border-color:var(--color-error);color:var(--color-error)}.ui-validation h2{font-size:1rem}.ui-badge{display:inline-flex;min-height:24px;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-surface-muted);font-size:var(--font-size-caption)}.ui-badge--success{color:var(--color-success)}.ui-badge--warning{color:var(--color-warning)}.ui-badge--error{color:var(--color-error)}.ui-alert--error{color:var(--color-error);border-color:var(--color-error)}.ui-alert--success{color:var(--color-success)}.ui-alert--warning{color:var(--color-warning)}.ui-state{display:grid;gap:var(--space-2);padding:var(--space-5);color:var(--color-text-muted)}.ui-state h2{margin:0;color:var(--color-text)}.ui-state .ui-button{width:fit-content}.ui-skeleton{display:block;width:180px;height:12px;background:var(--color-surface-muted);border-radius:var(--radius-sm)}.ui-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:start center;padding:10vh 12px 24px;background:#0f172a66;overflow:auto}.ui-dialog{width:min(480px,100%);max-height:80vh;overflow:auto;padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.ui-dialog__header,.ui-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ui-dialog__header{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.ui-dialog__header h2{margin:0}.ui-dialog__actions{justify-content:flex-end;margin-top:var(--space-4)}.ui-save-bar{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) max(16px,calc((100% - 1120px)/2));background:var(--color-surface-elevated);border-top:1px solid var(--color-border)}.ui-save-bar>div{display:flex;gap:var(--space-2)}.ui-list-detail{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:var(--space-4);min-width:0}.ui-list-detail>*{min-width:0}.ui-search-filter{display:flex;align-items:end;flex-wrap:wrap;gap:var(--space-3)}.ui-search-filter .ui-field{flex:1 1 220px}.perf-task-page{display:grid;gap:var(--space-4);max-width:1120px;margin:0 auto;padding:0 16px 32px}.perf-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);max-width:1120px;margin:0 auto;padding:0 16px 32px}.perf-task-card,.perf-template-card{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-decoration:none}.perf-task-card{flex-direction:column}.perf-task-card span,.perf-template-card span{color:var(--color-text-muted)}.perf-template-card small{display:block;margin-top:6px;color:var(--color-text-muted)}.perf-card-list{display:grid;gap:var(--space-3);padding:0;margin:0;list-style:none}.perf-context-panel,.perf-detail-card,.ui-form-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.perf-detail-card{display:grid;gap:var(--space-3)}.perf-detail-card__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.perf-detail-card h2{margin:0}.perf-template-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.perf-template-meta dt{color:var(--color-text-muted);font-size:var(--font-size-caption)}.perf-template-meta dd{margin:4px 0 0;font-weight:var(--font-weight-semibold)}.perf-form{display:grid;gap:var(--space-3);max-width:680px}.perf-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}@media (max-width: 599px){.perf-task-grid{grid-template-columns:1fr}.perf-template-card{flex-direction:column}.perf-template-meta{grid-template-columns:1fr}}@media (max-width: 959px){.ui-list-detail{grid-template-columns:1fr}}@media (max-width: 599px){.ui-save-bar{align-items:stretch;flex-direction:column}.ui-save-bar>div{width:100%}.ui-save-bar .ui-button{flex:1}}:root{--color-surface: #ffffff;--color-surface-muted: #f4f5f7;--color-surface-elevated: #ffffff;--color-text: #1c2430;--color-text-muted: #5b6472;--color-border: #d8dce2;--color-primary: #1f3a5f;--color-primary-hover: #16304f;--color-success: #236333;--color-warning: #7a5600;--color-error: #8a2b2b;--color-info: #1a4f82;--color-focus: #1a4f82;--color-disabled: #8b93a0;--color-selected: #edf2fb;--color-on-primary: #ffffff;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-body: 14px;--font-size-label: 13px;--font-size-caption: 12px;--font-weight-semibold: 600;--line-height-body: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-pill: 999px;--border-width: 1px;--shadow-sm: 0 1px 2px rgb(15 23 42 / .08);--breakpoint-tablet: 600px;--breakpoint-desktop: 960px;--target-size: 44px;--bg: var(--color-surface-muted);--surface: var(--color-surface);--border: var(--color-border);--text: var(--color-text);--text-muted: var(--color-text-muted);--primary: var(--color-primary);--primary-contrast: var(--color-on-primary);--danger: var(--color-error);--radius: var(--radius-md);--maxw: 460px;font-family:var(--font-family-sans)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.skip-link{position:absolute;left:16px;top:8px;transform:translateY(-150%);z-index:1;padding:8px 12px;border-radius:var(--radius);background:var(--primary);color:var(--primary-contrast);font-weight:600}.skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--primary);outline-offset:2px}.card{width:100%;max-width:var(--maxw);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.card--wide{max-width:720px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{min-height:64px;display:flex;align-items:center;gap:24px;padding:8px 24px;background:var(--color-surface-elevated);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.app-brand{color:var(--text);font-weight:700;text-decoration:none;white-space:nowrap}.app-nav{display:flex;gap:4px}.app-nav a,.header-button,.launcher-dialog a{min-height:var(--target-size);display:inline-flex;align-items:center;padding:8px 12px;border:0;border-radius:var(--radius);color:var(--text);background:transparent;text-decoration:none;font:inherit}.app-nav a:hover,.app-nav a[aria-current=page],.launcher-dialog a:hover{background:var(--color-selected);color:var(--primary)}.app-header__actions{margin-left:auto;display:flex;align-items:center;gap:4px;position:relative}.header-button{cursor:pointer;border:1px solid transparent}.header-button:hover{background:var(--color-selected)}.account-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;padding:8px;display:grid;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);z-index:10}.account-menu [role=menuitem]{padding:8px 12px;color:var(--text-muted)}.app-main{flex:1;min-width:0;overflow-x:hidden}.page-header{padding:24px max(16px,calc((100% - 1120px)/2));background:var(--surface);border-bottom:1px solid var(--border)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 10px;color:var(--text-muted);font-size:13px}.breadcrumbs li+li:before{content:"/";margin-right:8px;color:var(--border)}.breadcrumbs a{color:var(--primary)}.breadcrumbs__link{min-height:var(--target-size);display:inline-flex;align-items:center;padding:8px 4px}.page-header__row{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-header h1{margin:0;font-size:28px}.page-header p{margin:4px 0 0;color:var(--text-muted)}.home-page{max-width:1120px;margin:0 auto;padding:32px 16px}.launcher-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0f172a59}.launcher-dialog{width:min(420px,calc(100vw - 24px));margin:80px auto 0;padding:20px;display:grid;gap:4px;background:var(--surface);border-radius:var(--radius);box-shadow:0 12px 40px #0f172a38}.launcher-dialog__header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);margin-bottom:8px}.launcher-dialog h2{margin:0}.brand{font-size:20px;font-weight:650;letter-spacing:.01em;margin:0 0 4px}.subtitle{color:var(--text-muted);font-size:14px;margin:0 0 24px}h2{font-size:16px;margin:0 0 12px}label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}input[type=email],input[type=text]{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--color-surface)}button{font:inherit;cursor:pointer}.btn{width:100%;padding:10px 14px;font-size:14px;font-weight:600;border-radius:var(--radius);border:1px solid var(--border);background:var(--color-surface);color:var(--text)}.btn:focus-visible,.app-tile:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.btn:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:12px;margin:20px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.stack>*+*{margin-top:12px}.notice{font-size:13px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--color-surface-muted);color:var(--text-muted)}.notice--error{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--color-error) 8%,var(--color-surface))}.meta{font-size:13px;color:var(--text-muted)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}.app-tile{display:block;border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-decoration:none;color:var(--text);background:var(--color-surface)}.app-tile[aria-disabled=true]{opacity:.65}.app-tile__name{font-weight:650;margin-bottom:4px}.app-tile__meta{font-size:12px;color:var(--text-muted)}.topbar{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px}.btn--inline{width:auto;padding:6px 12px;font-size:13px}.debug{margin-top:24px;border-top:1px dashed var(--border);padding-top:16px}.debug pre{font-size:12px;background:#0f172a;color:#e2e8f0;padding:12px;border-radius:var(--radius);overflow:auto;max-height:320px}:root{--perf-accent: #1a4f82}@supports not (background: color-mix(in srgb,white,black)){.notice--error{background:#fdf3f3}}.perf-page{min-height:100vh;background:var(--bg);padding:0 16px 48px}.perf-header{padding:20px 0 16px;border-bottom:1px solid var(--border);margin-bottom:24px}.perf-back-link{display:inline-block;font-size:13px;color:var(--perf-accent);text-decoration:none;margin-bottom:8px}.perf-back-link:hover,.perf-back-link:focus-visible{text-decoration:underline;outline:2px solid var(--perf-accent);outline-offset:2px;border-radius:2px}.perf-heading{font-size:22px;font-weight:700;margin:0;color:var(--text)}.perf-notice{padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);font-size:14px;color:var(--text-muted);background:#fbfbfc}.perf-notice--denied{border-color:var(--danger);color:var(--danger);background:#fdf3f3}.perf-notice--error{border-color:var(--danger);color:var(--danger);background:#fdf3f3;font-size:13px;margin-top:8px}.perf-loading{font-size:13px;color:var(--text-muted);padding:8px 0}.perf-empty{font-size:13px;color:var(--text-muted);font-style:italic;margin:8px 0}.perf-explorer{display:flex;gap:16px;align-items:flex-start;overflow-x:auto;padding-bottom:8px}.perf-authoring-workspace{display:contents}.perf-breadcrumb{margin:0 0 5px;color:var(--perf-accent);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.perf-authoring-detail{min-width:280px}.perf-panel{flex:0 0 280px;min-width:240px;max-width:360px;background:var(--color-surface-elevated);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);padding:16px}@media (max-width: 600px){.perf-explorer{flex-direction:column}.perf-panel{flex:none;width:100%;max-width:100%;min-width:0}}.perf-panel-header{margin-bottom:12px}.perf-notice--success{border-color:#98c9a3;color:#236333;background:#eef9f0;font-size:13px;margin-top:8px}.perf-eyebrow{margin:0 0 6px;color:var(--perf-accent);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.perf-template-detail{flex-basis:300px;background:var(--color-surface-muted)}.perf-template-description{margin:0;color:var(--text-muted);font-size:13px;line-height:1.5}.perf-template-meta{display:grid;gap:8px;margin:18px 0 0}.perf-template-meta div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:8px}.perf-template-meta dt,.perf-template-meta dd{margin:0;font-size:12px}.perf-template-meta dt{color:var(--text-muted)}.perf-template-meta dd{font-weight:650;text-align:right}.perf-panel-title{font-size:15px;font-weight:700;margin:0;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.perf-panel-subtitle{font-size:13px;font-weight:400;color:var(--text-muted)}.perf-panel-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.perf-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 10px}.perf-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid transparent}.perf-badge--locked{background:var(--color-surface-muted);color:var(--color-text-muted);border-color:#c5c9ce}.perf-badge--draft{background:#e6f4ea;color:var(--color-success);border-color:#a8d5b3}.perf-actions{margin-bottom:12px}.perf-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:4px}.perf-list-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;cursor:pointer;text-align:left;font:inherit;color:var(--text);transition:border-color .1s,background .1s}.perf-list-item:hover{border-color:var(--perf-accent);background:var(--color-selected)}.perf-list-item:focus-visible{outline:2px solid var(--perf-accent);outline-offset:1px}.perf-list-item--selected{border-color:var(--perf-accent);background:var(--color-selected)}.perf-list-item__name{font-size:14px;font-weight:600}.perf-list-item__meta{font-size:12px;color:var(--text-muted);margin-top:2px}.perf-level-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.perf-level-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc}.perf-level-score{flex:0 0 28px;font-size:13px;font-weight:700;color:var(--perf-accent);text-align:center;padding-top:1px}.perf-level-desc{font-size:13px;color:var(--text);line-height:1.4}.perf-form{margin-top:12px}.perf-fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin:0}.perf-fieldset-legend{font-size:12px;font-weight:600;padding:0 4px;color:var(--text-muted)}.perf-form-row{margin-bottom:10px}.perf-form-row--inline{display:flex;gap:12px;align-items:flex-end}.perf-form-row--grow{flex:1}.perf-label{display:block;font-size:12px;font-weight:600;margin-bottom:4px;color:var(--text)}.perf-input{width:100%;padding:8px 10px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);font:inherit}.perf-input:focus-visible{outline:2px solid var(--perf-accent);outline-offset:1px;border-color:var(--perf-accent)}.perf-input--narrow{width:80px}.perf-btn{font:inherit;cursor:pointer;padding:8px 14px;font-size:13px;font-weight:600;border-radius:var(--radius);border:1px solid var(--border);background:#fff;color:var(--text)}.perf-btn--primary{background:var(--perf-accent);border-color:var(--perf-accent);color:var(--color-on-primary)}.perf-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.perf-btn--danger{background:#fff;border-color:var(--danger);color:var(--danger)}.perf-btn--danger:hover:not(:disabled){background:#fdf3f3}.perf-btn:focus-visible{outline:2px solid var(--perf-accent);outline-offset:2px}.perf-btn:disabled,.perf-fieldset:disabled .perf-btn{opacity:.55;cursor:not-allowed}:where(button,a,input,select,textarea,[role=button]){min-height:var(--target-size)}:where(button,a,input,select,textarea,[role=button]):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}:where(button,input,select,textarea):disabled,:where([aria-disabled=true]){color:var(--color-disabled);cursor:not-allowed;opacity:.6}:where([aria-selected=true],[aria-pressed=true],.perf-list-item--selected){background:var(--color-selected)}:where([aria-invalid=true],.field-error){border-color:var(--color-error)}:where(.notice--error,.perf-notice--error,.perf-notice--denied){color:var(--color-error);border-color:var(--color-error)}@media (max-width: 600px){.app-header{padding-inline:12px;gap:8px}.app-brand{font-size:14px}.app-nav{display:none}.header-button{padding-inline:8px}.app-header__actions{gap:0}.page-header{padding:16px 12px}.page-header h1{font-size:24px}.home-page{padding:20px 12px}.page{align-items:flex-start;padding:var(--space-4) var(--space-3)}.card{padding:var(--space-5) var(--space-4)}.topbar{align-items:flex-start}.perf-page{padding-inline:var(--space-3)}}@media (min-width: 601px) and (max-width: 959px){.perf-page{padding-inline:var(--space-5)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
