/* Approved Deslove application shell. Shared by every public page. */
/* Guest mobile: one full-width action; public destinations remain on desktop. */
@media(max-width:600px){
 .left-sidebar[data-guest-navigation]>.guest-destination,
 .left-sidebar[data-guest-navigation]>.nav-resource-desktop{display:none!important}
 .left-sidebar[data-guest-navigation]>.mobile-login-btn{width:auto;flex:1 1 auto;min-width:0;margin:0 6px;font-size:13px;background:var(--t-text);color:var(--t-bg);border-color:transparent}
 .left-sidebar[data-guest-navigation]>.mobile-login-btn:hover{background:var(--t-text);opacity:.9}
}
/* Approved support entry: desktop rail; mobile settings dropdown only. */
.left-sidebar .sidebar-support{flex-shrink:0;margin:0;padding:0}
.support-mobile-form{margin:0}.support-mobile-form .mobile-more-item{width:100%;text-align:left}
@media(max-width:600px){.left-sidebar>.sidebar-support{display:none!important}}
.support-entry{max-width:620px;margin:32px auto;padding:24px;border:1px solid var(--t-border);border-radius:16px;background:var(--t-card);color:var(--t-text);line-height:1.6}
.support-entry>strong{font-size:20px}.support-entry p{margin-top:12px;color:var(--t-muted)}
.support-entry-button{margin-top:20px;padding:12px 18px;border-radius:10px;background:var(--ac,#3b82f6);color:#fff;font-weight:600}
/* Sidebar photo loading: the same neutral surface in both themes, without
   changing the button geometry, initials fallback, focus or menu behavior. */
html .left-sidebar .sidebar-avatar > button:not(.avatar-fallback) { background:var(--t-surface,#0b0c12)!important; }
.sidebar-avatar > button > img { display:block; color:transparent; font-size:0; }
html .left-sidebar .sidebar-avatar > button:not(.avatar-fallback) {
    background-image:var(--sidebar-avatar-preview,none)!important;
    background-position:center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
}
.sidebar-avatar-previews-js .sidebar-avatar > button > img { transition:none; }
.sidebar-avatar-previews-js .sidebar-avatar > button > img:not([data-avatar-ready="1"]) { opacity:0; transition:none; }
@media(prefers-reduced-motion:reduce) { .sidebar-avatar-previews-js .sidebar-avatar > button > img { transition:none; } }
:root{--t-bg:#07080d;--t-surface:#0b0c12;--t-card:#0d0f17;--t-elevated:#11141f;--t-border:#1f2638;--t-divider:#192033;--t-text:#eef3fb;--t-muted:#8d9ab2;--t-subtle:#65728c;--t-hover:#121827;--t-input:#0d111b;--t-input-b:#222b40;--shadow-card:0 18px 45px rgba(0,0,0,.22);--shadow-float:0 24px 70px rgba(0,0,0,.38)}
[data-theme="light"]{--t-bg:#f0f5fb;--t-surface:#fbfdff;--t-card:#fff;--t-elevated:#f7faff;--t-border:#dce6f3;--t-divider:#e4ecf7;--t-text:#283852;--t-muted:#71809a;--t-subtle:#91a0b7;--t-hover:#f1f6fd;--t-input:#fff;--t-input-b:#d7e2f1;--shadow-card:0 16px 38px rgba(73,104,151,.1);--shadow-float:0 24px 70px rgba(73,104,151,.16)}
html{color-scheme:dark}html[data-theme="light"]{color-scheme:light}body{color:var(--t-text);background:var(--t-bg)!important}.text-muted{color:var(--t-muted)!important}.text-\[\#e5e5e5\]{color:var(--t-text)!important}.bg-surface{background-color:color-mix(in srgb,var(--t-surface) 94%,transparent)!important}.bg-card{background-color:var(--t-card)!important}.border-border{border-color:var(--t-border)!important}
.left-sidebar{width:64px!important;padding-inline:8px;gap:6px!important;border-color:var(--t-divider)!important;background:color-mix(in srgb,var(--t-surface) 92%,transparent)!important;backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);-webkit-user-select:none;user-select:none;caret-color:transparent}.left-sidebar .rounded-lg,.left-sidebar .rounded-xl{border-radius:.75rem!important}
.sidebar-logo{margin-bottom:10px!important;color:#3b82f6;transition:color .2s ease}.sidebar-logo:hover{color:#7786a4}.sidebar-logo img,.sidebar-logo>svg{width:25px!important;height:25px!important}
.nav-icon{width:42px!important;height:42px!important;border-radius:.75rem!important;color:#7786a4!important;position:relative;transition:color .2s ease,background .2s ease,transform .2s ease!important}.nav-icon>svg{width:20px!important;height:20px!important;flex:0 0 20px}.left-sidebar .nav-icon[data-nav="feed"]>svg{width:15px!important;height:15px!important;flex-basis:15px}.left-sidebar .nav-icon[data-nav="browse"]>svg{width:17px!important;height:17px!important;flex-basis:17px}.nav-icon:hover{color:#c9d7ed!important;background:#121827!important;transform:none!important}.nav-icon.active,.nav-icon.active:hover{color:var(--ac)!important;background:color-mix(in srgb,var(--ac) 13%,var(--t-surface,#0b0c12))!important}.nav-icon.active::before{content:none!important}
.sidebar-lang{width:42px!important;height:60px!important;padding:3px!important;gap:2px;margin-bottom:4px!important;border-radius:12px!important;border-color:var(--t-border)!important;background:var(--t-input)!important;overflow:visible!important}.sidebar-lang form,.sidebar-lang>div{flex:1 1 0!important;height:auto!important;min-height:0;border-radius:9px}.sidebar-lang :is(button,a),.sidebar-lang>div{display:flex;align-items:center;justify-content:center;padding:0!important;font-size:10px!important;line-height:1!important}.sidebar-lang :is(button,a){border-radius:9px!important}.sidebar-lang :is(button,a):hover{color:color-mix(in srgb,var(--ac-l) 72%,var(--t-text))!important;background:color-mix(in srgb,var(--ac) 10%,var(--t-card))!important}.sidebar-lang>div{color:var(--ac-l)!important;background:color-mix(in srgb,var(--ac) 22%,var(--t-card))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac) 34%,transparent);font-weight:650!important}
.theme-toggle{position:relative;width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;color:#7f8da6;background:transparent;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.theme-toggle:hover{color:#d9e5f6;background:var(--t-hover)}[data-theme="light"] .theme-toggle{color:#607491}[data-theme="light"] .theme-toggle:hover{color:#2f4769;background:#edf4fc}.theme-toggle svg{position:absolute;width:18px!important;height:18px!important;max-width:18px;max-height:18px;transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1)}.theme-toggle svg.theme-icon-sun{width:20px!important;height:20px!important;max-width:20px;max-height:20px}.theme-toggle svg.theme-icon-moon{width:18.5px!important;height:18.5px!important;max-width:18.5px;max-height:18.5px}.theme-toggle .theme-icon-sun{opacity:1;transform:rotate(0deg) scale(1)}.theme-toggle .theme-icon-moon{opacity:0;transform:rotate(-20deg) scale(.72)}[data-theme="light"] .theme-toggle .theme-icon-sun{opacity:0;transform:rotate(22deg) scale(.72)}[data-theme="light"] .theme-toggle .theme-icon-moon{opacity:1;transform:rotate(0deg) scale(1)}
.mobile-theme-row{display:flex;align-items:center;gap:4px;margin-bottom:5px}.mobile-theme-row .theme-toggle{width:38px;height:38px;flex:0 0 38px;border-radius:9px;background:color-mix(in srgb,var(--t-border) 34%,var(--t-card))}.mobile-theme-row .mobile-more-lang{flex:1 1 auto;min-width:0;margin-bottom:0}.mobile-theme-row .theme-toggle:hover{background:var(--t-hover)}@media(min-width:601px){.mobile-theme-row{display:none}}@media(max-width:600px){.left-sidebar>.theme-toggle{display:none!important}}
.sidebar-create{width:42px!important;height:42px!important;border-radius:.75rem!important;box-shadow:none!important}.sidebar-create:hover{transform:none!important;box-shadow:none!important}.sidebar-avatar>button{width:42px!important;height:42px!important;border:0!important;box-shadow:0 0 0 1px var(--t-border);transition:box-shadow .18s ease,opacity .18s ease!important}.sidebar-avatar>button:hover{box-shadow:0 0 0 2px var(--ac)}.sidebar-avatar>.absolute{background:#0b0e15!important;border-color:#1b2232!important;box-shadow:0 18px 48px rgba(0,0,0,.34)!important}.sidebar-avatar>.absolute a:hover,.sidebar-avatar>.absolute button:hover{background:#121722!important}
[data-theme="light"] .nav-icon{color:#7486a1!important}[data-theme="light"] .left-sidebar .nav-icon:hover{color:#466184!important;background:#e6efff!important}[data-theme="light"] .left-sidebar .nav-icon.active,[data-theme="light"] .left-sidebar .nav-icon.active:hover{color:var(--ac)!important;background:#e6efff!important}[data-theme="light"] .sidebar-logo:hover{color:#607491}[data-theme="light"] .sidebar-lang{background:#eef4fb!important;border-color:#d2dfef!important}[data-theme="light"] .sidebar-lang :is(button,a){color:#60728f!important}[data-theme="light"] .sidebar-lang :is(button,a):hover{color:#315b93!important;background:#dbe8f7!important;box-shadow:inset 0 0 0 1px #c5d6ea!important}[data-theme="light"] .sidebar-lang>div{color:#2f5fbf!important;background:#dfeafb!important;box-shadow:inset 0 0 0 1px #bfd2ed!important}[data-theme="light"] .sidebar-avatar>.absolute{background:#fbfdff!important;border-color:#dce6f3!important;box-shadow:0 18px 48px rgba(73,104,151,.14)!important}[data-theme="light"] .sidebar-avatar>.absolute a:hover,[data-theme="light"] .sidebar-avatar>.absolute button:hover{background:#f1f6fd!important}
@media(min-width:601px){.left-sidebar .nav-icon>svg{transform:translateX(1px)}.left-sidebar .nav-icon[data-nav="feed"]>svg{transform:translate(1px,-1px)}}
@media(max-width:600px){.left-sidebar{width:100%!important;padding-inline:6px!important;gap:0!important;background:color-mix(in srgb,var(--t-surface) 93%,transparent)!important}.left-sidebar .nav-icon{width:44px!important;height:44px!important}.left-sidebar>.nav-icon[data-nav="profile"]>svg{width:19px!important;height:19px!important;flex-basis:19px}.left-sidebar>.nav-icon,.left-sidebar>.mobile-more{top:-1px}}

/* Approved overlay scrollbar: it never consumes layout width and appears only while scrolling. */
.deslove-feed-scroll-auto-hide{scrollbar-width:none!important;-ms-overflow-style:none!important}
.deslove-feed-scroll-auto-hide::-webkit-scrollbar{width:0!important;height:0!important}
.deslove-feed-scroll-indicator{position:fixed;right:1px;top:0;z-index:190;width:3px;min-height:28px;border-radius:999px;background:#263149;opacity:0;pointer-events:none;transition:opacity .16s ease}
.deslove-feed-scroll-indicator.is-visible{opacity:1}
[data-theme="light"] .deslove-feed-scroll-indicator{background:#a3b5cb}

/* Canonical mobile settings popover shared by every page. */
@media(max-width:600px){
.left-sidebar.has-mobile-menu-open{z-index:2147483000!important}
.left-sidebar.has-mobile-menu-open .mobile-more{z-index:2147483001!important}
.left-sidebar.has-mobile-menu-open .mobile-more-menu{z-index:2147483002!important}
.mobile-more-menu{bottom:calc(100% + 12px)!important;right:-6px!important;min-width:202px!important;padding:6px!important;background:var(--t-card,#0b0c12)!important;border:1px solid var(--t-border,#1f2230)!important;border-radius:15px!important;overflow:hidden!important;box-shadow:none!important;transform-origin:right bottom}
.mobile-more-lang{display:flex;gap:2px;margin-bottom:5px;padding:2px;border:0!important;border-radius:10px;background:color-mix(in srgb,var(--t-border,#1f2230) 62%,var(--t-card,#0b0c12))}
.mobile-more-lang-item{display:flex;align-items:center;justify-content:center;min-height:32px;padding:2px 0 0;font-size:11px;font-weight:600;line-height:1;color:var(--t-muted,#737894);border:0!important;border-radius:8px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.mobile-more-lang-item:hover{color:color-mix(in srgb,var(--ac-l,#93c5fd) 76%,var(--t-text));background:color-mix(in srgb,var(--ac) 11%,var(--t-card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac) 18%,transparent)}
.mobile-more-lang-item.active{color:var(--ac-l,#93c5fd);background:color-mix(in srgb,var(--ac) 22%,var(--t-card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac) 34%,transparent)}
.mobile-more-item{gap:11px!important;min-height:42px;padding:10px 11px!important;border-radius:9px;font-size:12px!important;font-weight:500;color:var(--t-text,#e5e5e5)!important;transition:background .18s ease,color .18s ease!important}
.mobile-more-item svg{width:17px!important;height:17px!important;color:var(--t-muted)}
.mobile-more-item:hover{background:color-mix(in srgb,var(--t-border,#1f2230) 52%,var(--t-card,#0b0c12))!important}
.mobile-more-item:hover svg{color:var(--t-text)}
.mobile-more-item.danger{color:#ef858d!important}.mobile-more-item.danger svg{color:#dd7079}.mobile-more-item.danger:hover{color:#ff9aa2!important;background:color-mix(in srgb,#ef6874 12%,var(--t-card,#0b0c12))!important}
}
[data-theme="light"] .mobile-more-lang{background:#edf3fb!important}
[data-theme="light"] .mobile-more-lang-item{color:#60728f!important}
[data-theme="light"] .mobile-more-lang-item:hover{color:#315b93!important;background:#dbe8f7!important;box-shadow:inset 0 0 0 1px #c5d6ea!important}
[data-theme="light"] .mobile-more-lang-item.active{color:#2f5fbf!important;background:#dfeafb!important;box-shadow:inset 0 0 0 1px #bfd2ed!important}
/* Resources: desktop destination; mobile access stays inside More. */
@media(max-width:600px){.left-sidebar>.nav-resource-desktop{display:none!important}}
/* An opaque edge prevents page content bleeding through the mobile navigation seam. */
@media(max-width:600px){:root body .left-sidebar.left-sidebar{background:var(--t-surface)!important;background-clip:border-box!important;border-top:1px solid var(--t-divider)!important}}
.mobile-more-item[aria-current="page"]{color:var(--ac)!important;background:color-mix(in srgb,var(--ac) 10%,var(--t-card))}.mobile-more-item[aria-current="page"] svg{color:inherit}
/* Shared creation menu: visible light-theme hover and restrained icon colors. */
[data-theme="light"] #deslove-create-choice{--hover:#eaf1fc;--accent-light:#627694}
[data-theme="light"] #deslove-create-choice>button{transition:background-color .15s ease,color .15s ease}
[data-theme="light"] #deslove-create-choice>button:is(:hover,:focus-visible){--accent-light:#2563eb;background:#eaf1fc;color:#244e91}
[data-theme="light"] #deslove-create-choice>button:focus-visible{outline:2px solid #8eb5f3;outline-offset:-2px}

/* Same approved shell, with explicit colors for Safari 15 / iOS 15.
   This must live in the shared shell, not in page-specific overrides. */
@supports not (color:color-mix(in srgb,red,blue)){
 .bg-surface{background-color:var(--t-surface)!important}
 .left-sidebar{background:var(--t-surface)!important}
 .nav-icon.active,.nav-icon.active:hover{background:rgba(59,130,246,.13)!important}
 .sidebar-lang :is(button,a):hover{color:var(--ac-l)!important;background:rgba(59,130,246,.1)!important}
 .sidebar-lang>div{background:rgba(59,130,246,.22)!important;box-shadow:inset 0 0 0 1px rgba(59,130,246,.34)!important}
 .mobile-theme-row .theme-toggle{background:var(--t-hover)}
 .mobile-more-lang{background:var(--t-hover)}
 .mobile-more-lang-item:hover{color:var(--ac-l);background:rgba(59,130,246,.11);box-shadow:inset 0 0 0 1px rgba(59,130,246,.18)}
 .mobile-more-lang-item.active{background:rgba(59,130,246,.22);box-shadow:inset 0 0 0 1px rgba(59,130,246,.34)}
 .mobile-more-item:hover{background:var(--t-hover)!important}
 .mobile-more-item[aria-current="page"]{background:rgba(59,130,246,.1)}
 .mobile-more-item.danger:hover{background:rgba(239,104,116,.12)!important}
 [data-theme="light"] .left-sidebar .nav-icon.active,[data-theme="light"] .left-sidebar .nav-icon.active:hover{background:#e6efff!important}
 [data-theme="light"] .sidebar-lang>div{background:#dfeafb!important;box-shadow:inset 0 0 0 1px #bfd2ed!important}
 [data-theme="light"] .sidebar-lang :is(button,a):hover{color:#315b93!important;background:#dbe8f7!important}
}
.deslove-mobile-header-host { position:relative; overflow:hidden; }
/* The nested page scroller must end above the mobile navigation even while
   Safari's browser toolbar is visible. Legacy vh uses the larger viewport. */
@media(max-width:600px) {
    @supports(height:100dvh) {
        html body.h-screen { height:100dvh; }
    }
}
.deslove-mobile-header-space { flex-grow:0; flex-shrink:0; width:100%; pointer-events:none; }
.deslove-measure-mobile-header,
.deslove-measure-mobile-header * { transition:none!important; }
html body .deslove-floating-mobile-header {
    position:absolute!important; top:0!important; left:0!important; right:0!important;
    width:100%!important; height:var(--mobile-header-height)!important;
    min-height:var(--mobile-header-height)!important; box-sizing:border-box;
    z-index:50; transform:translate3d(0,var(--mobile-header-offset,0px),0);
    transition:transform .2s ease!important; will-change:transform;
}
@media(prefers-reduced-motion:reduce) {
    html body .deslove-floating-mobile-header { transition:none!important; }
}
/* Shared, non-animated unread counts; the navigation geometry is unchanged. */
.nav-icon > .nav-unread-count {
    position: absolute;
    top: 0;
    right: -3px;
    box-sizing: border-box;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #e5484d;
    color: #fff;
    /* Stable numeral metrics and optical centering, independent of page fonts. */
    font: 700 10px/1 Arial, sans-serif;
    letter-spacing: 0;
    text-indent: 0;
    text-align: center;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 0 0 2px var(--t-bg, #0b0d14);
    pointer-events: none;
    animation: none;
    transition: none;
}
.nav-icon > .nav-unread-count[hidden] { display: none !important; }
@media(max-width:600px){.left-sidebar>.nav-aura-desktop{display:none!important}}
