#hero{flex-direction:column;justify-content:center;min-height:100vh;display:flex;position:relative;overflow:hidden}#hero-canvas{z-index:0;position:absolute;inset:0}.hero-grid{z-index:1;pointer-events:none;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);opacity:.65;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 42%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 42%,#000 20%,#0000 75%)}.hero-vig{z-index:1;pointer-events:none;background:radial-gradient(ellipse 62% 55% at 50% 40%,transparent 0%,var(--bg) 92%);position:absolute;inset:0}.hero-content{z-index:2;max-width:var(--maxw);width:100%;margin:0 auto;padding:0 28px;position:relative}.hero-content h1{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(52px,12vw,140px);font-weight:700;line-height:.94}.hero-sub{color:var(--text-dim);max-width:540px;margin-top:26px;font-size:clamp(16px,2vw,20px);line-height:1.65}.hero-cta{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.scroll-cue{z-index:2;font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-faint);flex-direction:column;align-items:center;gap:7px;font-size:11px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.scroll-cue .arrow{animation:1.9s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.about-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;display:grid}@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:42px}}.about-text h2{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:22px;font-size:clamp(32px,5vw,52px);font-weight:700;line-height:1.1}.about-text p{color:var(--text-dim);max-width:var(--readw);margin-bottom:18px}.about-text strong{color:var(--text);font-weight:600}.stat-row{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px;display:grid}@media (max-width:560px){.stat-row{grid-template-columns:repeat(2,1fr)}}.stat{border-top:1px solid var(--line);padding-top:13px}.stat .num{font-family:var(--font-display);color:var(--accent);font-size:28px;font-weight:700}.stat .label{font-family:var(--font-mono);color:var(--text-dim);margin-top:5px;font-size:11px;line-height:1.45}.about-3d{height:400px;position:relative}#about-canvas{width:100%;height:100%}.about-3d .tag{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-faint);border:1px solid var(--line);border-radius:2px;padding:5px 10px;font-size:10px;position:absolute;top:12px;right:12px}.skill-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}@media (max-width:760px){.skill-grid{grid-template-columns:1fr}}.skill-card{background:var(--bg-panel);padding:32px;transition:background .3s}.skill-card:hover{background:var(--bg-panel-2)}.skill-top{justify-content:space-between;margin-bottom:15px;display:flex}.skill-id{font-family:var(--font-mono);color:var(--text-faint);font-size:11px}.skill-level{font-family:var(--font-mono);color:var(--accent-2);font-size:11px}.skill-card h3{font-family:var(--font-display);margin-bottom:9px;font-size:22px;font-weight:600;line-height:1.25}.skill-card p{color:var(--text-dim);min-height:72px;margin-bottom:20px;font-size:15.5px;line-height:1.65}.meter{background:var(--line);border-radius:2px;height:4px;overflow:hidden}.meter-fill{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:2px;width:0%;height:100%;transition:width 1.4s cubic-bezier(.16,1,.3,1)}.stack-row{flex-wrap:wrap;gap:9px;margin-top:44px;display:flex}.work-list{flex-direction:column;display:flex}.work-item{border-top:1px solid var(--line);grid-template-columns:150px 1fr 190px 34px;align-items:center;gap:22px;padding:28px 0;transition:padding-left .3s,background .3s;display:grid}.work-item:last-child{border-bottom:1px solid var(--line)}.work-item:hover{background:rgba(var(--fg-rgb),.03);padding-left:14px}@media (max-width:820px){.work-item{grid-template-columns:1fr;gap:12px;padding:24px 0}}.work-status{font-family:var(--font-mono);color:var(--text-faint);align-items:center;gap:7px;font-size:11px;display:flex}.work-status .led{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.work-main h3{font-family:var(--font-display);margin-bottom:7px;font-size:22px;font-weight:600}.work-main p{color:var(--text-dim);max-width:520px;font-size:15.5px;line-height:1.65}.work-tags{flex-wrap:wrap;gap:7px;display:flex}.work-tags span{font-family:var(--font-mono);color:var(--accent-2);border:1px solid var(--accent2-soft);background:var(--accent2-soft);border-radius:20px;padding:4px 9px;font-size:11px}.work-arrow{color:var(--text-faint);justify-self:end;font-size:19px;transition:transform .25s,color .25s}.work-item:hover .work-arrow{color:var(--accent);transform:translate(6px)}.notes-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}@media (max-width:900px){.notes-grid{grid-template-columns:1fr}}.note-card{background:var(--bg-panel);flex-direction:column;padding:28px;transition:background .3s;display:flex}.note-card:hover{background:var(--bg-panel-2)}.note-top{font-family:var(--font-mono);color:var(--text-faint);justify-content:space-between;margin-bottom:18px;font-size:11px;display:flex}.note-top .open{color:var(--accent)}.note-card h3{font-family:var(--font-display);margin-bottom:12px;font-size:19px;font-weight:600;line-height:1.35}.note-card .snippet{color:var(--text-dim);flex-grow:1;font-size:15px;line-height:1.65}.note-read{font-family:var(--font-mono);color:var(--accent-2);margin-top:18px;font-size:12px}.home-updates{background:var(--line);border:1px solid var(--line);flex-direction:column;gap:1px;display:flex}.hu{background:var(--bg-panel);grid-template-columns:120px 110px 1fr;align-items:center;gap:18px;padding:22px 24px;transition:background .25s;display:grid}.hu:hover{background:var(--bg-panel-2)}@media (max-width:760px){.hu{grid-template-columns:1fr;gap:8px}}.hu .d{font-family:var(--font-mono);color:var(--text-faint);font-size:11px}.hu .p{font-family:var(--font-mono);color:var(--accent-2);font-size:11px}.hu .t{color:var(--text-dim);font-size:15.5px}.hu .t b{color:var(--text);font-weight:600}.split-line{display:block;overflow:hidden}.split-line>span{will-change:transform;display:inline-block}.fx-word{will-change:transform,opacity;display:inline-block}.parallax,.magnetic{will-change:transform}.ambient-canvas{z-index:0;pointer-events:none;opacity:.55;position:absolute;inset:0}.has-ambient{position:relative}.has-ambient>.wrap{z-index:2;position:relative}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-panel);padding:18px 0;overflow:hidden}.marquee-track{white-space:nowrap;will-change:transform;gap:44px;display:flex}.marquee-track span{font-family:var(--font-display);color:var(--text-faint);align-items:center;gap:44px;font-size:15px;font-weight:600;display:inline-flex}.marquee-track span:after{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px}.shot{border:1px solid var(--line);background:var(--bg-panel);border-radius:5px;margin:22px 0 6px;position:relative;overflow:hidden}.shot-bar{border-bottom:1px solid var(--line);background:var(--bg-panel-2);align-items:center;gap:7px;padding:9px 13px;display:flex}.shot-bar i{background:var(--line);border-radius:50%;width:9px;height:9px;display:block}.shot-bar i:first-child{opacity:.55;background:#ff5f57}.shot-bar i:nth-child(2){opacity:.55;background:#febc2e}.shot-bar i:nth-child(3){opacity:.55;background:#28c840}.shot-bar span{font-family:var(--font-mono);color:var(--text-faint);margin-left:8px;font-size:10.5px}.shot-svg{width:100%;height:auto;display:block}.shot-cap{font-family:var(--font-mono);color:var(--text-faint);margin-bottom:20px;padding-left:2px;font-size:11px}.shot-tag{z-index:3;font-family:var(--font-mono);color:var(--accent-2);background:rgba(var(--bg-rgb),.85);border:1px solid var(--accent-2);border-radius:20px;padding:4px 9px;font-size:10px;position:absolute;top:44px;right:12px}.asset-row{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin:22px 0;display:grid}@media (max-width:700px){.asset-row{grid-template-columns:1fr}}.asset{background:var(--bg-panel);text-align:center;padding:22px}.asset svg{width:100%;height:74px;margin-bottom:12px}.asset .n{font-family:var(--font-mono);color:var(--text-faint);font-size:10.5px}.p-logo{width:88px;height:88px;margin-bottom:22px;position:relative}.p-logo svg{width:100%;height:100%;overflow:visible}.p-logo:after{content:"";background:radial-gradient(circle,var(--accent-soft),transparent 68%);z-index:-1;border-radius:50%;position:absolute;inset:-18px}.pg{position:relative}.pg-viewport{overflow:hidden}.pg-track{will-change:transform;gap:20px;display:flex}.pg-slide{flex:0 0 min(680px,86vw)}.pg-slide .shot{margin:0}.pg-slide .shot-cap{margin-top:12px;margin-bottom:0}.pg-nav{flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px;display:flex}.pg-btn{border:1px solid var(--line);width:40px;height:40px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .22s;display:flex}.pg-btn:hover{border-color:var(--accent);color:var(--accent)}.pg-btn[disabled]{opacity:.3;pointer-events:none}.pg-dots{gap:7px;margin-left:6px;display:flex}.pg-dot{background:var(--line);border-radius:2px;width:26px;height:3px;transition:all .25s}.pg-dot.on{background:var(--accent);width:40px}.pg-count{font-family:var(--font-mono);color:var(--text-faint);margin-left:auto;font-size:11px}.tech-groups{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}@media (max-width:820px){.tech-groups{grid-template-columns:1fr}}.tg{background:var(--bg-panel);padding:28px}.tg h4{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent-2);text-transform:uppercase;margin-bottom:18px;font-size:11px}.tg-list{flex-wrap:wrap;gap:8px;display:flex}.tg-item{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--line);background:var(--bg);will-change:transform;border-radius:3px;padding:8px 14px;font-size:12.5px;transition:all .22s}.tg-item:hover{color:var(--text);border-color:var(--accent);transform:translateY(-2px)}.clients{padding:6px 0;position:relative;overflow:hidden}.clients:before,.clients:after{content:"";z-index:3;pointer-events:none;width:90px;position:absolute;top:0;bottom:0}.clients:before{background:linear-gradient(to right,var(--bg-panel),transparent);left:0}.clients:after{background:linear-gradient(to left,var(--bg-panel),transparent);right:0}.clients-track{will-change:transform;gap:14px;display:flex}.client{border:1px solid var(--line);background:var(--bg);color:var(--text-faint);border-radius:4px;flex:none;padding:16px 22px;transition:all .25s}.client:hover{color:var(--accent-2);border-color:var(--accent-2)}.client-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}@media (max-width:820px){.client-grid{grid-template-columns:repeat(2,1fr)}}.cg{background:var(--bg-panel);color:var(--text-faint);justify-content:center;align-items:center;min-height:104px;padding:26px 20px;transition:all .28s;display:flex}.cstats{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px;display:grid}@media (max-width:600px){.cstats{grid-template-columns:repeat(2,1fr)}}.cstat{border-top:1px solid var(--line);padding-top:14px}.cstat .n{font-family:var(--font-display);color:var(--accent);font-size:30px;font-weight:700}.cstat .l{font-family:var(--font-mono);color:var(--text-dim);margin-top:5px;font-size:11px}.client svg{width:auto;height:42px;display:block}.client{padding:14px 20px}.cg{flex-direction:column;gap:10px;min-height:112px;padding:24px 18px}.cg svg{width:auto;max-width:100%;height:40px}.cg .sector{font-family:var(--font-mono);letter-spacing:.09em;color:var(--text-faint);text-transform:uppercase;opacity:0;font-size:9.5px;transition:opacity .28s}.cg:hover .sector{opacity:1}.pj-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}@media (max-width:860px){.pj-grid{grid-template-columns:1fr}}.pj{background:var(--bg-panel);border:1px solid var(--line);will-change:transform;border-radius:6px;flex-direction:column;padding:32px;transition:border-color .35s,background .35s;display:flex;position:relative;overflow:hidden}.pj:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle at 78% 12%,var(--accent-soft),transparent 58%);transition:opacity .4s;position:absolute;inset:0}.pj:hover{border-color:var(--accent);background:var(--bg-panel-2)}.pj:hover:before{opacity:1}.pj-top{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.pj-mark{flex-shrink:0;width:56px;height:56px;transition:transform .5s cubic-bezier(.2,1,.3,1)}.pj:hover .pj-mark{transform:scale(1.1)rotate(-6deg)}.pj-mark svg{width:100%;height:100%;overflow:visible}.pj-status{font-family:var(--font-mono);letter-spacing:.07em;color:var(--text-faint);border:1px solid var(--line);white-space:nowrap;border-radius:20px;align-items:center;gap:7px;padding:5px 11px;font-size:10px;display:inline-flex}.pj-status .led{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.6s ease-in-out infinite pulse-dot}.pj h3{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:10px;font-size:27px;font-weight:600}.pj p{color:var(--text-dim);flex-grow:1;margin-bottom:22px;font-size:15.5px;line-height:1.68}.pj-meter{margin-bottom:18px}.pj-meter-top{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.05em;justify-content:space-between;margin-bottom:8px;font-size:10px;display:flex}.pj-meter-bar{background:var(--line);border-radius:2px;height:3px;overflow:hidden}.pj-meter-fill{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:2px;width:0;height:100%}.pj-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding-top:18px;display:flex}.pj-tags{flex-wrap:wrap;gap:7px;display:flex}.pj-tags span{font-family:var(--font-mono);color:var(--accent-2);background:var(--accent2-soft);border:1px solid var(--accent2-soft);border-radius:20px;padding:4px 10px;font-size:10.5px}.pj-go{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;align-items:center;gap:7px;font-size:11px;transition:color .25s;display:inline-flex}.pj:hover .pj-go{color:var(--accent)}.pj-go i{font-style:normal;transition:transform .3s}.pj:hover .pj-go i{transform:translate(5px)}.cw{grid-template-columns:300px 1fr;align-items:start;gap:56px;display:grid}@media (max-width:900px){.cw{grid-template-columns:1fr;gap:36px}}.cw-lead h2{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:16px;font-size:clamp(28px,4.2vw,42px);font-weight:600;line-height:1.14}.cw-lead p{color:var(--text-dim);margin-bottom:26px;font-size:16px;line-height:1.7}.cw-stats{grid-template-columns:1fr 1fr;gap:16px;display:grid}.cw-stat{border-top:1px solid var(--line);padding-top:12px}.cw-stat .n{font-family:var(--font-display);color:var(--accent);font-size:26px;font-weight:700}.cw-stat .l{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.04em;margin-top:4px;font-size:10px;line-height:1.5}.cw-wall{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}@media (max-width:1000px){.cw-wall{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.cw-wall{grid-template-columns:1fr}}.cwx{background:var(--bg-panel);min-height:96px;color:var(--text-faint);will-change:transform,opacity;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px 14px;transition:background .3s,color .3s;display:flex}.cwx svg{width:auto;max-width:100%;height:34px}.cwx .sec{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);opacity:0;font-size:9px;transition:opacity .28s}.cwx:hover .sec{opacity:.85}.cmark{flex-shrink:0;display:block}.cwx,.cg{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.cwx .cname,.cg .cname{font-family:var(--font-display);color:var(--text-dim);font-size:14.5px;font-weight:600;line-height:1.25;transition:color .28s}.cwx:hover .cname,.cg:hover .cname{color:var(--text)}.cwx .sec,.cg .sec{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);opacity:0;font-size:9px;transition:opacity .28s}.cwx:hover .sec,.cg:hover .sec{opacity:.9}.cwx{min-height:128px;color:var(--text-faint);background:var(--bg-panel);will-change:transform,opacity;padding:22px 14px;transition:background .3s,color .3s}.cwx:hover{background:var(--bg-panel-2);color:var(--accent-2)}.cg{min-height:132px;color:var(--text-faint);background:var(--bg-panel);will-change:transform,opacity;padding:24px 16px;transition:background .3s,color .3s}.cg:hover{background:var(--bg-panel-2);color:var(--accent-2)}.cw-wall{grid-template-columns:repeat(3,1fr)}@media (min-width:1100px){.cw-wall{grid-template-columns:repeat(4,1fr)}}.client-grid{grid-template-columns:repeat(5,1fr)}@media (max-width:1000px){.client-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:600px){.client-grid{grid-template-columns:repeat(2,1fr)}}.tk-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}@media (max-width:900px){.tk-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.tk-grid{grid-template-columns:1fr}}.tk{background:var(--bg-panel);will-change:transform,opacity;padding:26px 24px;transition:background .3s;position:relative;overflow:hidden}.tk:after{content:"";background:var(--accent);transform-origin:top;width:2px;transition:transform .35s cubic-bezier(.2,1,.3,1);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.tk:hover:after{transform:scaleY(1)}.tk-top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.tk h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px;font-weight:600}.tk .yrs{font-family:var(--font-mono);color:var(--accent);white-space:nowrap;font-size:10.5px}.tk .cat{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);margin-bottom:12px;font-size:9.5px;display:block}.tk p{color:var(--text-dim);margin:0;font-size:14.5px;line-height:1.62}.tk-legend{font-family:var(--font-mono);color:var(--text-faint);flex-wrap:wrap;gap:22px;margin-top:22px;font-size:11px;display:flex}.tk-legend b{color:var(--accent-2);font-weight:400}#flight{pointer-events:none;z-index:-1;contain:paint;width:100%;position:absolute;top:0;left:0;overflow:hidden}#flight .route{fill:none;stroke:var(--accent-2);stroke-width:1.5px;stroke-dasharray:5 11;opacity:.42;stroke-linecap:round}#flight .flown{fill:none;stroke:var(--accent);stroke-width:1.8px;opacity:.62;stroke-linecap:round}#flight .ring-o{fill:none;stroke:var(--accent-2);stroke-width:1.8px;opacity:.5}#flight .ring-i{fill:none;stroke:var(--accent-2);stroke-width:1.2px;opacity:.28}#flight .ring-tick{stroke:var(--accent-2);stroke-width:1.5px;opacity:.4;stroke-linecap:round}#flight .ring.hit .ring-o{stroke:var(--accent);opacity:.9;stroke-width:2px}#flight .ring.hit .ring-i{stroke:var(--accent);opacity:.45}#flight .ring.hit .ring-tick{stroke:var(--accent);opacity:.7}#flight .ring-label{font-family:var(--font-mono);letter-spacing:.14em;fill:var(--text-faint);opacity:.5;text-transform:uppercase;font-size:9.5px;transition:opacity .5s,fill .5s}#flight .ring.hit .ring-label{opacity:.9;fill:var(--accent)}#flight .plane-body{fill:#12161f;stroke:var(--accent);stroke-width:1.9px;stroke-linejoin:round;opacity:.95}#flight .plane-fold{fill:none;stroke:var(--accent-2);stroke-width:1.2px;opacity:.7}#flight .plane-shadow{fill:#000;opacity:.22}@media (max-width:640px){#flight{display:none}}section{background-color:rgba(var(--bg-rgb),.74)}#hero{background-color:#0000}.alt{background:rgba(var(--bg-panel-rgb),.74)}footer{background:rgba(var(--bg-panel-rgb),.78)}#loader{z-index:9990;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;transition:opacity .75s,visibility .75s;display:flex;position:fixed;inset:0}#loader.done{opacity:0;visibility:hidden}#loader:before{content:"";background-image:linear-gradient(var(--line-soft) 1px,transparent 1px), linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);opacity:.5;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 50% at 50% 46%,#000 10%,#0000 72%);mask-image:radial-gradient(60% 50% at 50% 46%,#000 10%,#0000 72%)}#loader-canvas{z-index:2;width:min(420px,72vw);height:min(340px,44vh);position:relative}.ld-brand{z-index:2;font-family:var(--font-display);letter-spacing:.02em;color:var(--text);align-items:center;gap:9px;margin-bottom:6px;font-size:15px;font-weight:700;display:flex;position:relative}.ld-brand i{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;font-style:normal;animation:2s ease-in-out infinite pulse-dot}.ld-cap{z-index:2;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);height:16px;margin-top:14px;font-size:11.5px;transition:opacity .3s;position:relative}.ld-bar{z-index:2;background:var(--line);border-radius:2px;width:min(240px,60vw);height:2px;margin-top:18px;position:relative;overflow:hidden}.ld-fill{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:2px;width:0%;height:100%}.ld-skip{z-index:3;font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-faint);border:1px solid var(--line);cursor:pointer;opacity:0;border-radius:20px;padding:8px 15px;font-size:10.5px;transition:all .2s;position:absolute;bottom:26px}.ld-skip.show{opacity:1}.ld-skip:hover{color:var(--accent);border-color:var(--accent)}body.loading{overflow:hidden}@media (prefers-reduced-motion:reduce){#loader{display:none}}.pj-grid{perspective:1600px;perspective-origin:50% 0}.pj{transform-origin:50% 0;backface-visibility:hidden;will-change:transform,opacity}.cw-wall{perspective:1200px;perspective-origin:50%}.cwx{transform-origin:50% 100%;backface-visibility:hidden;will-change:transform,opacity}.about-3d{cursor:pointer}.about-3d .hint{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-faint);border:1px solid var(--line);background:rgba(var(--bg-rgb),.5);border-radius:20px;padding:6px 11px;font-size:10px;transition:all .25s;position:absolute;bottom:12px;left:14px}.about-3d:hover .hint{color:var(--accent);border-color:var(--accent)}#brainx{z-index:9500;background:rgba(var(--bg-rgb),.97);opacity:0;transition:opacity .45s;display:none;position:fixed;inset:0}#brainx.open{display:block}#brainx.shown{opacity:1}#brainx canvas{width:100%;height:100%;position:absolute;inset:0}#brainx .bx-close{z-index:4;font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-dim);border:1px solid var(--line);background:rgba(var(--bg-panel-rgb),.8);cursor:pointer;border-radius:20px;padding:10px 16px;font-size:11px;transition:all .2s;position:absolute;top:22px;right:24px}#brainx .bx-close:hover{color:var(--accent);border-color:var(--accent)}#brainx .bx-title{z-index:4;position:absolute;top:24px;left:28px}#brainx .bx-title h2{font-family:var(--font-display);font-size:20px;font-weight:700}#brainx .bx-title p{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase;margin-top:6px;font-size:10.5px}#brainx .bx-list{z-index:4;background:var(--line);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:1px;width:210px;display:flex;position:absolute;top:110px;left:28px;overflow:hidden}#brainx .bx-item{background:var(--bg-panel);cursor:pointer;font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-dim);align-items:center;gap:9px;padding:12px 14px;font-size:11px;transition:all .2s;display:flex}#brainx .bx-item:hover{background:var(--bg-panel-2);color:var(--text)}#brainx .bx-item.on{background:var(--bg-panel-2);color:var(--accent)}#brainx .bx-item i{border-radius:50%;flex-shrink:0;width:7px;height:7px;font-style:normal}#brainx .bx-info{z-index:4;background:var(--bg-panel);border:1px solid var(--line);border-left:2px solid var(--accent);opacity:0;pointer-events:none;border-radius:0 4px 4px 0;width:min(340px,42vw);padding:22px 24px;transition:opacity .35s,transform .35s;position:absolute;bottom:28px;right:28px;transform:translateY(12px)}#brainx .bx-info.on{opacity:1;transform:none}#brainx .bx-info .k{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:9px;font-size:10px}#brainx .bx-info h3{font-family:var(--font-display);margin-bottom:10px;font-size:20px;font-weight:600}#brainx .bx-info p{color:var(--text-dim);margin:0;font-size:14.5px;line-height:1.65}#brainx .bx-info p+p{color:var(--text-faint);margin-top:10px;font-size:13.5px}#brainx .bx-tip{z-index:4;font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-faint);font-size:10px;position:absolute;bottom:26px;left:28px}@media (max-width:860px){#brainx .bx-list{display:none}#brainx .bx-info{width:auto;left:16px;right:16px}}.skill-card{position:relative;overflow:hidden}.skill-scan{pointer-events:none;opacity:0;background:linear-gradient(#0000,#4fd1c524 45%,#ff7a3d1a 55%,#0000);height:120%;position:absolute;top:-10%;left:0;right:0;transform:translateY(-100%)}.meter-read{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.07em;justify-content:space-between;align-items:baseline;margin-top:9px;font-size:10.5px;display:flex}.meter-read .v{color:var(--accent);font-size:13px}.meter-read .v.cal{color:var(--accent-2)}.meter-tick{gap:3px;margin-top:7px;display:flex}.meter-tick i{background:var(--line);transform-origin:bottom;border-radius:1px;flex:1;height:3px;font-style:normal}.hu{position:relative}.hu .led{background:var(--accent);width:2px;height:0;position:absolute;top:50%;left:-1px;transform:translateY(-50%)}.hu .t{position:relative}.hu .cursor{background:var(--accent);vertical-align:-2px;opacity:0;width:7px;height:13px;margin-left:5px;display:inline-block}.tk{position:relative}.tk-bar{background:var(--accent);transform-origin:top;width:2px;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.tk .yrs{position:relative}.tk{cursor:grab;touch-action:none}.tk.dragging{cursor:grabbing;z-index:40;box-shadow:0 24px 60px #0000008c}.tk.drop-target{background:var(--bg-panel-2)}.tk.drop-target:before{content:"";border:1px dashed var(--accent);pointer-events:none;position:absolute;inset:0}.tk-grab{opacity:0;flex-direction:column;gap:2px;transition:opacity .25s;display:flex;position:absolute;top:12px;right:14px}.tk-grab i{background:var(--text-faint);width:12px;height:1px;display:block}.tk:hover .tk-grab{opacity:.7}.tk-hint{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-faint);align-items:center;gap:9px;margin-top:18px;font-size:10.5px;display:flex}.tk-hint b{color:var(--accent-2);font-weight:400}.tk-grid{isolation:isolate;position:relative}.tk-grid:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(var(--line) 1.1px, transparent 1.1px);opacity:.55;background-position:10px 10px;background-size:20px 20px;transition:opacity .35s,background-image .35s;position:absolute;inset:0}.tk{z-index:1;background:rgba(var(--bg-panel-rgb),.93);position:relative}.tk:hover{background:rgba(var(--bg-panel2-rgb),.95)}body.tk-dragging .tk-grid:before{opacity:1;background-image:radial-gradient(var(--accent-2) 1.2px, transparent 1.2px)}body.tk-dragging .tk{background:rgba(var(--bg-panel-rgb),.8)}body.tk-dragging .tk:not(.dragging){outline:1px dashed var(--line);outline-offset:-7px}body.tk-dragging .tk.drop-target{outline:1px dashed var(--accent);outline-offset:-7px}.tk.dragging{background:var(--bg-panel-2);outline:1px solid var(--accent);outline-offset:-1px}.tk-slot{z-index:0;border:1px dashed var(--accent-2);opacity:0;pointer-events:none;background:#4fd1c50d;border-radius:3px;transition:opacity .25s;position:absolute}.tk-slot.on{opacity:.8}.cform-wrap{text-align:left;max-width:520px;margin:0 auto 44px}.cf-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}@media (max-width:560px){.cf-row{grid-template-columns:1fr}}.cform-wrap input,.cform-wrap textarea,.cform-wrap select{background:var(--bg);border:1px solid var(--line);border-radius:3px;outline:none;width:100%;padding:12px 14px;font-size:14.5px;transition:border-color .2s,background .2s}.cform-wrap textarea{resize:vertical;min-height:120px;line-height:1.6}.cform-wrap input:focus,.cform-wrap textarea:focus,.cform-wrap select:focus{border-color:var(--accent-2);background:var(--bg-panel-2)}.cform-wrap input.bad,.cform-wrap textarea.bad{border-color:var(--accent)}.cf-files{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.cf-chip{background:var(--bg-panel-2);border:1px solid var(--line);color:var(--text-dim);border-radius:3px;align-items:center;gap:6px;padding:5px 8px;font-size:12.5px;display:inline-flex}.cf-chip em{color:var(--text-faint);font-size:11px;font-style:normal}.cf-chip button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0 0 0 2px;font-size:14px;line-height:1}.cf-chip button:hover{color:var(--accent)}.cf-attach{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent-2);cursor:pointer;align-items:center;padding:5px 2px;font-size:11.5px;display:inline-flex}.cf-attach:hover{color:var(--accent)}.cf-attach input{display:none}.cf-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.cf-note{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.05em;font-size:10.5px}.cf-sent{border:1px solid var(--accent-2);text-align:center;background:#4fd1c512;border-radius:4px;padding:26px;display:none}.cf-sent.on{display:block}.cf-sent h4{font-family:var(--font-display);margin-bottom:8px;font-size:19px;font-weight:600}.cf-sent p{color:var(--text-dim);margin:0;font-size:14.5px}.cf-or{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text-faint);margin:0 0 18px;font-size:10.5px}.hu .d,.hu .p{perspective:220px;display:inline-flex}.flap{transform-origin:50% 0;backface-visibility:hidden;text-align:center;will-change:transform,opacity;min-width:.56em;display:inline-block}.flap.sp{min-width:.3em}.hu-mask{display:block;overflow:hidden}.hu-line{will-change:transform;display:block}.hu-rail{background:var(--accent);transform-origin:0;opacity:.6;height:1px;position:absolute;bottom:0;left:0;right:0}#game{z-index:9600;background:rgba(var(--bg-rgb),.985);opacity:0;transition:opacity .4s;display:none;position:fixed;inset:0}#game.open{display:block}#game.shown{opacity:1}#game canvas{cursor:none;width:100%;height:100%;display:block;position:absolute;inset:0}#game .g-hud{z-index:3;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:0 28px;display:flex;position:absolute;top:22px;left:0;right:0}#game .g-stat{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-faint);font-size:11px}#game .g-stat b{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin-top:5px;font-size:30px;font-weight:700;display:block}#game .g-stat.hit b{color:var(--accent-2)}#game .g-stat.miss b{color:var(--accent)}#game .g-close{z-index:5;font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-dim);border:1px solid var(--line);background:rgba(var(--bg-panel-rgb),.85);cursor:pointer;border-radius:20px;padding:10px 16px;font-size:11px;transition:all .2s;position:absolute;top:22px;right:24px}#game .g-close:hover{color:var(--accent);border-color:var(--accent)}#game .g-panel{z-index:4;text-align:center;background:radial-gradient(ellipse 50% 45% at 50% 50%, rgba(var(--bg-rgb),.9), rgba(var(--bg-rgb),.6));flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:60px 20px;display:flex;position:absolute;inset:0;overflow-y:auto}#game .g-panel.gone{display:none}#game .g-panel h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(30px,5vw,52px);font-weight:700;line-height:1.08}#game .g-panel .sub{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase;margin-top:10px;font-size:11.5px}#game .g-panel p{color:var(--text-dim);max-width:420px;margin-top:16px;font-size:15.5px;line-height:1.65}#game .g-btn{font-family:var(--font-mono);letter-spacing:.06em;background:var(--accent);color:#0a0d13;border:1px solid var(--accent);cursor:pointer;border-radius:3px;margin-top:26px;padding:14px 26px;font-size:12px;font-weight:600;transition:all .22s}#game .g-btn:hover{color:var(--accent);background:0 0}#game .g-score{font-family:var(--font-display);color:var(--accent);font-size:clamp(56px,11vw,110px);font-weight:700;line-height:1}#game .g-best{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent-2);font-size:11.5px}#game .g-submit{gap:8px;margin-top:20px;display:flex}#game .g-submit input{background:var(--bg-panel-2);border:1px solid var(--line);color:var(--text);border-radius:3px;outline:none;width:180px;padding:11px 14px;font-size:14px;transition:border-color .2s}#game .g-submit input:focus{border-color:var(--accent-2)}#game .g-submit button{font-family:var(--font-mono);letter-spacing:.06em;background:var(--accent-2);color:#0a0d13;border:1px solid var(--accent-2);cursor:pointer;border-radius:3px;padding:0 16px;font-size:11px;font-weight:600;transition:all .2s}#game .g-submit button:hover{color:var(--accent-2);background:0 0}#game .g-submit button:disabled{opacity:.5;cursor:default}#game .g-saved{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent-2);margin-top:18px;font-size:11.5px}#game .g-board{text-align:left;border-top:1px solid var(--line);width:100%;max-width:280px;margin-top:22px;padding-top:14px}#game .g-board li{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:10px;padding:5px 2px;font-size:12.5px;display:flex}#game .g-board li:first-child{color:var(--accent)}#game .g-board .g-rank{width:16px;color:var(--text-faint)}#game .g-board .g-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}#game .g-board .g-pts{color:var(--text);font-weight:600}.hero-cta .btn-game{border-color:var(--accent-2);color:var(--accent-2)}.hero-cta .btn-game:hover{background:var(--accent-2);color:#0a0d13}@media (max-width:700px){#game{display:none!important}}.hu{align-items:center;min-height:74px}.hu .t{min-width:0}.hu .t b{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}@media (max-width:760px){.hu{min-height:0}.hu .t b{white-space:normal}}
