/* Shared visual layer. Original chart/Smash styles remain underneath. */
:root { color-scheme: dark; --bg:#0d101b; --panel:rgba(24,29,47,.82); --panel-strong:#191e30; --line:#333a51; --text:#eeeef7; --muted:#a4acc3; --cyan:#9baaff; --gold:#edcc93; --link:#a6bdff; --violet:#ad9cff; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; color:var(--text); background:radial-gradient(ellipse at 85% 10%,#34245450,transparent 45%),radial-gradient(ellipse at 10% 30%,#1d30422e,transparent 50%),#0d101b; font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65; }
* { box-sizing:border-box; }
a { color:var(--link); text-decoration:none; }
a:hover { color:#d1d9ff; }
button,input,select { font:inherit; }
button,summary { cursor:pointer; }
button:disabled { opacity:.42; cursor:not-allowed; }
:focus-visible { outline:3px solid #b3c8ff; outline-offset:5px; }
[hidden] { display:none!important; }
h1,h2,h3 { color:var(--text); text-wrap:balance; }
h1 { font-size:clamp(2.5rem,5.8vw,5.2rem); letter-spacing:-.065em; line-height:1.08; }
h2 { font-size:clamp(1.5rem,3vw,2.2rem); letter-spacing:-.035em; line-height:1.2; }
h3 { font-size:1.3rem; line-height:1.3; letter-spacing:-.02em; }
p { overflow-wrap:anywhere; }
.skip-link { position:fixed; z-index:100; left:16px; top:-100px; padding:12px 20px; background:#ecf0ff; color:#121727; border-radius:8px; }
.skip-link:focus { top:12px; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:82px; padding:12px max(clamp(24px,5vw,72px),calc((100% - 1260px) / 2)); background:#0d101bdd; border-bottom:1px solid #ffffff0d; backdrop-filter:blur(20px); position:sticky; top:0; z-index:20; flex-wrap:wrap; width:100%; }
.site-header .brand { display:flex; gap:12px; align-items:center; min-height:44px; font-size:12px; letter-spacing:.1em; line-height:1.7; color:#efeff8; font-weight:650; }
.brand small { display:block; font-size:9px; font-weight:400; color:var(--muted); letter-spacing:.19em; }
.brand-mark { display:grid; place-items:center; width:38px; height:42px; color:#c6bfff; border:1px solid #a69fff70; clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%); background:#a99cff1a; font-family:Georgia,serif; letter-spacing:-.1em; font-size:15px; }
.site-header nav.top-symbol-bar { display:flex; gap:7px; font-size:11px; font-weight:500; align-items:center; flex-wrap:wrap; }
.site-header nav .top-sym-tile { appearance:none; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:64px; min-height:52px; padding:6px 9px 5px; border:1px solid #ffffff16; border-radius:11px; background:linear-gradient(155deg,#21243a78,#14172690); color:#d8dcf0; white-space:nowrap; cursor:pointer; transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s ease,background .2s ease,box-shadow .2s ease; text-decoration:none; }
.site-header nav .top-sym-tile[hidden] { display:none!important; }
.site-header nav .top-sym-tile .nav-sym { color:#c6b8ff; flex:none; transition:transform .22s ease,color .22s ease; }
.site-header nav .top-sym-tile .symbol-caption { font-size:9.5px; font-weight:600; letter-spacing:.025em; line-height:1.15; color:#b4bad0; text-align:center; }
.site-header nav .top-sym-tile:hover,.site-header nav .top-sym-tile:focus-visible,.site-header nav .top-sym-tile[aria-current="page"] { transform:translateY(-2px); border-color:#c7baff; background:linear-gradient(155deg,#3b3164aa,#1d2138cc); color:#ffffff; box-shadow:0 10px 24px -10px #9e8ee555; outline:none; }
.site-header nav .top-sym-tile:hover .nav-sym,.site-header nav .top-sym-tile:focus-visible .nav-sym,.site-header nav .top-sym-tile[aria-current="page"] .nav-sym { color:#ffffff; transform:scale(1.14); }
.site-header nav .top-sym-tile:hover .symbol-caption,.site-header nav .top-sym-tile:focus-visible .symbol-caption,.site-header nav .top-sym-tile[aria-current="page"] .symbol-caption { color:#f2edff; }
.site-header nav .top-sym-tile.is-admin-tile { border-color:#f0c98055; background:linear-gradient(155deg,#2d251b88,#18172299); }
.site-header nav .top-sym-tile.is-admin-tile .nav-sym { color:#f0c980; }
.site-header nav .top-sym-tile.is-unlocked { border-color:#8fe0a888; background:linear-gradient(155deg,#17362b88,#101d1b99); color:#c8f7d6; }
.site-header nav .top-sym-tile.is-unlocked .nav-sym { color:#8fe0a8; }
.site-header nav .top-sym-tile.is-unlocked .symbol-caption { color:#c8f7d6; }
.eyebrow { color:#ac9ee9; text-transform:uppercase; font-size:10px; font-weight:600; letter-spacing:.19em; margin:0 0 17px; }
.status-dot { display:inline-block; width:6px; height:6px; margin:0 8px 1px 0; border-radius:50%; background:#b4a3ff; box-shadow:0 0 10px #b4a3ff99; }
.button { min-height:44px; padding:10px 20px; display:inline-flex; align-items:center; justify-content:center; gap:16px; border:1px solid var(--line); border-radius:7px; font-size:12px; font-weight:600; line-height:1.5; transition:border-color .2s,background .2s,box-shadow .2s; text-decoration:none; }
.button.primary { color:#17162b; background:#b5a6f4; border-color:#c7baff; box-shadow:0 6px 28px #8671d320; }
.button.primary:hover { background:#cbbdff; box-shadow:0 0 24px #9e8ee54a; }
.button.ghost { background:#ffffff03; color:#c6cce3; }
.button.ghost:hover { border-color:#9f97c9; background:#a69de110; }
.text-link { font-size:12px; color:#bfc8e7; border-bottom:1px solid #7581a255; padding-bottom:4px; }
.toolbar,.home-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
/* Symbol-First Icon Dock on the Home Hero */
.home-symbol-dock { display:grid; grid-template-columns:repeat(auto-fit,minmax(74px,1fr)); gap:9px; max-width:560px; margin-top:20px; }
.symbol-tile { appearance:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:68px; padding:10px 6px 8px; border:1px solid #ffffff16; border-radius:14px; background:linear-gradient(155deg,#21243a78,#14172690); color:#d8dcf0; text-decoration:none; cursor:pointer; transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s ease,background .22s ease,box-shadow .22s ease; }
.symbol-tile.is-primary { border-color:#b5a6f480; background:linear-gradient(155deg,#382d5e88,#1c183399); color:#f2edff; box-shadow:0 8px 26px -12px #9e8ee566; }
.symbol-tile.is-unlocked { border-color:#8fe0a888; background:linear-gradient(155deg,#17362b88,#101d1b99); color:#c8f7d6; }
.symbol-tile:hover,.symbol-tile:focus-visible { transform:translateY(-3px); border-color:#c7baff; background:linear-gradient(155deg,#3b3164aa,#1d2138cc); color:#ffffff; box-shadow:0 12px 28px -10px #9e8ee555; outline:none; }
.symbol-glyph { display:grid; place-items:center; width:30px; height:30px; color:#c6b8ff; transition:transform .25s cubic-bezier(.3,1.5,.5,1),color .22s ease; }
.symbol-tile.is-primary .symbol-glyph { color:#e4daff; }
.symbol-tile.is-unlocked .symbol-glyph { color:#8fe0a8; }
.symbol-tile:hover .symbol-glyph,.symbol-tile:focus-visible .symbol-glyph { transform:scale(1.16) rotate(-4deg); color:#ffffff; }
.dock-svg { width:24px; height:24px; display:block; }
.symbol-caption { font-size:10px; font-weight:600; letter-spacing:.03em; line-height:1.15; color:#aeb5cc; text-align:center; white-space:nowrap; }
.symbol-tile:hover .symbol-caption,.symbol-tile:focus-visible .symbol-caption,.symbol-tile.is-primary .symbol-caption { color:#ece9ff; }
.lede { color:var(--muted); line-height:1.8; font-size:17px; max-width:730px; }
.home-landing { display:block; overflow:hidden; min-height:0; width:100%; }
.home-stage { width:min(1240px,calc(100% - clamp(48px,10vw,180px))); max-width:1240px; min-height:calc(100svh - 87px); margin:auto; display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(16px,3vw,48px); padding:16px 0 12px; align-items:center; }
.home-copy { z-index:1; }
.home-copy>.eyebrow { margin:0 0 10px; }
.home-copy h1 { margin:10px 0 14px; max-width:none; font-size:clamp(2.7rem,4.6vw,5.2rem); font-weight:500; line-height:1.04; letter-spacing:-.065em; }
.home-copy h1 em { font-family:Georgia,"Times New Roman",serif; font-weight:400; color:#c2b3ef; letter-spacing:-.065em; }
.home-description { font-size:clamp(14.5px,1.15vw,18px); max-width:48ch; margin:0; color:var(--muted); line-height:1.65; }
.home-actions { margin-top:18px; gap:10px; }
.home-caption { margin-top:20px; border-left:1px solid #6c618e80; padding-left:15px; }
.home-caption span { color:#8f90ab; font-size:9px; letter-spacing:.18em; }
.home-caption p { font-size:11.5px; margin:2px 0 0; color:#b6bace; }
.map-column { position:relative; min-width:0; }
.hex-map { width:100%; max-width:min(820px,46vw); aspect-ratio:1; position:relative; margin:auto; isolation:isolate; container-type:inline-size; }
.hex-frame { inset:5%; opacity:.32; background:radial-gradient(circle,#9483c929,transparent 67%); clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%); border:none; box-shadow:none; }
.hex-frame::after { inset:0; background:repeating-linear-gradient(60deg,#d5caff12 0 1px,transparent 1px 28px),repeating-linear-gradient(-60deg,#d5caff0d 0 1px,transparent 1px 28px); border:0; }
.map-connections { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.map-perimeter { fill:none; stroke:#8e85b43b; stroke-width:.9; stroke-dasharray:3 5; }
.map-ring { fill:none; stroke:#a390dc28; stroke-width:.7; stroke-dasharray:2 7; }
.map-spoke { fill:none; stroke:#87779f77; stroke-width:1.4; transition:stroke .3s,filter .3s; }
.map-spoke.active { stroke:#c5afff; filter:drop-shadow(0 0 4px #a68aff); stroke-dasharray:6 5; animation:thread-flow 2s linear infinite; }
/* Field colours, shared by hexagons, atlas pages and the location strip. */
.tone-science { --tone:#9ddacf; } .tone-business { --tone:#dbc390; } .tone-career { --tone:#a6bbf6; }
.tone-sports { --tone:#f7ab65; } .tone-gaming { --tone:#bba1ff; } .tone-language { --tone:#daadd8; }
.hex-map .hex-node { --node-color:var(--tone,#b49ae8); position:absolute; width:26%; height:25%; min-width:44px; min-height:44px; padding:0; display:grid; place-items:stretch; gap:0; background:transparent; border:0; box-shadow:none; clip-path:none; transform:translate(-50%,-50%); isolation:isolate; text-align:center; }
.hex-node::before,.hex-node::after { content:""; position:absolute; inset:0; z-index:-2; clip-path:polygon(50% 0,96% 25%,96% 75%,50% 100%,4% 75%,4% 25%); }
.hex-node::before { background:linear-gradient(150deg,#87799b6b,#49435738 45%,#7c769961); transition:background .25s; }
.hex-node::after { inset:1px; background:linear-gradient(145deg,#28243a,#171b2a 80%); z-index:-1; }
.hex-node:hover,.hex-node:focus-visible { filter:drop-shadow(0 0 12px color-mix(in srgb,var(--node-color) 30%,transparent)); outline:none; }
.hex-node:hover::before,.hex-node:focus-visible::before { background:conic-gradient(from var(--glow-angle),#36314d,var(--node-color),#ffffff,var(--node-color),#36314d 70%); animation:border-turn 3s linear infinite; }
.hex-node:focus-visible::before { background:#e9ddff; animation:none; }
.hex-node:focus-visible::after { inset:3px; }
.hex-map .hex-inner { width:100%; height:100%; padding:0 13%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border-radius:0; box-shadow:none; background:transparent; color:var(--node-color); font-family:inherit; font-weight:400; font-size:inherit; min-width:0; }
/* Labels wrap inside the hexagon and scale with the map (cqi), not the viewport. */
.hex-map .hex-node strong { max-width:100%; color:#c9cbe0; font-size:clamp(7px,min(2.3cqi,calc(34cqi / var(--n,10))),13px); font-weight:500; line-height:1.2; white-space:normal; overflow-wrap:break-word; hyphens:manual; text-wrap:balance; }
.hex-map .atlas-icon { width:clamp(20px,5.6cqi,38px); height:clamp(20px,5.6cqi,38px); flex:none; }
/* Centres / 600 * 100: keep in sync with atlas_views.POINTS. */
.hex-map .pos-top { left:50%; top:13%; }
.hex-map .pos-upper-left { left:18%; top:31.5%; }
.hex-map .pos-upper-right { left:82%; top:31.5%; }
.hex-map .pos-lower-left { left:18%; top:68.5%; }
.hex-map .pos-bottom { left:50%; top:87%; }
.hex-map .pos-lower-right { left:82%; top:68.5%; }
.hex-map .node-mental-map { left:50%; top:50%; width:34%; height:33%; --node-color:#d0b6ff; filter:drop-shadow(0 0 22px #9c76e62e); }
.node-mental-map::before { background:linear-gradient(130deg,#dcc8ffaa,#7e5ab83b,#c9b1ff77); }
.node-mental-map::after { background:radial-gradient(ellipse at 45% 20%,#4c3461,#242032 85%); }
.hex-map .node-mental-map .hex-inner { padding:0 15%; gap:5px; }
.hex-map .node-mental-map .atlas-icon { width:clamp(22px,6.6cqi,44px); height:clamp(22px,6.6cqi,44px); }
.hex-map .node-mental-map strong { order:2; font-family:Georgia,serif; font-size:clamp(13px,3.9cqi,24px); line-height:1.05; color:#e9ddff; white-space:nowrap; hyphens:none; }
.hex-map .node-mental-map small { order:3; max-width:100%; font-size:clamp(7px,1.4cqi,9px); color:#c1aadd; letter-spacing:.08em; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.map-hint { text-align:center; color:#8e92ac; font-size:10px; margin:8px 0 0; letter-spacing:.06em; min-height:1.4em; }
.home-snap .hex-map { max-width:min(780px,45vw,calc(100svh - 140px)); min-width:min(280px,100%); }
@property --glow-angle { syntax:'<angle>'; inherits:false; initial-value:0deg; }
@keyframes border-turn { to { --glow-angle:360deg; } }
@keyframes thread-flow { to { stroke-dashoffset:-22; } }
/* Atlas pages: one hexagon of six paths per field and topic, then destinations. */
.atlas-page { width:min(1240px,calc(100% - clamp(48px,10vw,180px))); max-width:1240px; margin:0 auto; padding:26px 0 72px; min-height:70vh; }
.atlas-crumbs ol { list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; padding:0; margin:0 0 6px; font-size:12px; color:#8f96b3; }
.atlas-crumbs li+li::before { content:"/"; margin-right:8px; color:#5f6684; }
.atlas-crumbs a { color:#b9bfe0; display:inline-flex; align-items:center; min-height:32px; }
.atlas-crumbs a:hover { color:var(--tone,#d6ccff); }
.atlas-crumbs [aria-current] { color:var(--tone,#d6ccff); }
.atlas-stage { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(20px,3vw,44px); align-items:center; min-height:min(640px,calc(100svh - 150px)); }
.atlas-copy { min-width:0; }
.atlas-copy .eyebrow,.leaf-hero .eyebrow { color:var(--tone); }
.atlas-copy .status-dot { background:var(--tone); box-shadow:0 0 10px var(--tone); }
.atlas-copy h1 { margin:0 0 14px; font-size:clamp(2.3rem,4.4vw,4.2rem); font-weight:500; line-height:1.05; letter-spacing:-.05em; overflow-wrap:break-word; }
.atlas-copy .home-actions { margin-top:22px; }
.atlas-children { list-style:none; padding:0; margin:30px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.atlas-children a { display:flex; gap:12px; align-items:center; height:100%; padding:10px 12px; border:1px solid #ffffff12; border-radius:10px; color:var(--text); background:#ffffff05; transition:border-color .2s,background .2s; }
.atlas-children a:hover,.atlas-children a:focus-visible { border-color:color-mix(in srgb,var(--tone) 55%,transparent); background:color-mix(in srgb,var(--tone) 8%,transparent); }
.atlas-children .atlas-icon { width:30px; height:30px; flex:none; color:var(--tone); }
.atlas-children strong { display:block; font-size:13px; font-weight:600; line-height:1.3; }
.atlas-children small { display:block; margin-top:2px; font-size:11px; color:var(--muted); line-height:1.4; }
.atlas-features { margin:46px 0 0; }
.atlas-features h2 { font-size:22px; margin:0 0 18px; }
.atlas-feature-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr)); gap:16px; }
.atlas-feature { position:relative; display:block; padding:24px; border:1px solid #ffffff13; border-radius:12px; background:linear-gradient(135deg,#22243870,#171b2888); color:var(--text); transition:transform .25s,border-color .25s,box-shadow .25s; }
.atlas-feature:hover,.atlas-feature:focus-visible { transform:translateY(-3px); border-color:color-mix(in srgb,var(--tone,#a69bd6) 60%,transparent); box-shadow:0 0 28px color-mix(in srgb,var(--tone,#a69bd6) 12%,transparent); }
.atlas-feature .atlas-icon { float:right; width:40px; height:40px; margin:0 0 10px 12px; color:var(--tone,#b0a0d3); }
.atlas-feature .eyebrow { display:block; font-size:9px; letter-spacing:.13em; color:#9f95b8; margin:0 0 16px; }
.atlas-feature h3 { margin:0 0 8px; font-size:19px; }
.atlas-feature p { color:#a6acc1; font-size:13px; line-height:1.7; margin:0 0 16px; }
.atlas-feature-meta { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 12px; margin:0 0 16px; }
.atlas-feature .atlas-feature-meta .eyebrow { margin:0; }
.atlas-feature time { font-size:11px; color:#b7afd5; font-variant-numeric:tabular-nums; white-space:nowrap; }
.atlas-feature .card-link { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border:1px solid color-mix(in srgb,var(--tone,#a69bd6) 45%,transparent); border-radius:999px; color:var(--tone,#b7afd5); transition:background .2s; }
.atlas-feature:hover .card-link,.atlas-feature:focus-visible .card-link { background:color-mix(in srgb,var(--tone,#a69bd6) 14%,transparent); }
.premade-plan { max-width:760px; padding-left:22px; color:#c6cbe0; font-size:14px; line-height:1.8; }
.atlas-siblings { margin-top:48px; padding-top:22px; border-top:1px solid #ffffff12; }
.atlas-siblings ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.atlas-siblings a { height:100%; display:grid; justify-items:center; align-content:start; gap:8px; padding:14px 8px; text-align:center; border:1px solid #ffffff10; border-radius:10px; color:#c8cbe0; font-size:12px; line-height:1.3; overflow-wrap:break-word; transition:border-color .2s,background .2s; }
.atlas-siblings a:hover,.atlas-siblings a:focus-visible { border-color:color-mix(in srgb,var(--tone) 45%,transparent); }
.atlas-siblings a[aria-current] { border-color:var(--tone); color:var(--tone); background:color-mix(in srgb,var(--tone) 8%,transparent); }
.atlas-siblings .atlas-icon { width:34px; height:34px; color:var(--tone); }
.leaf-hero { display:grid; grid-template-columns:minmax(160px,300px) minmax(0,1fr); gap:clamp(24px,5vw,64px); align-items:center; padding:24px 0 10px; }
.leaf-icon { aspect-ratio:1; display:grid; place-items:center; color:var(--tone); background:radial-gradient(circle,color-mix(in srgb,var(--tone) 20%,transparent),transparent 68%); clip-path:polygon(50% 0,96% 25%,96% 75%,50% 100%,4% 75%,4% 25%); }
.leaf-icon .atlas-icon { width:58%; height:58%; }
.leaf-hero h1 { margin:0 0 14px; font-size:clamp(2.2rem,4.8vw,4.2rem); font-weight:500; line-height:1.05; letter-spacing:-.05em; overflow-wrap:break-word; }
.leaf-hero .home-actions { margin-top:24px; gap:14px 20px; }
/* Location bar above hosted readers and dashboards. */
.atlas-strip { display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; padding:6px 14px; margin:0 0 22px; border:1px solid #ffffff12; border-radius:10px; background:#ffffff05; }
.atlas-strip .atlas-crumbs ol { margin:0; }
.atlas-strip-icon { display:grid; color:var(--tone); }
.atlas-strip-icon .atlas-icon { width:30px; height:30px; }
.atlas-strip-meta { margin-left:auto; font-size:11px; color:var(--muted); }
.home-discover { width:min(1240px,calc(100% - clamp(48px,10vw,180px))); max-width:1240px; margin:20px auto 80px; padding-top:34px; border-top:1px solid #ffffff12; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:26px; }
.section-heading .eyebrow { font-size:9px; margin-bottom:8px; }
.section-heading h2 { font-size:23px; }
.card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:20px; }
.feature-card,.pending-card { position:relative; display:block; padding:30px; border:1px solid #ffffff13; background:linear-gradient(135deg,#22243870,#171b2888); border-radius:12px; overflow:hidden; min-width:0; }
.feature-card { transition:transform .25s,border-color .25s,box-shadow .25s; color:var(--text); }
.feature-card:hover,.feature-card:focus-visible { transform:translateY(-4px); border-color:#a69bd670; box-shadow:inset 0 1px 0 #c1b1ff60,0 0 30px #8f73c917; }
.feature-card .topic-icon,.feature-card .atlas-icon { float:right; color:#b0a0d3; width:36px; height:36px; margin:0 0 16px 12px; }
.feature-card .eyebrow { display:block; font-size:9px; letter-spacing:.13em; color:#9f95b8; margin:0 0 26px; }
.feature-card h3 { margin:0 0 12px; font-size:21px; }
.feature-card p,.pending-card p { color:#a6acc1; font-size:13px; line-height:1.8; margin:0 0 22px; }
.card-link { color:#b7afd5; font-size:11px; display:flex; justify-content:space-between; }
.card-arrow { position:absolute; right:26px; top:24px; color:#aa9bcf; }
.collection-page,.sports-page { width:100%; max-width:none; margin:0 auto; min-height:70vh; padding:50px max(clamp(28px,6vw,96px),calc((100% - 1240px) / 2)) 80px; }
.page-intro { padding:10px 0 40px; }
.page-intro .eyebrow { margin-top:30px; }
.page-intro h1 { max-width:950px; }
.page-intro .toolbar { margin-top:22px; }
.collection-page section { margin-bottom:26px; }
.collection-page section>h2 { margin-bottom:20px; }
.panel { border:1px solid #ffffff14; border-radius:12px; background:linear-gradient(130deg,#1a2030c9,#151a29b3); box-shadow:none; padding:28px; }
.metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; margin:24px 0; }
.metric-card { padding:20px; background:#1c213366; border:1px solid #ffffff14; border-radius:10px; }
.metric-card p { margin:0; color:var(--muted); font-size:11px; }
.metric-card .metric-label { color:#b1b5cb; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.metric-card .metric-value { color:#d2c2ff; font-size:31px; line-height:1.3; margin:10px 0; font-weight:550; letter-spacing:-.04em; }
.method-note,.reader-note,.analysis-summary { font-size:12px; line-height:1.85; color:#a7aec6; }
.method-note strong { color:#cbd1e3; }
.method-note h2 { margin-bottom:20px; }
.method-note details,.line-evidence { margin:18px 0; }
.method-note summary { color:#c6cce5; }
.source-commit { overflow-wrap:anywhere; }
fieldset.toolbar { border:0; margin:20px 0 0; padding:0; align-items:end; }
fieldset legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.toolbar label { display:grid; gap:8px; flex:1 1 180px; font-size:11px; color:#c1c7db; }
.toolbar label:has(input[type="checkbox"]) { display:flex; align-items:center; flex:0 0 auto; padding:12px 0; }
input[type="search"],select { width:100%; min-width:0; max-width:100%; min-height:43px; background:#0f1523; border:1px solid #3b425a; color:#dde1f2; border-radius:6px; padding:9px 12px; font-size:12px; }
input[type="checkbox"] { accent-color:#b5a6f4; width:16px; height:16px; }
.toolbar select { max-width:380px; text-overflow:ellipsis; }
.chart-bars { display:grid; gap:9px; margin:26px 0; }
.bar-row { display:grid; grid-template-columns:130px 1fr 65px; align-items:center; gap:16px; font-size:12px; }
.bar-label { overflow-wrap:anywhere; color:#c5cce4; }
.bar-track { height:10px; background:#0a1020; border-radius:3px; overflow:hidden; }
.bar-fill { height:100%; background:linear-gradient(90deg,#6b68b5,#b4a7f3); border-radius:3px; min-width:0; }
.bar-count { text-align:right; font-variant-numeric:tabular-nums; color:#a9acc7; }
.table-wrap { overflow:auto; max-width:100%; }
table { border-collapse:collapse; width:100%; font-size:13px; }
td,th { padding:13px 14px; text-align:left; border-bottom:1px solid #ffffff0d; }
th { font-weight:500; color:#d1d7ed; }
thead { background:#0b11205c; }
thead th { color:#a5aec9; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
th button { border:0; padding:0; font:inherit; background:none; color:inherit; }
caption { text-align:left; font-size:11px; color:#969db5; padding:14px; }
.pagination { justify-content:space-between; margin-top:25px; font-size:12px; }
.pagination p { flex:1; text-align:center; }
.empty-state { padding:30px; color:var(--muted); }
.emotion-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; align-items:center; }
.emotion-wheel { display:block; color:#b2bdd8; overflow:visible; }
.wheel-sector path { transition:opacity .2s,filter .2s; }
.wheel-sector:hover path,.wheel-sector:focus path,.wheel-sector[aria-pressed="true"] path { filter:brightness(1.25); stroke:white; stroke-width:3; }
.wheel-sector:focus { outline:none; }
.wheel-sector.is-active path { stroke:white; stroke-width:3; }
.wheel-label { font-family:"Segoe UI",sans-serif; }
.emotion-legend { display:flex; gap:8px; flex-wrap:wrap; margin:20px 0; }
.emotion-legend .button { min-height:36px; padding:7px 12px; font-size:11px; gap:8px; }
.emotion-swatch { display:inline-block; width:8px; height:8px; border-radius:50%; }
.emotion-legend-button[aria-pressed="true"] { border-color:#c0afff; background:#9880dd30; color:white; }
.line-timeline { display:flex; flex-wrap:wrap; gap:4px; max-height:220px; overflow:auto; padding:8px; }
.timeline-line { width:12px; min-height:28px; border:1px solid #ffffff26; border-radius:3px; background:var(--emotion-color,#697b91); padding:0; }
.timeline-line:hover { transform:scaleY(1.1); border-color:white; }
.line-card { background:#161d2c; border:1px solid #ffffff15; border-left:3px solid var(--emotion-color,#6a748c); border-radius:9px; padding:24px; margin:16px 0; scroll-margin-top:110px; }
.line-card h3 { font-size:17px; margin:0; }
.line-meta { font-size:11px; color:var(--muted); }
.lyric-text { white-space:pre-wrap; overflow-wrap:anywhere; font-family:Georgia,serif; font-size:19px; line-height:1.8; color:#e2dcf0; }
.line-card p:not(.lyric-text) { font-size:12px; }
.line-evidence { font-size:12px; }
.line-evidence ul { list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; }
.evidence-chip { display:inline-block; font-size:11px; background:#9d86c91a; border:1px solid #9d86c938; padding:5px 9px; border-radius:5px; }
.is-negated { opacity:.7; border-style:dashed; }
.code-module { margin:20px 0; }
.code-module summary { color:#b7c5ff; }
.code-module h3 { margin-top:0; }
.code-symbols { list-style:none; margin:16px 0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px; }
.code-symbol,.code-class { padding:8px 12px; background:#0e152370; border-radius:5px; font-size:12px; overflow-wrap:anywhere; }
.about-intro { display:grid; grid-template-columns:240px 1fr; align-items:center; gap:70px; padding:20px 0 60px; }
.monogram { background:radial-gradient(circle at 30% 20%,#604078,#232437 65%); border:1px solid #aa9cb650; border-radius:50%; width:240px; height:280px; display:flex; align-items:center; justify-content:center; font-family:Georgia,serif; font-size:95px; letter-spacing:-.17em; color:#c9b8e2; }
.monogram span { margin-top:45px; }
.about-section { border-top:1px solid #ffffff14; padding-top:44px; margin-top:35px; }
.credential-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.credential { border-top:1px solid #af9ecc80; padding:25px 20px 20px 0; }
.credential h3 { font-size:19px; }
.credential p { color:var(--muted); font-size:13px; }
.credential a { font-size:12px; }
.credential small { display:block; font-size:10px; margin-top:12px; color:#9ba3ba; }
.badge { display:inline-block; border:1px solid #b49fea55; background:#9981c615; color:#cdbfe8; padding:4px 10px; border-radius:20px; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.pending-card h3 { margin:22px 0 14px; }
.quantum-intro { display:grid; grid-template-columns:1.3fr 1fr; gap:45px; align-items:center; padding:30px 0 60px; }
.quantum-intro .toolbar { margin-top:30px; }
.quantum-art { width:100%; aspect-ratio:1; display:grid; place-items:center; position:relative; background:radial-gradient(circle,#8b6ac52b,transparent 65%); }
.quantum-art .atlas-icon { position:absolute; width:90%; height:90%; color:#aa94df88; stroke-width:.5; }
.quantum-art>span { font-family:Georgia,serif; font-size:90px; color:#dbd0ff; }
.quantum-art small { position:absolute; bottom:8%; font-size:9px; letter-spacing:.25em; color:#aaa1c8; }
.document-page { width:min(1240px,calc(100% - clamp(48px,10vw,180px))); max-width:1240px; margin:0 auto; padding:44px 0 60px; }
.reader-top { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:36px; }
.reader-top h1 { font-size:56px; }
.reader-top p:not(.eyebrow) { color:var(--muted); font-size:12px; }
.reader-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:34px; align-items:start; }
.reader-sidebar { position:sticky; top:106px; max-height:calc(100vh - 128px); overflow:auto; scrollbar-width:thin; scrollbar-color:#716484 transparent; padding-right:10px; }
.contents-panel summary { display:flex; justify-content:space-between; align-items:center; font-size:13px; font-weight:600; }
.contents-panel summary span { font-weight:400; font-size:10px; color:#929ab2; }
.toc-search-label { display:block; font-size:10px; color:#aeb4c9; margin:15px 0 20px; }
.toc-search-label input { margin-top:6px; font-size:11px; }
#reader-toc { font-size:11px; line-height:1.65; }
#reader-toc ol,#reader-toc ul { list-style:none; padding:0 0 0 12px; margin:5px 0; }
#reader-toc nav>ol { padding-left:0; }
#reader-toc a { display:block; color:#9ca6c4; padding:5px 7px; border-left:1px solid #ffffff12; }
#reader-toc a:hover,#reader-toc a[aria-current="location"] { color:#d4c6ff; border-left-color:#a495d4; background:#9b83d716; }
.reader-column { min-width:0; }
.topic-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; font-size:11px; padding:20px; border:1px solid #96aef533; border-radius:8px; background:#718bea0c; }
.topic-links strong { color:#a3abc5; font-weight:400; }
.topic-links a { color:#a5bfff; border-bottom:1px solid #a5bfff55; }
.reader-note { margin:20px 0; font-size:11px; }
.math-status { color:#b4a5dc; font-size:11px; }
.tex-paper { background:#faf9f5; color:#262833; border-radius:5px; padding:clamp(24px,5vw,70px); font-family:Georgia,"Times New Roman",serif; font-size:16px; line-height:1.95; box-shadow:0 16px 60px #0003; overflow-wrap:anywhere; word-break:break-word; max-width:100%; overflow-x:hidden; color-scheme:light; }
.tex-paper h1,.tex-paper h2,.tex-paper h3,.tex-paper h4,.tex-paper h5,.tex-paper h6 { font-family:Georgia,"Times New Roman",serif; font-weight:bold; color:#232432; letter-spacing:0; line-height:1.4; text-wrap:wrap; scroll-margin-top:118px; }
.tex-paper h1 { font-size:29px; margin:55px 0 24px; padding-bottom:14px; border-bottom:1px solid #292e4120; }
.tex-paper h1:first-child { margin-top:0; }
.tex-paper h2 { font-size:23px; margin:38px 0 18px; }
.tex-paper h3 { font-size:19px; margin:30px 0 16px; }
.tex-paper h4 { font-size:16px; margin:28px 0 14px; }
.tex-paper p { margin:18px 0; }
.tex-paper a { color:#225ec4; text-decoration:underline; text-underline-offset:3px; }
.tex-paper a:visited { color:#5943a4; }
.tex-paper figure,.tex-paper .minipage { margin:25px 0; max-width:100%; }
.tex-paper img { display:block; height:auto!important; width:auto!important; max-width:100%; margin:22px auto; border:1px solid #dedee5; border-radius:2px; }
.tex-paper div.center { text-align:center; }
.tex-paper table { display:block; width:100%; overflow:auto; margin:20px 0; font-size:13px; }
.tex-paper td,.tex-paper th { color:#303448; border-color:#d7d9e1; padding:8px 12px; }
.tex-paper thead { background:#eaeaf1; }
.tex-paper figcaption { font-size:13px; text-align:center; color:#606070; }
.tex-paper .tex-display-math { overflow-x:auto; overflow-y:hidden; padding:6px 0; margin:22px 0; }
/* A sidebar can make a tablet reader narrower than a phone's full-width paper; hide scrollbar chrome on inline math. */
.tex-paper .math.inline { display:inline-block; max-width:100%; overflow-x:auto; overflow-y:hidden; vertical-align:middle; scrollbar-width:none; padding:0 1px; }
.tex-paper .math.inline::-webkit-scrollbar { display:none; width:0; height:0; }
.tex-paper mjx-container { font-size:104%!important; max-width:100%; }
.tex-paper mjx-container[display="true"] { margin:1em 0!important; overflow-x:auto; overflow-y:hidden; }
.tex-paper .topic-callout { font-family:"Segoe UI",sans-serif; border-left:3px solid #4476cb; background:#eef2fb; padding:17px 20px; margin:22px 0; font-size:13px; }
.topic-callout span,.topic-callout small { display:block; font-size:11px; color:#526888; }
.tex-conversion-warnings { border:1px solid #b9671d; padding:18px; background:#fff0d9; }
.tex-unsupported { white-space:pre-wrap; color:#7d3a09; }
.back-top { display:block; font-size:12px; padding:28px 0; }
.site-footer { width:min(1240px,calc(100% - clamp(48px,10vw,180px))); max-width:1240px; margin:0 auto; padding:27px 0; display:flex; gap:20px; justify-content:space-between; border-top:1px solid #ffffff12; color:#7f88a4; font-size:10px; }
.site-footer a { color:#a4abc3; }
.site-footer { flex-wrap:wrap; }
.site-copyright { flex-basis:100%; margin:0; font-size:10px; line-height:1.6; color:#7f88a4; }
.site-copyright a { text-decoration:underline; text-underline-offset:3px; }
/* Mental Map change requests: a native dialog that drafts an email. */
.request-dialog { width:min(720px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); padding:0; border:1px solid #b5a6f455; border-radius:14px; color:var(--text); background:#14172a; box-shadow:0 30px 90px #000a; }
.request-dialog::backdrop { background:#05060dcc; backdrop-filter:blur(3px); }
.request-form { display:grid; gap:14px; padding:clamp(18px,4vw,30px); }
.request-form h2 { margin:0; font-size:clamp(1.5rem,3vw,2rem); }
.request-form .eyebrow { margin:0; }
.request-intro { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.request-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; }
.request-wide { grid-column:1/-1; }
.request-form label { display:grid; gap:6px; color:#d6d9ea; font-size:12px; font-weight:600; }
.request-form label small { color:var(--muted); font-weight:400; }
.request-form :is(input,select,textarea) { width:100%; min-height:44px; padding:10px 12px; border:1px solid #4b4f6e; border-radius:8px; color:#eef0fa; background:#0d101b; font:inherit; font-size:14px; font-weight:400; }
.request-form textarea { min-height:160px; resize:vertical; font-family:Consolas,"Courier New",monospace; font-size:13px; }
.request-form select:disabled { opacity:.55; }
.request-form :is(input,select,textarea):focus-visible { outline:2px solid #b3c8ff; outline-offset:1px; }
.wb-pass-wrap { position:relative; display:flex; align-items:center; width:100%; }
.request-form .wb-pass-wrap input { padding-right:46px; }
.wb-peek-btn { position:absolute; right:6px; top:50%; transform:translateY(-50%); width:34px; height:32px; padding:0; display:grid; place-items:center; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--muted); cursor:pointer; transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease; }
.wb-peek-btn:hover,.wb-peek-btn:focus-visible { color:#d6d9ea; border-color:#b5a6f466; background:#b5a6f414; outline:none; }
.wb-peek-btn.is-peeking,.wb-peek-btn[aria-pressed="true"] { color:#9ddacf; border-color:#9ddacf88; background:#9ddacf1c; box-shadow:0 0 12px #9ddacf26; }
.wb-peek-icon .wb-peek-pupil,.wb-peek-icon .wb-peek-glint { transition:transform .18s ease; }
.wb-peek-btn:hover .wb-peek-pupil,.wb-peek-btn:hover .wb-peek-glint { transform:translateX(1.2px); }
.wb-peek-btn.is-peeking .wb-peek-pupil,.wb-peek-btn.is-peeking .wb-peek-glint,.wb-peek-btn[aria-pressed="true"] .wb-peek-pupil,.wb-peek-btn[aria-pressed="true"] .wb-peek-glint { transform:translateX(2.4px); }
.request-status { min-height:1.4em; margin:0; color:#b7c7ff; font-size:12px; }
.request-status.is-error { color:#f28b82; font-size:13.5px; font-weight:600; }
.request-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.request-side { display:flex; align-items:center; min-height:44px; margin:0 0 14px; padding:8px 12px; border:1px dashed #b5a6f466; border-radius:8px; color:#cfc4ff; font-size:12px; }
.request-side:hover { border-style:solid; background:#9b83d716; }
/* Bring existing analysis cards into the same visual family, preserving charts. */
.analysis-card,.fighter-tile,.stat-wall div,.hero-metrics div,.opp-kpi { border-radius:10px; border-color:#44405a77; }
.analysis-card:hover,.fighter-tile:hover { border-color:#b19bdb; box-shadow:0 0 18px #aa8cdf22; }
.fighter-copy h1 { letter-spacing:-.05em; }
.smash-hero,.fighter-hero { gap:28px; }
.overview-grid { grid-template-columns:minmax(260px,.78fr) minmax(0,1.42fr); }
.site-header+main { min-width:0; }

/* Interactive Study KPI & Inspector Parameter Definition Tooltips (hover on desktop, tap on mobile) */
[data-kpi-card] { position:relative; cursor:pointer; transition:border-color .18s ease,background .18s ease; }
.sports-metric.kpi-card { padding:22px 18px; border:1px solid transparent; border-radius:8px; }
.sports-metric.kpi-card:hover,.sports-metric.kpi-card:focus-visible,.sports-metric.kpi-card.is-open { border-color:#9ddacf88; background:#141b2ee6; outline:none; }
[data-kpi-card] .kpi-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
[data-kpi-card] .kpi-info-badge { font-style:normal; font-size:12px; color:#9ddacf; opacity:.85; transition:opacity .15s ease,transform .15s ease; }
[data-kpi-card]:hover .kpi-info-badge,[data-kpi-card].is-open .kpi-info-badge { opacity:1; transform:scale(1.12); }
[data-kpi-card] .kpi-tooltip { display:none; position:absolute; left:0; top:calc(100% + 8px); width:min(320px,84vw); z-index:85; padding:12px 14px; border:1px solid #9ddacf88; border-top:3px solid #9ddacf; border-radius:10px; background:linear-gradient(165deg,#151c30fc,#0b0f1cfc); box-shadow:0 20px 50px #000e; color:#eef0fa; text-align:left; font:400 12.5px/1.5 Inter,"Segoe UI",sans-serif!important; letter-spacing:0!important; text-transform:none!important; }
.study-inspector [data-kpi-card] .kpi-tooltip { left:auto; right:0; }
[data-kpi-card] .kpi-tip-title { display:block; font:700 11px/1.3 Consolas,"Segoe UI",monospace!important; text-transform:uppercase!important; letter-spacing:.06em!important; color:#9ddacf!important; margin:0 0 6px!important; }
[data-kpi-card] .kpi-tip-desc { margin:0 0 8px!important; color:#dde2f4!important; font:400 12.5px/1.5 Inter,"Segoe UI",sans-serif!important; text-transform:none!important; letter-spacing:0!important; }
[data-kpi-card] .kpi-tip-mm { display:inline-flex; align-items:center; gap:5px; padding:4px 9px; border-radius:999px; border:1px solid #b5a6f466; background:#b5a6f41a; color:#d9ceff!important; font:600 11px/1.3 Inter,"Segoe UI",sans-serif!important; text-decoration:none!important; }
[data-kpi-card] .kpi-tip-mm:hover { background:#b5a6f433; border-color:#d9ceff; color:#fff!important; }
@media (hover: hover) {
  [data-kpi-card]:is(:hover,:focus-visible) .kpi-tooltip { display:block; }
}
[data-kpi-card].is-open .kpi-tooltip { display:block; }

/* Admin-Protected Content Gate Banner (Dreams, Journal Logs, and Standalone Reflection Dashboards) */
.admin-gate-banner { margin:16px 0; padding:18px 22px; border:1px dashed #b5a6f466; border-radius:10px; background:linear-gradient(155deg,#18172ce6,#0f1220e6); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 18px; }
.admin-gate-banner strong { display:block; font-size:14.5px; color:#e2d9ff; margin-bottom:3px; }
.admin-gate-banner p { margin:0; font-size:12.5px; color:var(--muted); }

/* Non-Admin Google Docs / Logs 0-Token Sync Panel on Athletics & Health pages */
.gdoc-sync-box { margin:14px 0 20px; padding:16px 18px; border:1px solid #9ddacf55; border-radius:10px; background:linear-gradient(160deg,#122129e6,#0d1220e6); display:grid; gap:12px; }
.gdoc-sync-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 16px; }
.gdoc-sync-head strong { display:block; font-size:14.5px; color:#9ddacf; }
.gdoc-sync-sub { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.gdoc-sync-controls { display:grid; gap:8px; }
.gdoc-sync-controls label { font-size:12px; color:#c8cfe4; font-weight:600; }
.gdoc-sync-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.gdoc-sync-row input { flex:1 1 260px; min-width:0; min-height:40px; padding:8px 11px; border:1px solid var(--line); border-radius:6px; background:#080b14; color:var(--text); font-size:13px; }
.gdoc-sync-status { margin:0; font-size:12.5px; color:#8fe0a8; }

/* PowerBI-Style Interactive Visual Controls (Sliders, Slicers, Drilldown, Drillout, Table Tooltips & Drillthrough) */
.bi-toolbar { margin:14px 0 16px; padding:14px 16px; border:1px solid #9ddacf44; border-radius:10px; background:linear-gradient(160deg,#12192be6,#0b0f1ce6); display:grid; gap:12px; }
.bi-toolbar-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; padding-bottom:8px; border-bottom:1px solid #ffffff14; }
.bi-toolbar-title { font:700 11.5px/1.3 Consolas,"Segoe UI",monospace; text-transform:uppercase; letter-spacing:.08em; color:#9ddacf; }
.bi-drill-bar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.bi-btn { appearance:none; padding:5px 11px; border:1px solid #ffffff24; border-radius:6px; background:#141a2e; color:#d8dcf0; font:600 11.5px/1.3 Inter,"Segoe UI",sans-serif; cursor:pointer; transition:border-color .16s ease,background .16s ease,color .16s ease; }
.bi-btn:hover,.bi-btn.is-active { border-color:#9ddacf; background:#9ddacf22; color:#ffffff; }
.bi-btn.is-drillout { border-color:#f7ab6566; color:#f7ab65; }
.bi-btn.is-drillout.is-active,.bi-btn.is-drillout:hover { border-color:#f7ab65; background:#f7ab6524; color:#fff; }
.bi-sliders-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr)); gap:10px 16px; align-items:end; }
.bi-slider-label { display:grid; gap:4px; font-size:11.5px; font-weight:600; color:#b8c0d8; }
.bi-slider-label output { font:700 11.5px/1.2 Consolas,monospace; color:#9ddacf; }
.bi-slider-label input[type="range"] { width:100%; accent-color:#9ddacf; cursor:pointer; }
.bi-slicer-row { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.bi-slicer-title { font-size:11.5px; font-weight:650; color:#b8c0d8; margin-right:4px; }
.bi-slicer-pill { appearance:none; padding:4px 10px; border:1px solid #ffffff1f; border-radius:999px; background:#0d111f; color:#aeb6ce; font:600 11.5px/1.3 Inter,"Segoe UI",sans-serif; cursor:pointer; transition:border-color .15s ease,background .15s ease,color .15s ease; }
.bi-slicer-pill.is-active,.bi-slicer-pill:hover { border-color:#9ddacf; background:#9ddacf24; color:#ffffff; }
.bi-crumbs { font:600 11.5px/1.4 Consolas,monospace; color:#edcc93; }
.bi-table-tooltip { position:fixed; z-index:110; max-width:min(480px,92vw); max-height:70dvh; overflow:auto; padding:12px 14px; border:1px solid #9ddacf88; border-top:3px solid #9ddacf; border-radius:10px; background:linear-gradient(165deg,#141b2efc,#0a0d18fc); box-shadow:0 22px 56px #000e; color:#eef0fa; font:400 12px/1.45 Inter,"Segoe UI",sans-serif; pointer-events:auto; }
.bi-table-tooltip h4 { margin:0 0 4px; font-size:13px; color:#9ddacf; }
.bi-table-tooltip p { margin:0 0 8px; font-size:11.5px; color:#b8c0d8; }
.bi-table-tooltip table { width:100%; border-collapse:collapse; font-size:11.5px; margin-bottom:8px; }
.bi-table-tooltip th,.bi-table-tooltip td { padding:5px 7px; border-bottom:1px solid #ffffff14; text-align:left; }
.bi-table-tooltip thead th { font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:#9ddacf; background:#ffffff08; }
.bi-drillthrough-banner { margin:8px 0 12px; padding:10px 14px; border:1px solid #f7ab6588; border-radius:8px; background:#f7ab6518; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; font-size:12.5px; color:#ffe6cc; }

/* Admin Delegated Password Manager List */
.wb-pwd-list-wrap { margin-top:8px; padding-top:10px; border-top:1px solid #ffffff18; display:grid; gap:8px; }
.wb-pwd-active-list { display:grid; gap:8px; max-height:190px; overflow-y:auto; }
.wb-pwd-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; padding:8px 12px; border:1px solid #9ddacf44; border-radius:8px; background:#0b0f1b; font-size:12.5px; }
.wb-pwd-row strong { color:#9ddacf; }
.wb-pwd-row small { color:var(--muted); font:600 11px/1.3 Consolas,monospace; }

@media (hover: none) and (pointer: coarse) {
  .reader-layout { grid-template-columns:1fr!important; }
  .reader-sidebar { position:static!important; max-height:none!important; padding:0!important; }
  .contents-panel { background:#161b2a; border:1px solid #ffffff1a; padding:16px; border-radius:8px; }
}
@media(min-width:1600px) { .home-stage { min-height:calc(100svh - 87px); } }
@media(max-width:1050px) {
  .home-stage { width:calc(100% - 48px); gap:0; min-height:620px; grid-template-columns:.8fr 1.2fr; }
  .home-copy h1 { font-size:clamp(40px,5.7vw,62px); }
  .home-copy>.eyebrow { font-size:8px; }
  .home-actions { gap:15px; }
  .home-description { max-width:300px; }
  .home-caption { margin-top:32px; }
  .hex-map .hex-inner { gap:5px; }
  .atlas-stage { grid-template-columns:1fr; gap:0; min-height:0; }
  /* Title and actions first, then the hexagon, then the descriptive list. */
  .atlas-copy { display:contents; }
  .atlas-children { order:2; margin-top:22px; }
  .atlas-stage .map-column { order:1; width:min(100%,600px); margin:28px auto 0; }
  .atlas-siblings ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .reader-layout { grid-template-columns:230px minmax(0,1fr); gap:22px; }
  .emotion-layout { grid-template-columns:1fr; }
  .emotion-wheel { max-width:620px; margin:auto; }
  .credential-grid { grid-template-columns:1fr; }
  .credential { padding:20px 0; }
}
@media(max-width:760px) {
  html { scroll-padding-top:125px; }
  .site-header { min-height:97px; padding:10px 20px; flex-wrap:wrap; gap:8px; }
  .site-header .brand { font-size:10px; }
  .site-header nav { flex-wrap:wrap; gap:0 4px; font-size:11px; width:100%; justify-content:space-between; }
  .site-header nav a:last-child { padding:0; border:0; }
  .brand small { display:none; }
  .brand-mark { width:25px; height:28px; font-size:11px; }
  .home-stage { grid-template-columns:1fr; width:calc(100vw - 40px); max-width:calc(100% - 24px); padding:40px 0 22px; }
  .home-copy h1 { font-size:clamp(46px,11vw,72px); margin:23px 0; }
  .home-copy>.eyebrow { font-size:8px; }
  .home-description { max-width:400px; font-size:14px; }
  .home-actions { gap:18px; }
  .home-caption { display:none; }
  .map-column { margin-top:24px; }
  .hex-map { max-width:540px; }
  .home-snap .hex-map { max-width:540px; }
  .hex-map .hex-node strong { font-size:clamp(7px,min(2.75cqi,calc(34cqi / var(--n,10))),13px); }
  .hex-map .node-mental-map strong { font-size:clamp(13px,4.2cqi,22px); }
  .hex-map .node-mental-map small { font-size:8px; }
  .hex-map .hex-inner { gap:4px; padding:0 12%; }
  .atlas-page { width:calc(100% - 32px); padding-top:18px; }
  .atlas-children { grid-template-columns:1fr; }
  .leaf-hero { grid-template-columns:1fr; gap:10px; }
  .leaf-icon { width:min(180px,50vw); margin:auto; }
  .atlas-strip-meta { margin-left:0; }
  .request-grid { grid-template-columns:1fr; }
  .home-discover { width:calc(100% - 40px); margin:20px auto 45px; }
  .section-heading { display:block; }
  .section-heading>.text-link { display:inline-block; margin-top:18px; }
  .home-landing .text-link { display:inline-flex; align-items:center; min-width:44px; min-height:44px; }
  .card-grid { grid-template-columns:1fr; }
  .collection-page,.document-page { width:calc(100% - 32px); padding-top:28px; }
  .page-intro h1 { font-size:40px; }
  .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-card { padding:16px; }
  .metric-card .metric-value { font-size:27px; }
  .panel { padding:19px; }
  .bar-row { grid-template-columns:90px 1fr 43px; gap:10px; font-size:11px; }
  .about-intro,.quantum-intro { grid-template-columns:1fr; gap:30px; padding:0 0 35px; }
  .monogram { width:120px; height:140px; font-size:53px; }
  .monogram span { margin-top:20px; }
  .quantum-art { max-width:300px; margin:auto; }
  .reader-top { display:block; }
  .reader-top h1 { font-size:42px; }
  .reader-top .toolbar { margin-top:20px; }
  .reader-layout { grid-template-columns:1fr; }
  .reader-sidebar { position:static; max-height:none; padding:0; }
  .contents-panel { background:#161b2a; border:1px solid #ffffff1a; padding:17px; border-radius:8px; }
  #reader-toc { max-height:330px; overflow:auto; }
  .tex-paper { font-size:14.5px; line-height:1.78; padding:18px 14px; border-radius:6px; }
  .tex-paper h1 { font-size:22px; margin:32px 0 16px; }
  .tex-paper h2 { font-size:19px; margin:26px 0 14px; }
  .tex-paper h3 { font-size:16.5px; margin:22px 0 12px; }
  .tex-paper h4 { font-size:15px; margin:18px 0 10px; }
  .tex-paper mjx-container { font-size:94%!important; max-width:100%; }
  .tex-paper mjx-container[display="true"] { font-size:88%!important; margin:.75em 0!important; padding:4px 0; overflow-x:auto; max-width:100%; }
  .tex-paper .tex-display-math { margin:14px 0; padding:4px 0; max-width:100%; overflow-x:auto; }
  .tex-paper table { font-size:11.5px; }
  .tex-paper td,.tex-paper th { padding:6px 8px; }
  .site-header nav.top-symbol-bar { gap:5px; justify-content:center; }
  .site-header nav .top-sym-tile { min-width:54px; min-height:46px; padding:5px 6px 4px; }
  .site-header nav .top-sym-tile .symbol-caption { font-size:8.5px; }
  .site-footer { width:calc(100% - 40px); flex-wrap:wrap; gap:12px; }
  .site-footer a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; }
  .site-footer span { display:none; }
  .overview-grid,.smash-hero,.fighter-hero,.profile-chart-grid { grid-template-columns:minmax(0,1fr); }
  .fighter-title-row { flex-wrap:wrap; }
  .hero-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .hex-map .hex-inner { gap:3px; padding:0 5%; }
  .hex-map .node-mental-map small { display:none; }
  .atlas-siblings ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:399px) {
  /* Also fit all five links when a desktop browser reserves a scrollbar. */
  .site-header { padding-inline:12px; }
}
@keyframes mario-coin-spin {
  0%, 100% { transform: scaleX(1) translateY(0); }
  25% { transform: scaleX(0.32) translateY(-2px); }
  50% { transform: scaleX(0.08) translateY(-3px); }
  75% { transform: scaleX(0.32) translateY(-2px); }
}
@keyframes mario-coin-sparkle-pulse {
  0%, 100% { opacity: 0.25; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.15); }
}
@keyframes mario-coin-flip-3d {
  0% { transform: translateY(0) scaleX(1) rotateZ(0deg); }
  20% { transform: translateY(-42px) scaleX(0.1) rotateZ(8deg); }
  40% { transform: translateY(-68px) scaleX(1) rotateZ(-8deg); }
  60% { transform: translateY(-48px) scaleX(0.1) rotateZ(6deg); }
  80% { transform: translateY(-18px) scaleX(0.85) rotateZ(-4deg); }
  100% { transform: translateY(0) scaleX(1) rotateZ(0deg); }
}
.mario-coin-svg .mario-coin-spin-group {
  transform-origin: 32px 32px;
  animation: mario-coin-spin 2.2s ease-in-out infinite;
}
.mario-coin-svg .mario-coin-sparkle {
  transform-origin: 32px 32px;
  animation: mario-coin-sparkle-pulse 1.6s ease-in-out infinite;
}
.mario-coin-3d.is-flipping .mario-coin-svg {
  animation: mario-coin-flip-3d 0.72s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.mario-coin-only-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  border-radius: 50%;
  text-decoration: none;
  filter: drop-shadow(0 4px 12px rgba(255, 212, 59, 0.35));
  transition: transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), filter 0.2s ease;
}
.mario-coin-only-link:hover,
.mario-coin-only-link:focus-visible {
  transform: translateY(-3px) scale(1.12);
  filter: drop-shadow(0 6px 18px rgba(255, 212, 59, 0.65));
}
.mario-coin-widget-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 10px 16px 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 212, 59, 0.48);
  background: linear-gradient(135deg, rgba(255, 212, 59, 0.14), rgba(229, 153, 0, 0.06));
  color: #f4f6ff;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28), inset 0 0 12px rgba(255, 212, 59, 0.12);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.mario-coin-widget-link:hover,
.mario-coin-widget-link:focus-visible {
  transform: translateY(-2px);
  border-color: #ffd43b;
  box-shadow: 0 8px 24px rgba(255, 212, 59, 0.24), inset 0 0 16px rgba(255, 212, 59, 0.2);
}
.mario-coin-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mario-coin-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.mario-coin-kicker {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffd43b;
}
.mario-coin-copy strong {
  font-size: 14px;
  color: #ffffff;
}
.mario-coin-copy small {
  font-size: 11.5px;
  color: #cbd2eb;
}

@media(forced-colors:active) {
  .hex-map .hex-node:focus-visible { outline:3px solid Highlight; outline-offset:3px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
@media print {
  :root { color-scheme:light; }
  body { background:white; color:#222; }
  .site-header,.site-footer,.reader-sidebar,.topic-links,.reader-note,.math-status,.reader-top .toolbar,.back-top,.skip-link { display:none!important; }
  .document-page { width:100%; padding:0; }
  .reader-top h1 { color:#222; }
  .reader-layout { display:block; }
  .tex-paper { padding:0; background:white; box-shadow:none; font-size:11pt; }
  .tex-paper img,.tex-display-math { break-inside:avoid; }
  .tex-paper h1,.tex-paper h2,.tex-paper h3,.tex-paper h4 { break-after:avoid; }
  a { color:#174b99; }
}