:root {
  --ink: #131411;
  --paper: #eee9dc;
  --paper-2: #d9d3c4;
  --acid: #d8ff32;
  --yellow: #ffc424;
  --red: #ef5844;
  --blue: #4b75ff;
  --line: rgba(20, 21, 17, .23);
  --mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans: "Manrope", "Noto Sans SC", system-ui, sans-serif;
  --look-x: 0px;
  --look-y: 0px;
  --rot-x: 0deg;
  --rot-y: 0deg;
}

* { box-sizing: border-box; }
html { background: #0b0d0a; color: var(--ink); }
body { margin: 0; min-width: 320px; min-height: 100vh; overflow: hidden; font-family: var(--sans); background: radial-gradient(circle at 50% 0%, #252820 0, #10120e 48%, #070806 100%); }
button, a { color: inherit; font: inherit; }
button { border: 0; cursor: pointer; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
::selection { background: var(--acid); color: #111; }

.boot-screen { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: #0a0b09; color: #f2efe5; transition: opacity .8s ease, visibility .8s ease; }
.boot-screen.is-exiting { opacity: 0; visibility: hidden; }
.boot-grid { position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px); background-size: 34px 34px; mask-image: radial-gradient(circle at center, black, transparent 72%); }
.boot-console { position: relative; width: min(620px, calc(100vw - 42px)); padding: 44px; border: 1px solid #3b4034; border-radius: 24px; background: linear-gradient(145deg, rgba(36,40,31,.94), rgba(15,17,13,.97)); box-shadow: 0 45px 110px #000, inset 0 1px rgba(255,255,255,.08); }
.boot-console::before, .boot-console::after { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #070806; box-shadow: inset 0 1px 2px #000, 0 1px rgba(255,255,255,.1); }
.boot-console::before { left: 18px; top: 18px; }.boot-console::after { right: 18px; bottom: 18px; }
.boot-mark { position: absolute; right: 38px; top: 36px; font: 800 28px/1 var(--sans); }.boot-mark i { display: inline-block; width: 8px; height: 8px; margin-left: 5px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 18px var(--acid); }
.boot-kicker, .micro { margin: 0; font: 500 10px/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.boot-console h1 { margin: 34px 0 18px; font-size: clamp(48px, 7vw, 80px); line-height: .92; letter-spacing: -.075em; }.boot-console h1 span { color: var(--acid); }
.boot-copy { max-width: 450px; margin: 0; color: #aeb3a5; font-size: 14px; line-height: 1.8; }
.boot-status { display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 10px; margin: 30px 0 16px; padding-top: 17px; border-top: 1px solid #353a2e; font: 10px var(--mono); }
.boot-status > span { width: 8px; height: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 15px var(--acid); animation: pulse 1.2s infinite; }.boot-status b { font-weight: 500; }.boot-status em { color: #73796d; font-style: normal; }
.boot-button { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; border-radius: 12px; background: var(--acid); color: #10120d; font-weight: 800; transition: transform .2s, filter .2s; }.boot-button:hover { transform: translateY(-3px); filter: brightness(1.07); }.boot-button kbd { padding: 5px 8px; border: 1px solid rgba(0,0,0,.3); border-radius: 6px; font: 10px var(--mono); box-shadow: inset 0 -2px rgba(0,0,0,.15); }
.boot-foot { position: absolute; left: 22px; right: 22px; bottom: 18px; display: flex; justify-content: space-between; color: #5d6258; font: 9px var(--mono); letter-spacing: .15em; }
@keyframes pulse { 50% { opacity: .4; transform: scale(.8); } }

.app { min-height: 100vh; opacity: 0; pointer-events: none; transform: scale(1.02); transition: opacity .9s .2s, transform .9s .2s; }.app.is-ready { opacity: 1; pointer-events: auto; transform: none; }.is-entering .app { pointer-events: none; }
.hud { position: fixed; z-index: 20; top: 0; left: 0; right: 0; height: 74px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 28px; color: #e7e8df; background: linear-gradient(#151712 0, rgba(16,18,14,.89) 70%, transparent); }
.hud-brand { display: flex; gap: 10px; align-items: center; width: max-content; color: inherit; text-decoration: none; }.hud-brand b { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #505548; border-radius: 10px; background: #20231c; color: var(--acid); box-shadow: inset 0 1px rgba(255,255,255,.08); }.hud-brand span { font: 700 9px/1.15 var(--mono); letter-spacing: .1em; }
.hud-progress { display: grid; grid-template-columns: auto 120px auto; gap: 10px; align-items: center; font: 9px var(--mono); letter-spacing: .08em; }.progress-track { width: 120px; height: 5px; overflow: hidden; border-radius: 9px; background: #383c32; }.progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--acid); box-shadow: 0 0 12px var(--acid); transition: width .45s ease; }.hud-progress b { min-width: 40px; font-size: 10px; color: var(--acid); }
.hud-tools { justify-self: end; display: flex; gap: 8px; }.hud-tools button { padding: 9px 11px; border: 1px solid #3c4036; border-radius: 9px; background: #20231c; color: #cbd0c3; font: 9px var(--mono); }.hud-tools button:hover { color: var(--acid); border-color: #6d745e; }.hud-tools i { display: inline-block; width: 7px; height: 7px; margin-right: 3px; border-radius: 50%; background: #656a5d; }.hud-tools button[aria-pressed="true"] i { background: var(--acid); box-shadow: 0 0 8px var(--acid); }.hud-tools kbd { color: var(--acid); }

.garage { position: relative; min-height: 100vh; display: grid; place-items: center; padding: 78px 18px 36px; perspective: 1600px; overflow: hidden; }
.ambient { position: absolute; width: 42vw; height: 42vw; border-radius: 50%; filter: blur(100px); opacity: .18; pointer-events: none; }.ambient-a { left: -18vw; top: 10vh; background: #c5ff46; }.ambient-b { right: -20vw; bottom: -20vw; background: #5475ff; }
.garage-frame { position: relative; width: min(1500px, calc(100vw - 36px)); height: min(830px, calc(100vh - 118px)); min-height: 610px; display: grid; grid-template-columns: 276px 1fr; gap: 10px; padding: 11px; border: 1px solid #4a4e42; border-radius: 26px; background: linear-gradient(145deg,#33372e,#10120e 35%,#292c25); box-shadow: 0 40px 90px rgba(0,0,0,.68), inset 0 2px 1px rgba(255,255,255,.15); transform: rotateX(var(--rot-x)) rotateY(var(--rot-y)); transition: transform .12s linear; }
.garage-frame::after { content: ""; position: absolute; inset: 5px; pointer-events: none; border: 1px solid rgba(255,255,255,.08); border-radius: 20px; }
.legend-panel, .pegboard { border-radius: 17px; background: var(--paper); box-shadow: inset 0 0 0 1px #726e62, inset 0 0 35px rgba(74,57,26,.12), 0 2px 10px #000; }
.legend-panel { position: relative; z-index: 2; padding: 30px 25px 20px; overflow: hidden; background-image: radial-gradient(rgba(80,70,50,.08) .7px, transparent .8px); background-size: 5px 5px; }
.legend-screw, .acrylic-screw { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: radial-gradient(circle at 35% 35%,#e7e7e4,#555 45%,#111); box-shadow: 0 1px 2px #666; }.legend-screw.s1 { top: 14px; left: 14px; }.legend-screw.s2 { right: 14px; bottom: 14px; }
.legend-panel h1 { margin: 16px 0 10px; font-size: 31px; line-height: .9; letter-spacing: -.055em; }.legend-panel h1 span { font-size: 39px; }.motto { margin: 0; font: 10px/1.65 var(--mono); color: #5c5a52; }.legend-rule { height: 1px; margin: 18px 0; background: #6a675e; }
.legend-list { list-style: none; padding: 0; margin: 8px 0 0; }.legend-list li { border-bottom: 1px dotted #a09c91; }.legend-list button { width: 100%; display: grid; grid-template-columns: 24px 1fr auto; gap: 7px; padding: 6px 0; text-align: left; background: transparent; font: 9px var(--mono); }.legend-list button:hover span, .legend-list button:hover em { color: #d48400; }.legend-list b { color: #9b6a00; }.legend-list em { font-style: normal; }.object-tip { font: 9px/1.7 var(--mono); color: #57554e; }.object-tip span { color: #be7800; }.legend-sign { position: absolute; left: 0; right: 0; bottom: 0; padding: 9px 25px; background: #171813; color: var(--acid); font: 8px var(--mono); letter-spacing: .08em; }

.pegboard { position: relative; overflow: hidden; transform-style: preserve-3d; background-color: #e9e3d5; background-image: radial-gradient(circle at center, #4d4a42 0 3px, transparent 3.3px); background-size: 47px 47px; background-position: 10px 9px; }
.pegboard-noise { position: absolute; inset: 0; pointer-events: none; opacity: .28; mix-blend-mode: multiply; background: radial-gradient(circle at 20% 10%,#fff,transparent 36%), linear-gradient(115deg, transparent, rgba(90,65,30,.08) 44%, transparent 46%); }
.layer { --shift-x: 0px; --shift-y: 0px; }
.title-plate { --depth: .18; position: absolute; left: 3.5%; top: 4.5%; width: 31%; padding: 13px 18px 12px; border: 1px solid rgba(20,20,16,.34); background: rgba(235,232,221,.73); backdrop-filter: blur(7px); box-shadow: 0 10px 18px rgba(52,43,31,.16); transform: translate3d(var(--shift-x),var(--shift-y),0); }.title-plate span, .title-plate small { display: block; font: 7px var(--mono); letter-spacing: .13em; }.title-plate strong { display: block; margin: 4px 0; font-size: clamp(16px, 2.1vw, 29px); line-height: .82; letter-spacing: -.06em; }
.board-object { position: absolute; padding: 0; background: none; transform: translate3d(var(--shift-x),var(--shift-y),0) rotate(var(--rotation,0deg)); transform-style: preserve-3d; transition: transform .25s cubic-bezier(.2,.8,.2,1), filter .25s; }.board-object:hover { transform: translate3d(var(--shift-x),calc(var(--shift-y) - 7px),35px) rotate(var(--rotation,0deg)) scale(1.025); filter: brightness(1.035); z-index: 10; }.board-object:active { transform: translate3d(var(--shift-x),var(--shift-y),20px) rotate(var(--rotation,0deg)) scale(.985); }

.key-tag { --depth: .92; --rotation: -2deg; left: 5.8%; top: 35%; width: 105px; height: 220px; border-radius: 27px 27px 18px 18px; background: linear-gradient(100deg,#e5a900,#ffd13b 42%,#efa600); border: 1px solid #b77b00; color: #221b0e; box-shadow: 0 22px 22px rgba(38,27,11,.36), inset 0 2px rgba(255,255,255,.45), inset -8px 0 14px rgba(123,75,0,.14); text-align: left; padding: 53px 14px 14px; }.key-tag .hook { position: absolute; top: -51px; left: 34px; width: 40px; height: 53px; border: 5px solid #85847f; border-radius: 50%; box-shadow: inset 0 0 3px #222, 0 2px 3px rgba(0,0,0,.3); }.key-tag .hook i { position: absolute; left: 14px; top: 28px; height: 25px; width: 4px; background: #777; }.key-tag .key { position: absolute; left: -30px; top: -44px; width: 38px; height: 107px; border-radius: 8px; transform: rotate(26deg); background: linear-gradient(90deg,#858680,#d6d5cb 42%,#6e706b); box-shadow: 2px 3px 5px rgba(0,0,0,.35); clip-path: polygon(27% 0,73% 0,100% 18%,78% 57%,90% 100%,61% 100%,52% 74%,39% 100%,13% 100%,28% 57%,0 18%); }.key-tag .tag-hole { position: absolute; top: 15px; left: 42px; width: 21px; height: 21px; border-radius: 50%; background: #403827; box-shadow: inset 0 2px 5px #000, 0 1px #fff; }.key-tag b,.key-tag strong,.key-tag small,.key-tag em { display: block; }.key-tag b { font: 16px var(--mono); }.key-tag strong { margin-top: 7px; font-size: 14px; }.key-tag small { margin-top: 3px; font-size: 9px; }.key-tag em { position: absolute; right: 14px; bottom: 13px; font-style: normal; font-size: 20px; }

.clipboard { --depth: .55; left: 29%; top: 13%; width: 360px; height: 490px; padding: 55px 28px 25px; border: 1px solid rgba(255,255,255,.8); border-radius: 10px; background: linear-gradient(125deg,rgba(255,255,255,.58),rgba(225,229,225,.73) 45%,rgba(255,255,255,.38)); backdrop-filter: blur(8px); box-shadow: 0 30px 30px rgba(54,47,35,.29), inset 0 0 0 7px rgba(151,157,155,.22), inset 0 0 12px #fff; text-align: left; }.clipboard::before { content: ""; position: absolute; inset: 21px 20px; z-index: -1; background: rgba(244,243,237,.9); box-shadow: 0 3px 10px rgba(0,0,0,.14); }.clip { position: absolute; top: -15px; left: 50%; width: 76px; height: 57px; transform: translateX(-50%); border: 2px solid #777; border-radius: 8px 8px 15px 15px; background: linear-gradient(#e7e8e6,#8d908e 26%,#d9d9d6 46%,#7c7f7d); box-shadow: 0 7px 8px rgba(0,0,0,.28); }.clip::before { content:""; position:absolute; left:28px; top:-32px; width:20px; height:34px; border:4px solid #858783; border-radius:13px; }
.acrylic-screw.a1{left:10px;top:10px}.acrylic-screw.a2{right:10px;top:10px}.acrylic-screw.a3{left:10px;bottom:10px}.acrylic-screw.a4{right:10px;bottom:10px}
.sheet-head { display: block; margin-bottom: 14px; border-bottom: 1px solid #aaa79c; padding-bottom: 11px; }.sheet-head small,.sheet-head strong,.sheet-head em { display:block; }.sheet-head small { font: 9px var(--mono); }.sheet-head strong { font-size: 29px; line-height: 1.05; }.sheet-head em { color:#77736a; font: normal 9px var(--mono); }
.mini-project { display:grid; grid-template-columns:28px 62px 1fr; gap:9px; align-items:center; min-height:55px; border-bottom:1px solid #c8c4ba; }.mini-project > b { font: 11px var(--mono); color:#9e6500; }.mini-project > i { height:42px; background-size:cover; background-position:center; }.mini-project > span { font:700 10px var(--mono); }.mini-project small { display:block; margin-top:2px; color:#77736a; font:7px var(--sans); }.sheet-action { position:absolute; left:28px; right:28px; bottom:29px; display:flex; justify-content:space-between; font:9px var(--mono); }

.id-card { --depth: .7; --rotation: 2deg; right: 6.2%; top: 9.5%; width: 270px; height: 145px; display:grid; grid-template-columns:82px 1fr; gap:12px; align-items:center; padding:19px 18px; border:1px solid rgba(255,255,255,.8); border-radius:10px; background:rgba(244,246,240,.71); backdrop-filter:blur(7px); box-shadow:0 20px 24px rgba(48,40,27,.28),inset 0 0 0 5px rgba(173,178,172,.25); text-align:left; }.lanyard { position:absolute; left:50%; top:-72px; width:22px; height:77px; transform:translateX(-50%); border:3px solid #8b8c86; border-radius:13px; }.lanyard::after { content:""; position:absolute; left:-11px; bottom:-6px; width:38px; height:20px; border:3px solid #8b8c86; border-radius:50%; }.id-photo { display:grid; place-items:center; height:82px; border-radius:4px; background:linear-gradient(145deg,#1a1d18,#494e41); color:var(--acid); font:800 25px var(--sans); }.id-copy small,.id-copy strong,.id-copy em,.id-copy i{display:block}.id-copy small{font:7px var(--mono)}.id-copy strong{margin-top:8px;font-size:21px}.id-copy em{font:normal 9px var(--sans);color:#6d6c65}.id-copy i{margin-top:15px;font:normal 8px var(--mono)}.barcode{position:absolute;right:17px;bottom:10px;width:62px;height:5px;background:repeating-linear-gradient(90deg,#111 0 1px,transparent 1px 3px,#111 3px 5px,transparent 5px 7px)}

.skill-badge { --depth:.82; --rotation:-3deg; left:13.5%; bottom:6%; width:235px; height:238px; padding:55px 24px 20px; border:5px solid #4e504a; border-radius:50%; background:radial-gradient(circle at 35% 25%,#343832,#0f100e 66%); color:#eee; box-shadow:0 28px 28px rgba(31,25,15,.44),inset 0 0 0 1px #9da092,inset 0 0 30px #000;text-align:center}.skill-badge .ring{position:absolute;left:50%;top:-69px;width:53px;height:75px;transform:translateX(-50%);border:7px solid #767873;border-radius:50%;box-shadow:inset 0 0 4px #000}.skill-badge small,.skill-badge strong,.skill-badge em{display:block}.skill-badge small{font:8px var(--mono);color:#a7aa9e}.skill-badge strong{margin:10px 0 16px;font-size:22px}.skill-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.skill-chips i{padding:4px 7px;border:1px solid #8d803f;border-radius:9px;color:#dfc947;font:normal 7px var(--mono)}.skill-badge em{margin-top:16px;color:var(--acid);font:normal 8px var(--mono)}

.projector { --depth:.62; --rotation:1deg; right:27%; bottom:5%; width:250px; height:170px; border:2px solid #555950; border-radius:18px; background:linear-gradient(145deg,#343831,#11130f); box-shadow:0 25px 25px rgba(35,29,19,.42),inset 0 1px #7a7d73;color:white;text-align:left}.projector-hanger{position:absolute;left:50%;top:-58px;width:5px;height:60px;background:#777;box-shadow:1px 0 #ddd}.projector-hanger::before{content:"";position:absolute;left:-17px;top:-11px;width:35px;height:35px;border:5px solid #777;border-radius:50%}.reel{position:absolute;top:21px;width:75px;height:75px;border:3px solid #73776d;border-radius:50%;background:#151713;animation:spin 7s linear infinite}.reel.r1{left:22px}.reel.r2{left:102px;animation-direction:reverse}.reel i{position:absolute;left:30px;top:8px;width:12px;height:23px;border-radius:50%;background:#5d6158;transform-origin:6px 29px}.reel i:nth-child(2){transform:rotate(120deg)}.reel i:nth-child(3){transform:rotate(240deg)}@keyframes spin{to{transform:rotate(360deg)}}.projector-lens{position:absolute;right:18px;top:36px;width:48px;height:48px;border:8px solid #74796d;border-radius:50%;background:radial-gradient(circle at 38% 38%,#91bba9,#172427 28%,#050605 65%);box-shadow:0 0 13px rgba(157,255,222,.2)}.projector b{position:absolute;left:20px;bottom:17px;font:12px var(--mono);color:var(--acid)}.projector strong{position:absolute;left:51px;bottom:16px;font:800 17px/1 var(--sans)}.projector small{position:absolute;right:17px;bottom:18px;font:7px var(--mono);color:#9ca095}

.envelope { --depth:.76; --rotation:2deg; right:4.8%; bottom:9%; width:252px; height:173px; padding:24px; border:8px solid transparent; border-image:repeating-linear-gradient(135deg,#dc4e3f 0 8px,#eee 8px 16px,#5071b3 16px 24px,#eee 24px 32px) 8; background:#f1efe6; box-shadow:0 24px 24px rgba(46,37,24,.35);text-align:left}.envelope::after{content:"";position:absolute;inset:0;background:linear-gradient(28deg,transparent 49.5%,#d2cec1 50%,transparent 50.5%),linear-gradient(-28deg,transparent 49.5%,#d2cec1 50%,transparent 50.5%);opacity:.35}.mail-hook{position:absolute;left:50%;top:-65px;width:42px;height:64px;transform:translateX(-50%);border:5px solid #7d7f79;border-radius:50%;z-index:2}.stamp{position:absolute;right:12px;top:11px;width:45px;height:45px;display:grid;place-items:center;border:1px dotted #777;background:#ddd9c9;font:800 15px var(--sans);z-index:2}.stamp i{font:normal 6px var(--mono)}.envelope small,.envelope strong,.envelope em{position:relative;z-index:2;display:block}.envelope small{font:7px var(--mono)}.envelope strong{margin-top:31px;font-size:16px;line-height:1.05}.envelope em{margin-top:18px;font:normal 9px var(--mono)}
.board-note{--depth:.95;--rotation:4deg;position:absolute;right:3%;top:40%;width:104px;min-height:137px;padding:23px 12px 12px;background:#f0e9d9;box-shadow:0 14px 18px rgba(47,36,20,.25);transform:translate3d(var(--shift-x),var(--shift-y),0) rotate(var(--rotation));font:8px var(--mono)}.board-note span{position:absolute;left:50%;top:-18px;width:27px;height:36px;transform:translateX(-50%);background:#d5aa00;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%)}.board-note b,.board-note small{display:block}.board-note b{margin-bottom:13px}.board-note small{color:#68665e;line-height:1.6}.cable{position:absolute;left:4%;bottom:-9%;width:70%;height:20%;border:4px solid rgba(44,44,40,.55);border-top:0;border-radius:0 0 50% 50%;transform:translate3d(var(--shift-x),var(--shift-y),0);pointer-events:none}
.garage-footer{position:absolute;left:36px;right:36px;bottom:12px;display:flex;justify-content:space-between;color:#73786b;font:8px var(--mono);letter-spacing:.08em}.garage-footer b{color:#c7cabf;font-weight:500}

.portal { width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:18px; border:0; background:rgba(7,8,6,.75); color:#e9ece3; backdrop-filter:blur(16px); opacity:0; transition:opacity .3s; }.portal[open]{opacity:1}.portal::backdrop{background:transparent}.portal-shell{height:100%;display:grid;grid-template-rows:72px 1fr 34px;overflow:hidden;border:1px solid #52574a;border-radius:24px;background:#11130f;box-shadow:0 35px 90px #000}.portal-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 26px;border-bottom:1px solid #393d34;background:#191c16}.portal-header>div{display:flex;align-items:center;gap:12px}.portal-index{display:grid;place-items:center;width:40px;height:40px;border:1px solid #4d5344;border-radius:10px;color:var(--acid);font:12px var(--mono)}.portal-header p{margin:0}.portal-header p b,.portal-header p small{display:block}.portal-header p b{font:11px var(--mono);letter-spacing:.1em}.portal-header p small{margin-top:2px;color:#7e8476;font:7px var(--mono)}.portal-header nav{display:flex;gap:3px}.portal-header nav button{padding:10px 13px;border-radius:8px;background:transparent;color:#8f9586;font:9px var(--mono)}.portal-header nav button:hover{background:#292d24;color:var(--acid)}.portal-close{justify-self:end;padding:9px 12px;border:1px solid #454a3e;border-radius:8px;background:#252820;color:#eee;font-size:21px}.portal-close span{margin-right:8px;color:#8b9182;font:7px var(--mono)}.portal-body{min-height:0;overflow:auto;scroll-behavior:smooth}.portal-footer{display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-top:1px solid #34382f;color:#6f7567;font:7px var(--mono);letter-spacing:.12em}.portal-footer span:nth-child(2){color:var(--acid)}

.archive-page{min-height:100%;padding:clamp(28px,4vw,60px)}.page-kicker{display:flex;gap:12px;align-items:center;margin:0 0 18px;color:var(--acid);font:9px var(--mono);letter-spacing:.12em}.page-kicker::before{content:"";width:28px;height:1px;background:var(--acid)}.archive-page h2{max-width:850px;margin:0;font-size:clamp(42px,6vw,92px);line-height:.92;letter-spacing:-.075em}.archive-page h2 span{color:var(--acid)}.page-lead{max-width:670px;margin:25px 0 40px;color:#a8aea0;font-size:14px;line-height:1.8}

.about-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}.about-intro{position:sticky;top:0}.about-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{min-height:190px;padding:23px;border:1px solid #3b4035;border-radius:18px;background:linear-gradient(145deg,#20231c,#151713);box-shadow:inset 0 1px rgba(255,255,255,.05)}.stat-card b{display:block;color:var(--acid);font-size:48px;line-height:1}.stat-card b small{font-size:15px}.stat-card span{display:block;margin:12px 0 24px;font-size:13px}.stat-card p{margin:0;color:#777e70;font:9px/1.6 var(--mono)}.about-quote{grid-column:1/-1;padding:28px;border:1px solid #4a503f;border-radius:18px;background:#d8ff32;color:#111;font-size:24px;font-weight:800;line-height:1.3}.about-quote small{display:block;margin-top:13px;font:9px var(--mono)}

.mission-top{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:30px}.mission-top h2{font-size:clamp(38px,5vw,72px)}.mission-counter{min-width:170px;padding:14px;border:1px solid #3c4136;border-radius:14px;background:#1c1f19;font:9px var(--mono)}.mission-counter b{display:block;margin-top:6px;color:var(--acid);font-size:25px}.mission-map{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:88px;gap:12px}.mission-card{position:relative;overflow:hidden;border:1px solid #44493d;border-radius:20px;background:#20231c;color:white;text-align:left;box-shadow:0 16px 35px rgba(0,0,0,.3);isolation:isolate}.mission-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(4,5,4,.86));z-index:-1}.mission-card img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .7s,filter .5s}.mission-card:hover img{transform:scale(1.055);filter:saturate(1.05)}.mission-card:nth-child(1){grid-column:span 5;grid-row:span 4}.mission-card:nth-child(2){grid-column:span 3;grid-row:span 4}.mission-card:nth-child(3){grid-column:span 4;grid-row:span 2}.mission-card:nth-child(4){grid-column:span 4;grid-row:span 2}.mission-card:nth-child(5){grid-column:span 4;grid-row:span 3}.mission-card:nth-child(6){grid-column:span 4;grid-row:span 3}.mission-card:nth-child(7){grid-column:span 4;grid-row:span 3;background:linear-gradient(145deg,#d8ff32,#7f9b08);color:#111}.mission-card .mission-id{position:absolute;left:18px;top:16px;padding:5px 7px;border-radius:6px;background:rgba(10,12,8,.72);font:8px var(--mono)}.mission-card .mission-state{position:absolute;right:15px;top:15px;width:9px;height:9px;border:1px solid white;border-radius:50%}.mission-card.is-visited .mission-state{background:var(--acid);box-shadow:0 0 10px var(--acid);border-color:var(--acid)}.mission-card .mission-copy{position:absolute;left:18px;right:18px;bottom:16px}.mission-card h3{margin:0;font-size:22px;line-height:1}.mission-card p{margin:5px 0 0;color:#bcc1b4;font:8px var(--mono)}.mission-card:nth-child(7) h3{font-size:34px}.mission-card:nth-child(7) p{color:#28300f}

.case-file{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);min-height:100%}.case-visual{position:relative;min-height:620px;background:#090a08;overflow:hidden}.case-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;animation:develop .6s ease}.case-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 70%,rgba(9,10,8,.45)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 35%)}@keyframes develop{from{opacity:.2;transform:scale(1.02)}}.case-mark{position:absolute;z-index:2;left:24px;top:24px;display:flex;gap:8px}.case-mark span{padding:7px 9px;border-radius:7px;background:rgba(10,11,9,.78);backdrop-filter:blur(5px);font:8px var(--mono)}.case-nav{position:absolute;z-index:3;left:22px;bottom:22px;display:flex;gap:7px}.case-nav button{width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(9,10,8,.58);color:white;font-size:18px;backdrop-filter:blur(6px)}.case-nav button:hover{background:var(--acid);color:#111}.case-thumbs{position:absolute;z-index:3;right:20px;bottom:20px;display:flex;gap:7px}.case-thumbs button{width:55px;height:69px;padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;background:#222;opacity:.64}.case-thumbs button.is-active{border-color:var(--acid);opacity:1}.case-thumbs img{width:100%;height:100%;object-fit:cover}.case-copy{display:flex;flex-direction:column;padding:38px;background:#171914;border-left:1px solid #3a3e34}.case-copy .back-map{width:max-content;padding:8px 11px;border:1px solid #454a3e;border-radius:8px;background:transparent;color:#aeb4a6;font:8px var(--mono)}.case-copy .back-map:hover{color:var(--acid)}.case-copy .case-number{margin-top:auto;color:var(--acid);font:10px var(--mono)}.case-copy h2{margin:14px 0 12px;font-size:clamp(44px,5vw,72px);line-height:.9}.case-copy .case-summary{color:#a6ac9e;font-size:13px;line-height:1.7}.case-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:25px 0}.case-meta div{padding:13px;border:1px solid #383c33;border-radius:10px}.case-meta b,.case-meta span{display:block}.case-meta b{color:#737a6b;font:7px var(--mono)}.case-meta span{margin-top:6px;font-size:11px}.case-copy .case-note{padding-top:18px;border-top:1px solid #373b32;color:#777e70;font:8px/1.7 var(--mono)}

.lab-layout{display:grid;grid-template-columns:minmax(330px,.72fr) 1.28fr;gap:30px;margin-top:35px}.lab-console{padding:22px;border:1px solid #44493c;border-radius:20px;background:#1a1d17}.lab-progress{display:flex;justify-content:space-between;margin-bottom:13px;color:#8e9585;font:8px var(--mono)}.lab-meter{height:9px;margin-bottom:20px;border-radius:20px;background:#2e3329;overflow:hidden}.lab-meter i{display:block;width:25%;height:100%;background:var(--acid);box-shadow:0 0 13px var(--acid);transition:width .4s}.lab-steps{display:grid;gap:8px}.lab-step{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:13px;border:1px solid #383d32;border-radius:12px;background:#23261f;color:#c4c9bc;text-align:left}.lab-step b{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#11130f;color:var(--acid);font:10px var(--mono)}.lab-step span{font-size:12px}.lab-step em{font:normal 8px var(--mono);color:#697062}.lab-step:hover,.lab-step.is-active{border-color:#96ad32;background:#2b301f}.lab-step.is-done b{background:var(--acid);color:#111}.lab-result{min-height:430px;display:grid;grid-template-rows:1fr auto;border:1px solid #444a3d;border-radius:20px;overflow:hidden;background:#0d0f0c}.lab-result-visual{position:relative;overflow:hidden}.lab-result-visual img{width:100%;height:100%;min-height:340px;object-fit:cover;transition:opacity .3s}.scanline{position:absolute;left:0;right:0;top:0;height:2px;background:var(--acid);box-shadow:0 0 18px var(--acid);animation:scan 3.2s linear infinite}@keyframes scan{50%{top:100%}50.1%{top:0}}.lab-overlay{position:absolute;inset:15px;border:1px solid rgba(216,255,50,.42);pointer-events:none}.lab-overlay::before,.lab-overlay::after{content:"";position:absolute;width:18px;height:18px;border-color:var(--acid)}.lab-overlay::before{left:-1px;top:-1px;border-left:2px solid;border-top:2px solid}.lab-overlay::after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}.lab-result-copy{display:grid;grid-template-columns:1fr auto;gap:20px;padding:20px;background:#1a1d17}.lab-result-copy h3{margin:0;font-size:20px}.lab-result-copy p{margin:5px 0 0;color:#818878;font:8px var(--mono)}.lab-result-copy b{color:var(--acid);font:28px var(--mono)}

.resume-sheet{display:grid;grid-template-columns:300px 1fr;gap:40px;max-width:1150px;margin:0 auto;padding:32px;background:#e9e5d9;color:#171814;box-shadow:0 28px 70px #000}.resume-left{padding:25px;border:1px solid #aaa599;background:#d8ff32}.resume-monogram{display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:10px;background:#171914;color:var(--acid);font-size:80px;font-weight:900}.resume-left h2{margin:24px 0 3px;font-size:38px}.resume-left>p{margin:0;font:10px var(--mono)}.resume-contact{margin-top:30px;padding-top:20px;border-top:1px solid rgba(0,0,0,.28)}.resume-contact a,.resume-contact span{display:block;margin:10px 0;color:inherit;text-decoration:none;font:9px var(--mono)}.resume-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:25px}.resume-skills span{padding:6px 8px;border:1px solid #1b1d16;border-radius:12px;font:8px var(--mono)}.resume-right{padding:10px}.resume-right h3{margin:0 0 17px;padding-bottom:9px;border-bottom:2px solid #222;font:15px var(--mono)}.timeline{margin:0 0 28px}.timeline article{display:grid;grid-template-columns:115px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid #c5c0b4}.timeline time{font:9px var(--mono)}.timeline h4{margin:0;font-size:14px}.timeline p{margin:6px 0 0;color:#66645d;font-size:10px;line-height:1.6}.resume-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.resume-metrics div{padding:13px 9px;border:1px solid #bbb6aa}.resume-metrics b,.resume-metrics span{display:block}.resume-metrics b{font-size:25px}.resume-metrics span{margin-top:3px;color:#6c6961;font:7px var(--mono)}

.reel-page{padding-bottom:30px}.film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:30px}.film-card{position:relative;overflow:hidden;border:1px solid #3e4338;border-radius:20px;background:#171914}.film-card video{display:block;width:100%;aspect-ratio:9/13;object-fit:cover;background:#060705}.film-card:nth-child(3) video{object-position:center}.film-info{padding:17px}.film-info b,.film-info span{display:block}.film-info b{font-size:16px}.film-info span{margin-top:4px;color:#7b8273;font:8px var(--mono)}.film-card::after{content:"PLAY";position:absolute;left:50%;top:42%;display:grid;place-items:center;width:58px;height:58px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(0,0,0,.35);font:8px var(--mono);pointer-events:none;backdrop-filter:blur(4px)}.film-card.is-playing::after{opacity:0}

.contact-page{display:grid;place-items:center;text-align:center}.contact-page-inner{width:min(900px,100%)}.contact-page h2{font-size:clamp(54px,8vw,120px)}.contact-page .page-lead{margin:25px auto 35px}.contact-actions{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.contact-actions a{min-height:105px;display:flex;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid #42473b;border-radius:16px;background:#1d201a;color:white;text-align:left;text-decoration:none;transition:transform .2s,border .2s}.contact-actions a:first-child{background:var(--acid);color:#111}.contact-actions a:hover{transform:translateY(-5px);border-color:var(--acid)}.contact-actions b{font-size:16px}.contact-actions span{font:8px var(--mono)}.contact-foot{display:flex;justify-content:center;gap:30px;margin-top:30px;color:#747b6d;font:8px var(--mono)}

.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:30px}.help-grid article{min-height:185px;padding:22px;border:1px solid #3c4136;border-radius:16px;background:#1b1e18}.help-grid kbd{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border:1px solid #68705d;border-radius:8px;box-shadow:inset 0 -3px #050605;color:var(--acid);font:11px var(--mono)}.help-grid h3{margin:28px 0 6px;font-size:15px}.help-grid p{margin:0;color:#7d8475;font:8px/1.7 var(--mono)}

.cursor{position:fixed;z-index:200;left:0;top:0;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(216,255,50,.75);border-radius:50%;pointer-events:none;transform:translate(-100px,-100px);transition:width .18s,height .18s,background .18s}.cursor i{width:4px;height:4px;border-radius:50%;background:var(--acid)}.cursor span{display:none;color:#111;font:7px var(--mono)}body.is-hovering .cursor{width:60px;height:60px;background:var(--acid)}body.is-hovering .cursor i{display:none}body.is-hovering .cursor span{display:block}

@media (max-width:1100px){
  .garage-frame{grid-template-columns:220px 1fr}.legend-panel{padding:26px 19px}.legend-panel h1{font-size:25px}.legend-panel h1 span{font-size:31px}.clipboard{left:25%;width:330px;height:455px}.id-card{right:4%;width:230px}.projector{right:28%;width:215px}.envelope{right:3%;width:220px}.mission-map{grid-auto-rows:78px}.case-file{grid-template-columns:1.1fr .9fr}
}
@media (max-width:820px){
  body{overflow:auto}.cursor{display:none}.hud{height:62px;padding:0 14px;grid-template-columns:1fr auto}.hud-progress{display:none}.hud-tools button:first-child{display:none}.garage{min-height:auto;padding:72px 10px 28px;overflow:visible}.garage-frame{height:auto;min-height:0;width:100%;display:block;padding:8px;transform:none}.legend-panel{min-height:350px;margin-bottom:8px}.legend-list{display:grid;grid-template-columns:1fr 1fr}.legend-panel h1 span{font-size:38px}.pegboard{min-height:1160px;background-size:40px 40px}.title-plate{left:4%;top:3%;width:61%}.key-tag{left:8%;top:18%;transform:scale(.86)}.clipboard{left:25%;top:26%;width:68%;height:435px}.id-card{right:4%;top:10%;width:230px}.skill-badge{left:5%;bottom:8%;transform:scale(.82)}.projector{left:39%;right:auto;bottom:24%;transform:scale(.86)}.envelope{right:4%;bottom:5%;transform:scale(.88)}.board-note{right:4%;top:59%}.garage-footer{display:none}.portal{padding:7px}.portal-shell{border-radius:16px;grid-template-rows:62px 1fr 30px}.portal-header{grid-template-columns:1fr auto;padding:0 13px}.portal-header nav{display:none}.portal-index{width:34px;height:34px}.archive-page{padding:25px 18px}.about-layout{grid-template-columns:1fr}.about-intro{position:static}.mission-top{align-items:start;flex-direction:column}.mission-map{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:240px}.mission-card,.mission-card:nth-child(n){grid-column:auto;grid-row:auto}.mission-card:nth-child(1),.mission-card:nth-child(7){grid-column:1/-1}.case-file{display:block}.case-visual{min-height:65vh}.case-copy{min-height:520px}.lab-layout{grid-template-columns:1fr}.resume-sheet{grid-template-columns:1fr;padding:14px}.resume-left{display:grid;grid-template-columns:130px 1fr;gap:18px}.resume-monogram{grid-row:span 2}.resume-contact,.resume-skills{grid-column:1/-1}.film-grid{grid-template-columns:1fr}.film-card video{aspect-ratio:16/10}.contact-actions{grid-template-columns:1fr}.help-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .boot-console{padding:35px 25px}.boot-status{grid-template-columns:12px 1fr}.boot-status em{display:none}.hud-brand span{display:none}.garage-frame{border-radius:17px}.legend-panel{min-height:390px}.legend-list{grid-template-columns:1fr}.pegboard{min-height:1320px}.title-plate{width:87%}.key-tag{top:15%;left:8%;transform:scale(.75)}.id-card{top:12%;right:2%;transform:scale(.76);transform-origin:right top}.clipboard{left:7%;top:31%;width:86%;height:460px}.skill-badge{left:-2%;bottom:13%;transform:scale(.72)}.projector{left:36%;bottom:22%;transform:scale(.72)}.envelope{right:2%;bottom:3%;transform:scale(.74);transform-origin:right bottom}.board-note{top:67%;right:4%}.about-cards{grid-template-columns:1fr}.about-quote{grid-column:auto}.mission-map{grid-template-columns:1fr;grid-auto-rows:250px}.mission-card:nth-child(1),.mission-card:nth-child(7){grid-column:auto}.case-visual{min-height:480px}.case-thumbs{left:75px;right:auto}.case-thumbs button{width:40px;height:55px}.case-copy{padding:25px}.lab-result-copy{grid-template-columns:1fr}.resume-left{grid-template-columns:90px 1fr}.resume-right{padding:2px}.timeline article{grid-template-columns:1fr;gap:4px}.resume-metrics{grid-template-columns:1fr 1fr}.help-grid{grid-template-columns:1fr}.contact-foot{flex-direction:column;gap:7px}.portal-footer span:last-child{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.garage-frame{transform:none!important}}

/* Browser-fit refinements after interactive QA. */
.portal-body { overflow-anchor: none; }
.case-visual { min-height: max(480px, calc(100vh - 142px)); }
.lab-result-visual img { object-fit: contain; background: #080a07; }
@media (max-width: 820px) { html, body { max-width: 100%; overflow-x: hidden; } }

/* 3D archive — every real work becomes a navigable object in space. */
.portal-body.spatial-mode { overflow: hidden; background: #070a08; }
.spatial-gallery { position: relative; height: 100%; min-height: 520px; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 50% 45%, rgba(119,154,52,.2), transparent 24%), radial-gradient(circle at 10% 85%, rgba(50,86,71,.22), transparent 28%), #070908; }
.spatial-gallery::before { content:""; position:absolute; inset:0; z-index:8; pointer-events:none; background:linear-gradient(90deg,rgba(0,0,0,.48),transparent 18%,transparent 82%,rgba(0,0,0,.48)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 25%,transparent 80%,rgba(0,0,0,.42)); }
.space-stars { position:absolute; inset:-40%; opacity:.38; background-image:radial-gradient(circle,rgba(216,255,50,.75) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.62) 0 1px,transparent 1.5px); background-position:0 0,27px 19px; background-size:57px 57px,83px 83px; transform:perspective(500px) rotateX(68deg) translateY(-8%); mask-image:radial-gradient(circle,#000,transparent 67%); }
.space-viewport { position:absolute; inset:0; z-index:2; overflow:hidden; cursor:grab; perspective:1050px; perspective-origin:50% 50%; touch-action:none; }
.space-viewport.is-dragging { cursor:grabbing; }
.space-scene { position:absolute; left:50%; top:50%; width:0; height:0; transform-style:preserve-3d; will-change:transform; }
.space-card { --lift:0px; --focus-blur:0px; --focus-alpha:1; --focus-sat:1; position:absolute; left:-98px; top:-128px; width:196px; height:256px; padding:0; border:0; background:transparent; opacity:var(--focus-alpha); transform-style:preserve-3d; transform:rotateY(var(--card-angle)) translateZ(calc(var(--card-radius) + var(--lift))) translateY(var(--card-y)); transition:opacity .24s,transform .24s; will-change:opacity,transform; }
.space-card:hover { --lift:90px; --focus-blur:0px!important; --focus-sat:1.16!important; z-index:2000!important; opacity:1!important; }
.space-card-frame { position:relative; display:block; width:100%; height:100%; overflow:hidden; border:1px solid rgba(230,237,220,.8); border-radius:11px; background-color:#1a1d18; background-size:cover; background-position:center; background-repeat:no-repeat; box-shadow:0 22px 42px rgba(0,0,0,.52),inset 0 0 0 4px rgba(255,255,255,.05); filter:blur(var(--focus-blur)) saturate(var(--focus-sat)); transform:translateZ(1px); transition:transform .24s,box-shadow .24s,border-color .24s,filter .24s; }
.space-card:hover .space-card-frame { transform:translateZ(22px) scale(1.08); border-color:var(--acid); box-shadow:0 0 0 2px rgba(216,255,50,.25),0 0 40px rgba(216,255,50,.3),0 32px 60px #000; }
.space-card img { display:block; width:100%; height:100%; object-fit:cover; background:#161915; }
.space-card-frame::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 57%,rgba(4,6,4,.86)); }
.space-card i { position:absolute; z-index:2; left:10px; top:10px; width:8px; height:8px; border-radius:50%; background:var(--acid); box-shadow:0 0 11px var(--acid); }
.space-card em,.space-card small { position:absolute; z-index:2; bottom:10px; color:white; font:normal 8px var(--mono); letter-spacing:.08em; }
.space-card em { left:11px; color:var(--acid); }.space-card small { right:11px; }
.space-hud { position:absolute; z-index:12; top:25px; padding:13px 15px; border-left:2px solid var(--acid); background:linear-gradient(90deg,rgba(20,27,20,.92),rgba(13,17,14,.48)); backdrop-filter:blur(8px); pointer-events:none; }
.space-hud span,.space-hud b,.space-hud small { display:block; }.space-hud span{color:var(--acid);font:7px var(--mono);letter-spacing:.14em}.space-hud b{margin:4px 0;font-size:24px;line-height:1}.space-hud small{color:#778074;font:7px var(--mono)}
.space-hud-left { left:26px; }.space-hud-right { right:26px; text-align:right; border-left:0; border-right:2px solid var(--acid); background:linear-gradient(-90deg,rgba(20,27,20,.92),rgba(13,17,14,.48)); }.space-hud-right b{font:30px var(--mono);color:var(--acid)}
.space-filters { position:absolute; z-index:15; top:25px; left:50%; width:min(58%,760px); display:flex; justify-content:center; gap:4px; transform:translateX(-50%); overflow-x:auto; scrollbar-width:none; }.space-filters::-webkit-scrollbar{display:none}.space-filters button{flex:0 0 auto;padding:9px 11px;border:1px solid #40483d;border-radius:5px;background:rgba(14,18,15,.88);color:#8e9789;font:8px var(--mono);backdrop-filter:blur(7px)}.space-filters button:hover,.space-filters button.is-active{border-color:var(--acid);background:var(--acid);color:#0b0e0b;box-shadow:0 0 18px rgba(216,255,50,.25)}
.space-reticle { position:absolute; z-index:11; left:50%; top:50%; width:80px; height:80px; transform:translate(-50%,-50%); border:1px solid rgba(216,255,50,.22); border-radius:50%; pointer-events:none; }.space-reticle::before,.space-reticle::after{content:"";position:absolute;background:rgba(216,255,50,.46)}.space-reticle::before{left:50%;top:-9px;width:1px;height:98px}.space-reticle::after{left:-9px;top:50%;width:98px;height:1px}.space-reticle i{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:var(--acid);transform:translate(-50%,-50%);box-shadow:0 0 15px var(--acid)}.space-reticle span{position:absolute;left:50%;top:91px;transform:translateX(-50%);color:#798271;font:6px var(--mono);letter-spacing:.2em}
.space-status { position:absolute; z-index:12; left:27px; bottom:24px; display:flex; gap:1px; pointer-events:none; }.space-status span{padding:9px 12px;border:1px solid #384036;background:rgba(13,17,14,.86);color:#849080;font:7px var(--mono)}.space-status span:nth-child(2){color:var(--acid)}
.space-controls { position:absolute; z-index:12; right:27px; bottom:24px; display:flex; border:1px solid #384036; background:rgba(13,17,14,.86); pointer-events:none; }.space-controls span{padding:9px 10px;border-left:1px solid #30372e;color:#7e8779;font:7px var(--mono)}.space-controls span:first-child{border-left:0}.space-controls b{color:var(--acid)}

.asset-viewer { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,380px); height:100%; min-height:0; background:#090b09; }
.asset-stage { position:relative; min-height:0; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 45%,#273123,#0a0c0a 64%); }
.asset-stage::before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(216,255,50,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(216,255,50,.14) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle,#000,transparent 72%)}
.asset-stage>img { position:relative; z-index:1; max-width:86%; max-height:calc(100vh - 190px); border:1px solid #596051; border-radius:12px; box-shadow:0 30px 90px #000,0 0 0 7px rgba(255,255,255,.035); object-fit:contain; animation:asset-in .42s cubic-bezier(.2,.8,.2,1); }
@keyframes asset-in{from{opacity:0;transform:translateZ(-80px) scale(.94) rotateY(-4deg)}}
.asset-scan{position:absolute;z-index:2;left:7%;right:7%;top:13%;height:1px;background:var(--acid);box-shadow:0 0 18px var(--acid);opacity:.48;animation:asset-scan 4s linear infinite;pointer-events:none}@keyframes asset-scan{50%{top:87%}}
.asset-arrow { position:absolute; z-index:4; top:50%; width:48px; height:48px; transform:translateY(-50%); border:1px solid #68725f; border-radius:50%; background:rgba(11,14,11,.72); color:white; font-size:20px; backdrop-filter:blur(6px); }.asset-arrow:hover{background:var(--acid);color:#111;border-color:var(--acid)}.asset-arrow.prev{left:23px}.asset-arrow.next{right:23px}
.asset-info { position:relative; z-index:3; display:flex; flex-direction:column; padding:38px; border-left:1px solid #343b31; background:linear-gradient(155deg,#1a1e18,#10130f); }.asset-info .back-map{width:max-content;padding:9px 11px;border:1px solid #454e40;border-radius:7px;background:transparent;color:#aeb7aa;font:8px var(--mono)}.asset-info>p:first-of-type{margin-top:auto;color:var(--acid);font:8px var(--mono);letter-spacing:.13em}.asset-info h2{margin:13px 0 24px;font-size:42px;line-height:.9}.asset-info h2 span{color:var(--acid);font:34px var(--mono)}.asset-file{display:grid;grid-template-columns:1fr 1.45fr;border-top:1px solid #3b4338}.asset-file span,.asset-file b{padding:11px 0;border-bottom:1px solid #3b4338}.asset-file span{color:#747e71;font:7px var(--mono)}.asset-file b{font:10px var(--mono);word-break:break-all}.asset-note{color:#7d8779;font:9px/1.7 var(--mono)}.open-case{margin-top:15px;padding:14px;border:1px solid var(--acid);border-radius:7px;background:var(--acid);color:#111;font:700 9px var(--mono);text-align:left}.open-case:hover{box-shadow:0 0 24px rgba(216,255,50,.25)}

@media (max-width:900px){
  .space-hud-right{display:none}.space-hud-left{top:15px;left:15px}.space-filters{top:82px;left:15px;width:calc(100% - 30px);justify-content:flex-start;transform:none}.space-controls{left:15px;right:15px;bottom:14px;overflow:hidden}.space-controls span{flex:1;text-align:center}.space-controls span:last-child{display:none}.space-status{left:15px;bottom:51px}.space-status span:first-child{display:none}.space-card{left:-78px;top:-101px;width:156px;height:202px}.asset-viewer{grid-template-columns:1fr}.asset-stage{min-height:63vh}.asset-stage>img{max-width:82%;max-height:54vh}.asset-info{min-height:390px;border-left:0;border-top:1px solid #343b31}.asset-info>p:first-of-type{margin-top:45px}
}
@media (max-width:560px){
  .spatial-gallery{min-height:100%}.space-hud-left b{font-size:18px}.space-reticle{width:58px;height:58px}.space-reticle::before{height:76px}.space-reticle::after{width:76px}.space-status{display:none}.space-controls span{padding:8px 4px;font-size:6px}.space-card{left:-65px;top:-86px;width:130px;height:172px}.asset-stage{min-height:55vh}.asset-arrow{width:39px;height:39px}.asset-arrow.prev{left:8px}.asset-arrow.next{right:8px}.asset-info{padding:24px}.asset-info h2{font-size:34px}
}

/* Visual Quest: game-menu home, using original portfolio work as the hero art. */
:root { --acid:#d6ff28; --cyan:#5be9f5; --pink:#ff52bc; --violet:#6559d6; }
html,body { background:#101a2a; }
.boot-screen { background: radial-gradient(circle at 78% 42%,#263c87 0,#141c3d 35%,#0b1220 78%); }
.boot-grid { opacity:.26; background-size:54px 54px; mask-image:linear-gradient(90deg,transparent,#000); }
.boot-screen::before { content:"";position:absolute;right:-4vw;top:-13vh;width:70vw;height:110vh;background:linear-gradient(130deg,transparent 18%,rgba(70,248,241,.17) 40%,rgba(248,85,191,.18) 60%,transparent 78%),url('assets/im-road.jpg') center 35%/cover;clip-path:polygon(19% 0,100% 0,100% 100%,0 100%);opacity:.55;filter:saturate(1.35); }
.boot-console { width:min(650px,calc(100vw - 32px));margin-right:min(25vw,350px);border:1px solid rgba(112,242,255,.55);border-radius:2px;background:linear-gradient(135deg,rgba(10,21,47,.96),rgba(22,24,62,.89));box-shadow:18px 18px 0 rgba(9,11,26,.65),0 0 80px rgba(43,165,228,.22);clip-path:polygon(0 0,95% 0,100% 9%,100% 100%,0 100%); }
.boot-console::before,.boot-console::after{display:none}.boot-mark{color:var(--acid)}.boot-console h1{font-weight:900;text-transform:uppercase}.boot-copy{color:#c6d9ea}.boot-status{border-color:rgba(164,211,226,.3)}.boot-status em{color:var(--cyan)}.boot-button{border-radius:2px;clip-path:polygon(0 0,96% 0,100% 50%,96% 100%,0 100%);box-shadow:inset 0 -5px rgba(38,28,81,.34)}
.hud { height:65px;padding:0 24px;border-bottom:1px solid rgba(144,226,255,.18);background:rgba(7,12,28,.78);backdrop-filter:blur(12px); }
.hud-brand b { border:1px solid var(--acid);border-radius:3px;background:var(--acid);color:#141924;transform:skew(-7deg);box-shadow:4px 4px var(--violet); }
.hud-brand span{color:#c9f5fb}.hud-tools button{border-color:#465573;border-radius:3px;background:#182439;color:#e3f7ff}.hud-tools button:hover{border-color:var(--cyan);color:var(--acid)}
.garage { min-height:100vh;padding:65px 0 32px;display:block;background:radial-gradient(circle at 55% 45%,#324d88 0,#1a2851 30%,#101a2b 68%,#080d19 100%);color:#fff;perspective:none; }
.game-world { position:absolute;inset:65px 0 0;overflow:hidden;pointer-events:none; }
.world-grid { position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(139,222,244,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(139,222,244,.18) 1px,transparent 1px);background-size:60px 60px;transform:perspective(950px) rotateX(52deg) scale(1.6) translateY(16%);mask-image:linear-gradient(transparent 16%,#000 88%); }
.world-orbit { position:absolute;border:1px solid rgba(147,226,255,.24);border-radius:50%;transform:rotate(-18deg); }.orbit-a{width:80vw;height:80vw;left:22%;top:-42vw}.orbit-b{width:60vw;height:60vw;left:35%;top:-29vw;border-width:22px;border-color:rgba(145,114,237,.1)}
.world-light{position:absolute;left:34%;top:-7%;width:75%;height:90%;background:radial-gradient(circle at center,rgba(89,250,244,.19),transparent 57%)}
.game-shell { position:relative;z-index:2;display:grid;grid-template-columns:minmax(230px,19%) minmax(0,1fr) minmax(230px,20%);width:min(1920px,100%);height:calc(100vh - 100px);min-height:0;margin:auto; }
.game-menu { position:relative;z-index:8;display:flex;flex-direction:column;gap:0;padding:3.5vh 14px 24px 3.2vw;border-right:1px solid rgba(118,218,239,.2);background:linear-gradient(90deg,rgba(7,11,27,.85),rgba(14,23,48,.63));backdrop-filter:blur(10px);transform:translate3d(var(--shift-x),var(--shift-y),0); }
.game-eyebrow{margin:0;color:var(--cyan);font:10px var(--mono);letter-spacing:.12em}.game-menu h1{margin:18px 0 10px;font-size:clamp(24px,2vw,38px);line-height:1.07}.game-menu h1>span{display:block;margin-top:7px;font-size:clamp(36px,4vw,76px);line-height:.86;letter-spacing:-.075em;color:var(--acid);text-shadow:5px 5px 0 #252863}.game-title-dot{color:var(--pink)}.game-role{margin:12px 0 25px;color:#a9bcd1;font:10px/1.7 var(--mono)}
.game-nav{display:flex;flex-direction:column;gap:8px}.game-nav button{width:100%;min-height:66px;display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(133,177,210,.32);border-radius:1px;background:linear-gradient(105deg,rgba(41,55,106,.78),rgba(21,31,64,.82));color:#ecf9ff;text-align:left;transform:skew(-5deg);transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}.game-nav button>*{transform:skew(5deg)}.game-nav button:hover{transform:skew(-5deg) translateX(10px);border-color:var(--acid);background:linear-gradient(100deg,#cfff32,#80e8c2);color:#0b1830;box-shadow:-5px 5px 0 #25285b}.game-nav button>i{font:24px var(--sans);color:var(--acid);font-style:normal;text-align:center}.game-nav button:hover>i{color:#152241}.game-nav b,.game-nav small{display:block}.game-nav b{font-size:16px}.game-nav small{margin-top:1px;font:7px var(--mono);opacity:.7}.game-nav em{font:8px var(--mono);font-style:normal}.game-about{margin-top:auto;padding:13px;border:1px solid var(--cyan);background:rgba(7,15,30,.65);color:var(--cyan);text-align:left;font:10px var(--mono)}.game-about span{float:right}.game-about:hover{background:var(--cyan);color:#14233b}
.game-stage{position:relative;min-width:0;min-height:0;overflow:hidden;isolation:isolate}.game-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 45% 39%,rgba(255,96,205,.28),transparent 25%),radial-gradient(circle at 72% 65%,rgba(48,243,244,.22),transparent 28%);pointer-events:none}.game-stage::after{content:"";position:absolute;inset:0;z-index:7;pointer-events:none;background:linear-gradient(90deg,rgba(13,20,43,.55),transparent 18%,transparent 84%,rgba(16,26,52,.28))}
.stage-art{position:absolute;left:5%;top:2%;width:80%;height:82%;transform:translate3d(var(--shift-x),var(--shift-y),0)}.stage-art::before{content:"";position:absolute;inset:13% 4% 7%;border:30px solid rgba(55,240,232,.17);border-radius:50%;transform:rotate(-28deg)}.stage-art::after{content:"";position:absolute;left:20%;top:8%;width:66%;height:72%;background:conic-gradient(from 50deg,var(--cyan),var(--pink),#ffe56e,var(--cyan));clip-path:polygon(0 20%,40% 0,35% 29%,100% 8%,65% 45%,100% 70%,39% 65%,0 100%,19% 53%);opacity:.7;filter:drop-shadow(0 0 30px rgba(255,82,188,.6))}.stage-art span{position:absolute;top:24%;left:5%;font:900 clamp(80px,13vw,240px)/.7 var(--sans);letter-spacing:-.1em;color:rgba(217,255,252,.055);transform:rotate(-11deg)}
.stage-burst{position:absolute;inset:0;transform:translate3d(var(--shift-x),var(--shift-y),0);pointer-events:none}.stage-burst i{position:absolute;display:block;clip-path:polygon(0 0,100% 40%,22% 100%,40% 54%);background:var(--acid);filter:drop-shadow(0 0 20px #e8f750)}.stage-burst i:nth-child(1){left:4%;top:18%;width:130px;height:120px;transform:rotate(40deg)}.stage-burst i:nth-child(2){right:9%;top:8%;width:110px;height:115px;background:var(--pink);transform:rotate(175deg)}.stage-burst i:nth-child(3){right:13%;bottom:19%;width:150px;height:90px;background:var(--cyan);transform:rotate(20deg)}
.hero-frame{position:absolute;left:31%;top:7%;width:38%;height:78%;transform:translate3d(var(--shift-x),var(--shift-y),0) rotate(-4deg);clip-path:polygon(10% 0,91% 0,100% 8%,100% 89%,86% 100%,0 100%,0 11%);border:9px solid rgba(245,255,255,.88);background:#c4e7ef;box-shadow:0 30px 70px #040923,0 0 0 12px rgba(55,243,249,.22);transition:filter .25s,transform .25s}.hero-frame:hover{transform:translate3d(var(--shift-x),calc(var(--shift-y) - 8px),0) rotate(-2deg) scale(1.02);filter:brightness(1.08)}.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center 36%;filter:contrast(1.04) saturate(1.17)}.hero-image-caption{position:absolute;right:0;bottom:4%;padding:7px 10px;background:var(--acid);color:#15213d;font:8px var(--mono);font-weight:700}
.stage-label{position:absolute;z-index:5;left:5%;top:9%;max-width:40%;transform:translate3d(var(--shift-x),var(--shift-y),0)}.stage-label span{display:block;margin-bottom:12px;color:var(--cyan);font:10px var(--mono)}.stage-label strong{display:block;font-size:clamp(36px,4vw,76px);font-weight:900;line-height:1.07;letter-spacing:-.07em;text-shadow:4px 5px 0 #2b2b65,0 4px 24px #10172b}.stage-label small{display:block;width:max-content;margin-top:12px;padding:6px 10px;background:var(--pink);color:#16213b;font:9px var(--mono)}
.floating-work{position:absolute;z-index:6;width:18%;min-width:110px;aspect-ratio:3/4;padding:5px;border:1px solid #e9feff;background:#efffff;box-shadow:0 18px 30px #11142b,6px 6px 0 var(--pink);transform:translate3d(var(--shift-x),var(--shift-y),0) rotate(var(--work-rotation));transition:transform .25s}.floating-work:hover{transform:translate3d(var(--shift-x),calc(var(--shift-y) - 15px),0) rotate(0) scale(1.06)}.floating-work img{width:100%;height:100%;object-fit:cover}.floating-work span{position:absolute;bottom:8px;left:8px;padding:3px 6px;background:#141e38;color:var(--acid);font:7px var(--mono)}.floating-work-a{--work-rotation:8deg;right:4%;top:24%}.floating-work-b{--work-rotation:-12deg;left:13%;bottom:20%;width:15%;box-shadow:0 18px 30px #11142b,6px 6px 0 var(--cyan)}
.start-quest{position:absolute;z-index:9;right:8%;bottom:8%;width:40%;min-width:250px;min-height:78px;display:grid;grid-template-columns:1fr auto;align-content:center;padding:12px 25px;border:4px solid #111830;background:linear-gradient(100deg,#ffef59,var(--acid));color:#111a2e;text-align:left;clip-path:polygon(4% 0,100% 0,100% 78%,94% 100%,0 100%);box-shadow:inset 0 -8px #78bb35;transform:skew(-6deg);transition:filter .2s,transform .2s}.start-quest:hover{filter:brightness(1.15);transform:skew(-6deg) translateY(-6px)}.start-quest b{font-size:clamp(22px,2vw,37px);line-height:1}.start-quest small{grid-column:1;font:9px var(--mono)}.start-quest i{grid-column:2;grid-row:1/3;align-self:center;font:40px var(--sans);font-style:normal}
.stage-counter{position:absolute;z-index:8;left:3%;bottom:3%;display:flex;align-items:baseline;gap:9px;color:#ecf9ff;font:8px var(--mono)}.stage-counter>span{color:var(--cyan);margin-right:5px}.stage-counter b{font:25px var(--mono);color:var(--acid)}.stage-counter small{font:7px var(--mono)}
.game-side{position:relative;z-index:8;display:flex;flex-direction:column;gap:12px;padding:3.5vh 3vw 24px 12px;border-left:1px solid rgba(118,218,239,.2);background:linear-gradient(270deg,rgba(7,11,27,.87),rgba(14,23,48,.55));backdrop-filter:blur(10px);transform:translate3d(var(--shift-x),var(--shift-y),0)}.game-side>div{border:1px solid rgba(135,223,238,.35);background:linear-gradient(140deg,rgba(37,55,100,.83),rgba(16,26,60,.84));box-shadow:4px 4px 0 rgba(5,11,32,.8)}.card-kicker,.ability-panel>span,.mini-map>span{color:var(--cyan);font:8px var(--mono);letter-spacing:.12em}.player-card{padding:17px}.avatar{display:grid;place-items:center;width:100%;height:clamp(95px,15vh,160px);margin:12px 0;background:radial-gradient(circle,#434b83,#111c35 70%);border:1px solid #5b86a4;color:var(--acid);font-size:clamp(42px,5vw,80px);font-weight:900;letter-spacing:-.12em;text-shadow:5px 5px 0 #302d83}.avatar span{color:var(--pink)}.player-card h2{margin:3px 0;font-size:25px}.player-card p{margin:0;color:#b5cce0;font-size:10px}.level-row{display:flex;align-items:center;gap:7px;margin:16px 0 12px;color:var(--acid);font:8px var(--mono)}.level-row i{flex:1;height:5px;border-radius:8px;background:linear-gradient(90deg,var(--acid) 72%,#354456 72%)}.player-card button{width:100%;padding:10px;border:1px solid var(--cyan);background:transparent;color:var(--cyan);font:9px var(--mono);text-align:left}.player-card button:hover{background:var(--cyan);color:#17223f}.ability-panel{padding:14px}.ability-panel h3{margin:8px 0 12px;font-size:20px}.ability-icon-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.ability-icon-row button{display:grid;place-items:center;aspect-ratio:1;border:2px solid #5d7aaf;border-radius:50%;background:#182247;color:var(--acid);font-size:26px;box-shadow:inset 0 0 0 4px #273a65}.ability-icon-row button:hover{border-color:var(--pink);transform:translateY(-4px)}.ability-icon-row small{font:7px var(--sans);color:#d7eaff}.mini-map{padding:13px;display:flex;flex-direction:column;gap:6px}.mini-map>span{margin-bottom:4px}.mini-map button{display:flex;justify-content:space-between;padding:7px 9px;border-left:3px solid var(--cyan);background:#1c2b51;color:#e5f8ff;text-align:left;font:10px var(--mono)}.mini-map button:hover{background:var(--acid);color:#101c39}.mini-map em{color:var(--acid);font-style:normal}.mini-map button:hover em{color:#101c39}.mini-map small{margin-top:5px;color:#97aaca;font:8px/1.4 var(--sans)}
.game-bottom{position:relative;z-index:3;height:32px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;border-top:1px solid rgba(107,213,244,.25);background:#0b1224;color:#93b5cf;font:8px var(--mono)}
.portal{background:rgba(4,7,21,.82)}.portal-shell{border-color:#607db0;box-shadow:0 0 0 4px rgba(51,88,159,.22),0 40px 90px #02050e}.portal-header{background:#101b35;border-bottom-color:#5a78a2}.portal-index{background:var(--acid);color:#101b35}.portal-close:hover{background:var(--pink);color:#10213e}.portal-footer{background:#101b35;border-color:#43597f}.portal-body{background:#101b30}
.spatial-gallery{background:radial-gradient(circle at 50% 45%,rgba(72,201,244,.21),transparent 26%),radial-gradient(circle at 11% 80%,rgba(166,54,247,.2),transparent 35%),#081122}.space-stars{background-image:radial-gradient(circle,rgba(91,233,245,.85) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.62) 0 1px,transparent 1.5px)}.space-hud{border-color:var(--cyan);background:linear-gradient(90deg,rgba(17,34,65,.92),rgba(11,17,37,.42))}.space-hud-right{background:linear-gradient(-90deg,rgba(17,34,65,.92),rgba(11,17,37,.42))}.space-hud span{color:var(--cyan)}.space-filters button{border-color:#485a85;background:rgba(18,30,61,.9);color:#dceeff}.space-filters button:hover,.space-filters button.is-active{border-color:var(--acid);background:var(--acid);color:#15203a}
.space-flat-shortcuts{position:absolute;z-index:14;left:50%;bottom:60px;display:flex;align-items:center;gap:6px;transform:translateX(-50%);white-space:nowrap}.space-flat-shortcuts span{color:var(--cyan);font:9px var(--mono);margin-right:5px}.space-flat-shortcuts button{padding:8px 11px;border:1px solid var(--cyan);background:rgba(10,26,51,.88);color:#e5fbff;font:8px var(--mono)}.space-flat-shortcuts button:hover,.space-flat-shortcuts button.is-active{background:var(--cyan);color:#14223f}.is-flat .space-flat-shortcuts{display:none}.is-flat .space-reticle,.is-flat .space-status,.is-flat .space-controls{display:none}.space-viewport[hidden],.flat-gallery[hidden]{display:none!important}
.flat-gallery{position:absolute;inset:0;z-index:5;overflow:auto;padding:144px clamp(20px,5vw,80px) 50px;background:radial-gradient(circle at 85% 5%,rgba(88,247,240,.2),transparent 25%),linear-gradient(145deg,#142b4c,#101a38 55%,#0a1329)}.flat-intro{max-width:1100px;margin:0 auto 23px}.flat-intro span{color:var(--cyan);font:9px var(--mono);letter-spacing:.13em}.flat-intro h3{margin:7px 0 3px;font-size:clamp(26px,3vw,48px);letter-spacing:-.05em}.flat-intro p{margin:0;color:#a2bdd1;font-size:11px}.flat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px;max-width:1400px;margin:auto;padding-bottom:30px}.flat-card{position:relative;display:block;min-width:0;padding:7px;border:1px solid rgba(143,228,239,.48);background:#182747;color:white;text-align:left;box-shadow:7px 7px 0 rgba(2,7,23,.42);transition:transform .24s,border-color .24s,box-shadow .24s}.flat-card:hover{transform:translateY(-10px);border-color:var(--acid);box-shadow:0 0 0 3px rgba(214,255,40,.2),10px 18px 25px rgba(0,0,0,.36)}.flat-card img{display:block;width:100%;height:250px;object-fit:contain;background:#0b1426}.flat-card span{display:flex;align-items:center;gap:6px;padding:9px 2px 2px;font:9px var(--mono)}.flat-card b{color:var(--acid)}.flat-card em{font-style:normal}.flat-card i{margin-left:auto;color:var(--cyan);font-style:normal}
.reel-page{max-width:1600px;margin:auto}.reel-count{display:flex;align-items:center;gap:15px;margin:20px 0;padding:12px 20px;border:1px solid #59739b;background:#1c2d52;color:var(--cyan)}.reel-count b{font:60px var(--mono);color:var(--acid)}.reel-count span{font:9px/1.5 var(--mono)}.reel-count i{flex:1;height:4px;background:linear-gradient(90deg,var(--acid),var(--cyan),var(--pink))}.film-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.film-card{border-color:#5574a3;border-radius:3px;background:#152341;box-shadow:6px 6px 0 #090f22}.film-card:hover{border-color:var(--acid);transform:translateY(-5px)}.film-screen{position:relative}.film-card video{aspect-ratio:9/12;object-fit:contain;background:#050b19}.film-card.is-landscape video{object-fit:contain}.film-index{position:absolute;top:7px;left:7px;padding:5px 7px;background:rgba(6,13,32,.8);color:var(--acid);font:8px var(--mono);pointer-events:none}.film-info{padding:12px 14px 15px}.film-info span{margin:0;color:var(--cyan);font:8px var(--mono)}.film-info b{margin:5px 0 4px;font-size:15px;overflow-wrap:anywhere}.film-info small{color:#8daaca;font:8px var(--mono)}.film-card::after{top:39%;border-color:var(--acid);color:var(--acid);background:rgba(10,22,46,.72)}
.asset-stage{background:radial-gradient(circle at center,#263c6b,#080e20 68%)}.asset-info{background:linear-gradient(145deg,#1b2b4c,#0e1830)}.asset-stage::before{background-image:linear-gradient(rgba(91,233,245,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(91,233,245,.1) 1px,transparent 1px)}.about-quote{background:var(--pink)!important;color:#101b2b!important}.contact-actions a:first-child{background:var(--acid)}
@media(max-width:1200px){.game-shell{grid-template-columns:220px minmax(0,1fr) 220px}.game-menu{padding-left:18px}.game-side{padding-right:15px}.game-nav button{min-height:58px}.game-nav b{font-size:13px}.stage-label strong{font-size:clamp(30px,4vw,58px)}.hero-frame{left:28%;width:44%}.floating-work-a{right:1%}}
@media(max-height:800px) and (min-width:901px){.game-shell{grid-template-rows:minmax(0,1fr)}.game-menu{padding-top:16px;padding-bottom:13px;overflow:auto}.game-menu h1{margin:8px 0 5px}.game-menu h1>span{font-size:clamp(36px,3.5vw,58px)}.game-role{margin:8px 0 13px}.game-nav{gap:5px}.game-nav button{min-height:53px}.game-side{gap:8px;padding-top:15px;padding-bottom:12px;overflow:auto}.player-card{padding:11px}.avatar{height:100px;margin:7px 0}.level-row{margin:8px 0}.ability-panel{padding:9px}.ability-panel h3{margin:3px 0 6px}.mini-map{padding:8px;gap:4px}.mini-map button{padding:5px 7px}.stage-counter{bottom:5%}}
@media(max-width:900px){body{overflow:auto}.garage{padding-top:62px}.game-shell{height:auto;min-height:0;display:grid;grid-template-columns:1fr 210px}.game-menu{grid-column:1/-1;order:2;display:block;padding:25px 20px;border-right:0;border-top:1px solid #4b6b90}.game-menu h1,.game-role{display:none}.game-nav{display:grid;grid-template-columns:repeat(2,1fr);margin-top:12px}.game-about{margin-top:10px}.game-stage{grid-column:1/-1;order:1;min-height:600px}.game-side{grid-column:1/-1;order:3;display:grid;grid-template-columns:repeat(3,1fr);padding:20px;border-left:0;border-top:1px solid #4b6b90}.player-card .avatar{height:85px}.ability-icon-row button{font-size:20px}.floating-work-a{right:7%}.game-bottom{height:auto;min-height:32px;gap:10px}.game-bottom span:last-child{display:none}.film-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flat-gallery{padding-top:155px}.space-flat-shortcuts{bottom:77px}}
@media(max-width:600px){.boot-console{margin:0;clip-path:none}.boot-screen::before{right:-24%;width:120vw;opacity:.24}.hud{height:62px}.garage{padding-top:62px}.game-stage{min-height:560px}.hero-frame{left:25%;top:14%;width:58%;height:61%}.stage-label{left:5%;top:5%;max-width:85%}.stage-label strong{font-size:clamp(33px,10vw,55px)}.floating-work-a{right:1%;top:36%;width:22%;min-width:75px}.floating-work-b{left:2%;bottom:22%;width:23%;min-width:75px}.start-quest{right:5%;bottom:6%;width:76%;min-width:0;min-height:69px}.stage-counter{top:3%;bottom:auto;left:auto;right:5%;font-size:7px}.stage-counter>span{display:none}.stage-counter b{font-size:17px}.game-menu{padding:20px 14px}.game-nav{grid-template-columns:1fr 1fr}.game-nav button{min-height:66px;grid-template-columns:22px 1fr;gap:5px;padding:7px}.game-nav button>i{font-size:16px}.game-nav button>em{display:none}.game-nav small{font-size:6px}.game-side{grid-template-columns:1fr;gap:10px;padding:15px}.player-card{display:grid;grid-template-columns:80px 1fr;gap:0 12px}.player-card .card-kicker{grid-column:1/-1}.player-card .avatar{grid-row:2/6;width:80px;height:90px;margin:10px 0 0;font-size:38px}.player-card h2{margin-top:11px}.player-card .level-row{margin:5px 0}.player-card button{grid-column:1/-1}.ability-panel{display:none}.mini-map{display:grid;grid-template-columns:repeat(3,1fr)}.mini-map>span,.mini-map>small{grid-column:1/-1}.mini-map button{font-size:8px}.game-bottom{justify-content:center;text-align:center}.game-bottom span:nth-child(2){display:none}.film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.film-card video{aspect-ratio:9/13}.film-info{padding:8px}.film-info b{font-size:12px}.film-info span,.film-info small{font-size:6px}.reel-count b{font-size:40px}.flat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.flat-card img{height:180px}.flat-card span{font-size:7px}.flat-gallery{padding:160px 12px 30px}.flat-intro h3{font-size:26px}.space-flat-shortcuts{left:10px;right:10px;bottom:55px;justify-content:center;transform:none}.space-flat-shortcuts span{display:none}.space-flat-shortcuts button{font-size:6px;padding:7px 5px}}
.player-card .avatar{position:relative;overflow:hidden;display:block;border-color:var(--cyan);background:#f4f7f8;box-shadow:inset 0 0 0 3px #182747}
.player-card .avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%;filter:contrast(1.02) saturate(.96)}
.player-card .avatar .avatar-tag{position:absolute;right:0;bottom:0;padding:3px 6px;background:var(--acid);color:#111d30;font:700 7px var(--mono);letter-spacing:.06em;text-shadow:none}
