.menubar{display:flex;align-items:center;gap:2px;-webkit-app-region:no-drag}.menubar-slot{position:relative}.menu-pop.is-context{z-index:320}.menu-pop.is-sub{z-index:330}.menubar-btn{height:var(--h-ctl);padding:0 var(--sp-3);border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:var(--fs-sm);font-weight:500;line-height:1;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.menubar-btn:hover{background:var(--hover);color:var(--text)}.menubar-btn.is-open{background:var(--accent-soft);color:var(--accent)}.menu-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:232px;max-height:calc(100vh - 80px);overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-1);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-md);animation:menu-in var(--dur) var(--ease-out) both}.menu-pop.is-sub{position:fixed;top:auto;left:auto;animation:none}.menu-item{position:relative}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;height:var(--h-ctl);padding:0 var(--sp-3);border:0;border-radius:var(--r-xs);background:transparent;color:var(--text);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.menu-row:hover:not(:disabled){background:var(--hover)}.menu-row.is-active:not(:disabled){background:var(--hover)}.menu-row:disabled{color:var(--text-3);cursor:default}.menu-check{flex:none;width:14px;color:var(--text);font-size:12px;line-height:1;text-align:center}.menu-arrow{flex:none;color:var(--text-3);font-size:14px;line-height:1}.menu-row-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-hint{flex:none;color:var(--text-3);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;letter-spacing:.02em}.menu-badge{flex:none;padding:1px 6px;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-3);font-size:10px;font-weight:600;line-height:15px;letter-spacing:.04em}.menu-sep{height:1px;margin:var(--sp-1) var(--sp-2);background:var(--border)}.modal-mask{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--mask);backdrop-filter:blur(2px);animation:mask-in var(--dur) var(--ease)}.modal{max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:modal-in var(--dur) var(--ease)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.modal-title{font-size:var(--fs-lg);font-weight:600}.modal-x{width:28px;height:28px;display:grid;place-items:center;font-size:20px;line-height:1;color:var(--text-2);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease)}.modal-x:hover{background:var(--surface-2);color:var(--text)}.modal-body{padding:var(--sp-5);overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border)}@keyframes mask-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.modal-lead{margin-bottom:var(--sp-4);font-size:var(--fs-sm);color:var(--text-2)}.keys{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:0;list-style:none}.keys-row{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm)}.kbd{flex:none;min-width:132px;padding:3px var(--sp-3);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--fs-xs);text-align:center;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--r-xs)}.about-head{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4)}.about-name{font-size:var(--fs-xl);font-weight:600}.about-studio{font-size:var(--fs-xs);color:var(--text-3)}.facts{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2) var(--sp-4);margin:0 0 var(--sp-4);font-size:var(--fs-sm)}.fact{display:contents}.fact dt{white-space:nowrap;color:var(--text-3)}.fact dd{margin:0;word-break:break-all}.about-noai{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);color:var(--accent);background:var(--accent-soft);border-radius:var(--r-sm)}.start{height:100%;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6) var(--sp-4);max-width:1180px;width:100%;margin:0 auto;overflow:auto}.start-top{flex:none;display:flex;align-items:center;gap:var(--sp-4)}.top-spacer{flex:1}.start-brand{display:flex;align-items:center;gap:var(--sp-2)}.start-brand-name{font-size:var(--fs-lg);font-weight:600;letter-spacing:.2px}.start-brand-tag{font-size:var(--fs-xs);color:var(--text-3);padding-left:var(--sp-2);border-left:1px solid var(--border);line-height:1.1}.start-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--sp-4)}@media(max-width:940px){.start-main{grid-template-columns:minmax(0,1fr);flex:none}}.card{min-height:0;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-xs);overflow:auto}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.card-title{font-size:var(--fs-lg);font-weight:600}.card-note{font-size:var(--fs-xs);color:var(--text-3)}.presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:var(--sp-2)}.chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.chip:hover{border-color:var(--border-strong)}.chip-on{background:var(--accent-soft);border-color:var(--accent)}.chip-label{font-size:var(--fs-sm);font-weight:500}.chip-note{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.chip-on .chip-label,.chip-on .chip-note{color:var(--accent)}.canvas-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-4);align-items:start}@media(max-width:1240px){.canvas-body{grid-template-columns:minmax(0,1fr)}}.canvas-form{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}.field{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.field-row{display:flex;align-items:flex-end;gap:var(--sp-2)}.field-row .field{flex:1}.field-x{height:var(--h-ctl);display:flex;align-items:center;color:var(--text-3)}.field-label{font-size:var(--fs-xs);color:var(--text-2)}.field-input{display:flex;align-items:center;gap:var(--sp-2);height:var(--h-ctl);padding:0 var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color var(--dur-fast) var(--ease)}.field-input:focus-within{border-color:var(--accent);background:var(--surface)}.field-input input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:var(--fs-md);font-variant-numeric:tabular-nums}.field-input input::-webkit-outer-spin-button,.field-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field-unit{flex:none;font-size:var(--fs-xs);color:var(--text-3)}.segmented{display:inline-flex;gap:2px;padding:2px;align-self:flex-start;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.seg{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 var(--sp-4);font-size:var(--fs-sm);color:var(--text-2);border-radius:var(--r-xs);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.seg:hover:not(.seg-on){color:var(--text)}.seg-on{background:var(--surface);color:var(--accent);font-weight:500;box-shadow:var(--shadow-xs)}.canvas-preview{margin:0;display:flex;flex-direction:column;gap:var(--sp-2)}.preview-stage{display:flex;align-items:center;justify-content:center;width:244px;height:154px;padding:var(--sp-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.preview-rect{display:block;background:var(--paper);border:1px solid var(--border-strong);border-radius:var(--r-xs);box-shadow:var(--shadow-xs);transition:width var(--dur) var(--ease-out),height var(--dur) var(--ease-out)}.preview-rect.is-checker{background-color:var(--paper);background-image:linear-gradient(45deg,var(--checker) 25%,transparent 25%),linear-gradient(-45deg,var(--checker) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checker) 75%),linear-gradient(-45deg,transparent 75%,var(--checker) 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}.preview-meta{font-size:var(--fs-xs);color:var(--text-3);text-align:center;font-variant-numeric:tabular-nums}.btn-block{width:100%}.card>.btn-block{margin-top:auto}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-7) var(--sp-4);text-align:center}.empty-mark{margin-bottom:var(--sp-2);opacity:.16}.empty-title{font-size:var(--fs-md);color:var(--text-2)}.empty-hint{max-width:30ch;font-size:var(--fs-sm);color:var(--text-3)}.recent-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;overflow:auto}.recent-item{display:flex;align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease)}.recent-item:hover{background:var(--surface-2)}.recent-item.is-missing{opacity:.55}.recent-open{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2);text-align:left;border-radius:var(--r-sm)}.recent-open:disabled{cursor:default}.recent-thumb{flex:none;width:40px;height:40px;display:grid;place-items:center;overflow:hidden;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs)}.recent-thumb img{width:100%;height:100%;object-fit:cover;display:block}.recent-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.recent-name{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.recent-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:500}.is-missing .recent-name-text{color:var(--text-3);text-decoration:line-through}.recent-tag{flex:none;padding:1px 7px;font-size:10px;font-weight:500;line-height:1.5;color:var(--text-3);background:var(--surface-3);border-radius:var(--r-full)}.recent-tag.is-busy{color:var(--accent);background:var(--accent-soft)}.recent-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--text-3)}.recent-meta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.recent-size{color:var(--text-3)}.recent-remove{flex:none;width:26px;height:26px;margin-right:var(--sp-2);display:grid;place-items:center;font-size:16px;line-height:1;color:var(--text-3);border-radius:var(--r-xs);opacity:0;transition:opacity var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.recent-item:hover .recent-remove{opacity:1}.recent-remove:hover{color:var(--text);background:var(--surface-3)}.import{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-md);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.import-on{background:var(--accent-soft);border-color:var(--accent)}.import-hint{margin-top:2px;font-size:var(--fs-sm);color:var(--text-3)}.banner{flex:none;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);font-size:var(--fs-sm);color:var(--danger);background:var(--surface);border:1px solid var(--danger);border-radius:var(--r-sm)}.banner-text{flex:1;min-width:0;word-break:break-word}.banner-close{flex:none;width:26px;height:26px;display:grid;place-items:center;font-size:16px;line-height:1;color:var(--danger);border-radius:var(--r-xs);transition:background var(--dur-fast) var(--ease)}.banner-close:hover{background:var(--hover)}.start-foot{flex:none;display:flex;align-items:center;gap:var(--sp-2);padding-top:var(--sp-2)}.foot-label{margin-right:var(--sp-1);font-size:var(--fs-xs);color:var(--text-3)}.foot-spacer{flex:1}.foot-note{font-size:var(--fs-xs);color:var(--text-3)}.cp-mask{position:fixed;inset:0;z-index:80;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;background:var(--mask);animation:cp-mask-in var(--dur-fast) var(--ease)}@keyframes cp-mask-in{0%{opacity:0}}.cp{width:min(560px,92vw);max-height:62vh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:cp-in var(--dur) var(--ease-out)}@keyframes cp-in{0%{opacity:0;transform:translateY(-10px) scale(.985)}}.cp-input{flex:none;height:52px;padding:0 var(--sp-4);font-size:var(--fs-lg);color:var(--text);background:transparent;border:none;border-bottom:1px solid var(--border)}.cp-input:focus{outline:none}.cp-input::placeholder{color:var(--text-3)}.cp-list{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-2)}.cp-empty{margin:var(--sp-5) 0;font-size:var(--fs-sm);color:var(--text-3);text-align:center}.cp-item{width:100%;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);min-height:40px;font-size:var(--fs-md);color:var(--text);text-align:left;background:transparent;border:none;border-radius:var(--r-sm);cursor:pointer}.cp-item.is-on{background:var(--accent-soft)}.cp-group{flex:none;min-width:44px;font-size:var(--fs-xs);color:var(--text-3)}.cp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-hint{flex:none;font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.cp-foot{flex:none;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-xs);color:var(--text-3);border-top:1px solid var(--border)}.fg{display:grid;grid-template-columns:168px 1fr;gap:var(--sp-3);min-height:260px}.fg-list{display:flex;flex-direction:column;gap:2px;padding-right:var(--sp-3);border-right:1px solid var(--border);overflow-y:auto}.fg-item{position:relative;display:flex;flex-direction:column;gap:1px;padding:var(--sp-2) var(--sp-3);text-align:left;border-radius:var(--r-sm);color:var(--text-2);background:transparent;border:none;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);animation:fg-in var(--dur-fast) var(--ease-out)}.fg-item:hover{color:var(--text);background:var(--hover)}.fg-item.is-on{color:var(--accent);background:var(--accent-soft)}.fg-item.is-on:before{content:"";position:absolute;left:0;top:var(--sp-2);bottom:var(--sp-2);width:2px;border-radius:2px;background:var(--accent)}.fg-item:active{transform:scale(.985)}.fg-item-name{font-size:var(--fs-sm);font-weight:500}.fg-item-sub{font-size:var(--fs-xs);color:var(--text-3)}.fg-body{display:flex;flex-direction:column;gap:var(--sp-4);padding-top:var(--sp-1);overflow-y:auto}.fg-hint{margin:0;font-size:var(--fs-xs);line-height:1.5;color:var(--text-3)}.fg-field{display:flex;flex-direction:column;gap:var(--sp-2)}.fg-field-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.fg-field-label{font-size:var(--fs-sm);color:var(--text-2)}.fg-field-value{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text)}.fg-range{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border-strong);outline:none;cursor:pointer}.fg-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:var(--shadow-xs);transition:transform var(--dur-fast) var(--ease)}.fg-range:active::-webkit-slider-thumb{transform:scale(1.15)}.fg-range:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.fg-note{font-size:var(--fs-xs);color:var(--text-3)}.fg-foot-spacer{flex:1}@keyframes fg-in{0%{opacity:0;transform:translateY(3px)}}.fg-group{padding:var(--sp-2) var(--sp-3) var(--sp-1);font-size:var(--fs-xs);font-weight:600;letter-spacing:.05em;color:var(--text-3)}.fg-select{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--fs-sm);cursor:pointer}.fg-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cd{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-2) 0}.cd-note{font-size:var(--fs-xs);color:var(--text-3)}.cd-field{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.cd-label{font-size:var(--fs-xs);color:var(--text-2)}.cd-input,.cd-select{height:30px;padding:0 var(--sp-2);font-size:var(--fs-sm);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);outline:none}.cd-input:focus,.cd-select:focus{border-color:var(--accent)}.cd-check{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text);cursor:pointer}.cd-calc-grid{display:grid;grid-template-columns:1fr auto;gap:var(--sp-3) var(--sp-4);align-items:end}.cd-spacer{display:block}.cd-preview{display:flex;flex-direction:column;gap:var(--sp-2)}.cd-preview-canvas{width:160px;height:120px;border:1px solid var(--border);border-radius:var(--r-sm);background:#000}.cd-empty{font-size:var(--fs-xs);color:var(--text-3)}.cp{display:flex;flex-direction:column;gap:var(--sp-2)}.cp-sv{position:relative;width:100%;height:124px;border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:crosshair;touch-action:none}.cp-hue{position:relative;height:14px;border:1px solid var(--border-strong);border-radius:999px;cursor:ew-resize;touch-action:none;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.cp-knob{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000080,0 1px 3px #00000073;pointer-events:none}.cp-knob-hue{top:50%;width:14px;height:14px;margin:-7px 0 0 -7px}.cp-inline{flex-direction:row;gap:6px;align-items:stretch;width:100%;min-width:0}.cp-inline .cp-sv-inline{flex:1 1 0;width:auto;min-width:0;height:84px}.cp-hue-v{position:relative;flex:none;width:12px;border:1px solid var(--border-strong);border-radius:999px;cursor:ns-resize;touch-action:none;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.cp-knob-huev{left:50%;width:16px;height:10px;margin:-5px 0 0 -8px;border-radius:3px}.cp-foot{display:flex;align-items:center;gap:var(--sp-2)}.cp-preview{flex:none;width:22px;height:22px;border:1px solid var(--border-strong);border-radius:var(--r-xs)}.cp-hash{flex:none;color:var(--text-3);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-sm)}.cp-hex{flex:1 1 auto;min-width:0;height:24px;padding:0 var(--sp-2);color:var(--text);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-sm);text-transform:uppercase;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs)}.cp-hex:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.cp-presets{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--sp-2)}.cp-preset{width:100%;aspect-ratio:1;padding:0;border:1px solid var(--border-strong);border-radius:var(--r-xs);cursor:pointer}.cp-preset.is-on{box-shadow:0 0 0 2px var(--accent)}.cp-detail{display:flex;flex-direction:column;gap:4px}.cp-tabs{display:flex;gap:4px;margin-bottom:2px}.cp-tab{flex:1;height:22px;color:var(--text-3);font-size:10px;letter-spacing:.06em;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer}.cp-tab:hover{color:var(--text-2)}.cp-tab.is-on{color:var(--text);background:var(--accent-soft, rgba(111, 192, 255, .16));border-color:var(--accent)}.cp-row{display:grid;grid-template-columns:12px minmax(0,1fr) 38px;gap:6px;align-items:center}.cp-row-label{color:var(--text-3);font-family:var(--font-mono, ui-monospace, monospace);font-size:10px}.cp-range{width:100%;height:14px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}.cp-range::-webkit-slider-runnable-track{height:8px;background:var(--cp-track);border:1px solid var(--border-strong);border-radius:4px}.cp-range::-webkit-slider-thumb{width:12px;height:12px;margin-top:-3px;background:#fff;border:1px solid rgba(0,0,0,.65);border-radius:50%;box-shadow:0 1px 2px #0006;-webkit-appearance:none}.cp-num{width:100%;height:20px;padding:0 2px;color:var(--text);font-family:var(--font-mono, ui-monospace, monospace);font-size:10px;text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);-moz-appearance:textfield;appearance:textfield}.cp-num::-webkit-outer-spin-button,.cp-num::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.cp-num:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.brl{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.brl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.brl-item{height:26px;padding:0 var(--sp-2);overflow:hidden;color:var(--text-2);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer}.brl-item:hover{color:var(--text);border-color:var(--border-strong)}.brl-item.is-on{color:var(--text);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.brl-item.is-custom{border-style:dashed}.brl-save{height:26px;color:var(--text-3);font-size:var(--fs-xs);background:transparent;border:1px dashed var(--border-strong);border-radius:var(--r-xs);cursor:pointer}.brl-save:hover{color:var(--text);border-color:var(--accent)}.brp{display:flex;flex-wrap:nowrap;gap:var(--sp-2);align-items:center;max-width:min(340px,42vw);min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:2px;margin:-2px}.brp::-webkit-scrollbar{height:6px}.brp::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.brp::-webkit-scrollbar-track{background:transparent}.brp-stamp{flex:0 0 auto}.brp-item{flex:0 0 auto;white-space:nowrap}.brp-item{height:24px;padding:0 var(--sp-3);color:var(--text-2);font-size:var(--fs-xs);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;cursor:pointer}.brp-item:hover{color:var(--text);border-color:var(--border-strong)}.brp-item.is-on{color:var(--text);background:var(--accent-soft, rgba(111, 192, 255, .16));border-color:var(--accent)}.brp-item.is-static{cursor:default;border-style:dashed}.brp-item.is-static:hover{border-color:var(--border)}.brp-stamp{display:grid;place-items:center;width:34px;height:34px;padding:0;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;cursor:pointer}.brp-stamp:hover{border-color:var(--border-strong)}.brp-stamp.is-on{background:var(--accent-soft, rgba(111, 192, 255, .16));border-color:var(--accent)}.brl-cell{position:relative;display:flex;min-width:0}.brl-cell .brl-item{flex:1;min-width:0;padding-right:18px}.brl-del{position:absolute;top:50%;right:3px;width:14px;height:14px;padding:0;color:var(--text-3);font-size:12px;line-height:1;background:transparent;border:0;border-radius:var(--r-xs);cursor:pointer;transform:translateY(-50%);opacity:0}.brl-cell:hover .brl-del{opacity:1}.brl-del:hover{color:var(--danger, #e5484d);background:var(--surface-3, var(--surface-2))}.brl-saverow{display:flex;gap:var(--sp-2)}.brl-name{flex:1;min-width:0;height:26px;padding:0 var(--sp-2);color:var(--text);font-size:var(--fs-xs);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs)}.brl-name:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.brl-saverow .brl-save{flex:none;padding:0 var(--sp-3)}.brl-save.is-on{color:var(--text);border-style:solid;border-color:var(--accent)}.cchip{display:inline-flex;flex:none}.cchip-btn{width:24px;height:22px;padding:0;border:1px solid var(--border-strong);border-radius:var(--r-xs);cursor:pointer}.cchip-btn:hover{border-color:var(--accent)}.swatch-pop2{z-index:120;display:flex;flex-direction:column;gap:var(--sp-2);width:236px;padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.swatch-tabs{display:flex;gap:var(--sp-2)}.swatch-tab{flex:1;display:flex;gap:6px;align-items:center;justify-content:center;height:26px;color:var(--text-2);font-size:var(--fs-xs);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer}.swatch-tab.is-on{color:var(--text);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.swatch-tab i{width:12px;height:12px;border:1px solid var(--border-strong);border-radius:3px}.isz-hint{margin:0 0 var(--sp-4);font-size:var(--fs-sm);line-height:1.6;color:var(--text-2)}.isz-check{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--text-2);cursor:pointer}.isz-check input{accent-color:var(--accent)}.isz-anchor{margin-top:var(--sp-4)}.isz-anchor-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-2)}.isz-anchor-hint{font-size:var(--fs-xs);color:var(--text-3)}.isz-grid{display:grid;grid-template-columns:repeat(3,26px);grid-auto-rows:26px;gap:4px;padding:6px;width:max-content;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.isz-cell{padding:0;border:1px solid var(--border);border-radius:4px;background:var(--surface);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.isz-cell:hover{border-color:var(--border-strong)}.isz-cell[data-on=true]{background:var(--accent);border-color:var(--accent)}.isz-err{margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--danger, #d9534f)}.cp-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.cp-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:6px;padding:6px var(--sp-2);overflow-x:hidden;overflow-y:auto}.cp-values{display:flex;align-items:center;gap:6px}.cp-values .cp-preview{width:20px;height:20px}.cp-values .cp-hex{height:22px}.cp-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.cp-channel{display:flex;align-items:center;gap:4px;min-width:0}.cp-channel-label{flex:none;width:10px;color:var(--text-3);font-family:var(--font-mono, ui-monospace, monospace);font-size:10px}.cp-channel .cp-num{flex:1;min-width:0;height:22px}.cp-fgbg{display:flex;gap:var(--sp-2);align-items:center;flex:none}.cp-fgbg-stack{position:relative;flex:none;width:34px;height:30px}.cp-chip{position:absolute;width:22px;height:22px;padding:0;border:1px solid var(--border-strong);border-radius:var(--r-xs);box-shadow:0 1px 2px #00000059;cursor:pointer}.cp-chip-fg{top:0;left:0;z-index:2}.cp-chip-bg{top:8px;left:12px;z-index:1}.cp-chip.is-on{outline:2px solid var(--accent);outline-offset:1px}.cp-fgbg-tools{display:flex;flex-direction:column;gap:2px}.cp-mini{display:grid;place-items:center;width:20px;height:15px;padding:0;color:var(--text-2);font-size:12px;line-height:1;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer}.cp-mini:hover{color:var(--text);border-color:var(--border-strong)}.cp-mini-reset{line-height:0}.cp-fgbg-gap{flex:1}.cp-eyedrop{display:grid;flex:none;place-items:center;width:26px;height:26px;padding:0;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer}.cp-eyedrop:hover{color:var(--text);border-color:var(--accent)}.cp-sw-section{display:flex;flex-direction:column;gap:6px;flex:none}.cp-sw-head{display:flex;align-items:center;justify-content:space-between;color:var(--text-3);font-size:var(--fs-xs)}.cp-sw-save{display:grid;place-items:center;width:18px;height:18px;padding:0;color:var(--text-2);font-size:13px;line-height:1;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer}.cp-sw-save:hover{color:var(--text);border-color:var(--accent)}.cp-sw-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:3px}.cp-sw{width:100%;aspect-ratio:1;padding:0;border:1px solid rgba(0,0,0,.28);border-radius:2px;cursor:pointer}.cp-sw:hover{border-color:var(--accent)}.cp-sw.is-on{box-shadow:0 0 0 1px var(--surface),0 0 0 2px var(--accent)}.cp-sw-cell{position:relative;display:block;min-width:0}.cp-sw-cell .cp-sw{display:block}.cp-sw-del{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;width:12px;height:12px;padding:0;color:var(--text);font-size:10px;line-height:1;background:var(--surface-3, var(--surface-2));border:1px solid var(--border-strong);border-radius:50%;cursor:pointer;opacity:0}.cp-sw-cell:hover .cp-sw-del{opacity:1}.cp-sw-empty{margin:0;color:var(--text-3);font-size:10px;line-height:1.5}.lq{display:grid;grid-template-columns:minmax(0,1fr) 236px;gap:var(--sp-4)}.lq-stage{position:relative;height:440px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.lq-canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.lq-ring{position:absolute;left:0;top:0;width:0;height:0;border:1px solid var(--accent);border-radius:50%;box-shadow:0 0 0 1px #00000073,inset 0 0 0 1px #00000040;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease)}.lq-block{position:absolute;inset:0;display:grid;place-items:center;padding:var(--sp-5);font-size:var(--fs-sm);text-align:center;color:var(--text-3);background:var(--surface-2)}.lq-side{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.lq-hint{margin:0 0 var(--sp-2);font-size:var(--fs-xs);line-height:1.55;color:var(--text-3)}.lq-legend{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--text-3)}.lq-modes{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-1)}.lq-mode{padding:6px 0;font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.lq-mode:hover{color:var(--text);background:var(--hover)}.lq-mode.is-on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-ring)}.lq-mode:active{transform:scale(.98)}.lq-field{display:flex;flex-direction:column;gap:var(--sp-1)}.lq-field-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.lq-field-label{font-size:var(--fs-sm);color:var(--text-2)}.lq-field-value{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text)}.lq-range{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border-strong);outline:none;cursor:pointer}.lq-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:var(--shadow-xs);transition:transform var(--dur-fast) var(--ease)}.lq-range:active::-webkit-slider-thumb{transform:scale(1.15)}.lq-range:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lq-check{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--text-2);cursor:pointer}.lq-check input{accent-color:var(--accent);cursor:pointer}.lq-sub{margin:0;font-size:var(--fs-xs);line-height:1.5;color:var(--text-3)}.lq-reset{margin-top:auto;align-self:flex-start}.lq-note{font-size:var(--fs-xs);color:var(--text-3)}.lq-foot-spacer{flex:1}.panel{flex:none;width:264px;display:flex;flex-direction:column;min-height:0;background:var(--surface);border-left:1px solid var(--border)}.panel.dock-panel{flex:1 1 auto;width:100%;min-height:0;border-left:0}.panel-tabs{flex:none;display:flex;gap:var(--sp-1);padding:var(--sp-2) var(--sp-2) 0;border-bottom:1px solid var(--border)}.panel-tab{flex:1;height:30px;font-size:var(--fs-sm);color:var(--text-2);background:transparent;border:none;border-bottom:2px solid transparent;border-radius:var(--r-xs) var(--r-xs) 0 0;cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-bottom-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.panel-tab:hover:not(:disabled){color:var(--text);background:var(--hover)}.panel-tab:active:not(:disabled){transform:translateY(1px)}.panel-tab.is-on{color:var(--accent);border-bottom-color:var(--accent)}.panel-tab:disabled{opacity:.4;cursor:default}.ly-props{flex:0 1 auto;max-height:58%;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border)}.ly-quick{flex:none;display:flex;align-items:center;gap:var(--sp-2)}.ly-op{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--sp-1)}.ly-prop{display:flex;align-items:center;gap:var(--sp-2)}.ly-prop-label{flex:none;width:56px;font-size:var(--fs-xs);color:var(--text-2)}.ly-select{flex:1 1 auto;min-width:0;max-width:152px;height:26px;padding:0 var(--sp-2);font-size:var(--fs-xs);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ly-select:focus{outline:none;border-color:var(--accent)}.ly-range{flex:1;min-width:0;height:4px;margin:0;appearance:none;background:var(--surface-3);border-radius:var(--r-full);cursor:pointer}.ly-range::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border-radius:var(--r-full);background:var(--accent);border:2px solid var(--surface);box-shadow:var(--shadow-sm)}.ly-opacity{flex:none;width:26px;font-size:var(--fs-xs);color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}.ly-list{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-2);animation:panel-in var(--dur) var(--ease-out)}.ly-empty{margin:var(--sp-3);font-size:var(--fs-xs);color:var(--text-3);text-align:center;animation:panel-in var(--dur) var(--ease-out)}.hist-list{display:flex;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none}.hist-step{display:flex;align-items:center;gap:var(--sp-2);width:100%;height:26px;padding:0 var(--sp-2);font-size:var(--fs-xs);color:var(--text-2);text-align:left;background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.hist-step:hover{color:var(--text);background:var(--hover)}.hist-step:active{transform:scale(.985)}.hist-dot{flex:none;width:6px;height:6px;border-radius:var(--r-full);background:var(--border);transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.hist-step.is-now{color:var(--text);background:var(--accent-soft)}.hist-step.is-now .hist-dot{background:var(--accent);transform:scale(1.25)}.hist-step.is-future{opacity:.45}.hist-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hist-scroll{gap:1px;padding:var(--sp-2)}.hist-empty{padding:var(--sp-3);text-align:center}.ly-row{display:flex;align-items:center;gap:var(--sp-2);height:38px;padding:0 var(--sp-2);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);animation:row-in var(--dur-fast) var(--ease-out) both}.ly-row:hover{background:var(--hover)}.ly-row.is-on{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.ly-indent{flex:none}.ly-caret{flex:none;width:12px;height:22px;display:grid;place-items:center;padding:0;color:var(--text-3);background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease)}.ly-caret:hover{color:var(--text)}.ly-caret[aria-expanded=true] svg{transform:rotate(90deg)}.ly-caret svg{transition:transform var(--dur-fast) var(--ease)}.ly-caret.is-empty{cursor:default}.ly-eye,.ly-lock{flex:none;width:22px;height:22px;display:grid;place-items:center;padding:0;color:var(--text-2);background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ly-eye:active,.ly-lock:active{transform:scale(.86)}.ly-eye:hover,.ly-lock:hover{color:var(--text);background:var(--pressed)}.ly-eye.is-off{color:var(--text-3);opacity:.7}.ly-lock{color:var(--text-3)}.ly-lock.is-on{color:var(--accent)}.ly-thumb{flex:none;width:30px;height:30px;border-radius:var(--r-xs);border:1px solid var(--border);background-color:var(--surface);background-image:linear-gradient(45deg,var(--checker) 25%,transparent 25%),linear-gradient(-45deg,var(--checker) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checker) 75%),linear-gradient(-45deg,transparent 75%,var(--checker) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.ly-name{flex:1;min-width:0;font-size:var(--fs-sm);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ly-name-input{flex:1;min-width:0;height:26px;padding:0 var(--sp-2);font-size:var(--fs-sm);color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-xs)}.ly-name-input:focus{outline:none}.ly-flag{flex:none;padding:1px var(--sp-2);font-size:10px;color:var(--text-3);background:var(--surface-3);border-radius:var(--r-full)}.ly-flag.is-accent{color:var(--accent);background:var(--accent-soft)}.ly-foot{flex:none;display:flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border)}.ly-foot-gap{flex:1}.ly-act{width:30px;height:30px;display:grid;place-items:center;font-size:var(--fs-md);color:var(--text-2);background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ly-act:hover:not(:disabled){color:var(--text);background:var(--hover)}.ly-act:active:not(:disabled){transform:scale(.9)}.ly-act:disabled{opacity:.35;cursor:default}.ly-act.is-on{color:var(--accent);background:var(--accent-soft)}.ly-maskbar{display:flex;align-items:center;gap:var(--sp-1)}.ly-toggle{flex:1;min-width:0;height:24px;padding:0 var(--sp-2);font-size:var(--fs-xs);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ly-toggle:active{transform:scale(.98)}.ly-toggle:hover{color:var(--text);background:var(--hover)}.ly-toggle.is-on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.ly-mask-thumb{flex:none;width:36px;height:36px;border-radius:var(--r-xs);border:1px solid var(--border);background:#000;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.ly-mask-thumb.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ly-mask-thumb.is-off{opacity:.45}.ly-thumb-fx{display:grid;place-items:center;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;color:var(--accent);background-image:none;background:var(--accent-soft)}.ly-thumb-group{display:grid;place-items:center;color:var(--accent);background-image:none;background:var(--accent-soft)}.ly-adjust{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.ly-adjust-head{display:flex;align-items:center;justify-content:space-between}.ly-adjust-title{font-size:var(--fs-xs);font-weight:600;color:var(--text)}.ly-mini{width:20px;height:20px;display:grid;place-items:center;font-size:var(--fs-sm);color:var(--text-2);background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ly-mini:active{transform:scale(.88)}.ly-mini:hover{color:var(--accent);background:var(--hover)}.ly-menu-wrap{position:relative;display:flex}.ly-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;min-width:148px;max-height:340px;overflow-y:auto;padding:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);animation:ly-menu-in var(--dur-fast) var(--ease-out)}.ly-menu.is-down{animation-name:ly-menu-in-down}.ly-menu-group{display:block;padding:var(--sp-2) var(--sp-3) var(--sp-1);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;color:var(--text-3)}.ly-menu-group:not(:first-child){margin-top:var(--sp-1);border-top:1px solid var(--border)}.ly-menu-item{display:block;width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--text);text-align:left;background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.ly-menu-item:hover{background:var(--hover)}.ly-menu.is-down{top:calc(100% + 6px);right:0;bottom:auto;left:auto}.ly-style-item{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm)}.ly-style-head{display:flex;align-items:center;gap:var(--sp-1)}.ly-check{flex:none;width:20px;height:20px;display:grid;place-items:center;padding:0;font-size:var(--fs-sm);color:var(--text-3);background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ly-check:active{transform:scale(.88)}.ly-check:hover{background:var(--hover)}.ly-check.is-on{color:var(--accent)}.ly-style-name{flex:1;min-width:0;padding:0;font-size:var(--fs-xs);font-weight:600;color:var(--text);text-align:left;background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ly-style-name:hover{color:var(--accent)}.ly-mini.is-on{color:var(--accent);background:var(--accent-soft)}.ly-seg{flex:1;min-width:0;display:flex;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs)}.ly-seg-btn{flex:1;min-width:0;height:22px;padding:0;font-size:var(--fs-xs);color:var(--text-2);background:transparent;border:none;cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ly-seg-btn:hover{color:var(--text);background:var(--hover)}.ly-seg-btn.is-on{color:var(--accent);background:var(--accent-soft)}.ly-group{margin-top:var(--sp-1);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;color:var(--text-3)}.ly-hint{font-size:var(--fs-xs);line-height:1.5;color:var(--text-3)}.ly-curve{display:flex;flex-direction:column;gap:var(--sp-1)}.ly-curve-canvas{width:100%;aspect-ratio:1 / 1;border:1px solid var(--border);border-radius:var(--r-sm);cursor:crosshair;touch-action:none}.ly-curve-tabs{display:flex;gap:var(--sp-1);padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.ly-curve-tab{flex:1;height:24px;font-size:var(--fs-xs);color:var(--text-2);background:transparent;border:none;border-radius:calc(var(--r-sm) - 1px);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.ly-curve-tab:hover{color:var(--text);background:var(--hover)}.ly-curve-tab.is-on{color:var(--text);background:var(--surface);box-shadow:inset 0 -2px 0 var(--ly-tab-hue, var(--accent))}.ly-grad{display:flex;flex-direction:column;gap:var(--sp-2)}.ly-grad-bar{position:relative;height:22px;margin:0 var(--sp-2) 12px;border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;touch-action:none}.ly-grad-stop{position:absolute;top:100%;width:12px;height:12px;margin-top:3px;transform:translate(-50%);border:2px solid var(--surface);border-radius:var(--r-xs);box-shadow:0 0 0 1px var(--border-strong);pointer-events:none}.ly-grad-stop.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cchip-btn.ly-color{width:34px;height:24px}.ch-list{display:flex;flex-direction:column;gap:1px}.ch-row{display:flex;align-items:center;gap:var(--sp-2);height:44px;padding:0 var(--sp-2);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);animation:row-in var(--dur-fast) var(--ease-out) both}.ch-row:hover{background:var(--hover)}.ch-row.is-viewed{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.ch-mono{background-image:none;background-color:#000}.ch-name{flex:1;min-width:0;height:26px;padding:0 var(--sp-2);font-size:var(--fs-sm);color:var(--text-2);text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ch-name:hover{color:var(--text);background:var(--pressed)}.ch-row.is-viewed .ch-name{color:var(--text)}.ch-note{margin:var(--sp-2) 0 0;padding:var(--sp-2);font-size:var(--fs-xs);line-height:1.5;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-xs);animation:panel-in var(--dur) var(--ease-out)}.ch-act{height:28px;padding:0 var(--sp-3);font-size:var(--fs-xs);color:var(--text-2);background:transparent;border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ch-act:hover:not(:disabled){color:var(--text);background:var(--pressed)}.ch-act:active:not(:disabled){transform:scale(.98)}.ch-act:disabled{opacity:.4;cursor:default}.ch-act.is-primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.ch-act.is-primary:hover:not(:disabled){color:var(--accent-ink);background:var(--accent-hover);border-color:var(--accent-hover)}.ch-act.is-danger{color:var(--danger, #e5484d)}.ch-act.is-danger:hover:not(:disabled){color:#fff;background:var(--danger, #e5484d);border-color:var(--danger, #e5484d)}.ch-divider{margin:var(--sp-2) 0 var(--sp-1);padding:0 var(--sp-2);font-size:var(--fs-xs);font-weight:600;color:var(--text-3);text-transform:none}.ch-del{flex:none;width:20px;height:20px;display:grid;place-items:center;padding:0;font-size:15px;line-height:1;color:var(--text-3);background:transparent;border:none;border-radius:var(--r-xs);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ch-row:hover .ch-del{opacity:1}.ch-del:hover{color:#fff;background:var(--danger, #e5484d)}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}}@keyframes row-in{0%{opacity:0;transform:translateY(-3px)}}@keyframes ly-menu-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes ly-menu-in-down{0%{opacity:0;transform:translateY(-6px) scale(.98)}}.hist-channel{border:none;background:transparent;color:inherit;font-size:11px;cursor:pointer}.hist-body{padding:4px 8px 8px}.hist-canvas{display:block;width:100%;height:110px;background:repeating-conic-gradient(#2a2a30 0% 25%,#34343c 0% 50%) 0 0 / 12px 12px;border-radius:4px}:root[data-theme=light] .hist-canvas,.light .hist-canvas{background:repeating-conic-gradient(#e4e4e8 0% 25%,#f0f0f4 0% 50%) 0 0 / 12px 12px}.hist-stats{display:flex;justify-content:space-between;gap:6px;margin-top:6px;font-size:10px;opacity:.75;white-space:nowrap}.scope{display:flex;flex-direction:column;gap:var(--sp-2);min-height:0}.scope-tabs{display:flex;gap:var(--sp-1);padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.scope-tab{flex:1;height:24px;font-size:var(--fs-xs);color:var(--text-2);background:transparent;border:none;border-radius:calc(var(--r-sm) - 1px);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.scope-tab:hover{color:var(--text);background:var(--hover)}.scope-tab.is-on{color:var(--text);background:var(--surface);box-shadow:inset 0 -2px 0 var(--accent)}.scope-canvas{width:100%;height:150px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.scope-hint{margin:0;font-size:var(--fs-xs);line-height:1.5;color:var(--text-3)}.nav-body{padding:6px 8px 8px}.nav-thumb{display:block;width:100%;aspect-ratio:216 / 132;background:repeating-conic-gradient(#2a2a30 0% 25%,#34343c 0% 50%) 0 0 / 12px 12px;border-radius:4px;cursor:crosshair;touch-action:none}:root[data-theme=light] .nav-thumb,.light .nav-thumb{background:repeating-conic-gradient(#e4e4e8 0% 25%,#f0f0f4 0% 50%) 0 0 / 12px 12px}.nav-zoom{display:flex;align-items:center;gap:6px;padding:0 8px 8px}.nav-zoom-btn{flex:none;width:18px;height:18px;padding:0;display:grid;place-items:center;color:var(--text-2);font-size:13px;line-height:1;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.nav-zoom-btn:hover{color:var(--text);background:var(--hover)}.nav-zoom input[type=range]{flex:1;min-width:0;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}.pp-body{gap:0;padding:var(--sp-2) var(--sp-3)}.pp-row{display:flex;align-items:center;gap:var(--sp-2);min-height:26px;border-bottom:1px solid var(--border)}.pp-row:last-child{border-bottom:0}.pp-row-label{flex:none;width:68px;color:var(--text-3);font-size:var(--fs-xs)}.pp-row-value{flex:1;min-width:0;overflow:hidden;color:var(--text);font-size:var(--fs-xs);text-align:right;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.pp-empty{margin:0;padding:var(--sp-3)}.pp-adjust{gap:var(--sp-2)}.pp-group{color:var(--text-3);font-size:10px;letter-spacing:.06em}.pp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.pp-item{min-width:0;height:26px;padding:0 var(--sp-2);overflow:hidden;color:var(--text-2);font-size:var(--fs-xs);white-space:nowrap;text-align:left;text-overflow:ellipsis;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.pp-item:hover{color:var(--text);border-color:var(--accent)}.dock{flex:none;width:326px;min-height:0;display:flex;align-items:stretch;background:var(--surface);border-left:1px solid var(--border)}.dock-rail{flex:none;width:36px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;background:var(--surface-2);border-right:1px solid var(--border)}.dock-rail-btn{position:relative;display:grid;place-items:center;width:28px;height:28px;padding:0;color:var(--text-3);background:transparent;border:0;border-radius:var(--r-xs);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.dock-rail-btn:hover{color:var(--text);background:var(--hover)}.dock-rail-btn.is-on{color:var(--accent);background:var(--accent-soft, rgba(111, 192, 255, .14))}.dock-rail-btn:before{content:"";position:absolute;left:-4px;top:6px;bottom:6px;width:2px;border-radius:1px;background:var(--accent);opacity:0;transform:scaleY(.4);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease-out)}.dock-rail-btn.is-on:before{opacity:1;transform:scaleY(1)}.dock-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--border);gap:1px}.dock-group{display:flex;flex-direction:column;min-height:0;background:var(--surface);animation:dock-in var(--dur-fast) var(--ease-out)}@keyframes dock-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.dock-group.is-color{flex:0 0 auto}.dock-group.is-props{flex:0 1 auto;max-height:150px}.dock-group.is-layers{flex:1 1 auto;min-height:200px}.dock-group.is-history{flex:0 1 auto;max-height:208px}.dock-group.is-navigator,.dock-group.is-histogram{flex:0 0 auto}.dock-panel{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;background:var(--surface)}.dock-panel .panel-tabs{padding:0 var(--sp-2);background:var(--surface)}.dock-panel .panel-tab{height:31px;font-size:var(--fs-xs)}.dock-scroll{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);overflow-x:hidden;overflow-y:auto}.dock-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);height:31px;padding:0 var(--sp-3);color:var(--text-2);font-size:var(--fs-xs);font-weight:600;letter-spacing:.03em;border-bottom:1px solid var(--border)}.dock-head-count{color:var(--text-3);font-weight:400;font-variant-numeric:tabular-nums}.dock-hint{margin:0;color:var(--text-3);font-size:10px;line-height:1.6}@media(max-width:1180px){.dock{width:290px}}.optbar{flex:none;min-height:42px;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-4);background:var(--surface);border-bottom:1px solid var(--border)}.optbar-tool{flex:none;display:flex;align-items:center;gap:var(--sp-2);color:var(--text);animation:optbar-slide-in var(--dur-fast) var(--ease-out)}.optbar-tool-name{font-size:var(--fs-sm);font-weight:500}.optbar-sep{flex:none;width:1px;height:20px;background:var(--border)}.optbar-items{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);animation:optbar-slide-in var(--dur-fast) var(--ease-out)}.opt-tip{flex:none;width:30px;height:30px;border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-2)}.optbar-none{font-size:var(--fs-xs);color:var(--text-3)}.opt{flex:none;display:flex;align-items:center;gap:var(--sp-2)}.opt-label{font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap}.opt-range{width:108px;height:4px;margin:0;appearance:none;background:var(--surface-3);border-radius:var(--r-full);cursor:pointer}.opt-range::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:var(--r-full);background:var(--accent);border:2px solid var(--surface);box-shadow:var(--shadow-sm)}.opt-num{width:52px;height:26px;padding:0 var(--sp-2);font-size:var(--fs-xs);color:var(--text);text-align:right;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.opt-num:focus{outline:none;border-color:var(--accent)}.opt-suffix{font-size:var(--fs-xs);color:var(--text-3)}.opt-readonly{min-width:52px;height:26px;display:inline-flex;align-items:center;justify-content:flex-end;padding:0 var(--sp-2);font-size:var(--fs-xs);color:var(--text-2);font-variant-numeric:tabular-nums}.opt-modes{display:inline-flex;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs)}.opt-mode{flex:none;height:26px;padding:0 var(--sp-2);font-size:var(--fs-xs);color:var(--text-2);background:transparent;border:0;cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.opt-mode+.opt-mode{border-left:1px solid var(--border)}.opt-mode:hover{color:var(--text);background:var(--surface-3)}.opt-mode.is-on{color:var(--accent);background:var(--accent-soft);font-weight:500}.opt-check{cursor:pointer}.opt-check input{width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}.opt-chip{width:20px;height:20px;border-radius:var(--r-xs);border:1px solid var(--border-strong)}.opt-hex{font-size:var(--fs-xs);color:var(--text-3);font-family:var(--font-mono, ui-monospace, monospace)}.opt-color{position:relative}.opt-chip-btn{width:20px;height:20px;padding:0;border-radius:var(--r-xs);border:1px solid var(--border-strong);cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease)}.opt-chip-btn:hover{box-shadow:0 0 0 2px var(--accent-ring)}.opt-chip-btn[aria-expanded=true]{box-shadow:0 0 0 2px var(--accent)}.color-pop{position:fixed;z-index:120;width:236px;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:optbar-pop-in var(--dur-fast) var(--ease-out)}.color-pop-foot{display:flex;gap:var(--sp-2)}.fly-btn{flex:1;height:28px;padding:0 var(--sp-2);font-size:var(--fs-xs);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.fly-btn:active{transform:scale(.97)}.fly-btn:hover{color:var(--text);background:var(--surface-3)}.fly-btn.is-wide{width:100%}.optbar-more-wrap{position:relative;flex:none}.optbar-more{min-width:84px;justify-content:center}.optbar-brush-panel{flex:none;min-width:84px;justify-content:center;white-space:nowrap}.optbar-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:300px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:optbar-pop-in var(--dur-fast) var(--ease-out)}@keyframes optbar-pop-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes optbar-slide-in{0%{opacity:0;transform:translateY(-4px)}}.opt-note{margin:0;font-size:var(--fs-xs);line-height:1.6;color:var(--text-2)}.opt-extra-row{display:flex;gap:var(--sp-4)}.opt-extra-row>*{flex:1;min-width:0}.bsp{display:flex;flex-direction:column;gap:var(--sp-4)}.bsp-preview{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.bsp-preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.bsp-preview-title{flex:none;font-size:var(--fs-sm);font-weight:600;color:var(--text)}.bsp-preview-hint{min-width:0;font-size:var(--fs-xs);line-height:1.5;color:var(--text-3);text-align:right}.bsp-preview-canvas{display:block;width:100%;height:auto;background:var(--surface-3);border-radius:var(--r-sm)}.bsp-main{display:grid;grid-template-columns:132px minmax(0,1fr);gap:var(--sp-4);min-height:320px}.bsp-tabs{display:flex;flex-direction:column;gap:2px;padding-right:var(--sp-3);border-right:1px solid var(--border)}.bsp-tab{height:var(--h-ctl);padding:0 var(--sp-3);font-size:var(--fs-sm);text-align:left;color:var(--text-2);background:transparent;border:0;border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.bsp-tab:hover{color:var(--text);background:var(--hover)}.bsp-tab.is-on{color:var(--accent);background:var(--accent-soft);font-weight:600}.bsp-pane{min-width:0}.bsp-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-3) var(--sp-4);align-content:start}.bsp-wide{grid-column:1 / -1}.bsp-note{grid-column:1 / -1;margin:0;font-size:var(--fs-xs);line-height:1.6;color:var(--text-3)}.bsp-note-warn{color:var(--warn, #d8a657)}.bsp-foot-note{margin:0;font-size:var(--fs-xs);color:var(--text-3);text-align:center}.bsp .opt{width:100%;min-width:0}.bsp .opt-label{flex:none;width:64px}.bsp .opt-range{flex:1 1 auto;width:auto;min-width:0}.bsp .opt-num{flex:none;width:46px}.bsp .opt-check .opt-label{width:auto}.bsp .opt-modes{flex-wrap:wrap}@media(max-width:720px){.bsp-main{grid-template-columns:minmax(0,1fr)}.bsp-tabs{flex-direction:row;flex-wrap:wrap;padding-right:0;padding-bottom:var(--sp-2);border-right:0;border-bottom:1px solid var(--border)}.bsp-fields{grid-template-columns:minmax(0,1fr)}}.pref{display:grid;grid-template-columns:132px 1fr;gap:var(--sp-5);min-height:320px}.pref-tabs{display:flex;flex-direction:column;gap:2px;padding-right:var(--sp-3);border-right:1px solid var(--border)}.pref-tab{height:var(--h-ctl);padding:0 var(--sp-3);font-size:var(--fs-sm);text-align:left;color:var(--text-2);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pref-tab:hover{background:var(--hover);color:var(--text)}.pref-tab.is-on{color:var(--accent);background:var(--accent-soft);font-weight:600}.pref-pane{display:flex;flex-direction:column;gap:var(--sp-5)}.pref-sec{display:flex;flex-direction:column;gap:var(--sp-3)}.pref-h{font-size:var(--fs-sm);font-weight:600;color:var(--text)}.pref-note{margin:0;font-size:var(--fs-xs);line-height:1.6;color:var(--text-3)}.pref-choice{display:flex;gap:var(--sp-3)}.pref-card{flex:1;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.pref-card:hover{border-color:var(--border-strong)}.pref-card.is-on{border-color:var(--accent);background:var(--accent-soft)}.pref-swatch{height:44px;border:1px solid var(--border);border-radius:var(--r-xs)}.pref-swatch.is-light{background:#fff}.pref-swatch.is-dark{background:#1a1a1f}.pref-card-name{font-size:var(--fs-xs);color:var(--text-2)}.pref-seg{display:inline-flex;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);align-self:flex-start}.pref-seg-btn{width:40px;height:26px;font-size:var(--fs-xs);color:var(--text-2);border-radius:var(--r-xs);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pref-seg-btn:hover{background:var(--hover);color:var(--text)}.pref-seg-btn.is-on{color:var(--accent-ink);background:var(--accent)}.pref-tools{display:flex;flex-direction:column;gap:var(--sp-3)}.pref-tool-group{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding-bottom:var(--sp-3);border-bottom:1px dashed var(--border)}.pref-tool-group:last-child{padding-bottom:0;border-bottom:none}.pref-tool{display:inline-flex;align-items:center;gap:var(--sp-2);padding:5px var(--sp-3);font-size:var(--fs-xs);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-full);cursor:pointer;user-select:none;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pref-tool:hover{border-color:var(--border-strong);color:var(--text)}.pref-tool input{accent-color:var(--accent);cursor:pointer}.pref-row{display:flex;align-items:center;gap:var(--sp-3)}.pref-row input[type=range]{flex:1;accent-color:var(--accent)}.pref-val{min-width:46px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--fs-xs);text-align:right;color:var(--text-2)}.statusbar{flex:none;height:24px;display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-4);font-size:var(--fs-xs);color:var(--text-3);background:var(--surface);border-top:1px solid var(--border)}.st-item{flex:none;display:flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.st-key{color:var(--text-3)}.st-val{color:var(--text-2);font-variant-numeric:tabular-nums;transition:color var(--dur) var(--ease)}.st-gap{flex:1}.tool-flyout{position:fixed;z-index:80;width:272px;max-height:calc(100vh - 24px);overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:tool-fly-in var(--dur-fast) var(--ease-out)}@keyframes tool-fly-in{0%{opacity:0;transform:translate(-6px)}}.fly-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border)}.fly-title{font-size:var(--fs-sm);font-weight:600;color:var(--text)}.fly-sub{font-size:var(--fs-xs);color:var(--text-3)}.fly-tip{display:flex;align-items:center;gap:var(--sp-3)}.fly-tip .opt-tip{width:64px;height:64px;flex:none}.fly-tip-meta{min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.fly-tip-size{font-size:var(--fs-md);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.fly-hint{font-size:var(--fs-xs);line-height:1.5;color:var(--text-2)}.tool-flyout .opt{width:100%}.tool-flyout .opt-range{flex:1;min-width:0}.tool-flyout .opt-label{flex:none;min-width:40px}.tool-flyout .opt-modes,.tool-flyout .opt-mode{flex:1}.fly-note{margin:0;font-size:var(--fs-xs);line-height:1.6;color:var(--text-2)}.toolrail{--tool-btn: 32px;--tool-gap: 3px;--tool-pad: 7px;flex:none;width:calc(var(--tool-cols, 2) * var(--tool-btn) + (var(--tool-cols, 2) - 1) * var(--tool-gap) + var(--tool-pad) * 2);display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:var(--sp-2) var(--tool-pad);background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;overflow-x:visible}.toolrail-group{display:grid;grid-template-columns:repeat(var(--tool-cols, 2),var(--tool-btn));justify-content:center;gap:var(--tool-gap)}.toolrail-sep{height:1px;margin:var(--sp-1) 2px;background:var(--border)}.toolrail-spacer{flex:1;min-height:var(--sp-3)}.tool-btn{width:var(--tool-btn);height:var(--tool-btn);display:grid;place-items:center;padding:0;color:var(--text-2);background:transparent;border:none;border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.tool-btn:hover:not(:disabled){color:var(--text);background:var(--hover)}.tool-btn:active:not(:disabled){background:var(--pressed);transform:scale(.92)}.tool-btn.is-on{color:var(--accent);background:var(--accent-soft);animation:tool-on var(--dur-fast) var(--ease-out)}.tool-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.tool-btn:disabled{opacity:.45;cursor:default}.toolrail-gear{flex:none;width:100%;height:28px;display:grid;place-items:center;margin-top:2px;padding:0;color:var(--text-3);background:transparent;border:none;border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.toolrail-gear:hover{color:var(--text);background:var(--hover)}.toolrail-gear:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.swatch{position:relative;flex:none;display:grid;place-items:center;padding-bottom:var(--sp-1)}.swatch-stack{position:relative;width:40px;height:40px;display:block;padding:0;background:transparent;border:none;cursor:pointer}.swatch-chip{position:absolute;border-radius:var(--r-xs);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.swatch-bg{right:0;bottom:0}.swatch-fg{left:0;top:0}.swatch-stack:hover .swatch-chip{border-color:var(--accent)}.swatch-stack:active .swatch-chip{transform:scale(.94)}.swatch-stack:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:var(--r-sm)}@keyframes tool-on{0%{transform:scale(.9)}}.swatch-swap{align-self:flex-start}.editor{position:relative;height:100%;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.editor-top{position:relative;flex:none;height:36px;display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);background:var(--surface);border-bottom:1px solid var(--border)}.editor-gap{flex:1;min-width:var(--sp-3)}.editor-top-actions{flex:none;display:flex;align-items:center;gap:var(--sp-2)}.zoom-label{min-width:46px;text-align:right;font-size:var(--fs-xs);color:var(--text-2);font-variant-numeric:tabular-nums}.top-divider{flex:none;width:1px;height:20px;margin:0 var(--sp-1);background:var(--border)}.editor-ws{flex:none;display:flex;align-items:center;gap:2px;padding:3px;background:var(--surface-2);border-radius:var(--r-sm)}.ws-btn{height:26px;padding:0 var(--sp-3);font-size:var(--fs-xs);color:var(--text-2);border-radius:var(--r-xs);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.ws-btn:hover:not(.is-on){color:var(--text)}.ws-btn.is-on{color:var(--text);font-weight:500;background:var(--surface);box-shadow:var(--shadow-xs);animation:ws-on var(--dur-fast) var(--ease-out)}@keyframes ws-on{0%{transform:scale(.96)}}.editor-tabs{flex:none;display:flex;align-items:stretch;gap:var(--sp-1);height:30px;padding:0 var(--sp-3);background:var(--surface-2);border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden}.editor-tabs::-webkit-scrollbar{height:0}.tab{flex:none;display:flex;align-items:center;gap:var(--sp-2);max-width:200px;padding:0 var(--sp-2) 0 var(--sp-4);font-size:var(--fs-sm);color:var(--text-2);border-radius:var(--r-xs) var(--r-xs) 0 0;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);animation:tab-in var(--dur) var(--ease-out)}.tab:hover{color:var(--text);background:var(--hover)}.tab.is-on{color:var(--text);background:var(--surface);box-shadow:inset 0 2px 0 var(--accent)}@keyframes tab-in{0%{opacity:0;transform:translateY(-6px)}}.tab-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-dot{flex:none;width:6px;height:6px;border-radius:var(--r-full);background:var(--accent)}.tab-x{flex:none;width:20px;height:20px;display:grid;place-items:center;font-size:var(--fs-md);line-height:1;color:var(--text-3);border-radius:var(--r-xs);opacity:0;transition:opacity var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.tab:hover .tab-x,.tab.is-on .tab-x{opacity:1}.tab-x:hover{color:var(--text);background:var(--pressed)}.editor-main{flex:1;min-height:0;display:flex;align-items:stretch}.editor-center{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.editor-viewport{flex:1;min-height:0;overflow:hidden;display:grid;place-items:center;background:var(--canvas-bg);background-image:linear-gradient(45deg,var(--editor-mat) 25%,transparent 25%),linear-gradient(-45deg,var(--editor-mat) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--editor-mat) 75%),linear-gradient(-45deg,transparent 75%,var(--editor-mat) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;padding:var(--sp-4);touch-action:none}.editor-stage{position:relative;flex:none;background-color:var(--paper);background-image:linear-gradient(45deg,var(--checker) 25%,transparent 25%),linear-gradient(-45deg,var(--checker) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checker) 75%),linear-gradient(-45deg,transparent 75%,var(--checker) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;box-shadow:var(--shadow-md);will-change:transform}.editor-canvas{display:block;width:100%;height:100%;image-rendering:auto}.editor-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.editor-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px)}.editor-guides{position:absolute;inset:0;pointer-events:none;z-index:2}.editor-guide{position:absolute;background:var(--guide, #24a2ff);box-shadow:0 0 0 .5px #00000040;animation:guide-in var(--dur-fast) var(--ease-out)}.editor-guide.is-v{top:0;bottom:0;width:1px}.editor-guide.is-h{left:0;right:0;height:1px}@keyframes guide-in{0%{opacity:0}to{opacity:1}}.guide-layout-form{display:flex;flex-direction:column;gap:var(--sp-3)}.guide-layout-clear{justify-content:flex-end;padding-bottom:4px}.editor-pixelgrid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(0,0,0,.14) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.14) 1px,transparent 1px);animation:pixelgrid-in .16s var(--ease-out)}@keyframes pixelgrid-in{0%{opacity:0}to{opacity:1}}.editor-ruler{position:absolute;pointer-events:auto;cursor:crosshair;touch-action:none;user-select:none;background-color:var(--surface-2);background-repeat:repeat-x,repeat-x;background-position:0 100%,0 100%}.editor-ruler-h{left:0;top:-17px;width:100%;height:17px;border:1px solid var(--border);border-bottom:0;background-image:linear-gradient(to right,var(--text-3) 2px,transparent 2px),linear-gradient(to right,var(--grid-line) 1px,transparent 1px)}.editor-ruler-v{left:-17px;top:0;width:17px;height:100%;border:1px solid var(--border);border-right:0;background-image:linear-gradient(to bottom,var(--text-3) 2px,transparent 2px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-repeat:repeat-y,repeat-y;background-position:100% 0,100% 0}.editor.is-immersive .toolrail,.editor.is-immersive .optbar,.editor.is-immersive .dock,.editor.is-immersive .statusbar,.editor.is-immersive .editor-tabs{display:none}.editor-cursor{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:3;display:none}.editor-cursor[data-mode=brush],.editor-cursor[data-mode=pick]{display:block}.editor-cursor-ring{position:absolute;left:0;top:0;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.9);border-radius:var(--r-full);box-shadow:0 0 0 1px #000000a6}.editor-cursor-dot{position:absolute;left:0;top:0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border:1px solid rgba(0,0,0,.65);border-radius:var(--r-full);background:#ffffffe6}.editor-cursor[data-mode=brush] .editor-cursor-pick,.editor-cursor[data-mode=pick] .editor-cursor-ring,.editor-cursor[data-mode=pick] .editor-cursor-dot{display:none}.editor-cursor-pick{position:absolute;left:0;top:0;display:none;align-items:center;gap:var(--sp-2);padding:3px 8px 3px 3px;transform:translate(14px,14px);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);box-shadow:var(--shadow-md);white-space:nowrap}.editor-cursor[data-mode=pick] .editor-cursor-pick{display:flex}.editor-cursor-swatch{width:18px;height:18px;border:1px solid var(--border-strong);border-radius:var(--r-full);background:#000}.editor-cursor-hex{font:600 10px/1 var(--font-mono, ui-monospace, monospace);letter-spacing:.04em;color:var(--text-2)}.editor-textbox{position:absolute;z-index:4;display:flex;flex-direction:column;gap:var(--sp-1);animation:textbox-in var(--dur) var(--ease-out)}.editor-textarea{display:block;margin:0;padding:0;border:1px dashed var(--accent-ring);border-radius:2px;outline:none;background:transparent;white-space:pre;overflow:hidden;resize:none;caret-color:var(--accent)}.editor-textarea::placeholder{color:var(--text-2);opacity:.7}.editor-textbox-bar{display:flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.editor-textbox-hint{font-size:var(--fs-xs);color:var(--text-2);text-shadow:0 0 3px var(--surface),0 0 6px var(--surface)}@keyframes textbox-in{0%{opacity:0;transform:translateY(-3px)}}.editor-errorbar{position:absolute;left:50%;bottom:40px;z-index:60;max-width:min(560px,80%);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);color:var(--accent-ink);background:var(--danger);border-radius:var(--r-full);box-shadow:var(--shadow-md);transform:translate(-50%);animation:toast-in var(--dur) var(--ease);pointer-events:none}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-sm);color:var(--toast-ink);background:var(--toast-bg);border-radius:var(--r-full);box-shadow:var(--shadow-md);animation:toast-in var(--dur) var(--ease);pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.splash{position:fixed;inset:0;z-index:9999;background-color:#0a1018;background-size:cover;background-position:center;transition:opacity .62s ease}.splash--fading{opacity:0}.splash:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000000d6,#000000ad 28%,#00000054 46%,#0000 58%)}.splash__inner{position:absolute;left:6vw;top:50%;transform:translateY(-50%);color:#fff;max-width:760px;user-select:none;animation:splash-rise .9s cubic-bezier(.16,1,.3,1) both}@keyframes splash-rise{0%{opacity:0;transform:translate3d(0,-50%,0) translate(-14px)}to{opacity:1;transform:translate3d(0,-50%,0) translate(0)}}.splash__name{font-family:Segoe UI Black,Arial Black,Inter Tight,Inter,Helvetica Neue,Microsoft YaHei UI,sans-serif;font-size:clamp(84px,13vw,190px);font-weight:900;font-stretch:condensed;letter-spacing:-.045em;line-height:.9;color:#fff;-webkit-text-stroke:2.6px #fff;paint-order:stroke fill;text-shadow:0 4px 34px rgba(0,0,0,.42)}.splash__meta{margin-top:22px;font-size:15px;font-weight:600;letter-spacing:.1em;color:#ffffffe0;animation:splash-fade .7s ease .26s both}.splash__loading{margin-top:46px;font-size:14px;letter-spacing:.04em;color:#fffc;animation:splash-fade .7s ease .42s both}.splash__pct{margin-left:8px;font-variant-numeric:tabular-nums;color:#fff9}.splash__bar{margin-top:12px;width:320px;height:3px;border-radius:2px;background:#fff3;overflow:hidden;animation:splash-fade .7s ease .42s both}.splash__bar>i{display:block;height:100%;border-radius:2px;background:#fffffff0;transition:width .6s cubic-bezier(.4,0,.2,1)}@keyframes splash-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}:root{--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-full: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fs-3xl: 34px;--h-ctl: 34px;--h-ctl-lg: 40px;--accent: #0f76d6;--accent-hover: #0b62b8;--accent-active: #0a529c;--accent-soft: rgba(15, 118, 214, .1);--accent-ring: rgba(15, 118, 214, .35);--accent-ink: #ffffff;--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur: .18s;--dur-slow: .28s}:root,[data-theme=light]{color-scheme:light;--bg: #f4f4f6;--bg-tint: rgba(15, 118, 214, .05);--surface: #ffffff;--surface-2: #f4f4f6;--surface-3: #e8e8ec;--border: #e6e6ea;--border-strong: #d2d2d8;--text: #17171c;--text-2: #5c5c68;--text-3: #8f8f9c;--hover: rgba(20, 20, 30, .045);--pressed: rgba(20, 20, 30, .09);--canvas-bg: #ececf0;--checker: #d8d8dc;--danger: #cf4038;--grid-line: rgba(0, 0, 0, .1);--editor-mat: rgba(128, 128, 140, .09);--toast-bg: rgba(28, 28, 33, .92);--toast-ink: #ffffff;--paper: #ffffff;--mask: rgba(16, 16, 22, .42);--shadow-xs: 0 1px 1px rgba(20, 20, 30, .04);--shadow-sm: 0 1px 2px rgba(20, 20, 30, .05);--shadow-md: 0 6px 20px rgba(20, 20, 30, .09);--shadow-lg: 0 20px 56px rgba(20, 20, 30, .16)}[data-theme=dark]{color-scheme:dark;--bg: #111114;--bg-tint: rgba(111, 192, 255, .08);--surface: #1a1a1f;--surface-2: #232327;--surface-3: #2d2d32;--border: #2b2b2f;--border-strong: #3c3c40;--text: #eeeef2;--text-2: #a4a4b0;--text-3: #70707d;--hover: rgba(255, 255, 255, .055);--pressed: rgba(255, 255, 255, .1);--canvas-bg: #0c0c0f;--checker: #2a2a2e;--danger: #e2766f;--grid-line: rgba(255, 255, 255, .12);--editor-mat: rgba(255, 255, 255, .05);--toast-bg: rgba(238, 238, 242, .94);--toast-ink: #17171c;--paper: #ffffff;--mask: rgba(0, 0, 0, .6);--accent: #6fc0ff;--accent-hover: #8ed0ff;--accent-active: #57aef2;--accent-soft: rgba(111, 192, 255, .16);--accent-ring: rgba(111, 192, 255, .4);--accent-ink: #06121f;--shadow-xs: 0 1px 1px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 6px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 20px 56px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Microsoft YaHei UI,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,Hiragino Sans GB,system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--fs-md);line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;user-select:none;overflow:hidden}input,textarea,[contenteditable=true]{user-select:text}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}button:disabled{cursor:not-allowed}input{font:inherit;color:inherit}img{display:block}::selection{background:var(--accent-soft);color:var(--text)}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:content-box;border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--h-ctl-lg);padding:0 var(--sp-5);background:var(--accent);color:var(--accent-ink);font-size:var(--fs-md);font-weight:500;border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active)}.btn-primary:disabled{opacity:.5}.btn-ghost{display:inline-flex;align-items:center;gap:var(--sp-2);height:var(--h-ctl);padding:0 var(--sp-3);font-size:var(--fs-sm);color:var(--text-2);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-ghost:disabled{opacity:.5}.btn-link{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);color:var(--text-3);border-radius:var(--r-xs);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.btn-link:hover{color:var(--accent);background:var(--accent-soft)}.btn-sm{height:var(--h-ctl);padding:0 var(--sp-4);font-size:var(--fs-sm)}.btn-xs{height:24px;padding:0 var(--sp-2);font-size:var(--fs-xs)}.badge{padding:1px 6px;font-size:11px;color:var(--text-3);background:var(--surface-3);border-radius:var(--r-full)}.drag-region{-webkit-app-region:drag}.no-drag{-webkit-app-region:no-drag}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
