.side-rail{background:linear-gradient(180deg, var(--md-sys-color-surface-container-high), var(--md-sys-color-surface-container));z-index:100;border-right:1px solid var(--md-sys-color-outline-variant,#0000001f);flex-direction:column;align-items:center;width:96px;height:100vh;padding:32px 0;display:none;position:fixed;top:0;left:0;box-shadow:8px 0 32px #0000000d}.rail-logo-image{width:32px;height:32px}.logo-tile{cursor:pointer;background:linear-gradient(#ffffffe6,#fafafccc);border:1px solid #ffffff80;border-radius:20px;justify-content:center;align-items:center;width:62px;height:62px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 10px 24px #0000001f,inset 0 1px #ffffff40}.logo-tile:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 14px 32px #00000029,inset 0 1px #ffffff4d}.rail-logo{justify-content:center;align-items:center;margin-bottom:48px;display:flex}.rail-logo-image{object-fit:contain;filter:drop-shadow(0 6px 14px #00000026);border-radius:16px;width:62px;height:62px;transition:transform .2s}.rail-logo-image:hover{transform:scale(1.05)}@media (width>=1024px){.side-rail{display:flex}}.rail-actions{flex-direction:column;flex:1;justify-content:space-evenly;align-items:center;width:100%;display:flex}.rail-item{border:1px solid var(--md-sys-color-outline-variant,#00000014);box-sizing:border-box;width:76px;height:76px;color:var(--md-sys-color-text-variant);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:7px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.rail-icon-wrapper svg{opacity:.72;width:28px;height:28px;transition:opacity .2s}.rail-item.active{color:var(--md-sys-color-on-secondary-container);background:linear-gradient(#7c3aed1f,#7c3aed14);border:1px solid #7c3aed2e;box-shadow:0 8px 24px #7c3aed1f}.rail-item.active .rail-icon-wrapper{transform:scale(1.1)}.rail-item.active .rail-icon-wrapper svg,.rail-item:hover .rail-icon-wrapper svg{opacity:1}.rail-item:hover:not(.active){background-color:#6750a414;border-color:#6750a438;transform:translateY(-3px)scale(1.02);box-shadow:0 8px 18px #00000014}.rail-label{letter-spacing:.02em;font-size:.72rem;font-weight:600}.rail-profile{margin-top:auto}.extras-trigger{width:72px;height:72px;color:var(--md-sys-color-text-variant);background:0 0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-bottom:16px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.extras-trigger:hover{background-color:#6750a414}.profile-pill{border-radius:var(--radius-pill);background-color:var(--md-sys-color-primary);width:48px;height:48px;color:var(--md-sys-color-on-primary);border:1px solid #ffffff59;justify-content:center;align-items:center;font-weight:700;display:flex;box-shadow:0 4px 12px #0000001a}.profile-pill-button:active{transform:scale(.92)}.profile-pill-button:disabled,.dock-item.profile-trigger:disabled{opacity:.6;cursor:not-allowed;transform:none}.mobile-dock-container{z-index:1000;padding-bottom:env(safe-area-inset-bottom,0px);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-dock-container.floating{padding:0 16px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.mobile-dock-container.static{padding:0}@media (width>=1024px){.mobile-dock-container{display:none}}.mobile-dock-wrap{width:100%;max-width:420px;height:88px;position:relative}.dock-svg{filter:drop-shadow(0 10px 32px #1118271f)drop-shadow(0 2px 8px #1118270f);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dock-svg path{fill:#ffffffeb;stroke:#78788c47;stroke-width:1.5px;-webkit-backdrop-filter:blur(18px)}.dock-items{align-items:center;padding-top:16px;display:flex;position:absolute;inset:0}.dock-item{--tab-color:#6b7280;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;height:72px;transition:transform .12s,margin-top .12s;display:flex;position:relative}.dock-item:active{transform:scale(.9)}.dock-item.hero{margin-top:-10px}.dock-item svg{color:#6b7280;opacity:.72;width:25px;height:25px;transition:color .2s,opacity .2s,transform .18s cubic-bezier(.34,1.4,.42,1)}.dock-item.active svg{color:var(--tab-color);opacity:1;transform:scale(1.08)}.dock-label{color:#8b8f9b;opacity:0;height:13px;font-size:11px;font-weight:700;transition:opacity .28s,color .28s}.dock-item.active .dock-label{opacity:1;color:var(--tab-color)}
