/* 6T shared shell v3.0 — topbar, site header, mega menu, footer. Tokens come from css/app.css. */
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:#07111d;padding:8px 12px;border-radius:8px;z-index:200;font-weight:600}
.skip:focus{left:12px}
.sh-top{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:8px;padding:6px 14px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);font-size:.82rem}
.sh-crumb{display:flex;align-items:center;gap:8px;color:var(--fg);text-decoration:none;font-weight:600}
.sh-eco b{font-family:var(--f-mono)}
.sh-sep{color:var(--mute)}
.sh-sp{flex:1}
.sh-ib{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);color:var(--fg);border-radius:9px;padding:6px 10px;font:inherit;font-size:.8rem;cursor:pointer;text-decoration:none;line-height:1}
.sh-ib:hover{border-color:var(--accent)}
.sh-ib.ico{width:34px;height:32px;justify-content:center;padding:0}
.sh-ib.pri{background:var(--accent);color:#07111d;border-color:var(--accent);font-weight:600}
.sh-ib .k{font:11px var(--f-mono);border:1px solid var(--line);border-radius:6px;padding:1px 5px;color:var(--mute)}
@media (max-width:720px){.sh-ib .t,.sh-ib .k{display:none}.sh-ib.lbl{width:34px;height:32px;justify-content:center;padding:0}}
.sh-head{position:sticky;top:45px;z-index:55;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.sh-head .in{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:8px 18px}
.sh-head .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)}
.sh-head .brand .mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font:700 13px var(--f-mono);background:conic-gradient(from 200deg,#5aa9ff,#f2b84b,#e06bd0,#3fd0b4,#a38bff,#ff7a6b,#5aa9ff);color:#07111d}
.sh-head .brand b{display:block;font-family:var(--f-display);font-size:1.05rem;line-height:1.05}
.sh-head .brand small{display:block;font:500 9.5px var(--f-mono);letter-spacing:.14em;color:var(--mute);margin-top:3px}
.sh-head nav{display:flex;gap:2px;flex:1;flex-wrap:wrap;align-items:center}
.sh-head nav a,.sh-head nav summary{padding:8px 10px;border-radius:8px;color:var(--mute);text-decoration:none;font-size:.86rem;font-weight:500;white-space:nowrap;cursor:pointer;list-style:none}
.sh-head nav a:hover,.sh-head nav summary:hover{color:var(--fg);background:var(--bg2)}
.sh-head nav a[aria-current]{color:var(--fg);background:var(--bg2);box-shadow:inset 0 -2px 0 var(--accent)}
.sh-more{position:relative}
.sh-more summary::-webkit-details-marker{display:none}
.sh-more-menu{position:absolute;top:100%;left:0;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(0,0,0,.25);z-index:70}
@media (max-width:980px){.sh-head nav{display:none}}
.sh-scrim{position:fixed;inset:0;background:rgba(3,10,20,.55);opacity:0;pointer-events:none;transition:opacity .2s;z-index:80}
.sh-scrim.open{opacity:1;pointer-events:auto}
.sh-mega{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .25s;z-index:90;display:flex;flex-direction:column}
.sh-mega.open{transform:none}
.sh-mega header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.sh-mega header .mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font:700 12px var(--f-mono);background:conic-gradient(from 200deg,#5aa9ff,#f2b84b,#e06bd0,#3fd0b4,#a38bff,#ff7a6b,#5aa9ff);color:#07111d}
.sh-mega header b{display:block;font-family:var(--f-display)}
.sh-mega header small{display:block;font:500 9.5px var(--f-mono);letter-spacing:.14em;color:var(--mute)}
.sh-q{display:flex;align-items:center;gap:8px;margin:12px 16px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--panel)}
.sh-q input{flex:1;border:0;background:transparent;color:var(--fg);font:inherit;outline:none}
.sh-body{flex:1;overflow:auto;padding:0 8px 12px}
.sh-grp>button{width:100%;text-align:left;background:transparent;border:0;color:var(--mute);font:600 10.5px var(--f-mono);letter-spacing:.14em;padding:12px 10px 6px;cursor:pointer}
.sh-grp[data-open="false"] ul{display:none}
.sh-grp ul{list-style:none;margin:0;padding:0}
.sh-grp li a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:var(--fg);text-decoration:none;font-size:.88rem}
.sh-grp li a:hover,.sh-grp li a[aria-current]{background:var(--bg2)}
.sh-grp li a .i{width:26px;text-align:center;color:var(--accent);font-family:var(--f-mono)}
.sh-grp li a small{display:block;color:var(--mute);font-size:.76rem}
.sh-grp li a .tag{margin-left:auto;font:10px var(--f-mono);border:1px solid var(--line);border-radius:6px;padding:2px 6px;color:var(--mute)}
.sh-mega footer{padding:10px 16px;border-top:1px solid var(--line);font:11px var(--f-mono);color:var(--mute);display:flex;gap:8px}
.sh-foot{border-top:1px solid var(--line);margin-top:48px;background:var(--bg2)}
.sh-foot .in{max-width:1240px;margin:0 auto;padding:36px 18px 20px;display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:24px}
@media (max-width:900px){.sh-foot .in{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sh-foot .in{grid-template-columns:1fr}}
.sh-foot h4{margin:0 0 10px;font:600 10.5px var(--f-mono);letter-spacing:.14em;color:var(--mute)}
.sh-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sh-foot a{color:var(--fg);text-decoration:none;font-size:.86rem}
.sh-foot a:hover{color:var(--accent)}
.sh-foot .brand p{color:var(--mute);font-size:.86rem;max-width:44ch;margin:10px 0}
.sh-std{display:flex;flex-wrap:wrap;gap:6px}
.sh-std a{font:10.5px var(--f-mono);border:1px solid var(--line);border-radius:6px;padding:3px 7px;color:var(--mute)}
.sh-foot .legal{max-width:1240px;margin:0 auto;padding:14px 18px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.76rem;color:var(--mute)}
