/* App shell chrome — .bili-layout / .bili-sidebar / .bili-main (from app.css) */
.bili-layout{display:grid;grid-template-columns:auto 1fr;height:100vh;padding:14px;gap:14px;overflow:hidden;transition:grid-template-columns 0.3s ease}
.bili-sidebar{width:var(--bili-sidebar-width);background:rgba(255,255,255,0.28);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:22px;box-shadow:inset 0 1px 0 var(--glass-shine),inset 0 -1px 1px rgba(255,255,255,0.15),var(--glass-shadow);padding:22px 14px 16px;display:flex;flex-direction:column;overflow:visible;position:relative;transition:width .42s cubic-bezier(.4,.01,.2,1),padding .42s cubic-bezier(.4,.01,.2,1)}
.bili-sidebar.is-folded{width:64px;padding:9px 9px 16px}
.bili-sidebar::before{content:'';position:absolute;inset:0;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,0.18) 0%,transparent 30%);pointer-events:none}
.bili-sidebar__tab{position:absolute;top:74px;right:-13px;z-index:2;width:26px;height:26px;border-radius:50%;border:1px solid var(--glass-border);background:rgba(255,255,255,0.8);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--glass-shine),0 2px 6px rgba(40,25,15,0.1);color:var(--bili-ink-2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .42s cubic-bezier(.4,.01,.2,1),background .15s}
.bili-sidebar__tab:hover{background:rgba(255,255,255,1);color:var(--bili-ink)}
.bili-sidebar__tab svg{width:14px;height:14px;display:block}
.bili-sidebar.is-folded .bili-sidebar__tab{transform:rotate(180deg)}
.bili-sidebar__logo{position:relative;height:50px;flex-shrink:0;margin-bottom:12px}
.bili-logo{position:absolute;top:50%;left:4px;transform:translateY(-50%);height:50px;width:auto;display:block}
.bili-sidebar__nav{flex:1 1 auto;overflow-y:auto;padding:4px 0;margin:0}
.bili-nav-section{padding:4px 0 12px}
.bili-sidebar__nav .menu-label{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;color:var(--bili-ink-2);font-family:inherit;font-size:10px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;padding:6px 12px 8px;margin:0;cursor:pointer;text-align:left;transition:color 0.15s}
.bili-sidebar__nav .menu-label:hover{color:var(--bili-ink)}
.bili-sidebar__nav .menu-label__chevron{font-size:14px;line-height:1;opacity:0.85;color:var(--bili-ink);transition:transform 0.2s ease;margin-left:8px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,0.5)}
.bili-nav-section.is-collapsed .menu-list{display:none}
.bili-nav-section.is-collapsed .menu-label__chevron{transform:rotate(-90deg)}
.bili-sidebar__nav .menu-list{padding:0;list-style:none;margin:0}
.bili-sidebar__nav .menu-list li+li{margin-top:8px}
.bili-sidebar__nav .menu-list a{display:flex;align-items:center;gap:11px;color:var(--bili-ink);background:rgba(255,255,255,0.25);border:1px solid rgba(255,255,255,0.35);border-radius:var(--r-pill);padding:8px 14px;font-size:13px;font-weight:400;text-decoration:none;transition:background .2s;box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);cursor:pointer}
.bili-sidebar__nav .menu-list a:hover{background:rgba(255,255,255,0.4);text-decoration:none}
.bili-sidebar__nav .menu-list a.is-active{background:rgba(255,255,255,0.75);border-color:rgba(255,255,255,0.9);font-weight:500;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9),0 2px 8px rgba(40,25,15,0.08)}
.nav-ico{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center}
.nav-ico svg,.nav-ico img{width:18px;height:18px}
.bili-sidebar__profile{flex-shrink:0;display:flex;align-items:center;gap:9px;padding:10px 12px;margin-top:12px;background:rgba(255,255,255,0.4);border:1px solid rgba(255,255,255,0.5);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.6);font-size:13px;color:var(--bili-ink)}
.bili-profile-label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bili-logout-link{margin-left:auto;color:var(--bili-ink-2) !important;font-size:11px;text-decoration:none;opacity:0.75}
.bili-main{display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:rgba(255,255,255,0.22);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-shine),var(--glass-shadow);position:relative}
.bili-main::before{content:'';position:absolute;inset:0;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,0.18) 0%,transparent 25%);pointer-events:none}
.bili-breadcrumb-bar{flex-shrink:0;height:var(--bili-breadcrumb-height);display:flex;align-items:center;padding:0 var(--bili-content-padding);border-bottom:1px solid rgba(255,255,255,0.3);background:rgba(255,255,255,0.18);border-radius:22px 22px 0 0}
.breadcrumb{margin:0;font-size:12px}
.breadcrumb ul{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.breadcrumb a{color:var(--bili-ink-2);padding:0 12px;cursor:pointer}
.breadcrumb li:first-child a{padding-left:0}
.breadcrumb li.is-active a{color:var(--bili-ink);font-weight:500}
.breadcrumb li+li::before{content:'›';color:var(--bili-ink-2);font-size:18px;font-weight:500;opacity:0.85;margin-top:-2px}
.bili-content{flex:1 1 auto;overflow-y:auto;padding:var(--bili-content-padding);position:relative;scrollbar-gutter:stable both-edges}
