:root{--ink:#302c28;--muted:#877d73;--line:#e9e1d7;--accent:#d7653f;--accent-dark:#b84c2b;--soft:#faeee3;--bg:#fff9f3;--white:#fffefd;--green:#558067}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;height:100dvh;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:11px;background:var(--white);padding:9px 14px;transition:background .15s,border-color .15s}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){border-color:#cba994;background:#fff8f2}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #efbb9f;outline-offset:3px}input,textarea,select{font-size:16px}a{color:var(--accent-dark)}[hidden]{display:none!important}.primary{color:white;background:var(--accent);border-color:var(--accent);font-weight:600}.primary:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.primary span{font-weight:400;opacity:.9}.secondary{font-size:13px}.quiet{border:0;background:transparent;color:var(--muted);font-size:12px;padding:7px 10px}.icon-button{width:36px;height:36px;padding:0;display:inline-grid;place-items:center;font-size:18px}.grow{flex:1}.muted{color:var(--muted)}.fine-print{font-size:11px!important;color:var(--muted);margin:12px 0 0!important}.error-text{color:#ac4033}.success-text{color:var(--green)}
.top{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 25px;background:var(--white)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:650;font-size:16px}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;background:var(--soft);border-radius:13px;color:var(--accent);font-size:28px}.brand small{font-size:11px;font-weight:400;display:block;color:var(--muted);margin-top:1px}.classic-link{font-size:12px;text-decoration:none;color:var(--muted)}#points{white-space:nowrap;font-size:12px;border:1px solid var(--line);border-radius:20px;padding:5px 11px}#history-toggle{display:none}.workspace{display:grid;grid-template-columns:226px minmax(0,1fr);height:calc(100dvh - 72px);max-width:1440px;margin:auto}.history-backdrop{display:none}aside{display:flex;flex-direction:column;gap:9px;min-height:0;padding:24px 16px;border-right:1px solid var(--line);background:#faf4ed}aside>button{width:100%;font-size:13px}aside h2{font-size:11px;font-weight:500;letter-spacing:1px;color:var(--muted);margin:20px 9px 0}#sessions{overflow-y:auto;min-height:0;flex:1}.session{width:100%;text-align:left;border-color:transparent;background:transparent;display:grid;gap:3px;margin:3px 0;padding:9px 11px}.session span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.session small{font-size:10px;color:var(--muted)}.session.on{background:var(--white);border-color:var(--line)}.history-note{font-size:11px;color:var(--muted);margin:12px 9px 0}main{min-height:0;min-width:0;display:flex;flex-direction:column;position:relative;background:var(--bg)}.conversation-head{display:flex;align-items:center;gap:5px;padding:19px 30px 12px;max-width:900px;width:100%;margin:auto}.conversation-head>div{flex:1;min-width:0}.conversation-head h1{font-size:16px;font-weight:650;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-head p{color:var(--muted);font-size:11px;margin:1px 0 0}.flow-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-width:900px;width:100%;padding:0 30px 15px;margin:0 auto;border-bottom:1px solid var(--line);font-size:11px;color:#a49a90}.flow-steps li{display:flex;align-items:center;gap:7px}.flow-steps span{display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:21px;height:21px;font-size:10px}.flow-steps .current{color:var(--accent-dark);font-weight:600}.flow-steps .current span{color:white;background:var(--accent);border-color:var(--accent)}.flow-steps .done{color:var(--green)}.flow-steps .done span{border-color:#d0ddcf;background:#f0f5ed}.chat-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#dfd1c3 transparent}.chat-scroll:focus{outline:none}.chat-content{max-width:800px;padding:24px 30px 22px;margin:auto}.messages{display:grid;gap:22px}.message{min-width:0;max-width:92%;justify-self:start;width:fit-content}.message.user{justify-self:end;max-width:80%}.message-name{font-size:10px;color:var(--muted);margin:0 0 5px 2px}.message.user .message-name{text-align:right;margin-right:3px}.bubble{padding:12px 16px;border-radius:3px 16px 16px;background:var(--white);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.user .bubble{background:#eee1d3;border-color:transparent;border-radius:16px 3px 16px 16px}.message-photos{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.message-photos button{width:74px;height:74px;padding:2px;background:white}.message-photos img{width:100%;height:100%;object-fit:contain}.typing{display:flex;align-items:center;gap:4px;color:var(--muted)}.typing i{width:5px;height:5px;border-radius:50%;background:#bc9d86;animation:typing-dot 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.typing span{font-size:11px;margin-left:7px}@keyframes typing-dot{50%{opacity:.3;transform:translateY(-3px)}}
.work-card{border:1px solid var(--line);border-radius:18px;background:var(--white);margin-top:22px;padding:22px;overflow:hidden;box-shadow:0 4px 20px #55412e04}.work-card h2{font-size:17px;line-height:1.5;margin:0 0 10px;font-weight:650}.work-card p{font-size:12px;color:var(--muted);margin:8px 0 14px}.work-card .card-eyebrow{font-size:10px;letter-spacing:.8px;color:var(--muted);margin-bottom:6px}.welcome-symbol{font-size:31px;color:var(--accent);margin-bottom:8px}.phase-upload{background:linear-gradient(130deg,#fffdf9,#fcf0e3)}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:17px}.next-action{font-size:13px}.reference-strip{display:flex;align-items:center;gap:9px;margin:12px 0;font-size:12px;color:var(--muted)}.reference-strip .image-button{width:52px;height:52px;flex:none;border:1px solid var(--line);border-radius:12px}.image-button{padding:0;background:transparent;display:block;overflow:hidden;border:0}.image-button img{display:block;width:100%;height:100%;object-fit:contain}.character-preview{width:230px;height:230px;max-width:100%;margin:15px auto;background:repeating-conic-gradient(#f6f0e9 0% 25%,white 0% 50%) 50%/16px 16px;border-radius:15px}.edit-preview{width:150px;height:150px;margin:12px auto}.cell-preview{width:300px;height:300px;max-width:100%;margin:10px auto;background:#fff;border-radius:15px}.work-card blockquote{border-left:3px solid #dfb59b;background:#fcf5ee;margin:12px 0;padding:11px 13px;font-size:13px;overflow-wrap:anywhere}.brief-summary{margin:12px 0;display:grid;gap:9px;font-size:12px}.brief-summary>div{display:flex;gap:13px}.brief-summary dt{color:var(--muted);flex:none;min-width:28px}.brief-summary dd{margin:0;overflow-wrap:anywhere}.caption-summary{line-height:1.9}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.result-heading select{max-width:48%}.grid9{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:420px;margin:12px auto}.cell{position:relative;min-width:0;padding:4px;background:repeating-conic-gradient(#f4ede5 0% 25%,white 0% 50%) 50%/14px 14px}.cell img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.cell span{position:absolute;bottom:5px;left:6px;background:#ffffffdb;border-radius:5px;padding:0 4px;font-size:10px}.quick-replies{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.quick-replies button{font-size:12px;border-radius:20px;background:transparent;padding:6px 12px}.inline-recommendations{max-width:440px;margin-top:10px}.styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.style-card{min-width:0;display:grid;gap:6px;padding:6px;font-size:12px;text-align:center}.style-card img{width:100%;aspect-ratio:1;object-fit:contain;background:white;border-radius:7px}.style-card span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.style-card.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.composer{flex:none;width:100%;max-width:800px;margin:0 auto;padding:10px 30px calc(12px + env(safe-area-inset-bottom));background:var(--bg)}.input-shell{display:flex;align-items:flex-end;gap:9px;padding:8px;border:1px solid #dbc9b8;border-radius:17px;background:var(--white);box-shadow:0 4px 16px #71502a05}.input-shell:focus-within{border-color:#c88e6a;box-shadow:0 0 0 3px #edc3a81f}.input-shell textarea{border:0;background:transparent;outline:none;flex:1;min-width:0;resize:none;line-height:1.5;padding:7px 0;max-height:120px;min-height:38px}.input-shell .icon-button{border:0;background:#f7f0e7;color:var(--muted);flex:none}.input-shell .primary{flex:none;padding:8px 14px;font-size:13px}.composer-footer{display:flex;gap:10px;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:7px;padding:0 2px}.composer-footer>span:last-child{white-space:nowrap}.edit-context{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:var(--soft);font-size:12px;border-radius:10px 10px 0 0}.edit-context button{padding:0 5px;background:transparent;border:0}.send-error{color:#ad4937;font-size:12px;padding:5px 1px}.send-error button{color:inherit;border:0;background:transparent;text-decoration:underline;padding:3px}.new-update{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);font-size:12px;border-radius:20px;box-shadow:0 3px 15px #76583a22;z-index:2}.chat-scroll.dragging{outline:2px dashed var(--accent);outline-offset:-6px;background:var(--soft)}
.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.progress-heading h2{margin:0}.progress-time{font-variant-numeric:tabular-nums;font-size:11px;color:var(--muted);white-space:nowrap}.generation-track{height:9px;position:relative;background:#eee3d8;overflow:hidden;border-radius:15px;margin:18px 0 11px}.generation-fill,.generation-active{position:absolute;top:0;bottom:0;left:0;border-radius:15px}.generation-fill{background:var(--accent);transition:width .4s}.generation-active{width:25%;background:linear-gradient(90deg,#e9b494,#d7653f,#e9b494);background-size:200% 100%;animation:generation-pulse 1.5s linear infinite}.generation-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;font-size:10px;color:var(--muted)}.generation-steps .done{color:var(--green)}.generation-steps .current{color:var(--accent-dark);font-weight:600}@keyframes generation-pulse{to{background-position:200% 0}}
select{padding:7px;border:1px solid var(--line);border-radius:9px;background:white;font-size:12px}dialog{color:var(--ink);background:var(--bg);width:min(92vw,620px);max-height:85dvh;border:1px solid var(--line);border-radius:20px;padding:20px}dialog::backdrop{background:#2b221955;backdrop-filter:blur(2px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}#picker-content{overflow-wrap:anywhere}.search{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px;background:white}.filters{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.filters button{font-size:12px;padding:6px 11px}.filters .on{background:var(--ink);color:white}.project-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:8px 0}.project-row img{width:54px;height:54px;object-fit:contain;flex:none}.project-row small{display:block;color:var(--muted);font-size:11px}.photos{display:flex;gap:10px;flex-wrap:wrap}.photos .image-button{width:110px;height:110px;border:1px solid var(--line);border-radius:12px}.attachment-option{display:grid;gap:5px;text-align:left;width:100%;padding:17px;margin:10px 0}.attachment-option span{font-size:12px;color:var(--muted)}#zoom{max-width:800px;padding:12px}#zoom-img{display:block;max-width:100%;max-height:76dvh;margin:auto}.zoom-close{float:right}.login{max-width:430px;margin:8vh auto;padding:25px;text-align:center;max-height:80dvh;overflow:auto}.login>.brand-mark{width:60px;height:60px;font-size:42px;border-radius:20px}.login h1{font-size:26px;margin:22px 0 10px}.login p,.login small{color:var(--muted);font-size:13px}.login input{display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;margin:25px 0 12px}.login .primary{width:100%;padding:13px}#login-error{color:#ad4937}#notice{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);max-width:90vw;background:#302c28;color:white;border-radius:12px;padding:10px 16px;opacity:0;pointer-events:none;z-index:30;font-size:13px}#notice.show{opacity:1}
@media(max-width:760px){.top{height:62px;padding:0 12px;gap:9px}.brand{gap:7px;font-size:14px}.brand-mark{width:29px;height:29px;font-size:22px;border-radius:9px}.brand small{display:none}.classic-link{font-size:11px}#points{font-size:10px;padding:4px 7px}#history-toggle{display:grid;flex:none;width:30px;height:30px;font-size:15px}.workspace{height:calc(100dvh - 62px);display:block}main{height:100%}aside{display:none;position:fixed;left:0;top:62px;bottom:0;width:255px;z-index:12;box-shadow:15px 0 40px #3027201a}aside.open{display:flex}.history-backdrop{display:block;position:fixed;inset:62px 0 0;background:#30272055;border:0;border-radius:0;z-index:11}.conversation-head{padding:12px 14px 10px}.conversation-head h1{font-size:14px}.conversation-head p{font-size:10px}.conversation-head .quiet{font-size:11px;padding:5px 7px}.flow-steps{padding:0 14px 11px;font-size:10px}.flow-steps li{gap:5px}.flow-steps span{width:18px;height:18px;font-size:9px}.chat-content{padding:19px 14px 15px}.messages{gap:18px}.message{max-width:95%}.message.user{max-width:85%}.bubble{padding:11px 13px;font-size:13px}.work-card{padding:16px;border-radius:15px;margin-top:18px}.work-card h2{font-size:15px}.work-card p{font-size:12px}.character-preview{width:190px;height:190px}.card-actions{gap:7px}.next-action{padding:10px 13px}.secondary{font-size:12px;padding:8px 11px}.grid9{gap:6px}.composer{padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.input-shell{padding:6px;gap:7px;border-radius:14px}.composer-footer{font-size:9px}.composer-footer>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-shell textarea{min-height:36px;padding:6px 0}.input-shell .primary{padding:8px 12px}.progress-heading{align-items:flex-start}.progress-heading h2{font-size:14px}.progress-time{font-size:10px}.generation-steps{font-size:9px}.new-update{bottom:113px}dialog{padding:17px}.styles{gap:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.photo-save-guide{text-align:center;margin:5px 0 16px}.photo-save-guide b{font-size:17px}.photo-save-guide p{font-size:13px;color:var(--muted);margin:8px 0;line-height:1.8}.photo-save-image{display:block;width:auto;height:auto;max-width:100%;max-height:48dvh;margin:0 auto;border-radius:10px;background:repeating-conic-gradient(#f4ede5 0% 25%,white 0% 50%) 50%/16px 16px;-webkit-touch-callout:default;user-select:auto;-webkit-user-select:auto}.original-link{display:inline-block;border:1px solid var(--line);border-radius:11px;padding:9px 14px;background:white;text-decoration:none;font-size:13px;color:var(--ink)}
