:root{--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--color-bg:#f6f7f9;--color-surface:#fff;--color-surface-soft:#f3f4f7;--color-surface-sunk:#ecedf1;--color-control:#fff;--color-border:#e4e6eb;--color-border-strong:#cfd2da;--color-border-soft:#eef0f4;--color-text:#232428;--color-text-strong:#424348;--color-text-label:#55565c;--color-text-muted:#696a71;--color-text-subtle:#8a8b93;--color-accent:#ff4a0e;--color-accent-strong:#c43504;--color-accent-soft:#ffede5;--color-accent-hover:#fd5d04;--color-danger:#b91c1c;--color-danger-strong:#991b1b;--color-danger-soft:#fef2f2;--color-danger-border:#fecaca;--color-success:#047857;--color-success-soft:#ecfdf5;--color-success-border:#a7f3d0;--color-warn:#92400e;--color-warn-soft:#fef3c7;--color-warn-border:#fde68a;--color-info-soft:#e0f2fe;--color-info:#075985;--color-info-border:#7dd3fc;--color-on-accent:#1d1d20;--color-on-danger:#fff;--color-sheet-guide:#64748b;--color-sheet-alert:#b91c1c;--color-sheet-ink:#fff;--color-sheet-ink-dark:#1d1d20;--color-sheet-shade:#0000008c;--color-sheet-checker:#e6e7eb;--color-sheet-checker-dark:#2c2d32;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-card:0 1px 2px #0f172a0a;--shadow-popup:0 8px 24px #0f172a26;--focus-ring:2px solid var(--color-accent-strong);--focus-ring-offset:2px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-bg:#151515;--color-surface:#1d1d20;--color-surface-soft:#25262a;--color-surface-sunk:#1a1c21;--color-control:#25262a;--color-border:#565656;--color-border-strong:#7d7c74;--color-border-soft:#2e2e2e;--color-text:#f3f3f1;--color-text-strong:#e4e4e2;--color-text-label:#b3b9bf;--color-text-muted:#8f8e85;--color-text-subtle:#6b707a;--color-accent:#ff4a0e;--color-accent-strong:#fd5d04;--color-accent-soft:#2b1c00;--color-accent-hover:#fd5d04;--color-danger:#d77570;--color-danger-strong:#d77570;--color-danger-soft:#4a1411;--color-danger-border:#7f2a2a;--color-success:#38d283;--color-success-soft:#314e16;--color-success-border:#1f6a4e;--color-warn:#e4b669;--color-warn-soft:#4a3100;--color-warn-border:#6c5518;--color-info-soft:#16293b;--color-info:#7dd3fc;--color-info-border:#24557a;--color-on-accent:#1d1d20;--color-on-danger:#fff;--shadow-card:0 1px 2px #00000080;--shadow-popup:0 8px 24px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .ui-btn--danger{background:#c8433c;border-color:#c8433c}:root[data-theme=dark] .ui-btn--danger:hover:not(:disabled){background:#b33832;border-color:#b33832}*{box-sizing:border-box}input[type=checkbox]{accent-color:#1a9957}.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.confirm-category-btn{border:1px solid var(--color-success);background:var(--color-success-soft);color:var(--color-success);cursor:pointer;font:inherit;border-radius:8px;padding:5px 12px;font-size:13px}:root[data-theme=dark] .confirm-category-btn{background:var(--color-success-soft);border-color:var(--color-success-soft);color:var(--color-text)}html,body{font-family:var(--font-ui);background:var(--color-bg);color:var(--color-text);margin:0;padding:0}main{max-width:1200px;margin:0 auto;padding:32px 20px 64px}h1{margin:0 0 8px;font-size:28px}.subtitle{color:var(--color-text-subtle);margin:0 0 24px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:20px;padding:20px 24px 24px}.card h2{margin:0 0 16px;font-size:18px}.upload-zone{border:2px dashed var(--color-border-strong);text-align:center;background:var(--color-surface-soft);cursor:pointer;border-radius:10px;padding:32px;transition:border-color .15s,background .15s}.upload-zone:hover,.upload-zone.dragover{border-color:var(--color-accent);background:var(--color-accent-soft)}.upload-zone input{display:none}.upload-pick-btn{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-strong);font:inherit;border-radius:12px;padding:10px 16px;font-weight:600}.drop-target.dragover{outline:2px dashed var(--color-accent);outline-offset:2px;background:var(--color-accent-soft);border-radius:8px}.sheet-list{gap:8px;display:grid}.sheet-item{border-radius:var(--radius-md);background:var(--color-surface-soft);align-items:center;gap:10px;padding:8px 10px;display:flex}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:420px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}td{border-bottom:1px solid var(--color-border-soft);border-right:1px solid var(--color-border-soft);white-space:nowrap;text-overflow:ellipsis;max-width:220px;padding:6px 8px;overflow:hidden}tr:focus-visible,tr.row-highlight{outline:var(--focus-ring);outline-offset:-4px}tr.row-highlight{background:var(--color-warn-soft)}tr.category-row td{background:var(--color-warn-soft);font-weight:600}:root[data-theme=dark] tr.category-row td{color:#1d1d20;background:#c8a600}:root[data-theme=dark] tr.category-row:is(:focus-visible,.row-highlight){outline-color:#1d1d20}tr.header-row td{background:var(--color-info-soft);font-weight:600}tr[data-removed-row] td,:root[data-theme=dark] tr.category-row[data-removed-row] td{background:var(--color-danger-soft);color:var(--color-text-label)}:root[data-theme=dark] tr.category-row[data-removed-row]:is(:focus-visible,.row-highlight){outline-color:var(--color-accent-strong)}tr[data-removed-row] td>:is(button,span,input):not([data-row-buttons]){text-decoration:line-through}tr[data-removed-row]:is(.assign-target,.assign-remove):hover td{color:var(--color-text)}:root tr td[data-edited],:root[data-theme=dark] tr.category-row td[data-edited]{background:var(--color-success-soft);color:var(--color-text)}.cell-editor{border:1px solid var(--color-accent-soft);border-radius:var(--radius-sm);background:var(--color-control);width:100%;color:var(--color-text);font:inherit;resize:vertical;padding:4px}.category-name-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-control);color:var(--color-text);font:inherit;padding:1px 5px;font-size:12px}[data-inserted-row]{color:inherit;white-space:nowrap;font-size:11px;font-weight:400}[data-row-buttons]{flex-wrap:wrap;row-gap:4px;max-width:calc(100% - 8px)}[data-row-buttons]>*+:is([data-remove-row],.row-actions--end){margin-left:8px}[data-row-buttons] button:disabled{opacity:.5;cursor:not-allowed}.row-actions{opacity:0;align-items:center;gap:4px;transition:opacity .1s;display:inline-flex}tr:hover .row-actions,.row-actions:focus-within{opacity:1}tr:has([data-inserted-row]) .row-actions{opacity:1}@media (hover:none),(pointer:coarse){.row-actions{opacity:1;transition:none}}@media (pointer:coarse){[data-row-buttons] button,[data-row-buttons] input{min-width:24px;min-height:24px}[data-row-buttons] :is([data-remove-structure-row],[data-remove-row],[data-restore-structure-row]){min-width:40px;min-height:40px}}tr.assign-target:hover td{background:var(--color-warn-border);cursor:pointer}tr.assign-remove:hover td{background:var(--color-danger-border);cursor:pointer}:root tr td.search-match{background:var(--color-warn-soft)}td.search-match--current{outline:var(--focus-ring);outline-offset:-4px}:root tr.category-row td.search-match{background:var(--color-warn-border)}:root[data-theme=dark] tr.category-row td.search-match{background:var(--color-warn-soft);color:var(--color-text)}.controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}label.field,.field-group{color:var(--color-text-label);flex-direction:column;gap:6px;font-size:13px;display:flex}select{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-control);color:var(--color-text);padding:8px 10px;font-size:14px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success-border);border-radius:var(--radius-pill);padding:4px 10px;font-size:12px}.tag.muted{background:var(--color-surface-sunk);color:var(--color-text-muted);border-color:var(--color-border)}.empty{color:var(--color-text-muted);font-size:14px}.hint{color:var(--color-text-muted);margin-top:8px;font-size:13px}.problem-item .hint{color:var(--color-text-label)}.footer-section{flex-direction:column;gap:12px;display:flex}.footer-field{flex-direction:column;gap:6px;display:flex}.footer-field__meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.footer-field__meta .ui-field__hint{color:var(--color-text-label)}textarea.footer-text{resize:vertical;min-height:80px;max-height:320px;padding:8px 10px;font-size:14px;line-height:1.4}.footer-count{color:var(--color-text-label);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12px}.footer-count[data-level=near]{color:var(--color-warn)}.footer-count[data-level=full]{color:var(--color-danger);font-weight:600}.footer-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.footer-group-label{color:var(--color-text-strong);font-size:13px;font-weight:500}.footer-note{color:var(--color-text-label);margin:0;font-size:12px;line-height:1.4}.footer-note[data-tone=warn]{color:var(--color-warn)}.footer-note[data-tone=error]{color:var(--color-danger)}.footer-qr-block{border-top:1px solid var(--color-border);flex-direction:column;gap:8px;padding-top:12px;display:flex}.footer-qr-block__title{color:var(--color-text-strong);margin:0;font-size:14px;font-weight:600}.footer-qr-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.footer-qr{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px}.footer-qr__body{flex-direction:column;gap:8px;display:flex}.footer-qr[data-footer-qr-draft]{border-style:dashed;border-color:var(--color-border-strong)}.footer-qr__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.footer-qr__title{color:var(--color-text-label);font-size:13px;font-weight:500}input.footer-qr__input{min-width:0;padding:8px 10px;font-size:14px}textarea.footer-qr__caption{resize:vertical;field-sizing:content;min-width:0;min-height:38px;max-height:80px;padding:8px 10px;font-size:14px;line-height:1.4}.footer-qr__controls,.footer-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.footer-plate{align-items:center;gap:6px;display:inline-flex}.footer-plate>:last-child{flex:none}[data-footer-caption-style]{border-bottom:1px dashed var(--color-border);padding-bottom:8px}.footer-check{min-height:32px;color:var(--color-text-strong);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.footer-check input{cursor:pointer;flex:none;width:16px;height:16px;margin:0}.footer-check input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.editor-notices{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.editor-notice{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 12px;font-size:13px;line-height:1.4;display:flex}.editor-notice--error{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger-strong)}.editor-notice--warn{border-color:var(--color-warn-border);background:var(--color-warn-soft);color:var(--color-warn)}.editor-notice--info{color:var(--color-text-strong)}.editor-notice__close{color:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:18px;line-height:1}.editor-notice__close:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}.editor-notice__action{color:inherit;text-underline-offset:2px;white-space:nowrap;font-weight:600;text-decoration:underline}.editor-notice__action:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}:root[data-theme=dark] .editor-notice--error{color:var(--color-text-strong)}.split-words{cursor:pointer;-webkit-user-select:none;user-select:none;margin:8px 0;line-height:1.9}.word{border-radius:var(--radius-xs);font:inherit;color:inherit;cursor:pointer;border:none;margin-right:4px;padding:2px 4px;transition:background .15s}.word--name{background:0 0}.word--desc{background:var(--color-warn-soft);color:var(--color-warn)}.word:hover{background:var(--color-surface-sunk)}.split-presets{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.preset{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-soft);color:var(--color-text-strong);cursor:pointer;padding:2px 8px;font-size:12px}.split-preview{background:var(--color-surface-soft);border-radius:var(--radius-sm);margin:8px 0;padding:8px;font-size:14px}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-regular.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/montserrat-italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-700.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/montserrat-700italic.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/montserrat-900.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:900;font-display:swap;src:url(/fonts/montserrat-900italic.woff2)format("woff2")}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-regular.woff2)format("woff2")}@font-face{font-family:Jost;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/jost-italic.woff2)format("woff2")}@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jost-700.woff2)format("woff2")}@font-face{font-family:Jost;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/jost-700italic.woff2)format("woff2")}@font-face{font-family:Jost;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/jost-900.woff2)format("woff2")}@font-face{font-family:Jost;font-style:italic;font-weight:900;font-display:swap;src:url(/fonts/jost-900italic.woff2)format("woff2")}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/oswald-regular.woff2)format("woff2")}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/oswald-700.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-regular.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/inter-italic.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/inter-700italic.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/inter-900.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:900;font-display:swap;src:url(/fonts/inter-900italic.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/garamond-regular.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/garamond-italic.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/garamond-700.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/garamond-700italic.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/garamond-800.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:italic;font-weight:800;font-display:swap;src:url(/fonts/garamond-800italic.woff2)format("woff2")}.sync-badge{color:var(--color-text-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.sync-badge__dot{background:currentColor;border-radius:50%;width:7px;height:7px}.sync-badge--saved{color:var(--color-success)}.sync-badge--failed{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:var(--radius-xs);padding:4px 8px}.structure-cols{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.structure-col{flex-direction:column;gap:8px;min-width:0;display:flex;container-type:inline-size}.structure-col--sorted{flex:2 460px}.structure-col--unsorted{flex:280px}@media (min-width:720px){.structure-col--sorted{min-width:320px}.structure-col--unsorted{min-width:260px}}.structure-handle{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-muted);font:inherit;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.structure-handle:hover{color:var(--color-text);background:var(--color-surface-soft)}.structure-handle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-color:var(--color-accent);color:var(--color-text)}.structure-handle:active,[data-structure-item][data-dragging] .structure-handle{cursor:grabbing}@media (pointer:coarse){.structure-handle{border-color:var(--color-border);background:var(--color-surface-soft);width:28px;height:28px;font-size:16px}[data-structure-item] button,[data-removed-item] button{min-width:28px;min-height:28px}[data-structure-item] .structure-move-select{min-height:28px}}[data-structure-item][data-dragging]{opacity:.45;outline:1px dashed var(--color-border-strong);outline-offset:-1px}[data-category-drop][data-drop-active],[data-structure-item][data-drop-active]{box-shadow:0 0 0 3px var(--color-accent-soft)}[data-subcategory-drop][data-drop-active]{background:var(--color-accent-soft)}[data-trash-zone][data-drop-active]{box-shadow:0 0 0 3px var(--color-danger-soft)}.structure-gap{align-items:center;height:8px;margin:0;list-style:none;display:flex}.structure-gap__line{background:0 0;border-radius:1px;width:100%;height:2px}.structure-gap[data-drop-active] .structure-gap__line{background:var(--color-accent)}@media (pointer:coarse){.structure-gap{height:12px}.structure-gap[data-drop-active] .structure-gap__line{height:3px}}.structure-ghost{z-index:1100;pointer-events:none;border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);max-width:min(260px,100vw - 32px);box-shadow:var(--shadow-popup);color:var(--color-text);white-space:nowrap;align-items:center;gap:6px;padding:6px 10px;font-size:13px;line-height:1.2;display:flex;position:fixed;transform:translate(12px,16px)}.structure-ghost[data-pointer=touch]{transform:translate(-50%,calc(-100% - 16px))}.structure-ghost__name{text-overflow:ellipsis;overflow:hidden}.structure-ghost__icon{color:var(--color-text-muted);flex:none}.structure-ghost[data-drag-target=none]{border-color:var(--color-border-strong);color:var(--color-text-label)}.structure-ghost[data-drag-target=trash]{border-color:var(--color-danger);background:var(--color-danger-soft)}.structure-ghost[data-drag-target=blocked]{border-color:var(--color-warn-border);background:var(--color-warn-soft)}body.is-structure-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.structure-hint{color:var(--color-text-muted);margin:0 0 12px;font-size:12px;line-height:1.45}.structure-live{min-height:18px;color:var(--color-text-strong);margin:0 0 12px;font-size:13px;line-height:1.4}.structure-move-select{text-overflow:ellipsis;min-width:0;max-width:120px}[data-structure-item]{flex-wrap:wrap}[data-structure-item] [data-item-name]{min-width:min(100%,100px)}[data-structure-item] [data-item-meta]{overflow-wrap:break-word;flex:none;max-width:100%}@container (max-width:480px){[data-structure-editor]:not([data-photo-mode]) [data-structure-item]{flex-wrap:wrap}[data-structure-editor]:not([data-photo-mode]) [data-structure-item]:after{content:"";flex:0 0 100%;order:1;height:0}[data-structure-editor]:not([data-photo-mode]) [data-structure-item] [data-item-meta]{flex:1 0 auto;order:2}[data-structure-editor]:not([data-photo-mode]) [data-structure-item] .structure-move-select{flex:none;order:3;max-width:120px}[data-structure-editor]:not([data-photo-mode]) [data-structure-item] :is([data-item-meta],.structure-move-select){margin-top:-8px}}@media (max-width:480px){[data-removed-item]{flex-wrap:wrap}}.photo-frame{fill:var(--color-sheet-guide);fill-opacity:.06;stroke:var(--color-sheet-guide)}.photo-frame__icon{fill:none;stroke:var(--color-sheet-guide);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.photo-frame__icon>*{vector-effect:non-scaling-stroke}.photo-cell-hint{fill:none;stroke:var(--color-sheet-guide);stroke-linecap:round}.structure-photo-cell,.structure-photo-spacer{flex:0 0 96px;width:96px}.structure-photo-cell{flex-direction:column;gap:4px;display:flex}[data-structure-item]{--photo-ai-run-h:20px}@media (pointer:coarse){[data-structure-item]{--photo-ai-run-h:28px}}.structure-photo-cell:has(>.structure-photo-ai__run){margin-bottom:calc(-4px - var(--photo-ai-run-h,20px))}[data-photo-mode] [data-structure-item]:has(>.structure-photo-cell>.structure-photo-ai__run):before{content:"";height:calc(var(--photo-ai-run-h) - 4px);pointer-events:none;flex:0 0 100%;order:5}.structure-photo,.structure-photo-spacer{height:64px}.structure-photo{flex:none;position:relative}.structure-photo__pick{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-soft);width:100%;height:100%;color:var(--color-text-label);font:inherit;text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;font-size:11px;line-height:1.2;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.structure-photo__pick:hover{border-color:var(--color-accent);color:var(--color-text)}.structure-photo__pick:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.structure-photo__icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.structure-photo[data-photo-state=ready] .structure-photo__pick{border-style:solid;border-color:var(--color-border);padding:0}.structure-photo[data-photo-state=ready] .structure-photo__pick:hover{border-color:var(--color-accent)}.structure-photo__img{object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.structure-photo[data-photo-state=loading] .structure-photo__pick{cursor:progress;border-style:solid;animation:1.2s ease-in-out infinite alternate structure-photo-pulse}@keyframes structure-photo-pulse{0%{background:var(--color-surface-soft)}to{background:var(--color-border)}}@media (prefers-reduced-motion:reduce){.structure-photo[data-photo-state=loading] .structure-photo__pick{animation:none}}.structure-photo[data-photo-state=error] .structure-photo__pick{border-style:solid;border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.structure-photo[data-drop-active] .structure-photo__pick{border-style:solid;border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong);box-shadow:0 0 0 3px var(--color-accent-soft);padding:4px}.structure-photo__remove{border:1px solid var(--color-border-strong);background:var(--color-surface);width:20px;height:20px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex;position:absolute;top:3px;right:3px}.structure-photo__remove:hover{border-color:var(--color-danger);color:var(--color-danger)}.structure-photo__remove:focus-visible{outline:var(--focus-ring);outline-offset:1px}.structure-photo-error{color:var(--color-danger);flex:0 0 100%;order:9;margin:0;padding-left:28px;font-size:12px;line-height:1.4}.structure-photo-ai{flex:0 0 100%;order:10;padding-left:28px;font-size:12px;line-height:1.4}.structure-photo-ai__run{width:100%;height:var(--photo-ai-run-h,20px);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text-strong);font:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:none;padding:0 4px;font-size:11px;line-height:1.2;overflow:hidden}.structure-photo-ai__run:hover:not(:disabled){border-color:var(--color-accent)}.structure-photo-ai__run:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.structure-photo-ai__run:disabled{color:var(--color-text-subtle);cursor:not-allowed}.structure-photo-ai__error{color:var(--color-danger);margin:4px 0 0}.structure-photo-ai__card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text);margin-top:6px;padding:8px 10px}.structure-photo-ai__card[data-verdict=warn]{border-color:var(--color-warn-border)}.structure-photo-ai__card[data-verdict=replace]{border-color:var(--color-danger-border)}.structure-photo-ai__card p{margin:4px 0 0}.structure-photo-ai__card .structure-photo-ai__title{margin:0;font-weight:600}.structure-photo-ai__card .structure-photo-ai__replace,.image-batch__replace{color:var(--color-warn);font-weight:600}.structure-photo-ai__rows,.structure-photo-ai__tips{margin:4px 0 0;padding:0;list-style:none}.structure-photo-ai__tips{padding-left:16px;list-style:outside}.structure-photo-ai__rows [data-mark=ok] span{color:var(--color-success)}.structure-photo-ai__rows [data-mark=warn] span{color:var(--color-warn)}.structure-photo-ai__rows [data-mark=bad] span{color:var(--color-danger)}.structure-photo-ai__dpi{color:var(--color-text-muted)}.image-batch{min-width:0;color:var(--color-text);flex-direction:column;gap:8px;font-size:13px;line-height:1.4;display:flex}.image-batch__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.image-batch__run,.image-batch__stop{border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-surface);color:var(--color-text-strong);font:inherit;cursor:pointer;padding:6px 10px}.image-batch__run:hover:not(:disabled),.image-batch__stop:hover:not(:disabled){border-color:var(--color-accent)}.image-batch__run:focus-visible,.image-batch__stop:focus-visible,.image-batch__summary-toggle:focus-visible,.image-batch__list:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.image-batch__run:disabled{color:var(--color-text-subtle);cursor:not-allowed;opacity:.6}.image-batch__hint,.image-batch__note{color:var(--color-text-muted);margin:0;font-size:12px}.image-batch__error{color:var(--color-danger);margin:0;font-size:12px}.image-batch__progress{flex-direction:column;gap:4px;display:flex}.image-batch__progress-text{color:var(--color-text-muted);margin:0;font-size:12px}.image-batch__bar{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:3px;height:6px;overflow:hidden}.image-batch__bar-fill{height:100%;width:calc(var(--batch-done,0) / var(--batch-total,1) * 100%);background:var(--color-accent);transition:width .2s;display:block}.image-batch__summary{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.image-batch__summary>li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);white-space:nowrap;padding:2px 8px;font-size:12px}.image-batch__summary>[data-mark=ok]{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}.image-batch__summary>[data-mark=warn]{border-color:var(--color-warn-border);background:var(--color-warn-soft);color:var(--color-warn)}.image-batch__summary>[data-mark=bad]{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger)}.image-batch__summary-toggle{color:var(--color-accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 0;text-decoration:underline}.image-batch__list{overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);max-height:min(60vh,420px);margin:0;padding:0;list-style:none;overflow-y:auto}.image-batch__item{border-top:1px solid var(--color-border);grid-template-columns:20px minmax(0,1fr);column-gap:8px;padding:6px 10px;font-size:12px;display:grid}.image-batch__item:first-child{border-top:0}.image-batch__mark{text-align:center;grid-row:1/span 3}.image-batch__item[data-mark=ok] .image-batch__mark{color:var(--color-success)}.image-batch__item[data-mark=warn] .image-batch__mark{color:var(--color-warn)}.image-batch__item[data-mark=bad] .image-batch__mark{color:var(--color-danger)}.image-batch__item[data-mark=skipped]{color:var(--color-text-muted)}.image-batch__name{min-width:0;color:var(--color-text-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.image-batch__dpi{color:var(--color-text-muted)}.image-batch__replace{grid-column:2;margin:2px 0 0}.image-batch__tips{overflow-wrap:anywhere;grid-column:2;margin:2px 0 0;padding-left:14px;list-style:outside}@media (max-width:480px){.image-batch__actions>button{flex:100%}}@media (prefers-reduced-motion:reduce){.image-batch__bar-fill{transition:none}}.structure-photo-ttl{border:1px solid var(--color-warn-border);border-radius:var(--radius-sm);background:var(--color-warn-soft);color:var(--color-warn);margin:0 0 12px;padding:6px 10px;font-size:12px;line-height:1.45}[data-photo-mode] [data-structure-item] .structure-move-select{text-overflow:ellipsis;max-width:120px}@container (max-width:550px){[data-photo-mode] [data-structure-item]{flex-wrap:wrap}[data-photo-mode] [data-structure-item]:after{content:"";flex:0 0 100%;order:1;height:0}[data-photo-mode] [data-structure-item] [data-item-meta]{flex:1 0 auto;order:2}[data-photo-mode] [data-structure-item] .structure-move-select{flex:none;order:3;max-width:120px}[data-photo-mode] [data-structure-item] .structure-photo-cell{order:4;margin-left:auto}[data-photo-mode] [data-structure-item] :is([data-item-meta],.structure-move-select,.structure-photo-cell){margin-top:-8px}[data-photo-mode] [data-structure-item] .structure-photo-spacer{display:none}}.photo-quality-mark{pointer-events:auto;cursor:help;touch-action:manipulation;outline:none}.photo-quality-mark__ring{fill:#0000;stroke:none;pointer-events:all}.photo-quality-mark[data-pinned] .photo-quality-mark__ring{stroke:var(--color-sheet-ink);stroke-width:2px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px var(--color-sheet-shade))}.photo-quality-mark:focus-visible .photo-quality-mark__ring{stroke:var(--color-accent-strong);stroke-width:3px;vector-effect:non-scaling-stroke;filter:none}.photo-quality-mark__dot{fill:var(--color-sheet-alert);stroke:var(--color-sheet-ink);stroke-width:2px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px var(--color-sheet-shade))}.photo-quality-mark__ink{fill:var(--color-sheet-ink);text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:700}.photo-quality-tip{z-index:4;box-sizing:border-box;border:1px solid var(--color-sheet-ink);border-radius:var(--radius-sm);background:var(--color-sheet-ink-dark);width:240px;max-width:calc(100% - 8px);box-shadow:0 2px 8px var(--color-sheet-shade);color:var(--color-sheet-ink);text-align:left;text-wrap:pretty;white-space:normal;cursor:default;padding:6px 10px;font-size:12px;font-weight:400;line-height:16px;position:absolute}.photo-quality-tip[data-placement=above]{transform:translateY(-100%)}.structure-photo__quality{z-index:1;box-sizing:border-box;border:2px solid var(--color-sheet-ink);background:var(--color-sheet-alert);width:18px;height:18px;box-shadow:0 0 0 1px var(--color-sheet-shade);color:var(--color-sheet-ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:4px;left:4px}.structure-photo__quality:before{content:"";position:absolute;inset:-4px}@media (pointer:coarse){.structure-photo__quality:before{inset:-10px}}.structure-photo__quality[data-pinned]{outline:2px solid var(--color-sheet-ink);outline-offset:1px}.structure-photo .photo-quality-tip{top:calc(100% + 6px + var(--slot-tip-offset,0px));width:min(240px,100vw - 16px);max-width:none;left:0}.structure-photo .photo-quality-tip[data-align=right]{left:auto;right:0}.structure-photo .photo-quality-tip[data-placement=above]{top:auto;bottom:calc(100% + 6px);transform:none}.structure-photo[data-photo-state=ready] .structure-photo__pick{cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.structure-photo[data-photo-armed] .structure-photo__pick{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);transition:transform .12s ease-out;transform:scale(.94)}@media (prefers-reduced-motion:reduce){.structure-photo[data-photo-armed] .structure-photo__pick{transition:none;transform:none}}.structure-photo[data-photo-dragging]{--photo-drag-opacity:.45}.structure-photo[data-photo-dragging] .structure-photo__quality{opacity:var(--photo-drag-opacity)}.structure-photo[data-photo-dragging] .structure-photo__pick{cursor:grabbing;opacity:var(--photo-drag-opacity);outline:1px dashed var(--color-border-strong);outline-offset:-1px}.structure-photo[data-photo-drop-target] .structure-photo__pick{border-style:solid;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.structure-photo[data-photo-drop-target=move] .structure-photo__pick{background:var(--color-accent-soft);color:var(--color-accent-strong)}.structure-photo[data-photo-drop-target=swap]:after{content:"⇄";box-sizing:border-box;border:2px solid var(--color-sheet-ink);background:var(--color-sheet-ink-dark);width:28px;height:28px;box-shadow:0 0 0 1px var(--color-sheet-shade);color:var(--color-sheet-ink);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;line-height:1;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.structure-photo-ghost{z-index:1100;pointer-events:none;border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);max-width:min(260px,100vw - 32px);box-shadow:var(--shadow-popup);color:var(--color-text);white-space:nowrap;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:13px;line-height:1.2;display:flex;position:fixed;transform:translate(12px,16px)}.structure-photo-ghost[data-pointer=touch]{transform:translate(-50%,calc(-100% - 24px))}.structure-photo-ghost__img{border-radius:var(--radius-xs);object-fit:cover;flex:none;width:48px;height:32px;display:block}.structure-photo-ghost__text{flex-direction:column;gap:2px;min-width:0;display:flex}.structure-photo-ghost__name{text-overflow:ellipsis;overflow:hidden}.structure-photo-ghost__action{color:var(--color-text-label);font-size:12px}.structure-photo-ghost[data-photo-drop=none]{border-color:var(--color-border-strong)}.photo-focus-handle{pointer-events:auto;cursor:grab;outline:none}.photo-focus-handle[data-dragging]{cursor:grabbing}.photo-focus-handle[data-dragging=x]{cursor:ew-resize}body.is-photo-focus-dragging:has(.photo-focus-handle[data-dragging=x]){cursor:ew-resize}.photo-focus-handle[data-dragging=y]{cursor:ns-resize}body.is-photo-focus-dragging:has(.photo-focus-handle[data-dragging=y]){cursor:ns-resize}.photo-focus-handle[data-static]{cursor:default}.photo-focus-handle__area{fill:#0000;stroke:none;pointer-events:all}.photo-focus-handle:hover .photo-focus-handle__area,.photo-focus-handle[data-active] .photo-focus-handle__area,.photo-focus-handle[data-dragging] .photo-focus-handle__area{stroke:var(--color-sheet-ink);stroke-width:2px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px var(--color-sheet-shade))}.photo-focus-handle:focus-visible .photo-focus-handle__area{stroke:var(--color-accent-strong);stroke-width:3px;vector-effect:non-scaling-stroke}.photo-focus-handle__grip{opacity:0;pointer-events:none;touch-action:none;transition:opacity .15s,transform .2s ease-out}.photo-focus-handle:hover .photo-focus-handle__grip,.photo-focus-handle:focus-visible .photo-focus-handle__grip,.photo-focus-handle[data-active] .photo-focus-handle__grip,.photo-focus-handle[data-dragging] .photo-focus-handle__grip{opacity:1;pointer-events:all}@media (pointer:coarse){.photo-focus-handle__grip{opacity:1;pointer-events:all}}.photo-focus-handle__grip[data-photo-focus-grip=x]{cursor:ew-resize}.photo-focus-handle__grip[data-photo-focus-grip=y]{cursor:ns-resize}.photo-focus-handle[data-dragging] .photo-focus-handle__grip{cursor:inherit}.photo-focus-handle[data-dragging=x] .photo-focus-handle__grip:not([data-photo-focus-grip=x]),.photo-focus-handle[data-dragging=y] .photo-focus-handle__grip:not([data-photo-focus-grip=y]){opacity:.35}.photo-focus-handle__grip-dot{fill:var(--color-sheet-ink);fill-opacity:.92;stroke:var(--color-sheet-shade);stroke-width:1px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;animation:.24s ease-out photo-grip-axes}.photo-focus-handle__grip-icon{fill:none;stroke:var(--color-sheet-ink-dark);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;animation:.24s ease-out photo-grip-axes}@keyframes photo-grip-axes{0%{opacity:0;transform:scale(.5)}}@media (hover:hover){.photo-focus-handle:not([data-dragging]) .photo-focus-handle__grip:hover .photo-focus-handle__grip-dot{fill-opacity:1;stroke:var(--color-sheet-ink-dark);stroke-width:2px}.photo-focus-handle:not([data-dragging]) .photo-focus-handle__grip:hover .photo-focus-handle__grip-icon{stroke-width:2.25px}}.photo-focus-handle__grip:active .photo-focus-handle__grip-dot,.photo-focus-handle[data-dragging=x] [data-photo-focus-grip=x] .photo-focus-handle__grip-dot,.photo-focus-handle[data-dragging=y] [data-photo-focus-grip=y] .photo-focus-handle__grip-dot,.photo-focus-handle[data-dragging=xy] [data-photo-focus-grip=xy] .photo-focus-handle__grip-dot{fill-opacity:1;stroke:var(--color-sheet-ink-dark);stroke-width:2px}.photo-focus-handle__grip:active .photo-focus-handle__grip-icon,.photo-focus-handle[data-dragging=x] [data-photo-focus-grip=x] .photo-focus-handle__grip-icon,.photo-focus-handle[data-dragging=y] [data-photo-focus-grip=y] .photo-focus-handle__grip-icon,.photo-focus-handle[data-dragging=xy] [data-photo-focus-grip=xy] .photo-focus-handle__grip-icon{stroke-width:2.25px}@media (prefers-reduced-motion:reduce){.photo-focus-handle__grip{transition:none}.photo-focus-handle__grip-dot,.photo-focus-handle__grip-icon{animation:none}}.photo-focus-reset{z-index:2;box-sizing:border-box;border:1px solid var(--color-sheet-shade);border-radius:var(--radius-pill);background:var(--color-sheet-ink);height:24px;box-shadow:0 1px 3px var(--color-sheet-shade);color:var(--color-sheet-ink-dark);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:4px;padding:0 8px 0 6px;font-size:12px;line-height:1;display:inline-flex;position:absolute}.photo-focus-reset:hover{border-color:var(--color-sheet-ink-dark)}.photo-focus-reset:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.photo-focus-reset__icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;flex:none;width:14px;height:14px}.photo-focus-reset[data-compact]{width:24px;padding:0}.photo-focus-reset[data-compact] .photo-focus-reset__text{display:none}@media (pointer:coarse){.photo-focus-reset{height:32px}.photo-focus-reset[data-compact]{width:32px}}.photo-zoom{z-index:3;box-sizing:border-box;border:1px solid var(--color-sheet-shade);border-radius:var(--radius-pill);background:var(--color-sheet-ink);width:90px;height:26px;box-shadow:0 1px 3px var(--color-sheet-shade);color:var(--color-sheet-ink-dark);font:inherit;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;touch-action:manipulation;align-items:center;font-size:12px;line-height:1;animation:.12s ease-out photo-zoom-in;display:inline-flex;position:absolute}@keyframes photo-zoom-in{0%{opacity:0}}.photo-zoom__button{box-sizing:border-box;width:24px;height:24px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.photo-zoom__button:hover{background:var(--color-sheet-ink-dark);color:var(--color-sheet-ink)}}.photo-zoom__button:active{background:var(--color-sheet-ink-dark);color:var(--color-sheet-ink)}.photo-zoom__button:focus-visible{outline:var(--focus-ring);outline-offset:1px}.photo-zoom__button:disabled{cursor:default;pointer-events:none}.photo-zoom__button:disabled .photo-zoom__icon{opacity:.35}.photo-zoom__icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;flex:none;width:14px;height:14px}.photo-zoom__value{font-variant-numeric:tabular-nums;text-align:center;flex:none;width:40px}.photo-zoom[data-photo-zoom-fit] .photo-zoom__value{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}@media (pointer:coarse){.photo-zoom{width:118px;height:38px}.photo-zoom__button{width:36px;height:36px}.photo-zoom__icon{width:18px;height:18px}.photo-zoom__value{width:44px}}body.is-photo-focus-dragging .photo-zoom{pointer-events:none}@media (prefers-reduced-motion:reduce){.photo-zoom{animation:none}}.photo-focus-live{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body.is-photo-focus-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.spacing-group{margin-top:12px}.spacing-group-title{color:var(--color-text-muted);margin:0 0 6px;font-size:12px;font-weight:600}.spacing-fields{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spacing-group .spacing-fields>.spacing-field{max-width:calc(50% - 6px)}.spacing-field>div{flex-wrap:wrap;row-gap:4px}.spacing-field{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.spacing-field label{white-space:normal;overflow-wrap:anywhere}.spacing-reset{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.spacing-note{color:var(--color-text-muted);margin:6px 0 0;font-size:12px}.badge-bar{flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 12px;display:flex}.badge-bar__title{color:var(--color-text-label);font-size:13px;font-weight:600}.badge-bar__modes{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge-mode__btn{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-control);min-height:32px;color:var(--color-text);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.badge-mode__btn:hover{background:var(--color-surface-soft)}.badge-mode__btn[aria-pressed=true]{border-color:var(--color-accent-strong);background:var(--color-accent-soft);color:var(--color-text);font-weight:600}.badge-mode__swatch{border:1px solid var(--color-border-strong);background:var(--badge-plate,#1a1a1a);border-radius:2px;flex:none;width:10px;height:10px}.badge-mode__custom-text:not([data-empty]){text-transform:uppercase;letter-spacing:.02em}.badge-mode__btn--add{background:0 0;border-style:dashed}.badge-mode__btn:focus-visible,.badge-step__btn:focus-visible,.badge-check:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.badge-level__opt:has(input:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.badge-level{align-items:center;gap:8px;display:inline-flex}.badge-level__legend{color:var(--color-text);font-size:13px;font-weight:600}.badge-level__opt{border:1px solid var(--color-border-strong);background:var(--color-control);cursor:pointer;justify-content:center;align-items:center;min-width:44px;min-height:32px;padding:0 8px;display:inline-flex;position:relative}.badge-level__opt:first-of-type{border-radius:var(--radius-md) 0 0 var(--radius-md)}.badge-level__opt+.badge-level__opt{margin-left:-1px}.badge-level__opt:last-of-type{border-radius:0 var(--radius-md) var(--radius-md) 0}.badge-level__opt input{opacity:0;pointer-events:none;position:absolute}.badge-level__opt:has(input:checked){z-index:1;border-color:var(--color-accent-strong);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-strong)}.badge-mode-note{border:1px solid var(--color-accent-strong);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-text);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;padding:8px 12px;font-size:13px;display:flex}.badge-mode-note__text{flex:200px}.badge-custom{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.badge-custom__field{align-items:center;gap:6px;min-width:0;display:inline-flex}.badge-custom__label{color:var(--color-text-label);font-size:13px}.badge-custom__input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-control);width:11em;min-width:0;min-height:32px;color:var(--color-text);font:inherit;text-transform:uppercase;padding:4px 8px;font-size:14px}.badge-custom__input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-color:var(--color-accent)}.badge-custom__count{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text-label);font-size:12px}.badge-custom__count[data-full]{color:var(--color-warn);font-weight:600}.badge-custom__hint{color:var(--color-text-label);flex:1 0 100%;margin:0;font-size:12px}.badge-custom--panel .badge-custom__field{flex:auto}.badge-custom--panel .badge-custom__input{flex:auto;width:auto}.badge-check{width:20px;height:20px;accent-color:var(--color-accent-strong);cursor:pointer;flex:none;margin:0}.badge-check:disabled{opacity:.45;cursor:not-allowed}[data-structure-item][data-badge-mode]{cursor:pointer}[data-structure-item][data-badge-mode]:hover{background:var(--color-surface-soft)}[data-structure-item][data-badge-mode][data-badge-blocked]{cursor:default}[data-structure-item][data-badge-mode][data-badge-blocked]:hover{background:0 0}[data-structure-item][data-badge-mode] .structure-handle,[data-structure-item][data-badge-mode] .structure-move-select{opacity:.4;pointer-events:none}.badge-minis{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:flex-end;gap:2px 3px;max-width:50%;margin-left:4px;display:inline-flex}.badge-minis__run{flex:none;align-items:flex-end;display:inline-flex}.badge-mini{vertical-align:.3em;flex:none;height:12px;display:inline-block}.badge-mini--new{width:50px}.badge-mini--hit{width:21px}.badge-mini--vegan{width:15px;height:14px}.badge-mini--spicy{width:14px;height:14px}.badge-mini--spicy+.badge-mini--spicy{margin-left:-5px}.badge-mini--custom{box-sizing:border-box;background:var(--badge-plate,#1a1a1a);height:12px;color:var(--badge-letter,#fff);text-transform:uppercase;white-space:nowrap;align-items:center;padding:0 2px;font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;line-height:12px;display:inline-flex}:root[data-theme=dark] .badge-mini--custom{box-shadow:0 0 0 1px var(--color-border-strong)}.badge-step{align-items:center;gap:6px;display:inline-flex}.badge-step__btn{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-control);width:32px;height:32px;color:var(--color-text);font:inherit;cursor:pointer;padding:0;font-size:16px;line-height:1}.badge-step__btn:hover:not(:disabled){background:var(--color-surface-soft)}.badge-step__btn:disabled{opacity:.45;cursor:not-allowed}.badge-step__value{text-align:center;font-variant-numeric:tabular-nums;min-width:56px;color:var(--color-text)}.badge-limit{color:var(--color-text-label);margin:4px 0 0;font-size:12px}.badge-panel__block{border-radius:var(--radius-md);border:1px solid #0000;flex-direction:column;gap:6px;margin:0 -6px;padding:6px;display:flex}.badge-panel__block[data-current]{border-color:var(--color-accent-strong);background:var(--color-accent-soft)}.badge-panel__head{align-items:center;gap:6px;min-height:32px;display:flex}.badge-panel__name{color:var(--color-text);font-size:12px;font-weight:600}.badge-panel__color{margin-left:auto}[data-run-element=badge]{cursor:pointer}[data-run-element=badge]:focus-visible{outline:var(--focus-ring);outline-offset:1px}@media (pointer:coarse){.badge-mode__btn,.badge-level__opt,.badge-step__btn,.badge-custom__input{min-height:40px}.badge-step__btn{width:40px}.badge-check{width:24px;height:24px}}@media (max-width:480px){.badge-bar{flex-direction:column;align-items:stretch}.badge-bar__modes{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.badge-bar__modes .badge-mode__btn{justify-content:center;min-width:0}.badge-mode__custom-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.badge-mode__btn--add{grid-column:1/-1}.badge-custom__field{flex:100%}.badge-custom__input{flex:auto;width:auto}}.auto-layout-trigger{white-space:nowrap;padding:8px 16px}.auto-layout-trigger[aria-busy=true]{cursor:progress}.auto-layout-live{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.layout-variants{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;max-width:100%;box-shadow:var(--shadow-card);color:var(--color-text);gap:12px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.4;display:grid}.layout-variants__head{gap:4px;min-width:0;display:grid}.layout-variants__title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.layout-variants__note,.layout-variants__baseline{color:var(--color-text-label);overflow-wrap:anywhere;margin:0;font-size:12px}.layout-variants__baseline{font-variant-numeric:tabular-nums}.layout-variants__note--warn,.layout-variants__note--error{border-radius:var(--radius-sm);border:1px solid;padding:6px 10px}.layout-variants__note--warn{border-color:var(--color-warn-border);background:var(--color-warn-soft);color:var(--color-warn)}.layout-variants__note--error{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger-strong)}:root[data-theme=dark] .layout-variants__note--error{color:var(--color-text-strong)}.layout-variants__list{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.layout-variants[aria-busy=true] .layout-variants__list{opacity:.55}.layout-variant{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);flex-direction:column;gap:8px;min-width:0;padding:10px 12px;display:flex}.layout-variant[data-applied=true]{border-color:var(--color-success);box-shadow:inset 0 0 0 1px var(--color-success)}.layout-variant__head{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;display:flex}.layout-variant__name{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.layout-variant__chip{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-strong);white-space:nowrap;align-items:center;padding:1px 8px;font-size:12px;line-height:1.4;display:inline-flex}.layout-variant__chip--format{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong)}.layout-variant__chip--below{border-color:var(--color-warn-border);background:var(--color-warn-soft);color:var(--color-warn)}.layout-variant__chip--narrow{border-style:dashed;border-color:var(--color-warn);color:var(--color-warn)}.layout-variant__chip--issues{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger-strong)}.layout-variant__chip--applied{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}.layout-variant__body{align-items:flex-start;gap:10px;min-width:0;display:flex}.layout-variant__thumb{flex:none;width:64px;height:64px}.layout-variant__sheet{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.layout-variant__sheet--back{fill:var(--color-surface-sunk)}.layout-variant__column{fill:var(--color-text-subtle);opacity:.45}.layout-variant__metrics{font-variant-numeric:tabular-nums;gap:1px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.layout-variant__metric--changed{color:var(--color-accent-strong);font-weight:600}.layout-variant__recs-label{color:var(--color-text-strong);margin:0;font-size:12px;font-weight:600}.layout-variant__recs{color:var(--color-text-label);overflow-wrap:anywhere;gap:2px;margin:0;padding-left:16px;font-size:12px;display:grid}.layout-variant__actions{gap:8px;margin-top:auto;display:flex}.layout-variant__apply[aria-disabled=true]{opacity:.55;cursor:default}.layout-variant__apply[aria-disabled=true]:hover{background:var(--color-surface)}.layout-variants__foot{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.layout-variants__foot>.layout-variants__note{flex:220px}@media (prefers-reduced-motion:no-preference){.layout-variants__list{transition:opacity .15s}}@media (max-width:480px){.layout-variants{padding:10px}.layout-variant__thumb{width:48px;height:48px}.layout-variants__foot>.ui-btn{flex:100%}}.ai-layout-status,.ai-layout-intent{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;max-width:100%;color:var(--color-text);gap:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;line-height:1.4;display:grid}.ai-layout-status{grid-template-columns:auto 1fr auto;align-items:center}.ai-layout-status__badge{border:1px solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-strong);padding:1px 8px;font-size:12px}.ai-layout-status[data-stage=locked] .ai-layout-status__badge{border-style:dashed;border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text-label)}.ai-layout-status[data-stage=locked] .ai-layout-status__text{color:var(--color-text-label)}.ai-layout-status[data-stage=failed]{border-color:var(--color-warn-border);background:var(--color-warn-soft)}.ai-layout-status[data-stage=failed] .ai-layout-status__text{color:var(--color-warn)}.ai-layout-status__text{overflow-wrap:anywhere;margin:0}.ai-layout-status__actions{flex-wrap:wrap;gap:8px;display:flex}.ai-layout-status__bar{background:var(--color-border);border-radius:2px;grid-column:1/-1;height:3px;overflow:hidden}.ai-layout-status__bar>span{background:var(--color-accent);height:100%;display:block}@media (prefers-reduced-motion:no-preference){.ai-layout-status__bar>span{transition:width .3s}}.ai-layout-intent__title{margin:0;font-size:15px;font-weight:600}.ai-layout-intent__hint{color:var(--color-text-label);margin:0;font-size:12px}.ai-layout-intent__q{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.ai-layout-intent__q>legend{padding:0;font-weight:600}.ai-layout-intent__options{flex-wrap:wrap;gap:6px;display:flex}.ai-layout-intent__option{align-items:center;min-height:36px;display:inline-flex;position:relative}.ai-layout-intent__option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.ai-layout-intent__option span{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-strong);padding:6px 12px}.ai-layout-intent__option input:checked+span{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong)}.ai-layout-intent__option input:focus-visible+span{outline:2px solid var(--color-accent);outline-offset:2px}.ai-layout-intent__actions{flex-wrap:wrap;gap:8px;display:flex}.layout-variant--ai{grid-column:1/-1}.layout-variant__chip--ai{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong)}.layout-variant__ai-note{color:var(--color-text-label);overflow-wrap:anywhere;margin:0;font-size:12px}.layout-variants__more>summary{cursor:pointer;color:var(--color-text-label);padding:4px 0;font-size:12px}.layout-variants__more>summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.layout-variants__more[open]>summary{margin-bottom:8px}@media (max-width:480px){.ai-layout-status{grid-template-columns:1fr auto}.ai-layout-status__badge{display:none}.ai-layout-intent__actions>.ui-btn{flex:100%}.ai-layout-intent__actions>.ui-btn,.ai-layout-status .ui-btn{min-height:36px}}.preflight{--preflight-ink:var(--color-text-strong);--preflight-soft:var(--color-surface-soft);--preflight-line:var(--color-border);border:1px solid var(--preflight-line);border-radius:var(--radius-md);background:var(--preflight-soft);min-width:0;max-width:36rem;color:var(--color-text);font-size:13px;line-height:1.45}.preflight[data-preflight-status=ready]{--preflight-ink:var(--color-success);--preflight-soft:var(--color-success-soft);--preflight-line:var(--color-success-border)}.preflight[data-preflight-status=warnings]{--preflight-ink:var(--color-warn);--preflight-soft:var(--color-warn-soft);--preflight-line:var(--color-warn-border)}.preflight[data-preflight-status=blocked]{--preflight-ink:var(--color-danger);--preflight-soft:var(--color-danger-soft);--preflight-line:var(--color-danger-border)}.preflight[aria-busy=true]{opacity:.6}.preflight__head{flex-wrap:wrap;align-items:flex-start;gap:6px 10px;padding:10px 12px;display:flex}.preflight__icon{width:20px;height:20px;color:var(--preflight-ink);flex:none;margin-top:1px}.preflight__icon svg,.preflight__item-icon svg,.preflight__chevron{width:100%;height:100%;display:block}.preflight__summary{flex:14rem;min-width:0}.preflight__title{color:var(--preflight-ink);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600}.preflight__lead{color:var(--color-text-strong);margin:2px 0 0}.preflight__toggle{border-radius:var(--radius-sm);min-height:28px;color:var(--color-text-strong);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;font-weight:500;display:inline-flex}.preflight__toggle:hover{border-color:var(--preflight-line);background:var(--color-surface)}.preflight__toggle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.preflight__chevron{flex:none;width:16px;height:16px}.preflight__toggle[aria-expanded=true] .preflight__chevron{transform:rotate(180deg)}.preflight__list{border-top:1px solid var(--preflight-line);border-radius:0 0 calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px);background:var(--color-surface);flex-direction:column;gap:8px;margin:0;padding:10px 12px 12px;list-style:none;display:flex}.preflight__list[hidden]{display:none}.preflight__item{grid-template-columns:16px minmax(0,1fr);align-items:start;column-gap:8px;display:grid}.preflight__item-icon{width:16px;height:16px;color:var(--color-text-label);margin-top:1px}.preflight__item[data-level=ok] .preflight__item-icon{color:var(--color-success)}.preflight__item[data-level=warn] .preflight__item-icon{color:var(--color-warn)}.preflight__item[data-level=fail] .preflight__item-icon{color:var(--color-danger)}.preflight__item[data-level=info] .preflight__item-icon{color:var(--color-info)}.preflight__item-text{color:var(--color-text);overflow-wrap:anywhere;font-weight:500;display:block}.preflight__item[data-level=fail] .preflight__item-text{color:var(--color-danger)}.preflight__item-hint{color:var(--color-text-label);overflow-wrap:anywhere;margin-top:1px;font-size:12px;display:block}.preflight__foot{border-top:1px dashed var(--color-border);color:var(--color-text-label);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:2px 0 0;padding-top:8px;font-size:12px;display:flex}.preflight__goto{color:var(--color-accent-strong);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.preflight__goto:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:2px}.preflight__sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){.preflight{transition:opacity .12s linear}.preflight__chevron{transition:transform .15s}}@media (max-width:480px){.preflight__head{padding:10px}.preflight__toggle{margin-left:22px}.preflight__list{padding:10px}}@media (forced-colors:active){.preflight,.preflight__list{border-color:canvastext}.preflight__icon,.preflight__item-icon{color:canvastext}}
.ui-btn{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-strong);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.ui-btn:hover:not(:disabled){background:var(--color-surface-soft)}.ui-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.ui-btn:disabled{opacity:.55;cursor:default}.ui-btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.ui-btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ui-btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-danger)}.ui-btn--danger:hover:not(:disabled){background:var(--color-danger-strong);border-color:var(--color-danger-strong)}.ui-btn--ghost{color:var(--color-accent-strong);background:0 0;border-color:#0000;padding:6px 8px}.ui-btn--ghost:hover:not(:disabled){background:var(--color-accent-soft)}.ui-btn--small{padding:6px 12px;font-size:13px}.ui-btn--block{width:100%}.ui-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-control);width:100%;color:var(--color-text);font:inherit;padding:10px 12px;font-size:15px}.ui-input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-color:var(--color-accent)}.ui-input[aria-invalid=true]{border-color:var(--color-danger)}.ui-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.ui-field__label{color:var(--color-text-label);font-size:13px;font-weight:500}.ui-field__hint{color:var(--color-text-muted);font-size:12px}.ui-field__error{color:var(--color-danger);font-size:13px}.ui-password{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-control);align-items:center;gap:4px;padding-right:4px;display:flex}.ui-password[data-invalid=true]{border-color:var(--color-danger)}.ui-password .ui-input{box-shadow:none;background:0 0;border:none}@supports selector(:has(*)){.ui-password:has(.ui-input:focus-visible){border-color:var(--color-accent);outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.ui-password[data-invalid=true]:has(.ui-input:focus-visible){border-color:var(--color-danger)}.ui-password .ui-input:focus-visible{outline:none}}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.ui-card__title{margin:0 0 4px;font-size:17px}.ui-card__subtitle{color:var(--color-text-muted);margin:0 0 16px;font-size:13px}.ui-alert{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:16px;padding:12px 14px;font-size:14px}.ui-alert--error{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-strong)}.ui-alert--success{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success)}.ui-alert--warn{background:var(--color-warn-soft);border-color:var(--color-warn-border);color:var(--color-warn)}.ui-alert--info{background:var(--color-accent-soft);border-color:var(--color-border);color:var(--color-text-strong)}.ui-checkbox{color:var(--color-text-label);align-items:flex-start;gap:10px;margin-bottom:12px;font-size:13px;line-height:1.45;display:flex}.ui-checkbox input{flex:none;width:16px;height:16px;margin:2px 0 0}.ui-dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:calc(100vw - 32px);max-width:420px;color:var(--color-text);box-shadow:var(--shadow-popup);padding:24px}.ui-dialog::backdrop{background:#0f172a73}.ui-dialog__title{margin:0 0 8px;font-size:18px}.ui-dialog__text{color:var(--color-text-label);margin:0 0 20px;font-size:14px}.ui-dialog__actions{justify-content:flex-end;gap:8px;display:flex}
.app-shell{background:var(--color-bg);max-width:1174px;min-height:100vh;margin:0 auto;display:flex}.app-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border-soft);flex-direction:column;flex:none;width:180px;padding:20px 16px;display:flex}.app-sidebar__brand{color:var(--color-text);flex-direction:column;align-items:center;padding:0 0 12px;text-decoration:none;display:flex}.app-sidebar__logo{width:148px;height:auto;color:var(--color-text)}.app-sidebar__plus{flex:none;width:14px;height:14px}.app-sidebar__nav{flex-direction:column;gap:0;display:flex}.app-sidebar__new{border-radius:var(--radius-md);background:var(--color-accent);min-height:38px;color:var(--color-on-accent);white-space:nowrap;align-items:center;gap:8px;margin-bottom:8px;padding:7px 12px;font-size:14px;font-weight:600;line-height:24px;text-decoration:none;display:flex}.app-sidebar__new:hover{background:var(--color-accent-hover)}.app-sidebar__new:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.app-sidebar__link{border-radius:var(--radius-md);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;padding:12px;font-size:15px;line-height:24px;text-decoration:none;display:flex}.app-sidebar__link:hover{background:var(--color-surface-soft)}.app-sidebar__link[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:600}.app-sidebar__link--accent{color:var(--color-accent-strong);font-weight:600}.app-sidebar__signout:disabled{opacity:.6;cursor:default}.app-sidebar__count{background:var(--color-accent-soft);min-width:20px;color:var(--color-accent-strong);text-align:center;border-radius:999px;margin-left:auto;padding:0 6px;font-size:12px;font-weight:600;line-height:20px}.app-sidebar__icon{width:15px;height:15px;color:var(--color-text-muted);flex:none}.app-sidebar__link[aria-current=page] .app-sidebar__icon{color:inherit}:root[data-theme=dark] .app-sidebar__icon{color:var(--color-accent-strong)}.app-shell__canvas{flex-direction:column;flex:1;min-width:0;display:flex}.app-shell__main{flex:1;width:100%;max-width:1018px;margin:0;padding:12px 24px 44px 29px}@media (min-width:1200px){.app-shell__main,.app-footer{max-width:994px;padding-right:0}}.app-footer{width:100%;max-width:1018px;color:var(--color-text-muted);flex-wrap:wrap;gap:12px 32px;margin:0;padding:16px 24px 24px 29px;font-size:13px;display:flex}.app-footer__links{flex-wrap:wrap;gap:12px 32px;display:flex}.app-footer a{color:var(--color-text-muted);text-decoration:none}.app-footer a:hover{color:var(--color-text-strong);text-decoration:underline}.app-footer a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:2px}.app-footer a[href^=tel\:]{white-space:nowrap}.app-footer__requisites{overflow-wrap:break-word;flex:1 0 100%;margin:0;line-height:1.5}.app-alerts{text-align:right;width:100%;max-width:1018px;color:var(--color-text-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 16px;margin:0;padding:8px 24px 0 29px;font-size:12px;display:flex}@media (min-width:1200px){.app-alerts{max-width:994px;padding-right:0}}.app-alerts [role=alert]{color:var(--color-warn);background:var(--color-warn-soft);border:1px solid var(--color-warn-border);border-radius:var(--radius-sm);padding:2px 8px}.app-stub{max-width:640px}@media (max-width:960px){.app-shell{flex-direction:column}.app-sidebar{border-right:0;border-bottom:1px solid var(--color-border-soft);flex-flow:wrap;flex:none;align-items:center;gap:8px;width:auto;padding:10px 12px}.app-sidebar__brand{padding:0}.app-sidebar__logo{width:56px}.app-sidebar__nav{flex-flow:wrap;gap:2px}.app-sidebar__new{margin-bottom:0;padding:6px 10px}.app-sidebar__link{padding:6px 8px}.app-sidebar__icon{display:none}.app-sidebar__count{margin-left:6px}}.theme-toggle,.choice-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);gap:4px;padding:4px;display:inline-flex}.theme-toggle__option,.choice-toggle__option{border-radius:var(--radius-sm);color:var(--color-text-strong);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 14px;font-size:14px}.theme-toggle__option:hover,.choice-toggle__option:hover{background:var(--color-surface-sunk)}.theme-toggle__option[aria-checked=true],.choice-toggle__option[aria-checked=true]{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:600}.theme-toggle__option:focus-visible,.choice-toggle__option:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.choice-toggle{flex-wrap:wrap;max-width:100%}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.editor-header__crumbs{color:var(--color-text-muted);margin-bottom:4px;font-size:13px}.editor-header__crumbs a{color:var(--color-text-muted)}.editor-header__crumbs a:hover{color:var(--color-text-strong)}.editor-header h1{margin:0}.editor-header .subtitle{margin:4px 0 0}.editor-header__actions{flex-wrap:wrap;align-items:flex-start;gap:12px;max-width:100%;padding-top:18px;display:flex}.editor-header__actions .ui-btn{min-height:38px;padding:8px 20px}.wizard-tabs{flex-wrap:wrap;gap:4px clamp(24px,7vw - 53px,40px);margin:10px 0 12px;display:flex}.wizard-tabs__tab{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:13px}.wizard-tabs__tab:hover:enabled{color:var(--color-text-strong)}.wizard-tabs__tab[aria-current=step]{color:var(--color-text);font-weight:600}.wizard-tabs__tab:disabled{opacity:.45;cursor:default}@media (max-width:600px){.wizard-tabs{row-gap:0}.wizard-tabs__tab{padding:8px 0}}.wizard-footer{justify-content:center;gap:8px;margin:4px 0 24px;display:flex}.wizard-footer__button{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-strong);font:inherit;cursor:pointer;padding:8px 14px;font-size:14px}.wizard-footer__button:hover:enabled{background:var(--color-surface-soft)}.wizard-footer__button:disabled{opacity:.45;cursor:default}[data-specimen-block=menuTitle],[data-specimen-block=category],[data-specimen-block=subcategory],[data-specimen-block=title],[data-specimen-block=description]{overflow-wrap:anywhere}[data-specimen-block=weight],[data-specimen-block=price]{white-space:nowrap;flex:none}@media (min-width:1100px){.menu-preview-container[data-active-step=style],.menu-preview-container[data-active-step=page],.menu-preview-container[data-active-step=chrome]{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.menu-preview-container[data-active-step=style]{grid-template-columns:minmax(0,1fr) 420px}.menu-preview-container[data-active-step=style]>[data-sheet-column],.menu-preview-container[data-active-step=page]>[data-sheet-column],.menu-preview-container[data-active-step=chrome]>[data-sheet-column]{position:sticky;top:16px}}.menu-preview-container [data-page-setup]>[data-page-section]:first-child,.menu-preview-container [data-chrome-step]>[data-page-section]:first-child{margin-top:0!important}
.problem-context{border-left:3px solid var(--color-border-strong);color:var(--color-text);overflow-wrap:anywhere;margin:8px 0 0;padding:2px 0 2px 10px;font-size:14px;line-height:1.45}.problem-context__field,.problem-context__cut{color:var(--color-text-label)}.problem-context__field{font-size:13px}.problem-context mark{background:var(--color-warn-border);color:var(--color-text);border-radius:var(--radius-xs);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px;font-weight:600}@media (forced-colors:active){.problem-context mark{color:marktext;background:mark}}.problem-autofix-missed{color:var(--color-warn);margin:8px 0 0;font-size:13px}.problem-autofix-missed:empty{margin:0}.brand-step{flex-direction:column;gap:8px;margin-top:8px;display:flex}.brand-pick{flex-direction:column;gap:6px;display:flex}.brand-pick__option{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:56px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;padding:6px 12px 6px 6px;display:flex}.brand-pick__option:hover{background:var(--color-surface-soft)}.brand-pick__option[aria-checked=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);background:var(--color-accent-soft)}.brand-pick__option:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.brand-pick .brand-stage{border-radius:var(--radius-xs);background-size:8px 8px;flex:none;width:72px;height:44px;padding:4px}.brand-pick .brand-stage--empty{font-size:11px}.brand-pick__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.brand-pick__name,.brand-pick__site{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-pick__name{color:var(--color-text-strong);font-size:14px;font-weight:500}.brand-pick__site{color:var(--color-text-label);font-size:12px}.brand-pick .brand-swatches{gap:4px;margin:2px 0 0}.brand-pick .brand-swatch{width:14px;height:14px}.brand-pick__mark{border:1px solid var(--color-border-strong);background:var(--color-control);border-radius:50%;flex:none;width:16px;height:16px}.brand-pick__option[aria-checked=true] .brand-pick__mark{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-surface)}.brand-apply{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.brand-step .hint{margin:0}.brand-status{color:var(--color-text);margin:0;font-size:13px}.color-picker__group{border-bottom:1px solid var(--color-border);flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.color-picker__caption{color:var(--color-text-label);font-size:11px}.color-picker__swatches{flex-wrap:wrap;gap:6px;display:flex}.color-picker__swatches button:focus-visible{outline:var(--focus-ring);outline-offset:2px}
.auth-shell{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:32px 16px;display:flex}.auth-shell__card{width:100%;max-width:420px}.auth-shell__brand{color:var(--color-text-strong);font-size:15px;font-weight:600;text-decoration:none}.auth-shell__actions{flex-direction:column;gap:8px;margin-top:16px;display:flex}.auth-shell__footer{color:var(--color-text-muted);text-align:center;font-size:13px}.auth-shell__footer a,.auth-form__aside a,.cabinet-link{color:var(--color-accent-strong)}.auth-form__aside{text-align:center;margin:16px 0 0;font-size:13px}.auth-form__consent{margin:4px 0 16px}.cabinet-main{max-width:1100px;margin:0 auto;padding:28px 20px 64px}.cabinet-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.cabinet-head h1{margin:0;font-size:24px}.cabinet-stack{gap:16px;max-width:620px;display:grid}.cabinet-error__text{margin:0 0 16px;font-size:14px;line-height:1.5}.cabinet-error__actions{flex-wrap:wrap;gap:8px;display:flex}.cabinet-error__code{color:var(--color-text-label);overflow-wrap:anywhere;margin:16px 0 0;font-size:13px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.project-card__preview{aspect-ratio:210/297;background:var(--color-surface-sunk);border-bottom:1px solid var(--color-border);display:block;overflow:hidden}.project-card__preview img{object-fit:cover;object-position:top center;background:#fff;width:100%;height:100%;display:block}.project-card__placeholder{width:100%;height:100%;color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;padding:12px;font-size:13px;display:flex}.project-card__body{flex-direction:column;flex:auto;gap:4px;padding:12px 14px;display:flex}.project-card__name{color:var(--color-text);word-break:break-word;margin:0;font-size:15px;font-weight:600}.project-card__date{color:var(--color-text-muted);font-size:12px}.project-card__type{border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-strong);white-space:nowrap;vertical-align:1px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600;line-height:16px;display:inline-block}.project-card__actions .ui-btn--ghost{color:var(--color-danger)}.project-card__actions .ui-btn--ghost:hover:not(:disabled){background:var(--color-danger-soft)}.project-card__actions{border-top:1px solid var(--color-border-soft);flex-wrap:wrap;gap:4px;padding:8px 10px;display:flex}.project-empty{background:var(--color-surface);border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);text-align:center;padding:48px 24px}.project-empty p{color:var(--color-text-muted);margin:0 0 16px}.verify-banner{background:var(--color-warn-soft);border-bottom:1px solid var(--color-warn-border);color:var(--color-warn);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.plan-rows{gap:10px;margin:0;display:grid}.plan-rows div{border-bottom:1px solid var(--color-border-soft);justify-content:space-between;gap:16px;padding-bottom:8px;font-size:14px;display:flex}.plan-rows dt{color:var(--color-text-muted)}.plan-rows dd{margin:0;font-weight:500}.plan-picker{gap:12px;display:grid}.plan-picker>.ui-alert{margin-bottom:0}.plan-picker__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.plan-picker__title{margin:0;font-size:17px}.plan-period{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);justify-self:start;gap:4px;padding:4px;display:inline-flex}.plan-period__option{border-radius:var(--radius-sm);color:var(--color-text-strong);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 14px;font-size:14px}.plan-period__option:hover:not(:disabled){background:var(--color-surface-sunk)}.plan-period__option[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:600}.plan-period__option:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.plan-period__option:disabled{opacity:.55;cursor:default}@media (forced-colors:active){.plan-period__option[aria-pressed=true]{forced-color-adjust:none;color:selecteditemtext;background:selecteditem}}.plan-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (min-width:720px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.plan-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:20px;display:flex}.plan-card[data-current=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent), var(--shadow-card)}.plan-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-card__title{margin:0;font-size:17px}.plan-badge{border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-strong);white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:600;line-height:16px}.plan-price{color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap;flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin:0;font-size:28px;font-weight:700;line-height:1.15;display:flex}.plan-price-period{color:var(--color-text-label);font-size:13px;font-weight:400}.plan-unlocks{gap:8px;margin:0;padding:0;font-size:14px;line-height:1.4;list-style:none;display:grid}.plan-unlocks li{overflow-wrap:break-word;padding-left:24px;position:relative}.plan-unlocks li:before{content:"";border:solid var(--color-success);border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:3px;left:6px;transform:rotate(45deg)}.plan-card__note{color:var(--color-text-label);margin:0;font-size:13px;line-height:1.45}.plan-quote{font-variant-numeric:tabular-nums;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0;font-size:14px;line-height:1.4;display:grid;container:plan-quote/inline-size}.plan-quote__line{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;row-gap:2px;margin:0;display:grid}.plan-quote__amount{color:var(--color-text);white-space:nowrap;font-weight:600}.plan-quote__label{min-width:0;color:var(--color-text-label);overflow-wrap:break-word}.plan-quote__line--price .plan-quote__amount{font-size:20px;font-weight:600;line-height:1.2}.plan-quote__line--price .plan-quote__label{font-size:13px}.plan-quote__line--credit .plan-quote__amount{color:var(--color-success)}.plan-quote__line--total{border-top:1px solid var(--color-border-soft);padding-top:6px}.plan-quote__line--total .plan-quote__amount{font-size:28px;font-weight:700;line-height:1.15}.plan-quote--free .plan-quote__line--total .plan-quote__amount{color:var(--color-success)}.plan-quote__note{color:var(--color-text-label);grid-column:1/-1;margin:0;font-size:13px;line-height:1.45}@container plan-quote not (min-width:380px){.plan-quote__line--credit .plan-quote__label{grid-column:1/-1}}.plan-card__action{margin-top:auto}.plan-card[aria-busy=true]{cursor:progress}.plan-card[aria-busy=true] .plan-card__action{pointer-events:none}.plan-footnote{color:var(--color-text-label);margin:0;font-size:13px;line-height:1.5}.pricing{gap:20px;max-width:760px;display:grid}.pricing__head{gap:6px;display:grid}.pricing__title{margin:0;font-size:24px;line-height:1.25}.pricing__lead{max-width:60ch;color:var(--color-text-label);margin:0;font-size:15px;line-height:1.5}.pricing__grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (min-width:720px){.pricing__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pricing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:20px;display:flex}.pricing-card__title{margin:0;font-size:17px;line-height:1.3}.pricing-card__unlocks{color:var(--color-text-label);overflow-wrap:break-word;margin:0;font-size:14px;line-height:1.4}.pricing-card__prices{font-variant-numeric:tabular-nums;gap:12px;margin:0 0 8px;display:grid}.pricing-card__price{gap:2px;display:grid}.pricing-card__price+.pricing-card__price{border-top:1px solid var(--color-border-soft);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;padding-top:12px;display:flex}.pricing-card__period{color:var(--color-text-label);font-size:13px;line-height:1.4}.pricing-card__amount{color:var(--color-text);white-space:nowrap;margin:0;font-size:28px;font-weight:700;line-height:1.15}.pricing-card__price+.pricing-card__price .pricing-card__amount{font-size:20px;font-weight:600;line-height:1.2}.pricing-card__cta{margin-top:auto}.pricing__notes{color:var(--color-text-label);gap:6px;margin:0;padding-left:20px;font-size:14px;line-height:1.5;display:grid}.legal-page{max-width:720px;margin:0;font-size:15px;line-height:1.6}.legal-page h1{margin:0 0 16px;font-size:24px;line-height:1.25}.legal-page h2{margin:28px 0 8px;font-size:18px;line-height:1.3}.legal-page p,.legal-page ul,.legal-page ol{margin:0 0 12px}.pricing__notes a,.legal-page a:not(.ui-btn){color:var(--color-accent-strong);text-underline-offset:2px}.pricing__notes a:focus-visible,.legal-page a:not(.ui-btn):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:2px}.version-list{flex-direction:column;gap:4px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.version-list__item{border:1px solid var(--color-border);border-radius:var(--radius-xs);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;font-size:13px;display:flex}.admin-search{flex-wrap:wrap;align-items:flex-end;gap:12px;max-width:620px;margin-bottom:20px;display:flex}.admin-search .ui-field{flex:280px;margin:0}.admin-account h2{overflow-wrap:anywhere;margin:0 0 4px;font-size:18px}.admin-account .project-grid{margin-top:16px}.tickets{margin-bottom:20px}.ticket-card{border-top:1px solid var(--color-border);gap:6px;padding:12px 0;display:grid}.ticket-card__meta{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0;font-size:13px}.ticket-card__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.ticket-card__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-card--hidden .project-card__preview{opacity:.55}.template-card__badge{background:var(--color-surface-sunk);color:var(--color-text-muted);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:400;display:inline-block}.template-card__description{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.publish-issues{color:var(--color-danger-strong);margin:0 0 12px;padding-left:18px;font-size:14px}.project-empty--drop{border-color:var(--color-accent);background:var(--color-accent-soft)}.cabinet-head__trash{color:var(--color-accent-strong);text-underline-offset:2px;border-radius:var(--radius-xs);white-space:nowrap;text-decoration:underline}.cabinet-head__trash:hover{text-decoration-thickness:2px}.cabinet-head__trash:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.cabinet-head__trash--empty{color:var(--color-text-muted)}.cabinet-back{color:var(--color-text-muted);border-radius:var(--radius-xs);margin-bottom:4px;font-size:13px;text-decoration:none;display:inline-block}.cabinet-back:hover{color:var(--color-accent-strong);text-decoration:underline}.cabinet-back:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.project-card--trashed .project-card__preview{opacity:.55}.project-card__purge{color:var(--color-text-muted);font-size:12px}.project-card__purge--soon{color:var(--color-warn);font-weight:500}.project-empty--plain{border-style:solid;border-color:var(--color-border)}.apply-dialog{max-width:480px;max-height:calc(100dvh - 32px);overflow:hidden}.apply-dialog[open]{flex-direction:column;display:flex}.apply-dialog__hint{color:var(--color-text-label);margin:0 0 12px;font-size:13px}.apply-list{flex-direction:column;gap:6px;min-height:0;max-height:min(360px,50dvh);margin:0 0 16px;padding:2px;list-style:none;display:flex;overflow-y:auto}.apply-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:flex;position:relative}.apply-row:hover{background:var(--color-surface-soft)}.apply-row__input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.apply-row:has(.apply-row__input:checked){border-color:var(--color-accent-strong);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-strong)}.apply-row:has(.apply-row__input:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.apply-row[aria-disabled=true]{opacity:.6;cursor:default}.apply-row__mark{border:2px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-control);flex:none;width:16px;height:16px}.apply-row__input:checked~.apply-row__mark{border-color:var(--color-accent-strong);background:radial-gradient(var(--color-accent-strong) 0 3px, var(--color-control) 4px)}.apply-row__thumb{aspect-ratio:210/297;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-sunk);width:44px;color:var(--color-text-label);text-align:center;flex:none;justify-content:center;align-items:center;font-size:10px;display:flex;overflow:hidden}.apply-row__thumb img{object-fit:cover;object-position:top center;background:#fff;width:100%;height:100%;display:block}.apply-row__body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.apply-row__name{color:var(--color-text);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;display:-webkit-box;overflow:hidden}.apply-row__date{color:var(--color-text-label);font-size:12px}.apply-row__current{border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-strong);border:1px solid var(--color-accent-strong);white-space:nowrap;align-self:flex-start;margin-top:2px;padding:0 6px;font-size:11px;font-weight:600;line-height:16px}.apply-skeleton{border-radius:var(--radius-md);background:var(--color-surface-sunk);height:62px;margin-bottom:6px}@media (prefers-reduced-motion:no-preference){.apply-skeleton{animation:1.2s ease-in-out infinite apply-pulse}}@keyframes apply-pulse{50%{opacity:.5}}.apply-dialog .ui-alert{margin:0 0 12px}@media (max-width:480px){.apply-dialog{padding:16px}.apply-dialog .ui-dialog__actions{flex-direction:column-reverse}.apply-dialog .ui-dialog__actions .ui-btn{width:100%}}.brand-limit{color:var(--color-text-label);margin:0 0 16px;font-size:13px;line-height:1.5}.brand-stage{--brand-check:var(--color-sheet-checker);background-color:var(--color-sheet-ink);background-image:repeating-conic-gradient(var(--brand-check) 0 25%, transparent 0 50%);background-size:16px 16px;justify-content:center;align-items:center;height:112px;padding:12px;display:flex;overflow:hidden}.brand-stage--dark{--brand-check:var(--color-sheet-checker-dark);background-color:var(--color-sheet-ink-dark)}.brand-stage--empty{background:var(--color-surface-sunk);color:var(--color-text-label);text-align:center;font-size:13px}.brand-stage img{object-fit:contain;max-width:100%;max-height:100%;display:block}.brand-stage--favicon img{max-width:64px;max-height:64px}.brand-card .brand-stage{border-bottom:1px solid var(--color-border)}.brand-card__site,.brand-card__meta{color:var(--color-text-label);font-size:12px}.brand-card__site{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-swatches{flex-wrap:wrap;gap:6px;margin:4px 0 2px;padding:0;list-style:none;display:flex}.brand-swatch{border-radius:var(--radius-xs);width:20px;height:20px;box-shadow:inset 0 0 0 1px var(--color-text-muted)}.brand-editor{gap:16px;max-width:760px;display:grid}.brand-title{overflow-wrap:anywhere;min-width:0}.brand-editor .ui-field{max-width:480px}.ui-btn.brand-remove{color:var(--color-danger)}.ui-btn.brand-remove:hover:not(:disabled){background:var(--color-danger-soft)}.brand-colors{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.brand-color{align-items:center;gap:10px;display:flex}.brand-color__hex{min-width:7ch;color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.brand-fonts{margin:0 0 12px;padding:0;list-style:none}.brand-fonts .ui-checkbox{margin-bottom:8px}.brand-font__name{color:var(--color-text);overflow-wrap:anywhere;font-weight:500}.brand-font__file{overflow-wrap:anywhere;font-size:12px;display:block}.brand-font--missing .brand-font__name{color:var(--color-warn)}.brand-logos{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.brand-logo{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.brand-logo--drop{border-color:var(--color-accent);background:var(--color-accent-soft)}.brand-logo .brand-stage{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);height:96px}.brand-logo__title{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.brand-logo__hint,.brand-logo__file{color:var(--color-text-label);margin:0;font-size:12px}.brand-logo__file{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-logo__actions{flex-wrap:wrap;gap:4px;margin-top:auto;display:flex}.brand-refs{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;margin:0 0 12px;padding:0;list-style:none;display:grid}.brand-ref{min-width:0;margin:0;position:relative}.brand-ref img,.brand-ref__placeholder{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunk);width:100%;display:block}.brand-ref img{object-fit:cover}.brand-ref__placeholder{color:var(--color-text-label);text-align:center;justify-content:center;align-items:center;padding:8px;font-size:12px;display:flex}.brand-ref figcaption{color:var(--color-text-label);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.brand-ref__remove{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);width:28px;height:28px;color:var(--color-danger);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex;position:absolute;top:6px;right:6px}.brand-ref__remove:hover{background:var(--color-danger-soft)}.brand-ref__remove:focus-visible,.brand-ref-add:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.brand-ref-add{aspect-ratio:1;border:2px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text-label);font:inherit;text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px;font-size:13px;display:flex}.brand-ref-add:hover:not(:disabled),.brand-ref-add--drop{border-color:var(--color-accent);color:var(--color-accent-strong)}.brand-ref-add--drop{background:var(--color-accent-soft)}.brand-ref-add:disabled{cursor:progress;opacity:.6}@media (max-width:600px){.brand-editor .ui-card{padding:16px}}.brand-book{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;max-width:560px;padding:12px;display:grid}.brand-book--empty{border:2px dashed var(--color-border-strong);grid-template-columns:minmax(0,1fr) auto;padding:16px}.brand-book--drop{border-color:var(--color-accent);background:var(--color-accent-soft)}.brand-book[aria-busy=true]{cursor:progress}.brand-book__icon{border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-surface-sunk);width:40px;height:48px;color:var(--color-text-label);letter-spacing:.04em;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.brand-book__body{gap:2px;min-width:0;display:grid}.brand-book__lead,.brand-book__name{color:var(--color-text);margin:0;font-size:14px;font-weight:500}.brand-book__lead{overflow-wrap:anywhere}.brand-book__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-book__meta,.brand-book__hint{color:var(--color-text-label);margin:0;font-size:12px;line-height:1.45}.brand-book__actions{flex-wrap:wrap;gap:4px;display:flex}@media (max-width:480px){.brand-book{grid-template-columns:40px minmax(0,1fr)}.brand-book__actions{grid-column:2}.brand-book--empty{grid-template-columns:minmax(0,1fr)}.brand-book--empty .brand-book__actions{grid-column:1}}.brand-site{gap:8px;max-width:480px;display:grid}.brand-site__bar{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.brand-site__hint,.brand-site__status,.brand-site__meta,.brand-site__limit,.brand-site__empty{color:var(--color-text-label);margin:0;font-size:12px;line-height:1.45}.brand-site__hint{flex:200px;min-width:0}.brand-site__status{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;display:flex}.brand-site__error{overflow-wrap:anywhere;margin:0}.brand-site__panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);gap:14px;min-width:0;padding:12px;display:grid}.brand-site__head{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.brand-site__title{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600}.brand-site__group{border:0;min-width:0;margin:0;padding:0}.brand-site__legend{color:var(--color-text);margin-bottom:8px;padding:0;font-size:13px;font-weight:600}.brand-site__count{color:var(--color-text-label);font-weight:400}.brand-site__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.brand-site__list--colors{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px 12px}.brand-site__list .ui-checkbox{margin-bottom:0}.brand-site__list input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.brand-site__list .ui-checkbox:has(input:disabled){cursor:not-allowed}.brand-site__list .ui-checkbox:has(input:disabled:not(:checked)){opacity:.6}.brand-site__item{min-width:0}.brand-site__item--plain{padding-left:26px;font-size:13px;line-height:1.45}.brand-site__name{color:var(--color-text);overflow-wrap:anywhere;font-weight:500}.brand-site__detail{color:var(--color-text-label);overflow-wrap:anywhere;font-size:12px;display:block}.brand-site__color{align-items:center;gap:8px;min-width:0;display:flex}.brand-site__swatch{border-radius:var(--radius-xs);width:20px;height:20px;box-shadow:inset 0 0 0 1px var(--color-text-muted);flex:none}.brand-site__hex{font-family:var(--font-mono);color:var(--color-text);font-size:13px}.brand-site__actions{flex-wrap:wrap;gap:8px;display:flex}.brand-site__note{color:var(--color-success);margin:0;font-size:13px}
