/* Shared phone layer for D2 pages, 28 Oct phone fixes. Glass panels, filled pills, gold accents, no hairlines. DRAFT. */
body:not(.dev) .rail{display:none!important}
html.gm-lock,html.gm-lock body{overflow:hidden}
html.gos-ph{overscroll-behavior-y:none}
/* app-like: no pinch or double-tap zoom, panning still works */
html,body{touch-action:pan-x pan-y}
.sp-pill,.sc-top a,.top .pill,.top .back,.menu,.mark,.sc-bot a,.go,.btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
a.mark{color:inherit;text-decoration:none}
.menu{cursor:pointer;touch-action:manipulation}
/* phones drop the lone wallet circle, the wallet sits at the top of the menu */
@media (max-width:820px){.top #wal{display:none!important}}
.gos-reset{background:rgba(217,164,65,.22)!important;color:#F4D27A!important}

/* menu drawer */
.gm{position:fixed;inset:0;z-index:90;pointer-events:none}
.gm-dim{position:absolute;inset:0;background:rgba(6,8,7,.55);opacity:0;transition:opacity .25s}
.gm-pan{position:absolute;top:0;right:0;bottom:0;width:min(340px,86vw);padding:calc(16px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));
 background:rgba(20,22,20,.86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px 0 0 24px;transform:translateX(104%);transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;gap:14px;overflow-y:auto;font-family:Inter,sans-serif;color:#F2EEE3}
.gm.on{pointer-events:auto}.gm.on .gm-dim{opacity:1}.gm.on .gm-pan{transform:none}
.gm-hd{display:flex;align-items:center;justify-content:space-between}
.gm-hd b{font:700 19px/1 'Cormorant Garamond',serif}.gm-hd b i{font-weight:500;color:#E0A93A}
.gm-x{width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.09);color:#F2EEE3;display:grid;place-items:center;cursor:pointer}
.gm-wal{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:10px 12px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.06)}
.gm-crest{width:40px;height:40px}.gm-crest svg{width:100%;height:100%;display:block}
.gm-wt{display:flex;flex-direction:column;gap:4px;min-width:0}.gm-wt b{font:600 15px/1.1 Inter;font-variant-numeric:tabular-nums}.gm-wt span{font:400 12px/1.2 Inter;color:#9A9384}
.gm-disc{grid-column:1/-1;height:38px;border-radius:19px;border:0;background:rgba(255,255,255,.09);color:#F2EEE3;font:500 13px/1 Inter;cursor:pointer}
.gm-conn{grid-column:1/-1;height:42px;border-radius:21px;background:#E0A93A;color:#17120B;font:600 14px/42px Inter;text-align:center;text-decoration:none}
.gm-nav{display:flex;flex-direction:column;gap:6px}
.gm-link{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;border-radius:16px;background:rgba(255,255,255,.04);color:#F2EEE3;text-decoration:none;font:500 15px/1 Inter}
.gm-link.on{background:rgba(224,169,58,.18);color:#F4D27A}.gm-link small{font:500 11px/1 Inter;color:#E0A93A}
.gm-fine{margin-top:auto;font:400 11.5px/1.3 Inter;color:#9A9384;text-align:center}

/* get a fair pass sheet, bottom sheet on phones, centred modal on desktop */
.gp{position:fixed;inset:0;z-index:95;pointer-events:none;font-family:Inter,sans-serif;color:#F2EEE3}
.gp-dim{position:absolute;inset:0;background:rgba(6,8,7,.5);opacity:0;transition:opacity .25s}
.gp-card{position:absolute;left:50%;top:50%;width:min(420px,calc(100vw - 32px));transform:translate(-50%,-46%) scale(.97);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s;
 padding:26px 22px 22px;border-radius:24px;background:rgba(20,22,20,.8);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 24px 60px rgba(0,0,0,.45);text-align:center}
.gp.on{pointer-events:auto}.gp.on .gp-dim{opacity:1}.gp.on .gp-card{opacity:1;transform:translate(-50%,-50%)}
.gp-grab{display:none}
.gp-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.09);color:#F2EEE3;display:grid;place-items:center;cursor:pointer}
.gp-steps{display:flex;gap:6px;justify-content:center;margin:2px 0 18px}.gp-steps i{width:22px;height:6px;border-radius:3px;background:rgba(255,255,255,.14);transition:background .25s,width .25s}
.gp-steps i.on{background:#E0A93A;width:34px}.gp-steps i.d{background:rgba(224,169,58,.55)}
.gp h3{font:700 21px/1.2 Inter;color:#fff;margin:0 0 8px}
.gp-sub{font:400 13.5px/1.45 Inter;color:#9A9384;margin:0 auto 18px;max-width:320px}
.gp-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 18px}.gp-pills span{padding:8px 13px;border-radius:16px;background:rgba(255,255,255,.08);font:500 12px/1 Inter;color:#DCD5C4}
.gp-rows{display:flex;flex-direction:column;gap:6px;margin:0 0 18px}.gp-rows div{display:flex;justify-content:space-between;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);font:400 13px/1 Inter}
.gp-rows span{color:#9A9384}.gp-rows b{font-weight:600;color:#F2EEE3;font-variant-numeric:tabular-nums}
.gp-btn{width:100%;height:50px;border-radius:25px;border:0;background:#E0A93A;color:#17120B;font:700 15px/1 Inter;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.gp-btn:active{transform:scale(.98)}
.gp-fine{margin:12px 0 0;font:400 11.5px/1 Inter;color:#9A9384}
.gp-spin{width:44px;height:44px;margin:4px auto 16px;border-radius:50%;background:conic-gradient(#E0A93A 0 28%,rgba(255,255,255,.1) 28% 100%);-webkit-mask:radial-gradient(circle,transparent 15px,#000 16px);mask:radial-gradient(circle,transparent 15px,#000 16px);animation:gpspin .9s linear infinite}
@keyframes gpspin{to{transform:rotate(360deg)}}
.gp-ok{width:54px;height:54px;margin:2px auto 14px;border-radius:50%;background:#E0A93A;color:#17120B;display:grid;place-items:center;animation:gppop .35s cubic-bezier(.2,1.4,.4,1)}
@keyframes gppop{from{transform:scale(.6);opacity:0}}
@media (max-width:820px){
 .gp-card{left:0;right:0;top:auto;bottom:0;width:auto;border-radius:24px 24px 0 0;padding:12px 20px calc(22px + env(safe-area-inset-bottom));transform:translateY(105%);opacity:1}
 .gp.on .gp-card{transform:none}
 .gp-grab{display:block;width:40px;height:5px;border-radius:3px;background:rgba(255,255,255,.2);margin:0 auto 14px}
}
/* toast in the same glass style */
.gos-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;z-index:99;padding:12px 18px;border-radius:20px;background:rgba(20,22,20,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#F2EEE3;font:500 13px/1 Inter;transition:opacity .25s,transform .25s;pointer-events:none}
.gos-toast.on{opacity:1;transform:translate(-50%,0)}
.gp-who{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 18px;padding:10px 16px;border-radius:18px;background:rgba(255,255,255,.07);width:max-content}.gp-who svg{width:26px;height:26px}.gp-who b{font:600 14px/1 Inter;font-variant-numeric:tabular-nums}
/* dev switcher, only with ?dev */
body.dev .rail{position:fixed!important;left:10px;right:10px;top:auto!important;bottom:calc(10px + env(safe-area-inset-bottom));z-index:80;display:flex;gap:4px;flex-wrap:wrap;max-height:30vh;overflow:auto;padding:6px;border-radius:14px;background:rgba(16,17,15,.9);border:0!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body.dev .rail a{font:500 11px/1 Inter,sans-serif;padding:7px 9px;border-radius:8px;color:rgba(242,238,227,.78);text-decoration:none;background:rgba(255,255,255,.05)}
body.dev .rail a.on{background:#D9A441;color:#17120B}
/* stable art behind scrolling dashboards. Fixed layers sized to the large viewport so the toolbar collapsing never rescales the art */
.bgart,.shade{bottom:auto!important;height:100vh;height:100lvh}
/* menu shell never picks up page card styles (fair_pass/fp.css also has a .gm class) */
#gosMenu{border:0!important;padding:0!important;background:none!important;border-radius:0!important;display:block!important;box-shadow:none!important}
