/* One primary navigation, no repeated archive shortcuts. */
.sidebar #account-connections,.sidebar #history-progress,.sidebar #deletion-inbox,.sidebar .side-bottom{display:none!important}
#sidebar-header-root{display:contents}
#conversation-controls-root{display:contents}
.sidebar #chat-list{flex:1;min-height:0;max-height:none}
.sidebar .chat-summary{min-width:0}.sidebar .chat-source-line{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .chat-source-line{min-height:12px}
.chat-list-empty{padding:25px 16px;color:var(--muted);font-size:12px;text-align:center}
.library-intro{margin:0 0 17px;padding:15px 16px;border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.library-intro strong{display:block;font-size:15px}.library-intro p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.library-segments{position:sticky;top:0;z-index:2;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;max-width:100%;margin:2px -4px 0;padding:8px 4px;background:var(--surface)}.library-segments::-webkit-scrollbar{display:none}.library-segments button{flex:none;min-height:37px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.library-segments button:hover{background:var(--hover);color:var(--ink)}.library-segments button.active{border-color:color-mix(in srgb,var(--blue) 33%,var(--line));background:color-mix(in srgb,var(--blue) 11%,var(--surface));color:var(--blue)}.library-count{margin:10px 0 14px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.library-list{display:grid;gap:8px}.library-list .library-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:76px;margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 1px 2px #00000008;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.library-list .library-item:hover{border-color:color-mix(in srgb,var(--blue) 35%,var(--line));background:color-mix(in srgb,var(--blue) 4%,var(--surface));transform:translateY(-1px)}.library-list .library-item:active{transform:scale(.995)}.library-item-copy{min-width:0}.library-item-copy strong,.library-item-copy p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-item-copy strong{display:block;font-size:12px}.library-item-copy p{margin:4px 0;color:var(--ink);font-size:12px}.library-item-copy small{display:block;font-size:10px}.library-item em{color:var(--muted);font-size:19px;font-style:normal}.library-list .library-type{width:46px;height:46px;overflow:hidden;background:color-mix(in srgb,var(--blue) 10%,var(--surface))}.library-type i{font-size:19px;font-style:normal}.library-type.is-round{position:relative;background:#253744}.library-type.is-round img{display:block;width:100%;height:100%;object-fit:cover}.library-type.is-round:has(img):after{content:'▶';position:absolute;inset:0;display:grid;place-items:center;background:#14233255;color:#fff;font-size:15px}.library-skeletons.tiles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.library-skeletons.rows{display:grid;gap:8px}.library-skeletons i{display:block;border-radius:12px;background:linear-gradient(110deg,var(--hover) 22%,color-mix(in srgb,var(--surface) 60%,var(--hover)) 48%,var(--hover) 73%);background-size:220% 100%;animation:library-shimmer 1.5s ease-in-out infinite}.library-skeletons.tiles i{aspect-ratio:1}.library-skeletons.rows i{height:76px;border:1px solid var(--line)}@keyframes library-shimmer{to{background-position-x:-220%}}@media(prefers-reduced-motion:reduce){.library-segments button,.library-list .library-item{transition:none}.library-skeletons i{animation:none}}
.sidebar #ios-tabs{margin-top:auto;border-top:1px solid var(--line);padding:12px 5px max(12px,env(safe-area-inset-bottom));background:var(--surface)}
#ios-tabs button{min-height:48px;gap:6px;font-size:11px}
#more .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
#to-bottom[hidden]{display:none!important}
#messages{overflow-anchor:none}
.monitor-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.monitor-label i{width:6px;height:6px;border-radius:50%;background:#8e8e93}.monitor-label.online i{background:#30b979}
.chat-source-strip{min-height:38px;justify-content:space-between}.chat-source-strip>button{font-size:11px}
.settings-identity{text-align:center;padding:16px 8px 24px}.settings-identity .profile-avatar{width:64px;height:64px;margin:auto;font-size:24px}.settings-identity h2{font-size:22px;margin:12px 0 5px}.settings-identity p{margin:0 0 12px;color:var(--muted)}.settings-identity button{display:block;margin:15px auto 0;color:var(--blue)}
.scope-label{font-size:12px;color:var(--muted)}.section-label{text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--muted);margin:24px 12px 10px}
.settings-group{border-radius:16px;overflow:hidden;background:var(--hover)}.settings-group .settings-row{padding:15px 16px;gap:12px;min-height:54px}.settings-row b{font-weight:500}.settings-row small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px}.settings-row em{font-style:normal;color:var(--muted)}
.library-scope{margin-bottom:14px}.library-scope label{font-size:12px;color:var(--muted)}.library-scope select{margin-top:6px;width:100%;padding:12px;border:0;border-radius:12px;background:var(--hover);color:var(--ink)}
.library-item{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--ink)}.library-item>span:nth-child(2){flex:1;min-width:0}.library-item p{margin:5px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-item small{color:var(--muted);font-size:11px}.library-type{border-radius:50%;background:var(--hover);width:40px;height:40px;display:grid;place-items:center;color:var(--blue)}
.media-tile>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(transparent,#0009);left:0;right:0;bottom:0;padding:14px 5px 5px;text-align:right}
.media-tile:has(>img):not(.is-image-loaded):not(.is-image-failed)::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(110deg,var(--hover) 22%,color-mix(in srgb,var(--surface) 60%,var(--hover)) 48%,var(--hover) 73%);background-size:220% 100%;animation:library-shimmer 1.5s ease-in-out infinite}
.media-tile>img{opacity:0;transition:opacity .24s ease}
.media-tile.is-image-loaded>img{opacity:1}
.media-tile.is-image-failed::after{content:'Изображение недоступно';position:absolute;inset:0;display:grid;place-items:center;padding:9px;color:var(--muted);font-size:11px;text-align:center}
@media(prefers-reduced-motion:reduce){.media-tile:has(>img)::after{animation:none}.media-tile>img{transition:none}}
.chat-control-title h2{font-size:23px;margin:8px 0}.chat-control-title p{color:var(--muted);font-size:13px;line-height:1.6}.capture-options{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:16px}.capture-option{display:flex;gap:12px;padding:16px;border-bottom:1px solid var(--line);cursor:pointer}.capture-option:last-child{border:0}.capture-option input{accent-color:var(--blue)}.capture-option small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:5px}.capture-option:has(input:checked){background:color-mix(in srgb,var(--blue) 12%,transparent)}.capture-option.unavailable{opacity:.5}.bot-chat-help{margin-top:20px;font-size:13px;line-height:1.6}.bot-chat-help summary{color:var(--blue);cursor:pointer}#capture-result{font-size:13px;color:var(--muted)}
#messages .empty{max-width:430px;padding:28px;background:var(--surface);border-radius:24px;text-align:center}#messages .empty h2{font-size:21px;line-height:1.3;margin:16px 0}#messages .empty p{font-size:14px;line-height:1.6;color:var(--muted)}#messages .empty small{display:block;margin-top:20px;font-size:11px;line-height:1.5;color:var(--muted)}.empty-symbol{display:inline-flex;color:var(--blue);padding:16px;background:var(--hover);border-radius:50%}.empty-symbol svg{width:28px;height:28px}.empty-secondary{display:block;margin:12px auto;color:var(--blue);padding:8px}
#messages .empty:has(.empty-chat-content){box-sizing:border-box;width:min(460px,calc(100% - 24px));max-width:none;padding:24px;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 40px #00000014}.empty-chat-content{text-align:left}.empty-chat-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue)}.empty-chat-icon svg{width:26px;height:26px}.empty-chat-content h2{margin:16px 0 7px!important;font-size:20px!important}.empty-chat-content .empty-chat-description{min-height:42px;margin:0 0 18px!important;font-size:13px!important;line-height:1.5!important}.empty-chat-statuses{display:grid;gap:8px}.empty-chat-statuses>div{display:flex;align-items:center;gap:11px;min-height:58px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--hover)}.empty-chat-statuses>div>span:last-child{display:grid;gap:3px;min-width:0}.empty-chat-statuses strong{font-size:12px}.empty-chat-statuses small{display:block!important;margin:0!important;color:var(--muted);font-size:11px!important;line-height:1.35!important}.empty-chat-dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--muted)}.empty-chat-dot.is-active{background:#32b984;box-shadow:0 0 0 4px #32b98422}.empty-chat-history-icon{display:grid;place-items:center;width:18px;height:18px;flex:none;border-radius:6px;background:color-mix(in srgb,var(--blue) 13%,var(--surface));color:var(--blue);font-size:14px;font-weight:700}.empty-chat-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.empty-chat-actions button{min-height:39px;padding:9px 13px;border-radius:10px;font-size:12px;font-weight:600;transition:background-color .18s ease,transform .18s ease}.empty-chat-actions button:hover:not(:disabled){transform:translateY(-1px)}.empty-chat-actions button:disabled{opacity:.62;cursor:wait}.empty-chat-secondary{color:var(--blue);border:1px solid var(--line);background:var(--surface)}.empty-chat-secondary:hover:not(:disabled){background:var(--hover)}.empty-chat-content .empty-chat-footnote{margin-top:15px!important;font-size:11px!important}@media(max-width:500px){#messages .empty:has(.empty-chat-content){padding:18px}.empty-chat-actions{display:grid}.empty-chat-actions button{width:100%}}@media(prefers-reduced-motion:reduce){.empty-chat-actions button{transition:none!important}}
.search-hit{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:15px 2px;margin:0;background:transparent}.search-hit time{float:right;font-size:10px}.search-hit strong{font-size:13px}.search-hit p{font-size:14px;line-height:1.45;margin:7px 0}.search-hit>span{font-size:10px}.refined-search{position:sticky;top:0;z-index:2;background:var(--surface);padding-bottom:10px}.refined-search input{border:1px solid var(--line);border-radius:14px!important}.search-filters{margin:10px 0!important;padding-bottom:14px!important}.search-filters summary{color:var(--blue);font-size:13px;cursor:pointer}.search-filters .field-grid{margin-top:14px}#find-count{font-size:12px;margin:14px 0}.search-reset{color:var(--blue);font-size:12px;padding:10px 0}.search-intro{font-size:12px;color:var(--muted);margin:0 0 12px}
@media(max-width:700px){.chat-source-strip{padding:8px 12px;gap:8px}.monitor-label{font-size:10px}.chat-source-strip>button{font-size:10px}.settings-identity{padding-top:8px}}

.settings-group .settings-row>span:first-child{color:var(--ink);text-align:left}.empty-symbol svg{fill:none;stroke:currentColor;stroke-width:1.7}.settings-group .settings-row b{font-size:14px;color:var(--ink)}
/* Rich text is a block container: quotes and preformatted text cannot escape it. */
.message-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;min-width:0;font-size:var(--message-size,16px);line-height:1.4;margin:1px 0 3px}
.message-text blockquote{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;padding:5px 10px;border-left:3px solid var(--blue);border-radius:4px;background:color-mix(in srgb,var(--blue) 8%,transparent)}
.message-text pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;padding:8px;background:#0001;border-radius:8px;font-size:13px}.message-text a{overflow-wrap:anywhere}.has-photo>.message-text{padding:6px 9px}.bubble.has-photo:has(.message-text){max-width:min(460px,90%)!important}.bubble.has-photo>.media-image{width:100%;height:auto;object-fit:contain}.forward{overflow-wrap:anywhere}.round-bubble>.message-text{font-size:13px}
#messages{overflow-anchor:auto}.round-muted{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:#0008;color:white;border-radius:12px;padding:3px 8px;font-size:10px;pointer-events:none;white-space:nowrap}.round-player.preview-loading:after{content:'';position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);width:30px;height:30px;border:3px solid #fff4;border-top-color:white;border-radius:50%;animation:archive-spin .8s linear infinite;pointer-events:none}.round-player.preview-loading .round-play{display:none}
#chat-download{flex:none;margin:0;padding:12px 22px;background:var(--surface);border-bottom:1px solid var(--line)}.download-heading{display:flex;align-items:center;gap:8px;font-size:12px}.download-heading strong{flex:1}.download-heading>span:last-child{color:var(--blue);font-variant-numeric:tabular-nums}#chat-download progress{display:block;width:100%;height:5px;margin:10px 0 7px;accent-color:var(--blue)}#chat-download p{font-size:11px;color:var(--muted);margin:5px 0;font-variant-numeric:tabular-nums}#download-file{font-size:10px;color:var(--muted)}.download-actions{display:flex;gap:16px;margin-top:7px}.download-actions button{font-size:11px;color:var(--blue);padding:3px 0}.download-spinner{display:none;width:13px;height:13px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%}.is-active .download-spinner{display:block;animation:archive-spin .9s linear infinite}.is-complete #download-file{display:none}.is-complete #download-progress{height:3px}
@keyframes archive-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.download-spinner,.round-player.preview-loading:after{animation:none!important}}@media(max-width:700px){#chat-download{padding:10px 12px}.bubble.has-photo:has(.message-text){max-width:90%!important}}
.connection-owner{display:flex;align-items:center;gap:12px}.connection-owner>div{flex:1}.connection-owner small{font-size:10px;color:var(--muted)}.connection-owner h2{font-size:20px;margin:5px 0}.connection-owner button{color:var(--blue);font-size:12px}.capture-explainer{font-size:13px;line-height:1.6;color:var(--muted);margin:15px 0}.access-grid{display:grid;gap:12px}.access-grid section{padding:16px;background:var(--hover);border-radius:16px}.access-grid header{display:flex;flex-direction:column;gap:6px;font-size:14px}.access-status{font-size:11px;color:var(--blue)}.access-grid p{font-size:12px;color:var(--muted);line-height:1.5}.access-grid button{padding:6px 0;color:var(--blue);font-size:13px}.capture-chat{display:grid;position:relative;width:100%;gap:6px;text-align:left;padding:17px 24px 17px 2px;border-bottom:1px solid var(--line)}.capture-chat strong{font-size:15px}.capture-chat span{font-size:12px;color:var(--blue)}.capture-chat small{font-size:11px;color:var(--muted);line-height:1.5}.capture-chat em{position:absolute;right:3px;top:40%;color:var(--muted)}.capture-help{margin:22px 0;font-size:12px;line-height:1.6;color:var(--muted)}.capture-help summary{color:var(--blue);cursor:pointer}.capture-help button{color:var(--blue);padding:10px 0}.capture-access-line{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;background:var(--hover);font-size:12px;color:var(--muted)}.capture-presets{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0}.capture-presets button{color:var(--blue);background:var(--hover);border-radius:20px;font-size:11px;padding:9px 11px}.rule-row{display:block;padding:16px 0;border-bottom:1px solid var(--line)}.rule-row b{font-size:14px}.rule-row small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin:6px 0 10px}.rule-row select{font-size:14px}.capture-plan{margin:18px 0;padding:14px;background:color-mix(in srgb,var(--blue) 8%,transparent);border-radius:12px;font-size:13px;line-height:1.6}.capture-plan small{color:var(--muted);font-size:11px}.capture-chat[hidden]{display:none}
#chat-player{flex:none;border-bottom:1px solid var(--line);background:var(--surface);padding:6px 14px 0;min-width:0}.player-main{display:flex;align-items:center;gap:7px;min-width:0}.player-main>button{display:grid;place-items:center;color:var(--blue);min-width:28px;height:32px;padding:0;font-size:16px}.player-main>button:disabled{opacity:.3;cursor:default}.player-main #player-message{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex:1;min-width:50px;text-align:left;color:var(--ink);line-height:1.4;gap:1px}.player-main #player-message strong{font-size:12px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%}.player-main #player-message small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#player-time{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}#player-volume{width:72px;min-width:42px;accent-color:var(--blue);cursor:pointer}#player-speed{background:transparent;color:var(--blue);border:0;max-width:65px;font-size:12px;cursor:pointer}#player-speed option{background:var(--surface);color:var(--ink)}#player-mute svg{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:1.6}#player-seek{display:block;width:100%;height:10px;margin:4px 0 0;accent-color:var(--blue);cursor:pointer}#player-close{font-size:22px;color:var(--muted)}
@media(max-width:1100px){#player-volume{width:52px}.player-main{gap:3px}#player-time{font-size:9px}}
@media(max-width:700px){#chat-player{padding:5px 8px 0}.player-main{flex-wrap:wrap}.player-main #player-message{order:-2;flex-basis:calc(100% - 92px)}#player-time{order:-1;width:85px;text-align:right}#player-volume{flex:1;width:auto;max-width:100px}#player-speed{margin-left:auto}.player-main #player-message small{display:none}}
/* Quiet first-load placeholders; cached conversations render synchronously. */
.chat-skeleton{padding:28px 18px;display:grid;gap:22px;opacity:.6}
.chat-skeleton i{height:58px;width:45%;max-width:360px;border-radius:17px;background:linear-gradient(100deg,var(--bubble,#25383d) 20%,#81989a33 45%,var(--bubble,#25383d) 70%);background-size:250% 100%;animation:chat-shimmer 1.8s linear infinite}
.chat-skeleton i:nth-child(2){justify-self:end;width:60%;height:90px}
.chat-skeleton i:nth-child(3){width:35%}
@keyframes chat-shimmer{to{background-position:-250% 0}}
@media(prefers-reduced-motion:reduce){.chat-skeleton i{animation:none}}
.sidebar-nav-spacer{width:44px;display:block}.saved-chat-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.history-numbers strong,.history-task b,.history-task small{font-variant-numeric:tabular-nums}.history-task small{display:block;line-height:1.5}.history-explanation p{white-space:pre-line}
.dragging-messages,.dragging-messages *{user-select:none!important;cursor:default!important}
.message-row.selected-message{background:color-mix(in srgb,var(--blue) 15%,transparent);border-radius:12px}
.album-cell.selected-message{outline:3px solid var(--blue);outline-offset:-3px;filter:brightness(.8)}
.selecting .message-row:before{pointer-events:none}#selection-bar{font-variant-numeric:tabular-nums}

/* Compact task strip and a separate export-style detail sheet. */
#chat-download{padding:0;margin:0;order:-1;background:var(--surface);border-bottom:1px solid var(--line)}
#download-open{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:7px 18px;text-align:left;font-size:12px;color:var(--ink);background:transparent}
#download-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
#download-detail{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
#download-symbol{color:var(--blue);font-size:16px}#chat-download progress{height:2px;margin:0;width:100%;border:0;display:block;accent-color:var(--blue)}
#download-dialog{width:min(460px,94vw);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink)}
#download-dialog::backdrop{background:rgba(9,18,27,.64);backdrop-filter:none}#download-dialog header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
dialog::backdrop{backdrop-filter:none}body.archive-modal-open #app,body.archive-modal-open #app *{animation-play-state:paused!important}
#download-dialog h2{font-size:17px;margin:0}#download-close{font-size:24px;color:var(--muted);background:none}.download-dialog-body{padding:20px}.download-dialog-body h3{font-size:16px;margin:0 0 20px}.download-dialog-body h4{margin:22px 0 8px;font-size:12px;color:var(--muted)}
.download-stat{display:flex;gap:12px;justify-content:space-between;font-size:13px;margin:8px 0}.download-stat span{font-variant-numeric:tabular-nums;color:var(--muted)}
#download-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}#download-dialog progress{display:block;width:100%;height:4px;border:0;accent-color:var(--blue)}
#download-remaining{font-size:12px;color:var(--muted);margin:10px 0 20px}#download-goal{white-space:pre-line;font-size:13px;line-height:1.8;background:var(--bg);padding:12px;border-radius:10px}
.download-dialog-actions{display:grid;gap:10px;margin-top:22px}.download-dialog-actions button{padding:12px;border-radius:10px;font-size:13px}.download-dialog-actions button:not(.primary){color:var(--blue);background:transparent}
#download-dialog:has(.download-dialog-header){width:min(500px,94vw);max-height:min(90vh,780px);overflow:auto;box-shadow:0 24px 70px #0004}.download-dialog-header>div{min-width:0}.download-dialog-eyebrow{display:block;margin-bottom:3px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.download-dialog-header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-dialog-body:has(.download-dialog-summary){display:grid;gap:16px;padding:18px 20px 20px}.download-dialog-summary{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--hover)}.download-dialog-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:13px;font-variant-numeric:tabular-nums}.download-dialog-status strong{font-size:14px}.download-dialog-status span{color:var(--muted);white-space:nowrap}.download-dialog-summary #download-remaining{margin:10px 0 0;font-size:12px;line-height:1.45}.download-dialog-track{height:5px;overflow:hidden;border-radius:10px;background:var(--line)}.download-dialog-track>span{display:block;height:100%;border-radius:inherit;background:var(--blue);transition:width .35s ease-out}.download-dialog-track.is-counting>span{animation:archive-counting 1.7s ease-in-out infinite}.download-dialog-file{display:grid;gap:11px;padding:15px;border:1px solid var(--line);border-radius:13px}.download-dialog-file-head{display:flex;align-items:center;gap:11px;min-width:0}.download-dialog-file-head>div{display:grid;gap:3px;min-width:0;flex:1}.download-dialog-file-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:9px;background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue);font-weight:700}.download-dialog-file #download-filename{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.download-dialog-file #download-bytes{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.download-dialog-file #download-skip-file{justify-self:start;margin:0}.download-dialog-file .skip-explanation{margin:0}.download-dialog-conditions{border:1px solid var(--line);border-radius:12px;overflow:hidden}.download-dialog-disclosure{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:12px 14px;text-align:left;color:var(--ink);background:var(--surface)}.download-dialog-disclosure:hover{background:var(--hover)}.download-dialog-disclosure span:first-child{display:grid;gap:3px}.download-dialog-disclosure strong{font-size:12px}.download-dialog-disclosure small{color:var(--muted);font-size:11px}.download-dialog-disclosure-chevron{color:var(--muted);font-size:18px;transition:transform .2s ease}.download-dialog-disclosure[aria-expanded=true] .download-dialog-disclosure-chevron{transform:rotate(180deg)}.download-dialog-disclosure-content{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s ease,opacity .24s ease}.download-dialog-disclosure-content.is-open{grid-template-rows:1fr;opacity:1}.download-dialog-disclosure-content>div{min-height:0;overflow:hidden}.download-dialog-disclosure-content #download-goal{margin:0;padding:0 14px;background:transparent;white-space:pre-line;color:var(--muted);font-size:12px;line-height:1.65}.download-dialog-disclosure-content.is-open #download-goal{padding:0 14px 14px}.download-dialog-hint{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.download-dialog-error{margin:0;padding:10px;border-radius:8px;background:color-mix(in srgb,#d94c4c 10%,var(--surface));color:#c84141;font-size:12px}.download-dialog-body:has(.download-dialog-summary) .download-dialog-actions{margin:0;gap:7px}.download-dialog-actions button:disabled,.download-dialog-file button:disabled{opacity:.6;cursor:wait}@media(max-width:500px){.download-dialog-body:has(.download-dialog-summary){padding:14px;gap:12px}.download-dialog-status{align-items:flex-start;flex-direction:column;gap:3px}}@media(prefers-reduced-motion:reduce){.download-dialog-track>span{animation:none!important;transition:none!important}.download-dialog-disclosure-content,.download-dialog-disclosure-chevron{transition:none!important}}
.history-kinds{border:0;padding:0;margin:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.history-kinds legend{font-size:13px;font-weight:600;margin-bottom:12px}.history-kinds label{display:flex!important;flex-direction:row;align-items:center;gap:7px;margin:0!important;padding:9px;border:1px solid var(--line);border-radius:9px;font-size:12px!important;background:var(--surface)}
.history-kinds label:has(input:checked){border-color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--surface))}.history-kinds input{width:16px!important;height:16px;margin:0!important;accent-color:var(--blue)}.history-kinds small{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.5;margin-top:5px}
.plyr{--plyr-color-main:#248bff;--plyr-font-family:inherit;--plyr-control-icon-size:17px;--plyr-control-spacing:7px;--plyr-video-control-color:#fff;--plyr-range-thumb-height:12px;border-radius:10px;min-width:0;width:100%}
.bubble:has(.plyr){width:min(460px,100%)}.plyr button{color:inherit}.plyr__controls button{background:transparent}.plyr__control--overlaid{background:#248bff!important}.plyr video.inline-video{width:100%;max-height:440px;min-height:170px;object-fit:contain;margin:0}
.album-cell .plyr{height:100%;border-radius:0}.album-cell .plyr__video-wrapper{height:100%}.album-cell .plyr video{height:100%;min-height:0;object-fit:cover}
#lightbox-content .plyr{max-width:min(1100px,94vw);max-height:78vh}#lightbox-content .plyr video{max-height:74vh;width:100%;object-fit:contain}.video-failure{padding:12px;color:#fff;background:#20252c;font-size:12px}
@media(max-width:700px){#download-open{padding:7px 10px;gap:6px}#download-detail{max-width:45%;overflow:hidden;text-overflow:ellipsis}.plyr{--plyr-control-spacing:5px}.bubble:has(.plyr){max-width:94%}}

.kind-presets{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0}.kind-presets button{border:1px solid var(--line);border-radius:16px;color:var(--blue);padding:6px 10px;font-size:11px;background:var(--surface)}

.bubble .plyr__volume{max-width:85px}.bubble .plyr__menu__container{color:#263545}.bubble .plyr__menu__container button{color:inherit}.plyr--fullscreen video.inline-video{max-height:none;height:100%;object-fit:contain}

#history-edge,#history-newer-edge{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;padding:8px 0;overflow-anchor:none}#history-edge[hidden],#history-newer-edge[hidden]{display:none}.history-edge-content{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:36px;max-width:100%;padding:5px 11px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 2px 10px #0000000c}.history-edge-content.has-error{color:var(--ink)}#history-edge button,#history-newer-edge button{color:var(--blue);font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--hover)}#history-edge button:hover,#history-newer-edge button:hover{border-color:var(--blue)}.history-edge-spinner{height:14px;width:14px;flex:none;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:archive-spin .8s linear infinite}
.message-target>.bubble,.album-cell.message-target{outline:2px solid var(--blue);outline-offset:3px;box-shadow:0 0 0 7px #248bff20}.message-target{scroll-margin-top:24px}.message-row{overflow-anchor:auto}
@media(prefers-reduced-motion:reduce){.history-edge-spinner{animation:none}}
/* Import uses the same quiet surfaces as history, with one primary action per stage. */
.import-intro{padding:8px 0 18px}.import-intro h2{font-size:23px;margin:12px 0}.import-intro p,.import-summary p{font-size:13px;line-height:1.65;color:var(--muted)}
.import-form{display:grid;gap:10px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.import-form label{font-size:13px;font-weight:600}.import-form input,.import-form select{min-height:44px;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:var(--hover);color:var(--ink);padding:10px}.import-form small{font-size:12px;line-height:1.6;color:var(--muted)}
.import-summary,.import-error{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px}.import-summary h3{font-size:21px;margin:12px 0}.import-verified{font-size:12px;color:#39bb8a}.import-counts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.import-counts strong{font-size:26px;display:block}.import-counts small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.import-summary details{border-top:1px solid var(--line);padding:14px 0;margin-bottom:8px}.import-summary summary{cursor:pointer;font-size:13px}.import-types{display:grid;gap:8px;font-size:12px;margin:14px 0}.import-types span{display:flex;justify-content:space-between}.import-summary progress{display:block;width:100%;height:5px;margin:16px 0;accent-color:var(--blue)}.import-working{display:flex;align-items:center;gap:12px;margin:20px 0}.import-working b,.import-working small{display:block;font-size:13px;line-height:1.7}.import-working small{color:var(--muted)}.import-error b,.import-warning{color:#eaa85a}.import-error button{padding:10px;border-radius:8px;background:var(--hover);color:var(--blue);border:0}.import-summary .primary{margin-top:10px}

.history-import-summary{border-left:2px solid var(--blue);padding:8px 12px;margin:14px 0;font-size:12px;line-height:1.6;white-space:pre-line;color:var(--muted)}.import-account{display:inline-block;font-size:13px;color:var(--blue);margin-bottom:8px}
/* Stable reading and quiet controls. */
#chat-download{position:relative;flex-shrink:0}#download-open{padding-right:52px}#download-hide{position:absolute;right:8px;top:3px;width:32px;height:32px;border-radius:8px;color:var(--muted);font-size:22px}#download-hide:hover{background:var(--hover);color:var(--ink)}
.download-strip{position:relative;min-width:0}.download-strip #download-open{min-height:44px;padding:6px 46px 6px 16px;transition:background-color .18s ease}.download-strip #download-open:hover,.download-strip #download-open:focus-visible{background:var(--hover)}.download-strip-symbol{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--blue) 12%,var(--surface));font-size:15px;font-weight:700}.download-strip-still .download-strip-symbol{color:var(--muted);background:var(--hover)}.download-strip-copy{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.download-strip-copy #download-title{flex:0 1 auto;min-width:0}.download-strip-copy #download-detail{flex:none}.download-strip-chevron{color:var(--muted);font-size:19px;line-height:1}.download-strip #download-hide{top:6px;right:7px}.download-strip-track{height:3px;overflow:hidden;background:var(--line)}.download-strip-track>span{display:block;height:100%;background:var(--blue);transition:width .35s ease-out}.download-strip-counting .download-strip-track>span{width:26%;animation:archive-counting 1.7s ease-in-out infinite}.download-strip-still .download-strip-track>span{animation:none}@keyframes archive-counting{0%{transform:translateX(-110%)}50%{transform:translateX(190%)}100%{transform:translateX(420%)}}@media(max-width:700px){.download-strip #download-open{padding-left:10px}.download-strip-copy{display:block}.download-strip-copy #download-title,.download-strip-copy #download-detail{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-strip-copy #download-detail{margin-top:2px}}@media(prefers-reduced-motion:reduce){.download-strip-track>span{animation:none!important;transition:none!important}.download-strip #download-open{transition:none}}
#download-skip-file,.history-task-details{color:var(--blue);border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:12px;margin-top:12px;background:var(--hover)}.skip-explanation{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:7px}#download-goal{background:var(--hover)}.skipped-media{opacity:.8}.skipped-media .file-icon{background:var(--hover);color:var(--muted)}
#reading-date{position:absolute;left:50%;transform:translateX(-50%);z-index:4;pointer-events:none;padding:5px 12px;border-radius:18px;background:#293e48dd;color:white;box-shadow:0 2px 8px #0002;font-size:12px;line-height:18px;white-space:nowrap;backdrop-filter:blur(8px)}
.chat-skeleton span{font-size:12px;color:var(--muted);text-align:center}.chat-skeleton{opacity:.75}.chat-skeleton i{background:var(--hover);animation:reading-pulse 1.8s ease-in-out infinite}@keyframes reading-pulse{50%{opacity:.35}}
.selecting .message-row{position:relative}.selecting .message-row:before{position:absolute;left:-19px;top:50%;transform:translateY(-50%);width:17px;height:17px;font-size:11px;line-height:15px;background:var(--surface)}.selecting .message-row.selected-message:before{background:var(--blue)}.message-row{transition:background-color .15s ease}.selected-message .bubble{outline:0;box-shadow:0 0 0 2px var(--blue)}
#selection-bar{position:absolute;bottom:0;left:0;right:0;z-index:4;min-height:60px;background:var(--surface);box-shadow:0 -4px 20px #0001;gap:8px}#selection-bar button{padding:8px 11px;border-radius:9px;font-size:12px}#selection-bar button:hover{background:var(--hover)}.selecting .archive-footer[hidden]{display:flex!important;visibility:hidden}.selecting .message-tools{visibility:hidden}
#selection-bar[hidden]{display:none!important}
#selection-bar:has(.selection-controls){box-sizing:border-box;padding:8px 14px;border-top:1px solid var(--line);box-shadow:0 -10px 30px #00000012}
.selection-controls{display:flex;width:100%;min-width:0;align-items:center;gap:10px}
.selection-controls>strong{flex:1;min-width:0;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.selection-actions{display:flex;align-items:center;gap:5px}
#selection-bar .selection-controls button{min-height:36px;padding:8px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--blue);font-size:12px;font-weight:650;white-space:nowrap;transition:background-color .15s ease,transform .15s ease}
#selection-bar .selection-actions button{background:var(--hover)}
#selection-bar .selection-actions button:last-child{background:var(--blue);color:#fff}
#selection-bar .selection-controls button:hover{background:color-mix(in srgb,var(--blue) 13%,var(--surface))}
#selection-bar .selection-actions button:last-child:hover{background:color-mix(in srgb,var(--blue) 82%,#000)}
#selection-bar .selection-controls button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
#selection-bar .selection-controls button:active{transform:scale(.98)}
#selection-bar .selection-controls button:disabled{opacity:.55;cursor:wait}
.selection-error{position:absolute;right:14px;bottom:calc(100% + 7px);max-width:min(330px,90vw);padding:8px 11px;border-radius:9px;background:var(--surface);color:#c4473d;box-shadow:0 5px 18px #0002;font-size:11px}
#action-menu[hidden]{display:none!important}
#action-menu:has(.message-menu-list){box-sizing:border-box;width:246px;max-width:calc(100vw - 16px);padding:5px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);box-shadow:0 14px 38px #0003;backdrop-filter:blur(18px)}
.message-menu-list{display:grid;gap:2px}
#action-menu .message-menu-list button{display:flex;width:100%;min-height:42px;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:12px;font-weight:570;text-align:left;cursor:pointer}
#action-menu .message-menu-list button:hover,#action-menu .message-menu-list button:focus-visible{background:var(--hover);color:var(--blue)}
#action-menu .message-menu-list button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
#action-menu .message-menu-list svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.82}
@media(prefers-reduced-motion:no-preference){#action-menu:not([hidden]):has(.message-menu-list){animation:message-menu-enter .15s cubic-bezier(.2,.75,.25,1)}@keyframes message-menu-enter{from{opacity:.4;transform:translateY(5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}
@media(prefers-reduced-motion:no-preference){#selection-bar:not([hidden]):has(.selection-controls){animation:selection-bar-enter .2s cubic-bezier(.2,.75,.25,1)}@keyframes selection-bar-enter{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:700px){#selection-bar:has(.selection-controls){padding:7px 8px}.selection-controls{gap:4px}.selection-controls>strong{font-size:11px}#selection-bar .selection-controls button{min-height:34px;padding:6px!important;font-size:10px}}
/* Both native fullscreen and the fallback must escape thumbnail constraints. */
.plyr.plyr--fullscreen-fallback,.plyr:fullscreen,#lightbox-content .plyr.plyr--fullscreen-fallback,#lightbox-content .plyr:fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important;background:#080b10;z-index:2147483647}
.plyr.plyr--fullscreen-fallback .plyr__video-wrapper,.plyr:fullscreen .plyr__video-wrapper{height:100%!important;width:100%!important;display:flex;align-items:center;justify-content:center;aspect-ratio:auto!important;padding:0!important}
.plyr.plyr--fullscreen-fallback video,.plyr:fullscreen video,#lightbox-content .plyr.plyr--fullscreen-fallback video,#lightbox-content .plyr:fullscreen video{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-height:0!important;object-fit:contain!important;border-radius:0!important}
.plyr.plyr--fullscreen-fallback .plyr__controls,.plyr:fullscreen .plyr__controls{padding:28px max(24px,env(safe-area-inset-right)) 20px;gap:12px}.plyr.plyr--fullscreen-fallback .plyr__volume,.plyr:fullscreen .plyr__volume{max-width:140px}
@media(max-width:700px){.selecting .message-row:before{left:-9px;z-index:2}#selection-bar{padding:8px 5px}#selection-bar button{padding:8px 6px}}
@media(prefers-reduced-motion:reduce){.chat-skeleton i{animation:none}.message-row{transition:none}}

.album-cell.selected-message{filter:none}

#chat-download progress::-webkit-progress-bar,#download-dialog progress::-webkit-progress-bar{background:var(--line)}#chat-download progress::-webkit-progress-value,#download-dialog progress::-webkit-progress-value{background:var(--blue)}.skipped-media{opacity:1}

/* Video state changes stay inside one box, so the chat row and reading anchor do not move. */
.bubble:has(.media-frame){width:auto;max-width:min(460px,84%)}
.media-frame{position:relative;width:min(calc(var(--media-ratio,1.7778)*420px),380px,72vw);aspect-ratio:var(--media-ratio,1.7778);max-width:100%;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,#2a3440,#111820);isolation:isolate;contain:layout paint}
.media-frame>.inline-video,.media-frame>.plyr{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .22s ease}
.media-frame.is-ready>.inline-video,.media-frame.is-ready>.plyr{opacity:1}
.media-frame .plyr,.media-frame .plyr__video-wrapper,.media-frame video.inline-video{width:100%;height:100%;max-height:none;min-height:0;margin:0;object-fit:contain;background:#0e141a}
.media-frame-skeleton{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(115deg,#202a34 18%,#2b3742 35%,#202a34 53%);background-size:240% 100%;transition:opacity .22s ease;z-index:-1}
.media-frame-skeleton span{width:48px;height:48px;border-radius:50%;background:#ffffff12;box-shadow:0 0 0 1px #ffffff0d}
.media-frame.is-ready .media-frame-skeleton{opacity:0}
.media-frame-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:22px;color:#e7edf3;background:linear-gradient(160deg,#25313c,#111820)}
.media-frame-state strong{max-width:90%;font-size:14px;overflow-wrap:anywhere}
.media-frame-state small{max-width:92%;font-size:11px;line-height:1.4;color:#a7b5c2}
.media-frame-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:3px;border-radius:50%;background:#ffffff12;color:#8dc5ff;font-size:21px}
.media-frame.is-failed .media-frame-icon,.media-frame.has-error .media-frame-icon{color:#ffb3a7}
.media-frame.is-skipped .media-frame-icon{color:#b9c5cf}
.album-cell .media-frame{width:100%;height:170px;max-width:none;aspect-ratio:auto;border-radius:0}
@media(prefers-reduced-motion:no-preference){.media-frame:not(.is-ready):not(.is-pending):not(.is-failed):not(.is-skipped):not(.is-blocked):not(.is-missing) .media-frame-skeleton{animation:media-frame-shimmer 1.4s ease-in-out infinite}}
@keyframes media-frame-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(max-width:700px){.media-frame{width:min(calc(var(--media-ratio,1.7778)*370px),320px,78vw)}}
@media(prefers-reduced-motion:reduce){.media-frame>.inline-video,.media-frame>.plyr,.media-frame-skeleton{transition:none!important}.media-frame-skeleton{animation:none!important}}
/* The locked archive explains which credential is needed without exposing it. */
#login { overflow-y: auto; padding: 24px 12px; }
#login form { width: min(420px, 100%); padding: 22px 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); text-align: left; box-shadow: 0 18px 54px #00000012; }
#login .login-logo { width: 54px; height: 54px; margin: 0 0 20px; font-size: 30px; }
#login h1 { margin: 0 0 9px; }
#login form > p:first-of-type { margin: 0 0 18px; }
#login label { margin: 0 0 14px; color: var(--ink); font-size: 13px; font-weight: 600; }
#login input { margin-top: 7px; }
#login .primary { min-height: 46px; margin: 0; }
#login-error:empty { display: none; }
#login-error:not(:empty) { margin: 10px 0 0; }
#login .login-help { margin: 18px 0 12px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--hover); }
#login .login-help strong { font-size: 13px; }
#login .login-help p { margin: 6px 0 0; font-size: 12px; line-height: 1.55; }
#login .login-help code { padding: 1px 3px; border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 11px; overflow-wrap: anywhere; }
#login form > small { display: block; font-size: 11px; line-height: 1.45; }
@media (max-width: 480px) { #login form { padding: 18px; border: 0; box-shadow: none; } }

/* Disclosures can make the settings panel scrollable without moving its text sideways. */
#workspace-panel .workspace-body { scrollbar-gutter: stable; overflow-anchor: auto; }

/* Search controls share one calm surface and keep the underlying form values intact. */
.search-filters{padding:0!important;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,var(--hover));}
.search-filters>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 14px;color:var(--ink);font-size:13px;font-weight:600;list-style:none;border-radius:15px;transition:background .18s ease,color .18s ease}
.search-filters>summary::-webkit-details-marker{display:none}
.search-filters>summary:hover{background:var(--hover);color:var(--blue)}
.search-filters>summary:focus-visible,.archive-select-trigger:focus-visible,.archive-select-option:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.search-filters[open]>summary{color:var(--blue)}
.archive-disclosure-chevron{font-size:18px;line-height:1;color:var(--muted);transition:transform .2s ease}
.search-filters[open] .archive-disclosure-chevron{transform:rotate(180deg)}
.search-filters .field-grid{margin:0;padding:4px 13px 12px;gap:12px}
.search-filters .field-grid label{font-size:11px;line-height:1.4}
.search-filters .field-grid input{min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:13px}
.search-filters .search-reset{display:block;margin:0 13px 12px;padding:8px 0;color:var(--blue);font-weight:600}
.archive-select{display:block;position:relative;margin-top:5px;width:100%}
.archive-select-native,.workspace-body .archive-select-native{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none;clip-path:inset(50%)}
.archive-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);text-align:left;font-size:13px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.archive-select-trigger:hover,.archive-select-trigger[aria-expanded="true"]{border-color:color-mix(in srgb,var(--blue) 62%,var(--line));background:var(--hover)}
.archive-select-trigger[aria-expanded="true"]{box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 13%,transparent)}
.archive-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.archive-select-chevron{display:grid;flex:none;width:18px;height:18px;place-items:center;color:var(--muted);transition:transform .18s ease}
.archive-select-trigger[aria-expanded="true"] .archive-select-chevron{transform:rotate(180deg)}
.archive-select-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:12;max-height:220px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 30px #0002}
.archive-select-menu[hidden]{display:none}
.archive-select-option{display:block;width:100%;padding:10px;border-radius:8px;color:var(--ink);text-align:left;font-size:13px;transition:background .14s ease,color .14s ease}
.archive-select-option:hover,.archive-select-option:focus-visible{background:var(--hover)}
.archive-select-option[aria-selected="true"]{background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue);font-weight:600}
.library-scope{margin-bottom:15px}
.library-scope .archive-select{margin-top:7px}
.library-scope .archive-select-trigger{min-height:44px}
#chat-player{position:relative;z-index:4}
.player-main .archive-select{flex:none;width:62px;margin:0}
.player-main .archive-select-trigger{min-height:30px;padding:3px 7px;border-color:transparent;background:var(--hover);color:var(--blue);font-size:11px;font-weight:700}
.player-main .archive-select-trigger:hover,.player-main .archive-select-trigger[aria-expanded="true"]{border-color:var(--line)}
.player-main .archive-select-chevron{font-size:14px}
.player-main .archive-select-menu{left:auto;right:0;width:95px;top:calc(100% + 7px);max-height:235px}
@media(max-width:700px){.player-main .archive-select{margin-left:auto}}
.import-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 15px}
.import-steps span{padding:9px 6px;border-radius:9px;background:var(--hover);color:var(--muted);text-align:center;font-size:11px;font-weight:600;transition:background .18s ease,color .18s ease}
.import-steps[data-step="choose"] [data-import-step="choose"],.import-steps[data-step="review"] [data-import-step="review"],.import-steps[data-step="import"] [data-import-step="import"]{background:color-mix(in srgb,var(--blue) 15%,var(--surface));color:var(--blue)}
.import-steps[data-step="review"] [data-import-step="choose"],.import-steps[data-step="import"] [data-import-step="choose"],.import-steps[data-step="import"] [data-import-step="review"]{color:var(--ink)}
.import-form-slot{display:grid;grid-template-rows:1fr;opacity:1;overflow-anchor:none;transition:grid-template-rows .28s cubic-bezier(.2,.75,.25,1),opacity .2s ease}
.import-form-slot.is-collapsed{grid-template-rows:0fr;opacity:0;pointer-events:none}
.import-form-clip{min-height:0;overflow:hidden}
@media(prefers-reduced-motion:no-preference){#import-result>*{animation:import-stage-enter .24s cubic-bezier(.2,.75,.25,1) both}@keyframes import-stage-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
.import-form .archive-select{margin:0 0 4px}
.import-form .archive-select-trigger{min-height:44px;background:var(--hover)}
.import-form .archive-select-trigger:disabled{opacity:.55;cursor:default}
.import-form button[type="submit"]:disabled{border:1px solid var(--line);background:var(--hover);color:var(--muted);opacity:1;cursor:not-allowed}
.import-connection{display:grid;grid-template-columns:9px minmax(0,1fr);align-items:start;column-gap:10px;row-gap:9px;margin:0 0 14px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:12px;line-height:1.45}
.import-connection.is-ready{border-color:color-mix(in srgb,#41a779 38%,var(--line));background:color-mix(in srgb,#41a779 6%,var(--surface))}
.import-connection-dot{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#41a779}.import-connection-dot.offline{background:#c98556}.import-connection-dot.checking{background:var(--muted)}
.import-connection strong,.import-connection small{display:block}.import-connection small{margin-top:2px;color:var(--muted);font-size:11px}
.import-connection-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:6px}.import-connection button{justify-self:start;min-height:31px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--hover);color:var(--blue);font-size:11px;font-weight:650;cursor:pointer}.import-connection button:hover{border-color:var(--blue)}.import-connection button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.import-connection>button{grid-column:2}
.import-field-error{margin:12px 0 0;padding:11px 12px;border:1px solid color-mix(in srgb,#d67660 40%,var(--line));border-radius:10px;background:color-mix(in srgb,#d67660 9%,var(--surface));color:var(--ink);font-size:12px;line-height:1.45}
.import-summary details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;list-style:none;color:var(--blue);font-weight:600}
.import-summary details>summary::-webkit-details-marker{display:none}
.import-summary details[open] .archive-disclosure-chevron{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.import-steps span,.import-form-slot{transition:none}}
/* Switching archives is a deliberate action; each card explains its destination. */
.profiles-intro{padding:5px 2px 18px}.profiles-intro h2{margin:10px 0;font-size:23px;letter-spacing:-.025em}.profiles-intro p,.profiles-add p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.profiles-list{display:grid;gap:10px;min-height:190px}.profiles-list .profile-choice{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:90px;margin:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--ink);box-shadow:none;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.profiles-list .profile-choice:hover{border-color:color-mix(in srgb,var(--blue) 45%,var(--line));background:color-mix(in srgb,var(--blue) 5%,var(--surface));box-shadow:0 5px 17px #0000000d;transform:translateY(-1px)}
.profiles-list .profile-choice:active{transform:scale(.99)}.profiles-list .profile-choice.current{border-color:color-mix(in srgb,var(--blue) 55%,var(--line));background:color-mix(in srgb,var(--blue) 7%,var(--surface))}
@media(prefers-reduced-motion:no-preference){.profiles-list .profile-choice{animation:profile-card-enter .22s ease-out both}.profiles-list .profile-choice:nth-child(2){animation-delay:35ms}@keyframes profile-card-enter{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}}
.profiles-list .profile-choice .profile-avatar{width:42px;height:42px;flex-basis:42px;font-size:19px}.profile-choice-copy{display:block;min-width:0}.profile-choice-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.profile-choice-copy small{display:block;margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.profile-choice-copy em{display:block;margin-top:7px;color:var(--blue);font-size:11px;font-weight:650;font-style:normal}
.profiles-list .profile-current{align-self:start;padding:4px 7px;border-radius:8px;background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue);font-size:10px;font-weight:650}.profiles-list .profile-chevron{font-size:24px;line-height:1;color:var(--muted)}.profiles-list .profile-choice.is-opening{opacity:.72;cursor:wait}
.profile-loading-row{height:90px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(105deg,var(--hover) 20%,color-mix(in srgb,var(--surface) 60%,var(--hover)) 48%,var(--hover) 75%);background-size:230% 100%;animation:profiles-shimmer 1.5s ease-in-out infinite}@keyframes profiles-shimmer{to{background-position-x:-230%}}
.profiles-add{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--hover) 50%,var(--surface))}.profiles-add>strong{display:block;margin-bottom:7px;font-size:14px}.profiles-add .primary{margin-top:16px}.profiles-error{padding:15px;border:1px solid var(--line);border-radius:13px;color:var(--ink);font-size:12px}.profiles-error p{color:var(--muted);line-height:1.5}.profiles-error button{color:var(--blue);font-weight:650}
@media(prefers-reduced-motion:reduce){.profiles-list .profile-choice{transition:none}.profile-loading-row{animation:none}}
@media(prefers-reduced-motion:reduce){.search-filters>summary,.archive-disclosure-chevron,.archive-select-trigger,.archive-select-chevron,.archive-select-option{transition:none}}
/* Message history stays beside its chat and keeps the technical payload optional. */
.message-details{display:grid;gap:14px;padding:4px 8px 28px;color:var(--ink)}
.md-overview{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--hover)}
.md-eyebrow{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.035em}
.md-overview h3{margin:8px 0 5px;font-size:19px;line-height:1.3}
.md-overview p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.md-preview{max-height:220px;overflow:auto;overscroll-behavior:contain;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.md-actions{display:flex;flex-wrap:wrap;gap:8px}
.md-actions button,.md-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--blue);font-size:12px;font-weight:650;text-decoration:none;transition:background-color .16s ease,transform .14s ease}
.md-actions button:hover,.md-actions a:hover{background:var(--hover)}
.md-actions button:active,.md-actions a:active{transform:scale(.985)}
.md-versions h4{margin:4px 0 12px;font-size:14px}
.md-version{display:grid;grid-template-columns:12px minmax(0,1fr);gap:9px;position:relative;padding:0 0 18px}
.md-version:not(:last-child):before{content:'';position:absolute;left:5px;top:13px;bottom:0;width:2px;background:var(--line)}
.md-version-marker{width:12px;height:12px;margin-top:3px;border:3px solid var(--blue);border-radius:50%;background:var(--surface)}
.md-version>div:last-child{min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.md-version strong,.md-version time{display:block}.md-version strong{font-size:12px}.md-version time{margin-top:3px;color:var(--muted);font-size:11px}
.md-version p{max-height:220px;overflow:auto;margin:10px 0 0;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
/* A chat profile keeps media at a fixed size and links each tile to its message. */
.chat-profile{display:grid;gap:20px;padding:1px 2px 28px;color:var(--ink)}
.cp-identity{text-align:center;padding:24px 16px 20px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(155deg,color-mix(in srgb,var(--blue) 11%,var(--surface)),var(--surface) 62%)}
.cp-avatar{width:76px;height:76px;margin:0 auto 13px;display:grid;place-items:center;overflow:hidden;border-radius:50%;font-size:30px;background:color-mix(in srgb,var(--blue) 25%,var(--surface))}
.cp-avatar img,.cp-avatar svg{width:100%;height:100%;object-fit:cover}.cp-avatar svg{width:34px;height:34px;fill:currentColor;color:var(--blue)}
.cp-identity h3{margin:0;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.cp-identity p{margin:5px 0 13px;color:var(--muted);font-size:12px}
.cp-source{display:inline-flex;max-width:100%;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue);font-size:11px;font-weight:650;line-height:1.35;text-align:left}
.cp-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cp-metrics>div{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.cp-metrics strong{font-size:23px;line-height:1.1}.cp-metrics span{color:var(--muted);font-size:11px;line-height:1.4}
.cp-section{min-width:0}.cp-section-head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:10px;padding:0 2px}.cp-section-head strong,.cp-section-head small{display:block}.cp-section-head strong{font-size:14px}.cp-section-head small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.cp-section-head>button{min-height:28px;flex:none;color:var(--blue);font-size:12px;font-weight:650}
.cp-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-height:106px}.cp-tile-skeleton,.cp-media-tile{aspect-ratio:1;min-width:0;border-radius:11px;background:var(--hover)}.cp-tile-skeleton{animation:cp-pulse 1.2s ease-in-out infinite alternate}.cp-media-tile{position:relative;display:block;overflow:hidden;border:0;color:#fff;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.cp-media-tile:hover{transform:translateY(-2px);box-shadow:0 7px 18px #0003}.cp-media-tile:active{transform:scale(.98)}.cp-media-tile img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .24s ease}.cp-media-tile.is-loaded img{opacity:1}.cp-media-placeholder{display:grid;height:100%;place-items:center;color:var(--muted)}.cp-media-placeholder svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5}.cp-media-kind,.cp-media-tile time{position:absolute;bottom:7px;z-index:1;padding:3px 5px;border-radius:6px;background:#111a22b8;font-size:10px}.cp-media-kind{left:6px}.cp-media-tile time{right:6px}.cp-media-empty{grid-column:1/-1;margin:0;padding:20px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px;line-height:1.5}
.cp-actions{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.cp-actions button,.cp-manage{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:65px;padding:12px 14px;color:var(--ink);text-align:left;transition:background-color .17s ease,transform .17s ease}.cp-actions button+button{border-top:1px solid var(--line)}.cp-actions button:hover,.cp-manage:hover{background:var(--hover)}.cp-actions button:active,.cp-manage:active{transform:scale(.99)}.cp-actions svg,.cp-manage svg{width:22px;height:22px;fill:none;stroke:var(--blue);stroke-width:1.7}.cp-actions strong,.cp-actions small{display:block}.cp-actions strong,.cp-manage span{font-size:13px;font-weight:650}.cp-actions small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}.cp-actions i,.cp-manage i{color:var(--muted);font-size:18px;font-style:normal}.cp-manage{border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.chat-profile button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@keyframes cp-pulse{from{opacity:.5}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.cp-tile-skeleton{animation:none}.cp-media-tile,.cp-media-tile img,.cp-actions button,.cp-manage{transition:none}}
.md-empty{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.md-loading,.md-error{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-size:12px;line-height:1.5}
.md-error button{margin-left:8px;color:var(--blue);font-weight:650}
.md-raw{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.md-raw summary{display:flex;align-items:center;justify-content:space-between;min-height:47px;padding:11px 13px;list-style:none;color:var(--blue);cursor:pointer;font-size:12px;font-weight:650}
.md-raw summary::-webkit-details-marker{display:none}.md-raw summary:hover{background:var(--hover)}
.md-raw .archive-disclosure-chevron{transition:transform .18s ease}.md-raw[open] .archive-disclosure-chevron{transform:rotate(180deg)}
.md-raw pre{overflow:auto;max-height:300px;margin:0;padding:13px;border-top:1px solid var(--line);font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.message-details :is(button,a,summary):focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(prefers-reduced-motion:no-preference){.message-details>*{animation:md-enter .2s ease-out both}.message-details>*:nth-child(2){animation-delay:25ms}.message-details>*:nth-child(3){animation-delay:50ms}@keyframes md-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.md-actions button,.md-actions a,.md-raw .archive-disclosure-chevron{transition:none}}
.account-password-help{margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--hover)}
.account-password-help strong{display:block;font-size:13px;line-height:1.35}.account-password-help p{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
/* Favorites are bookmarks across the active profile, with a stable media slot. */
.favorites-intro{padding:5px 3px 16px}.favorites-intro h2{margin:9px 0 7px;font-size:22px;line-height:1.18;letter-spacing:-.025em}.favorites-intro p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.favorites-count{padding:0 3px 12px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.favorites-list{display:grid;gap:10px;align-content:start;padding-bottom:10px}
.favorite-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 1px 2px #00000008;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.favorite-card:hover{border-color:color-mix(in srgb,var(--blue) 37%,var(--line));box-shadow:0 7px 20px #00000010;transform:translateY(-1px)}
.favorite-open{display:grid;grid-template-columns:76px minmax(0,1fr) 14px;align-items:center;gap:12px;width:100%;min-height:94px;padding:12px;text-align:left;color:var(--ink)}
.favorite-preview{position:relative;display:grid;place-items:center;width:76px;height:76px;overflow:hidden;border-radius:12px;background:color-mix(in srgb,var(--blue) 9%,var(--hover));color:var(--blue)}
.favorite-preview.kind-round{border-radius:50%}.favorite-preview img{display:block;width:100%;height:100%;object-fit:cover}.favorite-preview i{font-size:24px;font-style:normal;line-height:1}.favorite-preview.has-image i{position:absolute;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#142332a8;color:#fff;font-size:14px;opacity:0;transition:opacity .16s ease}.favorite-preview.has-image.kind-round i,.favorite-preview.has-image.kind-video i,.favorite-preview.has-image.kind-animation i{opacity:1}
.favorite-copy{display:block;min-width:0}.favorite-kind{display:block;margin-bottom:4px;color:var(--blue);font-size:11px;font-weight:700}.favorite-copy strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:4.3em;font-size:13px;line-height:1.43;overflow-wrap:anywhere}.favorite-source{display:block;overflow:hidden;margin-top:6px;color:var(--muted);font-size:10px;white-space:nowrap;text-overflow:ellipsis}.favorite-note{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}.favorite-arrow{align-self:start;color:var(--blue);font-size:16px}
.favorite-actions{padding:0 12px 10px 100px}.favorite-actions button{min-height:30px;padding:5px 0;color:var(--muted);font-size:11px;text-align:left}.favorite-actions button:hover{color:var(--blue)}.favorite-open:focus-visible,.favorite-actions button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.favorite-skeleton{height:137px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(105deg,var(--hover) 18%,color-mix(in srgb,var(--surface) 65%,var(--hover)) 48%,var(--hover) 78%);background-size:220% 100%;animation:favorite-shimmer 1.6s ease-in-out infinite}@keyframes favorite-shimmer{to{background-position-x:-220%}}
.favorites-empty{display:grid;justify-items:center;gap:8px;padding:34px 21px;border:1px dashed var(--line);border-radius:16px;background:color-mix(in srgb,var(--hover) 45%,var(--surface));text-align:center}.favorites-empty>span{color:var(--blue);font-size:36px}.favorites-empty strong{font-size:14px}.favorites-empty p{max-width:270px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.favorites-list+#favorite-more{margin:7px 0 20px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:12px;font-weight:650}
@media(prefers-reduced-motion:no-preference){.favorite-card{animation:favorite-enter .22s ease-out both}@keyframes favorite-enter{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}}
@media(prefers-reduced-motion:reduce){.favorite-card,.favorite-preview.has-image i{transition:none}.favorite-card,.favorite-skeleton{animation:none}}
/* Search results keep their position while another page is appended. */
#find-results{display:grid;gap:9px;align-content:start}.search-hit{display:block;width:100%;min-height:117px;margin:0;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 1px 2px #00000008;text-align:left;color:var(--ink);transition:border-color .17s ease,background-color .17s ease,transform .17s ease}
#find-results.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
#find-results.media-grid .panel-empty,#find-results.media-grid .library-item{grid-column:1/-1}
.library-type.has-media img{display:block;width:100%;height:100%;object-fit:cover}
.notes-intro{margin:0 0 16px;padding:15px 16px;border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.notes-intro strong{display:block;font-size:14px}.notes-intro p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}#note-results{display:grid;gap:10px;align-content:start}#note-results .note-card{min-width:0;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 1px 2px #00000008}#note-results .result-row{margin:0;padding:3px 0 10px;border:0;text-align:left}#note-results .note-card>p{margin:0 0 8px;padding:9px 11px;border-radius:9px;background:var(--hover);font-size:12px;line-height:1.5}#note-results .note-card>small{display:block;overflow-wrap:anywhere;font-size:11px}#note-results .note-edit{min-height:34px;margin-top:8px;padding:5px 0;color:var(--blue);font-size:12px;font-weight:600}#note-results .note-edit:hover{text-decoration:underline}#note-results .note-edit:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.deletion-intro{margin:0 0 14px;padding:15px 16px;border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.deletion-intro strong{display:block;font-size:14px}.deletion-intro p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.deletion-summary{margin:0 2px 13px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}#deletion-results{display:grid;gap:9px;align-content:start}.deletion-card{min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 1px 2px #00000008}.deletion-event{display:flex;align-items:center;gap:9px}.deletion-event>span{display:grid;flex:none;width:31px;height:31px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue);font-size:18px}.deletion-event strong,.deletion-event time{display:block}.deletion-event strong{font-size:12px}.deletion-event time{margin-top:2px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.deletion-card .result-row{margin-top:9px;padding:10px 0 0;border-top:1px solid var(--line);text-align:left}.deletion-missing{margin:11px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.deletion-read{display:block;width:100%;min-height:42px;margin-top:14px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--blue) 27%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));color:var(--blue);font-size:12px;font-weight:650;text-align:center}.deletion-read:hover{background:color-mix(in srgb,var(--blue) 12%,var(--surface))}.deletion-read:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.deletion-read[hidden]{display:none}
.search-hit:hover{border-color:color-mix(in srgb,var(--blue) 42%,var(--line));background:color-mix(in srgb,var(--blue) 4%,var(--surface));transform:translateY(-1px)}.search-hit:active{transform:scale(.99)}
.search-hit-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.search-hit .search-hit-kind{display:inline-flex;min-width:0;padding:4px 7px;border-radius:7px;background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue);font-size:10px;font-weight:700}.search-hit time{float:none;display:block;margin:0;color:var(--muted);font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.search-hit>strong{display:block;color:var(--ink);font-size:12px}.search-hit p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:4.4em;margin:5px 0 9px;font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.search-hit mark{padding:0 2px;border-radius:3px;background:color-mix(in srgb,#ffd766 68%,var(--surface));color:var(--ink)}
.search-hit .search-hit-open{display:flex;justify-content:space-between;align-items:center;color:var(--blue);font-size:11px;font-weight:650}.search-hit .search-hit-open span{font-size:15px;line-height:1}
#find-more{margin:12px 0 20px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:12px;font-weight:650}#find-count{margin:16px 2px 11px;color:var(--muted);font-variant-numeric:tabular-nums}
.find-quick{margin:14px 0 12px}.find-quick>span{display:block;margin:0 2px 8px;color:var(--muted);font-size:11px;font-weight:650}.find-quick>div{display:flex;flex-wrap:wrap;gap:6px}.find-quick button{min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:600;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.find-quick button:hover{background:var(--hover);border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}.find-quick button[aria-pressed="true"]{border-color:color-mix(in srgb,var(--blue) 45%,var(--line));background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue)}.find-quick button:active{transform:scale(.97)}.find-quick button:focus-visible,#find-retry:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.find-loading{display:grid;gap:9px}.find-loading i{display:block;height:104px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(110deg,var(--hover) 22%,color-mix(in srgb,var(--surface) 60%,var(--hover)) 48%,var(--hover) 73%);background-size:220% 100%;animation:library-shimmer 1.5s ease-in-out infinite}.find-loading i:last-child{height:70px}#find-retry{margin-top:10px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--blue);font-weight:650}
@media(prefers-reduced-motion:reduce){.search-hit{transition:none}}
@media(prefers-reduced-motion:reduce){.find-quick button{transition:none}.find-loading i{animation:none}}
.library-segments{flex-wrap:wrap;overflow:visible}.library-segments button{flex:1 0 100px;min-width:0;padding-inline:7px}
.library-toolbar{position:sticky;top:0;z-index:20;isolation:isolate;margin:0 -15px;padding:7px 15px 10px;background:var(--surface);border-bottom:1px solid var(--line)}
.library-toolbar .library-segments{position:static;z-index:auto;margin:0;padding:0;background:transparent}
.library-hidden-filter{display:inline-flex;align-items:center;min-height:32px;margin-top:8px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:var(--hover);color:var(--muted);font-size:11px;font-weight:650}
.library-hidden-filter.active{border-color:color-mix(in srgb,var(--blue) 45%,var(--line));background:color-mix(in srgb,var(--blue) 14%,var(--surface));color:var(--blue)}
.library-hidden-filter:focus-visible,.library-segments button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.media-tile.is-spoiler:not(.revealed)>img{filter:blur(20px);transform:scale(1.15)}
.media-tile.is-spoiler:not(.revealed)>.media-tile-placeholder{filter:blur(12px)}
.media-tile>.library-spoiler-cover{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:10px;background:#27374aaa;color:#fff;font-size:12px;font-weight:700;text-align:center;white-space:normal}
.media-tile.is-spoiler.revealed>.library-spoiler-cover{display:none}
.media-tile.is-spoiler>span:not(.library-spoiler-cover){z-index:3}
.media-tile>.library-timer-badge{position:absolute;top:5px;left:5px;right:auto;bottom:auto;z-index:4;display:grid;place-items:center;width:23px;height:23px;padding:0;border-radius:50%;background:#182532dd;color:#fff;font-size:17px;line-height:1}
.media-tile.photo-tile{isolation:isolate;background:#20242d}
.media-tile.photo-tile>.media-tile-backdrop{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);opacity:.82;filter:blur(6px);transform:scale(1.06)}
.media-tile.photo-tile>.media-tile-image{position:relative;z-index:1;object-fit:contain}
.media-tile>.media-tile-unavailable{inset:auto 0 0;z-index:2;max-width:none;padding:18px 6px 7px;background:linear-gradient(transparent,#111b26d9);color:#fff;text-align:center;white-space:normal;line-height:1.25}
.library-scope:has(.archive-select-trigger[aria-expanded="true"]){position:relative;z-index:30}
.library-scope .archive-select-menu{z-index:31}
@media(max-width:700px){.library-toolbar{margin-inline:-16px;padding-inline:16px}}

/* Cold chat reads reserve the message layout without a blocking overlay. */
#messages .chat-load-host{min-height:100%;width:100%}
.chat-load-stage{max-width:780px;margin:0 auto;padding:18px 4px 24px;animation:chat-load-appear .22s ease-out both}
.chat-load-caption{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:0 auto 26px;padding:9px 13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 2px 10px #0000000b;color:var(--muted);font-size:12px}
.chat-load-spinner{width:13px;height:13px;flex:none;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:archive-spin .9s linear infinite}
.chat-load-row{display:flex;margin:12px 0}.chat-load-row.outgoing{justify-content:flex-end}
.chat-load-row>span{display:grid;align-content:center;gap:10px;width:min(340px,72%);height:62px;padding:14px;border-radius:15px 15px 15px 5px;background:color-mix(in srgb,var(--incoming) 82%,transparent);box-shadow:0 1px 4px #0000000b}
.chat-load-row.outgoing>span{width:min(255px,57%);border-radius:15px 15px 5px 15px;background:color-mix(in srgb,var(--outgoing) 82%,transparent)}
.chat-load-row i{display:block;width:73%;height:9px;border-radius:10px;background:color-mix(in srgb,var(--muted) 19%,transparent);animation:reading-pulse 1.7s ease-in-out infinite}
.chat-load-row i+ i{width:42%}.chat-load-row.outgoing i{width:65%}.chat-load-row.outgoing i+ i{width:35%}
.chat-load-error{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:min(330px,100%);margin:64px auto;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 8px 30px #00000012;color:var(--ink)}
.chat-load-error strong{font-size:15px}.chat-load-error span{font-size:12px;line-height:1.5;color:var(--muted)}.chat-load-error button{margin-top:6px;padding:9px 14px;border-radius:9px;background:var(--blue);color:#fff;font-size:12px;font-weight:600}
@keyframes chat-load-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.chat-load-stage,.chat-load-spinner,.chat-load-row i{animation:none}}
#note-form .note-error{margin:0 0 12px;padding:9px 11px;border-radius:9px;background:color-mix(in srgb,#c93c48 10%,var(--surface));color:#bd3340;font-size:12px;line-height:1.4}
