@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,700&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-800:oklch(47.3% .137 46.201);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-800:oklch(43.2% .095 166.913);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-800:oklch(44.3% .11 240.79);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.overflow-auto{overflow:auto}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-red-200{border-color:var(--color-red-200)}.border-sky-200{border-color:var(--color-sky-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-t-slate-800{border-top-color:var(--color-slate-800)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-slate-950\/35{background-color:#02061859}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/35{background-color:color-mix(in oklab, var(--color-slate-950) 35%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-amber-800{color:var(--color-amber-800)}.text-emerald-800{color:var(--color-emerald-800)}.text-red-700{color:var(--color-red-700)}.text-sky-800{color:var(--color-sky-800)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-55:disabled{opacity:.55}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-spin{animation:var(--animate-spin)}}}:root{--app-font-sans-zh:"Be Vietnam Pro", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--app-font-sans-en:"Be Vietnam Pro", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--app-font-display-zh:var(--app-font-sans-zh);--app-font-display-en:Newsreader, Georgia, serif;--app-font-sans:var(--app-font-sans-zh);--app-font-display:var(--app-font-display-zh);font-family:var(--app-font-sans);color:#1b2330;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel-bg:#ffffffd1;--panel-border:#45547124;--muted:#66718a;--accent:#4b5fd0;--accent-strong:#3248c1;--text:#17202c;--shadow-soft:0 18px 48px #28344f1f;--app-safe-area-top:env(safe-area-inset-top,0px);--app-safe-area-right:env(safe-area-inset-right,0px);--app-safe-area-bottom:env(safe-area-inset-bottom,0px);--app-safe-area-left:env(safe-area-inset-left,0px);--editor-topbar-content-height:48px;--editor-topbar-height:calc(var(--editor-topbar-content-height) + var(--app-safe-area-top));--editor-interaction-outline-color:#924b1ceb;background:radial-gradient(circle at 100% 0,#f7dfcc 0,#0000 32%),radial-gradient(circle at 0 100%,#d9e3ff 0,#0000 24%),#eef1f6;font-weight:400;line-height:1.5}html[data-locale=en-US]{--app-font-sans:var(--app-font-sans-en);--app-font-display:var(--app-font-display-en)}html[data-locale=zh-CN]{--app-font-sans:var(--app-font-sans-zh);--app-font-display:var(--app-font-display-zh)}*{box-sizing:border-box}html,body,#root{min-height:100%}html.editor-browser-defaults-disabled,html.editor-browser-defaults-disabled body{overscroll-behavior:none}body{min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#6d7691;margin:0;font-size:.74rem;font-weight:700}.muted{color:var(--muted)}.primary-button,.ghost-button{border:1px solid var(--panel-border);color:var(--text);background:#ffffffb3;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.2rem;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.primary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff;border-color:#0000;box-shadow:0 12px 28px #4a5fd047}.primary-button:disabled,.ghost-button:disabled{opacity:.5}html[data-resolved-theme=dark] .color-panel-number-field{border-color:var(--editor-dark-border);background:var(--editor-dark-surface-2)}html[data-resolved-theme=dark] .color-cleanup-panel{border-color:var(--editor-dark-border);background:var(--editor-dark-surface)}html[data-resolved-theme=dark] .color-panel-number-field,html[data-resolved-theme=dark] .color-cleanup-heading{color:var(--editor-dark-text)}html[data-resolved-theme=dark] .color-cleanup-heading em{color:var(--editor-dark-muted)}.primary-button:focus-visible,.ghost-button:focus-visible{outline-offset:2px;outline:3px solid #2e5cff3d}.empty-panel{border:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-soft)}.editor-missing{min-height:100vh;padding:1.2rem}.empty-panel{border-radius:1.5rem;gap:.5rem;padding:1.2rem;display:grid}.project-shell{--editor-ink:#172033;--editor-muted:#66738a;--editor-line:#dfe5ee;--editor-panel:#fbfcfe;--editor-workspace-bg:#e4e9f1;--editor-accent:#4657c6;grid-template-rows:var(--editor-topbar-height) minmax(0, 1fr);min-height:100vh;color:var(--editor-ink);background:#eef1f5;display:grid}.project-shell-body{min-height:0}.project-shell-body>.image-import-page{min-height:calc(100vh - var(--editor-topbar-height));min-height:calc(100dvh - var(--editor-topbar-height))}.project-shell-body>.editor-page{height:calc(100vh - var(--editor-topbar-height));height:calc(100dvh - var(--editor-topbar-height))}@media (width<=900px){.project-shell{grid-template-rows:var(--editor-topbar-height) minmax(0, 1fr)}.project-shell-body>.image-import-page,.project-shell-body>.editor-page{height:auto;min-height:calc(100vh - var(--editor-topbar-height));min-height:calc(100dvh - var(--editor-topbar-height))}}.editor-page{--editor-ink:#172033;--editor-muted:#66738a;--editor-line:#dfe5ee;--editor-panel:#fbfcfe;--editor-workspace-bg:#e4e9f1;--editor-accent:#4657c6;background:var(--editor-panel);height:100dvh;color:var(--editor-ink);overscroll-behavior:none;grid-template-rows:60px minmax(0,1fr);font-family:Segoe UI,Helvetica Neue,Arial,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;display:grid}.editor-page button,.editor-page input,.editor-page select{font:inherit}.editor-header{border-bottom:1px solid var(--editor-line);background:#fff;grid-template-columns:minmax(180px,1fr) auto minmax(320px,1fr);align-items:center;gap:1rem;padding:0 14px;display:grid}.project-top-bar{z-index:6;position:relative}.editor-header-left,.editor-header-right{align-items:center;gap:.9rem;min-width:0;display:flex}.editor-header-right{justify-content:flex-end}.editor-header-mode-tabs{flex:none}.editor-back-button,.editor-utility-button{color:#263246;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;width:34px;height:34px;padding:0;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s;display:inline-flex}.editor-utility-button:hover{border-color:var(--editor-line);color:var(--editor-ink);background:#f7f9fc}.editor-back-button:focus-visible,.editor-utility-button:focus-visible{outline-offset:2px;outline:3px solid #2e5cff38}.editor-back-button svg,.editor-utility-button svg,.editor-icon-svg{stroke:currentColor;width:18px;height:18px;display:block}.editor-theme-button{color:#2f3a4e;gap:.32rem;width:auto;min-width:64px;padding:0 .56rem;font-size:.9rem;font-weight:650}.editor-theme-button span{line-height:1}.editor-theme-button[data-theme-mode=dark]{color:#1c2434}.editor-export-button{color:#fff;background:#172033;border-color:#172033;width:auto;min-width:88px;padding:0 .78rem;font-weight:750}.editor-export-button:hover{color:#fff;background:#263246;border-color:#263246}.editor-shell{--editor-sidebar-width:280px;grid-template-columns:minmax(0, 1fr) var(--editor-sidebar-width);min-height:0;transition:grid-template-columns .22s;display:grid;position:relative}.editor-settings-sidebar{background:#fff;background:var(--editor-panel);border-left:1px solid #d9e0ebb8;grid-area:1/2;min-height:0;transition:border-color .18s,background-color .18s;position:relative;overflow:hidden}.editor-settings-sidebar.is-hidden{pointer-events:none;border-left-color:#0000}.editor-sidebar-boundary{z-index:8;cursor:pointer;background:0 0;border:none;grid-area:1/2;place-self:center start;place-items:center;width:20px;height:96px;margin-left:-10px;padding:0;transition:margin-left .22s,transform .22s;display:grid;position:relative}.editor-shell.is-sidebar-expanded .editor-sidebar-boundary{cursor:col-resize}.editor-sidebar-boundary-grip{background:#f6ecdfeb;border:1px solid #cdb8a7e0;border-radius:999px;width:8px;height:62px;transition:border-color .14s,background-color .14s,box-shadow .16s;box-shadow:0 6px 16px #924b1c14,inset 0 1px #ffffffb8}.editor-sidebar-boundary:hover .editor-sidebar-boundary-grip,.editor-sidebar-boundary:focus-visible .editor-sidebar-boundary-grip{background:#f3e1cdfa;border-color:#ba9c84f0;box-shadow:0 10px 22px #924b1c1f,inset 0 1px #ffffffd6}.editor-sidebar-boundary:focus-visible{outline:none}.editor-shell.is-sidebar-hidden .editor-sidebar-boundary{margin-left:-20px}.editor-shell.is-sidebar-hidden .editor-sidebar-boundary-grip{height:70px}.editor-sidebar-scroll{z-index:1;opacity:1;visibility:visible;height:100%;padding:16px 14px 22px;transition:opacity .16s,transform .18s,visibility .16s;position:relative;overflow:auto;transform:translate(0)}.editor-settings-sidebar.is-collapsed .editor-sidebar-scroll,.editor-settings-sidebar.is-hidden .editor-sidebar-scroll{opacity:0;visibility:hidden;overflow:hidden;transform:translate(8px)}.editor-sidebar-mobile-header{display:none}.editor-sidebar-section{gap:11px;padding:0 2px 2px;display:grid}.tool-inspector,.layers-panel,.pattern-tools-panel,.editor-more-panel{gap:10px;display:grid}.tool-inspector{background:#f8fafcc7;border:1px solid #d5dce7db;border-radius:12px;padding:10px}.tool-inspector-heading{color:#172033;align-items:center;gap:8px;display:flex}.tool-inspector-heading .editor-icon-svg{width:17px;height:17px}.tool-inspector-heading strong{flex:1;font-size:.92rem}.tool-inspector kbd{color:#526176;min-width:22px;font:750 .72rem/1 var(--font-ui);text-align:center;background:#ffffffdb;border:1px solid #cbd3e0eb;border-radius:7px;padding:2px 6px}.tool-inspector p{color:#667085;margin:0;font-size:.78rem;line-height:1.45}.tool-inspector-segmented{background:#f1f5f9d1;border:1px solid #dce2eceb;border-radius:12px;gap:5px;padding:3px;display:flex}.tool-inspector-segmented button{color:#667085;font:820 .74rem/1 var(--font-ui);background:0 0;border:none;border-radius:9px;flex:1;min-height:30px;padding:0 7px}.tool-inspector-segmented button.is-active{color:#fff;background:#182132;box-shadow:0 7px 14px #0f172a29}.editor-sidebar-panel-heading{gap:8px;padding-top:2px;display:grid}.editor-sidebar-panel-heading>span{color:#172033;font-size:.9rem;font-weight:880}.editor-more-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.editor-more-action{color:#344054;min-height:38px;font:820 .78rem/1 var(--font-ui);background:#ffffffc7;border:1px solid #d5dce7e6;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 9px;display:inline-flex}.editor-more-action .editor-icon-svg{width:16px;height:16px}.editor-more-action.is-active{color:#fff;background:#182132;border-color:#182132}.editor-more-action:disabled{opacity:.55;cursor:not-allowed}.editor-sidebar-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-field-label{color:#0f172a;font-size:.97rem;font-weight:700}.editor-save-status{color:#5d6b82;background:#fff;border:1px solid #dce3ee;border-radius:9px;align-items:center;gap:9px;min-height:34px;padding:0 11px;font-size:.9rem;font-weight:650;display:inline-flex}.editor-navigation-status{width:min(520px,100% - 24px);margin:12px auto 0}.editor-shell.is-read-only{overflow:hidden}.editor-read-only-overlay{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f7f3e9b8;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.editor-read-only-card{text-align:center;background:#fffffff0;border:1px solid #d9c2b6cc;border-radius:18px;gap:8px;max-width:360px;padding:20px 22px;display:grid;box-shadow:0 18px 36px #924b1c1f}.editor-read-only-card strong{color:#1c1c16;font-size:18px;font-weight:600;line-height:24px}.editor-read-only-card p{color:#54433b;margin:0;font-size:14px;line-height:20px}.editor-switch-track{background:#eef2f7;border:1px solid #d8dee8;border-radius:999px;flex:none;width:42px;height:24px;position:relative}.editor-switch-track.is-on{background:#18213a;border-color:#18213a}.editor-switch-handle{background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .18s;position:absolute;top:2px;left:2px}.editor-switch-track.is-on .editor-switch-handle{transform:translate(18px)}.editor-overlay-controls{gap:12px;display:grid}.editor-segmented-control{background:#f6f8fb;border:1px solid #dce3ee;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.editor-segmented-button{color:#5d6b82;background:0 0;border:none;border-radius:9px;min-height:38px;font-size:.94rem;font-weight:700}.editor-segmented-button.is-active{color:#172133;background:#fff;box-shadow:0 1px 2px #47546729}.editor-segmented-button:focus-visible,.editor-toggle-button:focus-visible,.editor-text-button:focus-visible{outline-offset:2px;outline:3px solid #2e5cff38}.editor-toggle-button,.editor-text-button{color:#1e293b;background:0 0;border:none;align-items:center;gap:10px;padding:0;display:inline-flex}.editor-toggle-button{justify-content:flex-start;width:100%}.editor-toggle-button:disabled{opacity:.56;cursor:not-allowed}.editor-text-button{color:#58657e;font-size:.92rem;font-weight:600}.editor-status-note{color:#5d6b82;background:#f8fafc;border:1px solid #e3e8f0;border-radius:10px;padding:.72rem .82rem;font-size:.88rem}.editor-status-note.is-error{color:#b23737;background:#fff5f5;border-color:#f2d0d0}.editor-workspace{background:var(--editor-workspace-bg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-area:1/1;min-height:0;position:relative}.editor-workspace-stage{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;position:relative;overflow:hidden}.project-fullscreen-shell{min-height:100%}:is(.project-fullscreen-shell:fullscreen,.project-fullscreen-shell:fullscreen){width:100dvw;height:100dvh}:is(.editor-workspace-stage:fullscreen,.editor-workspace-stage:fullscreen){background:var(--editor-workspace-bg);width:100dvw;height:100dvh}:is(.editor-page:fullscreen,.editor-page:fullscreen){background:var(--editor-panel);width:100dvw;height:100dvh}.editor-workspace-stage.is-immersive-fallback{z-index:1000;box-sizing:border-box;width:100dvw;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--editor-workspace-bg);position:fixed;inset:0}@supports not (height:100dvh){:is(.editor-workspace-stage:fullscreen,.editor-workspace-stage:fullscreen,.editor-workspace-stage.is-immersive-fallback){width:100vw;height:100vh}}html.editor-fullscreen-touch-locked,html.editor-fullscreen-touch-locked body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow:hidden}.editor-workspace-stage.is-touch-locked,.editor-workspace-stage.is-touch-locked *{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none}.editor-workspace-stage.is-immersive .editor-fullscreen-button{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:20}.editor-main-toolbar,.editor-floating-history-controls,.editor-floating-history-button,.editor-gesture-help-button,.editor-gesture-help-panel{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.editor-fullscreen-button{z-index:5;color:#2f2923;-webkit-backdrop-filter:blur(16px)saturate(1.04);backdrop-filter:blur(16px)saturate(1.04);letter-spacing:0;background:#fffcf7f0;border:1px solid #ebe2d3db;border-radius:10px;justify-content:center;align-items:center;width:48px;min-height:48px;padding:0;font-size:1rem;font-weight:720;line-height:1;transition:border-color .15s,background-color .15s,box-shadow .15s,color .15s;display:inline-flex;position:absolute;top:16px;right:16px;box-shadow:0 12px 28px #4d3c241a,inset 0 1px #ffffffd1}.editor-fullscreen-button:hover{color:#171411;background:#fffffcfa;border-color:#dbccb8f5;box-shadow:0 14px 30px #4d3c2424,inset 0 1px #ffffffe6}.editor-fullscreen-button:focus-visible{outline-offset:2px;outline:3px solid #c6976647}.editor-fullscreen-button .editor-icon-svg{color:currentColor;stroke-width:1.9px;flex:none;width:18px;height:18px}@media (display-mode:standalone){.editor-fullscreen-button{display:none}}.editor-floating-history-controls{z-index:7;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:18px;right:18px}.editor-floating-history-button{color:#54433b;background:#ece8de;border:0;border-radius:9999px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:transform .15s,box-shadow .15s,background-color .15s,color .15s,opacity .15s;display:inline-flex;position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.editor-floating-history-button:hover:not(:disabled){transform:translateY(-1px)}.editor-floating-history-button:disabled{cursor:default;opacity:.48}.editor-floating-history-button:focus-visible{outline-offset:2px;outline:3px solid #2e5cff3d}.editor-floating-history-button .editor-icon-svg{color:currentColor;stroke-width:1.9px;flex:none;width:16px;height:15px}.editor-gesture-help-button .editor-icon-svg{width:18px;height:18px}.editor-gesture-help-button{position:relative}.editor-gesture-help-panel{z-index:7;color:#4d5a70;-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);background:#fffffff0;border:1px solid #cbd3e0d1;border-radius:12px;gap:5px;width:min(260px,100vw - 36px);padding:12px 13px;position:absolute;bottom:calc(100% + 12px);right:0;box-shadow:0 16px 36px #1f293724}.editor-gesture-help-panel strong{color:#172033;font-size:.86rem}.editor-gesture-help-panel span{font-size:.78rem;font-weight:650;line-height:1.35}.editor-mini-map-shell{top:var(--mini-map-top,18px);left:var(--mini-map-left,18px);z-index:5;pointer-events:none;position:absolute}.editor-mini-map{pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:var(--mini-map-width);color:var(--editor-ink,#493526);-webkit-backdrop-filter:blur(18px)saturate(1.18);backdrop-filter:blur(18px)saturate(1.18);background:#ffffffe6;border:1px solid #d9c2b66b;border-radius:12px;padding:8px 8px 12px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:grid;position:relative;box-shadow:0 4px 6px #924b1c0d,0 1px 1.5px #924b1c05}.editor-mini-map.is-warm{border-color:#e8905b75;box-shadow:0 12px 24px #924b1c1f,0 2px 6px #924b1c0f}.editor-mini-map-top-handle{z-index:5;cursor:move;touch-action:none;background:0 0;border:none;border-radius:999px;width:92px;height:28px;padding:0;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.editor-mini-map-top-handle:before{content:"";background:#c2825c94;border-radius:999px;width:44px;height:8px;transition:background-color .16s,box-shadow .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #924b1c1f,inset 0 1px #ffffff75}.editor-mini-map-segmented{-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);background:#ece8def5;border:0;border-radius:999px;place-self:center;margin:0 auto;padding:3px;display:inline-flex;box-shadow:0 6px 14px #924b1c1a}.editor-mini-map-segmented button,.editor-mini-map-close{min-height:30px;color:var(--editor-muted,#7b6555);background:0 0;border:none;border-radius:999px;font-size:.82rem;font-weight:800;transition:background-color .16s,color .16s,box-shadow .16s}.editor-mini-map-segmented button{min-width:78px;padding:0 14px}.editor-mini-map-segmented button:hover{color:var(--editor-ink,#493526)}.editor-mini-map-close{width:40px;height:40px;color:var(--editor-accent-strong,#924b1c);background:#f7f3e9f0;border:0;place-items:center;font-size:1.65rem;line-height:1;display:inline-grid;box-shadow:0 4px 10px #924b1c1f}.editor-mini-map-close:hover{color:var(--editor-ink,#493526);background:#ffb68d}.editor-mini-map-segmented button.is-active{color:var(--editor-ink,#493526);box-shadow:inset 0 0 0 1px var(--editor-accent-strong,#924b1c);background:#ffb68d}.editor-mini-map-preview{height:var(--mini-map-preview-height);cursor:default;touch-action:none;background:linear-gradient(#fdf9effa,#f7f3e9f5);border:1px solid #d9c2b657;border-radius:12px;min-height:86px;transition:border-color .16s,box-shadow .16s,background-color .16s;position:relative;overflow:hidden}.editor-mini-map-preview.is-pickable,.editor-mini-map-preview.is-pickable:active{cursor:copy}.editor-mini-map-preview canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.editor-mini-map-overlay{z-index:4;pointer-events:none;background:linear-gradient(#fdf9efe0,#fdf9ef00 28%);border-radius:12px;flex-direction:column;justify-content:space-between;gap:12px;padding:12px;display:flex;position:absolute;inset:8px 8px 12px}.editor-mini-map-overlay>*{pointer-events:auto}.editor-mini-map-overlay-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-mini-map-overlay-header strong{color:var(--editor-accent-strong,#924b1c);font-family:var(--app-font-display);letter-spacing:.01em;text-shadow:none;font-size:1.08rem;font-weight:500}.editor-mini-map-resize-handle{cursor:nwse-resize;touch-action:none;background:0 0;border:none;border-radius:12px;width:34px;height:34px;padding:0;position:absolute;bottom:-7px;right:-7px}.editor-mini-map.is-warm .editor-mini-map-preview{border-color:#e8905b66;box-shadow:inset 0 0 0 1px #e8905b1f}.editor-mini-map.is-warm .editor-mini-map-top-handle:before{background:linear-gradient(90deg,#ffb68dfa,#e8905bf5);box-shadow:0 6px 14px #924b1c2e,inset 0 1px #ffffff85}.editor-mini-map-close:focus-visible,.editor-mini-map-top-handle:focus-visible,.editor-mini-map-segmented button:focus-visible,.editor-mini-map-preview:focus-visible,.editor-mini-map-resize-handle:focus-visible{outline-offset:2px;outline:3px solid #e8905b4d}.editor-main-toolbar{z-index:6;-webkit-backdrop-filter:blur(18px)saturate(1.25);backdrop-filter:blur(18px)saturate(1.25);will-change:top, left, right;background:#ffffffe6;border:1px solid #cbd3e0c7;border-radius:16px;flex-direction:column;align-items:center;max-height:calc(100% - 36px);padding:8px 7px;transition:top .18s,left .18s,right .18s,box-shadow .16s,border-color .16s,background-color .16s;display:flex;position:absolute;top:18px;right:18px;overflow:hidden auto;box-shadow:0 10px 24px #1f29371a,inset 0 1px #fffc}.editor-tool-group{flex-direction:column;align-items:center;gap:7px;display:flex}.editor-tool-rail-panel-slot{flex-direction:column;gap:7px;display:flex}.editor-tool-group+.editor-tool-group{border-top:1px solid #cbd3e0e6;margin-top:7px;padding-top:9px}.editor-icon-button{color:#526176;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background-color .12s,border-color .12s,box-shadow .12s,color .12s;display:inline-flex;position:relative}.editor-icon-button .editor-icon-svg{stroke:currentColor;vector-effect:non-scaling-stroke;width:18px;height:18px}.editor-icon-button.is-tool{border-radius:10px;width:38px;height:38px}.editor-icon-button.is-tool .editor-icon-svg{width:18.5px;height:18.5px}.editor-icon-button:hover:not(:disabled){color:#111827;background:#f8fafceb;border-color:#cbd3e0f2}.editor-icon-button.is-active{color:#fff;background:#182132;border-color:#182132;box-shadow:0 8px 16px #0f172a33,inset 0 1px #ffffff1f}.editor-icon-button.is-active:hover:not(:disabled){color:#fff;background:#202a3c;border-color:#182132}.editor-icon-button.is-danger:not(:disabled){color:#dc3f3d}.editor-icon-button.is-danger:hover:not(:disabled){color:#c92e2c;background:#fff4f4;border-color:#dc3f3d2e}.editor-icon-button:disabled{color:#b8c1cf;cursor:not-allowed;opacity:.78}.editor-icon-button:focus-visible{outline-offset:2px;outline:3px solid #2e5cff3d}.editor-icon-button:active:not(:disabled){background:#e2e8f0eb}.editor-icon-button.is-active:active:not(:disabled){background:#111827}.editor-color-tool-button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:background-color .12s,border-color .12s,box-shadow .12s;display:inline-flex}.editor-color-tool-button:hover{background:#f8fafceb;border-color:#cbd3e0f2}.editor-color-tool-button.is-active{background:#182132;border-color:#182132;box-shadow:0 8px 16px #0f172a33,inset 0 1px #ffffff1f}.editor-color-tool-swatch{background:var(--swatch-background,#fff);border:2px solid #ffffffeb;border-radius:999px;width:22px;height:22px;box-shadow:0 0 0 1px #0f172a3d,inset 0 1px #ffffff3d}.editor-canvas{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;border:none;border-radius:0;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.editor-canvas canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.editor-canvas-layer{z-index:0}.editor-canvas-hover-layer{z-index:1;pointer-events:none}.editor-canvas-toast{z-index:4;color:#924b1c;text-align:center;pointer-events:none;background:#fffaf1f5;border:1px solid #924b1c2e;border-radius:999px;max-width:min(320px,100% - 32px);min-height:34px;padding:8px 12px;font-size:12px;font-weight:700;line-height:16px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #53351c24}.editor-selection-toolbar{z-index:4;pointer-events:auto;touch-action:manipulation;background:#fffaf1f5;border:1px solid #924b1c29;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;max-width:calc(100% - 24px);padding:5px;display:inline-flex;position:absolute;box-shadow:0 10px 24px #53351c24}.editor-selection-toolbar button{color:#924b1c;white-space:nowrap;background:0 0;border:0;border-radius:6px;min-width:44px;min-height:30px;padding:5px 8px;font-size:11px;font-weight:700;line-height:14px}.editor-selection-toolbar button:active,.editor-selection-toolbar button:hover{background:#924b1c1a}.editor-selection-toolbar button:disabled{opacity:.45;cursor:not-allowed}.editor-reference-transform-toolbar{z-index:4;pointer-events:auto;position:absolute;top:16px;left:16px}.editor-reference-transform-toolbar button{color:#924b1c;background:#fffaf1f5;border:1px solid #924b1c2e;border-radius:999px;min-width:52px;min-height:34px;padding:6px 12px;font-size:12px;font-weight:700;line-height:16px;box-shadow:0 10px 24px #53351c24}.editor-reference-transform-box{z-index:3;pointer-events:auto;touch-action:none;background:#924b1c14;border:2px solid #924b1ceb;border-radius:10px;position:absolute;box-shadow:inset 0 0 0 1px #fffaf1b3}.editor-reference-transform-badge{color:#924b1c;white-space:nowrap;background:#fffaf1f5;border-radius:999px;align-items:center;min-height:24px;padding:4px 8px;font-size:11px;font-weight:700;line-height:14px;display:inline-flex;position:absolute;top:-32px;left:0;box-shadow:0 8px 20px #53351c24}.editor-reference-transform-handle{background:#924b1c;border:2px solid #fffaf1fa;border-radius:999px;width:22px;height:22px;padding:0;position:absolute;box-shadow:0 6px 16px #53351c2e}.editor-reference-transform-handle.is-top-left{cursor:nwse-resize;top:-11px;left:-11px}.editor-reference-transform-handle.is-top-right{cursor:nesw-resize;top:-11px;right:-11px}.editor-reference-transform-handle.is-bottom-left{cursor:nesw-resize;bottom:-11px;left:-11px}.editor-reference-transform-handle.is-bottom-right{cursor:nwse-resize;bottom:-11px;right:-11px}.editor-reference-transform-handle:before{content:"";border:0 solid #fffaf1fa;width:7px;height:7px;position:absolute}.editor-reference-transform-handle.is-top-left:before{border-top-width:1.5px;border-left-width:1.5px;top:4px;left:4px}.editor-reference-transform-handle.is-top-right:before{border-top-width:1.5px;border-right-width:1.5px;top:4px;right:4px}.editor-reference-transform-handle.is-bottom-left:before{border-bottom-width:1.5px;border-left-width:1.5px;bottom:4px;left:4px}.editor-reference-transform-handle.is-bottom-right:before{border-bottom-width:1.5px;border-right-width:1.5px;bottom:4px;right:4px}.editor-canvas-picker-preview{z-index:3;color:#172033;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;background:#fffffff0;border:1px solid #121a2a24;border-radius:999px;align-items:center;gap:7px;max-width:190px;min-height:34px;padding:6px 9px 6px 7px;animation:.13s ease-out editor-picker-preview-in;display:inline-flex;position:absolute;transform:translate(14px,calc(-100% - 12px));box-shadow:0 12px 28px #0f172a29,inset 0 1px #ffffffdb}.editor-canvas-picker-preview.is-touch{min-height:44px;padding:8px 11px 8px 8px;transform:translate(18px,calc(-100% - 28px))}.editor-canvas-picker-preview.has-loupe{max-width:none;min-height:0;box-shadow:none;background:0 0;border:none;justify-items:center;padding:0;animation:.12s ease-out editor-picker-loupe-in;display:grid;transform:translate(-50%,calc(-100% - 24px))}.editor-canvas-picker-preview.has-loupe.is-below{transform:translate(-50%,18px)}.editor-canvas-picker-loupe{--picker-loupe-shell-color:#ece8de;background:#fff;border-radius:999px;width:128px;height:128px;padding:4px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #d9c2b64d,0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.editor-canvas-picker-loupe.is-grid:before{content:"";z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--picker-loupe-shell-color);pointer-events:none;position:absolute;inset:0}.editor-canvas-picker-loupe.is-grid:after{content:"";z-index:3;border-radius:inherit;pointer-events:none;border:1px solid #0000001a;position:absolute;inset:0}.editor-canvas-picker-loupe.is-bitmap{--picker-loupe-bitmap-ring-width:6px;padding:var(--picker-loupe-bitmap-ring-width);box-shadow:inset 0 0 0 var(--picker-loupe-bitmap-ring-width) var(--picker-loupe-shell-color), 0 0 0 1px #d9c2b64d, 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a}.editor-canvas-picker-loupe.is-bitmap:before,.editor-canvas-picker-loupe.is-bitmap:after{content:"";z-index:2;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.editor-canvas-picker-loupe.is-bitmap:before{background:linear-gradient(#924b1c99 0 calc(50% - 20px),#0000 calc(50% - 20px) calc(50% + 20px),#924b1c99 calc(50% + 20px) 100%);width:2px;height:calc(100% - 38px)}.editor-canvas-picker-loupe.is-bitmap:after{background:linear-gradient(90deg,#924b1c99 0 calc(50% - 20px),#0000 calc(50% - 20px) calc(50% + 20px),#924b1c99 calc(50% + 20px) 100%);width:calc(100% - 38px);height:2px}.editor-canvas-picker-loupe-grid{grid-auto-rows:1fr;width:100%;height:100%;display:grid}.editor-canvas-picker-loupe-grid.is-grid{gap:1px;padding:3px}.editor-canvas-picker-loupe-grid.is-bitmap{border-radius:999px;gap:0;padding:0;overflow:hidden}.editor-canvas-picker-loupe-cell{box-sizing:border-box;background:#eef2f7;border-radius:5px;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a1f}.editor-canvas-picker-loupe-cell.is-bitmap{box-shadow:none;border-radius:0}.editor-canvas-picker-loupe-cell.is-transparent,.editor-canvas-picker-loupe-cell.is-empty{background:var(--picker-loupe-cell-background,#f8fafc)}.editor-canvas-picker-loupe-cell.is-grid.is-sample,.editor-canvas-picker-loupe-cell.is-grid.is-active,.editor-canvas-picker-loupe-cell.is-bitmap.is-sample{z-index:3;overflow:visible}.editor-canvas-picker-loupe-cell.is-grid.is-sample:after,.editor-canvas-picker-loupe-cell.is-grid.is-active:after,.editor-canvas-picker-loupe-cell.is-bitmap.is-sample:after{content:"";pointer-events:none;border:2px solid #ffffff80;border-radius:7px;position:absolute;inset:-2px;box-shadow:inset 0 0 0 2px #924b1c99}.editor-canvas-picker-loupe-cell.is-grid.is-sample:not(.is-active):after{border-color:#ffffff61;box-shadow:inset 0 0 0 2px #924b1c52}.editor-canvas-picker-loupe-cell.is-grid>span{z-index:1;max-width:calc(100% - 6px);color:var(--picker-loupe-cell-text-color,#172033);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;line-height:1;display:block;position:relative;overflow:hidden}.editor-canvas-picker-preview.is-transparent .editor-canvas-picker-swatch{background:var(--picker-background,#f8fafc);border-color:var(--picker-border-color,#64748b94)}.editor-canvas-picker-icon,.editor-canvas-picker-swatch{flex:none;justify-content:center;align-items:center;display:inline-flex}.editor-canvas-picker-icon{color:#fff;background:#172033;border-radius:999px;width:22px;height:22px}.editor-canvas-picker-icon .editor-icon-svg{width:14px;height:14px}.editor-canvas-picker-swatch{border:3px solid var(--picker-border-color,var(--picker-color));background:var(--picker-background,#fff);border-radius:999px;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0f172a1a}.editor-canvas-picker-label{color:#43506a;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:750;line-height:1;overflow:hidden}@keyframes editor-picker-preview-in{0%{opacity:0;transform:translate(10px,calc(-100% - 7px))scale(.96)}to{opacity:1}}@keyframes editor-picker-loupe-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 42px))scale(.96)}to{opacity:1}}.color-panel{gap:12px;min-width:0;display:grid}.color-panel-mini-chip{border:4px solid var(--swatch-border-color,var(--swatch-color));background:var(--swatch-background,#fff);border-radius:999px;width:32px;height:32px;box-shadow:inset 0 0 0 1px #00000014}.color-panel-mini-chip.is-selected,.color-chip.is-selected{box-shadow:inset 0 0 0 1px #00000014,0 0 0 2px #0f172a}.color-panel-mini-chip:focus-visible,.color-chip:focus-visible,.color-panel-tab:focus-visible,.color-panel-select:focus-visible{outline-offset:2px;outline:3px solid #2e5cff3d}.color-panel-tabs{background:#f2f5fa;border:1px solid #e2e7ef;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.color-panel-tab{color:#5f6c84;background:0 0;border:none;border-radius:9px;min-height:34px;padding:.42rem .5rem;font-size:.84rem;font-weight:800}.color-panel-tab.is-active{color:#111827;background:#fff;box-shadow:0 1px 5px #0f172a14}.color-panel-tab-panel{gap:12px;min-width:0;display:grid}.color-panel-select-field{color:#627086;gap:6px;font-size:.82rem;font-weight:800;display:grid}.color-panel-select{color:#172033;background:#fff;border:1px solid #dce3ed;border-radius:10px;width:100%;min-height:38px;padding:0 .65rem}input.color-panel-select{padding:0 .8rem}.color-panel-list{overscroll-behavior:contain;scrollbar-color:#c4cad5 transparent;gap:8px;max-height:360px;padding-right:4px;display:grid;overflow:auto}.color-chip{color:#101828;text-align:left;background:#fff;border:1px solid #dfe6f0;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 10px;display:grid}.color-chip:hover{background:#f8fafc;border-color:#c9d3e2}.color-chip-code{color:#6b7892;font-size:.78rem;font-weight:700}.color-chip-count{color:#19243a;text-align:right;min-width:2ch}.color-panel-note,.color-panel-empty{color:#69758d;background:#f7f9fc;border:1px solid #e4eaf3;border-radius:12px;margin:0;padding:12px;font-size:.88rem;line-height:1.45}.color-panel-number-field{color:#627086;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:10px;font-size:.82rem;font-weight:800;display:grid}.color-panel-number-field input{color:#172033;text-align:center;background:#fff;border:1px solid #dce3ed;border-radius:10px;min-height:36px;font-weight:850}.color-stats-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.color-stats-summary>div{background:linear-gradient(#f8fbff,#eef5ff);border:1px solid #dfe7f4;border-radius:14px;gap:5px;padding:12px;display:grid}.color-stats-summary span{color:#64748b;font-size:.78rem;font-weight:800}.color-stats-summary strong{color:#244fd6;font-size:1.55rem;line-height:1}.color-stats-list{overscroll-behavior:contain;gap:10px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.color-stats-row{background:#fff;border:1px solid #dfe6f0;border-radius:14px;gap:8px;padding:10px;display:grid}.color-stats-row-main{width:100%;color:inherit;text-align:left;background:0 0;border:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.color-stats-row-swatch{border:4px solid var(--swatch-border-color,var(--swatch-color));background:var(--swatch-background,#fff);border-radius:999px;width:30px;height:30px;box-shadow:inset 0 0 0 1px #00000014}.color-stats-row-count{color:#172033}.color-stats-row-actions{justify-content:flex-end;gap:8px;display:flex}.color-panel{gap:9px}.color-panel-inline-toggle{width:auto;min-height:34px;padding:0 8px}.color-panel-note.is-compact{border-radius:9px;padding:7px 8px;font-size:.76rem;line-height:1.3}.color-panel-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.color-panel-tab-panel{gap:9px}.color-panel-list{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:7px;max-height:330px;padding-right:2px}.color-chip,.color-panel-mini-chip,.color-stats-row-swatch{background:var(--swatch-background,var(--swatch-color));color:var(--swatch-text);border:2px solid #fff;border-radius:11px;place-items:center;font-size:.74rem;font-weight:900;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #00000024,0 4px 10px #0f172a14}.color-chip{text-align:center;min-height:48px;padding:4px;position:relative}.color-chip:hover{transform:translateY(-1px)}.color-chip-code{max-width:100%;color:inherit;font-size:.82rem;font-weight:inherit;white-space:nowrap;overflow:hidden}.color-chip-count{color:#fff;background:#172033;border-radius:999px;min-width:18px;padding:2px 4px;font-size:.64rem;line-height:1;position:absolute;bottom:-4px;right:-3px}.color-panel-mini-chip{min-width:42px;height:34px;padding:0 5px;position:relative}.color-panel-mini-chip strong{color:#fff;background:#172033;border-radius:999px;min-width:17px;padding:2px 4px;font-size:.62rem;position:absolute;bottom:-4px;right:-4px}.color-panel-mini-chip>span,.editor-recent-color-chip>span{white-space:nowrap;overflow:hidden}.color-panel-mini-chip.is-selected,.color-chip.is-selected,.color-stats-row-main:focus-visible .color-stats-row-swatch{box-shadow:inset 0 0 0 1px #00000029,0 0 0 2px #172033}.color-stats-summary{gap:7px}.color-stats-summary>div{border-radius:11px;padding:9px}.color-stats-summary strong{font-size:1.22rem}.color-panel-number-field{background:#fff;border:1px solid #dce3ed;border-radius:10px;align-items:center;width:auto;min-height:34px;padding:0 8px;display:flex}.color-panel-number-field input{background:0 0;border:none;width:52px;min-height:28px}.color-stats-list{gap:7px}.color-stats-row{border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px}.color-stats-row-main{grid-template-columns:42px auto;gap:8px}.color-stats-row-swatch{width:42px;height:36px}.color-stats-row-count{font-size:.9rem}.color-stats-row-actions{gap:5px}.editor-color-view-mode{gap:7px;padding-top:2px;display:grid}.color-cleanup-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:8px;padding:9px;display:grid}.color-cleanup-heading{color:#172033;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:850;display:flex}.color-cleanup-heading em{color:#78869a;font-size:.72rem;font-style:normal;font-weight:750}.color-cleanup-grid{flex-wrap:wrap;gap:7px;display:flex}.color-cleanup-grid>button{flex:92px;min-height:34px}.color-cleanup-grid .color-panel-number-field{flex:128px}html[data-resolved-theme=dark] .editor-page,html[data-resolved-theme=dark] .project-shell{--editor-dark-surface:#121923;--editor-dark-surface-2:#182131;--editor-dark-surface-3:#202b3d;--editor-dark-border:#2c384b;--editor-dark-text:#edf2f7;--editor-dark-muted:#a5b0c2;--canvas-bg:#202836;color:var(--editor-dark-text)}html[data-resolved-theme=dark] .editor-page{background:#0f1520}html[data-resolved-theme=dark] .project-shell{background:#101722}html[data-resolved-theme=dark] .editor-header,html[data-resolved-theme=dark] .editor-settings-sidebar{border-color:var(--editor-dark-border);background:var(--editor-dark-surface)}html[data-resolved-theme=dark] .editor-workspace{border-color:var(--editor-dark-border);background:#101722}html[data-resolved-theme=dark] .editor-field-label{color:var(--editor-dark-text)}html[data-resolved-theme=dark] .editor-back-button,html[data-resolved-theme=dark] .editor-utility-button,html[data-resolved-theme=dark] .editor-toggle-button,html[data-resolved-theme=dark] .editor-text-button{border-color:var(--editor-dark-border);background:var(--editor-dark-surface-2);color:var(--editor-dark-text)}html[data-resolved-theme=dark] .editor-export-button{color:#121923;background:#edf2f7;border-color:#edf2f7}html[data-resolved-theme=dark] .editor-utility-button:hover{background:var(--editor-dark-surface-3);color:#fff;border-color:#3c4a61}html[data-resolved-theme=dark] .editor-theme-button[data-theme-mode=dark]{color:#dce8ff;background:#22304a;border-color:#7da4ff8c}html[data-resolved-theme=dark] .editor-segmented-control,html[data-resolved-theme=dark] .editor-status-note,html[data-resolved-theme=dark] .editor-save-status{border-color:var(--editor-dark-border);background:var(--editor-dark-surface-2);color:var(--editor-dark-text)}html[data-resolved-theme=dark] .editor-segmented-button{color:var(--editor-dark-muted)}html[data-resolved-theme=dark] .editor-segmented-button.is-active{background:var(--editor-dark-surface-3);color:var(--editor-dark-text)}html[data-resolved-theme=dark] .editor-tool-group+.editor-tool-group{border-color:var(--editor-dark-border);background-color:var(--editor-dark-border)}html[data-resolved-theme=dark] .tool-inspector-segmented button.is-active,html[data-resolved-theme=dark] .editor-more-action.is-active{color:#101722;background:#dce6f5;border-color:#dce6f5}html[data-resolved-theme=dark] .tool-inspector,html[data-resolved-theme=dark] .tool-inspector-segmented,html[data-resolved-theme=dark] .editor-more-action{border-color:var(--editor-dark-border);background:var(--editor-dark-surface-2)}html[data-resolved-theme=dark] .tool-inspector-heading,html[data-resolved-theme=dark] .editor-sidebar-panel-heading>span{color:var(--editor-dark-text)}html[data-resolved-theme=dark] .tool-inspector p{color:var(--editor-dark-muted)}html[data-resolved-theme=dark] .editor-fullscreen-button{color:var(--editor-dark-text);background:#1c2534eb;border-color:#44526ad1;box-shadow:0 14px 30px #00000047,inset 0 1px #ffffff0f}html[data-resolved-theme=dark] .editor-fullscreen-button:hover{color:#f7f3ee;background:#212c3ef5;border-color:#61728ff2;box-shadow:0 16px 32px #00000052,inset 0 1px #ffffff14}html[data-resolved-theme=dark] .editor-sidebar-boundary-grip{background:#4a3c33e6;border-color:#655850eb;box-shadow:0 10px 22px #00000038,inset 0 1px #ffffff0f}html[data-resolved-theme=dark] .editor-sidebar-boundary:hover .editor-sidebar-boundary-grip,html[data-resolved-theme=dark] .editor-sidebar-boundary:focus-visible .editor-sidebar-boundary-grip{background:#604c40f5;border-color:#877467fa}html[data-resolved-theme=dark] .color-panel-tab.is-active,html[data-resolved-theme=dark] .color-panel-select,html[data-resolved-theme=dark] .color-panel-number-field input,html[data-resolved-theme=dark] .color-stats-row,html[data-resolved-theme=dark] .color-chip{border-color:var(--editor-dark-border);background:var(--editor-dark-surface-2);color:var(--editor-dark-text)}html[data-resolved-theme=dark] .color-panel-tabs,html[data-resolved-theme=dark] .color-panel-note,html[data-resolved-theme=dark] .color-panel-empty{border-color:var(--editor-dark-border);background:var(--editor-dark-surface)}html[data-resolved-theme=dark] .color-stats-row-count,html[data-resolved-theme=dark] .color-chip-count{color:var(--editor-dark-text)}html[data-resolved-theme=dark] .color-panel-select-field,html[data-resolved-theme=dark] .color-panel-number-field,html[data-resolved-theme=dark] .color-panel-note,html[data-resolved-theme=dark] .color-panel-empty,html[data-resolved-theme=dark] .color-chip-code,html[data-resolved-theme=dark] .color-panel-tab{color:var(--editor-dark-muted)}html[data-resolved-theme=dark] .color-panel-tab.is-active{color:var(--editor-dark-text);box-shadow:none}html[data-resolved-theme=dark] .color-chip:hover{background:var(--editor-dark-surface-3);border-color:#44526a}html[data-resolved-theme=dark] .color-stats-summary>div{border-color:var(--editor-dark-border);background:var(--editor-dark-surface-2)}html[data-resolved-theme=dark] .color-stats-summary span{color:var(--editor-dark-muted)}html[data-resolved-theme=dark] .color-stats-summary strong{color:#a9c5ff}html[data-resolved-theme=dark] .focus-build-color-chip-progress-track{stroke:#f5ebde3d}html[data-resolved-theme=dark] .editor-main-toolbar{background:#121923f0;border-color:#3a4860eb;box-shadow:0 14px 28px #00000038,0 2px 8px #0003}html[data-resolved-theme=dark] .editor-gesture-help-panel,html[data-resolved-theme=dark] .editor-canvas-picker-preview{color:#dbe5f2;background:#121923f0;border-color:#3a4860eb}html[data-resolved-theme=dark] .editor-gesture-help-panel strong,html[data-resolved-theme=dark] .editor-canvas-picker-label{color:#edf2f7}html[data-resolved-theme=dark] .editor-mini-map{color:#edf2f7;background:#121923f0;border-color:#3a4860eb}html[data-resolved-theme=dark] .editor-mini-map-segmented{background:#181f1ccc;border-color:#ffffff1a}html[data-resolved-theme=dark] .editor-mini-map-segmented button,html[data-resolved-theme=dark] .editor-mini-map-close{color:#ffffffc7}html[data-resolved-theme=dark] .editor-mini-map-segmented button.is-active{color:#fff;background:#1683ff;box-shadow:0 6px 16px #1683ff3d}html[data-resolved-theme=dark] .editor-mini-map-top-handle{background:0 0}html[data-resolved-theme=dark] .editor-mini-map-top-handle:before{background:#d2d8e285}html[data-resolved-theme=dark] .editor-mini-map-preview{background:linear-gradient(#1b2434fa,#121923f0);border-color:#44526aeb}html[data-resolved-theme=dark] .editor-canvas-picker-icon{color:#111827;background:#e8eef8}html[data-resolved-theme=dark] .editor-icon-button{color:#cbd5e1}html[data-resolved-theme=dark] .editor-icon-button:hover:not(:disabled){background:var(--editor-dark-surface-3);color:#fff;border-color:#3a485d}html[data-resolved-theme=dark] .editor-icon-button.is-active{color:#111827;background:#e8eef8;border-color:#dbeafe}.mobile-only{display:none}.editor-page{--editor-ink:#1c1c16;--editor-muted:#54433b;--editor-line:#e6e2d8;--editor-panel:#f7f3e9;--editor-workspace-bg:#fdf9ef;--editor-accent:#e8905b;--editor-accent-strong:#924b1c;--editor-soft:#ece8de;color:var(--editor-ink);background:#fdf9ef;grid-template-rows:64px minmax(0,1fr);font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.editor-page .editor-header{background:#f7f3e9;border-bottom:1px solid #d9c2b638;min-height:64px;box-shadow:0 1px 1px #924b1c0d}.editor-page .editor-back-button,.editor-page .editor-utility-button{color:var(--editor-muted)}.editor-page .editor-theme-button{min-width:40px;padding:0}.editor-page .editor-theme-button span{display:none}.editor-page .editor-export-button{background:var(--editor-accent-strong);color:#fff;border:0;border-radius:999px;min-width:96px;min-height:40px;padding:0 24px;font-size:16px;font-weight:500;box-shadow:0 4px 6px #924b1c1f}.editor-page .editor-export-button:hover{background:#a75822}.editor-page .editor-shell{background:#fdf9ef}.editor-page .editor-workspace{background:var(--editor-workspace-surface,#fdf9ef)}.editor-page .editor-canvas canvas{border-radius:8px}.editor-page .editor-settings-sidebar{background:#f7f3e9;border-left:1px solid #d9c2b61a;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.editor-page .editor-sidebar-scroll{padding:0}.editor-page .editor-sidebar-section{gap:0;padding:0}.editor-page .editor-sidebar-title-row{border-bottom:0;min-height:48px;padding:14px 16px 0}.editor-page .editor-sidebar-title-row .editor-field-label{display:none}.editor-page .tool-inspector{background:0 0;border:0;border-bottom:1px solid #d9c2b638;border-radius:0;gap:8px;padding:0 16px 17px}.editor-page .tool-inspector-heading{color:var(--editor-ink);font-family:var(--app-font-display)}.editor-page .tool-inspector-heading strong{text-transform:uppercase;font-size:18px;font-weight:400}.editor-page .tool-inspector p{color:var(--editor-muted)}.editor-page .tool-inspector-segmented,.editor-page .editor-segmented-control{background:#f1eee4;border:1px solid #d9c2b67a;border-radius:8px;padding:3px}.editor-page .tool-inspector-segmented button.is-active,.editor-page .editor-segmented-button.is-active{color:var(--editor-ink);box-shadow:inset 0 0 0 1px var(--editor-accent-strong);background:#ffb68d}.editor-page .editor-sidebar-panel-heading>span{color:var(--editor-ink);font-family:var(--app-font-display);font-size:18px;font-weight:400}.editor-page .color-panel,.editor-page .layers-panel,.editor-page .pattern-tools-panel,.editor-page .editor-more-panel{padding:16px}.editor-page .canvas-panel-action{width:100%;min-height:42px;color:var(--editor-ink);background:#ece8de80;border:0 #d9c2b666;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 4px 6px #924b1c0d,0 1px 1.5px #924b1c05}.editor-page .canvas-panel-action:disabled{opacity:.56;cursor:not-allowed}.editor-page .color-panel-tabs{background:0 0;border:0;border-bottom:1px solid #d9c2b642;border-radius:0;gap:0;padding:0 0 1px}.editor-page .color-panel-tab{min-height:40px;color:var(--editor-muted);border-radius:0;font-size:16px;font-weight:400}.editor-page .color-panel-tab.is-active{color:var(--editor-accent-strong);box-shadow:inset 0 -2px 0 var(--editor-accent-strong);background:0 0}.editor-page .color-panel-select-field{color:var(--editor-muted);letter-spacing:1.2px;text-transform:uppercase;font-size:12px;font-weight:600}.editor-page .color-panel-select{min-height:36px;color:var(--editor-ink);letter-spacing:0;text-transform:none;background:#f1eee4;border:0;border-radius:8px;font-size:14px}.editor-page .editor-more-action,.editor-page .secondary-button{color:var(--editor-ink);background:#ece8de80;border:0;border-radius:8px;font-size:14px;font-weight:500}.editor-page .editor-more-action.is-active{color:var(--editor-ink);box-shadow:inset 0 0 0 1px var(--editor-accent-strong);background:#ffb68d}.editor-page .color-panel-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-height:224px}.editor-page .color-chip,.editor-page .color-panel-mini-chip{aspect-ratio:1;background:var(--swatch-background,var(--swatch-color));width:100%;min-width:0;height:auto;color:var(--swatch-text);letter-spacing:-.45px;text-transform:uppercase;border:2px solid #0000;border-radius:999px;font-size:9px;box-shadow:0 1px 2px #0000000d}.editor-page .color-panel-mini-chip{width:44px;height:44px}.editor-page .color-chip.is-selected,.editor-page .color-panel-mini-chip.is-selected{border-color:var(--editor-accent-strong);z-index:2;transform:scale(1.05)}.editor-page .color-chip-code{color:inherit;font-size:9px;font-weight:700}.editor-page .color-chip-count,.editor-page .color-panel-mini-chip strong{background:var(--editor-accent-strong);color:#fff;bottom:-2px;right:-2px}.editor-page .color-panel-note,.editor-page .color-panel-empty,.editor-page .color-stats-summary>div,.editor-page .color-cleanup-panel{--editor-dashed-selection-radius:8px;background:#fff;border:1px solid #d9c2b65c;border-radius:8px;box-shadow:0 4px 6px #924b1c0d,0 1px 1.5px #924b1c05}.editor-page .color-cleanup-heading,.editor-page .color-stats-summary span,.editor-page .editor-field-label{color:var(--editor-muted);letter-spacing:1.2px;text-transform:uppercase;font-size:12px;font-weight:600}.editor-page .color-cleanup-grid>button,.editor-page .color-stats-row{background:#ece8de80;border:0;border-radius:8px}.editor-page .color-stats-summary strong{color:var(--editor-accent-strong)}.editor-page .focus-build-color-dock{bottom:max(18px, calc(var(--app-safe-area-bottom) + 8px));z-index:7}.focus-build-floating-controls{right:18px;bottom:max(88px, calc(var(--app-safe-area-bottom) + 78px));z-index:7}.focus-build-mirror-button.is-active{color:#7b4b28;background:#e5d8c9;box-shadow:0 10px 18px -5px #7a4b283d,inset 0 0 0 1px #924b1c29}.editor-page .focus-build-color-dock-toggle{color:var(--editor-accent-strong);letter-spacing:-.06em;font-size:11px;font-weight:900}.focus-build-color-dock-list{scrollbar-width:none;align-items:center;padding:3px 2px}.focus-build-color-dock-list::-webkit-scrollbar{display:none}.focus-build-color-chip{z-index:1;text-align:center;place-items:center;transition:transform .18s,filter .18s,opacity .18s,box-shadow .14s,border-color .14s;display:grid;position:relative;overflow:visible}.focus-build-color-chip-glow{pointer-events:none;z-index:0;opacity:calc(var(--focus-build-hold-progress,0) * .96);transform:scale(calc(.82 + (var(--focus-build-hold-progress,0) * .22)));background:radial-gradient(circle,#e8905b57 0%,#e8905b24 48%,#0000 74%);border-radius:999px;transition:opacity .12s,transform .12s;position:absolute;inset:-3px}.focus-build-color-chip-ring{pointer-events:none;z-index:1;position:absolute;inset:0}.focus-build-color-chip-progress-ring{opacity:0;filter:drop-shadow(0 4px 8px #924b1c24);width:100%;height:100%;transition:opacity .14s,transform .14s;display:block;transform:scale(.94)}.focus-build-color-chip-progress-track,.focus-build-color-chip-progress-stroke{fill:none;transform-box:fill-box;transform-origin:50%}.focus-build-color-chip-progress-track{stroke:#924b1c33;stroke-width:2.25px}.focus-build-color-chip-progress-stroke{stroke:var(--editor-accent-strong);stroke-width:2.75px;stroke-linecap:round;transform:rotate(-90deg)}.focus-build-color-chip.is-progress .focus-build-color-chip-progress-ring,.focus-build-color-chip.is-completed .focus-build-color-chip-progress-ring{opacity:1;transform:scale(1)}.focus-build-color-chip.is-complete-animating .focus-build-color-chip-progress-ring{animation:.42s cubic-bezier(.2,.72,.2,1) focus-build-color-chip-complete-pulse}@keyframes focus-build-color-chip-complete-pulse{0%{opacity:.42;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.focus-build-color-chip-label{z-index:2;box-sizing:border-box;width:100%;max-width:100%;height:100%;color:inherit;text-align:center;white-space:nowrap;justify-content:center;align-items:center;padding:0 1px;line-height:1;display:inline-flex;position:relative;overflow:hidden}.focus-build-color-chip-badge{box-sizing:border-box;z-index:3;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:9999px;justify-content:center;align-items:center;min-width:16px;padding:2px 4px;font-family:Be Vietnam Pro,sans-serif;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.focus-build-status-overlay{z-index:5;pointer-events:none;justify-content:center;width:min(100%,420px);max-width:calc(100% - 28px);display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.focus-build-status-overlay-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf1f5;border:1px solid #924b1c29;border-radius:18px;flex-direction:column;align-items:center;gap:4px;min-width:min(280px,100vw - 48px);padding:12px 16px;display:inline-flex;position:relative;box-shadow:0 18px 36px #53351c29}.focus-build-status-overlay-title{color:#924b1c;letter-spacing:0;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:14px;font-weight:800;line-height:1}.focus-build-status-overlay-message{color:#7b4b28;letter-spacing:0;text-align:center;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:12px;font-weight:700;line-height:1.35}.focus-build-status-overlay.is-warning .focus-build-status-overlay-card{background:#fff8ebf7;border-color:#a85b1633}.focus-build-status-overlay.is-warning .focus-build-status-overlay-title,.focus-build-status-overlay.is-warning .focus-build-status-overlay-message{color:#8b5715}.focus-build-status-overlay.is-error .focus-build-status-overlay-card{background:#fff3f1f7;border-color:#bc4d4a33}.focus-build-status-overlay.is-error .focus-build-status-overlay-title,.focus-build-status-overlay.is-error .focus-build-status-overlay-message{color:#a54542}.focus-build-auto-deduct-dialog{background:#fffaf1fa;border:1px solid #924b1c29;border-radius:24px;width:min(100%,460px);padding:28px 24px;box-shadow:0 24px 48px #53351c2e}.focus-build-auto-deduct-copy{gap:12px;display:grid}.focus-build-auto-deduct-title{color:#924b1c;font-family:var(--app-font-display);margin:0;font-size:28px;font-weight:500;line-height:1.2}.focus-build-auto-deduct-message{color:#54433b;margin:0;font-family:Be Vietnam Pro,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;font-weight:500;line-height:1.65}.focus-build-auto-deduct-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.focus-build-auto-deduct-actions .primary-button,.focus-build-auto-deduct-actions .ghost-button{min-width:144px}@media (width<=820px){.focus-build-auto-deduct-dialog{border-radius:22px;padding:24px 18px}.focus-build-auto-deduct-title{font-size:24px}.focus-build-auto-deduct-actions{flex-direction:column-reverse;align-items:stretch}.focus-build-auto-deduct-actions .primary-button,.focus-build-auto-deduct-actions .ghost-button{width:100%}}.focus-build-status-overlay-burst{pointer-events:none;height:54px;position:absolute;inset:-14px -8px auto}.focus-build-status-overlay-confetti{background:linear-gradient(180deg, #ffffffeb, #ffffff3d), var(--focus-build-confetti-color,#d68f52);opacity:0;width:8px;height:16px;transform:translate(-50%, -50%) rotate(calc((var(--focus-build-confetti-index,0) * 24deg) - 132deg));border-radius:999px;animation:1.05s cubic-bezier(.18,.74,.26,1) forwards focus-build-confetti-pop;position:absolute;top:20px;left:50%;box-shadow:0 4px 12px #53351c24}.focus-build-status-overlay-confetti:nth-child(3n+1){--focus-build-confetti-color:#d98d58}.focus-build-status-overlay-confetti:nth-child(3n+2){--focus-build-confetti-color:#f0b16e}.focus-build-status-overlay-confetti:nth-child(3n){--focus-build-confetti-color:#c96d64}.focus-build-status-overlay.is-celebrating .focus-build-status-overlay-card{animation:.64s cubic-bezier(.18,.74,.26,1) focus-build-status-card-pop}@keyframes focus-build-status-card-pop{0%{opacity:0;transform:translateY(-8px)scale(.96)}55%{opacity:1;transform:translateY(0)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes focus-build-confetti-pop{0%{opacity:0;transform:translate(-50%, -50%) rotate(calc((var(--focus-build-confetti-index,0) * 24deg) - 132deg)) scale(.7)}18%{opacity:1}72%{opacity:1;transform:translate(calc(-50% + var(--focus-build-confetti-x,0px)), calc(-50% + var(--focus-build-confetti-y,0px))) rotate(calc((var(--focus-build-confetti-index,0) * 24deg) - 92deg)) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--focus-build-confetti-x,0px)), calc(-50% + var(--focus-build-confetti-y,0px) + 18px)) rotate(calc((var(--focus-build-confetti-index,0) * 24deg) - 58deg)) scale(.92)}}.editor-page .editor-sidebar-title-row{align-items:flex-start;min-height:43px;padding:16px 16px 0}.editor-page .editor-sidebar-title-row .editor-field-label{color:#1c1c16;font-family:var(--app-font-display);letter-spacing:0;text-transform:none;font-size:18px;font-weight:400;line-height:27px;display:inline-flex}.editor-page .tool-inspector{border-bottom:1px solid #d9c2b633;gap:8px;padding:0 16px 17px}.editor-page .tool-inspector-heading.is-compact{color:#54433b;align-items:center;gap:8px;min-height:24px;font-family:Be Vietnam Pro,system-ui,sans-serif;display:flex}.editor-page .tool-inspector-heading.is-compact strong{letter-spacing:-.4px;text-transform:none;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px}.editor-page .editor-sidebar-panel-heading{padding:16px 16px 0}.editor-page .editor-sidebar-panel-heading>span{color:#1c1c16;font-family:var(--app-font-display);font-size:18px;font-weight:400;line-height:27px}.editor-page .color-panel{flex-direction:column;gap:16px;padding:16px;display:flex}.editor-page .color-panel-tabs{background:0 0;border-bottom:1px solid #d9c2b633;justify-content:center;align-items:flex-start;width:100%;height:43px;padding:0 0 1px;display:flex}.editor-page .color-panel-tab{color:#54433b;text-align:center;background:0 0;border:0;border-radius:0;flex:1 1 0;min-width:0;min-height:42px;padding:9px 0;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px}.editor-page .color-panel-tab.is-active{color:#924b1c;box-shadow:none;background:0 0;border-bottom:2px solid #924b1c;padding-top:8px;padding-bottom:10px}.editor-page .color-panel-tab-panel{padding-top:8px}.editor-page .color-panel-brand-toolbar{justify-content:space-between;align-items:center;gap:0;width:100%;display:flex}.editor-page .color-panel-brand-select-field{flex:1 1 0;min-width:0;padding-right:8px;position:relative}.editor-page .color-panel-brand-select{appearance:none;color:#1c1c16;background:#f1eee4;border:0;border-radius:8px;width:100%;height:36px;min-height:36px;padding:6px 40px 6px 12px;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px}.editor-page .color-panel-brand-select-field>img{pointer-events:none;width:24px;height:24px;position:absolute;top:6px;right:16px}.editor-page .color-panel-sort-menu{flex:none;position:relative}.editor-page .color-panel-sort-trigger{background:#f1eee4;border:0;border-radius:8px;justify-content:center;align-items:center;width:21px;height:32px;padding:0;display:inline-flex}.editor-page .color-panel-sort-trigger img{width:13.5px;height:9px}.editor-page .color-panel-sort-popover{z-index:20;background:#f7f3e9;border:1px solid #d9c2b65c;border-radius:10px;gap:4px;min-width:132px;padding:6px;display:grid;position:absolute;top:38px;right:0;box-shadow:0 8px 18px #924b1c1f}.editor-page .color-panel-sort-popover button{color:#54433b;text-align:left;background:0 0;border:0;border-radius:7px;min-height:30px;padding:4px 8px;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:12px}.editor-page .color-panel-sort-popover button:hover,.editor-page .color-panel-sort-popover button:focus-visible{color:#1c1c16;background:#ffb68d}.editor-page .color-panel-brand-section{padding-top:16px}.editor-page .color-panel-brand-section-heading{justify-content:space-between;align-items:center;width:100%;height:24px;margin-bottom:4px;display:flex}.editor-page .color-panel-brand-section-heading span,.editor-page .color-panel-brand-section-heading strong{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:24px}.editor-page .color-panel-brand-section-heading span{color:#54433b;text-transform:uppercase}.editor-page .color-panel-brand-section-heading strong{color:#d9c2b6}.editor-page .color-panel-brand-list{flex-wrap:wrap;align-content:flex-start;gap:6px;height:224px;max-height:none;padding-right:4px;display:flex;overflow-y:auto}.editor-page .color-panel-brand-list .color-chip{background:var(--swatch-background,var(--swatch-color));width:43.8px;min-width:43.8px;height:43.8px;min-height:43.8px;color:var(--swatch-text);text-align:center;border:2px solid #fff;border-radius:9999px;grid-template-columns:1fr;place-items:center;gap:0;padding:0;display:grid;box-shadow:inset 0 0 0 1px #00000024,0 1px 1px #0000000d}.editor-page .color-panel-brand-list .color-chip.is-selected{outline-offset:2px;border-color:#fff;outline:2px solid #e8905b;transform:none}.editor-page .color-panel-brand-list .color-chip-code{max-width:100%;color:inherit;letter-spacing:-.2px;text-align:center;text-transform:uppercase;white-space:nowrap;margin:0;font-family:Be Vietnam Pro,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:12px;font-weight:800;line-height:16px;display:block;overflow:hidden}@media (width<=1080px){.editor-page .editor-canvas{width:calc(100% - var(--editor-tool-rail-width));height:100%;margin-left:var(--editor-tool-rail-width);margin-top:0}.editor-page .editor-main-toolbar{width:var(--editor-tool-rail-width);border:0;border-right:1px solid #d9c2b66b;border-radius:0;flex-direction:column;max-width:none;height:100%;top:0;bottom:auto;left:0;transform:none}.editor-page .editor-tool-group{width:var(--editor-tool-group-width);gap:var(--editor-tool-group-gap);flex-direction:column}.editor-page .editor-tool-group+.editor-tool-group{width:var(--editor-tool-group-width);margin-top:var(--editor-tool-group-spacing);padding-top:var(--editor-tool-group-divider-padding);border-top:1px solid #d9c2b647;border-left:0;margin-left:0;padding-left:0}.editor-page .editor-tool-group.is-rail-footer{margin-top:auto}.editor-page .editor-icon-button.is-tool,.editor-page .editor-color-tool-button{width:var(--editor-tool-button-size);height:var(--editor-tool-button-size)}.editor-page .editor-floating-history-controls{bottom:12px;right:12px}.focus-build-floating-controls{right:12px;bottom:max(86px, calc(var(--app-safe-area-bottom) + 74px))}}@media (width<=1080px) and (orientation:portrait) and (width>=821px){.editor-page .editor-canvas{width:100%;height:calc(100% - var(--editor-mobile-toolbar-height));margin-left:0;margin-top:var(--editor-mobile-toolbar-height)}.editor-page .editor-main-toolbar{width:100%;height:var(--editor-mobile-toolbar-height);padding:var(--editor-mobile-toolbar-padding-y) max(var(--editor-mobile-toolbar-padding-x), var(--app-safe-area-right,0px)) var(--editor-mobile-toolbar-padding-y) max(var(--editor-mobile-toolbar-padding-x), var(--app-safe-area-left,0px));border-bottom:1px solid #d9c2b66b;border-right:0;flex-direction:row;align-items:center;top:0;bottom:auto;left:0;overflow:auto hidden}.editor-page .editor-tool-group{flex-direction:row;flex:none;align-items:center;gap:6px;width:auto}.editor-page .editor-tool-group+.editor-tool-group{border-top:0;border-left:1px solid #d9c2b647;width:auto;margin-top:0;margin-left:8px;padding-top:0;padding-left:8px}.editor-page .editor-tool-group.is-rail-footer{margin-top:0;margin-left:auto}.editor-page .editor-icon-button.is-tool,.editor-page .editor-color-tool-button{width:44px;height:44px}.editor-page .editor-main-toolbar .editor-tool-size-popover{left:50%;transform:translate(-50%,-50%)}.editor-page .editor-fullscreen-button{top:calc(var(--editor-mobile-toolbar-height) + 16px)}}@media (width<=820px) and (orientation:portrait){.editor-page{--editor-tool-button-size:clamp(32px, calc((100vw - 32px) / 9), 38px);--editor-mobile-top-color-dock-height:52px;--editor-mobile-top-color-anchor-size:52px;--editor-mobile-panel-height:min(33.333dvh, calc(100dvh - var(--editor-mobile-bottom-toolbar-clearance) - 12px));--editor-mobile-bottom-toolbar-clearance:calc(var(--editor-tool-button-size) + 16px + max(var(--app-safe-area-bottom,0px), 8px))}.editor-page .editor-canvas{width:100%;height:calc(100% - var(--editor-mobile-bottom-toolbar-clearance));margin-top:0;margin-left:0}.editor-page .editor-workspace-stage.has-phone-top-color-dock .editor-canvas{height:calc(100% - var(--editor-mobile-top-color-dock-height) - var(--editor-mobile-bottom-toolbar-clearance));margin-top:var(--editor-mobile-top-color-dock-height)}.editor-page .editor-main-toolbar{width:100%;height:auto;min-height:var(--editor-mobile-bottom-toolbar-clearance);padding:8px max(5px, var(--app-safe-area-right,0px)) max(var(--app-safe-area-bottom,0px), 8px) max(5px, var(--app-safe-area-left,0px));border-right:0;border-top:1px solid var(--editor-chrome-border);background:var(--editor-chrome-surface);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:row;justify-content:center;align-items:center;top:auto;bottom:0;left:0;overflow:hidden;box-shadow:0 -1px 1px #0000000d}.editor-page .editor-tool-group{align-items:center;gap:var(--editor-tool-group-gap);flex-direction:row;flex:none;width:auto}.editor-page .editor-tool-group+.editor-tool-group{width:auto;margin-top:0;margin-left:var(--editor-tool-group-spacing);padding-top:0;padding-left:var(--editor-tool-group-divider-padding);border-top:0;border-left:1px solid #d9c2b647}.editor-page .editor-tool-group.is-rail-footer{margin-top:0;margin-left:0}.editor-page .editor-main-toolbar.is-phone-layout .editor-tool-group.is-phone-flat{flex:auto;justify-content:space-between;gap:0;width:100%}.editor-page .editor-icon-button.is-tool,.editor-page .editor-color-tool-button{width:var(--editor-tool-button-size);height:var(--editor-tool-button-size)}.editor-page .editor-main-toolbar.is-phone-layout :is(.editor-icon-button.is-tool,.editor-color-tool-button){flex:none}.editor-page .editor-floating-history-controls{right:max(8px, calc(var(--app-safe-area-right,0px) + 4px));bottom:calc(var(--editor-mobile-bottom-toolbar-clearance) + 8px)}.editor-page .editor-main-toolbar .editor-tool-size-popover{left:50%;transform:translate(-50%,-50%)}.editor-page .editor-workspace-stage.has-phone-top-color-dock .editor-fullscreen-button{top:calc(var(--editor-mobile-top-color-dock-height) + 12px)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}.pwa-update-prompt{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:80;color:#2c241d;background:#fffbf2fa;border:1px solid #17203324;border-radius:8px;align-items:center;gap:14px;width:min(420px,100vw - 32px);padding:12px;display:flex;position:fixed;box-shadow:0 16px 36px #4b37212e}.pwa-update-prompt-copy{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.pwa-update-prompt-copy strong{font-size:14px;font-weight:750;line-height:18px}.pwa-update-prompt-copy span{color:#6b5b4d;font-size:12px;font-weight:500;line-height:16px}.pwa-update-prompt-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.pwa-update-prompt-secondary{min-height:32px;font:inherit;cursor:pointer;color:#4d3d31;background:#924b1c14;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:750;display:inline-flex}.pwa-update-prompt-secondary:hover{color:#2c241d;background:#924b1c24}@media (width<=560px){.pwa-update-prompt{right:12px;bottom:max(12px, env(safe-area-inset-bottom));align-items:flex-start;width:auto;left:12px}.pwa-update-prompt-actions{flex-direction:column;align-items:stretch}}
