:root{--bg:#050510;--bg-2:#0a0a1f;--surface:#ffffff0a;--surface-2:#ffffff12;--border:#ffffff17;--text:#e8eaf2;--muted:#9aa0b8;--blue:#3c84f6;--cyan:#06b6d4;--violet:#8b5cf6;--grad:linear-gradient(90deg, var(--blue), var(--cyan));--radius:18px;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}ul{margin:0;padding:0;list-style:none}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.1}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}::selection{background:var(--blue);color:#fff}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.mono{font-family:var(--font-mono)}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.caret{color:var(--cyan);margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.bg{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-grid{background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.blob{filter:blur(110px);opacity:.22;border-radius:50%;width:480px;height:480px;animation:22s ease-in-out infinite alternate drift;position:absolute}.blob-1{background:var(--blue);top:-120px;left:-100px}.blob-2{background:var(--cyan);animation-delay:-7s;bottom:-160px;right:-120px}.blob-3{background:var(--violet);opacity:.12;width:360px;height:360px;animation-delay:-14s;top:40%;left:45%}@keyframes drift{to{transform:translate(80px,60px)scale(1.15)}}.welcome{z-index:100;background:var(--bg);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px;display:flex;position:fixed;inset:0}.welcome-icons{gap:16px;display:flex}.welcome-icon{background:var(--surface-2);border:1px solid var(--border);width:56px;height:56px;color:var(--cyan);border-radius:50%;place-items:center;display:grid}.welcome-title{font-size:clamp(2rem,6vw,4rem)}.welcome-title span{margin:0 .14em;display:inline-block}.welcome-sub{color:var(--muted);margin:0}.welcome-bar{background:var(--grad);transform-origin:0;border-radius:3px;width:min(280px,70vw);height:3px}.nav{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.nav-scrolled{-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--border);background:#050510b3}.nav-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.nav-logo{font-family:var(--font-display);font-size:1.35rem;font-weight:700}.nav-links{gap:8px;display:flex}.nav-links a{color:var(--muted);padding:8px 14px;font-weight:500;transition:color .2s;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-underline{background:var(--grad);border-radius:2px;height:2px;position:absolute;bottom:2px;left:14px;right:14px}.nav-toggle{background:0 0;border:0;padding:8px;display:none}.nav-mobile{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#050510f2;flex-direction:column;padding:8px 24px 20px;display:flex}.nav-mobile a{color:var(--muted);border-bottom:1px solid var(--border);padding:12px 0}.nav-mobile a.active{color:var(--text)}.btn{border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--grad);color:#fff;border-color:#0000;box-shadow:0 8px 30px -8px #3c84f699}.btn-primary:hover{box-shadow:0 12px 36px -8px #06b6d4b3}.btn-primary:disabled{opacity:.6;cursor:wait}.btn-ghost{background:var(--surface)}.btn-ghost:hover{background:var(--surface-2)}.btn-block{width:100%}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.badge{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:10px;padding:6px 14px;font-size:.85rem;display:inline-flex}.badge-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s infinite ping;box-shadow:0 0 #22c55e99}@keyframes ping{70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.pill-row{flex-wrap:wrap;gap:10px;display:flex}.pill{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:.85rem}.hero{align-items:center;min-height:100svh;padding:100px 0 60px;display:flex;position:relative}.hero-inner{grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;display:grid}.hero-text{flex-direction:column;align-items:flex-start;gap:22px;display:flex}.hero-title{letter-spacing:-.02em;font-size:clamp(2.6rem,7vw,5rem)}.hero-role{color:var(--cyan);margin:0;font-size:1.15rem}.hero-tagline{color:var(--muted);max-width:52ch;margin:0;font-size:1.05rem}.social-row{gap:12px;display:flex}.social{background:var(--surface);border:1px solid var(--border);width:46px;height:46px;color:var(--muted);border-radius:12px;place-items:center;transition:color .2s,transform .2s,border-color .2s;display:grid}.social:hover{color:var(--text);border-color:var(--blue);transform:translateY(-3px)}.scroll-hint{border:2px solid var(--border);border-radius:14px;width:26px;height:42px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-hint span{background:var(--cyan);border-radius:2px;width:4px;height:8px;margin-left:-2px;animation:1.8s infinite scrollDot;position:absolute;top:8px;left:50%}@keyframes scrollDot{to{opacity:0;transform:translateY(14px)}}.hero-visual{perspective:1000px}.terminal-wrap{padding:30px 10px;position:relative}.terminal-glow{background:var(--grad);filter:blur(70px);opacity:.35;border-radius:50%;position:absolute;inset:10% 5%}.terminal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform-style:preserve-3d;background:#0a0a1fd9;border:1px solid #ffffff1f;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 30px 80px -20px #000c,inset 0 1px #ffffff0f}.terminal-bar{border-bottom:1px solid var(--border);background:#ffffff0a;align-items:center;gap:8px;padding:12px 16px;display:flex}.dot{border-radius:50%;width:12px;height:12px}.dot-red{background:#ff5f57}.dot-yellow{background:#febc2e}.dot-green{background:#28c840}.terminal-title{color:var(--muted);margin-left:auto;margin-right:auto;font-size:.78rem;transform:translate(-26px)}.terminal-body{min-height:300px;padding:20px 22px 26px;font-size:.95rem;line-height:1.8}.t-line+.t-line{margin-top:6px}.t-prompt{color:#22c55e}.t-path{color:var(--cyan)}.t-cmd{color:var(--text)}.t-out{color:#7dd3fc;padding-left:1.4em}.float-chip{border:1px solid var(--border);white-space:nowrap;background:#0a0a1fe6;border-radius:10px;padding:8px 14px;font-size:.8rem;position:absolute;box-shadow:0 10px 30px -10px #000000b3}.chip-a{color:var(--cyan);top:6px;right:-6px}.chip-b{color:#fbbf24;bottom:4px;left:-10px}.section{padding:110px 0}.section-head{text-align:center;margin-bottom:56px}.section-title{font-size:clamp(2.2rem,5vw,3.2rem);display:inline-block}.section-sub{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:56ch;margin:12px auto 0;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;transition:border-color .25s,background .25s}.card:hover{border-color:#3c84f666}.card-title{margin-bottom:20px;font-size:1.3rem}.about-grid{grid-template-columns:1.4fr 1fr;align-items:center;gap:40px;display:grid}.about-hi{margin-bottom:20px;font-size:clamp(1.8rem,4vw,2.6rem)}.about-text p{color:var(--muted);margin:0 0 16px}.about-text .btn-row{margin-top:28px}.stat-grid{gap:16px;display:grid}.stat{justify-content:space-between;align-items:center;padding:22px 28px;display:flex}.stat-value{font-family:var(--font-display);font-size:2.6rem;font-weight:700;line-height:1}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.timeline-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;display:grid}.timeline{border-left:2px solid var(--border);padding-left:22px;position:relative}.timeline>li{padding-bottom:26px;position:relative}.timeline>li:last-child{padding-bottom:0}.tl-dot{background:var(--grad);width:12px;height:12px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:6px;left:-29px}.tl-period{color:var(--cyan);font-size:.78rem}.tl-title{font-size:1.05rem;font-weight:600}.tl-sub{color:var(--muted);font-size:.92rem}.tl-points{color:var(--muted);margin-top:8px;font-size:.9rem}.tl-points li:before{content:"▹ ";color:var(--blue)}.tabbar{border:1px solid var(--border);background:#ffffff08;border-radius:20px;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:40px;padding:8px;display:grid}.tabbar-tab{color:var(--muted);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;font-weight:600;transition:color .2s;display:flex;position:relative}.tabbar-tab>svg,.tabbar-tab>span:not(.tabbar-bg){position:relative}.tabbar-tab:hover,.tabbar-tab.active{color:#fff}.tabbar-bg{background:linear-gradient(#2563eb73,#1e3a8a59);border:1px solid #3c84f659;border-radius:14px;position:absolute;inset:0;box-shadow:0 8px 30px -12px #3c84f6cc}.wg{--cw:min(480px, 60vw)}.wg-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.wg-title{font-size:clamp(1.8rem,4vw,2.6rem)}.wg-caret{color:var(--cyan);margin-left:4px;font-weight:400;animation:1s step-end infinite blink}.wg-sub{color:var(--muted);margin:6px 0 0;font-size:.92rem}.wg-more{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.wg-more:hover{background:var(--surface-2);border-color:#ffffff40}.wg-stage{height:calc(var(--cw) * .68 + 60px);perspective:1400px;margin-inline:calc(50% - 50vw);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 7% 93%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 7% 93%,#0000 100%)}.wg-stage:focus-visible{outline:none}.wg-stage:focus-visible .wg-card.active{outline-offset:8px;outline:2px dashed #fff9}.wg-card{top:30px;left:calc(50% - var(--cw) / 2);width:var(--cw);cursor:pointer;transform-style:preserve-3d;will-change:transform;background:#0d0d22;border:1px solid #ffffff1f;border-radius:14px;position:absolute;overflow:hidden;box-shadow:0 30px 60px -20px #000000e6}.wg-card.active{box-shadow:0 30px 80px -20px #000000e6, 0 0 60px -20px var(--blue);border-color:#ffffff47}.wg-chrome{background:#16162e;border-bottom:1px solid #ffffff14;align-items:center;gap:6px;padding:9px 12px;display:flex}.wg-chrome .dot{width:9px;height:9px}.wg-url{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:#ffffff0f;border-radius:6px;flex:1;margin-left:10px;padding:3px 10px;font-size:.7rem;overflow:hidden}.wg-shot{aspect-ratio:16/10}.wg-shot .cover-img{object-position:top}.wg-shot .cover-glyph{font-size:4rem}.wg-nav{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.wg-nav:hover{background:#ffffff38}.wg-prev{left:calc(50% - var(--cw) / 2 - 70px)}.wg-next{right:calc(50% - var(--cw) / 2 - 70px)}.wg-info{text-align:center;max-width:640px;min-height:170px;margin:0 auto;position:relative}.wg-name{font-family:var(--font-display);margin:0 0 8px;font-size:clamp(1.3rem,3vw,1.7rem)}.wg-name span{color:var(--muted);font-size:.75em;font-weight:500}.wg-desc{color:var(--muted);margin:0 0 16px;font-size:.95rem}.wg-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.wg-visit,.wg-details{border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:.88rem;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.wg-visit{color:#0a0a1f;background:#fff}.wg-visit:hover{transform:translateY(-2px)}.wg-details{background:var(--surface);border:1px solid var(--border)}.wg-details:hover{background:var(--surface-2)}.wg-count{color:var(--muted);margin-top:14px;font-size:.8rem}.wg-cert .wg-stage{height:calc(var(--cw) * .84 + 60px)}.wg-cert .wg-shot{aspect-ratio:1198/927;background:#fff}.wg-skills{justify-content:center;margin-bottom:18px}.cert-shot-empty{height:100%;color:var(--cyan);background:radial-gradient(circle at 30% 20%,#3c84f659,#0000 60%),#0d0d22;place-items:center;display:grid}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03030abf;place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{width:min(720px,100%);box-shadow:0 40px 120px -30px var(--accent-a);background:#0b0b1e;border:1px solid #ffffff1f;border-radius:24px;position:relative;overflow:hidden}.modal-close{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05051099;border:1px solid #fff3;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:14px;right:14px}.modal-close:hover{background:#ffffff26}.modal-cover{aspect-ratio:21/9}.modal-cover .cover-glyph{font-size:5rem}.modal-body{flex-direction:column;gap:12px;padding:26px 30px 30px;display:flex}.modal-title{font-size:clamp(1.8rem,5vw,2.6rem)}.modal-desc{color:#ffffffd1;margin:0}.modal-sub{color:var(--cyan);margin:6px 0 0;font-size:.82rem;font-weight:500}.modal-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.empty h3{font-size:1.2rem}.empty p{color:var(--muted);margin:0}.ps-stage{--tile:104px;--tile-active:164px;--gap:16px;--pad:48px;isolation:isolate;border:1px solid var(--border);min-height:640px;box-shadow:0 40px 100px -30px #000000e6, 0 0 80px -30px var(--accent-a);-webkit-user-select:none;user-select:none;border-radius:28px;flex-direction:column;transition:box-shadow .6s;display:flex;position:relative;overflow:hidden}.ps-bg{z-index:-2;position:absolute;inset:0}.ps-bg .cover-img,.ps-bg .cover-gen{object-fit:cover;width:100%;height:100%}.ps-bg-blur{filter:blur(36px)brightness(.4)saturate(1.4);background-position:top;background-size:cover;position:absolute;inset:-40px}.ps-hero-shot{right:var(--pad);z-index:1;aspect-ratio:16/10;object-fit:cover;object-position:top;border:1px solid #ffffff2e;border-radius:14px;width:38%;position:absolute;bottom:90px;transform:perspective(1200px)rotateY(-14deg)rotateX(4deg);box-shadow:0 40px 80px -20px #000000e6}.ps-shade{z-index:-1;background:linear-gradient(90deg,#050510eb 0%,#0505108c 45%,#0505101a 100%),linear-gradient(#0000 45%,#050510f2 100%),linear-gradient(#05051099 0%,#0000 30%);position:absolute;inset:0}.cover-gen{place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.cover-gen:after{content:"";mix-blend-mode:overlay;background:repeating-linear-gradient(45deg,#ffffff0d 0 2px,#0000 2px 14px);position:absolute;inset:0}.cover-glyph{z-index:1;color:#ffffffeb;text-shadow:0 4px 20px #0006;font-size:2.6rem;position:relative}.cover-big .cover-glyph{color:#ffffff1f;text-shadow:none;font-size:clamp(12rem,30vw,24rem);position:absolute;top:50%;right:6%;transform:translateY(-50%)}.cover-img{object-fit:cover;width:100%;height:100%}.ps-top{padding:26px var(--pad) 0;justify-content:space-between;align-items:center;display:flex}.ps-tabs{font-family:var(--font-display);gap:28px;font-size:1.15rem;display:flex}.ps-tab{color:#ffffff73}.ps-tab.active{color:#fff;font-weight:600}.ps-status{color:#fffc;gap:18px;font-size:.9rem;display:flex}.ps-clock{color:#fff}.ps-row-viewport{padding:26px var(--pad) 50px;margin-bottom:-50px;overflow:hidden}.ps-row{align-items:flex-start;gap:var(--gap);transform:translateX(calc(var(--i) * -1 * (var(--tile) + var(--gap))));transition:transform .45s cubic-bezier(.22,1,.36,1);display:flex}.ps-tile-wrap{flex-shrink:0;align-items:flex-end;gap:16px;transition:opacity .35s;display:flex}.ps-tile-wrap.is-past{opacity:0;pointer-events:none}.ps-tile{width:var(--tile);height:var(--tile);background:#111;border:0;border-radius:16px;padding:0;transition:width .45s cubic-bezier(.22,1,.36,1),height .45s cubic-bezier(.22,1,.36,1),box-shadow .3s,transform .2s;position:relative;overflow:hidden;box-shadow:0 10px 30px -10px #000c}.ps-tile:hover:not(.active){transform:translateY(-4px)}.ps-tile.active{width:var(--tile-active);height:var(--tile-active);box-shadow:0 0 0 3px #fff, 0 0 0 7px #ffffff26, 0 20px 50px -10px var(--accent-a)}.ps-tile:focus-visible{outline-offset:6px}.ps-tile-label{font-family:var(--font-display);white-space:nowrap;text-shadow:0 2px 10px #0009;padding-bottom:6px;font-size:1.05rem;font-weight:600}.ps-info{padding:40px var(--pad) 48px;max-width:600px;margin-top:auto}.ps-meta{color:#ffffffb3;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem}.ps-meta span{color:var(--accent-b);margin:0 6px}.ps-title{letter-spacing:-.02em;text-shadow:0 4px 30px #00000080;margin:8px 0 14px;font-size:clamp(2.4rem,6vw,4.4rem)}.ps-desc{color:#ffffffd1;margin:0 0 18px;font-size:1.05rem}.ps-tech{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.ps-tech li{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:999px;padding:4px 12px;font-size:.8rem}.ps-actions{flex-wrap:wrap;gap:12px;display:flex}.ps-play{color:#0a0a1f;background:#fff;border-radius:999px;align-items:center;gap:10px;padding:14px 34px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.ps-play:hover{transform:scale(1.04);box-shadow:0 0 0 4px #ffffff40}.ps-secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #fff3;border-radius:999px;align-items:center;gap:10px;padding:14px 24px;font-weight:600;transition:background .2s;display:inline-flex}.ps-secondary:hover{background:#ffffff38}.ps-arrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;place-items:center;width:48px;height:48px;transition:opacity .25s,background .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.ps-stage:hover .ps-arrow,.ps-arrow:focus-visible{opacity:1}.ps-arrow:hover{background:#fff3}.ps-arrow-left{left:12px}.ps-arrow-right{right:12px}.ps-hint{right:var(--pad);color:#ffffff8c;align-items:center;gap:6px;font-size:.78rem;display:flex;position:absolute;bottom:24px}.ps-hint kbd{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:6px;padding:2px 7px;font-family:inherit}.ps-hint-sep{margin:0 4px}.ps-tab-link{transition:color .2s}.ps-tab-link:hover{color:#fff}.ps-library{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#ffffff14;border:1px solid #ffffff2e;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:.78rem;font-weight:600;display:flex}.ps-library:hover{background:#ffffff29;transform:translateY(-4px)}.ps-private{color:#fff9;align-items:center;gap:8px;padding:14px 4px;font-size:.9rem;display:inline-flex}.more-row{justify-content:center;margin-top:28px;display:flex}.library{min-height:100vh;padding:110px 0 90px}.back-link{color:var(--muted);align-items:center;gap:6px;font-weight:500;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--text)}.library-head{text-align:center;margin:24px 0 36px}.chips{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px;display:flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.chip:hover{color:var(--text);border-color:#ffffff40}.chip.active{color:#fff;background:var(--grad);border-color:#0000}.chip-count{font-family:var(--font-mono);background:#ffffff1a;border-radius:999px;padding:1px 7px;font-size:.75rem}.library-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;display:grid}.lib-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;transition:border-color .25s,box-shadow .25s,translate .25s;display:flex;overflow:hidden}.lib-card:hover{box-shadow:0 0 0 2px #ffffffe6, 0 24px 50px -16px var(--accent-a);border-color:#ffffff4d;translate:0 -6px}.lib-cover{aspect-ratio:16/9;position:relative}.lib-cover .cover-glyph{font-size:3.4rem}.lib-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050510a6;border:1px solid #fff3;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600;position:absolute;top:12px;left:12px}.lib-body{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex}.lib-kind{text-transform:uppercase;letter-spacing:.08em;color:var(--cyan);font-size:.72rem}.lib-title{font-size:1.3rem}.lib-desc{color:var(--muted);margin:0;font-size:.92rem}.lib-tech{flex-wrap:wrap;gap:6px;display:flex}.lib-tech li{border:1px solid var(--border);background:#ffffff0f;border-radius:999px;padding:2px 10px;font-size:.75rem}.lib-actions{align-items:center;gap:10px;margin-top:auto;padding-top:8px;display:flex}.lib-btn{background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .2s;display:inline-flex}.lib-btn:hover{background:#ffffff29}.lib-btn-primary{color:#0a0a1f;background:#fff;border-color:#fff}.lib-btn-primary:hover{background:#e6e8f0}.lib-private{color:var(--muted);align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.cert-icon{width:52px;height:52px;color:var(--cyan);background:#3c84f61f;border-radius:14px;place-items:center;margin-bottom:8px;display:grid}.stack-group+.stack-group{margin-top:36px}.stack-heading{color:var(--cyan);margin-bottom:14px;font-size:.9rem;font-weight:500}.stack-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;display:grid}.tech{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 12px;font-weight:500;display:flex}.tech img{width:44px;height:44px}.tech img.invert{filter:invert()}.tech-fallback{background:var(--grad);width:44px;height:44px;font-family:var(--font-display);color:#fff;border-radius:12px;place-items:center;font-size:1.3rem;font-weight:700;display:grid}.gh-card{--gh-0:#ffffff0f;--gh-1:#0e4429;--gh-2:#006d32;--gh-3:#26a641;--gh-4:#39d353}.gh-card:hover{border-color:#39d35359}.gh-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.gh-total{font-size:1.3rem}.gh-streak{margin-top:10px;padding:4px 12px;font-size:.8rem}.gh-ranges{border:1px solid var(--border);background:#ffffff08;border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.gh-range{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:6px 12px;font-size:.85rem;font-weight:600;transition:color .2s;position:relative}.gh-range>span:not(.gh-range-bg){position:relative}.gh-range:hover,.gh-range.active{color:#fff}.gh-range-bg{background:linear-gradient(#26a64166,#0e442966);border:1px solid #39d35359;border-radius:9px;position:absolute;inset:0}.gh-graph-wrap{position:relative}.gh-scroll{scrollbar-width:thin;padding-bottom:6px;overflow-x:auto;container-type:inline-size}.gh-graph{--gap:3px;--cell:clamp(10px, calc((100cqw - 36px) / 53 - var(--gap)), 16px);grid-template-columns:28px auto;gap:6px 8px;width:max-content;margin-inline:auto;display:grid}.gh-months,.gh-grid{grid-column:2;grid-template-columns:repeat(var(--weeks), var(--cell));gap:var(--gap);display:grid}.gh-months{color:var(--muted);font-size:.72rem;line-height:1}.gh-months span{white-space:nowrap}.gh-days{grid-row:2;grid-template-rows:repeat(7, var(--cell));gap:var(--gap);color:var(--muted);font-size:.68rem;display:grid}.gh-days span{align-self:center;line-height:1}.gh-grid{grid-row:2;grid-auto-flow:column;grid-template-rows:repeat(7, var(--cell))}.gh-cell{background:var(--gh-0);border-radius:3px}.gh-cell[data-level="1"]{background:var(--gh-1)}.gh-cell[data-level="2"]{background:var(--gh-2)}.gh-cell[data-level="3"]{background:var(--gh-3)}.gh-cell[data-level="4"]{background:var(--gh-4);box-shadow:0 0 10px -2px #39d353b3}.gh-grid .gh-cell:hover{outline-offset:-1px;outline:1px solid #ffffffb3}.gh-pad{visibility:hidden}.gh-grid:not(.in) .gh-cell{opacity:0}.gh-grid.in .gh-cell{animation:.45s cubic-bezier(.22,1,.36,1) both gh-pop;animation-delay:calc(var(--c) * 14ms)}@keyframes gh-pop{0%{opacity:0;transform:scale(.3)}}.gh-tip{z-index:5;pointer-events:none;border:1px solid var(--border);white-space:nowrap;background:#161a2b;border-radius:8px;padding:6px 10px;font-size:.78rem;position:absolute;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 8px 24px #00000080}.gh-tip.left{transform:translate(-12px,calc(-100% - 8px))}.gh-tip.right{transform:translate(calc(12px - 100%),calc(-100% - 8px))}.gh-skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:200% 100%;border-radius:12px;height:150px;animation:1.4s linear infinite gh-shimmer}@keyframes gh-shimmer{to{background-position:-200% 0}}.gh-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:.8rem;display:flex}.gh-user{align-items:center;gap:6px;transition:color .2s;display:inline-flex}.gh-user:hover{color:var(--text)}.gh-legend{align-items:center;gap:4px;display:flex}.gh-legend .gh-cell{width:11px;height:11px;box-shadow:none}.gh-legend .gh-cell:first-child{margin-left:4px}.gh-legend .gh-cell:last-of-type{margin-right:4px}.gh-stats{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;padding-top:24px;display:grid}.gh-stat-value{font-family:var(--font-display);font-size:1.8rem;font-weight:700;line-height:1.1}.gh-stat-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:.75rem}.gh-stat-note{color:var(--muted);opacity:.8;font-size:.8rem}.gh-error{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.gh-error p{margin:0}.contact-grid{grid-template-columns:1.2fr 1fr;gap:24px;display:grid}.form{flex-direction:column;gap:16px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.form input,.form textarea{font:inherit;color:var(--text);border:1px solid var(--border);resize:vertical;background:#ffffff08;border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.form input:focus,.form textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px #3c84f626}.form-note{margin:0;font-size:.9rem}.form-note.ok{color:#22c55e}.form-note.err{color:#f87171}.contact-loc{color:var(--muted);align-items:center;gap:8px;margin:-8px 0 20px;display:flex}.contact-socials{flex-direction:column;gap:12px;display:flex}.contact-social{border:1px solid var(--border);background:#ffffff08;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .2s,transform .2s;display:flex}.contact-social:hover{border-color:var(--blue);transform:translate(4px)}.contact-social-icon{width:40px;height:40px;color:var(--cyan);background:#3c84f61f;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.contact-social strong{font-size:.95rem;display:block}.contact-social small{color:var(--muted);word-break:break-all;font-size:.8rem}.contact-social-arrow{color:var(--muted);flex-shrink:0;margin-left:auto}.footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);padding:32px 0 40px;font-size:.88rem}@media (width<=900px){.ps-hero-shot{display:none}.nav-links{gap:2px}.nav-links a{padding:8px 10px}.nav-underline{left:10px;right:10px}.hero-inner,.about-grid,.timeline-grid,.contact-grid{grid-template-columns:1fr}.hero{padding-top:110px}.hero-visual{width:100%;max-width:520px;margin:0 auto}.ps-stage{--tile:76px;--tile-active:112px;--gap:12px;--pad:28px;min-height:600px}}@media (width<=640px){.container{padding:0 16px}.nav-links{display:none}.nav-toggle{display:block}.section{padding:80px 0}.card{padding:22px}.terminal-body{min-height:250px;padding:16px;font-size:.82rem}.chip-a{right:0}.chip-b{left:0}.tabbar-tab{padding:12px 4px;font-size:.82rem}.wg{--cw:74vw}.wg-stage{-webkit-mask-image:none;mask-image:none}.wg-prev{left:4px}.wg-next{right:4px}.modal-body{padding:22px 20px 24px}.gh-stats{gap:10px}.gh-stat-value{font-size:1.5rem}.gh-stat-label{letter-spacing:.08em;font-size:.68rem}.ps-stage{--tile:60px;--tile-active:88px;--gap:10px;--pad:20px;border-radius:22px;min-height:580px}.ps-tile{border-radius:12px}.ps-tile-label,.ps-tabs .ps-tab:not(.active),.ps-hint,.ps-arrow{display:none}.cover-glyph{font-size:1.6rem}.ps-info{padding-bottom:28px}.ps-play,.ps-secondary{padding:12px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.gh-grid .gh-cell{animation-delay:0s!important}}.modal-cover .cover-img{object-position:top}
