.shell{z-index:1;grid-template-columns:228px minmax(0,1fr);gap:18px;min-height:100vh;padding:18px;display:grid;position:relative}:root{--dock-lift:calc(16px + env(safe-area-inset-bottom));--dock-h:64px}.shell:has(.screen-chat){height:100vh;grid-template-rows:minmax(0,1fr);height:100dvh}.shell-stage{flex-direction:column;gap:18px;min-width:0;display:flex}.rail{flex-direction:column;gap:6px;height:calc(100vh - 36px);padding:16px 14px;display:flex;position:sticky;top:18px}.rail-brand{align-items:center;gap:10px;padding:4px 8px 12px;display:flex}.rail-logo{border-radius:10px;width:auto;height:40px;display:block}.rail-wordmark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:700}.nav{flex-direction:column;gap:2px;display:flex}.nav a{color:var(--ink-2);border-radius:14px;align-items:center;gap:11px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav a:hover{background:var(--surface-subtle);color:var(--ink)}.nav a.is-active{background:rgba(var(--primary-rgb), .14);color:var(--primary-strong);font-weight:600;box-shadow:0 1px 2px #0000000a}.rail-visibility{border-radius:var(--r-pill);background:var(--surface-subtle);border:1px solid var(--line);color:var(--ink-2);align-items:center;gap:6px;width:fit-content;margin:0;padding:3px 14px;font-size:10.5px;font-weight:500;display:flex}.rail-house{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding:12px 8px 10px;display:grid}.rail-house-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.rail-house-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;font-weight:600;line-height:1.2;overflow:hidden}.rail-gear{width:26px;height:26px;color:var(--ink-3);border-radius:50%;flex:none;place-items:center;margin-left:auto;text-decoration:none;display:grid}.rail-gear:hover{background:var(--surface-card);color:var(--ink)}.rail-gear.is-here{background:rgba(var(--primary-rgb), .16);color:var(--primary-strong)}.rail-gear svg{width:15px;height:15px}.rail-house-currency{font-family:var(--font-mono);color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-subtle);flex:none;align-items:center;padding:3px 9px;font-size:10.5px;font-weight:500;display:inline-flex}.rail-foot{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 8px 2px;display:flex}.rail-foot-name{font-size:13px;font-weight:600;line-height:1.2}.rail-foot-role{color:var(--ink-3);font-size:11px}.rail-signout{color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;width:30px;height:30px;margin-left:auto;display:grid}.rail-signout:hover{background:var(--surface-card);color:var(--ink)}.rail-signout svg{width:16px;height:16px}.mobile-chrome{display:none}.appbar,.tabbar,.fab,.bottom-fade{animation:.45s both chrome-fade}@keyframes chrome-fade{0%{opacity:0}}.appbar{z-index:10;padding:calc(10px + env(safe-area-inset-top)) 16px 12px;background:var(--glass);-webkit-backdrop-filter:blur(28px)saturate(1.25);border-bottom:1px solid var(--glass-border);position:fixed;top:0;left:0;right:0}.appbar-row{align-items:center;gap:10px;display:flex}.appbar-mark{background:#fcfcfb;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 1px 3px #14161a24,inset 0 0 0 1px #17181a0d}.appbar-mark img{border-radius:6px;display:block}[data-mode=dark] .appbar-mark{background:#22262c;box-shadow:0 1px 3px #0006,inset 0 0 0 1px #f3f5f71a}.appbar-house{min-width:0}.appbar-name{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;line-height:1.15;overflow:hidden}.appbar-bell{background:var(--surface-subtle);border:1px solid var(--line);width:32px;height:32px;color:var(--ink-2);cursor:pointer;border-radius:50%;flex:none;place-items:center;margin-left:auto;padding:0;display:grid}.appbar-bell svg{width:16px;height:16px}.appbar-bell:hover{color:var(--ink);border-color:var(--line-strong)}.notifications-empty{text-align:center;justify-items:center;gap:4px;padding:26px 16px 30px;display:grid}.notifications-empty-mark{background:var(--surface-subtle);border:1px solid var(--line);width:52px;height:52px;color:var(--ink-3);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.notifications-empty-mark svg{width:22px;height:22px}.notifications-empty-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:15px;font-weight:600}.notifications-empty-sub{max-width:30ch;color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.5}.appbar-gear{background:var(--surface-subtle);border:1px solid var(--line);width:32px;height:32px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;text-decoration:none;display:grid}.appbar-gear svg{width:16px;height:16px}.appbar-gear.is-here{border-color:var(--primary);color:var(--primary-strong);box-shadow:0 0 0 2.5px rgba(var(--primary-rgb), .28)}[data-mode=dark] .appbar-gear.is-here{color:#fff}.tabbar{width:358px;max-width:calc(100% - 16px);left:50%;bottom:var(--dock-lift);z-index:10;height:var(--dock-h);grid-template-columns:repeat(5,1fr);align-items:center;padding:0 8px;display:grid;position:fixed;transform:translate(-50%)}.tabbar-glass{pointer-events:none;background:var(--glass);-webkit-backdrop-filter:blur(28px)saturate(1.25);border-radius:15px;position:absolute;inset:0;box-shadow:0 18px 40px -18px #0f121866,inset 0 1px #ffffff2e;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 358 68' preserveAspectRatio='none'%3E%3Cpath transform='translate(0 4)' fill='%23fff' d='M 15 0 L 148.1 0 A 8 8 0 0 0 154.3 1.1 A 32 32 0 1 0 203.7 1.1 A 8 8 0 0 0 209.9 0 L 343 0 A 15 15 0 0 1 358 15 L 358 53 A 15 15 0 0 1 343 68 L 15 68 A 15 15 0 0 1 0 53 L 0 15 A 15 15 0 0 1 15 0 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 358 68' preserveAspectRatio='none'%3E%3Cpath transform='translate(0 4)' fill='%23fff' d='M 15 0 L 148.1 0 A 8 8 0 0 0 154.3 1.1 A 32 32 0 1 0 203.7 1.1 A 8 8 0 0 0 209.9 0 L 343 0 A 15 15 0 0 1 358 15 L 358 53 A 15 15 0 0 1 343 68 L 15 68 A 15 15 0 0 1 0 53 L 0 15 A 15 15 0 0 1 15 0 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.tab{z-index:1;color:var(--ink-3);letter-spacing:.02em;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 2px;font-size:9.5px;font-weight:600;text-decoration:none;display:flex;position:relative}.tab svg{width:21px;height:21px}.tab-dot{opacity:0;background:currentColor;border-radius:99px;width:4px;height:4px;transition:opacity .15s}.tab:not(.tab-center).is-active{color:var(--primary-strong)}.tab:not(.tab-center).is-active .tab-dot{opacity:1}[data-mode=dark] .tab:not(.tab-center).is-active{color:#fff}.tab-center{background:var(--primary);color:#fff;width:58px;height:58px;box-shadow:0 10px 26px -8px rgba(var(--primary-rgb), .65), 0 0 0 5px rgba(var(--primary-rgb), .26), inset 0 1px 0 #ffffff47;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-20%)}.tab-center svg{flex:none;width:56px;height:56px;display:block}.tab-center .tab-dot{background:#ffffffd9;margin-top:0;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.tab-center.is-active .tab-dot{opacity:1}.bottom-fade{z-index:6;pointer-events:none;background:linear-gradient(to top, var(--canvas) 14%, transparent);height:118px;position:fixed;bottom:0;left:0;right:0}@media (max-width:860px){.mobile-chrome{display:contents}:is(body:has(.chat-composer :focus) .tabbar,body:has(.chat-composer :focus) .bottom-fade){display:none}body:has(.chat-composer :focus){--dock-h:0px}}@media (prefers-reduced-motion:reduce){.appbar,.tabbar,.fab,.bottom-fade{animation:none}}@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr);gap:0;padding:0}.shell-stage{padding:calc(104px + env(safe-area-inset-top)) 16px calc(var(--dock-lift) + var(--dock-h) + 42px);scrollbar-width:none;overscroll-behavior:contain}.shell-stage::-webkit-scrollbar{display:none}.shell:has(.screen-chat) .shell-stage{min-height:0;padding:0}.shell-stage .panel:nth-of-type(2){animation-delay:50ms}.shell-stage .panel:nth-of-type(3){animation-delay:.1s}.rail{display:none}}.appbar-gear:after,.appbar-bell:after{content:"";position:absolute;inset:-6px}.appbar-gear,.appbar-bell{position:relative}
