:root{--bg-primary: #F5F5F7;--bg-secondary: #FFFFFF;--border: #D2D2D7;--text-primary: #1D1D1F;--text-secondary: #6E6E73;--accent: #8E8E93;--shadow: rgba(0, 0, 0, .04) 0px 4px 12px;--glass-bg: rgba(255, 255, 255, .72);--glass-blur: blur(20px);--control-active: #D8D8DE;--control-active-text: #1D1D1F;--danger: #B45A5A;--danger-bg: #F1E2E2;--danger-strong: #D94B4B;--danger-strong-bg: #F7DADA;--switch-on: #34C759;--heat-0: #E8E8ED;--heat-1: #CFE4D2;--heat-2: #9FCAA6;--heat-3: #6EA878;--heat-4: #3F7F4D}[data-theme=dark]{--bg-primary: #1C1C1E;--bg-secondary: #2C2C2E;--border: #3A3A3C;--text-primary: #FFFFFF;--text-secondary: #8E8E93;--accent: #8E8E93;--shadow: rgba(0, 0, 0, .2) 0px 4px 16px;--glass-bg: rgba(44, 44, 46, .72);--glass-blur: blur(20px);--control-active: #4A4A4D;--control-active-text: #FFFFFF;--danger: #D77A7A;--danger-bg: rgba(215, 122, 122, .16);--danger-strong: #FF8A8A;--danger-strong-bg: rgba(255, 138, 138, .22);--switch-on: #32D74B;--heat-0: rgba(255, 255, 255, .095);--heat-1: #355B3C;--heat-2: #47784F;--heat-3: #5B9864;--heat-4: #7AB884}*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,SF Pro Display,SF Pro Text,Segoe UI,Inter,sans-serif}body{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}html.modal-open,body.modal-open{overflow:hidden}body.modal-open{overscroll-behavior:contain}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(1440px,100%);margin:0 auto;padding:24px 24px 140px}.app-shell.has-announcement{padding-top:64px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(360px,100%);display:grid;gap:14px;padding:22px;border:1px solid var(--border);border-radius:20px;background:var(--glass-bg);box-shadow:#00000029 0 18px 52px;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.auth-logo{width:54px;height:54px;justify-self:center;border-radius:14px;object-fit:cover}.auth-title{text-align:center;color:var(--text-primary);font-size:20px;font-weight:800;letter-spacing:0}.auth-field{display:grid;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:700}.auth-field input{width:100%;height:42px;border:1px solid var(--border);border-radius:12px;outline:0;padding:0 12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.auth-field input:focus{border-color:var(--accent)}.auth-error{min-height:32px;display:flex;align-items:center;padding:8px 10px;border-radius:10px;background:var(--danger-strong-bg);color:var(--danger-strong);font-size:12px;font-weight:700}.auth-submit{justify-self:end;min-width:92px;height:40px;border:1px solid var(--border);border-radius:12px;padding:0 18px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:800;transition:transform .2s ease,background-color .2s ease,color .2s ease}.auth-submit:hover{transform:translateY(-1px);background:var(--control-active);color:var(--control-active-text)}.auth-submit:disabled{cursor:default;opacity:.62;transform:none}.app-shell.dragging-upload{filter:drop-shadow(0 0 26px rgba(142,142,147,.22))}.announcement-bar{position:fixed;top:0;left:0;right:0;z-index:100;min-height:38px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:8px 20px;border-bottom:1px solid #28B84D;background:#34c759;color:#fff}.announcement-device{flex:0 0 auto;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 8px;border-radius:999px;background:#ffffff38;color:#fff;font-size:13px;font-weight:800;line-height:1.2}.announcement-text{min-width:0;color:#fff;font-size:14px;font-weight:700;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-actions{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;gap:6px}.announcement-actions button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.38);border-radius:8px;padding:0;background:#ffffff29;color:#fff}.announcement-actions button svg{width:16px;height:16px}.announcement-actions button:hover{background:#ffffff42;color:#fff}.announcement-bar.pinned{border-bottom-color:#0a84ff;background:#0a84ff}.announcement-bar.disconnected{border-bottom-color:#d84a42;background:#ff453a}.announcement-bar.disconnected .announcement-text{font-weight:800}.announcement-actions button:disabled{cursor:default;opacity:.55}.topbar,.composer,.notice{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.topbar{position:sticky;top:16px;z-index:10;display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:64px;padding:12px 14px 12px 18px}.app-shell.has-announcement .topbar{top:54px}.brand-lockup{display:flex;align-items:center;flex:0 0 auto}.brand-logo{width:34px;height:34px;flex:0 0 auto;border-radius:10px;object-fit:cover}.brand-title{font-size:19px;font-weight:700;letter-spacing:0}.brand-meta{margin-top:3px;color:var(--text-secondary);font-size:12px;font-weight:500}.searchbar{flex:1;display:flex;align-items:center;gap:10px;max-width:520px;min-height:40px;padding:0 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.searchbar svg{flex:0 0 auto;color:var(--text-secondary)}.searchbar input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:14px}.top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.icon-btn,.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:600;transition:transform .2s ease,background-color .2s ease,color .2s ease}.icon-btn{position:relative;width:40px;height:40px}.icon-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid var(--glass-bg);border-radius:999px;background:var(--heat-4);color:#fff;font-size:10px;font-weight:800;line-height:1}.notification-badge{background:var(--danger-strong)}.toolbar-btn{height:40px;padding:0 14px}.icon-btn:hover,.toolbar-btn:hover{transform:translateY(-1px);background:var(--control-active);color:var(--control-active-text)}.icon-btn:disabled,.toolbar-btn:disabled{cursor:default;opacity:.65;transform:none}.composer{position:fixed;left:50%;bottom:20px;z-index:30;width:min(760px,calc(100% - 32px));transform:translate(-50%);display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px}.composer-row{display:flex;align-items:center;gap:8px;min-width:0}.composer-back-to-top{position:absolute;left:50%;bottom:68px;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--border);border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);box-shadow:#0000001f 0 10px 26px;transform:translate(-50%);transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}.composer-back-to-top:hover{transform:translate(-50%,-1px);background:var(--control-active);color:var(--control-active-text);box-shadow:#00000029 0 12px 30px}.composer-back-to-top svg{width:18px;height:18px}.page-drop-mask{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:flex;align-items:center;justify-content:center;padding:24px;background:#f5f5f752;box-shadow:inset 0 0 0 999px #ffffff1f,inset 0 0 80px #1d1d1f1f;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}[data-theme=dark] .page-drop-mask{background:#1c1c1e57;box-shadow:inset 0 0 0 999px #0000001a,inset 0 0 80px #ffffff14}.page-drop-card{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 18px;border:1px solid var(--border);border-radius:16px;background:var(--glass-bg);color:var(--text-primary);box-shadow:#0000001f 0 16px 48px;font-size:14px;font-weight:700}.upload-progress-list{display:grid;gap:6px;width:100%}.upload-progress-item{display:grid;grid-template-columns:26px minmax(72px,150px) minmax(90px,1fr) 42px 28px;align-items:center;gap:8px;min-height:34px;padding:4px 5px 4px 6px;border:1px solid transparent;border-radius:12px;background:#f2f2f7b8}[data-theme=dark] .upload-progress-item{background:#ffffff13}.upload-file-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:var(--bg-secondary);color:var(--accent)}.upload-progress-item.kind-image .upload-file-icon{color:#6d8b74}.upload-progress-item.kind-video .upload-file-icon{color:#7a769a}.upload-progress-item.kind-voice .upload-file-icon{color:#9a7c6f}.upload-progress-item.download .upload-file-icon{color:#3a7ca5}.upload-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:11px;font-weight:700}.upload-progress-track{height:5px;overflow:hidden;border-radius:999px;background:var(--border)}.upload-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.upload-progress-item.done .upload-progress-track span{background:var(--control-active-text)}.upload-progress-item.download .upload-progress-track span{background:#3a7ca5}.upload-progress-item.failed .upload-progress-track span{width:100%!important;background:var(--danger)}.upload-progress-value{color:var(--text-secondary);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.upload-cancel-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:9px;background:transparent;color:var(--danger-strong);opacity:.95;transition:background-color .2s ease,color .2s ease,opacity .2s ease}.upload-cancel-btn:hover{background:var(--danger-strong-bg);color:var(--danger-strong);opacity:1}.composer-input{flex:1;min-width:0;height:42px;border:1px solid var(--border);border-radius:999px;outline:0;padding:0 14px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.composer-input.recording{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:0;text-align:center}.round-btn input{display:none}.round-btn{flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--border);border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);transition:transform .2s ease,background-color .2s ease,color .2s ease}.round-btn:hover,.round-btn.active{transform:translateY(-1px);background:var(--control-active);color:var(--control-active-text)}.send-btn{background:var(--control-active)}.send-btn.cancel-btn{background:var(--bg-secondary);color:var(--danger-strong)}.send-btn.cancel-btn:hover{background:var(--danger-strong-bg);color:var(--danger-strong)}.notice{margin-top:18px;padding:14px 16px;color:var(--text-secondary);font-size:13px;font-weight:600}.content{display:grid;gap:28px;padding-top:24px}.empty-state{min-height:42vh;display:grid;place-items:center;color:var(--text-secondary);font-size:15px;font-weight:800;text-align:center}.tag-filter-strip{width:fit-content;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 8px 6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--glass-bg);box-shadow:var(--shadow)}.tag-filter-label{color:var(--text-secondary);font-size:12px;font-weight:800}.time-section{display:grid;gap:14px;scroll-margin-top:96px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 4px}.section-title{font-size:15px;font-weight:700;letter-spacing:0}.section-note{color:var(--text-secondary);font-size:12px;font-weight:500}.waterfall-grid{position:relative;--card-gap: 14px;--card-min: 236px}.content-item{position:relative;display:flex;flex-direction:column;gap:14px;padding:42px 16px 34px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.content-item:hover{transform:translateY(-2px);box-shadow:#00000014 0 8px 24px}.content-item:hover .item-menu,.content-item.editing .item-menu{opacity:1}.size-s{min-height:128px}.size-m{min-height:184px}.size-l{min-height:256px}.size-image,.size-video{min-height:auto;gap:8px;padding-bottom:42px}.size-video .video-wrap{flex:0 0 auto;min-height:0;aspect-ratio:16 / 9}.device,.time{position:absolute;z-index:2;color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1}.device{top:16px;left:18px}.time{right:18px;bottom:15px;font-weight:500}.item-menu{position:absolute;top:10px;right:12px;display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.mini-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);text-decoration:none}.mini-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.mini-btn:disabled,.mini-btn:disabled:hover{cursor:not-allowed;background:transparent;color:color-mix(in srgb,var(--text-secondary) 42%,transparent);opacity:.48}.pin-btn.active,.pin-btn.active:hover{background:var(--control-active);color:var(--control-active-text)}.item-tags{position:absolute;left:16px;right:72px;bottom:10px;display:flex;gap:4px;overflow:hidden;white-space:nowrap}.item-tag{--tag-color: var(--text-secondary);display:inline-flex;align-items:center;flex:0 1 auto;max-width:104px;min-width:0;height:20px;padding:0 7px;border:1px solid color-mix(in srgb,var(--tag-color) 18%,transparent);border-radius:999px;background:color-mix(in srgb,var(--tag-color) 12%,var(--bg-secondary));color:var(--tag-color);font-size:11px;font-weight:600;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-tag>*{min-width:0}.tag-label{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-tag.active{background:color-mix(in srgb,var(--tag-color) 22%,var(--bg-secondary));color:var(--tag-color)}.size-image .item-tags,.size-video .item-tags{position:absolute;bottom:14px;left:16px;right:82px;align-items:center;max-width:100%;padding-right:0}.size-image .time,.size-video .time{bottom:17px}.text-block{display:grid;gap:8px}.text-copy{display:-webkit-box;-webkit-line-clamp:15;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.text-copy.expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.text-expand-btn{justify-self:end;display:inline-flex;align-items:center;justify-content:center;width:30px;height:24px;border:0;border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary)}.text-expand-btn:hover{color:var(--text-primary)}.text-editor{width:100%;min-height:96px;resize:none;border:1px solid var(--border);border-radius:12px;outline:0;padding:10px 14px 10px 12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.6;overflow-y:auto;scrollbar-gutter:stable;scrollbar-color:color-mix(in srgb,var(--text-secondary) 30%,transparent) transparent;scrollbar-width:thin}.text-editor:focus{border-color:var(--accent)}.text-editor::-webkit-scrollbar{width:6px}.text-editor::-webkit-scrollbar-button,.text-editor::-webkit-resizer{display:none;width:0;height:0}.text-editor::-webkit-scrollbar-track{background:transparent}.text-editor::-webkit-scrollbar-corner{background:transparent}.text-editor::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 24%,transparent)}.text-editor::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 42%,transparent)}.photo-wrap,.video-wrap{flex:1;min-height:150px}.size-image .photo-wrap{flex:0 0 auto;min-height:0;max-height:420px}.photo-preview-btn{display:block;width:100%;height:100%;border:0;border-radius:12px;overflow:hidden;background:transparent;cursor:zoom-in}.photo,.video-preview{display:block;width:100%;height:100%;border-radius:12px}.photo,.video-preview{object-fit:contain;background:var(--bg-secondary)}.video-placeholder{width:100%;height:100%;display:grid;place-items:center;gap:10px;border:0;border-radius:12px;padding:18px;background:linear-gradient(135deg,#f2f2f7eb,#e5e5eac7);color:var(--text-primary);cursor:pointer}[data-theme=dark] .video-placeholder{background:linear-gradient(135deg,#ffffff1f,#ffffff0f)}.video-placeholder:hover .video-placeholder-icon{transform:scale(1.04);background:var(--control-active);color:var(--control-active-text)}.video-placeholder-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);transition:transform .2s ease,background-color .2s ease,color .2s ease}.video-placeholder-name{width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:12px;font-weight:700}.video-preview:fullscreen{width:100vw;height:100vh;border-radius:0;background:#000;object-fit:contain}.video-preview:-webkit-full-screen{width:100vw;height:100vh;border-radius:0;background:#000;object-fit:contain}.video-preview::backdrop{background:#000}.file-line{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}.file-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.file-name{min-width:0;color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.file-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.file-size{flex:0 0 auto;color:var(--text-secondary);font-size:12px;font-weight:700;white-space:nowrap}.play-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border:1px solid var(--border);border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);text-decoration:none;transition:transform .2s ease,background-color .2s ease,color .2s ease}.play-btn:hover,.play-btn.active{transform:scale(1.04);background:var(--control-active);color:var(--control-active-text)}.voice-content{display:flex;align-items:center;gap:10px;min-width:0}.waveform{flex:1;display:flex;align-items:center;gap:3px;min-width:126px;height:42px;overflow:hidden}.waveform span{display:block;flex:1;max-width:10px;min-width:3px;border-radius:999px;background:var(--accent);opacity:.52;transform-origin:center;transition:background-color .2s ease,opacity .2s ease}.waveform.active span{background:linear-gradient(180deg,var(--heat-2),var(--heat-4));opacity:.88;animation:voice-wave .92s ease-in-out infinite}.waveform.active span:nth-child(2n){animation-delay:-.18s}.waveform.active span:nth-child(3n){animation-delay:-.34s}.waveform.active span:nth-child(4n){animation-delay:-.5s}.waveform span:nth-child(1){height:12px}.waveform span:nth-child(2){height:22px}.waveform span:nth-child(3){height:16px}.waveform span:nth-child(4){height:34px}.waveform span:nth-child(5){height:28px}.waveform span:nth-child(6){height:18px}.waveform span:nth-child(7){height:38px}.waveform span:nth-child(8){height:24px}.waveform span:nth-child(9){height:14px}.waveform span:nth-child(10){height:30px}.waveform span:nth-child(11){height:18px}.waveform span:nth-child(12){height:26px}.waveform span:nth-child(13){height:20px}.waveform span:nth-child(14){height:36px}.waveform span:nth-child(15){height:24px}.waveform span:nth-child(16){height:16px}.waveform span:nth-child(17){height:32px}.waveform span:nth-child(18){height:22px}@keyframes voice-wave{0%,to{transform:scaleY(.78)}50%{transform:scaleY(1.08)}}.voice-duration{flex:0 0 38px;color:var(--text-secondary);font-size:12px;font-variant-numeric:tabular-nums;line-height:1;text-align:right}audio{display:none}.toast{position:fixed;left:50%;bottom:104px;z-index:40;transform:translate(-50%);min-height:36px;max-width:calc(100% - 32px);padding:10px 14px;border:1px solid var(--border);border-radius:999px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--text-primary);box-shadow:var(--shadow);font-size:13px;font-weight:600}.notification-stack{position:fixed;top:96px;right:24px;z-index:50;width:min(340px,calc(100vw - 32px));display:grid;gap:10px;pointer-events:none}.notification-panel{width:min(420px,100%);max-height:min(560px,max(220px,calc(100vh - var(--notification-panel-offset, 96px) - 24px)));display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:#0000001f 0 16px 44px}.notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-panel-head h2{color:var(--text-primary);font-size:15px;font-weight:800}.notification-panel-head>div{display:inline-flex;align-items:center;gap:4px}.notification-panel-head .mini-btn:disabled{cursor:default;opacity:.36}.notification-panel-head .mini-btn:disabled:hover{background:transparent;color:var(--text-secondary)}.notification-clear-read-btn{color:var(--danger)}.notification-clear-read-btn:hover,.notification-clear-read-btn:focus-visible{background:var(--danger-strong-bg);color:var(--danger-strong)}.notification-list{--notification-scrollbar-space: 8px;display:grid;gap:8px;min-height:0;margin-right:calc(var(--notification-scrollbar-space) * -1);overflow-x:hidden;overflow-y:auto;padding-right:var(--notification-scrollbar-space);scrollbar-color:color-mix(in srgb,var(--text-secondary) 34%,transparent) transparent;scrollbar-width:thin}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:transparent}.notification-list::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 28%,transparent)}.notification-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 44%,transparent)}.notification-item{position:relative;display:grid;gap:6px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffff6b}[data-theme=dark] .notification-item{background:#ffffff13}.notification-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-title-line{display:inline-flex;align-items:center;min-width:0;gap:6px}.notification-title-line strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.notification-unread-tag{flex:0 0 auto;height:20px;display:inline-flex;align-items:center;padding:0 7px;border-radius:999px;background:var(--danger-strong-bg);color:var(--danger-strong);font-size:10px;font-weight:800}.notification-item-head>span,.notification-item small{flex:0 0 auto;color:var(--text-secondary);font-size:11px;font-weight:700}.notification-item-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-item-actions{display:inline-flex;align-items:center;flex:0 0 auto;gap:4px}.notification-read-btn{width:24px;height:24px;border-radius:7px;color:var(--heat-4);opacity:.82}.notification-read-btn:hover,.notification-read-btn:focus-visible{background:color-mix(in srgb,var(--heat-4) 16%,transparent);color:var(--heat-4);opacity:1}.notification-delete-btn{width:24px;height:24px;border-radius:7px;color:var(--danger);opacity:.78}.notification-delete-btn:hover,.notification-delete-btn:focus-visible{background:var(--danger-strong-bg);color:var(--danger-strong);opacity:1}.notification-item p{color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.notification-empty{display:flex;align-items:center;justify-content:center;min-height:96px;border:1px dashed var(--border);border-radius:12px;color:var(--text-secondary);font-size:12px;font-weight:700}.page-notification{display:grid;gap:6px;padding:12px 12px 13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow);pointer-events:auto}.page-notification-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.page-notification-actions{display:inline-flex;align-items:center;flex:0 0 auto;gap:2px}.page-notification-head strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.page-notification-read-btn{color:var(--heat-4)}.page-notification-read-btn:hover,.page-notification-read-btn:focus-visible{background:color-mix(in srgb,var(--heat-4) 16%,transparent);color:var(--heat-4)}.page-notification p{color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#1d1d1f2e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.notification-backdrop{align-items:flex-start;padding-top:var(--notification-panel-offset, 96px);padding-bottom:16px;overflow-y:auto}.confirm-backdrop{z-index:80}.confirm-dialog{width:min(360px,100%);display:grid;gap:14px;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--glass-bg);box-shadow:#00000029 0 18px 52px}.device-dialog{width:min(820px,100%);max-height:min(720px,calc(100vh - 48px));overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:16px;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--glass-bg);box-shadow:#00000029 0 18px 52px}.device-notification-backdrop{z-index:82}.device-notification-dialog{width:min(420px,100%);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--glass-bg);box-shadow:#0000002e 0 20px 56px}.device-notification-body{display:grid;gap:14px;min-width:0}.device-notification-device{display:grid;gap:4px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#e8e8ed94}[data-theme=dark] .device-notification-device{background:#ffffff16}.device-notification-device span,.device-notification-device small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-notification-device span{color:var(--text-primary);font-size:14px;font-weight:800}.device-notification-device small{color:var(--text-secondary);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:700}.notification-method-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notification-method-options button{height:38px;border:1px solid var(--border);border-radius:11px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:800;cursor:pointer}.notification-method-options button.active{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:var(--bg-primary);color:var(--text-primary);box-shadow:#00000014 0 2px 8px}.device-notification-field{display:grid;gap:7px}.device-notification-fields{display:grid;gap:10px}.device-notification-field span{color:var(--text-secondary);font-size:12px;font-weight:800}.device-notification-field input{width:100%;height:38px;padding:0 11px;border:1px solid var(--border);border-radius:11px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:700}.device-test-result{min-height:32px;display:flex;align-items:center;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:800}.device-test-result.success{background:#34c75929;color:#178a3a}.device-test-result.error{background:var(--danger-strong-bg);color:var(--danger-strong)}.device-body{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0}.device-body-head{display:grid;gap:10px}.settings-dialog,.quick-record-dialog,.tags-dialog,.search-dialog,.tag-panel-dialog{display:grid;gap:16px;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--glass-bg);box-shadow:#00000029 0 18px 52px}.settings-dialog{width:min(520px,100%);max-height:min(640px,calc(100vh - 48px));overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto}.settings-body{--dialog-scrollbar-space: 8px;display:grid;gap:16px;min-height:0;margin-right:calc(var(--dialog-scrollbar-space) * -1);overflow-x:hidden;overflow-y:auto;padding-right:var(--dialog-scrollbar-space);scrollbar-color:color-mix(in srgb,var(--text-secondary) 34%,transparent) transparent;scrollbar-width:thin}.settings-body::-webkit-scrollbar,.device-list::-webkit-scrollbar{width:6px}.settings-body::-webkit-scrollbar-track,.device-list::-webkit-scrollbar-track{background:transparent}.settings-body::-webkit-scrollbar-thumb,.device-list::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 28%,transparent)}.settings-body::-webkit-scrollbar-thumb:hover,.device-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 44%,transparent)}.quick-record-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 48px));grid-template-rows:auto minmax(280px,1fr) auto}.tags-dialog{width:min(520px,100%);max-height:min(680px,calc(100vh - 48px));grid-template-rows:auto minmax(0,1fr) auto auto auto;overflow:hidden}.tag-panel-dialog{width:min(480px,100%);max-height:min(620px,calc(100vh - 48px));grid-template-rows:auto minmax(0,1fr)}.search-dialog{width:min(560px,100%);max-height:min(620px,calc(100vh - 48px));grid-template-rows:auto minmax(0,1fr) auto;overflow:visible}.search-filter-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0}.search-field{display:grid;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:800}.search-field-wide{grid-column:1 / -1}.search-field input,.search-select-btn{width:100%;height:42px;min-width:0;border:1px solid var(--border);border-radius:12px;outline:0;padding:0 12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:650}.search-field input:focus,.search-select.open .search-select-btn,.search-select-btn:focus{border-color:var(--accent)}.search-select.open .search-select-btn{border-radius:12px 12px 0 0}.search-select{position:relative;min-width:0}.search-select-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.search-select-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select-btn:after{width:7px;height:7px;flex:0 0 auto;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);content:"";transform:rotate(45deg) translateY(-2px)}.search-select.open .search-select-btn:after{transform:rotate(225deg) translateY(-2px)}.search-select-menu{position:absolute;z-index:20;top:calc(100% - 1px);left:0;right:0;max-height:min(220px,32vh);overflow-x:hidden;overflow-y:auto;padding:4px 0;border:1px solid var(--border);border-top:0;border-radius:0 0 12px 12px;background:var(--bg-secondary);box-shadow:none;scrollbar-color:color-mix(in srgb,var(--text-secondary) 34%,transparent) transparent;scrollbar-width:thin}.search-field:nth-child(4) .search-select-menu{top:auto;bottom:calc(100% - 1px);border-top:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0}.search-field:nth-child(4) .search-select.open .search-select-btn{border-radius:0 0 12px 12px}.search-select-menu::-webkit-scrollbar{width:6px}.search-select-menu::-webkit-scrollbar-track{background:transparent}.search-select-menu::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 28%,transparent)}.search-select-menu::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 44%,transparent)}.search-select-option{width:100%;min-width:0;display:block;padding:9px 12px;border:0;border-radius:0;background:transparent;color:var(--text-primary);font-size:13px;font-weight:750;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select-option:hover,.search-select-option.active{background:color-mix(in srgb,var(--text-secondary) 12%,transparent);color:var(--text-primary)}.dialog-head-actions{display:inline-flex;align-items:center;gap:4px}.tags-input{width:100%;height:44px;border:1px solid var(--border);border-radius:12px;outline:0;padding:0 12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:600}.tags-input:focus{border-color:var(--accent)}.tags-preview{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}.tag-editor-created,.tag-editor-selected{display:grid;gap:8px;min-height:0}.tag-editor-created{overflow:hidden}.tag-choice-list{--dialog-scrollbar-space: 8px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:0;margin-right:calc(var(--dialog-scrollbar-space) * -1);overflow-x:hidden;overflow-y:auto;padding-right:var(--dialog-scrollbar-space);scrollbar-color:color-mix(in srgb,var(--text-secondary) 34%,transparent) transparent;scrollbar-width:thin}.tag-choice-list::-webkit-scrollbar{width:6px}.tag-choice-list::-webkit-scrollbar-track{background:transparent}.tag-choice-list::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 28%,transparent)}.tag-choice-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 44%,transparent)}.tag-choice-chip{gap:4px;min-height:26px;height:auto;max-width:132px;cursor:pointer}.tag-choice-chip.selected{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tag-color) 42%,transparent)}.tag-editor-empty{color:var(--text-secondary);font-size:12px;font-weight:700}.tag-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.tag-form .tags-input{min-width:0}.tag-form .tag-color-list{min-height:44px}.tag-form .dialog-btn{height:44px;min-width:58px;border-radius:12px;padding:0 12px}.tag-color-list{display:inline-flex;align-items:center;flex:0 0 auto;gap:6px;min-width:0}.tag-color-btn{width:22px;height:22px;flex:0 0 22px;border:2px solid var(--bg-secondary);border-radius:50%;box-shadow:0 0 0 1px var(--border)}.tag-color-btn.active{box-shadow:0 0 0 2px var(--text-primary)}.tag-panel-empty.compact{padding:8px 2px;text-align:left}.tags-error{color:var(--danger-strong);font-size:12px;font-weight:600}.tag-panel-empty{padding:22px 10px;color:var(--text-secondary);text-align:center;font-size:13px;font-weight:700}.tag-panel-body{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:10px;min-height:0}.tag-global-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.tag-global-form .tags-input{min-width:0}.tag-global-form .tag-color-list{min-height:44px}.tag-global-form .dialog-btn{height:44px;min-width:58px;border-radius:12px;padding:0 12px}.tag-global-list{--dialog-scrollbar-space: 8px;display:grid;align-content:start;gap:8px;min-height:0;margin-right:calc(var(--dialog-scrollbar-space) * -1);overflow-x:hidden;overflow-y:auto;padding-right:var(--dialog-scrollbar-space);scrollbar-color:color-mix(in srgb,var(--text-secondary) 34%,transparent) transparent;scrollbar-width:thin}.tag-global-list::-webkit-scrollbar{width:6px}.tag-global-list::-webkit-scrollbar-track{background:transparent}.tag-global-list::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 28%,transparent)}.tag-global-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 44%,transparent)}.tag-global-row{display:grid;grid-template-columns:minmax(0,1fr) 28px 28px 28px 28px;align-items:center;gap:6px}.tag-global-row .tag-filter-btn{width:100%;cursor:default}.tag-global-row .tag-filter-btn:hover{background:color-mix(in srgb,var(--tag-color) 9%,var(--bg-secondary));color:var(--text-primary)}.tag-subscribe-btn.active{background:color-mix(in srgb,var(--accent) 18%,var(--bg-secondary));color:var(--accent)}.tag-subscribe-btn.active:hover{background:color-mix(in srgb,var(--accent) 24%,var(--bg-secondary));color:var(--accent)}.tag-clear-items-btn:hover,.tag-delete-btn:hover{background:var(--danger-strong-bg);color:var(--danger-strong)}.tag-cloud{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:6px;scrollbar-color:color-mix(in srgb,var(--text-secondary) 34%,transparent) transparent;scrollbar-width:thin}.tag-cloud::-webkit-scrollbar{width:6px}.tag-cloud::-webkit-scrollbar-track{background:transparent}.tag-cloud::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 28%,transparent)}.tag-cloud::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 44%,transparent)}.tag-filter-btn{--tag-color: var(--text-secondary);min-width:0;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--tag-color) 9%,var(--bg-secondary));color:var(--text-primary);font-size:12px;font-weight:800}.tag-filter-btn span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-swatch{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:var(--tag-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--tag-color) 34%,transparent)}.tag-filter-btn small{min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:var(--bg-primary);color:var(--text-secondary);font-size:10px;font-weight:800}.tag-filter-btn:hover,.tag-filter-btn.active{background:color-mix(in srgb,var(--tag-color) 18%,var(--bg-secondary));color:var(--control-active-text)}.settings-section{display:grid;gap:10px}.settings-section-title{color:var(--text-secondary);font-size:12px;font-weight:800}.settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:54px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffff6b}[data-theme=dark] .settings-row{background:#ffffff13}.settings-row-main{display:grid;gap:4px;min-width:0}.settings-row-main strong{color:var(--text-primary);font-size:13px;font-weight:800}.settings-row-main span{color:var(--text-secondary);font-size:12px;font-weight:700}.settings-row-main small{color:var(--accent);font-size:11px;font-weight:800;line-height:1.35}.settings-cache-row{grid-template-columns:minmax(0,1fr) auto}.settings-server-row{grid-template-columns:minmax(0,1fr)}.settings-text-input{width:100%;height:36px;margin-top:4px;border:1px solid var(--border);border-radius:10px;outline:0;padding:0 10px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:700}.settings-text-input:focus{border-color:var(--accent)}.settings-cache-actions{display:flex;align-items:center;gap:8px}.settings-path-text{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.45}.nav-visibility-list{display:grid;gap:8px}.nav-visibility-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffff6b;color:var(--text-primary);font-size:13px;font-weight:800}[data-theme=dark] .nav-visibility-row{background:#ffffff13}.nav-visibility-main{min-width:0;flex:1 1 auto;display:inline-flex;align-items:center;gap:9px}.nav-visibility-main svg{width:16px;height:16px;flex:0 0 auto;color:var(--text-secondary)}.nav-visibility-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-visibility-checkbox{position:absolute;opacity:0;pointer-events:none}.nav-order-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px}.nav-order-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary)}.nav-order-btn svg{width:15px;height:15px}.nav-order-btn:hover{background:var(--control-active);color:var(--control-active-text)}.nav-order-btn:disabled{cursor:default;opacity:.38;transform:none}.nav-switch-wrap{flex:0 0 auto;display:inline-flex;align-items:center}.nav-switch{position:relative;width:38px;height:22px;flex:0 0 auto;border-radius:999px;background:#e9e9ea;transition:background-color .18s ease}[data-theme=dark] .nav-switch{background:#5a5a5f}.nav-switch i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:#00000024 0 2px 5px;transition:transform .18s ease}.nav-visibility-checkbox:checked+.nav-switch{background:var(--switch-on)}.nav-visibility-checkbox:checked+.nav-switch i{transform:translate(16px)}.shortcut-capture-btn{min-width:108px;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:700}.shortcut-capture-btn.recording{border-color:var(--accent);background:var(--control-active);color:var(--control-active-text)}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.quick-record-actions{display:flex;justify-content:flex-end;gap:8px}.logout-btn{min-width:132px;padding:0 18px}.quick-record-input{width:100%;min-height:280px;resize:vertical;border:1px solid var(--border);border-radius:14px;outline:0;padding:14px;background:var(--bg-secondary);color:var(--text-primary);font:inherit;font-size:14px;font-weight:500;line-height:1.6;scrollbar-color:color-mix(in srgb,var(--text-secondary) 34%,transparent) transparent;scrollbar-width:thin}.quick-record-input:focus{border-color:var(--accent)}.quick-record-input::-webkit-scrollbar{width:6px}.quick-record-input::-webkit-scrollbar-track{background:transparent}.quick-record-input::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 28%,transparent)}.quick-record-input::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 44%,transparent)}.heatmap-dialog{--heatmap-cell-size: clamp(3px, calc((100vw - 273px) / 53), 13px);--heatmap-cell-gap: clamp(1px, .26vw, 3px);--heatmap-weekday-width: clamp(17px, 2.6vw, 23px);--heatmap-body-gap: clamp(4px, .6vw, 6px);--heatmap-month-offset: calc(var(--heatmap-weekday-width) + var(--heatmap-body-gap));width:min(920px,100%);max-height:min(720px,calc(100vh - 48px));overflow:hidden;display:grid;gap:16px;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--glass-bg);box-shadow:#00000029 0 18px 52px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{color:var(--text-primary);font-size:17px;font-weight:700;letter-spacing:0}.heatmap-scroll{min-width:0;overflow:hidden;padding:2px 0 8px}.heatmap-months{display:grid;column-gap:var(--heatmap-cell-gap);width:max-content;height:14px;margin-left:var(--heatmap-month-offset);margin-bottom:6px;color:var(--text-secondary);font-size:clamp(10px,1.2vw,11px);font-weight:600;line-height:14px}.heatmap-months span{width:max-content;white-space:nowrap}.heatmap-months span.near-end{justify-self:end}.heatmap-body{display:flex;align-items:flex-start;gap:var(--heatmap-body-gap)}.heatmap-weekdays{display:grid;grid-template-rows:repeat(7,var(--heatmap-cell-size));gap:var(--heatmap-cell-gap);width:var(--heatmap-weekday-width);color:var(--text-secondary);font-size:clamp(9px,1vw,10px);font-weight:700;line-height:var(--heatmap-cell-size);text-align:center}.heatmap-grid{display:grid;grid-template-rows:repeat(7,var(--heatmap-cell-size));grid-auto-flow:column;gap:var(--heatmap-cell-gap)}.heatmap-cell{width:var(--heatmap-cell-size);height:var(--heatmap-cell-size);border:1px solid rgba(0,0,0,.04);border-radius:2px;background:var(--heat-0);transition:transform .12s ease,box-shadow .12s ease}[data-theme=dark] .heatmap-cell{border-color:#ffffff0d}.heatmap-cell:hover{transform:scale(1.22);box-shadow:0 0 0 2px var(--bg-secondary)}.heatmap-cell.outside{opacity:.42;cursor:default}.heatmap-cell:disabled:hover{transform:none;box-shadow:none}.heatmap-cell.level-0,.heatmap-legend i.level-0{background:var(--heat-0)}.heatmap-cell.level-1,.heatmap-legend i.level-1{background:var(--heat-1)}.heatmap-cell.level-2,.heatmap-legend i.level-2{background:var(--heat-2)}.heatmap-cell.level-3,.heatmap-legend i.level-3{background:var(--heat-3)}.heatmap-cell.level-4,.heatmap-legend i.level-4{background:var(--heat-4)}.heatmap-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:12px;font-weight:700}.heatmap-footer-main{display:flex;align-items:center;gap:10px;min-width:0;min-height:28px}.heatmap-hover-text{min-width:160px;min-height:28px;display:inline-flex;align-items:center;color:var(--text-primary);font-size:12px;font-weight:700;line-height:28px}.heatmap-year-btn{min-width:52px;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:700;transition:background-color .2s ease,color .2s ease}.heatmap-year-btn:hover,.heatmap-year-btn.active{background:var(--control-active);color:var(--control-active-text)}.heatmap-legend{display:flex;align-items:center;gap:5px;flex:0 0 auto}.heatmap-legend i{width:var(--heatmap-cell-size);height:var(--heatmap-cell-size);border-radius:2px}.device-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.device-form label{display:grid;gap:6px;min-width:0;color:var(--text-secondary);font-size:12px;font-weight:700}.device-form input{width:100%;min-width:0;height:38px;border:1px solid var(--border);border-radius:10px;outline:0;padding:0 11px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px}.device-form input:focus{border-color:var(--accent)}.device-key-field{grid-column:1 / -1}.device-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.device-input-row .dialog-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:96px;white-space:nowrap}.device-input-row .dialog-btn:disabled{opacity:.65;cursor:default}.device-error{min-height:32px;display:flex;align-items:center;padding:8px 10px;border-radius:10px;background:var(--danger-strong-bg);color:var(--danger-strong);font-size:12px;font-weight:700}.device-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:24px;color:var(--text-primary);font-size:13px;font-weight:800}.device-section-head.registered{margin-top:2px}.device-section-head small{color:var(--text-secondary);font-size:11px;font-weight:700}.device-section-head small.connected{color:var(--heat-4)}.device-list{--dialog-scrollbar-space: 8px;--device-columns: minmax(96px, .34fr) minmax(132px, .9fr) 72px 76px minmax(86px, .3fr) 42px;display:grid;gap:8px;min-height:0;margin-right:calc(var(--dialog-scrollbar-space) * -1);overflow-x:hidden;overflow-y:auto;padding-right:var(--dialog-scrollbar-space);scrollbar-color:color-mix(in srgb,var(--text-secondary) 34%,transparent) transparent;scrollbar-width:thin}.device-list-head{display:grid;grid-template-columns:var(--device-columns);gap:10px;align-items:center;padding:0 10px 0 12px;color:var(--text-secondary);font-size:11px;font-weight:800}.device-empty,.device-row{min-height:46px;border-radius:12px;background:#e8e8edad}[data-theme=dark] .device-empty,[data-theme=dark] .device-row{background:#ffffff1b}.device-empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:12px;font-weight:700}.device-row{display:grid;grid-template-columns:var(--device-columns);align-items:center;gap:10px;padding:9px 10px 9px 12px}.device-row-main{display:contents}.device-row-name{min-width:0;display:flex;align-items:center;gap:6px}.device-row-name>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:13px;font-weight:700}.device-row code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.device-notification-control{min-width:0;display:inline-flex;align-items:center;justify-content:flex-start}.device-notification-pill{width:auto;min-width:52px;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px;font-weight:800;cursor:pointer}.device-notification-pill:hover{background:var(--control-active);color:var(--control-active-text)}.device-status{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:12px;font-weight:800;white-space:nowrap}.device-status-btn{justify-self:start;border:0;background:transparent;cursor:pointer;padding:0}.device-status-btn:hover{color:var(--text-primary)}.device-status i{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.device-status.online{color:var(--heat-4)}.device-status.online i{background:var(--heat-4);box-shadow:0 0 0 3px #3f7f4d24}.device-active-time{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:12px;font-weight:700}.device-row>.upload-cancel-btn,.device-default-tag{justify-self:center}.device-session-list{grid-column:1 / -1;display:grid;gap:6px;margin-top:2px;padding:8px;border:1px solid var(--border);border-radius:10px;background:#ffffff75}[data-theme=dark] .device-session-list{background:#0000001f}.device-session-row{display:grid;grid-template-columns:minmax(96px,.85fr) minmax(120px,1.1fr) minmax(80px,.7fr);gap:8px;align-items:center;min-width:0;color:var(--text-secondary);font-size:11px;font-weight:700}.device-session-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-session-ip{color:var(--text-primary);font-family:SFMono-Regular,Consolas,monospace}.device-default-tag{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 6px;border-radius:999px;background:var(--bg-secondary);color:var(--text-secondary);font-size:10px;font-weight:800;white-space:nowrap}.confirm-dialog h2{color:var(--text-primary);font-size:17px;font-weight:700;letter-spacing:0}.confirm-dialog p{color:var(--text-secondary);font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.dialog-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:72px;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:700}.dialog-btn svg{flex:0 0 auto}.dialog-btn:hover{background:var(--control-active)}.dialog-btn:disabled{cursor:default;opacity:.56}.dialog-btn:disabled:hover{background:var(--bg-secondary)}.dialog-btn.primary{border-color:transparent;background:var(--control-active);color:var(--control-active-text)}.dialog-btn.primary:hover{background:color-mix(in srgb,var(--control-active) 88%,#000000)}.dialog-btn.primary:disabled:hover{background:var(--control-active)}.dialog-btn.danger{border-color:transparent;background:var(--danger-strong);color:#fff}.dialog-btn.danger:hover{background:color-mix(in srgb,var(--danger-strong) 88%,#000000);color:#fff}.image-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:48px;background:#121214c7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:zoom-out}.image-preview-media{display:block;max-width:min(1120px,100%);max-height:100%;object-fit:contain;border-radius:14px;box-shadow:#00000057 0 22px 70px;cursor:default}.image-preview-close{position:fixed;top:22px;right:22px;z-index:71;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#ffffff1f;color:#fff}.image-preview-close:hover{background:#fff3}@media(max-width:720px){.app-shell{padding:14px}.app-shell.has-announcement{padding-top:52px}.announcement-bar{min-height:36px;padding:7px 12px}.announcement-device{max-width:120px;padding:2px 7px;font-size:12px}.announcement-text{font-size:13px}.announcement-actions{gap:4px}.announcement-actions button{width:26px;height:26px}.topbar{position:static;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:12px}.brand-lockup{min-height:36px}.top-actions{flex:1 1 0;min-width:0;margin-left:0;flex-wrap:wrap;justify-content:flex-end;gap:6px}.icon-btn{width:36px;height:36px}.searchbar{order:3;flex-basis:100%;max-width:none}.composer{bottom:12px;width:calc(100% - 24px)}.upload-progress-item{grid-template-columns:26px minmax(52px,96px) minmax(70px,1fr) 34px 28px;gap:6px}.upload-progress-value,.upload-file-name{font-size:10px}.image-preview-backdrop{padding:18px}.image-preview-media{border-radius:10px}.heatmap-dialog{padding:16px}.heatmap-footer,.heatmap-footer-main{align-items:flex-start;flex-direction:column}.heatmap-hover-text{min-width:0}.notification-stack{top:82px;right:16px;left:16px;width:auto}.notification-panel{width:min(420px,100%);max-height:min(520px,max(220px,calc(100vh - var(--notification-panel-offset, 82px) - 16px)))}.settings-dialog,.quick-record-dialog,.tags-dialog,.search-dialog,.tag-panel-dialog{padding:16px}.settings-row{grid-template-columns:1fr;align-items:stretch}.shortcut-capture-btn,.settings-row .dialog-btn,.settings-cache-actions{width:100%}.settings-cache-actions .dialog-btn{flex:1 1 0}.quick-record-dialog{grid-template-rows:auto minmax(220px,1fr) auto}.quick-record-actions{flex-wrap:wrap}.quick-record-actions .dialog-btn{flex:1 1 100px}.tag-form,.tag-global-form,.search-filter-form{grid-template-columns:1fr}.tag-color-list{flex-wrap:wrap}.tag-form .dialog-btn,.tag-global-form .dialog-btn{width:auto;justify-self:end}.device-form{grid-template-columns:1fr}.device-row{grid-template-columns:minmax(0,1fr) 42px;align-items:start}.device-row-main{grid-column:1;display:grid;grid-template-columns:1fr;gap:6px;min-width:0}.device-row>.upload-cancel-btn,.device-default-tag{grid-column:2;grid-row:1;align-self:center}.device-list-head{display:none}}
