:root{--bg: #0b0d12;--bg-grad: radial-gradient(1200px 600px at 85% -10%, rgba(79, 140, 255, .08), transparent 60%);--surface: #14171e;--surface-2: #1b1f28;--surface-3: #232834;--surface-hover: #1f2430;--border: #262b36;--border-strong: #333a48;--text: #eef1f6;--text-2: #c3cad6;--muted: #8b93a3;--faint: #6a7180;--accent: #5b93ff;--accent-hover: #6ea0ff;--accent-press: #4a82f0;--accent-soft: rgba(91, 147, 255, .14);--accent-ring: rgba(91, 147, 255, .45);--accent-grad: linear-gradient(135deg, #5b93ff, #7c74ff);--success: #46c07a;--success-soft: rgba(70, 192, 122, .14);--warning: #e0b341;--warning-soft: rgba(224, 179, 65, .15);--danger: #ff5f6b;--danger-hover: #ff7078;--danger-soft: rgba(255, 95, 107, .14);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 6px 20px rgba(0, 0, 0, .35);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .5);--ring: 0 0 0 3px var(--accent-ring);--transition: .15s cubic-bezier(.4, 0, .2, 1);color-scheme:dark}:root[data-theme=light]{--bg: #f6f7fb;--bg-grad: radial-gradient(1200px 600px at 85% -10%, rgba(63, 123, 240, .06), transparent 60%);--surface: #ffffff;--surface-2: #f1f3f8;--surface-3: #e7eaf2;--surface-hover: #eceff6;--border: #e3e7f0;--border-strong: #cfd5e2;--text: #12151c;--text-2: #3a4353;--muted: #5f6879;--faint: #9aa3b2;--accent: #3f7bf0;--accent-hover: #5a8ff5;--accent-press: #2f6ae0;--accent-soft: rgba(63, 123, 240, .1);--accent-ring: rgba(63, 123, 240, .35);--accent-grad: linear-gradient(135deg, #3f7bf0, #6d63f0);--success: #1f9d57;--success-soft: rgba(31, 157, 87, .12);--warning: #b7791f;--warning-soft: rgba(183, 121, 31, .14);--danger: #e23d4b;--danger-hover: #ef5563;--danger-soft: rgba(226, 61, 75, .12);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 6px 20px rgba(16, 24, 40, .1);--shadow-lg: 0 18px 48px rgba(16, 24, 40, .16);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:content-box}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.02em;color:var(--text)}h1{font-size:1.65rem;line-height:1.2}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:.5rem 0}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}button{font:inherit;font-weight:550;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-sm);padding:.5rem .95rem;background:var(--accent);background-image:var(--accent-grad);color:#fff;line-height:1.3;transition:filter var(--transition),transform var(--transition),box-shadow var(--transition),background-color var(--transition),border-color var(--transition),opacity var(--transition);box-shadow:var(--shadow-sm)}button:hover:not(:disabled){filter:brightness(1.08);box-shadow:var(--shadow)}button:active:not(:disabled){transform:translateY(1px);filter:brightness(.96)}button:disabled{opacity:.45;cursor:not-allowed}button.danger{background:var(--danger);background-image:none}button.danger:hover:not(:disabled){background:var(--danger-hover)}.btn-secondary,.pager button,.tabs button{background:var(--surface-2);background-image:none;border-color:var(--border);color:var(--text-2);box-shadow:none}.btn-secondary:hover:not(:disabled),.pager button:hover:not(:disabled){background:var(--surface-3);color:var(--text);border-color:var(--border-strong);filter:none;box-shadow:none}.link-button{background:none;background-image:none;color:var(--accent);padding:.3rem .55rem;border-radius:var(--radius-sm);box-shadow:none;font-weight:550}.link-button:hover:not(:disabled){background:var(--accent-soft);filter:none;box-shadow:none}.link-button.danger{background:none;background-image:none;color:var(--danger)}.link-button.danger:hover:not(:disabled){background:var(--danger-soft)}.link-button.primary{background-image:var(--accent-grad);color:#fff;padding:.35rem .75rem;font-weight:600}.link-button.primary:hover:not(:disabled){filter:brightness(1.05);background-image:var(--accent-grad)}input,select,textarea{font:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.55rem .75rem;width:100%;transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}input::placeholder,textarea::placeholder{color:var(--faint)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:var(--surface)}select{width:auto;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2.2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b93a3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center}input[type=checkbox]{width:auto;accent-color:var(--accent);cursor:pointer}input[type=file]{padding:.45rem .6rem;cursor:pointer}input[type=file]::file-selector-button{font:inherit;font-weight:550;margin-right:.75rem;padding:.4rem .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-2);cursor:pointer;transition:background-color var(--transition)}input[type=file]::file-selector-button:hover{background:var(--surface-hover)}.centered{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);margin:.5rem 0}.error.small{margin:.25rem 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.login-card{width:360px;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;gap:.85rem;padding:2rem;box-shadow:var(--shadow-lg);animation:rise .4s cubic-bezier(.2,.8,.2,1)}.login-card h1{margin:0;font-size:1.5rem}.login-card>.muted{margin:-.35rem 0 .5rem}.login-card label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:550;color:var(--text-2)}.login-card button[type=submit]{margin-top:.35rem;padding:.65rem 1rem}.login-brand{display:flex;align-items:center;gap:.6rem}.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--accent-grad);display:grid;place-items:center;color:#fff;flex:0 0 auto;box-shadow:0 2px 10px #5b93ff59}.brand-mark svg{width:20px;height:20px}.app-shell{display:grid;grid-template-rows:auto 1fr;height:100%}.topbar{display:flex;align-items:center;gap:1rem;padding:.6rem 1.25rem;background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.1rem;letter-spacing:-.02em;flex:0 0 auto}.topbar-nav{display:flex;align-items:center;gap:.15rem;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.topbar-nav::-webkit-scrollbar{display:none}.topbar-nav a{position:relative;display:flex;align-items:center;gap:.5rem;color:var(--text-2);padding:.5rem .8rem;border-radius:var(--radius-sm);font-weight:550;white-space:nowrap;transition:background-color var(--transition),color var(--transition)}.topbar-nav a svg{width:18px;height:18px;flex:0 0 auto;opacity:.85}.topbar-nav a:hover{background:var(--surface-2);color:var(--text)}.topbar-nav a.active{background:var(--accent-soft);color:var(--accent-hover)}.topbar-nav a.active svg{opacity:1}.topbar-actions{display:flex;align-items:center;gap:.35rem;flex:0 0 auto;margin-left:auto}.topbar-account{position:relative;flex:0 0 auto;margin-left:.25rem}.user-trigger{display:flex;align-items:center;padding:.2rem;border-radius:var(--radius-full);background:none;border:none;cursor:pointer;color:inherit;transition:background-color var(--transition)}.user-trigger:hover{background:var(--surface-2)}.avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--accent-soft);border:1px solid var(--border-strong);display:grid;place-items:center;font-size:.82rem;font-weight:650;color:var(--accent-hover);flex:0 0 auto;text-transform:uppercase}.user-menu{position:absolute;top:calc(100% + .4rem);right:0;min-width:13rem;display:flex;flex-direction:column;gap:.1rem;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .18));z-index:20}.user-menu-header{display:flex;align-items:center;gap:.55rem;padding:.35rem .5rem .5rem;margin-bottom:.15rem;border-bottom:1px solid var(--border)}.user-menu-header .username{min-width:0;font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu button{display:flex;align-items:center;gap:.65rem;width:100%;padding:.5rem .6rem;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;color:var(--text-2);font-weight:550;font-size:.9rem;text-align:left;transition:background-color var(--transition),color var(--transition)}.user-menu button svg{width:18px;height:18px;flex:0 0 auto;opacity:.85}.user-menu button:hover{background:var(--surface-2);color:var(--text)}.user-menu button.danger:hover{background:var(--danger-soft, color-mix(in srgb, var(--danger, #ef4444) 14%, transparent));color:var(--danger, #ef4444)}.content{padding:2.25rem 2.5rem;overflow:auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.save-form{display:flex;gap:.5rem;flex:1;max-width:520px}.filters{display:flex;gap:.75rem;align-items:center;margin:1.25rem 0 1.5rem;flex-wrap:wrap}.search{margin:0;max-width:420px;flex:1;min-width:220px}.status-filter{flex:0 0 auto}.status-control{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.toggle{display:inline-flex;align-items:center;gap:.6rem;padding:0;background:none;border:none;cursor:pointer;color:var(--text);font:inherit}.toggle:disabled{cursor:default;opacity:.6}.toggle-track{position:relative;display:inline-block;width:40px;height:22px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);transition:background .18s ease,border-color .18s ease;flex:none}.toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .18s ease,background .18s ease}.toggle.on .toggle-track{background:var(--accent, #3b82f6);border-color:transparent}.toggle.on .toggle-thumb{transform:translate(18px);background:#fff}.toggle:focus-visible .toggle-track{outline:2px solid var(--accent, #3b82f6);outline-offset:2px}.toggle-label{font-size:.92rem}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.1rem}.model-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;color:var(--text);display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.model-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.model-card:hover .thumb img{transform:scale(1.04)}.thumb,.thumb-large{aspect-ratio:1;background:linear-gradient(145deg,var(--surface-2),var(--surface));display:flex;align-items:center;justify-content:center;overflow:hidden}.thumb img,.thumb-large img{width:100%;height:100%;object-fit:cover;transition:transform .25s cubic-bezier(.4,0,.2,1)}.thumb-placeholder{color:var(--faint);font-weight:700;letter-spacing:.08em;font-size:.9rem}.thumb-rendering{width:100%;height:100%;animation:thumb-pulse 1.2s ease-in-out infinite}@keyframes thumb-pulse{0%,to{opacity:.45}50%{opacity:.8}}.model-card-body{padding:.85rem;display:flex;flex-direction:column;gap:.4rem}.ad-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;min-height:200px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.ad-card-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:6px 8px 0}.ad-card .adsbygoogle{flex:1;min-height:0}.model-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-row{display:flex;flex-wrap:wrap;gap:.35rem}.tag{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);padding:.12rem .6rem;font-size:.72rem;color:var(--muted)}.tag-editor{display:flex;flex-direction:column;gap:.5rem}.tag-removable{display:inline-flex;align-items:center;gap:.3rem}.tag-remove{background:none;border:none;padding:0;margin:0;cursor:pointer;color:var(--muted);font-size:.95rem;line-height:1}.tag-remove:hover:not(:disabled){color:var(--text, inherit)}.tag-add-form{display:flex;gap:.4rem}.tag-add-form input{flex:1 1 auto;min-width:0}.pager{display:flex;align-items:center;gap:1rem;margin-top:1.75rem}.pager span{color:var(--muted);font-size:.9rem}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.1rem}.skeleton-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.skeleton-card .sk-thumb{aspect-ratio:1}.skeleton-card .sk-body{padding:.85rem;display:flex;flex-direction:column;gap:.5rem}.sk{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}.sk-line{height:.7rem}.sk-line.short{width:55%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;padding:3.5rem 1.5rem;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 55%,transparent)}.empty-state svg{width:40px;height:40px;color:var(--faint);margin-bottom:.25rem}.empty-state .empty-title{color:var(--text-2);font-weight:600}.detail>.link-button{margin-left:-.55rem;margin-bottom:.5rem;display:inline-block}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.detail-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.bambu-note{margin:0 0 .5rem;font-size:.85rem}.update-status{margin:0 0 .75rem}.update-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.update-detail{margin:.5rem 0 0;font-size:.85rem}.update-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid transparent}.update-badge.is-available{color:var(--warning);background:var(--warning-soft);border-color:var(--warning)}.update-badge.is-current{color:var(--success);background:var(--success-soft)}.update-badge.is-error{color:var(--danger);background:var(--danger-soft)}.update-badge.is-muted{color:var(--muted);background:var(--surface-3)}.detail-grid{display:grid;grid-template-columns:320px 1fr;gap:1.75rem;margin:1.25rem 0 2.25rem}.thumb-large{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);align-self:start}.detail-meta{display:flex;flex-direction:column;gap:1.1rem}.detail-meta dl{display:grid;grid-template-columns:120px 1fr;gap:.75rem 1rem;margin:0}.detail-meta dt{color:var(--muted);font-size:.9rem}.detail-meta dd{margin:0}.files-table{width:100%;border-collapse:collapse;font-size:.92rem}.files-table th{text-align:left;padding:.7rem .65rem;border-bottom:1px solid var(--border-strong);color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.files-table td{text-align:left;padding:.7rem .65rem;border-bottom:1px solid var(--border)}.files-table tbody tr{transition:background-color var(--transition)}.files-table tbody tr:hover{background:var(--surface)}.estimate-card{margin:1.5rem 0;padding:1.25rem 1.5rem}.estimate-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.estimate-card h2{margin:0;font-size:1.05rem}.estimate-assumptions{margin:.25rem 0 1rem}.estimate-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.estimate-metric{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .85rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.estimate-metric-value{font-size:1.15rem;font-weight:700}.estimate-metric-label{font-size:.78rem;color:var(--muted)}.estimate-facts{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:1rem 0 0;font-size:.9rem}.estimate-facts dt{color:var(--muted)}.estimate-facts dd{margin:0;font-weight:600}.estimate-adjust{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 1rem;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--border)}.estimate-adjust label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--text-2)}.estimate-adjust input[type=range]{width:100%;accent-color:var(--accent)}.estimate-note{margin:1rem 0 0}@media(max-width:640px){.estimate-metrics{grid-template-columns:repeat(2,1fr)}.estimate-adjust{grid-template-columns:1fr}}.settings-section{max-width:560px;margin:1.25rem 0}.settings-section.admin-wide{max-width:1040px}.settings-section h2{margin:0 0 1rem;font-size:1.05rem}.settings-list{display:grid;grid-template-columns:140px 1fr;gap:.7rem 1rem;margin:0}.settings-list dt{color:var(--muted)}.settings-list dd{margin:0;word-break:break-word}.settings-help{color:var(--muted);margin:0 0 1rem;line-height:1.5}.settings-steps{margin:1rem 0 0;padding-left:1.2rem;color:var(--text);line-height:1.7}.settings-steps code{background:var(--surface-3);border-radius:var(--radius-sm);padding:.05rem .35rem;font-size:.85em}.admin-toggle{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer}.admin-toggle input{margin-top:.25rem}.table-scroll{overflow-x:auto;margin:0 -.25rem;padding:0 .25rem}.admin-table input[type=text],.admin-table input:not([type]),.admin-table select{width:100%;min-width:6rem}.admin-table td{vertical-align:top}.admin-actions{display:flex;gap:.4rem;white-space:nowrap}.runs-tabs{display:flex;gap:.25rem;margin:1rem 0 0;border-bottom:1px solid var(--border)}.runs-tabs button{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:.5rem .9rem;font-size:.9rem;font-weight:600;cursor:pointer}.runs-tabs button:hover{color:var(--text-2)}.runs-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:1rem 0 1.25rem;max-width:1040px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem}.kpi-value{font-size:1.5rem;font-weight:650;line-height:1.1;letter-spacing:-.01em}.kpi-label{color:var(--muted);font-size:.8rem;margin-top:.25rem}.kpi-pos .kpi-value{color:var(--success)}.kpi-neg .kpi-value{color:var(--danger)}.trend-chart{width:100%;min-width:560px;height:auto;display:block}.trend-bar{fill:var(--accent-soft);stroke:var(--accent);stroke-width:.75}.trend-line{stroke:var(--success);stroke-width:2}.trend-dot{fill:var(--success)}.trend-axis{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:3 3}.trend-label{fill:var(--muted);font-size:10px}.trend-legend{display:flex;align-items:center;gap:.4rem;margin-top:.4rem}.trend-legend-bar,.trend-legend-line{display:inline-block;width:14px;height:10px;margin-left:.75rem;border-radius:2px}.trend-legend-bar{background:var(--accent-soft);border:1px solid var(--accent)}.trend-legend-line{height:3px;background:var(--success)}.runs-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.9rem}.runs-toolbar form{flex:1 1 240px;min-width:200px;margin:0}.runs-toolbar input[type=search]{width:100%}.runs-table th:first-child,.runs-caret{width:1.5rem;color:var(--muted)}.runs-row:hover{background:var(--surface-hover)}.runs-profit{font-variant-numeric:tabular-nums;font-weight:600}.runs-pos{color:var(--success)}.runs-neg{color:var(--danger)}.run-status{display:inline-block;padding:.1rem .5rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;text-transform:capitalize;border:1px solid var(--border-strong);color:var(--text-2)}.run-status-succeeded{color:var(--success);background:var(--success-soft);border-color:transparent}.run-status-failed{color:var(--danger);background:var(--danger-soft);border-color:transparent}.run-status-running,.run-status-queued{color:var(--warning);background:var(--warning-soft);border-color:transparent}.run-status-cancelled{color:var(--muted)}.runs-detail-row td{background:var(--surface-2);padding:.9rem 1rem}.runs-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem 1.25rem;margin-bottom:.9rem}.runs-field-label{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.runs-field-value{margin-top:.15rem;word-break:break-word}.runs-field-value.mono,.runs-detail .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.runs-detail-block{margin-top:.75rem}.runs-detail-label{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.3rem}.runs-detail-text{white-space:pre-wrap;word-break:break-word}.runs-log{margin:0;padding:.6rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.78rem;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word}.runs-log-error{color:var(--danger);border-color:var(--danger-soft)}.runs-pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.tag-bubbles{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.5rem 0 .25rem}.bubble{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .9rem;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface-2);color:var(--text-2);font-weight:550;font-size:.88rem;line-height:1.2;box-shadow:none;transition:transform var(--transition),box-shadow var(--transition),filter var(--transition),background-color var(--transition),border-color var(--transition),color var(--transition)}.bubble:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1);box-shadow:var(--shadow)}.bubble:active:not(:disabled){transform:translateY(0)}.bubble-icon{font-size:1rem;line-height:1}.bubble-count{font-size:.72rem;font-weight:650;padding:.02rem .42rem;border-radius:var(--radius-full);background:color-mix(in srgb,currentColor 20%,transparent);color:inherit}.bubble-all.active{background:var(--accent);background-image:var(--accent-grad);border-color:transparent;color:#fff;box-shadow:0 6px 20px #5b93ff66}.bubble-wrap{position:relative;display:inline-flex}.bubble-del{position:absolute;top:-7px;right:-7px;width:20px;height:20px;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text-2);font-size:1rem;line-height:1;box-shadow:var(--shadow-sm)}.bubble-del:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff;filter:none;transform:none}.bubble-new{border-style:dashed;background:transparent;color:var(--muted)}.bubble-new:hover:not(:disabled){color:var(--accent);border-color:var(--accent);box-shadow:none}.bubble-new-form{display:inline-flex;align-items:center;gap:.3rem}.bubble-new-form input{width:10rem;padding:.4rem .85rem;border-radius:var(--radius-full);font-size:.88rem}.bubble-go{width:30px;height:30px;flex:0 0 auto;padding:0;display:grid;place-items:center;border-radius:50%;font-size:.9rem;line-height:1}.bubble-go-cancel{background:var(--surface-2);background-image:none;border-color:var(--border);color:var(--muted);box-shadow:none}.bubble-go-cancel:hover:not(:disabled){background:var(--surface-3);color:var(--text);filter:none}.settings-form{display:flex;flex-direction:column;gap:.85rem;max-width:460px}.settings-form label{display:flex;flex-direction:column;gap:.4rem;font-weight:550;font-size:.85rem;color:var(--text-2)}.settings-form input,.settings-form select{padding:.55rem .75rem}.provider-capability{display:flex;align-items:center;gap:.6rem;margin:.6rem 0 1rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .6rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:capitalize;border:1px solid transparent;background:var(--surface-3);color:var(--text-2)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.badge-ok,.status-succeeded{background:var(--success-soft);color:#7fdca5;border-color:#46c07a4d}.badge-warn{background:var(--warning-soft);color:#edcd7a;border-color:#e0b3414d}.status-queued{background:var(--surface-3);color:var(--muted);border-color:var(--border-strong)}.status-running{background:var(--accent-soft);color:var(--accent-hover);border-color:#5b93ff4d}.status-running:before{animation:pulse 1.2s ease-in-out infinite}.status-failed{background:var(--danger-soft);color:#ff8f97;border-color:#ff5f6b4d}.status-cancelled{background:var(--surface-2);color:var(--faint);border-color:var(--border)}.status-ready{background:var(--warning-soft);color:#edcd7a;border-color:#e0b3414d}.gen-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.job-error{margin:.5rem 0 0;max-width:340px;max-height:5.5rem;overflow:auto;padding:.5rem .65rem;background:var(--danger-soft);border:1px solid rgba(255,95,107,.25);border-radius:var(--radius-sm);color:#ff9aa1;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.model-viewer{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--radius);overflow:hidden;background:radial-gradient(circle at 50% 40%,#171b24,#0b0d12 75%)}.model-viewer-canvas{width:100%;height:100%}.model-viewer-canvas canvas{display:block}.model-viewer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.model-viewer-toolbar{position:absolute;right:.6rem;bottom:.6rem;display:flex;gap:.3rem;padding:.25rem;border-radius:calc(var(--radius) * .6);background:#0c0f16b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);opacity:.35;transition:opacity .15s ease}.model-viewer:hover .model-viewer-toolbar,.model-viewer-toolbar:focus-within{opacity:1}.model-viewer-toolbar button{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;padding:0;font-size:1rem;line-height:1;color:#d5dbe6;background:transparent;border:1px solid transparent;border-radius:calc(var(--radius) * .45);cursor:pointer}.model-viewer-toolbar button:hover{background:#ffffff14}.model-viewer-toolbar button.active{color:var(--accent, #6ea8fe);border-color:var(--accent, #6ea8fe);background:#6ea8fe1f}.model-viewer-hint{position:absolute;left:50%;bottom:.7rem;transform:translate(-50%);padding:.25rem .7rem;font-size:.72rem;color:#b8c0cd;background:#0c0f16b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:999px;pointer-events:none;white-space:nowrap}.gen-form{display:flex;flex-direction:column;gap:.85rem;max-width:100%;margin-top:1.25rem}.gen-form textarea{padding:.65rem .75rem;resize:vertical;font:inherit;min-height:4.5rem}.gen-naming{display:flex;gap:.75rem;flex-wrap:wrap}.gen-naming label{display:flex;flex-direction:column;gap:.3rem;flex:1 1 220px;font-size:.9rem}.gen-naming input{padding:.55rem .65rem;font:inherit}.tier-block{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}.tier-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;flex:1 1 260px}.tier-card{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;padding:.6rem;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);box-shadow:none;cursor:pointer}.tier-card:hover{border-color:var(--border-strong);background:var(--surface-3)}.tier-card.active{border-color:var(--accent);box-shadow:var(--ring);background:var(--accent-soft)}.tier-preview{margin:0;flex:0 0 auto;width:168px}.tier-preview img{width:168px;height:168px;object-fit:cover;display:block;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--border)}.tier-preview figcaption{margin-top:.3rem;font-size:.75rem;color:var(--muted);text-align:center}.tier-label{font-weight:600;color:var(--text)}.tier-note{font-size:.78rem;color:var(--muted)}.tier-cost{font-size:.78rem;font-weight:600;color:var(--accent)}.image-input{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.button-like{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .8rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-2);font-size:.88rem;font-weight:550;cursor:pointer}.button-like:hover{background:var(--surface-3)}.image-thumbs{display:flex;flex-wrap:wrap;gap:.5rem}.image-thumbs .thumb{position:relative;width:72px;height:72px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.image-thumbs .thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;padding:0;line-height:1;border-radius:999px;border:none;background:#0c0f16b8;color:#fff;cursor:pointer}.tag-picker{display:flex;flex-direction:column;gap:.3rem;flex:1 1 260px;font-size:.9rem}.tag-bubbles{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.tag-bubbles .bubble{padding:.3rem .7rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);font-size:.82rem;box-shadow:none;cursor:pointer}.tag-bubbles .bubble:hover{background:var(--surface-3)}.tag-bubbles .bubble.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.tag-add{flex:1 1 120px;min-width:110px;padding:.3rem .6rem;font:inherit;font-size:.82rem;background:transparent;border:1px dashed var(--border-strong);border-radius:999px}.tabs{display:flex;gap:.3rem;padding:.3rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.tabs button{flex:1;padding:.5rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted);box-shadow:none;font-weight:550}.tabs button:hover:not(.active){background:var(--surface-3);color:var(--text-2)}.tabs button.active{background:var(--accent);background-image:var(--accent-grad);color:#fff;border-color:transparent;box-shadow:var(--shadow-sm)}.truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-suggestions{display:flex;flex-direction:column;gap:.4rem;margin:.25rem 0 .2rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.78rem;color:var(--muted);cursor:pointer;box-shadow:none;font-weight:550}.chip:hover:not(.chip-active){border-color:var(--accent);color:var(--accent);background:var(--accent-soft);filter:none}.chip-active{background:var(--accent);background-image:var(--accent-grad);border-color:transparent;color:#fff}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.theme-toggle{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:var(--radius-full);background:none;border:none;color:var(--text-2);box-shadow:none;flex:0 0 auto;transition:background-color var(--transition),color var(--transition)}.theme-toggle:hover:not(:disabled){background:var(--surface-2);color:var(--text);filter:none;box-shadow:none}.theme-toggle svg{width:19px;height:19px}.home{max-width:1100px}.home-greeting{margin-bottom:1.25rem}.home-greeting p{margin:.15rem 0 0}.home-stat{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;margin-bottom:1.75rem}.home-stat-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);flex:0 0 auto}.home-stat-icon svg{width:28px;height:28px}.home-stat-value{font-size:1.9rem;font-weight:700;line-height:1.1;letter-spacing:-.02em}.home-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .9rem}.home-section-head h2{margin:0}.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.bottom-nav a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem 0;color:var(--muted);font-size:.72rem;font-weight:550;border-radius:var(--radius-sm);transition:color var(--transition)}.bottom-nav a:before{content:"";position:absolute;top:.3rem;left:50%;transform:translate(-50%);width:42px;height:26px;border-radius:999px;background:transparent;transition:background-color var(--transition)}.bottom-nav a.active:before{background:var(--accent-soft)}.bottom-nav a svg{position:relative;width:22px;height:22px}.bottom-nav a span{line-height:1}.bottom-nav a.active{color:var(--accent)}.fab{display:none;position:fixed;right:1.1rem;bottom:calc(4.7rem + env(safe-area-inset-bottom));z-index:31;width:56px;height:56px;padding:0;place-items:center;border-radius:18px;background:var(--accent);background-image:var(--accent-grad);color:#fff;box-shadow:var(--shadow-lg)}.fab svg{width:26px;height:26px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .15s ease}.sheet{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:.5rem .75rem calc(1rem + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:sheet-rise .24s cubic-bezier(.2,.8,.2,1)}.sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--border-strong);margin:.5rem auto .75rem}.sheet-item{display:flex;align-items:center;gap:.9rem;width:100%;padding:.8rem .75rem;background:none;border:none;border-radius:var(--radius);color:var(--text);text-align:left;box-shadow:none;transition:background-color var(--transition)}.sheet-item:hover:not(:disabled){background:var(--surface-2);filter:none;box-shadow:none}.sheet-item-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.sheet-item-icon svg{width:22px;height:22px}.sheet-item-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.sheet-item-title{font-weight:600}.sheet-item-sub{font-size:.8rem;color:var(--muted)}.sheet-url-form{display:flex;gap:.5rem;padding:.25rem .75rem .5rem}.sheet-url-form input{flex:1}.sheet-error{padding:0 .75rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:768px){.topbar-nav{display:none}.bottom-nav{display:flex}.fab{display:grid}.content{padding-bottom:5.5rem}}@media(max-width:860px){.topbar{gap:.6rem;padding:.55rem .9rem}.brand-name{display:none}.topbar-nav a{padding:.45rem .6rem}.content{padding:1.5rem 1.25rem}.detail-grid{grid-template-columns:1fr}}@media(max-width:560px){.topbar-nav a span{display:none}.topbar-nav a{padding:.45rem .5rem}}.user-menu{max-width:calc(100vw - 1.5rem)}.engine-picker{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.engine-picker label,.engine-active{display:flex;flex-direction:column;gap:.3rem}.engine-active .engine-name{font-weight:600;padding:.4rem 0}:root[data-theme=light] .model-viewer{background:radial-gradient(circle at 50% 40%,#fff,#e7ebf3 75%)}:root[data-theme=light] .model-viewer-toolbar{background:#ffffffc7;border-color:var(--border)}:root[data-theme=light] .model-viewer-toolbar button{color:var(--text-2)}:root[data-theme=light] .model-viewer-toolbar button:hover{background:#0000000f}:root[data-theme=light] .model-viewer-hint{background:#ffffffd1;color:var(--muted);border-color:var(--border)}.detail-stack{display:flex;flex-direction:column;gap:1.1rem;max-width:880px;margin-top:1rem}.detail-stack>.card,.detail-stack>.estimate-card{margin:0}.detail-title h1{margin:0}.detail-by{margin:.15rem 0 0}.detail-preview{aspect-ratio:4 / 3}.detail-section h2{margin:0 0 .9rem;font-size:1.05rem}.detail-tile{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem}.detail-tile-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:var(--radius);background:var(--surface-2);color:var(--muted);transition:background-color var(--transition),color var(--transition)}.detail-tile-icon.is-on{background:var(--success-soft);color:var(--success)}.detail-tile-icon svg{width:22px;height:22px}.detail-tile-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.detail-tile-title{font-weight:600}.detail-tile .toggle{margin-left:auto}.detail-facts{display:grid;grid-template-columns:120px 1fr;gap:.6rem 1rem;margin:0}.detail-facts dt{color:var(--muted)}.detail-facts dd{margin:0;word-break:break-word}
