/* Floating Liquid Glass Navigation - isolated from application logic */
:root{--nav-rail:84px;--nav-open:265px}
@media(min-width:761px){
.app{max-width:none;grid-template-columns:var(--nav-rail) minmax(0,1fr)!important;transition:grid-template-columns .3s ease}
.app:has(.sidebar:hover),.app:has(.sidebar:focus-within){grid-template-columns:var(--nav-open) minmax(0,1fr)!important}
.sidebar{position:sticky!important;top:16px!important;height:calc(100vh - 32px)!important;margin:16px 0 16px 12px!important;padding:16px 11px!important;gap:15px!important;border-radius:26px!important;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;z-index:30!important;box-shadow:0 20px 55px #09051f65,inset 0 1px #ffffff55!important;background:linear-gradient(140deg,#b69af340,#8e75d01c 55%,#f17dc71a)!important;border:1px solid #ffffff45!important;backdrop-filter:blur(34px) saturate(175%)!important;-webkit-backdrop-filter:blur(34px) saturate(175%)!important}
.sidebar::-webkit-scrollbar{display:none}
.sidebar .brand{min-height:56px;white-space:nowrap;gap:13px!important}
.sidebar .brandmark{width:45px;min-width:45px;height:45px;box-shadow:inset 0 1px #fff8,0 6px 18px #a17cf544}
.sidebar .brand>div,.sidebar .sidebottom,.sidebar nav button>span:not(.chat-unread):not(.unread){opacity:0;visibility:hidden;transition:opacity .18s;white-space:nowrap}
.sidebar:hover .brand>div,.sidebar:focus-within .brand>div,.sidebar:hover .sidebottom,.sidebar:focus-within .sidebottom,.sidebar:hover nav button>span:not(.chat-unread):not(.unread),.sidebar:focus-within nav button>span:not(.chat-unread):not(.unread){opacity:1;visibility:visible;transition-delay:.08s}
.sidebar nav{display:flex;flex-direction:column;gap:6px;min-width:225px}
.sidebar nav button{width:100%;height:43px;flex-shrink:0;gap:17px!important;padding:10px 13px!important;position:relative;white-space:nowrap;border-radius:14px!important;transition:background .2s,box-shadow .2s,color .2s}
.sidebar nav button.active{background:linear-gradient(115deg,#c9a9ff62,#f1a1d633)!important;box-shadow:inset 0 1px #fff6,0 5px 22px #bb8ef327!important;border:1px solid #fff5!important}
.sidebar nav button.active:before{content:"";position:absolute;left:0;top:25%;height:50%;width:3px;background:#efabf7;border-radius:6px;box-shadow:0 0 12px #f7b3ff}
.sidebar nav button:hover{background:#ffffff20!important}
.sidebar .sidebottom{min-width:220px;margin-top:auto}
}
.nav-icon{width:21px;height:21px;flex:0 0 21px;display:block}
.mobile-dock,.nav-scrim{display:none}
@media(max-width:760px){
main{padding-bottom:115px!important}
.mobile-menu{display:none!important}
.sidebar{z-index:105!important;top:10px!important;left:10px!important;height:calc(100dvh - 20px)!important;width:min(290px,85vw)!important;transform:translateX(calc(-100% - 30px))!important;transition:transform .26s ease!important;border-radius:24px!important;overflow-y:auto;background:linear-gradient(145deg,#39265be8,#1e173deb)!important;backdrop-filter:blur(35px) saturate(160%)!important;-webkit-backdrop-filter:blur(35px) saturate(160%)!important}
.sidebar.open{transform:translateX(0)!important}
.sidebar nav button{gap:13px!important;min-height:44px}
.mobile-dock{display:flex;position:fixed;z-index:90;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 22px),460px);padding:8px 7px;border-radius:24px;align-items:center;justify-content:space-around;gap:2px;background:linear-gradient(125deg,#a17cf548,#f17dc72c 48%,#b0d5ff29);border:1px solid #ffffff75;box-shadow:0 15px 45px #0a061c85,inset 0 1px #ffffff80;backdrop-filter:blur(34px) saturate(180%);-webkit-backdrop-filter:blur(34px) saturate(180%)}
.mobile-dock .dock-link{border:0;background:transparent;color:#e4d6f3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;min-width:51px;padding:6px 7px;border-radius:16px;transition:background .2s,transform .2s}
.mobile-dock .dock-link span{font-size:10px;font-weight:700}
.mobile-dock .dock-link.active{color:#fff;background:linear-gradient(145deg,#c9a9ff68,#f1a1d650);box-shadow:inset 0 1px #ffffff70,0 3px 14px #a17cf53c}
.mobile-dock .dock-link:active{transform:scale(.95)}
.nav-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:100;background:#09061c99;border:0;backdrop-filter:blur(5px)}
html[data-theme=light] .mobile-dock{background:linear-gradient(140deg,#ffffffbd,#f5dff9a6);border-color:#fff;box-shadow:0 12px 35px #8a5eb14a,inset 0 1px #fff}
html[data-theme=light] .mobile-dock .dock-link{color:#62467e}
html[data-theme=light] .mobile-dock .dock-link.active{color:#4e266e;background:linear-gradient(135deg,#e2c5fa,#ffd5e8)}
html[data-theme=light] .sidebar{background:linear-gradient(145deg,#fffdf6f2,#e9d9f7f2)!important}
}
@media(min-width:761px){html[data-theme=light] .sidebar{background:linear-gradient(140deg,#ffffffc2,#e9d9f7a8)!important;border-color:#fff!important}}
@media(prefers-reduced-motion:reduce){.app,.sidebar,.mobile-dock .dock-link{transition:none!important}}
