@font-face{font-family:'WenKaiUI';src:url('/fonts/NocturneWenKaiUI.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'WenKai';src:url('/fonts/LXGWWenKai-Regular.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Cormorant';src:url('/fonts/CormorantGaramond-Regular.woff2') format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:'Cormorant';src:url('/fonts/CormorantGaramond-Italic.woff2') format('woff2');font-style:italic;font-display:swap}
:root{--serif:'Cormorant','WenKaiUI','WenKai',Georgia,serif;--chinese:'WenKaiUI','WenKai','Songti SC',serif;--ink:#49313b;--muted:#936c7c;font-family:var(--chinese);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wordmark,.hero-title h1,.hero-title .signature,.nearfield-card h2,.nearfield-small h3,.page-heading,.diary-card h3,.pulse-sheet h2{font-family:var(--serif)}
.wordmark{letter-spacing:1.4px;font-size:26px;font-weight:500}.hero-title h1{font-size:82px;letter-spacing:1.8px}.nearfield-card h2{font-size:29px}.reading-layout,.reader-body p,.journal-detail,.message-bubble,.diary-card p,.diary-card h3,.reader-top .chapter{font-family:var(--chinese)}
.reader-body p{letter-spacing:.015em;line-height:1.95}.message-bubble{font-size:15px;line-height:1.85}.message-name{font-size:12px}.diary-card p{font-size:16px}.diary-card h3{font-size:23px}.page-heading{font-size:28px}.quiet{font-size:13px;line-height:1.8}.channel-switch,.mini-stat,.overline,.chat-local,.settings-form,.pulse-row{font-family:system-ui,-apple-system,'WenKaiUI','WenKai',sans-serif}.glass{background:rgba(255,249,249,.57);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.cupid-standing{filter:drop-shadow(0 9px 13px #9b6a7d12)}
.connection-banner{padding:12px 16px;border-radius:18px;margin-bottom:16px;font-size:14px;line-height:1.8;background:#fff8fa99;border:1px solid white}.connection-banner a{text-decoration:underline;text-underline-offset:3px}.service-list{display:grid;gap:12px}.service-row{padding:15px;border-radius:20px;display:flex;justify-content:space-between;gap:12px;align-items:center}.service-row small{display:block;color:#96717f;font:12px/1.6 system-ui;margin-top:5px}.remote-book{padding:20px;border-radius:24px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:15px}.remote-book h3{font:23px var(--chinese)}.remote-book p{font-size:14px;line-height:1.7;margin-top:5px}.voice-panel{text-align:center;padding:25px 0}.voice-panel .voice-cupid{height:245px;max-width:190px;object-fit:contain;margin:0 auto 18px}.voice-panel h1{font:40px var(--serif);margin-bottom:12px}.voice-panel p{font:17px/1.8 var(--chinese);margin-bottom:20px}.voice-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 26px;border-radius:40px;background:#c67492;color:white;font:17px var(--chinese)}
@media(max-width:767px){
 .app-backdrop{background:linear-gradient(155deg,rgba(237,212,225,.22),rgba(255,241,221,.20) 45%,rgba(221,172,198,.18)),url('images/nocturne_desert_columns_bg.jpg') 51% center/cover fixed}
 .app-shell,.hero-mode .app-shell{background:linear-gradient(160deg,rgba(249,234,240,.74) 0%,rgba(252,239,226,.69) 46%,rgba(238,209,225,.74) 100%)}
 .shell-top{height:55px}.wordmark{font-size:22px;letter-spacing:1.4px;color:#96566f}.wordmark span{font-size:25px}.hero-mode .view{top:calc(65px + env(safe-area-inset-top))}
 .mobile-top-tabs,.mobile-nav{background:rgba(255,248,248,.68);border-color:#ffffffe6}.mobile-top-tabs{margin-bottom:9px}.mobile-nav button,.mobile-top-tabs button{font:18px var(--chinese)}
 .mobile-weather{min-height:180px;gap:14px;padding:4px 2px 9px}.mobile-weather>img{width:112px;height:180px;min-width:112px;margin:0;object-fit:contain;filter:drop-shadow(0 6px 8px #a87b8b14)}
 .mobile-weather .weather{padding:22px 20px;border-radius:48px;font:29px/1.12 var(--serif);background:rgba(255,250,250,.61);min-width:0}.mobile-weather .weather small{font:22px/1.4 var(--serif);margin-top:8px}.mobile-weather .weather img{right:12px;top:12px;width:24px;height:24px}
 .diary-card{padding:12px;gap:12px;border-radius:27px;background:rgba(255,250,248,.67);box-shadow:0 8px 18px #b2768b10,inset 0 1px 2px white}.diary-card img{width:77px;height:90px;border-radius:18px}.diary-card h3{font:20px/1.35 var(--chinese)}.diary-card p{font:15px/1.55 var(--chinese);-webkit-line-clamp:2}.diary-card small{font:10px/1.4 system-ui;color:#9e7b89}.home-cards{padding-top:3px}
 .reader-top .chapter{font-size:14px}.reader-top button{font:13px var(--chinese)}.reader-body{padding-left:8px;padding-right:8px}.reader-body p{font-family:var(--chinese);font-size:var(--book-size);line-height:1.9;letter-spacing:.025em}.reading-highlight{background:linear-gradient(135deg,#fff4f8a8,#f1c8dc99);box-shadow:0 10px 25px #ce8aa442,inset 0 0 18px #fff8}.reading-highlight p{font:19px/1.75 var(--chinese)}.reader-actions .pill{font:14px var(--chinese)}
 .chat-heading{font-family:var(--chinese);font-size:15px;gap:5px}.chat-heading span{font:10px system-ui}.message-bubble{font:17px/1.8 var(--chinese);max-width:100%;color:#4b303d}.message-name{font-family:var(--chinese);font-size:13px}.composer textarea{font-family:var(--chinese)}.pulse-sheet h2{font-family:var(--serif);font-size:25px}
 .reader-actions,.composer,.mobile-nav{backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}.page-heading{font-size:29px}.journal-detail{font:20px/1.95 var(--chinese)}
}
@media(max-width:360px){.mobile-weather>img{width:95px;min-width:95px;height:155px}.mobile-weather .weather{font-size:25px;padding:22px 16px}.mobile-weather .weather small{font-size:19px}.reader-top .chapter{font-size:12px}.reader-actions .pill{font-size:12px;padding:10px 4px}.diary-card h3{font-size:18px}}
.settings-button{margin-left:0}
@media(max-width:767px){body{overflow:hidden}.app-shell,.hero-mode .app-shell{margin:10px;width:calc(100% - 20px);height:calc(var(--visible-height,100dvh) - 20px);border:1.5px solid #ffffffd9;border-radius:35px;box-shadow:0 20px 45px #9b59792b,inset 0 1px 10px #fff6}.app-backdrop{background-position:50% center}.view{padding-left:17px;padding-right:17px}.hero-mode .view{padding-left:17px;padding-right:17px}.shell-top{padding-left:19px;padding-right:17px}.mobile-nav{left:17px;right:17px;bottom:calc(15px + env(safe-area-inset-bottom));height:53px}.mobile-weather{min-height:170px}.mobile-weather>img{height:169px;width:105px;min-width:105px}.diary-card h3{font-size:19px}.diary-card p{font-size:14px}.mobile-top-tabs{margin-top:0}.chat-mode .view{padding:0 17px}.reader-top{gap:4px}.reader-top button{font-size:12px}.reader-top .chapter{font-size:13px}.reading-highlight p{font-size:18px}.reader-actions .pill{font-size:13px;gap:5px}.mobile-weather .weather{font-size:28px}.mobile-weather .weather small{font-size:22px}}
.reader-body>p{white-space:pre-line}.journal-detail h3{font-size:17px;color:var(--berry,#a95274);margin:24px 0 12px}.book-tile{margin:18px 0}.note-list{display:grid;gap:12px}.note-list>.pill{width:100%;justify-content:flex-start}.page-heading{overflow-wrap:anywhere}

/* v6.2: calm typography and compact native controls, retaining the rose shell. */
:root{--chinese:'PingFang SC','Microsoft YaHei',system-ui,sans-serif}
button,input,textarea,select,.message-name,.chat-heading,.reader-top,.reader-actions{font-family:var(--chinese)}
.message-bubble{font-family:var(--chinese);font-size:16px;line-height:1.65;letter-spacing:0}
.chat-heading{gap:6px}.chat-heading span{white-space:nowrap}.chat-local{font-size:10px}.chat-local small{font-size:9px}
.quote-preview{display:flex;align-items:center;gap:8px;max-height:40px;padding:5px 10px;font:12px/1.5 var(--chinese);border-radius:12px;margin-bottom:6px}
.quote-preview>span{flex:1;min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.quote-preview .round{width:28px;height:28px;min-width:28px}
.voice-room-page{height:100%;display:flex;flex-direction:column;min-height:0}.voice-room-heading{display:flex;align-items:center;justify-content:space-between;font:18px var(--serif);padding:0 8px 8px}.voice-room-frame{width:100%;flex:1;min-height:220px;border:0;border-radius:24px;background:#f8e9ef}.voice-login-help{font:12px/1.7 var(--chinese);margin:8px 4px 0}.voice-login-help summary{cursor:pointer}.voice-login-help p{margin-top:4px}
dialog{max-height:calc(var(--visible-height,100dvh) - 30px);overflow-y:auto;overscroll-behavior:contain}.reader-body{user-select:text;-webkit-user-select:text}.reader-actions button{white-space:nowrap;min-width:0}
@media(max-width:767px){
 .voice-mode .view{bottom:calc(16px + env(safe-area-inset-bottom));padding:0 12px}.voice-mode .mobile-nav{display:none}
 .voice-room-heading{font-size:17px}.voice-room-frame{border-radius:20px}.voice-room-heading .round{width:32px;height:32px;min-width:32px}
 .reader-actions .pill{font:13px var(--chinese);gap:5px;padding:10px 8px}.reader-actions .pill img{width:17px;height:17px}
 .chat-heading{font:13px var(--chinese);margin-bottom:6px;min-height:34px;height:34px}.chat-heading span{font-size:10px}.chat-log{padding:12px 0}.message{margin-bottom:18px;gap:8px}.message-bubble{font-size:16px;padding:10px 13px}.message-name{font-size:11px}.message time{font-size:10px}
 .composer-wrap{margin:6px 0 0}.composer{min-height:48px;padding:5px 7px 5px 12px;gap:5px}.composer textarea{font:16px/22px var(--chinese);height:32px}.composer .send{width:36px;height:36px;min-width:36px}
 html[data-keyboard-open="true"] .chat-mode .shell-top{display:none}
 html[data-keyboard-open="true"] .chat-mode .app-shell{top:calc(var(--viewport-top,0px) + 3px);left:3px;right:3px;width:calc(100% - 6px);height:calc(var(--visible-height,100dvh) - 6px);border-radius:18px}
 html[data-keyboard-open="true"] .chat-mode .view{top:4px;bottom:4px;padding:0 10px}
 html[data-keyboard-open="true"] .chat-mode .chat-heading{min-height:28px;height:28px;margin-bottom:2px;font-size:12px;border:0;box-shadow:none;background:none}
 html[data-keyboard-open="true"] .chat-mode .chat-log{padding-top:4px;padding-bottom:8px}
 html[data-keyboard-open="true"] .chat-mode .chat-local{display:none}
 html[data-keyboard-open="true"] .chat-mode .composer-wrap{margin-top:3px}
}

.reader-selection{display:flex;gap:8px;align-items:center;padding:7px 10px;background:#fff7f9e8;border:1px solid #fff;border-radius:16px;font:12px/1.5 var(--chinese);flex:0 0 auto}.reader-selection>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.reader-selection .pill{padding:7px 10px;font-size:12px;white-space:nowrap}.reader-annotation{background:#efbbd05c;color:inherit;border-bottom:1px solid #c47b9a;cursor:pointer}.reader-annotation:focus-visible{outline:2px solid #ba7394}.reader-body:has(.reader-annotation){scroll-padding-bottom:90px}


/* =========================================================================
   STRICT DESKTOP / IPHONE 14 PRO ISOLATION SYSTEM
   ========================================================================= */

/* 1. Desktop Defaults (min-width: 768px) */
@media (min-width: 768px) {
  .splash-screen {
    display: none !important; /* 桌面端绝不开屏打扰，保持经典极简 */
  }
  .mobile-only {
    display: none !important;
  }
  .desktop-only {
    display: flex !important;
  }
  .m-sanctum-grid, .m-anniversary-card, .m-whisper-card, .mobile-sanctum-header, .m-settings-row {
    display: none !important;
  }
}

/* 2. iPhone 14 Pro Mobile Specialized (max-width: 767px) */
@media (max-width: 767px) {
  .desktop-only {
    display: none !important;
  }
  .mobile-only {
    display: flex !important;
  }

  /* 开屏水波 (仅在手机端呈现) */
  .splash-screen {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: #F8E2EC;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: calc(env(safe-area-inset-top, 54px) + 10px) 24px calc(env(safe-area-inset-bottom, 34px) + 12px) 24px;
    overflow: hidden;
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .splash-screen.splash-dismissed {
    opacity: 0;
    transform: scale(1.05);
    pointer-events: none;
  }

  .splash-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
    filter: contrast(1.05) brightness(1.02);
    pointer-events: none;
  }

  .splash-water-caustics {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 30%, rgba(255, 245, 250, 0.25) 0%, rgba(240, 195, 215, 0.5) 100%);
    pointer-events: none;
  }

  .splash-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 390px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
  }

  .splash-script-top {
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
    letter-spacing: 3.5px;
    font-size: 13px;
    color: #4A2834;
    font-weight: 600;
    margin-bottom: 3px;
  }

  .splash-zh-sub {
    font-size: 12px;
    color: #7A4D5C;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
  }

  .splash-en-sub {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-size: 15.5px;
    color: #381C26;
    margin-bottom: 2px;
  }

  .splash-zh-sub2 {
    font-size: 11px;
    color: #7A4D5C;
  }

  .splash-title {
    font-family: "Brush Script MT", "Snell Roundhand", "Cormorant Garamond", cursive, serif;
    font-size: 64px;
    color: #2F141E;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1;
    margin-bottom: 6px;
    text-shadow: 0 4px 20px rgba(255, 255, 255, 0.8), 0 2px 4px rgba(140, 60, 80, 0.15);
  }

  .splash-zh-title {
    font-size: 12px;
    color: #8C5565;
    letter-spacing: 3.5px;
  }

  .splash-quotes {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 95%;
  }

  .splash-quote-item {
    background: rgba(255, 255, 255, 0.42);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 11px 16px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 4px 16px rgba(180, 110, 130, 0.08);
  }

  .splash-quote-en {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-size: 14px;
    color: #2B151F;
    line-height: 1.45;
    margin-bottom: 3px;
  }

  .splash-quote-zh {
    font-size: 11px;
    color: #734554;
    line-height: 1.35;
  }

  .splash-swipe-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 9px 20px;
    border-radius: 30px;
    border: 1px solid #FFFFFF;
    color: #552735;
    font-size: 12px;
    font-weight: 500;
    box-shadow: 0 6px 20px rgba(160, 80, 105, 0.14);
    animation: pulsePill 2s infinite ease-in-out;
  }

  /* 手机版 Sanctum 主页 (iPhone 14 Pro 宽度 393px 完美适配) */
  .mobile-home {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 10px 14px calc(80px + env(safe-area-inset-bottom)) 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .mobile-sanctum-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 11.5px !important;
    color: #734554 !important;
  }

  .m-status-pill, .m-weather-pill {
    background: rgba(255, 255, 255, 0.65) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    padding: 5px 11px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
  }

  .m-anniversary-card {
    background: rgba(255, 252, 253, 0.85) !important;
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    border: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 24px !important;
    padding: 20px 16px !important;
    text-align: center !important;
    box-shadow: 0 8px 24px rgba(160, 80, 105, 0.07), inset 0 1px 1px #FFFFFF !important;
  }

  .m-anni-welcome {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-style: italic !important;
    font-size: 18px !important;
    color: #7A4252 !important;
    margin-bottom: 2px !important;
  }

  .m-anni-counter {
    display: flex !important;
    justify-content: center !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin: 2px 0 !important;
  }

  .m-anni-num {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 58px !important;
    line-height: 1 !important;
    color: #9C4B60 !important;
    font-weight: 600 !important;
  }

  .m-anni-unit {
    font-size: 15px !important;
    color: #8C5565 !important;
    font-weight: 500 !important;
  }

  .m-anni-since {
    font-size: 11.5px !important;
    color: #A3707F !important;
  }

  .m-anni-divider {
    width: 36px !important;
    height: 1px !important;
    background: #E8C8D2 !important;
    margin: 12px auto 10px auto !important;
  }

  .m-anni-sign {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 13px !important;
    color: #552735 !important;
    font-weight: 500 !important;
  }

  .m-anni-heart {
    color: #C0657B !important;
  }

  .m-whisper-card {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: rgba(255, 252, 253, 0.8) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 20px !important;
    padding: 10px 14px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(160, 80, 105, 0.05) !important;
  }

  .m-whisper-avatar-wrap {
    position: relative !important;
    width: 40px !important;
    height: 40px !important;
    flex-shrink: 0 !important;
  }

  .m-whisper-avatar {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 2px solid #FFFFFF !important;
  }

  .m-whisper-dot {
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    width: 9px !important;
    height: 9px !important;
    background: #5CB85C !important;
    border-radius: 50% !important;
    border: 1.5px solid #FFFFFF !important;
  }

  .m-whisper-body {
    flex: 1 !important;
  }

  .m-whisper-title {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-style: italic !important;
    font-size: 13px !important;
    color: #8C5565 !important;
    margin-bottom: 1px !important;
  }

  .m-whisper-text {
    font-size: 12px !important;
    color: #381C26 !important;
    line-height: 1.35 !important;
  }

  .m-whisper-arrow {
    color: #B58595 !important;
    font-size: 16px !important;
  }

  .m-sanctum-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .m-tile {
    background: rgba(255, 252, 253, 0.8) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 20px !important;
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 115px !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 14px rgba(160, 80, 105, 0.05) !important;
  }

  .m-tile-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .m-tile-tag {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #9C5568 !important;
  }

  .m-tile-arr {
    font-size: 13px !important;
    color: #B58595 !important;
  }

  .m-tile-title {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #2F141E !important;
    margin-bottom: 2px !important;
  }

  .m-tile-sub {
    font-size: 11px !important;
    color: #7D4F5E !important;
    line-height: 1.35 !important;
  }

  .m-reading-bar {
    width: 100% !important;
    height: 4px !important;
    background: #EED2DC !important;
    border-radius: 4px !important;
    margin: 6px 0 3px 0 !important;
    overflow: hidden !important;
  }

  .m-reading-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #D48498 0%, #C77286 100%) !important;
    border-radius: 4px !important;
  }

  .m-reading-num {
    font-size: 10px !important;
    color: #A3707F !important;
  }

  .m-voice-orb-glow {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle at 35% 30%, #FFF3F0 0%, #E69AB0 50%, #B85875 100%) !important;
    box-shadow: 0 0 14px rgba(220, 120, 150, 0.5) !important;
    animation: breatheVoice 3s infinite ease-in-out !important;
    margin: 4px auto 6px auto !important;
  }

  .m-voice-txt {
    font-size: 11px !important;
    color: #8C5565 !important;
    font-weight: 500 !important;
    text-align: center !important;
    display: block !important;
  }

  .m-settings-row {
    display: flex !important;
    justify-content: center !important;
    margin-top: 4px !important;
  }

  .m-setting-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 7px 16px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    background: rgba(255, 252, 253, 0.75) !important;
    font-size: 11.5px !important;
    color: #7D4F5E !important;
    font-weight: 500 !important;
  }

  .m-setting-btn img {
    width: 14px !important;
    height: 14px !important;
  }

  /* 3. iPhone 14 Pro 灵动岛顶栏 (针对灵动岛区域优化 safe-area) */
  .mobile-chat-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 6px 10px !important;
    margin-bottom: 4px !important;
  }

  .dynamic-island-pill {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: rgba(255, 252, 253, 0.85) !important;
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    border: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 24px !important;
    padding: 3px 12px 3px 5px !important;
    box-shadow: 0 4px 14px rgba(160, 80, 105, 0.08) !important;
    cursor: pointer !important;
    flex: 1 !important;
    max-width: 250px !important;
    margin: 0 8px !important;
  }

  .dynamic-island-pill:active, .dynamic-island-pill.expanded {
    transform: scale(1.03) !important;
    background: #FFFFFF !important;
  }

  .island-left {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
  }

  .island-avatar-mini img {
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 1px solid #FFFFFF !important;
  }

  .island-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #2D141E !important;
  }

  .island-model-tag {
    background: rgba(230, 160, 180, 0.22) !important;
    color: #9C4B60 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    padding: 1px 6px !important;
    border-radius: 8px !important;
  }

  .island-right {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 11px !important;
    color: #7D4F5E !important;
  }

  .island-live-dot {
    width: 6px !important;
    height: 6px !important;
    background: #4CAF50 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 5px #4CAF50 !important;
    animation: pulseDot 2s infinite ease-in-out !important;
  }

  .chat-bar-back, .chat-bar-bell {
    background: rgba(255, 255, 255, 0.65) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    color: #552735 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }

  .chat-bar-bell img {
    width: 16px !important;
    height: 16px !important;
  }

  /* 4. Chat 消息气泡 & 黑猫彩蛋贴纸 */
  .message-body-col {
    display: flex !important;
    flex-direction: column !important;
    max-width: 100% !important;
  }

  .message-bubble-row {
    position: relative !important;
    display: inline-block !important;
  }

  .chat-cat-sticker-btn {
    position: absolute !important;
    right: -20px !important;
    bottom: -8px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    z-index: 5 !important;
  }

  .chat-cat-sticker {
    width: 44px !important;
    height: auto !important;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.12)) !important;
    transition: transform 0.2s ease !important;
  }

  .chat-cat-sticker-btn:active .chat-cat-sticker {
    transform: scale(1.15) rotate(5deg) !important;
  }

  /* 5. 话题池弹窗 */
  .topic-pool-modal {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: auto !important;
    max-width: 350px !important;
    width: 90% !important;
  }

  .topic-pool-modal::backdrop {
    background: rgba(40, 20, 28, 0.45) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }

  .topic-pool-card {
    background: rgba(255, 252, 253, 0.95) !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    border: 1px solid #FFFFFF !important;
    border-radius: 26px !important;
    padding: 20px 16px !important;
    box-shadow: 0 16px 40px rgba(120, 50, 70, 0.2) !important;
    position: relative !important;
    text-align: left !important;
  }

  .topic-pool-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    background: rgba(200, 150, 165, 0.15) !important;
    border: none !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    font-size: 15px !important;
    color: #7D4F5E !important;
    cursor: pointer !important;
  }

  .topic-pool-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
  }

  .topic-cat-hero {
    width: 65px !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.12)) !important;
  }

  .topic-pool-title {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-style: italic !important;
    font-size: 22px !important;
    color: #381C26 !important;
  }

  .topic-pool-sub {
    font-size: 11px !important;
    color: #8C5565 !important;
  }

  .topic-section-tag {
    font-size: 10.5px !important;
    color: #C0657B !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
  }

  .topic-item-title {
    font-size: 12.5px !important;
    color: #331A24 !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
  }

  .topic-divider {
    text-align: center !important;
    color: #DDA8B8 !important;
    font-size: 9px !important;
    margin: 8px 0 !important;
  }

  .topic-source-link {
    font-size: 10.5px !important;
    color: #9C5568 !important;
    word-break: break-all !important;
    line-height: 1.35 !important;
    margin-bottom: 16px !important;
    background: rgba(240, 210, 220, 0.25) !important;
    padding: 6px 8px !important;
    border-radius: 8px !important;
  }

  .topic-actions {
    display: flex !important;
    gap: 10px !important;
  }

  .topic-btn-back {
    flex: 1 !important;
    background: rgba(255, 255, 255, 0.8) !important;
    border: 1px solid rgba(220, 180, 195, 0.5) !important;
    padding: 9px !important;
    border-radius: 16px !important;
    font-size: 12.5px !important;
    color: #7D4F5E !important;
    font-weight: 500 !important;
  }

  .topic-btn-pick {
    flex: 1.2 !important;
    background: linear-gradient(135deg, #D48498 0%, #C77286 100%) !important;
    border: none !important;
    padding: 9px !important;
    border-radius: 16px !important;
    font-size: 12.5px !important;
    color: #FFFFFF !important;
    font-weight: 500 !important;
    box-shadow: 0 4px 12px rgba(180, 80, 105, 0.2) !important;
  }
}

/* =========================================================================
   MEMORY VAULT (记忆库专属沉浸设计)
   ========================================================================= */
.memory-page {
  padding: 14px 16px 90px 16px;
  max-width: 520px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.memory-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: 24px;
  background: rgba(255, 252, 253, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 16px rgba(160, 80, 105, 0.06);
}

.memory-header-title {
  text-align: center;
}

.memory-header-title h1 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-size: 20px;
  color: #381C26;
  margin-bottom: 2px;
}

.memory-sub {
  font-size: 11px;
  color: #8C5565;
}

.memory-stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}

.mem-stat-card {
  background: rgba(255, 252, 253, 0.8) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 18px;
  padding: 12px 6px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(160, 80, 105, 0.05);
}

.mem-num {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 26px;
  line-height: 1;
  color: #9C4B60;
  font-weight: 600;
  display: block;
  margin-bottom: 3px;
}

.mem-label {
  font-size: 10px;
  color: #8C5565;
}

.memory-sync-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 16px;
  background: rgba(255, 252, 253, 0.75) !important;
  font-size: 11.5px;
  color: #6A3A49;
}

.sync-banner-left {
  display: flex;
  align-items: center;
  gap: 7px;
}

.sync-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5CB85C;
  box-shadow: 0 0 5px #5CB85C;
}

.sync-dot.paused {
  background: #FFA726;
  box-shadow: 0 0 5px #FFA726;
}

.memory-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.memory-section-tag {
  font-size: 11.5px;
  color: #C0657B;
  font-weight: 600;
  margin-top: 4px;
}

.memory-card {
  background: rgba(255, 252, 253, 0.88) !important;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border: 1px solid rgba(255, 255, 255, 0.95);
  border-radius: 20px;
  padding: 14px 16px;
  box-shadow: 0 6px 18px rgba(160, 80, 105, 0.06);
}

.memory-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.memory-tag {
  background: rgba(230, 160, 180, 0.22);
  color: #9C4B60;
  font-size: 10.5px;
  font-weight: 500;
  padding: 2px 7px;
  border-radius: 8px;
}

.memory-time {
  font-size: 10.5px;
  color: #A3707F;
}

.memory-title {
  font-size: 14.5px;
  font-weight: 600;
  color: #2F141E;
  margin-bottom: 4px;
}

.memory-desc {
  font-size: 12.5px;
  color: #4A2834;
  line-height: 1.5;
  margin-bottom: 8px;
}

.memory-companion-reply {
  background: rgba(240, 215, 225, 0.35);
  border-left: 2px solid #C0657B;
  padding: 6px 10px;
  border-radius: 0 10px 10px 0;
  font-size: 12px;
  color: #6A3A49;
  line-height: 1.45;
  margin-bottom: 8px;
}

.memory-author-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10.5px;
  color: #9C6575;
  border-top: 1px solid #F0D5DE;
  padding-top: 6px;
}

.memory-lock {
  color: #7A4252;
}

.voice-mini-orb {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #FFF3F0 0%, #E69AB0 50%, #B85875 100%);
  display: inline-block;
}

.m-voice-btn {
  gap: 6px !important;
}



/* =========================================================================
   COMPREHENSIVE PIXEL-PERFECT BUG FIXES (FOR ALL 4 REPORTED DEFECTS)
   ========================================================================= */

@media (max-width: 767px) {
  /* Fix 1: In chat-mode & voice-mode, completely hide the outer static shell-top */
  body.chat-mode .shell-top,
  body.voice-mode .shell-top {
    display: none !important;
  }

  /* Fix 2: Mobile Sanctum home page scroll unlock (彻底解除下滑限制) */
  .hero-mode .view, .view {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    height: auto !important;
    max-height: calc(100dvh - 75px - env(safe-area-inset-bottom)) !important;
  }

  .mobile-home {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    height: auto !important;
    min-height: min-content !important;
    padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  }

  /* Fix 3: Chat page 1:1 match right reference screenshot */
  body.chat-mode .view {
    top: env(safe-area-inset-top, 20px) !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    padding: 0 16px !important;
  }

  .chat-page {
    background: transparent !important;
  }

  /* 灵动岛顶栏: 极简纯净 */
  .mobile-chat-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 4px 0 10px 0 !important;
  }

  .dynamic-island-pill {
    background: #E8D5D8 !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 30px !important;
    padding: 4px 14px 4px 6px !important;
    box-shadow: 0 4px 12px rgba(180, 120, 140, 0.1) !important;
  }

  .chat-bar-bell {
    background: #E8D5D8 !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .chat-bar-back {
    background: #E8D5D8 !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    color: #4A2834 !important;
  }

  /* 【用户红字严令】对话框气泡前头像用户和闻叙头像都不显示！ */
  .chat-page .message-avatar {
    display: none !important;
  }

  .chat-page .message {
    gap: 0 !important;
    margin-bottom: 14px !important;
    max-width: 100% !important;
    display: flex !important;
  }

  .chat-page .message.ai {
    justify-content: flex-start !important;
    margin-left: 0 !important;
  }

  .chat-page .message.user {
    justify-content: flex-start !important;
    margin-left: 0 !important;
  }

  .chat-page .message-body-col {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .chat-page .message-bubble-row {
    position: relative !important;
    display: inline-block !important;
    width: 100% !important;
  }

  /* 【参考图右图 1:1 颜色与字体】
     闻叙 / AI 气泡: 暖醇深粉白字 (#C86785 / #C56683), 字体平滑无衬线
     用户 / Human 气泡: 柔粉白底深字 (#F9ECF0), 边框细柔
  */
  .chat-page .message.ai .message-bubble {
    background: #C66E87 !important;
    color: #FFFFFF !important;
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    padding: 13px 16px !important;
    border-radius: 16px !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(180, 80, 110, 0.12) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .chat-page .message.user .message-bubble {
    background: #F8E2EC !important;
    color: #4A2834 !important;
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    padding: 13px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    box-shadow: 0 4px 12px rgba(180, 120, 140, 0.06) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .chat-page .message-name {
    display: none !important; /* 参考图不显示名字标签，极为克制纯净 */
  }

  .chat-page time {
    font-size: 10px !important;
    color: #A3707F !important;
    margin-top: 4px !important;
    text-align: right !important;
  }

  /* 话题池贴纸猫: 换成参考图里右下角探出头的精致戴金牌小黑猫 */
  .chat-cat-sticker-btn {
    position: absolute !important;
    right: 6px !important;
    bottom: -16px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    z-index: 6 !important;
  }

  .chat-cat-sticker {
    width: 48px !important;
    height: auto !important;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.15)) !important;
  }

  /* 输入框: 1:1 对标右图参考设计 */
  .chat-page .composer {
    background: #FDF4F6 !important;
    border: 1px solid #FFFFFF !important;
    border-radius: 35px !important;
    padding: 6px 8px 6px 14px !important;
    box-shadow: 0 4px 18px rgba(160, 90, 115, 0.08) !important;
  }

  .chat-page .composer textarea {
    font-size: 14.5px !important;
    color: #381C26 !important;
  }

  .chat-page .composer .send {
    background: #C66E87 !important;
    border-radius: 50% !important;
  }

  /* Fix 4: 纪念日卡片样式微调 (字体与Together字体) */
  .m-anni-welcome {
    font-family: "Brush Script MT", "Snell Roundhand", "Cormorant Garamond", cursive, serif !important;
    font-style: italic !important;
    font-size: 26px !important;
    color: #4A2834 !important;
  }

  .m-anni-heart-icon {
    font-size: 38px !important;
    color: #9C4B60 !important;
    line-height: 1 !important;
  }

  .m-anni-together {
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif !important;
    font-size: 12.5px !important;
    color: #8C5565 !important;
    letter-spacing: 0.5px !important;
    margin: 4px 0 8px 0 !important;
  }

  .m-cycle-tag {
    font-size: 10.5px !important;
    background: rgba(230, 160, 180, 0.25) !important;
    color: #A04A62 !important;
    padding: 2px 8px !important;
    border-radius: 12px !important;
    margin-left: 6px !important;
  }

  /* Fix 5: 语音房全屏与防遮挡修复 */
  .voice-room-page {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100 !important;
    background: linear-gradient(160deg, #F9EEF1 0%, #F5DEE7 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: calc(env(safe-area-inset-top, 20px) + 8px) 14px calc(env(safe-area-inset-bottom, 20px) + 8px) 14px !important;
    box-sizing: border-box !important;
  }

  .voice-room-top-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
  }

  .voice-room-title-pill {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    font-size: 13px !important;
    color: #4A2834 !important;
    font-weight: 500 !important;
  }

  .voice-live-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #4CAF50 !important;
    box-shadow: 0 0 6px #4CAF50 !important;
  }

  .voice-room-frame-container {
    flex: 1 !important;
    width: 100% !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 30px rgba(160, 90, 115, 0.12) !important;
    background: #FFF8FA !important;
  }

  .voice-room-frame {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
  }

  .voice-room-footer-tip {
    text-align: center !important;
    padding: 8px 0 0 0 !important;
    font-size: 11px !important;
    color: #8C5565 !important;
  }

  /* Fix 6: 日记卡片与图片预览优化 (对标图 4) */
  .diary-card {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: rgba(255, 252, 253, 0.82) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 24px !important;
    padding: 12px 14px !important;
    box-shadow: 0 6px 20px rgba(160, 80, 105, 0.05) !important;
    margin-bottom: 12px !important;
  }

  .diary-cover-thumb {
    width: 72px !important;
    height: 92px !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid #FFFFFF !important;
  }

  .diary-card-text {
    flex: 1 !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  .diary-card-text h3 {
    font-size: 16.5px !important;
    color: #2F141E !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
  }

  .diary-card-text p {
    font-size: 12.5px !important;
    color: #6A3A49 !important;
    line-height: 1.5 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .diary-card-text small {
    font-size: 10.5px !important;
    color: #A3707F !important;
    margin-top: 6px !important;
    display: block !important;
  }

  .diary-photo-upload-row {
    padding: 12px !important;
    border-radius: 18px !important;
    margin: 8px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .diary-upload-label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 12px !important;
    color: #6A3A49 !important;
  }

  #diary-photo-preview {
    width: 100% !important;
    max-height: 160px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
    border: 1px solid #FFFFFF !important;
    box-shadow: 0 4px 12px rgba(180, 80, 110, 0.1) !important;
  }

  .diary-link-option {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    color: #7D4F5E !important;
    margin: 6px 0 !important;
  }
}


/* =========================================================================
   PURE WATER ANIMATION & IPHONE 14 PRO FULLSCREEN ADAPTATION (V14)
   ========================================================================= */

@keyframes waterFluidDrift {
  0% {
    transform: translateY(0px) scale(1) skewX(0deg);
    text-shadow: 0 0 12px rgba(255, 235, 245, 0.7), 0 2px 4px rgba(130, 60, 85, 0.25);
  }
  33% {
    transform: translateY(-2px) scale(1.015) skewX(0.8deg);
    text-shadow: 0 0 18px rgba(255, 245, 250, 0.9), 0 3px 6px rgba(130, 60, 85, 0.35);
  }
  66% {
    transform: translateY(1.5px) scale(0.99) skewX(-0.6deg);
    text-shadow: 0 0 10px rgba(255, 220, 235, 0.6), 0 1px 3px rgba(130, 60, 85, 0.2);
  }
  100% {
    transform: translateY(0px) scale(1) skewX(0deg);
    text-shadow: 0 0 12px rgba(255, 235, 245, 0.7), 0 2px 4px rgba(130, 60, 85, 0.25);
  }
}

.splash-screen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  width: 100vw !important;
  height: 100dvh !important;
  background: #fcebf0 !important;
  overflow: hidden !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.splash-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.92 !important;
  filter: contrast(1.04) brightness(1.02) saturate(1.1) !important;
  pointer-events: none !important;
}

.splash-water-caustics {
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 50% 35%, rgba(255, 245, 250, 0.2) 0%, rgba(245, 190, 215, 0.45) 100%) !important;
  pointer-events: none !important;
  mix-blend-mode: soft-light !important;
}

.splash-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 414px !important;
  height: 100% !important;
  padding: calc(env(safe-area-inset-top, 20px) + 16px) 24px calc(env(safe-area-inset-bottom, 20px) + 16px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.splash-top {
  margin-top: 6px !important;
}

.splash-script-top {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 13px !important;
  letter-spacing: 2.8px !important;
  color: #642b3e !important;
  margin: 0 0 3px 0 !important;
  font-weight: 500 !important;
  animation: waterFluidDrift 5.5s ease-in-out infinite alternate !important;
}

.splash-zh-sub {
  font-family: "Noto Serif SC", STSong, "Songti SC", serif !important;
  font-size: 12px !important;
  letter-spacing: 1.8px !important;
  color: #8b4a62 !important;
  margin: 0 0 7px 0 !important;
  opacity: 0.9 !important;
}

.splash-en-sub {
  font-family: "Playfair Display", Georgia, italic, serif !important;
  font-style: italic !important;
  font-size: 13.5px !important;
  letter-spacing: 0.6px !important;
  color: #5d2537 !important;
  margin: 0 0 3px 0 !important;
  line-height: 1.35 !important;
  animation: waterFluidDrift 6.2s ease-in-out 0.8s infinite alternate !important;
}

.splash-zh-sub2 {
  font-family: "Noto Serif SC", STSong, "Songti SC", serif !important;
  font-size: 11px !important;
  letter-spacing: 1.2px !important;
  color: #92536b !important;
  margin: 0 !important;
  opacity: 0.85 !important;
}

.splash-center {
  margin: 15px 0 !important;
}

/* 花体英文 Wen Xu: 宛如水面荡漾生姿 */
.splash-title-cursive {
  font-family: "Great Vibes", "Dancing Script", cursive, "Brush Script MT" !important;
  font-size: 68px !important;
  line-height: 1.05 !important;
  font-weight: 400 !important;
  color: #4c182b !important;
  margin: 0 !important;
  padding: 0 !important;
  transform-origin: center center !important;
  animation: waterFluidDrift 4.8s ease-in-out infinite alternate !important;
  text-shadow: 0 0 16px rgba(255, 230, 242, 0.8), 0 3px 8px rgba(120, 45, 70, 0.28) !important;
}

.splash-zh-title {
  font-family: "Noto Serif SC", STSong, "Songti SC", serif !important;
  font-size: 13.5px !important;
  letter-spacing: 3.5px !important;
  color: #7b3851 !important;
  margin: 6px 0 0 0 !important;
  font-weight: 400 !important;
}

/* 水波卡片: 高透光柔和融于水面 */
.glass-water-card {
  background: rgba(255, 245, 249, 0.38) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  border-radius: 20px !important;
  padding: 13px 18px !important;
  margin: 10px 0 !important;
  box-shadow: 0 4px 18px rgba(160, 70, 95, 0.08) !important;
  transition: transform 0.3s ease !important;
}

.splash-quote-en {
  font-family: "Playfair Display", Georgia, italic, serif !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: #4c192c !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.4 !important;
}

.splash-quote-zh {
  font-family: "Noto Serif SC", STSong, "Songti SC", serif !important;
  font-size: 11px !important;
  color: #7d3f56 !important;
  margin: 0 !important;
  letter-spacing: 0.8px !important;
}

/* 高通透毛玻璃底部滑动按钮 */
.splash-swipe-pill-ultra-glass {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(255, 250, 252, 0.45) !important;
  backdrop-filter: blur(28px) !important;
  -webkit-backdrop-filter: blur(28px) !important;
  border: 1px solid rgba(255, 255, 255, 0.85) !important;
  padding: 10px 22px !important;
  border-radius: 40px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #4a192a !important;
  box-shadow: 0 6px 22px rgba(160, 70, 95, 0.12), inset 0 0 10px rgba(255, 255, 255, 0.5) !important;
  cursor: pointer !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background 0.2s !important;
}

.splash-swipe-pill-ultra-glass:active {
  transform: scale(0.96) !important;
  background: rgba(255, 255, 255, 0.75) !important;
}

.splash-swipe-arrow {
  display: inline-block !important;
  font-size: 17px !important;
  transform: rotate(90deg) !important;
  color: #9c4b60 !important;
  animation: bounceUp 1.6s ease-in-out infinite !important;
}

@keyframes bounceUp {
  0%, 100% { transform: rotate(90deg) translateX(0); }
  50% { transform: rotate(90deg) translateX(-4px); }
}

/* =========================================================================
   IPHONE 14 PRO 全屏适配: 消除四周边框与上下巨幅留白
   ========================================================================= */
@media (max-width: 767px) {
  html, body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    overflow: hidden !important;
    background: #fbf0f4 !important;
  }

  .app-shell, .hero-mode .app-shell, .chat-mode .app-shell, .voice-mode .app-shell {
    margin: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: 100vw !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: linear-gradient(170deg, #faedf2 0%, #fdf5f2 45%, #f6e2ec 100%) !important;
  }

  /* 消除桌面端遗留的顶部和底部留白 */
  .shell-top {
    display: none !important;
  }

  .mobile-top-tabs {
    display: none !important;
  }

  /* 主页布局直接顶格，紧贴 iPhone 灵动岛 */
  .mobile-home {
    padding-top: calc(env(safe-area-inset-top, 20px) + 8px) !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 20px) + 20px) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* 主体视图区域真正全屏滚动 */
  .view {
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* 底部主导航栏: 仅在非 chat、非 voice 页面优雅悬浮 */
  .mobile-nav {
    left: 16px !important;
    right: 16px !important;
    bottom: calc(env(safe-area-inset-bottom, 12px) + 8px) !important;
    height: 52px !important;
    border-radius: 30px !important;
    background: rgba(255, 248, 251, 0.65) !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    box-shadow: 0 10px 30px rgba(160, 70, 95, 0.12) !important;
  }

  /* 聊天模式下彻底隐藏全局底部导航，留出整屏聊天 */
  .chat-mode .mobile-nav, .voice-mode .mobile-nav {
    display: none !important;
  }
}


/* =========================================================================
   1:1 对标参考图 4-6 聊天页面 & 图 2 语音房设计 (V14)
   ========================================================================= */

@media (max-width: 767px) {
  /* 聊天全屏容器 */
  .chat-page {
    display: flex !important;
    flex-direction: column !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    width: 100vw !important;
    background: #f9eded !important;
    padding-top: calc(env(safe-area-inset-top, 20px) + 6px) !important;
    box-sizing: border-box !important;
  }

  /* 顶栏: 紧贴灵动岛，Nox + GPT6 Astra + 趴着呢 + 铃铛 */
  .mobile-chat-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 4px 16px 8px 16px !important;
    background: transparent !important;
    flex-shrink: 0 !important;
  }

  .chat-header-profile {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
  }

  .chat-avatar-wrap {
    position: relative !important;
    width: 38px !important;
    height: 38px !important;
  }

  .chat-header-avatar {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 1.5px solid #FFFFFF !important;
    box-shadow: 0 2px 8px rgba(160, 70, 95, 0.1) !important;
  }

  .chat-avatar-subtag {
    position: absolute !important;
    bottom: -2px !important;
    left: -2px !important;
    width: 14px !important;
    height: 14px !important;
    background: #FFFFFF !important;
    color: #333333 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15) !important;
  }

  .chat-header-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }

  .chat-header-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .chat-header-name {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #2D141E !important;
  }

  .chat-header-model-pill {
    font-size: 10.5px !important;
    color: #B5677E !important;
    background: rgba(243, 218, 224, 0.6) !important;
    padding: 1px 7px !important;
    border-radius: 12px !important;
    font-weight: 500 !important;
  }

  .chat-header-status-row {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
  }

  .chat-status-green-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #60B784 !important;
  }

  .chat-status-text {
    font-size: 10.5px !important;
    color: #8C5C6C !important;
  }

  .chat-header-bell-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255, 248, 250, 0.75) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(160, 70, 95, 0.08) !important;
    cursor: pointer !important;
  }

  .chat-header-bell-btn img {
    width: 18px !important;
    height: 18px !important;
  }

  /* 消息流动区: 严丝合缝 */
  .chat-log {
    flex: 1 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 10px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .message {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: flex !important;
  }

  .message.ai {
    justify-content: flex-start !important;
  }

  .message.user {
    justify-content: flex-end !important;
  }

  .message-row-layout {
    display: flex !important;
    align-items: flex-end !important;
    gap: 8px !important;
    max-width: 86% !important;
  }

  .message-bubble-col {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* 气泡样式 1:1 对标图 5-6 */
  /* AI 气泡: 烟粉色 #C57A8E / #CE768F，白字 #FFF，圆角 18px */
  .bubble-ai-berry {
    background: #CE768F !important;
    color: #FFFFFF !important;
    border-radius: 18px !important;
    padding: 10px 14px !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    word-break: break-word !important;
    box-shadow: 0 3px 12px rgba(175, 80, 105, 0.15) !important;
  }

  /* 用户气泡: 温暖淡米白 #FFFFFF / #F5EDEE，深灰棕字 #4A2834，右侧靠齐 */
  .bubble-user-white {
    background: #FFFFFF !important;
    color: #381D26 !important;
    border-radius: 18px !important;
    padding: 10px 14px !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    word-break: break-word !important;
    box-shadow: 0 2px 10px rgba(160, 70, 95, 0.08) !important;
    border: 1px solid rgba(255, 235, 240, 0.8) !important;
  }

  /* 黑猫贴纸挂载在最后一条 AI 消息右下侧 (1:1 对标参考图 5-6) */
  .chat-sticker-container {
    position: absolute !important;
    right: -24px !important;
    bottom: -16px !important;
    z-index: 5 !important;
  }

  .chat-cat-sticker {
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.15)) !important;
    cursor: pointer !important;
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .chat-cat-sticker:active {
    transform: scale(1.15) !important;
  }

  /* 底部圆润输入条 (1:1 对标参考图 5-6) */
  .composer-wrap {
    padding: 6px 14px calc(env(safe-area-inset-bottom, 12px) + 6px) 14px !important;
    background: transparent !important;
    flex-shrink: 0 !important;
  }

  .composer-ref-pill {
    display: flex !important;
    align-items: center !important;
    background: #FFFFFF !important;
    border-radius: 35px !important;
    padding: 5px 6px 5px 12px !important;
    box-shadow: 0 4px 18px rgba(175, 80, 105, 0.12) !important;
    border: 1px solid rgba(255, 235, 242, 0.9) !important;
    gap: 8px !important;
  }

  .btn-ref-plus {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(235, 180, 195, 0.25) !important;
    border: none !important;
    color: #B5677E !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }

  #chat-input {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    font-size: 13.5px !important;
    color: #381D26 !important;
    resize: none !important;
    outline: none !important;
    padding: 6px 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    min-height: 22px !important;
    max-height: 80px !important;
  }

  #chat-input::placeholder {
    color: #BD9BA6 !important;
  }

  .btn-ref-mic {
    background: transparent !important;
    border: none !important;
    color: #8C5C6C !important;
    padding: 4px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }

  .btn-ref-mic svg, .btn-ref-mic img {
    width: 20px !important;
    height: 20px !important;
  }

  .btn-ref-send {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #CE768F !important;
    border: none !important;
    color: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 8px rgba(206, 118, 143, 0.35) !important;
    transition: transform 0.15s ease !important;
  }

  .btn-ref-send:active {
    transform: scale(0.92) !important;
  }

  .btn-ref-send svg, .btn-ref-send img {
    width: 15px !important;
    height: 15px !important;
  }

  /* =========================================================================
     1:1 对标参考图 2 的私密语音房样式
     ========================================================================= */
  .voice-room-ref-layout {
    display: flex !important;
    flex-direction: column !important;
    height: 100dvh !important;
    width: 100vw !important;
    background: #faebee !important;
    padding: calc(env(safe-area-inset-top, 20px) + 8px) 20px calc(env(safe-area-inset-bottom, 20px) + 16px) !important;
    box-sizing: border-box !important;
    justify-content: space-between !important;
  }

  .voice-ref-top-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  .voice-ref-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .chat-bar-back-mini {
    background: transparent !important;
    border: none !important;
    font-size: 20px !important;
    color: #7b4a5b !important;
    cursor: pointer !important;
    padding: 0 !important;
  }

  .voice-ref-orb {
    font-size: 15px !important;
    color: #6d394b !important;
  }

  .voice-ref-wordmark {
    font-family: Georgia, "Noto Serif SC", serif !important;
    font-size: 15px !important;
    color: #5c293c !important;
    letter-spacing: 0.8px !important;
  }

  .voice-ref-close {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.7) !important;
    border: none !important;
    font-size: 16px !important;
    color: #7b4a5b !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .voice-ref-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    margin: auto 0 !important;
    gap: 22px !important;
  }

  /* 顶部声波动效: 5 根深玫红波形柱 */
  .voice-soundwaves-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    height: 60px !important;
  }

  .v-wave-bar {
    width: 8px !important;
    background: #B54F70 !important;
    border-radius: 6px !important;
    animation: wavePulse 1.4s ease-in-out infinite alternate !important;
  }

  .v-wave-bar.h1 { height: 26px !important; animation-delay: 0.1s !important; }
  .v-wave-bar.h2 { height: 38px !important; animation-delay: 0.3s !important; }
  .v-wave-bar.h3 { height: 50px !important; animation-delay: 0.5s !important; }
  .v-wave-bar.h5 { height: 62px !important; animation-delay: 0.2s !important; }

  @keyframes wavePulse {
    0% { transform: scaleY(0.4); opacity: 0.7; }
    100% { transform: scaleY(1); opacity: 1; }
  }

  /* 正中巨幅极简麦克风轮廓 */
  .voice-mic-main-link {
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .voice-mic-main-link:active {
    transform: scale(0.94) !important;
  }

  .voice-mic-outline-wrap {
    width: 220px !important;
    height: 260px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .voice-mic-svg {
    width: 100% !important;
    height: 100% !important;
    filter: drop-shadow(0 4px 16px rgba(142, 125, 131, 0.15)) !important;
  }

  .voice-ref-timer {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 15px !important;
    color: #6A565E !important;
    letter-spacing: 1px !important;
  }

  .voice-ref-checkbox-label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13.5px !important;
    color: #7b4a5b !important;
    cursor: pointer !important;
  }

  .voice-ref-checkbox-label input[type="checkbox"] {
    accent-color: #2F80ED !important;
    width: 16px !important;
    height: 16px !important;
  }

  .voice-ref-footer-hint {
    font-size: 11.5px !important;
    color: #A38792 !important;
    margin: 0 !important;
  }
}


/* =========================================================================
   IPHONE 14 PRO 真实灵动岛沉浸吸附排版
   ========================================================================= */
@media (max-width: 767px) {
  /* 彻底消除顶部多余留白：iPhone 14 Pro 硬件灵动岛高度通常为 54px (env safe-area-inset-top: 54px) */
  /* 让聊天顶栏紧贴在硬件灵动岛正下方（刚好避开黑胶囊，完美对齐） */
  .chat-page {
    padding-top: calc(env(safe-area-inset-top, 54px) + 2px) !important;
  }

  .mobile-chat-bar {
    padding: 0 16px 6px 16px !important;
    min-height: 44px !important;
  }

  .mobile-home {
    padding-top: calc(env(safe-area-inset-top, 54px) + 2px) !important;
  }

  /* 隐藏老版的桌面顶栏和多余标签 */
  .shell-top, header.shell-top {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .wordmark {
    display: none !important;
  }

  /* 消除一切多余上下空隙，全屏铺满 */
  .app-shell {
    padding: 0 !important;
    margin: 0 !important;
  }

  .view {
    top: 0 !important;
    bottom: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
  }
}

/* Resolve Gemini mock/runtime conflicts without changing its visual language. */
.message.ai{margin-left:0!important;margin-right:auto!important;flex-direction:row!important}.message:not(.ai){margin-left:auto!important;margin-right:0!important;flex-direction:row-reverse!important}.message.ai .message-name{text-align:left!important}.message:not(.ai) .message-name{text-align:right!important}
.chat-frosting-indicator[hidden]{display:none!important}.chat-frosting-indicator{flex:0 0 auto}.chat-header-actions{display:flex;align-items:center;gap:5px}.chat-header-info{flex:1;min-width:0;margin-left:8px}
.voice-hero-shift{padding-top:clamp(10px,5vh,50px)!important;justify-content:center!important;min-height:0;overflow-y:auto}.voice-orb-container{flex-shrink:0}.voice-status-line{min-height:20px}.voice-native-controls{display:flex;align-items:center;justify-content:center;gap:14px;font:12px var(--chinese);color:#97677c}.voice-captions{max-height:120px;overflow-y:auto;text-align:center;font:14px/1.7 var(--chinese);padding:4px 12px}.voice-captions p:empty{display:none}.voice-captions #voice-translation{color:#ab718e;font-size:13px}.voice-caption-toggle{display:flex;justify-content:center;gap:6px;font:11px var(--chinese);color:#97677c;margin:8px 0 2px}.voice-usage{text-align:center;font-size:10px!important;margin:6px 0!important}.voice-orb-container[aria-disabled="true"]{opacity:.5;cursor:wait}
@media(max-width:767px){html[data-keyboard-open="true"] .chat-heading{padding:0 4px!important;margin:0!important;min-height:32px!important;height:32px!important}html[data-keyboard-open="true"] .chat-status-pill,html[data-keyboard-open="true"] .chat-frosting-indicator{display:none!important}html[data-keyboard-open="true"] .chat-header-info{gap:0!important}.voice-sticker-wrap{height:90px!important;margin-bottom:6px!important}.voice-hero-shift{padding-top:6px!important}.voice-subtext{margin-bottom:12px!important}.voice-orb-container{margin-bottom:12px!important}}
@media(prefers-reduced-motion:reduce){.voice-ripple{animation:none!important}.voice-marble-orb{transition:none!important}}

.status-dot{background:#b5a5ae!important;box-shadow:none!important}html[data-relay-status="online"] .status-dot{background:#67a884!important;box-shadow:0 0 5px #67a88444!important}

.mobile-chat-bar{flex:0 0 auto}.island-live-dot,.m-whisper-dot{background:#b5a5ae!important;box-shadow:none!important;animation:none!important}html[data-relay-status="online"] .island-live-dot{background:#67a884!important}.m-whisper-dot{display:none!important}
@media(max-width:767px){html[data-keyboard-open="true"] .mobile-chat-bar{padding:0 4px!important;min-height:30px!important;margin:0!important}html[data-keyboard-open="true"] .chat-local{display:none!important}.m-tile-title,.m-tile-sub{overflow-wrap:anywhere}.chat-local{display:block!important}.splash-screen{max-height:100dvh}.message-body-col{min-width:0}}
@media(min-width:768px){.mobile-chat-bar,.mobile-only{display:none!important}.topic-pool-modal{max-width:420px;border:1px solid #c58b9d;border-radius:20px;background:#fff5f8;padding:20px}.topic-cat-hero{width:65px}.topic-pool-close{float:right}.topic-actions{display:flex;gap:12px}.topic-actions button{padding:10px;border:1px solid #c58b9d;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.splash-video{display:none}.splash-water-caustics,.m-voice-orb-glow,.splash-swipe-pill{animation:none!important}}

/* The visual viewport owns chat height; never size this view to keyboard-covered 100dvh. */
.shell-top{display:none!important}.chat-status-green-dot{background:#b5a5ae!important;box-shadow:none!important}html[data-relay-status="online"] .chat-status-green-dot{background:#67a884!important}
@media(min-width:768px){body:not(.hero-mode) .view{top:26px!important}.desktop-dock{top:30px!important}.chat-mode .mobile-chat-bar{display:flex!important}.chat-mode .chat-header-name{font-size:22px}.chat-mode .chat-header-profile{display:flex;gap:12px}.chat-header-avatar{width:40px;height:40px;border-radius:50%}.chat-header-right{margin-left:auto}}
@media(max-width:767px){.chat-mode .app-shell{top:var(--viewport-top,0px)!important;left:0!important;right:0!important;width:100%!important;height:var(--visible-height,100dvh)!important;max-height:var(--visible-height,100dvh)!important;margin:0!important;min-height:0!important}.chat-mode .view{inset:0!important;height:100%!important;max-height:100%!important;padding:0!important}.chat-mode .chat-page{height:100%!important;max-height:100%!important;min-height:0!important;padding-top:calc(env(safe-area-inset-top,0px) + 2px)!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}.chat-mode .mobile-chat-bar{position:relative!important;top:auto!important;flex:0 0 auto!important;min-height:44px!important;margin:0!important}.chat-mode .chat-log{flex:1 1 0!important;min-height:0!important;height:auto!important;overflow-y:auto!important}.chat-mode .composer-wrap{position:relative!important;inset:auto!important;flex:0 0 auto!important;padding:6px 10px!important;margin:0!important}.composer-ref-pill textarea{font-size:16px!important;max-height:72px!important}.mobile-home{padding-top:calc(env(safe-area-inset-top,0px) + 2px)!important}html[data-keyboard-open="true"] .chat-page{padding-top:2px!important;padding-bottom:0!important}html[data-keyboard-open="true"] .mobile-chat-bar{min-height:32px!important;max-height:44px!important}html[data-keyboard-open="true"] .chat-header-avatar{width:28px!important;height:28px!important}html[data-keyboard-open="true"] .chat-header-status-row{display:none!important}}

/* Direct home and a bounded mobile reader with an unobscured action rail. */
#splash-screen{display:none!important}
@media(max-width:767px){.reading-mode .app-shell{position:fixed!important;top:var(--viewport-top,0px)!important;left:0!important;right:0!important;width:100%!important;height:var(--visible-height,100dvh)!important;min-height:0!important;margin:0!important}.reading-mode .view{inset:0!important;height:100%!important;max-height:100%!important;padding:0 14px!important;overflow:hidden!important}.reading-layout{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow-y:auto!important;padding-top:env(safe-area-inset-top,0px)!important;overscroll-behavior:contain}.reader-top,.reader-selection{flex:0 0 auto!important}.reader-body{flex:1 1 0!important;min-height:0!important;overflow-y:auto!important;max-height:none!important;height:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:28px!important;scroll-padding-bottom:28px!important}.reader-actions{position:relative!important;inset:auto!important;flex:0 0 auto!important;min-height:56px!important;height:auto!important;padding:8px 6px calc(12px + env(safe-area-inset-bottom,0px))!important;margin:0!important;display:flex!important;align-items:center!important;gap:4px!important}.reading-mode .mobile-nav{display:none!important}}
