/* The one top bar on every page (public/js/chrome.js). One row, fixed height, so pages never jump while it fills in. */
.chrome{--ch:64px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:8px;height:calc(var(--ch) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) clamp(16px,4vw,56px) 0;background:var(--panel,#fff);border-bottom:1px solid var(--hair,#eceef3);font-family:Inter,system-ui,sans-serif;box-sizing:border-box;flex:none}
.chrome *{box-sizing:border-box}
.chrome .cbrand{flex:none;color:var(--ink,#1f2633);text-decoration:none;margin-right:20px}
.chrome .cbrand b{font-size:20px;font-weight:700;letter-spacing:-.4px}
.chrome .cnav{display:flex;align-items:stretch;gap:2px;height:100%;min-width:0;flex:1}
.chrome .cnav a{display:flex;align-items:center;padding:0 12px;color:var(--mute,#6b7385);text-decoration:underline 2px transparent;text-underline-offset:8px;font-size:15px;font-weight:500;white-space:nowrap;transition:color .15s ease-out,text-decoration-color .15s ease-out}
.chrome .cnav a:hover{color:var(--ink,#1f2633)}
.chrome .cnav a[aria-current=page]{color:var(--ink,#1f2633);text-decoration-color:var(--ink,#1f2633)}
.chrome .cright{flex:none;display:flex;align-items:center;gap:8px;margin-left:auto}
.chrome .cacct{display:flex;align-items:center;gap:8px}
.chrome .ibtn{width:40px;height:40px;border-radius:100px;border:0;background:var(--soft,#f1f2f6);color:var(--ink,#1f2633);display:grid;place-items:center;cursor:pointer;padding:0;flex:none}
.chrome .ibtn svg{width:18px;height:18px}
.chrome .csignin{color:var(--ink,#1f2633);text-decoration:none;font-size:15px;font-weight:600;padding:9px 12px;white-space:nowrap}
.chrome .cjoin{background:var(--navy,#3a4766);color:#fff;text-decoration:none;font-size:15px;font-weight:600;padding:10px 16px;border-radius:5px;white-space:nowrap}
.chrome .cmenubtn{display:none}
.cav{width:40px;height:40px;border-radius:50%;overflow:hidden;padding:0;border:2px solid var(--panel,#fff);box-shadow:0 0 0 1px var(--hair,#eceef3);background:var(--soft,#f1f2f6);cursor:pointer;flex:none;display:block}
.cav svg,.cav img{width:100%;height:100%;display:block;object-fit:cover}
.cav.big{width:44px;height:44px;cursor:default}
.chrome .cav:hover{box-shadow:0 0 0 2px var(--acc,#7d63c9)}
.chrome a:focus-visible,.chrome button:focus-visible,.cmenu a:focus-visible,.cmenu button:focus-visible,.cdrawer a:focus-visible,.cdrawer button:focus-visible{outline:2px solid var(--acc,#7d63c9);outline-offset:2px}

/* Account menu */
.cmenu{position:fixed;z-index:40;width:260px;background:var(--panel,#fff);border:1px solid var(--hair,#eceef3);border-radius:5px;box-shadow:0 12px 40px rgba(30,40,70,.14);padding:6px;font-family:Inter,system-ui,sans-serif}
.cmwho{display:flex;align-items:center;gap:12px;padding:10px 10px 12px;margin-bottom:4px;border-bottom:1px solid var(--hair,#eceef3)}
.cmwho b{display:block;font-size:15px;color:var(--ink,#1f2633);letter-spacing:.02em}
.cmwho small{display:block;font-size:13px;color:var(--mute,#6b7385);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}
.cmenu a,.cmenu button,.cdacct a,.cdacct button{display:block;width:100%;text-align:left;padding:10px;border:0;background:none;border-radius:5px;color:var(--ink,#1f2633);text-decoration:none;font:500 15px Inter,system-ui,sans-serif;cursor:pointer}
.cmenu a:hover,.cmenu button:hover,.cdacct a:hover,.cdacct button:hover{background:var(--soft,#f1f2f6)}

/* Narrow screens: the sections move into a drawer that opens from the right. Nothing scrolls sideways. */
.cscrim{position:fixed;inset:0;z-index:38;background:rgba(20,24,40,.32);opacity:0;pointer-events:none;transition:opacity .2s ease-out}
.cscrim.on{opacity:1;pointer-events:auto}
.cdrawer{position:fixed;top:0;right:0;bottom:0;z-index:39;width:min(320px,100vw);background:var(--panel,#fff);padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .28s cubic-bezier(.16,1,.3,1),visibility 0s linear .28s;font-family:Inter,system-ui,sans-serif;box-shadow:0 20px 60px rgba(60,70,100,.18)}
.cdrawer.on{transform:none;visibility:visible;transition:transform .28s cubic-bezier(.16,1,.3,1)}
.cdrawer .cclose{display:grid;margin:0 0 8px auto;width:44px;height:44px;border-radius:100px;border:0;background:var(--soft,#f1f2f6);color:var(--ink,#1f2633);font-size:22px;cursor:pointer;place-items:center}
.cdnav{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--hair,#eceef3)}
.cdnav a{padding:12px 10px;border-radius:5px;color:var(--ink,#1f2633);text-decoration:none;font-size:16px;font-weight:500}
.cdnav a[aria-current=page]{background:var(--soft,#f1f2f6);font-weight:600}
@media (max-width:1040px){.chrome .cnav a{padding:0 9px;font-size:14px}.chrome .cbrand{margin-right:12px}}
@media (max-width:900px){.chrome .cnav{display:none}.chrome .cmenubtn{display:grid}.chrome .ibtn,.chrome .cav{width:44px;height:44px}}
@media (max-width:520px){.chrome{gap:6px}.chrome .csignin{display:none}.chrome .cjoin{padding:8px 12px;font-size:14px}.chrome .cjfull{display:none}.chrome .cright{gap:4px}.chrome .ibtn{width:38px;height:38px}.chrome .cbrand b{font-size:18px}.chrome .cright{gap:6px}}
@media (prefers-reduced-motion:reduce){.cdrawer,.cscrim,.chrome .cnav a{transition:none}}

/* Pages under the bar: the app's phone column starts below it. */
body:has(> .chrome) .show{top:64px}
body:has(> .chrome) .panel{min-height:calc(100dvh - 64px)}
