:root{--surface-0:#f4f4f2;--surface-1:#fcfcfb;--border:#e2e1dc;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#6f6e69;--accent:#2a78d6;--accent-track:#e3edf9;--critical:#c23b3a;--good:#1a7f4b;color-scheme:light}@media (prefers-color-scheme:dark){:root{--surface-0:#121211;--surface-1:#1a1a19;--border:#2e2e2b;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#9a998f;--accent:#3987e5;--accent-track:#1f2d40;--critical:#e66767;--good:#4cc38a;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--surface-0);color:var(--text-primary);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-size:.92em;background:var(--accent-track);padding:1px 4px;border-radius:4px}h1,h2{margin:0 0 12px}h2{font-size:15px;font-weight:600}.card h2:not(:first-child){margin-top:20px}.nav{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--surface-1);border-bottom:1px solid var(--border)}.nav .brand{font-weight:700;letter-spacing:.02em}.nav nav{display:flex;flex-wrap:wrap;gap:4px 16px;flex:1 1}.nav nav a{white-space:nowrap}@media (max-width:520px){.nav{flex-wrap:wrap;gap:8px 16px;padding:12px 16px}.nav nav{order:3;flex-basis:100%}}.nav nav a{color:var(--text-secondary)}.nav nav a.active{color:var(--text-primary);font-weight:600}.sync-badge{display:inline-flex;align-items:center;gap:6px;font-size:.85em;color:var(--text-secondary);white-space:nowrap}.sync-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--good)}.sync-badge.warn .dot{background:var(--accent)}.sync-badge.bad{color:var(--critical)}.sync-badge.bad .dot{background:var(--critical)}.budget{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.budget-chip{display:flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-0);font-size:12.5px;line-height:1.25}.budget-text{display:grid}.budget-label{color:var(--text-secondary)}.budget-chip strong{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.budget-chip strong.muted{font-weight:400}.budget-chip strong.error{color:var(--critical)}.budget-sub{color:var(--text-muted);font-size:11px;white-space:nowrap}.budget-refresh{width:24px;height:24px;border:0;border-radius:50%;background:none;color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:0}.budget-refresh:hover:not(:disabled){background:var(--accent-track);color:var(--text-primary)}.budget-refresh:disabled{cursor:progress}.budget-refresh .spin{display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:900px){.nav{flex-wrap:wrap}.budget{order:4;flex-basis:100%;justify-content:flex-start}}button.link{background:none;border:0;color:var(--text-secondary);cursor:pointer;font:inherit;padding:0}.page{max-width:1200px;margin:0 auto;padding:24px 16px 48px;display:grid;grid-gap:16px;gap:16px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:16px 20px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:baseline}.grid.two{grid-gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}.grid.two,.tiles{display:grid;gap:16px}.tiles{grid-gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:14px 18px;display:grid;grid-gap:2px;gap:2px}.tile-link,.tile-link:hover{color:inherit;text-decoration:none}.tile-link:hover{border-color:var(--accent)}.tile-label{color:var(--text-secondary);font-size:13px}.tile strong{font-size:26px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.small{font-size:12.5px}.error{color:var(--critical)}.good{color:var(--good)}.notice p{margin:0}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--text-secondary);font-weight:500;font-size:12.5px;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.scroll{overflow-x:auto}.score{white-space:nowrap}.bar-cell{width:40%}.meter{display:inline-block;width:80px;height:8px;background:var(--accent-track);border-radius:4px;vertical-align:middle;overflow:hidden}.bar-cell .meter{width:100%}.meter>span{display:block;height:100%;background:var(--accent);border-radius:4px}.chart{margin:0}.chart svg{width:100%;height:auto;display:block}.chart .axis{stroke:var(--border);stroke-width:1}.chart .fill{fill:var(--accent)}.chart .hit{fill:transparent}.chart .bar:hover .fill{opacity:.75}.chart .tick{fill:var(--text-muted);font-size:11px}.sources{margin:0 0 8px;padding-left:18px;overflow-wrap:anywhere}.sources .status-ok strong{color:var(--good)}.sources .status-error strong{color:var(--critical)}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px}.login{width:100%;max-width:340px;display:grid;grid-gap:10px;gap:10px}.login input{border:1px solid var(--border);border-radius:6px;background:var(--surface-0);color:var(--text-primary)}.login button,.login input{padding:9px 10px;font:inherit}.login button{border:0;border-radius:6px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.login button:disabled{opacity:.6}.login-google{display:block;padding:9px 10px;border-radius:6px;background:var(--accent);color:#fff;font-weight:600;text-align:center;text-decoration:none}.login-google:hover{opacity:.9}.login-note{margin:0;color:var(--text-secondary);font-size:12px;text-align:center}.button{padding:7px 12px;border:0;border-radius:6px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.button:disabled{opacity:.6}.button.secondary{background:var(--accent-track);color:var(--text-primary)}.button.danger{background:transparent;color:var(--critical);border:1px solid var(--border)}input,select,textarea{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-0);color:var(--text-primary);font:inherit}textarea{width:100%;resize:vertical}.queue-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:8px 0 12px}.queue-form label{display:grid;grid-gap:4px;gap:4px;font-size:12.5px;color:var(--text-secondary)}.queue-form .grow{flex:1 1;min-width:200px}.queue-form p{flex-basis:100%;margin:0}.inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.design-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}.design-grid.small-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:12px}.design-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;display:grid;align-content:start}.design-image{display:block;background:var(--surface-0)}.design-image img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain}.design-body{padding:10px 12px;display:grid;grid-gap:6px;gap:6px;align-content:start}.design-body p{margin:0}.decide{display:grid;grid-gap:6px;gap:6px}.buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}details summary{cursor:pointer}h2.inline{display:inline}.production-list,.production-row{display:grid;grid-gap:14px;gap:14px}.production-row{grid-template-columns:140px 1fr;border-top:1px solid var(--border);padding-top:14px}.production-row:first-child{border-top:0;padding-top:0}.production-row .design-body{padding:0}.design-image.thumb{border-radius:6px;overflow:hidden}@media (max-width:520px){.production-row{grid-template-columns:1fr}.design-image.thumb{max-width:220px}}.opportunities{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));margin-top:8px}.opportunity{border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:grid;grid-gap:4px;gap:4px;align-content:start}.opportunity strong{font-size:18px}.filters{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px}.filters a{color:var(--text-secondary)}.filters a.active{color:var(--text-primary);font-weight:600}.board{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));align-items:start}.board-column{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:12px;display:grid;grid-gap:10px;gap:10px;min-width:0}.board-column h2{margin:0 0 2px}.board-column.status-blocked{border-top:3px solid var(--critical)}.board-column.status-active{border-top:3px solid var(--accent)}.board-column.status-done{border-top:3px solid var(--good)}.topic-card{display:grid;grid-gap:6px;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-0);color:inherit}.topic-card:hover{border-color:var(--accent);text-decoration:none}.topic-strip{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}.chips{margin:0}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--accent-track);color:var(--text-secondary);white-space:nowrap}.chip .meter{width:48px}.chip.priority-critical{background:var(--critical);color:#fff}.chip.priority-high{color:var(--critical)}.chip.status-active{color:var(--accent);font-weight:600}.chip.status-blocked{color:var(--critical);font-weight:600}.chip.status-done{color:var(--good);font-weight:600}.chip.late{color:var(--critical);font-weight:600}.topic-head h1{font-size:22px;margin:0 0 6px}.topic-head p{margin:0 0 8px}.topic-layout{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) 320px;align-items:start}.topic-main,.topic-side{display:grid;grid-gap:16px;gap:16px;min-width:0}@media (max-width:860px){.topic-layout{grid-template-columns:1fr}}.props{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.props label{display:grid;grid-gap:4px;gap:4px;font-size:12.5px;color:var(--text-secondary)}.props label.row{display:flex;align-items:center;gap:6px}.props input:not([type=checkbox]),.props select{width:100%}.props .button{justify-self:start}.links,.task-list,.updates{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-gap:6px;gap:6px}.links li,.task-list li{display:flex;align-items:center;gap:8px}.task-list li.done .grow{color:var(--text-muted);text-decoration:line-through}.links form,.task-list form{margin:0}.grow{flex:1 1;min-width:0;overflow-wrap:anywhere}button.check{background:none;border:0;padding:0;font-size:18px;line-height:1;cursor:pointer;color:var(--text-secondary)}.updates li{border-left:2px solid var(--border);padding:2px 0 2px 10px}.updates p{margin:2px 0;white-space:pre-wrap}table.compact td,table.compact th{padding-top:4px;padding-bottom:4px}.group-row th{padding-top:12px;color:var(--text-primary);font-weight:600;font-size:13px;border-bottom:1px solid var(--border)}.competitor{display:flex;align-items:center;gap:8px;min-width:220px;white-space:normal}.competitor-thumb{flex-shrink:0}.competitor-thumb img,.competitor-thumb span{height:40px;border-radius:6px;border:1px solid var(--border)}.competitor-thumb img,.competitor-thumb span,.link-thumb img{display:block;width:40px;object-fit:cover;background:var(--surface-0)}.link-thumb img{height:60px;border-radius:4px}.markdown{overflow-wrap:anywhere}.markdown h3,.markdown h4,.markdown h5{margin:14px 0 6px}.markdown h3{font-size:17px}.markdown h4{font-size:15px}.markdown h5{font-size:14px}.markdown p{margin:0 0 8px}.markdown ol,.markdown ul{margin:0 0 8px;padding-left:22px}.markdown ul.checklist{list-style:none;padding-left:4px}.markdown li.checked{color:var(--text-muted);text-decoration:line-through}.markdown .box{margin-right:6px}.markdown blockquote{margin:0 0 8px;padding:4px 12px;border-left:3px solid var(--border);color:var(--text-secondary)}.markdown pre{background:var(--surface-0);border:1px solid var(--border);border-radius:6px;padding:8px 10px;overflow-x:auto}.markdown pre code{background:none;padding:0}.markdown hr{border:0;border-top:1px solid var(--border);margin:12px 0}.stock-alerts{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.chip.level-critical,.chip.level-out{background:var(--critical);color:#fff;font-weight:600}.chip.level-warn{color:var(--critical);font-weight:600}.chip.level-ok{color:var(--good)}.stock-gaps{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start}.stock-gaps h3{margin:0 0 4px}td details .props{min-width:200px}.grid.three{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.plain-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px;overflow-wrap:anywhere}.matrix td,.matrix th{white-space:nowrap}.matrix-product{display:flex;align-items:center;gap:10px;white-space:normal;min-width:200px}.matrix-product .thumb-empty,.matrix-product img{width:36px;height:36px;object-fit:cover;border-radius:4px;background:var(--surface-0);flex:none}.matrix-cell .state{font-weight:600}.matrix-cell.state-active .state,.matrix-cell.state-active .state a{color:var(--good)}.matrix-cell.state-missing .state{color:var(--critical)}.matrix-cell.state-inactive .state,.matrix-cell.state-inactive .state a{color:var(--critical);font-weight:500}.matrix-cell.state-unverified .state,.matrix-cell.state-unverified .state a{color:var(--text-secondary);font-weight:500}.quick-note{margin:4px 0 10px}.quick-note input[name=text]{min-width:220px}.quick-note select{max-width:220px}.note-list{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-gap:0;gap:0}.note-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-top:1px solid var(--border)}.note-row:first-child{border-top:0}.note-row form{margin:0}.note-row.done .note-text{color:var(--text-muted);text-decoration:line-through}.note-body{display:grid;grid-gap:4px;gap:4px}.note-text{overflow-wrap:anywhere}.note-link{gap:6px}.note-link select{max-width:220px;font-size:12.5px;padding:3px 6px}.button.small{padding:3px 8px;font-size:12.5px}.season-list{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));align-items:start}.season{display:grid;grid-gap:10px;gap:10px}.season h2,.season p{margin:0}.season.urgency-late,.season.urgency-now{border-top:3px solid var(--critical)}.season.urgency-plan{border-top:3px solid var(--accent)}.season-dates{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.season-dates>div{display:grid;grid-gap:2px;gap:2px;align-content:start}.season-dates strong{font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip.urgency-late,.chip.urgency-now{background:var(--critical);color:#fff;font-weight:600}.chip.urgency-plan{color:var(--accent);font-weight:600}.season-strip{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));margin-top:8px}.card-head .links{display:flex;gap:16px;flex-wrap:wrap}.variation summary{color:var(--accent)}.variation form{margin-top:6px}.lineage{color:var(--text-secondary)}.design-image.placeholder{display:grid;place-items:center;aspect-ratio:2/3}.badge{justify-self:start;font-size:11.5px;padding:1px 8px;border-radius:10px;background:var(--accent-track);color:var(--text-secondary)}.badge-approved{color:var(--good)}.badge-failed,.badge-rejected{color:var(--critical)}.family .status-rejected img{opacity:.7}.dev-shell{display:flex;min-height:100vh}.dev-shell-main{flex:1 1;min-width:0}.dev-sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:flex-start;width:290px;flex-shrink:0;height:100vh;overflow-y:auto;border-right:1px solid var(--border);background:var(--surface-1);padding:12px 14px 24px;display:grid;grid-gap:16px;gap:16px;align-content:start;font-size:12.5px}.dev-sidebar.closed{width:36px;padding:10px 4px;justify-items:center;gap:8px}.dev-sidebar h3{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.dev-sidebar section{display:grid;grid-gap:6px;gap:6px}.dev-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.dev-head strong{margin-right:auto}.dev-link-mode{border:0;background:none;padding:0;color:var(--text-muted);font:inherit;font-size:11px;cursor:pointer}.dev-link-mode:hover{color:var(--accent)}.dev-toggle{width:24px;height:24px;border:1px solid var(--border);border-radius:6px;background:var(--surface-0);cursor:pointer;padding:0;line-height:1}.dev-pill,.dev-toggle{color:var(--text-secondary)}.dev-pill{min-width:22px;padding:1px 5px;border-radius:999px;text-align:center;background:var(--accent-track);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dev-pill.good{background:none;color:var(--good)}.dev-pill.warn{background:var(--accent);color:#fff}.dev-facts{display:grid;grid-template-columns:auto 1fr;grid-gap:3px 10px;gap:3px 10px;margin:0}.dev-facts dt{color:var(--text-muted)}.dev-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.dev-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.dev-list li.pending .dev-title{font-weight:600}.dev-meta,.dev-title{overflow-wrap:anywhere}.dev-meta{color:var(--text-muted);font-size:11px}.dev-mark{display:inline-block;width:14px}.dev-good,.dev-mark.good{color:var(--good)}.dev-mark.warn,.dev-warn{color:var(--accent)}.dev-bad,.dev-error{color:var(--critical)}.dev-muted{margin:0}.dev-muted,.dev-tag{color:var(--text-muted)}.dev-tag{margin-left:6px;padding:0 5px;border:1px solid var(--border);border-radius:4px;font-size:10.5px}@media (max-width:900px){.dev-sidebar:not(.closed){position:fixed;left:0;z-index:20;box-shadow:0 0 24px rgba(0,0,0,.2)}}.dev-error-text{margin:0;padding:6px 8px;border-radius:6px;background:var(--surface-0);color:var(--critical);font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:120px;overflow-y:auto}.modal{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface-1);color:var(--text-primary)}.modal::-webkit-backdrop{background:rgba(0,0,0,.45)}.modal::backdrop{background:rgba(0,0,0,.45)}.modal-body{padding:16px 20px;display:grid;grid-gap:12px;gap:12px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.modal-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:200px 1fr;align-items:start}.modal-source{width:100%;aspect-ratio:2/3;object-fit:contain;background:var(--surface-0);border-radius:8px}.modal-fields{display:grid;grid-gap:10px;gap:10px;min-width:0}.modal-fields p{margin:0}.modal-fields label{display:grid;grid-gap:4px;gap:4px;color:var(--text-secondary)}.variation-rows{display:grid;grid-gap:6px;gap:6px}.variation-row{display:grid;grid-template-columns:18px 1fr auto auto;grid-gap:8px;gap:8px;align-items:center}.variation-row input{min-width:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip-button{font:inherit;font-size:12px;padding:3px 9px;border-radius:12px;border:1px solid var(--border);background:var(--surface-0);color:var(--text-secondary);cursor:pointer;text-align:left}.chip-button:hover{border-color:var(--accent);color:var(--text-primary)}.modal{overflow:auto;box-sizing:border-box}@media (max-width:640px){.modal-body{padding:14px}.modal-grid{grid-template-columns:1fr}.modal-source{max-width:140px}.variation-row{grid-template-columns:1fr auto auto;gap:6px}.variation-row>.num{display:none}}.review-groups{display:grid;grid-gap:14px;gap:14px}.review-group{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--surface-0)}.review-group-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:10px}.review-strip{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.rtile{margin:0;display:grid;grid-gap:6px;gap:6px;align-content:start;min-width:0}.rtile img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;background:var(--surface-1);border:1px solid var(--border);border-radius:8px}.rtile-image{padding:0;border:0;background:none;cursor:zoom-in;border-radius:8px}.rtile-image:focus-visible img,.rtile-image:hover img{border-color:var(--accent)}.rtile figcaption{line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}.rtile-root img{border-color:var(--text-muted)}.rtile-source{opacity:.85}.rtile-source img{border-style:dashed}.rtile-busy{opacity:.35;pointer-events:none}.rtile-actions{display:flex;gap:4px;flex-wrap:wrap}.icon-button{font:inherit;font-size:12.5px;padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;white-space:nowrap}.icon-button:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.icon-button:disabled{opacity:.4;cursor:default}.icon-button.good-button{color:var(--good);font-weight:600}button.link.danger-link{color:var(--critical)}.design-body>button.link,.design-body>form>button.link{justify-self:start;text-align:left}.viewer{width:min(1100px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface-1);color:var(--text-primary);overflow:auto}.viewer::-webkit-backdrop{background:rgba(0,0,0,.6)}.viewer::backdrop{background:rgba(0,0,0,.6)}.viewer-body{padding:14px 18px;display:grid;grid-gap:12px;gap:12px}.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.viewer-images{display:grid;grid-gap:12px;gap:12px;justify-items:center}.viewer-images.two{grid-template-columns:1fr 1fr}.viewer-images figure{margin:0;display:grid;grid-gap:6px;gap:6px;justify-items:center;min-width:0}.viewer-images img{max-width:100%;max-height:calc(100vh - 230px);object-fit:contain;background:var(--surface-0);border-radius:8px}.viewer-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.viewer-actions .grow{flex:1 1;min-width:160px}.check{display:inline-flex;gap:6px;align-items:center}@media (max-width:640px){.review-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-images.two{grid-template-columns:1fr 1fr;gap:6px}.rtile-actions .icon-button span{display:none}}.guide-section h3{margin:4px 0 6px;font-size:15px}.guide-list{margin:0;display:grid;grid-gap:8px;gap:8px}.guide-list>div{display:grid;grid-template-columns:180px 1fr;grid-gap:12px;gap:12px}.guide-list dt{font-weight:600}.guide-list dd{margin:0;color:var(--text-secondary)}.guide-read{display:block;color:var(--text-primary);margin-top:2px}@media (max-width:640px){.guide-list>div{grid-template-columns:1fr;gap:2px}}.page-with-side{max-width:1440px;grid-template-columns:270px minmax(0,1fr);align-items:start}.page-main{display:grid;grid-gap:16px;gap:16px;min-width:0}.queue-side{position:-webkit-sticky;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto;display:grid;grid-gap:8px;gap:8px;align-content:start}.queue-side h3{margin:6px 0 0;font-size:11.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.queue-side ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.queue-item{display:grid;grid-template-columns:40px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start;padding:6px;border-radius:8px;border:1px solid var(--border)}.queue-item img,.queue-thumb{width:40px;height:60px;border-radius:6px;object-fit:cover;background:var(--accent-track)}.queue-thumb{display:grid;place-items:center;font-weight:600;color:var(--text-secondary)}.queue-title{display:flex;gap:4px;align-items:baseline;flex-wrap:wrap}.queue-text{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.queue-generating{border-color:var(--accent,#2a6fdb)}.queue-generating .queue-thumb,.queue-generating img{animation:queue-pulse 1.4s ease-in-out infinite}.queue-failed{border-color:var(--critical)}.queue-error span{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}@keyframes queue-pulse{50%{opacity:.45}}@media (max-width:900px){.page-with-side{grid-template-columns:minmax(0,1fr)}.queue-side{position:static;max-height:320px}}.sync-status{display:grid;grid-gap:6px;gap:6px;justify-items:start}.dev-button{padding:3px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-0);color:var(--text-primary);cursor:pointer;font:inherit}.dev-button:disabled{cursor:progress;color:var(--text-muted)}.dev-warn-box{margin:0;padding:6px 8px;border-radius:6px;background:var(--accent-track);font-size:11.5px}.dev-thread{margin-left:4px;font-size:11px;white-space:nowrap}.dev-conflict{color:var(--critical);font-size:11px;overflow-wrap:anywhere}.dev-toasts{position:fixed;right:16px;bottom:16px;z-index:30;display:grid;grid-gap:8px;gap:8px;width:min(360px,calc(100vw - 32px))}.dev-toast{padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--good);border-radius:8px;background:var(--surface-1);box-shadow:0 4px 18px rgba(0,0,0,.15);display:grid;grid-gap:6px;gap:6px;font-size:13px}.dev-toast-actions{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:12px}.dev-toast-actions .dev-thread{margin-left:0;font-size:12px}.example{background:var(--surface-0);border:1px solid var(--border);border-radius:6px;padding:8px 10px;overflow-x:auto;-moz-tab-size:18;tab-size:18}.dev-ask{display:grid;grid-gap:6px;gap:6px}.dev-ask textarea{width:100%;resize:vertical;font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-0);color:var(--text-primary)}.dev-ask-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dev-strip{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;padding:6px 16px;border-bottom:1px solid var(--border);background:var(--accent-track);font-size:12.5px;color:var(--text-secondary)}.dev-strip-label{font-weight:600;color:var(--text-primary)}.dev-strip-muted{color:var(--text-muted)}.matrix-cell .copy-link{margin-left:8px;padding:1px 8px;border:1px solid var(--accent);border-radius:999px}.matrix-cell .copy-link:hover{background:var(--accent-track);text-decoration:none}.dev-page-link{margin-left:4px;font-size:11px;white-space:nowrap}.dev-toast-actions .dev-page-link{margin-left:0;font-size:12px}.review-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.rtile-frame{position:relative}.rtile-frame .rtile-image{width:100%}.star-button{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--surface-0);color:var(--text-secondary);font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center}.star-button:hover,.star-button[aria-pressed=true]{color:#c98a00;border-color:#c98a00}.star-button[aria-pressed=true]{background:rgba(201,138,0,.12)}.rtile-star img{border-color:#c98a00;box-shadow:0 0 0 2px #f3d27a}.star-inline{font:inherit;font-size:12.5px;border:1px solid var(--border);background:var(--surface-0);color:var(--text-secondary);border-radius:12px;padding:2px 9px;cursor:pointer}.star-inline[aria-pressed=true]{color:#c98a00;border-color:#c98a00}.reason-menu{position:absolute;inset:0;display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:8px;background:var(--surface-0);border:1px solid var(--critical);box-shadow:0 4px 18px rgba(0,0,0,.15);overflow-y:auto}.reason-menu .chip-button{width:100%}.viewer-reasons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.viewer-reasons kbd{font:inherit;font-size:11px;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 4px}.side-block{display:grid;grid-gap:6px;gap:6px;border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.side-table{width:100%;font-size:12.5px}.side-table td,.side-table th{padding:2px 4px}.side-table .num{text-align:right}.side-list{font-size:12.5px}.side-list li{display:flex;justify-content:space-between}.tree-card{overflow-x:auto}.tree,.tree ul{list-style:none;margin:0;padding:0}.tree ul{margin-left:28px;padding-left:18px;border-left:2px solid var(--border);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:0 14px;gap:0 14px}.tree ul>li:has(>ul){grid-column:1/-1}.tree li{padding-top:12px;position:relative}.tree-edge{color:var(--accent);margin-bottom:4px;max-width:520px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em}.tree-node{display:grid;grid-template-columns:90px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface-0);max-width:520px}.tree-node img,.tree-placeholder{display:block;width:90px;aspect-ratio:2/3;object-fit:contain;background:var(--surface-1);border-radius:6px}.tree-placeholder{display:grid;place-items:center}.tree-meta{display:grid;grid-gap:4px;gap:4px;align-content:start;justify-items:start}.tree-node.status-approved{border-color:var(--good)}.tree-node.status-rejected{opacity:.7}.tree-star{box-shadow:0 0 0 2px #f3d27a}@media (max-width:600px){.tree ul{margin-left:8px;padding-left:10px;grid-template-columns:minmax(0,1fr)}.tree-node{grid-template-columns:80px minmax(0,1fr)}.tree-node img,.tree-placeholder{width:80px}}.quality-score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quality-good{color:var(--good)}.quality-mid{color:var(--text-secondary)}.quality-weak{color:var(--critical)}.quality-fixes{white-space:normal!important;min-width:280px;max-width:520px}.quality-checks li{margin:4px 0}.quality-checks .check-bad strong{color:var(--critical)}.quality-checks .check-ok strong{color:var(--good)}.quality-checks .check-unknown{opacity:.7}.spark{display:inline-flex;align-items:flex-end;gap:2px;height:22px;width:96px}.spark span{flex:1 1;background:var(--accent);border-radius:1px;min-width:3px}.chip.tier-go{background:var(--accent);color:#fff;font-weight:600}.chip.tier-watch{color:var(--accent);font-weight:600}.chip.tier-open{color:var(--good);font-weight:600}.team-table tr:not(.member-detail) td{border-bottom:0;padding-bottom:2px}.team-table tr.member-detail td{padding-top:0}.team-table .chips{margin-top:4px}.member-notes{margin:0 0 4px;white-space:pre-wrap}.access-boxes{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:6px}.access-boxes legend{font-size:12.5px;color:var(--text-secondary);padding:0 4px}.queue-form .inline-check{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary)}.manual-round input{width:7em;text-align:right}