*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.inline{display:inline}.contents{display:contents}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-8{height:2rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-8{width:2rem}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:dark;background:#0a0f1a}html[data-theme=light]{color-scheme:light;background:#f5f7fb}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--app-bg, #0a0f1a)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--focus, #fbbf24);outline-offset:3px}.skip-link{position:fixed;top:10px;left:10px;z-index:100;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--text);padding:9px 12px;font-size:13px;font-weight:760;transform:translateY(-160%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.app-shell{--app-bg: #0a0f1a;--panel: #0e1524;--panel-strong: #070c16;--surface: #111a2d;--surface-strong: #0a1020;--surface-hover: #162239;--line: #243149;--line-soft: #1b263a;--text: #eef4ff;--muted: #94a3b8;--muted-strong: #64748b;--accent: #0ea5e9;--accent-strong: #0284c7;--accent-fill: #0369a1;--accent-soft: rgba(14, 165, 233, .16);--focus: #fbbf24;--green: #10b981;--green-fill: #047857;--green-soft: rgba(16, 185, 129, .14);--red: #ef4444;--amber: #f59e0b;--shadow: 0 28px 80px rgba(2, 6, 23, .42);display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 88%,transparent),var(--app-bg)),var(--app-bg);color:var(--text);font-family:ui-sans-serif,system-ui,sans-serif}.app-shell.theme-light{--app-bg: #f5f7fb;--panel: #ffffff;--panel-strong: #f8fafc;--surface: #ffffff;--surface-strong: #f1f5f9;--surface-hover: #eaf1fb;--line: #d7dfeb;--line-soft: #e6ebf3;--text: #102033;--muted: #56657a;--muted-strong: #718096;--accent: #006bb6;--accent-strong: #00518e;--accent-fill: #00518e;--accent-soft: rgba(0, 107, 182, .11);--focus: #7c3aed;--green: #00866a;--green-fill: #006b55;--green-soft: rgba(0, 134, 106, .12);--red: #d43f3a;--amber: #805000;--shadow: 0 24px 70px rgba(30, 45, 70, .18)}.top-band{display:flex;min-height:44px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:var(--panel-strong);padding:5px 18px}.top-band-title{display:flex;min-width:0;flex-direction:column;gap:2px}.app-picker{position:relative;min-width:0}.app-picker h1{margin:0}.app-picker-button{display:inline-flex;max-width:100%;align-items:center;gap:4px;border:0;background:transparent;color:var(--text);padding:0;text-align:left;font-size:14px;font-weight:780;line-height:1;cursor:pointer}.app-picker-button:hover,.app-picker-button:focus-visible{color:var(--accent)}.app-picker-button svg{flex:0 0 auto;color:var(--muted)}.app-picker-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-band-title p,.commons-status span,.preset-button span,.upload-panel p,.upload-panel small,.export-bar span,.canvas-metadata,.section-note{color:var(--muted)}.top-band-title p{margin:0;font-size:11px;line-height:1.15}.app-picker-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:320px;max-width:calc(100vw - 28px);border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px #00000047;padding:8px}.app-picker-option{display:block;border-radius:8px;color:var(--text);padding:10px;text-decoration:none}.app-picker-option:hover,.app-picker-option:focus-visible{background:var(--surface-hover)}.app-picker-option-current{background:var(--surface-hover)}.app-picker-option-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:700;line-height:1.2}.app-picker-option-current .app-picker-option-title{color:var(--accent)}.app-picker-option-description{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}.top-band-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.app-body{display:flex;min-height:0;flex:1}.app-footer{display:flex;min-height:24px;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;border-top:1px solid var(--line);background:var(--panel-strong);color:var(--muted);padding:3px 18px;font-size:10px;line-height:1.3;text-align:center}.app-footer a{color:var(--muted);text-decoration:none;text-underline-offset:3px}.app-footer a:hover{color:var(--text);text-decoration:underline}.sidebar{display:flex;width:480px;height:100%;flex-direction:column;overflow-y:auto;border-right:1px solid var(--line);background:var(--panel-strong)}.theme-toggle{display:grid;grid-template-columns:1fr 1fr;gap:2px;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);padding:3px}.theme-toggle button{display:grid;width:30px;height:26px;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--muted)}.theme-toggle button.active{background:var(--accent-fill);color:#fff}.sidebar-body{display:flex;flex-direction:column;gap:28px;padding:22px 24px 48px}.control-section{display:flex;flex-direction:column;gap:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title{display:flex;min-width:0;align-items:center;gap:8px;color:var(--muted)}.section-title h2{margin:0;color:var(--text);font-size:13px;font-weight:760;line-height:1.2;text-transform:uppercase}.section-title svg{color:var(--accent)}.section-meta{flex:0 0 auto;border-radius:999px;background:var(--surface);padding:3px 8px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:var(--accent)}.status-dot-red{background:var(--red)}.status-dot-green{background:var(--green)}.status-dot-amber{background:var(--amber)}.preset-grid,.logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preset-button{min-height:46px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:9px 10px;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease}.preset-button:hover{border-color:var(--accent);background:var(--surface-hover);transform:translateY(-1px)}.preset-button strong{display:block;color:var(--text);font-size:12px;line-height:1.2}.preset-button span{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3}.preset-picker{display:none;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:9px 10px;font-size:12px}.logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.central-logo-panel{display:flex;flex-direction:column;gap:7px}.central-logo-picker{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:8px 10px}.central-logo-label{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:650}.central-logo-glyph{display:flex;width:34px;height:34px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--line-soft);border-radius:7px;background:var(--surface-strong);padding:5px}.central-logo-glyph svg{width:100%;height:100%}.central-logo-select{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--text);padding:7px 10px}.central-logo-details{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.central-logo-details>div{min-width:0;border:1px solid var(--line-soft);border-radius:7px;background:var(--surface);padding:6px 7px}.central-logo-details dt{color:var(--muted);font-size:9px;font-weight:700;line-height:1.1;text-transform:uppercase}.central-logo-details dd{overflow:hidden;margin:3px 0 0;color:var(--text);font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.central-logo-details a{color:var(--accent)}.central-logo-details code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.logo-tile{position:relative;display:flex;min-width:0;min-height:70px;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);padding:8px 6px;transition:border-color .15s ease,background .15s ease,color .15s ease}.logo-tile:hover{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:var(--surface-hover);color:var(--text)}.logo-tile-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.logo-tile-green.logo-tile-active{border-color:var(--green);background:var(--green-soft)}.logo-tile-disabled{opacity:.45}.logo-tile span{width:100%;overflow:hidden;margin-top:7px;font-size:9px;font-weight:650;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.logo-tile b{position:absolute;top:5px;right:5px;display:grid;width:16px;height:16px;place-items:center;border-radius:999px;background:var(--accent-fill);color:#fff}.logo-tile-green b{background:var(--green-fill)}.commons-mark{position:absolute;top:7px;left:7px;width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px var(--surface)}.logo-glyph{display:flex;width:34px;height:34px;align-items:center;justify-content:center}.logo-glyph svg{width:100%;height:100%}.library-inline-button,.library-open-action{width:100%}.library-inline-button{display:flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:0 12px;font-size:12px;font-weight:720}.library-inline-button:hover{border-color:var(--accent);background:var(--surface-hover)}.library-section-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.library-section-tools>span{color:var(--muted);font-size:10px;line-height:1.35}.library-open-action{min-height:38px}.library-dialog-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#020617a8;padding:18px}.library-dialog{display:flex;width:min(980px,100%);max-height:min(760px,calc(100dvh - 36px));min-height:min(680px,calc(100dvh - 36px));flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.library-dialog-header{display:flex;min-height:54px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:var(--panel-strong);padding:12px 14px}.library-dialog-header>div{display:flex;min-width:0;align-items:center;gap:9px}.library-dialog-header h2{margin:0;color:var(--text);font-size:14px;font-weight:780;line-height:1.2}.library-dialog-header svg{color:var(--accent)}.library-close-button{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted)}.library-close-button:hover{border-color:var(--accent);color:var(--text)}.library-toolbar{display:grid;gap:12px;border-bottom:1px solid var(--line);background:var(--panel);padding:14px}.library-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--muted);padding:0 10px}.library-search input{width:100%;min-height:40px;min-width:0;border:0;background:transparent;color:var(--text);outline:none;font-size:13px}.library-filter-row{display:flex;flex-wrap:wrap;gap:7px}.library-filter-row button{display:inline-flex;min-height:32px;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);padding:0 9px;font-size:11px;font-weight:700}.library-filter-row button:hover{border-color:var(--accent);color:var(--text)}.library-filter-row button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.library-filter-row b{display:inline-grid;min-width:18px;height:18px;place-items:center;border-radius:999px;background:var(--surface-strong);color:var(--muted);padding:0 5px;font-size:10px}.library-results-summary{display:flex;min-height:34px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-soft);color:var(--muted);padding:0 14px;font-size:11px}.library-results{display:grid;min-height:0;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;overflow-y:auto;padding:14px}.library-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px}.library-card-active{border-color:color-mix(in srgb,var(--green) 60%,var(--line));background:var(--green-soft)}.library-logo-glyph,.library-logo-placeholder{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface-strong);color:var(--muted)}.library-logo-glyph{padding:7px}.library-logo-glyph svg{width:100%;height:100%}.library-logo-placeholder{overflow:hidden;padding:0 5px;font-size:11px;font-weight:780;text-align:center}.library-card-main{min-width:0}.library-card-title{display:flex;min-width:0;align-items:center;gap:7px}.library-card-title strong{min-width:0;overflow:hidden;color:var(--text);font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.library-card-title span{flex:0 0 auto;border:1px solid var(--line-soft);border-radius:999px;color:var(--muted);padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.library-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px;color:var(--muted);font-size:10px}.library-card-meta a{color:var(--accent);text-decoration:none}.library-card-meta a:hover{text-decoration:underline;text-underline-offset:3px}.library-card-error{margin:7px 0 0;color:var(--red);font-size:10px;line-height:1.35}.library-card-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.library-card-actions button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:7px;background:var(--surface-strong);color:var(--text);padding:0 8px;font-size:11px;font-weight:720}.library-card-actions button:hover:not(:disabled){border-color:var(--accent);background:var(--surface-hover)}.library-card-actions button:disabled{opacity:.48}.library-empty{grid-column:1 / -1;margin:18px 0;color:var(--muted);text-align:center;font-size:12px}.section-note{margin:0;font-size:11px;line-height:1.45}.section-note strong{color:var(--amber);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sequence-panel,.halo-panel,.upload-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.sequence-panel{padding:12px}.sequence-panel>strong,.upload-panel h3{display:block;margin:0 0 10px;color:var(--text);font-size:12px}.sequence-list{max-height:168px;overflow-y:auto;padding-right:4px}.sequence-row{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line-soft);color:var(--text);font-size:12px}.sequence-row:last-child{border-bottom:0}.sequence-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sequence-row div{display:flex;flex:0 0 auto;gap:3px}.sequence-row button{display:grid;width:25px;height:25px;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted)}.sequence-row button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.sequence-row button:disabled{opacity:.35}.halo-panel{padding:14px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title-row>div{display:flex;align-items:center;gap:8px}.panel-title-row h3{margin:0;color:var(--text);font-size:13px}.panel-title-row svg{color:var(--accent)}.panel-controls{display:flex;flex-direction:column;gap:15px;margin-top:14px;border-top:1px solid var(--line-soft);padding-top:14px}.compact-label,.range-label{color:var(--muted);font-size:11px}.compact-label{display:block;margin-bottom:8px}.color-row{display:flex;align-items:center;gap:7px}.color-row button{width:24px;height:24px;border:0;border-radius:999px;transition:transform .15s ease}.color-row button:hover,.color-row button.active{transform:scale(1.12)}.color-row button.active{outline:2px solid var(--text);outline-offset:2px}.color-row input[type=color]{width:34px;height:28px;margin-left:auto;border:0;background:transparent}.range-control{display:flex;flex-direction:column;gap:7px}.range-label{display:flex;justify-content:space-between;gap:12px}.range-label span:last-child{flex:0 0 auto;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.range-control input[type=range]{width:100%;height:4px;border-radius:999px;accent-color:var(--accent);background:var(--line);cursor:pointer}.field-row{display:flex;align-items:center;gap:10px}.field-row>span{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:650}.field-row select{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--text);padding:7px 10px}.alignment-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px 12px}.alignment-row strong,.alignment-row span{display:block}.alignment-row strong{color:var(--text);font-size:12px}.alignment-row span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}.auto-scale-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:9px 12px;color:var(--muted);font-size:11px}.auto-scale-summary strong{flex:0 0 auto;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.switch-control{position:relative;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--muted);font-size:12px;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-track{position:relative;display:inline-block;width:38px;height:22px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong)}.switch-track:after{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:var(--muted);content:"";transition:transform .15s ease,background .15s ease}.switch-control[aria-checked=true] .switch-track{border-color:var(--accent);background:var(--accent-soft)}.switch-control[aria-checked=true] .switch-track:after{transform:translate(16px);background:var(--accent-fill)}.upload-panel{padding:14px}.upload-panel h3{display:flex;align-items:center;gap:7px;text-transform:uppercase}.upload-panel h3 svg{color:var(--accent)}.upload-panel p{margin:0 0 12px;font-size:11px}.commons-add-form{display:flex;gap:8px}.commons-add-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--text);padding:8px 10px;font-size:12px}.commons-add-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.commons-add-form .secondary-action{flex:0 0 auto;min-height:0;padding:0 14px}.error-text{margin-top:8px!important;color:var(--red)!important}.workspace{display:flex;min-width:0;height:100%;flex:1;flex-direction:column;background:var(--app-bg)}.canvas-stage{position:relative;display:flex;min-height:0;flex:1;align-items:center;justify-content:center;overflow:hidden;padding:34px}.canvas-frame{position:relative;aspect-ratio:1;width:min(560px,100%);max-height:86%;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#0f172a;box-shadow:var(--shadow)}.canvas-frame canvas,.canvas-backdrop{position:absolute;inset:0}.canvas-frame canvas{z-index:10;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.canvas-backdrop{z-index:0}.render-overlay{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:color-mix(in srgb,var(--panel-strong) 70%,transparent);color:var(--accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.render-overlay span{color:var(--text);font-size:12px}.canvas-metadata{position:absolute;bottom:18px;left:24px;display:flex;flex-wrap:wrap;gap:8px;font-size:10px}.canvas-metadata span{border:1px solid var(--line);border-radius:6px;background:var(--panel-strong);padding:4px 7px}.export-bar{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);background:var(--panel-strong);padding:16px 24px}.export-bar strong{color:var(--text);font-size:12px}.export-info span{font-size:10px}.primary-action,.secondary-action{display:flex;min-height:42px;align-items:center;justify-content:center;gap:9px;border-radius:8px;padding:0 18px;font-size:13px;font-weight:760}.primary-action{border:1px solid var(--accent-strong);background:var(--accent-fill);color:#fff}.secondary-action{border:1px solid var(--line);background:var(--surface);color:var(--text)}.primary-action span,.secondary-action span{color:inherit;font-size:13px}.bg-checkerboard{background-color:#0f172a;background-image:linear-gradient(45deg,#22304a 25%,transparent 25%),linear-gradient(-45deg,#22304a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#22304a 75%),linear-gradient(-45deg,transparent 75%,#22304a 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.theme-light .bg-checkerboard{background-color:#eef3f9;background-image:linear-gradient(45deg,#dbe5f1 25%,transparent 25%),linear-gradient(-45deg,#dbe5f1 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dbe5f1 75%),linear-gradient(-45deg,transparent 75%,#dbe5f1 75%)}.control-scrollbar{scrollbar-color:var(--muted-strong) var(--panel-strong);scrollbar-width:thin}.control-scrollbar::-webkit-scrollbar{width:10px}.control-scrollbar::-webkit-scrollbar-track{background:var(--panel-strong)}.control-scrollbar::-webkit-scrollbar-thumb{border:2px solid var(--panel-strong);border-radius:999px;background:var(--muted-strong)}@media(max-width:1023px){.app-shell{height:auto;min-height:100dvh;overflow:visible}.top-band{flex-wrap:wrap}.app-body{flex-direction:column}.sidebar{width:100%;height:auto;order:2;overflow:visible;border-right:0;border-top:1px solid var(--line)}.workspace{display:contents}.canvas-stage{order:1;position:sticky;top:0;z-index:20;flex:none;padding:14px 16px;background:var(--app-bg);border-bottom:1px solid var(--line)}.canvas-frame{width:min(340px,62vw);max-height:none}.export-bar{order:3}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.preset-button:hover,.color-row button:hover,.color-row button.active{transform:none}}.design-toolbar{display:flex;align-items:center;gap:8px}.header-button{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:7px 10px;font-size:12px;font-weight:600;cursor:pointer}.header-button:hover:not(:disabled){border-color:var(--accent);background:var(--surface-hover)}.header-button:disabled{opacity:.5;cursor:not-allowed}.header-button input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.header-badge{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700}.designs-menu{position:relative}.designs-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:260px;max-height:320px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px #00000047;padding:8px}.designs-list{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:4px}.designs-list li{display:flex;align-items:center;gap:6px}.designs-apply{flex:1;min-width:0;text-align:left;border:0;border-radius:6px;background:transparent;color:var(--text);padding:8px 10px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.designs-apply:hover{background:var(--surface-hover)}.designs-list li>button:last-child{display:inline-flex;align-items:center;justify-content:center;padding:7px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.designs-list li>button:last-child:hover{color:var(--text);background:var(--surface-hover)}.designs-empty{margin:4px 6px 8px;color:var(--muted);font-size:11px;line-height:1.4}.designs-note{margin:0;padding-top:8px;border-top:1px solid var(--line-soft);color:var(--muted-strong);font-size:10px;line-height:1.4}.refresh-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer}.refresh-button:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.refresh-button:disabled{opacity:.6;cursor:progress}.footer-sync{color:var(--muted)}.export-bar{flex-wrap:wrap}.export-info{display:flex;flex-direction:column;gap:4px}.export-options{display:flex;gap:12px;align-items:flex-end}.export-options label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted)}.export-options select{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:8px 10px;font-size:12px}.export-actions{display:flex;flex-wrap:wrap;gap:12px}.export-status{flex-basis:100%;margin:0;min-height:14px;font-size:11px;color:var(--muted);text-align:right}.attribution-format{display:flex;gap:6px}.attribution-format button{flex:1;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);padding:7px 10px;font-size:11px;font-weight:650}.attribution-format button:hover{border-color:var(--accent);color:var(--text)}.attribution-format button.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft);color:var(--accent)}.attribution-text{width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:10px;font-size:11px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.attribution-text:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.attribution-copy{margin-top:10px;width:100%}.sequence-row span{flex:1}.sequence-drag-handle{cursor:grab;touch-action:none}.sequence-drag-handle:active{cursor:grabbing}.sequence-row-dragging{opacity:.5}.sequence-row-over{box-shadow:inset 0 2px 0 var(--accent)}@media(max-width:640px){.top-band{align-items:center;gap:10px;padding:8px 14px}.top-band-title p{display:none}.top-band-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px}.header-button>span:not(.header-badge){display:none}.header-button{padding:8px}.design-toolbar{gap:6px}.designs-dropdown{width:min(280px,calc(100vw - 28px));max-width:calc(100vw - 28px)}.sidebar-body{padding:20px 16px 32px}.preset-grid{display:none}.preset-picker{display:block}.canvas-metadata{right:16px;bottom:12px;left:16px}.export-bar{gap:12px;padding:14px 16px}.export-info{display:none}.export-options{width:100%}.export-options label{flex:1}.export-actions{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:10px}.primary-action,.secondary-action{width:100%;padding:0 12px}.sequence-row button{width:34px;height:34px}.color-row button{width:30px;height:30px}.library-dialog-backdrop{align-items:stretch;padding:10px}.library-dialog{max-height:calc(100dvh - 20px);min-height:0}.library-results{grid-template-columns:1fr;padding:10px}.library-filter-row{display:grid;grid-template-columns:1fr 1fr}.library-filter-row button{justify-content:space-between}.library-card{grid-template-columns:42px minmax(0,1fr)}.library-logo-glyph,.library-logo-placeholder{width:42px;height:42px}}
