:root{--deep: #0b1026;--night: #121b3d;--surface-raised: #182447;--royal: #2a4d8c;--cyan: #5dade2;--focus: #8bd5ff;--silver: #c8d1e0;--muted: #a9b7ce;--gold: #d4af37;--gold-light: #f0d681;--purple: #7d3c98;--white: #f7f4ed;--line: rgba(200, 209, 224, .2);color:var(--silver);background:var(--deep);font:400 18px/1.65 Inter,Noto Sans,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;overflow-x:hidden;background:radial-gradient(circle at 80% 35%,rgba(42,77,140,.12),transparent 30%),var(--deep)}body:before{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit}button,input,textarea{font:inherit}p{max-width:62ch}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.skip-link{position:fixed;top:10px;left:10px;z-index:100;transform:translateY(-150%);padding:12px 16px;background:var(--white);color:var(--deep)}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,4vw,64px);background:linear-gradient(to bottom,rgba(5,9,25,.82),transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.brand{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(212,175,55,.55);border-radius:50%;background:#0b1026b3;color:var(--gold-light);font:600 14px Cinzel,serif;text-decoration:none}nav{display:flex;gap:clamp(18px,2.7vw,42px)}nav a{color:#dce4f1;font-size:13px;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:color .2s}nav a:hover,nav a:focus{color:var(--gold-light)}.nav-toggle{display:none;min-width:44px;min-height:44px;border:1px solid var(--line);background:none;color:var(--white)}.hero{height:100svh;min-height:640px;position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;background:#081029}#starfield,.hero-layer,.hero-vignette,.hero-mist{position:absolute;pointer-events:none}#starfield{z-index:-3;top:-35%;left:0;width:100%;height:135%}.hero-bg{z-index:-4;inset:0;background:url(../assets/hero-bg.jpg) center/cover no-repeat;scale:1.12}.city{z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;opacity:.82;scale:1.12}.island,.chain{z-index:-1;object-fit:contain}.island-one{width:43%;height:auto;left:-8%;top:33%;filter:drop-shadow(0 25px 25px rgba(0,0,0,.45))}.island-two{width:27%;height:auto;left:76%;top:17%;opacity:.9}.chain-one{width:34%;height:auto;left:-10%;top:-3%}.chain-two{width:32%;height:auto;left:76%;top:56%}.hero-mist{z-index:1;inset:-12% -8% -22%;opacity:.72;background:radial-gradient(ellipse 28% 13% at 12% 70%,rgba(240,214,129,.13),transparent 72%),radial-gradient(ellipse 35% 14% at 87% 62%,rgba(212,175,55,.11),transparent 74%),radial-gradient(ellipse 42% 11% at 55% 88%,rgba(201,190,154,.08),transparent 75%)}.hero-mist:before{content:"";position:absolute;left:9%;top:30%;width:2px;height:2px;border-radius:50%;background:#f0d6816b;box-shadow:12vw 19vh #f0d68147,24vw 42vh #f0d68161,39vw 8vh #f0d68140,55vw 49vh #f0d68152,70vw 14vh #f0d68147,78vw 39vh #f0d6815c,88vw 4vh #f0d6813d;filter:drop-shadow(0 0 3px rgba(240,214,129,.45))}.hero-beacon{position:absolute;left:68%;top:43%;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle,rgba(255,241,177,.95) 0 3%,rgba(240,190,77,.48) 12%,rgba(212,151,45,.18) 34%,transparent 70%);transform:translate(-50%,-50%)}.hero-vignette{z-index:2;inset:0;width:100%;height:100%;background:radial-gradient(circle at center,#050a1e0d 10%,#0509178c 72%,#080d20 110%),linear-gradient(to bottom,rgba(7,11,27,.15),rgba(7,11,27,.1) 65%,var(--deep))}.hero-copy{position:relative;z-index:3;width:min(1000px,90vw);padding:32px;text-align:center;text-shadow:0 3px 25px #050817}.hero-copy:before{content:"";position:absolute;z-index:-1;inset:-18% -4%;border-radius:50%;background:radial-gradient(ellipse,rgba(5,9,25,.54),rgba(5,9,25,.18) 52%,transparent 75%)}.eyebrow,.kicker,.project-kicker{color:var(--gold-light);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.hero h1{margin:16px 0 12px;color:var(--white);font:600 clamp(56px,9vw,144px)/.98 Cinzel,serif;letter-spacing:-.035em}.hero-role{margin:0 auto;color:var(--white);font:500 clamp(16px,1.6vw,22px)/1.45 Inter,sans-serif;letter-spacing:.01em}.hero-support{margin:16px auto 24px;color:#e4e8f0}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.section{width:min(1240px,calc(100% - (2*clamp(20px,4vw,64px))));margin:0 auto;padding:112px 0 0}.section-heading{max-width:760px;margin-bottom:40px}.section-heading h2,.intro h2,.game-copy h2,.contact-section h2{margin:8px 0 16px;color:var(--white);font:600 clamp(34px,4.2vw,64px)/1.08 Cinzel,serif;letter-spacing:-.025em}.section-heading>p:last-child,.contact-section>div>p,.game-copy>p{color:var(--muted)}.intro{display:grid;grid-template-columns:160px minmax(0,760px);justify-content:center;align-items:center;gap:64px}.intro-art{color:var(--gold-light);font-size:12px;letter-spacing:.08em;text-align:center;text-transform:uppercase}.avatar-ring{width:112px;aspect-ratio:1;margin:0 auto 16px;padding:4px;border:1px solid rgba(212,175,55,.5);border-radius:50%}.avatar-ring img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%;background:linear-gradient(135deg,var(--night),var(--royal))}.intro>div:last-child>p:not(.kicker){color:var(--silver)}.about-rule{width:72px;height:1px;display:block;margin-bottom:24px;transform-origin:left;background:var(--gold)}.domain-line{margin:16px 0 24px;color:var(--gold-light)!important;font-weight:500}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button{min-height:48px;display:inline-flex;justify-content:center;align-items:center;padding:0 24px;border:1px solid rgba(200,209,224,.4);border-radius:3px;background:var(--night);color:var(--white);text-decoration:none;cursor:pointer;transition:transform .25s,border-color .25s,background .25s}.button:hover,.button:focus{transform:translateY(-2px);border-color:var(--focus)}.button.primary{border-color:var(--gold);background:linear-gradient(135deg,#a88020,var(--gold));color:#101425;font-weight:600}.button.quiet{background:#0b10268c}.text-link{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;color:var(--focus);text-decoration:none}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px 24px}.project-card{--rx: 0deg;--ry: 0deg;grid-column:span 6}.project-featured{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}.project-featured .project-media{grid-column:span 8}.project-featured .project-copy{grid-column:span 4;padding-left:8px}.project-media{aspect-ratio:16 / 10;overflow:hidden;border-radius:4px;background:var(--surface-raised)}.project-artwork{width:100%;height:100%;transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .3s ease}.project-media img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.88);transform:scale(1.01);transition:filter .3s,transform .3s}.project-card:hover .project-media img{filter:saturate(1.03);transform:scale(1.02)}.project-copy{padding-top:24px}.project-copy h3{margin:8px 0;color:var(--white);font:600 clamp(28px,3vw,36px)/1.15 Inter,sans-serif;letter-spacing:-.02em}.project-role{margin:0 0 16px;color:var(--muted);font-size:14px}.project-contribution{margin:0 0 16px;color:var(--silver)}.project-copy details{border-top:1px solid var(--line)}.project-copy summary,.earlier-chapters>summary{min-height:44px;display:flex;align-items:center;color:var(--gold-light);font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer}.project-copy details p{margin:0 0 16px;color:var(--muted);font-size:16px}.project-copy details p span{color:var(--silver);font-weight:600}.skills-section{position:relative}.orb-cloud{height:560px;position:relative;border-radius:50%;background:radial-gradient(ellipse at center,rgba(42,77,140,.2),transparent 60%)}.skill-orb{position:absolute;left:var(--x);top:var(--y);width:150px;min-height:44px;border:0;background:none;color:var(--white);cursor:pointer;animation:none;transition:transform .3s}.skill-orb img{width:100%;aspect-ratio:1;display:block;object-fit:contain;filter:drop-shadow(0 0 18px rgba(93,173,226,.25));transition:.3s}.skill-orb span{display:block;font-size:13px;letter-spacing:.06em}.skill-orb:hover img,.skill-orb:focus img,.skill-orb.active img{transform:scale(1.06)}.skill-orb.active{z-index:3}.skill-orb.active span{color:var(--gold-light)}.orb-halo{position:absolute;z-index:-1;left:8%;top:2%;width:84%;aspect-ratio:1;border-radius:50%;opacity:0;background:radial-gradient(circle,rgba(93,173,226,.35),transparent 68%);transition:opacity .18s}.skill-orb.active .orb-halo,.skill-orb:hover .orb-halo,.skill-orb:focus .orb-halo{opacity:1}.orb-connections{position:absolute;z-index:0;inset:5% 4% 12%;width:92%;height:83%;overflow:visible;pointer-events:none}.orb-connections path{fill:none;stroke:#c8d1e033;stroke-width:.22;vector-effect:non-scaling-stroke}@keyframes float{50%{transform:translateY(-14px)}}.orb-detail{width:min(440px,90%);min-height:135px;margin:-40px auto 0;padding:24px 32px;border-left:2px solid var(--gold);border-radius:4px;background:var(--surface-raised)}.orb-detail>span{color:var(--gold-light);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.orb-detail h3{margin:8px 0;color:var(--white);font:600 22px Inter,sans-serif}.orb-detail p{margin:0;color:var(--muted)}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(var(--cyan),rgba(93,173,226,.08))}.timeline-route{position:absolute;z-index:1;left:50%;top:0;bottom:0;width:2px;transform-origin:top;background:linear-gradient(var(--gold-light),var(--cyan))}.timeline-item{width:50%;padding:0 50px 32px 0;position:relative}.timeline-item:nth-child(2n){margin-left:50%;padding:0 0 32px 50px}.timeline-item:before{content:"";position:absolute;right:-6px;top:28px;width:10px;height:10px;border:1px solid var(--cyan);border-radius:50%;background:var(--deep);box-shadow:0 0 0 6px var(--deep);transition:.3s}.timeline-item:nth-child(2n):before{right:auto;left:-5px}.timeline-item.visible:before{background:var(--gold)}.timeline-item.visible>button{border-color:#8bd5ff61}.timeline-item:before,.timeline-item>button{transition-duration:.2s}.timeline-item>button{width:100%;min-height:44px;position:relative;padding:24px;border:1px solid var(--line);border-radius:4px;background:var(--night);color:inherit;text-align:left;cursor:pointer;transition:border-color .25s,transform .25s}.timeline-recent>button{background:var(--surface-raised);border-left:2px solid var(--gold)}.timeline-item>button:hover{border-color:#8bd5ff8c;transform:translateY(-2px)}.timeline-item time{color:var(--gold-light);font-size:13px;letter-spacing:.08em}.timeline-item h3{margin:8px 32px 4px 0;color:var(--white);font:600 clamp(20px,2vw,24px)/1.3 Inter,sans-serif}.timeline-item button p{margin:0;color:var(--muted);font-size:16px}.timeline-item button>span{position:absolute;right:20px;top:24px;color:var(--focus);font-size:24px;transition:transform .3s}.timeline-item.expanded button>span{transform:rotate(45deg)}.timeline-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}.timeline-detail p{margin:0;padding:0 22px;overflow:hidden;color:var(--muted);font-size:16px}.timeline-item.expanded .timeline-detail{grid-template-rows:1fr}.timeline-item.expanded .timeline-detail p{padding-top:16px}.earlier-chapters{position:relative;z-index:1;clear:both;width:min(720px,calc(100% - 48px));margin:16px auto 0;padding:0 24px;border:1px solid var(--line);border-radius:4px;background:var(--night)}.earlier-chapters>summary{justify-content:center;min-height:56px}.earlier-chapters-list{padding-top:24px}.earlier-chapters .timeline-item,.earlier-chapters .timeline-item:nth-child(2n){width:100%;margin-left:0;padding:0 0 24px}.earlier-chapters .timeline-item:before{display:none}.earlier-chapters[open] .timeline-item{opacity:1!important;transform:none!important}.game-section{display:grid;grid-template-columns:minmax(330px,.7fr) 1.3fr;align-items:center;gap:64px}.game-stats{display:flex;gap:12px;margin:32px 0}.game-stats div{min-width:92px;padding-left:12px;border-left:1px solid var(--royal)}.game-stats span{display:block;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.game-stats strong{color:var(--white);font:600 28px Cinzel,serif}.game-controls p,.game-status{color:var(--muted);font-size:13px}.game-controls>div{display:flex;gap:10px;flex-wrap:wrap}.game-frame{position:relative;padding:8px;border:1px solid var(--line);border-radius:4px;background:#080d21}#qix-canvas{width:100%;height:auto;display:block;touch-action:pan-y;background:#080d21}#qix-canvas:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.game-frame.is-running #qix-canvas{touch-action:none}.frame-trace{position:absolute;z-index:2;display:block;pointer-events:none;background:var(--cyan)}.frame-trace-top,.frame-trace-bottom{left:-1px;width:calc(100% + 2px);height:1px;transform-origin:left}.frame-trace-top{top:-1px}.frame-trace-bottom{bottom:-1px}.frame-trace-left,.frame-trace-right{top:-1px;width:1px;height:calc(100% + 2px);transform-origin:top}.frame-trace-left{left:-1px}.frame-trace-right{right:-1px}.game-frame.capture-flash{animation:capture-outline .35s ease-out}@keyframes capture-outline{40%{box-shadow:0 0 0 2px var(--gold-light)}}.touch-pad{display:none;grid-template-columns:repeat(3,50px);justify-content:center;gap:5px;margin-top:10px}.touch-pad button{min-height:46px;border:1px solid var(--royal);background:var(--night);color:var(--white);font-size:20px}.touch-pad button:first-child{grid-column:2}.touch-pad button:nth-child(2){grid-column:1;grid-row:2}.touch-pad button:nth-child(3){grid-column:2;grid-row:2}.touch-pad button:last-child{grid-column:3;grid-row:2}.contact-section{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,96px);align-items:start;padding-bottom:112px}.contact-section>div:first-child{position:relative;isolation:isolate}.contact-glow{position:absolute;z-index:-1;inset:-80px -40px auto;height:260px;background:radial-gradient(circle,rgba(212,175,55,.16),transparent 68%);pointer-events:none}.contact-rule{width:80px;height:1px;display:block;margin-bottom:24px;transform-origin:left;background:var(--gold)}.contact-section>div>a{min-height:44px;display:flex;align-items:center;color:var(--focus);text-decoration:none}.contact-section form{display:grid;gap:24px;padding:32px;border:1px solid var(--line);border-radius:4px;background:var(--surface-raised)}label{display:grid;gap:8px;color:#dce3ed;font-size:13px;letter-spacing:.06em}input,textarea{width:100%;padding:14px;border:1px solid rgba(200,209,224,.35);border-radius:2px;outline:none;background:#050a1e99;color:var(--white);transition:.2s}input:focus,textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px #8bd5ff1f}label small{min-height:1em;color:#ff9f9f;letter-spacing:0}.invalid input,.invalid textarea{border-color:#f77}.contact-section form .button{justify-self:start}.form-status{min-height:24px;margin:0;color:var(--gold-light);font-size:13px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:32px max(20px,4vw);border-top:1px solid var(--line);color:var(--muted);font-size:13px}footer>div{display:flex;gap:24px}footer a{color:var(--silver);text-decoration:none}@media(max-width:900px){:root{font-size:16px}.site-header{background:#070b1ceb}.nav-toggle{display:block}nav{display:none;position:absolute;top:76px;left:20px;right:20px;flex-direction:column;padding:24px;border:1px solid var(--line);background:var(--night)}nav.open{display:flex}nav a{min-height:44px;display:flex;align-items:center}.section{padding-top:64px}.section-heading{margin-bottom:32px}.intro{grid-template-columns:1fr;gap:32px}.intro-art{display:flex;align-items:center;justify-content:flex-start;gap:16px;text-align:left}.avatar-ring{width:96px;margin:0;flex:0 0 auto}.project-grid,.project-featured{grid-template-columns:1fr;gap:32px}.project-card,.project-featured,.project-featured .project-media,.project-featured .project-copy{grid-column:1}.project-featured .project-copy{padding-left:0}.project-copy{padding-top:16px}.project-card{height:auto}.skill-orb{width:125px}.orb-cloud{height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:32px 8px;background:none}.skill-orb{position:relative;left:auto;top:auto;margin:auto}.orb-connections{display:none}.orb-detail{margin:40px auto 0}.timeline:before{left:6px}.timeline-route{left:6px}.timeline-item,.timeline-item:nth-child(2n){width:auto;margin-left:6px;padding:0 0 32px 35px}.timeline-item:before,.timeline-item:nth-child(2n):before{left:-5px;right:auto}.earlier-chapters{width:calc(100% - 35px);margin-left:35px}.game-section,.contact-section{grid-template-columns:1fr}.touch-pad{display:grid}.contact-section{padding-bottom:64px}}@media(max-width:700px){#starfield,.hero-bg,.city,.island,.chain,.hero-mist{translate:none!important;will-change:auto!important}}@media(max-width:560px){.site-header{padding:12px 16px}.hero{min-height:620px}.hero-copy{width:100%;min-width:0;padding:20px}.hero h1{font-size:clamp(40px,14vw,52px)}.hero-actions{align-items:stretch;flex-direction:column;width:min(320px,100%);margin:auto}.chain-one{width:55%}.chain-two{width:50%;left:66%}.island-one{width:70%;left:-28%;top:42%}.island-two{width:52%;left:73%}.actions{align-items:stretch}.actions .button{flex:1}.orb-cloud{height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:32px 8px;background:none}.skill-orb{width:110px;position:relative;left:auto;top:auto;margin:auto;animation:none}.orb-connections{display:none}.orb-detail{margin:40px auto 0}.game-stats{justify-content:space-between}.game-stats div{min-width:0}.contact-section form{padding:24px}footer{flex-direction:column;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
