/* The conversation owns the available viewport; only messages scroll. */
.content:has(#home.has-generation-chat.active){height:calc(100dvh - 68px);min-height:0;padding:0;overflow:hidden}
#home.has-generation-chat.active{height:100%;min-height:0;margin:0;padding:20px 32px 14px;box-sizing:border-box;overflow:hidden}
#home.has-generation-chat .home-center{height:100%;min-height:0;padding:0;gap:12px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;align-items:stretch}
#home.has-generation-chat .generation-chat{height:100%;max-width:1000px;min-height:0}
#home.has-generation-chat .generation-composer-dock{width:100%;max-width:900px;align-self:end;gap:6px;padding-bottom:env(safe-area-inset-bottom)}
#home.has-generation-chat .presentation-composer{max-width:none;box-shadow:0 8px 30px #2522380b;border-radius:18px}
#home.has-generation-chat .presentation-composer .prompt-box{padding:12px 16px 0}
#home.has-generation-chat .presentation-composer #prompt{height:52px;min-height:40px;max-height:100px;font-size:14px}
#home.has-generation-chat .presentation-composer .workbench-footer{min-height:46px;padding:8px 12px 12px}
#home.has-generation-chat #uploadTray:not(.has-files){display:none}
#home.has-generation-chat #uploadTray.has-files{max-height:100px;overflow-y:auto}
#home.has-generation-chat .generation-composer-dock:not(:has(#uploadTray.has-files)) .cloud-home-save{display:none}
.chat-attach{display:none!important}#home.has-generation-chat .chat-attach{display:inline-flex!important;padding:0 8px!important}
.generation-message.message-enter,.chat-activity li.message-enter{animation:message-arrive .3s cubic-bezier(.2,.8,.2,1) both}
.status-enter{animation:status-arrive .2s ease-out}
.generation-composer-dock button{transition:transform .16s,background .16s,box-shadow .16s,opacity .16s}
.generation-composer-dock button:not(:disabled):active{transform:scale(.94)}
#home.has-generation-chat #generateBtn:disabled{position:relative;opacity:.75}
#home.has-generation-chat #generateBtn:disabled svg{opacity:0}
#home.has-generation-chat #generateBtn:disabled:after{content:'';position:absolute;width:13px;height:13px;inset:0;margin:auto;border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:activity-spin .8s linear infinite}
.chat-activity{margin-left:40px;max-width:760px;border:1px solid #e8e8ee;border-radius:14px;padding:14px 16px;background:#ffffffb5}
.chat-activity-head{display:flex;align-items:center;gap:8px;font-size:12px;color:#454550;margin-bottom:12px}.activity-counter{margin-left:auto;color:#92929d;font-size:11px;font-weight:400}.activity-live-dot{width:6px;height:6px;background:#8d91a1;border-radius:50%}.is-running .activity-live-dot{background:#8a69e7;animation:activity-pulse 1.6s ease-in-out infinite}
.chat-activity-list{padding:0;margin:0;list-style:none;display:flex;flex-direction:column}.chat-activity-list li{display:flex;gap:10px;align-items:flex-start;position:relative;padding:8px 0;font-size:12px;min-width:0}.activity-state{width:17px;height:17px;flex:0 0 17px;display:grid;place-items:center;border-radius:50%;background:#edf5ef;color:#438359;font-size:10px;margin-top:1px}.chat-activity-list [data-state=running] .activity-state{background:transparent;border:2px solid #e7dff8;border-top-color:#8a69e7;animation:activity-spin .9s linear infinite}.chat-activity-list [data-state=failed] .activity-state{color:#ac742f;background:#fff2df}
.activity-copy{min-width:0;flex:1}.activity-copy b{font-weight:500;line-height:1.6;display:block;color:#484854}.activity-copy span{display:block;font-size:11px;color:#94949f;line-height:1.6;margin-top:2px;overflow-wrap:anywhere}.activity-time{font-variant-numeric:tabular-nums;font-size:10px;line-height:20px;color:#a1a1ab}
.chat-result-button{display:block;width:280px;max-width:100%;margin-top:14px;border:1px solid #e3dfed;border-radius:12px;background:#fff;overflow:hidden;padding:0;text-align:left;cursor:pointer;transition:transform .18s,box-shadow .18s}.chat-result-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #30255112}.chat-result-cover{aspect-ratio:16/9;background:#f7f7fa;pointer-events:none}.chat-result-cover svg{width:100%;height:100%}.chat-result-button>span{display:block;padding:12px 14px;color:#7352c7;font-size:12px}
.real-recent{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;border-radius:12px}.real-recent:hover{transform:translateY(-3px);box-shadow:0 8px 24px #27224a13;border-color:#c6b7e7}.real-recent:focus-visible{outline:2px solid #8a69e7;outline-offset:3px}.real-recent:active{transform:translateY(0)}.real-recent .deck-preview{pointer-events:none}.recent-open-hint{display:block;color:#8562cf!important;font-size:10px!important;margin-top:5px}.real-recent.is-opening{opacity:.7;cursor:progress}.real-recent.is-opening .recent-open-hint{animation:activity-pulse 1.3s ease-in-out infinite}
@keyframes message-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes status-arrive{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes activity-spin{to{transform:rotate(360deg)}}@keyframes activity-pulse{50%{opacity:.35}}
@media(max-width:700px){#home.has-generation-chat.active{padding:12px 14px 10px}.chat-activity{margin-left:30px;padding:10px 12px}.activity-time{display:none}.generation-chat-head{padding-bottom:10px}#home.has-generation-chat .home-center{gap:8px}}
@media(prefers-reduced-motion:reduce){.generation-message.message-enter,.chat-activity li.message-enter,.status-enter,.is-running .activity-live-dot,.chat-activity-list [data-state=running] .activity-state,#home.has-generation-chat #generateBtn:disabled:after,.real-recent.is-opening .recent-open-hint{animation:none}.generation-composer-dock button,.chat-result-button,.real-recent{transition:none}}
