/* 柔光日常：基础尺度→语义别名→首页组件。继承主题色和玩家字体，不写用户存储。 */
:root {
  --ui-text:var(--color-text); --ui-muted:var(--color-text-caption);
  --ui-paper:var(--color-surface); --ui-line:var(--color-border); --ui-tint:var(--color-primary-soft);
  --ui-ink:var(--color-primary-ink); --ui-radius-card:20px; --ui-radius-control:14px;
  --ui-space-xs:4px; --ui-space-sm:8px; --ui-space-md:12px; --ui-space-lg:16px; --ui-space-xl:24px;
  --ui-space-card:14px; --ui-text-brand:28px;
  --ui-text-body:15px; --ui-text-label:13px; --ui-text-caption:12px; --ui-text-title:20px;
  --ui-shadow-card:0 3px 12px rgb(60 43 63 / 4%); --ui-shadow-float:0 6px 20px rgb(60 43 63 / 8%);
  --ui-ease-out:cubic-bezier(.23,1,.32,1); --ui-press-duration:120ms;
  --font-size-body:var(--ui-text-body); --font-size-meta:var(--ui-text-label); --font-size-caption:var(--ui-text-caption);
  --font-size-title:var(--ui-text-title); --radius-control:var(--ui-radius-control); --radius-input:var(--ui-radius-control);
  --shadow-card:var(--ui-shadow-card);
}
/* 常用基础控件保留玩家选择的字体。消息、媒体和游戏的独立组件不在本轮重绘。 */
:is(.primary-button,.secondary-button,.danger-button,.back-button,.text-button) { min-height:44px; }
:is(.primary-button,.secondary-button,.danger-button) { border-radius:var(--ui-radius-control); font-size:var(--ui-text-label); }
:is(.page-header h2,.layout-size h3) { line-height:1.5; }
:is(button,summary):focus-visible { outline:var(--focus-ring); outline-offset:3px; }
.home-view :is(button,.app-icon) { transition:transform var(--ui-press-duration) var(--ui-ease-out),background-color 160ms ease,border-color 160ms ease; }
.home-view button:active { transform:scale(.98); }
.home-view { padding-inline:10px; animation:none; }
#desktop-main { padding:12px 8px 28px; }
.home-heading h1 { margin:var(--ui-space-xs) 0; font-size:var(--ui-text-brand); line-height:1.35; letter-spacing:-.6px; }
.home-heading .brand-name-en { font-size:10px; letter-spacing:.1em; }
.home-heading .eyebrow { font-size:12px; letter-spacing:0; }
.home-heading .brand-slogan { font-size:12px; line-height:1.7; }
.home-theme-link { min-height:44px; min-width:64px; padding:8px 10px; font-size:12px; border-radius:var(--ui-radius-control); }
#desktop-main .dream-card { margin:var(--ui-space-card) 0; min-height:0; padding:var(--ui-space-card) 82px var(--ui-space-card) var(--ui-space-card); border-radius:var(--ui-radius-card); background:var(--ui-tint); border:1px solid var(--ui-line); box-shadow:none; }
#desktop-main .dream-card::before, #desktop-main .dream-card::after { display:none; }
#desktop-main .hero-stamp { display:block; position:static; font-size:9px; line-height:1.5; letter-spacing:.1em; margin:0 0 5px; }
#desktop-main .dream-card > p { max-width:none; font-size:16px; line-height:1.6; letter-spacing:0; margin:0 0 4px; }
#desktop-main .home-mood-caption { display:block; max-width:none; margin:0; padding:0; border:0; font-size:12px; line-height:1.7; color:var(--ui-muted); overflow-wrap:anywhere; }
#desktop-main .cat-mark { width:68px; height:68px; right:8px; bottom:14px; }
.home-widget-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ui-space-md); }
.home-view .home-panel { backdrop-filter:none; -webkit-backdrop-filter:none; border-radius:var(--ui-radius-card); border-color:var(--ui-line); background:var(--ui-paper); box-shadow:var(--ui-shadow-card); }
.home-widget { position:relative; min-width:0; min-height:142px; padding:var(--ui-space-card); margin:0; text-align:left; display:flex; flex-direction:column; gap:var(--ui-space-md); overflow:hidden; }
.home-widget .module-heading { margin:0; gap:6px; }
.home-widget h3,.widget-label { font-size:var(--ui-text-label); font-weight:600; line-height:1.6; margin:0; }
.widget-label { display:flex; align-items:center; gap:7px; }
.widget-label .brand-icon { width:18px; height:18px; flex-shrink:0; color:var(--ui-ink); }
.home-widget > strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:var(--ui-text-body); line-height:1.65; font-weight:500; overflow-wrap:anywhere; }
.widget-note { font-size:var(--ui-text-caption); line-height:1.65; color:var(--ui-muted); overflow-wrap:anywhere; margin-top:auto; }
.widget-mark { font-size:16px; color:var(--ui-ink); }
.home-widget-grid .home-music-widget { background:var(--color-primary-soft); }
.home-widget-grid .home-weather-widget { background:var(--color-accent-soft); }
.home-widget-grid .home-diary-widget { background:var(--color-surface); }
.home-music-widget > :not(.widget-record) { position:relative; z-index:1; }
.widget-record { position:absolute; width:60px; height:60px; border:1px solid var(--ui-line); border-radius:50%; right:-15px; bottom:10px; opacity:.5; pointer-events:none; }
.widget-record::after { content:""; position:absolute; inset:20px; border:1px solid var(--ui-line); border-radius:50%; }
.home-widget.recent-panel { gap:10px; }
.home-widget .recent-conversation { flex:1; min-height:72px; width:100%; min-width:0; display:flex; align-items:flex-start; gap:8px; padding:0; margin:0; border:0; background:transparent; text-align:left; }
.home-widget .recent-conversation .avatar { width:28px; height:28px; flex:0 0 28px; border-radius:10px; font-size:14px; }
.home-widget .recent-copy { min-width:0; flex:1; display:flex; flex-direction:column; gap:5px; }
.home-widget .recent-copy strong { font-size:13px; line-height:1.6; font-weight:500; overflow-wrap:anywhere; white-space:normal; }
.home-widget .recent-copy > span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:12px; line-height:1.7; color:var(--ui-muted); overflow:hidden; overflow-wrap:anywhere; white-space:normal; }
#desktop-main .app-grid { margin:var(--ui-space-lg) 0 10px; gap:var(--ui-space-sm); }
#desktop-main .app-entry { min-height:68px; gap:5px; font-size:12px; line-height:1.6; }
#desktop-main .app-icon { width:44px; height:44px; border-radius:var(--ui-radius-control); background:transparent; box-shadow:none; border-color:transparent; font-size:24px; }
.home-view .quick-panel { padding:12px 0 0; margin:8px 0 0; border:0; border-top:1px solid var(--ui-line); border-radius:0; box-shadow:none; background:transparent; }
.quick-panel .module-heading h3 { font-size:13px; }
.quick-panel .text-button { font-size:12px; }
.quick-characters { gap:10px; padding-bottom:6px; }
.quick-character { min-width:52px; min-height:58px; gap:6px; }
.quick-character > span:last-child { font-size:12px; line-height:1.5; }
.desktop-tabs { padding:3px 0; gap:8px; }
.desktop-tabs button { min-height:44px; min-width:60px; padding:8px; font-size:12px; }
.desktop-dock { padding:5px 10px; border-radius:20px; box-shadow:var(--ui-shadow-card); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.desktop-dock button { min-width:56px; min-height:48px; padding:4px 12px; }
.desktop-dock button span { font-size:12px; line-height:1.5; }
.desktop-app { min-height:76px; }
.desktop-app strong { font-size:12px; line-height:1.6; }
.future-entry { min-height:88px; }
.future-entry strong { font-size:12px; }
.future-entry small { font-size:12px; line-height:1.6; }
.home-view .desktop-heading p,.home-view .home-note { font-size:13px; }
.home-view .home-module p,.home-view .music-copy > span,.home-view .life-weather small { font-size:13px; }
.home-view .home-module .module-link { font-size:12px; }
@media(hover:hover) and (pointer:fine) { .home-widget-grid button:hover { border-color:var(--color-primary); } }
@media(hover:none), (pointer:coarse) { .app-entry:hover .app-icon { transform:none; } }
@media(min-width:481px) { #desktop-main { padding-top:16px; } }
@media(max-width:350px) { .home-widget-grid { gap:8px; } .home-widget { padding:12px; } .home-widget .recent-conversation { flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { .home-view *, .home-view *::before, .home-view *::after { animation:none!important; transition:none!important; } .home-view button:active { transform:none; } }
/* 高频键盘操作直接反馈，不增加按压或页面入场等待。 */
.home-view button:focus-visible, .home-view button:focus-visible .app-icon { transition:none; }
.home-view button:focus-visible:active { transform:none; }
