/* DSH Remote × 蓝色大肥鱼（DeepSeek 娘）皮肤包 · 亮色系角色皮肤
 * ---------------------------------------------------------------------------
 * 角色：蓝发鲸鱼娘（蓝色大肥鱼）——深蓝渐变长发、白色荷叶边发带、鲸鳍耳、
 * 藏青连衣裙 + 白围裙、鲸尾、金色小星星。素材由用户提供的角色立绘裁切；
 * 小图标与背景瓦片均取自同一立绘，保证整套皮肤是同一个角色。
 *
 * 配色变量在 public/theme-vars.css 的 html[data-theme="fish"] 块；本文件只放
 * 装饰图标、吉祥物、圆角与动效，不改任何布局结构，也不影响其他主题。
 *
 * 新建同类皮肤（模板用法）：
 *   1. 复制 public/skins/blue-fish/ 为 public/skins/<name>/，替换 png 素材与装饰规则；
 *   2. 在 public/theme-vars.css 增加 html[data-theme="<name>"] 变量块（含 color-scheme）；
 *   3. 在 public/theme.js 的 VALID 登记 <name>，并同步三端 THEME_META / i18n 标签
 *      （public/app.js、public/admin.js、public/desktop/desktop.js 及对应 HTML）；
 *   4. 四端 HTML 首帧脚本条件追加 &&t!=='<name>'，并引入本皮肤样式表；
 *   5. scripts/sync-plugin.mjs 的 dirs 已包含 skins，无需逐文件登记。
 *
 * 资源（均为透明留白、底部渐隐，不会被裁边）：
 *   icon.png        元气笑（默认小图标）      icon-star.png  星星眼
 *   icon-wink.png   眨眼（文件入口/toast）    icon-sleep.png 困困（会话卡/底纹）
 *   icon-smile.png  微笑（统计卡/弹窗标题）   icon-blush.png 害羞（设置卡/空状态）
 *   face.png        头部+发带+鲸鳍耳（品牌位） mascot.png     全身立绘（空状态）
 *   pattern.png     背景表情瓦片（star/sleep/blush 混排）
 */


/* 晴空海湾：淡底纹、海浪留白、蓝白内容卡；角色不再反复盖在正文后。 */
html[data-theme="fish"] {
  --dsr-radius: 18px; --fish-paper: #F5FBFF; --fish-card: #FFFFFF; --fish-line: #CEDFEF;
  --fish-soft: #EDF5FF; --fish-shadow: rgba(37, 71, 117, .065);
  --fish-nav-chat: url("icon.png"); --fish-nav-files: url("icon-wink.png"); --fish-nav-more: url("icon-star.png");
  background-color: var(--fish-paper);
  background-image: radial-gradient(ellipse at 100% 0, #DDEFFF, transparent 58%), radial-gradient(ellipse at 0 100%, #DCF6FF, transparent 62%), linear-gradient(145deg, #FFFFFF, var(--fish-paper));
  background-attachment: fixed;
}
html[data-theme="fish"] body { background: transparent; isolation: isolate; }
html[data-theme="fish"] body::after {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: url("pattern.png") left top / 520px 520px repeat; opacity: .32;
  mask-image: linear-gradient(130deg, #000, transparent 50%, rgba(0, 0, 0, .55));
}
html[data-theme="fish"] body::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image: url("sparkles.svg"), radial-gradient(ellipse at 100% 100%, transparent 59%, #9DD8F455 59.4% 59.7%, transparent 60.1%), radial-gradient(ellipse at 100% 100%, transparent 65%, #ADD5EC55 65.4% 65.7%, transparent 66.1%);
  background-size: 480px 720px, 640px 300px, 740px 340px; background-position: center top, right -180px bottom 30px, right -180px bottom 30px; background-repeat: no-repeat;
}

/* 品牌与首页立绘有各自留白，连接入口不再被全身图压住。 */
html[data-theme="fish"] :is(.brand-dot, .ds-logo, .plugin-brand-mark) { width: 35px; height: 30px; flex: none; border-radius: 0; background: url("face.png") center / contain no-repeat; box-shadow: none; }
html[data-theme="fish"] .ds-logo { font-size: 0; line-height: 0; overflow: hidden; }
html[data-theme="fish"] :is(.topbar, .ds-topbar) { background: #F8FCFF; border-color: var(--fish-line); box-shadow: inset 0 -2px #B8DEF3; }
html[data-theme="fish"] .workflow-start { background: none; border: 0; border-radius: 0; box-shadow: none; }
html[data-theme="fish"] .workflow-start::after { content: none; }
html[data-theme="fish"] .workflow-start .workflow-page-head::before { content: 'BLUE WHALE / LITTLE OCEAN'; display: block; margin-bottom: 9px; color: var(--dsr-muted); font: 9px/1.5 ui-monospace, monospace; letter-spacing: .08em; }
html[data-theme="fish"] .workflow-page-head h1 { color: var(--dsr-text); font-weight: 750; letter-spacing: -.03em; }
html[data-theme="fish"] .workflow-page-head h1::before { content: ''; display: inline-block; width: 30px; height: 27px; margin-right: 9px; vertical-align: -5px; background: url("icon-star.png") center / contain no-repeat; pointer-events: none; }
html[data-theme="fish"] .workflow-start .workflow-page-head h1 { position: relative; box-sizing: border-box; min-height: 64px; padding-right: 100px; display: flex; align-items: center; font-size: clamp(20px, 6vw, 24px); }
html[data-theme="fish"] .workflow-start .workflow-page-head h1::before { flex: none; }
html[data-theme="fish"] .workflow-start .workflow-page-head h1::after { content: ''; position: absolute; right: 0; top: -13px; width: 86px; height: 86px; border-radius: 48% 52% 46% 54%; background: url("mascot.png") center / contain no-repeat, #EDF6FF; box-shadow: 0 0 0 4px #FFFFFFC7, 3px 4px 0 #F8DCE8; pointer-events: none; }
html[data-theme="fish"] :is(.section-head > span:first-child, .overview-section-head > span:first-child, .workflow-settings-section > h2, .workflow-more-group > h2, .workflow-attention > h2, .ds-section-label)::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; vertical-align: 2px; border-radius: 50%; background: #72B8DF; pointer-events: none; }

/* 内容独立为白卡，主要操作为深海蓝；诊断与工作区选择保持中性。 */
html[data-theme="fish"] .workflow-v8 :is(.ds-main, #view-home .workflow-start, .queue-dock, .session-pending, .history-wrap) { background: transparent; }
html[data-theme="fish"] :is(.workflow-connection, .home-doctor, .workspace-nav, .workflow-settings-card, .settings-group, .stat, .teams-card, .task-card, .ext-toolbar) { background: var(--fish-card); border: 1px solid var(--fish-line); border-radius: 16px; box-shadow: 0 3px 12px var(--fish-shadow); }
html[data-theme="fish"] .home-doctor > span { color: var(--dsr-text); }
html[data-theme="fish"] .home-doctor > b { color: var(--dsr-muted); }
html[data-theme="fish"] .workflow-v8 :is(#btn-new-session.workflow-new-session, .ds-new-session #btn-new-session) { background: var(--dsr-accent); color: var(--dsr-on-accent); border-color: var(--dsr-accent); border-radius: 14px; font-weight: 650; box-shadow: 0 5px 14px #2F52D022; background-image: radial-gradient(circle at 95% 135%, #FFFFFF18 0 52px, transparent 53px), radial-gradient(circle at 100% 100%, #FFFFFF10 0 90px, transparent 91px); }
html[data-theme="fish"] .workflow-v8 :is(#btn-new-session.workflow-new-session, .ds-new-session #btn-new-session) { position: relative; }
html[data-theme="fish"] .workflow-v8 :is(#btn-new-session.workflow-new-session, .ds-new-session #btn-new-session)::after { content: ''; position: absolute; right: 12px; top: 8px; width: 34px; height: 29px; border: 1px solid #FFFFFF88; border-radius: 11px; background: url("icon-wink.png") center / auto 26px no-repeat, #FFFFFFEB; transform: rotate(5deg); pointer-events: none; }
html[data-theme="fish"] .workflow-v8 .session-swipe { margin-bottom: 8px; border: 1px solid var(--fish-line); border-radius: 15px; background: transparent; box-shadow: 0 2px 8px var(--fish-shadow); }
html[data-theme="fish"] .workflow-v8 .session-card { background: var(--fish-card); padding-inline: 14px; border: 0; border-radius: 13px; }
html[data-theme="fish"] .workflow-v8 .session-swipe:first-child .session-card::after { content: ''; position: absolute; right: 30px; bottom: 9px; width: 28px; height: 23px; background: url("icon-sleep.png") center / contain no-repeat; opacity: .78; transform: rotate(-7deg); pointer-events: none; }
html[data-theme="fish"] .session-card.current { background: var(--fish-soft); box-shadow: inset 3px 0 var(--dsr-accent); }
html[data-theme="fish"] .session-swipe .sc-archive-btn { transform: translateX(calc(100% + var(--swipe-x, 0px) + 1px)); transition: transform .18s ease; }
html[data-theme="fish"] .session-swipe.revealed .sc-archive-btn { transform: translateX(0); }
html[data-theme="fish"] .workflow-v8 #history { background: #F5FBFF url("sparkles.svg") right bottom / 480px 720px no-repeat; }
html[data-theme="fish"] .workflow-v8 :is(.msg.assistant, .ds-msg.assistant) { max-width: min(100%, 760px); padding: 14px 16px; background: var(--fish-card); border: 1px solid var(--fish-line); border-radius: 16px; color: var(--dsr-text); box-shadow: 0 2px 10px var(--fish-shadow); }
html[data-theme="fish"] :is(.msg.assistant, .ds-msg.assistant) .role::before { content: ''; display: inline-block; width: 26px; height: 23px; margin-right: 5px; vertical-align: -5px; background: url("icon.png") center / contain no-repeat; }
html[data-theme="fish"] .msg.user { background: var(--dsr-accent); color: var(--dsr-on-accent); border-radius: 15px; }
html[data-theme="fish"] .ds-msg.user { background: var(--fish-soft); color: var(--dsr-text); border-color: var(--dsr-accent-line); border-radius: 15px; }
html[data-theme="fish"] :is(.team-member, .team-task, .task-outcomes) { background: var(--fish-soft); border-color: var(--fish-line); }

/* 表情在原有图标位内呈现，不再在导航上方额外挂一排头像。 */
html[data-theme="fish"] :is(.bottom-nav, .composer-wrap, .ds-composer) { background: #FFFFFFF5; border-color: var(--fish-line); box-shadow: 0 4px 18px var(--fish-shadow); }
html[data-theme="fish"] .bottom-nav { border-radius: 22px; border-top: 2px solid #B7DCF1; }
html[data-theme="fish"] .bottom-nav::before { content: ''; position: absolute; width: 44px; height: 7px; border-radius: 0 0 50% 50%; background: #93CBEA; left: calc(50% - 22px); top: -2px; pointer-events: none; }
html[data-theme="fish"] .workflow-v8 .bottom-nav .nav-btn::before { content: none; }
html[data-theme="fish"] :is(.nav-btn, .ds-nav-item):is([data-view="view-home"], [data-view="view-sessions"], [data-view="view-overview"]) { --fish-nav-image: var(--fish-nav-chat); }
html[data-theme="fish"] :is(.nav-btn, .ds-nav-item)[data-view="view-files"] { --fish-nav-image: var(--fish-nav-files); }
html[data-theme="fish"] :is(.nav-btn, .ds-nav-item)[data-view="view-settings"] { --fish-nav-image: var(--fish-nav-more); }
html[data-theme="fish"] .workflow-v8 .bottom-nav .nav-btn .nav-ico { width: 48px; height: 32px; border-radius: 50%; background: var(--fish-nav-image) center / auto 29px no-repeat, #EEF7FF; opacity: .82; font-size: 0; }
html[data-theme="fish"] .workflow-v8 .bottom-nav .nav-btn.active .nav-ico { background: var(--fish-nav-image) center / auto 32px no-repeat, #FFF0F6; opacity: 1; box-shadow: 0 0 0 2px #FFFFFF, 0 2px 0 #F2CCDE; }
html[data-theme="fish"] .workflow-v8 .bottom-nav .nav-btn.active { border-radius: 15px; background: #EBF2FF; }
html[data-theme="fish"] :is(.bottom-nav .nav-ico, .ds-nav-ico) svg { display: none; }
html[data-theme="fish"] .ds-nav-item .ds-nav-ico { width: 32px; height: 28px; flex: none; background: var(--fish-nav-image) center / contain no-repeat; opacity: .82; font-size: 0; }
html[data-theme="fish"] .ds-nav-item.active .ds-nav-ico { opacity: 1; }
html[data-theme="fish"] .nav-wave-fill { fill: #FFFFFF; }
html[data-theme="fish"] .nav-wave-line { stroke: #B7DCF1; }

/* 桌面与辅助场景：贴纸留给侧栏和空状态，不重复盖在每条会话上。 */
html[data-theme="fish"] .ds-sidebar { background-color: #F8FCFF; background-image: linear-gradient(#FFFFFFE8, #F1F9FFE8), url("pattern.png"); background-size: auto, 360px 360px; border-color: var(--fish-line); }
html[data-theme="fish"] .ds-brand { border-top: 3px solid #9ACFEA; }
html[data-theme="fish"] .ds-session-item { border-radius: 12px; border-left: 2px solid #CFE5F5; }
html[data-theme="fish"] .ds-session-item.current { border-left-color: var(--dsr-accent); }
html[data-theme="fish"] .ds-session-list::after { content: '♡ BLUE WHALE ♡'; display: block; flex: none; min-height: 142px; margin: auto 12px 16px; padding: 124px 6px 10px; border: 1px dashed #AFD1E9; border-radius: 22px 18px 24px 18px; background: url("mascot.png") center 8px / auto 106px no-repeat, linear-gradient(150deg, #FFF6FB, #EDF9FF); color: var(--dsr-muted); font: 9px/1.5 ui-monospace, monospace; letter-spacing: .10em; text-align: center; pointer-events: none; }
html[data-theme="fish"] :is(.empty, .ds-empty)::before { content: ''; display: block; width: 128px; height: 132px; margin: 0 auto 10px; background: url("mascot.png") center / contain no-repeat; pointer-events: none; }
html[data-theme="fish"] .overview-empty::before { content: ''; display: inline-block; width: 25px; height: 22px; margin-right: 6px; vertical-align: -4px; background: url("icon-sleep.png") center / contain no-repeat; }
html[data-theme="fish"] .workflow-subpage-identity .workflow-setting-icon { position: relative; }
html[data-theme="fish"] .workflow-subpage-identity .workflow-setting-icon::after { content: ''; position: absolute; right: -5px; bottom: -4px; width: 25px; height: 22px; background: url("icon-blush.png") center / contain no-repeat; pointer-events: none; }
html[data-theme="fish"] :is(.modal-title, .ds-modal-title, .admin-title h1)::before { content: ''; display: inline-block; width: 25px; height: 22px; margin-right: 7px; vertical-align: -4px; background: url("icon-smile.png") center / contain no-repeat; }
html[data-theme="fish"] .toast::before { content: ''; display: inline-block; width: 25px; height: 22px; margin-right: 6px; vertical-align: -4px; background: url("icon-wink.png") center / contain no-repeat; }
html[data-theme="fish"] .ext-eyebrow::before { content: ''; display: inline-block; width: 24px; height: 22px; margin-right: 6px; vertical-align: -4px; background: url("icon-star.png") center / contain no-repeat; }
html[data-theme="fish"] .onboarding-restart-icon { background: var(--fish-soft); border-radius: 11px; }
html[data-theme="fish"] .onboarding-restart-icon::before { content: ''; width: 27px; height: 23px; background: url("icon-smile.png") center / contain no-repeat; }
html[data-theme] .theme-option[data-theme="fish"] { background: linear-gradient(135deg, #FFFFFF, #EAF6FF); border-color: #B9D7F2; color: #17284F; }
html[data-theme] .theme-option[data-theme="fish"] .theme-name { color: #17284F; }
html[data-theme] .theme-option[data-theme="fish"] .theme-check { color: #2440B0; }
html[data-theme] .theme-option[data-theme="fish"] .theme-swatches { position: relative; }
html[data-theme] .theme-option[data-theme="fish"] .theme-swatches::after { content: ''; position: absolute; right: 3px; bottom: 2px; width: 36px; height: 30px; background: url("icon-star.png") center / contain no-repeat; pointer-events: none; }
@media (max-width: 360px) { html[data-theme="fish"] .workflow-start .workflow-page-head h1 { padding-right: 82px; } html[data-theme="fish"] .workflow-start .workflow-page-head h1::before { width: 25px; margin-right: 7px; } html[data-theme="fish"] .workflow-start .workflow-page-head h1::after { width: 72px; height: 78px; top: -5px; } }
@media (prefers-reduced-motion: reduce) { html[data-theme="fish"] .sc-archive-btn { transition: none; } }
@media (prefers-reduced-transparency: reduce) { html[data-theme="fish"] :is(.bottom-nav, .composer-wrap, .ds-composer) { background: #FFFFFF; backdrop-filter: none; -webkit-backdrop-filter: none; } }
