/*
 * Weibo Life · 2026 unified visual language
 * Quiet editorial surfaces, warm ink, restrained glass and tactile controls.
 */
:root {
    --wl-bg: #f6f5f2;
    --wl-bg-card: rgba(255, 255, 253, .86);
    --wl-bg-hover: #efede8;
    --wl-text: #24231f;
    --wl-text-secondary: #69675f;
    --wl-text-muted: #99968d;
    --wl-border: rgba(73, 69, 60, .15);
    --wl-border-light: rgba(73, 69, 60, .09);
    --wl-radius-sm: 9px;
    --wl-radius: 17px;
    /* 2026-08-22 圆角柔化：所有 surface panel 一律用 26px 大圆角，
       跟内部 input(12px)/chip(9-10px) 形成约 2.2 : 1 黄金比例节奏，
       解决宽面板"突兀直角"读感。 */
    --wl-radius-lg: 26px;
    --wl-radius-control: 12px;
    --wl-surface-glass: rgba(255, 255, 252, .5);
    /* 2026-08-22 修复"卡片框住 body 色彩断层"：
     * 原 rgba(255,255,253,.85) 几乎实色，把 body mesh 全挡在卡外形成「白框 / 彩边」硬切。
     * 跟 customizer --glass-alpha=0.55 对齐到 0.55，再加 9% 主题色让玻璃自染紫味。
     * 这样 backdrop-filter(blur) 才能把 mesh 柔化渗进卡片，没有断层。 */
    --wl-surface-accent: color-mix(in srgb, var(--wl-accent) 9%, rgba(255, 255, 253, .55));
    --wl-ink: #24231f;
    --wl-focus-ring: color-mix(in srgb, var(--wl-accent) 24%, transparent);
    /* 动态可见范围：筛选色点、状态胶囊与发布选择面共用同一组语义色。 */
    --wl-visibility-public: #668170;
    --wl-visibility-public-soft: #e6eee9;
    --wl-visibility-private: #937257;
    --wl-visibility-private-soft: #f2e9df;
    --wl-visibility-scheduled: #777394;
    --wl-visibility-scheduled-soft: #eceaf3;
    --wl-shadow: 0 1px 1px rgba(47, 42, 34, .04), 0 9px 26px rgba(47, 42, 34, .055);
    --wl-shadow-hover: 0 2px 2px rgba(47, 42, 34, .05), 0 16px 38px rgba(47, 42, 34, .11);
    --wl-shadow-lg: 0 24px 70px rgba(35, 31, 24, .18);
    --wl-transition: .24s cubic-bezier(.2,.8,.2,1);
}

body {
    background:
        radial-gradient(circle at 4% -10%, color-mix(in srgb, var(--wl-accent) 16%, transparent), transparent 32rem),
        radial-gradient(circle at 100% 8%, color-mix(in srgb, var(--wl-accent) 11%, transparent), transparent 30rem),
        radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--wl-accent) 8%, transparent), transparent 38rem),
        var(--wl-bg);
    background-attachment: fixed;
    letter-spacing: .005em;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .26;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E");
}

.wl-navbar {
    background: rgba(250, 249, 246, .72);
    border-bottom-color: rgba(73, 69, 60, .1);
    box-shadow: 0 1px 0 rgba(255,255,255,.72), 0 9px 24px rgba(55, 50, 43, .035);
}
.wl-navbar-inner { height: 60px; gap: 8px; }
/* 页面导航与发布拆分：长页面菜单可以平移浏览，但发布始终独立、固定可见。 */
.wl-navbar-nav-stage { position:relative; display:flex; align-items:center; flex:1 1 auto; min-width:0; }
.wl-navbar-nav { gap:2px; padding:0 12px; scroll-padding-inline:54px; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
.wl-navbar-nav::before, .wl-navbar-nav::after { content:""; flex:0 0 8px; }
.wl-navbar-nav { mask-image:linear-gradient(90deg, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%); }
.wl-navbar-nav a, .wl-publish-link {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 11px;
    border-radius:8px;
    color:#747169;
    font-size:13px;
    font-weight:650;
    letter-spacing:.015em;
    text-decoration:none;
}
.wl-navbar-nav a::after {
    content:"";
    position:absolute;
    right:11px;
    bottom:3px;
    left:11px;
    height:3px;
    border-radius:99px;
    transform:scaleX(0);
    transform-origin:center;
    background:var(--wl-accent);
    transition:transform var(--wl-transition);
}
.wl-navbar-nav a:hover { background:transparent; color:var(--wl-ink); }
.wl-navbar-nav a:hover::after { transform:scaleX(.4); }
.wl-navbar-nav a.active { background:transparent; color:var(--wl-ink); font-weight:780; }
.wl-navbar-nav a.active::after { transform:scaleX(1); }
.wl-publish-link {
    flex:0 0 auto;
    gap:5px;
    margin-left:1px;
    border:1px solid color-mix(in srgb, var(--wl-accent) 34%, var(--wl-border));
    background:linear-gradient(135deg, color-mix(in srgb, var(--wl-accent) 11%, rgba(255,255,255,.78)), color-mix(in srgb, var(--wl-accent) 4%, rgba(255,255,255,.4)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.74), 0 4px 12px color-mix(in srgb, var(--wl-accent) 10%, transparent);
    color:var(--wl-accent-dark);
    transform:translateZ(0);
    transition:transform var(--wl-transition), border-color var(--wl-transition), background var(--wl-transition), box-shadow var(--wl-transition);
}
.wl-publish-link:hover { border-color:var(--wl-accent); background:linear-gradient(135deg, color-mix(in srgb, var(--wl-accent) 18%, rgba(255,255,255,.82)), color-mix(in srgb, var(--wl-accent) 8%, rgba(255,255,255,.46))); color:var(--wl-accent-dark); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px color-mix(in srgb, var(--wl-accent) 18%, transparent); transform:translateY(-1px); }
.wl-publish-link.active { border-color:color-mix(in srgb, var(--wl-accent) 62%, var(--wl-border)); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 7px 16px color-mix(in srgb, var(--wl-accent) 19%, transparent); }
.wl-navbar-scroll-control { position:absolute; z-index:2; display:none; place-items:center; width:28px; height:32px; border:1px solid rgba(73,69,60,.12); border-radius:9px; background:rgba(255,255,253,.92); box-shadow:0 4px 13px rgba(46,40,32,.1); color:var(--wl-text-secondary); opacity:0; transform:scale(.92); transition:opacity var(--wl-transition), transform var(--wl-transition), color var(--wl-transition), background var(--wl-transition); }
.wl-navbar-scroll-control.is-visible { display:grid; opacity:1; transform:scale(1); }
.wl-navbar-scroll-control:hover:not(:disabled) { background:var(--wl-bg-card); color:var(--wl-accent-dark); }
.wl-navbar-scroll-control:disabled { opacity:.34; cursor:default; }
.wl-navbar-scroll-prev { left:6px; }
.wl-navbar-scroll-next { right:6px; }
/* 箭头出现时为两端页面项预留完整按钮宽度及额外呼吸空间，绝不压住文字。 */
.wl-navbar-nav-stage.has-prev .wl-navbar-nav { padding-left:50px; }
.wl-navbar-nav-stage.has-next .wl-navbar-nav { padding-right:50px; }
@keyframes wl-nav-settle { 0% { filter:brightness(1); } 45% { filter:brightness(1.045); } 100% { filter:brightness(1); } }
.wl-navbar-nav-stage.is-settling { animation:wl-nav-settle .46s ease-out; }
.wl-navbar-dropdown-btn {
    width: 34px;
    height: 34px;
    border: 1px solid transparent;
    border-radius: 10px;
}
.wl-navbar-dropdown-btn:hover, .wl-navbar-dropdown-btn.active { border-color: var(--wl-border-light); background: var(--wl-surface-glass); }
/* Navbar dropdown panel: glass + purple tint to match design language */
.wl-navbar-dropdown-menu {
    border: 1px solid color-mix(in srgb, var(--wl-accent) 22%, transparent);
    border-radius: 14px;
    background:
        linear-gradient(145deg,
            color-mix(in srgb, var(--wl-accent) 14%, rgba(255,255,255,.78)),
            color-mix(in srgb, var(--wl-accent) 6%, rgba(255,255,255,.62)));
    box-shadow:
        0 10px 28px color-mix(in srgb, var(--wl-accent) 12%, rgba(0,0,0,.18)),
        inset 0 1px 0 rgba(255,255,255,.72);
    backdrop-filter: blur(22px) saturate(150%);
    -webkit-backdrop-filter: blur(22px) saturate(150%);
}
.wl-navbar-dropdown-menu a { border-radius: 9px; }
.wl-navbar-dropdown-menu a .wl-navbar-icon {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-right: 2px;
    color: color-mix(in srgb, var(--wl-accent) 60%, var(--wl-text-secondary));
    transition: color .18s ease, transform .18s ease;
}
.wl-navbar-dropdown-menu a:hover .wl-navbar-icon {
    color: var(--wl-accent);
    transform: translateX(1px);
}
.wl-navbar-dropdown-menu > div,
.wl-navbar-dropdown-menu hr {
    border-color: color-mix(in srgb, var(--wl-accent) 18%, transparent);
}

.wl-btn, .wl-btn-primary, .wl-btn-outline, .wl-btn-secondary {
    min-height: 38px;
    padding: 8px 15px;
    border-radius: var(--wl-radius-control);
    font-size: 13px;
    font-weight: 720;
    letter-spacing: .01em;
    transform: translateZ(0);
    transition: transform var(--wl-transition), box-shadow var(--wl-transition), background var(--wl-transition), border-color var(--wl-transition), color var(--wl-transition);
}
.wl-btn-primary {
    border: 1px solid color-mix(in srgb, var(--wl-accent) 76%, #6f3d10);
    background: linear-gradient(135deg, color-mix(in srgb, var(--wl-accent) 94%, #fff), var(--wl-accent-dark));
    box-shadow: 0 8px 18px color-mix(in srgb, var(--wl-accent) 25%, transparent), inset 0 1px 0 rgba(255,255,255,.28);
}
.wl-btn-primary:hover { background: linear-gradient(135deg, var(--wl-accent-light), var(--wl-accent-dark)); box-shadow: 0 11px 24px color-mix(in srgb, var(--wl-accent) 31%, transparent), inset 0 1px 0 rgba(255,255,255,.3); transform: translateY(-1px); }
.wl-btn-outline, .wl-btn-secondary { border: 1px solid var(--wl-border); background: rgba(255,255,253,.62); box-shadow: inset 0 1px 0 rgba(255,255,255,.75); color: var(--wl-text-secondary); }
.wl-btn-outline:hover, .wl-btn-secondary:hover { border-color: color-mix(in srgb, var(--wl-accent) 45%, var(--wl-border)); background: color-mix(in srgb, var(--wl-accent) 6%, rgba(255,255,253,.7)); color: var(--wl-ink); transform: translateY(-1px); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 0; box-shadow: 0 0 0 4px var(--wl-focus-ring) !important; }

.wl-daily-page, .wl-sleep-page, .wl-growth-page, .wl-assets-page, .wl-english-page { position: relative; }
.wl-moment-card, .wl-trip-home-card { border:1px solid var(--wl-border-light); background:var(--wl-surface-glass); box-shadow:var(--wl-shadow); backdrop-filter:blur(18px) saturate(122%); }
/* 2026-08-22 焦点卡改由下方统一面板块（:before 伪元素玻璃）接管，移除此处本体 backdrop-filter，避免双重生效。 */
.wl-moment-card:hover, .wl-trip-home-card:hover { box-shadow:var(--wl-shadow-hover); }
/* 动态状态胶囊：主页液态玻璃语言（半透明白玻璃 + 白边 + 柔投影），保留语义色文字。 */
.wl-moment-badge { display:inline-flex; align-items:center; justify-content:center; min-height:20px; padding:2px 9px; border:1px solid rgba(255,255,255,.65); border-radius:999px; font-size:11px; font-weight:620; letter-spacing:.02em; line-height:16px; background:rgba(255,255,255,.55); box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 2px 6px rgba(40,50,90,.06); -webkit-backdrop-filter:blur(10px) saturate(150%); backdrop-filter:blur(10px) saturate(150%); }
.wl-moment-badge-private { color:var(--wl-visibility-private); }
.wl-moment-badge-scheduled { color:var(--wl-visibility-scheduled); }
.wl-moment-badge-public { color:var(--wl-visibility-public); }
.wl-moment-status-stack .wl-moment-badge { opacity:.9; }
.wl-daily-panel, .wl-daily-overview article, .wl-growth-panel, .wl-sleep-panel, .wl-assets-panel, .wl-english-panel,
.wl-focus-timer-card, .wl-focus-summary-panel, .wl-focus-manual-card, .wl-focus-summary-card, .wl-focus-overview, .wl-focus-distribution,
.wl-profile-edit-form {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: var(--wl-radius-lg);
    border-color: var(--wl-border-light);
    background: transparent;
    /* 玻璃层已移到 ::before（带 border-radius:inherit），确保 backdrop-filter 被圆角裁剪；
       修复 Safari/WebKit 下 backdrop-filter 不遵守 border-radius、圆角外露出直角模糊脏边的问题。 */
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .6),
        0 1px 1px rgba(47, 42, 34, .04),
        0 12px 32px rgba(47, 42, 34, .06);
}
.wl-daily-panel::before, .wl-daily-overview article::before, .wl-growth-panel::before, .wl-sleep-panel::before, .wl-assets-panel::before, .wl-english-panel::before,
.wl-focus-timer-card::before, .wl-focus-summary-panel::before, .wl-focus-manual-card::before, .wl-focus-summary-card::before, .wl-focus-overview::before, .wl-focus-distribution::before,
.wl-profile-edit-form::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--wl-surface-glass);
    -webkit-backdrop-filter: blur(18px) saturate(122%);
    backdrop-filter: blur(18px) saturate(122%);
    pointer-events: none;
}
.wl-daily-panel:hover, .wl-daily-overview article:hover { box-shadow: var(--wl-shadow-hover); }

.wl-daily-theme-tabs {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin: 16px 0 15px;
    padding: 4px;
    border: 1px solid var(--wl-border-light);
    border-radius: 14px;
    background: rgba(237, 234, 227, .72);
    overflow: hidden;
}
.wl-daily-theme-tab {
    position: relative;
    min-width: 0;
    min-height: 44px;
    justify-content: center;
    padding: 7px 8px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--wl-text-muted);
    font-size: 12px;
    font-weight: 680;
    transition: color var(--wl-transition), background var(--wl-transition), box-shadow var(--wl-transition), transform var(--wl-transition);
}
.wl-daily-theme-tab::before {
    content: "";
    position: absolute;
    inset: 5px;
    z-index: -1;
    border-radius: 8px;
    background: transparent;
    transition: background var(--wl-transition), box-shadow var(--wl-transition);
}
.wl-daily-theme-tab:hover { color: var(--wl-text); transform: translateY(-1px); }
.wl-daily-theme-tab.is-active { border:0; background: transparent; color: var(--wl-text); font-weight: 800; }
.wl-daily-theme-tab.is-active::before { background: rgba(255,255,253,.88); box-shadow: 0 3px 10px rgba(61,55,46,.11), inset 0 0 0 1px rgba(255,255,255,.8); }
.wl-daily-theme-tab.is-active .wl-daily-dot { width: 10px; height: 10px; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 8%, transparent); }

/* 可见范围筛选：色点与动态状态胶囊共用 public / private / scheduled 语义色。
   选中背景由按钮自身承载，JS 用 FLIP 驱动按钮从旧位置/尺寸弹性形变到新位置/尺寸。 */
.wl-feed-visibility-filter { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:8px 0 14px; padding:7px 8px 7px 13px; border:1px solid var(--wl-border-light); border-radius:14px; background:rgba(255,255,253,.58); box-shadow:inset 0 1px 0 rgba(255,255,255,.68); backdrop-filter:blur(16px) saturate(115%); }
.wl-feed-visibility-filter-label { color:var(--wl-text-muted); font-size:11px; font-weight:800; letter-spacing:.08em; }
.wl-feed-visibility-filter-options { grid-template-columns:repeat(4, minmax(0, 1fr)); min-width:360px; }
.wl-feed-visibility-filter-options a { --wl-filter-dot:#99978f; --wl-filter-wash:rgba(153,151,143,.12); position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:34px; padding:7px 9px; border:0; border-radius:9px; background:transparent; color:var(--wl-text-muted); font-size:12px; font-weight:600; line-height:18px; text-decoration:none; white-space:nowrap; z-index:1; transition:color var(--wl-transition); -webkit-tap-highlight-color:transparent; outline:none; user-select:none; }
.wl-feed-visibility-filter-options a::before { content:""; display:block; flex:0 0 7px; width:7px; height:7px; margin:0; border-radius:50%; background:var(--wl-filter-dot); box-shadow:0 0 0 3px var(--wl-filter-wash); transition:transform var(--wl-transition), box-shadow var(--wl-transition); }
.wl-feed-visibility-filter-options .wl-feed-visibility-all { --wl-filter-dot:#899786; --wl-filter-wash:rgba(137,151,134,.15); }
.wl-feed-visibility-filter-options .wl-feed-visibility-public { --wl-filter-dot:var(--wl-visibility-public); --wl-filter-wash:color-mix(in srgb,var(--wl-visibility-public) 15%,transparent); }
.wl-feed-visibility-filter-options .wl-feed-visibility-private { --wl-filter-dot:var(--wl-visibility-private); --wl-filter-wash:color-mix(in srgb,var(--wl-visibility-private) 15%,transparent); }
.wl-feed-visibility-filter-options .wl-feed-visibility-scheduled { --wl-filter-dot:var(--wl-visibility-scheduled); --wl-filter-wash:color-mix(in srgb,var(--wl-visibility-scheduled) 15%,transparent); }
.wl-feed-visibility-filter-options a:hover { color:var(--wl-text); }
.wl-feed-visibility-filter-options a:hover::before { transform:scale(1.18); box-shadow:0 0 0 4px var(--wl-filter-wash); }
/* v3.5 二态正反（2026-08-22 用户参考图最终版）：未激活=纯文字+圆点，无胶囊形状；激活=带胶囊壳。
   用户原话："没被选择没被激活的，就不该是按钮的形状"——line 272 之前 border:1px solid transparent
   即使透明也占位 felt 像 chip 形状。v3.4 我把激活态做得太轻（12% 边+4% wash）丢掉了胶囊壳的厚重感，
   反而让激活与未激活都"不像胶囊"。参考图里唯一被胶囊圈起来的是"全部"，其余三个完全没胶囊壳。
   v3.5: 未激活 border/bg 全部归 0（仅保留 padding 给点击区），激活态做成实胶囊白底+紫边+柔光晕。 */
.wl-feed-visibility-filter-options a.is-active {
    border: 1px solid color-mix(in srgb, var(--wl-filter-dot) 28%, transparent);
    background:
        linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(255,255,253,.78) 100%),
        color-mix(in srgb, var(--wl-filter-dot) 6%, rgba(255,255,253,.94));
    box-shadow:
        0 1px 0 rgba(255,255,255,.92) inset,
        0 4px 12px color-mix(in srgb, var(--wl-filter-dot) 14%, transparent);
    color: var(--wl-ink);
    font-weight: 800;
    padding: 6px 11px;
}
.wl-feed-visibility-filter-options a.is-active::before {
    flex-basis: 8px; width: 8px; height: 8px;
    box-shadow: 0 0 0 4px var(--wl-filter-wash);
}
.wl-feed-visibility-filter-options a.is-active:hover { color: var(--wl-ink); }

.wl-daily-filter-chip, .wl-daily-theme-chip {
    border-radius: 8px;
    border-color: transparent;
    background: transparent;
    font-weight: 680;
}
.wl-daily-filter-chip:hover { border-color: transparent; background: color-mix(in srgb, var(--wl-accent) 7%, transparent); color: var(--wl-text); }
.wl-daily-filter-chip.is-active { border-color: transparent; background: color-mix(in srgb, var(--wl-accent) 12%, rgba(255,255,253,.7)); box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--wl-accent) 55%, transparent); color: var(--wl-accent-dark); }
.wl-daily-editor-status { border-style: solid; border-color: var(--wl-border-light); background: rgba(247,245,240,.65); }
.wl-daily-editor-status.is-existing { border-color: color-mix(in srgb, var(--wl-accent) 22%, var(--wl-border)); background: color-mix(in srgb, var(--wl-accent) 6%, rgba(255,255,253,.65)); }

.wl-daily-date-field { position: relative; display:grid; gap:5px; color:var(--wl-text-muted); font-size:11px; font-weight:800; letter-spacing:.03em; }
.wl-daily-date-trigger { display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:164px; height:39px; padding:0 11px 0 13px; border:1px solid var(--wl-border); border-radius:var(--wl-radius-control); background:rgba(255,255,253,.76); box-shadow:inset 0 1px 0 rgba(255,255,255,.8); color:var(--wl-ink); font:inherit; font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:.05em; }
.wl-daily-date-trigger:hover { border-color:color-mix(in srgb,var(--wl-accent) 42%,var(--wl-border)); background:rgba(255,255,253,.96); }
.wl-daily-date-trigger svg { width:17px; height:17px; color:var(--wl-accent); }
.wl-daily-date-popover { position:absolute; z-index:150; top:calc(100% + 9px); right:0; width:310px; padding:13px; border:1px solid rgba(73,69,60,.13); border-radius:17px; background:rgba(255,255,253,.96); box-shadow:var(--wl-shadow-lg); backdrop-filter:blur(25px) saturate(140%); }
.wl-daily-date-picker-head { display:grid; grid-template-columns:34px 1fr 34px; align-items:center; margin-bottom:10px; }
.wl-daily-date-picker-head strong { color:var(--wl-ink); font-size:13px; text-align:center; letter-spacing:.02em; }
.wl-daily-date-picker-head button { width:30px; height:30px; border-radius:8px; color:var(--wl-text-secondary); font-size:23px; line-height:1; }
.wl-daily-date-picker-head button:hover { background:var(--wl-bg-hover); color:var(--wl-ink); }
.wl-daily-date-picker-week, .wl-daily-date-picker-days { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; text-align:center; }
.wl-daily-date-picker-week { margin-bottom:5px; color:var(--wl-text-muted); font-size:10px; font-weight:800; }
.wl-daily-date-picker-day { display:grid; place-items:center; width:100%; aspect-ratio:1; border:1px solid transparent; border-radius:9px; color:var(--wl-text-secondary); font:inherit; font-size:12px; font-weight:680; }
.wl-daily-date-picker-day:hover:not(:disabled) { background:color-mix(in srgb,var(--wl-accent) 9%, transparent); color:var(--wl-ink); }
.wl-daily-date-picker-day.is-today { color:var(--wl-accent-dark); }
.wl-daily-date-picker-day.is-selected { border-color:color-mix(in srgb,var(--wl-accent) 42%, transparent); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 18%,#fff),color-mix(in srgb,var(--wl-accent) 8%,#fff)); box-shadow:0 3px 9px color-mix(in srgb,var(--wl-accent) 17%,transparent); color:var(--wl-accent-dark); font-weight:850; }
.wl-daily-date-picker-day:disabled { opacity:.26; cursor:not-allowed; }
.wl-daily-date-picker-foot { display:flex; justify-content:flex-end; margin-top:9px; padding-top:9px; border-top:1px solid var(--wl-border-light); }
.wl-daily-date-picker-foot button { padding:4px 7px; border-radius:7px; color:var(--wl-accent-dark); font:inherit; font-size:11px; font-weight:800; }
.wl-daily-date-picker-foot button:hover { background:color-mix(in srgb,var(--wl-accent) 9%, transparent); }
:where(.wl-daily-editor-panel, .wl-focus-timer-card, .wl-focus-manual-form, .wl-publish-page, .wl-growth-page, .wl-sleep-page, .wl-assets-page, .wl-english-page) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
:where(.wl-daily-editor-panel, .wl-focus-timer-card, .wl-focus-manual-form, .wl-publish-page, .wl-growth-page, .wl-sleep-page, .wl-assets-page, .wl-english-page) textarea,
:where(.wl-daily-editor-panel, .wl-focus-timer-card, .wl-focus-manual-form, .wl-publish-page, .wl-growth-page, .wl-sleep-page, .wl-assets-page, .wl-english-page, .wl-travel-page, .wl-travel-modal) select {
    border-color: var(--wl-border);
    border-radius: var(--wl-radius-control);
    /* 与 .wl-surface-accent 同 alpha 同步融成一片（不再比卡面亮一截） */
    background-color: rgba(255, 255, 253, .5);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6);
}
:where(.wl-daily-editor-panel, .wl-focus-timer-card, .wl-focus-manual-form, .wl-publish-page, .wl-growth-page, .wl-sleep-page, .wl-assets-page, .wl-english-page, .wl-travel-page, .wl-travel-modal) select {
    min-height:39px;
    padding:8px 38px 8px 12px;
    appearance:none;
    -webkit-appearance:none;
    color:var(--wl-text);
    font:inherit;
    font-size:13px;
    font-weight:680;
    background-image:linear-gradient(45deg, transparent 50%, var(--wl-text-muted) 50%), linear-gradient(135deg, var(--wl-text-muted) 50%, transparent 50%);
    background-position:calc(100% - 16px) calc(50% - 2px), calc(100% - 11px) calc(50% - 2px);
    background-size:5px 5px, 5px 5px;
    background-repeat:no-repeat;
    transition:border-color var(--wl-transition), background-color var(--wl-transition), box-shadow var(--wl-transition);
}
:where(.wl-daily-editor-panel, .wl-focus-timer-card, .wl-focus-manual-form, .wl-publish-page, .wl-growth-page, .wl-sleep-page, .wl-assets-page, .wl-english-page, .wl-travel-page, .wl-travel-modal) select:hover { border-color:color-mix(in srgb,var(--wl-accent) 38%,var(--wl-border)); background-color:rgba(255,255,253,.72); }
:where(.wl-growth-page, .wl-publish-page, .wl-visibility-dialog, .wl-english-page) input[type="checkbox"],
.wl-visibility-dialog input[type="radio"] { appearance:none; -webkit-appearance:none; position:relative; width:19px; height:19px; flex:0 0 19px; margin:0; border:1px solid rgba(73,69,60,.26); border-radius:6px; background:rgba(255,255,253,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.9); cursor:pointer; transition:border-color var(--wl-transition), background var(--wl-transition), box-shadow var(--wl-transition), transform var(--wl-transition); }
:where(.wl-growth-page, .wl-publish-page, .wl-visibility-dialog, .wl-english-page) input[type="checkbox"]:hover,
.wl-visibility-dialog input[type="radio"]:hover { border-color:var(--wl-accent); transform:translateY(-1px); }
:where(.wl-growth-page, .wl-publish-page, .wl-visibility-dialog, .wl-english-page) input[type="checkbox"]:checked,
.wl-visibility-dialog input[type="radio"]:checked { border-color:var(--wl-accent); background:var(--wl-accent); box-shadow:0 3px 8px color-mix(in srgb,var(--wl-accent) 22%,transparent), inset 0 1px 0 rgba(255,255,255,.3); }
:where(.wl-growth-page, .wl-publish-page, .wl-visibility-dialog, .wl-english-page) input[type="checkbox"]:checked::after { content:""; position:absolute; left:5px; top:2px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.wl-visibility-dialog input[type="radio"] { border-radius:50%; }
.wl-visibility-dialog input[type="radio"]:checked::after { content:""; position:absolute; inset:4px; border-radius:50%; background:#fff; }

.wl-assets-card, .wl-growth-goal-card, .wl-sleep-overview article, .wl-sleep-calendar-panel, .wl-sleep-trend-panel, .wl-english-panel {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: var(--wl-radius-lg);
    border-color: var(--wl-border-light);
    background: transparent;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .6),
        0 1px 1px rgba(47, 42, 34, .04),
        0 12px 32px rgba(47, 42, 34, .06);
}
.wl-assets-card::before, .wl-growth-goal-card::before, .wl-sleep-overview article::before, .wl-sleep-calendar-panel::before, .wl-sleep-trend-panel::before, .wl-english-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--wl-surface-glass);
    -webkit-backdrop-filter: blur(18px) saturate(122%);
    backdrop-filter: blur(18px) saturate(122%);
    pointer-events: none;
}
.wl-assets-card:hover, .wl-growth-goal-card:hover { box-shadow:var(--wl-shadow-hover); }
/* 分段控件：主题紫玻璃轨道 + 浮起的低饱和选中面，所有页面共用同一种可触摸的实体感。
   —— 2026-08-22 修订：原"暖灰米色"容器轨道完全脱离主题，
   整条 background/border 绑到 var(--wl-accent)，让未激活态也在紫环境中。 */
.wl-publish-visibility-choice,
.wl-assets-status-tabs,
.wl-assets-ownership,
.wl-sleep-trend-tabs,
.wl-sleep-trend-range,
.wl-growth-seg-control,
.wl-focus-period-tabs,
.wl-feed-visibility-filter-options {
    position:relative;
    isolation:isolate;
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(0, 1fr);
    gap:3px;
    padding:4px;
    border:1px solid color-mix(in srgb, var(--wl-accent) 20%, transparent);
    border-radius:13px;
    /* 容器本身用低浓度紫 wash（14%→7%），选中卡片(更浓 accent 10% + 白)在紫环境里更跳。
       之前用米色 .92/.7，导致 selected 也像被"放在石板上"，现在统一进紫色调。 */
    background:linear-gradient(145deg,
        color-mix(in srgb, var(--wl-accent) 14%, rgba(255,255,253,.92)),
        color-mix(in srgb, var(--wl-accent)  7%, rgba(255,255,253,.74)));
    box-shadow:inset 0 1px 1px rgba(73,69,60,.07),
               inset 0 1px 0 rgba(255,255,255,.72);
    backdrop-filter:blur(14px) saturate(118%);
    -webkit-backdrop-filter:blur(14px) saturate(118%);
}
.wl-publish-visibility-choice {
    width:min(100%, 332px);
    grid-template-columns:repeat(2, minmax(0, 1fr));
}
.wl-publish-visibility-choice button[data-visibility="public"] { --wl-segment-tone: var(--wl-visibility-public); }
.wl-publish-visibility-choice button,
.wl-assets-status-tabs button,
.wl-assets-ownership button,
.wl-sleep-trend-tabs button,
.wl-sleep-trend-range button,
.wl-growth-seg-control button,
.wl-focus-period-tabs button {
    position:relative;
    z-index:0;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:34px;
    margin:0;
    padding:7px 11px;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:var(--wl-text-secondary);
    font:inherit;
    font-size:12px;
    font-weight:720;
    line-height:1.2;
    white-space:nowrap;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    outline:none;
    user-select:none;
    transition:transform var(--wl-transition), color var(--wl-transition), background var(--wl-transition), border-color var(--wl-transition), box-shadow var(--wl-transition);
}
.wl-publish-visibility-choice button { min-height:38px; padding:8px 12px; font-size:13px; }
.wl-publish-visibility-choice button[data-visibility="private"] { --wl-segment-tone:var(--wl-visibility-private); }
.wl-publish-visibility-choice button::before {
    content:"";
    width:7px;
    height:7px;
    margin-right:7px;
    border-radius:50%;
    background:var(--wl-segment-tone);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--wl-segment-tone) 14%,transparent);
    transition:transform var(--wl-transition), box-shadow var(--wl-transition), background var(--wl-transition);
}
.wl-publish-visibility-choice button:hover,
.wl-assets-status-tabs button:hover,
.wl-assets-ownership button:hover,
.wl-sleep-trend-tabs button:hover,
.wl-sleep-trend-range button:hover,
.wl-growth-seg-control button:hover,
.wl-focus-period-tabs button:hover {
    background:rgba(255,255,253,.44);
    color:var(--wl-ink);
    transform:translateY(-1px);
}
.wl-publish-visibility-choice button.active,
.wl-assets-status-tabs button.is-active,
.wl-assets-ownership button.is-active,
.wl-sleep-trend-tabs button.is-active,
.wl-sleep-trend-range button.is-active,
.wl-growth-seg-control button.is-active,
.wl-focus-period-tabs button.active {
    border-color:color-mix(in srgb, var(--wl-accent) 23%, transparent);
    background:linear-gradient(145deg, color-mix(in srgb, var(--wl-accent) 10%, rgba(255,255,253,.98)), rgba(255,255,253,.94));
    box-shadow:0 3px 10px rgba(61,55,46,.1), inset 0 1px 0 rgba(255,255,255,.98);
    color:color-mix(in srgb, var(--wl-accent) 72%, var(--wl-ink));
}
.wl-publish-visibility-choice button.active::before { transform:scale(1.13); box-shadow:0 0 0 4px color-mix(in srgb, var(--wl-segment-tone) 16%, transparent); }
.wl-daily-filter-chip.is-active,
.wl-daily-theme-tab.is-active { animation:wl-toggle-settle .32s cubic-bezier(.2,.9,.25,1); }
@keyframes wl-toggle-settle { 0% { transform:scale(.95); } 56% { transform:translateY(-1px) scale(1.035); } 100% { transform:translateY(0) scale(1); } }

/* 分段控件选中项：由 JS 用 FLIP 做按钮自身形变，不再使用独立 slider。
   动画期间禁用按钮原本的 transform transition，避免冲突。 */
.wl-publish-visibility-choice button.wl-morphing,
.wl-assets-status-tabs button.wl-morphing,
.wl-assets-ownership button.wl-morphing,
.wl-sleep-trend-tabs button.wl-morphing,
.wl-sleep-trend-range button.wl-morphing,
.wl-growth-seg-control button.wl-morphing,
.wl-focus-period-tabs button.wl-morphing,
.wl-english-ref-toggle button.wl-morphing,
.wl-assets-cutout-mode button.wl-morphing,
.wl-feed-visibility-filter-options a.wl-morphing { transition:none !important; animation:none !important; }

.wl-publish-visibility-choice button:focus-visible,
.wl-assets-status-tabs button:focus-visible,
.wl-assets-ownership button:focus-visible,
.wl-sleep-trend-tabs button:focus-visible,
.wl-sleep-trend-range button:focus-visible,
.wl-growth-seg-control button:focus-visible,
.wl-focus-period-tabs button:focus-visible { outline:2px solid var(--wl-focus-ring); outline-offset:2px; }
/* 发布页以一个轻薄的玻璃编辑面承载隐私与时间，两个范围按钮始终严格等宽。 */
.wl-publish-visibility {
    margin-top:20px;
    padding:14px;
    border:1px solid rgba(73,69,60,.1);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(255,255,253,.78),color-mix(in srgb,#dce7ea 11%,rgba(255,255,253,.58)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.84), 0 7px 18px rgba(61,55,46,.035);
    backdrop-filter:blur(18px) saturate(120%);
    -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.wl-publish-visibility-head { align-items:center; gap:7px 10px; margin-bottom:11px; }
.wl-publish-visibility-head strong { color:var(--wl-ink); font-size:13px; font-weight:820; letter-spacing:.045em; }
.wl-publish-visibility-hint { flex:1 1 190px; font-size:11px; line-height:1.5; }
.wl-publish-schedule-toggle {
    display:inline-flex;
    align-items:center;
    min-height:38px;
    margin:9px 0 0;
    padding:7px 11px;
    border:1px solid rgba(137,151,134,.2);
    border-radius:10px;
    background:rgba(255,255,253,.5);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
    color:var(--wl-text-secondary);
    font-size:12px;
    font-weight:720;
    transition:border-color var(--wl-transition), background var(--wl-transition), box-shadow var(--wl-transition), transform var(--wl-transition);
}
.wl-publish-schedule-toggle:hover { border-color:rgba(137,151,134,.4); background:rgba(255,255,253,.8); transform:translateY(-1px); }
.wl-publish-schedule-toggle:has(input:checked) { border-color:rgba(137,151,134,.4); background:linear-gradient(145deg,rgba(224,233,225,.86),rgba(255,255,253,.88)); box-shadow:0 3px 9px rgba(76,100,82,.1), inset 0 1px 0 rgba(255,255,255,.9); color:#63766a; }
.wl-publish-schedule-datetime { margin-top:9px; padding:10px; border:1px dashed rgba(137,151,134,.28); border-radius:11px; background:rgba(255,255,253,.52); }
.wl-publish-schedule-datetime input[type="datetime-local"] { min-height:39px; width:min(100%, 264px); padding:8px 11px; border-radius:9px; background:rgba(255,255,253,.84); box-shadow:inset 0 1px 0 rgba(255,255,255,.88); }
.wl-publish-schedule-datetime small { margin-top:6px; font-size:11px; line-height:1.45; }
/* 已发布动态的编辑弹层也沿用同一组低饱和、可辨识的选择面。 */
.wl-visibility-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.wl-visibility-option { position:relative; min-width:0; min-height:114px; padding:13px; border:1px solid rgba(73,69,60,.11); border-radius:13px; background:rgba(255,255,253,.52); box-shadow:inset 0 1px 0 rgba(255,255,255,.72); transition:border-color var(--wl-transition), background var(--wl-transition), box-shadow var(--wl-transition), transform var(--wl-transition); }
.wl-visibility-option:hover { border-color:color-mix(in srgb,var(--wl-accent) 34%,var(--wl-border)); background:rgba(255,255,253,.8); transform:translateY(-1px); }
.wl-visibility-option:has(input:checked) { border-color:color-mix(in srgb,var(--wl-accent) 35%,var(--wl-border)); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 9%,rgba(255,255,253,.96)),rgba(255,255,253,.86)); box-shadow:0 5px 15px color-mix(in srgb,var(--wl-accent) 10%,transparent), inset 0 1px 0 rgba(255,255,255,.95); }
.wl-visibility-option input[type="radio"] { position:absolute; top:12px; right:12px; margin:0; }
.wl-visibility-option-content { padding-right:20px; }
.wl-visibility-option-title { margin-bottom:6px; font-size:13px; font-weight:800; }
.wl-visibility-option-desc { font-size:11px; line-height:1.55; }
.wl-visibility-schedule { margin-top:14px; padding-top:14px; border-top:1px solid var(--wl-border-light); }
.wl-visibility-schedule-label { display:block; margin-bottom:8px; font-size:13px; font-weight:800; color:var(--wl-ink); }
.wl-visibility-schedule-hint { display:block; margin-top:8px; font-size:11px; line-height:1.55; color:var(--wl-ink-soft); }
.wl-assets-owner-chip, .wl-assets-tag-chip { border-radius:8px; }
.wl-daily-dialog-card, .wl-growth-dialog-card, .wl-sleep-dialog-card, .wl-assets-dialog-card, .wl-assets-detail-card, .wl-english-dialog-card, .wl-english-detail-card, .wl-visibility-dialog, .wl-modal-content {
    border-color: rgba(73, 69, 60, .12);
    border-radius: var(--wl-radius-lg);
    background: rgba(255,255,253,.9);
    box-shadow: var(--wl-shadow-lg);
    backdrop-filter: blur(25px) saturate(130%);
}
.wl-daily-dialog-backdrop, .wl-growth-dialog-backdrop, .wl-sleep-dialog-backdrop, .wl-assets-dialog-backdrop, .wl-english-dialog-backdrop { background: rgba(37,34,29,.38); backdrop-filter: blur(7px) saturate(80%); }
.wl-daily-toast, .wl-growth-toast, .wl-sleep-toast, .wl-assets-toast, .wl-english-toast { border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(37,34,29,.9); box-shadow: 0 14px 32px rgba(35,31,24,.2); backdrop-filter: blur(18px); }

.wl-global-date-native { position:absolute !important; width:1px !important; height:1px !important; min-width:0 !important; min-height:0 !important; margin:-1px !important; padding:0 !important; border:0 !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; overflow:hidden !important; white-space:nowrap !important; opacity:0 !important; pointer-events:none !important; }
.wl-global-date-trigger { display:inline-flex; align-items:center; justify-content:space-between; gap:12px; min-width:156px; min-height:38px; padding:8px 10px 8px 12px; border:1px solid var(--wl-border); border-radius:var(--wl-radius-control); background:rgba(255,255,253,.76); box-shadow:inset 0 1px 0 rgba(255,255,255,.8); color:var(--wl-ink); font:inherit; font-size:13px; font-weight:750; font-variant-numeric:tabular-nums; letter-spacing:.04em; }
.wl-global-date-trigger:hover { border-color:color-mix(in srgb,var(--wl-accent) 40%,var(--wl-border)); background:rgba(255,255,253,.96); }
.wl-global-date-trigger svg { width:16px; height:16px; color:var(--wl-accent); }
.wl-global-time-trigger { min-width:132px; }
.wl-global-select-native { position:absolute !important; width:1px !important; height:1px !important; min-width:0 !important; min-height:0 !important; margin:-1px !important; padding:0 !important; border:0 !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; overflow:hidden !important; white-space:nowrap !important; opacity:0 !important; pointer-events:none !important; }
.wl-global-select-trigger { display:inline-flex; align-items:center; justify-content:space-between; gap:12px; min-width:156px; min-height:39px; padding:8px 10px 8px 12px; border:1px solid var(--wl-border); border-radius:var(--wl-radius-control); background:rgba(255,255,253,.76); box-shadow:inset 0 1px 0 rgba(255,255,255,.8); color:var(--wl-ink); font:inherit; font-size:13px; font-weight:700; line-height:1.25; text-align:left; transition:transform var(--wl-transition),border-color var(--wl-transition), background var(--wl-transition), box-shadow var(--wl-transition),color var(--wl-transition); }
.wl-global-select-trigger:hover { border-color:color-mix(in srgb,var(--wl-accent) 40%,var(--wl-border)); background:rgba(255,255,253,.96); transform:translateY(-1px); }
.wl-global-select-trigger.is-settling { animation:wl-select-settle .32s cubic-bezier(.2,.9,.25,1); }
@keyframes wl-select-settle { 0% { transform:scale(.97); } 55% { transform:translateY(-1px) scale(1.018); } 100% { transform:translateY(0) scale(1); } }
.wl-global-select-trigger span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wl-global-select-trigger svg { flex:0 0 auto; width:17px; height:17px; color:var(--wl-accent); }
.wl-global-time-trigger .wl-global-calendar-icon { display:none; }
.wl-global-time-trigger .wl-global-time-icon { display:block; }
.wl-global-date-trigger:not(.wl-global-time-trigger) .wl-global-time-icon { display:none; }
.wl-global-date-picker { position:fixed; z-index:11000; inset:0; display:grid; place-items:center; padding:16px; }
.wl-global-date-picker[hidden] { display:none; }
.wl-global-date-picker-backdrop { position:absolute; inset:0; background:rgba(37,34,29,.34); backdrop-filter:blur(7px) saturate(82%); }
.wl-global-date-picker-card { position:relative; z-index:1; width:min(342px, calc(100vw - 32px)); padding:16px; border:1px solid rgba(73,69,60,.13); border-radius:20px; background:rgba(255,255,253,.96); box-shadow:var(--wl-shadow-lg); backdrop-filter:blur(25px) saturate(140%); }
.wl-global-date-picker-head { display:grid; grid-template-columns:34px 1fr 34px; align-items:center; margin-bottom:13px; }
.wl-global-date-picker-head strong { color:var(--wl-ink); font-size:14px; text-align:center; }
.wl-global-date-picker-head button { width:30px; height:30px; border-radius:8px; color:var(--wl-text-secondary); font-size:23px; line-height:1; }
.wl-global-date-picker-head button:hover { background:var(--wl-bg-hover); color:var(--wl-ink); }
.wl-global-date-picker-week, .wl-global-date-picker-days { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center; }
.wl-global-date-picker-week { margin-bottom:6px; color:var(--wl-text-muted); font-size:10px; font-weight:800; }
.wl-global-date-picker-day { display:grid; place-items:center; aspect-ratio:1; border:1px solid transparent; border-radius:9px; color:var(--wl-text-secondary); font:inherit; font-size:12px; font-weight:680; }
.wl-global-date-picker-day:hover:not(:disabled) { background:color-mix(in srgb,var(--wl-accent) 9%, transparent); color:var(--wl-ink); }
.wl-global-date-picker-day.is-today { color:var(--wl-accent-dark); }
.wl-global-date-picker-day.is-selected { border-color:color-mix(in srgb,var(--wl-accent) 42%,transparent); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 18%,#fff),color-mix(in srgb,var(--wl-accent) 8%,#fff)); box-shadow:0 3px 9px color-mix(in srgb,var(--wl-accent) 17%,transparent); color:var(--wl-accent-dark); font-weight:850; }
.wl-global-date-picker-day:disabled { opacity:.28; cursor:not-allowed; }
.wl-global-time-picker { margin-top:13px; padding-top:12px; border-top:1px solid var(--wl-border-light); }
.wl-global-time-picker[hidden] { display:none; }
.wl-global-time-picker-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:9px; color:var(--wl-text-muted); font-size:11px; font-weight:760; letter-spacing:.03em; }
.wl-global-time-picker-head strong { color:var(--wl-ink); font-size:14px; font-variant-numeric:tabular-nums; letter-spacing:.06em; }
.wl-global-time-picker-grid { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:5px; }
.wl-global-time-picker-grid button { min-height:34px; border:1px solid transparent; border-radius:8px; background:rgba(246,245,242,.82); color:var(--wl-text-secondary); font:inherit; font-size:12px; font-weight:740; font-variant-numeric:tabular-nums; transition:background var(--wl-transition), color var(--wl-transition), transform var(--wl-transition), box-shadow var(--wl-transition); }
.wl-global-time-picker-grid button:hover { background:color-mix(in srgb,var(--wl-accent) 9%,rgba(255,255,253,.88)); color:var(--wl-ink); transform:translateY(-1px); }
.wl-global-time-picker-grid button.is-selected { border-color:color-mix(in srgb,var(--wl-accent) 34%,transparent); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 18%,#fff),color-mix(in srgb,var(--wl-accent) 7%,#fff)); box-shadow:0 3px 8px color-mix(in srgb,var(--wl-accent) 14%,transparent); color:var(--wl-accent-dark); }
.wl-global-date-picker.is-time-only .wl-global-time-picker { margin-top:0; padding-top:0; border-top:0; }
.wl-global-select-menu { position:fixed; z-index:11000; inset:0; display:grid; place-items:center; padding:16px; }
.wl-global-select-menu[hidden] { display:none; }
.wl-global-select-menu-backdrop { position:absolute; inset:0; background:rgba(37,34,29,.34); backdrop-filter:blur(7px) saturate(82%); }
.wl-global-select-menu-card { position:relative; z-index:1; width:min(390px, calc(100vw - 32px)); max-height:min(560px, calc(100vh - 32px)); overflow:hidden; border:1px solid rgba(73,69,60,.13); border-radius:20px; background:rgba(255,255,253,.97); box-shadow:var(--wl-shadow-lg); backdrop-filter:blur(25px) saturate(140%); }
.wl-global-select-menu-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 16px 11px; border-bottom:1px solid var(--wl-border-light); color:var(--wl-ink); font-size:14px; font-weight:800; }
.wl-global-select-menu-head button { display:grid; place-items:center; width:29px; height:29px; border-radius:8px; color:var(--wl-text-muted); font-size:21px; line-height:1; }
.wl-global-select-menu-head button:hover { background:var(--wl-bg-hover); color:var(--wl-ink); }
.wl-global-select-menu-list { display:grid; gap:3px; max-height:calc(min(560px, 100vh - 32px) - 59px); overflow:auto; padding:7px; }
.wl-global-select-menu-list button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:42px; padding:10px 11px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--wl-text-secondary); font:inherit; font-size:13px; font-weight:680; text-align:left; transition:background var(--wl-transition), color var(--wl-transition), transform var(--wl-transition); }
.wl-global-select-menu-list button:hover:not(:disabled) { background:color-mix(in srgb,var(--wl-accent) 7%,rgba(244,242,236,.74)); color:var(--wl-ink); transform:translateY(-1px); }
.wl-global-select-menu-list button.is-selected { background:color-mix(in srgb,var(--wl-accent) 11%,rgba(255,255,253,.9)); color:var(--wl-accent-dark); font-weight:800; }
.wl-global-select-menu-list button i { color:var(--wl-accent); font-style:normal; font-size:15px; }
.wl-global-select-menu-list button:disabled { opacity:.35; cursor:not-allowed; }
.wl-global-date-picker-foot { display:flex; justify-content:space-between; margin-top:11px; padding-top:10px; border-top:1px solid var(--wl-border-light); }
.wl-global-date-picker-foot button { padding:5px 8px; border-radius:7px; color:var(--wl-accent-dark); font:inherit; font-size:11px; font-weight:800; }
.wl-global-date-picker-foot button:hover { background:color-mix(in srgb,var(--wl-accent) 9%,transparent); }
/* 发布工作台：位置与媒体入口不再是浏览器式灰底胶囊，改为有层次的编辑器工具面。 */
.wl-publish-location-wrap {
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 38px auto;
    align-items:center;
    gap:9px;
    min-height:58px;
    margin:0 0 15px;
    padding:9px 10px;
    border:1px solid rgba(73,69,60,.11);
    border-radius:15px;
    background:linear-gradient(135deg,rgba(255,255,253,.82),color-mix(in srgb,#dfe7e4 10%,rgba(255,255,253,.57)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 8px 18px rgba(61,55,46,.035);
    color:#7c8078;
    backdrop-filter:blur(18px) saturate(120%);
    -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.wl-publish-location-wrap > svg {
    display:grid;
    place-self:center;
    width:32px;
    height:32px;
    padding:8px;
    border:1px solid rgba(115,133,121,.14);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(232,238,232,.94),rgba(255,255,253,.76));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
    color:#778276;
}
.wl-publish-page .wl-publish-location-input {
    min-width:0;
    min-height:38px;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    outline:0;
    background:transparent;
    box-shadow:none;
    color:var(--wl-ink);
    font:inherit;
    font-size:14px;
    font-weight:700;
    letter-spacing:.015em;
}
.wl-publish-page .wl-publish-location-input:hover,
.wl-publish-page .wl-publish-location-input:focus { border:0; background:transparent; box-shadow:none; }
.wl-publish-page .wl-publish-location-input::placeholder { color:#96948c; font-weight:650; }
.wl-location-map-btn {
    width:38px;
    height:38px;
    border:1px solid color-mix(in srgb,var(--wl-accent) 24%,rgba(73,69,60,.1));
    border-radius:11px;
    background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 12%,rgba(255,255,253,.96)),color-mix(in srgb,var(--wl-accent) 4%,rgba(255,255,253,.72)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 3px 9px color-mix(in srgb,var(--wl-accent) 9%,transparent);
    color:var(--wl-accent-dark);
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition),color var(--wl-transition);
}
.wl-location-map-btn:hover { border-color:color-mix(in srgb,var(--wl-accent) 50%,rgba(73,69,60,.12)); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 19%,rgba(255,255,253,.98)),color-mix(in srgb,var(--wl-accent) 8%,rgba(255,255,253,.78))); box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 7px 14px color-mix(in srgb,var(--wl-accent) 14%,transparent); color:var(--wl-accent-dark); transform:translateY(-1px); }
.wl-location-map-btn:active { transform:translateY(0) scale(.96); }
.wl-location-clear-btn { width:30px; height:30px; border:1px solid rgba(73,69,60,.1); border-radius:9px; background:rgba(255,255,253,.58); box-shadow:inset 0 1px 0 rgba(255,255,255,.76); }
.wl-publish-quick-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:2px;
    padding:9px;
    border:1px solid rgba(73,69,60,.1);
    border-radius:15px;
    background:linear-gradient(145deg,rgba(242,240,235,.82),rgba(255,255,253,.54));
    box-shadow:inset 0 1px 1px rgba(73,69,60,.06),inset 0 1px 0 rgba(255,255,255,.76);
    backdrop-filter:blur(16px) saturate(116%);
    -webkit-backdrop-filter:blur(16px) saturate(116%);
}
.wl-quick-btn {
    --wl-quick-tone:#7596a8;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:0;
    min-height:45px;
    padding:9px 12px;
    border:1px solid transparent;
    border-radius:11px;
    background:rgba(255,255,253,.42);
    color:color-mix(in srgb,var(--wl-quick-tone) 57%,var(--wl-ink));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.68);
    font:inherit;
    font-size:13px;
    font-weight:760;
    letter-spacing:.015em;
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition),color var(--wl-transition);
}
.wl-quick-btn[data-action="video"] { --wl-quick-tone:#948891; }
.wl-quick-btn svg { width:18px; height:18px; padding:1px; color:var(--wl-quick-tone); filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)); }
.wl-quick-btn:hover { border-color:color-mix(in srgb,var(--wl-quick-tone) 24%,transparent); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-quick-tone) 8%,rgba(255,255,253,.96)),rgba(255,255,253,.82)); box-shadow:0 5px 13px color-mix(in srgb,var(--wl-quick-tone) 10%,transparent),inset 0 1px 0 rgba(255,255,255,.94); color:color-mix(in srgb,var(--wl-quick-tone) 74%,var(--wl-ink)); transform:translateY(-1px); }
.wl-quick-btn:active { transform:translateY(0) scale(.98); }
.wl-quick-btn:focus-visible,.wl-location-map-btn:focus-visible { outline:2px solid var(--wl-focus-ring); outline-offset:2px; }
@media (max-width: 700px) {
    .wl-navbar-inner { height:56px; gap:5px; }
    .wl-navbar-nav { gap:1px; padding-inline:6px; scroll-padding-inline:50px; }
    .wl-navbar-nav::before, .wl-navbar-nav::after { flex-basis:0; }
    .wl-navbar-nav a { min-height:36px; padding:8px 10px; font-size:13px; }
    /* 手机沿用自然横滑；桌面显式箭头避免滚动条被隐藏后无路可回。 */
    .wl-navbar-scroll-control { display:none !important; }
    .wl-navbar-nav-stage.has-prev .wl-navbar-nav, .wl-navbar-nav-stage.has-next .wl-navbar-nav { padding-inline:6px; }
    .wl-publish-link { min-width:38px; min-height:36px; margin-left:0; padding:8px 10px; }
    .wl-publish-link span { display:none; }
    .wl-feed-visibility-filter { margin-top:5px; }
    .wl-feed-visibility-filter-options { min-width:0; flex:1; }
    .wl-feed-visibility-filter-options a { padding-inline:7px; }
    .wl-publish-location-wrap { grid-template-columns:32px minmax(0,1fr) 36px auto; gap:7px; min-height:54px; padding:8px; border-radius:13px; }
    .wl-publish-location-wrap > svg { width:30px; height:30px; padding:7px; border-radius:9px; }
    .wl-location-map-btn { width:36px; height:36px; border-radius:10px; }
    .wl-publish-quick-actions { gap:6px; padding:7px; border-radius:13px; }
    .wl-quick-btn { min-height:42px; gap:6px; padding:8px 7px; font-size:12px; }
    .wl-quick-btn svg { width:17px; height:17px; }
    .wl-daily-theme-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; padding: 4px; }
    .wl-daily-theme-tab { justify-content:flex-start; padding: 8px 10px; }
}
@media (max-width: 390px) {
    .wl-feed-visibility-filter { align-items:flex-start; flex-direction:column; gap:7px; padding:9px; }
    .wl-feed-visibility-filter-options { width:100%; }
}
/* 有数：角色、归属和排序都使用同一套低饱和玻璃控件，保持视图层级一致。 */
.wl-assets-roles {
    display:flex;
    align-items:center;
    gap:3px;
    margin:0 0 14px;
    padding:4px;
    border:1px solid rgba(73,69,60,.11);
    border-radius:13px;
    background:linear-gradient(145deg,rgba(235,232,225,.92),rgba(246,244,239,.7));
    box-shadow:inset 0 1px 1px rgba(73,69,60,.07),inset 0 1px 0 rgba(255,255,255,.72);
    backdrop-filter:blur(14px) saturate(118%);
    -webkit-backdrop-filter:blur(14px) saturate(118%);
}
.wl-assets-role-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:max-content;
    min-height:34px;
    margin:0;
    padding:7px 12px;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:var(--wl-text-secondary);
    font:inherit;
    font-size:12px;
    font-weight:720;
    line-height:1.2;
    white-space:nowrap;
    cursor:pointer;
    transition:transform var(--wl-transition),color var(--wl-transition),background var(--wl-transition),border-color var(--wl-transition),box-shadow var(--wl-transition);
}
.wl-assets-role-btn:hover { background:rgba(255,255,253,.44); color:var(--wl-ink); transform:translateY(-1px); }
.wl-assets-role-btn.is-active {
    border-color:color-mix(in srgb,var(--wl-accent) 23%,transparent);
    background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 10%,rgba(255,255,253,.98)),rgba(255,255,253,.94));
    box-shadow:0 3px 10px rgba(61,55,46,.1),inset 0 1px 0 rgba(255,255,255,.98);
    color:color-mix(in srgb,var(--wl-accent) 72%,var(--wl-ink));
}
.wl-assets-role-dot,.wl-assets-role-all-mark { flex:0 0 7px; width:7px; height:7px; margin:0; border-radius:50%; box-shadow:0 0 0 3px color-mix(in srgb,currentColor 11%,transparent); }
.wl-assets-role-all-mark { background:#829889; }
.wl-assets-role-btn.is-active .wl-assets-role-dot,.wl-assets-role-btn.is-active .wl-assets-role-all-mark { transform:scale(1.12); }
.wl-assets-role-manage { margin-left:auto; color:var(--wl-text-muted); }
.wl-assets-role-manage-icon { display:grid; place-items:center; width:16px; height:16px; border:1px solid rgba(73,69,60,.14); border-radius:5px; color:var(--wl-text-secondary); font-size:12px; line-height:1; }
.wl-assets-role-manage:hover { border-color:rgba(73,69,60,.1); color:var(--wl-accent-dark); }
.wl-assets-subfilters-right { gap:9px; }
.wl-assets-sort + .wl-global-select-trigger {
    min-width:132px;
    min-height:42px;
    padding:9px 11px 9px 13px;
    border-color:rgba(73,69,60,.13);
    border-radius:12px;
    background:linear-gradient(145deg,rgba(255,255,253,.92),color-mix(in srgb,#dce7e4 8%,rgba(255,255,253,.72)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 4px 12px rgba(61,55,46,.05);
    color:var(--wl-ink);
    font-weight:780;
}
.wl-assets-sort + .wl-global-select-trigger:hover { border-color:color-mix(in srgb,var(--wl-accent) 42%,var(--wl-border)); box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 7px 16px color-mix(in srgb,var(--wl-accent) 10%,transparent); transform:translateY(-1px); }
.wl-assets-sort + .wl-global-select-trigger svg { width:18px; height:18px; padding:2px; border-radius:6px; background:color-mix(in srgb,var(--wl-accent) 8%,transparent); color:var(--wl-accent-dark); }
.wl-assets-field input,.wl-assets-field textarea,.wl-assets-import-form textarea,#wl-assets-import-json,.wl-assets-share-row input,.wl-assets-role-row input[type="text"],.wl-assets-usage-manual input[type="datetime-local"] {
    border-color:rgba(73,69,60,.13);
    background:linear-gradient(145deg,rgba(255,255,253,.9),color-mix(in srgb,#dfe7e4 6%,rgba(255,255,253,.7)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 2px 6px rgba(61,55,46,.025);
}
.wl-assets-field input:hover,.wl-assets-field textarea:hover,.wl-assets-import-form textarea:hover,#wl-assets-import-json:hover,.wl-assets-share-row input:hover,.wl-assets-role-row input[type="text"]:hover,.wl-assets-usage-manual input[type="datetime-local"]:hover { border-color:color-mix(in srgb,var(--wl-accent) 32%,var(--wl-border)); }
.wl-assets-field input:focus,.wl-assets-field textarea:focus,.wl-assets-import-form textarea:focus,#wl-assets-import-json:focus,.wl-assets-share-row input:focus,.wl-assets-role-row input[type="text"]:focus,.wl-assets-usage-manual input[type="datetime-local"]:focus { border-color:color-mix(in srgb,var(--wl-accent) 58%,var(--wl-border)); background:rgba(255,255,253,.98); box-shadow:0 0 0 4px color-mix(in srgb,var(--wl-accent) 13%,transparent),inset 0 1px 0 rgba(255,255,255,.96); }
.wl-assets-field .wl-global-select-trigger,.wl-assets-sub-row .wl-global-select-trigger {
    width:100%;
    min-height:41px;
    border-color:rgba(73,69,60,.13);
    border-radius:11px;
    background:linear-gradient(145deg,rgba(255,255,253,.9),color-mix(in srgb,#dfe7e4 6%,rgba(255,255,253,.7)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 2px 6px rgba(61,55,46,.025);
    color:var(--wl-ink);
}
.wl-assets-field .wl-global-select-trigger:hover,.wl-assets-sub-row .wl-global-select-trigger:hover { border-color:color-mix(in srgb,var(--wl-accent) 38%,var(--wl-border)); }
@media (max-width:700px) {
    .wl-assets-roles { width:calc(100% + 26px); margin-left:-13px; padding-inline:13px; border-right:0; border-left:0; border-radius:0; }
    .wl-assets-role-btn { min-height:35px; padding-inline:11px; }
    .wl-assets-role-manage { margin-left:0; }
    .wl-assets-subfilters-right { width:100%; justify-content:space-between; }
    .wl-assets-sort + .wl-global-select-trigger { min-width:138px; }
}
/* 一记集合筛选：主题与范围不再是散乱文本 / 旧胶囊，统一为有轨道层级的玻璃分段工具面。 */
.wl-daily-filters { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin:1px 0 16px; padding:0; border:0; }
.wl-daily-filter-themes,
.wl-daily-filter-ranges { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:3px; padding:4px; border:1px solid rgba(73,69,60,.11); border-radius:14px; background:linear-gradient(145deg,rgba(235,232,225,.92),rgba(246,244,239,.7)); box-shadow:inset 0 1px 1px rgba(73,69,60,.07),inset 0 1px 0 rgba(255,255,255,.72); }
.wl-daily-filter-themes::before,
.wl-daily-filter-ranges::before { display:inline-flex; align-items:center; min-height:32px; margin:0 3px 0 2px; padding:0 7px; color:var(--wl-text-muted); font-size:10px; font-weight:850; letter-spacing:.1em; }
.wl-daily-filter-chip { display:inline-flex; align-items:center; justify-content:center; min-height:34px; margin:0; padding:7px 11px; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--wl-text-secondary); font:inherit; font-size:12px; font-weight:740; line-height:1.15; white-space:nowrap; transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition),color var(--wl-transition); }
.wl-daily-filter-chip:hover { background:rgba(255,255,253,.45); color:var(--wl-text); transform:translateY(-1px); }
.wl-daily-filter-chip.is-active { border-color:color-mix(in srgb,var(--wl-accent) 24%,transparent); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 10%,rgba(255,255,253,.98)),rgba(255,255,253,.94)); box-shadow:0 3px 10px rgba(61,55,46,.1),inset 0 1px 0 rgba(255,255,255,.98); color:var(--wl-accent-dark); }
.wl-daily-filter-themes .wl-daily-filter-chip:not([data-theme="all"])::before { content:""; width:7px; height:7px; margin-right:7px; border-radius:50%; background:var(--wl-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--wl-accent) 11%,transparent); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="meal"]::before { background:#e08a3c; box-shadow:0 0 0 3px rgba(224,138,60,.12); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="outfit"]::before { background:#8a6fd6; box-shadow:0 0 0 3px rgba(138,111,214,.12); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="body"]::before { background:#3fa88f; box-shadow:0 0 0 3px rgba(63,168,143,.12); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="selfie"]::before { background:#d6708f; box-shadow:0 0 0 3px rgba(214,112,143,.12); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="skin"]::before { background:#57b3c7; box-shadow:0 0 0 3px rgba(87,179,199,.12); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="hair"]::before { background:#9c6b4f; box-shadow:0 0 0 3px rgba(156,107,79,.12); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="mood"]::before { background:#e3b93c; box-shadow:0 0 0 3px rgba(227,185,60,.12); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="study"]::before { background:#7a9e4a; box-shadow:0 0 0 3px rgba(122,158,74,.12); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="workout"]::before { background:#4a86d4; box-shadow:0 0 0 3px rgba(74,134,212,.12); }
.wl-daily-filter-themes .wl-daily-filter-chip[data-theme="window"]::before { background:#8a97a8; box-shadow:0 0 0 3px rgba(138,151,168,.12); }
#wl-daily-custom-month { min-height:36px; border-color:rgba(73,69,60,.13); border-radius:10px; background:linear-gradient(145deg,rgba(255,255,253,.92),rgba(246,244,239,.75)); box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 2px 6px rgba(61,55,46,.025); }
@media (max-width:700px) {
    .wl-daily-filter-themes,
    .wl-daily-filter-ranges { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
    .wl-daily-filter-themes::-webkit-scrollbar,
    .wl-daily-filter-ranges::-webkit-scrollbar { display:none; }
    .wl-daily-filter-themes::before,
    .wl-daily-filter-ranges::before { position:sticky; left:-4px; z-index:1; background:linear-gradient(90deg,rgba(239,237,232,.98),rgba(239,237,232,.78)); }
    .wl-daily-filter-chip { flex:0 0 auto; }
}

/* 时间页：发布、手工记录和删除操作补齐主/次/危险层级。 */
.wl-focus-page-head > .wl-focus-publish-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 14px;
    border:1px solid color-mix(in srgb,var(--wl-accent) 31%,var(--wl-border));
    border-radius:11px;
    background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 12%,rgba(255,255,253,.98)),color-mix(in srgb,var(--wl-accent) 4%,rgba(255,255,253,.76)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 13px color-mix(in srgb,var(--wl-accent) 11%,transparent);
    color:var(--wl-accent-dark);
    font-size:12px;
    font-weight:800;
    letter-spacing:.025em;
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition);
}
.wl-focus-page-head > .wl-focus-publish-link:hover { border-color:color-mix(in srgb,var(--wl-accent) 58%,var(--wl-border)); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 18%,rgba(255,255,253,.98)),color-mix(in srgb,var(--wl-accent) 8%,rgba(255,255,253,.82))); box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 9px 18px color-mix(in srgb,var(--wl-accent) 17%,transparent); color:var(--wl-accent-dark); transform:translateY(-1px); }
.wl-focus-timer-actions .wl-btn { min-height:41px; border-radius:11px; }
.wl-focus-manual-form button {
    min-height:42px;
    border:1px solid color-mix(in srgb,var(--wl-accent) 70%,#6f3d10);
    border-radius:11px;
    background:linear-gradient(135deg,color-mix(in srgb,var(--wl-accent) 94%,#fff),var(--wl-accent-dark));
    box-shadow:0 7px 16px color-mix(in srgb,var(--wl-accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.3);
    color:#fff;
    font-weight:780;
}
.wl-focus-manual-form button:hover:not(:disabled) { background:linear-gradient(135deg,var(--wl-accent-light),var(--wl-accent-dark)); box-shadow:0 10px 21px color-mix(in srgb,var(--wl-accent) 29%,transparent),inset 0 1px 0 rgba(255,255,255,.32); transform:translateY(-1px); }
.wl-focus-entry-list article { border-bottom-color:var(--wl-border-light); }
.wl-focus-entry-list button {
    min-width:48px;
    min-height:30px;
    padding:5px 8px;
    border:1px solid rgba(166,91,83,.2);
    border-radius:8px;
    background:linear-gradient(145deg,rgba(255,249,247,.9),rgba(248,233,228,.68));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
    color:#a65b53;
    font:inherit;
    font-size:11px;
    font-weight:760;
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition);
}
.wl-focus-entry-list button:hover { border-color:rgba(166,91,83,.42); background:linear-gradient(145deg,rgba(255,243,239,.98),rgba(245,220,212,.78)); box-shadow:0 4px 10px rgba(136,67,59,.1),inset 0 1px 0 rgba(255,255,255,.92); transform:translateY(-1px); }

/* 旅行中心：所有新建、编辑、删除、标签页与表单统一到同一套暖白玻璃工具面。 */
.wl-travel-page .wl-travel-primary-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 14px;
    border:1px solid color-mix(in srgb,var(--wl-accent) 72%,#6f3d10);
    border-radius:11px;
    background:linear-gradient(135deg,color-mix(in srgb,var(--wl-accent) 94%,#fff),var(--wl-accent-dark));
    box-shadow:0 8px 18px color-mix(in srgb,var(--wl-accent) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.3);
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:790;
    letter-spacing:.015em;
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition);
}
.wl-travel-page .wl-travel-primary-btn:hover { border-color:color-mix(in srgb,var(--wl-accent) 84%,#6f3d10); background:linear-gradient(135deg,var(--wl-accent-light),var(--wl-accent-dark)); box-shadow:0 11px 24px color-mix(in srgb,var(--wl-accent) 32%,transparent),inset 0 1px 0 rgba(255,255,255,.34); transform:translateY(-1px); }
.wl-travel-page .wl-travel-primary-btn:active { transform:translateY(0) scale(.98); }
.wl-travel-page .wl-travel-secondary-btn,
.wl-travel-page .wl-travel-back-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:8px 13px;
    border:1px solid rgba(73,69,60,.14);
    border-radius:10px;
    background:linear-gradient(145deg,rgba(255,255,253,.92),color-mix(in srgb,#dce7e4 7%,rgba(255,255,253,.68)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 3px 9px rgba(61,55,46,.045);
    color:var(--wl-text-secondary);
    font:inherit;
    font-size:12px;
    font-weight:760;
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition),color var(--wl-transition);
}
.wl-travel-page .wl-travel-secondary-btn:hover,
.wl-travel-page .wl-travel-back-btn:hover { border-color:color-mix(in srgb,var(--wl-accent) 39%,var(--wl-border)); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 7%,rgba(255,255,253,.98)),rgba(255,255,253,.82)); box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 7px 15px color-mix(in srgb,var(--wl-accent) 8%,transparent); color:var(--wl-ink); transform:translateY(-1px); }
.wl-travel-page .wl-travel-danger-link,
.wl-travel-page .wl-trip-item-actions button[data-delete-item],
.wl-travel-page .wl-route-point-delete {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:6px 9px;
    border:1px solid rgba(166,91,83,.2);
    border-radius:8px;
    background:linear-gradient(145deg,rgba(255,249,247,.9),rgba(248,233,228,.68));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
    color:#a65b53;
    font:inherit;
    font-size:11px;
    font-weight:760;
    text-decoration:none;
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition);
}
.wl-travel-page .wl-travel-danger-link:hover,
.wl-travel-page .wl-trip-item-actions button[data-delete-item]:hover,
.wl-travel-page .wl-route-point-delete:hover { border-color:rgba(166,91,83,.42); background:linear-gradient(145deg,rgba(255,243,239,.98),rgba(245,220,212,.78)); box-shadow:0 4px 10px rgba(136,67,59,.1),inset 0 1px 0 rgba(255,255,255,.92); transform:translateY(-1px); }
.wl-trip-tabs {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:3px;
    padding:4px;
    border:1px solid rgba(73,69,60,.11);
    border-radius:14px;
    background:linear-gradient(145deg,rgba(235,232,225,.92),rgba(246,244,239,.7));
    box-shadow:inset 0 1px 1px rgba(73,69,60,.07),inset 0 1px 0 rgba(255,255,255,.72);
}
.wl-trip-tabs button {
    min-width:0;
    min-height:36px;
    margin:0;
    padding:7px 8px;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:var(--wl-text-muted);
    font:inherit;
    font-size:12px;
    font-weight:740;
    white-space:nowrap;
    transition:transform var(--wl-transition),color var(--wl-transition),background var(--wl-transition),border-color var(--wl-transition),box-shadow var(--wl-transition);
}
.wl-trip-tabs button:hover { background:rgba(255,255,253,.45); color:var(--wl-text); transform:translateY(-1px); }
.wl-trip-tabs button.active { border-color:color-mix(in srgb,var(--wl-accent) 23%,transparent); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 10%,rgba(255,255,253,.98)),rgba(255,255,253,.94)); box-shadow:0 3px 10px rgba(61,55,46,.1),inset 0 1px 0 rgba(255,255,255,.98); color:var(--wl-accent-dark); }
.wl-travel-modal { background:rgba(37,34,29,.38); backdrop-filter:blur(8px) saturate(82%); }
.wl-travel-modal-panel { border:1px solid rgba(73,69,60,.12); border-radius:22px; background:rgba(255,255,253,.93); box-shadow:var(--wl-shadow-lg); backdrop-filter:blur(25px) saturate(135%); }
.wl-travel-modal-head { border-bottom-color:var(--wl-border-light); }
.wl-travel-confirm-copy { padding:4px 0 2px; }
.wl-travel-confirm-copy > span { display:block; margin-bottom:8px; color:#a65b53; font-size:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.wl-travel-confirm-copy p { margin:0; color:var(--wl-text-secondary); font-size:13px; line-height:1.75; }
.wl-travel-form-actions .wl-travel-danger-link { min-height:40px; padding-inline:13px; }
.wl-travel-modal-close { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(73,69,60,.12); border-radius:9px; background:rgba(255,255,253,.62); box-shadow:inset 0 1px 0 rgba(255,255,255,.85); color:var(--wl-text-muted); font-size:22px; line-height:1; transition:transform var(--wl-transition),background var(--wl-transition),color var(--wl-transition); }
.wl-travel-modal-close:hover { background:rgba(245,240,235,.9); color:var(--wl-text); transform:rotate(4deg) scale(1.04); }
.wl-travel-page .wl-travel-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.wl-travel-page .wl-travel-field textarea,
.wl-travel-modal .wl-travel-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.wl-travel-modal .wl-travel-field textarea {
    border-color:rgba(73,69,60,.13);
    border-radius:11px;
    background:linear-gradient(145deg,rgba(255,255,253,.92),color-mix(in srgb,#dfe7e4 6%,rgba(255,255,253,.7)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 2px 6px rgba(61,55,46,.025);
    color:var(--wl-ink);
}
.wl-travel-page .wl-travel-field input:hover,
.wl-travel-page .wl-travel-field textarea:hover,
.wl-travel-modal .wl-travel-field input:hover,
.wl-travel-modal .wl-travel-field textarea:hover { border-color:color-mix(in srgb,var(--wl-accent) 34%,var(--wl-border)); }
.wl-travel-page .wl-travel-field .wl-global-select-trigger,
.wl-travel-modal .wl-travel-field .wl-global-select-trigger { width:100%; min-height:41px; border-color:rgba(73,69,60,.13); border-radius:11px; background:linear-gradient(145deg,rgba(255,255,253,.92),color-mix(in srgb,#dfe7e4 6%,rgba(255,255,253,.7))); box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 2px 6px rgba(61,55,46,.025); }
.wl-travel-page .wl-trip-item-actions button:not([data-delete-item]),
.wl-travel-page .wl-todo-item button:not([data-delete-item]),
.wl-travel-page .wl-travel-poi-result { border:1px solid rgba(73,69,60,.12); border-radius:9px; background:rgba(255,255,253,.68); box-shadow:inset 0 1px 0 rgba(255,255,255,.82); color:var(--wl-text-secondary); font:inherit; font-size:12px; font-weight:700; transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition),color var(--wl-transition); }
.wl-travel-page .wl-trip-item-actions button:not([data-delete-item]):hover,
.wl-travel-page .wl-todo-item button:not([data-delete-item]):hover,
.wl-travel-page .wl-travel-poi-result:hover { border-color:color-mix(in srgb,var(--wl-accent) 34%,var(--wl-border)); background:color-mix(in srgb,var(--wl-accent) 6%,rgba(255,255,253,.9)); box-shadow:0 4px 10px color-mix(in srgb,var(--wl-accent) 7%,transparent),inset 0 1px 0 rgba(255,255,255,.92); color:var(--wl-ink); transform:translateY(-1px); }
.wl-travel-page .wl-todo-item input[type="checkbox"],
.wl-travel-page .wl-trip-moment-picker input[type="radio"] { appearance:none; -webkit-appearance:none; position:relative; width:19px; height:19px; flex:0 0 19px; margin:0; border:1px solid rgba(73,69,60,.26); border-radius:6px; background:rgba(255,255,253,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.9); cursor:pointer; transition:border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition),transform var(--wl-transition); }
.wl-travel-page .wl-trip-moment-picker input[type="radio"] { border-radius:50%; }
.wl-travel-page .wl-todo-item input[type="checkbox"]:checked,
.wl-travel-page .wl-trip-moment-picker input[type="radio"]:checked { border-color:var(--wl-accent); background:var(--wl-accent); box-shadow:0 3px 8px color-mix(in srgb,var(--wl-accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.3); }
.wl-travel-page .wl-todo-item input[type="checkbox"]:checked::after { content:""; position:absolute; left:5px; top:2px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.wl-travel-page .wl-trip-moment-picker input[type="radio"]:checked::after { content:""; position:absolute; inset:4px; border-radius:50%; background:#fff; }
@media (max-width:700px) {
    .wl-focus-page-head > .wl-focus-publish-link { min-height:38px; padding:8px 11px; }
    .wl-trip-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
    .wl-trip-tabs button { min-height:35px; font-size:11px; }
    .wl-travel-page .wl-travel-primary-btn { min-height:40px; padding:8px 11px; }
    .wl-travel-modal-panel { border-radius:19px 19px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/*
 * 浅色主操作体系：所有非危险、非业务状态的确认/保存/发布动作，
 * 统一复用顶部“发布”的暖白玻璃面，避免出现厚重深色实心按钮。
 */
:root {
    --wl-action-border: color-mix(in srgb, var(--wl-accent) 34%, var(--wl-border));
    --wl-action-surface: linear-gradient(135deg, color-mix(in srgb, var(--wl-accent) 11%, rgba(255,255,255,.8)), color-mix(in srgb, var(--wl-accent) 4%, rgba(255,255,255,.46)));
    --wl-action-surface-hover: linear-gradient(135deg, color-mix(in srgb, var(--wl-accent) 18%, rgba(255,255,255,.86)), color-mix(in srgb, var(--wl-accent) 8%, rgba(255,255,255,.52)));
    --wl-action-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 5px 13px color-mix(in srgb, var(--wl-accent) 11%, transparent);
    --wl-action-shadow-hover: inset 0 1px 0 rgba(255,255,255,.96), 0 9px 19px color-mix(in srgb, var(--wl-accent) 18%, transparent);
}

.wl-btn-primary,
.wl-publish-btn,
.wl-manage-save-btn,
.wl-visibility-dialog-save,
.wl-crop-btn-confirm,
.wl-login-btn,
.wl-focus-manual-form button:not(:disabled),
.wl-travel-page .wl-travel-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border: 1px solid var(--wl-action-border);
    border-radius: var(--wl-radius-control);
    background: var(--wl-action-surface);
    box-shadow: var(--wl-action-shadow);
    color: var(--wl-accent-dark);
    text-shadow: 0 1px 0 rgba(255,255,255,.48);
}
.wl-btn-primary:hover:not(:disabled),
.wl-publish-btn:hover:not(:disabled),
.wl-manage-save-btn:hover:not(:disabled),
.wl-visibility-dialog-save:hover:not(:disabled),
.wl-crop-btn-confirm:hover:not(:disabled),
.wl-login-btn:hover:not(:disabled),
.wl-focus-manual-form button:hover:not(:disabled),
.wl-travel-page .wl-travel-primary-btn:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--wl-accent) 60%, var(--wl-border));
    background: var(--wl-action-surface-hover);
    box-shadow: var(--wl-action-shadow-hover);
    color: var(--wl-accent-dark);
    transform: translateY(-1px);
}
.wl-btn-primary:active:not(:disabled),
.wl-publish-btn:active:not(:disabled),
.wl-manage-save-btn:active:not(:disabled),
.wl-visibility-dialog-save:active:not(:disabled),
.wl-crop-btn-confirm:active:not(:disabled),
.wl-login-btn:active:not(:disabled),
.wl-focus-manual-form button:active:not(:disabled),
.wl-travel-page .wl-travel-primary-btn:active:not(:disabled) {
    transform: translateY(0) scale(.98);
}
.wl-btn-primary:disabled,
.wl-publish-btn:disabled,
.wl-manage-save-btn:disabled,
.wl-visibility-dialog-save:disabled,
.wl-crop-btn-confirm:disabled,
.wl-login-btn:disabled,
.wl-focus-manual-form button:disabled,
.wl-travel-page .wl-travel-primary-btn:disabled {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
    color: color-mix(in srgb, var(--wl-accent-dark) 52%, var(--wl-text-muted));
    opacity: .54;
}

/* 普通“已选中”操作保持可辨识，但降为浮起的浅色选择面。 */
.wl-english-ref-toggle,
.wl-assets-cutout-mode { position:relative; }
.wl-english-ref-toggle button,
.wl-assets-cutout-mode button {
    -webkit-tap-highlight-color:transparent;
    outline:none;
    user-select:none;
}
.wl-english-type-list button.is-active,
.wl-english-tag-list button.is-active,
.wl-english-mastery-list button.is-active,
.wl-english-ref-toggle button.is-active,
.wl-assets-cutout-mode button.is-active,
.wl-photo-editor-ratios button.active,
.wl-daily-mood-score.is-active,
.wl-level-btn.active,
.wl-tag-cloud-item.active {
    border: 1px solid color-mix(in srgb, var(--wl-accent) 30%, var(--wl-border));
    background: linear-gradient(145deg, color-mix(in srgb, var(--wl-accent) 11%, rgba(255,255,253,.98)), rgba(255,255,253,.94));
    box-shadow: 0 3px 10px color-mix(in srgb, var(--wl-accent) 10%, transparent), inset 0 1px 0 rgba(255,255,255,.98);
    color: var(--wl-accent-dark);
}
.wl-english-type-list button.is-active:hover,
.wl-english-tag-list button.is-active:hover,
.wl-english-mastery-list button.is-active:hover,
.wl-english-ref-toggle button.is-active:hover,
.wl-assets-cutout-mode button.is-active:hover,
.wl-photo-editor-ratios button.active:hover,
.wl-daily-mood-score.is-active:hover,
.wl-level-btn.active:hover,
.wl-tag-cloud-item.active:hover {
    border-color: color-mix(in srgb, var(--wl-accent) 53%, var(--wl-border));
    background: var(--wl-action-surface-hover);
    color: var(--wl-accent-dark);
    transform: translateY(-1px);
}
.wl-tag-cloud-item.active .wl-tag-cloud-count {
    background: color-mix(in srgb, var(--wl-accent) 12%, rgba(255,255,253,.82));
    color: var(--wl-accent-dark);
}

/* 有数的“+1 次”仍保留绿色业务语义，但从深色实体改为轻量记录按钮。 */
.wl-assets-plus-one-btn,
.wl-assets-detail-plus-one-btn {
    border: 1px solid color-mix(in srgb, #3fa88f 37%, var(--wl-border));
    background: linear-gradient(145deg, color-mix(in srgb, #3fa88f 12%, rgba(255,255,253,.98)), color-mix(in srgb, #3fa88f 5%, rgba(255,255,253,.78)));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.94), 0 5px 14px rgba(63,168,143,.13);
    color: #28745f;
    text-shadow: 0 1px 0 rgba(255,255,255,.52);
}
.wl-assets-plus-one-btn:hover,
.wl-assets-detail-plus-one-btn:hover {
    border-color: rgba(63,168,143,.62);
    background: linear-gradient(145deg, color-mix(in srgb, #3fa88f 19%, rgba(255,255,253,.98)), color-mix(in srgb, #3fa88f 8%, rgba(255,255,253,.82)));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.98), 0 9px 19px rgba(63,168,143,.19);
    color: #206552;
    transform: translateY(-1px) scale(1.015);
}
.wl-assets-detail-plus-one-btn .wl-assets-po-icon {
    background: color-mix(in srgb, #3fa88f 14%, rgba(255,255,253,.88));
}

@media (max-width:700px) {
    .wl-btn-primary,
    .wl-publish-btn,
    .wl-manage-save-btn,
    .wl-visibility-dialog-save,
    .wl-crop-btn-confirm,
    .wl-login-btn,
    .wl-focus-manual-form button:not(:disabled),
    .wl-travel-page .wl-travel-primary-btn { min-height:40px; }
}

/*
 * 成长中心 / OKR / Todo：新增、编辑、补录、保存等普通动作统一使用浅暖白玻璃面。
 * 完成按钮单独使用低饱和绿色，删除仍保留危险语义，不与普通操作混淆。
 */
.wl-growth-panel-head button,
.wl-growth-habit-undo,
.wl-growth-habit-edit,
.wl-growth-goal-edit,
.wl-growth-eval-add,
.wl-growth-eval-edit,
.wl-growth-okr-edit-section > div:first-child button,
.wl-growth-habit-restore,
.wl-growth-redeem:not(:disabled),
.wl-okr-section-head button,
.wl-special-edit-head button,
.wl-todo-publish-add-item,
.wl-todo-publish-add-group {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:6px 10px;
    border:1px solid var(--wl-action-border);
    border-radius:9px;
    background:var(--wl-action-surface);
    box-shadow:var(--wl-action-shadow);
    color:var(--wl-accent-dark);
    font:inherit;
    font-size:11px;
    font-weight:780;
    line-height:1.2;
    letter-spacing:.01em;
    text-decoration:none;
    text-shadow:0 1px 0 rgba(255,255,255,.48);
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition),color var(--wl-transition);
}
.wl-growth-panel-head button:hover,
.wl-growth-habit-undo:hover,
.wl-growth-habit-edit:hover,
.wl-growth-goal-edit:hover,
.wl-growth-eval-add:hover,
.wl-growth-eval-edit:hover,
.wl-growth-okr-edit-section > div:first-child button:hover,
.wl-growth-habit-restore:hover,
.wl-growth-redeem:not(:disabled):hover,
.wl-okr-section-head button:hover,
.wl-special-edit-head button:hover,
.wl-todo-publish-add-item:hover,
.wl-todo-publish-add-group:hover {
    border-color:color-mix(in srgb,var(--wl-accent) 60%,var(--wl-border));
    background:var(--wl-action-surface-hover);
    box-shadow:var(--wl-action-shadow-hover);
    color:var(--wl-accent-dark);
    text-decoration:none;
    transform:translateY(-1px);
}
.wl-growth-panel-head button:active,
.wl-growth-habit-undo:active,
.wl-growth-habit-edit:active,
.wl-growth-goal-edit:active,
.wl-growth-eval-add:active,
.wl-growth-eval-edit:active,
.wl-growth-okr-edit-section > div:first-child button:active,
.wl-growth-habit-restore:active,
.wl-growth-redeem:not(:disabled):active,
.wl-okr-section-head button:active,
.wl-special-edit-head button:active,
.wl-todo-publish-add-item:active,
.wl-todo-publish-add-group:active { transform:translateY(0) scale(.97); }

/* 习惯卡片动作：打卡是主角，使用发布按钮同款主操作面；补打卡弱化为更小更淡的次操作。 */
.wl-growth-habit-check {
    display:inline-flex; align-items:center; justify-content:center;
    min-height:34px; padding:8px 14px;
    border:1px solid var(--wl-action-border);
    border-radius:9px;
    background:var(--wl-action-surface);
    box-shadow:var(--wl-action-shadow);
    color:var(--wl-accent-dark);
    font:inherit; font-size:12px; font-weight:780;
    line-height:1.2; letter-spacing:.01em;
    text-shadow:0 1px 0 rgba(255,255,255,.48);
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),box-shadow var(--wl-transition),color var(--wl-transition);
}
.wl-growth-habit-check:hover { border-color:color-mix(in srgb,var(--wl-accent) 60%,var(--wl-border)); background:var(--wl-action-surface-hover); box-shadow:var(--wl-action-shadow-hover); color:var(--wl-accent-dark); transform:translateY(-1px); }
.wl-growth-habit-check:active { transform:translateY(0) scale(.97); }
.wl-growth-habit-backfill {
    display:inline-flex; align-items:center; justify-content:center;
    min-height:26px; padding:4px 10px;
    border:1px solid transparent;
    border-radius:7px;
    background:transparent;
    color:var(--wl-text-muted);
    font:inherit; font-size:11px; font-weight:700;
    line-height:1.2;
    transition:transform var(--wl-transition),border-color var(--wl-transition),background var(--wl-transition),color var(--wl-transition);
}
.wl-growth-habit-backfill:hover { border-color:color-mix(in srgb,var(--wl-accent) 30%,var(--wl-border)); background:color-mix(in srgb,var(--wl-accent) 6%,rgba(255,255,253,.5)); color:var(--wl-accent-dark); transform:translateY(-1px); }
.wl-growth-habit-backfill:active { transform:translateY(0) scale(.97); }

@media (max-width:700px) {
    .wl-growth-habit-check { min-height:36px; padding:9px 16px; font-size:13px; }
    .wl-growth-habit-backfill { min-height:28px; padding:5px 11px; font-size:12px; }
}

/* 已完成不再以大面积深色压住卡片：保留绿色完成语义，并改为轻盈的记录状态面。 */
.wl-growth-habit-card.is-done .wl-growth-habit-check,
.wl-growth-item.is-done .wl-growth-toggle,
.wl-todo-publish-item.is-done .wl-todo-publish-check,
.wl-okr-action-check[aria-pressed="true"] {
    border-color:color-mix(in srgb,#3f9073 43%,var(--wl-border));
    background:linear-gradient(145deg,color-mix(in srgb,#3f9073 15%,rgba(255,255,253,.98)),color-mix(in srgb,#3f9073 6%,rgba(255,255,253,.78)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 4px 11px rgba(63,144,115,.14);
    color:#28745f;
    text-shadow:0 1px 0 rgba(255,255,255,.52);
}
.wl-growth-habit-card.is-done .wl-growth-habit-check:hover,
.wl-growth-item.is-done .wl-growth-toggle:hover,
.wl-todo-publish-item.is-done .wl-todo-publish-check:hover,
.wl-okr-action-check[aria-pressed="true"]:hover {
    border-color:rgba(63,144,115,.66);
    background:linear-gradient(145deg,color-mix(in srgb,#3f9073 22%,rgba(255,255,253,.98)),color-mix(in srgb,#3f9073 9%,rgba(255,255,253,.82)));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 8px 16px rgba(63,144,115,.19);
    color:#206552;
    transform:translateY(-1px);
}

/* 删除 / 移除保持低饱和红色的危险语义，而非并入普通操作。 */
.wl-todo-publish-group-remove,
.wl-todo-publish-remove,
.wl-okr-kr-title button,
.wl-okr-action-row [data-remove],
.wl-growth-okr-kr-row button,
.wl-growth-okr-action-row button,
.wl-growth-eval-delete {
    border:1px solid rgba(166,91,83,.2);
    background:linear-gradient(145deg,rgba(255,249,247,.9),rgba(248,233,228,.68));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
    color:#a65b53;
}
.wl-todo-publish-group-remove:hover,
.wl-todo-publish-remove:hover,
.wl-okr-kr-title button:hover,
.wl-okr-action-row [data-remove]:hover,
.wl-growth-okr-kr-row button:hover,
.wl-growth-okr-action-row button:hover,
.wl-growth-eval-delete:hover {
    border-color:rgba(166,91,83,.42);
    background:linear-gradient(145deg,rgba(255,243,239,.98),rgba(245,220,212,.78));
    box-shadow:0 4px 10px rgba(136,67,59,.1),inset 0 1px 0 rgba(255,255,255,.92);
    color:#994d47;
    transform:translateY(-1px);
}

@media (max-width:700px) {
    .wl-growth-panel-head button,
    .wl-growth-habit-undo,
    .wl-growth-habit-edit,
    .wl-growth-goal-edit,
    .wl-growth-eval-add,
    .wl-growth-eval-edit,
    .wl-growth-okr-edit-section > div:first-child button,
    .wl-growth-habit-restore,
    .wl-growth-redeem:not(:disabled),
    .wl-okr-section-head button,
    .wl-special-edit-head button,
    .wl-todo-publish-add-item,
    .wl-todo-publish-add-group { min-height:34px; padding-inline:11px; }
}

/* WL 统一弹出层：桌面居中卡片，移动端底部抽屉（一屏放得下、拇指易达，利于后期 app 化）。 */
.wl-pop-overlay { position:fixed; z-index:12000; inset:0; display:flex; align-items:center; justify-content:center; padding:16px; opacity:0; background:rgba(37,34,29,.34); backdrop-filter:blur(7px) saturate(82%); -webkit-backdrop-filter:blur(7px) saturate(82%); transition:opacity .22s ease; }
.wl-pop-overlay.is-open { opacity:1; }
.wl-pop-overlay.is-closing { opacity:0; }
.wl-pop-card { position:relative; z-index:1; width:min(420px, calc(100vw - 32px)); max-height:min(86vh, calc(100vh - 32px)); overflow:auto; padding:20px; border:1px solid rgba(73,69,60,.13); border-radius:20px; background:rgba(255,255,253,.97); box-shadow:var(--wl-shadow-lg); backdrop-filter:blur(25px) saturate(140%); -webkit-backdrop-filter:blur(25px) saturate(140%); transform:translateY(10px) scale(.985); transition:transform .26s cubic-bezier(.2,.9,.25,1); }
.wl-pop-overlay.is-open .wl-pop-card { transform:translateY(0) scale(1); }
.wl-pop-overlay.is-closing .wl-pop-card { transform:translateY(10px) scale(.985); }
.wl-pop-title { margin:0 0 9px; color:var(--wl-ink); font-size:16px; font-weight:850; line-height:1.3; letter-spacing:.01em; }
.wl-pop-body { color:var(--wl-text-secondary); font-size:13.5px; font-weight:540; line-height:1.62; word-break:break-word; }
.wl-pop-body:empty { display:none; }
.wl-pop-body p { margin:0 0 9px; }
.wl-pop-body p:last-child { margin-bottom:0; }
.wl-pop-body strong { color:var(--wl-ink); font-weight:820; }
.wl-pop-body .wl-pop-count { color:var(--wl-accent-dark); font-weight:850; }
.wl-pop-body .wl-pop-danger { color:#994d47; font-weight:820; }
.wl-ref-list { margin:11px 0 0; padding:10px 0 2px; border-top:1px solid rgba(73,69,60,.12); }
.wl-ref-list-head { font-size:12px; font-weight:760; color:var(--wl-ink); margin-bottom:7px; }
.wl-ref-item { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; padding:3px 0; font-size:12.5px; line-height:1.5; }
.wl-ref-mod { flex:0 0 auto; padding:1px 7px; border-radius:7px; background:color-mix(in srgb,var(--wl-accent) 14%,transparent); color:var(--wl-accent-dark); font-size:11px; font-weight:820; }
.wl-ref-date { flex:0 0 auto; color:var(--wl-muted); font-variant-numeric:tabular-nums; font-size:11.5px; }
.wl-ref-title { flex:1 1 auto; color:var(--wl-text-secondary); font-weight:560; word-break:break-word; }
.wl-pop-actions { display:flex; gap:9px; margin-top:18px; }
.wl-pop-btn { flex:1 1 auto; min-height:42px; padding:10px 14px; border:1px solid var(--wl-border); border-radius:11px; background:rgba(255,255,253,.82); box-shadow:inset 0 1px 0 rgba(255,255,255,.85); color:var(--wl-text-secondary); font:inherit; font-size:13.5px; font-weight:760; transition:background var(--wl-transition), color var(--wl-transition), border-color var(--wl-transition), transform var(--wl-transition), box-shadow var(--wl-transition); }
.wl-pop-btn:hover { background:var(--wl-bg-hover); color:var(--wl-ink); transform:translateY(-1px); }
.wl-pop-btn.is-primary { border-color:color-mix(in srgb,var(--wl-accent) 42%,transparent); background:linear-gradient(145deg,color-mix(in srgb,var(--wl-accent) 20%,#fff),color-mix(in srgb,var(--wl-accent) 9%,#fff)); box-shadow:0 5px 14px color-mix(in srgb,var(--wl-accent) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.9); color:var(--wl-accent-dark); font-weight:850; }
.wl-pop-btn.is-primary:hover { transform:translateY(-1px); }
.wl-pop-btn.is-danger { border-color:rgba(166,91,83,.42); background:linear-gradient(145deg,rgba(255,243,239,.98),rgba(245,220,212,.82)); box-shadow:0 5px 14px rgba(136,67,59,.14),inset 0 1px 0 rgba(255,255,255,.9); color:#994d47; font-weight:850; }
.wl-pop-btn.is-danger:hover { border-color:rgba(166,91,83,.62); color:#8c3f3a; }
.wl-pop-btn:focus-visible { outline:2px solid var(--wl-focus-ring); outline-offset:2px; }

@media (max-width:700px) {
    .wl-pop-overlay { align-items:flex-end; justify-content:stretch; padding:0; background:rgba(37,34,29,.4); }
    .wl-pop-card { width:100%; max-width:100%; max-height:92vh; margin:0; padding:18px 16px calc(18px + env(safe-area-inset-bottom, 0px)); border-width:1px 0 0; border-radius:22px 22px 0 0; box-shadow:0 -10px 42px rgba(35,31,24,.22); transform:translateY(100%); }
    .wl-pop-overlay.is-open .wl-pop-card { transform:translateY(0); }
    .wl-pop-overlay.is-closing .wl-pop-card { transform:translateY(100%); }
    .wl-pop-title { font-size:17px; }
    .wl-pop-actions { flex-direction:column; gap:8px; margin-top:16px; }
    .wl-pop-btn { width:100%; min-height:49px; font-size:15px; }
    /* 移动端抽屉内，确认/危险按钮在最底部（拇指易达），取消在其上。 */
    .wl-pop-actions .wl-pop-btn.is-primary,
    .wl-pop-actions .wl-pop-btn.is-danger { order:2; }
    .wl-pop-actions .wl-pop-btn:not(.is-primary):not(.is-danger) { order:1; }
}

/* 日期 / 下拉选择器移动端同样改为底部抽屉，避免居中大卡在小屏放不下。 */
@media (max-width:700px) {
    .wl-global-date-picker,
    .wl-global-select-menu {
        align-items:flex-end;
        justify-content:stretch;
        padding:0;
        background:rgba(37,34,29,.4);
    }
    .wl-global-date-picker-card,
    .wl-global-select-menu-card {
        width:100%;
        max-width:100%;
        margin:0;
        border-width:1px 0 0;
        border-radius:20px 20px 0 0;
        max-height:92vh;
        padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px));
        box-shadow:0 -10px 42px rgba(35,31,24,.22);
    }
    .wl-global-select-menu-list { max-height:calc(92vh - 59px); }
}

/* 标签云激活态：主页同款液态玻璃（白玻璃底 + 品牌色字/边），用 !important 压 unified-ui 选择器列表 (0,3,1) */
.wl-tag-cloud-item.active {
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid color-mix(in srgb, var(--wl-accent) 55%, transparent) !important;
    -webkit-backdrop-filter: blur(12px) saturate(160%) !important;
    backdrop-filter: blur(12px) saturate(160%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 4px 14px color-mix(in srgb, var(--wl-accent) 18%, transparent) !important;
    color: var(--wl-accent) !important;
    font-weight: 700 !important;
}

.wl-tag-cloud-item.active:hover {
    border-color: var(--wl-accent) !important;
    background: rgba(255, 255, 255, .82) !important;
}

/* 通用 line-only 自绘 SVG 图标（细描边，圆头） */
.wl-icon-line {
    flex-shrink: 0;
    fill: none !important;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: -0.125em;
}

/* ======================================================================
 * 全站统一玻璃覆盖（2026-08-22 视觉一致性收口）
 * ----------------------------------------------------------------------
 * 之前 daily / growth / english / assets / sleep / focus / travel /
 * collections / profile 各页的「卡/面板/小卡」用 `var(--wl-bg-card)`（奶白
 * 不透明）+ 灰边 + 灰阴影，与首页紫玻璃语言不一致。统一改为主题紫联动
 * 玻璃：background / border / shadow / backdrop-filter 全部吃主题色。
 * 优先级用 !important 顶住子 CSS 里的 `var(--wl-bg-card)` 覆盖。
 * 2026-08-22：基础透明度跟 customizer --glass-alpha 对齐（见顶部 :root），
 * 不再在此处二次定义 --wl-surface-accent，避免覆盖顶部 0.55 的轻量设定。
 * ====================================================================== */
:root {
    --wl-border-accent:  color-mix(in srgb, var(--wl-accent) 22%, rgba(73, 69, 60, .09));
    --wl-shadow-accent:  0 8px 22px color-mix(in srgb, var(--wl-accent) 12%, transparent),
                         inset 0 1px 0 rgba(255, 255, 255, .85);
}

/* 顶栏透明化：让 body 渐变 mesh 透过来，消除 navbar 下方米色断层 */
.wl-navbar {
    background: linear-gradient(180deg,
                  color-mix(in srgb, var(--wl-accent) 7%, rgba(255, 255, 253, .78)),
                  color-mix(in srgb, var(--wl-accent) 3%, rgba(255, 255, 253, .45))) !important;
    border-bottom-color: var(--wl-border-accent) !important;
    box-shadow: 0 1px 0 color-mix(in srgb, var(--wl-accent) 4%, transparent),
                0 8px 24px color-mix(in srgb, var(--wl-accent) 8%, transparent) !important;
    backdrop-filter: saturate(180%) blur(20px) !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
}
@media (hover: none), (pointer: coarse) {
    .wl-navbar {
        background: linear-gradient(180deg,
                      color-mix(in srgb, var(--wl-accent) 7%, rgba(255, 255, 253, .92)),
                      color-mix(in srgb, var(--wl-accent) 3%, rgba(255, 255, 253, .82))) !important;
    }
}

/* 全站「卡/面板/小卡」统一紫玻璃。重要：子 CSS 的 `var(--wl-bg-card)` 用 !important 顶住 */
.wl-sleep-page .wl-sleep-overview {
    background: transparent !important;
    border: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
}
.wl-daily-overview article, .wl-daily-panel, .wl-daily-energy, .wl-daily-energy-slot,
.wl-daily-energy-trend,
.wl-daily-theme-card, .wl-daily-theme-extra, .wl-daily-theme-tab,
.wl-daily-collection-summary, .wl-daily-compare-card, .wl-daily-compare-empty,
.wl-daily-notice, .wl-daily-stat, .wl-daily-heat-cell,
.wl-daily-heatmap-cell, .wl-daily-heatmap-day,
.wl-daily-editor-panel, .wl-daily-editor-status,
.wl-daily-slot, .wl-daily-metric-card, .wl-daily-metric-row,
/* .wl-daily-overview（统计网格容器）同理是 0 圆角布局层，排除以防断层底板 */
.wl-daily-page section:not(.wl-daily-overview), .wl-daily-page article,
.wl-growth-overview article, .wl-growth-panel, .wl-growth-goal-card, .wl-growth-habit-card,
/* 注意：.wl-growth-overview（网格容器）不能进本列表——它是 0 圆角布局层，
   套面板背景会整片断层成大矩形底板。其 article 子卡由上面选择器覆盖。
   同理 .wl-growth-page 的裸 section 选择器须排除 overview 容器（见 :not）。 */
.wl-growth-page section:not(.wl-growth-overview):not(.wl-growth-eval-section), .wl-growth-page article, .wl-growth-inline-form,
.wl-growth-evidence-list article, .wl-growth-reward-item, .wl-growth-eval-item,
/* .wl-growth-eval-section（进度评估三栏区块）同样是 0 圆角布局层，须排除，
   否则在 goal-card 内形成直角矩形背景框 */
.wl-sleep-overview article, .wl-sleep-calendar-panel, .wl-sleep-trend-panel, .wl-sleep-stat,
.wl-sleep-day, .wl-sleep-calendar-blank, .wl-sleep-time-pill,
.wl-sleep-page section, .wl-sleep-page article,
/* .wl-english-search（label 包裹层）不入面板列表——它是 0 圆角纯包裹层，
   套面板背景会在 input 与面板卡之间露出直角矩形边 */
.wl-english-panel, .wl-english-entry, .wl-english-mastery,
.wl-english-page section, .wl-english-page article,
.wl-assets-overview, .wl-assets-role-compare, .wl-assets-role-matrix, .wl-assets-card,
.wl-assets-role-btn, .wl-assets-sort, .wl-assets-owner-chip,
.wl-assets-detail-card, .wl-assets-dialog-card, .wl-assets-shares-box,
.wl-assets-usage-card, .wl-assets-usage-stats, .wl-assets-usage-item,
.wl-assets-import-card, .wl-assets-form-hero, .wl-assets-fieldset,
.wl-assets-sub-row, .wl-assets-detail-section, .wl-assets-detail-progress,
.wl-assets-cat-bar, .wl-assets-tag-bar, .wl-assets-cat-item, .wl-assets-tag-item,
.wl-assets-empty-state, .wl-assets-tip,
.wl-assets-page section, .wl-assets-page article,
/* travel 页已整体纳入 v3 分层（见文件末尾 TRAVEL v3 段）：
   .wl-travel-hero(白磨砂.58) / .wl-travel-card(.58) / .wl-trip-summary(.58)
   / 裸 section·article(透明) / .wl-trip-*-card(.58) / .wl-itinerary-item(.50)
   均从该紫染色 override 列表移除，由 v3 段接管，避免双重规则冲突 */
.wl-trip-home-card,
.wl-focus-timer-card, .wl-focus-summary-panel, .wl-focus-manual-card, .wl-focus-timer-fields,
.wl-focus-timer-card, .wl-focus-manual-form,
.wl-focus-entry-list article, .wl-focus-page section, .wl-focus-page article,
.wl-focus-timer-link-trigger, .wl-stepper,
.wl-focus-theme-trigger, .wl-focus-timer-action,
.wl-focus-summary-card,
.wl-collection-section, .wl-collection-empty,
/* 排版元素不入面板列表：.wl-collection-page-head（页头）、.wl-collection-section-head（区块标题行）
   均为 0 圆角排版元素，套面板背景会成断层矩形色块 */
.wl-collections-page section, .wl-collections-page article,
.wl-footprints-overview, .wl-footprints-page section, .wl-footprints-page article,
.wl-profile-preview, .wl-profile-edit-header, .wl-profile-style-card,
.wl-profile-edit-page section, .wl-profile-edit-page article,
.wl-profile-edit-form, .wl-profile-edit-card, .wl-profile-card,
.wl-profile-section, .wl-profile-section-head,
.wl-profile-stat, .wl-profile-preview-avatar,
.wl-story-manager-item {
    background: var(--wl-surface-accent) !important;
    border-color: var(--wl-border-accent) !important;
    box-shadow: var(--wl-shadow-accent) !important;
    backdrop-filter: blur(18px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(135%) !important;
}

/* 主题切换标签 (active) v2（2026-08-22 参考图纠偏）：
   不再用 var(--wl-accent) 紫底白字，改成白磨砂 + 紫字 + 紫 wash + 紫边亮，
   与全站 is-active 配方统一。 */
.wl-daily-theme-tab.is-active, .wl-assets-role-btn.is-active, .wl-assets-ownership button.is-active,
.wl-assets-sort.is-active, .wl-english-type-list button.is-active,
.wl-english-tag-list button.is-active, .wl-english-mastery-list button.is-active {
    background:
        linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,253,.18) 100%),
        color-mix(in srgb, var(--wl-accent) 9%, rgba(255, 255, 253, .78)) !important;
    color: var(--wl-accent) !important;
    border-color: color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .98) inset,
        0 2px 0 rgba(255, 255, 255, .55) inset,
        0 8px 22px color-mix(in srgb, var(--wl-accent) 20%, transparent) !important;
}

/* 行程页头部 hero：已于文件末尾 TRAVEL v3 段纳入分层（白磨砂 .58 玻璃面板），
   此处原浓紫深色块定义已移除，由 v3 段接管 */

/* 字段输入统一用紫边 + 紫光晕 focus */
input, select, textarea {
    border-color: var(--wl-border-accent) !important;
}
input:focus-visible, select:focus-visible, textarea:focus-visible {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--wl-accent) 24%, transparent) !important;
    border-color: var(--wl-accent) !important;
}

/* ======================================================================
 * 子 article 透明化（2026-08-22 全站玻璃分层 #3）
 * ----------------------------------------------------------------------
 * .wl-growth-page article / .wl-sleep-page article / .wl-daily-page article
 * 等 override 段命中范围太广，把"嵌在外层 panel 里"的子 article 也洗成
 * 了紫玻璃矩形 → 与 panel 套娃形成硬边。原则：外层 panel 保留 wash，
 * 子 article 透出去，只用 border-radius / padding 收形。
 * 特异性 (0,2,0) > override 段的 .wl-XXX-page article (0,1,1) 一定能赢。
 * ====================================================================== */
.wl-growth-page .wl-growth-habit-card,
.wl-growth-page .wl-growth-item,
.wl-growth-page .wl-growth-reward-item,
.wl-growth-page .wl-growth-eval-item,
.wl-growth-page .wl-growth-eval-section,
.wl-growth-page .wl-growth-evidence-list article,
.wl-growth-page .wl-growth-goal-card .wl-growth-eval-item,
.wl-growth-page .wl-growth-goal-section,
.wl-growth-page .wl-growth-goal-kr,
.wl-growth-page .wl-growth-evidence-item,
.wl-daily-page .wl-daily-entry,
.wl-daily-page .wl-daily-photo-card,
.wl-sleep-page .wl-sleep-day,
.wl-sleep-page .wl-sleep-time-pill,
.wl-assets-page .wl-assets-card,
.wl-assets-page .wl-assets-shares-box,
.wl-assets-page .wl-assets-detail-card,
.wl-assets-page .wl-assets-usage-card,
.wl-assets-page .wl-assets-usage-item,
.wl-english-page .wl-english-entry,
.wl-english-page .wl-english-mastery,
.wl-english-page .wl-english-layout,
.wl-english-page .wl-english-toolbar,
.wl-english-page .wl-english-content,
.wl-focus-page .wl-focus-entry-list article,
.wl-publish-page .wl-publish-list article {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
/* 4 个 metric 卡（wl-growth-overview article）：v1 规则已退役（由末尾
   玻璃拟态精修 v2 块接管），此处选择器加 RETIRED 防止源顺序压制 v2 */
.wl-growth-page RETIRED-v1 .wl-growth-overview article {
    background: rgba(255, 255, 252, .20) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    box-shadow:
        0 16px 40px rgba(40, 50, 90, .16),
        0 0 0 1px rgba(255, 255, 255, .3),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    backdrop-filter: blur(26px) saturate(155%) !important;
    -webkit-backdrop-filter: blur(26px) saturate(155%) !important;
}

/* 习惯卡不加描边：它是 panel 内的列表行（自带 border-bottom 分隔），
   套 1px 紫边会形成细线框，与去面板化处理冲突 */
.wl-growth-page .wl-growth-item,
.wl-growth-page .wl-growth-eval-item,
.wl-english-page .wl-english-entry,
.wl-english-page .wl-english-mastery {
    border: 1px solid color-mix(in srgb, var(--wl-accent) 12%, transparent) !important;
    box-shadow: none !important;
}

/* ======================================================================
 * 全站交互组件统一玻璃（2026-08-22 视觉一致性收口 #2）
 * ----------------------------------------------------------------------
 * 上一轮只覆盖了「卡片/面板」容器，下面这批是真正的交互组件：按钮、
 * 选择器、分段控件、tab、chip、输入框、日期触发器、分页小按钮、日历
 * 格子、评分按钮、格式按钮、主题选项、profile 风格选项等。
 * 它们之前用 `var(--wl-bg-card)` 奶白 + 灰边 + 灰阴影，跟主页紫玻璃
 * 完全脱节。统一规则：
 *   - 默认态：紫 wash 半透 + 紫边 22% + 紫阴影 12%（与卡片语言一致）
 *   - hover  ：紫 wash 加深 + 紫阴影加深
 *   - active / selected：紫渐变实色 + 白字 + 紫 32% 阴影（强调态）
 *   - 纯白 active pill（admin .wl-seg）单独覆盖：禁止纯白硬边
 * !important 顶住子 CSS 的 `var(--wl-bg-card)` / `rgb(246,245,242)`。
 * ====================================================================== */

/* 通用基础态：所有非输入类的"按钮/触发器/选项卡"
   例外（不要统一玻璃底）：行内文字链编辑/撤销/删除触发器、灯箱导航按钮、已激活按钮、
   信息流赞/评/享（嵌在白玻璃 footer dock 里）、习惯卡的打卡/上下移/编辑（卡内行内控件，
   套紫 wash 会在习惯卡里形成突兀色块） */
.wl-btn,
.wl-btn-outline,
.wl-btn-ghost,
button:not(.wl-lightbox-close):not(.wl-lightbox-prev):not(.wl-lightbox-next):not(.wl-no-uniform):not(.is-active):not(.wl-growth-habit-edit-toggle):not(.wl-growth-habit-undo):not(.wl-delete-inline):not(.wl-link-inline):not(.wl-edit-inline-link):not(.wl-undo-inline):not(.wl-growth-habit-backfill):not(.wl-undo-button):not(.wl-focus-timer-theme):not(.wl-like-btn):not(.wl-comment-btn):not(.wl-share-btn):not(.wl-growth-habit-check):not(.wl-growth-habit-up):not(.wl-growth-habit-down):not(.wl-growth-habit-edit-toggle):not(.wl-profile-story-add):not(.wl-profile-story-media):not(.wl-focus-period-tabs-tab):not(.wl-daily-template-tab):not(.wl-level-tab),
.wl-edit-profile-btn,
.wl-global-select-trigger,
.wl-global-date-trigger,
.wl-global-datetime-trigger,
.wl-daily-date-trigger,
.wl-daily-mood-score,
.wl-daily-day,
.wl-daily-entry-edit,
.wl-daily-theme-tab,
.wl-daily-filter-chip,
.wl-daily-add-meal,
.wl-growth-redeem,
.wl-growth-eval-add,
.wl-growth-evidence-toggle,
.wl-assets-sort,
.wl-assets-cat-bar > *,
.wl-assets-tag-bar > *,
.wl-english-search button,
.wl-english-panel button,
.wl-focus-theme-buttons button,
.wl-focus-timer-link-trigger,
.wl-focus-timer-card button,
.wl-sleep-nav button,
.wl-stepper button,
.wl-profile-style-option,
.wl-profile-edit-page .wl-btn-outline,
.wl-publish-quick-row button,
.wl-publish-visibility button,
.wl-publish-tag-row button,
.wl-publish-location-row button,
.wl-content-type,
.wl-fmt-bold,
.wl-fmt-italic,
.wl-fmt-underline,
.wl-fmt-link,
.wl-fmt-highlight,
.wl-format-btn,
.wl-format-preview-toggle,
.wl-mood-score,
.wl-tag,
.wl-tag-row a,
.wl-chip,
.wl-pill,
.wl-segment button,
.wl-seg button,
.wl-navbar-scroll-control,
.wl-tag-cloud a,
.wl-load-more,
.wl-feed-visibility-filter {
    /* v2（2026-08-22 参考图纠偏）：白磨砂玻璃 + 紫字 60% + 紫边 22% +
       顶高光 + 弱阴影 —— 不是浓紫玻璃染色。原文是 var(--wl-surface-accent) 紫玻璃。 */
    background: rgba(255, 255, 253, .58) !important;
    color: color-mix(in srgb, var(--wl-accent) 60%, var(--wl-text, #24231f)) !important;
    border: 1px solid color-mix(in srgb, var(--wl-accent) 22%, transparent) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .94) inset,
        0 4px 14px color-mix(in srgb, var(--wl-accent) 8%, transparent) !important;
    backdrop-filter: blur(14px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease, transform .25s ease;
}

/* hover：白磨砂亮 + 紫字 + 紫边亮 + 微抬（行内小控件已排除） */
button:not(.wl-lightbox-close):not(.wl-lightbox-prev):not(.wl-lightbox-next):not(.wl-no-uniform):not(.wl-focus-timer-theme):not(.wl-like-btn):not(.wl-comment-btn):not(.wl-share-btn):not(.wl-growth-habit-check):not(.wl-growth-habit-up):not(.wl-growth-habit-down):not(.wl-growth-habit-edit-toggle):not(.wl-growth-habit-undo):not(.wl-profile-story-add):not(.wl-profile-story-media):hover,
.wl-btn-outline:hover,
.wl-global-select-trigger:hover,
.wl-global-date-trigger:hover,
.wl-daily-date-trigger:hover,
.wl-daily-mood-score:hover,
.wl-daily-day:not(.is-future):hover,
.wl-daily-entry-edit:hover,
.wl-daily-theme-tab:hover,
.wl-daily-filter-chip:hover,
.wl-assets-sort:hover,
.wl-focus-theme-buttons button:hover,
.wl-stepper button:hover,
.wl-profile-style-option:hover,
.wl-content-type:hover,
.wl-format-btn:hover,
.wl-tag:hover,
.wl-tag-cloud a:hover,
.wl-navbar-scroll-control:hover,
.wl-load-more:hover {
    background: color-mix(in srgb, var(--wl-accent) 5%, rgba(255, 255, 253, .78)) !important;
    color: var(--wl-accent) !important;
    border-color: color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .96) inset,
        0 8px 22px color-mix(in srgb, var(--wl-accent) 18%, transparent) !important;
    transform: translateY(-1px);
}

/* active / selected 强调态（v2 参考图纠偏）：
   白磨砂 + 紫字 + 紫边亮 42% + 浅紫 wash 8% + 中阴影 + 微抬
   —— 参考 visibility filter line 280 配方，**不再用紫渐变实色**
   （那是 line 1742 旧版的错误，会让按钮突兀浓紫、不跟环境统一）*/
.wl-btn--primary,
button.is-active,
.wl-seg button.is-active,
.wl-segment button.is-active,
.wl-daily-mood-score.is-on,
.wl-daily-day.is-today,
.wl-daily-day.is-selected,
.wl-daily-filter-chip.is-on,
.wl-daily-theme-tab.is-on,
.wl-assets-cat-bar > .is-on,
.wl-assets-tag-bar > .is-on,
.wl-focus-theme-buttons button.is-active,
.wl-profile-style-option.is-on,
.wl-content-type.is-active,
.wl-tag.is-on,
.wl-tag-cloud a.is-on,
.wl-pill.is-active,
.wl-publish-visibility.is-on,
.wl-publish-tag-row button.is-on,
.wl-english-search button.is-on,
.wl-navbar-pill.is-on,
.wl-mood-score.is-on {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 253, .18) 100%),
        color-mix(in srgb, var(--wl-accent) 9%, rgba(255, 255, 253, .78)) !important;
    color: var(--wl-accent) !important;
    border-color: color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .98) inset,
        0 2px 0 rgba(255, 255, 255, .55) inset,
        0 8px 22px color-mix(in srgb, var(--wl-accent) 20%, transparent) !important;
    transform: translateY(-1px);
}
button.is-active:hover,
.wl-seg button.is-active:hover,
.wl-daily-day.is-selected:hover,
.wl-tag.is-on:hover {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .60) 0%, rgba(255, 255, 253, .22) 100%),
        color-mix(in srgb, var(--wl-accent) 12%, rgba(255, 255, 253, .82)) !important;
    color: var(--wl-accent) !important;
    border-color: color-mix(in srgb, var(--wl-accent) 50%, transparent) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 1) inset,
        0 12px 30px color-mix(in srgb, var(--wl-accent) 24%, transparent) !important;
}

/* ghost 按钮：透明 + 紫边，无填色 */
.wl-btn-ghost {
    background: transparent !important;
    color: color-mix(in srgb, var(--wl-accent) 60%, var(--wl-text-secondary, #6b6b78)) !important;
    border-color: color-mix(in srgb, var(--wl-accent) 24%, transparent) !important;
    box-shadow: none !important;
}
.wl-btn-ghost:hover {
    background: color-mix(in srgb, var(--wl-accent) 8%, transparent) !important;
    color: var(--wl-accent) !important;
    border-color: color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--wl-accent) 16%, transparent) !important;
}

/* ======================================================================
 * 开关式 chip 二态对比补丁（2026-08-22 用户反馈 v2 → v3）
 * ----------------------------------------------------------------------
 * 上一版（v2）默认态 / 激活态两者都用紫字，仅靠边深浅区分，
 * 视觉上像"同一种按钮的两种深浅"，没有真正的开关落差。
 * 修正后必须达到像「开关」的明显差异：
 *   关闭态（未激活）：淡白磨砂 .42 + 灰紫字 36% + 紫边 14% + 弱影（不起眼）
 *   打开态（激活）  ：白磨砂 + 紫 wash 13% + 黑紫字 + 紫边 50% + 紫光晕（显眼）
 *   字重 700 → 800，配合 translateY(-1px) 物理抬升，激活态有「被点亮」的体感。
 * 仅覆盖真正 toggle/chip 类（is-on / is-active），不影响真按钮。
 *
 * 关键陷阱（基于实测类名）：
 *   .is-active — filter chip / segment / pill / content-type / focus-theme
 *   .is-on     — tag / cat / publish-row / mood / profile style 等
 *   部分 assets 子元素只挂 class="is-active"（无其他类），故 patch 必须同时
 *   认两类 active 标记。
 *
 * 真实存在的 chip 类（2026-08-22 实测）：
 *   feed   .wl-feed-visibility-filter-options a     (line 280 已有专用 — 不重复)
 *   focus  .wl-focus-timer-theme / .wl-focus-timer-cat / .wl-focus-timer-link-item
 *   publish .wl-content-type / .wl-publish-visibility-choice
 *   assets .wl-assets-role-btn / .wl-assets-cats > button / .wl-assets-status-tabs > button
 *          / .wl-assets-ownership > button / .wl-assets-cutout-mode > button
 *          / .wl-assets-seg-control > button 或 *
 *   profile .wl-profile-style-option
 *   daily  .wl-daily-filter-chip / .wl-daily-mood-score / .wl-daily-tag-row > button
 *
 * 旧 patch 段用了大量**猜测**类名（.wl-assets-cat-bar / .wl-publish-tag-row 等），
 * 实测根本不存在；只在确保 selector 都对应真实 DOM 后才生效。
 * ====================================================================== */
/* 关闭态（未激活）——认 .is-on / .is-active / .active 三种激活态类名。
   v3.2 历史只认 .is-on/.is-active，把老代码里那批"用 class="active"" 的真 chip（如
   .wl-focus-period-tabs button / .wl-daily-template-choice / .wl-level-btn）
   漏了出去，导致激活与未激活长得一模一样。改用 :is(.is-on,.is-active,.active) 三认。 */
.wl-daily-mood-score:not(:is(.is-on, .is-active, .active)),
.wl-daily-filter-chip:not(:is(.is-on, .is-active, .active)),
.wl-daily-theme-tab:not(:is(.is-on, .is-active, .active)),
.wl-daily-tag-row button:not(:is(.is-on, .is-active, .active)),
.wl-focus-timer-theme:not(:is(.is-on, .is-active, .active)),
.wl-focus-timer-cat:not(:is(.is-on, .is-active, .active)),
.wl-focus-timer-link-item:not(:is(.is-on, .is-active, .active)),
.wl-content-type:not(:is(.is-on, .is-active, .active)),
.wl-publish-visibility-choice:not(:is(.is-on, .is-active, .active)),
.wl-assets-role-btn:not(:is(.is-on, .is-active, .active)),
.wl-assets-cats > button:not(:is(.is-on, .is-active, .active)),
.wl-assets-status-tabs > button:not(:is(.is-on, .is-active, .active)),
.wl-assets-ownership > button:not(:is(.is-on, .is-active, .active)),
.wl-assets-cutout-mode > button:not(:is(.is-on, .is-active, .active)),
.wl-assets-seg-control > button:not(:is(.is-on, .is-active, .active)),
.wl-assets-tag-chips > *:not(:is(.is-on, .is-active, .active)),
.wl-assets-owner-chips > *:not(:is(.is-on, .is-active, .active)),
.wl-profile-style-option:not(:is(.is-on, .is-active, .active)),
.wl-tag:not(:is(.is-on, .is-active, .active)),
.wl-tag-cloud a:not(:is(.is-on, .is-active, .active)),
.wl-pill:not(:is(.is-on, .is-active, .active)),
.wl-english-search button:not(:is(.is-on, .is-active, .active)),
.wl-navbar-pill:not(:is(.is-on, .is-active, .active)),
.wl-mood-score:not(:is(.is-on, .is-active, .active)),
.wl-segment button:not(:is(.is-on, .is-active, .active)),
.wl-seg button:not(:is(.is-on, .is-active, .active)),
/* v3.3 新增：覆盖历史"class="active"" 的真 chip 三类 */
.wl-focus-period-tabs button:not(:is(.is-on, .is-active, .active)),
.wl-daily-template-choice:not(:is(.is-on, .is-active, .active)),
.wl-level-btn:not(:is(.is-on, .is-active, .active)) {
    color: color-mix(in srgb, var(--wl-accent) 36%, var(--wl-text-muted, #6f6c66)) !important;
    font-weight: 700 !important;
    border-color: color-mix(in srgb, var(--wl-accent) 14%, transparent) !important;
    background: rgba(255, 255, 253, .42) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .85) inset,
        0 2px 6px rgba(73, 69, 60, .04) !important;
    backdrop-filter: blur(12px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
}

/* 打开态（激活） */
.wl-daily-mood-score:is(.is-on, .is-active, .active),
.wl-daily-filter-chip:is(.is-on, .is-active, .active),
.wl-daily-theme-tab:is(.is-on, .is-active, .active),
.wl-daily-tag-row button:is(.is-on, .is-active, .active),
.wl-focus-timer-theme:is(.is-on, .is-active, .active),
.wl-focus-timer-cat:is(.is-on, .is-active, .active),
.wl-focus-timer-link-item:is(.is-on, .is-active, .active),
.wl-content-type:is(.is-on, .is-active, .active),
.wl-publish-visibility-choice:is(.is-on, .is-active, .active),
.wl-assets-role-btn:is(.is-on, .is-active, .active),
.wl-assets-cats > button:is(.is-on, .is-active, .active),
.wl-assets-status-tabs > button:is(.is-on, .is-active, .active),
.wl-assets-ownership > button:is(.is-on, .is-active, .active),
.wl-assets-cutout-mode > button:is(.is-on, .is-active, .active),
.wl-assets-seg-control > button:is(.is-on, .is-active, .active),
.wl-assets-tag-chips > .is-on, .wl-assets-tag-chips > .is-active,
.wl-assets-owner-chips > .is-on, .wl-assets-owner-chips > .is-active,
.wl-profile-style-option:is(.is-on, .is-active, .active),
.wl-tag:is(.is-on, .is-active, .active),
.wl-tag-cloud a:is(.is-on, .is-active, .active),
.wl-pill:is(.is-on, .is-active, .active),
.wl-english-search button:is(.is-on, .is-active, .active),
.wl-navbar-pill:is(.is-on, .is-active, .active),
.wl-mood-score:is(.is-on, .is-active, .active),
.wl-segment button:is(.is-on, .is-active, .active),
.wl-seg button:is(.is-on, .is-active, .active),
/* v3.3 新增：覆盖历史"class="active"" 的真 chip 三类 */
.wl-focus-period-tabs button:is(.is-on, .is-active, .active),
.wl-daily-template-choice:is(.is-on, .is-active, .active),
.wl-level-btn:is(.is-on, .is-active, .active) {
    color: var(--wl-ink) !important;
    font-weight: 800 !important;
    border-color: color-mix(in srgb, var(--wl-accent) 50%, transparent) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .62) 0%, rgba(255, 255, 253, .26) 100%),
        color-mix(in srgb, var(--wl-accent) 13%, rgba(255, 255, 253, .82)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 1) inset,
        0 6px 20px color-mix(in srgb, var(--wl-accent) 24%, transparent) !important;
    transform: translateY(-1px);
}

/* v3.3 范围注释：.wl-view-tab 不入"chip 二态"统一规则——保留它原 ::after 紫色底线
   indicator 设计语言更友好，避免两套指示叠加导致视觉打架（见 main.css 5672-5682）。 */

/* 计时器主题选项单独控制：不套用 chip 二态背景/边框/阴影，
   避免每个选项出现长方形底框；选中态由 focus-timer.css 的 swatch outline 负责。
   用 body 前缀提高 hover 优先级，压制 button.is-active:hover 的实底。 */
.wl-focus-timer-theme,
.wl-focus-timer-theme:hover,
.wl-focus-timer-theme:not(:is(.is-on, .is-active, .active)),
.wl-focus-timer-theme:is(.is-on, .is-active, .active),
body .wl-focus-timer-theme:hover,
body .wl-focus-timer-theme.is-active:hover,
body .wl-focus-timer-theme:not(:is(.is-on, .is-active, .active)):hover {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
    color: inherit !important;
}

/* 输入框统一：白雾 + 紫边 */
input[type="text"],
input[type="search"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
textarea,
select,
.wl-form-input,
.wl-color-hex-input,
.wl-publish-location-input,
.wl-focus-timer-note-input,
.wl-publish-editor-input,
.wl-publish-tag-input {
    /* 与面板 .wl-surface-accent 同 alpha 同步，不再比卡面亮一截 */
    background: color-mix(in srgb, var(--wl-accent) 4%, rgba(255, 255, 253, .5)) !important;
    color: var(--wl-text-primary, #2a2a3a) !important;
    border-color: var(--wl-border-accent) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7),
                0 2px 10px color-mix(in srgb, var(--wl-accent) 8%, transparent) !important;
    backdrop-filter: blur(12px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(135%) !important;
}
input:focus-visible, textarea:focus-visible, select:focus-visible {
    background: color-mix(in srgb, var(--wl-accent) 6%, rgba(255, 255, 253, .85)) !important;
}

/* range 滑块：紫渐变 track + 紫 thumb */
input[type="range"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
input[type="range"]::-webkit-slider-runnable-track {
    background: linear-gradient(90deg,
                  color-mix(in srgb, var(--wl-accent) 80%, #fff 20%),
                  color-mix(in srgb, var(--wl-accent) 38%, #fff 62%)) !important;
    height: 6px;
    border-radius: 999px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
}
input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;
    width: 18px; height: 18px;
    background: #fff;
    border: 2px solid var(--wl-accent);
    border-radius: 50%;
    box-shadow: 0 3px 10px color-mix(in srgb, var(--wl-accent) 40%, transparent);
    margin-top: -6px;
}
input[type="range"]::-moz-range-track {
    background: linear-gradient(90deg,
                  color-mix(in srgb, var(--wl-accent) 80%, #fff 20%),
                  color-mix(in srgb, var(--wl-accent) 38%, #fff 62%)) !important;
    height: 6px;
    border-radius: 999px;
    border: none;
}
input[type="range"]::-moz-range-thumb {
    width: 18px; height: 18px;
    background: #fff;
    border: 2px solid var(--wl-accent);
    border-radius: 50%;
    box-shadow: 0 3px 10px color-mix(in srgb, var(--wl-accent) 40%, transparent);
}

/* switch 滑块（admin） */
.wl-switch {
    background: color-mix(in srgb, var(--wl-accent) 18%, rgba(73, 69, 60, .25)) !important;
    border: none !important;
}
.wl-switch::after,
.wl-switch .wl-switch__knob {
    background: #fff !important;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--wl-accent) 38%, transparent);
}
.wl-switch.is-on {
    background: linear-gradient(135deg,
                  color-mix(in srgb, var(--wl-accent) 96%, #fff 4%),
                  color-mix(in srgb, var(--wl-accent) 78%, #6c63d0 22%)) !important;
}

/* 已记录的日历格子（accent tint 紫） */
.wl-daily-day.is-recorded,
.wl-sleep-day.is-filled {
    background: color-mix(in srgb, var(--wl-accent) 18%, rgba(255, 255, 253, .82)) !important;
    color: var(--wl-accent) !important;
    border-color: color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
}

/* 不可点击态（未来日期、禁用） */
.wl-daily-day.is-future,
button[disabled],
.wl-stepper button[disabled] {
    opacity: .42;
    cursor: not-allowed;
    pointer-events: none;
}

/* content-type 大卡片（publish 14 瓦片）：吃紫 wash + 紫边 */
.wl-content-type {
    background: color-mix(in srgb, var(--wl-accent) 8%, rgba(255, 255, 253, .78)) !important;
    border-color: var(--wl-border-accent) !important;
    color: color-mix(in srgb, var(--wl-accent) 60%, var(--wl-text-primary, #2a2a3a)) !important;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--wl-accent) 12%, transparent) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
}
.wl-content-type:hover {
    background: color-mix(in srgb, var(--wl-accent) 14%, rgba(255, 255, 253, .82)) !important;
    color: var(--wl-accent) !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px color-mix(in srgb, var(--wl-accent) 22%, transparent) !important;
}
.wl-content-type.is-active {
    background: linear-gradient(135deg,
                  color-mix(in srgb, var(--wl-accent) 90%, #fff 10%),
                  color-mix(in srgb, var(--wl-accent) 70%, #6c63d0 30%)) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
    box-shadow: 0 14px 32px color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
}

/* profile 风格选项卡：ins/微博/小红书 预览缩略 */
.wl-profile-style-option {
    background: color-mix(in srgb, var(--wl-accent) 6%, rgba(255, 255, 253, .82)) !important;
    color: color-mix(in srgb, var(--wl-accent) 60%, var(--wl-text-primary, #2a2a3a)) !important;
    border-color: var(--wl-border-accent) !important;
    box-shadow: 0 4px 14px color-mix(in srgb, var(--wl-accent) 10%, transparent) !important;
}
.wl-profile-style-option:hover {
    background: color-mix(in srgb, var(--wl-accent) 14%, rgba(255, 255, 253, .85)) !important;
    color: var(--wl-accent) !important;
    transform: translateY(-1px);
}
.wl-profile-style-option.is-on {
    background: linear-gradient(135deg,
                  color-mix(in srgb, var(--wl-accent) 92%, #fff 8%),
                  color-mix(in srgb, var(--wl-accent) 72%, #6c63d0 28%)) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
    box-shadow: 0 10px 26px color-mix(in srgb, var(--wl-accent) 38%, transparent) !important;
}

/* 格式按钮（B/I/U/H 预览）紧凑玻璃 */
.wl-format-btn {
    background: color-mix(in srgb, var(--wl-accent) 8%, rgba(255, 255, 253, .82)) !important;
    color: color-mix(in srgb, var(--wl-accent) 56%, var(--wl-text-primary, #2a2a3a)) !important;
    border-color: var(--wl-border-accent) !important;
    box-shadow: 0 3px 10px color-mix(in srgb, var(--wl-accent) 10%, transparent) !important;
    font-weight: 600;
}
.wl-format-btn:hover,
.wl-format-btn.is-on {
    background: color-mix(in srgb, var(--wl-accent) 22%, rgba(255, 255, 253, .82)) !important;
    color: var(--wl-accent) !important;
    border-color: color-mix(in srgb, var(--wl-accent) 50%, transparent) !important;
}

/* navbar 滚动控制箭头 */
.wl-navbar-scroll-control {
    background: color-mix(in srgb, var(--wl-accent) 6%, rgba(255, 255, 253, .82)) !important;
    color: color-mix(in srgb, var(--wl-accent) 56%, var(--wl-text-primary, #2a2a3a)) !important;
    border-color: var(--wl-border-accent) !important;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--wl-accent) 14%, transparent) !important;
}
.wl-navbar-scroll-control:hover {
    background: color-mix(in srgb, var(--wl-accent) 18%, rgba(255, 255, 253, .85)) !important;
    color: var(--wl-accent) !important;
}

/* admin .wl-seg active 强制改色，禁止纯白硬边（这是用户最不能接受的） */
body .wl-seg,
body .wl-segment {
    background: color-mix(in srgb, var(--wl-accent) 6%, rgba(73, 69, 60, .06)) !important;
    border: 1px solid var(--wl-border-accent) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55) !important;
}
/* 非激活的 seg 按钮：保持透明（容器已有紫底），让 is-active 自然形成对比 */
body .wl-seg button:not(.is-active),
body .wl-segment button:not(.is-active) {
    color: color-mix(in srgb, var(--wl-accent) 50%, var(--wl-text-primary, #2a2a3a)) !important;
}
/* v2（2026-08-22 参考图纠偏）：**不再用紫 92% 实色渐变**，
   改白磨砂 + 紫字 + 紫 wash 浅，让 .wl-seg 在 frontend 跟环境统一。
   admin 后台依然会被 line 2021+.html body ... 高优先级段最后覆盖 */
body .wl-seg button.is-active,
body .wl-segment button.is-active {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 253, .18) 100%),
        color-mix(in srgb, var(--wl-accent) 9%, rgba(255, 255, 253, .78)) !important;
    color: var(--wl-accent) !important;
    border: 1px solid color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .98) inset,
        0 2px 0 rgba(255, 255, 255, .55) inset,
        0 8px 22px color-mix(in srgb, var(--wl-accent) 20%, transparent) !important;
}
body .wl-seg button:not(.is-active):hover,
body .wl-segment button:not(.is-active):hover {
    color: var(--wl-accent) !important;
}

/* 高优先级覆盖 admin.css 里的 .wl-seg button.is-active 纯白硬边
 * 用 body 前缀 + 复合类提升 specificity，让 !important 真正生效 */
/* 高优先级覆盖 admin.css 里的 .wl-seg button.is-active 纯白硬边
 * 用 body 前缀 + 复合类提升 specificity，让 !important 真正生效 */
/* v2（2026-08-22 参考图纠偏）：**不再用浓紫实色 #7F77DD → #5948a8**，
   改白磨砂 + 紫字 + 浅紫 wash 12%，让"主按钮"在 frontend 也跟环境一致。
   （原本 #7F77DD→#5948a8 在玻璃前会显得突兀染色） */
html body .wl-seg button.is-active,
html body .wl-segment button.is-active {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 253, .18) 100%),
        color-mix(in srgb, var(--wl-accent) 12%, rgba(255, 255, 253, .8)) !important;
    color: var(--wl-accent) !important;
    border: 1px solid color-mix(in srgb, var(--wl-accent) 42%, transparent) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 1) inset,
        0 2px 0 rgba(255, 255, 255, .55) inset,
        0 8px 22px color-mix(in srgb, var(--wl-accent) 22%, transparent) !important;
    font-weight: 700 !important;
}
/* 删掉下面这条 .wl-seg button（无 .is-active）的 transparent 覆盖，
 * 它会把上面 is-active 的 background 重置为 transparent（shorthand 胜过长 longhand）。*/
html body .wl-seg button,
html body .wl-segment button {
    background: transparent !important;
    color: color-mix(in srgb, var(--wl-accent) 48%, var(--wl-text-primary, #2a2a3a)) !important;
}

/* 行内文字链编辑/删除触发器 —— 纯文字小按钮，不要玻璃小卡片贴后面 (会跟父面板形成嵌套断层)
   必须在统一 override 块之后，否则会被更后面的 surface-accent !important 覆盖 */
.wl-growth-habit-edit-toggle,
.wl-growth-habit-undo,
.wl-growth-delete-inline,
.wl-edit-inline-link,
.wl-link-inline {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
}
.wl-growth-habit-edit-toggle:hover,
.wl-growth-habit-undo:hover,
.wl-growth-delete-inline:hover,
.wl-edit-inline-link:hover,
.wl-link-inline:hover {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}


/* ======================================================================
 * 成长页玻璃化试点 v1（已退役 2026-08-23）：被文件末尾「玻璃拟态精修 v2」
 * 取代——v1 的 .cls.cls 高特异性选择器曾压制 v2 导致"看不到改变"，故整块
 * 注释退役。保留原文备查，生效版本见末尾 v2 块。
 * ====================================================================== */
.wl-growth-page RETIRED-v1 section.wl-growth-panel,
.wl-growth-page RETIRED-v1 .wl-growth-notice {
    background: rgba(255, 255, 252, .20) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    border-radius: 22px !important;
    box-shadow:
        0 16px 40px rgba(40, 50, 90, .16),
        0 0 0 1px rgba(255, 255, 255, .3),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    -webkit-backdrop-filter: blur(26px) saturate(155%) !important;
    backdrop-filter: blur(26px) saturate(155%) !important;
}
/* 面板玻璃 ::before 层（surface-glass）也要替换，否则双层叠加过实 */
.wl-growth-page section.wl-growth-panel.wl-growth-panel::before {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
/* 提示条玻璃化后文字对比度兜底 */
.wl-growth-page .wl-growth-notice {
    color: var(--wl-text) !important;
}

/* ======================================================================
 * 全站玻璃化推广（2026-08-23，成长页试点通过后）
 * ----------------------------------------------------------------------
 * 把成长页验证过的「真液态玻璃」推广到所有页面的面板级容器：
 * 一记/作息/英语/资产/专注/旅行/收藏/发布/资料等页的 panel、card、
 * section 级面板统一为 rgba(255,255,252,.20) + blur(26) + saturate(155)。
 * 用 .cls.cls 自提权压过上方 accent 块的 :not() 链（特异性 (0,3,1)）。
 * 回滚：删除本块即可整站退回旧材质。
 * 注意：0 圆角布局层（overview 容器/标题行等）不在本块内，维持去面板化。
 * ====================================================================== */
/* 各页面板容器：通用 */
.wl-daily-panel.wl-daily-panel,
.wl-sleep-panel.wl-sleep-panel,
.wl-sleep-calendar-panel.wl-sleep-calendar-panel,
.wl-sleep-trend-panel.wl-sleep-trend-panel,
.wl-english-panel.wl-english-panel,
.wl-assets-panel.wl-assets-panel,
.wl-assets-card.wl-assets-card,
.wl-assets-detail-card.wl-assets-detail-card,
.wl-assets-usage-card.wl-assets-usage-card,
.wl-focus-timer-card.wl-focus-timer-card,
.wl-focus-summary-panel.wl-focus-summary-panel,
.wl-focus-summary-card.wl-focus-summary-card,
.wl-focus-manual-card.wl-focus-manual-card,
.wl-trip-home-card.wl-trip-home-card,
.wl-collection-section.wl-collection-section,
.wl-growth-goal-card.wl-growth-goal-card,
.wl-profile-card.wl-profile-card,
.wl-daily-notice.wl-daily-notice,
.wl-growth-notice.wl-growth-notice {
    background: rgba(255, 255, 252, .20) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    border-radius: 22px !important;
    box-shadow:
        0 16px 40px rgba(40, 50, 90, .16),
        0 0 0 1px rgba(255, 255, 255, .3),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    -webkit-backdrop-filter: blur(26px) saturate(155%) !important;
    backdrop-filter: blur(26px) saturate(155%) !important;
}
/* 面板玻璃 ::before 层关闭，防双层叠加过实 */
.wl-daily-panel.wl-daily-panel::before,
.wl-sleep-panel.wl-sleep-panel::before,
.wl-sleep-calendar-panel.wl-sleep-calendar-panel::before,
.wl-sleep-trend-panel.wl-sleep-trend-panel::before,
.wl-english-panel.wl-english-panel::before,
.wl-assets-panel.wl-assets-panel::before,
.wl-assets-card.wl-assets-card::before,
.wl-growth-goal-card.wl-growth-goal-card::before,
.wl-focus-timer-card.wl-focus-timer-card::before,
.wl-trip-home-card.wl-trip-home-card::before {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
/* 裸 section/article 命中的页面级面板（travel/focus/collections/footprints/profile） */
.wl-focus-page section.wl-focus-page section,
.wl-collections-page section.wl-collections-page section,
.wl-collections-page article.wl-collections-page article,
.wl-footprints-page section.wl-footprints-page section,
.wl-profile-edit-page section.wl-profile-edit-page section {
    background: rgba(255, 255, 252, .20) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    border-radius: 22px !important;
    box-shadow:
         0 16px 40px rgba(40, 50, 90, .16),
        0 0 0 1px rgba(255, 255, 255, .3),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    -webkit-backdrop-filter: blur(26px) saturate(155%) !important;
    backdrop-filter: blur(26px) saturate(155%) !important;
}
/* 各页统计小卡（daily/sleep overview article、english entry、metric 类） */
.wl-daily-overview article.wl-daily-overview article,
.wl-sleep-overview article.wl-sleep-overview article {
    background: rgba(255, 255, 252, .20) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    box-shadow:
        0 16px 40px rgba(40, 50, 90, .16),
        0 0 0 1px rgba(255, 255, 255, .3),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    -webkit-backdrop-filter: blur(26px) saturate(155%) !important;
    backdrop-filter: blur(26px) saturate(155%) !important;
}
/* 推广补充：assets 页 overview/grid（travel 列表区块/卡片已纳入末尾 TRAVEL v3 段，此处移除） */
.wl-assets-overview.wl-assets-overview,
.wl-assets-grid.wl-assets-grid {
    background: rgba(255, 255, 252, .20) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    border-radius: 22px !important;
    box-shadow:
        0 16px 40px rgba(40, 50, 90, .16),
        0 0 0 1px rgba(255, 255, 255, .3),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    -webkit-backdrop-filter: blur(26px) saturate(155%) !important;
    backdrop-filter: blur(26px) saturate(155%) !important;
}
/* 推广补充②：daily 页全套（editor-panel 大编辑面板、能量环卡、四主题卡、
   统计 article 小卡——首版推广块只覆盖了 .wl-daily-panel 单类名，
   被 accent 列表里 .wl-daily-page section (0,2,1) 压过） */
.wl-daily-page section.wl-daily-panel,
.wl-daily-page .wl-daily-energy,
.wl-daily-page .wl-daily-theme-card,
.wl-daily-page .wl-daily-overview article {
    background: rgba(255, 255, 252, .20) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    border-radius: 22px !important;
    box-shadow:
        0 16px 40px rgba(40, 50, 90, .16),
        0 0 0 1px rgba(255, 255, 255, .3),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    -webkit-backdrop-filter: blur(26px) saturate(155%) !important;
    backdrop-filter: blur(26px) saturate(155%) !important;
}
.wl-daily-page section.wl-daily-panel::before,
.wl-daily-page .wl-daily-energy::before,
.wl-daily-page .wl-daily-theme-card::before {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
/* 推广补充③：daily 能量环卡（accent 列表里以 .wl-daily-energy 单类名出现，
   特异性与补充②的 .wl-daily-page .wl-daily-energy 相同但源顺序更早——补②在后应赢，
   实测仍输，说明 accent 列表源码在更后位置。此处用更高特异性再压一次） */
.wl-daily-page section.wl-daily-energy.wl-daily-energy,
.wl-daily-page div.wl-daily-energy.wl-daily-energy {
    background: rgba(255, 255, 252, .20) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    border-radius: 22px !important;
    box-shadow:
        0 16px 40px rgba(40, 50, 90, .16),
        0 0 0 1px rgba(255, 255, 255, .3),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    -webkit-backdrop-filter: blur(26px) saturate(155%) !important;
    backdrop-filter: blur(26px) saturate(155%) !important;
}
/* 推广补充④：漏网之鱼（2026-08-23 用户截图反馈）
 * ① 主页可见性筛选条（.58 实底→真玻璃）
 * ② 作息页统计小卡 .wl-sleep-stat / overview article（accent 列表漏改）
 * ③ 一记页 汇总条 collection-summary / 对比卡 compare-card（13px 圆角旧底）
 * ④ 专注页计时器主题选择块 focus-theme-buttons 等内嵌实底块 */
.wl-feed-visibility-filter.wl-feed-visibility-filter,
.wl-sleep-stat.wl-sleep-stat,
.wl-sleep-overview article.wl-sleep-overview article,
.wl-daily-collection-summary.wl-daily-collection-summary,
.wl-daily-compare-card.wl-daily-compare-card,
.wl-focus-theme-buttons,
.wl-focus-timer-fields.wl-focus-timer-fields {
    background: rgba(255, 255, 252, .20) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .95),
        0 8px 24px rgba(40, 50, 90, .10) !important;
    -webkit-backdrop-filter: blur(26px) saturate(155%) !important;
    backdrop-filter: blur(26px) saturate(155%) !important;
}
/* 圆角统一：筛选条/统计卡/汇总条 14px，对比卡 18px（内嵌内容多） */
.wl-feed-visibility-filter.wl-feed-visibility-filter,
.wl-sleep-stat.wl-sleep-stat,
.wl-daily-collection-summary.wl-daily-collection-summary { border-radius: 14px !important; }
.wl-daily-compare-card.wl-daily-compare-card { border-radius: 18px !important; }
/* ======================================================================
 * 大段文本提示条（notice）专用样式（2026-08-23）
 * ----------------------------------------------------------------------
 * 反馈：纯玻璃底(.20)上大段灰字读不清。方案：notice 类是「阅读型」元素，
 * 用「雾面磨砂」变体——比主玻璃实一档（.45）但仍是玻璃：底色提实保证
 * 文字对比度，blur 减到 18 让底下的 mesh 只剩柔和色晕（不再晃眼），
 * 没有重投影（notice 是辅助信息，不抢内容卡层级）。视觉上与主玻璃
 * 和谐：同色系白底、同白描边、同内侧高光，只是「更浓的磨砂」。
 * ====================================================================== */
.wl-daily-notice.wl-daily-notice.wl-daily-notice {
    background: rgba(255, 253, 250, .45) !important;
    border: 1px solid rgba(255, 255, 255, .65) !important;
    border-radius: 14px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 2px 8px rgba(40, 50, 90, .05) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
}
/* 文字对比度：正文提到近黑、muted 提深一档 */
.wl-daily-notice.wl-daily-notice span {
    color: var(--wl-text) !important;
    font-weight: 500;
}
/* ======================================================================
 * 成长页 · 三层材质体系（2026-08-23 v3 重构，取代 v2）
 * ----------------------------------------------------------------------
 * 设计原则：透明度不是风格，是功能。玻璃感来自「背后有光 + 边缘有形」，
 * 不是靠薄。三层各司其职：
 *
 *   L0 光域层（body）    —— 浓粉彩极光底：四团大柔光常驻流动，是全部
 *                           玻璃效果的"光源"。玻璃卡透出的每一分色彩
 *                           都来自这里。素底上再薄也不美，浓底上实卡也灵。
 *   L1 结构件层          —— 导航/浮条/筛选器：清玻璃 .30，透而轻，
 *                           悬浮于内容之上，允许背景色晕穿过。
 *   L2 内容层（主力）    —— 面板/统计卡/目标卡：白磨砂 .55~.62，
 *                           可读性优先。磨砂感 = 白描边 + 顶高光 + 双层柔影
 *                           + 适度 blur，不是低透明度。
 *   L2.5 阅读层（辅助）  —— 提示条/说明文字：雾面磨砂 .72 + 低 blur，
 *                           大段文字坐在近实底上，对比度最高。
 *
 * 层间关系：越往下（越承载文字）越实；越向上（越是结构）越透。
 * 所有层共享同一视觉血缘：白色系底 + 白描边 + 顶部高光，只调浓度。
 * ====================================================================== */

/* ---- L0 光域层：成长页专属极光底（玻璃的光源） ---- */
body:has(.wl-growth-page) {
    background:
        radial-gradient(58% 44% at 10% 4%, rgba(171, 148, 250, .40), transparent 70%),
        radial-gradient(52% 40% at 96% 14%, rgba(244, 166, 175, .34), transparent 70%),
        radial-gradient(62% 46% at 84% 66%, rgba(146, 214, 194, .28), transparent 72%),
        radial-gradient(56% 42% at 6% 90%, rgba(247, 200, 160, .30), transparent 70%),
        radial-gradient(40% 30% at 50% 45%, rgba(255, 255, 255, .55), transparent 75%),
        linear-gradient(165deg, #f4f1fb 0%, #fdf1f3 50%, #edf5f3 100%);
    background-attachment: fixed;
}

/* ---- L1 结构件：页头操作按钮（记录专注/发布报告）——清玻璃，透而轻 ---- */
.wl-growth-page .wl-growth-head-actions .wl-btn,
.wl-growth-page .wl-growth-head-actions .wl-growth-focus-link {
    background: rgba(255, 255, 255, .30) !important;
    border: 1px solid rgba(255, 255, 255, .75) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 4px 14px rgba(60, 55, 95, .06) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
}

/* ---- L2 内容层 · 大面板（核心决策：OKR/任务/执行证据）：白磨砂高浓度 .70 + 深投影
   三维度权重，而非浓紫整片染色；overview article 是"辅助数据小卡"仍用 .58。 */
.wl-growth-page .wl-growth-panel {
    background:
        linear-gradient(180deg, rgba(255,255,255,.35) 0%, transparent 28%),
        rgba(255, 254, 252, .70) !important;
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 24px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 14px 36px rgba(60, 55, 95, .14),
        0 36px 88px rgba(60, 55, 95, .10),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(26px) saturate(170%) !important;
    backdrop-filter: blur(26px) saturate(170%) !important;
}
/* 核心面板内的关键数字/进度用紫染色点缀 */
.wl-growth-page .wl-growth-panel .wl-growth-stat-value,
.wl-growth-page .wl-growth-panel .wl-growth-goal-progress-text,
.wl-growth-page .wl-growth-panel .wl-growth-progress-value {
    color: var(--wl-accent) !important;
}
/* 悬浮：微上浮 + 投影扩散（光感交互） */
@media (hover: hover) {
    .wl-growth-page .wl-growth-panel:hover {
        box-shadow:
            0 1px 1px rgba(47, 42, 34, .03),
            0 14px 32px rgba(60, 55, 95, .11),
            0 30px 72px rgba(60, 55, 95, .07),
            inset 0 1px 0 rgba(255, 255, 255, 1) !important;
        transform: translateY(-1px);
        transition: box-shadow .3s ease, transform .3s ease;
    }
}

/* ---- L2 内容层 · metric 统计小卡：同语言，尺寸小一号（投影/圆角轻一级） ---- */
.wl-growth-page .wl-growth-overview article {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 18px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 8px 20px rgba(60, 55, 95, .07),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
}

/* ---- L2 内容层 · OKR 目标卡（面板内的子卡）：略薄于父面板，制造层叠深度 ----
   嵌套规则：子卡透明度 = 父面板 - 0.08，让两层玻璃「叠」出由深到浅的过渡 */
.wl-growth-page .wl-growth-goal-card {
    background: rgba(255, 255, 255, .50) !important;
    border: 1px solid rgba(255, 255, 255, .92) !important;
    border-radius: 18px !important;
    box-shadow:
        0 6px 18px rgba(60, 55, 95, .07),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
    backdrop-filter: blur(16px) saturate(145%) !important;
}

/* ---- L2.5 阅读层 · 提示条：雾面磨砂，大段文字对比度最高 ---- */
.wl-growth-page .wl-growth-notice {
    background: rgba(255, 254, 252, .72) !important;
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 14px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 1),
        0 2px 8px rgba(40, 50, 90, .05) !important;
    -webkit-backdrop-filter: blur(10px) saturate(130%) !important;
    backdrop-filter: blur(10px) saturate(130%) !important;
    color: var(--wl-text) !important;
}
.wl-growth-page .wl-growth-notice span { color: var(--wl-text) !important; }

/* ======================================================================
 * DAILY（每日一记）v3 分层推广 · 与成长页同血缘
 * 铁律：背后有光（L0 极光）+ 边缘有形（白描边 + 顶高光 + 柔影）
 * daily 调性偏暖（照片/身体记录）→ 极光以暖橙为主、紫为点缀
 * ====================================================================== */

/* ---- L0 光域层：daily 专属极光底（暖调为主） ---- */
body:has(.wl-daily-page) {
    background:
        radial-gradient(60% 46% at 8% 6%, rgba(247, 200, 160, .42), transparent 70%),
        radial-gradient(54% 42% at 95% 12%, rgba(244, 166, 175, .36), transparent 70%),
        radial-gradient(58% 44% at 88% 70%, rgba(171, 148, 250, .26), transparent 72%),
        radial-gradient(52% 40% at 10% 92%, rgba(146, 214, 194, .28), transparent 70%),
        radial-gradient(40% 30% at 50% 48%, rgba(255, 255, 255, .58), transparent 75%),
        linear-gradient(165deg, #fdf3ec 0%, #fdf1f3 48%, #edf5f3 100%);
    background-attachment: fixed;
}

/* ---- L1 结构件：页头操作按钮（能量设置/记录今天）——清玻璃，透而轻 ---- */
.wl-daily-page .wl-daily-head-actions .wl-btn {
    background: rgba(255, 255, 255, .30) !important;
    border: 1px solid rgba(255, 255, 255, .75) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 4px 14px rgba(60, 55, 95, .06) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
}

/* ---- L2.5 阅读层：提示条（只属于你的私有记录）---- 雾面磨砂，对比度最高 ---- */
.wl-daily-page .wl-daily-notice.wl-daily-notice {
    background: rgba(255, 254, 252, .72) !important;
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 14px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 2px 8px rgba(40, 50, 90, .05) !important;
    -webkit-backdrop-filter: blur(10px) saturate(130%) !important;
    backdrop-filter: blur(10px) saturate(130%) !important;
    color: var(--wl-text) !important;
}
.wl-daily-page .wl-daily-notice span,
.wl-daily-page .wl-daily-notice strong { color: var(--wl-text) !important; }

/* ---- L2 内容层 · 大面板（editor / calendar / collection）：白磨砂 .58，可读性主力 ----
   覆盖旧紫染色 override（line 1535 的 !important）与 line 2184 的过透 .20 写法 */
.wl-daily-page section.wl-daily-panel,
.wl-daily-page .wl-daily-overview article {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 22px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 10px 26px rgba(60, 55, 95, .08),
        0 26px 64px rgba(60, 55, 95, .06),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
}
/* 取消 line 2194 给面板 ::before 设的 transparent（白玻璃直接画在元素上，无需 ::before 透明残留） */
.wl-daily-page section.wl-daily-panel::before { background: transparent !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }

/* ---- L2 内容层 · 布局/包裹层：0 圆角纯包裹，必须透明，否则旧 override 紫染色套娃 ---- */
.wl-daily-page .wl-daily-theme-extra,
.wl-daily-page .wl-daily-filters,
.wl-daily-page .wl-daily-date-popover {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* ---- L2 子卡：collection 摘要 / 趋势 / 对比 / 集合（比父面板薄 0.08 = .50） ---- */
.wl-daily-page .wl-daily-collection-summary,
.wl-daily-page .wl-daily-trend,
.wl-daily-page .wl-daily-compare,
.wl-daily-page .wl-daily-energy-trend,
.wl-daily-page .wl-daily-collection,
.wl-daily-page .wl-daily-theme-card {
    background: rgba(255, 255, 255, .50) !important;
    border: 1px solid rgba(255, 255, 255, .92) !important;
    border-radius: 18px !important;
    box-shadow:
        0 6px 18px rgba(60, 55, 95, .07),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
    backdrop-filter: blur(16px) saturate(145%) !important;
}

/* ---- L2 核心数据面板：editor（能量/日记）+ collection（集合）
   视觉权重三维度体现：① 浓度 .70（比 .58 更实）② 白边 .95（最白）③ 投影深 0.14/.10
   不再用浓紫整片染色（用户反馈大面积紫突兀）→ 白磨砂基底，数字用 var(--wl-accent) 点缀 */
.wl-daily-page section.wl-daily-editor-panel,
.wl-daily-page section.wl-daily-collection-panel {
    background:
        /* 顶部 1px 高光让玻璃顶亮 */
        linear-gradient(180deg, rgba(255,255,255,.35) 0%, transparent 28%),
        /* 主底：白磨砂 .70（高于 .58 辅助、近似 L2.5 但仍是白基底） */
        rgba(255, 254, 252, .70) !important;
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 22px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 14px 36px rgba(60, 55, 95, .14),
        0 36px 88px rgba(60, 55, 95, .10),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(26px) saturate(170%) !important;
    backdrop-filter: blur(26px) saturate(170%) !important;
    color: var(--wl-text) !important;
}
/* 核心面板内的标题/数值/标签用紫染色点缀（小范围，不再整片铺色） */
.wl-daily-page section.wl-daily-editor-panel .wl-daily-stat-value,
.wl-daily-page section.wl-daily-collection-panel .wl-daily-stat-value {
    color: var(--wl-accent) !important;
}
/* 核心面板内子卡保持白磨砂 .50，浮于 .70 父玻璃形成层叠深度 */
.wl-daily-page section.wl-daily-editor-panel > .wl-daily-theme-card,
.wl-daily-page section.wl-daily-editor-panel > .wl-daily-collection,
.wl-daily-page section.wl-daily-collection-panel > .wl-daily-collection-summary,
.wl-daily-page section.wl-daily-collection-panel > .wl-daily-trend,
.wl-daily-page section.wl-daily-collection-panel > .wl-daily-compare,
.wl-daily-page section.wl-daily-collection-panel > .wl-daily-energy-trend,
.wl-daily-page section.wl-daily-collection-panel > .wl-daily-collection {
    background: rgba(255, 255, 255, .5) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 18px !important;
    box-shadow:
        0 6px 18px rgba(60, 55, 95, .07),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
    backdrop-filter: blur(16px) saturate(145%) !important;
}

/* ======================================================================
 * SLEEP（作息记录）v3 分层推广 · 与成长页同血缘
 * 铁律：背后有光（L0 极光）+ 边缘有形（白描边 + 顶高光 + 柔影）
 * sleep 调性偏静谧（睡眠）→ 极光以青蓝为主、暖橙点缀
 * ====================================================================== */

/* ---- L0 光域层：sleep 专属极光底（青蓝为主） ---- */
body:has(.wl-sleep-page) {
    background:
        radial-gradient(58% 44% at 10% 4%, rgba(146, 214, 194, .38), transparent 70%),
        radial-gradient(52% 40% at 94% 16%, rgba(126, 158, 240, .34), transparent 70%),
        radial-gradient(62% 46% at 86% 68%, rgba(171, 148, 250, .26), transparent 72%),
        radial-gradient(56% 42% at 8% 92%, rgba(247, 200, 160, .26), transparent 70%),
        radial-gradient(40% 30% at 50% 46%, rgba(255, 255, 255, .55), transparent 75%),
        linear-gradient(165deg, #eef6f4 0%, #eef0fb 50%, #fbf3ec 100%);
    background-attachment: fixed;
}

/* ---- L1 结构件：页头返回链接（结构件，非按钮也轻量化）---- 清玻璃 .30 ---- */
.wl-sleep-page .wl-sleep-growth-link {
    background: rgba(255, 255, 255, .30) !important;
    border: 1px solid rgba(255, 255, 255, .75) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 4px 14px rgba(60, 55, 95, .06) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
}

/* ---- L2 核心数据面板：overview（本月作息总览，最重要数据）
   视觉权重三维度（白磨砂高浓度 + 白边 .95 + 深投影）而非浓紫整片染色。 */
/* Overview 只是纯栅格容器——三小卡直接浮在 body 极光上，不需背后再垫一层玻璃 */
.wl-sleep-page .wl-sleep-overview {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: var(--wl-text) !important;
}
/* 三小卡的数字用紫染色点缀（小范围，不再整片铺色） */
.wl-sleep-page .wl-sleep-overview .wl-sleep-avg-value,
.wl-sleep-page .wl-sleep-overview .wl-sleep-stat-value,
.wl-sleep-page .wl-sleep-overview .wl-sleep-overview-value {
    color: var(--wl-accent) !important;
}

/* ---- L2 辅助内容层：calendar（月历）/ trend（走势）—— 白磨砂 .58，可读性主力 ---- */
.wl-sleep-page .wl-sleep-calendar-panel,
.wl-sleep-page .wl-sleep-trend-panel {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 22px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 10px 26px rgba(60, 55, 95, .08),
        0 26px 64px rgba(60, 55, 95, .06),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
}

/* ---- L2 子卡 / 嵌套包裹层：月历头、星期行、走势头、单日格 —— 透明化防紫套娃 ---- */
.wl-sleep-page .wl-sleep-calendar-head,
.wl-sleep-page .wl-sleep-weekdays,
.wl-sleep-page .wl-sleep-trend-head,
.wl-sleep-page .wl-sleep-trend-head-controls,
.wl-sleep-page .wl-sleep-trend-range,
.wl-sleep-page .wl-sleep-trend-tabs,
.wl-sleep-page .wl-sleep-day,
.wl-sleep-page .wl-sleep-calendar-blank,
.wl-sleep-page .wl-sleep-time-pill,
.wl-sleep-page .wl-sleep-trend-note {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
/* 月历单日格给 1px 淡边（不靠底色，靠边缘有形） */
.wl-sleep-page .wl-sleep-day {
    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 10px !important;
}

/* ---- L2.5 父子层级：overview 子卡（article / .wl-sleep-stat）"浮起来" ----
 * 反馈(2026-08-22)：三张统计卡（02:57/09:38/6h 41m）和背景突兀。
 * 根因：旧段 line 2152/2222 把子卡压成 .20 清玻璃，比父 .70 大面板更透，
 *       子卡在父里完全融掉；同时数字用浓紫 26px 大字孤零零飘在一片白里。
 * 修正：父子拉开一档——子 .55 白磨砂 + 白描边 .85 + 双层柔影 + blur 18，
 *       让子卡"长出玻璃面"，父 .70 不再吸子。数字字号 26→22 + 紫色降到
 *       color-mix(紫 55%)，从色块变回字符。原则不变：视觉权重≠染色。 */
.wl-sleep-page .wl-sleep-overview > article,
.wl-sleep-page .wl-sleep-stat {
    background: rgba(255, 255, 253, .55) !important;
    border: 1px solid rgba(255, 255, 255, .85) !important;
    border-radius: 14px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 10px 24px rgba(60, 55, 95, .12),
        0 24px 56px rgba(60, 55, 95, .07),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    -webkit-backdrop-filter: blur(18px) saturate(155%) !important;
    backdrop-filter: blur(18px) saturate(155%) !important;
    padding: 16px 18px !important;
}
/* 数字：降字号、降到 55% 紫（仍点题但不再成色块） */
.wl-sleep-page .wl-sleep-overview b {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: color-mix(in srgb, var(--wl-accent) 55%, var(--wl-text)) !important;
    letter-spacing: -.01em;
}

/* ---- 弹窗卡片（记录作息）：dialog 独立浮层，白磨砂 .72 接近实底保证输入可读 ---- */
.wl-sleep-page .wl-sleep-dialog-card {
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 22px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .04),
        0 24px 64px rgba(60, 55, 95, .26),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
    backdrop-filter: blur(12px) saturate(140%) !important;
}
.wl-sleep-page .wl-sleep-dialog-backdrop {
    background: rgba(40, 45, 70, .28) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    backdrop-filter: blur(4px) !important;
}

/* ======================================================================
 * ENGLISH（英语知识库）v3 分层推广 · 与成长页同血缘
 * 铁律：背后有光（L0 极光）+ 边缘有形（白描边 + 顶高光 + 柔影）
 * english 调性偏知性（语料库）→ 极光以靛紫为主、青点缀
 * english 多为"筛选条 + 列表"，无强核心数据块 → 白磨砂为主 + 详情阅读层
 * ====================================================================== */

/* ---- L0 光域层：english 专属极光底（靛紫为主） ---- */
body:has(.wl-english-page) {
    background:
        radial-gradient(58% 44% at 10% 4%, rgba(126, 130, 240, .36), transparent 70%),
        radial-gradient(52% 40% at 95% 14%, rgba(171, 148, 250, .32), transparent 70%),
        radial-gradient(62% 46% at 85% 68%, rgba(146, 214, 194, .26), transparent 72%),
        radial-gradient(56% 42% at 6% 92%, rgba(244, 166, 175, .26), transparent 70%),
        radial-gradient(40% 30% at 50% 46%, rgba(255, 255, 255, .55), transparent 75%),
        linear-gradient(165deg, #eef0fb 0%, #f0eefb 50%, #edf5f3 100%);
    background-attachment: fixed;
}

/* ---- L1 结构件：页头操作按钮（导出/收录）——清玻璃 .30 ---- */
.wl-english-page .wl-english-head-actions .wl-btn {
    background: rgba(255, 255, 255, .30) !important;
    border: 1px solid rgba(255, 255, 255, .75) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 4px 14px rgba(60, 55, 95, .06) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
}

/* ---- L2 辅助内容层：左侧筛选条（overview/search/types/tags/mastery）—— 白磨砂 .58 ---- */
.wl-english-page .wl-english-panel {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 18px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 8px 20px rgba(60, 55, 95, .07),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
}

/* ---- L2 嵌套透明：layout 大容器 / content 内层 / toolbar / list —— 透明化，光从背后透 ---- */
.wl-english-page .wl-english-layout,
.wl-english-page .wl-english-content,
.wl-english-page .wl-english-toolbar,
.wl-english-page .wl-english-list,
.wl-english-page .wl-english-empty,
.wl-english-page .wl-english-search {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
/* 列表条目卡（entry）：白磨砂 .50 子卡，浮在透明 content 上 */
.wl-english-page .wl-english-entry {
    background: rgba(255, 255, 255, .50) !important;
    border: 1px solid rgba(255, 255, 255, .92) !important;
    border-radius: 16px !important;
    box-shadow:
        0 6px 18px rgba(60, 55, 95, .07),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
    backdrop-filter: blur(16px) saturate(145%) !important;
}

/* ---- L2.5 阅读层：详情弹窗（大段语料/笔记）—— 雾面 .72，对比度最高 ---- */
.wl-english-page .wl-english-detail-card,
.wl-english-page .wl-english-dialog-card {
    background: rgba(255, 254, 252, .72) !important;
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 22px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .04),
        0 24px 64px rgba(60, 55, 95, .24),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
    backdrop-filter: blur(12px) saturate(140%) !important;
}
.wl-english-page .wl-english-detail-backdrop,
.wl-english-page .wl-english-dialog-backdrop {
    background: rgba(40, 45, 70, .28) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    backdrop-filter: blur(4px) !important;
}
/* 弹窗内表单字段（input/select/textarea）保持原生浅底，不套玻璃 */
.wl-english-page .wl-english-field input,
.wl-english-page .wl-english-field textarea,
.wl-english-page .wl-english-field select {
    background: rgba(255, 255, 255, .7) !important;
    border: 1px solid rgba(60, 55, 95, .15) !important;
}

/* ======================================================================
 * ASSETS（有数资产）v3 分层推广 · 与成长页同血缘
 * 铁律：背后有光（L0 极光）+ 边缘有形（白描边 + 顶高光 + 柔影）
 * assets 调性偏稳重（资产）→ 极光以墨绿为主、暖橙点缀
 * ====================================================================== */

/* ---- L0 光域层：assets 专属极光底（墨绿为主） ---- */
body:has(.wl-assets-page) {
    background:
        radial-gradient(58% 44% at 10% 4%, rgba(126, 196, 160, .38), transparent 70%),
        radial-gradient(52% 40% at 95% 14%, rgba(146, 214, 194, .32), transparent 70%),
        radial-gradient(62% 46% at 86% 68%, rgba(171, 148, 250, .24), transparent 72%),
        radial-gradient(56% 42% at 8% 92%, rgba(247, 200, 160, .28), transparent 70%),
        radial-gradient(40% 30% at 50% 46%, rgba(255, 255, 255, .55), transparent 75%),
        linear-gradient(165deg, #eef6f0 0%, #eef0f8 50%, #fbf3ec 100%);
    background-attachment: fixed;
}

/* ---- L1 结构件：页头操作按钮（批量导入/添加资产）——清玻璃 .30 ---- */
.wl-assets-page .wl-assets-head-actions .wl-btn {
    background: rgba(255, 255, 255, .30) !important;
    border: 1px solid rgba(255, 255, 255, .75) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 4px 14px rgba(60, 55, 95, .06) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
}

/* ---- L2 核心数据面板：overview（总资产/日均，最重要数据）
   白磨砂高浓度 + 白边 + 深投影三维度权重，整片不再染紫。 */
.wl-assets-page .wl-assets-overview {
    background:
        linear-gradient(180deg, rgba(255,255,255,.35) 0%, transparent 28%),
        rgba(255, 254, 252, .70) !important;
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 22px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 14px 36px rgba(60, 55, 95, .14),
        0 36px 88px rgba(60, 55, 95, .10),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(26px) saturate(170%) !important;
    backdrop-filter: blur(26px) saturate(170%) !important;
    color: var(--wl-text) !important;
}
/* 总资产/日均成本数字用紫染色点缀（小范围，不再整片铺色） */
.wl-assets-page .wl-assets-overview .wl-assets-overview-value,
.wl-assets-page .wl-assets-overview .wl-assets-stat-value {
    color: var(--wl-accent) !important;
}
/* overview 内状态条仍可读：白半透 + 圆角 */
.wl-assets-page .wl-assets-status-bar {
    background: rgba(255, 255, 255, .35) !important;
    border-radius: 999px !important;
}

/* ---- L2 辅助内容层：角色对比 / 矩阵 / 资产卡 / 网格 —— 白磨砂 .58 ---- */
.wl-assets-page .wl-assets-role-compare,
.wl-assets-page .wl-assets-role-matrix,
.wl-assets-page .wl-assets-card,
.wl-assets-page .wl-assets-grid {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 20px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 10px 26px rgba(60, 55, 95, .08),
        0 26px 64px rgba(60, 55, 95, .06),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
}

/* ---- L2 嵌套透明：筛选行 / 角色栏 / 分类栏 / 状态栏 / 归属 —— 透明化防紫套娃 ---- */
.wl-assets-page .wl-assets-cats,
.wl-assets-page .wl-assets-subfilters,
.wl-assets-page .wl-assets-subfilters-right,
.wl-assets-page .wl-assets-roles,
.wl-assets-page .wl-assets-status-tabs,
.wl-assets-page .wl-assets-ownership,
.wl-assets-page .wl-assets-sort,
.wl-assets-page .wl-assets-role-btn,
.wl-assets-page .wl-assets-owner-chip,
.wl-assets-page .wl-assets-cat-item,
.wl-assets-page .wl-assets-tag-item,
.wl-assets-page .wl-assets-empty-state,
.wl-assets-page .wl-assets-tip,
.wl-assets-page .wl-assets-sub-row {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
/* 角色/分类/状态切换按钮给淡边（边缘有形，但不堆底色） */
.wl-assets-page .wl-assets-role-btn,
.wl-assets-page .wl-assets-ownership button,
.wl-assets-page .wl-assets-status-tabs button,
.wl-assets-page .wl-assets-cat-item,
.wl-assets-page .wl-assets-tag-item {
    border: 1px solid rgba(255, 255, 255, .6) !important;
    border-radius: 999px !important;
}

/* ---- L2.5 阅读/操作浮层：所有 dialog 卡片（form/import/detail/usage/roles/rect/scribble）—— 雾面 .72 ---- */
.wl-assets-page .wl-assets-dialog-card,
.wl-assets-page .wl-assets-detail-card,
.wl-assets-page .wl-assets-usage-card,
.wl-assets-page .wl-assets-roles-card,
.wl-assets-page .wl-assets-cutout-card {
    background: rgba(255, 254, 252, .72) !important;
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 22px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .04),
        0 24px 64px rgba(60, 55, 95, .26),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
    backdrop-filter: blur(12px) saturate(140%) !important;
}
.wl-assets-page .wl-assets-dialog-backdrop,
.wl-assets-page .wl-assets-detail-backdrop {
    background: rgba(40, 45, 70, .28) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    backdrop-filter: blur(4px) !important;
}
/* 表单字段保持原生浅底 */
.wl-assets-page .wl-assets-field input,
.wl-assets-page .wl-assets-field textarea,
.wl-assets-page .wl-assets-field select,
.wl-assets-page .wl-assets-seg-control button {
    background: rgba(255, 255, 255, .7) !important;
    border: 1px solid rgba(60, 55, 95, .15) !important;
}

/* ======================================================================
 * PROFILE（编辑资料）v3 分层推广 · 与成长页同血缘
 * 铁律：背后有光（L0 极光）+ 边缘有形（白描边 + 顶高光 + 柔影）
 * profile 调性偏柔和（个人主页）→ 极光以粉为主、青点缀
 * ====================================================================== */

/* ---- L0 光域层：profile 专属极光底（粉为主） ---- */
body:has(.wl-profile-edit-page) {
    background:
        radial-gradient(58% 44% at 10% 4%, rgba(244, 166, 175, .38), transparent 70%),
        radial-gradient(52% 40% at 95% 14%, rgba(171, 148, 250, .30), transparent 70%),
        radial-gradient(62% 46% at 86% 68%, rgba(146, 214, 194, .26), transparent 72%),
        radial-gradient(56% 42% at 8% 92%, rgba(247, 200, 160, .26), transparent 70%),
        radial-gradient(40% 30% at 50% 46%, rgba(255, 255, 255, .55), transparent 75%),
        linear-gradient(165deg, #fdf1f3 0%, #f0eefb 50%, #edf5f3 100%);
    background-attachment: fixed;
}

/* ---- L1 结构件：页头保存按钮（结构件）——清玻璃 .30 ---- */
.wl-profile-edit-page .wl-profile-edit-actions .wl-btn,
.wl-profile-edit-page .wl-profile-save-btn {
    background: rgba(255, 255, 255, .30) !important;
    border: 1px solid rgba(255, 255, 255, .75) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 4px 14px rgba(60, 55, 95, .06) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
}

/* ---- L2 核心展示窗口：preview（实时主页预览，最显眼）
   白磨砂高浓度 + 白边 + 深投影三维度权重，不再用浓紫整片染色。 */
.wl-profile-edit-page .wl-profile-preview {
    background:
        linear-gradient(180deg, rgba(255,255,255,.35) 0%, transparent 28%),
        rgba(255, 254, 252, .70) !important;
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 24px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 16px 40px rgba(60, 55, 95, .14),
        0 40px 96px rgba(60, 55, 95, .10),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(26px) saturate(170%) !important;
    backdrop-filter: blur(26px) saturate(170%) !important;
    overflow: hidden !important;
    color: var(--wl-text) !important;
}

/* ---- L2 辅助内容层：编辑表单 / 表单组 / 风格卡 —— 白磨砂 .58 ---- */
.wl-profile-edit-page .wl-profile-edit-form,
.wl-profile-edit-page .wl-form-group,
.wl-profile-edit-page .wl-profile-style-card,
.wl-profile-edit-page .wl-profile-card,
.wl-profile-edit-page .wl-profile-edit-card {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 20px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 10px 26px rgba(60, 55, 95, .08),
        0 26px 64px rgba(60, 55, 95, .06),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
}

/* ---- L2 嵌套透明：页头 / 表单动作 / section / section-head / stat —— 透明化防紫套娃 ---- */
.wl-profile-edit-page .wl-profile-edit-header,
.wl-profile-edit-page .wl-form-actions,
.wl-profile-edit-page .wl-profile-section,
.wl-profile-edit-page .wl-profile-section-head,
.wl-profile-edit-page .wl-profile-stat,
.wl-profile-edit-page .wl-profile-preview-avatar,
.wl-profile-edit-page .wl-stories-manager-head,
.wl-profile-edit-page .wl-cover-actions,
.wl-profile-edit-page .wl-avatar-upload-hint,
.wl-profile-edit-page .wl-cover-upload-hint {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
/* 头像/封面预览框给淡边 */
.wl-profile-edit-page .wl-profile-preview-avatar,
.wl-profile-edit-page .wl-avatar-preview,
.wl-profile-edit-page .wl-cover-preview {
    border: 1px solid rgba(255, 255, 255, .7) !important;
    border-radius: 16px !important;
}

/* ---- 表单字段（input/textarea/select/color）保持原生浅底 ---- */
.wl-profile-edit-page .wl-form-input,
.wl-profile-edit-page .wl-form-textarea,
.wl-profile-edit-page .wl-color-hex-input,
.wl-profile-edit-page .wl-social-input,
.wl-profile-edit-page .wl-color-picker input[type=color] {
    background: rgba(255, 255, 255, .7) !important;
    border: 1px solid rgba(60, 55, 95, .15) !important;
}

/* ======================================================================
 * TRAVEL（旅行中心）v3 分层推广 · 与成长页同血缘
 * 铁律：背后有光（L0 极光）+ 边缘有形（白描边 + 顶高光 + 柔影）
 * travel 调性偏开阔（在路上）→ 极光以青蓝为主、暖橙点缀（比 sleep 更亮阔）
 * 之前 travel 页完全没纳入 v3 体系：hero 硬编码浓紫深色块 + 卡片 .20 清玻璃
 * 背后无光可透 → 整体灰白薄雾、和全站玻璃割裂。本次整体纳入。
 * ====================================================================== */

/* ---- L0 光域层：travel 专属极光底（青蓝为主、暖橙点缀，开阔调性） ---- */
body:has(.wl-travel-page) {
    background:
        radial-gradient(60% 46% at 8% 4%, rgba(146, 214, 194, .38), transparent 70%),
        radial-gradient(54% 42% at 96% 12%, rgba(126, 158, 240, .34), transparent 70%),
        radial-gradient(60% 46% at 88% 68%, rgba(171, 148, 250, .24), transparent 72%),
        radial-gradient(56% 42% at 6% 92%, rgba(247, 200, 160, .30), transparent 70%),
        radial-gradient(42% 30% at 50% 46%, rgba(255, 255, 255, .55), transparent 75%),
        linear-gradient(165deg, #eef6f4 0%, #eef0fb 50%, #fbf3ec 100%);
    background-attachment: fixed;
}

/* ---- L1 结构件：页头操作按钮（新建旅行）——已由 line 900 暖白玻璃工具面覆盖，此处只确保 hover 不破 ---- */

/* ---- L2 核心展示窗口：hero（列表页标题 + 新建按钮）。
   去浓紫深色块（旧 line 1553），改白磨砂 .58 玻璃面板，紫只做 kicker/按钮点缀。
   背后极光透出，边缘有形。 */
.wl-travel-page .wl-travel-hero {
    background:
        linear-gradient(180deg, rgba(255,255,255,.35) 0%, transparent 30%),
        rgba(255, 254, 252, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 24px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 12px 30px rgba(60, 55, 95, .08),
        0 30px 72px rgba(60, 55, 95, .06),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(22px) saturate(155%) !important;
    backdrop-filter: blur(22px) saturate(155%) !important;
    color: var(--wl-text) !important;
}
.wl-travel-page .wl-travel-hero * { color: var(--wl-text) !important; }
.wl-travel-page .wl-travel-hero .wl-travel-kicker { color: var(--wl-accent) !important; opacity: 1 !important; }
.wl-travel-page .wl-travel-hero h1 { color: var(--wl-text) !important; }

/* ---- L2 辅助内容层：行程列表卡（travel-card）—— 白磨砂 .58，和 assets-card 同级 ----
   覆盖旧 line 2165 的 .20 清玻璃 + line 1516 紫染色 override */
.wl-travel-page .wl-travel-card {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 18px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 10px 26px rgba(60, 55, 95, .08),
        0 26px 64px rgba(60, 55, 95, .06),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
    overflow: hidden;
}
/* 卡片图区保留渐变占位（真实有封面时背景图覆盖），但去掉原来的硬阴影边 */
.wl-travel-page .wl-travel-card-image {
    background: linear-gradient(125deg, rgba(107,131,152,.55), rgba(221,173,140,.55)) !important;
}
.wl-travel-page .wl-travel-card-body h3 { color: var(--wl-text) !important; }
.wl-travel-page .wl-travel-card-body p { color: color-mix(in srgb, var(--wl-text) 72%, transparent) !important; }

/* ---- L2 内容层 · 大面板：行程详情总览网格（trip-description / trip-next）----
   旧 travel.css 是白底实色 #fff + 灰边，改白磨砂 .58 */
.wl-travel-page .wl-trip-description,
.wl-travel-page .wl-trip-next,
.wl-travel-page .wl-trip-home-publish {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 18px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 10px 26px rgba(60, 55, 95, .08),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
}

/* ---- L2 核心数据面板：trip-summary（4 列统计：天数/地点/花费/人数）----
   旧是白底实色表格 + 灰隔线，改白磨砂 .58 面板，内部 article 子卡 .50 */
.wl-travel-page .wl-trip-summary {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 18px !important;
    box-shadow:
        0 1px 1px rgba(47, 42, 34, .03),
        0 10px 26px rgba(60, 55, 95, .08),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
    overflow: hidden;
}
.wl-travel-page .wl-trip-summary article {
    background: rgba(255, 255, 255, .50) !important;
    border-right: 1px solid rgba(255, 255, 255, .6) !important;
    box-shadow: none !important;
}
.wl-travel-page .wl-trip-summary article:last-child { border-right: 0 !important; }
.wl-travel-page .wl-trip-summary b { color: var(--wl-accent) !important; }

/* ---- L2 子卡：行程条目 / 花费条目 / Todo 项 —— 白磨砂 .50，浮于极光 ----
   旧是白底实色 #fff + 灰边，改白磨砂 .50 */
.wl-travel-page .wl-itinerary-item,
.wl-travel-page .wl-expense-item,
.wl-travel-page .wl-todo-item,
.wl-travel-page .wl-itinerary-day {
    background: rgba(255, 255, 255, .50) !important;
    border: 1px solid rgba(255, 255, 255, .8) !important;
    border-radius: 14px !important;
    box-shadow:
        0 6px 18px rgba(60, 55, 95, .07),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
    backdrop-filter: blur(16px) saturate(145%) !important;
}
.wl-travel-page .wl-itinerary-day { border-left: 2px solid color-mix(in srgb, var(--wl-accent) 38%, #fff) !important; }

/* ---- L2 嵌套透明：裸 section / article（旧 line 2133 把 travel 裸 section/article 设 .20 清玻璃，
   此处透明化，光从背后透，具体卡片由上面选择器逐个接管）---- */
.wl-travel-page section.wl-travel-page section,
.wl-travel-page article.wl-travel-page article,
/* 列表区块容器（"我的行程"标题 + 卡片网格）是纯布局层，透明不套玻璃 */
.wl-travel-page .wl-travel-list-section {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* ---- L2 阅读/操作浮层：travel modal 面板（已是 .93 实底，保留，确保圆角/边一致）---- */
.wl-travel-modal-panel {
    border: 1px solid rgba(255, 255, 255, .95) !important;
    border-radius: 22px !important;
    background: rgba(255, 254, 252, .93) !important;
    box-shadow:
        0 24px 64px rgba(60, 55, 95, .26),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(22px) saturate(150%) !important;
    backdrop-filter: blur(22px) saturate(150%) !important;
}
