:root,
:root[data-theme="mist"]{
  --bg:#e9ebee;--panel:#f7f7f6;--surface:#fff;--surface-2:#f2f3f4;--surface-3:#e7e9ec;
  --ink:#27292d;--muted:#70757d;--line:#d4d7dc;--line-strong:#bcc1c8;
  --accent:#6f56a4;--accent-hover:#594187;--accent-soft:#eee9f7;--accent-border:#a995ce;
  --control:#4f555d;--control-hover:#3f454c;--control-border:#646b74;--active-surface:#e2e4e7;--active-border:#7a818a;
  --danger:#a73d42;--toolbar:rgba(250,250,249,.96);--canvas-desk:#e4e7ea;--grid-tile:#d9dde1;
  --shadow:0 12px 34px rgba(30,33,38,.11);--shadow-float:0 18px 52px rgba(30,33,38,.2);
  --glass-surface:rgba(247,249,251,.58);--glass-edge:rgba(255,255,255,.78);--glass-shine:rgba(255,255,255,.58);--glass-shadow:0 18px 48px rgba(49,56,65,.2);--paper-fill:#fff;
  --range-track:#c7cbd0;--range-thumb:#3f4349;--range-ring:#f7f8f9;
}
:root[data-theme="linen"]{
  --bg:#e7e2d9;--panel:#f3f0e9;--surface:#fcfaf6;--surface-2:#eeeae2;--surface-3:#e2dcd2;
  --ink:#302e2a;--muted:#777067;--line:#d6cec2;--line-strong:#bfb5a8;
  --accent:#75628f;--accent-hover:#604d7b;--accent-soft:#ece5f1;--accent-border:#a996b9;
  --control:#625f59;--control-hover:#504d48;--control-border:#77736c;--active-surface:#dfdad1;--active-border:#80786e;
  --danger:#a34740;--toolbar:rgba(248,245,239,.97);--canvas-desk:#ded9d0;--grid-tile:#d2ccc2;
  --shadow:0 12px 34px rgba(58,49,39,.12);--shadow-float:0 18px 52px rgba(48,40,32,.2);
  --glass-surface:rgba(246,241,232,.6);--glass-edge:rgba(255,252,246,.76);--glass-shine:rgba(255,255,255,.52);--glass-shadow:0 18px 48px rgba(67,56,43,.2);--paper-fill:#fff;
  --range-track:#c7c0b6;--range-thumb:#4d4a45;--range-ring:#f8f5ef;
}
:root[data-theme="graphite"]{
  color-scheme:dark;
  --bg:#101114;--panel:#17191d;--surface:#1e2126;--surface-2:#24272d;--surface-3:#2b2f36;
  --ink:#ecebea;--muted:#9da2aa;--line:#32363e;--line-strong:#474c56;
  --accent:#8d76bd;--accent-hover:#9d88c9;--accent-soft:#292335;--accent-border:#655487;
  --control:#353b44;--control-hover:#414956;--control-border:#596271;--active-surface:#252a31;--active-border:#687281;
  --danger:#e7868b;--toolbar:rgba(20,22,26,.96);--canvas-desk:#15171b;--grid-tile:#202329;
  --shadow:0 16px 42px rgba(0,0,0,.36);--shadow-float:0 24px 72px rgba(0,0,0,.52);
  --glass-surface:rgba(37,41,48,.58);--glass-edge:rgba(255,255,255,.16);--glass-shine:rgba(255,255,255,.19);--glass-shadow:0 24px 66px rgba(0,0,0,.55);--paper-fill:#fff;
  --range-track:#393e46;--range-thumb:#80868f;--range-ring:#20242a;
}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body{background:var(--bg);color:var(--ink);font-family:"Segoe UI Variable","Segoe UI","Microsoft JhengHei",sans-serif}
button,input,select,textarea{color:var(--ink);border-color:var(--line);background:var(--surface)}
button:hover{background:var(--surface-2)}button:disabled{color:var(--muted);opacity:.58}button.danger{color:var(--danger)}
button.primary,.tool-button.active{background:var(--control);border-color:var(--control-border);color:#fff}.tool-button.active:hover,button.primary:hover{background:var(--control-hover)}
.topbar{background:var(--toolbar);border-color:var(--line);box-shadow:0 5px 22px rgba(0,0,0,.1);backdrop-filter:blur(16px) saturate(125%)}
.projectbar{background:var(--surface-2);border-color:var(--line)}
.tool-group{border-color:var(--line);background:var(--surface-2);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 75%,transparent)}
.tool-label{color:var(--muted)}.tool-button,.tool-select{color:var(--ink)}.tool-button:hover{background:var(--surface);border-color:var(--line)}
.tool-select,.projectbar select,.projectbar input,.workspace-title,.field input,.field select,.field textarea{background:var(--surface);border-color:var(--line);color:var(--ink)}
.topbar .status{background:var(--surface-2);border-color:var(--line)}.projectbar .divider{background:var(--line)}
.page-tab{background:var(--surface)}.page-tab.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-hover)}
.sidebar,.inspector{background:var(--panel)}h2{color:var(--muted)}
.panel-resizer{background:var(--surface-3)}.panel-resizer::after{background:var(--line-strong)}
.workspace-page{background:var(--surface-2);color:var(--ink)}.workspace-page:hover{background:var(--surface-3)}.workspace-page.active{background:var(--accent-soft);border-color:var(--accent)}
.workspace-page-ghost{background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:var(--accent);box-shadow:var(--shadow-float)}
.stage-wrap{--checker-cell:12px;--checker-tile:24px;--checker-x:0px;--checker-y:0px;background-color:var(--canvas-desk);background-image:linear-gradient(45deg,var(--grid-tile) 25%,transparent 25%),linear-gradient(-45deg,var(--grid-tile) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--grid-tile) 75%),linear-gradient(-45deg,transparent 75%,var(--grid-tile) 75%);background-size:var(--checker-tile) var(--checker-tile);background-position:var(--checker-x) var(--checker-y),var(--checker-x) calc(var(--checker-y) + var(--checker-cell)),calc(var(--checker-x) + var(--checker-cell)) calc(var(--checker-y) - var(--checker-cell)),calc(var(--checker-x) - var(--checker-cell)) var(--checker-y);background-attachment:local,local,local,local}
.stage-shell{position:relative;isolation:isolate;overflow:visible;border:1px solid var(--glass-edge);border-radius:10px;background:transparent;box-shadow:0 24px 56px rgba(22,26,31,.22),inset 0 1px 0 rgba(255,255,255,.42),inset 0 -1px 0 rgba(20,24,28,.12);backdrop-filter:none;-webkit-backdrop-filter:none}
.stage-shell::before,.stage-shell::after{display:none}
.stage-shell>.stage{position:relative;z-index:1}
#stage-background{fill:var(--paper-fill);fill-opacity:1}
.stage .guide{stroke:#8c98a5;stroke-width:1;stroke-opacity:.52;vector-effect:non-scaling-stroke}.stage .guide.major{stroke:#687684;stroke-width:1.35;stroke-opacity:.68}
.palette-card{background:linear-gradient(145deg,var(--surface),var(--surface-2));border-color:var(--line)}
.kbd{background:var(--surface-3);border-color:var(--line-strong)}
.context-menu,.clipboard-feedback,.color-loupe{background:var(--glass-surface);border-color:var(--glass-edge);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-shine);color:var(--ink);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}
.context-menu button:disabled{background:var(--surface);color:var(--muted)}#clipboard-dismiss,.color-loupe output{color:var(--muted)}
.file-entry-notice{background:color-mix(in srgb,#d97706 13%,var(--surface));border-color:color-mix(in srgb,#d97706 35%,var(--line));color:var(--ink)}
.inspector-layers,.layer-folder{background:var(--surface-2);border-color:var(--line)}
.layer-entry.active{background:var(--accent-soft);border-color:var(--accent)}.layer-entry.partial{background:color-mix(in srgb,var(--accent-soft) 60%,var(--surface));border-color:var(--accent-border)}
.layer-entry button:hover{background:var(--surface-3)}.layer-entry.layer-child{border-color:var(--accent-border)}
.layer-entry .layer-lock.locked{background:var(--accent-soft);color:var(--accent)}
.layer-entry[data-drop="inside"]{background:var(--accent-soft);outline-color:var(--accent)}
.layer-drag-ghost{background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:var(--accent);box-shadow:var(--shadow-float)}
.local-smooth-controls,.sparse-curve-controls{background:var(--surface-2);border-color:var(--line)}
#auto-trace-dialog{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-float)}
#auto-trace-dialog::backdrop{background:rgba(4,5,7,.72)}
.auto-trace-heading p,.auto-trace-mode-hint,.auto-trace-options small,.auto-trace-footer{color:var(--muted)}
.auto-trace-options label,.auto-trace-canvas{background:var(--surface-2);border-color:var(--line)}
.auto-trace-mode-row select{background:var(--accent-soft);border-color:var(--accent-border);color:var(--ink)}
#auto-trace-svg{background:#fff}
.theme-switcher{height:38px;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 70%,transparent)}
.theme-choice{height:30px;display:flex;align-items:center;gap:5px;padding:4px 7px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:650;box-shadow:none;white-space:nowrap}
.theme-choice:hover{background:var(--surface-3);color:var(--ink)}.theme-choice.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.18)}
.theme-choice i{width:9px;height:9px;border-radius:50%;background:#191b20;border:1px solid #5a606b;box-shadow:inset 0 0 0 2px #252932}.theme-choice[data-ui-theme="mist"] i{background:#f4f4f2;border-color:#c7cbd0;box-shadow:none}.theme-choice[data-ui-theme="linen"] i{background:#ded6c9;border-color:#b9ad9d;box-shadow:none}
.brand{color:var(--ink);text-decoration:none}.repo-actions{display:flex;align-items:center;gap:4px}.mobile-repo-actions{display:none}.repo-link{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.repo-link:hover{background:var(--surface-3);border-color:var(--line-strong)}.repo-link svg{width:17px;height:17px;fill:currentColor}.repo-link.star svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.repo-link.star:hover svg{fill:#d7a928;stroke:#d7a928}
.magnet-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.magnet-icon .magnet-pole{fill:currentColor;stroke:none}
html[data-theme="graphite"] .brand-mark{filter:drop-shadow(0 5px 12px rgba(168,138,244,.2)) brightness(1.08)}
html[data-theme="graphite"] .topbar{background:linear-gradient(180deg,rgba(25,27,32,.98),rgba(18,20,24,.97))}
html[data-theme="graphite"] .projectbar{background:linear-gradient(180deg,#202329,#1b1e23)}
html[data-theme="graphite"] .sidebar,html[data-theme="graphite"] .inspector{background:linear-gradient(180deg,#181a1f,#15171b)}
html[data-theme="graphite"] .tool-button.active,html[data-theme="graphite"] button.primary{color:#fff;background:linear-gradient(145deg,#414956,#313741);border-color:#596271;box-shadow:0 4px 13px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.11)}
html[data-theme="graphite"] .page-tab.active{color:#ded1ff}
html[data-theme="graphite"] input[type="color"]{background:var(--surface-2)}
html[data-theme="graphite"] .stage-wrap{background-color:var(--canvas-desk);background-image:linear-gradient(45deg,var(--grid-tile) 25%,transparent 25%),linear-gradient(-45deg,var(--grid-tile) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--grid-tile) 75%),linear-gradient(-45deg,transparent 75%,var(--grid-tile) 75%)}
html[data-theme="graphite"] #stage-background{fill:var(--paper-fill);fill-opacity:1}
html[data-theme="graphite"] .stage-shell{box-shadow:0 26px 64px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.28)}
body,.topbar,.projectbar,.sidebar,.inspector,.tool-group,.workspace-page,.palette-card,.inspector-layers,.layer-folder{transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}
*{scrollbar-color:var(--line-strong) transparent}
/* Compact application shell: important tools stay visible; infrequent actions live in menus. */
.app{grid-template-rows:58px 44px minmax(0,1fr)}
.topbar{padding:6px 10px;gap:6px}.brand{min-width:132px}.brand-mark{width:28px;height:28px}.tool-label{display:none}.tool-group{padding:3px}.tool-button{height:34px}.topbar>#status{display:none}
.projectbar{padding:5px 10px}.project-identity{display:flex;align-items:center;gap:6px;min-width:0}.project-identity strong{font-size:11px;color:var(--muted);letter-spacing:.05em}.projectbar .export-actions{position:relative}.export-actions .ppt-copy-button{width:38px;height:34px;padding:0;display:grid;place-items:center;gap:0;background:var(--control);border-color:var(--control-border);box-shadow:0 3px 9px rgba(0,0,0,.17)}.export-actions .ppt-copy-button:hover{background:var(--control-hover)}.ppt-copy-button svg{width:19px;height:19px}.export-actions .ppt-progress{width:84px}
.export-menu>summary{border-radius:8px;border-color:var(--line);background:var(--surface);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.export-menu>summary::after{display:none}.export-menu>summary:hover,.export-menu[open]>summary{background:var(--surface-3);border-color:var(--line-strong);filter:none}
.projectbar:has(.export-menu[open]),.topbar:has(.canvas-color-menu[open]){overflow:visible}
.action-menu{position:relative;flex:none}.action-menu>summary{position:relative;display:grid;place-items:center;width:38px;height:34px;padding:0;overflow:hidden;border:1px solid var(--glass-edge);border-radius:12px;background:linear-gradient(145deg,var(--glass-shine),transparent 44%),var(--glass-surface);color:var(--ink);cursor:pointer;font-size:17px;font-weight:800;letter-spacing:1px;list-style:none;user-select:none;box-shadow:0 8px 22px rgba(22,26,31,.14),inset 0 1px 0 var(--glass-shine),inset 0 -1px 0 rgba(20,24,28,.1);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}.action-menu>summary::after{content:"";position:absolute;inset:1px;border-radius:10px;background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 38%);pointer-events:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu>summary:hover,.action-menu[open]>summary{border-color:color-mix(in srgb,var(--glass-edge) 72%,var(--ink));filter:brightness(1.08)}.action-menu>summary svg{position:relative;z-index:1;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.action-menu-popover{position:fixed;z-index:2800;top:0;left:0;width:205px;padding:8px;border:1px solid var(--glass-edge);border-radius:20px;background:radial-gradient(115% 70% at 14% 0,var(--glass-shine),transparent 48%),linear-gradient(145deg,rgba(255,255,255,.08),transparent 52%),var(--glass-surface);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-shine),inset 0 -1px 0 rgba(20,24,28,.12);backdrop-filter:blur(28px) saturate(158%) brightness(1.04);-webkit-backdrop-filter:blur(28px) saturate(158%) brightness(1.04);transform-origin:top left}.action-menu[open]>.action-menu-popover{animation:liquid-glass-open 180ms cubic-bezier(.2,.78,.25,1)}.action-menu-popover[data-placement="left"],.action-menu-popover[data-placement="above"]{transform-origin:right top}.action-menu-popover::before{content:"";position:absolute;inset:1px;border-radius:18px;border-top:1px solid rgba(255,255,255,.2);pointer-events:none}.action-menu-popover button,.action-menu-popover label{display:block;width:100%}.action-menu-popover button{position:relative;min-height:40px;border:0;border-radius:13px;background:transparent;text-align:left;padding:8px 11px}.action-menu-popover button:hover{background:linear-gradient(100deg,rgba(255,255,255,.13),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.workspace-actions{display:flex;grid-template-columns:none;gap:6px;margin-bottom:12px}.workspace-actions>#sidebar-import-reference{flex:1;min-width:0;color:#fff;border-color:var(--control-border);border-radius:8px;background:var(--control);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.workspace-actions>#sidebar-import-reference:hover{background:var(--control-hover);filter:none}.workspace-actions .workspace-menu>summary{width:40px;border-radius:8px;border-color:var(--line);background:var(--surface);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.workspace-actions .workspace-menu>summary::after{display:none}.workspace-actions .workspace-menu>summary:hover,.workspace-actions .workspace-menu[open]>summary{background:var(--surface-3);border-color:var(--line-strong);filter:none}.workspace-menu .action-menu-popover{width:220px}.canvas-paper-controls{margin:6px 2px;padding:9px 5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.canvas-paper-controls label{display:grid;gap:5px;margin:5px 0;color:var(--muted);font-size:11px}.canvas-paper-controls label span{display:flex;justify-content:space-between}.canvas-paper-controls input[type="color"]{width:100%;height:32px;padding:3px;border-radius:7px}.canvas-paper-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.canvas-paper-controls>div button{min-height:32px;padding:5px;text-align:center}.workspace-menu #reference-tools-slot .reference-tools{margin:0}.workspace-menu #reference-tools-slot button{justify-content:flex-start;width:100%;border:0;background:transparent;padding:8px 10px}.workspace-menu #reference-tools-slot button:hover{background:rgba(255,255,255,.08)}
.shape-tool-group{padding:3px}.shape-menu-popover{width:168px}.shape-menu-popover:not([hidden]){animation:liquid-glass-open 180ms cubic-bezier(.2,.78,.25,1)}.shape-menu-popover[hidden]{display:none}.shape-menu-popover button{display:flex;align-items:center;gap:10px}.shape-menu-popover button svg{width:23px;height:23px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.canvas-size-tools{gap:4px;padding-inline:7px}.canvas-size-tools label{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;font-weight:650}.canvas-size-tools input{width:58px;height:30px;padding:3px 5px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums}.canvas-size-cross{color:var(--muted);font-size:12px}
.add-reference-icon .reference-hatch{stroke-width:1.35}.add-reference-icon .reference-plus{stroke-width:2.2}.canvas-color-menu{--canvas-color-swatch:#fff;--canvas-color-opacity:1}.canvas-color-menu>summary{display:flex;width:auto;min-width:38px;gap:6px;padding:0 8px;border-radius:8px;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:inherit;font-weight:inherit;letter-spacing:normal}.canvas-color-menu>summary::after{display:none}.canvas-color-menu>summary:hover,.canvas-color-menu[open]>summary{background:var(--surface);border-color:var(--line);filter:none}.canvas-color-menu>summary .tool-icon{display:grid;place-items:center}.canvas-color-menu>summary svg{width:19px;height:19px}.canvas-color-icon .canvas-color-swatch{fill:var(--canvas-color-swatch);fill-opacity:var(--canvas-color-opacity);stroke:none}.canvas-color-popover{width:238px;padding:11px}.canvas-color-popover>strong{display:block;padding:3px 6px 8px;font-size:12px;letter-spacing:.03em}.canvas-color-presets{display:grid;gap:3px}.canvas-color-popover .canvas-color-presets button{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:49px}.canvas-color-presets button span{display:grid;gap:2px}.canvas-color-presets b{font-size:12px}.canvas-color-presets small{color:var(--muted);font-size:10px}.canvas-color-presets em{display:none;color:var(--ink);font-size:13px;font-style:normal}.canvas-color-presets button.active{background:var(--active-surface);box-shadow:inset 0 0 0 1px var(--active-border)}.canvas-color-presets button.active em{display:block}.paper-swatch{position:relative;width:28px;height:24px;border:1px solid var(--line-strong);border-radius:7px;overflow:hidden;background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,.14)}.paper-swatch.glass{background-color:rgba(255,255,255,.3);background-image:linear-gradient(45deg,rgba(125,132,142,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(125,132,142,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(125,132,142,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(125,132,142,.25) 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0}.paper-swatch.white{background:#fff}.paper-swatch.gray{background:#aeb3ba}.canvas-color-custom{display:grid;gap:9px;margin-top:8px;padding:11px 6px 4px;border-top:1px solid var(--line)}.canvas-color-custom label{display:grid;gap:6px;color:var(--muted);font-size:11px}.canvas-color-custom label>span{display:flex;justify-content:space-between}.canvas-color-custom input[type="color"]{width:100%;height:34px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.canvas-color-popover .canvas-color-custom label{display:grid}
html[data-theme="graphite"] .workspace-page.active,html[data-theme="graphite"] .layer-entry.active{background:#252a31;border-color:#687281}html[data-theme="graphite"] .page-tab.active{background:#292e36;border-color:#687281;color:#edf0f4}
.workspace-page.active,.layer-entry.active,.page-tab.active{background:var(--active-surface);border-color:var(--active-border);color:var(--ink)}.layer-entry .layer-lock.locked{background:var(--active-surface);color:var(--ink)}
.palette-tools button.active,.reference-tools button.active{background:var(--active-surface);border-color:var(--active-border);color:var(--ink);box-shadow:0 0 0 1px var(--active-border)}
.ppt-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--control-border),var(--control))}.ppt-progress::-moz-progress-bar{background:linear-gradient(90deg,var(--control-border),var(--control))}.auto-trace-option-title output{color:var(--ink)}
input[type="range"]{-webkit-appearance:none;appearance:none;height:20px!important;padding:0!important;border:0!important;border-radius:0;background:transparent!important;accent-color:var(--range-thumb);cursor:ew-resize}
input[type="range"]::-webkit-slider-runnable-track{height:4px;border:0;border-radius:999px;background:var(--range-track);box-shadow:inset 0 1px 1px rgba(0,0,0,.16)}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border:2px solid var(--range-ring);border-radius:50%;background:var(--range-thumb);box-shadow:0 1px 3px rgba(0,0,0,.28)}
input[type="range"]::-moz-range-track{height:4px;border:0;border-radius:999px;background:var(--range-track);box-shadow:inset 0 1px 1px rgba(0,0,0,.16)}
input[type="range"]::-moz-range-progress{height:4px;border-radius:999px;background:var(--range-thumb)}
input[type="range"]::-moz-range-thumb{width:12px;height:12px;border:2px solid var(--range-ring);border-radius:50%;background:var(--range-thumb);box-shadow:0 1px 3px rgba(0,0,0,.28)}
input[type="range"]:focus-visible{outline:2px solid var(--range-thumb)!important;outline-offset:3px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:color-mix(in srgb,var(--control-border) 60%,transparent)}
@keyframes liquid-glass-open{from{opacity:0;transform:translateY(-5px) scale(.965);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.action-menu[open]>.action-menu-popover{animation:none}}
@media(max-width:900px){.repo-link{width:34px;padding:0}.repo-link span{display:none}.repo-actions{gap:3px}}

@media(max-width:1500px){.topbar [aria-label="檢視工具"] .tool-text,.topbar [aria-label="編輯工具"] .tool-text{display:none}.brand{min-width:auto}.theme-choice span{display:none}.theme-choice{padding-inline:8px}.projectbar #project-name{width:128px}.projectbar #delete-project{display:none}}
@media(max-width:1100px){.topbar .tool-text{display:none}.tool-button{width:34px;padding:5px}.tool-select{width:70px}.projectbar #project-name,.projectbar #new-project{display:none}}
@media(max-width:900px){
  .app{height:100dvh;grid-template-rows:48px 58px minmax(0,1fr)}.projectbar{grid-row:1;position:relative;padding:6px 134px 6px 8px;flex-wrap:nowrap;overflow:visible}.topbar{grid-row:2;padding:6px 8px;gap:4px;overflow-x:auto;overflow-y:hidden;border-top:0;border-bottom:1px solid var(--line);box-shadow:0 6px 20px rgba(0,0,0,.18);scroll-snap-type:x proximity;overscroll-behavior-x:contain}.workspace{grid-row:3}
  .topbar .spacer,.topbar>#status,.topbar .repo-actions{display:none}.brand{display:flex;min-width:40px;width:40px;height:44px;margin:0;padding:5px;border-radius:10px;scroll-snap-align:start}.brand:hover{background:var(--surface-2)}.brand span{display:none}.brand-mark{width:30px;height:30px;margin:0}.mobile-repo-actions{position:fixed;right:94px;top:7px;z-index:50;display:flex}.mobile-repo-actions .repo-link{width:34px;padding:0}.mobile-repo-actions .repo-link span{display:none}.mobile-only.mobile-panel-button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:46px;height:46px;padding:3px 7px;border-color:transparent;background:transparent;font-size:9px;font-weight:700;scroll-snap-align:start}.mobile-panel-button span{font-size:18px;line-height:20px}.mobile-panel-button.active{background:var(--active-surface);border-color:var(--active-border);color:var(--ink);box-shadow:none}.topbar .tool-group{height:46px;padding:0 2px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;scroll-snap-align:start}.topbar .tool-button{width:45px;height:45px;padding:3px;flex-direction:column;gap:0;border-radius:11px}.topbar [aria-label="工具模式"] .tool-text{display:block;font-size:9px;line-height:11px}.topbar .tool-icon{height:22px}.topbar .canvas-color-menu>summary{width:45px;height:45px;padding:3px}.topbar .tool-select{width:58px;height:42px;padding:3px;font-size:10px;border:0;border-radius:9px;background:var(--surface-2)}.topbar .theme-switcher{display:flex;height:44px;align-self:center;scroll-snap-align:end}.topbar .canvas-size-tools{height:46px;padding:0 5px;gap:3px}.canvas-size-tools label span,.canvas-size-cross{display:none}.canvas-size-tools input{width:54px;height:34px;font-size:11px}
  .project-identity{flex:1;min-width:0}.project-identity strong,.project-identity input,.project-identity button{display:none!important}.projectbar #project-select{display:block;max-width:none;width:100%;min-width:0;border:0;background:transparent;font-weight:700;text-overflow:ellipsis}.projectbar .export-actions{position:absolute;right:8px;top:6px;width:auto;display:flex;flex:0 0 auto;margin-left:0;gap:5px;justify-content:flex-end}.export-actions .autosave{display:none}.export-actions .ppt-progress{position:absolute;right:46px;bottom:-5px;width:38px;height:3px}.export-actions .ppt-copy-button,.export-menu>summary{width:38px;height:36px;border-radius:10px}.export-menu .action-menu-popover{width:min(260px,calc(100vw - 16px))}
  .workspace>.panel-resizer{display:none}.sidebar,.inspector{top:auto;bottom:12px;left:12px;right:12px;width:auto;height:min(48dvh,420px);max-height:calc(100% - 24px);z-index:30;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px rgba(0,0,0,.38);transform:translateY(calc(100% + 24px));transition:transform 180ms cubic-bezier(.2,.8,.2,1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.sidebar,.workspace .inspector{display:flex;flex-direction:column;overflow:hidden}.sidebar>.panel-resizer,.inspector>.panel-resizer{display:none}.sidebar-workspace{flex:0 0 42%;border-bottom:1px solid var(--line)}.sidebar-pages{flex:1}.inspector-tools{flex:0 0 52%}.inspector-layers{flex:1}.workspace.show-assets .sidebar,.workspace.show-inspector .inspector{transform:translateY(0)}.sidebar-workspace,.sidebar-pages,.inspector-tools,.inspector-layers{padding:10px}.stage-wrap{padding:8px}.clipboard-feedback{top:112px;right:8px;width:calc(100vw - 16px)}
}
@media(max-width:540px){.topbar [aria-label="檢視工具"]{display:none}.projectbar{gap:4px}.workspace-title{font-size:13px}.palette-grid{gap:9px}.color-swatch{min-height:34px}.sidebar,.inspector{width:auto}}
