/* 项目8沿用的二/三级创作页：暖色大卡片、大字、少按钮。照片变美既有滤镜页不改。 */
.cw-page .scroll{gap:14px;padding-bottom:26px}
.cw-hero{background:linear-gradient(135deg,var(--soft),var(--card));border:1px solid var(--line);border-radius:22px;padding:18px;display:flex;align-items:center;gap:14px}
.cw-hero .ic{width:54px;height:54px;border-radius:18px;background:rgba(196,112,79,.13);display:grid;place-items:center;font-size:27px;flex:none}
.cw-hero .tx{min-width:0;flex:1}.cw-hero b{display:block;font-size:18px;color:var(--ink);line-height:1.4}.cw-hero span{display:block;font-size:14px;color:var(--sub);line-height:1.6;margin-top:3px}
.cw-section{display:flex;flex-direction:column;gap:10px}.cw-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 2px}.cw-sec-head b{font-size:18px;color:var(--ink)}.cw-sec-head span{font-size:14px;color:var(--sub)}
.cw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cw-card{border:1px solid var(--line);background:var(--card);border-radius:20px;overflow:hidden;cursor:pointer;min-width:0;box-shadow:0 3px 10px rgba(52,40,30,.04)}
.cw-card:active{transform:scale(.985)}.cw-card .pic{height:118px;background:var(--soft);overflow:hidden}.cw-card .pic img{width:100%;height:100%;object-fit:cover;display:block}.cw-card .bd{padding:12px 12px 13px}.cw-card b{display:block;font-size:16px;color:var(--ink);line-height:1.4}.cw-card span{display:block;font-size:14px;color:var(--sub);line-height:1.5;margin-top:4px}
.cw-custom{display:flex;align-items:center;gap:12px;border:1.5px dashed var(--accent);background:rgba(196,112,79,.06);border-radius:18px;padding:14px;cursor:pointer}.cw-custom .ic{font-size:23px}.cw-custom b{font-size:16px;color:var(--ink)}.cw-custom span{display:block;font-size:14px;color:var(--sub);margin-top:3px}.cw-custom .arr{margin-left:auto;font-size:22px;color:var(--accent)}
.cw-detail-hero{border-radius:22px;overflow:hidden;background:var(--card);border:1px solid var(--line)}.cw-detail-hero img{width:100%;height:210px;object-fit:cover;display:block}.cw-detail-hero .bd{padding:15px}.cw-detail-hero b{font-size:20px;color:var(--ink)}.cw-detail-hero p{font-size:14px;color:var(--sub);line-height:1.65;margin-top:5px}
.cw-info{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:9px}.cw-info-row{display:flex;align-items:flex-start;gap:10px}.cw-info-row i{font-style:normal;width:24px;height:24px;border-radius:12px;background:var(--soft);display:grid;place-items:center;flex:none;font-size:14px}.cw-info-row b{font-size:14px;color:var(--ink);font-weight:700}.cw-info-row span{display:block;color:var(--sub);font-size:14px;line-height:1.5;margin-top:2px}
.cw-prefs{display:flex;gap:8px;flex-wrap:wrap}.cw-prefs button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:9px 13px;font-family:inherit;font-size:14px;cursor:pointer}.cw-prefs button.on{border-color:var(--accent);color:var(--accent);background:rgba(196,112,79,.08)}
.cw-note{width:100%;min-height:92px;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:12px 13px;font-family:inherit;font-size:15px;color:var(--ink);resize:none;outline:none}.cw-note:focus{border-color:var(--accent)}
.cw-main-btn{min-height:var(--control-h-lg);height:auto;border:none;border-radius:var(--radius-action);background:var(--primary);color:var(--on-primary);font-family:inherit;font-weight:700;font-size:var(--fs-action);cursor:pointer;width:100%;padding:0 18px}.cw-main-btn.secondary{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.cw-actions{display:grid;grid-template-columns:1fr;gap:10px}
.cw-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--chip);padding:5px;border-radius:18px}.cw-mode-tabs button{height:44px;border:none;background:transparent;border-radius:14px;font-family:inherit;font-size:15px;color:var(--sub);font-weight:700;cursor:pointer}.cw-mode-tabs button.on{background:var(--card);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}
/* 时光回忆录 */
.mem-v17-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--chip);padding:5px;border-radius:18px}.mem-v17-tabs button{height:44px;border:0;border-radius:14px;background:transparent;color:var(--sub);font-family:inherit;font-size:15px;font-weight:700}.mem-v17-tabs button.on{background:var(--card);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.mem-v17-tools{display:flex;gap:8px}.mem-v17-tools button{flex:1;height:44px;border:1px solid var(--line);background:var(--card);border-radius:15px;font-family:inherit;color:var(--ink);font-weight:700;font-size:14px}
.mem-year-node{position:relative;padding-bottom:18px}.mem-year-node::before{content:"";position:absolute;left:-23px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);box-sizing:border-box}
.mem-year-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.mem-year-head b{font-size:24px;color:var(--ink)}.mem-year-head span{font-size:14px;color:var(--sub)}
.mem-year-summary{font-size:14px;color:var(--sub);line-height:1.6;margin:0 0 9px}
.mem-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mem-photo-grid button{border:0;padding:0;background:transparent;aspect-ratio:1;border-radius:13px;overflow:hidden;position:relative}.mem-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.mem-photo-grid .more{background:var(--soft);display:grid;place-items:center;color:var(--accent);font-size:15px;font-weight:800}
.mem-v17-empty{padding:28px 18px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--sub);line-height:1.7;background:var(--card)}
.mem-add-v17{display:flex;flex-direction:column;gap:12px}.mem-year-pick{display:grid;grid-template-columns:52px 1fr 52px;gap:8px;align-items:center}.mem-year-pick button{height:46px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-size:24px;color:var(--ink)}.mem-year-pick input{height:46px;border-radius:14px;border:1px solid var(--line);background:var(--card);text-align:center;font-size:20px;font-weight:800;color:var(--ink);font-family:inherit;outline:none}
.mem-add-photo-list{display:flex;flex-direction:column;gap:10px}.mem-add-photo-row{display:grid;grid-template-columns:78px 1fr;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:9px}.mem-add-photo-row img{width:78px;height:78px;border-radius:12px;object-fit:cover}.mem-add-photo-row textarea{width:100%;min-height:78px;border:0;background:var(--soft);border-radius:11px;padding:9px;font-family:inherit;font-size:14px;color:var(--ink);resize:none;outline:none}
@media(max-width:370px){.cw-grid{gap:9px}.cw-card .pic{height:104px}.cw-card b{font-size:15px}.cw-detail-hero img{height:190px}}
.dark-page .cw-card,.dark-page .cw-info,.dark-page .cw-detail-hero,.dark-page .cw-mode-tabs button.on,.dark-page .mem-v17-tabs button.on,.dark-page .mem-v17-tools button,.dark-page .mem-v17-empty{background:var(--dark-card);border-color:var(--dark-line)}
.dark-page .cw-card b,.dark-page .cw-hero b,.dark-page .cw-sec-head b,.dark-page .cw-detail-hero b,.dark-page .cw-info-row b,.dark-page .mem-year-head b{color:var(--dark-ink)}
.dark-page .cw-card span,.dark-page .cw-hero span,.dark-page .cw-detail-hero p,.dark-page .cw-info-row span,.dark-page .mem-year-summary,.dark-page .mem-year-head span{color:var(--dark-sub)}

/* 项目8：日期作品 / 全局任务 / 统一聊天记录 */
.gallery-date-groups{display:flex;flex-direction:column;gap:18px}
.gallery-date-group{display:flex;flex-direction:column;gap:9px}
.gallery-date-title{font-size:18px;font-weight:800;color:var(--ink);padding:2px 2px 0}
.v17-empty-note{padding:22px 16px;border:1px dashed var(--line);border-radius:17px;background:var(--card);color:var(--sub);font-size:14px;line-height:1.65;text-align:center}
.v17-task-summary{padding:13px 15px;border-radius:16px;background:var(--soft);color:var(--ink);font-size:14px;line-height:1.55}
.v17-task-list{display:flex;flex-direction:column;gap:10px}
.v17-task-card{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:14px;display:grid;gap:10px}
.v17-task-card.active{border-color:rgba(196,112,79,.45)}
.v17-task-main{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:start}
.v17-task-main b{font-size:16px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v17-task-main span{font-size:14px;color:var(--accent);font-weight:700;white-space:nowrap}
.v17-task-main small{grid-column:1/-1;color:var(--sub);font-size:14px}
.v17-task-progress{height:5px;border-radius:999px;background:var(--soft);overflow:hidden}.v17-task-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent);min-width:2px}
.v17-task-card>button{height:42px;border:0;border-radius:13px;background:var(--primary);color:var(--on-primary);font:700 14px inherit}
.v17-chat-history{display:flex;flex-direction:column;gap:10px}
.v17-chat-session{border:1px solid var(--line);background:var(--card);border-radius:17px;overflow:hidden}
.v17-chat-session summary{list-style:none;padding:14px 15px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.v17-chat-session summary::-webkit-details-marker{display:none}
.v17-chat-session summary b{font-size:16px;color:var(--ink)}.v17-chat-session summary span{font-size:14px;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v17-chat-session-body{border-top:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:8px;max-height:56dvh;overflow:auto}
.v17-chat-line{max-width:88%;padding:9px 11px;border-radius:14px;background:var(--soft);display:flex;flex-direction:column;gap:3px;align-self:flex-start}.v17-chat-line.user{align-self:flex-end;background:rgba(196,112,79,.10)}
.v17-chat-line b{font-size:14px;color:var(--sub)}.v17-chat-line span{font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-wrap;word-break:break-word}

/* 文字聊天页：不再使用实时语音页上的悬浮键盘。进入文字页不自动聚焦，键盘出现时对话区自身滚动。 */
#p-type .scroll{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding-bottom:max(14px,env(safe-area-inset-bottom))}
#p-type .pagehead{flex:none}
#p-type .ty-chat{flex:1;min-height:120px;overflow:auto;overscroll-behavior:contain;padding:2px 2px 8px}
#p-type .ty-input{flex:none;min-height:82px;max-height:140px}
#p-type .ty-quick,#p-type .ty-kb,#p-type .step-lbl{flex:none}
.ty-cap{max-width:88%;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;gap:3px;align-self:flex-start}
.ty-cap.user{align-self:flex-end;background:var(--soft);border-color:transparent}.ty-cap .who{font-size:14px;color:var(--sub);font-weight:700}.ty-cap .txt{font-size:16px;line-height:1.55;color:var(--ink);white-space:pre-wrap;word-break:break-word}


/* ===== V2｜创作页设计系统收口 ===== */
.cw-main-btn{min-height:var(--control-h-lg);border-radius:var(--radius-action);font-size:var(--fs-action)}
.cw-card,.cw-info,.cw-detail-hero{border-radius:var(--radius-card)}
#p-materials .ux-style-saving{opacity:.58;pointer-events:none}


.cw-custom span{display:block;font-size:15px;color:var(--sub);line-height:1.5;margin-top:3px}
.cw-card .bd span:empty{display:none}


/* Unified pricing: life-memory package chooser */
.life-price-mask{position:fixed;inset:0;z-index:12000;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center;padding:18px}
.life-price-card{width:min(560px,100%);background:var(--card);border-radius:20px;padding:22px;box-shadow:0 16px 50px rgba(0,0,0,.24);color:var(--text-primary)}
.life-price-title{font-size:24px;font-weight:800;margin-bottom:8px}.life-price-note{font-size:16px;line-height:1.6;color:var(--text-secondary);margin-bottom:16px}
.life-price-quality,.life-price-minutes{display:grid;gap:10px;margin:10px 0}.life-price-quality{grid-template-columns:1fr 1fr}.life-price-minutes{grid-template-columns:repeat(3,1fr)}
.life-price-card button{min-height:48px;border:1px solid var(--border-default);border-radius:16px;background:var(--surface-card);font-size:17px;font-weight:700}.life-price-card button.on{border:2px solid var(--brand-primary);background:var(--brand-accent-soft)}.life-price-total{margin:16px 0;padding:14px;border-radius:16px;background:var(--brand-accent-softer);font-size:17px}.life-price-total b{font-size:26px}.life-price-total span{color:var(--text-secondary)}
.life-price-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}.life-price-actions .primary{background:var(--brand-primary);color:var(--text-on-strong);border-color:var(--brand-primary)}
/* 普通视频创作：面向适老用户只暴露三档画质，模型/API由中台管理 */
.video-quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.video-quality-grid button{min-height:112px;border:1px solid var(--border-default);border-radius:16px;background:var(--surface-card);padding:13px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-primary)}
.video-quality-grid button.on{border:2px solid var(--brand-accent);background:var(--brand-primary-soft)}
.video-quality-grid b{font-size:18px}.video-quality-grid span{font-size:15px;font-weight:700}.video-quality-grid small{font-size:14px;line-height:1.35;color:var(--text-secondary)}
.creative-price-summary{margin:14px 0;padding:16px;border-radius:16px;background:var(--brand-primary-soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.creative-price-summary b{font-size:24px}.creative-price-summary span{font-size:14px;color:var(--text-secondary)}
@media(max-width:420px){.video-quality-grid{gap:7px}.video-quality-grid button{min-height:104px;padding:10px 5px}.video-quality-grid b{font-size:17px}}
