/* GSVM v2.1 — 6T design shell: eco bar, site header, right drawer, account menu, footer. Replaces the left sidebar. */
:root{--gs-bar:58px;--gs-bar-bg:#081626;--gs-bar-line:rgba(255,255,255,.08);--gs-tool-bg:#0d2130;--gs-tool-line:#31505b;--gs-tool-fg:#e8f0f0;--gs-rose:#a94f63;--gs-rose-line:#d47a8c;--gs-mint:#78e5d1;--gs-mint-ink:#0b2530;--gs-drawer:#0b1c2b;--gs-head:rgba(9,26,40,.92)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--gs-bar-bg:#f7f9fc;--gs-bar-line:#d4dce6;--gs-tool-bg:#ffffff;--gs-tool-line:#cfd8e3;--gs-tool-fg:#243750;--gs-rose:#b23a52;--gs-rose-line:#b23a52;--gs-mint:#0f8a6a;--gs-mint-ink:#ffffff;--gs-drawer:#ffffff;--gs-head:rgba(247,249,252,.94)}}
:root[data-theme="light"]{--gs-bar-bg:#f7f9fc;--gs-bar-line:#d4dce6;--gs-tool-bg:#ffffff;--gs-tool-line:#cfd8e3;--gs-tool-fg:#243750;--gs-rose:#b23a52;--gs-rose-line:#b23a52;--gs-mint:#0f8a6a;--gs-mint-ink:#ffffff;--gs-drawer:#ffffff;--gs-head:rgba(247,249,252,.94)}
body{padding-top:calc(var(--gs-bar) + env(safe-area-inset-top,0px))}
.page,.topbar{margin-left:0!important}
main section[id]{scroll-margin-top:calc(var(--gs-bar) + 14px)}
/* eco bar */
.gs-bar{position:fixed;top:0;left:0;right:0;z-index:70;height:calc(var(--gs-bar) + env(safe-area-inset-top,0px));box-sizing:border-box;padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--gs-bar-bg);border-bottom:1px solid var(--gs-bar-line);font-family:var(--f-body)}
.gs-bar-loc{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;color:var(--muted);white-space:nowrap}
.gs-bar-brand{color:var(--fg);text-decoration:none;font-size:14px}
.gs-bar-brand strong{font-weight:600;letter-spacing:.02em}
.gs-bar-div{opacity:.55}
.gs-bar-page{color:var(--fg);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.gs-bar-actions{display:flex;align-items:center;gap:8px;flex:none}
.gs-tool{height:38px;min-width:38px;box-sizing:border-box;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--gs-tool-line);background:var(--gs-tool-bg);color:var(--gs-tool-fg);border-radius:8px;font:600 13px/1 var(--f-body);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.gs-tool:hover{border-color:var(--gs-mint)}
.gs-tool:focus-visible,.gs-row:focus-visible,.gs-acct-menu a:focus-visible,.gs-acct-menu button:focus-visible,.gs-d-close:focus-visible{outline:2px solid var(--gs-mint);outline-offset:2px}
.gs-tool svg,.gs-d-search svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.gs-login{border-color:var(--gold);color:var(--gold)}
.gs-login:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent)}
.gs-login.on{background:var(--gold);color:var(--gold-ink)}
.gs-login .caret{font-size:11px;opacity:.85;margin-left:-2px}
#loginLbl{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}
.gs-menu{background:var(--gs-rose);border-color:var(--gs-rose-line);color:#fff}
.gs-menu:hover{border-color:#fff}
/* account menu */
.gs-acct{position:relative}
.gs-acct-menu{position:absolute;right:0;top:calc(100% + 8px);width:270px;max-width:calc(100vw - 32px);box-sizing:border-box;background:var(--gs-drawer);border:1px solid var(--line2);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:80}
.gs-acct-head{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.gs-acct-head b{display:block;font-size:14px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gs-acct-head small{display:block;font-family:var(--f-mono);font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.gs-acct-menu a,.gs-acct-menu button{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:10px 12px;border:0;background:transparent;color:var(--fg);text-decoration:none;font:500 14px var(--f-body);border-radius:8px;cursor:pointer;text-align:left}
.gs-acct-menu i{font-style:normal;width:18px;text-align:center;color:var(--gold);flex:none}
.gs-acct-menu a:hover,.gs-acct-menu button:hover{background:var(--surface2)}
.gs-acct-menu .sep{height:1px;background:var(--line);margin:6px 4px}
.gs-acct-menu .danger,.gs-acct-menu .danger i{color:var(--rose)}
.gs-acct-note{display:flex;gap:10px;padding:8px 12px 10px;font-size:12px;line-height:1.45;color:var(--muted)}
.gs-acct-note i{color:var(--muted)!important}
/* site header */
.site-header{position:relative;z-index:40;background:var(--gs-head);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.sh-wrap{max-width:1440px;margin:0 auto;box-sizing:border-box;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));height:76px;display:flex;align-items:center;gap:24px}
.site-header .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg);min-width:0}
.brand-symbol{display:grid;place-items:center;width:43px;height:43px;box-sizing:border-box;border:1px solid var(--gs-mint);border-radius:14px;color:var(--gs-mint);font:600 15px var(--f-mono);flex:none;letter-spacing:.02em}
.brand-symbol.sm{width:36px;height:36px;border-radius:11px;font-size:12px}
.site-header .brand b{display:block;font-size:15px;font-weight:600;letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg)}
.site-header .brand small{display:block;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;margin-top:2px}
.site-header nav.main-nav{display:flex;gap:2px;margin-left:auto;flex-wrap:nowrap}
.site-header nav.main-nav a{padding:10px 11px;border-radius:8px;text-decoration:none;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap;background:transparent}
.site-header nav.main-nav a:hover,.site-header nav.main-nav a.active{background:var(--surface);color:var(--fg)}
.nav-actions{display:flex;gap:12px;align-items:center;flex:none}
.nav-live{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--gs-mint-ink);background:var(--gs-mint);padding:11px 14px;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap;transition:filter .2s}
.nav-live:hover{filter:brightness(1.08)}
.nav-live .dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 25%,transparent)}
/* drawer */
.gs-backdrop{position:fixed;inset:0;z-index:84;background:rgba(2,8,14,.62);backdrop-filter:blur(2px)}
.gs-drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,100vw);box-sizing:border-box;z-index:85;background:var(--gs-drawer);border-left:1px solid var(--line2);display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);font-family:var(--f-body)}
body.gs-open .gs-drawer{transform:none;visibility:visible;transition:transform .25s ease}
body.gs-open{overflow:hidden}
.gs-d-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.gs-d-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);min-width:0}
.gs-d-brand b{display:block;font-size:14px;font-weight:600;letter-spacing:.04em}
.gs-d-brand small{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);font-weight:600}
.gs-d-close{width:38px;height:38px;flex:none;border:1px solid var(--gs-tool-line);background:var(--gs-tool-bg);color:var(--fg);border-radius:8px;font-size:22px;line-height:1;cursor:pointer}
.gs-d-search{margin:12px 12px 4px;position:relative;color:var(--muted)}
.gs-d-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px}
.gs-d-search input{width:100%;box-sizing:border-box;height:42px;padding:0 12px 0 38px;border:1px solid var(--gs-tool-line);background:transparent;color:var(--fg);border-radius:10px;font:inherit;font-size:14px}
.gs-d-search input:focus{outline:none;border-color:var(--gs-mint)}
.gs-d-scroll{flex:1;overflow:auto;padding:4px 10px 16px;overscroll-behavior:contain;scrollbar-width:thin}
.gs-group{border-bottom:1px solid var(--line);padding:6px 0}
.gs-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:10px 8px;color:var(--rose);font:700 11px var(--f-body);letter-spacing:.16em;text-transform:uppercase}
.gs-group summary::-webkit-details-marker{display:none}
.gs-group summary::after{content:"\2304";color:var(--muted);font-size:14px;transition:transform .2s}
.gs-group:not([open]) summary::after{transform:rotate(-90deg)}
.gs-group>div,.gs-group>nav{display:flex;flex-direction:column;gap:2px}
.gs-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--fg);font-size:14px;font-weight:500;border-left:3px solid transparent}
.gs-row i{font-style:normal;width:18px;text-align:center;color:var(--muted);flex:none}
.gs-row .ext{margin-left:auto;color:var(--muted);font-size:12px;font-style:normal}
.gs-row:hover{background:var(--surface2)}
.gs-row.active{background:linear-gradient(90deg,color-mix(in srgb,var(--rose) 18%,transparent),transparent);border-left-color:var(--rose)}
.gs-row.member i{color:var(--gold)}
.gs-row.filtered{display:none}
.gs-d-foot{margin:0;padding:12px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
/* footer */
footer.site-footer{background:var(--bg2);border-top:1px solid var(--line);color:var(--muted);padding:0;font-size:13px}
.sf-inner,.sf-bottom{max-width:1440px;margin:0 auto;box-sizing:border-box;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.sf-inner{padding-top:56px;padding-bottom:48px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.sf-brand strong{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:var(--gs-mint);letter-spacing:.05em}
.sf-brand p{max-width:360px;font-size:13px;margin:1rem 0 .5rem;color:var(--fg)}
.sf-brand small{display:block;max-width:440px;font-size:11px;line-height:1.6;color:var(--muted)}
.sf-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.sf-col>span{color:var(--gs-mint);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-bottom:6px}
footer.site-footer .sf-col a{color:var(--muted);text-decoration:none;font-size:13px}
footer.site-footer .sf-col a:hover{color:var(--gs-mint)}
.sf-wrap-b{border-top:1px solid var(--line)}
.sf-bottom{padding-top:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;gap:12px 24px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted)}
footer.site-footer .sf-bottom a{color:var(--muted);text-decoration:none;white-space:nowrap}
footer.site-footer .sf-bottom a:hover{color:var(--gs-mint)}
/* responsive */
@media (max-width:1240px){.site-header nav.main-nav{display:none}.nav-actions{margin-left:auto}}
@media (max-width:900px){.sf-inner{grid-template-columns:1fr 1fr}.sf-brand{grid-column:1/-1}}
@media (max-width:760px){.gs-tool-text{display:none}.gs-tool{padding:0 10px}}
@media (max-width:640px){.sh-wrap{height:64px;gap:12px}.site-header .brand b{font-size:12px;white-space:normal;line-height:1.25}.site-header .brand small{display:none}.nav-live{display:none}.brand-symbol{width:38px;height:38px;border-radius:12px;font-size:13px}}
@media (max-width:520px){.gs-bar-div,.gs-bar-page{display:none}.gs-bar-actions{gap:6px}.gs-tool{min-width:36px;height:36px;padding:0 9px}#loginLbl{max-width:78px}.sf-bottom{flex-direction:column;align-items:flex-start}}
@media (max-width:420px){.sf-inner{grid-template-columns:1fr}}
@media (max-width:359px){.gs-login .caret{display:none}#loginLbl{max-width:58px}}
@media (prefers-reduced-motion:reduce){.gs-drawer,.gs-tool,.nav-live{transition:none}}
