/* Semantic theme colors and readable typography. Canvas pixels are independent. */
:root{--ui-font:Arial,"Helvetica Neue",system-ui,sans-serif;--text-scale:1;--green:#126b4b;--green-dark:#0d5139;--accent-ink:#fff;--mint:#e7f0eb;--ink:#182e25;--muted:#455d52;--line:#becdc4;--control-line:#71877b;--panel:#fff;--panel-soft:#edf3ef;--workspace:#dbe4de;--range-track:#c6d4cb;font-family:var(--ui-font);font-size:calc(15px * var(--text-scale));font-synthesis:none}
body{background:var(--panel-soft);font-weight:500;line-height:1.45}
button:disabled{opacity:.42}
svg{stroke-width:1.85}
.app-header,.ribbon,.tool-rail,.inspector,.statusbar,dialog,.dropdown,.text-editor-actions{background:var(--panel);color:var(--ink);border-color:var(--line)}
.app-header{height:auto;min-height:72px;padding:12px 20px;gap:12px 22px;flex-wrap:wrap}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:700;line-height:1.1;letter-spacing:-1.4px}
.brand-icon,.rail-tools .tool-button.active,.button-green{background:var(--green);color:var(--accent-ink)}
.brand-dot{color:var(--green)}
.header-actions{margin-left:auto;gap:10px;flex-shrink:0}
.header-document{color:var(--muted);min-width:0;max-width:220px;overflow:hidden}
#save-status{overflow:hidden;text-overflow:ellipsis}
.menu-button{color:var(--ink);font-weight:600;padding:9px 10px}
.button{min-height:40px;height:auto;padding:10px 17px;font-weight:700}
.button-dark{background:var(--ink);color:var(--panel)}
.button-dark:hover{background:var(--muted)}
.button-green:hover{background:var(--green-dark)}
.button-ghost,.small-button{background:var(--panel-soft);color:var(--ink);border-color:var(--control-line)}
.icon-button,.text-button,.tool-button,.dropdown svg,.document-mark{color:var(--muted)}
.icon-button:hover:not(:disabled),.menu-button:hover,.menu-button[aria-expanded=true],.tool-button:hover,.text-button:hover,.dropdown button:hover,.dropdown a:hover,.layer-row:hover{background:var(--panel-soft);color:var(--ink)}
.appearance-trigger{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--control-line);border-radius:7px;min-height:38px;padding:7px 10px;color:var(--ink);font-weight:700;white-space:nowrap}
.appearance-trigger svg{width:18px;height:18px;color:var(--green)}
.appearance-trigger:hover{background:var(--panel-soft)}
.language-select,select{background:var(--panel);color:var(--ink);border-color:var(--control-line);font-family:var(--ui-font);font-weight:500;min-height:36px}
.language-select{width:112px;height:38px}
.dropdown{min-width:320px;max-width:calc(100vw - 24px)}
.dropdown button,.dropdown a{white-space:normal;font-weight:500;line-height:1.45}
.dropdown kbd,.tool-heading>kbd,.shortcut-grid kbd{font-family:var(--ui-font);font-size:calc(12px * var(--text-scale));color:var(--muted);letter-spacing:0}
.dropdown kbd{white-space:nowrap}
.ribbon{height:auto;min-height:100px;gap:20px;padding:14px 20px}
.eyebrow,.recent-label{color:var(--muted);letter-spacing:.75px;font-weight:700}
.brush-group{width:190px}
.brush-group select{font-size:calc(14px * var(--text-scale));width:174px;color:var(--ink)}
.tool-button.active{background:var(--mint);color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.palette button,.recent-colors button{border-color:var(--control-line)}
.palette button.active:after{border:2px solid var(--green)}
.editor-layout{position:relative;grid-template-columns:64px minmax(0,1fr) clamp(290px,23vw,350px)}
.workspace{background:var(--workspace)}
.workspace-toolbar,.workspace-hint{background:var(--panel-soft);border-color:var(--line);color:var(--muted)}
.workspace-toolbar{min-height:54px;padding:8px 20px;flex-shrink:0}
.document-info input{color:var(--ink);font-weight:600}
.file-type,.hint-shortcut{color:var(--muted)}
.workspace-hint{min-height:37px;height:auto;padding:8px 12px;line-height:1.4;flex-wrap:wrap;text-align:center}
.viewport{background-image:radial-gradient(var(--line) .7px,transparent .7px)}
.inspector-heading{min-height:51px;height:auto;padding:14px 20px;font-weight:700}
.property-content{padding:18px 20px;max-height:none;flex:1 1 420px;scrollbar-color:var(--control-line) transparent}
.tool-heading>div{min-width:0}
.tool-heading strong{font-size:calc(16px * var(--text-scale));font-weight:700}
.tool-heading span:not(.selected-tool-icon){color:var(--muted);line-height:1.45}
.selected-tool-icon,.tool-heading>kbd,.dialog-icon{background:var(--panel-soft);color:var(--green);border-color:var(--line)}
.stroke-preview{background:#f5f7f5;border-color:var(--line);height:98px;min-height:98px;padding:5px 0}
.stroke-preview>span{position:static;align-self:flex-end;margin-right:10px;color:#40594c}
.property-row,.property-row output,.field-label,.property-note,.font-options,.layer-opacity,.layer-opacity span{color:var(--muted)}
.property-row label,.field-label,.color-properties>.property-row>span,.layer-opacity label{font-weight:600}
.property-row output{color:var(--ink);font-weight:700}
.property-row output>span{color:var(--muted)}
.property-note{line-height:1.6}
.font-options input,.font-options button,.field-label>input,.number-field{background:var(--panel);color:var(--ink);border-color:var(--control-line)}
.font-options button[aria-pressed=true],.size-fields>.icon-button[aria-pressed=true],.grid-button[aria-pressed=true]{background:var(--mint);color:var(--green);border-color:var(--green)}
.font-options input{height:36px}
.font-options button{width:34px;height:34px}
input[type=range]{height:22px;margin-top:9px}
input[type=range]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--green) var(--range,50%),var(--range-track) var(--range,50%))}
input[type=range]::-moz-range-track{height:4px;background:var(--range-track)}
input[type=range]::-webkit-slider-thumb{width:15px;height:15px;margin-top:-5.5px;border:3px solid var(--green);background:var(--panel);box-shadow:0 0 0 2px var(--panel)}
input[type=range]::-moz-range-thumb{width:11px;height:11px;border:3px solid var(--green);background:var(--panel)}
.color-picker-label,.secondary-picker,.hex-label{border-color:var(--control-line)}
.hex-label{min-height:36px;color:var(--muted)}
.hex-label input{color:var(--ink);font-size:calc(14px * var(--text-scale));font-family:ui-monospace,monospace}
.recent-colors button{width:23px;height:23px}
.layers-panel{flex:1 1 280px;min-height:230px}
.layers-heading{height:auto;min-height:49px;padding:10px 16px 10px 20px}
.layers-heading h2{font-size:calc(15px * var(--text-scale));font-weight:700}
.layers-heading h2 span{background:var(--panel-soft);color:var(--muted)}
.layer-row{min-height:56px}
.layer-row.active{background:var(--mint);border-color:var(--green)}
.layer-row .layer-eye,.layer-row input,.layer-row>.layer-name,.layer-row .lock-icon{color:var(--muted)}
.layer-row input{font-weight:600;color:var(--ink)}
.background-layer{opacity:1}
.layer-actions{border-color:var(--line);padding-top:7px;padding-bottom:7px}
.layer-actions>.icon-button{width:34px;height:32px}
.layer-actions .icon-button svg{width:17px;height:17px}
.layer-opacity{padding:10px 20px 5px}
.inspector-foot{color:var(--muted);white-space:normal;line-height:1.45;padding:12px 16px}
.statusbar{height:auto;min-height:43px;padding:6px 18px;gap:10px;color:var(--muted)}
.status-left>#cursor-position{min-width:0}
.status-divider{background:var(--line)}
.dimensions svg,.zoom-label{color:var(--muted)}
.zoom-label{min-width:54px;width:auto}
.text-editor-actions>span{color:var(--muted)}
dialog{width:550px;border-color:var(--control-line);padding:28px 30px}
dialog::backdrop{background:#071525a6;backdrop-filter:none}
dialog h1{font-family:var(--ui-font);font-weight:700;letter-spacing:-.6px}
.dialog-intro,.format-presets small,.size-fields>label,.number-field,.checkbox-label,.shortcut-grid>div,.help-note,.help-note strong{color:var(--muted)}
.format-presets button,.help-note,.export-preview,.shortcut-grid kbd{background:var(--panel-soft);border-color:var(--line);color:var(--muted)}
.format-presets button.active{background:var(--mint);border-color:var(--green);color:var(--green)}
.format-icon{border-color:var(--control-line)}
.number-field input{color:var(--ink)}
.field-label>input{background:var(--panel);color:var(--ink)}
.dialog-actions{border-color:var(--line)}
.toast{background:var(--ink);color:var(--panel);backdrop-filter:none;font-size:calc(14px * var(--text-scale))}
.drop-overlay{background:var(--panel);color:var(--green);border-color:var(--green)}
.drop-overlay span{color:var(--muted)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:3px}

/* Appearance editor: changes are immediate and persist on this browser. */
#appearance-dialog{width:760px}
.appearance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.appearance-heading h1{margin:0 0 8px;font-size:calc(25px * var(--text-scale))}
.appearance-heading>.icon-button{flex-shrink:0}
.appearance-intro{margin:0 0 24px;color:var(--muted);font-size:calc(14px * var(--text-scale))}
.appearance-section{border:0;padding:0;margin:0 0 22px;min-width:0}
.appearance-section legend{font-size:calc(14px * var(--text-scale));font-weight:700;margin-bottom:11px}
.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.theme-choice{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;border:1px solid var(--control-line);border-radius:9px;padding:10px;color:var(--ink);font-size:calc(14px * var(--text-scale));font-weight:700}
.theme-choice[aria-pressed=true]{border:2px solid var(--green);padding:9px;background:var(--mint)}
.theme-choice:focus-visible{outline-offset:2px}
.theme-sample{display:flex;width:100%;height:55px;border-radius:5px;overflow:hidden;border:1px solid #93a39a;background:#dce5df;position:relative}
.theme-sample:before{content:'';width:25%;height:100%;background:#fff;border-right:1px solid #93a39a}
.theme-sample:after{content:'';position:absolute;left:38%;right:13%;top:15px;height:25px;background:#fff;box-shadow:0 -9px 0 -6px #152e22}
.theme-sample.dark{background:#0d1522;border-color:#73849e}
.theme-sample.dark:before{background:#202e43;border-color:#73849e}
.theme-sample.contrast{background:#cdd6d0;border:2px solid #152e22}
.appearance-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.appearance-fields label,.accent-label{display:flex;flex-direction:column;gap:10px;font-size:calc(14px * var(--text-scale));font-weight:600}
.appearance-fields select{width:100%;font-size:calc(14px * var(--text-scale));min-height:42px}
.size-label{display:flex;align-items:center;justify-content:space-between;gap:10px}
#appearance-size-value{color:var(--green);font-weight:700}
.accent-options{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:12px}
.accent-choice{height:32px;width:32px;background:var(--swatch);border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--control-line)}
.accent-choice[aria-pressed=true]{outline:3px solid var(--ink);outline-offset:3px}
.custom-accent{position:relative;overflow:hidden;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:calc(13px * var(--text-scale));margin-left:8px}
.custom-accent input[type=color]{position:static;opacity:1;width:38px;height:34px;inset:auto;border:1px solid var(--control-line);border-radius:5px;padding:2px;background:var(--panel)}
.appearance-preview{border:1px solid var(--line);border-left:5px solid var(--green);border-radius:8px;padding:16px 18px;background:var(--panel-soft)}
.appearance-preview strong{display:block;font-size:calc(18px * var(--text-scale));margin-bottom:6px;color:var(--ink)}
.appearance-preview p{margin:0;color:var(--muted);font-size:calc(14px * var(--text-scale));line-height:1.5}
.appearance-note{color:var(--muted);font-size:calc(12px * var(--text-scale));line-height:1.5;margin:16px 0 0}
#appearance-dialog .dialog-actions{justify-content:space-between;margin-top:20px;flex-wrap:wrap}
html[data-theme=contrast] .icon-button svg,html[data-theme=contrast] .tool-button svg{stroke-width:2.2}
html[data-theme=contrast] .appearance-preview,html[data-theme=contrast] select{border-width:2px}

@media(max-width:1250px){.header-document{display:none}.app-header{gap:10px 16px}.menu-button{padding:8px}.header-actions{gap:8px}}
@media(max-width:1180px){.editor-layout{grid-template-columns:58px minmax(0,1fr) 290px}.ribbon{gap:15px;padding-left:14px;padding-right:14px}.ribbon-group{padding-left:15px}.inspector-foot{font-size:calc(12px * var(--text-scale))}}
@media(max-width:1000px){.brush-group{width:165px}.brush-group select{width:150px;font-size:calc(13px * var(--text-scale))}.appearance-trigger{padding:7px 9px}}
@media(max-width:900px){.editor-layout{grid-template-columns:57px minmax(0,1fr)}.inspector{position:absolute;top:0;bottom:0;width:min(340px,calc(100% - 57px));max-height:none;border-color:var(--line)}.property-content{padding:18px 20px}.brush-group{display:none}.appearance-trigger span{display:none}.appearance-trigger{justify-content:center;width:38px;padding:7px}.header-actions>.icon-button{display:none}.ribbon{min-height:88px}.layers-panel{min-height:220px}}
@media(max-width:640px){.app-header{min-height:112px;padding:11px 12px;gap:10px 12px}.app-header .brand{font-size:26px!important}.menubar{margin-left:auto}.menu-button{font-size:calc(14px * var(--text-scale));padding:7px 6px}.header-actions{flex-basis:100%;margin-left:0;justify-content:flex-end;gap:10px}.appearance-trigger{width:auto;padding:7px 10px;min-height:38px}.appearance-trigger span{display:inline}.language-select{width:108px;font-size:calc(13px * var(--text-scale));padding:5px 7px}.export-top{font-size:calc(13px * var(--text-scale));padding:8px 12px}.header-actions .button svg{display:block}.export-top svg{width:15px}.ribbon{height:80px;min-height:80px;padding:0 10px;gap:12px}.ribbon-group{padding-left:12px}.editor-layout{grid-template-columns:47px minmax(0,1fr)}.inspector{width:min(330px,calc(100% - 47px));top:0;bottom:0;max-height:none}.workspace-toolbar{padding:7px 12px;min-height:48px}.document-info input{font-size:calc(14px * var(--text-scale))}.workspace-hint{font-size:calc(12px * var(--text-scale));min-height:34px}.statusbar{padding:5px 8px;min-height:40px}.dimensions{font-size:calc(12px * var(--text-scale))}.zoom-label{font-size:calc(12px * var(--text-scale));min-width:44px}.zoom-controls{gap:2px}.zoom-controls input{width:45px}.dropdown{top:57px;min-width:0;left:12px;width:calc(100vw - 24px)}dialog{padding:22px 20px}.theme-options{gap:8px}.theme-choice{padding:7px;font-size:calc(12px * var(--text-scale))}.theme-choice[aria-pressed=true]{padding:6px}.theme-sample{height:45px}.appearance-fields{grid-template-columns:1fr;gap:18px}.appearance-heading h1{font-size:calc(23px * var(--text-scale))}.appearance-intro{margin-bottom:20px}.format-presets button{height:auto;min-height:110px}.format-presets small{font-size:calc(12px * var(--text-scale))}.dialog-actions .button{font-size:calc(14px * var(--text-scale))}.inspector-foot{display:none}}
@media(max-width:380px){.header-actions{gap:7px}.appearance-trigger{padding:7px 8px}.appearance-trigger span{font-size:calc(12px * var(--text-scale))}.language-select{width:100px}.export-top{padding:8px 10px}.header-actions .export-top svg{display:none}}
@media(max-width:640px){.header-actions{flex-wrap:wrap}.language-select{width:calc(105px * var(--text-scale))}.statusbar{flex-wrap:wrap;gap:5px 10px}.zoom-controls{margin-left:auto}.status-left{flex:1 1 auto}}

/* Retained drawing elements share the existing inspector. */
#overlay[data-tool=move]{cursor:move}
.selection-handles{position:absolute;inset:0;z-index:6;pointer-events:none}
.object-resize-handle{position:absolute;width:9px;height:9px;min-width:0;padding:0;border:1.5px solid #197657;border-radius:1px;background:#fff;box-shadow:0 0 0 1px #fff;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none}
.object-resize-handle::before{content:"";position:absolute;inset:-8px}
.object-resize-handle:hover,.object-resize-handle:focus-visible,.object-resize-handle.resizing{width:12px;height:12px;background:#197657;border-color:#fff;box-shadow:0 0 0 1.5px #197657}
#move-settings{display:flex;flex-direction:column;margin-top:8px;padding-top:10px}
#move-settings>.property-note{order:1}
#move-settings>.field-label{margin-bottom:14px}
#element-count{font-size:calc(12px * var(--text-scale));color:var(--muted)}
.move-coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.move-coordinate-fields label{font-size:calc(13px * var(--text-scale));font-weight:600;display:flex;align-items:center;gap:8px}
.move-coordinate-fields input{width:100%;min-width:0;height:35px;border:1px solid var(--control-line);border-radius:5px;background:var(--panel);color:var(--ink);padding:4px 7px;font-size:calc(14px * var(--text-scale))}
.move-element-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#element-legacy-note{padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}
@media(max-height:760px){.rail-tools{gap:3px}.rail-tools .tool-button{height:32px}.rail-divider{margin-top:3px;margin-bottom:3px}}

/* Expanded workspace keeps drawing tools and a permanent way back. */
.workspace-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:5px 10px;border:1px solid var(--control-line);border-radius:6px;color:var(--ink);font-size:calc(13px * var(--text-scale));font-weight:600;white-space:nowrap}
.workspace-toggle svg{width:17px;height:17px;flex-shrink:0}
.workspace-toggle:hover,.workspace-toggle[aria-pressed=true]{background:var(--mint);color:var(--green);border-color:var(--green)}
.workspace-properties{display:none}
.workspace-expanded .editor-layout{grid-template-columns:64px minmax(0,1fr)}
.workspace-expanded .ribbon,.workspace-expanded .workspace-hint,.workspace-expanded .inspector{display:none}
.workspace-expanded .stage{padding:16px}
.workspace-expanded .workspace-properties{display:inline-flex;width:32px;height:32px}
.workspace-expanded .workspace-properties[aria-expanded=true]{background:var(--mint);color:var(--green)}
.workspace-expanded .inspector{position:absolute;z-index:30;right:0;top:0;bottom:0;width:min(350px,calc(100% - 64px));max-height:none;box-shadow:-12px 0 32px #07152529}
.workspace-expanded .inspector.open{display:flex}
.workspace-expanded .close-inspector{display:inline-flex}
@media(max-width:1180px){.workspace-expanded .editor-layout{grid-template-columns:58px minmax(0,1fr)}}
@media(max-width:900px){.workspace-expanded .editor-layout{grid-template-columns:57px minmax(0,1fr)}.workspace-expanded .inspector{width:min(340px,calc(100% - 57px))}}
@media(max-width:640px){.workspace-toggle{padding:5px 7px;min-width:32px}.workspace-toggle [data-workspace-label]{display:none}.workspace-expanded .editor-layout{grid-template-columns:47px minmax(0,1fr)}.workspace-expanded .inspector{width:min(330px,calc(100% - 47px))}.workspace-expanded .stage{padding:10px}.workspace-expanded .workspace-actions{gap:4px}}

/* Paint-style ribbon: six functional groups with labels below the controls. */
.ribbon.ribbon-paint{height:auto;min-height:108px;padding:10px 16px;gap:14px;align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--control-line) var(--panel)}
.ribbon-paint .ribbon-history{flex-direction:column;gap:3px;margin:0;align-self:flex-start;padding-top:2px;flex-shrink:0}
.ribbon-paint .ribbon-group{height:auto;min-height:86px;padding-left:14px;display:flex;flex:0 0 auto;gap:6px;align-items:center;justify-content:space-between}
.ribbon-paint .eyebrow{display:block;order:2;letter-spacing:0;text-transform:none;font-size:calc(12px * var(--text-scale));font-weight:600;text-align:center;line-height:1.4;white-space:nowrap}
.ribbon-grid,.ribbon-paint .shape-tools{display:grid;grid-template-columns:repeat(3,32px);gap:3px;margin:0}
.ribbon-paint .shape-tools{grid-template-columns:repeat(4,32px)}
.ribbon-paint .tool-button,.ribbon-paint .icon-button,.ribbon-paint .shape-tools .tool-button{height:30px;width:32px}
.ribbon-paint .tool-button svg,.ribbon-paint .icon-button svg,.ribbon-paint .shape-tools .tool-button svg{width:19px;height:19px}
.ribbon-selection-body{display:flex;flex-direction:column;align-items:center;height:63px;gap:3px}
.ribbon-paint .ribbon-select{width:64px}
.ribbon-mini-actions{display:flex;gap:2px}
.ribbon-paint .brush-group{width:calc(158px * var(--text-scale));display:flex}
.brush-choice{height:63px;display:flex;flex-direction:column;align-items:center;gap:3px}
.ribbon-paint .brush-choice>.tool-button{width:44px}
.ribbon-paint .brush-group select{width:calc(142px * var(--text-scale));font-size:calc(13px * var(--text-scale));min-height:30px;height:30px;padding:3px 5px;border:1px solid var(--control-line);border-radius:5px;background:var(--panel);color:var(--ink)}
.ribbon-paint .colors-group{min-width:0;max-width:none;width:auto;flex:0 0 auto}
.ribbon-colors-body{display:flex;align-items:center;gap:12px;height:63px}
.ribbon-paint .palette{grid-template-columns:repeat(12,20px);gap:5px}
.ribbon-paint .palette button{display:block;width:20px;height:20px}
.ribbon-inks{display:flex;flex-direction:column;align-items:center;gap:7px}
.ribbon-primary-swatch{position:relative;display:block;width:31px;height:31px;border:2px solid var(--panel);outline:2px solid var(--green);border-radius:50%;background:var(--primary);cursor:pointer}
.ribbon-primary-swatch:focus-within{outline-width:3px;outline-offset:2px}
.ribbon-primary-swatch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;padding:0;border:0}
.ribbon-secondary-swatch{width:22px;height:22px;border:1px solid var(--control-line);border-radius:50%;padding:0;background:var(--secondary)}
.ribbon-paint .properties-toggle{position:sticky;right:0;align-self:center;margin-left:auto;z-index:2;background:var(--panel);border:1px solid var(--control-line)}
.workspace-expanded .ribbon.ribbon-paint{display:none}
@media(max-width:900px){.ribbon.ribbon-paint{padding-right:10px;gap:12px}.ribbon-paint .properties-toggle{width:32px;height:36px;flex-shrink:0}}

/* User-supplied motifs keep their original geometry and live on separate layers. */
.motifs-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:63px;min-width:66px;border:1px solid var(--control-line);border-radius:7px;color:var(--green);background:var(--panel-soft);font-size:calc(12px * var(--text-scale));font-weight:600;padding:6px 8px}
.motifs-trigger{gap:3px}.motif-launch-icon{display:block;object-fit:contain;pointer-events:none}.motifs-trigger .motif-launch-icon{width:30px;height:30px}.workspace-motifs .motif-launch-icon{width:20px;height:24px}.motifs-trigger:hover{background:var(--mint)}
html[data-theme=dark] .motif-launch-icon{filter:brightness(0) invert(1)}
.workspace-motifs{display:none}.workspace-expanded .workspace-motifs{display:inline-flex;width:32px;height:32px}
@media(max-width:900px){.workspace-motifs{display:inline-flex!important;width:32px!important;height:32px!important}}
.layer-opacity{flex-wrap:wrap}.layer-opacity small{display:block;flex-basis:100%;width:100%;font-size:calc(12px * var(--text-scale));line-height:1.45;overflow-wrap:anywhere}
#layer-opacity-target{color:var(--ink);font-weight:600;margin-top:5px}#layer-opacity-note{color:var(--muted);margin-top:3px}
.layers-panel{min-height:350px}@media(max-width:900px){.layers-panel{min-height:300px}}
#motifs-dialog{width:1040px;max-height:94dvh;overflow:auto}
.motifs-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.motifs-heading h1{font-size:calc(26px * var(--text-scale));margin:0 0 8px;font-family:var(--ui-font);font-weight:700}.motifs-heading p{margin:0 0 18px;color:var(--muted);font-size:calc(14px * var(--text-scale))}
.motif-filters{display:flex;gap:15px;margin-bottom:16px}.motif-filters label{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1;font-size:calc(13px * var(--text-scale));font-weight:600}.motif-filters input,.motif-filters select{width:100%;height:39px;border:1px solid var(--control-line);border-radius:6px;background:var(--panel);color:var(--ink);font-size:calc(14px * var(--text-scale));padding:6px 9px}
.motifs-content{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:22px;min-height:0}.motif-gallery{min-width:0;max-height:440px;overflow:auto;padding:3px}.motif-gallery>p{color:var(--muted)}.motif-card>span{overflow-wrap:anywhere}
#motif-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.motif-card{border:1px solid var(--line);border-radius:8px;padding:7px;text-align:center;background:var(--panel-soft);color:var(--ink);font-size:calc(12px * var(--text-scale));line-height:1.4;display:flex;flex-direction:column;gap:6px;min-width:0}.motif-card[aria-pressed=true]{border:2px solid var(--green);padding:6px;background:var(--mint)}.motif-card:hover{border-color:var(--green)}.motif-thumbnail{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d9dfda;border-radius:4px;height:96px;padding:7px}.motif-thumbnail img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.motif-details{display:flex;flex-direction:column;gap:13px;min-width:0}.motif-large-preview{height:165px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;justify-content:center;padding:12px;background:#fff}.motif-large-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.motif-details strong{font-size:calc(15px * var(--text-scale));color:var(--ink)}.motif-details .field-label{margin:0;display:flex;flex-direction:column;gap:7px;font-size:calc(13px * var(--text-scale))}.motif-details select{width:100%;font-size:calc(14px * var(--text-scale));padding:6px}.motif-size-field{display:flex;gap:7px;align-items:center}.motif-size-field input{min-width:0;width:100%;height:36px;padding:5px 8px;border:1px solid var(--control-line);border-radius:5px;background:var(--panel);color:var(--ink)}.motif-details .property-note{margin:0;font-size:calc(12px * var(--text-scale))}
@media(max-width:750px){#motifs-dialog{padding:20px}.motifs-content{grid-template-columns:1fr}.motif-gallery{max-height:280px}#motif-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.motif-details{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px 14px}.motif-large-preview{grid-row:span 3;height:130px;padding:7px}.motif-details>.property-note{grid-column:1/-1}.motif-thumbnail{height:76px}.motifs-heading h1{font-size:calc(22px * var(--text-scale))}.motif-filters{flex-direction:column;gap:10px}.motif-filters label{gap:4px}}

/* Transparency is visible before insertion; reference sheets remain read-only. */
.motif-thumbnail,.motif-large-preview{background-color:#fff;background-image:conic-gradient(#e2e7e4 25%,#fff 0 50%,#e2e7e4 0 75%,#fff 0);background-size:14px 14px}
.motif-dialog-actions{flex-wrap:wrap}.motif-dialog-actions #motif-download{margin-right:auto;text-decoration:none}
#motif-reference-note{background:var(--panel-soft);padding:12px;border-radius:6px;color:var(--ink);line-height:1.5}
.shapes-trigger{display:flex;align-items:center;gap:6px;align-self:flex-start;padding:0;border:0;background:transparent;color:var(--muted);font-size:calc(12px * var(--text-scale));font-weight:700;cursor:pointer;white-space:nowrap}
.shapes-trigger:hover{color:var(--green)}.shapes-trigger svg{width:13px;height:13px}.shape-total{background:var(--panel-soft);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:calc(11px * var(--text-scale))}
#shapes-dialog{width:760px;max-height:92dvh;overflow:auto}#shape-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.shape-choice{display:flex;align-items:center;gap:10px;padding:13px 10px;border:1px solid var(--control-line);border-radius:7px;background:var(--panel);color:var(--ink);font-size:calc(13px * var(--text-scale));text-align:left;min-width:0;line-height:1.3}.shape-choice span{overflow-wrap:anywhere}.shape-choice svg{width:28px;height:28px;flex-shrink:0}.shape-choice:hover,.shape-choice.active{background:var(--mint);border-color:var(--green)}
.layer-row{gap:6px;position:relative}.layer-grip{display:flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:32px;padding:0;border:0;background:transparent;color:var(--muted);cursor:grab;touch-action:none}.layer-grip svg{width:17px;height:22px}.layer-grip:hover{color:var(--green)}.layer-row.dragging{opacity:.5}.layer-row.dragging .layer-grip{cursor:grabbing}.layer-row.drop-above::before,.layer-row.drop-below::after{content:"";position:absolute;left:0;right:0;height:3px;background:var(--green);border-radius:3px;z-index:2}.layer-row.drop-above::before{top:-3px}.layer-row.drop-below::after{bottom:-3px}
.layer-order-help{margin:0 18px 8px;font-size:calc(12px * var(--text-scale));line-height:1.4;color:var(--muted);flex-shrink:0}.layer-actions{flex-wrap:wrap;gap:2px}.layer-actions>.text-button{height:32px;font-size:calc(12px * var(--text-scale));padding:4px;gap:3px;color:var(--ink)}.layer-actions>.text-button svg{width:15px;height:15px;flex-shrink:0}.layer-actions button:disabled{opacity:.35;cursor:default}.layer-opacity #split-layer{font-size:calc(12px * var(--text-scale));padding:5px 0;color:var(--green);margin-top:3px;height:auto}
.layers-panel{overflow-y:auto;scrollbar-width:thin}
@media(max-width:900px){.layers-panel{min-height:350px}.inspector{overflow-y:auto;overflow-x:hidden}}
@media(max-width:750px){#shape-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.shape-choice{padding:10px 8px}.motif-dialog-actions #motif-download{margin-right:0}.motif-dialog-actions .button{flex:1;justify-content:center;white-space:normal;min-height:40px;height:auto;padding:9px}.motif-dialog-actions #motif-download{flex-basis:100%}}

/* Paint-style brush chooser with real, matching raster previews. */
.production-credit{display:block;flex-shrink:0;padding:4px 12px;border-top:1px solid var(--line);background:var(--panel);color:var(--green);font:600 calc(12px * var(--text-scale)) var(--ui-font);line-height:1.4;letter-spacing:.02em;text-align:center}
.brush-menu-trigger{width:142px;max-width:100%;height:63px;padding:5px 7px;border:1px solid var(--control-line);border-radius:7px;background:var(--panel);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:600 calc(12px * var(--text-scale)) var(--ui-font)}
.brush-menu-trigger:hover,.brush-menu-trigger[aria-expanded=true]{background:var(--mint);border-color:var(--green)}.brush-trigger-art{display:flex;align-items:center;width:100%;gap:5px}.brush-trigger-art>svg{width:24px;height:24px;flex:none}.brush-trigger-art canvas{width:70px;height:25px;min-width:0;flex:1}.brush-trigger-art>.brush-trigger-caret{width:13px;height:13px}#brush-selected-name{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}
.brush-menu{position:fixed;z-index:1000;left:12px;top:12px;width:370px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:6px;background:var(--panel);color:var(--ink);border:1px solid var(--control-line);border-radius:9px;box-shadow:0 8px 28px #10251b30;scrollbar-width:thin}
.brush-option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 110px 14px;gap:8px;align-items:center;min-height:47px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink);font:400 calc(14px * var(--text-scale)) var(--ui-font);line-height:1.35;text-align:left}.brush-option:hover,.brush-option:focus-visible{background:var(--panel-soft)}.brush-option[aria-checked=true]{background:var(--mint);border-color:var(--green)}.brush-option-name{min-width:0;overflow-wrap:anywhere}.brush-option canvas{display:block;width:110px;height:32px;max-width:100%}.brush-check{visibility:hidden}.brush-check svg{width:14px;height:14px;color:var(--green)}.brush-option[aria-checked=true] .brush-check{visibility:visible}.rail-brush-menu{position:relative}.rail-tools .tool-button .rail-brush-caret{position:absolute;width:11px;height:11px;right:0;bottom:0;background:var(--panel);border-radius:3px;color:var(--green)}
.stroke-preview #stroke-preview-canvas{display:block;width:220px;max-width:100%;height:65px;object-fit:contain}
@media(max-width:640px){.brush-option{grid-template-columns:minmax(0,1fr) 95px 12px;gap:6px}.brush-option canvas{width:95px;height:30px}.brush-menu-trigger{width:142px}}

/* Asafu — graphite surfaces, saffron light, unchanged drawing engine. */
:root[data-theme="dark"]{--panel:#191d22;--panel-soft:#23282f;--workspace:#101318;--ink:#f3eee5;--muted:#bdc2ca;--line:#363e48;--control-line:#798591;--range-track:#515c69;--green:#f2b45d;--green-dark:#f5bf75;--accent-ink:#000;--mint:#40382d;color-scheme:dark}
.app-header{min-height:70px;padding:10px 20px;box-shadow:0 1px 0 var(--line);position:relative;z-index:35}
.brand{letter-spacing:-1px;font-size:30px;gap:11px}
.brand-icon{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,var(--green),var(--green-dark));box-shadow:0 3px 14px color-mix(in srgb,var(--green) 16%,transparent)}
.brand-icon svg{width:23px;height:23px}
.brand-dot{margin-left:1px}.menubar{gap:3px}.menu-button{font-size:calc(13px * var(--text-scale));font-weight:500;border-radius:7px}
.header-actions .export-top{background:linear-gradient(130deg,var(--green),var(--green-dark));color:var(--accent-ink);border:1px solid var(--green);border-radius:9px;box-shadow:0 3px 14px color-mix(in srgb,var(--green) 12%,transparent)}
.header-document{font-size:calc(12px * var(--text-scale));font-weight:400}
.save-dot,.hint-dot,.local-dot{background:var(--green)}
.appearance-trigger,.language-select{font-size:calc(12px * var(--text-scale));border-color:var(--line);border-radius:8px;background:var(--panel-soft);font-weight:500}
.ribbon{padding:12px 18px;gap:18px;min-height:100px;border-bottom:1px solid var(--line)}
.ribbon-group{border-color:var(--line)}.eyebrow,.shapes-trigger,.recent-label{font-size:calc(11px * var(--text-scale));font-weight:600;letter-spacing:.06em}
.brush-menu-trigger{border-color:var(--line);border-radius:9px;background:var(--panel-soft)}
.tool-button,.icon-button{transition:background .14s,border-color .14s,color .14s,box-shadow .14s}
.tool-button.active,.rail-tools .tool-button.active{background:var(--mint);color:var(--green);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 65%,transparent)}
.tool-rail{padding-top:16px;border-right:1px solid var(--line)}
.rail-tools{gap:7px}.rail-tools .tool-button{width:38px;height:38px;border-radius:9px}
.rail-divider{background:var(--line);margin:6px 8px}
.editor-layout{grid-template-columns:64px minmax(0,1fr) clamp(292px,23vw,340px)}
.workspace-toolbar{min-height:49px;padding:7px 20px;background:var(--panel);border-bottom:1px solid var(--line)}
.document-info{gap:9px}.document-mark{color:var(--green)}.document-info input{font-size:calc(13px * var(--text-scale));font-weight:500}.file-type{font-size:calc(11px * var(--text-scale));border:1px solid var(--line);border-radius:4px;padding:1px 5px}
.workspace-actions .text-button{font-size:calc(12px * var(--text-scale));border:1px solid var(--line);border-radius:7px;padding:6px 10px;background:var(--panel-soft)}
.viewport{background-color:var(--workspace);background-image:radial-gradient(color-mix(in srgb,var(--line) 65%,transparent) .6px,transparent .6px);background-size:18px 18px}
.stage{padding:45px}.artboard{box-shadow:0 22px 65px #0005,0 0 0 1px #ffffff18}
.workspace-hint{background:var(--panel);font-size:calc(11px * var(--text-scale));min-height:32px;padding:7px 12px}
.inspector{border-left:1px solid var(--line)}
.inspector-heading{min-height:48px;padding:12px 19px;border-bottom:1px solid var(--line);font-size:calc(12px * var(--text-scale));letter-spacing:.06em}
.property-content{padding:18px;flex:1 1 340px}.tool-heading{gap:11px;margin-bottom:16px}.tool-heading strong{font-size:calc(15px * var(--text-scale));font-weight:600}.tool-heading span:not(.selected-tool-icon){font-size:calc(12px * var(--text-scale))}
.selected-tool-icon{background:var(--mint);color:var(--green);border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));width:38px;height:38px;border-radius:10px}
.tool-heading>kbd{background:var(--panel-soft);border:1px solid var(--line);border-radius:5px;padding:3px 6px}
.stroke-preview{height:87px;border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;margin-bottom:18px;overflow:hidden}.stroke-preview>span{color:var(--muted)}
.property-row{font-size:calc(12px * var(--text-scale));color:var(--muted)}.property-row output{font-size:calc(12px * var(--text-scale));background:var(--panel-soft);color:var(--ink);border:1px solid var(--line);padding:2px 7px;border-radius:5px;font-variant-numeric:tabular-nums}
input[type=range]{accent-color:var(--green)}input[type=range]::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 13%,transparent)}
.color-properties{padding-top:17px;margin-top:20px}.hex-label{border-color:var(--line);background:var(--panel-soft);height:36px}.hex-label input{color:var(--ink)}
.color-picker-label{width:36px;height:36px;border-radius:8px}.color-picker-label,.secondary-picker{border-color:var(--control-line)}
.recent-colors button,.palette button{border-radius:4px}.recent-colors button{width:21px;height:21px}.palette button:hover,.recent-colors button:hover{outline:2px solid var(--green);outline-offset:2px}
.layers-panel{min-height:285px;flex:1 1 285px}.layers-heading{padding:12px 18px;height:47px}.layers-heading h2{font-size:calc(12px * var(--text-scale));font-weight:600;letter-spacing:.04em}
.layers-heading h2 span{background:var(--panel-soft);color:var(--muted);border:1px solid var(--line);border-radius:5px}
.layer-list{padding:0 10px}.layer-row{min-height:53px;border-radius:9px;padding:8px;margin-bottom:5px}.layer-row.active{background:var(--mint);border-color:color-mix(in srgb,var(--green) 45%,var(--line))}
.layer-row input{color:var(--ink)}.layer-row .layer-eye,.layer-row .lock-icon{color:var(--muted)}.layer-thumb{border-color:var(--control-line);border-radius:5px}.layer-opacity{padding:10px 18px 6px;color:var(--muted)}.layer-opacity span{color:var(--ink)}
.layer-actions{padding:7px 12px;border-color:var(--line)}.layer-order-help{font-size:calc(11px * var(--text-scale))}.production-credit{font-size:calc(11px * var(--text-scale));padding:9px 12px;letter-spacing:.06em}.inspector-foot{padding:9px 15px;font-size:calc(11px * var(--text-scale))}
.statusbar{height:34px;padding:0 16px;font-size:calc(11px * var(--text-scale))}.status-divider{background:var(--line)}
.dropdown,.brush-menu{border-color:var(--line);border-radius:12px;box-shadow:0 18px 50px #0005;padding:7px}.dropdown button,.dropdown a{border-radius:6px}.dropdown hr{border-color:var(--line)}
dialog{border-color:var(--line);border-radius:18px;background:var(--panel);box-shadow:0 30px 100px #0008}dialog::backdrop{background:#080b10b5;backdrop-filter:blur(7px)}
.dialog-icon{background:var(--mint);color:var(--green)}.dialog-actions{border-color:var(--line)}.dialog-intro,.field-label,.checkbox-label,.size-fields>label{color:var(--muted)}
.format-presets button,.number-field,.export-preview,.help-note,.shortcut-grid kbd{background:var(--panel-soft);border-color:var(--line);color:var(--ink)}.format-presets button.active{background:var(--mint);border-color:var(--green);color:var(--green)}.format-presets small,.help-note strong,.help-note p{color:var(--muted)}
.field-label>input,.font-options input,.move-coordinate-fields input{background:var(--panel-soft);border-color:var(--control-line);color:var(--ink)}.format-icon{border-color:var(--muted)}.number-field input{color:var(--ink)}
:root[data-theme=dark] .theme-sample.dark{background:#191d22;border-color:#f2b45d}
:root[data-theme=dark] .motif-launch-icon{filter:brightness(1.8) sepia(.5)}
:root[data-theme=dark] .workspace{background:radial-gradient(ellipse at 50% 10%,#242521 0,transparent 65%),var(--workspace)}
:root[data-theme=dark] .app-header{background:linear-gradient(100deg,#22221f,var(--panel) 40%)}
:root[data-theme=dark] .tool-rail,:root[data-theme=dark] .inspector{background:linear-gradient(165deg,#20242a,var(--panel) 60%)}
:root[data-theme=dark] .ribbon{background:linear-gradient(180deg,#1e2228,var(--panel))}
:root[data-theme=dark] .layer-row.active{box-shadow:inset 3px 0 var(--green)}
@media(min-width:901px) and (max-height:850px){.app-header{min-height:61px;padding:8px 16px}.ribbon{min-height:90px;padding:9px 16px}.layers-panel{min-height:240px;flex-basis:240px}.property-content{padding:14px 18px;flex-basis:280px}.stroke-preview{height:66px;margin-bottom:12px}.color-properties{margin-top:14px;padding-top:12px}.tool-heading{margin-bottom:12px}.layer-order-help{margin-bottom:5px}.inspector-foot{display:none}.rail-tools{gap:4px}}
@media(max-width:1100px){.ribbon{gap:12px}.header-document{display:none}.app-header{gap:12px}.header-actions{gap:7px}}
@media(max-width:900px){.editor-layout{grid-template-columns:57px minmax(0,1fr)}.stage{padding:25px}.inspector{width:310px;max-width:90vw;box-shadow:-20px 0 60px #0006}.layers-panel{min-height:300px}.header-actions .appearance-trigger span{display:none}}
@media(max-width:640px){.app-header{padding:9px 10px;gap:8px;min-height:59px}.brand{gap:6px}.app-header .brand-icon{width:28px;height:28px;border-radius:8px}.brand-icon svg{width:19px;height:19px}.header-actions{gap:5px}.menu-button{font-size:calc(12px * var(--text-scale));padding:7px 4px}.language-select{width:82px;font-size:calc(12px * var(--text-scale))}.header-actions .export-top{padding:7px 10px;min-height:34px}.ribbon{padding:9px 10px;min-height:86px;gap:12px}.editor-layout{grid-template-columns:47px minmax(0,1fr)}.rail-tools .tool-button{width:33px;height:33px}.stage{padding:22px}.workspace-toolbar{padding:6px 12px}.workspace-actions .text-button{padding:6px}.statusbar{padding:0 8px}.production-credit{padding:7px;font-size:calc(10px * var(--text-scale))}}
@media(prefers-reduced-motion:reduce){.tool-button,.icon-button{transition:none}}
/* Keep the real pigment previews legible, including dark drawing colors. */
:root[data-theme=dark] .stroke-preview{background:#e8e1d4;border-color:#8e877c;box-shadow:inset 0 1px 8px #00000014}
:root[data-theme=dark] .stroke-preview>span{color:#4c4942}
:root[data-theme=dark] .motif-launch-icon{filter:invert(1)}

/* Design selector follows Appearance; export shares the same horizontal row. */
.header-actions{align-items:center}
#design-select{width:164px;min-height:38px;height:38px;padding:7px 25px 7px 10px;font-size:calc(12px * var(--text-scale));border:1px solid var(--line);border-radius:7px;background:var(--panel-soft);color:var(--ink);cursor:pointer}
.header-actions .export-top{justify-content:center;min-height:38px;padding:7px 14px}
:root[data-theme=dark][data-design=cinema]{--design-light:#57c8ff;--design-glass:#122534}
:root[data-theme=dark][data-design=cinema] .app-header{background:linear-gradient(115deg,#081b30,#10273b 45%,#101a2a);border-bottom:1px solid #396183}
:root[data-theme=dark][data-design=cinema] .ribbon{background:linear-gradient(180deg,#142739,#101b29);border-color:#314b60}
:root[data-theme=dark][data-design=cinema] .tool-rail,:root[data-theme=dark][data-design=cinema] .inspector{background:linear-gradient(155deg,#162b3f,#101a27 70%);border-color:#344f65}
:root[data-theme=dark][data-design=cinema] .workspace-toolbar,:root[data-theme=dark][data-design=cinema] .workspace-hint,:root[data-theme=dark][data-design=cinema] .statusbar{background:#101c2a;border-color:#344c63}
:root[data-theme=dark][data-design=cinema] .viewport{background-color:#080f1c;background-image:radial-gradient(ellipse at 20% 5%,#16466a88,transparent 50%),radial-gradient(ellipse at 85% 95%,#14608255,transparent 50%)}
:root[data-theme=dark][data-design=cinema] .artboard{box-shadow:0 24px 75px #0009,0 0 0 1px #5ed6ff44,0 0 35px #1788bb18}
:root[data-theme=dark][data-design=cinema] .export-top,:root[data-theme=dark][data-design=cinema] .brand-icon{box-shadow:0 0 19px #44c7ff33}
:root[data-theme=dark][data-design=cinema] .layer-row.active{background:#19384c;border-color:#4ab9e5}
:root[data-theme=dark][data-design=matiere] .app-header{background:linear-gradient(105deg,#30251e,#1e211f 60%,#183134);border-bottom:1px solid #66503b}
:root[data-theme=dark][data-design=matiere] .ribbon{background:linear-gradient(180deg,#2a2521,#201e1b)}
:root[data-theme=dark][data-design=matiere] .tool-rail,:root[data-theme=dark][data-design=matiere] .inspector{background:linear-gradient(145deg,#2b2722,#1c2425 85%)}
:root[data-theme=dark][data-design=matiere] .viewport{background-color:#141817;background-image:radial-gradient(ellipse at 12% 2%,#b2733030,transparent 60%),radial-gradient(ellipse at 95% 95%,#117f812b,transparent 65%)}
:root[data-theme=dark][data-design=matiere] .artboard{box-shadow:0 24px 70px #0008,0 0 0 1px #f2b45d33}
:root[data-theme=dark][data-design=matiere] .brand{font-family:Georgia,serif}
:root[data-theme=dark][data-design=studio] .app-header,:root[data-theme=dark][data-design=studio] .ribbon,:root[data-theme=dark][data-design=studio] .tool-rail,:root[data-theme=dark][data-design=studio] .inspector{background:#1b1e24}
:root[data-theme=dark][data-design=studio] .viewport{background-color:#12151b;background-image:radial-gradient(#42404f66 .6px,transparent .6px);background-size:20px 20px}
:root[data-theme=dark][data-design=studio] .brand{font-family:var(--ui-font);font-size:25px;letter-spacing:-1px}
:root[data-theme=dark][data-design=studio] .brand-icon{background:#282e39;color:#7fdddf;box-shadow:none;border:1px solid #506b71}
:root[data-theme=dark][data-design=studio] .tool-rail .tool-button.active{color:#75e1df;background:#243a3e;box-shadow:inset 0 0 0 1px #50888e}
:root[data-theme=dark][data-design=studio] .inspector-heading{border-top:2px solid #e8b45d}
:root[data-theme=dark][data-design=studio] .layers-heading{border-top:2px solid #ba96fa}
:root[data-theme=dark][data-design=studio] .export-top{box-shadow:none}
:root[data-theme=dark][data-design=studio] .artboard{box-shadow:0 15px 35px #0005,0 0 0 1px #ffffff20}
@media(max-width:640px){#design-select{width:132px;font-size:calc(12px * var(--text-scale));height:38px;min-height:38px}.header-actions{align-items:center}}
:root[data-theme=dark][data-design=cinema] .viewport,:root[data-theme=dark][data-design=matiere] .viewport{background-size:100% 100%;background-repeat:no-repeat}

/* Blanc crème: warm paper surfaces and readable brown accents. */
:root[data-theme=light][data-design=creme]{--panel:#fffdf7;--panel-soft:#f3eee3;--workspace:#e7e0d2;--ink:#302c25;--muted:#665f52;--line:#d8cebc;--control-line:#8c806c;--range-track:#c8bda8;--green:#8a5c30;--green-dark:#744a25;--mint:#eee1cc;--accent-ink:#fff}
:root[data-theme=light][data-design=creme] .app-header,:root[data-theme=light][data-design=creme] .ribbon{background:linear-gradient(110deg,#fffdf8,#f7f1e6);border-color:#d8cebc}
:root[data-theme=light][data-design=creme] .tool-rail,:root[data-theme=light][data-design=creme] .inspector{background:#fcf8ef}
:root[data-theme=light][data-design=creme] .workspace-toolbar,:root[data-theme=light][data-design=creme] .workspace-hint,:root[data-theme=light][data-design=creme] .statusbar{background:#f7f2e8;color:#665f52}
:root[data-theme=light][data-design=creme] .viewport{background-color:#e7e0d2;background-image:radial-gradient(#b9ad9655 .6px,transparent .6px);background-size:20px 20px}
:root[data-theme=light][data-design=creme] .artboard{box-shadow:0 18px 45px #6a56322b,0 0 0 1px #c5bca9}
:root[data-theme=light][data-design=creme] .stroke-preview{background:#f4eddf;border-color:#d8cebc}
:root[data-theme=light][data-design=creme] .layer-row.active{background:#eee1cc;border-color:#b8986d}
.close-document-button{width:27px;height:27px;margin-left:3px;border:1px solid transparent}
.close-document-button svg{width:14px;height:14px}.close-document-button:hover{border-color:var(--line);background:var(--panel-soft)}
.document-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--ink)}
.document-empty>svg{width:48px;height:48px;color:var(--green);margin-bottom:12px}.document-empty h1{font:500 27px Georgia,serif;margin:10px}.document-empty p{color:var(--muted);font-size:14px;max-width:400px;line-height:1.6}.document-empty>div{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.document-closed #stage,.document-closed .inspector,.document-closed .tool-rail,.document-closed .ribbon,.document-closed .workspace-toolbar,.document-closed .workspace-hint{display:none!important}
.document-closed .editor-layout{display:flex}.document-closed .workspace{width:100%;flex:1}.document-closed .export-top{visibility:hidden}.document-closed .zoom-controls{visibility:hidden}
#close-document-dialog{width:570px}#close-document-dialog .dialog-actions{flex-wrap:wrap}
/* Original Turqimt artwork, framed directly from its unchanged source sheet. */
.app-header .brand{gap:10px;flex-shrink:0}
.app-header .brand .turqimt-icon{position:relative;display:block;overflow:hidden;width:40px;height:40px;border:0;border-radius:11px;background:#1a2529;box-shadow:0 2px 8px #0002;flex:none}
.turqimt-icon img{position:absolute;max-width:none;width:187.1px;height:auto;left:-73.1px;top:-22.3px;pointer-events:none}
.turqimt-wordmark{display:block;position:relative;overflow:hidden;width:184px;height:42px;background:#fffdf5;border-radius:4px;flex:none}
.turqimt-wordmark>img{position:absolute;max-width:none;width:633px;height:auto;left:-223px;top:-7px;pointer-events:none}
.brand-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1180px){.app-header .brand{gap:7px}.turqimt-wordmark{width:147px;height:34px}.turqimt-wordmark>img{width:506.4px;left:-178.4px;top:-5.6px}}
@media(max-width:640px){.app-header .brand .turqimt-icon{width:32px;height:32px;border-radius:9px}.turqimt-icon img{width:149.68px;left:-58.48px;top:-17.84px}.turqimt-wordmark{width:120px;height:28px}.turqimt-wordmark>img{width:413px;left:-145.5px;top:-4.6px}}
.turqimt-wordmark{height:39px}
@media(max-width:1180px){.turqimt-wordmark{height:31px}}
@media(max-width:640px){.turqimt-wordmark{height:25px}}
.document-empty>.empty-brush-image{width:110px;height:auto;display:block;object-fit:contain;margin-bottom:14px;border-radius:12px}

/* Turqimt brand: transparent wordmark and cream icon in every theme. */
:root .app-header .brand .turqimt-icon{background:#f8f1e4;box-shadow:0 2px 8px #0002}
.turqimt-icon img{position:absolute;width:120%;height:120%;max-width:none;left:-10%;top:-10%;object-fit:contain}
.turqimt-wordmark{background:transparent;overflow:hidden}
.turqimt-wordmark>img{position:absolute;display:block;max-width:none;width:200px;height:auto;left:-8px;top:-14px;filter:none}
:root[data-theme=dark] .turqimt-wordmark>img{filter:brightness(0) invert(1)}
:root[data-theme=dark][data-design=cinema] .turqimt-wordmark>img{filter:brightness(0) saturate(100%) invert(95%) sepia(18%) saturate(546%) hue-rotate(162deg) brightness(104%)}
:root[data-theme=dark][data-design=matiere] .turqimt-wordmark>img{filter:brightness(0) saturate(100%) invert(94%) sepia(18%) saturate(375%) hue-rotate(336deg) brightness(103%)}
:root[data-theme=dark][data-design=studio] .turqimt-wordmark>img{filter:brightness(0) saturate(100%) invert(95%) sepia(5%) saturate(546%) hue-rotate(195deg) brightness(104%)}
@media(max-width:1180px){.turqimt-wordmark>img{width:160px;left:-6px;top:-11px}}
@media(max-width:640px){.turqimt-wordmark>img{width:131px;left:-5px;top:-9px}}

/* The flourish of the Q has its own colour, independent of the letters. */
:root{--turqimt-q-color:#008c89}
:root[data-design=creme]{--turqimt-q-color:#008c89}
:root[data-design=cinema]{--turqimt-q-color:#15cdea}
:root[data-design=matiere]{--turqimt-q-color:#ffae42}
:root[data-design=studio]{--turqimt-q-color:#c5a3ff}
:root[data-theme] .turqimt-wordmark>img.turqimt-q,
:root[data-theme][data-design] .turqimt-wordmark>img.turqimt-q{filter:url(#turqimt-q-color)}

/* Aberqac: the supplied multicoloured background, behind readable controls. */
:root[data-theme=dark][data-design=studio]{--turqimt-q-color:#57e4ef}
:root[data-theme=dark][data-design=studio] .app-header,
:root[data-theme=dark][data-design=studio] .ribbon,
:root[data-theme=dark][data-design=studio] .tool-rail,
:root[data-theme=dark][data-design=studio] .inspector,
:root[data-theme=dark][data-design=studio] .workspace-toolbar,
:root[data-theme=dark][data-design=studio] .workspace-hint,
:root[data-theme=dark][data-design=studio] .statusbar,
:root[data-theme=dark][data-design=studio] .production-credit{
  background-image:linear-gradient(#11121af5,#11121af5),url('assets/branding/aberqac-background.jpg');
  background-size:cover;background-attachment:fixed;background-position:center;
  border-color:#ffffff36;color:var(--ink);
}
:root[data-theme=dark][data-design=studio] .viewport{
  background-color:#78139c;
  background-image:linear-gradient(#11121af2,#11121af2),url('assets/branding/aberqac-background.jpg');
  background-position:center;background-size:cover;background-repeat:no-repeat;
}
:root[data-theme=dark][data-design=studio] .workspace{background:#541572}
:root[data-theme=dark][data-design=studio] .artboard{box-shadow:0 22px 60px #22053588,0 0 0 1px #ffffff88}
:root[data-theme=dark][data-design=studio] .inspector-heading,
:root[data-theme=dark][data-design=studio] .layers-heading{border-color:#71e6e7}
:root[data-theme=dark][data-design=studio] .layer-row.active{background:#612963b8;border-color:#ffbcda;box-shadow:inset 3px 0 #ffbcda}
:root[data-theme=dark][data-design=studio] .header-actions .export-top{background:linear-gradient(110deg,#ffb54d,#f064a4,#a4a2ff);color:#241225;border-color:#ffffff80}
:root[data-theme=dark][data-design=studio] .tool-rail .tool-button.active{color:#75eaf0;background:#1b5966b8;box-shadow:inset 0 0 0 1px #88f9f4}

/* A compact shortcut opens a generous colour wheel without resizing the ribbon. */
.color-wheel-trigger{position:relative;width:32px;height:32px;flex:0 0 32px;padding:0;overflow:hidden;border:1px solid var(--control-line);border-radius:50%;background:transparent;cursor:pointer}
.color-wheel-trigger img{position:absolute;left:50%;top:50%;width:108%;height:108%;max-width:none;object-fit:cover;transform:translate(-50%,-50%)}
.color-wheel-trigger:hover{box-shadow:0 0 0 2px var(--green)}
.color-wheel-trigger:focus-visible{outline:2px solid var(--green);outline-offset:3px}
#color-wheel-dialog{width:440px;max-height:90dvh}
.color-wheel-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.color-wheel-dialog-heading h1{font-size:calc(22px * var(--text-scale));margin:0}
.color-wheel{position:relative;width:min(320px,70vw,50dvh);height:min(320px,70vw,50dvh);margin:0 auto;--wheel-hue:red;--hue-x:50%;--hue-y:7%;--sv-x:100%;--sv-y:0%}
.color-wheel-ring{position:relative;width:100%;height:100%;border-radius:50%;background:conic-gradient(#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);border:1px solid #0005;cursor:crosshair;touch-action:none;outline-offset:3px}
.color-wheel-ring::before{content:"";position:absolute;inset:13%;border-radius:50%;background:var(--panel);pointer-events:none}
.color-wheel-square{position:absolute;inset:26%;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),var(--wheel-hue);border:1px solid #0009;cursor:crosshair;touch-action:none;outline-offset:2px}
.color-wheel-hue-marker,.color-wheel-square-marker{position:absolute;pointer-events:none;width:13px;height:13px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #222a;transform:translate(-50%,-50%)}
.color-wheel-hue-marker{left:var(--hue-x);top:var(--hue-y)}
.color-wheel-square-marker{left:var(--sv-x);top:var(--sv-y)}
.color-wheel-ring:focus-visible,.color-wheel-square:focus-visible{outline:2px solid var(--green)}
.wheel-current{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;color:var(--muted);font-size:calc(13px * var(--text-scale))}
.wheel-current-swatch{width:28px;height:28px;border:1px solid var(--control-line);border-radius:7px;background:var(--primary)}
.wheel-current code{color:var(--ink);font-size:13px}
#color-wheel-dialog .dialog-actions{margin-top:20px}
@media(max-width:640px){.ribbon-colors-body{gap:8px}#color-wheel-dialog{padding:20px}.color-wheel-dialog-heading{margin-bottom:15px}.wheel-current{margin-top:16px}}

/* Supplied Asafu logo: complete artwork, original proportions and colours. */
.app-header .asafu-brand{padding:0;gap:0;line-height:0;flex-shrink:0}
.app-header .asafu-logo{display:block;width:180px;height:auto;aspect-ratio:2048 / 682;max-width:none;object-fit:contain;border-radius:5px;filter:none}
@media(max-width:1180px){.app-header .asafu-logo{width:156px}}
@media(max-width:640px){.app-header .asafu-logo{width:136px}}
@media(max-width:380px){.app-header .asafu-logo{width:124px}}

/* Match the header to the cream paper sampled from the supplied Asafu logo. */
.app-header,
:root[data-theme][data-design] .app-header{
  --panel:#f4e7d6;
  --panel-soft:#ebddc9;
  --ink:#302b25;
  --muted:#635b51;
  --line:#d2bea3;
  --control-line:#b4a083;
  background:#f4e7d6;
  color:var(--ink);
  color-scheme:light;
  border-color:var(--line);
  box-shadow:0 1px 0 var(--line);
}
.app-header .appearance-trigger svg{color:#66513d}


/* Keep the main menus in place and align Appearance, style and export. */
@media(min-width:641px){.app-header{min-height:90px}}
@media(max-width:640px){
  .app-header .header-actions{display:grid;grid-template-columns:36px minmax(0,1fr) 82px auto;gap:5px;width:100%;align-items:center}
  .app-header .appearance-trigger{width:36px;min-width:36px;min-height:38px;padding:7px}
  .app-header .header-actions #design-select{width:100%;min-width:0;height:38px;min-height:38px;padding-left:8px}
  .app-header .header-actions .language-select{width:82px;min-width:0;height:38px}
  .app-header .header-actions .export-top{min-height:38px;padding:7px 10px}
}
