:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#f4efe6;background:#15120d}*{box-sizing:border-box}html,body{margin:0;min-width:320px}body{min-height:100vh}button,textarea{font:inherit}button{cursor:pointer}.app-shell{position:relative;min-height:100vh;overflow:hidden;background:#15120d}.background-layer,.background-blur,.background-mask{position:absolute;inset:0}.background-layer{background-image:url(/assets/artisan-bg-Cd0cgr7O.png);background-size:cover;background-position:center;transform:scale(1.02);opacity:.96;filter:brightness(1.04) saturate(1.03)}.background-blur{background-image:url(/assets/artisan-bg-Cd0cgr7O.png);background-size:cover;background-position:center;filter:blur(6px);transform:scale(1.04);opacity:.2}.background-mask{background:linear-gradient(180deg,#120f0b80,#120f0b70 34%,#120f0b9e),radial-gradient(circle at top,rgba(222,182,110,.16),transparent 34%)}.topbar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 28px 0}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,230,184,.22);border-radius:14px;background:#fff5dd14;color:#f4cf90;font-size:20px;font-weight:700;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-copy p{margin:0}.brand-title{color:#fbf5ea;font-size:15px;font-weight:700}.brand-subtitle{margin-top:2px;color:#f4e9d78f;font-size:12px}.topbar-tag{padding:10px 14px;border:1px solid rgba(255,231,190,.14);border-radius:999px;background:#15120d52;color:#f4e9d7cc;font-size:13px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:1120px;margin:0 auto;padding:64px 24px 48px}@media(min-width:1340px){.hero{margin-right:380px}}.hero-content{text-align:center}.hero-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid rgba(255,229,182,.18);border-radius:999px;background:#fff9ee14;color:#f2cd92;font-size:13px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero h1{max-width:900px;margin:22px auto 0;color:#fff8ec;font-size:clamp(40px,7vw,68px);line-height:1.08}.composer-panel{max-width:920px;margin:30px auto 0;text-align:left}.composer-box{padding:18px;border:1px solid rgba(255,229,187,.16);border-radius:28px;background:linear-gradient(180deg,#1d1914c7,#191611b3),#14110db8;box-shadow:0 24px 70px #05040347,inset 0 1px #fff5e014;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.composer-input{width:100%;min-height:132px;padding:16px 18px;border:0;resize:none;border-radius:20px;background:#fffaf00a;color:#fff8ee;outline:none;line-height:1.75}.composer-input::placeholder{color:#f1e1c670}.composer-input:focus{box-shadow:inset 0 0 0 1px #ffe3ad2e}.composer-actions{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-top:16px}.example-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.example-title{color:#f4e7d29e;font-size:13px}.example-pill{padding:10px 14px;border:1px solid rgba(255,232,191,.12);border-radius:999px;background:#fff7e80f;color:#f7ead3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.generate-button{flex:0 0 auto;min-width:144px;height:48px;padding:0 22px;border:0;border-radius:16px;background:linear-gradient(135deg,#e6b35f,#bd7f27);color:#23180c;font-size:16px;font-weight:700;box-shadow:0 14px 30px #a06c1f38}.generate-button:disabled{opacity:.7;cursor:wait}.status-message{margin:14px 4px 0;font-size:14px;line-height:1.7}.loading-message{color:#f8e7c9d1}.error-message{color:#ffb7a8}.generation-progress{margin-top:18px;padding:16px;border:1px solid rgba(255,232,191,.1);border-radius:18px;background:#fff7e80d}.progress-header{display:flex;justify-content:space-between;gap:16px;color:#f8ecd7d6;font-size:14px}.progress-track{overflow:hidden;height:8px;margin-top:12px;border-radius:999px;background:#fff7e814}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#e6b35f,#f5d28e,#bd7f27);box-shadow:0 0 18px #e6b35f61;transition:width .18s ease}.step-list{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}.step-list li{display:flex;align-items:center;gap:10px;color:#f8ecd77a;font-size:14px;transition:color .2s ease,transform .2s ease}.step-list li.is-active{color:#fff4df;transform:translate(2px)}.step-list li.is-done{color:#f8ecd7b8}.step-dot{width:8px;height:8px;border-radius:999px;background:#f8ecd747}.step-list li.is-active .step-dot{background:#e6b35f;box-shadow:0 0 0 5px #e6b35f29}.step-list li.is-done .step-dot{background:#e6b35fad}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:920px;margin:0 auto}.capability-card{padding:20px 20px 22px;border:1px solid rgba(255,229,188,.12);border-radius:22px;background:linear-gradient(180deg,#1e1a1594,#15120d85),#15120d75;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.capability-title{margin:0;color:#fff4e1;font-size:17px;font-weight:700}.capability-text{margin:10px 0 0;color:#f8ecd7bd;line-height:1.75}.result-panel{max-width:1040px;margin:8px auto 0;padding:24px;border:1px solid rgba(255,229,188,.12);border-radius:28px;background:linear-gradient(180deg,#1e1a15b8,#15120dad),#15120d75;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.result-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.result-eyebrow{margin:0;color:#f1d5a2db;font-size:13px}.result-header h2{margin:8px 0 0;color:#fff6e8;font-size:28px}.result-model{padding:8px 12px;border-radius:999px;background:#fff7e814;color:#f9e7c4d6;font-size:13px}.result-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.secondary-button{min-height:34px;padding:8px 12px;border:1px solid rgba(255,229,188,.12);border-radius:999px;background:#fff7e80f;color:#f9e7c4e0;font-size:13px}.result-body{display:grid;grid-template-columns:minmax(0,1.1fr) 320px;gap:22px;margin-top:22px}.result-image-wrap{position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(255,229,188,.1);background:#fff7e80a}.result-image{display:block;width:100%;height:100%;object-fit:cover}.image-download-button{position:absolute;right:14px;bottom:14px;min-height:38px;padding:9px 14px;border:1px solid rgba(255,229,188,.18);border-radius:999px;background:#15120db8;color:#fff4df;font-size:13px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.result-meta{padding:18px;border-radius:22px;background:#fff7e80d;border:1px solid rgba(255,229,188,.08)}.meta-label{margin:0;color:#f1d5a2d1;font-size:13px}.meta-label-spaced{margin-top:18px}.meta-text{margin:10px 0 0;color:#fff4df;font-size:18px;line-height:1.8}.meta-tip{margin:18px 0 0;color:#f8ecd7ad;line-height:1.8}.result-sections{display:grid;gap:14px;margin-top:12px}.result-section{padding:14px;border:1px solid rgba(255,229,188,.08);border-radius:16px;background:#fff7e80a}.result-section h3{margin:0;color:#f6d99f;font-size:14px}.result-section p{margin:8px 0 0;color:#f8ecd7bd;font-size:14px;line-height:1.75}.refine-panel{margin-top:22px;padding:20px;border:1px solid rgba(255,229,188,.1);border-radius:24px;background:#fff7e80b}.refine-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.refine-header h3{margin:8px 0 0;color:#fff6e8;font-size:22px}.refine-input{width:100%;min-height:96px;margin-top:16px;padding:14px 16px;border:1px solid rgba(255,229,188,.1);resize:none;border-radius:18px;background:#fffaf00a;color:#fff8ee;outline:none;line-height:1.7}.refine-input::placeholder{color:#f1e1c66b}.refine-input:focus{box-shadow:inset 0 0 0 1px #ffe3ad29}.refine-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px}.refine-button{min-width:132px;height:44px;font-size:15px}.refine-progress{margin-top:16px}.history-panel{margin-top:16px;padding:16px;border:1px solid rgba(255,229,188,.08);border-radius:18px;background:#15120d47}.history-panel ol{display:grid;gap:8px;margin:10px 0 0;padding-left:20px;color:#f8ecd7bd;line-height:1.7}.history-list-panel{position:fixed;z-index:3;top:116px;right:28px;bottom:28px;width:330px;overflow:hidden;padding:20px;border:1px solid rgba(255,229,188,.1);border-radius:24px;background:linear-gradient(180deg,#1e1a1594,#15120d85),#15120d75;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:width .2s ease,padding .2s ease}.history-list-panel.is-collapsed{width:160px;bottom:auto;padding:14px}.history-list-header{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:flex-start}.history-panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.history-list-header h2{margin:8px 0 0;color:#fff6e8;font-size:22px}.history-list-header>div{min-width:0}.history-list-panel.is-collapsed .history-list-header{display:grid;grid-template-columns:1fr}.history-list-panel.is-collapsed .history-list-header h2{font-size:28px}.history-list-panel.is-collapsed .history-panel-actions{justify-content:stretch;margin-top:10px}.history-list-panel.is-collapsed .secondary-button{width:100%}.history-list{display:grid;gap:12px;margin-top:16px;max-height:calc(100vh - 250px);overflow-y:auto;padding-right:4px}.history-card{display:grid;gap:6px;padding:14px;border:1px solid rgba(255,229,188,.08);border-radius:16px;background:#fff7e80a;color:#fff4df;text-align:left}.history-card span{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.history-card small{overflow:hidden;color:#f8ecd799;font-size:12px;text-overflow:ellipsis;white-space:nowrap}@media(max-width:860px){.topbar{padding:18px 16px 0}.topbar-tag{display:none}.hero{padding:44px 16px 36px}.composer-actions{flex-direction:column;align-items:stretch}.generate-button{width:100%}.capability-grid{grid-template-columns:1fr}.result-header,.result-body,.refine-header,.refine-actions,.history-list-header,.result-actions{display:grid;grid-template-columns:1fr}.history-list-panel{position:relative;inset:auto;z-index:2;width:auto;margin:0 16px 36px}.history-list-panel.is-collapsed{width:auto;padding:14px}.history-list{grid-template-columns:1fr;max-height:none;overflow:visible}}
