.app-body{min-height:100dvh;background:var(--bg-canvas)}main.page{max-width:var(--container);margin-inline:auto;padding:var(--s-8) var(--gutter-mobile) var(--s-16)}@media (min-width: 641px){main.page{padding-left:var(--gutter-tablet);padding-right:var(--gutter-tablet)}}@media (min-width: 1024px){main.page{padding-left:var(--gutter-desktop);padding-right:var(--gutter-desktop)}}.app-bar{position:sticky;top:0;z-index:40;background:var(--bg-card);border-bottom:1px solid var(--rule);height:56px;display:flex;align-items:center;padding-top:0;padding-bottom:0;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));gap:var(--space-4)}.app-bar .topbar-spacer{flex:1}.app-bar .topbar-nav{display:flex;align-items:center;gap:var(--space-1);margin-left:var(--space-2)}.app-bar .topbar-nav-item{padding:7px 14px;border-radius:var(--r-pill);font-size:13.5px;font-weight:600;color:var(--ink-2);text-decoration:none;transition:background var(--motion-fast),color var(--motion-fast)}.app-bar .topbar-nav-item:hover{background:var(--c-mist-50)}.app-bar .topbar-nav-item.active{background:var(--c-iris-100);color:var(--c-iris-700)}.app-bar .topbar-nav-item[aria-disabled=true]{color:var(--ink-3);cursor:default}.topbar-hamburger{display:none;background:transparent;border:0;cursor:pointer;padding:8px;border-radius:var(--radius-sm);color:var(--ink-1);align-items:center;justify-content:center}.topbar-hamburger:hover{background:var(--accent-interactive-tint)}.topbar-hamburger:focus-visible{outline:2px solid var(--accent-interactive);outline-offset:2px}@media (max-width: 639px){.app-bar .topbar-nav{display:none}.topbar-hamburger{display:inline-flex}}.topbar-drawer-backdrop{position:fixed;inset:56px 0 0;z-index:49;background:#0e17265c;opacity:0;pointer-events:none;transition:opacity var(--motion-base)}.topbar-drawer-backdrop.open{opacity:1;pointer-events:auto}.topbar-drawer{position:fixed;inset:56px 0 0;z-index:50;background:var(--bg-card);border-top:1px solid var(--rule);transform:translate(-100%);transition:transform var(--motion-base);display:flex;flex-direction:column;padding:var(--space-4) var(--space-6);gap:var(--space-2);overflow-y:auto}.topbar-drawer.open{transform:none}.topbar-drawer .topbar-nav-item{padding:12px 14px;font-size:var(--text-body);border-radius:var(--radius-sm);color:var(--ink-2);text-decoration:none;font-weight:500}.topbar-drawer .topbar-nav-item:hover,.topbar-drawer .topbar-nav-item.active{background:var(--accent-interactive-tint);color:var(--accent-interactive-hover)}@media (min-width: 640px){.topbar-drawer,.topbar-drawer-backdrop{display:none!important}}.avatar-menu{position:relative;display:inline-block}.avatar-menu .user-avatar{width:32px;height:32px;border-radius:9999px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--accent-ink);border:none;cursor:pointer;overflow:hidden;padding:0}.avatar-menu .user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar-menu .am-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:200px;padding:4px;margin:0;list-style:none;background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius-md);box-shadow:var(--el-2, 0 10px 30px rgba(0,0,0,.12))}.avatar-menu .am-panel[hidden]{display:none}.avatar-menu .am-item{display:flex;width:100%;align-items:center;gap:var(--space-2);padding:8px 10px;border-radius:var(--radius-sm);font-size:var(--text-body-sm);color:var(--ink-1);text-decoration:none;background:transparent;border:0;cursor:pointer;text-align:left}.avatar-menu .am-item:hover,.avatar-menu .am-item:focus{background:var(--accent-interactive-tint);outline:none}.avatar-menu .am-logout-form{margin:0;padding:0}.kbd-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:0;cursor:pointer;border-radius:var(--radius-sm, 6px);font-size:14px;font-weight:600;line-height:1;color:var(--ink-3, #6b7280);transition:background var(--motion-fast, .1s),color var(--motion-fast, .1s);flex-shrink:0}.kbd-help-trigger:hover{background:var(--accent-interactive-tint);color:var(--ink-1, #111827)}.kbd-help-trigger:focus-visible{outline:2px solid var(--accent-interactive, var(--accent, #2563eb));outline-offset:2px}@media (max-width: 767px){.kbd-help-trigger{display:none}}.app-bar .app-bar-search-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-full, 9999px);background:var(--bg-card);border:1px solid var(--rule);color:var(--ink-1);cursor:pointer;box-shadow:var(--el-1, var(--shadow-sm));transition:border-color var(--motion-fast, .1s),background var(--motion-fast, .1s),box-shadow var(--motion-fast, .1s),transform var(--motion-fast, .1s);flex-shrink:0}.app-bar .app-bar-search-trigger:hover{border-color:var(--accent-interactive-tint);background:var(--accent-interactive-tint);box-shadow:var(--el-2, 0 4px 12px rgba(0,0,0,.1))}.app-bar .app-bar-search-trigger:active{transform:scale(.96)}.app-bar .app-bar-search-trigger:focus-visible{outline:2px solid var(--accent-interactive, #2563eb);outline-offset:2px}.app-bar .app-bar-search-trigger[aria-expanded=true]{background:var(--accent-interactive-tint);border-color:var(--accent-interactive)}@media (prefers-reduced-motion: reduce){.app-bar .app-bar-search-trigger{transition:none;transform:none!important;animation:none}}.feedback-trigger{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:transparent;border:1px solid var(--rule);border-radius:var(--r-pill, 999px);font-size:var(--text-body-sm, 13px);font-weight:500;color:var(--ink-2);cursor:pointer;transition:background var(--motion-fast, .1s),color var(--motion-fast, .1s),border-color var(--motion-fast, .1s);flex-shrink:0}.feedback-trigger:hover{background:var(--accent-interactive-tint);color:var(--ink-1);border-color:var(--accent-interactive-tint)}.feedback-trigger:focus-visible{outline:2px solid var(--accent-interactive, #2563eb);outline-offset:2px}.topbar-anon-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}@media (max-width: 400px){.topbar-anon-actions .btn{padding:8px 12px;font-size:12.5px}}
