:root{--ink-900:#05070f;--ink-850:#070c19;--ink-800:#0a0f1f;--ink-700:#111831;--ink-600:#18213f;--line:#1f2a4d;--line-soft:#8b7bff24;--phosphor:#5cf2c4;--phosphor-dim:#5cf2c429;--violet:#8b7bff;--violet-bright:#a99bff;--violet-dim:#8b7bff29;--amber:#ffb347;--text-hi:#eaf0ff;--text-mid:#9fb0d0;--text-low:#7486ab;--step--1:.833rem;--step-0:1rem;--step-1:1.125rem;--step-2:clamp(1.25rem, .4vw + 1.15rem, 1.4rem);--step-3:clamp(1.5rem, 1vw + 1.25rem, 1.95rem);--step-4:clamp(1.9rem, 2vw + 1.4rem, 2.6rem);--step-5:clamp(2.3rem, 4vw + 1.2rem, 3.6rem);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--r-sm:6px;--r-md:12px;--r-lg:20px;--r-pill:999px;--shadow-card:0 1px 2px #0006, 0 12px 32px #02040c8c;--shadow-lift:0 2px 4px #0006, 0 24px 56px #02040cb3;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--measure:66ch;--container:1200px;--gutter:var(--s-5);--font-display:"Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-arcade:"Press Start 2P", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--ink-900);min-height:100vh;color:var(--text-mid);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;line-height:1.65;overflow-x:hidden}img,svg,canvas{max-width:100%;display:block}a{color:var(--violet-bright);text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-hi);letter-spacing:-.02em;font-weight:700;line-height:1.15}p{max-width:var(--measure)}.section-title{font-size:var(--step-4);margin-bottom:var(--s-3)}.section-title:after{content:"";width:0;height:2px;margin-top:var(--s-4);background:linear-gradient(90deg, var(--violet), transparent);transition:width .8s var(--ease-out);display:block}.section-title.in-view:after{width:min(220px,40%)}.section-intro{max-width:60ch;margin-bottom:var(--s-8);color:var(--text-mid);font-size:var(--step-1)}.container{width:100%;max-width:var(--container);padding:0 var(--gutter);margin:0 auto}main>section{z-index:3;padding:var(--s-9) 0;position:relative}main>section+section{border-top:1px solid var(--line)}.about,.projects,.education{background:var(--ink-850)}.experience,.skills,.contact{background:var(--ink-900)}.skip-link{top:-100px;left:var(--s-3);z-index:3000;padding:var(--s-3) var(--s-5);border-radius:0 0 var(--r-md) var(--r-md);background:var(--violet);color:#fff;font-weight:600;transition:top .2s;position:absolute}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--phosphor);outline-offset:3px;border-radius:var(--r-sm)}[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}.navbar{z-index:1000;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:transform .35s var(--ease-out), background-color .3s ease;background:#05070fb8;position:fixed;inset:0 0 auto}.navbar.is-scrolled{background:#05070ff0;box-shadow:0 6px 24px #00000059}.navbar.nav-hidden{transform:translateY(-105%)}.nav-container{justify-content:space-between;align-items:center;gap:var(--s-5);max-width:var(--container);height:68px;padding:0 var(--gutter);margin:0 auto;display:flex}.nav-logo a{font-family:var(--font-display);font-size:var(--step-1);letter-spacing:-.02em;color:var(--text-hi);font-weight:700}.nav-logo a:hover{color:var(--violet-bright)}.nav-menu{gap:var(--s-6);list-style:none;display:flex}.nav-link{padding:var(--s-2) 0;color:var(--text-mid);font-size:var(--step--1);font-weight:500;position:relative}.nav-link:after{content:"";background:var(--violet);width:0;height:2px;transition:width .25s var(--ease-out);position:absolute;bottom:0;left:0}.nav-link:hover,.nav-link.active{color:var(--text-hi)}.nav-link:hover:after,.nav-link.active:after{width:100%}@media (width>=861px){.nav-link[href=\#contact]{padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:var(--violet);color:#0b0720;font-weight:600;transition:background .2s}.nav-link[href=\#contact]:after{display:none}.nav-link[href=\#contact]:hover,.nav-link[href=\#contact].active{background:var(--violet-bright);color:#0b0720}}.nav-toggle{padding:var(--s-2);cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.bar{background:var(--text-hi);width:22px;height:2px;transition:transform .25s,opacity .25s;display:block}.nav-toggle.active .bar:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.active .bar:nth-child(2){opacity:0}.nav-toggle.active .bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{min-height:100vh;padding:calc(68px + var(--s-7)) 0 var(--s-7);background:var(--ink-900);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero-container{z-index:2;gap:var(--s-8);width:100%;max-width:var(--container);padding:0 var(--gutter);grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:center;margin:0 auto;display:grid;position:relative}.hero-title{font-size:var(--step-5);letter-spacing:-.035em;margin-bottom:var(--s-3)}.hero-subtitle{max-width:none;margin-bottom:var(--s-5);color:var(--phosphor);font-family:var(--font-display);font-size:var(--step-2);letter-spacing:-.01em;font-weight:500}.hero-description{max-width:58ch;margin-bottom:var(--s-6);font-size:var(--step-1);color:var(--text-mid)}.hero-buttons{gap:var(--s-3);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.badge-list{gap:var(--s-2);margin-bottom:var(--s-6);flex-wrap:wrap;list-style:none;display:flex}.badge{padding:5px var(--s-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--ink-800);color:var(--text-mid);font-size:var(--step--1);transition:border-color .2s,color .2s}.badge:hover{border-color:var(--violet);color:var(--text-hi)}.hero-links{gap:var(--s-3);display:flex}.social-link{border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-800);width:42px;height:42px;color:var(--text-mid);transition:transform .25s var(--ease-spring), color .25s ease, border-color .25s ease;place-items:center;display:grid}.social-link:hover{color:var(--phosphor);border-color:var(--phosphor);transform:translateY(-3px)}.hero-image{justify-content:center;display:flex}.profile-card{width:100%;padding:var(--s-6);border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(160deg, var(--ink-700), var(--ink-800));box-shadow:var(--shadow-card);text-align:center;position:relative}.profile-avatar{margin-bottom:var(--s-5);justify-content:center;display:flex;position:relative}.profile-photo{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:128px;height:128px}.profile-info h2{font-size:var(--step-2);margin-bottom:var(--s-2)}.profile-info p{max-width:none;color:var(--text-low);font-size:var(--step--1);line-height:1.5}.profile-info p+p{margin-top:2px}.ledger{z-index:2;width:100%;max-width:var(--container);margin:var(--s-7) auto 0;padding:0 var(--gutter);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:relative}.stat{padding:var(--s-6) var(--s-5) 0 0;position:relative}.stat+.stat{padding-left:var(--s-5);border-left:1px solid var(--line)}.stat h3{font-size:var(--step-4);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--phosphor);margin-bottom:var(--s-2)}.stat p{max-width:22ch;color:var(--text-low);font-size:var(--step--1);line-height:1.45}.btn{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-5);border-radius:var(--r-md);font-family:var(--font-body);font-size:var(--step-0);cursor:pointer;transition:transform .25s var(--ease-out), background-color .25s ease, border-color .25s ease, color .25s ease;border:1px solid #0000;font-weight:600;display:inline-flex}.btn-primary{background:var(--violet);color:#0b0720}.btn-primary:hover{background:var(--violet-bright);transform:translateY(-2px)}.btn-secondary,.btn-ghost{border-color:var(--line);color:var(--text-hi);background:0 0}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--violet);background:var(--violet-dim);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.about-text p+p{margin-top:var(--s-5)}.about-text p{font-size:var(--step-1)}.timeline{padding-left:var(--s-8);position:relative}.timeline:before{content:"";background:var(--line);border-radius:2px;width:2px;position:absolute;top:10px;bottom:10px;left:9px}.timeline:after{content:"";width:2px;height:var(--timeline-progress,0%);background:linear-gradient(180deg, var(--violet), var(--phosphor));border-radius:2px;max-height:calc(100% - 20px);transition:height .1s linear;position:absolute;top:10px;left:9px;box-shadow:0 0 12px #5cf2c480}.timeline-item{position:relative}.timeline-item+.timeline-item{margin-top:var(--s-5)}.timeline-content{padding:var(--s-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink-700);box-shadow:var(--shadow-card);transition:border-color .3s ease, box-shadow .3s ease, transform .3s var(--ease-out)}.timeline-item:hover .timeline-content{border-color:var(--line-soft);box-shadow:var(--shadow-lift);transform:translateY(-3px)}@media (width>=900px){.timeline-content{column-gap:var(--s-7);grid-template-columns:minmax(0,250px) minmax(0,1fr);align-items:start;display:grid}.timeline-description,.timeline-description h4:first-child{margin-top:0}}.timeline-marker{left:calc(var(--s-8) * -1);background:var(--ink-800);border:2px solid var(--line);border-radius:50%;width:20px;height:20px;transition:border-color .4s,background-color .4s,box-shadow .4s;position:absolute;top:26px}.timeline-marker:after{content:"";background:var(--line);border-radius:50%;transition:background-color .4s;position:absolute;inset:4px}.timeline-item.revealed .timeline-marker{border-color:var(--violet)}.timeline-item.revealed .timeline-marker:after{background:var(--violet)}.timeline-item.current .timeline-marker{border-color:var(--phosphor);box-shadow:0 0 0 5px var(--phosphor-dim), 0 0 18px #5cf2c473}.timeline-item.current .timeline-marker:after{background:var(--phosphor)}.timeline-header h3{font-size:var(--step-2);margin-bottom:var(--s-2)}.company{color:var(--violet-bright);font-weight:600;font-size:var(--step-0);display:block}.period{color:var(--text-low);font-size:var(--step--1);font-variant-numeric:tabular-nums;margin-top:2px;display:block}.timeline-description{margin-top:var(--s-5)}.timeline-description h4{margin:var(--s-5) 0 var(--s-3);color:var(--phosphor);font-family:var(--font-body);font-size:var(--step--1);letter-spacing:0;font-weight:600}.timeline-description ul{gap:var(--s-3);list-style:none;display:grid}.timeline-description li{max-width:var(--measure);padding-left:var(--s-5);color:var(--text-mid);position:relative}.timeline-description li:before{content:"";background:var(--violet);width:7px;height:1px;position:absolute;top:.65em;left:0}.project-filters{gap:var(--s-2);margin-bottom:var(--s-7);flex-wrap:wrap;display:flex}.filter-btn{align-items:baseline;gap:var(--s-2);padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-mid);font-size:var(--step--1);cursor:pointer;background:0 0;font-weight:500;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}.filter-btn:hover{color:var(--text-hi);border-color:var(--violet)}.filter-btn[aria-pressed=true]{background:var(--violet);border-color:var(--violet);color:#0b0720}.filter-count{font-variant-numeric:tabular-nums;opacity:.65;font-size:.85em}.filter-btn[aria-pressed=true] .filter-count{opacity:1}.projects-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.project-card{padding:var(--s-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink-700);transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(0, var(--ty,0), 0);transform-style:preserve-3d;transition:transform .3s var(--ease-out), border-color .3s ease, box-shadow .3s ease;flex-direction:column;display:flex;position:relative}.project-card:hover{--ty:-6px;border-color:var(--violet);box-shadow:var(--shadow-lift)}.project-card:before{content:"";border-radius:inherit;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), var(--violet-dim), transparent 62%);opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;inset:0}.project-card:hover:before{opacity:1}.project-card>*{z-index:1;position:relative}.project-top{margin-bottom:var(--s-5);justify-content:space-between;align-items:center;display:flex}.project-icon{border-radius:var(--r-md);background:var(--violet-dim);width:40px;height:40px;color:var(--violet-bright);transition:transform .3s var(--ease-spring);place-items:center;display:grid}.project-card:hover .project-icon{transform:translateZ(40px)}.project-tag{padding:3px var(--s-3);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text-low);font-size:.72rem;font-weight:600}.project-tag.tag-live{background:var(--phosphor-dim);color:var(--phosphor);border-color:#0000}.project-tag.tag-private{border-color:var(--line-soft);color:var(--violet-bright)}.project-card h3{font-size:var(--step-2);margin-bottom:var(--s-3)}.project-card p{max-width:none;color:var(--text-mid);flex:1;font-size:.95rem}.project-stack{gap:var(--s-1);margin:var(--s-5) 0;flex-wrap:wrap;list-style:none;display:flex}.project-stack li{padding:2px var(--s-2);border-radius:var(--r-sm);background:var(--ink-600);color:var(--text-mid);font-size:.75rem}.project-links{align-items:center;gap:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.project-links a{align-items:center;gap:var(--s-2);color:var(--phosphor);font-size:var(--step--1);font-weight:600;display:inline-flex}.project-links a:hover{text-underline-offset:4px;text-decoration:underline}.project-soon{color:var(--text-low);font-size:var(--step--1)}.project-impact{color:var(--text-hi);font-size:var(--step--1);font-variant-numeric:tabular-nums;flex-basis:100%;font-weight:600}.project-impact:before{content:"";width:6px;height:6px;background:var(--phosphor);box-shadow:0 0 8px var(--phosphor);vertical-align:.15em;border-radius:50%;margin-inline-end:var(--s-2);display:inline-block}@supports (grid-template-rows:subgrid){.project-card{grid-row:span 6;grid-template-rows:subgrid;align-content:start;row-gap:0;display:grid}.project-stack,.project-links{align-self:start}}.project-card.filtered-out{display:none}.project-card.filtering-in{animation:card-in .4s backwards var(--ease-out);animation-delay:calc(var(--fi,0) * 40ms)}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}}.skills-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;display:grid}.skill-category{padding:var(--s-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink-800);transition:border-color .3s;position:relative}.skill-category:hover{border-color:var(--line-soft)}.skill-category h3{margin-bottom:var(--s-5);padding-bottom:var(--s-3);border-bottom:1px solid var(--line);font-size:var(--step-1)}.skill-items{gap:var(--s-4);display:grid}.skill-item{gap:var(--s-2);display:grid;position:relative}.skill-name{color:var(--text-hi);font-size:.95rem;line-height:1.35}.skill-level{color:var(--text-low);order:3;font-size:.75rem}.skill-item:after{content:"";background:linear-gradient(90deg, var(--violet), var(--phosphor));width:0;height:2px;transition:width 1s var(--ease-out);border-radius:2px;order:2}.skill-category.revealed .skill-item.expert:after{width:100%}.skill-category.revealed .skill-item.advanced:after{width:70%}.skill-category.revealed .skill-item.working:after{width:40%}.education-item{padding:var(--s-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink-800)}.education-header h3{font-size:var(--step-2);margin-bottom:var(--s-2)}.institution{color:var(--violet-bright);font-weight:600;display:block}.education-header .period{margin-bottom:var(--s-5)}.education-description ul{gap:var(--s-3);list-style:none;display:grid}.education-description li{max-width:var(--measure);padding-left:var(--s-5);position:relative}.education-description li:before{content:"";background:var(--violet);width:6px;height:1px;position:absolute;top:.65em;left:0}.languages-section{margin-top:var(--s-8)}.languages-section h3{margin-bottom:var(--s-4);font-size:var(--step-1)}.language-items{gap:0;max-width:640px;display:grid}.language-item{justify-content:space-between;align-items:baseline;gap:var(--s-5);padding:var(--s-4) 0;border-bottom:1px solid var(--line);display:flex}.language-name{color:var(--text-hi)}.language-level{color:var(--text-low);font-size:var(--step--1);text-align:right}.contact-content{gap:var(--s-8);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;display:grid}.contact-info{gap:0;display:grid}.contact-item{align-items:flex-start;gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--line);display:flex}.contact-item i{width:20px;color:var(--violet);text-align:center;margin-top:4px}.contact-item h3{font-family:var(--font-body);font-size:var(--step--1);color:var(--text-low);letter-spacing:0;margin-bottom:2px;font-weight:600}.contact-item p{max-width:none;color:var(--text-hi)}.contact-item a{color:var(--text-hi)}.contact-item a:hover{color:var(--phosphor)}.copy-btn{margin-left:var(--s-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text-low);cursor:pointer;background:0 0;padding:2px 6px;font-size:.7rem;transition:color .2s,border-color .2s}.copy-btn:hover,.copy-btn.copied{color:var(--phosphor);border-color:var(--phosphor)}.contact-form{padding:var(--s-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink-800)}.form-group+.form-group{margin-top:var(--s-5)}.form-group label{margin-bottom:var(--s-2);color:var(--text-low);font-size:var(--step--1);display:block}.form-group input,.form-group textarea{width:100%;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-900);color:var(--text-hi);font:inherit;transition:border-color .2s,box-shadow .2s}.form-group textarea{resize:vertical;min-height:140px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-low)}.form-group input:focus,.form-group textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-dim);outline:none}.contact-form .btn{margin-top:var(--s-6)}.contact-form button:disabled{opacity:.6;cursor:not-allowed}.footer{z-index:3;padding:var(--s-7) 0;border-top:1px solid var(--line);background:var(--ink-900);position:relative}.footer-content{justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.footer-content p{color:var(--text-low);font-size:var(--step--1)}.footer-links{gap:var(--s-4);display:flex}.footer-links a{color:var(--text-low)}.footer-links a:hover{color:var(--phosphor)}.notification{top:var(--s-5);right:var(--s-5);z-index:10000;max-width:380px;padding:var(--s-4) var(--s-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-700);color:var(--text-hi);box-shadow:var(--shadow-lift);animation:slide-in .3s var(--ease-out);position:fixed}.notification-success{border-color:var(--phosphor)}.notification-error{border-color:#ff6b6b}.notification-content{justify-content:space-between;align-items:center;gap:var(--s-4);display:flex}.notification-close{color:var(--text-low);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}@keyframes slide-in{0%{opacity:0;transform:translate(110%)}}.back-to-top{right:var(--s-5);bottom:var(--s-5);z-index:900;border:1px solid var(--line);background:var(--ink-700);width:46px;height:46px;color:var(--text-hi);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s ease, transform .3s var(--ease-spring), border-color .3s ease;border-radius:50%;place-items:center;display:grid;position:fixed;transform:translateY(10px)}.back-to-top.show{opacity:1;pointer-events:auto;transform:none}.back-to-top:hover{border-color:var(--phosphor);color:var(--phosphor)}.back-to-top svg{pointer-events:none;width:calc(100% + 10px);max-width:none;height:calc(100% + 10px);position:absolute;inset:-5px;transform:rotate(-90deg)}.back-to-top svg circle{fill:none;stroke-width:2px}.ring-track{stroke:#0000}.ring-fill{stroke:var(--phosphor);stroke-linecap:round;stroke-dasharray:var(--circ,157);stroke-dashoffset:var(--offset,157);transition:stroke-dashoffset .1s linear}.back-to-top i{z-index:1;position:relative}.progress-bar{z-index:1100;background:linear-gradient(90deg, var(--violet), var(--phosphor));width:0;height:2px;position:fixed;top:0;left:0}.bg-stars{z-index:0;pointer-events:none;opacity:.55;position:fixed;inset:0}.aurora{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.aurora i{filter:blur(110px);opacity:.4;border-radius:50%;display:block;position:absolute}.aurora i:first-child{background:radial-gradient(circle,#4c3bbf,#0000 70%);width:44vw;height:44vw;animation:28s ease-in-out infinite drift-a;top:-12vw;left:-8vw}.aurora i:nth-child(2){background:radial-gradient(circle,#0f5f7a,#0000 70%);width:34vw;height:34vw;animation:34s ease-in-out infinite drift-b;bottom:-12vw;right:-6vw}.aurora i:nth-child(3){display:none}@keyframes drift-a{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(5vw,4vw)scale(1.12)}}@keyframes drift-b{0%,to{transform:translate(0,0)scale(1.1)}50%{transform:translate(-5vw,-3vw)scale(.95)}}.grid-floor,.skill-stars{display:none}.start-screen{z-index:1200;-webkit-user-select:none;user-select:none;touch-action:none;--lit:0;--beam:1;position:fixed;inset:0;overflow:hidden}.start-screen[hidden]{display:none}.room{background:radial-gradient(60% 50% at 50% 0,#1e284e8c,#0000 70%),radial-gradient(120% 90% at 50% 10%,#080c1a 0%,#05070f 55%,#030409 100%);position:absolute;inset:0}.room:after{content:"";opacity:var(--lit);background:radial-gradient(42% 34% at 50% 24%,#5cf2c41f,#8b7bff0d 55%,#0000 78%);position:absolute;inset:0}.lamp-stage{visibility:hidden;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.lamp-stage.placed{visibility:visible}.lamp-stage.grabbing{cursor:grabbing}.lamp-stage .lit{opacity:var(--lit)}.lamp-stage .unlit{opacity:calc(1 - var(--lit))}.lamp-stage .beam-part{opacity:calc(var(--lit) * var(--beam))}.handle-glow{animation:2.4s ease-in-out infinite handle-breathe}.lamp-stage.grab-ready .handle-glow{opacity:1;animation:none}.start-screen.is-on .handle-glow{opacity:.3;animation:none}@keyframes handle-breathe{0%,to{opacity:.3}50%{opacity:1}}.pull-hint{transition:opacity .4s var(--ease-out)}.pull-hint text{font-family:var(--font-arcade);letter-spacing:.08em;fill:var(--text-mid);font-size:9px}.pull-hint .hint-arrow{animation:1.6s ease-in-out infinite hint-bob}.pull-hint.is-hidden{opacity:0}@keyframes hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.pull-key{z-index:3;color:#0000;pointer-events:none;background:0 0;border:0;border-radius:23px;width:46px;height:62px;margin:-31px 0 0 -23px;padding:0;font-size:0;position:absolute;top:0;left:0}.pull-key:focus-visible{outline:2px solid var(--violet-bright);outline-offset:3px}.start-copy{z-index:2;padding:0 var(--s-5);text-align:center;pointer-events:none;transition:opacity .36s var(--ease-out);position:absolute;bottom:clamp(32px,9vh,96px);left:0;right:0}.start-copy p{max-width:none}.start-prompt{color:var(--text-hi);font-family:var(--font-arcade);letter-spacing:.06em;opacity:.85;font-size:clamp(10px,1.6vw,12px)}.start-hint{margin-top:var(--s-3);color:var(--text-low);font-size:var(--step--1)}.start-skip{margin-top:var(--s-5);padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-low);font-size:var(--step--1);cursor:pointer;pointer-events:auto;background:0 0;display:inline-block}.start-skip:hover{color:var(--text-hi);border-color:var(--violet)}.start-screen.is-on .start-copy{opacity:0}.start-screen.is-on .start-skip{pointer-events:none}.start-screen.nudge .start-prompt{animation:prompt-nudge .52s var(--ease-out)}@keyframes prompt-nudge{40%{color:var(--violet-bright);transform:translateY(3px)}}.prestart{overflow:hidden}.prestart>.navbar,.prestart>main,.prestart>footer{transform:translateY(100vh)}.lifting>.navbar,.lifting>main,.lifting>footer{will-change:transform}.prestart .back-to-top,.prestart .gamification-hud{display:none}[data-intro=skip] .prestart{overflow:auto}[data-intro=skip] .prestart>.navbar,[data-intro=skip] .prestart>main,[data-intro=skip] .prestart>footer{transform:none}[data-intro=skip] .start-screen{display:none}.gamification-hud{right:var(--s-5);bottom:calc(var(--s-5) + 58px);z-index:900;gap:var(--s-2);display:flex;position:fixed}.hud-chip{padding:4px var(--s-3);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-low);font-family:var(--font-arcade);background:#0a0f1fe6;align-items:center;gap:6px;font-size:9px;display:flex}.hud-chip i{color:var(--amber);font-size:10px}.hud-quests{padding:6px var(--s-3);color:var(--text-mid);cursor:pointer;transition:border-color .2s,color .2s}.hud-quests:hover,.hud-quests[aria-expanded=true]{color:var(--text-hi);border-color:var(--violet)}.hud-quests.pop{animation:quest-pop .5s var(--ease-spring)}@keyframes quest-pop{40%{border-color:var(--phosphor);transform:scale(1.18)}}.quest-log{right:var(--s-5);bottom:calc(var(--s-5) + 96px);z-index:950;width:min(320px, calc(100vw - 2 * var(--s-5)));padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-800);box-shadow:var(--shadow-lift);position:fixed}.quest-log[hidden]{display:none}.quest-log-head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.quest-log-title{color:var(--phosphor);font-family:var(--font-arcade);letter-spacing:.06em;white-space:nowrap;margin:0;font-size:10px}.quest-meter{border-radius:var(--r-pill);background:var(--ink-600);flex:1;height:4px;overflow:hidden}.quest-meter span{background:linear-gradient(90deg, var(--phosphor), var(--violet));width:0;height:100%;transition:width .5s var(--ease-out);display:block}.quest-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.quest{align-items:center;gap:var(--s-3);padding:var(--s-2) 0;border-top:1px solid var(--line-soft);grid-template-columns:18px 1fr auto;display:grid}.quest:first-child{border-top:0}.quest-check{border:1px solid var(--line);color:#04241b;border-radius:5px;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.quest.is-done .quest-check{border-color:var(--phosphor);background:var(--phosphor)}.quest-text{gap:1px;min-width:0;display:grid}.quest-title{color:var(--text-hi);font-size:.85rem;font-weight:600}.quest-hint{color:var(--text-low);font-size:.74rem;line-height:1.35}.quest.is-done .quest-title{color:var(--text-mid);text-decoration:line-through #5cf2c480}.quest.is-secret .quest-title{color:var(--amber)}.quest-go{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-mid);cursor:pointer;background:0 0;padding:3px 10px;font-size:.72rem;font-weight:600}.quest-go:hover{color:var(--text-hi);border-color:var(--violet)}.quest-toast{right:var(--s-5);bottom:calc(var(--s-5) + 96px);z-index:960;padding:var(--s-2) var(--s-4);border-radius:var(--r-md);background:var(--ink-800);box-shadow:0 0 24px #5cf2c42e, var(--shadow-card);opacity:0;transition:opacity .25s ease, transform .3s var(--ease-spring);pointer-events:none;border:1px solid #5cf2c480;gap:2px;display:grid;position:fixed;transform:translateY(8px)}.quest-toast.show{opacity:1;transform:none}.quest-toast-label{color:var(--phosphor);font-family:var(--font-arcade);letter-spacing:.06em;font-size:8px}.quest-toast-title{color:var(--text-hi);font-size:.85rem;font-weight:600}.achievement-actions{width:min(460px,100vw - 32px);padding:var(--s-6);text-align:center}.achievement-buttons{justify-content:center;gap:var(--s-3);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.guide-actions{flex-wrap:wrap}.guide.asking .guide-bubble{max-width:340px}.guide-ask{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line-soft)}.guide-ask[hidden]{display:none}.guide-suggest{margin-bottom:var(--s-3);flex-wrap:wrap;gap:6px;display:flex}.guide-chip{border:1px solid var(--line-soft);border-radius:var(--r-pill);background:var(--violet-dim);color:var(--text-mid);cursor:pointer;padding:3px 9px;font-size:.7rem}.guide-chip:hover{color:var(--text-hi);border-color:var(--violet)}.guide-ask-row{gap:var(--s-2);display:flex}.guide-ask-row input{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--ink-850);min-width:0;color:var(--text-hi);font:inherit;flex:1;padding:6px 12px;font-size:.8rem}.guide-ask-row input:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-dim);outline:none}@media (pointer:coarse){.guide-ask-row input{font-size:16px}}.guide-ask.is-pending .guide-btn-do{opacity:.5;pointer-events:none}.guide-ask-note{max-width:none;margin:var(--s-2) 0 0;color:var(--text-low);font-size:.68rem;line-height:1.4}.guide-thinking:after{content:"";animation:1.2s steps(4,end) infinite guide-dots}@keyframes guide-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.voices{justify-content:flex-end;gap:var(--s-5);margin-top:var(--s-7);flex-wrap:wrap;display:flex}.voice{position:relative}.voice-npc{padding:var(--s-2);color:var(--text-low);cursor:pointer;background:0 0;border:0;justify-items:center;gap:4px;display:grid}.voice-npc:focus-visible{outline:2px solid var(--violet-bright);outline-offset:2px;border-radius:var(--r-sm)}.voice-figure{animation:3.2s ease-in-out infinite voice-idle;animation-delay:var(--voice-delay,0s);overflow:visible}.voice .v-line,.chapter .v-line{stroke:var(--voice)}.voice .v-fill,.chapter .v-fill{fill:var(--voice)}.voice-eyes{transform-box:fill-box;transform-origin:50%;animation:5s infinite voice-blink;animation-delay:var(--voice-delay,0s)}.voice-name{color:var(--text-mid);font-family:var(--font-arcade);letter-spacing:.06em;font-size:8px}.voice-npc:hover .voice-name,.voice.is-open .voice-name{color:var(--voice)}.voice-tell{border:1px solid var(--line-soft);border-radius:var(--r-pill);background:var(--ink-700);gap:3px;padding:3px 6px;display:flex}.voice-tell i{background:var(--voice);border-radius:50%;width:3px;height:3px;animation:1.4s ease-in-out infinite voice-tell}.voice-tell i:nth-child(2){animation-delay:.2s}.voice-tell i:nth-child(3){animation-delay:.4s}.voice.is-open .voice-tell{visibility:hidden}.voice-card{z-index:20;width:min(300px,80vw);padding:var(--s-4);border:1px solid var(--line);border-top:2px solid var(--voice);border-radius:var(--r-md);background:var(--ink-700);box-shadow:var(--shadow-lift);animation:voice-card-in .3s var(--ease-spring);position:absolute;bottom:calc(100% + 8px);right:0}.voice-card[hidden]{display:none}.voice-quote{max-width:none;margin:0 0 var(--s-3);color:var(--text-hi);font-size:.9rem;line-height:1.55}.voice-who{max-width:none;color:var(--text-low);margin:0;font-size:.78rem}.voice-who b{color:var(--voice);font-weight:600}.voice-source{margin-top:var(--s-2);color:var(--text-mid);font-size:.74rem;display:inline-block}.voice-source:hover{color:var(--text-hi)}@keyframes voice-idle{50%{transform:translateY(-3px)}}@keyframes voice-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes voice-tell{0%,to{opacity:.3}50%{opacity:1}}@keyframes voice-card-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.voice-figure,.voice-eyes,.voice-tell i,.voice-card{animation:none}.lineup.is-waiting .chapter{opacity:1;transform:none}.lineup.is-arrived .chapter,.chapter.hop .voice-figure{animation:none}}.lineup{margin-top:var(--s-8)}.lineup-title{max-width:none;margin:0 0 var(--s-5);color:var(--text-low);font-family:var(--font-arcade);letter-spacing:.1em;text-align:center;font-size:9px}.lineup-row{padding-bottom:var(--s-2);border-bottom:1px solid var(--line);justify-content:center;align-items:flex-end;gap:clamp(4px,2.4vw,28px);display:flex}.chapter{flex-direction:column;align-items:center;display:flex;position:relative}.chapter-npc{position:relative}.chapter-npc .voice-figure{width:calc(48px * var(--grow,1));height:calc(68px * var(--grow,1))}.chapter-step{width:64px;height:calc(6px + var(--step,0) * 7px);border-top:2px solid var(--voice);background:linear-gradient(180deg, color-mix(in srgb, var(--voice) 22%, transparent), transparent);opacity:.7;border-radius:3px 3px 0 0;display:block}.chapter-lv{border:1px solid var(--line-soft);border-radius:var(--r-pill);background:var(--ink-700);color:var(--voice);font-family:var(--font-arcade);letter-spacing:.06em;padding:2px 6px;font-size:7px}.chapter.is-current .chapter-lv{border-color:var(--voice);box-shadow:0 0 12px color-mix(in srgb, var(--voice) 45%, transparent)}.chapter-year{color:var(--text-low);font-variant-numeric:tabular-nums;font-size:.7rem}.chapter.is-current .chapter-year{color:var(--voice);font-family:var(--font-arcade);letter-spacing:.06em;text-shadow:0 0 10px color-mix(in srgb, var(--voice) 60%, transparent);font-size:7px}.chapter-npc:hover .voice-figure,.chapter.is-open .voice-figure{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--voice) 55%, transparent))}.chapter-card{bottom:calc(100% + 4px)}.chapter.card-left .chapter-card{left:0;right:auto}.chapter.card-right .chapter-card{left:auto;right:0}.chapter-meta{max-width:none;margin:0 0 var(--s-2);color:var(--voice);font-family:var(--font-arcade);letter-spacing:.06em;font-size:8px}.chapter-role{max-width:none;color:var(--text-hi);margin:0;font-size:.92rem;font-weight:600;line-height:1.35}.chapter-company{max-width:none;margin:2px 0 var(--s-3);color:var(--violet-bright);font-size:.8rem}.chapter-story{max-width:none;margin:0 0 var(--s-3);color:var(--text-mid);font-size:.84rem;line-height:1.5}@media (width<=640px){.lineup-row{gap:2px;position:relative}.chapter{position:static}.chapter-npc{padding:2px}.chapter-step{width:48px}.chapter-npc .voice-name{font-size:6px}.chapter-card,.chapter.card-left .chapter-card,.chapter.card-right .chapter-card{width:auto;position:absolute;bottom:calc(100% + 8px);left:0;right:0}}.lineup.is-waiting .chapter{opacity:0;transform:translate(-28px)}.lineup.is-arrived .chapter{animation:chapter-walk-in .75s var(--ease-out) backwards;animation-delay:calc(var(--step,0) * .11s)}@keyframes chapter-walk-in{0%{opacity:0;transform:translate(-28px)}60%{transform:translate(2px)}}.chapter.hop .voice-figure{animation:chapter-hop .6s var(--ease-spring)}@keyframes chapter-hop{35%{transform:translateY(-9px)}70%{transform:translateY(0)}85%{transform:translateY(-2px)}}.street{background:linear-gradient(180deg, var(--ink-900) 0%, #060914 55%, #04060c 100%);height:clamp(150px,16vw,210px);position:relative;overflow:hidden}.street-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.street-canvas.over-car{cursor:pointer}.side-city{z-index:4;pointer-events:none;opacity:0;transition:opacity 1.2s var(--ease-out);display:none;position:fixed;top:0}.side-city.is-on{display:block}.started .side-city.is-on{opacity:.85}.started .side-city.is-on.is-ending{opacity:0}.side-city-left{left:0}.side-city-right{right:0}.player-hud,.xp-bar,.xp-fill,.hud-row,.hud-label,.hud-value{display:none}.cursor-on,.cursor-on *{cursor:none!important}.cursor{z-index:9999;pointer-events:none;opacity:0;transition:opacity .25s;position:fixed;top:0;left:0}.cursor.ready{opacity:1}.cursor.off{opacity:0}.cursor-core,.cursor-ring{border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.cursor-core{background:var(--phosphor);width:5px;height:5px;transition:width .2s,height .2s}.cursor-ring{width:30px;height:30px;transition:width .28s var(--ease-spring), height .28s var(--ease-spring), background-color .25s ease, border-color .25s ease, border-radius .25s ease;border:1px solid #5cf2c499}.cursor-ring:before,.cursor-ring:after{content:"";background:#5cf2c4bf;transition:opacity .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cursor-ring:before{width:1px;height:calc(100% + 8px)}.cursor-ring:after{width:calc(100% + 8px);height:1px}.cursor.on-link .cursor-ring:before,.cursor.on-link .cursor-ring:after,.cursor.on-text .cursor-ring:before,.cursor.on-text .cursor-ring:after{opacity:0}.cursor.on-link .cursor-ring{border-color:var(--violet);background:var(--violet-dim);width:52px;height:52px}.cursor.on-link .cursor-core{width:0;height:0}.cursor.on-text .cursor-ring{background:var(--phosphor);border:none;border-radius:1px;width:2px;height:26px}.cursor.on-text .cursor-core{width:0;height:0}.cursor-label{font-family:var(--font-arcade);color:var(--phosphor);white-space:nowrap;opacity:0;font-size:8px;transition:opacity .2s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.cursor.has-label .cursor-label{opacity:1}.cursor.has-label .cursor-ring{width:66px;height:66px}.cursor-trail{pointer-events:none;z-index:9998;opacity:0;background:#5cf2c4b3;border-radius:50%;width:4px;height:4px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.magnetic{transition:transform .35s var(--ease-out)}.magnetic.pulling{transition:transform .1s linear}.guide{left:var(--gl,var(--s-5));right:var(--gr,auto);bottom:var(--gb,var(--s-5));z-index:1400;align-items:flex-start;gap:var(--s-3);pointer-events:none;flex-direction:column;display:flex;position:fixed}.guide[hidden]{display:none}.guide{transition:opacity .3s,visibility .3s}.guide.tucked{opacity:0;visibility:hidden}.guide.at-right{align-items:flex-end}.guide-bot{cursor:pointer;pointer-events:auto;filter:drop-shadow(0 8px 20px #0009);background:0 0;border:none;padding:0;animation:3.6s ease-in-out infinite bot-bob;position:relative}@keyframes bot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.guide-bot svg{transform-origin:50% 80%;transition:transform .2s}.guide-bot:after{content:"";background:var(--amber);opacity:0;border-radius:50%;width:8px;height:8px;transition:opacity .3s;position:absolute;top:2px;right:0}.guide:not(.open) .guide-bot:after{opacity:1}.bot-lamp{animation:2.4s ease-in-out infinite lamp}@keyframes lamp{0%,to{opacity:1}50%{opacity:.45}}.bot-eyes{transform-origin:60px 53px;animation:6s infinite bot-blink}@keyframes bot-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.bot-core{transform-origin:60px 80px;animation:2.8s ease-in-out infinite lamp}.bot-shadow,.bot-scan,.bot-spark{animation:none}.bot-arm{transform-box:view-box;transition:transform .55s var(--ease-spring)}.bot-arm-right{transform-origin:94px 64px;transform:rotate(38deg)}.bot-arm-left{transform-origin:26px 64px;transform:rotate(-38deg)}.bot-arm .bot-finger{opacity:.5;transition:opacity .3s}.bot-arm.aiming .bot-finger{opacity:1}.guide-bubble{max-width:280px;padding:var(--s-4) var(--s-5);border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ink-700);box-shadow:var(--shadow-lift);pointer-events:auto;opacity:0;transform-origin:0 100%;transition:opacity .3s ease, transform .3s var(--ease-spring);position:relative;transform:translateY(6px)}.guide.open .guide-bubble{opacity:1;transform:none}.guide:not(.open) .guide-bubble{pointer-events:none}.guide.at-right .guide-bubble{transform-origin:100% 100%}.guide-bubble:after{content:"";background:var(--ink-700);border-left:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);width:10px;height:10px;position:absolute;bottom:-6px;left:24px;transform:rotate(-45deg)}.guide.at-right .guide-bubble:after{left:auto;right:24px}.guide-text{margin:0 0 var(--s-3);max-width:none;color:var(--text-mid);min-height:2.4em;font-size:.86rem;line-height:1.55}.guide-text b{color:var(--phosphor);font-weight:600}.guide-actions{gap:var(--s-2);display:flex}.guide-btn{padding:5px var(--s-3);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-mid);cursor:pointer;background:0 0;font-size:.72rem;font-weight:600;transition:color .2s,border-color .2s}.guide-btn:hover{color:var(--text-hi);border-color:var(--violet)}.guide-btn-quiet{color:var(--text-low)}.guide-recall{left:var(--s-5);bottom:var(--s-5);z-index:1400;border:1px solid var(--line);background:var(--ink-700);width:42px;height:42px;color:var(--amber);cursor:pointer;transition:transform .25s var(--ease-spring), border-color .25s ease;border-radius:50%;place-items:center;display:grid;position:fixed}.guide-recall[hidden]{display:none}.guide-recall:hover{border-color:var(--amber);transform:translateY(-3px)}.guide-pointing{outline:1px dashed var(--phosphor);outline-offset:8px;border-radius:var(--r-sm)}.guide-spotlight{z-index:4;position:relative}.portal,.portal-sparks{opacity:0;pointer-events:none;z-index:-1;border-radius:50%;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)scale(0)}.portal{background:conic-gradient(from 0deg, var(--violet), var(--phosphor), var(--violet));filter:blur(8px);width:100px;height:100px}.portal-sparks{border:2px solid var(--phosphor);width:88px;height:88px;box-shadow:0 0 20px #5cf2c4cc}.guide.porting .portal,.guide.arriving .portal{animation:.46s ease-out portal-open}.guide.porting .portal-sparks,.guide.arriving .portal-sparks{animation:.46s ease-out portal-rim}.guide.arriving .portal,.guide.arriving .portal-sparks{animation-direction:reverse}@keyframes portal-open{0%{opacity:0;transform:translate(-50%,-50%)scale(0)rotate(0)}55%{opacity:1;transform:translate(-50%,-50%)scale(1.05)rotate(220deg)}to{opacity:0;transform:translate(-50%,-50%)scale(.9)rotate(360deg)}}@keyframes portal-rim{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}50%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.25)}}.guide.porting .guide-bot svg{animation:.42s ease-in forwards bot-vanish}.guide.arriving .guide-bot svg{animation:bot-appear .52s var(--ease-spring)}@keyframes bot-vanish{to{opacity:0;transform:scale(.1)rotate(300deg)}}@keyframes bot-appear{0%{opacity:0;transform:scale(.1)rotate(-240deg)}}.guide.porting .guide-bubble,.guide.arriving .guide-bubble{opacity:0}.guide.porting .guide-bot{animation:none}.achievement{z-index:10001;gap:var(--s-3);padding:var(--s-6) var(--s-8);border:1px solid var(--phosphor);border-radius:var(--r-lg);background:var(--ink-800);box-shadow:0 0 60px #5cf2c440, var(--shadow-lift);opacity:0;justify-items:center;display:grid;position:fixed;top:26%;left:50%;transform:translate(-50%,-50%)scale(.85)}.achievement.show{animation:achievement-in .45s forwards var(--ease-spring)}.achievement.leaving{animation:.3s forwards achievement-out}@keyframes achievement-in{to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes achievement-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.92)}}.achievement-title{font-family:var(--font-arcade);color:var(--phosphor);font-size:11px}.achievement-body{color:var(--text-hi)}.achievement-hint{color:var(--text-low);font-size:var(--step--1)}.konami-burst{pointer-events:none;z-index:9997;border-radius:2px;width:7px;height:7px;position:fixed;top:0;left:0}.will-reveal{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transition-delay:calc(var(--i,0) * 60ms);transform:translateY(16px)}.will-reveal.revealed{opacity:1;transform:none}@media (width<=1024px){.hero-container{gap:var(--s-7)}.contact-content{gap:var(--s-7);grid-template-columns:1fr}.ledger{row-gap:var(--s-5);grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:none;padding-left:0}}@media (width<=860px){:root{--gutter:var(--s-4)}.nav-menu{padding:var(--s-4) var(--gutter) var(--s-6);background:var(--ink-800);border-bottom:1px solid var(--line);transition:transform .3s var(--ease-out);flex-direction:column;gap:0;position:fixed;inset:68px 0 auto;transform:translateY(-120%)}.nav-menu.active{transform:none}.nav-item{border-bottom:1px solid var(--line)}.nav-link{padding:var(--s-4) 0;font-size:var(--step-0);display:block}.nav-toggle{display:flex}main>section{padding:var(--s-9) 0}.hero{min-height:auto;padding:calc(68px + var(--s-8)) 0 var(--s-8)}.hero-container{gap:var(--s-7);grid-template-columns:1fr}.hero-image{order:-1;justify-content:flex-start}.profile-card{align-items:center;gap:var(--s-5);text-align:left;padding:var(--s-4);display:flex}.profile-avatar{flex:none;margin-bottom:0}.profile-photo{width:76px;height:76px}.projects-grid{grid-template-columns:1fr}.ledger{margin-top:var(--s-7);grid-template-columns:1fr 1fr}}@media (width<=560px){.ledger{grid-template-columns:1fr;row-gap:0}.stat{padding:var(--s-5) 0;border-top:1px solid var(--line)}.stat:first-child{border-top:none}.stat+.stat{border-left:none;padding-left:0}.stat h3{font-size:var(--step-3)}.ledger{border-top:none}.language-item{flex-direction:column;gap:2px}.language-level{text-align:left}}@media (width<=900px){.guide{left:var(--s-3);right:var(--s-3);bottom:var(--s-3);align-items:flex-start}.guide.at-right{align-items:flex-start}.guide-bubble{max-width:none}.cursor,.cursor-trail{display:none}.cursor-on,.cursor-on *{cursor:auto!important}.gamification-hud,.xp-toast{display:none}.guide-bot svg{width:58px;height:60px}}@media (hover:none),(pointer:coarse){.cursor,.cursor-trail{display:none}.cursor-on,.cursor-on *{cursor:auto!important}}@media (height<=560px){.guide{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.bg-stars,.aurora,.cursor,.cursor-trail,.portal,.portal-sparks,.konami-burst{display:none!important}.cursor-on,.cursor-on *{cursor:auto!important}.will-reveal{opacity:1;transform:none}.section-title:after,.section-title.in-view:after{width:min(220px,40%)}.achievement,.achievement.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.navbar.nav-hidden{transform:none}.magnetic{transform:none!important}}.guide-btn-do{border-color:var(--phosphor);color:var(--phosphor)}.guide-btn-do:hover{background:var(--phosphor-dim);border-color:var(--phosphor);color:var(--phosphor)}.guide-btn-do[hidden]{display:none}.guide-progress{color:var(--text-low);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.7rem}.guide-actions{align-items:center}.guide.talking .bot-pupil{y:50;height:6px}.bot-pupil{transition:transform .12s linear,height .25s,y .25s}:root[data-theme=light]{color-scheme:light;--ink-900:#f6f7fb;--ink-850:#eef1f8;--ink-800:#fff;--ink-700:#fff;--ink-600:#e3e7f2;--line:#d5dbea;--line-soft:#5b4ddb24;--phosphor:#0b8063;--phosphor-dim:#0b80631f;--violet:#5b4ddb;--violet-bright:#4a3cc9;--violet-dim:#5b4ddb1f;--amber:#a85f00;--text-hi:#0f1530;--text-mid:#3d4766;--text-low:#5a6585;--shadow-card:0 1px 2px #0f15300f, 0 10px 28px #0f153014;--shadow-lift:0 2px 4px #0f153014, 0 20px 48px #0f153024}:root[data-theme=dark]{color-scheme:dark}[data-theme=light] .navbar{background:#f6f7fbd9}[data-theme=light] .navbar.is-scrolled{background:#f6f7fbf2;box-shadow:0 6px 24px #0f15301a}[data-theme=light] .btn-primary,[data-theme=light] .filter-btn[aria-pressed=true],[data-theme=light] .quest-check{color:#fff}@media (width>=861px){[data-theme=light] .nav-link[href=\#contact],[data-theme=light] .nav-link[href=\#contact]:hover,[data-theme=light] .nav-link[href=\#contact].active{color:#fff}}[data-theme=light] .hud-chip{background:#ffffffeb}[data-theme=light] .guide-bot{filter:drop-shadow(0 8px 16px #0f153038)}[data-theme=light] .aurora i:first-child{background:radial-gradient(circle,#c9c2ff,#0000 70%)}[data-theme=light] .aurora i:nth-child(2){background:radial-gradient(circle,#b7ecdf,#0000 70%)}[data-theme=light] .bg-stars{display:none}[data-theme=light] .street{background:linear-gradient(180deg, var(--ink-900) 0%, #e9eef8 55%, #dfe6f3 100%)}[data-theme=light] .start-screen{--text-hi:#eaf0ff;--text-mid:#9fb0d0;--text-low:#7486ab;--line:#1f2a4d;--violet:#8b7bff;--violet-bright:#a99bff;--phosphor:#5cf2c4}.nav-tools{align-items:center;gap:var(--s-2);flex-shrink:0;display:flex}.nav-tool{border:1px solid var(--line);border-radius:var(--r-pill);width:34px;height:34px;color:var(--text-mid);font-family:var(--font-body);cursor:pointer;background:0 0;place-items:center;padding:0;font-size:.85rem;font-weight:600;transition:color .2s,border-color .2s;display:grid}.nav-tool:hover{color:var(--text-hi);border-color:var(--violet)}.nav-tool:focus-visible{outline:2px solid var(--violet-bright);outline-offset:2px}.lang-toggle{font-family:"Readex Pro", var(--font-body);font-size:.95rem}[lang=ar]{--font-display:"Readex Pro", "Space Grotesk", system-ui, sans-serif;--font-body:"Cairo", "IBM Plex Sans", system-ui, sans-serif;--font-arcade:"Press Start 2P", "Readex Pro", monospace}[lang=ar] body{line-height:1.8}[lang=ar] .start-prompt{letter-spacing:0;font-size:16px}[lang=ar] .quest-log-title,[lang=ar] .lineup-title,[lang=ar] .quest-toast-label,[lang=ar] .achievement-title{letter-spacing:0;font-size:13px}[lang=ar] .chapter-lv,[lang=ar] .voice-name,[lang=ar] .chapter-meta,[lang=ar] .chapter.is-current .chapter-year,[lang=ar] .hud-chip{letter-spacing:0;font-size:11px}[lang=ar] .pull-hint text{letter-spacing:0;font-size:12px}[dir=rtl] .stat+.stat{padding-left:0;padding-right:var(--s-5);border-left:0;border-right:1px solid var(--line)}[dir=rtl] .timeline{padding-left:0;padding-right:var(--s-8)}[dir=rtl] .timeline:before,[dir=rtl] .timeline:after{left:auto;right:9px}[dir=rtl] .timeline-marker{left:auto;right:calc(var(--s-8) * -1)}[dir=rtl] .timeline-description li,[dir=rtl] .education-description li{padding-left:0;padding-right:var(--s-5)}[dir=rtl] .timeline-description li:before,[dir=rtl] .education-description li:before{left:auto;right:0}[dir=rtl] .language-level{text-align:left}[dir=rtl] .profile-card{text-align:right}[dir=rtl] .copy-btn{margin-left:0;margin-right:var(--s-2)}[dir=rtl] .guide-progress{margin-left:0;margin-right:auto}[dir=rtl] .chapter.card-left .chapter-card{left:auto;right:0}[dir=rtl] .chapter.card-right .chapter-card,[dir=rtl] .voice-card{left:0;right:auto}[dir=rtl] a[href^=mailto\:],[dir=rtl] a[href^=tel\:],[dir=rtl] .tech-tag,[dir=rtl] .project-tech span{unicode-bidi:plaintext}@media (width<=1024px){[dir=rtl] .stat:nth-child(3){border-right:none;padding-right:0}}@media (width<=560px){[dir=rtl] .stat+.stat{border-right:none;padding-right:0}}[dir=rtl] .stat h3{text-align:right;direction:ltr}canvas{direction:ltr}@property --moon-r{syntax:"<length>";inherits:false;initial-value:0}@property --moon-s{syntax:"<length>";inherits:false;initial-value:0}@property --moon-d{syntax:"<length>";inherits:false;initial-value:0}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}.theme-moon:not(.theme-collapse)::view-transition-new(root),.theme-moon.theme-collapse::view-transition-old(root){-webkit-mask-image:radial-gradient(circle at var(--moon-x) var(--moon-y), #000 var(--moon-r), transparent calc(var(--moon-r) + .5px)), radial-gradient(circle at calc(var(--moon-x) + var(--moon-d)) calc(var(--moon-y) - var(--moon-d)), #000 var(--moon-s), transparent calc(var(--moon-s) + .5px));mask-image:radial-gradient(circle at var(--moon-x) var(--moon-y), #000 var(--moon-r), transparent calc(var(--moon-r) + .5px)), radial-gradient(circle at calc(var(--moon-x) + var(--moon-d)) calc(var(--moon-y) - var(--moon-d)), #000 var(--moon-s), transparent calc(var(--moon-s) + .5px));mask-size:100% 100%;mask-repeat:no-repeat;mask-composite:subtract}.theme-collapse::view-transition-old(root){z-index:2}.theme-collapse::view-transition-new(root){z-index:1}.theme-fading,.theme-fading *,.theme-fading :before,.theme-fading :after{transition:background-color .45s,color .45s,border-color .45s,fill .45s!important}[dir=rtl] .guide{direction:ltr}[dir=rtl] .guide-bubble{direction:rtl}html[data-curtain]:after{content:attr(data-curtain);z-index:10050;background:radial-gradient(60% 50% at 50% 50%, var(--violet-dim), transparent 70%), var(--ink-900);box-shadow:0 0 0 2px var(--phosphor), 0 0 80px 16px var(--phosphor-dim);color:var(--text-hi);font-family:"Readex Pro", var(--font-display);letter-spacing:0;pointer-events:auto;place-items:center;font-size:clamp(2.2rem,7vw,4.5rem);font-weight:600;transition:transform .6s cubic-bezier(.76,0,.24,1);display:grid;position:fixed;inset:0}html[data-curtain-pos=right]:after{pointer-events:none;transform:translate(calc(100% + 100px))}html[data-curtain-pos=left]:after{pointer-events:none;transform:translate(calc(-100% - 100px))}html[data-curtain-pos=center]:after{transform:none}@media (pointer:coarse){.nav-tool{width:42px;height:42px}.nav-toggle{justify-content:center;align-items:center;min-width:44px;min-height:44px}.copy-btn{min-width:44px;min-height:40px;padding:6px 10px;font-size:.75rem}.guide-btn{min-height:40px;padding:8px var(--s-3)}.project-links a,.contact-item a,.footer-links a{align-items:center;min-height:44px;margin-block:-12px;display:inline-flex}.project-links a{min-width:44px}.footer-links a{justify-content:center;min-width:44px}}@media (pointer:coarse) and (width<=420px){.nav-container{gap:var(--s-3)}.nav-logo a{white-space:nowrap}.nav-tools{gap:6px}.nav-tool{width:40px;height:40px}}@media (width<=360px){.nav-container{gap:var(--s-2)}.nav-logo a{white-space:nowrap;font-size:16px}.nav-tools{gap:4px}.nav-tool{width:38px;height:38px}.nav-toggle{min-width:40px;padding-inline:6px}}@media (width<=640px){[lang=ar] .chapter-npc .voice-name{font-size:6px}[lang=ar] .chapter-lv{text-align:center;white-space:nowrap;min-width:22px}[lang=ar] .chapter-lv-word{display:none}}.worked-at{z-index:2;align-items:center;gap:var(--s-3) var(--s-6);width:100%;max-width:var(--container);margin:var(--s-7) auto 0;padding:0 var(--gutter);flex-wrap:wrap;display:flex;position:relative}.worked-at-label{max-width:none;color:var(--text-low);font-family:var(--font-arcade);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:8px}.worked-at-list{align-items:center;gap:var(--s-2) var(--s-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.worked-at-list li{align-items:center;gap:var(--s-4);color:var(--text-mid);font-family:var(--font-display);font-size:var(--step-0);letter-spacing:-.01em;font-weight:700;transition:color .2s;display:inline-flex}.worked-at-list li:hover{color:var(--text-hi)}.worked-at-list li+li:before{content:"";background:var(--phosphor);width:4px;height:4px;box-shadow:0 0 6px var(--phosphor)}.playbook{margin-top:var(--s-8)}.playbook-title,.project-group-title{max-width:none;margin:0 0 var(--s-5);color:var(--text-low);font-family:var(--font-arcade);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.playbook-steps{gap:var(--s-5);grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none;display:grid;position:relative}.playbook-steps:before{content:"";top:17px;left:18px;right:calc((100% - 4 * var(--s-5)) / 5 - 18px);background:linear-gradient(90deg, var(--violet), var(--phosphor));opacity:.45;height:2px;position:absolute}.playbook-step{position:relative}.playbook-num{width:36px;height:36px;margin-bottom:var(--s-4);background:var(--ink-900);font-family:var(--font-arcade);transition:transform .25s var(--ease-spring), box-shadow .25s ease;border:1px solid;border-radius:6px;place-items:center;font-size:9px;display:grid;position:relative}.playbook-step:first-child .playbook-num{color:var(--violet-bright)}.playbook-step:nth-child(2) .playbook-num{color:color-mix(in srgb, var(--violet-bright) 75%, var(--phosphor))}.playbook-step:nth-child(3) .playbook-num{color:color-mix(in srgb, var(--violet-bright) 50%, var(--phosphor))}.playbook-step:nth-child(4) .playbook-num{color:color-mix(in srgb, var(--violet-bright) 25%, var(--phosphor))}.playbook-step:nth-child(5) .playbook-num{color:var(--phosphor)}.playbook-step:hover .playbook-num{box-shadow:0 0 14px color-mix(in srgb, currentColor 45%, transparent);transform:translateY(-3px)}.playbook-step h3{margin-bottom:var(--s-2);font-size:var(--step-1)}.playbook-step p{max-width:none;color:var(--text-mid);font-size:.9rem;line-height:1.5}@media (width<=860px){.playbook-steps{gap:var(--s-5);grid-template-columns:1fr}.playbook-steps:before{display:none}.playbook-step:not(:last-child):before{content:"";top:36px;bottom:calc(var(--s-5) * -1);opacity:.45;background:currentColor;width:2px;position:absolute;left:17px}.playbook-step:first-child{color:var(--violet-bright)}.playbook-step:nth-child(2){color:color-mix(in srgb, var(--violet-bright) 75%, var(--phosphor))}.playbook-step:nth-child(3){color:color-mix(in srgb, var(--violet-bright) 50%, var(--phosphor))}.playbook-step:nth-child(4){color:color-mix(in srgb, var(--violet-bright) 25%, var(--phosphor))}.playbook-step{padding-left:56px}.playbook-num{margin:0;position:absolute;top:0;left:0}}[dir=rtl] .playbook-steps:before{left:calc((100% - 4 * var(--s-5)) / 5 - 18px);background:linear-gradient(270deg, var(--violet), var(--phosphor));right:18px}@media (width<=860px){[dir=rtl] .playbook-step:not(:last-child):before{left:auto;right:17px}[dir=rtl] .playbook-step{padding-left:0;padding-right:56px}[dir=rtl] .playbook-num{left:auto;right:0}}.project-group+.project-group{margin-top:var(--s-8)}.project-group[hidden]{display:none}.project-group-title{align-items:center;gap:var(--s-3);display:flex}.project-group-title:after{content:"";background:var(--line);flex:1;height:1px}.project-group-featured .project-group-title{color:var(--phosphor)}.project-group-featured .project-group-title:before{content:"";background:var(--phosphor);width:6px;height:6px;box-shadow:0 0 8px var(--phosphor)}@media (width>=1000px){.projects-featured{grid-template-columns:repeat(3,1fr)}}.project-card.is-featured{border-color:color-mix(in srgb, var(--violet) 40%, var(--line))}.project-card.is-featured:after{content:"";top:-1px;left:var(--s-6);right:var(--s-6);background:linear-gradient(90deg, var(--violet), var(--phosphor));height:2px;box-shadow:0 0 12px var(--phosphor-dim);border-radius:2px;position:absolute}.case{align-content:start;gap:var(--s-3);margin:0;display:grid}.case-row{gap:var(--s-3);grid-template-columns:64px 1fr;align-items:baseline;display:grid}.case dt{color:var(--text-low);font-family:var(--font-arcade);letter-spacing:.08em;text-transform:uppercase;font-size:7px}.case dd{color:var(--text-mid);margin:0;font-size:.92rem;line-height:1.5}.case-result dt{color:var(--phosphor)}.case-result dd{color:var(--text-hi);font-weight:600}.projects-more{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.projects-more .project-card{padding:var(--s-5)}.projects-more .project-top{margin-bottom:var(--s-4)}.projects-more .project-icon{width:34px;height:34px}.projects-more .project-card h3{font-size:var(--step-1)}.projects-more .project-card p{font-size:.88rem}.projects-more .project-stack{margin:var(--s-4) 0}[lang=ar] .worked-at-label,[lang=ar] .playbook-title,[lang=ar] .project-group-title,[lang=ar] .case dt{letter-spacing:0;font-size:12px}[lang=ar] .playbook-num{font-size:11px}@media (width<=480px){.case-row{gap:var(--s-1);grid-template-columns:1fr}}.project-card{--pad:var(--s-6)}.projects-more .project-card{--pad:var(--s-5)}.project-preview{margin:calc(var(--pad) * -1) calc(var(--pad) * -1) var(--s-5);border-bottom:1px solid var(--line);border-radius:calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px) 0 0;background:var(--ink-900);display:block;overflow:hidden}.project-card.is-featured:after{z-index:2}.preview-bar{height:28px;padding:0 var(--s-4);border-bottom:1px solid var(--line);background:var(--ink-600);align-items:center;gap:5px;display:flex}.preview-bar i{opacity:.75;flex:none;width:7px;height:7px}.preview-bar i:first-child{background:#ff6b6b}.preview-bar i:nth-child(2){background:var(--amber)}.preview-bar i:nth-child(3){background:var(--phosphor)}.preview-url{min-width:0;color:var(--text-low);font-family:var(--font-arcade);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;direction:ltr;margin-inline-start:var(--s-3);font-size:7px;overflow:hidden}.preview-screen{aspect-ratio:16/10;display:block;position:relative;overflow:hidden}.preview-screen img{object-fit:cover;object-position:50% 0;width:100%;height:100%;transition:object-position .6s var(--ease-out);display:block}html:not(.tv-ready) .project-card:hover .preview-screen img{object-position:50% 100%;transition:object-position var(--dur,3s) linear .25s}.preview-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#00000012 0 1px,#0000 1px 3px);position:absolute;inset:0}.preview-panel{place-content:center;justify-items:center;gap:var(--s-3);background-image:radial-gradient(circle at 50% 45%, var(--violet-dim), transparent 60%), linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);background-size:auto,16px 16px,16px 16px;display:grid;position:absolute;inset:0}.preview-panel>i{color:var(--violet-bright);filter:drop-shadow(0 0 10px var(--violet));font-size:28px}.is-research .preview-panel{background-image:radial-gradient(circle at 50% 45%, var(--phosphor-dim), transparent 60%), linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px)}.is-research .preview-panel>i{color:var(--phosphor);filter:drop-shadow(0 0 10px var(--phosphor))}.preview-label{color:var(--text-low);font-family:var(--font-arcade);letter-spacing:.12em;text-transform:uppercase;font-size:8px}.is-locked .preview-panel>i{animation:2.6s ease-in-out infinite lock-glow}.preview-label i{color:var(--violet-bright);filter:none;margin-inline-end:4px;font-size:8px}@keyframes lock-glow{50%{filter:drop-shadow(0 0 18px var(--violet))}}@media (prefers-reduced-motion:reduce){.preview-screen img,html:not(.tv-ready) .project-card:hover .preview-screen img,.project-card.tv-on .preview-screen img{object-position:50% 0;transition:none}.is-locked .preview-panel>i{animation:none}}[lang=ar] .preview-label{letter-spacing:0;font-size:12px}.about-text .about-lead{color:var(--text-hi);font-size:var(--step-2);line-height:1.45}.player-card{margin-top:var(--s-7);padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-700);position:relative}.player-card:before,.player-card:after{content:"";width:14px;height:14px;position:absolute}.player-card:before{border-block-start:2px solid var(--phosphor);border-inline-start:2px solid var(--phosphor);inset-block-start:-1px;inset-inline-start:-1px}.player-card:after{border-block-end:2px solid var(--violet);border-inline-end:2px solid var(--violet);inset-block-end:-1px;inset-inline-end:-1px}@media (width>=1000px){.about-content{gap:var(--s-8);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.player-card{margin-top:0;position:sticky;top:96px}}.player-card-head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);padding-bottom:var(--s-3);border-bottom:1px dashed var(--line);display:flex}.player-card-title{max-width:none;color:var(--phosphor);font-family:var(--font-arcade);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:9px}.player-lv{border:1px solid var(--phosphor);border-radius:var(--r-pill);color:var(--phosphor);font-family:var(--font-arcade);box-shadow:0 0 10px var(--phosphor-dim);padding:3px 8px;font-size:8px}.player-stats{gap:var(--s-3);margin:0;display:grid}.player-stats div{gap:3px;display:grid}.player-stats dt{color:var(--text-low);font-family:var(--font-arcade);letter-spacing:.08em;text-transform:uppercase;font-size:7px}.player-stats dd{color:var(--text-hi);margin:0;font-size:.92rem;line-height:1.4}.player-card-cta{justify-content:center;align-items:center;gap:var(--s-2);margin-top:var(--s-5);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-hi);font-size:var(--step--1);font-weight:600;transition:border-color .2s,background-color .2s;display:flex}.player-card-cta:hover{border-color:var(--violet);background:var(--violet-dim)}.project-card.folded{display:none}.more-toggle{justify-content:center;align-items:center;gap:var(--s-3);width:100%;margin-top:var(--s-5);padding:var(--s-4);border:1px dashed var(--line);border-radius:var(--r-md);color:var(--text-mid);font-family:var(--font-arcade);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;font-size:9px;transition:color .2s,border-color .2s,background-color .2s;display:flex}.more-toggle[hidden]{display:none}.more-toggle:hover{border-color:var(--phosphor);background:var(--phosphor-dim);color:var(--phosphor)}.more-toggle:after{content:"";width:6px;height:6px;transition:transform .25s var(--ease-out);border-bottom:2px solid;border-right:2px solid;transform:translateY(-2px)rotate(45deg)}.more-toggle[aria-expanded=true]:after{transform:translateY(2px)rotate(-135deg)}.credentials-grid{gap:0 var(--s-8);display:grid}.credentials-grid .language-items{max-width:none}@media (width>=861px){.credentials-grid{grid-template-columns:1fr 1fr}}@media (width>=900px){.education-item{gap:var(--s-7);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start;display:grid}.education-header .period{margin-bottom:0}}[lang=ar] .player-card-title,[lang=ar] .player-stats dt,[lang=ar] .more-toggle{letter-spacing:0;font-size:12px}[lang=ar] .player-lv{font-size:11px}.tv-ready .preview-screen{background:#05060a}.tv-ready .preview-screen>img,.tv-ready .preview-screen>.preview-panel{opacity:0;transform-origin:50%}.tv-ready .tv-on .preview-screen>img,.tv-ready .tv-on .preview-screen>.preview-panel{opacity:1;animation:.6s cubic-bezier(.2,.7,.2,1) both crt-on}.tv-ready .tv-off .preview-screen>img,.tv-ready .tv-off .preview-screen>.preview-panel{animation:.32s ease-in both crt-off}@keyframes crt-on{0%{opacity:1;filter:brightness(5)saturate(0);transform:scale(.5,.006)}35%{filter:brightness(5)saturate(0);transform:scaleY(.006)}70%{filter:brightness(1.6)saturate(.6);transform:scaleY(1.04)}to{opacity:1;filter:none;transform:scale(1)}}@keyframes crt-off{0%{opacity:1;filter:none;transform:scale(1)}55%{opacity:1;filter:brightness(5)saturate(0);transform:scaleY(.006)}to{opacity:0;filter:brightness(8)saturate(0);transform:scale(0,.006)}}.project-card.tv-on .preview-screen img{object-position:50% 100%;transition:object-position var(--dur,3s) linear .9s}.tv-static{z-index:1;place-content:center;justify-items:center;gap:var(--s-2);pointer-events:none;transition:opacity .18s;display:grid;position:absolute;inset:0;overflow:hidden}.tv-static:before{content:"";z-index:-1;opacity:.55;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.62  0 0 0 0 0.64  0 0 0 0 0.78  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:.5s steps(5,end) infinite tv-noise;position:absolute;inset:-50%}.tv-static:after{content:"";z-index:-1;background:linear-gradient(#0000,#ffffff12,#0000);height:30%;animation:3.2s linear infinite tv-roll;position:absolute;left:0;right:0}@keyframes tv-noise{0%{transform:translate(0)}20%{transform:translate(-12%,8%)}40%{transform:translate(9%,-14%)}60%{transform:translate(-6%,17%)}80%{transform:translate(14%,5%)}to{transform:translate(-3%,-9%)}}@keyframes tv-roll{0%{top:-30%}to{top:100%}}.tv-label{color:#e9ecf8;font-family:var(--font-arcade);letter-spacing:.14em;text-shadow:0 0 6px #ffffff80;background:#05060ab8;padding:4px 8px;font-size:9px;animation:1.6s step-end infinite tv-blink}.tv-ch{top:10px;color:var(--phosphor);font-family:var(--font-arcade);text-shadow:0 0 6px var(--phosphor);direction:ltr;font-size:9px;position:absolute;inset-inline-end:12px}@keyframes tv-blink{50%{opacity:.35}}.tv-on .tv-static{opacity:0}[data-theme=light] .tv-ready .preview-screen{background:#0b0d16}[lang=ar] .tv-label{letter-spacing:0;font-size:12px}@media (prefers-reduced-motion:reduce){.tv-ready .tv-on .preview-screen>img,.tv-ready .tv-on .preview-screen>.preview-panel,.tv-ready .tv-off .preview-screen>img,.tv-ready .tv-off .preview-screen>.preview-panel,.tv-static:before,.tv-static:after,.tv-label{animation:none}}.tv-ready .project-preview{cursor:pointer}.tv-watch{z-index:3;border:1px solid var(--phosphor);color:var(--phosphor);font-family:var(--font-arcade);letter-spacing:.1em;opacity:0;pointer-events:none;background:#05060acc;border-radius:4px;align-items:center;gap:6px;padding:5px 9px;font-size:8px;transition:opacity .25s .6s,transform .25s .6s;display:inline-flex;position:absolute;inset-block-end:10px;inset-inline-start:10px;transform:translateY(4px)}.tv-watch:before{content:"";border-block:4px solid #0000;border-inline-start:6px solid}.tv-on .tv-watch{opacity:1;transform:none}[lang=ar] .tv-watch{letter-spacing:0;font-size:11px}.tv-room{z-index:1500;justify-content:center;align-items:center;gap:var(--s-5);color:#e8eaf6;outline:none;flex-direction:column;padding:96px 16px 24px;display:flex;position:fixed;inset:0}.tv-room[hidden]{display:none}html.tv-room-open{overflow:hidden}.tv-room-dark{opacity:0;background:radial-gradient(60% 50% at 50% 55%,#5cf2c41f,#0000 70%),#020308;position:absolute;inset:0}.tv-room-dark:after{content:"";opacity:0;background:radial-gradient(circle at 85% 8%,#ffe296e6,#ffe29640 30%,#0000 65%);position:absolute;inset:0}[dir=rtl] .tv-room-dark:after{background:radial-gradient(circle at 15% 8%,#ffe296e6,#ffe29640 30%,#0000 65%)}.lights-off .tv-room-dark{animation:.7s linear forwards lights-out}.lights-off.tv-tuned .tv-room-dark{animation:.7s linear forwards lights-out,3s ease-in-out .7s infinite tv-glow}.lights-on .tv-room-dark,.lights-on.tv-tuned .tv-room-dark{animation:.7s forwards lights-up}.lights-on .tv-room-dark:after{animation:.7s forwards lamp-flood}@keyframes lights-out{0%{opacity:0}12%{opacity:.85}20%{opacity:.3}32%{opacity:.95}40%{opacity:.6}to{opacity:1}}@keyframes lights-up{0%{opacity:1}to{opacity:0}}@keyframes lamp-flood{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes tv-glow{0%,to{opacity:1}50%{opacity:.98}}.tv-lamp{top:0;z-index:2;opacity:0;width:210px;transition:opacity .4s .35s;position:absolute;inset-inline-end:clamp(8px,3vw,48px)}.lights-off .tv-lamp{opacity:1}.lights-on .tv-lamp{opacity:0;transition-delay:.6s}.tv-lamp-svg{width:100%;height:auto;display:block;overflow:visible}.tv-lamp-svg .lit{opacity:var(--lit,0)}.tv-lamp-svg .unlit{opacity:calc(1 - var(--lit,0))}.tv-lamp .pull-hint text{fill:#c4cbe8}.tv-lamp-pull{cursor:grab;touch-action:none;background:0 0;border:0;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;padding:0;position:absolute;top:0;left:0}.tv-lamp-svg.grabbing+.tv-lamp-pull{cursor:grabbing}.tv-lamp-pull:focus-visible{outline-offset:2px;outline:2px solid #5cf2c4}.tv-set{z-index:1;opacity:0;width:min(880px,100vw - 480px,160vh - 416px);transition:opacity .5s .3s,transform .5s cubic-bezier(.2,.8,.2,1) .3s;position:relative;transform:translateY(18px)scale(.97)}.lights-off .tv-set{opacity:1;transform:none}.lights-on .tv-set{opacity:0;transition-delay:.3s;transform:translateY(10px)scale(.98)}.tv-body{background:linear-gradient(#2a2f47 0%,#1a1e2e 60%,#141724 100%);border:1px solid #8b7bff47;border-radius:30px;grid-template-columns:minmax(0,1fr) 112px;gap:18px;padding:20px;display:grid;box-shadow:inset 0 2px #ffffff14,inset 0 -6px #00000059,0 40px 90px #000000b3,0 0 80px #5cf2c40f}.tv-tube{background:#090b12;border-radius:24px;padding:12px;box-shadow:inset 0 0 0 2px #04050a,inset 0 10px 30px #000000e6}.tv-screen{aspect-ratio:4/3;background:#05060a;border-radius:20px/28px;position:relative;overflow:hidden}.tv-screen>img,.tv-screen>.preview-panel{object-fit:cover;object-position:50% 0;opacity:0;width:100%;height:100%;position:absolute;inset:0}.tv-tuned .tv-screen>img,.tv-tuned .tv-screen>.preview-panel{opacity:1;animation:.6s cubic-bezier(.2,.7,.2,1) both crt-on}.tv-tuned .tv-screen:not(.still)>img{animation:crt-on .6s cubic-bezier(.2, .7, .2, 1) both, tv-scroll var(--dur,8s) ease-in-out 1s infinite alternate}@keyframes tv-scroll{0%{object-position:50% 0}to{object-position:50% 100%}}.tv-screen .tv-static{transition:opacity .2s}.tv-tuned .tv-screen .tv-static{opacity:0}.tv-screen .tv-label{font-size:12px}.tv-screen .tv-ch{top:16px;font-size:12px;inset-inline-end:18px}.tv-screen .preview-panel>i{font-size:56px}.tv-screen .preview-label{font-size:11px}.tv-screen:after{content:"";z-index:3;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff17,#0000 38%),radial-gradient(#0000 58%,#0000008c 100%),repeating-linear-gradient(0deg,#0000001f 0 1px,#0000 1px 3px);position:absolute;inset:0;box-shadow:inset 0 0 50px #0009}.tv-side{flex-direction:column;align-items:center;gap:18px;padding-top:6px;display:flex}.tv-ch-display{color:#5cf2c4;min-width:84px;font-family:var(--font-arcade);letter-spacing:.08em;text-align:center;text-shadow:0 0 8px #5cf2c4;direction:ltr;background:#05060a;border-radius:6px;padding:8px 10px;font-size:12px;box-shadow:inset 0 0 0 1px #000,inset 0 2px 8px #000c}.tv-knobs{flex-direction:column;gap:14px;display:flex}.tv-knob{cursor:pointer;background:radial-gradient(circle at 35% 30%,#4d5576,#1c2031 70%);border:2px solid #0b0d16;border-radius:50%;width:58px;height:58px;padding:0;position:relative;box-shadow:0 4px #0b0d16,0 8px 16px #00000080}.tv-knob:focus-visible{outline-offset:3px;outline:2px solid #5cf2c4}.tv-knob:after{content:"";border-block:7px solid #0000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tv-knob[data-step="-1"]:after{border-right:10px solid #c4cbe8}.tv-knob[data-step="1"]:after{border-left:10px solid #c4cbe8}.tv-knob.turned{animation:.3s knob-turn}.tv-knob[data-step="1"].turned{animation-name:knob-turn-fwd}@keyframes knob-turn{50%{transform:rotate(-28deg)}}@keyframes knob-turn-fwd{50%{transform:rotate(28deg)}}.tv-grille{opacity:.85;background:repeating-linear-gradient(0deg,#0b0d16 0 3px,#0000 3px 7px);border-radius:8px;flex:1;width:72px;min-height:60px}.tv-feet{justify-content:space-between;padding:0 16%;display:flex}.tv-feet i{background:#10131d;border-radius:0 0 8px 8px;width:64px;height:14px}.tv-caption{z-index:1;justify-items:center;gap:var(--s-2);text-align:center;opacity:0;transition:opacity .4s;display:grid;position:relative}.tv-tuned .tv-caption{opacity:1}.tv-title{color:#f2f3fb;max-width:none;font-family:var(--font-display);font-size:var(--step-2);margin:0;font-weight:700}.tv-links{justify-content:center;gap:var(--s-5);flex-wrap:wrap;display:flex}.tv-links a{align-items:center;gap:var(--s-2);color:#5cf2c4;font-weight:600;display:inline-flex}.tv-links a:hover{text-underline-offset:4px;text-decoration:underline}.tv-links .project-soon{color:#9aa3c7}@media (width<=700px){.tv-room{justify-content:flex-start;padding-top:235px;overflow-y:auto}.tv-lamp{width:120px}.tv-set{width:100%}.tv-body{border-radius:22px;grid-template-columns:1fr;gap:12px;padding:12px}.tv-tube{border-radius:18px;padding:8px}.tv-side{flex-direction:row;justify-content:space-between;padding:0 4px}.tv-knobs{flex-direction:row}.tv-knob{width:46px;height:46px}.tv-grille{display:none}}[lang=ar] .tv-screen .tv-label{font-size:14px}@media (prefers-reduced-motion:reduce){.lights-off .tv-room-dark,.lights-off.tv-tuned .tv-room-dark{opacity:1;animation:none}.lights-on .tv-room-dark,.lights-on .tv-room-dark:after,.tv-tuned .tv-screen>img,.tv-tuned .tv-screen>.preview-panel,.tv-tuned .tv-screen:not(.still)>img,.tv-knob.turned{animation:none}.tv-set,.lights-off .tv-set{transition:none;transform:none}}