/* 6T · shared shell — topbar · mega menu · collapsible sidebar · footer (v2.1, 2026-10-30) */
:root{--sh-h:52px;--sh-rail:232px;--sh-rail-min:64px;--sh-ease:cubic-bezier(.2,.7,.2,1)}
body{padding-top:var(--sh-h)}
.sh-top{position:fixed;inset:0 0 auto 0;height:var(--sh-h);z-index:80;display:flex;align-items:center;gap:10px;padding:0 max(14px,env(safe-area-inset-left)) 0 max(14px,env(safe-area-inset-left));
background:color-mix(in srgb,var(--bg2) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);box-sizing:content-box}
.sh-top .sh-crumb{display:flex;align-items:center;gap:8px;min-width:0;text-decoration:none;color:var(--fg);font-weight:600;font-size:.92rem}
.sh-top .sh-crumb .sh-eco{display:inline-flex;align-items:center;gap:6px;color:var(--mute);font-weight:500}
.sh-top .sh-crumb .sh-eco b{font-family:var(--f-display);color:var(--fg)}
.sh-top .sh-crumb .sh-sep{color:var(--line);font-weight:300}
.sh-top .sh-crumb .sh-site{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-top .sh-sp{flex:1}
.sh-ib{appearance:none;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:500 .82rem var(--f-body);cursor:pointer;text-decoration:none;white-space:nowrap}
.sh-ib:hover{border-color:var(--accent)} .sh-ib .k{font:500 .66rem var(--f-mono);color:var(--mute);border:1px solid var(--line);border-radius:5px;padding:1px 5px}
.sh-ib.pri{background:var(--accent);color:#141006;border-color:var(--accent)}
.sh-ib.ico{width:36px;padding:0;justify-content:center}
.sh-ib[aria-expanded="true"]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}
.sh-burger{display:none}
/* mega drawer */
.sh-scrim{position:fixed;inset:0;z-index:90;background:rgba(3,8,14,.55);opacity:0;pointer-events:none;transition:opacity .25s}
.sh-scrim.open{opacity:1;pointer-events:auto}
.sh-mega{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);z-index:91;background:var(--bg2);border-left:1px solid var(--line);transform:translateX(104%);transition:transform .32s var(--sh-ease);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);box-shadow:-30px 0 80px rgba(0,0,0,.4)}
.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{font-family:var(--f-display);display:block;line-height:1.1} .sh-mega header small{font:500 .62rem var(--f-mono);letter-spacing:.12em;color:var(--mute)}
.sh-mega .sh-q{margin:12px 16px 4px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:0 10px}
.sh-mega .sh-q input{flex:1;min-width:0;background:none;border:0;color:var(--fg);font:inherit;padding:9px 0;outline:none}
.sh-mega .sh-body{overflow-y:auto;padding:6px 10px 16px;flex:1}
.sh-grp{margin:10px 0}
.sh-grp > button{appearance:none;width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;color:var(--mute);font:600 .68rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;padding:8px 8px;cursor:pointer}
.sh-grp > button::after{content:"⌄";font-size:1rem;transition:transform .2s} .sh-grp[data-open="false"] > button::after{transform:rotate(-90deg)}
.sh-grp[data-open="false"] ul{display:none}
.sh-grp ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.sh-grp li a{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border-radius:9px;color:var(--fg);text-decoration:none;font-size:.9rem}
.sh-grp li a:hover,.sh-grp li a:focus-visible{background:var(--panel)}
.sh-grp li a[aria-current="true"]{background:var(--panel);box-shadow:inset 2px 0 0 var(--accent)}
.sh-grp li a .i{font-size:.95rem;text-align:center;color:var(--accent2)} .sh-grp li a small{display:block;color:var(--mute);font-size:.74rem}
.sh-grp li a .tag{font:500 .62rem var(--f-mono);color:var(--mute);border:1px solid var(--line);border-radius:5px;padding:1px 5px;white-space:nowrap}
.sh-mega footer{border-top:1px solid var(--line);padding:10px 16px;font-size:.74rem;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* collapsible sidebar (nexus rail) */
.shell{transition:grid-template-columns .3s var(--sh-ease)}
.rail{transition:width .3s var(--sh-ease),padding .3s var(--sh-ease)}
.rail .brand{display:none}
.sh-collapse{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--mute);border-radius:8px;width:100%;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font:500 .78rem var(--f-body)}
.sh-collapse:hover{color:var(--fg);border-color:var(--accent)}
body.rail-min .shell{grid-template-columns:var(--sh-rail-min) minmax(0,1fr)}
body.rail-min .rail{padding-left:10px;padding-right:10px}
body.rail-min .nav a{justify-content:center;padding:10px 0} body.rail-min .nav a b{position:absolute;left:-9999px}
body.rail-min .nav a span{width:auto;opacity:1;font-size:.8rem}
body.rail-min .rail .btn[data-act="palette"] span:first-child,body.rail-min .rail .pill,body.rail-min .rail-foot .status,body.rail-min .sh-collapse span{display:none}
body.rail-min .rail-foot .row{flex-direction:column}
.nav a{position:relative} .nav a[title]:hover::after{content:attr(title);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--fg);color:var(--bg);font-size:.78rem;padding:4px 8px;border-radius:6px;white-space:nowrap;z-index:5;display:none}
body.rail-min .nav a[title]:hover::after{display:block}
.rail{top:calc(var(--sh-h) + env(safe-area-inset-top,0px));height:calc(100vh - var(--sh-h) - env(safe-area-inset-top,0px))}
.top{display:none!important}
/* section header strip (iqm) */
.sh-head{position:sticky;top:calc(var(--sh-h) + env(safe-area-inset-top,0px));z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.sh-head .in{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:10px max(20px,env(safe-area-inset-left))}
.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 12px var(--f-mono);background:conic-gradient(from 200deg,#5aa9ff,#f2b84b,#e06bd0,#3fd0b4,#a38bff,#ff7a6b,#5aa9ff);color:#07111d}
.sh-head .brand b{font-family:var(--f-display);font-size:1.05rem;display:block;line-height:1.05} .sh-head .brand small{font:500 .6rem var(--f-mono);letter-spacing:.14em;color:var(--mute)}
.sh-head nav{display:flex;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none} .sh-head nav::-webkit-scrollbar{display:none}
.sh-head nav a{padding:8px 11px;border-radius:8px;color:var(--mute);text-decoration:none;font-weight:500;font-size:.9rem;white-space:nowrap}
.sh-head nav a:hover{color:var(--fg);background:var(--panel)} .sh-head nav a[aria-current="page"]{color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}
/* footer */
.sh-foot{border-top:1px solid var(--line);background:var(--bg2);margin-top:48px}
.sh-foot .in{max-width:1240px;margin:0 auto;padding:40px max(20px,env(safe-area-inset-left)) 28px;display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:28px}
.sh-foot .brand{display:flex;flex-direction:column;gap:10px}
.sh-foot .brand p{color:var(--mute);font-size:.88rem;max-width:34ch}
.sh-foot h4{margin:0 0 10px;font:600 .68rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.sh-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.sh-foot a{color:var(--fg);text-decoration:none;font-size:.9rem} .sh-foot a:hover{color:var(--accent)}
.sh-foot .sh-std{display:flex;flex-wrap:wrap;gap:6px}
.sh-foot .sh-std a{font:500 .68rem var(--f-mono);border:1px solid var(--line);border-radius:99px;padding:3px 8px;color:var(--mute)}
.sh-foot .legal{max-width:1240px;margin:0 auto;padding:14px max(20px,env(safe-area-inset-left)) calc(22px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.78rem;color:var(--mute)}
.sh-foot .legal .row a{color:var(--mute)}
@media (max-width:1100px){.sh-foot .in{grid-template-columns:1fr 1fr 1fr}.sh-foot .brand{grid-column:1/-1}}
@media (max-width:820px){.sh-top .sh-crumb .sh-site{display:none}.sh-ib.lbl .t{display:none}.sh-ib.lbl{width:36px;padding:0;justify-content:center}.sh-burger{display:inline-flex}.sh-collapse{display:none}
.rail{top:0;height:100%}.sh-head .in{flex-wrap:wrap;gap:8px}.sh-head nav{margin-left:0;width:100%}
.sh-foot .in{grid-template-columns:1fr 1fr;gap:20px}.sh-foot .legal{flex-direction:column}}
@media (max-width:520px){.sh-foot .in{grid-template-columns:1fr}}
@media print{.sh-top,.sh-mega,.sh-scrim,.sh-foot{display:none!important}body{padding-top:0}}
