:root{--apricot:#FF9F7E;--apricot-light:#FFB89A;--green:#72B886;--green-dark:#4E9664;--bg:#F5F3F0;--card:#fff;--text:#3A3A3A;--muted:#999;--line:#E8E3DE;--danger:#D95C5C;--shadow:0 18px 46px rgba(86,66,52,.10)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:#F5F3F0;color:#3A3A3A}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:rgba(255,255,255,.94);border-right:1px solid #E8E3DE;padding:24px 18px;display:flex;flex-direction:column}.brand-mark{display:flex;align-items:center;gap:12px;padding:8px 10px 24px}.brand-mark strong{display:block;font-size:20px}.brand-mark small{display:block;color:#999999;margin-top:4px}.logo-heart{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#FFB89A,#72B886);color:#fff;font-size:27px}.side-nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:14px;color:#666}.nav-item span{width:24px;text-align:center;font-size:20px}.nav-item:hover{background:#fff5f0;color:#7c5648}.nav-item.active{background:linear-gradient(135deg,#fff0e9,#f0f8f2);color:#69483e;font-weight:700}.logout-link{margin-top:auto;padding:12px;color:#999999;text-align:center}.main-area{min-width:0;padding:24px 30px 48px}.plain-shell .main-area{max-width:1100px;margin:auto;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{font-size:30px;margin:0 0 7px}.topbar p{margin:0;color:#999999}.test-badge{background:#fff0e9;color:#c96444;border:1px solid #ffd1bf;border-radius:999px;padding:8px 13px;font-weight:700}.grid{display:flex;flex-wrap:wrap;gap:18px}.grid.cols-4>*{flex:1 1 220px}.grid.cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3>*{flex:1 1 260px}.grid.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2>*{flex:1 1 320px}.grid.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#FFFFFF;border:1px solid rgba(232,227,222,.85);border-radius:22px;padding:21px;box-shadow:0 18px 46px rgba(86,66,52,.10)}.metric{position:relative;overflow:hidden}.metric::after{content:"";position:absolute;width:92px;height:92px;right:-22px;bottom:-30px;border-radius:50%;background:linear-gradient(135deg,rgba(255,159,126,.14),rgba(114,184,134,.15))}.metric small{color:#999999}.metric strong{font-size:32px;display:block;margin-top:10px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 13px}.section-title h2{font-size:21px;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:11px 17px;cursor:pointer;font-weight:700;min-height:44px}.btn.primary{background:#FF9F7E;color:#fff}.btn.green{background:#72B886;color:#fff}.btn.light{background:#f6f3f0;color:#666}.btn.danger{background:#fff0ef;color:#D95C5C}.btn.block{width:100%}.table-card{padding:0;overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:15px 17px;text-align:left;border-bottom:1px solid #E8E3DE;vertical-align:middle}.data-table th{font-size:13px;color:#888;background:#fcfbfa}.data-table tr:last-child td{border-bottom:0}.status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;background:#f3f3f3;color:#777}.status.online,.status.active,.status.success{background:#eaf7ed;color:#4E9664}.status.offline,.status.pending{background:#fff4ed;color:#b76b4f}.status.failed,.status.locked{background:#fff0ef;color:#D95C5C}.form-card{max-width:720px;margin:auto}.form-group{margin-bottom:17px}.form-group label{display:block;font-weight:700;margin-bottom:8px}.form-control{width:100%;border:1px solid #E8E3DE;background:#fff;border-radius:14px;padding:13px 14px;outline:0}.form-control:focus{border-color:#FF9F7E;box-shadow:0 0 0 4px rgba(255,159,126,.12)}textarea.form-control{min-height:110px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alert{padding:13px 15px;border-radius:14px;margin-bottom:17px}.alert.success{background:#eaf7ed;color:#3b7650}.alert.error{background:#fff0ef;color:#a94545}.alert.info{background:#fff4ed;color:#9b5b44}.empty-state{text-align:center;padding:55px 20px;color:#999999}.empty-state h2{color:#3A3A3A}.auth-wrap{min-height:calc(100vh - 130px);display:grid;place-items:center}.auth-card{width:min(470px,100%);background:#fff;border-radius:28px;padding:30px;box-shadow:0 18px 46px rgba(86,66,52,.10)}.auth-logo{text-align:center;margin-bottom:25px}.auth-logo .logo-heart{margin:auto;width:62px;height:62px;font-size:36px}.auth-logo h2{margin:13px 0 4px}.auth-logo p{margin:0;color:#999999}.progress{height:10px;background:#f0ece8;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#FF9F7E,#72B886)}.install-steps{display:flex;gap:8px;margin-bottom:22px}.install-steps span{flex:1;height:6px;border-radius:99px;background:#e9e4df}.install-steps span.on{background:#FF9F7E}.check-list{display:grid;gap:10px}.check-item{display:flex;justify-content:space-between;padding:12px 14px;border:1px solid #E8E3DE;border-radius:13px}.check-item b.ok{color:#4E9664}.check-item b.bad{color:#D95C5C}.parent-shell{max-width:820px;margin:auto;padding-bottom:88px}.parent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.family-card{background:linear-gradient(135deg,#fff2eb,#edf7ef);border-radius:25px;padding:24px;display:flex;justify-content:space-between;gap:18px;align-items:center}.family-card h2{margin:0 0 8px}.family-card p{margin:0;color:#777}.device-card{display:flex;justify-content:space-between;align-items:center;gap:15px}.device-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#FFB89A,#72B886);display:grid;place-items:center;color:#fff;font-size:27px}.mobile-actions{display:flex;flex-wrap:wrap;grid-template-columns:repeat(4,1fr);gap:10px}.mobile-action{flex:1 1 120px;text-align:center;background:#fff;border-radius:18px;padding:15px 8px;box-shadow:0 10px 25px rgba(80,60,45,.07)}.mobile-action i{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 8px;border-radius:14px;background:#fff0e9;color:#d66f50;font-style:normal;font-size:22px}.bottom-tabs{display:flex;position:fixed;left:50%;transform:translateX(-50%);bottom:12px;width:calc(100% - 24px);max-width:720px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid #E8E3DE;border-radius:22px;padding:9px;box-shadow:0 18px 46px rgba(86,66,52,.10);z-index:10}.bottom-tabs a{flex:1;text-align:center;padding:9px;border-radius:14px;color:#888}.bottom-tabs a.active{background:#fff0e9;color:#bb6347;font-weight:700}.device-screen{min-height:100vh;background:#f5f3f0;display:flex;flex-direction:column;overflow:hidden}.device-top{display:flex;justify-content:space-between;padding:18px 26px;align-items:center}.network-offline{background:#fff0e9;color:#c65f42;padding:8px 13px;border-radius:999px}.device-stage{flex:1;display:grid;place-items:center;padding:12px 26px}.activation-box{width:94vw;max-width:760px;background:#fff;border-radius:30px;padding:32px;text-align:center;box-shadow:0 18px 46px rgba(86,66,52,.10)}.activation-code{font-size:48px;font-weight:800;letter-spacing:9px;color:#62483f;margin:22px}.device-dock{display:flex;grid-template-columns:1fr 1fr;gap:18px;padding:16px 26px 24px}.dock-btn{flex:1;min-height:82px;border-radius:25px;border:0;font-size:24px;font-weight:800}.dock-btn.voice{background:#eef7ef;color:#4E9664}.dock-btn.sos{background:#fff0e9;color:#d35e45}@media(max-width:1000px){.app-shell{grid-template-columns:88px 1fr}.brand-mark div,.nav-item:not(.active){font-size:0}.brand-mark{padding-left:3px}.nav-item{justify-content:center}.nav-item span{font-size:23px}.logout-link{font-size:0}.grid.cols-4>*{flex:1 1 220px}.grid.cols-4{display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.jt-crop-stage{height:calc((100vw - 56px)*.5625);min-height:180px;max-height:390px}.media-preview-button{height:calc((100vw - 64px)*.5625);min-height:170px;max-height:300px}.main-area,.plain-shell .main-area{padding:16px}.topbar h1{font-size:25px}.grid.cols-4,.grid.cols-3,.grid.cols-2,.form-row{grid-template-columns:1fr}.app-shell{display:block}.sidebar{display:none}.mobile-actions{grid-template-columns:repeat(2,1fr)}.family-card{align-items:flex-start;flex-direction:column}.auth-card{padding:22px;border-radius:22px}.device-dock{padding:12px}.dock-btn{flex:1;min-height:68px;font-size:20px}}
/* V0.1.3 后台可操作性补充 */
.sidebar{overflow:hidden}.side-nav{overflow-y:auto;padding-right:4px;scrollbar-width:thin}.side-nav::-webkit-scrollbar{width:5px}.side-nav::-webkit-scrollbar-thumb{background:#e3dcd5;border-radius:8px}.toolbar{display:flex;gap:9px;align-items:center;min-width:min(420px,55vw)}.toolbar .form-control{min-width:220px}.actions,.quick-actions,.checkbox-row,.inline-edit{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions form,.quick-actions form{margin:0}.quick-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.subtext{display:block;color:var(--muted);font-size:12px;margin-top:5px;font-weight:400}.form-control.compact{padding:8px 10px;min-height:38px;width:auto;min-width:120px}.inline-edit{min-width:420px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.checkbox-row{margin:8px 0 18px}.checkbox-row label{padding:9px 12px;background:#faf8f6;border-radius:12px}.data-table td .btn{min-height:36px;padding:8px 12px;font-size:13px}@media(max-width:720px){.jt-crop-stage{height:calc((100vw - 56px)*.5625);min-height:180px;max-height:390px}.media-preview-button{height:calc((100vw - 64px)*.5625);min-height:170px;max-height:300px}.toolbar{min-width:0;width:100%;flex-wrap:wrap}.toolbar .form-control{min-width:0;flex:1 1 160px}.section-title{align-items:flex-start;gap:10px;flex-direction:column}.inline-edit{min-width:300px}}
.upload-progress-box{margin-top:16px;padding:14px;border:1px solid #E8E3DE;border-radius:16px;background:#FCFAF8}.upload-progress-box b,.upload-progress-box small{display:block}.upload-progress-box .progress{margin:10px 0 8px}.upload-progress-box small{color:#777}.live-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.live-action-card{padding:18px;border:1px solid #E8E3DE;border-radius:20px;background:linear-gradient(135deg,#fff9f6,#f4faf5)}.live-action-card h3{margin:0 0 7px}.live-action-card p{color:#777;font-size:13px;line-height:1.65}.live-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff0e9;color:#b85f44;font-size:12px;font-weight:700}.live-room-body{background:#F5F3F0}.live-room-top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);border-bottom:1px solid #E8E3DE;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;backdrop-filter:blur(16px)}.live-room-top h1{margin:0;font-size:22px}.live-room-controls{display:flex;gap:8px;flex-wrap:wrap}.live-room-wrap{max-width:1200px;margin:auto;padding:18px}.live-peer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.live-peer{background:#fff;border:1px solid #E8E3DE;border-radius:24px;overflow:hidden;box-shadow:0 18px 46px rgba(86,66,52,.10)}.live-peer-head{padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.live-video-box{aspect-ratio:16/9;background:#403d3b;display:grid;place-items:center;position:relative;overflow:hidden}.live-video-box img,.live-video-box video{width:100%;height:100%;object-fit:contain}.live-empty{position:absolute;color:#fff;text-align:center}.live-ptt{background:linear-gradient(135deg,#fff1ea,#edf8f0);border-radius:24px;padding:22px;text-align:center;margin-bottom:16px}.live-ptt-button{width:min(420px,95%);min-height:92px;border:0;border-radius:28px;background:#72B886;color:#fff;font-weight:800;font-size:24px;touch-action:none}.live-ptt-button.recording{background:#D95C5C}.live-status-line{margin-top:12px;color:#666}.live-meter{height:5px;background:#EEE8E3}.live-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#72B886,#FF9F7E)}@media(max-width:720px){.jt-crop-stage{height:calc((100vw - 56px)*.5625);min-height:180px;max-height:390px}.media-preview-button{height:calc((100vw - 64px)*.5625);min-height:170px;max-height:300px}.live-action-grid{grid-template-columns:1fr}.live-room-top{align-items:flex-start;flex-direction:column}.live-room-controls .btn{flex:1}.live-room-wrap{padding:10px}}
/* V0.1.6 家长端实时功能 */
.bottom-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-tabs a{font-size:13px;padding:9px 5px}.live-device-card{display:flex;flex-direction:column;gap:16px}.live-mode-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.live-mode-buttons form{margin:0}.tts-card{border-top:1px solid #E8E3DE;padding-top:16px}.tts-card>label{display:block;font-weight:800;margin-bottom:9px}@media(max-width:720px){.jt-crop-stage{height:calc((100vw - 56px)*.5625);min-height:180px;max-height:390px}.media-preview-button{height:calc((100vw - 64px)*.5625);min-height:170px;max-height:300px}.bottom-tabs a{font-size:11px}.live-mode-buttons{grid-template-columns:1fr}.live-action-grid{grid-template-columns:1fr}}
/* V0.1.7 家长端底部安全区与设备管理 */
.parent-shell{padding-bottom:calc(210px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(210px + env(safe-area-inset-bottom,0px))}
.bottom-tabs{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.device-rename-row,.device-unbind-row{display:flex;gap:9px;margin-top:12px}.device-rename-row .form-control{min-width:0;flex:1}.device-rename-row .btn{white-space:nowrap}
@media(max-width:720px){.jt-crop-stage{height:calc((100vw - 56px)*.5625);min-height:180px;max-height:390px}.media-preview-button{height:calc((100vw - 64px)*.5625);min-height:170px;max-height:300px}.parent-shell{padding-bottom:calc(225px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(225px + env(safe-area-inset-bottom,0px))}.device-rename-row{align-items:stretch}.device-rename-row .btn{padding-left:12px;padding-right:12px}.bottom-tabs{width:calc(100% - 16px);bottom:calc(8px + env(safe-area-inset-bottom,0px));border-radius:20px}}
/* V0.2.0 状态记忆、横屏裁切、相册预览和应用权限 */
.bottom-tabs{grid-template-columns:repeat(7,minmax(0,1fr))}
body.jt-modal-open{overflow:hidden}.jt-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(25,22,20,.78);display:flex;align-items:center;justify-content:center;padding:16px}.jt-crop-dialog,.jt-media-dialog{position:relative;width:min(760px,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:24px;padding:18px;box-shadow:0 28px 80px rgba(0,0,0,.35)}.jt-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.jt-modal-head b{display:block;font-size:20px}.jt-modal-head small{display:block;color:#999;margin-top:4px}.jt-modal-close{border:0;background:#f2efec;color:#666;border-radius:50%;width:42px;height:42px;font-size:28px;line-height:1;cursor:pointer}.jt-crop-stage{width:100%;height:390px;aspect-ratio:16/9;background:#222;border-radius:18px;overflow:hidden;touch-action:none}.jt-crop-stage canvas{display:block;width:100%;height:100%;cursor:move}.jt-crop-zoom{display:flex;align-items:center;gap:12px;margin:16px 2px}.jt-crop-zoom input{flex:1;accent-color:#72B886}.jt-crop-zoom b{min-width:52px;text-align:right}.jt-modal-actions{display:flex;justify-content:flex-end;gap:10px}.photo-selected-preview{display:flex;align-items:center;gap:13px;margin:-4px 0 16px;padding:10px;border:1px solid #dfe8e1;border-radius:16px;background:#f7fcf8}.photo-selected-preview img{width:130px;height:73px;aspect-ratio:16/9;object-fit:cover;border-radius:12px}.photo-selected-preview b,.photo-selected-preview small{display:block}.photo-selected-preview small{color:#777;margin-top:4px}.media-preview-button{position:relative;width:100%;height:260px;aspect-ratio:16/9;overflow:hidden;border:0;border-radius:16px;background:#eee8e3;padding:0;cursor:pointer}.media-preview-button img{width:100%;height:100%;object-fit:cover;display:block}.media-preview-button>span:last-child{position:absolute;right:10px;bottom:9px;background:rgba(0,0,0,.62);color:#fff;border-radius:10px;padding:6px 9px;font-size:12px}.media-preview-button.video{display:grid;place-items:center;background:linear-gradient(135deg,#4e4b49,#2f302f);color:#fff}.media-video-icon{font-size:54px}.jt-media-dialog{width:min(1000px,100%);background:#171717;padding:52px 12px 12px}.jt-media-dialog .jt-modal-close{position:absolute;right:12px;top:8px;z-index:2}.jt-media-dialog img,.jt-media-dialog video{display:block;width:100%;max-height:80vh;object-fit:contain;border-radius:14px;background:#000}.app-permission-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.app-permission-info{display:flex;align-items:center;gap:13px;min-width:0}.app-permission-info>div{min-width:0}.app-permission-info b,.app-permission-info small{display:block}.app-permission-info small{color:#999;margin-top:5px;word-break:break-all}.app-letter{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#FFB89A,#72B886);color:#fff;font-size:22px;font-weight:800}.app-toggle-form{display:flex;align-items:center;gap:8px}.app-toggle-form em{font-style:normal;color:#777;font-size:12px;min-width:42px}.switch{position:relative;display:inline-block;width:52px;height:30px}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:99px;background:#d8d4d0;transition:.2s}.switch span:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.2);transition:.2s}.switch input:checked+span{background:#72B886}.switch input:checked+span:before{transform:translateX(22px)}
@media(max-width:720px){.jt-crop-stage{height:calc((100vw - 56px)*.5625);min-height:180px;max-height:390px}.media-preview-button{height:calc((100vw - 64px)*.5625);min-height:170px;max-height:300px}.bottom-tabs a{font-size:10px;padding-left:2px;padding-right:2px}.jt-modal-overlay{padding:8px}.jt-crop-dialog{padding:12px;border-radius:18px}.photo-selected-preview{align-items:flex-start}.photo-selected-preview img{width:104px}.app-permission-card{align-items:flex-start}.app-toggle-form{flex-direction:column;align-items:flex-end}}

/* V0.2.0 留言已读、全页面状态保存、家庭应用入口 */
.bottom-tabs{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:4px;padding:8px 10px}
.bottom-tabs a{min-height:42px;display:grid;place-items:center;font-size:12px;padding:6px 4px}
.parent-shell{padding-bottom:calc(188px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(188px + env(safe-area-inset-bottom,0px))}
.message-receipt{margin-top:12px;padding:10px 12px;border-radius:13px;background:#f7f5f2;color:#777;display:flex;gap:8px 14px;flex-wrap:wrap;font-size:12px}.message-receipt b{color:#4E9664}.unbind-password-label{display:block;width:100%;font-size:13px;color:#777}
@media(max-width:720px){.bottom-tabs{grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100% - 16px)}.bottom-tabs a{font-size:11px}.parent-shell{padding-bottom:calc(198px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(198px + env(safe-area-inset-bottom,0px))}.device-unbind-row{display:block}.device-unbind-row .form-control{margin:8px 0}}
/* V0.2.0 相框轮播与沉浸显示设置 */
.display-settings-card{max-width:760px;margin-left:auto;margin-right:auto}.display-settings-card h2{margin-top:0}.display-settings-card h3{margin:0 0 8px}.setting-check{display:flex!important;align-items:center;gap:10px;font-weight:600!important;padding:13px 14px;border:1px solid #E8E3DE;border-radius:14px;background:#fff}.setting-check input{width:20px;height:20px;accent-color:#FF9F7E}.soft-line{border:0;border-top:1px solid #E8E3DE;margin:22px 0}.subtext{display:block;color:#999;margin-top:5px;font-size:13px}


/* V0.2.6 家庭聊天 */
.chat-shell{padding:0;overflow:hidden;background:#f2f1ef}.chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:#fff;border-bottom:1px solid #ece8e4}.chat-head h2{margin:0 0 4px}.chat-head small{color:#999}.chat-list{height:calc(100vh - 285px);min-height:390px;overflow:auto;padding:18px 14px 28px;background:#ededed}.chat-row{display:flex;align-items:flex-start;gap:9px;margin:12px 0}.chat-row.mine{flex-direction:row-reverse}.chat-avatar{width:38px;height:38px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;color:#6d6a68;box-shadow:0 1px 3px rgba(0,0,0,.06)}.chat-name{font-size:12px;color:#999;margin:0 4px 4px}.chat-row.mine .chat-name{text-align:right}.chat-bubble{max-width:min(68vw,460px);padding:10px 13px;border-radius:7px;background:#fff;color:#333;line-height:1.5;word-break:break-word;box-shadow:0 1px 2px rgba(0,0,0,.05)}.chat-row.mine .chat-bubble{background:#95ec69}.chat-time{font-size:11px;color:#aaa;margin:4px}.chat-row.mine .chat-time{text-align:right}.chat-audio{border:0;background:transparent;font-size:16px;min-width:112px;text-align:left;padding:0;color:#333}.chat-composer{display:flex;gap:8px;align-items:flex-end;padding:10px;background:#f8f8f8;border-top:1px solid #ddd}.chat-composer textarea{flex:1;min-height:42px;max-height:92px;border:1px solid #ddd;border-radius:7px;padding:10px;font:inherit;resize:none;background:#fff}.chat-voice-btn{min-height:42px;border:1px solid #ccc;border-radius:7px;background:#fff;padding:0 13px;font-weight:700}.chat-record-hint{position:fixed;left:50%;bottom:130px;transform:translateX(-50%);z-index:50;background:rgba(0,0,0,.72);color:#fff;padding:13px 18px;border-radius:10px}
@media(max-width:700px){.chat-list{height:calc(100vh - 310px);min-height:330px}.chat-head{align-items:flex-start}.chat-head form{max-width:45%}.chat-bubble{max-width:70vw}.chat-composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}

/* V0.2.6: 家庭聊天输入区固定在底部导航上方，兼容系统安全区和软键盘 */
@media(max-width:700px){.chat-shell{padding-bottom:calc(182px + env(safe-area-inset-bottom,0px));overflow:visible}.chat-list{height:calc(100dvh - 390px);min-height:260px;padding-bottom:112px}.chat-composer{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(112px + env(safe-area-inset-bottom,0px));width:calc(100% - 16px);max-width:720px;z-index:35;border:1px solid #ddd;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding-bottom:10px}.chat-record-hint{bottom:calc(188px + env(safe-area-inset-bottom,0px))}}

/* V0.2.7 chat/remote settings and recycle bin */
.media-tabs{display:flex;gap:10px;margin-bottom:18px}.chat-head-left,.chat-head-actions,.settings-head{display:flex;align-items:center;gap:12px}.chat-head-actions{justify-content:flex-end}.chat-back{font-size:40px;line-height:1;color:#555;text-decoration:none;padding:0 8px}.icon-btn{border:0;background:#f3ede8;border-radius:50%;width:42px;height:42px;font-size:22px;line-height:42px;text-align:center;color:#555}.card-tools{display:flex;justify-content:flex-end;margin-top:-46px;margin-bottom:8px}.settings-modal{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:5000;display:none;align-items:center;justify-content:center;padding:22px}.settings-modal.show{display:flex}.settings-card{width:min(92vw,460px);background:#fff;border-radius:24px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.settings-head{justify-content:space-between;margin-bottom:14px}.settings-head h3{margin:0}.settings-card label{display:block;margin:16px 0;font-weight:600}.settings-card input[type=range]{width:100%;margin-top:10px}.chat-shell{min-height:calc(100vh - 36px);display:flex;flex-direction:column;margin-bottom:0}.chat-list{flex:1;min-height:280px}.chat-composer{position:sticky;bottom:0;background:#fff;padding-bottom:max(12px,env(safe-area-inset-bottom))}@media(max-width:640px){.parent-shell{padding-bottom:18px}.chat-shell{border-radius:0;margin:-18px;min-height:100vh}.chat-head{padding-top:max(12px,env(safe-area-inset-top))}.chat-head-actions select{max-width:130px}}


/* V0.2.8 R6：手机聊天窗口布局与单页模式修复 */
html,body{max-width:100%;overflow-x:hidden}
.chat-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}
.chat-title-wrap>div{min-width:0}
@media(max-width:700px){
  body.parent-chat-page{height:100vh;height:100dvh;overflow:hidden;background:#ededed}
  .parent-chat-page .parent-shell{height:100vh;height:100dvh;min-height:0;max-width:820px;margin:0 auto;padding:0;display:flex;flex-direction:column;overflow:hidden}
  .parent-chat-page .parent-header{flex:0 0 auto;margin:0;padding:10px 14px;background:#f5f3f0;padding-top:calc(10px + env(safe-area-inset-top,0px))}
  .parent-chat-page .parent-header .brand-mark{min-width:0}
  .parent-chat-page .parent-header .brand-mark strong{font-size:18px;white-space:nowrap}
  .parent-chat-page .parent-header .brand-mark small{display:none}
  .parent-chat-page .test-badge{flex:0 0 auto;padding:7px 11px;font-size:13px}
  .parent-chat-page .chat-shell{flex:1 1 auto;height:auto;min-height:0;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column}
  .parent-chat-page .chat-head{flex:0 0 auto;align-items:center;padding:12px 10px;gap:8px}
  .parent-chat-page .chat-title-wrap{flex:1 1 auto;min-width:0;gap:8px}
  .parent-chat-page .chat-title-wrap h2{font-size:22px;white-space:nowrap}
  .parent-chat-page .chat-title-wrap small{display:block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .parent-chat-page .chat-head-actions{flex:0 0 auto;gap:6px;min-width:0}
  .parent-chat-page .chat-head-actions form{max-width:132px;min-width:0}
  .parent-chat-page .chat-head-actions select{width:100%;min-width:0;max-width:132px;padding-left:9px;padding-right:24px;text-overflow:ellipsis}
  .parent-chat-page .chat-head .icon-btn{width:40px;height:40px;line-height:40px;flex:0 0 40px}
  .parent-chat-page .chat-list{flex:1 1 auto;height:auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px 10px 20px}
  .parent-chat-page .chat-row>div:last-child{min-width:0;max-width:calc(100% - 48px)}
  .parent-chat-page .chat-bubble{max-width:min(72vw,460px)}
  .parent-chat-page .chat-composer{position:relative;left:auto;right:auto;bottom:auto;transform:none;flex:0 0 auto;width:100%;max-width:none;min-width:0;margin:0;border:0;border-top:1px solid #ddd;border-radius:0;box-shadow:none;display:flex;align-items:flex-end;gap:7px;padding:9px 8px;padding-bottom:calc(9px + env(safe-area-inset-bottom,0px));background:#f8f8f8;z-index:35;overflow:hidden}
  .parent-chat-page .chat-composer textarea{flex:1 1 0;width:0;min-width:0;max-width:none;min-height:42px;padding:9px 10px}
  .parent-chat-page .chat-voice-btn{flex:0 0 auto;min-width:78px;max-width:92px;padding:0 9px;white-space:nowrap}
  .parent-chat-page #chat_send{flex:0 0 auto;min-width:68px;padding-left:14px;padding-right:14px;white-space:nowrap}
  .parent-chat-page .chat-record-hint{bottom:78px;bottom:calc(78px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:380px){
  .parent-chat-page .chat-title-wrap small{display:none}
  .parent-chat-page .chat-head-actions form{max-width:108px}
  .parent-chat-page .chat-head-actions select{max-width:108px}
  .parent-chat-page .chat-voice-btn{min-width:70px;padding:0 7px;font-size:14px}
  .parent-chat-page #chat_send{min-width:62px;padding-left:11px;padding-right:11px}
}

/* R7：聊天设备选择独占第二行，完整显示设备名称。 */
.parent-chat-page .chat-head{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.parent-chat-page .chat-title-wrap{width:100%;min-width:0}
.parent-chat-page .chat-device-row{display:flex;align-items:center;gap:10px;width:100%;min-width:0}
.parent-chat-page .chat-device-label{flex:0 0 auto;font-size:14px;font-weight:700;color:#6f6a67;white-space:nowrap}
.parent-chat-page .chat-device-row form{flex:1 1 auto;min-width:0;max-width:none}
.parent-chat-page .chat-device-row select{width:100%;max-width:none;min-width:0;text-overflow:ellipsis}
.parent-chat-page .chat-device-row .icon-btn{flex:0 0 42px}
@media(max-width:640px){.parent-chat-page .chat-head{padding:12px 10px}.parent-chat-page .chat-device-row{gap:8px}.parent-chat-page .chat-device-label{font-size:13px}.parent-chat-page .chat-device-row .icon-btn{flex-basis:40px}}

/* V0.3.0 R8：家听家庭五栏固定底部导航与页面重新归类 */
.parent-shell{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
.bottom-tabs{left:50%;bottom:0;width:100%;max-width:820px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;border-bottom:0;background:rgba(255,255,255,.97);z-index:120;box-shadow:0 -8px 30px rgba(86,66,52,.12)}
.bottom-tabs a{min-width:0;min-height:56px;padding:6px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;color:#8c8987;font-size:12px;line-height:1.1}
.bottom-tabs a.active{background:#fff0e9;color:#bd6043;font-weight:800}
.bottom-tab-icon{display:block;font-size:22px;line-height:23px;font-weight:500}
.bottom-tab-label{display:block;white-space:nowrap}
.home-family-card small,.family-card>div>small{color:#777}
.home-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.home-section-head h2{margin:5px 0 0}
.home-device-switch{width:min(46%,270px)}
.home-device-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.home-device-status>div{background:#faf8f6;border:1px solid #eee9e4;border-radius:16px;padding:13px;display:flex;flex-direction:column;gap:7px;min-width:0}
.home-device-status small{color:#999;font-size:12px}.home-device-status b{font-size:14px;word-break:break-word}
.home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.home-shortcuts a{background:#fff;border:1px solid rgba(232,227,222,.85);border-radius:19px;padding:15px 10px;text-align:center;box-shadow:0 9px 24px rgba(80,60,45,.06);min-width:0}
.home-shortcuts i{width:43px;height:43px;margin:0 auto 8px;display:grid;place-items:center;border-radius:14px;background:#fff0e9;color:#cf684a;font-style:normal;font-size:21px}
.home-shortcuts span,.home-shortcuts small{display:block}.home-shortcuts span{font-weight:800}.home-shortcuts small{font-size:11px;color:#999;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attention-list{display:grid;gap:10px}.attention-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #ebe6e1;border-radius:18px;padding:14px 15px;box-shadow:0 7px 20px rgba(80,60,45,.05)}
.attention-item>span{flex:0 0 42px;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#eef7ef;color:#4e9664;font-weight:900;font-size:19px}.attention-item>div{flex:1;min-width:0}.attention-item b,.attention-item small{display:block}.attention-item small{color:#999;margin-top:4px}.attention-item em{font-style:normal;color:#c8684b;font-weight:700}.attention-item.warning>span{background:#fff4ed;color:#b76b4f}.attention-item.urgent{border-color:#ffd1cf;background:#fff8f7}.attention-item.urgent>span{background:#fff0ef;color:#d95c5c}.attention-item.all-good{background:linear-gradient(135deg,#f5fbf6,#fffaf7)}
.recent-activity-list{padding:6px 18px}.recent-activity{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #eee9e4}.recent-activity:last-child{border-bottom:0}.recent-activity>span{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#fff0e9;color:#c8684b;font-weight:900}.recent-activity>div{min-width:0}.recent-activity b,.recent-activity p,.recent-activity small{display:block}.recent-activity p{margin:4px 0;color:#777}.recent-activity small{color:#aaa}.compact-empty{padding:24px 12px}.home-storage-card{margin-top:18px}.home-storage-card>div:first-child,.profile-storage>div:first-child{display:flex;justify-content:space-between;gap:12px}.home-storage-card .progress,.profile-storage .progress{margin-top:12px}
.device-hub-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.device-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.device-feature-grid a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #ebe6e1;border-radius:19px;padding:15px;box-shadow:0 8px 22px rgba(80,60,45,.05)}.device-feature-grid i{flex:0 0 44px;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#fff0e9;color:#cb684a;font-style:normal;font-size:21px}.device-feature-grid div{flex:1;min-width:0}.device-feature-grid b,.device-feature-grid small{display:block}.device-feature-grid small{color:#999;margin-top:4px}.device-feature-grid em{font-style:normal;font-size:26px;color:#bbb}
.device-management-list{display:grid;gap:14px}.managed-device-card{padding:18px}.managed-device-summary{display:flex;align-items:center;gap:13px}.managed-device-main{min-width:0}.managed-device-main h2{margin:0 0 6px;font-size:20px}.managed-device-main p{margin:0 0 6px;color:#777}.managed-device-main small{color:#999;word-break:break-word}.managed-device-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}.managed-device-links a{text-align:center;padding:10px 4px;border-radius:12px;background:#f8f5f2;color:#6b6663;font-weight:700;font-size:13px}.device-advanced{margin-top:14px;border-top:1px solid #eee8e3;padding-top:12px}.device-advanced summary{cursor:pointer;color:#777;font-weight:700;padding:7px 0}.device-advanced[open] summary{color:#c66849}.sos-test-row{margin-top:12px}
.profile-hero{display:flex;align-items:center;gap:15px}.profile-avatar{width:62px;height:62px;border-radius:21px;display:grid;place-items:center;background:linear-gradient(135deg,#ffb89a,#72b886);color:#fff;font-size:27px;font-weight:800}.profile-hero h2{margin:0 0 7px}.profile-hero p{margin:0;color:#999}.profile-family-card{margin-top:15px}.profile-menu{margin-top:15px;padding:4px 18px}.profile-menu>a,.profile-static-row{display:flex;align-items:center;gap:13px;padding:16px 2px;border-bottom:1px solid #eee9e4}.profile-menu>a:last-child,.profile-static-row:last-child{border-bottom:0}.profile-menu>a>span,.profile-static-row>span{flex:0 0 38px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f7f3f0;color:#c56649;font-size:19px}.profile-menu>a>div,.profile-static-row>div{flex:1;min-width:0}.profile-menu b,.profile-menu small{display:block}.profile-menu small{color:#999;margin-top:4px}.profile-menu em{font-style:normal;color:#bbb;font-size:25px}.profile-storage{margin-top:15px}.profile-logout b{color:#d95c5c}
@media(max-width:700px){
  .main-area.parent-shell{padding:14px 14px calc(100px + env(safe-area-inset-bottom,0px))}
  .parent-header{margin-bottom:14px}.parent-header .brand-mark small{display:none}.parent-header .test-badge{padding:6px 9px;font-size:12px}
  .bottom-tabs{max-width:none;border-radius:18px 18px 0 0}.bottom-tabs a{min-height:54px;font-size:11px}.bottom-tab-icon{font-size:21px}
  .home-device-overview{padding:17px}.home-section-head{flex-direction:column}.home-device-switch{width:100%}.home-device-status{grid-template-columns:1fr 1fr}.home-device-status>div:first-child{grid-column:1/-1}
  .home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.home-shortcuts a{padding:14px 8px}
  .device-hub-head-actions{width:100%;align-items:stretch}.device-hub-head-actions form,.device-hub-head-actions .btn{flex:1 1 140px}.device-feature-grid{grid-template-columns:1fr}.managed-device-links{grid-template-columns:repeat(2,minmax(0,1fr))}.managed-device-summary{align-items:flex-start}.managed-device-main h2{font-size:19px}
  .profile-family-card{align-items:stretch}.profile-family-card form{width:100%}
  body.parent-chat-page{height:100vh;height:100dvh;overflow:hidden}
  .parent-chat-page .parent-shell{height:calc(100dvh - 78px - env(safe-area-inset-bottom,0px));min-height:0;padding:0;overflow:hidden}
  .parent-chat-page .parent-header{padding:8px 12px;margin:0}
  .parent-chat-page .chat-shell{min-height:0;height:auto;margin:0;flex:1 1 auto}
  .parent-chat-page .chat-composer{padding-bottom:9px}
  .parent-chat-page .chat-record-hint{bottom:calc(150px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:380px){.bottom-tabs a{font-size:10px}.home-device-status{grid-template-columns:1fr}.home-device-status>div:first-child{grid-column:auto}.managed-device-links{grid-template-columns:1fr 1fr}}
