*,:before,:after{box-sizing:border-box}:root{--color-bg:#14141f;--color-surface:#1e1e2e;--color-surface-raised:#2a2a3d;--color-border:#3a3a52;--color-text:#f0f0f5;--color-text-dim:#9a9ab0;--color-accent:#d4af37;--color-accent-contrast:#14141f}html{height:100%}body{background:var(--color-bg);min-height:100%;color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root{flex-direction:column;height:100dvh;display:flex}button{font:inherit}.app-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.app-brand{align-items:center;gap:10px;display:flex}.app-logo-name{letter-spacing:.02em;color:var(--color-accent);font-size:19px;font-weight:700}.lang-switch{gap:4px;display:flex}.lang-switch button{border:1px solid var(--color-border);color:var(--color-text-dim);text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;font-size:12px}.lang-switch button.is-active{color:var(--color-accent-contrast);background:var(--color-accent);border-color:var(--color-accent)}.editor{flex-direction:column;flex:1;min-height:0;display:flex}.editor-preview{background:radial-gradient(ellipse at 50% 42%, #262638 0%, var(--color-bg) 75%);flex-direction:column;align-items:center;padding:12px 16px 4px;display:flex;position:relative}.forge-preview{flex:1;min-height:0;margin:-12px -16px 0;padding:0 0 2px}.stage-actions{z-index:6;gap:8px;display:flex;position:absolute;top:22px;right:22px}.stage-actions .icon-button{background:#1e1e2eb8}.stage-hint{text-align:center;color:var(--color-text-dim);margin:8px 0 4px;font-size:12px}.theme-story{z-index:6;border:1px solid var(--color-border);text-align:center;max-width:min(86%,420px);color:var(--color-text);background:#1e1e2ee6;border-radius:12px;margin:0;padding:9px 14px;font-size:12.5px;font-style:italic;line-height:1.45;animation:.25s story-in;position:absolute;bottom:44px;left:50%;transform:translate(-50%)}@keyframes story-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}}.editor-award{max-width:100%;height:min(44vh,420px)}.award-stage{touch-action:none;background:radial-gradient(at 50% 44%,#23233a 0%,#101018 62%,#0a0a10 100%);flex:1;width:100%;min-height:220px;overflow:hidden}.award-stage canvas{display:block}.kind-dropdown{z-index:7;position:absolute;top:22px;left:50%;transform:translate(-50%)}.kind-dropdown-pill{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:#1e1e2ed1;border-radius:999px;flex-direction:column;align-items:center;gap:1px;padding:7px 20px;display:flex}.kind-dropdown-eyebrow{color:var(--color-text-dim);font-size:10.5px}.kind-dropdown-value{font-size:14px;font-weight:600}.kind-dropdown-backdrop{z-index:7;position:fixed;inset:0}.kind-dropdown-menu{z-index:8;border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;width:230px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000073}.kind-dropdown-menu button{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.kind-dropdown-menu button:hover{background:var(--color-surface-raised)}.kind-dropdown-menu button.is-selected{background:var(--color-surface-raised);outline:1px solid var(--color-accent)}.kind-dropdown-menu small{color:var(--color-text-dim);font-size:11.5px}.part-chips{z-index:5;flex-direction:column;gap:10px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.part-chips.is-left{left:18px}.part-chips.is-right{right:18px}.part-chip{border:1px solid var(--color-border);width:60px;color:var(--color-text-dim);cursor:pointer;background:#1e1e2eb8;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:7px 4px 5px;display:flex}.part-chip:hover{border-color:var(--color-accent);color:var(--color-text)}.part-chip-thumb{justify-content:center;align-items:center;width:38px;height:46px;display:flex}.part-chip-svg{width:100%;height:100%}.part-chip-none{border:1.5px dashed var(--color-text-dim);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.part-chip-label{text-align:center;font-size:9.5px;line-height:1.15}.part-sheet-scrim{z-index:60;background:#0a0a108c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.part-sheet{border-top:1px solid var(--color-border);background:var(--color-surface);border-radius:18px 18px 0 0;flex-direction:column;gap:14px;width:100%;max-height:70vh;padding:14px 16px 22px;animation:.22s sheet-up;display:flex;overflow-y:auto}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.part-sheet-head{justify-content:space-between;align-items:center;display:flex}.part-sheet-head h3{margin:0;font-size:16px}.suggestions{flex-direction:column;gap:6px;display:flex}.suggestions-head{justify-content:space-between;align-items:baseline;display:flex}.suggestions-head h3{margin:0;font-size:15px}.suggestions-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding:2px 2px 6px;display:flex;overflow-x:auto}.suggestions-strip::-webkit-scrollbar{display:none}.suggestions-strip.is-expanded{flex-wrap:wrap;overflow-x:visible}.suggestion-card{border:1px solid var(--color-border);background:var(--color-surface);width:78px;color:var(--color-text-dim);cursor:pointer;border-radius:12px;flex-direction:column;flex:none;align-items:center;gap:4px;padding:7px 4px 6px;display:flex}.suggestion-card:hover{border-color:var(--color-accent);color:var(--color-text)}.suggestion-thumb{background:radial-gradient(circle at 50% 42%,#2c2c44 0%,#191926 78%);border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;display:flex;overflow:hidden}.suggestion-svg{width:40px;height:50px}.suggestion-label{text-align:center;font-size:10.5px;line-height:1.2}.part-picker{scrollbar-width:none}.part-picker::-webkit-scrollbar{display:none}.part-picker{-webkit-overflow-scrolling:touch;gap:10px;padding:2px 2px 6px;display:flex;overflow-x:auto}.part-tile{border:1px solid var(--color-border);background:var(--color-surface);width:92px;color:var(--color-text-dim);cursor:pointer;border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:4px;padding:10px 6px;display:flex}.part-tile.is-selected{border-color:var(--color-accent);background:var(--color-surface-raised);color:var(--color-text)}.part-tile-thumb{width:56px;height:74px}.part-tile-none{justify-content:center;align-items:center;width:56px;height:74px;font-size:26px;display:flex}.part-tile-label{text-align:center;font-size:11px;line-height:1.2}.color-controls{flex-direction:column;gap:12px;display:flex}.color-slot{flex-direction:column;gap:5px;display:flex}.color-slot-label{color:var(--color-text-dim);font-size:11px}.color-swatches{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.color-swatches::-webkit-scrollbar{display:none}.color-swatch{cursor:pointer;border:2px solid #ffffff24;border-radius:50%;flex:none;width:30px;height:30px}.color-swatch.is-selected{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:1px}.button-primary,.button-secondary,.button-ghost{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:12px 16px;font-size:15px}.button-primary{background:var(--color-accent);color:var(--color-accent-contrast);font-weight:600}.button-secondary{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border)}.button-ghost{color:var(--color-text-dim);background:0 0;border:none;font-size:13px;text-decoration:underline}.button-primary:disabled,.button-secondary:disabled{opacity:.5;cursor:default}.title-field{color:var(--color-text-dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.title-field input{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:10px;padding:12px;font-size:15px}.panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.panel-title{margin:0;font-size:16px}.panel-hint{color:var(--color-text-dim);margin:0;font-size:13px}.panel-error{color:#e07a6a;margin:0;font-size:13px}.flavor-input{resize:vertical;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:inherit;border-radius:10px;padding:12px;font-size:14px}.flavor-result{border-left:3px solid var(--color-accent);background:var(--color-bg);color:#e8e8f0;border-radius:0 10px 10px 0;margin:0;padding:12px 14px;font-size:14px;font-style:italic;line-height:1.55}.order-section{flex-direction:column;gap:12px;display:flex}.order-title{margin:0;font-size:15px}.product-picker{grid-template-columns:1fr 1fr;gap:10px;display:grid}.product-tile{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-dim);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 12px;display:flex}.product-tile.is-selected{border-color:var(--color-accent);background:var(--color-surface-raised);color:var(--color-text)}.product-name{font-size:14px}.product-price{color:var(--color-accent);font-size:16px;font-weight:700}.email-input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:10px;padding:12px;font-size:15px}.order-banner{border:1px solid var(--color-border);background:var(--color-surface-raised);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:10px 16px 0;padding:12px 14px;font-size:14px;display:flex}.order-banner.is-success{border-color:var(--color-accent)}.order-banner button{color:var(--color-text-dim);cursor:pointer;background:0 0;border:none;font-size:14px}.wizard{flex-direction:column;flex:1;min-height:0;display:flex}.stepper{border-bottom:1px solid var(--color-border);gap:8px;margin:0;padding:12px 16px;list-style:none;display:flex}.step{flex:1}.step button{width:100%;color:var(--color-text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 6px;display:flex}.step-index{border:1px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:inline-flex}.step-label{font-size:14px}.step.is-active button{color:var(--color-text);border-bottom-color:var(--color-accent)}.step.is-active .step-index{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.step.is-done .step-index{border-color:var(--color-accent);color:var(--color-accent)}.wizard-step{flex-direction:column;flex:1;gap:20px;min-height:0;padding:18px 16px 16px;display:flex;overflow-y:auto}.wizard-step.is-forge{gap:12px;padding:12px 16px 16px;overflow:hidden}.wizard-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.wizard-nav .button-primary{flex:1}.story-intro{color:var(--color-text-dim);margin:0;font-size:14px;line-height:1.5}.topic-picker{flex-direction:column;gap:8px;display:flex}.topic-label{color:var(--color-text-dim);font-size:13px}.topic-chips{flex-wrap:wrap;gap:8px;display:flex}.topic-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-dim);cursor:pointer;border-radius:999px;flex:none;padding:9px 18px;font-size:14px}.topic-chip.is-selected{border-color:var(--color-accent);background:var(--color-surface-raised);color:var(--color-text);font-weight:600}.finish-preview{border-radius:16px;flex:auto;justify-content:center;min-height:180px;padding:14px 16px}.finish-award{height:100%;min-height:0}.save-feedback{color:var(--color-text);background:#1e1e2ed9;border-radius:8px;align-self:center;padding:6px 10px;font-size:12px}.export-source{width:0;height:0;position:absolute;overflow:hidden}.icon-button{border:1px solid var(--color-border);background:var(--color-surface);width:40px;height:40px;color:var(--color-text);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:17px;display:inline-flex}.icon-button:hover{background:var(--color-surface-raised)}@media (width>=900px){.editor{width:100%;max-width:860px;margin:0 auto;padding:24px 16px}.editor-preview{border-radius:16px}.forge-preview{margin:0}.editor-award{height:min(70vh,560px)}.award-stage{border-radius:16px}.part-sheet-scrim{justify-content:flex-end;align-items:center}.part-sheet{border:1px solid var(--color-border);border-radius:18px;max-width:430px;max-height:82vh;margin-right:24px}}
