.drawing-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;border-radius:var(--radius-md);position:relative;overflow:hidden}.drawing-canvas--erase{cursor:default}.drawing-canvas--erase .artwork-hit{cursor:pointer}.drawing-canvas--erase .artwork-hit:hover{stroke:var(--accent);stroke-opacity:.35}.drawing-canvas:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.drawing-canvas svg{width:100%;height:auto;display:block}.drawing-canvas__overlay{pointer-events:none;position:absolute;inset:0}.drawing-canvas__start{fill:none;stroke:var(--accent);stroke-width:.12px}.drawing-canvas__cursor{fill:none;stroke:var(--focus-ring);stroke-width:.1px;stroke-dasharray:.25 .15}.drawing-canvas__help{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-muted)}.drawing-canvas__live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.save-design-form{gap:var(--space-3);flex-direction:column;display:flex}.save-design-form__field{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex}.save-design-form__field input{font-size:var(--text-md);font-weight:400}.save-design-form__field input,.save-design-form__actions button{min-height:var(--tap-min)}.save-design-form__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.save-design-form__actions button[type=submit]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.save-design-form__actions button[type=submit]:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--bg)}.save-design-form__error{font-size:var(--text-sm);color:var(--danger);margin:0;font-weight:600}.save-design-form__dirty{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--accent-strong);margin:0;font-weight:600;display:inline-flex}.save-design-form__dirty:before{content:"";background:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.save-design-form__status{font-size:var(--text-sm);color:var(--success);margin:0}.save-design-form__status:empty{margin-top:calc(-1 * var(--space-3))}.powder-panel{gap:var(--space-3);flex-direction:column;display:flex}.powder-panel>p{font-size:var(--text-sm);color:var(--text-muted);margin:0}.powder-panel__title{font-size:var(--text-lg);margin:0}.powder-panel__field{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex}.powder-panel__field input{min-height:var(--tap-min);max-width:10rem;font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:400}.powder-panel>.powder-panel__error{color:var(--danger);font-weight:600}.powder-panel__list{border-top:1px solid var(--border);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.powder-panel__row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;display:flex}.powder-panel__swatch{border:1px solid color-mix(in srgb, var(--text) 25%, transparent);border-radius:50%;flex:none;width:1.125rem;height:1.125rem;box-shadow:inset 0 -2px 3px #0000002e}.powder-panel>.powder-panel__total{font-size:var(--text-md);color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.powder-panel>.powder-panel__note{font-size:var(--text-xs)}.editor-toolbar{gap:var(--space-4);flex-direction:column;display:flex}.editor-toolbar fieldset{gap:var(--space-2);border:0;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.editor-toolbar legend{float:left;width:100%;margin-bottom:var(--space-2);padding:0}.toolbar-option{display:inline-flex;position:relative}.toolbar-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.toolbar-option__face{justify-content:center;align-items:center;gap:var(--space-1);min-width:var(--tap-min);min-height:var(--tap-min);padding:0 var(--space-3);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);font-size:var(--text-sm);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);font-weight:500;display:inline-flex}.toolbar-option:hover .toolbar-option__face{border-color:var(--accent)}.toolbar-option:active .toolbar-option__face{transform:scale(var(--press-scale))}.toolbar-option--swatch .toolbar-option__face{border-radius:var(--radius-pill);border-color:color-mix(in srgb, var(--text) 18%, transparent);box-shadow:inset 0 0 0 3px var(--surface-raised);padding:0}.toolbar-option input:checked+.toolbar-option__face{border-color:var(--accent-strong);box-shadow:0 0 0 2px var(--accent-strong)}.toolbar-option--swatch input:checked+.toolbar-option__face{box-shadow:inset 0 0 0 3px var(--surface-raised), 0 0 0 2px var(--accent-strong);transform:scale(1.06)}.toolbar-option:not(.toolbar-option--swatch) input:checked+.toolbar-option__face{background:var(--accent-soft);font-weight:650}.toolbar-option input:focus-visible+.toolbar-option__face{outline:3px solid var(--focus-ring);outline-offset:2px}.editor-toolbar__limit{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--accent-soft);font-size:var(--text-sm);color:var(--accent-strong);margin:0;font-weight:600}.history-controls{gap:var(--space-2);flex-direction:column;display:flex}.history-controls__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.history-controls__button{min-width:var(--tap-min);min-height:var(--tap-min);padding:0 var(--space-3);flex:auto}.history-controls__status{min-height:1.5em;font-size:var(--text-sm);color:var(--text-muted);margin:0}.history-controls__status:empty{min-height:0;margin-top:calc(-1 * var(--space-2))}.editor-layout{gap:var(--space-5);grid-template-columns:minmax(0,2fr) minmax(17rem,1fr);align-items:start;display:grid}.editor-layout__canvas{min-width:0;padding:var(--space-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.editor-layout__side{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.editor-layout__side>*{padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.editor-layout__place{padding:var(--space-3);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);margin:0}@media (width<=40rem){.editor-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.editor-layout__canvas{padding:var(--space-2)}}.empty-state{align-items:center;gap:var(--space-3);max-width:32rem;margin:var(--space-6) auto;padding:var(--space-7) var(--space-5);text-align:center;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.empty-state__motif{width:7rem;height:7rem;margin-bottom:var(--space-2);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.empty-state__title{font-size:var(--text-xl);margin:0}.empty-state__guidance{margin:0 0 var(--space-2);color:var(--text-muted)}.new-design-form{gap:var(--space-5);padding:var(--space-5);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1fr);display:grid}.new-design-form__title{font-size:var(--text-xl);margin:0}.new-design-form__fields{gap:var(--space-5);flex-wrap:wrap;display:flex}.new-design-form__group{gap:var(--space-1);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.new-design-form__group legend{margin-bottom:var(--space-1);padding:0}.new-design-form__choice{align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);font-weight:500;display:flex}.new-design-form__choice:hover{border-color:var(--accent)}.new-design-form__choice:has(input:checked){background:var(--accent-soft);border-color:var(--accent-strong);font-weight:650}.new-design-form__choice input{width:1.25rem;height:1.25rem;min-height:0;margin:0}.new-design-form__field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.new-design-form__field label{font-size:var(--text-sm)}.new-design-form__field input{width:9rem;max-width:100%;min-width:var(--tap-min);min-height:var(--tap-min);font-variant-numeric:tabular-nums}.new-design-form__hint{font-size:var(--text-sm);color:var(--text-muted);margin:0}.new-design-form__error{max-width:16rem;font-size:var(--text-sm);color:var(--danger);margin:0;font-weight:600}.new-design-form__error[hidden]{display:none}.new-design-form__warning{padding:var(--space-3) var(--space-4);border-left:4px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);margin:0;font-weight:600}.new-design-form__preview{padding:var(--space-2);background:var(--surface);border-radius:var(--radius-lg);justify-self:start}.new-design-form__preview svg{border-radius:var(--radius-md);width:min(100%,18rem);height:auto;display:block}.new-design-form__actions{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.new-design-form__actions button{min-height:var(--tap-min);min-width:6rem}@media (width>=48rem){.new-design-form{column-gap:var(--space-6);grid-template-columns:minmax(0,1fr) auto}.new-design-form__title,.new-design-form__warning,.new-design-form__actions{grid-column:1/-1}.new-design-form__preview{grid-area:2/2;align-self:start}.new-design-form__preview svg{width:16rem}}@media (width<=30rem){.new-design-form{padding:var(--space-4)}.new-design-form__fields{flex-direction:column}}.design-screen{gap:var(--space-4);flex-direction:column;display:flex}.design-screen__head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.design-screen__head button{min-height:var(--tap-min);min-width:var(--tap-min)}.catalogue-screen{gap:var(--space-4);flex-direction:column;display:flex}.catalogue-screen__status{min-height:1.5em;font-size:var(--text-sm);color:var(--text-muted);margin:0}.catalogue-grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.catalogue-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}}.catalogue-card{gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-3) var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);flex-direction:column;display:flex}.catalogue-card:hover,.catalogue-card:focus-within{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:var(--shadow-lg)}@media (hover:hover){.catalogue-card:hover{transform:translateY(-2px)}}.catalogue-card__thumb{margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--floor);overflow:hidden}.catalogue-card__thumb svg{aspect-ratio:1;width:100%;height:auto;transition:transform var(--duration-slow) var(--ease-out);display:block}@media (hover:hover){.catalogue-card:hover .catalogue-card__thumb svg{transform:scale(1.03)}}.catalogue-card__name{padding:0 var(--space-1);font-size:var(--text-lg);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.catalogue-card__meta{padding:0 var(--space-1);font-size:var(--text-sm);color:var(--text-muted);margin:0}.catalogue-card__actions,.catalogue-card__confirm{gap:var(--space-2);padding:0 var(--space-1);flex-wrap:wrap;display:flex}.catalogue-card__actions{padding-top:var(--space-2);margin-top:auto}.catalogue-card__actions button{flex:auto}.catalogue-card__actions button[data-focus=open]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.catalogue-card__actions button[data-focus=open]:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--bg)}.catalogue-card__actions button[data-focus=delete]:hover{border-color:var(--danger);color:var(--danger)}.catalogue-card__confirm{margin:var(--space-1) 0 0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--danger-soft);animation:rise-in var(--duration-normal) var(--ease-out) both}.catalogue-card__confirm p{overflow-wrap:anywhere;flex-basis:100%;margin:0;font-weight:600}.catalogue-card__confirm button{flex:auto}.catalogue-card__confirm button[data-focus=confirm]{background:var(--danger);border-color:var(--danger);color:var(--bg)}.catalogue-card__confirm button[data-focus=confirm]:hover{background:color-mix(in srgb, var(--danger) 85%, var(--text))}.catalogue-card button{min-width:var(--tap-min);min-height:var(--tap-min)}.step-sheet-screen{gap:var(--space-4);flex-direction:column;display:flex}.step-sheet-screen__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.step-sheet-screen__actions button{min-width:var(--tap-min);min-height:var(--tap-min)}.step-sheet-screen__sheet{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:640px;box-shadow:var(--shadow-lg);background:#fff;overflow:hidden}.step-sheet-screen__sheet svg{width:100%;height:auto;display:block}.step-sheet-screen__status{min-height:1.5em;font-size:var(--text-sm);color:var(--text-muted);margin:0}@page{size:A4 portrait;margin:0}@media print{body{background:#fff}.app-header,.step-sheet-screen>:not(.step-sheet-screen__sheet){display:none!important}.app-shell,main{min-height:0;margin:0;padding:0;display:block}.app-main>*{animation:none}.step-sheet-screen__sheet{width:210mm;max-width:none;height:297mm;box-shadow:none;border:0;border-radius:0;overflow:hidden}.step-sheet-screen__sheet svg{width:210mm;height:297mm}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:10;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.app-header__inner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);max-width:var(--content-max);padding:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}.app-brand{align-items:center;gap:var(--space-3);min-height:var(--tap-min);border-radius:var(--radius-md);color:var(--text);font-weight:750;font-size:var(--text-lg);letter-spacing:-.02em;text-decoration:none;display:inline-flex}.app-brand__mark{width:34px;height:34px;box-shadow:var(--shadow-md);transition:transform var(--duration-normal) var(--ease-out);border-radius:9px;flex:none}.app-brand:hover .app-brand__mark{transform:rotate(45deg)}.app-nav ul{gap:var(--space-1);padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);margin:0;list-style:none;display:flex}.app-nav a{min-width:var(--tap-min);min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--text-muted);white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.app-nav a:hover{color:var(--text);background:color-mix(in srgb, var(--surface-raised) 55%, transparent)}.app-nav a:active{transform:scale(var(--press-scale))}.app-nav a[aria-current=page]{background:var(--surface-raised);color:var(--accent-strong);box-shadow:var(--shadow-sm)}.app-main{width:100%;max-width:var(--content-max);padding:var(--space-6) var(--space-4) var(--space-7);flex:1;margin:0 auto}.app-main>*{animation:rise-in var(--duration-slow) var(--ease-out) both}@media (width<=560px){.app-main{padding-top:var(--space-5)}.app-nav,.app-nav ul{width:100%}.app-nav li{flex:1}.app-nav a{width:100%;padding:0 var(--space-2);font-size:var(--text-sm)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-eyebrow:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem);--leading-tight:1.2;--leading-normal:1.55;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--tap-min:44px;--content-max:72rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.32s;--ease-out:cubic-bezier(.2, .7, .2, 1);--press-scale:.97;--floor:#1b1a2e;--dot:#9c98b8;--bg:#faf6ef;--surface:#f3ede2;--surface-raised:#fffdf9;--border:#e3d9c8;--text:#2a2620;--text-muted:#6b6255;--accent:#e8891a;--accent-strong:#9e5200;--accent-soft:#fbe6c8;--on-accent:#1f1608;--focus-ring:#1f6fd1;--danger:#b3261e;--danger-soft:#fbe3df;--success:#2e6b34;--grid-dot:#785a281f;--shadow-sm:0 1px 2px #3c280a0f, 0 1px 3px #3c280a14;--shadow-md:0 4px 12px #3c280a1a, 0 2px 4px #3c280a0f;--shadow-lg:0 18px 40px -12px #3c280a38, 0 4px 10px #3c280a14}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#16151c;--surface:#1f1d26;--surface-raised:#26242f;--border:#363341;--text:#f1ece3;--text-muted:#b3aca0;--accent:#f5a43a;--accent-strong:#ffc06b;--accent-soft:#3a2a14;--on-accent:#1f1608;--focus-ring:#8ab8ff;--danger:#ffb4a9;--danger-soft:#3d1d1a;--success:#9bd8a0;--grid-dot:#fff0d20f;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 16px #00000073;--shadow-lg:0 20px 44px -12px #000000a6}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s;--duration-slow:0s;--press-scale:1}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-width:320px;font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text);background-color:var(--bg);background-image:radial-gradient(var(--grid-dot) 1px, transparent 1.5px);-webkit-font-smoothing:antialiased;background-size:24px 24px;background-attachment:fixed;margin:0}::selection{background:var(--accent-soft);color:var(--text)}h1,h2,h3{line-height:var(--leading-tight);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:650}h1{font-size:var(--text-2xl);letter-spacing:-.025em;font-weight:750}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{text-wrap:pretty}a{color:var(--accent-strong);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible,h1:focus{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}h1:focus:not(:focus-visible){outline:none}button,input,select,textarea{font:inherit;color:inherit}button,.button{justify-content:center;align-items:center;gap:var(--space-2);min-width:var(--tap-min);min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}button:active,.button:active{transform:scale(var(--press-scale));box-shadow:none}.button--primary,button.button--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--bg)}button[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}button[aria-disabled=true]:hover{border-color:var(--border)}button[aria-disabled=true]:active{transform:none}button[aria-busy=true]{cursor:progress;opacity:.75}input,select,textarea{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}input:hover,select:hover,textarea:hover{border-color:var(--text-muted)}input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}input[type=radio],input[type=checkbox]{accent-color:var(--accent-strong)}label{font-weight:600}legend{font-size:var(--text-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:700}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
