/* The game layer shares the portfolio's original colors and actual saved progress. */
.nav .game-button{flex-direction:row;align-items:center;justify-content:center;gap:4px;min-width:74px;min-height:40px;padding:6px 9px;font-size:12px;color:var(--text);border-radius:6px}
.discovery-symbol{font-size:20px;line-height:1;color:var(--accent);margin-right:3px}.discovery-total{color:var(--muted);font-size:10px}.nav .game-button b{font-weight:500;font-variant-numeric:tabular-nums}
.explorer-hud{width:100%;display:grid;grid-template-columns:minmax(200px,.9fr) minmax(160px,.8fr) minmax(240px,1.3fr) 20px;align-items:center;gap:30px;min-height:80px;padding:15px 0;text-align:left;border-bottom:1px solid var(--line);position:relative}
.explorer-hud:after{content:'';position:absolute;bottom:-1px;left:0;width:70px;height:1px;background:var(--accent);box-shadow:0 0 14px var(--accent)}
.hud-identity{display:flex;align-items:center;gap:13px}.hud-level{height:46px;width:43px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%);background:linear-gradient(135deg,#7517f847,#bd1ffc26);color:var(--accent)}
.hud-level small{font-size:8px;line-height:1;letter-spacing:.14em}.hud-level b{font:600 22px/1.2 var(--display);font-variant-numeric:tabular-nums}.hud-rank small,.hud-quest small{display:block;font-size:8px;line-height:1.5;letter-spacing:.12em;color:var(--muted)}.hud-rank strong{display:block;font-size:14px;font-weight:500;line-height:1.5}
.hud-progress-label{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:10px;color:var(--muted)}.hud-progress-label b{color:var(--text);font-weight:500}.hud-track{height:4px;display:block;background:#33233f;overflow:hidden}.hud-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),#7517F8,#BD1FFC);transition:width .5s ease}
.hud-quest{display:flex;align-items:center;gap:12px;padding-left:28px;border-left:1px solid var(--line)}.quest-icon{font-size:24px;color:#c89cff}.hud-quest strong{font-size:12px;line-height:1.4;font-weight:400;display:block}.quest-reward{font-size:10px;color:var(--accent);white-space:nowrap;margin-left:auto}.hud-open{font-size:19px;color:var(--muted);transition:color .2s,transform .2s}.explorer-hud:hover .hud-open{color:var(--accent);transform:translate(2px,-2px)}.explorer-hud:hover .hud-rank strong{color:var(--accent)}
.pointer-follower{display:none;position:fixed;inset:0 auto auto 0;width:34px;height:34px;border:1px solid var(--accent);border-radius:50%;pointer-events:none;z-index:200;opacity:0;will-change:transform;color:var(--accent);font:500 14px/1 var(--body);align-items:center;justify-content:center;background:transparent;transition:width .16s,height .16s,opacity .16s,background .16s;box-shadow:0 0 12px #7517f826}
@media(hover:hover) and (pointer:fine){
  body.has-custom-pointer,body.has-custom-pointer :is(a,button,.zoom-image,[data-zoom],input[type=range]){cursor:var(--portfolio-pointer),auto}
  body.has-custom-pointer :is(input:not([type=range]),textarea,[contenteditable=true]){cursor:text}
  body.has-custom-pointer :is(video,select,button:disabled){cursor:auto}
  .pointer-follower{display:flex}.pointer-follower.visible{opacity:.55}.pointer-follower[data-state=link]{width:46px;height:46px;background:#7517f814;opacity:.8}.pointer-follower[data-state=drag],.pointer-follower[data-state=zoom]{width:42px;height:42px;background:var(--bg);opacity:.95}.pointer-follower.pressed{width:25px;height:25px;background:#7517f83b}
}
@media(max-width:1050px){.explorer-hud{gap:24px;grid-template-columns:minmax(170px,.85fr) minmax(150px,.8fr) minmax(230px,1.2fr)}.hud-open{display:none}.hud-quest{padding-left:20px}.quest-reward{display:none}}
@media(max-width:760px){
  .nav .game-button{min-width:59px;min-height:44px;padding:5px;gap:2px}.discovery-symbol{font-size:17px;margin-right:1px}.discovery-total{font-size:9px}
  .explorer-hud{grid-template-columns:1fr 1fr;gap:10px 18px;min-height:0;padding:12px 0 11px}.hud-identity{gap:10px}.hud-level{height:36px;width:34px}.hud-level b{font-size:18px}.hud-level small{font-size:7px}.hud-rank small{font-size:7px;letter-spacing:.06em}.hud-rank strong{font-size:12px}.hud-progress-label{font-size:9px;gap:4px;margin-bottom:6px}.hud-quest{grid-column:1/-1;border-left:0;padding:8px 0 0;border-top:1px solid var(--line);gap:8px}.hud-quest>span:nth-child(2){display:flex;align-items:center;gap:8px;min-width:0}.hud-quest small{font-size:7px;white-space:nowrap}.hud-quest strong{font-size:10px}.quest-icon{font-size:15px}.quest-reward{display:none}.hero{padding-top:25px}.menu-panel{top:126px}
}
@media(max-width:350px){.hud-rank small{display:none}.hud-quest small{display:none}.hud-progress-label{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hud-track i,.pointer-follower{transition:none}}

/* Shared overflow treatment for the page, horizontal rails, and overlays. */
*{scrollbar-width:thin;scrollbar-color:#705684 #120d1c}
::-webkit-scrollbar{width:10px;height:8px}::-webkit-scrollbar-track{background:#120d1c}::-webkit-scrollbar-thumb{background:#705684;border:3px solid #120d1c;border-radius:12px}::-webkit-scrollbar-thumb:hover{background:#a581be}::-webkit-scrollbar-corner{background:#120d1c}
.modal,.chat-log,.lightbox,.node-flow,.case-rail,.demo-tabs{overscroll-behavior:contain;scrollbar-color:#705684 var(--surface)}
.modal{border-radius:12px;background:linear-gradient(145deg,#1c1428,#100c19);box-shadow:0 30px 100px #0008}.modal::backdrop,.lightbox::backdrop{background:#080510ba;backdrop-filter:blur(8px)}.lightbox{border:1px solid var(--line);border-radius:10px}.assistant{border-radius:12px;overflow:hidden}.radio-volume{border-radius:8px;background:#191123}.menu-panel{border-radius:10px;background:#191123;box-shadow:0 22px 50px #0007}.node-flow,.case-rail,.demo-tabs{scroll-behavior:smooth}.chat-log{scrollbar-gutter:stable}

.project-media.mclaren{background:#151019;display:grid;place-items:center;padding:5%;border:1px solid #46322c}.project-media.mclaren img{width:100%;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 15px 40px #0008}.project:hover .project-media.mclaren img{transform:scale(1.015)}
.legacy-work{margin-top:65px}.legacy-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:35px 0;border-top:1px solid var(--line)}.legacy-heading h2{font-size:clamp(28px,3vw,44px);line-height:1.25;letter-spacing:-.04em}.legacy-heading h2 em{font-family:var(--serif);font-weight:400;color:var(--muted)}.legacy-heading p{max-width:310px;font-size:14px;color:var(--muted)}
.legacy-row{display:grid;grid-template-columns:38px minmax(0,1fr) 210px 26px;gap:20px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);transition:background .2s}.legacy-row:hover{background:#7517f80a}.legacy-number{font-size:11px;color:var(--muted);align-self:start;margin-top:9px}.legacy-name h3{font-size:30px;letter-spacing:-.045em;line-height:1.3;transition:color .2s}.legacy-name>span{display:block;color:var(--muted);font-size:13px;max-width:560px;line-height:1.55;margin-top:5px}.legacy-medium{font-size:12px;color:#d3c8df}.legacy-medium small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.legacy-arrow{font-size:22px;color:var(--muted);transition:color .2s,transform .2s}.legacy-row:hover h3,.legacy-row:hover .legacy-arrow{color:var(--accent)}.legacy-row:hover .legacy-arrow{transform:translate(3px,-3px)}
.legacy-intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:45px 0;border-block:1px solid var(--line);margin-top:20px}.legacy-intro>p{max-width:780px;font-size:clamp(22px,2.8vw,35px);line-height:1.5;letter-spacing:-.02em;color:#d7cede}.legacy-decisions{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:55px 0}.legacy-decision>span{font-size:12px;color:var(--accent)}.legacy-decision h2{font-size:26px;letter-spacing:-.035em;line-height:1.3;margin:20px 0 15px}.legacy-decision p{font-size:16px;color:var(--muted);line-height:1.7}.legacy-conversation{padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center}.legacy-conversation p{color:var(--muted);font-size:14px}.legacy-visual img{max-height:none}.legacy-visual figcaption{font-size:13px;padding:15px 0;background:var(--bg);color:var(--muted)}
@media(max-width:760px){.legacy-work{margin-top:42px}.legacy-heading{display:block;padding:25px 0}.legacy-heading p{margin-top:18px;font-size:13px}.legacy-row{grid-template-columns:23px minmax(0,1fr) 18px;gap:10px;padding:21px 0}.legacy-number{font-size:9px;margin-top:7px}.legacy-name h3{font-size:26px}.legacy-name>span{font-size:12px}.legacy-medium{grid-column:2;grid-row:auto;font-size:10px;margin-top:1px}.legacy-medium small{display:inline;margin-left:8px;font-size:9px}.legacy-arrow{grid-column:3;grid-row:1;font-size:19px;align-self:start}.legacy-intro{grid-template-columns:1fr;gap:15px;padding:25px 0}.legacy-decisions{grid-template-columns:1fr;gap:25px;padding:28px 0}.legacy-decision{border-bottom:1px solid var(--line);padding-bottom:25px}.legacy-decision h2{font-size:26px;margin:12px 0}.legacy-decision p{font-size:15px}.legacy-conversation{display:block;padding-top:20px}.legacy-conversation .text-btn{margin-top:10px}.legacy-visual figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.node-flow,.case-rail,.demo-tabs{scroll-behavior:auto}}
