:root{--bg:#f8f5f0;--card:#fff;--ink:#2f2f2f;--muted:#6e6a66;--accent:#d9a8a8;--accent2:#c8b7a6;--line:#e8ded5;--soft:#fffaf6;--shadow:0 8px 22px #0000000e;--good:#71899a}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 Arial,sans-serif;background:var(--bg);color:var(--ink)}header{background:#fff;border-bottom:1px solid var(--line);padding:26px 18px;text-align:center}h1,h2,summary{font-family:Georgia,serif}h1{margin:0;font-size:34px}header p{max-width:850px;margin:8px auto;color:var(--muted)}main{max-width:1380px;margin:22px auto;padding:0 16px 42px;display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:18px}section,details,.sticky{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);margin-bottom:14px}section,.sticky{padding:18px}summary{font-size:21px;font-weight:700;cursor:pointer;padding:17px 18px;list-style:none;display:flex;justify-content:space-between}summary:after{content:"+"}details[open] summary:after{content:"–"}.inside{padding:0 18px 18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:10px 16px}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px;margin-top:8px}.checks label{font-weight:400;margin:0;display:flex;gap:8px;background:#fffdfb;border:1px solid #f0e7de;border-radius:12px;padding:9px}label{display:block;font-weight:700;margin:10px 0 5px}input[type=text],input[type=number],select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fffdfb;font:inherit}input[type=color]{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff}textarea{min-height:80px;resize:vertical}.actions,.preset-row,.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}button{border:0;border-radius:999px;padding:11px 15px;background:var(--accent);font-weight:800;cursor:pointer;color:var(--ink)}button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.25)}button.secondary{background:var(--accent2)}button.light{background:#efe7df}button.danger{background:#ead0d0}button.small{padding:8px 11px;font-size:13px;background:#f2ebe5}.sticky{position:sticky;top:14px}.status{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.metric{background:#fffdfb;border:1px solid var(--line);border-radius:13px;padding:10px;font-size:12px}.metric b{display:block;font:700 18px Georgia,serif}.preview{min-height:410px;max-height:52vh;overflow:auto;white-space:pre-wrap;background:#fffdfb;border:1px solid var(--line);border-radius:14px;padding:13px;font:12px/1.45 ui-monospace,monospace}.summary{white-space:pre-wrap;background:var(--soft);border:1px dashed var(--accent2);border-radius:14px;padding:12px;margin:10px 0}.note{font-size:13px;color:var(--muted)}.tab.active{background:var(--good);color:#fff}.output-title{display:flex;justify-content:space-between;align-items:center}.hidden{display:none}.callout{background:var(--soft);border-left:5px solid var(--accent);border-radius:12px;padding:11px;margin:10px 0}
.preset-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 20px}.preset-groups h3{font:700 15px Georgia,serif;color:#5a514b;margin:10px 0 2px}.page-order-panel{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.order-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.order-heading h3{margin:0}.page-order-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}.page-order-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;background:#fff;border:1px solid var(--line);border-radius:11px;cursor:grab}.page-order-item.dragging{opacity:.45}.page-order-item.drag-over{border-color:var(--good);box-shadow:0 0 0 2px #71899a22}.drag-handle{font-size:18px;color:var(--muted);text-align:center;user-select:none}.order-name{font-weight:700}.order-note{font-size:11px;color:var(--muted);font-weight:400}.order-actions{display:flex;gap:4px}.order-actions button{padding:6px 9px;min-width:32px;background:#f1ebe5}.order-actions button.remove{background:#f6e5e5}.empty-order{text-align:center;color:var(--muted);padding:16px 0 4px}.generate-card{border:2px solid var(--accent2);background:linear-gradient(135deg,#fff,#fff8f3)}.primary-action{width:100%;font-size:18px;padding:16px;background:var(--good);color:#fff;box-shadow:0 8px 18px #71899a33}.primary-action:hover{filter:brightness(.95)}.primary-action:disabled{opacity:.6;cursor:wait}.generation-status{margin:12px 0;padding:11px 13px;border-radius:12px;background:#eef5f7;color:#2f4156;font-weight:700}.generation-status.success{background:#edf6ef;color:#356141}.generation-status.error{background:#fbecec;color:#8b3434}
@media(max-width:1020px){main{grid-template-columns:1fr}.sticky{position:static}.preview{max-height:none}}
.product-simple{display:block;max-width:1060px}.product-simple>div{max-width:100%}.simple-optional{box-shadow:none;margin:14px 0 0;background:#fffdfb}.simple-optional summary{font-size:16px;font-family:Arial,sans-serif}.button-field{display:flex;align-items:end}.button-field button{width:100%;margin-top:31px}
.workspace-switcher{max-width:1380px;margin:18px auto 0;padding:0 16px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.workspace-button{background:#efe7df;border:1px solid var(--line)}.workspace-button.active{background:var(--good);color:#fff}.future-workspace{border:1px dashed var(--accent2);border-radius:999px;padding:10px 15px;color:var(--muted);font-weight:700}.future-workspace small{font-weight:400}.workspace.hidden{display:none!important}.asset-workspace{display:block;max-width:1380px}.asset-workspace section{margin-bottom:16px}.asset-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#fff,#eef5f7)}.asset-intro h2{font-size:29px;margin:2px 0 5px}.asset-intro p{margin:0}.eyebrow{font-size:11px!important;letter-spacing:.18em;font-weight:800;color:var(--good)}.session-warning{max-width:430px;background:#fff6df;border:1px solid #ebd59c;border-radius:14px;padding:13px 15px;display:grid;gap:3px}.session-warning span{font-size:12px;color:#625947}.asset-setup{padding-bottom:12px}.range-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.range-row input{width:100%}.range-row output{min-width:54px;text-align:right;font-weight:700;color:var(--good)}.primary-action.compact{width:auto;font-size:14px;padding:11px 17px}.asset-editor-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px}.sheet-panel,.selection-panel{padding:16px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.panel-heading h2{margin:0}.count-pill,.selection-count{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:6px 10px;background:#eef5f7;color:#2f4156;font-size:12px;font-weight:800}.sheet-list{display:grid;gap:8px;margin-top:12px;max-height:730px;overflow:auto}.sheet-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid var(--line);background:#fffdfb;border-radius:12px;padding:7px;cursor:pointer;text-align:left;width:100%;color:var(--ink)}.sheet-card.active{border-color:var(--good);box-shadow:0 0 0 2px #71899a22;background:#f6fbfc}.sheet-thumb{width:62px;height:48px;object-fit:contain;background:#f3f0ec;border-radius:7px}.sheet-meta{min-width:0}.sheet-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.sheet-details{display:block;color:var(--muted);font-size:10px}.sheet-remove{padding:5px 8px;background:#f6e5e5}.empty-state{padding:28px 16px;border:1px dashed var(--accent2);border-radius:13px;text-align:center;color:var(--muted);display:grid;gap:5px}.canvas-stage{position:relative;margin-top:12px;min-height:440px;display:grid;place-items:center;background:linear-gradient(45deg,#f4f1ed 25%,transparent 25%),linear-gradient(-45deg,#f4f1ed 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f4f1ed 75%),linear-gradient(-45deg,transparent 75%,#f4f1ed 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;border:1px solid var(--line);border-radius:15px;overflow:auto;padding:14px}.canvas-stage canvas{display:block;max-width:100%;height:auto;background:#fff;box-shadow:0 10px 28px #0002;cursor:crosshair;touch-action:none}.canvas-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:var(--muted);pointer-events:none}.canvas-empty span{font-size:12px}.canvas-empty.hidden{display:none}.selection-toolbar,.process-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.selection-details{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-top:5px;padding:10px 12px;background:var(--soft);border:1px solid var(--line);border-radius:13px}.asset-counts{text-align:right}.asset-gallery-section{padding:18px}.asset-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:14px}.asset-card{border:1px solid var(--line);border-radius:14px;padding:10px;background:#fffdfb;display:grid;gap:8px}.asset-thumb-wrap{height:150px;display:grid;place-items:center;background:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0;border-radius:9px;overflow:hidden}.asset-thumb-wrap img{max-width:100%;max-height:100%;object-fit:contain}.asset-card input,.asset-card select{padding:7px;font-size:12px}.asset-card-meta{font-size:10px;color:var(--muted)}.asset-card-actions{display:flex;justify-content:space-between;gap:6px}.asset-card-actions button{padding:6px 9px;font-size:11px}.download-pack-card{display:flex;justify-content:space-between;align-items:center;gap:20px;border:2px solid var(--good);background:linear-gradient(135deg,#fff,#eef5f7)}.download-pack-card h2{margin:0}.download-pack-card p{margin-bottom:0}.process-actions .primary-action{margin-left:auto}.asset-gallery>.empty-state{grid-column:1/-1}
.decorate-workspace{display:block;max-width:1380px}.decorate-upload-card{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.decorate-pack-summary{background:#fffdfb;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:9px}.recipe-builder-section{padding:18px;background:linear-gradient(135deg,#fff,#fff8f3)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px;margin-top:12px}.decorate-layout-section{padding:18px}.decorate-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.decorate-controls label{display:flex;gap:8px;align-items:center;margin:0;font-weight:800}.decorate-controls select{min-width:230px}.decorate-stage{min-height:560px;display:grid;place-items:center;overflow:auto;padding:22px;background:linear-gradient(45deg,#ece8e3 25%,transparent 25%),linear-gradient(-45deg,#ece8e3 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ece8e3 75%),linear-gradient(-45deg,transparent 75%,#ece8e3 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;border:1px solid var(--line);border-radius:15px}.decorate-stage canvas{display:block;background:#fff;box-shadow:0 13px 34px #0003;max-width:100%;height:auto;cursor:crosshair}.asset-category-heading{grid-column:1/-1;margin-top:8px;padding:10px 13px;border-radius:999px;background:#eef5f7;color:#2f4156;font-weight:900}.asset-import-name{font-size:13px;line-height:1.25}.import-select-card{cursor:pointer}.import-select-card.selected{border-color:#1f5eff;box-shadow:0 0 0 3px rgba(31,94,255,.18);background:#f5f8ff}
@media(max-width:900px){.asset-editor-layout{grid-template-columns:1fr}.sheet-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:none}.selection-details{grid-template-columns:1fr 1fr}.asset-intro,.download-pack-card{align-items:flex-start;flex-direction:column}.canvas-stage{min-height:320px}}
@media(max-width:600px){.selection-details{grid-template-columns:1fr}.workspace-switcher>*{width:100%;text-align:center}.process-actions button{width:100%}.process-actions .primary-action{margin-left:0}.canvas-stage{padding:5px}}
.page-preview-controls{display:grid;grid-template-columns:auto minmax(140px,1fr) auto minmax(180px,1fr);gap:10px;align-items:center;margin:10px 0 14px}.page-preview-controls>div{text-align:center;display:grid}.page-preview-controls>div span{font-size:12px;color:var(--muted)}.page-preview-controls label{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin:0;font-size:12px}.page-preview-controls input{width:100%}.visual-preview-stage{min-height:500px;display:grid;place-items:center;overflow:auto;padding:22px;background:linear-gradient(45deg,#ece8e3 25%,transparent 25%),linear-gradient(-45deg,#ece8e3 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ece8e3 75%),linear-gradient(-45deg,transparent 75%,#ece8e3 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;border:1px solid var(--line);border-radius:15px}.visual-preview-stage canvas{display:block;background:#fff;box-shadow:0 13px 34px #0003;max-width:none}.visual-preview-strip{display:flex;gap:7px;overflow-x:auto;padding:10px 2px 3px}.visual-preview-item{flex:0 0 auto;max-width:150px;border:1px solid var(--line);border-radius:10px;background:#f4eee8;padding:7px 10px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visual-preview-item.active{background:var(--good);color:#fff;border-color:var(--good)}.visual-preview-item .page-number{opacity:.75;margin-right:5px}.page-preview-empty{color:var(--muted);text-align:center}
@media(max-width:720px){.page-preview-controls{grid-template-columns:1fr 1fr}.page-preview-controls>div{grid-column:1/-1;grid-row:1}.page-preview-controls label{grid-column:1/-1}.visual-preview-stage{min-height:380px;padding:10px}}
