:root{color-scheme:light;font-family:Inter,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--color-background-warm: #fffaf1;--color-surface: #fffefb;--color-surface-muted: #e9f7ef;--color-border: #bfd3c5;--color-border-strong: #739985;--color-text-ink: #263a31;--color-text-muted: #60756a;--color-primary-mint: #278966;--color-primary-mint-soft: #cceedd;--color-warning-coral: #c84256;--color-warning-coral-soft: #ffe0e4;--color-accent-butter: #d69b16;--color-accent-butter-soft: #fff0b2;--color-accent-blue: #407fbe;--color-accent-blue-soft: #ddecff;--color-accent-green: #61a955;--color-accent-green-soft: #e1f3d8;--color-canvas: #f3f7f2;--color-on-primary: #ffffff;--color-focus-ring: #0d6f56;--color-overlay: rgb(32 51 44 / 42%);--color-overlay-soft: rgb(32 51 44 / 18%);--color-shadow: rgb(38 58 49 / 13%);--color-shadow-strong: rgb(38 58 49 / 22%);--color-pencil-line: rgb(38 58 49 / 55%);--color-pencil-faint: rgb(39 137 102 / 10%);--color-paper-fiber: rgb(38 58 49 / 4%);--color-bead-edge: rgb(38 58 49 / 34%);--color-bead-highlight: rgb(255 255 255 / 58%);--ink-950: var(--color-background-warm);--ink-900: var(--color-surface);--ink-800: var(--color-surface-muted);--ink-700: var(--color-border);--ink-600: var(--color-border-strong);--ink-300: var(--color-text-muted);--paper: var(--color-text-ink);--paper-muted: var(--color-text-muted);--teal: var(--color-primary-mint);--coral: var(--color-warning-coral);--yellow: var(--color-accent-butter);--blue: var(--color-accent-blue);--green: var(--color-accent-green);--canvas: var(--color-canvas);--toolbar-height: 56px;--status-height: 34px;--mobile-toolbar-height: 52px;--mobile-status-height: 28px;--mobile-action-height: 68px;--sidebar-left: 248px;--sidebar-right: 236px;--control-height: 44px;--radius: 6px;--radius-card: 8px;--focus-ring: 0 0 0 3px var(--color-primary-mint-soft);--pencil-shadow: 2px 2px 0 rgb(38 58 49 / 12%);--pencil-shadow-raised: 3px 4px 0 rgb(38 58 49 / 14%);letter-spacing:0}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;min-width:320px;height:100%;margin:0;overflow-x:hidden}body{overflow:hidden;color:var(--paper);background:var(--ink-950)}button,input,select{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px;box-shadow:var(--focus-ring)}button:disabled{cursor:not-allowed;opacity:.38}.app-shell{width:100%;max-width:100%;height:100%;display:grid;grid-template-rows:var(--toolbar-height) minmax(0,1fr) var(--status-height);background:var(--ink-900)}.topbar,.statusbar{display:flex;align-items:center;min-width:0;background:var(--ink-950)}.topbar{justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--ink-700)}.brand,.local-badge,.command-button{display:inline-flex;align-items:center}.brand{min-width:0;gap:9px}.brand-mark{width:17px;height:17px;display:grid;flex:0 0 17px;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:3px}.brand-mark i{display:block;border-radius:2px}.brand-mark i:nth-child(1){background:var(--teal)}.brand-mark i:nth-child(2){background:var(--coral)}.brand-mark i:nth-child(3){background:var(--yellow)}.brand-mark i:nth-child(4){background:var(--blue)}.brand-name{font-size:16px;font-weight:800}.brand-code{color:var(--paper-muted);font-size:10px;font-weight:700}.local-badge{min-height:30px;gap:7px;padding:0 10px;border:1px solid var(--ink-600);border-radius:4px;color:var(--teal);font-size:12px;font-weight:700}.empty-workspace{position:relative;display:grid;grid-template-rows:minmax(176px,.82fr) auto minmax(52px,.42fr);place-items:center;min-width:0;min-height:0;overflow:hidden;background-color:var(--ink-800)}.bead-preview{z-index:1;align-self:end;width:min(196px,48vw);aspect-ratio:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:5px;padding:12px;transform:rotate(-3deg)}.preview-bead{display:block;min-width:0;min-height:0;border:1px solid var(--color-bead-edge);border-radius:50%;box-shadow:inset 0 0 0 3px var(--color-bead-highlight),2px 3px 0 var(--color-shadow-strong)}.preview-bead--none{visibility:hidden}.preview-bead--blue{background:var(--blue)}.preview-bead--teal{background:var(--teal)}.preview-bead--coral{background:var(--coral)}.preview-bead--yellow{background:var(--yellow)}.preview-bead--paper{background:var(--paper)}.empty-actions{z-index:1;width:min(680px,calc(100% - 32px));text-align:center}.section-index{display:block;margin-bottom:10px;color:var(--teal);font-size:11px;font-weight:800}.empty-actions h1{max-width:100%;margin:0;font-size:clamp(30px,4.6rem,54px);font-weight:850;line-height:1.12;overflow-wrap:anywhere}.command-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}.command-button{min-width:142px;height:var(--control-height);justify-content:center;gap:8px;padding:0 16px;border-radius:var(--radius);font-size:14px;font-weight:800;cursor:pointer}.command-button--primary{border:1px solid var(--yellow);color:var(--paper);background:var(--yellow)}.command-button--secondary{border:1px solid var(--ink-600);color:var(--paper);background:var(--ink-900)}.command-button:hover{border-color:var(--teal)}.command-button--primary:hover{background:var(--paper)}.recovery-command{min-width:220px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;padding:0 14px;border:1px solid var(--teal);border-radius:4px;color:var(--teal);background:var(--ink-950);font-size:11px;font-weight:800}.recovery-command span{max-width:150px;overflow:hidden;color:var(--paper);text-overflow:ellipsis;white-space:nowrap}.statusbar{justify-content:space-between;gap:12px;padding:0 14px;border-top:1px solid var(--ink-700);color:var(--paper-muted);font-size:11px;font-variant-numeric:tabular-nums}.statusbar-count{color:var(--paper)}.workspace-toolbar{z-index:20;min-width:0;display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid var(--ink-700);background:var(--ink-950)}.workspace-toolbar .brand{margin-right:4px}.toolbar-group,.toolbar-segment{min-width:0;display:inline-flex;align-items:center;gap:2px}.toolbar-group{padding:0 8px;border-left:1px solid var(--ink-700)}.toolbar-group--commands{margin-left:auto}.icon-button,.toolbar-segment button{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:1px solid transparent;border-radius:4px;color:var(--paper-muted);background:transparent;cursor:pointer}.toolbar-color-button{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:4px;border:1px solid var(--ink-600);border-radius:4px;background:var(--ink-900);cursor:pointer}.toolbar-color-button .palette-swatch{width:22px;height:22px}.icon-button svg,.toolbar-segment button svg,.workspace-toolbar .local-badge svg{width:17px;height:17px}.tooltip-anchor{position:relative;display:inline-flex;flex:0 0 auto}.tooltip-bubble{position:absolute;z-index:120;top:calc(100% + 7px);left:50%;width:max-content;max-width:190px;padding:6px 8px;transform:translate(-50%);border:1px solid var(--ink-600);border-radius:3px;color:var(--paper);background:var(--ink-950);box-shadow:0 6px 18px var(--color-shadow-strong);font-size:9px;line-height:1.3;pointer-events:none;opacity:0;visibility:hidden}.tooltip-anchor:hover .tooltip-bubble,.tooltip-anchor:focus-within .tooltip-bubble{opacity:1;visibility:visible}.icon-button:not(:disabled):hover,.toolbar-segment button:hover{color:var(--paper);border-color:var(--ink-600);background:var(--ink-800)}.toolbar-segment button[aria-pressed=true]{color:var(--color-on-primary);border-color:var(--teal);background:var(--teal)}.side-panel{width:100%;height:100%;min-width:0;min-height:0;scrollbar-color:var(--ink-600) transparent;background:var(--ink-900)}.source-panel{border-right:1px solid var(--ink-700)}.palette-panel{display:flex;flex-direction:column;border-left:1px solid var(--ink-700)}.panel-heading{height:44px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--ink-700)}.panel-heading h2{margin:0;font-size:12px;font-weight:800}.panel-section{padding:12px;border-bottom:1px solid var(--ink-700)}.panel-section--compact{padding-top:4px;padding-bottom:10px}.section-label,.palette-name-row,.range-control>span:first-child{min-height:20px;display:flex;align-items:center;justify-content:space-between;color:var(--paper-muted);font-size:11px;font-weight:700}.section-label svg{width:15px;height:15px;color:var(--teal)}.source-preview{width:100%;aspect-ratio:4 / 3;display:grid;place-items:center;overflow:hidden;border:1px solid var(--ink-600);border-radius:4px;color:var(--ink-600);background:var(--ink-950)}.source-preview img,.source-canvas-view img{width:100%;height:100%;display:block;object-fit:contain}.source-preview>svg{width:28px;height:28px}.source-meta{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:10px 0}.source-meta strong{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.source-meta span{flex:0 0 auto;color:var(--paper-muted);font-size:10px;font-variant-numeric:tabular-nums}.panel-command,.generate-button{width:100%;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ink-600);border-radius:4px;color:var(--paper);background:var(--ink-800);font-size:12px;font-weight:800;cursor:pointer}.panel-command svg,.generate-button svg{width:16px;height:16px}.panel-command:hover{border-color:var(--teal)}.panel-command--accent{color:var(--color-on-primary);border-color:var(--teal);background:var(--teal)}.segmented-control,.preset-grid{display:grid;gap:4px;margin-top:8px}.segmented-control{grid-template-columns:repeat(3,1fr)}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control button,.preset-grid button{min-width:0;height:34px;padding:0 5px;border:1px solid var(--ink-600);border-radius:3px;color:var(--paper-muted);background:var(--ink-950);font-size:10px;cursor:pointer}.segmented-control button[aria-pressed=true],.preset-grid button[aria-pressed=true]{color:var(--color-on-primary);border-color:var(--teal);background:var(--teal);font-weight:800}.number-grid,.advanced-grid,.manual-palette-layout__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.number-grid label,.advanced-grid label,.manual-palette-layout__grid label,.column-mapping label,.palette-dialog>label{min-width:0;display:grid;gap:5px;color:var(--paper-muted);font-size:10px;font-weight:700}.number-grid input,.advanced-grid input,.manual-palette-layout__grid input,.column-mapping select,.palette-dialog>label input,.palette-table-wrap input{width:100%;min-width:0;height:34px;padding:0 8px;border:1px solid var(--ink-600);border-radius:3px;color:var(--paper);background:var(--ink-950);font-size:11px;font-variant-numeric:tabular-nums}.panel-warning,.panel-error{margin:9px 0 0;color:var(--yellow);font-size:10px;line-height:1.5}.panel-error{margin:10px 14px;color:var(--coral)}.toggle-row{min-height:48px;display:flex;align-items:center;gap:9px;padding:0 14px;color:var(--paper-muted);font-size:11px;cursor:pointer}.toggle-row input{width:16px;height:16px;accent-color:var(--teal)}.palette-name-row{margin-top:0}.palette-sources{display:grid;gap:10px;padding:12px;border-bottom:1px solid var(--ink-700)}.palette-sources h3{margin:0;color:var(--paper);font-size:11px}.palette-sources>div{display:grid;gap:5px}.palette-sources>div>span{color:var(--paper-muted);font-size:10px;font-weight:700}.palette-sources button{min-width:0;min-height:34px;padding:6px 8px;overflow-wrap:anywhere;border:1px solid var(--ink-600);border-radius:3px;color:var(--paper);background:var(--ink-950);font-size:10px;cursor:pointer}.palette-sources button[aria-pressed=true]{color:var(--color-on-primary);border-color:var(--teal);background:var(--teal)}.palette-name-row strong,.range-control strong{color:var(--teal);font-variant-numeric:tabular-nums}.range-control{display:grid;gap:8px}.range-control input{width:100%;accent-color:var(--teal)}.range-ends{display:flex;justify-content:space-between;color:var(--paper-muted);font-size:9px}.range-ends i{font-style:normal}.advanced-toggle{width:100%;height:32px;display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:0;border:0;color:var(--paper-muted);background:transparent;font-size:10px;cursor:pointer}.advanced-toggle svg{width:14px;height:14px;transform:rotate(0)}.advanced-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.palette-list-section{min-height:120px;flex:1 1 auto;overflow:hidden}.palette-list{max-height:100%;display:grid;gap:3px;margin-top:8px;overflow-y:auto}.palette-list>button{width:100%;min-height:42px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;border:1px solid transparent;border-radius:3px;color:var(--paper);text-align:left;background:transparent;cursor:pointer}.palette-list>button:hover{background:var(--ink-800)}.palette-list>button[aria-selected=true]{border-color:var(--teal);background:var(--ink-800)}.color-swatch,.palette-swatch{width:26px;height:26px;display:block;border:1px solid var(--color-bead-edge);border-radius:3px}.palette-list>button span:nth-child(2){min-width:0;display:grid}.palette-list strong{font-size:11px}.palette-list small{overflow:hidden;color:var(--paper-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.palette-list b{color:var(--paper-muted);font-size:10px;font-variant-numeric:tabular-nums}.empty-panel-copy{margin:12px 0;color:var(--paper-muted);font-size:10px;line-height:1.6}.generate-button{width:calc(100% - 28px);flex:0 0 42px;margin:12px 14px;color:var(--paper);border-color:var(--yellow);background:var(--yellow)}.canvas-stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--canvas)}.pattern-surface{width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:var(--canvas)}.pattern-surface__canvas{min-width:0;min-height:0;position:relative;overflow:hidden}.pattern-legend{max-height:min(190px,28dvh);min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-top:1px solid var(--color-border-strong);background:var(--color-surface)}.pattern-legend__header{min-height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--color-border)}.pattern-legend__header h2{margin:0;font-size:13px}.pattern-legend__list{min-height:0;max-height:154px;margin:0;padding:10px 12px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px 12px;overflow-y:auto;overscroll-behavior:contain;list-style:none}.pattern-legend__item{min-width:0;display:grid;grid-template-columns:18px minmax(28px,.8fr) minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:6px;font-size:11px}.pattern-legend__item>strong,.pattern-legend__item>span:not(.pattern-legend__swatch),.pattern-legend__item>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pattern-legend__item>b{justify-self:stretch;text-align:right}.pattern-legend__swatch{width:18px;height:18px;position:relative;border:1px solid var(--color-bead-edge)}.pattern-canvas{width:100%;height:100%;display:block;touch-action:none}.pattern-canvas:focus-visible{outline:2px solid var(--teal);outline-offset:-3px;box-shadow:inset 0 0 0 4px var(--color-primary-mint-soft)}.pattern-canvas--brush,.pattern-canvas--fill,.pattern-canvas--empty{cursor:crosshair}.pattern-canvas--picker{cursor:copy}.pattern-canvas--pan{cursor:grab}.pattern-legend__swatch[data-transparent=true]{display:inline-block;overflow:hidden;background:var(--paper)}.pattern-legend__swatch[data-transparent=true]:before,.pattern-legend__swatch[data-transparent=true]:after{content:"";position:absolute;top:50%;left:-25%;width:150%;height:1px;background:var(--ink-600)}.pattern-legend__swatch[data-transparent=true]:before{transform:rotate(45deg)}.pattern-legend__swatch[data-transparent=true]:after{transform:rotate(-45deg)}.source-canvas-view{width:100%;height:100%;padding:28px;background:var(--ink-950)}.canvas-empty-state{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.canvas-empty-state span{max-width:260px;padding:10px 12px;border-left:2px solid var(--teal);color:var(--paper-muted);background:var(--color-surface);font-size:11px;line-height:1.5}.workspace-statusbar{min-width:0}.workspace-statusbar span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-notice{position:fixed;z-index:80;right:14px;bottom:46px;max-width:min(420px,calc(100vw - 28px));margin:0;padding:10px 12px;border:1px solid var(--coral);border-radius:4px;color:var(--paper);background:var(--ink-950);font-size:11px;line-height:1.5;display:flex;align-items:center;gap:10px}.workspace-notice span{min-width:0;flex:1}.workspace-notice button{min-height:44px;flex:0 0 auto;padding:0 12px;border:1px solid currentColor;border-radius:3px;background:transparent}.fatal-error{width:100%;min-height:100%;display:grid;align-content:center;justify-items:center;padding:24px;text-align:center;background:var(--ink-800)}.fatal-error h1{margin:0;color:var(--paper);font-size:28px}.fatal-error p,.fatal-error>span[role=status]{max-width:460px;margin:10px 0 0;color:var(--paper-muted);font-size:12px;line-height:1.6}.fatal-error button{min-width:160px;height:42px;margin-top:18px;border:1px solid var(--yellow);border-radius:4px;color:var(--paper);background:var(--yellow);font-weight:800}.dialog-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:18px;background:var(--color-overlay)}.dialog-loading{position:fixed;z-index:100;inset:0;display:grid;place-items:center;color:var(--paper);background:var(--color-overlay);font-size:12px}.palette-dialog{width:min(780px,100%);max-height:min(760px,calc(100dvh - 36px));display:grid;gap:12px;padding:16px;overflow-y:auto;border:1px solid var(--ink-600);border-radius:6px;background:var(--ink-900);box-shadow:0 18px 60px var(--color-shadow-strong)}.dialog-header,.dialog-actions,.import-tabs{display:flex;align-items:center}.dialog-header{justify-content:space-between}.dialog-header h2{margin:0;font-size:16px}.dialog-header button,.palette-table-wrap button{min-width:34px;height:34px;border:1px solid transparent;border-radius:3px;color:var(--paper-muted);background:transparent;cursor:pointer}.dialog-header svg{width:18px;height:18px}.import-tabs{gap:4px;padding-bottom:10px;border-bottom:1px solid var(--ink-700)}.import-tabs button{height:34px;padding:0 12px;border:1px solid var(--ink-600);border-radius:3px;color:var(--paper-muted);background:var(--ink-950);font-size:11px;cursor:pointer}.import-tabs button[aria-selected=true]{color:var(--color-on-primary);border-color:var(--teal);background:var(--teal)}.file-command{min-height:54px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--ink-600);border-radius:4px;color:var(--paper-muted);font-size:11px;cursor:pointer}.file-command:hover{color:var(--paper);border-color:var(--teal)}.file-command input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.column-mapping{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.manual-palette-layout{margin:0;padding:12px;border:1px solid var(--yellow);border-radius:4px}.manual-palette-layout legend{padding:0 6px;color:var(--yellow);font-size:11px;font-weight:800}.manual-palette-layout p{margin:0;color:var(--paper-muted);font-size:10px;line-height:1.5}.manual-palette-layout>button{min-height:36px;margin-top:10px;padding:0 12px;border:1px solid var(--yellow);border-radius:3px;color:var(--paper);background:var(--yellow);font-weight:800}.palette-table-wrap{max-height:300px;overflow:auto;border:1px solid var(--ink-700)}.palette-table-wrap table{width:100%;border-collapse:collapse}.palette-table-wrap th,.palette-table-wrap td{padding:6px;border-bottom:1px solid var(--ink-700);text-align:left;font-size:10px}.palette-table-wrap th{position:sticky;z-index:1;top:0;color:var(--paper-muted);background:var(--ink-800)}.palette-issues{margin:0;padding-left:20px;color:var(--coral);font-size:10px}.dialog-actions{justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--ink-700)}.dialog-actions button{min-width:92px;height:38px;border:1px solid var(--ink-600);border-radius:4px;color:var(--paper);background:var(--ink-800);font-weight:800}.dialog-actions button:last-child{color:var(--paper);border-color:var(--yellow);background:var(--yellow)}.export-dialog{width:min(640px,100%);max-height:min(720px,calc(100dvh - 36px));display:grid;gap:0;overflow:hidden;border:1px solid var(--ink-600);border-radius:6px;background:var(--ink-900);box-shadow:0 18px 60px var(--color-shadow-strong)}.export-dialog .dialog-header{min-height:68px;padding:12px 16px;border-bottom:1px solid var(--ink-700)}.dialog-index{display:block;margin-bottom:4px;color:var(--teal);font-size:9px;font-weight:800}.export-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:0 16px;border-bottom:1px solid var(--ink-700)}.export-tabs button{height:44px;border:0;border-bottom:2px solid transparent;color:var(--paper-muted);background:transparent;font-size:11px;font-weight:800}.export-tabs button[aria-selected=true]{color:var(--paper);border-bottom-color:var(--teal)}.export-body{min-height:230px;padding:18px;overflow-y:auto}.export-options{display:grid;gap:10px}.export-options--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-options>label:not(.toggle-row){display:grid;gap:6px;color:var(--paper-muted);font-size:10px;font-weight:700}.export-options input[type=number],.export-options select{width:100%;height:38px;padding:0 9px;border:1px solid var(--ink-600);border-radius:3px;color:var(--paper);background:var(--ink-950)}.export-options .toggle-row{min-height:40px;padding:0;border-bottom:1px solid var(--ink-700)}.project-export-copy{min-height:190px;display:grid;align-content:center;justify-items:center;text-align:center}.project-export-copy strong{color:var(--yellow);font-size:26px}.project-export-copy p{max-width:420px;margin:8px 0 0;color:var(--paper-muted);font-size:11px;line-height:1.6}.project-export-copy p[role=alert]{color:var(--coral)}.export-progress{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--ink-700);font-size:10px}.export-progress progress{width:100%;accent-color:var(--teal)}.export-progress b{min-width:34px;color:var(--teal);text-align:right;font-variant-numeric:tabular-nums}.export-error{margin:0;padding:10px 16px;color:var(--coral);border-top:1px solid var(--ink-700);font-size:11px}.export-dialog .dialog-actions{margin:0 16px;padding:12px 0 16px}.export-dialog .dialog-actions button:last-child{display:inline-flex;align-items:center;justify-content:center;gap:7px}.export-dialog .dialog-actions svg{width:16px;height:16px}@media(max-width:520px){.export-dialog{width:100%;max-height:88dvh;border-right:0;border-bottom:0;border-left:0;border-radius:6px 6px 0 0}.export-options--grid{grid-template-columns:1fr}}.workspace-shell{width:100%;height:100%;display:grid;grid-template-rows:var(--toolbar-height) minmax(0,1fr) var(--status-height);overflow:hidden;color:var(--paper);background:var(--ink-950)}.workspace-grid{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(220px,var(--sidebar-left)) minmax(360px,1fr) minmax(0,var(--sidebar-right));grid-template-areas:"source canvas palette";overflow:hidden}.workspace-sheet-backdrop{display:none}.workspace-sheet-backdrop.workspace-settings-sheet,.workspace-settings-sheet>.workspace-sheet,.workspace-settings-sheet .workspace-sheet__body,.workspace-settings-shell{display:contents}.workspace-settings-sheet>.workspace-sheet>.workspace-sheet__header{display:none}.source-panel{grid-area:source}.canvas-stage{grid-area:canvas;background:var(--canvas)}.canvas-empty-state{pointer-events:auto}.desktop-generate-command{min-width:132px;min-height:44px;padding:0 16px;border:1px solid var(--teal);border-radius:var(--radius);color:var(--color-on-primary);background:var(--teal);font-weight:800}.palette-panel{grid-area:palette}.side-panel{min-height:0;overflow:hidden;background:var(--ink-900)}.source-panel{overflow-y:auto;overscroll-behavior:contain}.palette-color-picker{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.palette-color-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}.workspace-sheet-backdrop.is-open:not(.workspace-settings-sheet){position:fixed;z-index:70;inset:0;display:grid;align-items:end;background:var(--color-overlay)}.workspace-sheet{min-width:0;min-height:0;display:grid;grid-template-rows:52px minmax(0,1fr);background:var(--ink-900)}.workspace-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--ink-700)}.workspace-sheet__header h2{margin:0;font-size:16px}.workspace-sheet__header button{width:44px;height:44px;border-radius:var(--radius)}.workspace-sheet__body{min-height:0}.workspace-sheet-backdrop[inert]{pointer-events:none}.workspace-colors-sheet.is-open{position:fixed;z-index:70;inset:var(--toolbar-height) 0 var(--status-height);display:grid;align-items:stretch;justify-items:end;background:var(--color-overlay-soft)}.workspace-colors-sheet>.workspace-sheet{width:min(300px,100%);height:100%;border-left:1px solid var(--ink-700);box-shadow:-12px 0 28px var(--color-shadow)}.workspace-colors-sheet .workspace-sheet__body{min-height:0;overflow:hidden}.workspace-colors-sheet .palette-color-picker{height:100%}.workspace-dialog{min-width:0;min-height:0}.long-press-save-dialog{width:min(920px,100%);max-height:min(900px,92dvh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--ink-600);border-radius:6px;background:var(--ink-900);box-shadow:0 18px 60px var(--color-shadow-strong)}.long-press-save-dialog__header{min-width:0;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--ink-700)}.long-press-save-dialog__header>div{min-width:0}.long-press-save-dialog__header h2{margin:0;font-size:16px}.long-press-save-dialog__header p{margin:3px 0 0;overflow:hidden;color:var(--paper-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.long-press-save-dialog__header button{width:44px;height:44px;display:inline-grid;flex:0 0 44px;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--radius);color:var(--paper-muted);background:transparent}.long-press-save-dialog__header svg{width:19px;height:19px}.long-press-save-dialog__body{min-width:0;min-height:0;display:grid;align-content:start;justify-items:center;gap:10px;padding:12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--ink-950)}.long-press-save-dialog__hint{margin:0;color:var(--paper-muted);font-size:12px;text-align:center}.long-press-save-dialog__image-stage{width:100%;min-width:0;display:grid;justify-items:center}.long-press-save-dialog__image{max-width:100%;height:auto;display:block;object-fit:contain;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto}.long-press-save-dialog__image-frame{max-width:100%;position:relative;overflow:hidden}.long-press-save-dialog__image--wechat{max-width:none;position:absolute;inset:0 auto auto 0;transform-origin:top left}.visual-crop-dialog{width:min(760px,100%);max-height:min(860px,92dvh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--ink-600);border-radius:6px;background:var(--ink-900);box-shadow:0 18px 60px var(--color-shadow-strong)}.visual-crop-dialog__header{min-width:0;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--ink-700)}.visual-crop-dialog__header h2{margin:0;font-size:16px}.visual-crop-dialog__header button{width:44px;height:44px;display:inline-grid;flex:0 0 44px;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--radius);color:var(--paper-muted);background:transparent}.visual-crop-dialog__header svg{width:19px;height:19px}.visual-crop-dialog__body{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:12px;padding:14px;overflow-x:hidden;overflow-y:auto}.visual-crop-frame{position:relative;width:min(100%,560px);min-width:0;max-height:100%;aspect-ratio:var(--board-aspect);align-self:center;justify-self:center;overflow:hidden;border:1px solid var(--ink-600);border-radius:3px;background:var(--ink-950);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.visual-crop-frame:active{cursor:grabbing}.visual-crop-frame>img{position:absolute;max-width:none;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.visual-crop-grid{position:absolute;inset:0;pointer-events:none}.board-size-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:12px;border:1px dashed var(--color-border-strong);border-radius:6px;background:var(--color-surface-muted)}.board-size-fields legend{grid-column:1 / -1;width:auto;margin:0;padding:0 4px;color:var(--color-text-ink);font-size:12px;font-weight:800}.board-size-fields label{min-width:0;display:grid;gap:5px;color:var(--color-text-muted);font-size:11px;font-weight:700}.board-size-fields input{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid var(--color-border-strong);border-radius:5px;color:var(--color-text-ink);background:var(--color-surface);text-align:center;font-variant-numeric:tabular-nums}.board-size-fields label>span[role=alert]{color:var(--color-warning-coral);font-size:10px;line-height:1.3}.visual-crop-grid:before,.visual-crop-grid:after{position:absolute;content:"";background:var(--color-bead-highlight)}.visual-crop-grid:before{top:0;bottom:0;left:50%;width:1px}.visual-crop-grid:after{top:50%;right:0;left:0;height:1px}.visual-crop-zoom{min-width:0;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;color:var(--paper-muted);font-size:11px;font-weight:700}.visual-crop-zoom output{color:var(--teal);font-variant-numeric:tabular-nums}.visual-crop-zoom input{width:100%;min-width:0;min-height:44px;accent-color:var(--teal)}.visual-crop-advanced{min-width:0;border-top:1px solid var(--ink-700)}.visual-crop-advanced summary{min-height:44px;display:flex;align-items:center;color:var(--paper-muted);font-size:11px;font-weight:800;cursor:pointer}.visual-crop-advanced .advanced-grid{margin-top:0}.visual-crop-field-error{color:var(--coral);font-size:9px;line-height:1.25}.visual-crop-dialog__actions{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 14px;border-top:1px solid var(--ink-700);background:var(--ink-900)}.visual-crop-dialog__actions button{min-width:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:5px 9px;border:1px solid var(--ink-600);border-radius:var(--radius);color:var(--paper);background:var(--ink-800);font-size:11px;font-weight:800;overflow-wrap:anywhere}.visual-crop-dialog__actions button:last-child{color:var(--color-on-primary);border-color:var(--teal);background:var(--teal)}.visual-crop-dialog__actions svg{width:16px;height:16px;flex:0 0 16px}.palette-dialog-embed>.palette-dialog{width:100%;max-height:none;padding:0;overflow:visible;border:0;box-shadow:none}.mobile-action-bar,.mobile-command{display:none}@media(max-width:899px){html,body,#root{min-width:320px;overflow:hidden}.pattern-surface{--pattern-canvas-min-height: 96px;grid-template-rows:minmax(var(--pattern-canvas-min-height),1fr) auto}.pattern-legend{max-height:min(160px,28dvh,max(0px,calc(100dvh - var(--mobile-toolbar-height) - var(--mobile-status-height) - var(--mobile-action-height) - env(safe-area-inset-bottom,0px) - var(--pattern-canvas-min-height))))}.pattern-legend__list{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.workspace-dialog-backdrop:has(.visual-crop-dialog),.workspace-dialog-backdrop:has(.long-press-save-dialog){padding:0}.long-press-save-dialog{width:100dvw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0}.long-press-save-dialog__body{padding:10px}.visual-crop-dialog{width:100dvw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0}.visual-crop-dialog__body{grid-template-rows:minmax(0,1fr) auto auto;padding:10px}.visual-crop-frame{width:min(100%,520px)}.visual-crop-dialog__actions{padding:8px}.workspace-shell{grid-template-rows:var(--mobile-toolbar-height) minmax(0,1fr) var(--mobile-status-height) calc(var(--mobile-action-height) + env(safe-area-inset-bottom,0px))}.workspace-shell.workspace-shell--empty{grid-template-rows:var(--mobile-toolbar-height) minmax(0,1fr) var(--mobile-status-height)}.workspace-toolbar{height:var(--mobile-toolbar-height);display:flex;justify-content:space-between;overflow:hidden;padding:0 6px}.workspace-toolbar .brand,.workspace-toolbar .desktop-command{display:none}.workspace-toolbar .mobile-command{display:inline-grid}.workspace-toolbar button{width:44px;height:44px;flex-basis:44px}.workspace-notice{flex-wrap:wrap}.workspace-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"canvas"}.canvas-stage{min-width:0;min-height:0;padding:0}.canvas-empty-state{gap:8px;padding:16px;pointer-events:auto;text-align:center}.desktop-generate-command{display:none}.canvas-empty-state button{min-height:44px}.workspace-sheet-backdrop.workspace-settings-sheet{display:none}.workspace-sheet-backdrop.workspace-settings-sheet.is-open{position:fixed;z-index:70;inset:var(--mobile-toolbar-height) 0 calc(var(--mobile-action-height) + var(--mobile-status-height) + env(safe-area-inset-bottom,0px));display:grid;align-items:stretch;background:var(--color-overlay)}.workspace-settings-sheet>.workspace-sheet{display:grid;width:100%;height:100%}.workspace-settings-sheet>.workspace-sheet>.workspace-sheet__header{display:flex}.workspace-settings-sheet .workspace-sheet__body{min-height:0;display:block;overflow-y:auto;overscroll-behavior:contain}.workspace-settings-shell{display:block}.workspace-settings-shell .side-panel{height:auto;overflow:visible;border:0}.workspace-settings-sheet button,.workspace-settings-sheet input:not([type=checkbox]):not([type=range]),.workspace-settings-sheet select,.workspace-colors-sheet button,.workspace-colors-sheet input,.workspace-dialog button,.export-dialog button,.workspace-dialog input,.workspace-dialog select{min-height:44px}.export-dialog .dialog-header>button{width:44px;height:44px}.workspace-colors-sheet.is-open{inset:var(--mobile-toolbar-height) 0 calc(var(--mobile-action-height) + var(--mobile-status-height) + env(safe-area-inset-bottom,0px))}.workspace-colors-sheet>.workspace-sheet{width:100%;border-left:0;box-shadow:none}.mobile-action-bar{min-width:0;height:calc(var(--mobile-action-height) + env(safe-area-inset-bottom,0px));display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ink-700);background:var(--ink-900)}.mobile-action-bar[data-state=ready]{grid-auto-flow:row;grid-template-columns:repeat(6,minmax(44px,1fr));gap:4px;padding-inline:6px}.mobile-action-bar[data-state=ready]>button{min-width:44px;flex-direction:column;gap:1px;font-size:10px}.mobile-action-bar button{min-width:0;min-height:44px;overflow-wrap:anywhere}.mobile-action-bar>button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 6px;font-size:12px}.mobile-action-bar>button svg{width:18px;height:18px;flex:0 0 18px}.mobile-action-bar>button .palette-swatch{flex:0 0 26px}.mobile-action-bar__primary{color:var(--color-on-primary);background:var(--teal)}.mobile-action-bar__progress{min-width:0;display:grid;gap:4px}.mobile-action-bar__progress progress{width:100%;accent-color:var(--teal)}.mobile-tool-segment{min-width:0;display:grid;grid-column:span 3;grid-template-columns:repeat(3,minmax(44px,1fr))}.mobile-tool-segment button{min-width:44px;padding:0}.workspace-statusbar{height:var(--mobile-status-height);gap:6px;padding:0 8px}.workspace-statusbar .statusbar-phase,.workspace-statusbar .statusbar-count{display:none}.workspace-statusbar .statusbar-summary{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.workspace-statusbar .statusbar-sync,.workspace-statusbar .statusbar-zoom{flex:0 0 auto}.workspace-statusbar .statusbar-zoom{min-width:3.25em;color:var(--scrapbook-ink);font-weight:800;text-align:right;white-space:nowrap}.mobile-workspace-title{min-width:0;flex:1;overflow:hidden;color:var(--paper);font-size:15px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mobile-save-sheet.is-open{inset:var(--mobile-toolbar-height) 0 calc(var(--mobile-action-height) + var(--mobile-status-height) + env(safe-area-inset-bottom,0px))}.mobile-save-sheet>.workspace-sheet{width:100%}.mobile-save-formats{display:grid;gap:8px;padding:12px}.mobile-save-formats button{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:center;min-height:64px;padding:8px 12px;border:1px solid var(--ink-700);border-radius:var(--radius);color:var(--paper);text-align:left}.mobile-save-formats button svg{width:24px;height:24px}.mobile-save-formats button span{display:grid;gap:2px}.mobile-save-formats small{color:var(--ink-300)}.mobile-pinch-hint{position:absolute;left:50%;bottom:16px;z-index:2;transform:translate(-50%);margin:0;padding:8px 12px;border-radius:var(--radius);color:var(--paper);background:var(--color-overlay);font-size:12px;pointer-events:none;white-space:nowrap}}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:620px){.topbar{padding:0 12px}.brand-code,.local-badge span{display:none}.local-badge{width:34px;justify-content:center;padding:0}.empty-workspace{grid-template-rows:minmax(150px,.7fr) auto minmax(36px,.25fr)}.empty-actions h1{font-size:32px}.command-row{display:grid;grid-template-columns:1fr;width:min(280px,100%);margin-right:auto;margin-left:auto}.command-button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.account-page,.projects-page,.shell-loading{width:100%;min-height:100%;color:var(--paper);background:var(--ink-950)}.account-page,.shell-loading{display:grid;place-items:center;padding:24px;overflow-y:auto}.shell-loading,.page-status,.form-status,.projects-empty,.shell-overlay-status{align-items:center;gap:8px}.shell-loading,.page-status,.form-status,.projects-empty{display:flex}.shell-loading svg,.page-status svg,.form-status svg,.projects-empty svg,.primary-command svg,.icon-text-command svg,.projects-header button svg,.project-card button svg{width:18px;height:18px;flex:0 0 18px}.account-panel{width:min(420px,100%);padding:28px;border:1px solid var(--ink-700);border-radius:var(--radius-card);background:var(--ink-900);box-shadow:0 16px 44px var(--color-shadow)}.account-panel h1{margin:14px 0 0;font-size:26px}.account-subtitle,.projects-header span,.project-card p{color:var(--paper-muted)}.account-brand{width:46px;height:46px;display:grid;grid-template-columns:repeat(2,18px);gap:5px}.account-brand i,.project-card__preview span{display:block;border-radius:50%}.account-brand i:nth-child(1),.project-card__preview span:nth-child(1){background:var(--teal)}.account-brand i:nth-child(2),.project-card__preview span:nth-child(2){background:var(--coral)}.account-brand i:nth-child(3),.project-card__preview span:nth-child(3){background:var(--yellow)}.account-brand i:nth-child(4),.project-card__preview span:nth-child(4){background:var(--blue)}.account-form{display:grid;gap:14px;margin-top:24px}.account-form label{display:grid;gap:6px;color:var(--paper-muted);font-size:12px;font-weight:700}.account-form input{width:100%;height:44px;padding:0 12px;border:1px solid var(--ink-600);border-radius:var(--radius);color:var(--paper);background:var(--ink-950)}.primary-command,.icon-text-command,.projects-header button,.project-card button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid var(--ink-600);border-radius:var(--radius);color:var(--paper);background:var(--ink-900);font-weight:800;cursor:pointer}.primary-command{color:var(--color-on-primary);border-color:var(--teal);background:var(--teal)}.icon-text-command{padding:0 8px;border-color:transparent;background:transparent}.form-status{margin:0;font-size:12px}.form-status--error,.page-status--error,.shell-overlay-status--error{color:var(--coral)}.form-status--success{color:var(--teal)}.account-identity{display:flex;justify-content:space-between;margin-top:20px;padding:14px 0;border-top:1px solid var(--ink-700);border-bottom:1px solid var(--ink-700)}.projects-page{height:100%;overflow-y:auto}.projects-header,.projects-content{width:min(1120px,calc(100% - 32px));margin:0 auto}.projects-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--ink-700)}.projects-header h1,.projects-header p{margin:0}.projects-header h1{font-size:24px}.projects-eyebrow{color:var(--teal);font-size:11px;font-weight:900}.projects-header nav{display:flex;gap:8px}.projects-content{padding:24px 0 48px}.projects-actions{display:flex;justify-content:flex-end;margin-bottom:18px}.page-status{min-height:80px;justify-content:center}.legacy-import-banner{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px 16px;border:1px solid var(--color-accent-butter);border-radius:var(--radius-card);background:var(--color-accent-butter-soft)}.legacy-import-banner>div{min-width:0;display:grid;gap:3px}.legacy-import-banner strong,.legacy-import-banner span{overflow-wrap:anywhere}.legacy-import-banner span{color:var(--color-text-muted);font-size:12px}.legacy-import-banner button{flex:0 0 auto}.legacy-import-error{min-height:auto;margin:0 0 18px;justify-content:flex-start}.projects-empty{min-height:220px;flex-direction:column;justify-content:center;color:var(--paper-muted)}.projects-empty svg{width:36px;height:36px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.project-card{min-width:0;overflow:hidden;border:1px solid var(--ink-700);border-radius:var(--radius-card);background:var(--ink-900)}.project-card__preview{aspect-ratio:4 / 3;display:grid;grid-template-columns:repeat(2,36px);place-content:center;gap:8px;background:var(--ink-800)}.project-card__preview span{width:36px;height:36px}.project-card__body{padding:14px}.project-card h2{margin:0;font-size:16px}.project-card p{min-height:34px;margin:6px 0 12px;font-size:11px}.project-card button{width:100%}.shell-overlay-status{position:fixed;z-index:90;right:18px;bottom:18px;display:inline-flex;padding:10px 14px;border:1px solid var(--ink-700);border-radius:var(--radius);background:var(--ink-900)}.shell-overlay-status svg,.statusbar-phase svg,.statusbar-sync svg{width:15px;height:15px;flex:0 0 15px}.statusbar-phase,.statusbar-sync{min-width:0;display:inline-flex;align-items:center;gap:5px}.statusbar-phase>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-dialog{width:min(440px,100%);padding:20px;border:1px solid var(--ink-600);border-radius:var(--radius-card);color:var(--paper);background:var(--ink-900);box-shadow:0 18px 60px var(--color-shadow-strong)}.logout-dialog h2{margin:0;font-size:18px}.logout-dialog p{margin:10px 0 18px;color:var(--paper-muted);line-height:1.6;overflow-wrap:anywhere}.logout-dialog .dialog-actions button{min-height:44px}@media(max-width:620px){.account-page{padding:12px}.account-panel{padding:20px}.projects-header{align-items:flex-start;flex-direction:column;padding:18px 0}.projects-header nav{width:100%}.projects-header button{min-width:0;flex:1;padding-inline:8px}.projects-actions .primary-command{width:100%}.legacy-import-banner{align-items:stretch;flex-direction:column}.legacy-import-banner button{width:100%}.project-grid{grid-template-columns:1fr}}.long-press-save-dialog{border:2px solid var(--scrapbook-edge);border-radius:12px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:var(--scrapbook-dialog-shadow)}.long-press-save-dialog__header{min-height:82px;padding:12px 14px;border-bottom:2px solid var(--scrapbook-edge);background:var(--scrapbook-blue)}.long-press-save-dialog__heading{min-width:0;display:flex;align-items:center;gap:11px}.long-press-save-dialog__heading>div{min-width:0}.long-press-save-dialog__sticker{width:46px;height:46px;display:grid;flex:0 0 46px;place-items:center;border:2px solid var(--scrapbook-identity-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-mint);box-shadow:3px 3px 0 var(--scrapbook-identity-edge);transform:rotate(-3deg)}.long-press-save-dialog__sticker svg{width:24px;height:24px}.long-press-save-dialog__header h2{color:var(--scrapbook-ink);font-size:22px;line-height:1.15}.long-press-save-dialog__header p{margin-top:5px;color:var(--scrapbook-muted);font-size:12px;font-weight:650}.long-press-save-dialog__header button{border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge)}.long-press-save-dialog__header button:active{box-shadow:none;transform:translateY(2px)}.long-press-save-dialog__body{gap:12px;padding:14px;background-color:var(--scrapbook-paper-alt);background-image:radial-gradient(circle at 2px 2px,rgb(226 190 177 / 24%) 1px,transparent 1.2px);background-size:14px 14px}.long-press-save-dialog__hint{min-height:44px;display:inline-flex;align-items:center;margin:0;padding:8px 13px;border:2px solid var(--scrapbook-identity-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-mint-soft);font-size:14px;font-weight:750;line-height:1.35}.long-press-save-dialog__image-stage{width:min(100%,880px);padding:8px;border:2px dashed var(--scrapbook-edge);border-radius:10px;background:var(--scrapbook-paper);box-shadow:inset 0 0 0 3px #fff7edb8}.long-press-save-dialog__image,.long-press-save-dialog__image-frame{border-radius:4px}.mobile-save-sheet>.workspace-sheet{position:relative;overflow:hidden;border:2px solid var(--scrapbook-edge);border-bottom:0;border-radius:8px 8px 0 0;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 -5px 0 var(--scrapbook-mint)}.mobile-save-sheet .workspace-sheet__header{min-height:64px;padding:8px 12px 8px 16px;border-bottom:2px solid var(--scrapbook-edge);background:var(--scrapbook-blue)}.mobile-save-sheet .workspace-sheet__header h2{color:var(--scrapbook-ink);font-size:22px;font-weight:800}.mobile-save-sheet .workspace-sheet__header button{width:46px;height:46px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge)}.mobile-save-sheet .workspace-sheet__body{background-color:var(--scrapbook-paper-alt);background-image:radial-gradient(circle at 2px 2px,rgb(226 190 177 / 24%) 1px,transparent 1.2px);background-size:14px 14px}.mobile-save-sheet .mobile-save-formats{gap:10px;padding:14px}.mobile-save-sheet .mobile-save-formats button{min-height:78px;grid-template-columns:50px minmax(0,1fr) 20px;gap:12px;padding:10px 12px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge)}.mobile-save-sheet .mobile-save-formats button:after{content:"›";color:var(--scrapbook-muted);font-size:26px;font-weight:800;line-height:1}.mobile-save-formats__icon{width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--scrapbook-edge);border-radius:8px;background:var(--scrapbook-mint-soft);transform:rotate(-2deg)}.mobile-save-formats button[data-format=pdf] .mobile-save-formats__icon{background:var(--scrapbook-blue);transform:rotate(2deg)}.mobile-save-formats button[data-format=project] .mobile-save-formats__icon{background:var(--scrapbook-yellow)}.mobile-save-sheet .mobile-save-formats button svg{width:25px;height:25px;color:var(--scrapbook-ink)}.mobile-save-formats__copy{min-width:0;display:grid;gap:3px}.mobile-save-formats__copy strong{font-size:17px}.mobile-save-sheet .mobile-save-formats small{overflow-wrap:anywhere;color:var(--scrapbook-muted);font-size:13px;line-height:1.35}.mobile-save-sheet .mobile-save-formats button:active{box-shadow:none;transform:translateY(2px)}.export-dialog{width:min(620px,calc(100% - 24px));max-height:min(760px,calc(100dvh - 28px));border:2px solid var(--scrapbook-edge);border-radius:12px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:var(--scrapbook-dialog-shadow)}.export-dialog .dialog-header{min-height:84px;padding:13px 16px;border-bottom:2px solid var(--scrapbook-edge);background:var(--scrapbook-blue)}.export-dialog .dialog-header h2{color:var(--scrapbook-ink);font-size:24px;line-height:1.15}.export-dialog .dialog-index{width:fit-content;margin-bottom:5px;padding:3px 7px;border:1px solid var(--scrapbook-identity-edge);border-radius:5px;color:var(--scrapbook-ink);background:var(--scrapbook-mint);font-size:11px;font-weight:800}.export-dialog .dialog-header button{width:46px;height:46px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge)}.export-dialog .export-tabs{gap:7px;padding:10px 12px 12px;border-bottom:2px dashed var(--scrapbook-edge);background:var(--scrapbook-paper-alt)}.export-dialog .export-tabs button{min-width:0;min-height:52px;height:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 6px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-muted);background:var(--scrapbook-paper);box-shadow:0 2px 0 var(--scrapbook-edge);font-size:13px}.export-dialog .export-tabs button svg{width:18px;height:18px;flex:0 0 18px}.export-dialog .export-tabs button[aria-selected=true]{border-color:var(--scrapbook-identity-edge);color:var(--scrapbook-ink);background:var(--scrapbook-mint);box-shadow:0 3px 0 var(--scrapbook-identity-edge)}.export-dialog .export-body{min-height:250px;padding:16px;background:var(--scrapbook-paper)}.export-dialog .export-options{gap:10px}.export-dialog .export-options>label:not(.toggle-row){gap:7px;color:var(--scrapbook-ink);font-size:13px;font-weight:800}.export-dialog .export-options input[type=number],.export-dialog .export-options select{min-height:48px;padding-inline:12px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper-alt);box-shadow:inset 1px 1px #e2beb152;font-size:15px;font-weight:700}.export-dialog .export-options input:focus,.export-dialog .export-options select:focus{border-color:var(--scrapbook-mint);outline:3px solid var(--color-focus-ring);outline-offset:1px}.export-dialog .export-options .toggle-row{min-height:54px;display:flex;align-items:center;gap:11px;padding:8px 12px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper-alt);font-size:14px;font-weight:700}.export-dialog .export-options .toggle-row input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--scrapbook-command-edge)}.export-dialog .project-export-copy{min-height:220px;padding:20px;border:2px dashed var(--scrapbook-edge);border-radius:8px;background:var(--scrapbook-paper-alt)}.export-dialog .project-export-copy strong{color:var(--scrapbook-command-edge);font-size:26px}.export-dialog .project-export-copy p{color:var(--scrapbook-muted);font-size:13px}.export-dialog .dialog-actions{gap:10px;margin:0;padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-top:2px dashed var(--scrapbook-edge);background:var(--scrapbook-paper-alt)}.export-dialog .dialog-actions button{min-width:112px;min-height:50px;height:auto;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge);font-size:15px}.export-dialog .dialog-actions button:last-child{border-color:var(--scrapbook-command-edge);color:var(--scrapbook-ink);background:var(--scrapbook-coral);box-shadow:0 3px 0 var(--scrapbook-command-shadow)}.export-dialog .dialog-actions button:not(:disabled):active,.export-dialog .dialog-header button:active{box-shadow:none;transform:translateY(2px)}.export-dialog .export-progress,.export-dialog .export-error{border-color:var(--scrapbook-edge);color:var(--scrapbook-ink);background:var(--scrapbook-paper-alt)}@media(max-width:899px){.long-press-save-dialog{border-radius:0;box-shadow:none}.long-press-save-dialog__body{padding:12px}}@media(max-width:520px){.export-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border:2px solid var(--scrapbook-edge);border-radius:12px}.export-dialog .dialog-header{min-height:76px}.export-dialog .dialog-header h2{font-size:22px}.export-dialog .export-tabs{gap:5px;padding-inline:8px}.export-dialog .export-tabs button{min-height:56px;flex-direction:column;gap:3px;font-size:12px}.export-dialog .export-body{min-height:0;padding:12px}.export-dialog .dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.export-dialog .dialog-actions button{min-width:0}}@media(max-width:360px){.long-press-save-dialog__sticker{width:42px;height:42px;flex-basis:42px}.long-press-save-dialog__header h2{font-size:20px}.mobile-save-sheet .mobile-save-formats button{grid-template-columns:46px minmax(0,1fr) 16px;gap:9px;padding-inline:9px}.mobile-save-formats__icon{width:44px;height:44px}}@media(max-width:899px){.workspace-toolbar{border-bottom:2px solid var(--scrapbook-edge);background:var(--scrapbook-yellow);box-shadow:0 3px #bf998e38}.workspace-toolbar .mobile-command,.workspace-toolbar .mobile-workspace-title,.workspace-toolbar button{color:var(--scrapbook-ink)}.workspace-statusbar{border-top:2px solid var(--scrapbook-edge);border-bottom:0;color:var(--scrapbook-ink);background:var(--scrapbook-blue)}.mobile-action-bar{gap:6px;padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));border-top:2px solid var(--scrapbook-edge);background:var(--scrapbook-paper);box-shadow:0 -4px #bf998e24}.mobile-action-bar[data-state=ready]>button{border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge);font-size:10px;font-weight:800;line-height:1.15;transition:transform .15s ease-out,box-shadow .15s ease-out,border-color .15s ease-out}.mobile-action-bar[data-state=ready]>button:first-of-type{border-color:var(--scrapbook-command-edge);background:var(--scrapbook-coral);box-shadow:0 3px 0 var(--scrapbook-command-shadow)}.mobile-action-bar[data-state=ready]>button:nth-of-type(2){border-color:var(--scrapbook-import-edge);background:var(--scrapbook-import-paper);box-shadow:0 3px 0 var(--scrapbook-import-edge)}.mobile-action-bar[data-state=ready]>button:last-of-type{border-color:var(--scrapbook-blue);background:var(--color-accent-blue-soft);box-shadow:0 3px 0 var(--scrapbook-blue)}.mobile-action-bar[data-state=ready]>button:not(:disabled):hover,.mobile-action-bar[data-state=ready]>button:not(:disabled):focus-visible{border-color:var(--scrapbook-mint)}.mobile-action-bar[data-state=ready]>button:not(:disabled):active{box-shadow:0 1px 0 var(--scrapbook-edge);transform:translateY(2px)}.mobile-action-bar[data-state=ready]>button:focus-visible,.mobile-tool-segment button:focus-visible{outline:3px solid var(--scrapbook-sticker-star);outline-offset:1px}.mobile-tool-segment{overflow:hidden;border:2px solid var(--scrapbook-identity-edge);border-radius:8px;background:var(--scrapbook-mint-soft);box-shadow:0 3px 0 var(--scrapbook-identity-edge)}.mobile-tool-segment button{color:var(--scrapbook-ink);background:transparent;border-right:1px solid var(--scrapbook-identity-edge)}.mobile-tool-segment button:last-child{border-right:0}.mobile-tool-segment button[aria-pressed=true]{color:var(--scrapbook-ink);background:var(--scrapbook-mint)}}@media(prefers-reduced-motion:reduce){.mobile-action-bar[data-state=ready]>button{transition:none}}@media(max-width:899px){.workspace-settings-sheet.is-open{inset:var(--mobile-toolbar-height) 0 calc(var(--mobile-action-height) + var(--mobile-status-height) + env(safe-area-inset-bottom,0px));display:grid;align-items:stretch;padding:8px 8px 0;background:var(--color-overlay-soft)}.workspace-settings-sheet>.workspace-sheet{width:100%;height:100%;overflow:hidden;border:2px solid var(--scrapbook-edge);border-bottom:0;border-radius:12px 12px 0 0;background:var(--scrapbook-paper);box-shadow:0 -5px 0 var(--scrapbook-mint)}.workspace-settings-sheet>.workspace-sheet>.workspace-sheet__header{min-height:64px;padding:10px 14px;border-bottom:2px solid var(--scrapbook-edge);background:var(--scrapbook-yellow)}.workspace-settings-sheet>.workspace-sheet>.workspace-sheet__header h2{color:var(--scrapbook-ink);font-size:22px;font-weight:800}.workspace-settings-sheet>.workspace-sheet>.workspace-sheet__header button{width:44px;height:44px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge)}.workspace-settings-sheet>.workspace-sheet>.workspace-sheet__header button:active{box-shadow:0 1px 0 var(--scrapbook-edge);transform:translateY(2px)}.workspace-settings-sheet .workspace-sheet__body{background:var(--scrapbook-paper-alt)}.workspace-settings-shell,.workspace-settings-shell .source-panel{background:transparent}.workspace-settings-shell .source-panel{border:0;scrollbar-color:var(--scrapbook-edge) transparent}.workspace-settings-shell .panel-heading{height:auto;padding:16px 16px 8px;border-bottom:0;background:transparent}.workspace-settings-shell .panel-heading h2{color:var(--scrapbook-ink);font-size:18px}.workspace-settings-shell .panel-section{padding:14px 16px 16px;border-bottom:2px dashed var(--scrapbook-edge)}.workspace-settings-shell .section-label{min-height:26px;color:var(--scrapbook-ink);font-size:14px;font-weight:800}.workspace-settings-shell .section-label svg{width:18px;height:18px;color:var(--scrapbook-command-edge)}.workspace-settings-shell .source-preview{aspect-ratio:4 / 3;margin-top:4px;border:2px solid var(--scrapbook-edge);border-radius:8px;background:var(--scrapbook-paper);box-shadow:4px 4px 0 var(--scrapbook-mint)}.workspace-settings-shell .source-meta{margin:12px 0 10px}.workspace-settings-shell .source-meta strong{color:var(--scrapbook-ink);font-size:14px}.workspace-settings-shell .source-meta span{color:var(--scrapbook-muted);font-size:12px}.workspace-settings-shell .panel-command{min-height:48px;border:2px solid var(--scrapbook-identity-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-mint-soft);box-shadow:0 3px 0 var(--scrapbook-identity-edge);font-size:14px}.workspace-settings-shell .panel-command:not(:disabled):active{box-shadow:0 1px 0 var(--scrapbook-identity-edge);transform:translateY(2px)}.workspace-settings-shell .segmented-control,.workspace-settings-shell .preset-grid{gap:7px;margin-top:9px}.workspace-settings-shell .segmented-control button,.workspace-settings-shell .preset-grid button{min-height:48px;height:auto;padding:8px 6px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge);font-size:13px;font-weight:700}.workspace-settings-shell .segmented-control button[aria-pressed=true],.workspace-settings-shell .preset-grid button[aria-pressed=true]{border-color:var(--scrapbook-command-edge);color:var(--scrapbook-ink);background:var(--scrapbook-coral);box-shadow:0 3px 0 var(--scrapbook-command-shadow)}.workspace-settings-shell .board-size-fields{border:2px dashed var(--scrapbook-edge);border-radius:8px;background:var(--scrapbook-paper)}.workspace-settings-shell .board-size-fields input{min-height:44px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper)}.workspace-settings-shell .toggle-row{min-height:56px;margin:0 16px 16px;padding:10px 12px;border:2px solid var(--scrapbook-identity-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-identity-paper);font-size:13px;font-weight:700}.workspace-settings-shell .toggle-row input{width:20px;height:20px;accent-color:var(--scrapbook-success)}}@media(max-width:899px){.workspace-colors-sheet.is-open{inset:var(--mobile-toolbar-height) 0 calc(var(--mobile-action-height) + var(--mobile-status-height) + env(safe-area-inset-bottom,0px));display:grid;align-items:stretch;padding:8px 8px 0;background:var(--color-overlay-soft)}.workspace-colors-sheet>.workspace-sheet{width:100%;height:100%;grid-template-rows:64px minmax(0,1fr);overflow:hidden;border:2px solid var(--scrapbook-edge);border-bottom:0;border-radius:8px 8px 0 0;background:var(--scrapbook-paper);box-shadow:0 -5px 0 var(--scrapbook-blue)}.workspace-colors-sheet .workspace-sheet__header{padding:10px 14px;border-bottom:2px solid var(--scrapbook-edge);background:var(--scrapbook-blue)}.workspace-colors-sheet .workspace-sheet__header h2{color:var(--scrapbook-ink);font-size:22px;font-weight:800}.workspace-colors-sheet .workspace-sheet__header button{width:44px;height:44px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge)}.workspace-colors-sheet .workspace-sheet__header button:active{box-shadow:0 1px 0 var(--scrapbook-edge);transform:translateY(2px)}.workspace-colors-sheet .workspace-sheet__body,.workspace-colors-sheet .palette-color-picker{min-height:0;background:var(--scrapbook-paper-alt)}.workspace-colors-sheet .palette-color-picker{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.palette-color-search{display:grid;gap:7px;padding:14px 14px 8px;color:var(--scrapbook-ink);font-size:14px;font-weight:800}.palette-color-search>span{display:inline-flex;align-items:center;gap:7px}.palette-color-search svg{width:18px;height:18px;color:var(--scrapbook-command-edge)}.palette-color-search input{width:100%;min-height:48px;padding:0 14px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:inset 0 -2px 0 var(--scrapbook-paper-alt);font-size:15px}.palette-color-search input:focus{border-color:var(--scrapbook-mint);outline:3px solid var(--color-focus-ring);outline-offset:1px}.workspace-colors-sheet .palette-color-picker>.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:4px 14px 12px}.workspace-colors-sheet .palette-color-picker>.segmented-control button{min-height:48px;height:auto;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge);font-size:14px;font-weight:800}.workspace-colors-sheet .palette-color-picker>.segmented-control button[aria-pressed=true]{border-color:var(--scrapbook-identity-edge);color:var(--scrapbook-ink);background:var(--scrapbook-mint);box-shadow:0 3px 0 var(--scrapbook-identity-edge)}.palette-color-scroll{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:7px;padding:8px 10px 16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--scrapbook-edge) transparent;border-top:2px dashed var(--scrapbook-edge)}.palette-color-option{min-width:0;min-height:80px;display:grid;grid-template-columns:30px minmax(0,1fr);align-content:start;align-items:center;gap:4px 6px;padding:7px;overflow:hidden;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 2px 0 var(--scrapbook-edge);text-align:left}.workspace-colors-sheet .palette-color-scroll .palette-color-option{min-height:80px;height:auto;align-content:start}.palette-color-option .palette-swatch{width:30px;height:30px;grid-column:1;grid-row:1;border:2px solid var(--color-bead-edge);border-radius:6px}.palette-color-option__code{min-width:0;grid-column:2;grid-row:1;overflow:hidden;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.palette-color-option__name,.palette-color-option__count{min-width:0;grid-column:1 / -1;overflow:hidden;color:var(--scrapbook-muted);font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.palette-color-option__count{width:fit-content;padding:2px 5px;border-radius:5px;color:var(--scrapbook-ink);background:var(--scrapbook-sticker-swatch-paper)}.palette-color-option[aria-pressed=true]{border-color:var(--scrapbook-command-edge);background:var(--scrapbook-mint-soft);box-shadow:0 3px 0 var(--scrapbook-command-shadow)}.palette-color-option:focus-visible{outline:3px solid var(--scrapbook-sticker-star);outline-offset:1px}}@media(min-width:520px)and (max-width:899px){.palette-color-scroll{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:339px){.palette-color-scroll{grid-template-columns:repeat(2,minmax(0,1fr))}}.canvas-stage.canvas-stage--empty .pattern-canvas{visibility:hidden}.canvas-stage--empty{background-color:var(--scrapbook-paper-alt);background-image:radial-gradient(circle at 2px 2px,rgb(226 190 177 / 22%) 1px,transparent 1.2px);background-size:14px 14px}.canvas-stage--empty .canvas-empty-state{padding:22px}.canvas-empty-state__content{position:relative;width:min(360px,calc(100% - 20px));display:flex;align-items:center;gap:16px;padding:24px 22px;border:2px solid var(--scrapbook-edge);border-radius:8px;background:var(--scrapbook-paper);box-shadow:5px 6px 0 var(--scrapbook-mint)}.canvas-empty-state__content--action{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out}.canvas-empty-state__content--action:hover{border-color:var(--scrapbook-coral);box-shadow:5px 7px 0 var(--scrapbook-mint);transform:translateY(-1px) rotate(-.2deg)}.canvas-empty-state__content--action:focus-visible{outline:3px solid var(--scrapbook-sticker-star);outline-offset:4px}.canvas-empty-state__content--action:active{box-shadow:3px 3px 0 var(--scrapbook-mint);transform:translateY(2px)}.canvas-empty-state__content:before{content:"";position:absolute;top:-10px;right:22%;width:72px;height:18px;border:1px solid var(--scrapbook-dialog-tape-edge);background:var(--scrapbook-dialog-tape);transform:rotate(3deg);pointer-events:none}.canvas-empty-state__sticker{position:relative;width:58px;height:58px;display:grid;flex:0 0 58px;place-items:center;border:2px solid var(--scrapbook-sticker-edge);border-radius:50%;color:var(--scrapbook-sticker-kicker);background:var(--scrapbook-sticker-paper);box-shadow:3px 3px 0 var(--scrapbook-yellow);transform:rotate(-5deg)}.canvas-empty-state__sparkle{position:absolute;right:-8px;top:-8px;color:var(--scrapbook-sticker-star)}.canvas-empty-state__copy{min-width:0;display:grid;gap:6px;text-align:left}.canvas-empty-state__copy>strong{color:var(--scrapbook-ink);font-size:20px;line-height:1.25;text-wrap:balance}.canvas-empty-state__copy>span{max-width:none;padding:0;border:0;color:var(--scrapbook-muted);background:transparent;font-size:14px;line-height:1.45}@media(max-width:620px){.canvas-stage--empty .canvas-empty-state{padding:18px}.canvas-empty-state__content{width:min(350px,calc(100% - 4px));gap:12px;padding:22px 16px}.canvas-empty-state__sticker{width:52px;height:52px;flex-basis:52px}.canvas-empty-state__copy>strong{font-size:18px}}@media(prefers-reduced-motion:reduce){.canvas-empty-state__content--action{transition:none}}.login-page .account-panel{overflow:hidden;padding-top:18px}.login-sticker-banner{position:relative;min-height:152px;display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:12px;margin:-2px -2px 22px;padding:18px 20px;overflow:hidden;border:2px solid var(--scrapbook-sticker-edge);border-radius:8px;color:var(--scrapbook-ink);background-color:var(--scrapbook-sticker-paper);box-shadow:inset 0 -8px #ffffff61}.login-sticker-banner:before,.login-sticker-banner:after{position:absolute;content:"";pointer-events:none}.login-sticker-banner:before{top:-30px;right:24px;width:104px;height:104px;border:10px solid var(--scrapbook-blue);border-radius:50%;transform:rotate(18deg);opacity:.72}.login-sticker-banner:after{right:46px;bottom:11px;width:88px;height:14px;border-top:4px solid var(--scrapbook-yellow);border-radius:50%;transform:rotate(-7deg)}.login-sticker-banner__scribbles{position:relative;z-index:1;width:100px;height:108px;display:grid;place-items:center;color:var(--scrapbook-paper);background:var(--scrapbook-sticker-coral);border:3px solid var(--scrapbook-sticker-coral-edge);border-radius:48% 52% 45% 55%;transform:rotate(-5deg);box-shadow:5px 5px 0 var(--scrapbook-mint)}.login-sticker-banner__scribbles svg{position:absolute;width:30px;height:30px;stroke-width:2.8}.login-sticker-banner__scribbles svg:nth-child(1){top:14px;left:14px}.login-sticker-banner__scribbles svg:nth-child(2){right:10px;bottom:14px;color:var(--scrapbook-yellow)}.login-sticker-banner__scribbles svg:nth-child(3){top:35px;left:36px;color:var(--scrapbook-paper)}.login-sticker-banner__copy{position:relative;z-index:1;min-width:0;display:grid;gap:5px}.login-sticker-banner__kicker{color:var(--scrapbook-sticker-kicker);font-size:11px;font-weight:900;letter-spacing:0}.login-sticker-banner__copy strong{max-width:220px;font-size:clamp(21px,5vw,28px);line-height:1.18;overflow-wrap:anywhere}.login-sticker-banner__swatch{display:inline-flex;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:4px 8px;border:1px solid var(--scrapbook-sticker-swatch-edge);border-radius:5px;color:var(--scrapbook-sticker-swatch-ink);background:var(--scrapbook-sticker-swatch-paper);font-size:11px;font-weight:700}.login-sticker-banner__swatch svg{width:14px;height:14px;flex:0 0 14px}.login-sticker-banner__star{position:absolute;z-index:1;right:18px;top:54px;color:var(--scrapbook-sticker-star);font-size:32px;transform:rotate(16deg)}.login-page .account-brand{display:none}.login-page .account-panel h1{margin-top:0;font-size:clamp(28px,8vw,38px)}@media(max-width:420px){.login-sticker-banner{grid-template-columns:82px minmax(0,1fr);min-height:132px;padding:14px}.login-sticker-banner__scribbles{width:74px;height:86px;box-shadow:4px 4px 0 var(--scrapbook-mint)}.login-sticker-banner__scribbles svg{width:23px;height:23px}.login-sticker-banner__scribbles svg:nth-child(1){top:11px;left:10px}.login-sticker-banner__scribbles svg:nth-child(2){right:8px;bottom:10px}.login-sticker-banner__scribbles svg:nth-child(3){top:30px;left:27px}.login-sticker-banner__copy strong{font-size:20px}.login-sticker-banner__swatch{font-size:10px}.login-sticker-banner__star{right:8px;top:47px;font-size:24px}}body,.app-shell,.workspace-shell,.account-page,.projects-page,.shell-loading,.fatal-error{background-color:var(--color-background-warm);background-image:radial-gradient(circle at 1px 1px,var(--color-paper-fiber) .8px,transparent .9px);background-size:7px 7px}.topbar,.workspace-toolbar{border-color:var(--color-border-strong);background:var(--color-accent-butter-soft);box-shadow:0 2px 0 var(--color-pencil-faint)}.statusbar,.workspace-statusbar{border-color:var(--color-border-strong);background:var(--color-accent-blue-soft)}.side-panel,.source-panel,.palette-panel{border-color:var(--color-border);background:var(--color-surface)}.panel-heading{border-color:var(--color-border);background:var(--color-primary-mint-soft)}.panel-heading h2,.dialog-header h2,.workspace-sheet__header h2{color:var(--color-text-ink)}.panel-section,.palette-sources,.toggle-row,.export-options .toggle-row,.import-tabs,.dialog-actions,.export-progress,.export-error{border-color:var(--color-border)}.source-preview,.source-canvas-view{border-color:var(--color-border-strong);background-color:var(--color-surface-muted);background-image:radial-gradient(circle,var(--color-border) 1px,transparent 1.3px);background-size:12px 12px}.canvas-stage{background-color:var(--color-canvas);background-image:radial-gradient(circle,var(--color-border) 1px,transparent 1.2px);background-size:16px 16px}.canvas-empty-state span{border-color:var(--color-primary-mint);border-radius:0 var(--radius) var(--radius) 0;background:var(--color-surface);box-shadow:var(--pencil-shadow)}.account-form input,.number-grid input,.advanced-grid input,.manual-palette-layout__grid input,.column-mapping select,.palette-dialog>label input,.palette-table-wrap input,.export-options input[type=number],.export-options select{border-color:var(--color-border-strong);color:var(--color-text-ink);background:var(--color-surface);box-shadow:inset 1px 1px 0 var(--color-pencil-faint)}input[type=range]{accent-color:var(--color-primary-mint)}input[type=checkbox]{accent-color:var(--color-accent-green)}.command-button,.recovery-command,.panel-command,.generate-button,.segmented-control button,.preset-grid button,.palette-sources button,.palette-list>button,.workspace-notice button,.fatal-error button,.import-tabs button,.manual-palette-layout>button,.dialog-actions button,.primary-command,.icon-text-command,.projects-header button,.project-card button,.legacy-import-banner button{border-color:var(--color-border-strong);color:var(--color-text-ink);background-color:var(--color-surface);box-shadow:var(--pencil-shadow)}.command-button--primary,.panel-command--accent,.segmented-control button[aria-pressed=true],.preset-grid button[aria-pressed=true],.palette-sources button[aria-pressed=true],.generate-button,.fatal-error button,.manual-palette-layout>button,.dialog-actions button:last-child,.primary-command{border-color:var(--color-primary-mint);color:var(--color-on-primary);background:var(--color-primary-mint)}.command-button--primary,.generate-button,.fatal-error button,.dialog-actions button:last-child{border-color:var(--color-accent-butter);color:var(--color-text-ink);background:var(--color-accent-butter-soft)}.icon-text-command{border-color:transparent;background:transparent;box-shadow:none}.command-button:not(:disabled):hover,.panel-command:not(:disabled):hover,.generate-button:not(:disabled):hover,.projects-header button:not(:disabled):hover,.project-card button:not(:disabled):hover,.primary-command:not(:disabled):hover,.dialog-actions button:not(:disabled):hover{border-color:var(--color-primary-mint);box-shadow:1px 1px 0 var(--color-shadow);transform:translate(1px,1px)}.icon-button:not(:disabled):hover,.toolbar-segment button:not(:disabled):hover{border-color:var(--color-border-strong);color:var(--color-text-ink);background:var(--color-primary-mint-soft)}.toolbar-segment button[aria-pressed=true]{border-color:var(--color-primary-mint);color:var(--color-on-primary);background:var(--color-primary-mint);box-shadow:inset 0 -2px #263a312e}.toolbar-color-button,.tooltip-bubble{border-color:var(--color-border-strong);color:var(--color-text-ink);background:var(--color-surface)}.tooltip-bubble{box-shadow:var(--pencil-shadow-raised)}.brand-mark i,.account-brand i,.preview-bead,.project-card__preview span,.decorative-bead-cluster i{border:1px solid var(--color-bead-edge);box-shadow:inset 2px 2px 0 var(--color-bead-highlight),2px 2px 0 var(--color-shadow)}.brand-mark i:nth-child(4),.account-brand i:nth-child(4),.project-card__preview span:nth-child(4){background:var(--green)}.palette-dialog,.export-dialog,.visual-crop-dialog,.long-press-save-dialog,.workspace-dialog,.workspace-sheet,.logout-dialog{border-color:var(--color-border-strong);border-radius:var(--radius-card);color:var(--color-text-ink);background:var(--color-surface);box-shadow:4px 5px 0 var(--color-shadow-strong)}.dialog-backdrop,.workspace-sheet-backdrop,.workspace-dialog-backdrop{background:var(--color-overlay)}.export-tabs,.export-dialog .dialog-header,.workspace-sheet__header,.workspace-dialog__header,.workspace-dialog__footer{border-color:var(--color-border);background:var(--color-accent-blue-soft)}.export-tabs button[aria-selected=true]{border-bottom-color:var(--color-primary-mint);color:var(--color-text-ink)}.palette-table-wrap,.manual-palette-layout{border-color:var(--color-border-strong)}.palette-table-wrap th{background:var(--color-primary-mint-soft)}.file-command{border-color:var(--color-border-strong);background:var(--color-surface-muted)}.workspace-notice,.shell-overlay-status,.page-status,.form-status{border-color:var(--color-border);color:var(--color-text-ink);background:var(--color-surface);box-shadow:var(--pencil-shadow)}.page-status,.form-status{border:1px dashed var(--color-border);border-radius:var(--radius);padding:8px 10px}.page-status--error,.form-status--error,.shell-overlay-status--error,.export-error,.panel-error{border-color:var(--color-warning-coral);color:var(--color-warning-coral);background:var(--color-warning-coral-soft)}.form-status--success{border-color:var(--color-primary-mint);color:var(--color-primary-mint);background:var(--color-primary-mint-soft)}.dialog-loading,.shell-loading{color:var(--color-text-ink)}.account-page{position:relative;isolation:isolate}.account-panel{position:relative;z-index:1;border:2px solid var(--color-border-strong);background-color:var(--color-surface);background-image:radial-gradient(circle at 1px 1px,var(--color-paper-fiber) .7px,transparent .8px);background-size:7px 7px;box-shadow:var(--pencil-shadow-raised)}.account-panel:after{position:absolute;right:22px;bottom:15px;width:42px;height:7px;background:var(--color-accent-butter);border-radius:50%;content:"";opacity:.65;pointer-events:none;transform:rotate(-4deg)}.account-panel h1,.projects-header h1{position:relative;width:fit-content;max-width:100%;color:var(--color-text-ink);overflow-wrap:anywhere}.account-panel h1:after,.projects-header h1:after{position:absolute;right:0;bottom:0;left:0;height:3px;border-radius:50%;background:var(--color-accent-butter-soft);content:"";transform:rotate(-1deg)}.account-brand{transform:rotate(-3deg)}.account-identity{border-color:var(--color-border);background:var(--color-primary-mint-soft)}.projects-header{position:relative;isolation:isolate;overflow:hidden;border-color:var(--color-border-strong)}.projects-header__copy,.projects-header nav{position:relative;z-index:1;min-width:0}.projects-eyebrow{color:var(--color-primary-mint);letter-spacing:0}.projects-content{position:relative}.legacy-import-banner{border:2px dashed var(--color-accent-butter);background:var(--color-accent-butter-soft);box-shadow:var(--pencil-shadow)}.projects-empty{min-width:0;color:var(--color-text-muted);background-image:radial-gradient(circle,var(--color-primary-mint-soft) 2px,transparent 2.5px);background-position:center;background-size:18px 18px}.projects-empty strong,.projects-empty svg{padding:3px;background:var(--color-background-warm)}.project-card{border:2px solid var(--color-border);background:var(--color-surface);box-shadow:var(--pencil-shadow-raised)}.project-card:nth-child(3n+2){border-color:var(--color-accent-blue)}.project-card:nth-child(3n+3){border-color:var(--color-accent-butter)}.project-card__preview{border-bottom:1px dashed var(--color-border-strong);background-color:var(--color-surface-muted);background-image:radial-gradient(circle,var(--color-border) 1px,transparent 1.4px);background-size:12px 12px}.project-card__preview span{position:relative}.project-card__preview span:after,.decorative-bead-cluster i:after{position:absolute;inset:36%;border-radius:50%;background:#ffffffc7;box-shadow:inset 1px 1px 0 var(--color-bead-edge);content:""}.project-card h2{overflow-wrap:anywhere}.bead-doodle-scene{position:absolute;z-index:0;inset:0;contain:strict;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.decorative-bead-cluster{position:absolute;width:92px;height:70px;display:grid;grid-template-columns:repeat(3,20px);grid-template-rows:repeat(2,20px);place-content:center;gap:7px;opacity:.72;transform:rotate(-8deg)}.decorative-bead-cluster i{position:relative;width:20px;height:20px;display:block;border-radius:50%}.decorative-bead-cluster i:nth-child(2),.decorative-bead-cluster i:nth-child(5){transform:translateY(5px)}.decorative-bead-cluster--mint{top:8%;left:max(12px,calc(50% - 390px))}.decorative-bead-cluster--coral{right:max(12px,calc(50% - 390px));bottom:9%;transform:rotate(9deg)}.decorative-bead-cluster--mint i:nth-child(odd),.decorative-bead-cluster--coral i:nth-child(2n){background:var(--color-primary-mint)}.decorative-bead-cluster--mint i:nth-child(2n){background:var(--color-accent-butter)}.decorative-bead-cluster--coral i:nth-child(odd){background:var(--color-warning-coral)}.bead-doodle-scene__loop,.bead-doodle-scene__dash{position:absolute;display:block;opacity:.42}.bead-doodle-scene__loop{top:19%;right:12%;width:70px;height:34px;border:3px solid var(--color-accent-blue);border-right-color:transparent;border-radius:50%;transform:rotate(16deg)}.bead-doodle-scene__dash{bottom:18%;left:11%;width:58px;height:18px;border-top:3px dashed var(--color-accent-green);border-radius:50%;transform:rotate(-12deg)}.projects-header>.bead-doodle-scene{opacity:.62}.projects-header .decorative-bead-cluster--mint{top:4px;left:34%}.projects-header .decorative-bead-cluster--coral{right:29%;bottom:-12px}.projects-header .bead-doodle-scene__loop{top:6px;right:13%}.projects-header .bead-doodle-scene__dash{bottom:1px;left:12%}@media(max-width:620px){.decorative-bead-cluster{width:66px;height:54px;grid-template-columns:repeat(3,15px);grid-template-rows:repeat(2,15px);gap:5px;opacity:.5}.decorative-bead-cluster i{width:15px;height:15px}.decorative-bead-cluster--mint{top:5px;left:2px}.decorative-bead-cluster--coral{right:2px;bottom:5px}.bead-doodle-scene__loop{right:-10px;width:50px}.bead-doodle-scene__dash{left:-6px;width:42px}.account-panel{width:min(420px,100%);padding:20px}.projects-header .decorative-bead-cluster--mint{top:2px;right:4px;left:auto}.projects-header .decorative-bead-cluster--coral{display:none}.projects-header .bead-doodle-scene__loop,.projects-header .bead-doodle-scene__dash{opacity:.5}.projects-header nav{min-width:0}.projects-header button{overflow-wrap:anywhere}.project-card{box-shadow:2px 3px 0 var(--color-shadow)}}.projects-header{width:100%;min-height:168px;padding:26px max(24px,calc((100% - 1120px)/2));border-bottom:2px solid var(--color-border-strong);background-color:var(--color-accent-blue-soft)}.projects-header__copy h1{font-size:clamp(28px,4vw,42px);line-height:1.05;padding-bottom:5px;box-shadow:inset 0 -3px 0 var(--color-accent-butter-soft);overflow:hidden}.projects-header__copy h1:after{display:none}.projects-header__copy>span{display:inline-block;margin-top:10px;padding:3px 10px;border:1px dashed var(--color-primary-mint);border-radius:6px;color:var(--color-text-ink);background:var(--color-surface);font-size:13px;font-weight:800}.project-doodle-icons{position:absolute;inset:0}.project-doodle-icons svg{position:absolute;width:34px;height:34px;fill:#ffffff6b;stroke-width:2.6;filter:drop-shadow(1px 2px 0 rgb(38 58 49 / 12%))}.project-doodle-icons svg:nth-child(1){top:22px;left:6%;color:var(--color-warning-coral);transform:rotate(-14deg)}.project-doodle-icons svg:nth-child(2){right:31%;bottom:18px;color:var(--color-accent-butter);transform:rotate(12deg)}.project-doodle-icons svg:nth-child(3){top:18px;right:7%;width:54px;height:54px;color:var(--color-accent-blue);transform:rotate(7deg)}.project-doodle-icons svg:nth-child(4){right:19%;bottom:12px;color:var(--color-accent-green);transform:rotate(-9deg)}.project-doodle-icons svg:nth-child(5){top:20px;left:31%;color:var(--color-primary-mint);transform:rotate(11deg)}.projects-content{padding-top:20px}.projects-actions{align-items:center;justify-content:space-between;gap:12px}.project-layout-switch{min-width:0;display:inline-grid;grid-template-columns:repeat(3,minmax(0,auto));padding:3px;border:1px solid var(--color-border-strong);border-radius:7px;background:var(--color-surface);box-shadow:var(--pencil-shadow)}.project-layout-switch button{min-width:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:1px solid transparent;border-radius:5px;color:var(--color-text-muted);background:transparent;font-size:12px;font-weight:800;cursor:pointer}.project-layout-switch button svg{width:16px;height:16px;flex:0 0 16px}.project-layout-switch button[aria-pressed=true]{border-color:var(--color-primary-mint);color:var(--color-on-primary);background:var(--color-primary-mint);box-shadow:inset 0 -2px #263a3129}.project-card__preview{position:relative;aspect-ratio:16 / 10;display:grid;grid-template:100% / 100%;place-items:center;overflow:hidden}.project-card__preview img{width:100%;height:100%;display:block;object-fit:cover}.project-card__preview img[data-asset-kind=source]{width:84%;height:84%;object-fit:contain;object-position:center;transform:none}.project-card__placeholder{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,36px);place-content:center;gap:8px}.project-card__placeholder span{width:36px;height:36px}.project-grid[data-layout=gallery]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.project-grid[data-layout=gallery] .project-card__body{border-top:4px solid var(--color-primary-mint-soft)}.project-grid[data-layout=scrapbook]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;padding:8px}.project-grid[data-layout=scrapbook] .project-card:nth-child(4n+1){border-color:var(--color-warning-coral);transform:rotate(-.35deg)}.project-grid[data-layout=scrapbook] .project-card:nth-child(4n+2){border-color:var(--color-accent-blue);transform:rotate(.3deg)}.project-grid[data-layout=scrapbook] .project-card:nth-child(4n+3){border-color:var(--color-accent-butter);transform:rotate(-.2deg)}.project-grid[data-layout=scrapbook] .project-card:nth-child(4n+4){border-color:var(--color-accent-green);transform:rotate(.25deg)}.project-grid[data-layout=scrapbook] .project-card__preview{aspect-ratio:1 / 1}.project-grid[data-layout=list]{grid-template-columns:1fr;gap:10px}.project-grid[data-layout=list] .project-card{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr)}.project-grid[data-layout=list] .project-card__preview{height:100%;min-height:150px;aspect-ratio:auto;border-right:1px dashed var(--color-border-strong);border-bottom:0}.project-grid[data-layout=list] .project-card__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;gap:4px 18px}.project-grid[data-layout=list] .project-card h2,.project-grid[data-layout=list] .project-card p{grid-column:1}.project-grid[data-layout=list] .project-card button{grid-column:2;grid-row:1 / 3;width:116px}@media(max-width:760px){.projects-header{min-height:210px;padding:22px 18px}.projects-header nav{width:100%}.projects-actions{align-items:stretch;flex-direction:column-reverse}.projects-actions .primary-command,.project-layout-switch{width:100%}.project-layout-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.project-layout-switch button{padding-inline:5px}.project-grid[data-layout=gallery],.project-grid[data-layout=scrapbook]{grid-template-columns:1fr;padding:0}.project-grid[data-layout=scrapbook] .project-card{transform:none}.project-grid[data-layout=scrapbook] .project-card__preview{aspect-ratio:16 / 10}.project-grid[data-layout=list] .project-card{grid-template-columns:minmax(104px,34%) minmax(0,1fr)}.project-grid[data-layout=list] .project-card__preview{min-height:148px}.project-grid[data-layout=list] .project-card__body{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:7px;padding:10px}.project-grid[data-layout=list] .project-card p{min-height:0;margin:0}.project-grid[data-layout=list] .project-card button{width:100%;min-height:38px}.project-doodle-icons svg:nth-child(1),.project-doodle-icons svg:nth-child(5){display:none}.project-doodle-icons svg:nth-child(2){right:38%;bottom:4px}.project-doodle-icons svg:nth-child(3){top:10px;right:4px;opacity:.6}.project-doodle-icons svg:nth-child(4){right:7%;bottom:12px;opacity:.65}}:root{--scrapbook-paper: #fffdf7;--scrapbook-paper-alt: #fff7ed;--scrapbook-ink: #493b44;--scrapbook-muted: #8b7884;--scrapbook-mint: #9edecb;--scrapbook-coral: #ff9e9b;--scrapbook-yellow: #ffd978;--scrapbook-blue: #a9d8f5;--scrapbook-edge: #e8d8d0;--scrapbook-shadow: 0 8px 0 rgb(191 153 142 / 18%), 0 16px 28px rgb(143 107 101 / 12%);--scrapbook-sticker-edge: #f0c7b7;--scrapbook-sticker-paper: #ffe9df;--scrapbook-sticker-coral: #ff8f92;--scrapbook-sticker-coral-edge: #e3787b;--scrapbook-sticker-kicker: #c85f68;--scrapbook-sticker-swatch-edge: #e0b46c;--scrapbook-sticker-swatch-ink: #765553;--scrapbook-sticker-swatch-paper: #fff6ce;--scrapbook-sticker-star: #f3b72f;--scrapbook-input-paper: #fff;--scrapbook-command-edge: #e48d85;--scrapbook-command-ink: #51383b;--scrapbook-command-shadow: #df7f78;--scrapbook-command-hover: #f3fff9;--scrapbook-eyebrow: #e58a83;--scrapbook-layout-active: #e7fff4;--scrapbook-preview-paper: #f8eee8;--scrapbook-project-button: #e8fff4;--scrapbook-project-button-edge: #a8ddca;--scrapbook-import-edge: #e8c96d;--scrapbook-import-paper: #fff9db;--scrapbook-error: #d96e69;--scrapbook-success: #4aaf8d;--scrapbook-identity-edge: #b8dfcf;--scrapbook-identity-paper: #effff8;--scrapbook-nav-paper: rgb(255 253 247 / 96%);--scrapbook-nav-shadow: 0 8px 22px rgb(143 107 101 / 22%);--scrapbook-dialog-shadow: 5px 6px 0 var(--scrapbook-mint);--scrapbook-dialog-tape: rgb(255 217 120 / 82%);--scrapbook-dialog-tape-edge: rgb(211 174 119 / 60%)}body{color:var(--scrapbook-ink);background-color:var(--scrapbook-paper-alt);background-image:radial-gradient(circle at 2px 2px,rgb(226 190 177 / 22%) 1px,transparent 1.2px);background-size:12px 12px}.app-shell,.workspace-shell,.account-page,.projects-page,.shell-loading,.fatal-error{color:var(--scrapbook-ink);background-color:transparent;background-image:none}.account-page,.projects-page{position:relative;isolation:isolate}.account-panel{position:relative;z-index:1;width:min(460px,100%);padding:32px;border:2px solid var(--scrapbook-edge);border-radius:8px;background:var(--scrapbook-paper);box-shadow:var(--scrapbook-shadow)}.account-panel h1,.projects-header h1{color:var(--scrapbook-ink)}.login-page .account-subtitle{display:none}.projects-header>.bead-doodle-scene{display:none}.account-subtitle,.projects-header span,.project-card p{color:var(--scrapbook-muted)}.account-brand{filter:drop-shadow(2px 3px 0 rgb(168 123 115 / 16%))}.account-form input{border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-input-paper)}.account-form input:focus{border-color:var(--scrapbook-mint)}.primary-command{border:2px solid var(--scrapbook-command-edge);border-radius:8px;color:var(--scrapbook-command-ink);background:var(--scrapbook-coral);box-shadow:0 4px 0 var(--scrapbook-command-shadow)}.primary-command:hover{transform:translateY(-1px)}.icon-text-command,.projects-header button,.project-card button{border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper)}.projects-header button:hover,.project-card button:hover,.icon-text-command:hover{border-color:var(--scrapbook-mint);background:var(--scrapbook-command-hover)}.projects-header,.projects-content{position:relative;z-index:1}.projects-header{width:min(1120px,calc(100% - 32px));min-height:88px;margin:0 auto;padding:14px 0;border-bottom:2px dashed var(--scrapbook-edge);background:transparent}.projects-header h1{font-size:clamp(24px,4vw,34px);letter-spacing:0}.projects-eyebrow{color:var(--scrapbook-eyebrow);font-size:12px;letter-spacing:0}.projects-header__copy>span{display:none}.projects-actions{justify-content:space-between;align-items:center;gap:14px}.project-layout-switch{display:inline-flex;flex-wrap:wrap;gap:6px;padding:5px;border:2px solid var(--scrapbook-edge);border-radius:8px;background:#fffdf7cc}.project-layout-switch button{min-height:40px;border-color:transparent;box-shadow:none}.project-layout-switch button[aria-pressed=true]{border-color:var(--scrapbook-mint);color:var(--scrapbook-ink);background:var(--scrapbook-layout-active)}.project-grid[data-layout=scrapbook]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:26px 22px;padding:10px 4px 22px}.project-grid[data-layout=scrapbook] .project-card{border:2px solid var(--scrapbook-edge);border-radius:8px;background:var(--scrapbook-paper);box-shadow:var(--scrapbook-shadow)}.project-grid[data-layout=scrapbook] .project-card__preview{aspect-ratio:5 / 4;border-bottom:2px solid var(--scrapbook-edge);background:var(--scrapbook-preview-paper)}.project-grid[data-layout=scrapbook] .project-card__preview img[data-asset-kind=preview]{object-fit:cover;object-position:center;transform:translate(25px) scale(5);transform-origin:center}.project-grid[data-layout=scrapbook] .project-card__body{padding:16px}.project-grid[data-layout=scrapbook] .project-card h2{font-size:18px}.project-grid[data-layout=scrapbook] .project-card button{background:var(--scrapbook-project-button);border-color:var(--scrapbook-project-button-edge)}.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+1) .project-card:before,.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+2) .project-card:before,.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+3) .project-card:before{content:"";position:absolute;z-index:2;top:-10px;left:24px;width:58px;height:19px;border:1px solid rgb(211 174 119 / 60%);background:#ffd978d1;transform:rotate(-5deg)}.project-grid[data-layout=scrapbook] .project-card{position:relative}.legacy-import-banner{border:2px dashed var(--scrapbook-import-edge);border-radius:8px;background:var(--scrapbook-import-paper)}.page-status--error,.form-status--error{color:var(--scrapbook-error)}.form-status--success{color:var(--scrapbook-success)}@media(max-width:620px){.account-page{padding:16px}.account-panel{padding:24px 20px}.projects-header{min-height:0;padding:14px 0}.projects-header nav{display:grid;grid-template-columns:1fr 1fr}.projects-actions{align-items:stretch;flex-direction:column}.project-layout-switch{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.project-layout-switch button{padding-inline:4px;font-size:12px}.project-grid[data-layout=scrapbook]{grid-template-columns:1fr;gap:14px;padding-inline:2px}.project-grid[data-layout=scrapbook] .project-card__preview{aspect-ratio:16 / 9}.project-grid[data-layout=scrapbook] .project-card__body{padding:10px 12px 12px}.project-grid[data-layout=scrapbook] .project-card h2{font-size:16px;line-height:1.2}.project-grid[data-layout=scrapbook] .project-card p{min-height:0;margin:4px 0 8px;line-height:1.25}.project-grid[data-layout=scrapbook] .project-card button{min-height:40px}}@media(max-width:390px){.project-layout-switch button{min-height:44px;flex-direction:column;gap:2px;font-size:10px}.project-grid[data-layout=list] .project-card{grid-template-columns:1fr}.project-grid[data-layout=list] .project-card__preview{min-height:0;aspect-ratio:16 / 9;border-right:0;border-bottom:1px dashed var(--color-border-strong)}}.settings-page{align-content:center;justify-items:center;padding-block:24px}.settings-page .account-panel{width:min(520px,100%);margin:0;padding:clamp(22px,5vw,34px);background:var(--scrapbook-paper)}.settings-page .account-panel h1{margin-top:18px;font-size:clamp(28px,7vw,38px);line-height:1.12;letter-spacing:0}.settings-page .account-panel h1:after{content:"";display:block;width:72px;height:6px;margin-top:10px;border-radius:99px;background:var(--scrapbook-yellow);transform:rotate(-2deg)}.settings-page .account-identity{min-height:58px;display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding:0 16px;border:2px dashed var(--scrapbook-identity-edge);border-radius:12px;color:var(--scrapbook-muted);background:var(--scrapbook-identity-paper)}.settings-page .account-identity strong{color:var(--scrapbook-ink);font-size:20px}.settings-page .account-form{gap:16px;margin-top:22px}.settings-page .account-form label{gap:8px;color:var(--scrapbook-ink);font-size:14px}.settings-page .account-form input{height:52px;padding-inline:16px;border-radius:12px;font-size:16px;box-shadow:inset 0 2px #e8d8d059}.settings-page .account-form .primary-command{min-height:54px;margin-top:4px;font-size:17px}.login-page .account-panel h1:after{display:none}.login-page .account-panel h1,.projects-header__copy,.projects-header{display:none}.projects-header>nav{display:none!important}.projects-bottom-nav{position:fixed!important;z-index:100;right:auto;bottom:max(14px,env(safe-area-inset-bottom))!important;left:50%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(1120px,calc(100% - 32px));padding:8px;border:2px solid var(--scrapbook-edge);border-radius:14px;background:var(--scrapbook-nav-paper);box-shadow:var(--scrapbook-nav-shadow);transform:translate(-50%)}.projects-bottom-nav button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--scrapbook-edge);border-radius:10px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);font-size:16px;font-weight:800}.project-layout-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid[data-layout=list] .project-card__preview{min-height:180px}.project-grid[data-layout=list] .project-card__preview img[data-asset-kind=preview]{object-fit:cover;object-position:center;transform:translate(22px) scale(2.8);transform-origin:center}.projects-page{height:100dvh;min-height:0;display:flex;flex-direction:column;padding-bottom:0;overflow:hidden}.projects-page .projects-header{flex:0 0 auto}.projects-page .projects-content{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;padding-bottom:calc(92px + env(safe-area-inset-bottom));overflow:hidden}.projects-page .projects-actions,.projects-page .page-status,.projects-page .projects-empty{flex:0 0 auto}.projects-page .project-grid{min-height:0;flex:1 1 auto;grid-auto-rows:max-content;align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch}.projects-page .project-card{min-height:max-content}.swipe-project-row{position:relative;min-width:0;overflow:hidden;isolation:isolate}.swipe-project-row__track{position:relative;z-index:1;height:100%;min-width:0;transition:transform .18s ease;will-change:transform;touch-action:pan-y}.swipe-project-row__track>.project-card{width:100%;height:100%;min-width:0}.project-grid[data-layout=scrapbook] .swipe-project-row__track>.project-card{display:flex;flex-direction:column}.project-grid[data-layout=scrapbook] .swipe-project-row__track{border-radius:8px;background:var(--scrapbook-paper)}.project-grid[data-layout=scrapbook] .project-card__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column}.project-grid[data-layout=scrapbook] .project-card__body>button{margin-top:auto}.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+1) .project-card{border-color:var(--color-warning-coral)}.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+2) .project-card{border-color:var(--color-accent-blue)}.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+3) .project-card{border-color:var(--color-accent-butter)}.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+4) .project-card{border-color:var(--color-accent-green)}.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+1) .project-card{transform:rotate(-.35deg)}.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+2) .project-card{transform:rotate(.3deg)}.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+3) .project-card{transform:rotate(-.2deg)}.project-grid[data-layout=scrapbook] .swipe-project-row:nth-child(4n+4) .project-card{transform:rotate(.25deg)}.swipe-project-row__delete{position:absolute;inset:0 0 0 auto;z-index:0;width:92px;min-width:44px;min-height:44px;border:0;border-radius:0;color:var(--scrapbook-paper);background:var(--scrapbook-error);font-size:15px;font-weight:800}.swipe-project-row__delete:disabled{cursor:wait;opacity:.62}.delete-project-dialog__confirm{color:var(--scrapbook-paper)!important;background:var(--scrapbook-error)!important;border-color:var(--scrapbook-error)!important}.delete-project-dialog .page-status--error{margin:12px 0 0}.workspace-dialog.delete-project-dialog{position:relative;width:min(500px,calc(100vw - 28px));max-height:calc(100dvh - 36px);padding:26px 24px 20px;overflow-y:auto;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:var(--scrapbook-dialog-shadow)}.workspace-dialog.delete-project-dialog:before{content:"";position:absolute;z-index:2;top:-1px;left:50%;width:84px;height:18px;border:1px solid var(--scrapbook-dialog-tape-edge);background:var(--scrapbook-dialog-tape);transform:translate(-50%) rotate(-2deg);pointer-events:none}.delete-project-dialog__intro{display:flex;align-items:flex-start;gap:16px}.delete-project-dialog__sticker{width:56px;height:56px;display:grid;flex:0 0 56px;place-items:center;border:2px solid var(--scrapbook-sticker-edge);border-radius:50%;color:var(--scrapbook-sticker-kicker);background:var(--scrapbook-sticker-paper);box-shadow:3px 3px 0 var(--scrapbook-yellow);transform:rotate(-4deg)}.delete-project-dialog__copy{min-width:0}.delete-project-dialog__eyebrow{display:block;margin-bottom:3px;color:var(--scrapbook-sticker-kicker);font-size:13px;font-weight:800}.delete-project-dialog h2{margin:0;color:var(--scrapbook-ink);font-size:28px;line-height:1.15;text-wrap:balance}.delete-project-dialog__copy p{margin:12px 0 5px;color:var(--scrapbook-ink);font-size:16px;line-height:1.55;text-wrap:pretty}.delete-project-dialog__copy strong{overflow-wrap:anywhere;color:var(--scrapbook-sticker-kicker)}.delete-project-dialog__note{display:block;color:var(--scrapbook-muted);font-size:13px;line-height:1.45}.delete-project-dialog .dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;padding-top:16px;border-top:2px dashed var(--scrapbook-edge)}.delete-project-dialog .dialog-actions button{min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge);font-size:16px;font-weight:800}.delete-project-dialog .dialog-actions button:not(:disabled):active{box-shadow:none;transform:translateY(2px)}.delete-project-dialog .delete-project-dialog__confirm{box-shadow:0 3px 0 var(--scrapbook-command-shadow)}.delete-project-dialog__spinner{animation:delete-project-dialog-spin .9s linear infinite}@keyframes delete-project-dialog-spin{to{transform:rotate(360deg)}}@media(max-width:420px){.workspace-dialog.delete-project-dialog{width:calc(100vw - 24px);padding:24px 18px 16px}.delete-project-dialog__intro{gap:12px}.delete-project-dialog__sticker{width:48px;height:48px;flex-basis:48px}.delete-project-dialog h2{font-size:24px}}@media(prefers-reduced-motion:reduce){.delete-project-dialog__spinner{animation:none}}.projects-header nav{position:fixed!important;z-index:20;left:50%;top:auto!important;right:auto;bottom:max(14px,env(safe-area-inset-bottom))!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(600px,calc(100% - 28px));gap:10px;padding:8px;border:2px solid var(--scrapbook-edge);border-radius:14px;background:#fffdf7f0;box-shadow:0 8px 22px #8f6b6538;transform:translate(-50%);will-change:transform}.projects-header nav button{min-height:48px}.legacy-import-banner,.legacy-import-error{display:none!important}@media(max-width:620px){.settings-page{align-content:center;padding:24px 14px 36px}.settings-page .account-panel{padding:22px 18px 24px}.settings-page .account-panel h1{font-size:30px}}.canvas-stage.canvas-stage--empty{background-color:var(--scrapbook-paper-alt);background-image:radial-gradient(circle at 2px 2px,rgb(226 190 177 / 22%) 1px,transparent 1.2px);background-size:14px 14px}.canvas-stage.canvas-stage--empty .canvas-empty-state__copy>span{max-width:none;padding:0;border:0;color:var(--scrapbook-muted);background:transparent;font-size:14px;line-height:1.45}@media(max-width:899px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea{font-size:16px}}@media(min-width:900px){.workspace-toolbar{border-bottom:2px solid var(--scrapbook-edge);color:var(--scrapbook-ink);background:var(--scrapbook-yellow);box-shadow:0 3px #bf998e38}.workspace-toolbar .brand,.workspace-toolbar .icon-button,.workspace-toolbar .toolbar-segment button,.workspace-toolbar .local-badge{color:var(--scrapbook-ink)}.workspace-toolbar .toolbar-group,.workspace-toolbar .toolbar-segment{border-color:#bf998e57}.workspace-toolbar .icon-button,.workspace-toolbar .toolbar-segment button{border-radius:8px}.workspace-toolbar .icon-button:not(:disabled):hover,.workspace-toolbar .toolbar-segment button:not(:disabled):hover{border-color:var(--scrapbook-identity-edge);color:var(--scrapbook-ink);background:var(--scrapbook-mint-soft)}.workspace-toolbar .toolbar-segment button[aria-pressed=true]{border-color:var(--scrapbook-identity-edge);color:var(--scrapbook-ink);background:var(--scrapbook-mint);box-shadow:0 3px 0 var(--scrapbook-identity-edge)}.workspace-toolbar .toolbar-color-button{border:2px solid var(--scrapbook-edge);border-radius:8px;background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge)}.workspace-statusbar{border-top:2px solid var(--scrapbook-edge);border-bottom:0;color:var(--scrapbook-ink);background:var(--scrapbook-blue)}.workspace-grid>.side-panel{background:var(--scrapbook-paper)}.workspace-grid .panel-heading{border-bottom:2px solid var(--scrapbook-edge);color:var(--scrapbook-ink);background:var(--scrapbook-mint)}.workspace-grid .panel-section{border-color:var(--scrapbook-edge)}.workspace-grid .source-preview,.workspace-grid .source-canvas-view{border:2px solid var(--scrapbook-edge);border-radius:8px;background-color:var(--scrapbook-paper-alt);box-shadow:3px 3px 0 var(--scrapbook-mint)}.workspace-grid .panel-command,.workspace-grid .generate-button,.workspace-grid .segmented-control button,.workspace-grid .preset-grid button{border:2px solid var(--scrapbook-edge);border-radius:8px;color:var(--scrapbook-ink);background:var(--scrapbook-paper);box-shadow:0 3px 0 var(--scrapbook-edge)}.workspace-grid .panel-command--accent,.workspace-grid .segmented-control button[aria-pressed=true],.workspace-grid .preset-grid button[aria-pressed=true]{border-color:var(--scrapbook-identity-edge);color:var(--scrapbook-ink);background:var(--scrapbook-mint);box-shadow:0 3px 0 var(--scrapbook-identity-edge)}.workspace-grid .panel-command:not(:disabled):active,.workspace-grid .generate-button:not(:disabled):active,.workspace-grid .segmented-control button:not(:disabled):active,.workspace-grid .preset-grid button:not(:disabled):active{box-shadow:0 1px 0 var(--scrapbook-edge);transform:translateY(2px)}}
