@import"https://fonts.googleapis.com/css2?family=Martian+Mono:wght@700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:PangolinLocal;src:url(/assets/Pangolin-Regular.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:800}@font-face{font-family:JetBrainsMonoLocal;src:url(/assets/JetBrainsMono-Regular.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:JetBrainsMonoLocal;src:url(/assets/JetBrainsMono-Bold.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:700}@font-face{font-family:JetBrainsMonoLocal;src:url(/assets/JetBrainsMono-ExtraBold.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:800}@font-face{font-family:IBMPlexMonoLocal;src:url(/assets/IBMPlexMono-Regular.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:IBMPlexMonoLocal;src:url(/assets/IBMPlexMono-SemiBold.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:600}@font-face{font-family:SpotifyMixUI;src:url(https://encore.scdn.co/fonts/SpotifyMixUI-Regular-cc3b1de388efa4cbca6c75cebc24585e.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:SpotifyMixUI;src:url(https://encore.scdn.co/fonts/SpotifyMixUI-Bold-4264b799009b1db5c491778b1bc8e5b7.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:700}:root{--bg: #050607;--surface: rgba(7, 8, 10, .72);--surface-strong: rgba(9, 10, 12, .9);--github-contrib-card-bg: linear-gradient(180deg, rgba(15, 23, 42, .35), rgba(7, 8, 10, .58)), rgba(9, 10, 12, .62);--border: rgba(148, 163, 184, .18);--border-strong: rgba(148, 163, 184, .28);--green: #ffffff;--green-hot: #ffffff;--logo-green: #ffffff;--green-soft: rgba(255, 255, 255, .16);--blue: #ffffff;--text: #f8fafc;--muted: #cbd5e1;--quiet: #94a3b8;--dim: #475569;--mono: "JetBrainsMonoLocal", "JetBrains Mono", "Space Mono", monospace;--ui-mono: "IBMPlexMonoLocal", "IBM Plex Mono", var(--mono);color-scheme:dark;forced-color-adjust:none}html{width:100%;overflow-x:hidden;scroll-behavior:smooth}body{width:100%;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 78% 18%,rgba(148,163,184,.035),transparent 28%),linear-gradient(180deg,#040506,#07080a 52%,#050607);color:var(--text);font-family:var(--mono);forced-color-adjust:none}html.detail-open,body.detail-open{overflow:hidden;overscroll-behavior:none}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(148,163,184,.2) 1px,transparent 1.35px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:24px 24px,96px 96px,96px 96px;opacity:.28}body:after{content:"";position:fixed;inset:0;z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.012),rgba(255,255,255,.012) 1px,transparent 1px,transparent 4px);opacity:.18}button,input{font:inherit}a{color:inherit}#root{width:100%;overflow-x:hidden}.page-shell{position:relative;z-index:1;width:100%;max-width:100vw;min-height:100vh;overflow-x:hidden}.project-3000-background{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 48% 52%,rgba(148,163,184,.035),transparent 38%),linear-gradient(180deg,#040506,#07080a 52%,#050607)}.project-3000-gradient,.project-3000-dotgrid,.project-3000-hexgrid,.project-3000-matrix,.project-3000-floating-code,.project-3000-particles,.project-3000-scanlines,.project-3000-scanline,.project-aa-grain{position:absolute;inset:0;pointer-events:none}.project-3000-gradient{background:linear-gradient(180deg,#05060714,#05060738)}.project-3000-orb{position:absolute;border-radius:999px;filter:blur(38px);mix-blend-mode:screen;opacity:.94;animation:project3000OrbFloat 18s ease-in-out infinite}.project-3000-orb--green{top:-18%;right:-10%;width:min(54vw,620px);height:min(54vw,620px);background:radial-gradient(circle,rgba(255,255,255,.24) 0%,transparent 70%)}.project-3000-orb--blue{bottom:-12%;left:-7%;width:min(42vw,470px);height:min(42vw,470px);background:radial-gradient(circle,rgba(255,255,255,.16) 0%,transparent 70%);animation-duration:15s;animation-direction:reverse}.project-3000-orb--hot{top:38%;left:18%;width:min(32vw,340px);height:min(32vw,340px);background:radial-gradient(circle,rgba(255,255,255,.14) 0%,transparent 62%);animation-duration:8s}.project-3000-dotgrid{background-image:radial-gradient(circle,rgba(148,163,184,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.026) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.022) 1px,transparent 1px);background-size:24px 24px,96px 96px,96px 96px;opacity:.2}.project-3000-hexgrid{background-image:url("data:image/svg+xml,%3Csvg width='112' height='200' viewBox='0 0 112 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2394a3b8' stroke-opacity='.34' stroke-width='.5'%3E%3Cpath d='M56 132L0 100L0 32L56 0L112 32L112 100L56 132L56 200'/%3E%3Cpath d='M56 0L56 68L0 100L0 168L56 200L112 168L112 100L56 68'/%3E%3C/g%3E%3C/svg%3E");background-size:112px 200px;opacity:.1}.project-3000-matrix{overflow:hidden;opacity:.16}.project-3000-matrix span{position:absolute;top:-24%;left:calc(4% + (var(--i) * 7.9%));color:#94a3b838;font-family:var(--ui-mono);font-size:12px;font-weight:800;line-height:1.4;text-shadow:none;writing-mode:vertical-rl;animation:project3000MatrixFall 8s linear infinite;animation-delay:calc(var(--i) * -.65s)}.project-3000-floating-code{overflow:hidden;opacity:.2}.project-3000-floating-code span{position:absolute;top:100%;left:calc(10% + (var(--i) * 14%));color:#94a3b885;font-family:var(--ui-mono);font-size:11px;font-weight:700;letter-spacing:.02em;text-shadow:none;animation:project3000FloatCode 18s linear infinite;animation-delay:calc(var(--i) * -2.6s)}.project-3000-particles{inset:10%;background-image:radial-gradient(circle,rgba(148,163,184,.16) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(226,232,240,.08) 0 1px,transparent 1.4px);background-position:0 0,36px 48px;background-size:96px 96px,142px 142px;opacity:.18;animation:heroParticles 22s linear infinite}.project-3000-scanlines{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.03),rgba(255,255,255,.03) 1px,transparent 1px,transparent 3px);opacity:.07}.project-3000-scanline{height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);animation:project3000Scanline 4s linear infinite}.project-aa-grain{background-repeat:repeat}.project-aa-grain--hard{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20600%22%3E%3Cfilter%20id%3D%22a%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%221.6%22%20numOctaves%3D%226%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20.42%20.42%20.42%200%200%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23a%29%22%2F%3E%3C%2Fsvg%3E);background-size:80px 80px;mix-blend-mode:multiply;opacity:.62}.project-aa-grain--overlay{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20600%22%3E%3Cfilter%20id%3D%22a%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%222.2%22%20numOctaves%3D%225%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20.36%20.36%20.36%200%200%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23a%29%22%2F%3E%3C%2Fsvg%3E);background-size:100px 100px;mix-blend-mode:soft-light;opacity:.5}.project-3000-corner{position:absolute;width:64px;height:64px;opacity:.34}.project-3000-corner--tl{top:32px;left:32px;border-top:2px solid rgba(255,255,255,.55);border-left:2px solid rgba(255,255,255,.55);border-radius:10px 0 0}.project-3000-corner--tr{top:32px;right:32px;border-top:2px solid rgba(255,255,255,.55);border-right:2px solid rgba(255,255,255,.55);border-radius:0 10px 0 0}.project-3000-corner--bl{bottom:32px;left:32px;border-bottom:2px solid rgba(255,255,255,.55);border-left:2px solid rgba(255,255,255,.55);border-radius:0 0 0 10px}.project-3000-corner--br{right:32px;bottom:32px;border-right:2px solid rgba(255,255,255,.55);border-bottom:2px solid rgba(255,255,255,.55);border-radius:0 0 10px}.griffin-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.griffin-backdrop .griffin-visual--backdrop{position:absolute;top:86px;right:-310px;z-index:0;width:min(56vw,760px);max-width:none;opacity:.16}.griffin-visual{position:relative;z-index:1;width:min(100%,560px);aspect-ratio:1326 / 1186;isolation:isolate}.griffin-art,.griffin-glow,.griffin-draw,.griffin-slice{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:screen}.griffin-art{z-index:2;filter:drop-shadow(0 0 12px rgba(255,255,255,.22))}.griffin-glow{z-index:1;-webkit-mask-image:radial-gradient(ellipse at 53% 54%,#000 30%,rgba(0,0,0,.8) 58%,transparent 82%);mask-image:radial-gradient(ellipse at 53% 54%,#000 30%,rgba(0,0,0,.8) 58%,transparent 82%);pointer-events:none}.griffin-glow--wide{opacity:.28;filter:blur(18px) saturate(1.2);animation:auraPulse 4.2s ease-in-out infinite}.griffin-glow--hot{opacity:.14;filter:blur(5px) contrast(1.1) saturate(1.3);animation:hotPulse 2.8s ease-in-out infinite}.griffin-draw,.griffin-slice{display:none}.eye-spark{position:absolute;left:36.9%;top:21.5%;z-index:6;width:2.35%;height:1.68%;border-radius:64% 36% 62% 38%/58% 42% 56% 44%;background:radial-gradient(ellipse at 40% 44%,#fff 0 22%,#fff 38%,#ffffff8f 70%,#ffffff0a);box-shadow:0 0 6px #eafbff,0 0 16px var(--green),0 0 34px var(--green);mix-blend-mode:screen;pointer-events:none;transform:translate(-50%,-50%) rotate(-18deg);transform-origin:center;animation:eyeSpark 1.7s ease-in-out infinite}.site-frame{position:relative;z-index:2;width:100%;min-height:100vh}.top-nav{display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center;min-height:58px;border-bottom:1px solid rgba(148,163,184,.12);padding:0 max(28px,calc((100vw - 820px)/2));font-family:var(--ui-mono)}.brand-mark,.available-pill,.nav-menu{display:flex;align-items:center;min-width:0}.brand-mark{gap:12px;color:var(--muted);font-size:14px;text-decoration:none}.brand-mark span{color:var(--green-hot)}.brand-mark strong{overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.available-pill{justify-content:center;gap:10px;color:#fff;font-size:14px;font-weight:700}.available-pill span{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 18px #ffffff6b}.nav-menu{justify-content:flex-end;gap:28px}.nav-menu a{color:var(--muted);font-size:14px;text-decoration:none;transition:color .18s}.nav-menu a:hover{color:var(--text)}.personal-layout{width:min(100%,820px);margin:0 auto;padding:48px 22px 38px;overflow-x:hidden}.intro-stack{display:grid;gap:32px}.profile-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:28px;border:1px solid var(--border-strong);border-radius:8px;background:#07080ab8;padding:26px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-avatar{width:92px;height:92px;overflow:hidden;border:1px solid var(--border-strong);border-radius:50%;background:#020403}.profile-avatar img{width:100%;height:100%;object-fit:cover;object-position:48% 18%;filter:saturate(1.04) contrast(1.02) brightness(1.03)}.profile-body{min-width:0}.profile-kicker{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--blue);font-size:14px}.profile-kicker i{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 12px #ffffff85}.hero-title-art{display:block;width:min-content;max-width:100%;overflow:hidden;color:var(--green-hot);font-family:var(--mono);font-size:clamp(9px,1.08vw,14px);font-weight:700;line-height:.88;letter-spacing:0;white-space:pre;text-shadow:0 0 8px rgba(255,255,255,.52),0 0 24px rgba(255,255,255,.24)}.profile-summary{max-width:640px;margin-top:18px;color:var(--muted);font-size:15px;line-height:1.62;overflow-wrap:normal}.tag-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;list-style:none}.tag-list li,.project-tags li{border:1px solid var(--border-strong);border-radius:6px;background:#0f172a5c;color:var(--muted);font-family:var(--ui-mono);font-size:12px;line-height:1;padding:7px 10px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:14px}.section-heading h2{color:var(--text);font-size:22px;line-height:1.2}.section-heading span{color:var(--quiet);font-size:12px}.github-contrib-section{--green: #00a85a;--green-hot: #00c26e;--green-soft: rgba(0, 168, 90, .16);width:100%;margin:0 auto;overflow:hidden}.github-contrib-card{border:1px solid rgba(148,163,184,.18);border-radius:16px;background:var(--github-contrib-card-bg);box-shadow:0 24px 70px #00000047,inset 0 1px #ffffff0a;padding:26px 28px 24px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.github-contrib-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.github-contrib-title-group{display:flex;align-items:center;gap:13px;min-width:0}.github-contrib-profile-link{color:inherit;text-decoration:none}.github-contrib-profile-link:focus-visible{outline:1px solid rgba(0,194,110,.5);outline-offset:5px}.github-contrib-icon{display:grid;flex:0 0 auto;width:39px;height:39px;place-items:center;border:0;border-radius:10px;background:transparent;color:#f8fafc;box-shadow:none}.github-contrib-icon svg{display:block;width:29px;height:29px}.github-contrib-title-group h2{color:var(--text);font-size:18px;font-weight:700;line-height:1.2}.github-contrib-title-group p{margin-top:3px;color:var(--quiet);font-size:13px}.github-contrib-total{display:inline-flex;align-items:baseline;flex:0 0 auto;gap:8px;border:1px solid rgba(148,163,184,.16);border-radius:999px;background:#0f172a6b;padding:8px 14px}.github-contrib-total strong{color:var(--green-hot);font-size:24px;line-height:1}.github-contrib-total span{color:var(--quiet);font-size:13px}.github-contrib-scroll{overflow-x:auto;margin:0 -2px;padding:0 2px 8px;scrollbar-color:rgba(0,194,110,.42) transparent;scrollbar-width:thin}.github-contrib-scroll:focus-visible{outline:1px solid rgba(0,194,110,.5);outline-offset:4px}.github-contrib-scroll::-webkit-scrollbar{height:7px}.github-contrib-scroll::-webkit-scrollbar-track{background:transparent}.github-contrib-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#00c26e57}.github-contrib-calendar{display:inline-flex;flex-direction:column;gap:7px;margin:0 auto;min-width:var(--calendar-width)}.github-contrib-months{position:relative;height:16px;margin-left:34px;color:var(--quiet);font-size:11px;line-height:16px}.github-contrib-months span{position:absolute;width:40px;text-transform:capitalize}.github-contrib-body{display:flex;align-items:flex-start;gap:8px}.github-contrib-days{display:grid;grid-template-rows:repeat(7,11px);gap:3px;width:26px;padding-top:1px;color:var(--quiet);font-size:10px;line-height:11px}.github-contrib-days span{display:flex;align-items:center}.github-contrib-days .is-muted{opacity:0}.github-contrib-weeks{display:flex;gap:3px}.github-contrib-week{display:grid;grid-template-rows:repeat(7,11px);gap:3px}.github-contrib-day,.github-contrib-legend i{display:block;width:11px;height:11px;border-radius:3px}.github-contrib-day{border:1px solid rgba(255,255,255,.04);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.github-contrib-day:not(.is-empty):hover{z-index:2;border-color:#00c26e99;box-shadow:0 0 0 2px #00c26e3d,0 0 18px #00a85a4d;transform:scale(1.22)}.github-level-0{background:#161b22}.github-level-1{background:#0e4429}.github-level-2{background:#006d32}.github-level-3{background:#26a641}.github-level-4{background:#39d353;box-shadow:0 0 14px #39d3534d}.github-contrib-day.is-empty{border-color:transparent;background:transparent}.retro-about-section{width:min(456px,calc(100% - 32px));margin:-18px auto 58px;scroll-margin-top:86px}.retro-about-card{overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:var(--github-contrib-card-bg);box-shadow:0 24px 70px #00000047,inset 0 1px #ffffff0a;padding:14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.retro-desktop{position:relative;height:clamp(244px,71vw,326px);overflow:hidden;border:1px solid #111;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 26%),#087f7a;color:#fff;font-family:var(--ui-mono);image-rendering:pixelated;box-shadow:inset 1px 1px #ffffff57,inset -1px -1px #0000005c}.retro-desktop:before{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.045) 3px 4px);mix-blend-mode:soft-light;opacity:.28}.retro-icon{position:absolute;z-index:2;display:grid;width:clamp(56px,16vw,74px);justify-items:center;gap:5px;border:1px solid transparent;background:transparent;color:#fff;cursor:pointer;font-size:clamp(8px,2.3vw,10px);font-weight:600;line-height:1.05;padding:3px 2px;text-align:center;text-shadow:1px 1px 0 #000}.retro-icon:hover,.retro-icon:focus-visible,.retro-icon.is-selected{border-color:#ffffff6b;background:#11182752;outline:none}.retro-icon--bin{top:14px;left:22px}.retro-icon--note{top:14px;right:24px}.retro-icon--build{top:110px;left:22px}.retro-icon--fetch{right:31px;bottom:58px}.retro-file-icon{position:relative;display:block;width:30px;height:35px;border:2px solid #111;background:linear-gradient(135deg,transparent 0 74%,#cfcfcf 74% 100%),#f8f8f8;box-shadow:inset -2px -2px silver,2px 2px #00000038}.retro-file-icon:before,.retro-file-icon:after{content:"";position:absolute}.retro-file-icon--bin{width:32px;height:32px;border:0;background:linear-gradient(90deg,transparent 0 20%,#d8d8d8 20% 80%,transparent 80%),linear-gradient(90deg,transparent 0 28%,#303030 28% 36%,transparent 36% 48%,#303030 48% 56%,transparent 56% 68%,#303030 68% 76%,transparent 76%),linear-gradient(180deg,transparent 0 28%,#f5f5f5 28% 78%,#bcbcbc 78% 100%);box-shadow:none}.retro-file-icon--bin:before{top:0;left:8px;width:16px;height:6px;border:2px solid #111;background:#e7e7e7}.retro-file-icon--bin:after{right:5px;bottom:0;left:5px;height:24px;border:2px solid #111;border-top:0}.retro-file-icon--note:before{top:7px;right:5px;left:5px;height:14px;background:repeating-linear-gradient(0deg,#111 0 1px,transparent 1px 5px);opacity:.9}.retro-file-icon--file:before{inset:7px 5px 6px;background:linear-gradient(90deg,#e11d48 0 5px,transparent 5px 8px,#22c55e 8px 13px,transparent 13px 16px,#38bdf8 16px 21px),linear-gradient(180deg,transparent 0 9px,#111 9px 12px,transparent 12px)}.retro-file-icon--app{background:linear-gradient(180deg,#2430d8 0 7px,#f8f8f8 7px 100%)}.retro-file-icon--app:before{inset:11px 5px 6px;background:linear-gradient(90deg,#111 0 4px,transparent 4px 6px,#111 6px 10px,transparent 10px),repeating-linear-gradient(0deg,transparent 0 4px,#111 4px 5px)}.retro-window{position:absolute;z-index:5;border:2px solid #d8d8d8;background:#bdbdbd;box-shadow:inset 2px 2px #f7f7f7,inset -2px -2px #6b6b6b,5px 5px #0000003d;transition:filter .12s ease;will-change:transform}.retro-window.is-dragging{filter:brightness(1.08);cursor:grabbing}.retro-window.is-maximized{inset:30px 8px;width:auto;height:auto;box-shadow:inset 2px 2px #f7f7f7,inset -2px -2px #6b6b6b,0 0 0 1px #00000047}.retro-window.is-maximized .retro-window-bar{cursor:default}.retro-window--photo{top:9%;left:29%;width:31%;height:42%}.retro-window--signal{top:44%;left:46%;z-index:7;width:33%;height:24%}.retro-window--note{top:20%;left:15%;width:38%;height:34%}.retro-window-bar{display:flex;height:20px;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(90deg,#11188a,#2430d8);color:#fff;cursor:grab;font-size:9px;font-weight:800;line-height:1;padding:2px 3px 2px 5px;text-shadow:1px 1px 0 #000;touch-action:none;-webkit-user-select:none;user-select:none}.retro-window-bar>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retro-window:not(.is-focused) .retro-window-bar{background:#8b8b8b;color:#111;text-shadow:none}.retro-window.is-dragging .retro-window-bar{cursor:grabbing}.retro-window-controls{display:inline-flex;flex:0 0 auto;gap:2px}.retro-window-controls button{display:block;width:14px;height:14px;border:1px solid #111;background:#cfcfcf;cursor:pointer;box-shadow:inset 1px 1px #fff,inset -1px -1px #777;padding:0}.retro-window-controls button:hover,.retro-window-controls button:focus-visible{background:#eee;outline:none}.retro-window-controls button:active{box-shadow:inset 1px 1px #777,inset -1px -1px #fff}.retro-window-controls button:nth-child(1):before,.retro-window-controls button:nth-child(2):before,.retro-window-controls button:nth-child(3):before{display:block;color:#111;font-size:10px;font-style:normal;line-height:11px;text-align:center}.retro-window-controls button:nth-child(1):before{content:"_"}.retro-window-controls button:nth-child(2):before{content:"o"}.retro-window-controls button:nth-child(3):before{content:"x"}.retro-photo-frame{position:relative;height:calc(100% - 20px);margin:4px;overflow:hidden;border:1px solid #6b6b6b;background:#101010}.retro-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:saturate(.58) contrast(1.15) brightness(.78)}.retro-photo-frame:before{content:"";position:absolute;top:22px;left:50%;z-index:2;width:54px;height:54px;border:6px solid rgba(225,29,72,.86);border-radius:50%;transform:translate(-50%) rotate(-12deg)}.retro-photo-frame:after{content:"";position:absolute;top:48px;left:50%;z-index:3;width:58px;height:7px;background:#e11d48eb;transform:translate(-50%) rotate(-35deg)}.retro-photo-warning{position:absolute;top:38px;left:50%;z-index:4;color:#111;font-size:8px;font-weight:900;line-height:1;text-transform:lowercase;transform:translate(-50%)}.retro-signal-screen{position:relative;height:calc(100% - 20px);margin:4px;overflow:hidden;border:1px solid #6b6b6b;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 38%),repeating-linear-gradient(0deg,rgba(255,255,255,.1) 0 1px,transparent 1px 5px),#7f1022}.retro-signal-face{position:absolute;right:11px;bottom:-18px;width:68px;height:78px;border:2px solid #111;border-radius:44% 44% 36% 36%;object-fit:cover;object-position:center 25%;filter:saturate(.78) contrast(1.18) brightness(.86);transform:rotate(-5deg)}.retro-signal-line{position:absolute;left:9px;display:block;width:40px;height:2px;background:#f8fafc;box-shadow:0 8px #f8fafc,0 16px #f8fafc;opacity:.86}.retro-signal-line--one{top:10px}.retro-signal-line--two{top:13px;right:8px;left:auto;width:34px}.retro-signal-copy{position:absolute;bottom:8px;left:12px;color:#f8fafc;font-size:10px;font-weight:900;letter-spacing:.08em;text-shadow:1px 1px 0 #111;text-transform:uppercase}.retro-note-pad{height:calc(100% - 20px);margin:4px;overflow:hidden;border:1px solid #6b6b6b;background:#fffef0;color:#111;font-size:9px;font-weight:800;line-height:1.45;padding:8px}.retro-note-pad p{margin:0 0 4px}.retro-start-menu{position:absolute;bottom:26px;left:4px;z-index:320;display:grid;width:138px;border:2px solid #d8d8d8;background:#c4c4c4;box-shadow:inset 1px 1px #fff,inset -1px -1px #777,5px 5px #0000003d;padding:4px}.retro-start-menu button{border:0;background:transparent;color:#111;cursor:pointer;font-family:var(--ui-mono);font-size:10px;font-weight:800;padding:6px 8px;text-align:left}.retro-start-menu button:hover,.retro-start-menu button:focus-visible{background:#2430d8;color:#fff;outline:none}.retro-status-pop{position:absolute;right:5px;bottom:31px;z-index:210;max-width:188px;overflow:hidden;border:1px solid rgba(17,17,17,.72);background:#fffef0eb;color:#111;font-size:9px;font-weight:800;line-height:1;padding:5px 7px;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.retro-taskbar{position:absolute;right:0;bottom:0;left:0;z-index:300;display:flex;gap:4px;height:26px;align-items:center;border-top:2px solid #f4f4f4;background:#c4c4c4;color:#111;font-size:10px;font-weight:700;padding:2px 4px}.retro-start,.retro-task,.retro-clock{height:20px;overflow:hidden;border:1px solid #777;background:#d7d7d7;box-shadow:inset 1px 1px #fff,inset -1px -1px #777;line-height:18px;padding:0 5px;white-space:nowrap}.retro-start,.retro-task{cursor:pointer;font-family:var(--ui-mono);font-size:10px}.retro-start:focus-visible,.retro-task:focus-visible{outline:1px dotted #111;outline-offset:-3px}.retro-start{flex:0 0 72px;font-weight:900}.retro-start:before{content:"";display:inline-block;width:12px;height:12px;margin-right:4px;vertical-align:-2px;background:linear-gradient(90deg,#111 0 3px,transparent 3px 5px,#111 5px 8px,transparent 8px),linear-gradient(180deg,#facc15 0 50%,#38bdf8 50% 100%)}.retro-task.is-active{background:#eee}.retro-task{min-width:0;flex:1 1 0;text-align:left;text-overflow:ellipsis}.retro-task.is-minimized{color:#1111119e}.retro-clock{flex:0 0 74px;text-align:center}.retro-about-copy{display:grid;gap:18px;padding:18px 0 2px}.retro-about-copy h2{display:flex;align-items:center;gap:9px;margin:0;color:#f8fafc;font-family:var(--ui-mono);font-size:16px;font-weight:900;line-height:1.35;letter-spacing:0}.retro-about-copy h2 span{color:#00c26e;text-shadow:0 0 12px rgba(0,194,110,.56)}.retro-about-copy p{margin:0;color:#e2e8f0c7;font-family:var(--ui-mono);font-size:14px;font-weight:500;line-height:1.65}.github-contrib-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;border-top:1px solid rgba(148,163,184,.13);padding-top:15px;color:var(--quiet);font-size:12px}.github-contrib-legend{display:inline-flex;align-items:center;gap:8px}.github-contrib-legend div{display:flex;gap:4px}@media(max-width:640px){.github-contrib-card{border-radius:14px;padding:18px 16px 16px}.github-contrib-header{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:20px}.github-contrib-total{width:100%;justify-content:center}.github-contrib-footer{align-items:flex-start;flex-direction:column;gap:12px}}@media(max-width:420px){.github-contrib-title-group h2{font-size:17px}.github-contrib-total strong{font-size:22px}.github-contrib-total span{font-size:12px}}.proof-section{width:min(860px,calc(100% - 48px));margin:24px auto 0}.lab-log{width:min(860px,calc(100% - 48px));scroll-margin-top:86px;margin:20px auto 0}.lab-log-inner{width:100%}.lab-log-heading{margin-bottom:10px}.lab-log-grid{display:grid;grid-template-columns:minmax(560px,1.55fr) minmax(280px,.75fr);align-items:start;gap:12px}.lab-log-grid--single{grid-template-columns:minmax(0,1fr)}.lab-log-panel{display:flex;max-height:390px;flex-direction:column;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:var(--github-contrib-card-bg);box-shadow:0 24px 70px #0000003d,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.terminal-window-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(90deg,rgba(34,197,94,.11),transparent 42%),#050607a3;color:var(--muted);font-family:var(--ui-mono);font-size:11px;line-height:1;padding:12px 14px}.terminal-window-bar strong,.terminal-window-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-window-bar strong{color:var(--text);font-weight:900;letter-spacing:.12em;text-transform:uppercase}.terminal-window-bar span{color:#cbd5e194;font-size:10px;font-weight:800;text-transform:uppercase}.log-list,.broken-list{display:grid;flex:1 1 auto;gap:10px;list-style:none;min-height:0;overflow:auto;padding:14px}.log-list li{display:grid;grid-template-columns:minmax(92px,118px) minmax(0,1fr);gap:12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#0506075c;padding:12px}.log-list code{align-self:start;width:fit-content;max-width:100%;border:1px solid rgba(34,197,94,.32);border-radius:6px;background:#22c55e1a;color:#86efac;font-family:var(--ui-mono);font-size:10px;font-weight:900;line-height:1;padding:7px 8px}.log-list strong,.broken-list span{display:block;color:var(--text);font-family:var(--ui-mono);font-size:13px;font-weight:900;line-height:1.25}.log-list p,.broken-list p{margin-top:6px;color:#cbd5e1b8;font-size:12px;line-height:1.55}.broken-list li{border-left:2px solid rgba(248,113,113,.7);border-radius:8px;background:linear-gradient(90deg,rgba(248,113,113,.09),transparent 48%),#0506075c;padding:12px}.broken-list small{display:block;margin-top:8px;color:#fdba74d1;font-family:var(--ui-mono);font-size:10px;font-weight:800;line-height:1.35}.lab-log-panel--github{min-width:0;max-height:470px}.push-log-header{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid rgba(255,255,255,.12);padding:16px}.push-log-header-icon{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#fff}.push-log-header-icon svg{width:18px;height:18px;fill:currentColor}.push-log-header-copy{display:grid;min-width:0;gap:4px;font-family:var(--ui-mono)}.push-log-header-copy strong,.push-log-header-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.push-log-header-copy strong{color:var(--text);font-size:14px;font-weight:800;line-height:1.1}.push-log-header-copy span{color:#cbd5e19e;font-size:11px;font-weight:700;line-height:1.1}.push-log-header-action{display:inline-flex;width:38px;min-height:38px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#fff;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.push-log-header-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.push-log-header-action:hover,.push-log-header-action:focus-visible{border-color:#ffffff75;background:#ffffff24;outline:none;transform:translateY(-1px)}.push-log-actions{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid rgba(255,255,255,.08);padding:12px 14px 0}.push-log-actions a{display:inline-flex;align-items:center;min-height:28px;border:1px solid rgba(129,140,248,.28);border-radius:7px;background:#5865f21f;color:#c7d2fe;font-family:var(--ui-mono);font-size:10px;font-weight:900;line-height:1;padding:0 10px;text-decoration:none;text-transform:uppercase}.push-log-actions a:hover,.push-log-actions a:focus-visible{border-color:#818cf894;color:#eef2ff}.push-log-list{display:grid;flex:1 1 auto;gap:10px;list-style:none;min-height:0;overflow:auto;padding:14px}.push-log-list li{display:grid;grid-template-columns:minmax(170px,.36fr) minmax(0,1fr);gap:12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:linear-gradient(90deg,rgba(88,101,242,.11),transparent 54%),#0506075c;padding:12px}.push-log-meta{display:grid;align-content:start;gap:7px;min-width:0}.push-log-meta a,.push-log-meta strong{overflow:hidden;color:var(--text);font-family:var(--ui-mono);font-size:13px;font-weight:900;line-height:1.25;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.push-log-meta a:hover,.push-log-meta a:focus-visible{color:#c7d2fe}.push-log-meta span,.push-log-meta time{color:#cbd5e19e;font-family:var(--ui-mono);font-size:10px;font-weight:800;line-height:1.3;text-transform:uppercase}.push-log-commits{display:grid;gap:8px;min-width:0}.push-log-commits p{color:#cbd5e1b8;font-size:12px;line-height:1.55}.push-log-commits a,.push-log-line{display:grid;grid-template-columns:minmax(70px,max-content) minmax(0,1fr);align-items:start;gap:10px;color:#e2e8f0cc;font-size:12px;line-height:1.45;text-decoration:none}.push-log-commits a:hover span,.push-log-commits a:focus-visible span{color:#eef2ff}.push-log-commits code,.push-log-line code{width:fit-content;max-width:100%;border:1px solid rgba(129,140,248,.34);border-radius:6px;background:#5865f21f;color:#c7d2fe;font-family:var(--ui-mono);font-size:10px;font-weight:900;line-height:1;padding:6px 7px}.push-log-commits span,.push-log-line span{min-width:0;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.push-log-list .discord-log-message{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:18px;border:0;border-radius:0;background:transparent;padding:16px}.push-log-list .discord-log-message:hover{background:#ffffff06}.push-log-waiting{position:relative;display:grid;grid-template-columns:48px minmax(0,max-content)!important;width:min(100%,360px);min-height:74px;align-items:center;justify-content:center;justify-self:center;gap:12px;overflow:hidden;border:1px solid rgba(148,163,184,.16)!important;border-radius:12px!important;background:linear-gradient(135deg,#0f172ab8,#050607e6),#050607b3!important;box-shadow:inset 0 1px #ffffff0a,0 10px 28px #00000029;padding:10px 14px!important}.push-log-waiting:before{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 6px);content:"";pointer-events:none}.push-log-loader{position:relative;z-index:1;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:#0f172a6b;filter:none}.push-log-loader:before,.push-log-loader:after{position:absolute;border-radius:999px;content:""}.push-log-loader:before{inset:9px;background:conic-gradient(from 90deg,transparent 0 58%,rgba(148,163,184,.28) 63%,rgba(226,232,240,.88) 72%,transparent 80% 100%);-webkit-mask:radial-gradient(circle,transparent 52%,#000 54%);mask:radial-gradient(circle,transparent 52%,#000 54%);animation:pushLogLoaderSpin 4.8s linear infinite}.push-log-loader:after{width:6px;height:6px;background:#94a3b8b8}.push-log-loader span{display:none}.push-log-waiting-copy{position:relative;z-index:1;display:grid;min-width:0;gap:5px;font-family:var(--ui-mono);text-align:center}.push-log-waiting-copy strong{color:#e2e8f0e6;font-size:11px;font-weight:900;letter-spacing:.1em;line-height:1.2;text-transform:uppercase;white-space:normal}.push-log-waiting-copy strong span{display:block}.push-log-waiting-copy small{color:#94a3b8ad;font-size:9px;font-weight:800;line-height:1.35;text-transform:uppercase}.discord-log-content,.contents_c19a55{min-width:0}.avatar_c19a55.clickable_c19a55{display:block;width:46px;height:46px;border-radius:50%;object-fit:cover}.header_c19a55{display:flex;min-width:0;align-items:center;gap:6px;min-height:22px;margin:0;color:#f2f3f5;font-family:gg sans,Noto Sans,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.2}.headerText_c19a55.hasBadges_c19a55{display:inline-flex;min-width:0;align-items:center;gap:4px}.username_c19a55.clickable_c19a55{min-width:0;overflow:hidden;color:#f2f3f5;cursor:default;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.botTagCozy_c19a55.botTag_c19a55,.botTagRegular__82f07.botTag__82f07{display:inline-flex;height:16px;align-items:center;border-radius:3px;background:#5865f2;color:#fff;font-size:10px;font-weight:700;line-height:1;padding:0 4px}.botText__82f07{display:block;line-height:1}.timestamp_c19a55.timestampInline_c19a55{color:#949ba4;font-size:12px;font-weight:500;line-height:1}.discord-log-avatar{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:50%;background:#232428;color:#f2f3f5}.discord-log-avatar img,.discord-log-avatar svg{display:block;width:100%;height:100%}.discord-log-avatar svg{width:28px;height:28px}.discord-log-avatar--mini{width:18px;height:18px}.discord-log-avatar--mini svg{width:14px;height:14px}.discord-message-header{display:flex;min-width:0;align-items:center;gap:6px;color:#f2f3f5;font-family:gg sans,Noto Sans,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.2}.discord-message-header strong{min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.discord-message-header span{display:inline-flex;height:16px;align-items:center;border-radius:3px;background:#5865f2;color:#fff;font-size:10px;font-weight:700;line-height:1;padding:0 4px}.discord-message-header time{color:#949ba4;font-size:12px;line-height:1}.embedFull__623de.embed__623de.markup__75297{width:100%;margin-top:6px;border:1px solid rgba(78,80,88,.9);border-left:4px solid;border-radius:4px;background:var(--github-contrib-card-bg);color:#dbdee1;font-family:gg sans,Noto Sans,Helvetica Neue,Arial,sans-serif;padding:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.gridContainer__623de,.grid__623de{min-width:0}.grid__623de{display:grid;grid-template-columns:minmax(0,1fr)}.embedMargin__623de{margin-top:8px}.embedAuthor__623de.embedMargin__623de{display:flex;min-width:0;align-items:center;gap:8px;margin-top:0}.embedAuthorIcon__623de{display:block;width:20px;height:20px;flex:0 0 auto;border-radius:50%;object-fit:cover}.anchor_edefb8{color:#00a8fc;text-decoration:none}.anchorUnderlineOnHover_edefb8:hover,.anchorUnderlineOnHover_edefb8:focus-visible{text-decoration:underline}.embedAuthorName__623de{min-width:0;overflow:hidden;color:#f2f3f5;font-size:14px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.embedTitle__623de{min-width:0}.embedTitleLink__623de.embedTitle__623de{display:inline;color:#00a8fc;font-size:15px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.embedDescription__623de{color:#dbdee1;font-size:14px;line-height:1.375;overflow-wrap:anywhere}.embedDescription__623de code.inline{border-radius:3px;background:#5865f229;color:#8ab4ff;font-family:var(--ui-mono);font-size:12px;font-weight:700;line-height:1.2;padding:2px 4px}.discord-embed-card{width:min(520px,100%);margin-top:6px;border:1px solid rgba(78,80,88,.9);border-left:4px solid #5865f2;border-radius:4px;background:#2b2d31;color:#dbdee1;font-family:gg sans,Noto Sans,Helvetica Neue,Arial,sans-serif;padding:12px}.discord-embed-author{display:flex;min-width:0;align-items:center;gap:8px;margin-bottom:9px}.discord-embed-author strong{min-width:0;overflow:hidden;color:#f2f3f5;font-size:14px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.discord-embed-title{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;color:#00a8fc;font-size:15px;font-weight:600;line-height:1.25;text-decoration:none}.discord-embed-title:hover,.discord-embed-title:focus-visible{text-decoration:underline}.discord-embed-description{margin-top:8px;color:#dbdee1;font-size:14px;line-height:1.35}.discord-commit-list{display:grid;gap:6px;margin-top:8px}.discord-commit-line{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:6px;color:#dbdee1;font-size:14px;line-height:1.35;text-decoration:none}.discord-commit-line:hover span,.discord-commit-line:focus-visible span{color:#f2f3f5}.discord-commit-line code{border:1px solid rgba(88,101,242,.24);border-radius:4px;background:#5865f224;color:#8ab4ff;font-family:var(--ui-mono);font-size:12px;font-weight:700;line-height:1.2;padding:2px 4px}.discord-commit-line span{min-width:0;overflow-wrap:anywhere}@media(max-width:860px){.lab-log-grid,.push-log-list li{grid-template-columns:1fr}.push-log-list .discord-log-message{grid-template-columns:48px minmax(0,1fr)}}@media(max-width:560px){.lab-log{width:calc(100% - 32px)}.terminal-window-bar{align-items:flex-start;flex-direction:column;gap:6px}.log-list li,.push-log-commits a,.push-log-line{grid-template-columns:1fr}.push-log-list .discord-log-message{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:12px}.push-log-waiting{grid-template-columns:42px minmax(0,max-content)!important;width:min(100%,300px);gap:10px;min-height:68px;padding:9px 12px!important}.push-log-loader{width:40px;height:40px}.discord-log-avatar{width:34px;height:34px}.discord-log-avatar--mini{width:18px;height:18px}.discord-embed-card{padding:10px}}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-more{display:flex;justify-content:center;margin-top:18px}.project-more-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#0f172a61;color:#e2e8f0d1;cursor:pointer;font-family:var(--ui-mono);font-size:11px;font-weight:900;line-height:1;padding:0 14px;text-transform:uppercase;transition:border-color .18s,background .18s,transform .18s}.project-more-button svg{width:14px;height:14px;fill:currentColor;transition:transform .18s}.project-more-button svg.is-open{transform:rotate(180deg)}.project-more-button:hover,.project-more-button:focus-visible{border-color:#94a3b85c;background:#0f172a8a;outline:none;transform:translateY(-1px)}.project-more-button:active{transform:translateY(1px) scale(.98)}.project-card{--project-accent: var(--green-hot);--project-accent-rgb: 255, 255, 255;position:relative;display:flex;flex-direction:column;gap:16px;min-height:335px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-top:2px solid var(--project-accent);border-radius:10px;background:var(--github-contrib-card-bg);padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:default;outline:none;-webkit-user-select:text;user-select:text;box-shadow:none;transition:border-color .22s,box-shadow .22s,transform .22s}.project-card:before{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at top left,rgba(var(--project-accent-rgb),.07),transparent 65%);content:"";opacity:0;pointer-events:none;transition:opacity .24s}.project-card-glow{display:none}.project-card:hover{border-color:rgba(var(--project-accent-rgb),.62);transform:translateY(-3px);box-shadow:none}.project-card.is-active{border-color:rgba(var(--project-accent-rgb),.32)}.project-card:hover:before{opacity:1}.project-card.is-active:before{opacity:.42}.project-card:focus-visible{border-color:rgba(var(--project-accent-rgb),.72);box-shadow:0 0 0 2px rgba(var(--project-accent-rgb),.2)}.project-card-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px}.project-index{display:inline-flex;align-items:baseline;gap:5px;color:#f8fafcb3;font-family:var(--ui-mono);font-size:10px;font-weight:800;letter-spacing:.08em;line-height:1}.project-index small{color:#94a3b86b;font-size:10px;font-weight:800}.project-card-title{position:relative;z-index:1;display:flex;align-items:center;gap:9px}.project-prompt{color:var(--project-accent);font-size:20px;font-weight:900;line-height:1}.project-card h3{color:var(--text);font-size:20px;font-weight:900;letter-spacing:0;line-height:1.1}.project-card h3:before{content:none}.project-status{display:inline-flex;align-items:center;gap:7px;color:var(--project-accent);font-family:var(--ui-mono);font-size:9px;font-weight:800;letter-spacing:.14em;line-height:1;text-transform:uppercase}.project-status i{width:7px;height:7px;border-radius:999px;background:currentColor;box-shadow:0 0 10px rgba(var(--project-accent-rgb),.42)}.project-status.is-building i{animation:statusPulse 1.45s ease-in-out infinite}.project-status.is-paused{color:var(--project-accent)}.project-card-meta{position:relative;z-index:1;display:block}.project-summary{position:relative;z-index:1;display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:5px;margin:0;list-style:none}.project-tags li.is-muted{border-style:dashed;color:#94a3b875;opacity:.74}.project-tags li.project-tech-logo{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-color:#ffffff29;border-radius:10px;background:#ffffff0e;box-shadow:inset 0 1px #ffffff14}.project-tags li.project-tech-logo button{display:grid;width:100%;height:100%;place-items:center;border:0;background:transparent;color:inherit;cursor:pointer}.project-tags li.project-tech-logo.is-selected{border-color:#e2e8f05c;background:linear-gradient(180deg,#ffffff17,#ffffff09),#0f172ad1;box-shadow:inset 0 1px #ffffff1f,0 0 0 1px #ffffff0a}.project-tags li.project-tech-logo img{display:block;width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(var(--project-accent-rgb),.24))}.project-selected-tech{margin:-8px 0 0;width:fit-content;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#030712f5;color:#f8fafcf5;font-family:var(--ui-mono);font-size:10px;font-weight:900;line-height:1;padding:8px 10px;box-shadow:0 0 0 1px #ffffff0a,0 12px 26px #00000052;text-transform:uppercase}.project-proof{position:relative;z-index:1;margin:0}.project-proof-toggle{display:none}.project-proof-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;list-style:none}.project-proof-facts li{overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:6px;background:#ffffff09;color:#94a3b8c7;font-family:var(--ui-mono);font-size:10px;font-weight:800;line-height:1.25;padding:6px 9px;text-overflow:ellipsis;white-space:nowrap;transition:border-color .15s,color .15s}.project-proof-facts li:before{content:".";margin-right:6px;opacity:.42}.project-proof-facts li:hover{border-color:#ffffff21;color:var(--text)}.project-card-footer{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}.project-live-button{display:inline-flex;min-height:42px;flex:1 0 100%;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(var(--project-accent-rgb),.64);border-radius:8px;background:linear-gradient(180deg,rgba(var(--project-accent-rgb),.34),rgba(var(--project-accent-rgb),.16)),#ffffff0b;color:var(--text);cursor:pointer;font-family:inherit;font-size:11px;font-weight:900;line-height:1;padding:0 12px;text-transform:uppercase;box-shadow:inset 0 1px #ffffff29,0 14px 28px #0003;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.project-live-button i{width:8px;height:8px;border-radius:999px;background:var(--project-accent);box-shadow:0 0 14px rgba(var(--project-accent-rgb),.82);animation:projectLivePulse 1.3s ease-in-out infinite}.project-live-button.is-unavailable,.project-live-button:disabled{border-color:#94a3b829;background:#0f172a75;color:#94a3b8c7;cursor:not-allowed;box-shadow:none}.project-live-button.is-unavailable i,.project-live-button:disabled i{background:#94a3b8b3;box-shadow:none;animation:none}.project-tap{display:inline-flex;min-height:36px;flex:1 1 0;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(var(--project-accent-rgb),.28);border-radius:8px;background:linear-gradient(180deg,rgba(var(--project-accent-rgb),.14),rgba(var(--project-accent-rgb),.055)),#ffffff06;color:var(--project-accent);cursor:pointer;font-family:inherit;font-size:11px;font-weight:900;line-height:1;padding:0 12px;text-transform:uppercase;box-shadow:inset 0 1px #ffffff14,0 10px 22px #0000001f;transition:border-color .18s,background .18s,box-shadow .18s,color .18s,transform .18s}.project-action-link,.project-repo-link{display:inline-flex;min-height:36px;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(var(--project-accent-rgb),.42);border-radius:8px;background:linear-gradient(180deg,rgba(var(--project-accent-rgb),.2),rgba(var(--project-accent-rgb),.1)),#ffffff09;color:var(--project-accent);font-size:10px;font-weight:900;line-height:1;padding:0 12px;text-decoration:none;text-transform:uppercase;white-space:nowrap;box-shadow:inset 0 1px #ffffff1a,0 10px 22px #00000024;transition:border-color .18s,background .18s,box-shadow .18s,color .18s,transform .18s}.project-action-link svg,.project-repo-link svg{width:13px;height:13px;fill:currentColor}.project-action-link:hover,.project-action-link:focus-visible,.project-live-button:hover,.project-live-button:focus-visible,.project-tap:hover,.project-tap:focus-visible,.project-repo-link:hover,.project-repo-link:focus-visible{border-color:rgba(var(--project-accent-rgb),.68);background:linear-gradient(180deg,rgba(var(--project-accent-rgb),.27),rgba(var(--project-accent-rgb),.14)),#ffffff0d;box-shadow:inset 0 1px #ffffff21,0 13px 26px #0000002e;outline:none;transform:translateY(-1px)}.project-action-link:active,.project-live-button:active,.project-tap:active,.project-repo-link:active{transform:translateY(1px) scale(.98)}.project-tap svg{width:12px;height:12px;fill:currentColor}.project-card:hover .project-tap{gap:10px;transform:translateY(-1px)}@keyframes projectLivePulse{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.proof-heading{margin-bottom:22px}.profile-sections{display:grid;gap:52px;margin-top:54px}.stack-section,.experience-section{position:relative;isolation:isolate;scroll-margin-top:92px}.stack-section:before,.experience-section:before{content:"";position:absolute;inset:-18px -18px auto;z-index:-1;height:190px;border-top:1px solid rgba(148,163,184,.08);background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.12),transparent 30%),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.045) 1px,transparent 1px);background-size:auto,36px 36px,36px 36px;opacity:.64;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,transparent 100%);pointer-events:none}.stack-section h2,.experience-section h2,.contact-section h2{color:var(--text);font-size:clamp(24px,4vw,34px);font-weight:800;letter-spacing:0;line-height:1.05}.section-copy-block{max-width:640px}.section-copy-block p{max-width:58ch;margin-top:10px;color:var(--quiet);font-family:var(--ui-mono);font-size:13px;font-weight:500;line-height:1.65}.stack-groups{display:grid;gap:24px;margin-top:24px}.stack-group{display:grid;gap:11px}.stack-group-label{display:flex;align-items:center;gap:10px;color:var(--green-hot);font-family:var(--ui-mono);font-size:10px;font-weight:800;letter-spacing:.12em;line-height:1;text-transform:uppercase}.stack-group-label:before{content:"";width:18px;height:1px;background:#ffffffb8;box-shadow:0 0 10px #fff6}.stack-cloud{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;list-style:none}.stack-chip{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:78px;overflow:hidden;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:linear-gradient(180deg,#ffffff07,#fff0),#060709e0;color:var(--muted);padding:13px;box-shadow:inset 0 1px #ffffff09,0 0 #fff0;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease}.stack-chip:after{content:"";position:absolute;inset:auto 14px 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);opacity:0;transition:opacity .22s ease}.stack-chip:hover{border-color:#ffffff6b;background:linear-gradient(180deg,#ffffff13,#fff0),#07080af5;box-shadow:inset 0 1px #ffffff0d,0 14px 34px #00000047,0 0 22px #ffffff14;transform:translateY(-2px)}.stack-chip:hover:after{opacity:1}.stack-logo-wrap{display:grid;flex:0 0 auto;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.13),transparent 64%),#020617c7;box-shadow:inset 0 1px #ffffff09,0 0 18px #ffffff0e;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.stack-chip:hover .stack-logo-wrap{border-color:#ffffff6b;box-shadow:inset 0 1px #ffffff0d,0 0 22px #ffffff29;transform:translateY(-1px)}.stack-logo{display:block;width:25px;height:25px;object-fit:contain;filter:saturate(1.1) drop-shadow(0 0 9px rgba(255,255,255,.14))}.stack-logo.is-hidden{display:none}.stack-custom-logo{display:block;width:25px;height:25px;fill:none;stroke:var(--green);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;filter:drop-shadow(0 0 9px rgba(255,255,255,.2))}.stack-custom-logo-text{fill:var(--green);font-family:var(--mono);font-size:6.2px;font-weight:900;letter-spacing:0;stroke:none;text-anchor:middle}.stack-custom-logo-text--ts{font-size:14px}.stack-logo--dbt{filter:invert(53%) sepia(85%) saturate(1613%) hue-rotate(329deg) brightness(106%) contrast(101%)}.stack-logo--powerbi{filter:invert(83%) sepia(67%) saturate(1673%) hue-rotate(355deg) brightness(99%) contrast(92%)}.stack-logo--invert{filter:invert(1) saturate(0) drop-shadow(0 0 7px rgba(255,255,255,.14))}.stack-fallback{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:0}.stack-copy{display:grid;gap:4px;min-width:0}.stack-name{display:block;color:var(--text);font-size:13px;font-weight:800;line-height:1.25;overflow-wrap:anywhere;white-space:normal}.stack-description{display:block;color:var(--quiet);font-family:var(--ui-mono);font-size:11px;font-weight:500;line-height:1.35}.timeline{position:relative;display:grid;gap:14px;margin-top:24px;padding-left:0}.timeline:before{content:"";position:absolute;top:21px;bottom:26px;left:21px;width:1px;background:linear-gradient(180deg,#ffffff75,#94a3b814);box-shadow:0 0 18px #ffffff1f}.timeline-item{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px}.timeline-marker{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:linear-gradient(180deg,#ffffff14,#07080af5),#07080af5;color:var(--green-hot);font-family:var(--ui-mono);font-size:11px;font-weight:800;letter-spacing:.08em;box-shadow:inset 0 1px #ffffff0a,0 0 22px #ffffff1a}.timeline-card{position:relative;min-height:154px;overflow:hidden;border:1px solid rgba(148,163,184,.15);border-radius:8px;background:linear-gradient(180deg,#ffffff06,#fff0),#060709eb;padding:18px;box-shadow:inset 0 1px #ffffff09,0 16px 38px #00000038;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.timeline-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.028) 1px,transparent 1px);background-size:28px 28px;opacity:0;pointer-events:none;transition:opacity .22s ease}.timeline-card:hover{border-color:#ffffff5c;box-shadow:inset 0 1px #ffffff0b,0 18px 42px #00000047,0 0 26px #ffffff12;transform:translateY(-2px)}.timeline-card:hover:after{opacity:1}.experience-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.build-log-index{display:block;margin-bottom:8px;color:var(--green-hot);font-family:var(--ui-mono);font-size:10px;font-weight:800;letter-spacing:.16em;line-height:1;text-transform:uppercase}.experience-heading h3{color:var(--text);font-size:19px;font-weight:800;line-height:1.18}.experience-heading p{max-width:47ch;margin-top:7px;color:var(--quiet);font-family:var(--ui-mono);font-size:12px;line-height:1.48}.experience-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;white-space:nowrap}.experience-meta span{border:1px solid rgba(148,163,184,.16);border-radius:999px;background:#94a3b80e;color:var(--quiet);font-size:11px;font-weight:800;letter-spacing:.1em;line-height:1;padding:6px 8px;text-transform:uppercase}.experience-meta .build-status--done{border-color:#ffffff4d;background:#ffffff17;color:var(--green-hot)}.experience-meta .build-status--building{border-color:#ffffff47;background:#ffffff14;color:#fff}.experience-meta .build-status--paused{border-color:#fb923c47;background:#fb923c14;color:#fdba74}.experience-meta time{border:1px solid var(--border);border-radius:999px;background:#94a3b80f;color:var(--quiet);font-family:var(--ui-mono);font-size:12px;padding:5px 9px}.timeline-card>p{position:relative;z-index:1;max-width:650px;margin-top:14px;color:var(--muted);font-size:13px;line-height:1.62}.build-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;min-height:34px;margin-top:16px;border:1px solid rgba(255,255,255,.24);border-radius:7px;background:#ffffff0e;color:var(--green-hot);cursor:pointer;font-family:var(--ui-mono);font-size:12px;font-weight:800;line-height:1;padding:0 11px;transition:border-color .2s ease,background .2s ease,transform .2s ease}.build-link svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.build-link:hover{border-color:#ffffff73;background:#ffffff1a;transform:translateY(-1px)}.contact-section p{max-width:650px;margin-top:18px;color:var(--muted);font-size:15px;font-weight:600;line-height:1.62}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.contact-icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--border-strong);border-radius:7px;background:#0f172a5c;color:var(--muted);font-family:var(--ui-mono);text-decoration:none;transition:border-color .18s,color .18s,transform .18s}.contact-icon-button{width:42px}.contact-icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.contact-icon-button:hover{border-color:#ffffff80;color:var(--text);transform:translateY(-1px)}.pgp-key{display:inline-flex;align-items:center;gap:14px;width:min(520px,100%);margin-top:16px;overflow:hidden;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:linear-gradient(180deg,#ffffff1f,#0f172a38),#090a0cb8;color:var(--quiet);font-family:var(--ui-mono);font-size:12px;line-height:1;padding:14px 16px;box-shadow:0 18px 42px #0000003d,0 0 28px #ffffff14,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pgp-key span{flex:0 0 auto;color:var(--green-hot);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.pgp-key code{min-width:0;overflow-wrap:anywhere;color:#f8fafceb;font-family:inherit;font-size:15px;font-weight:900;letter-spacing:.02em}.contact-art{position:relative;min-height:190px;margin-top:22px;overflow:hidden;border:1px solid var(--border-strong);border-radius:8px;background:linear-gradient(180deg,#0506071f,#05060794),radial-gradient(circle at 66% 44%,rgba(255,255,255,.16),transparent 30%),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.06) 1px,transparent 1px),#07080ab8;background-size:auto,auto,28px 28px,28px 28px,auto}.contact-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,10,.35),transparent 48%,rgba(7,8,10,.16))}.command-strip{position:absolute;left:50%;top:60%;z-index:1;transform:translate(-50%,-50%);border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#050607c7;color:var(--text);font-size:13px;font-weight:700;padding:10px 18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.command-strip span{color:var(--green-hot)}.footer-bar{display:flex;align-items:center;justify-content:center;width:min(100%,820px);min-height:0;margin:0 auto;border-top:1px solid rgba(148,163,184,.12);padding:14px 22px 18px}.footer-bar p{display:grid;width:100%;justify-items:center;gap:8px;color:var(--quiet);font-family:var(--ui-mono);font-size:12px;line-height:1.45;text-align:center}.footer-copyright{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.footer-prompt{color:#4ade80bd;font-size:13px}.footer-copy-text{color:#94a3b8c7}.footer-credit{display:inline-flex;max-width:100%;align-items:center;justify-content:center;gap:8px;color:#cbd5e1b8;overflow-wrap:anywhere}.footer-credit:before{content:"//";color:#94a3b894}.footer-links{display:flex;align-items:center;gap:18px}.footer-links a{width:22px;height:22px;color:var(--quiet);opacity:.82;transition:color .18s,opacity .18s}.footer-links a:hover{color:var(--text);opacity:1}.footer-links svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.mobile-dock{display:none}.project-detail{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px}.detail-backdrop{position:absolute;inset:0;background:#000000b8;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.detail-panel{position:relative;z-index:1;width:min(100%,760px);max-height:min(760px,calc(100vh - 48px));overflow:auto;border:1px solid rgba(255,255,255,.4);border-radius:12px;background:radial-gradient(circle at 92% 10%,rgba(255,255,255,.12),transparent 30%),linear-gradient(180deg,#0f172af0,#050607fa);padding:22px;box-shadow:0 0 0 1px #ffffff1f,0 28px 72px #0000009e}.detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-topbar span{color:var(--quiet);font-size:12px;font-weight:800}.detail-back,.detail-secondary{border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#0f172a80;color:var(--muted);font-size:12px;font-weight:800;padding:10px 12px}.detail-heading{display:grid;gap:16px;margin-top:28px}.detail-heading h2{max-width:12ch;color:var(--text);font-size:clamp(34px,8vw,54px);line-height:.96}.detail-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none}.detail-tags li{border:1px solid var(--border-strong);border-radius:6px;background:#0f172a7a;color:var(--muted);font-size:12px;line-height:1;padding:8px 10px}.detail-proof{display:grid;gap:20px;margin-top:30px}.detail-proof div{display:grid;gap:8px}.detail-proof dt{color:var(--green-hot);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.detail-proof dd{margin:0;color:var(--muted);font-size:15px;line-height:1.62}.detail-signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:26px}.detail-signals section{display:grid;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff0b;padding:13px}.detail-signals h3{color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.detail-signals p{color:var(--muted);font-size:12px;line-height:1.5}.detail-evidence{display:grid;gap:14px;margin-top:28px}.evidence-panel{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:linear-gradient(180deg,#020617b8,#02061761),repeating-linear-gradient(0deg,rgba(255,255,255,.022),rgba(255,255,255,.022) 1px,transparent 1px,transparent 24px);padding:13px}.evidence-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.evidence-head h3{color:var(--green-hot);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.evidence-head span{color:var(--quiet);font-size:11px;font-weight:900}.evidence-dashboard,.evidence-terminal,.evidence-guards{list-style:none}.evidence-dashboard{display:grid;gap:8px}.evidence-row{display:grid;grid-template-columns:minmax(54px,.42fr) minmax(0,1fr) minmax(74px,96px) minmax(54px,80px);align-items:center;gap:10px;border:1px solid rgba(148,163,184,.14);border-radius:7px;background:#0000002e;color:var(--muted);font-family:var(--ui-mono);font-size:12px;line-height:1.2;padding:9px 10px}.evidence-row span,.evidence-row em,.evidence-row b{overflow:hidden;font-style:normal;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.evidence-row strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.evidence-row em{color:var(--text)}.evidence-row b{color:var(--quiet);text-align:right}.detail-evidence.is-policy .evidence-row{grid-template-columns:minmax(104px,.5fr) minmax(0,1fr) minmax(82px,96px) minmax(64px,82px)}.detail-evidence.is-auth .evidence-row{grid-template-columns:minmax(92px,.44fr) minmax(0,1fr) minmax(62px,80px) minmax(92px,118px)}.detail-evidence.is-crypto .evidence-row{grid-template-columns:minmax(82px,.42fr) minmax(0,1fr) minmax(72px,92px) minmax(76px,98px)}.evidence-row.is-ok em{color:#fff}.evidence-row.is-warn em,.evidence-row.is-rate em{color:#fbbf24}.evidence-row.is-fail em{color:#f87171}.evidence-terminal{display:grid;gap:6px;counter-reset:terminal-line}.evidence-terminal li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;color:var(--muted);font-family:var(--ui-mono);font-size:12px;line-height:1.45}.evidence-terminal li:before{counter-increment:terminal-line;content:counter(terminal-line,decimal-leading-zero);color:var(--dim)}.evidence-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.evidence-metrics div{display:grid;gap:7px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#fff1;padding:12px}.evidence-metrics span{color:var(--quiet);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.evidence-metrics strong{color:var(--text);font-size:16px;line-height:1}.evidence-guards{display:flex;flex-wrap:wrap;gap:8px}.evidence-guards li{border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff0e;color:var(--muted);font-size:12px;font-weight:800;line-height:1.2;padding:8px 10px}.detail-runtime{display:grid;gap:18px;margin-top:28px}.detail-block{display:grid;gap:12px}.detail-block h3{color:var(--green-hot);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.detail-code-list,.detail-chip-list,.detail-alert-list{list-style:none}.detail-code-list{display:grid;gap:8px}.detail-code-list li{border:1px solid rgba(148,163,184,.18);border-radius:7px;background:#0206178a;color:var(--text);font-family:var(--ui-mono);font-size:13px;line-height:1.35;padding:10px 12px}.detail-chip-list,.detail-alert-list{display:flex;flex-wrap:wrap;gap:8px}.detail-chip-list li,.detail-alert-list li{border:1px solid rgba(148,163,184,.2);border-radius:6px;background:#0f172a7a;color:var(--muted);font-size:12px;line-height:1.2;padding:8px 10px}.detail-alert-list li{border-color:#ffffff47;background:#ffffff14;color:var(--text)}.detail-screen-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-screen{display:grid;gap:8px;min-height:126px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#02061770;padding:13px}.detail-screen strong{color:var(--text);font-size:13px;line-height:1.2}.detail-screen p{color:var(--quiet);font-size:12px;line-height:1.48}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.detail-primary,.detail-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;text-decoration:none}.detail-primary{border:1px solid rgba(255,255,255,.42);border-radius:8px;background:#ffffff1f;color:var(--text);font-size:13px;font-weight:900;padding:0 16px}@keyframes matrixDrop{0%{transform:translateY(-105%)}to{transform:translateY(105%)}}@keyframes terminalCursorBlink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes statusPulse{0%,to{opacity:.42;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}@keyframes auraPulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.36;transform:scale(1.015)}}@keyframes hotPulse{0%,to{opacity:.1}50%{opacity:.22}}@keyframes eyeSpark{0%,to{opacity:.72;filter:brightness(.88);box-shadow:0 0 6px #eafbff,0 0 14px var(--green),0 0 26px var(--green)}50%{opacity:1;filter:brightness(1.25);box-shadow:0 0 10px #eafbff,0 0 24px var(--green),0 0 48px var(--green)}}@keyframes contribRise{0%{opacity:0;transform:translateY(5px) scale(.72)}}@keyframes contribBreathe{0%,to{filter:brightness(1)}50%{filter:brightness(calc(1 + var(--heat) * .32))}}@keyframes contribAura{0%,to{opacity:calc(var(--heat) * .6);transform:scale(.92)}50%{opacity:calc(var(--heat) * 1);transform:scale(1.18)}}@keyframes titlePulse{0%,to{opacity:.48;transform:scaleX(.72)}50%{opacity:.9;transform:scaleX(1)}}@keyframes lockGlitch{0%,to{opacity:0;clip-path:inset(0 0 0 0);transform:translate(-50%) skew(0)}4%{opacity:.96;clip-path:inset(var(--slice-top-a, 5%) 0 var(--slice-bottom-a, 82%) 0);transform:translate(calc(-50% + var(--glitch-x-a, -10px))) skew(var(--glitch-skew-a, -7deg))}8%{opacity:.92;clip-path:inset(var(--slice-top-b, 30%) 0 var(--slice-bottom-b, 54%) 0);transform:translate(calc(-50% + var(--glitch-x-b, 12px))) skew(var(--glitch-skew-b, 4deg))}12%{opacity:.84;clip-path:inset(var(--slice-top-c, 61%) 0 var(--slice-bottom-c, 24%) 0);transform:translate(calc(-50% + var(--glitch-x-c, -7px))) skew(var(--glitch-skew-c, -3deg))}16%{opacity:0;clip-path:inset(0 0 0 0);transform:translate(-50%) skew(0)}42%{opacity:.9;clip-path:inset(var(--slice-top-c, 42%) 0 var(--slice-bottom-c, 42%) 0);transform:translate(calc(-50% + var(--glitch-x-b, 9px))) skew(var(--glitch-skew-b, 5deg))}47%{opacity:.98;clip-path:inset(var(--slice-top-a, 76%) 0 var(--slice-bottom-a, 7%) 0);transform:translate(calc(-50% + var(--glitch-x-a, -14px))) skew(var(--glitch-skew-a, -6deg))}52%{opacity:0;clip-path:inset(0 0 0 0);transform:translate(-50%) skew(0)}78%{opacity:.74;clip-path:inset(var(--slice-top-b, 16%) 0 var(--slice-bottom-b, 70%) 0);transform:translate(calc(-50% + var(--glitch-x-c, 6px))) skew(var(--glitch-skew-c, 2deg))}84%{opacity:0;clip-path:inset(0 0 0 0);transform:translate(-50%) skew(0)}}@keyframes pushLogLoaderSpin{to{transform:rotate(360deg)}}@keyframes pushLogDotPulse{0%,to{opacity:.2;transform:rotate(calc(var(--dot-index) * 45deg)) translateY(calc(var(--loader-radius) * -1)) scale(.72)}42%{opacity:.98;transform:rotate(calc(var(--dot-index) * 45deg)) translateY(calc(var(--loader-radius) * -1)) scale(1.18)}}@keyframes glitchBars{0%,to{opacity:0;transform:translateZ(0);background-position:var(--bar-shift-a, -14px) var(--bar-y-1, 18%),var(--bar-shift-b, 22px) var(--bar-y-2, 43%),var(--bar-shift-c, -30px) var(--bar-y-3, 67%),18px var(--bar-y-4, 88%),0 0}5%{opacity:.92;transform:translate3d(var(--glitch-x-a, -10px),0,0);background-position:0 var(--bar-y-1, 9%),var(--bar-shift-a, 28px) var(--bar-y-2, 39%),var(--bar-shift-b, -44px) var(--bar-y-3, 69%),var(--bar-shift-c, 16px) var(--bar-y-4, 91%),0 0}9%{opacity:.62;transform:translate3d(var(--glitch-x-b, 13px),0,0);background-position:var(--bar-shift-b, 34px) var(--bar-y-4, 18%),var(--bar-shift-c, -32px) var(--bar-y-3, 48%),12px var(--bar-y-2, 76%),-20px var(--bar-y-1, 96%),0 0}14%{opacity:0;transform:translateZ(0)}44%{opacity:.78;transform:translate3d(var(--glitch-x-c, 8px),0,0);background-position:-22px var(--bar-y-2, 10%),18px var(--bar-y-1, 44%),var(--bar-shift-a, 46px) var(--bar-y-4, 64%),var(--bar-shift-b, -38px) var(--bar-y-3, 86%),0 0}49%{opacity:.96;transform:translate3d(var(--glitch-x-a, -15px),0,0);background-position:14px var(--bar-y-3, 24%),var(--bar-shift-c, -54px) var(--bar-y-2, 51%),8px var(--bar-y-1, 72%),var(--bar-shift-a, 30px) var(--bar-y-4, 92%),0 0}56%{opacity:0;transform:translateZ(0)}81%{opacity:.7;transform:translate3d(var(--glitch-x-b, 11px),0,0);background-position:20px var(--bar-y-4, 16%),-18px var(--bar-y-1, 45%),var(--bar-shift-b, 38px) var(--bar-y-3, 68%),var(--bar-shift-c, -44px) var(--bar-y-2, 90%),0 0}86%{opacity:0;transform:translateZ(0)}}@keyframes glyphChroma{0%,to{text-shadow:var(--chroma-red, -.045em) 0 rgba(255,28,48,.76),var(--chroma-blue, .045em) 0 rgba(52,69,255,.62),0 0 18px rgba(255,255,255,.14)}7%{text-shadow:var(--chroma-red, -.09em) 0 rgba(255,28,48,.92),var(--chroma-blue, .075em) 0 rgba(52,69,255,.72),var(--chroma-cyan, .035em) 0 rgba(255,255,255,.78),0 0 22px rgba(255,255,255,.22)}46%{text-shadow:var(--chroma-red, -.065em) 0 rgba(255,28,48,.86),var(--chroma-blue, .105em) 0 rgba(52,69,255,.7),var(--chroma-cyan, -.02em) 0 rgba(255,255,255,.64)}83%{text-shadow:var(--chroma-red, -.035em) 0 rgba(255,28,48,.72),var(--chroma-blue, .08em) 0 rgba(52,69,255,.68),var(--chroma-cyan, .025em) 0 rgba(255,255,255,.72)}}@keyframes lockImpact{0%,to{transform:translateY(0);border-color:#94a3b81c}10%{transform:translateY(1px);border-color:#94a3b838;box-shadow:inset 0 0 14px #94a3b80f}22%{transform:translateY(-1px);border-color:#e2e8f03d}36%{transform:translateY(0);border-color:#94a3b829}}@keyframes heroParticles{0%{background-position:0 0,36px 48px}to{background-position:96px 96px,178px 190px}}@keyframes heroMatrixRain{0%{opacity:0;transform:translate3d(0,-36vh,0)}12%{opacity:.18}72%{opacity:.3}to{opacity:0;transform:translate3d(0,128vh,0)}}@keyframes project3000OrbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-20px) scale(1.05)}50%{transform:translate(-20px,30px) scale(.96)}75%{transform:translate(-30px,-10px) scale(1.02)}}@keyframes project3000Scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes project3000MatrixFall{0%{transform:translateY(-12vh);opacity:0}10%,86%{opacity:1}to{transform:translateY(128vh);opacity:0}}@keyframes project3000FloatCode{0%{transform:translateY(0) translate(0);opacity:0}10%,78%{opacity:1}to{transform:translateY(-118vh) translate(20px);opacity:0}}@keyframes avatarMicroTremor{0%,to{transform:translateZ(0)}17%{transform:translate3d(1px,0,0)}18%{transform:translate3d(-1px,0,0)}19%{transform:translateZ(0)}72%{transform:translate3d(-1px,1px,0)}73%{transform:translate3d(1px,-1px,0)}74%{transform:translateZ(0)}}@keyframes avatarMicroOverlay{0%,to{clip-path:inset(0 0 0 0);transform:translateZ(0);opacity:.1}22%{clip-path:inset(35% 0 48% 0);transform:translate3d(1px,0,0);opacity:.18}23%{clip-path:inset(0 0 0 0);transform:translateZ(0);opacity:.1}79%{clip-path:inset(58% 0 26% 0);transform:translate3d(-1px,0,0);opacity:.16}}@keyframes titleMicroTremor{0%,to{transform:translateZ(0)}27%{transform:translate3d(1px,0,0)}28%{transform:translate3d(-1px,0,0)}29%{transform:translateZ(0)}81%{transform:translate3d(0,-1px,0)}82%{transform:translateZ(0)}}@keyframes scrollCueFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-4px)}}@keyframes scrollArrowBoil{0%,to{transform:translate(0)}33%{transform:translate(.5px,-.4px)}66%{transform:translate(-.4px,.5px)}}@keyframes scrollTextBoil{0%,to{transform:rotate(5deg) translate(0)}33%{transform:rotate(5deg) translate(.5px)}66%{transform:rotate(5deg) translateY(.5px)}}@media(prefers-reduced-motion:reduce){.griffin-glow,.eye-spark,.hero-title-mobile:before,.hero-title-mobile:after,.home-hero:before,.hero-matrix-rain span,.scroll-cue,.scroll-arrow path,.scroll-note,.push-log-loader,.push-log-loader:before,.push-log-loader span,.stack-chip,.stack-logo-wrap,.timeline-card,.build-link{animation:none;transition:none}.title-wheel{transition:none}.hero-title-mobile.is-scrambling .title-wheel{filter:none}.hero-title-mobile.is-locking .title-tumbler,.hero-title-mobile.is-locking .title-wheel-char{animation:none}.hero-title-mobile.is-locking:after{opacity:0}}@media(max-width:820px){.top-nav{grid-template-columns:1fr;gap:14px;justify-items:start;padding:16px 22px}.available-pill{grid-row:1}.nav-menu{justify-content:flex-start}.personal-layout{padding-top:34px}.profile-card{grid-template-columns:72px minmax(0,1fr);gap:18px;padding:20px}.profile-avatar{width:72px;height:72px}.hero-title-art{font-size:clamp(7px,1.9vw,11px)}.project-grid{grid-template-columns:1fr}.proof-section{width:100%;padding:0 22px}.stack-cloud{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.timeline-item{grid-template-columns:40px minmax(0,1fr);gap:12px}.timeline-marker{width:40px;height:40px}.experience-heading{grid-template-columns:1fr}.experience-meta{align-items:flex-start}.griffin-backdrop .griffin-visual--backdrop{top:180px;right:-250px;width:680px;opacity:.11}}@media(max-width:540px){.top-nav{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:14px 18px}.brand-mark{display:none}.available-pill{grid-row:auto;justify-content:flex-start;gap:8px;font-size:12px}.available-pill span{width:9px;height:9px}.nav-menu{justify-content:flex-end;gap:14px}.nav-menu a{font-size:12px}.personal-layout{width:100%;padding:34px 18px 112px}.profile-card{grid-template-columns:72px minmax(0,1fr);gap:18px;padding:18px}.profile-avatar{grid-row:1 / 3;width:72px;height:72px}.profile-body{display:contents}.profile-kicker,#hero-title{grid-column:2}.profile-kicker{margin-bottom:4px}.hero-title-art{font-size:clamp(5.5px,1.55vw,6.5px)}.profile-summary{grid-column:1 / -1}.profile-summary{max-width:none;margin-top:2px;font-size:14px;line-height:1.55}.section-heading{align-items:flex-start;flex-direction:column;gap:6px}.proof-section{width:100%;margin-top:0;padding:18px 18px 0;transform:none}.proof-section .section-heading{position:sticky;top:58px;z-index:8;margin:0 -18px 16px;border-bottom:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,#050607f5,#050607db),#050607eb;padding:14px 18px 16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.proof-section .section-heading h2{font-size:clamp(24px,7vw,32px)}.proof-section .section-heading span{max-width:250px;font-size:12px;line-height:1.45}.project-grid{display:flex;flex-direction:column;gap:18px;scroll-snap-type:y proximity}.project-card{min-height:0;scroll-snap-align:start;border-color:#ffffff12;border-top-color:var(--project-accent);border-radius:10px;background:var(--github-contrib-card-bg);padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none;content-visibility:auto;contain-intrinsic-size:400px 500px}.project-card.is-active{border-color:rgba(var(--project-accent-rgb),.5);box-shadow:none;transform:translateY(-2px)}.project-card-header{align-items:flex-start}.project-index{font-size:12px}.project-card h3{font-size:clamp(20px,6vw,25px);line-height:1.08}.project-summary{max-width:30ch;font-size:14px;line-height:1.58}.project-proof{margin-top:18px}.project-proof-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;border:0;border-top:1px solid rgba(148,163,184,.16);background:transparent;color:var(--muted);cursor:pointer;font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:.16em;padding:12px 0 0;text-align:left;text-transform:uppercase}.project-proof-toggle svg{width:12px;height:12px;fill:currentColor;opacity:.72;transition:transform .2s,color .2s}.project-card.is-proof-open .project-proof-toggle{color:var(--project-accent)}.project-card.is-proof-open .project-proof-toggle svg{transform:rotate(180deg)}.project-tags{gap:8px;margin-top:18px}.project-card-footer{margin-top:18px;padding-top:17px}.project-proof-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:none;overflow:visible;opacity:1;pointer-events:auto;transform:none;transition:none}.project-proof-facts li{font-size:10px;padding:8px 9px}.project-tags li{border-color:#ffffff21;background:#ffffff09;padding:7px 9px;font-size:11px}.project-tap{color:var(--project-accent);font-size:12px}.profile-sections{gap:34px;margin-top:38px}.stack-section:before,.experience-section:before{inset:-14px -18px auto;height:150px;background-size:auto,30px 30px,30px 30px;opacity:.5}.stack-section h2,.experience-section h2,.contact-section h2{font-size:clamp(24px,7vw,30px)}.section-copy-block p{margin-top:9px;font-size:12px;line-height:1.58}.stack-groups{gap:20px;margin-top:22px}.stack-cloud{grid-template-columns:1fr;gap:9px}.stack-chip{grid-template-columns:38px minmax(0,1fr);min-height:70px;padding:12px}.stack-logo-wrap{width:38px;height:38px}.stack-custom-logo,.stack-logo{width:23px;height:23px}.stack-name{font-size:13px}.stack-description{font-size:10px}#sobre,#contato{scroll-margin-top:82px}.timeline{gap:12px;padding-left:0}.timeline:before,.timeline-marker{display:none}.timeline-item{grid-template-columns:1fr}.timeline-card{min-height:0;padding:16px}.experience-heading{gap:14px}.experience-meta{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.timeline-card>p{font-size:12px}.build-link{justify-content:space-between;width:100%}.contact-section p{font-size:14px}.pgp-key{align-items:flex-start;flex-direction:column;gap:10px;line-height:1.35;padding:14px}.pgp-key code{font-size:14px}.contact-art{min-height:150px}.command-strip{max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-bar{padding:16px 22px 22px}.footer-bar p{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.footer-prompt{margin-left:0}.footer-copyright,.footer-credit{position:static;max-width:none;transform:none}.mobile-dock{position:fixed;right:14px;bottom:14px;left:14px;z-index:30;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:#050607e6;padding:7px;font-family:var(--ui-mono);box-shadow:0 18px 38px #00000057;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-dock a{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:42px;border:1px solid rgba(148,163,184,0);border-radius:8px;color:var(--quiet);font-size:11px;font-weight:800;text-decoration:none;transition:background .34s ease,border-color .34s ease,color .34s ease,opacity .34s ease}.mobile-dock a span{min-width:0;max-width:100%;overflow-wrap:anywhere;text-align:center;line-height:1.05}.mobile-dock svg{flex:0 0 auto;width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.mobile-dock a:hover{border-color:#94a3b82e;background:#94a3b80b;color:var(--muted)}.mobile-dock a.is-active{border-color:#ffffff3d;background:#ffffff12;color:var(--text)}.mobile-dock a:active{background:#94a3b814}.project-detail{align-items:end;padding:12px}.detail-panel{width:100%;max-height:calc(100svh - 24px);border-radius:13px;padding:18px}.detail-heading{margin-top:24px}.detail-heading h2{font-size:clamp(38px,12vw,48px)}.detail-proof dd{font-size:16px}.detail-signals{grid-template-columns:1fr}.evidence-row{grid-template-columns:38px minmax(76px,1fr) 72px 42px;gap:6px;font-size:11px;padding:9px}.evidence-row strong,.evidence-row b{font-size:11px}.detail-evidence.is-policy .evidence-row{grid-template-columns:minmax(0,1fr) 76px}.detail-evidence.is-auth .evidence-row{grid-template-columns:minmax(88px,1fr) 78px}.detail-evidence.is-crypto .evidence-row{grid-template-columns:minmax(88px,1fr) 76px}.detail-evidence.is-policy .evidence-row b,.detail-evidence.is-auth .evidence-row b,.detail-evidence.is-crypto .evidence-row b{text-align:left}.evidence-terminal li{font-size:11px}.evidence-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-screen-list{grid-template-columns:1fr}.detail-screen{min-height:auto}.detail-code-list li,.detail-chip-list li,.detail-alert-list li{font-size:12px}.detail-actions{display:grid;grid-template-columns:1fr}.detail-primary,.detail-secondary{width:100%}}.top-nav{position:sticky;top:0;z-index:20;background:#050607d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-title{display:none}.personal-layout{padding-top:0}.home-hero{position:relative;isolation:isolate;display:grid;place-items:center;min-height:clamp(650px,calc(82svh - 58px),880px);overflow:hidden;padding:42px 0 76px}.hero-video-bg{position:absolute;top:50%;left:50%;width:118%;height:118%;object-fit:cover;object-position:center;transform:translate(-50%,-50%);z-index:-2;opacity:.38;pointer-events:none;filter:brightness(.6) contrast(1.1) saturate(.9)}.home-hero:before{content:"";position:absolute;inset:9% -8% 14%;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.22) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(226,232,240,.1) 0 1px,transparent 1.4px);background-position:0 0,36px 48px;background-size:96px 96px,142px 142px;opacity:.28;transform:translateZ(0);animation:heroParticles 22s linear infinite}@supports not (height: 100svh){.home-hero{min-height:clamp(650px,calc(82vh - 58px),880px)}}.home-hero .profile-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:0;width:min(100%,660px);border:0;background:transparent;padding:0;text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none}.home-hero .profile-avatar{position:relative;display:grid;place-items:center;width:clamp(156px,24vw,214px);height:clamp(156px,24vw,214px);border-radius:18px;background:transparent;box-shadow:0 0 0 1px #ffffff0a,0 0 22px #00c26e1f,0 0 56px #00c26e0f;transform:none}.home-hero .profile-avatar:before{content:"";position:absolute;inset:-8px;border-radius:inherit;background:radial-gradient(circle,rgba(255,255,255,.16) 0%,rgba(0,194,110,.1) 38%,transparent 72%);filter:blur(12px);opacity:.88;pointer-events:none;z-index:0}.home-hero .profile-avatar img{position:relative;z-index:1;width:132%;height:132%;object-fit:contain;object-position:center;filter:saturate(.72) brightness(.78) contrast(1.14);mix-blend-mode:screen;opacity:.9;transform:none}.home-hero .profile-symbol img{width:76%;height:76%;filter:drop-shadow(0 0 10px rgba(255,255,255,.42)) drop-shadow(0 0 28px rgba(255,255,255,.2));opacity:.92}.home-hero .profile-photo-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:grayscale(.22) sepia(.34) saturate(1.9) hue-rotate(85deg) brightness(.72) contrast(1.34);mix-blend-mode:normal;opacity:.9;animation:avatarMicroTremor 7.2s steps(1,end) infinite}.home-hero .profile-photo-avatar:after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;background:linear-gradient(180deg,#08140c0a,#040a0742),repeating-linear-gradient(180deg,rgba(145,255,183,.08) 0,rgba(145,255,183,.08) 1px,transparent 1px,transparent 4px),radial-gradient(circle at 50% 16%,rgba(193,255,221,.18),transparent 28%);mix-blend-mode:screen;opacity:.42;pointer-events:none}.home-hero .profile-body{display:flex;flex-direction:column;align-items:center;min-width:0}.home-hero .profile-kicker{justify-content:center;margin:28px 0 24px;color:#cbd5e1b8;font-family:var(--ui-mono);font-weight:600}.home-hero .profile-kicker i{display:none}.home-hero #hero-title{width:min(100%,560px)}.home-hero .hero-title-art{display:none}.hero-title-mobile{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.08em;color:#e5e7eb;cursor:default;font-family:var(--mono);font-size:clamp(34px,7vw,64px);font-weight:800;line-height:.94;letter-spacing:0;text-indent:0;text-shadow:0 1px 0 rgba(255,255,255,.08),0 18px 34px rgba(0,0,0,.54);transition:color .26s ease,opacity .26s ease,text-shadow .26s ease;-webkit-user-select:none;user-select:none}.hero-title-mobile.is-scrambling{color:#e2e8f0c7;opacity:.88;text-shadow:0 1px 0 rgba(255,255,255,.06),0 18px 34px rgba(0,0,0,.58)}.hero-title-mobile:before{content:attr(data-text);position:absolute;top:-.02em;left:50%;z-index:4;opacity:0;color:#f8fafcfa;font:inherit;letter-spacing:0;text-indent:0;pointer-events:none;filter:contrast(1.22) saturate(1.3);text-shadow:-.09em 0 rgba(255,28,48,.92),.08em 0 rgba(52,69,255,.72),.035em 0 rgba(0,255,255,.54);transform:translate(-50%)}.hero-title-mobile.is-locking:before{animation:none}.hero-title-mobile.is-locking.is-glitching:before{animation:lockGlitch var(--glitch-duration, .16s) steps(1,end) both}.hero-title-mobile.is-locking{color:#f8fafc;filter:contrast(1.08);animation:titleMicroTremor 6.2s steps(1,end) infinite}.hero-title-mobile.is-locking:after{inset:-.18em -.22em -.28em;z-index:5;height:auto;border-radius:0;background:linear-gradient(90deg,transparent 0 3%,rgba(0,255,255,.46) 3% 22%,transparent 22% 34%,rgba(255,28,48,.52) 34% 43%,transparent 43% 56%,rgba(52,69,255,.42) 56% 75%,transparent 75% 100%),linear-gradient(90deg,transparent 0 8%,rgba(255,28,48,.48) 8% 28%,transparent 28% 43%,rgba(0,255,255,.44) 43% 62%,transparent 62% 76%,rgba(248,250,252,.46) 76% 88%,transparent 88% 100%),linear-gradient(90deg,transparent 0 5%,rgba(52,69,255,.44) 5% 25%,transparent 25% 38%,rgba(0,255,255,.42) 38% 48%,transparent 48% 70%,rgba(255,28,48,.48) 70% 86%,transparent 86% 100%),linear-gradient(90deg,rgba(248,250,252,.42) 0 10%,transparent 10% 30%,rgba(0,255,255,.38) 30% 47%,transparent 47% 66%,rgba(52,69,255,.42) 66% 84%,transparent 84% 100%),repeating-linear-gradient(0deg,transparent 0 .16em,rgba(248,250,252,.12) .16em .18em,transparent .18em .32em);background-size:100% .055em,100% .075em,100% .045em,100% .065em,100% 100%;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat;mix-blend-mode:screen;opacity:0;pointer-events:none;transform-origin:center;animation:none}.hero-title-mobile.is-locking.is-glitching:after{animation:glitchBars var(--glitch-duration, .16s) steps(1,end) both}.hero-title-mobile.is-locking .title-tumbler{border-color:transparent;background:transparent;box-shadow:none;animation:lockImpact .62s steps(1,end)}.hero-title-mobile.is-locking .title-tumbler:before,.hero-title-mobile.is-locking .title-tumbler:after{opacity:0}.hero-title-mobile.is-locking .title-wheel-char{color:#f8fafc;text-shadow:-.045em 0 rgba(255,28,48,.54),.045em 0 rgba(52,69,255,.46)}.hero-title-mobile.is-locking.is-glitching .title-wheel-char{animation:glyphChroma var(--glitch-duration, .16s) steps(1,end) both}.title-tumbler{position:relative;display:inline-block;width:.86em;height:1.08em;overflow:hidden;border-inline:1px solid rgba(148,163,184,.11);border-radius:.08em;background:linear-gradient(180deg,rgba(226,232,240,.08),transparent 18%,transparent 76%,rgba(0,0,0,.3)),#0308063d;transition:background .24s ease,border-color .24s ease,box-shadow .24s ease}.title-tumbler--code{width:.48em;margin-inline:-.035em}.hero-title-mobile.is-locking .title-tumbler--code{border-block:1px solid rgba(148,163,184,.26);border-inline:0;background:linear-gradient(180deg,#94a3b81c,#94a3b809),#0308062e;box-shadow:inset 0 0 10px #94a3b814}.hero-title-mobile.is-locking .title-tumbler--code-start{margin-left:.03em;border-left:1px solid rgba(148,163,184,.26);border-radius:.12em 0 0 .12em}.hero-title-mobile.is-locking .title-tumbler--code-mid{border-radius:0}.hero-title-mobile.is-locking .title-tumbler--code-end{margin-right:.03em;border-right:1px solid rgba(148,163,184,.26);border-radius:0 .12em .12em 0}.hero-title-mobile.is-locking .title-tumbler--code .title-wheel-char{color:#e5e7eb;text-shadow:1px 0 rgba(0,255,255,.22),-1px 0 rgba(255,28,48,.2)}.title-tumbler:before,.title-tumbler:after{content:"";position:absolute;right:0;left:0;z-index:2;height:22%;pointer-events:none}.title-tumbler:before{top:0;background:linear-gradient(180deg,rgba(5,6,7,.92),transparent)}.title-tumbler:after{bottom:0;background:linear-gradient(0deg,rgba(5,6,7,.9),transparent)}.title-wheel{display:flex;flex-direction:column;transform:translate3d(0,var(--offset),0);transition:transform 1.28s steps(5,end);transition-delay:var(--delay);will-change:transform}.hero-title-mobile.is-priming .title-wheel{transition:none}.hero-title-mobile.is-scrambling .title-wheel{filter:blur(.35px)}.title-wheel-char{display:grid;place-items:center;height:1.08em;color:inherit;font:inherit;line-height:1}.hero-title-mobile:after{content:"";position:absolute;right:0;bottom:-14px;left:0;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.38),transparent);transform-origin:center;animation:titlePulse 4.6s ease-in-out infinite}.home-hero .profile-summary{max-width:610px;margin-top:22px;color:var(--text);font-size:clamp(14px,2.4vw,17px);font-weight:700;line-height:1.68;text-align:center}.home-hero .profile-summary--compact{display:grid;gap:6px;max-width:390px;margin-top:20px;color:#e2e8f0e6;font-family:var(--mono);font-size:clamp(13px,2vw,15px);font-weight:700;line-height:1.35}.profile-summary--compact span{display:block}.profile-summary mark{border:1px solid rgba(148,163,184,.2);border-radius:6px;background:#0f172aa3;color:var(--muted);padding:2px 7px}.scroll-cue{position:absolute;left:50%;bottom:34px;display:inline-flex;align-items:flex-end;gap:12px;transform:translate(-50%);color:#e2e8f085;font-family:var(--ui-mono);font-size:11px;font-weight:600;line-height:1.18;letter-spacing:.08em;text-decoration:none;opacity:.92;text-transform:uppercase;animation:scrollCueFloat 4.8s ease-in-out infinite}.scroll-arrow{width:68px;height:58px;overflow:visible;transform:rotate(-8deg)}.scroll-arrow path{fill:none;stroke:currentColor;stroke-dasharray:118;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4;animation:scrollArrowBoil .34s steps(1) infinite}.scroll-note{display:block;min-width:max-content;margin-bottom:22px;text-align:left;transform:none}[data-scroll-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay, 0ms)}[data-scroll-reveal].is-revealed{opacity:1}.proof-section .project-grid{transition-delay:80ms}.proof-section .project-grid:not(.is-revealed) .project-card-header,.proof-section .project-grid:not(.is-revealed) .project-card-title,.proof-section .project-grid:not(.is-revealed) .project-summary,.proof-section .project-grid:not(.is-revealed) .project-tags,.proof-section .project-grid:not(.is-revealed) .project-proof,.proof-section .project-grid:not(.is-revealed) .project-card-footer,.proof-section .project-grid:not(.is-revealed) .project-v0-toprow,.proof-section .project-grid:not(.is-revealed) .project-v0-heading,.proof-section .project-grid:not(.is-revealed) .project-v0-description,.proof-section .project-grid:not(.is-revealed) .project-v0-section,.proof-section .project-grid:not(.is-revealed) .project-v0-actions{opacity:0;transform:translateY(10px)}.proof-section .project-grid.is-revealed .project-card-header,.proof-section .project-grid.is-revealed .project-card-title,.proof-section .project-grid.is-revealed .project-summary,.proof-section .project-grid.is-revealed .project-tags,.proof-section .project-grid.is-revealed .project-proof,.proof-section .project-grid.is-revealed .project-card-footer,.proof-section .project-grid.is-revealed .project-v0-toprow,.proof-section .project-grid.is-revealed .project-v0-heading,.proof-section .project-grid.is-revealed .project-v0-description,.proof-section .project-grid.is-revealed .project-v0-section,.proof-section .project-grid.is-revealed .project-v0-actions{opacity:1;transform:none;transition:opacity .56s cubic-bezier(.22,1,.36,1),transform .56s cubic-bezier(.22,1,.36,1)}.proof-section .project-grid.is-revealed .project-card-header,.proof-section .project-grid.is-revealed .project-v0-toprow{transition-delay:calc(var(--reveal-delay, 0ms) + 40ms)}.proof-section .project-grid.is-revealed .project-card-title,.proof-section .project-grid.is-revealed .project-v0-heading{transition-delay:calc(var(--reveal-delay, 0ms) + 95ms)}.proof-section .project-grid.is-revealed .project-summary,.proof-section .project-grid.is-revealed .project-v0-description{transition-delay:calc(var(--reveal-delay, 0ms) + 145ms)}.proof-section .project-grid.is-revealed .project-tags,.proof-section .project-grid.is-revealed .project-v0-section:nth-of-type(1){transition-delay:calc(var(--reveal-delay, 0ms) + 205ms)}.proof-section .project-grid.is-revealed .project-proof,.proof-section .project-grid.is-revealed .project-v0-section:nth-of-type(2){transition-delay:calc(var(--reveal-delay, 0ms) + 255ms)}.proof-section .project-grid.is-revealed .project-card-footer,.proof-section .project-grid.is-revealed .project-v0-actions{transition-delay:calc(var(--reveal-delay, 0ms) + .31s)}@media(prefers-reduced-motion:reduce){[data-scroll-reveal]{opacity:1;transition:none}.proof-section .project-grid{transition:none}.proof-section .project-grid .project-card-header,.proof-section .project-grid .project-card-title,.proof-section .project-grid .project-summary,.proof-section .project-grid .project-tags,.proof-section .project-grid .project-proof,.proof-section .project-grid .project-card-footer,.proof-section .project-grid .project-v0-toprow,.proof-section .project-grid .project-v0-heading,.proof-section .project-grid .project-v0-description,.proof-section .project-grid .project-v0-section,.proof-section .project-grid .project-v0-actions{opacity:1;transform:none;transition:none}}.proof-section{scroll-margin-top:0}@media(max-width:820px){.home-hero{min-height:calc(100svh - 92px);padding:54px 0 104px}.home-hero .hero-title-art{font-size:clamp(5.5px,1.35vw,8px)}}@media(max-width:540px){.top-nav{grid-template-columns:38px minmax(0,1fr) auto;min-height:58px;padding:12px 16px}.brand-mark{display:inline-flex;justify-content:center;width:34px;height:34px;border:1px solid rgba(148,163,184,.18);border-radius:50%;background:#0f172a57}.brand-mark span{color:var(--muted);font-size:12px}.brand-mark strong,.available-pill{display:none}.mobile-title{display:block;justify-self:center;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}.nav-menu{gap:10px}.nav-menu a{display:grid;place-items:center;width:34px;height:34px;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:50%;background:#0f172a57;font-size:0}.nav-menu a:after{content:attr(data-short);color:var(--muted);font-size:12px;font-weight:800}.home-hero{min-height:calc(100svh - 58px);padding:42px 0 96px}.home-hero .profile-card{width:100%}.home-hero .profile-avatar{width:158px;height:158px;border-radius:18px}.home-hero .profile-kicker{margin-top:32px;font-size:13px}.home-hero .hero-title-art{display:none}.hero-title-mobile{display:inline-block;font-size:clamp(34px,10vw,42px)}.home-hero .profile-summary--compact{max-width:300px;margin-top:18px;font-size:13px;line-height:1.48}.scroll-cue{bottom:86px;gap:8px;font-size:13px}.scroll-arrow{width:60px;height:52px}.scroll-note{margin-bottom:20px}}.project-detail{position:fixed;inset:0;z-index:60;display:flex;align-items:stretch;justify-content:flex-end;padding:0}.detail-backdrop{position:absolute;inset:0;border:0;background:#000000a6;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:detailFadeIn .22s ease both}.detail-panel{position:relative;z-index:1;display:flex;width:min(100%,500px);height:100dvh;max-height:none;flex-direction:column;overflow:hidden;border:0;border-left:1px solid rgba(148,163,184,.1);border-radius:0;background:#070809;padding:0;box-shadow:-30px 0 80px #0000008f;animation:detailSlideIn .34s cubic-bezier(.2,.82,.24,1) both}.detail-drag{display:none}.detail-hero{position:relative;flex:0 0 auto;overflow:hidden;border-bottom:1px solid rgba(148,163,184,.08);background:linear-gradient(135deg,rgba(var(--project-accent-rgb),.12),transparent 60%);padding:28px 32px 26px}.detail-close{position:absolute;top:20px;right:20px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#ffffff08;color:#64748b;transition:border-color .16s,background .16s,color .16s,transform .16s}.detail-close svg,.detail-icon-link svg,.detail-context svg,.detail-highlight-icon svg,.detail-secondary svg,.detail-primary svg{width:15px;height:15px;fill:currentColor}.detail-close:hover{border-color:#ffffff24;background:#ffffff0f;color:var(--text);transform:translateY(-1px)}.detail-watermark{position:absolute;right:22px;bottom:-8px;color:rgba(var(--project-accent-rgb),.055);font-family:var(--ui-mono);font-size:96px;font-weight:900;letter-spacing:0;line-height:.82;pointer-events:none;-webkit-user-select:none;user-select:none}.detail-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:13px}.detail-count{color:var(--project-accent);font-size:11px;font-weight:900;letter-spacing:.14em}.detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.detail-title-row h2{max-width:13ch;color:var(--text);font-size:clamp(24px,6vw,32px);font-weight:800;letter-spacing:0;line-height:1.1}.detail-link-row{display:flex;flex:0 0 auto;gap:8px;margin-top:2px}.detail-icon-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff08;color:#64748b;transition:border-color .16s,background .16s,color .16s,transform .16s}.detail-icon-link:hover{border-color:rgba(var(--project-accent-rgb),.3);background:rgba(var(--project-accent-rgb),.07);color:var(--project-accent);transform:translateY(-1px)}.detail-status{display:inline-flex;width:fit-content;align-items:center;gap:7px;border:1px solid rgba(var(--project-accent-rgb),.22);border-radius:999px;background:rgba(var(--project-accent-rgb),.07);color:var(--project-accent);font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1;padding:6px 8px;text-transform:uppercase}.detail-status i{width:6px;height:6px;border-radius:999px;background:currentColor;box-shadow:0 0 10px rgba(var(--project-accent-rgb),.42)}.detail-status.is-building i{animation:statusPulse 1.45s ease-in-out infinite}.detail-status.is-paused{border-color:#94a3b82e;background:#94a3b80e;color:var(--quiet)}.detail-scroll{min-height:0;flex:1;overflow:auto}.detail-inner{display:flex;flex-direction:column;gap:28px;padding:26px 32px 28px}.detail-proof{display:grid;gap:18px;margin:0}.detail-proof div{position:relative;display:grid;gap:7px;padding-left:14px}.detail-proof div:before{position:absolute;top:2px;bottom:2px;left:0;width:2px;border-radius:999px;background:rgba(var(--project-accent-rgb),.52);content:""}.detail-proof dt{color:var(--project-accent);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.detail-proof dd{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.detail-context{display:grid;gap:11px;border:1px solid rgba(148,163,184,.08);border-radius:12px;background:#ffffff05;padding:16px}.detail-context div{display:flex;align-items:center;gap:8px;color:#475569}.detail-context span,.detail-section-label b{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.detail-context p{margin:0;color:#64748b;font-size:13px;line-height:1.72}.detail-block{display:grid;gap:14px}.detail-section-label{display:flex;align-items:center;gap:9px}.detail-section-label span{height:1px;flex:1;background:#94a3b812}.detail-section-label b{flex:0 0 auto;color:#334155}.detail-highlight-list{display:grid;gap:10px}.detail-highlight{display:flex;gap:12px;border:1px solid rgba(148,163,184,.08);border-radius:12px;background:rgba(var(--project-accent-rgb),.045);padding:14px;transition:border-color .18s,background .18s}.detail-highlight:hover{border-color:rgba(var(--project-accent-rgb),.22);background:rgba(var(--project-accent-rgb),.06)}.detail-highlight-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:28px;height:28px;margin-top:2px;border-radius:9px;background:rgba(var(--project-accent-rgb),.12);color:var(--project-accent)}.detail-highlight h3{margin:0 0 5px;color:var(--text);font-size:13px;font-weight:800}.detail-highlight p{margin:0;color:#64748b;font-size:12px;line-height:1.65}.detail-proof-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;list-style:none}.detail-proof-facts li{overflow:hidden;border:1px solid rgba(var(--project-accent-rgb),.24);border-radius:9px;background:rgba(var(--project-accent-rgb),.075);color:var(--text);font-size:11px;font-weight:900;line-height:1.28;padding:10px 11px;text-overflow:ellipsis;white-space:nowrap}.detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;list-style:none}.detail-tags li{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff08;color:#64748b;font-family:var(--ui-mono);font-size:11px;line-height:1;padding:8px 10px}.detail-tags .detail-tech-logo{display:grid;width:42px;height:42px;place-items:center;padding:0}.detail-tech-logo img{display:block;width:23px;height:23px;object-fit:contain}.detail-tech-logo span{color:var(--text);font-family:var(--ui-mono);font-size:10px;font-weight:900}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;padding:2px 0 4px}.detail-primary,.detail-secondary{display:inline-flex;min-height:44px;flex:1 1 180px;align-items:center;justify-content:center;gap:9px;border-radius:12px;font-size:13px;font-weight:800;text-decoration:none;transition:border-color .16s,background .16s,color .16s,opacity .16s,transform .16s}.detail-primary{border:1px solid rgba(var(--project-accent-rgb),.42);background:var(--project-accent);color:#050608}.detail-secondary{border:1px solid rgba(255,255,255,.08);background:transparent;color:var(--quiet)}.detail-primary:hover,.detail-secondary:hover{transform:translateY(-1px)}.detail-primary:hover{opacity:.9}.detail-secondary:hover{border-color:#ffffff26;background:#ffffff0d;color:var(--text)}@media(max-width:760px){.project-detail{align-items:flex-end;justify-content:center;padding:0 10px}.detail-backdrop{background:#000000bf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.detail-panel{width:100%;height:auto;max-height:93svh;border:1px solid rgba(148,163,184,.12);border-bottom:0;border-radius:20px 20px 0 0;animation:detailDrawerUp .32s cubic-bezier(.2,.82,.24,1) both}.detail-drag{display:flex;flex:0 0 auto;justify-content:center;padding:14px 0 7px}.detail-drag span{width:36px;height:3px;border-radius:999px;background:#94a3b82e}.detail-hero{padding:20px 22px 24px}.detail-close{display:none}.detail-watermark{right:18px;font-size:82px}.detail-title-row h2{max-width:11ch;font-size:clamp(26px,8vw,34px)}.detail-inner{gap:26px;padding:24px 22px 28px}.detail-proof dd,.detail-context p{font-size:14px}.detail-actions{display:grid;grid-template-columns:1fr}.detail-primary,.detail-secondary{width:100%}}.project-live{position:fixed;inset:0;z-index:95;display:grid;place-items:center;overflow:hidden;overscroll-behavior:contain;padding:18px}.project-live-backdrop{position:absolute;inset:0;border:0;background:#02060ac7;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:modalBackdropIn .24s ease-out both}.project-live-panel{position:relative;z-index:1;display:grid;width:min(760px,100%);max-height:min(720px,calc(100dvh - 36px));overflow:hidden;border:1px solid rgba(var(--project-accent-rgb),.28);border-radius:16px;background:linear-gradient(180deg,rgba(var(--project-accent-rgb),.12),transparent 32%),#05080bf5;box-shadow:0 30px 86px #00000094,inset 0 1px #ffffff14;transform-origin:center;animation:livePanelReveal .34s cubic-bezier(.2,.82,.2,1) both}.project-live-panel.is-mainframe-live{grid-template-rows:auto auto minmax(0,1fr);width:min(980px,100%);height:min(860px,calc(100dvh - 28px));max-height:calc(100dvh - 28px);border-color:#22d3ee47;border-radius:16px;background:linear-gradient(180deg,rgba(34,211,238,.08),transparent 28%),#05090a;box-shadow:0 30px 90px #000000ad,0 0 0 1px #22d3ee14,inset 0 0 96px #22d3ee09}.project-live-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(255,255,255,.09);padding:18px}.project-live-panel.is-mainframe-live .project-live-header{align-items:center;min-height:58px;border-bottom-color:#22d3ee2e;background:#00000057;padding:12px 16px}.mainframe-live-state{display:flex;align-items:center;gap:16px;min-width:0}.mainframe-live-state span{display:inline-flex;align-items:center;gap:8px;color:#22c55e;letter-spacing:.08em}.mainframe-live-state span i{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 6px #22c55e4d}.mainframe-live-state b{color:#94a3b8d6;font-family:var(--ui-mono);font-size:11px;font-weight:800;text-transform:uppercase}.mainframe-live-titlebar{border-bottom:1px solid rgba(34,211,238,.1);background:#0000003d;padding:12px 18px}.mainframe-live-titlebar h2{margin:0;color:#f8fafcf5;font-family:var(--ui-mono);font-size:clamp(17px,3vw,24px);line-height:1.1;overflow-wrap:anywhere}.project-live-header span{color:var(--project-accent);font-family:var(--ui-mono);font-size:10px;font-weight:900;text-transform:uppercase}.project-live-header h2{margin-top:5px;color:var(--text);font-size:clamp(20px,4vw,30px);line-height:1.05}.project-live-panel.is-mainframe-live .mainframe-live-state span{color:#22c55e}.project-live-panel.is-mainframe-live .mainframe-live-state b{color:#94a3b8d6}.project-live-close{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#ffffff12;color:var(--text);cursor:pointer}.project-live-close svg{width:15px;height:15px;fill:currentColor}.project-live-screen{margin:18px;overflow:hidden;border:1px solid rgba(var(--project-accent-rgb),.28);border-radius:12px;background:#020405}.project-live-panel.is-mainframe-live .project-live-screen{display:grid;min-height:0;margin:0;border:0;border-radius:0;background:#000}.project-live-panel.is-mainframe-live .project-live-toolbar{display:none}.project-live-toolbar{display:flex;align-items:center;gap:7px;min-height:38px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff0d;padding:0 12px}.project-live-toolbar span{width:9px;height:9px;border-radius:999px;background:#f8fafc6b}.project-live-toolbar span:first-child{background:#f87171}.project-live-toolbar span:nth-child(2){background:#facc15}.project-live-toolbar span:nth-child(3){background:#22c55e}.project-live-toolbar b{margin-left:auto;color:#cbd5e1b3;font-family:var(--ui-mono);font-size:10px;font-weight:900;text-transform:uppercase}.project-live-terminal{display:grid;gap:10px;min-height:280px;align-content:start;padding:18px;color:#e2e8f0e6;font-family:var(--ui-mono);font-size:12px;line-height:1.55}.project-live-terminal p{opacity:0;animation:projectLiveLine .38s ease forwards;animation-delay:calc(var(--line-index, 0) * .16s)}.project-live-running{display:inline-flex;width:fit-content;align-items:center;gap:8px;margin-top:8px;color:var(--project-accent);font-weight:900;text-transform:uppercase}.project-live-running i{width:8px;height:8px;border-radius:999px;background:var(--project-accent);box-shadow:0 0 16px rgba(var(--project-accent-rgb),.86);animation:projectLivePulse 1.3s ease-in-out infinite}.tn3270-native-preview{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0;overflow:hidden;background:linear-gradient(#ffffff06 50%,#0000000d 50%) 0 0 / 100% 4px,#030606}.tn3270-native-preview:after{position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 86px #22d3ee09;content:""}.tn3270-native-frame-shell{min-height:0;overflow:hidden;border-bottom:1px solid rgba(34,211,238,.14);background:#000;padding:8px}.tn3270-native-frame{display:block;width:100%;height:100%;min-height:0;border:0;background:#000}.tn3270-public-screen{display:grid;align-content:start;gap:2px;width:100%;height:100%;min-height:0;margin:0;overflow:auto;border:0;background:linear-gradient(#ffffff05 50%,#0000000d 50%) 0 0 / 100% 4px,radial-gradient(ellipse at 50% 0%,rgba(34,211,238,.07),transparent 46%),#000;color:#a0f4b8e6;font:13px/1.28 Cascadia Mono,Lucida Console,Courier New,ui-monospace,monospace;letter-spacing:0;padding:14px;text-shadow:0 0 3px rgba(160,244,184,.16);white-space:pre}.tn3270-public-screen span{display:block;min-height:1.28em}.tn3270-native-preview.is-public-demo .tn3270-native-statusbar b{color:#22d3eec7}.tn3270-native-preview.is-public-demo .tn3270-native-statusbar i{background:#22d3ee;box-shadow:0 0 5px #22d3ee4d}.tn3270-native-controls{display:grid;gap:12px;min-height:0;overscroll-behavior:contain;border-top:1px solid rgba(255,255,255,.035);background:linear-gradient(180deg,rgba(34,211,238,.045),transparent),#000000b8;padding:14px 14px 12px}.tn3270-native-command-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:10px}.tn3270-native-command-row>span{display:inline-flex;align-items:center;gap:8px;overflow:hidden;color:#94a3b8d6;font-family:var(--ui-mono);font-size:10px;font-weight:900;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.tn3270-native-command-row>span b{max-width:160px;overflow:hidden;color:#22c55ed1;font-size:9px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.tn3270-native-controls input,.tn3270-native-controls button,.tn3270-native-secondary-actions a{border:1px solid rgba(34,211,238,.25);border-radius:8px;background:#02060abd;color:#e2e8f0f0;font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:0}.tn3270-native-controls input{width:100%;min-height:42px;min-width:0;padding:0 14px;font-size:13px}.tn3270-native-controls button{cursor:pointer;text-transform:uppercase}.tn3270-execute-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:0 15px;border-color:#14532dc7;background:linear-gradient(145deg,#47e068,#16a34a 48%,#0b6f32);color:#052e16;text-shadow:0 1px 0 rgba(187,247,208,.62);box-shadow:inset 1px 1px #f0fdf46b,inset -2px -3px #052e1659,0 3px #031f0ed1,0 0 8px #22c55e14}.tn3270-native-keypad{display:grid;grid-template-columns:repeat(9,minmax(54px,1fr));gap:10px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:linear-gradient(145deg,#94a3b821,#0f172a1a 38%,#00000047),#090c10b3;padding:10px;box-shadow:inset 1px 1px #ffffff14,inset -1px -1px #00000073}.tn3270-native-keypad button{position:relative;display:grid;min-height:62px;place-items:center;overflow:hidden;padding:8px 10px 10px;border:1px solid rgba(15,23,42,.82);border-radius:9px;background:linear-gradient(145deg,#9aa3ac,#707b86 42%,#3f4852 72%,#222a33);color:#071018;box-shadow:inset 2px 2px #ffffff57,inset -2px -4px #00000057,0 3px #04080ceb,0 8px 16px #00000047;text-shadow:0 1px 0 rgba(255,255,255,.26);transition:box-shadow .12s,filter .12s,transform .12s}.tn3270-native-keypad button:before{position:absolute;inset:4px 5px auto;height:38%;border-radius:6px 6px 10px 10px;background:linear-gradient(180deg,#ffffff38,#ffffff05);content:"";pointer-events:none}.tn3270-native-keypad button strong{position:relative;color:#0b1220;font-size:25px;line-height:1}.tn3270-native-keypad button span{position:relative;color:#071018eb;font-size:10px;font-weight:900;letter-spacing:.05em;line-height:1.05;text-transform:uppercase}.tn3270-native-keypad button.is-active{border-color:#22d3ee7a;filter:brightness(.9);transform:translateY(2px);box-shadow:inset 1px 1px #ffffff2e,inset -1px -2px #00000073,0 1px #04080ceb,0 0 18px #22d3ee3d}.tn3270-native-keypad button:hover,.tn3270-native-keypad button:focus-visible{filter:brightness(1.08)}.tn3270-native-keypad .tn3270-native-utility-key.is-cancel{order:8;border-color:#7f1d1ddb;background:linear-gradient(145deg,#fb7185,#ef4444 44%,#991b1b);color:#220507;box-shadow:inset 2px 2px #fee2e26b,inset -2px -4px #450a0a61,0 3px #230808eb,0 0 18px #ef44442e}.tn3270-native-keypad .tn3270-native-menu-key{order:7}.tn3270-native-keypad .tn3270-native-utility-key.is-accept{order:9;border-color:#14532ddb;background:linear-gradient(145deg,#86efac,#22c55e 46%,#15803d);color:#052e16;box-shadow:inset 2px 2px #f0fdf475,inset -2px -4px #052e1661,0 3px #031f0eeb,0 0 8px #22c55e14}.tn3270-native-keypad .tn3270-native-utility-key.is-cancel strong,.tn3270-native-keypad .tn3270-native-utility-key.is-cancel span,.tn3270-native-keypad .tn3270-native-utility-key.is-accept strong,.tn3270-native-keypad .tn3270-native-utility-key.is-accept span{color:currentColor}.tn3270-native-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tn3270-native-secondary-actions a,.tn3270-native-secondary-actions button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:0 14px;color:#22d3eee0;text-decoration:none}.tn3270-native-secondary-actions button{border-color:#94a3b83d;color:#94a3b8e0}.tn3270-native-controls button:disabled,.tn3270-native-controls input:disabled{cursor:wait;opacity:.62}.tn3270-native-controls button:hover,.tn3270-native-controls button:focus-visible,.tn3270-native-controls input:focus-visible,.tn3270-native-secondary-actions a:hover,.tn3270-native-secondary-actions a:focus-visible{border-color:#67e8f9b8;outline:none}.tn3270-native-statusbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:30px;border-top:1px solid rgba(34,211,238,.1);background:#000000a3;padding:0 14px;color:#94a3b88f;font-family:var(--ui-mono);font-size:10px;font-weight:900;text-transform:uppercase}.tn3270-native-statusbar b{display:inline-flex;align-items:center;gap:7px;color:#22c55ec2;font-size:inherit}.tn3270-native-statusbar i{width:7px;height:7px;border-radius:999px;background:#22c55e;box-shadow:0 0 5px #22c55e4d}.tn3270-preview{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:14px;padding:14px}.tn3270-bezel{display:grid;min-width:0;overflow:hidden;border:1px solid rgba(125,255,145,.2);border-radius:14px;background:linear-gradient(180deg,#7dff9112,#0a120b6b),#060a06;box-shadow:inset 0 1px #ffffff14,0 16px 38px #00000061}.tn3270-statusbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border-bottom:1px solid rgba(125,255,145,.14);padding:9px 12px;color:#e2e8f0d1;font-family:var(--ui-mono);font-size:10px;font-weight:900;text-transform:uppercase}.tn3270-statusbar span{display:inline-flex;min-width:0;align-items:center;gap:8px}.tn3270-statusbar i{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:#22c55e;box-shadow:0 0 14px #22c55ecc}.tn3270-statusbar b{color:#94a3b8cc;font-weight:900}.tn3270-statusbar strong{color:#7dff91;font-weight:900}.tn3270-screen{min-height:340px;margin:0;overflow:auto;border:10px solid #050805;background:linear-gradient(#ffffff09 50%,#0000 50%),radial-gradient(circle at 50% 35%,rgba(125,255,145,.14),transparent 58%),#041007;background-size:auto 4px,auto,auto;color:#7dff91;font-family:"Cascadia Mono","Lucida Console","Courier New",var(--ui-mono);font-size:11px;line-height:1.36;padding:17px 18px;text-shadow:0 0 9px rgba(125,255,145,.5);white-space:pre;animation:tn3270FrameIn .28s ease both}.tn3270-command-row{display:flex;min-width:0;align-items:center;gap:8px;border-top:1px solid rgba(125,255,145,.14);padding:10px 12px;color:#e2e8f0db;font-family:var(--ui-mono);font-size:10px;font-weight:800}.tn3270-command-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tn3270-command-row i{width:8px;height:14px;flex:0 0 auto;background:#7dff91;box-shadow:0 0 12px #7dff91b3;animation:terminalCursorBlink .78s steps(2,end) infinite}.tn3270-pf-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 12px 12px}.tn3270-pf-row button{min-height:36px;border:1px solid rgba(125,255,145,.2);border-radius:8px;background:#0f172ac7;color:#e2e8f0db;font-family:var(--ui-mono);font-size:10px;font-weight:900;text-transform:uppercase;cursor:pointer}.tn3270-pf-row button:hover,.tn3270-pf-row button:focus-visible,.tn3270-pf-row button.is-active{border-color:#7dff91b8;color:#7dff91;outline:none}.tn3270-run-card{display:grid;align-content:start;gap:14px;border:1px solid rgba(var(--project-accent-rgb),.24);border-radius:14px;background:linear-gradient(180deg,rgba(var(--project-accent-rgb),.14),#0f172a6b),#020617cc;padding:15px;color:#e2e8f0db}.tn3270-run-card>span{color:var(--project-accent);font-family:var(--ui-mono);font-size:10px;font-weight:900;text-transform:uppercase}.tn3270-run-card>strong{color:var(--text);font-size:16px;line-height:1.1}.tn3270-run-card dl{display:grid;gap:8px;margin:0}.tn3270-run-card dl div{display:grid;gap:3px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px}.tn3270-run-card dt,.tn3270-run-card dd{margin:0;font-family:var(--ui-mono);font-size:10px}.tn3270-run-card dt{color:#94a3b8b8;font-weight:900;text-transform:uppercase}.tn3270-run-card dd{color:#bfdbfe;font-weight:800}.tn3270-run-card p{margin:0;color:#cbd5e1bd;font-size:12px;line-height:1.5}.project-live-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:flex-end;border-top:1px solid rgba(255,255,255,.09);padding:0 18px 18px}.project-live-footer a,.project-live-footer button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#ffffff12;color:var(--text);font-family:var(--ui-mono);font-size:11px;font-weight:900;padding:0 14px;text-decoration:none;text-transform:uppercase}.project-live-footer button{cursor:pointer}.project-native-3270-button{border-color:#67e8f961!important;color:#bfdbfe!important}.project-native-3270-status{color:#94a3b8c7;font-family:var(--ui-mono);font-size:10px;font-weight:800;text-transform:uppercase}@media(max-width:760px){.project-live{align-items:end;padding:8px}.project-live-panel{max-height:calc(100dvh - 16px);border-radius:16px}.project-live-panel.is-mainframe-live{width:100%;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.project-live-header{padding:10px 12px}.project-live-panel.is-mainframe-live .project-live-header{min-height:56px;padding:10px 12px}.mainframe-live-state{gap:10px}.mainframe-live-state b{display:none}.mainframe-live-titlebar{padding:10px 12px}.mainframe-live-titlebar h2{font-size:15px}.project-live-header h2{margin-top:3px;font-size:16px;overflow-wrap:anywhere}.project-live-close{width:36px;height:36px}.project-live-screen{margin:12px}.project-live-panel.is-mainframe-live .project-live-screen{display:grid;min-height:0}.project-live-panel.is-mainframe-live .tn3270-native-preview{grid-template-rows:minmax(150px,1fr) auto auto;height:100%}.tn3270-native-frame-shell{margin:6px 6px 7px;border:0;border-radius:10px;background:transparent;padding:0;box-shadow:none}.tn3270-native-frame-shell:before{display:none}.tn3270-native-frame-shell:after{display:none}.tn3270-preview{grid-template-columns:1fr;gap:10px;padding:10px}.tn3270-native-frame{height:100%;min-height:0;border:0;border-radius:10px;box-shadow:0 0 18px #22d3ee14}.tn3270-public-screen{border-radius:10px;font-size:10px;line-height:1.32;padding:10px}.tn3270-native-controls{display:grid;grid-template-columns:1fr;align-items:stretch;gap:7px;max-height:none;overflow:visible;padding:7px 8px}.tn3270-native-command-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}.tn3270-native-command-row>span{grid-column:1 / -1;justify-content:space-between;font-size:9px}.tn3270-native-command-row>span b{max-width:150px}.tn3270-native-command-row input{min-height:34px;padding:0 10px;font-size:11px}.tn3270-native-command-row .tn3270-execute-button{width:38px;min-width:38px;min-height:34px;padding:0}.tn3270-execute-button span{display:none}.tn3270-native-keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:7px}.tn3270-native-keypad .tn3270-native-utility-key.is-cancel{order:7}.tn3270-native-keypad .tn3270-native-menu-key{order:8}.tn3270-native-controls button{width:100%;min-width:0;min-height:36px;padding:0 6px;font-size:9px}.tn3270-native-keypad button{min-height:48px;padding:5px 8px 6px}.tn3270-native-keypad button strong{font-size:22px}.tn3270-native-keypad button span{font-size:9px;letter-spacing:.04em}.tn3270-native-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tn3270-native-secondary-actions a,.tn3270-native-secondary-actions button{min-height:34px}.tn3270-native-statusbar{min-height:28px;padding:0 10px;font-size:9px}.tn3270-statusbar{grid-template-columns:minmax(0,1fr) auto}.tn3270-statusbar b{display:none}.tn3270-screen{min-height:300px;border-width:7px;font-size:8px;line-height:1.42;padding:12px}.tn3270-command-row{font-size:9px}.tn3270-pf-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tn3270-run-card{grid-template-columns:1fr;gap:9px;padding:12px}.tn3270-run-card dl{grid-template-columns:repeat(3,minmax(0,1fr))}.tn3270-run-card dl div{border-bottom:0;padding-bottom:0}.tn3270-run-card p{display:none}.project-live-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px 12px}.project-live-panel.is-mainframe-live .project-live-footer{display:none}.project-live-footer a,.project-live-footer button{width:100%;padding:0 10px}.project-native-3270-status{grid-column:1 / -1;text-align:right}}@keyframes projectLiveLine{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalBackdropIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1}}@keyframes livePanelReveal{0%{opacity:0;filter:saturate(.82) brightness(.92);transform:translateY(18px) scale(.975)}to{opacity:1;filter:saturate(1) brightness(1);transform:translateY(0) scale(1)}}@keyframes detailPanelReveal{0%{opacity:0;filter:saturate(.82) brightness(.9);transform:translate(26px) scale(.985)}to{opacity:1;filter:saturate(1) brightness(1);transform:translate(0) scale(1)}}@keyframes confirmPanelReveal{0%{opacity:0;filter:saturate(.85) brightness(.92);transform:translateY(12px) scale(.96)}to{opacity:1;filter:saturate(1) brightness(1);transform:translateY(0) scale(1)}}@keyframes sectionIconIgnite{0%{transform:translateY(0) scale(.94)}54%{transform:translateY(-1px) scale(1.14)}to{transform:translateY(-1px) scale(1)}}@keyframes tn3270FrameIn{0%{opacity:.72;filter:brightness(1.26)}to{opacity:1;filter:brightness(1)}}@keyframes detailFadeIn{0%{opacity:0}to{opacity:1}}@keyframes detailSlideIn{0%{opacity:.5;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes detailDrawerUp{0%{opacity:.72;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.figma-stack-panel,.figma-build-panel{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.055);background:linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:44px 44px;padding-top:28px}.figma-stack-panel:before,.figma-build-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.035),transparent 34%);pointer-events:none}.stack-section:before,.experience-section:before{display:none}.stack-terminal-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:24px}.stack-title-block{min-width:0}.stack-json-label{display:block;margin-bottom:10px;color:#ffffff73;font-family:var(--ui-mono);font-size:10px;font-weight:700;letter-spacing:.18em;line-height:1;text-transform:uppercase}.stack-title-block h2{color:#e8f0f8;font-size:clamp(40px,8vw,52px);font-weight:800;letter-spacing:0;line-height:.95}.stack-title-block h2 span{color:#fff;text-shadow:0 0 18px rgba(255,255,255,.28)}.stack-title-block h2:after{content:"";display:inline-block;width:3px;height:.78em;margin-left:5px;border-radius:2px;background:#fff;vertical-align:-.08em;animation:stackCursor 1.15s steps(1) infinite}.stack-title-block p,.stack-status-block code,.build-footer-line span{color:#c8d4e03d;font-family:var(--ui-mono);font-size:11px;font-weight:600;letter-spacing:.06em}.stack-title-block p{margin-top:10px}.stack-status-block{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.stack-status-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#ffffff14;color:#fff;font-family:var(--ui-mono);font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1;padding:8px 14px;text-transform:uppercase}.stack-status-pill i{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 12px #ffffff70;animation:statusPulse 2s ease-in-out infinite}.stack-lead,.build-lead{max-width:62ch;color:#c8d4e075;font-family:var(--ui-mono);font-size:12px;line-height:1.65}.stack-filter-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 30px}.stack-filter-tabs button{border:1px solid rgba(255,255,255,.06);border-radius:6px;background:transparent;color:#c8d4e052;cursor:pointer;font-family:var(--ui-mono);font-size:10px;font-weight:800;letter-spacing:.12em;padding:7px 12px;text-transform:uppercase;transition:border-color .18s,background .18s,color .18s,transform .18s}.stack-filter-tabs button:hover,.stack-filter-tabs button.is-active{border-color:#ffffff4d;background:#ffffff14;color:#fff}.stack-filter-tabs button:hover{transform:translateY(-1px)}.figma-stack-panel .stack-groups{gap:34px;margin-top:0}.figma-stack-panel .stack-group{--stack-tone: #ffffff;--stack-bg: rgba(255, 255, 255, .06);--stack-bg-strong: rgba(255, 255, 255, .1);--stack-border: rgba(255, 255, 255, .14);--stack-border-hover: rgba(255, 255, 255, .32);--stack-name: #f8fafc;gap:13px}.figma-stack-panel .stack-group--sec{--stack-tone: #ffffff;--stack-bg: rgba(255, 255, 255, .06);--stack-bg-strong: rgba(255, 255, 255, .1);--stack-border: rgba(255, 255, 255, .14);--stack-border-hover: rgba(255, 255, 255, .32);--stack-name: #f8fafc}.figma-stack-panel .stack-group--build{--stack-tone: #fbbf24;--stack-bg: rgba(251, 191, 36, .06);--stack-bg-strong: rgba(251, 191, 36, .1);--stack-border: rgba(251, 191, 36, .14);--stack-border-hover: rgba(251, 191, 36, .32);--stack-name: #f5e0a0}.figma-stack-panel .stack-group-label{gap:8px;color:#c8d4e047;font-size:10px;letter-spacing:.2em}.figma-stack-panel .stack-group-label:before{content:"//";width:auto;background:transparent;box-shadow:none;color:#ffffff59}.figma-stack-panel .stack-group-label:after{content:"";flex:1;height:1px;background:#ffffff0d}.figma-stack-panel .stack-group-label code{border:1px solid color-mix(in srgb,var(--stack-tone) 24%,transparent);border-radius:999px;background:color-mix(in srgb,var(--stack-tone) 10%,transparent);color:var(--stack-tone);font-size:9px;letter-spacing:.08em;padding:2px 7px}.figma-stack-panel .stack-cloud{display:flex;flex-wrap:wrap;gap:8px}.figma-stack-panel .stack-chip{position:relative;display:inline-flex;align-items:stretch;gap:0;min-height:34px;overflow:visible;border-color:var(--stack-border);border-radius:7px;background:var(--stack-bg);color:var(--stack-name);padding:0;box-shadow:none;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.figma-stack-panel .stack-chip:after{display:none}.figma-stack-panel .stack-chip:hover{border-color:var(--stack-border-hover);background:var(--stack-bg-strong);box-shadow:0 4px 22px color-mix(in srgb,var(--stack-tone) 11%,transparent);transform:translateY(-2px)}.figma-stack-panel .stack-logo-wrap{width:34px;height:auto;border:0;border-radius:0;background:color-mix(in srgb,var(--stack-tone) 10%,transparent);box-shadow:none}.figma-stack-panel .stack-chip:hover .stack-logo-wrap{border:0;background:color-mix(in srgb,var(--stack-tone) 16%,transparent);box-shadow:none;transform:none}.figma-stack-panel .stack-custom-logo{width:16px;height:16px;stroke:var(--stack-tone);filter:none}.figma-stack-panel .stack-custom-logo-text{fill:var(--stack-tone);font-size:12px}.figma-stack-panel .stack-logo{width:16px;height:16px;filter:saturate(1.08)}.figma-stack-panel .stack-copy{display:flex;align-items:center;border-left:1px solid rgba(255,255,255,.06);padding:8px 12px 8px 10px}.figma-stack-panel .stack-name{color:var(--stack-name);font-size:12px;font-weight:800;line-height:1}.figma-stack-panel .stack-description{position:absolute;bottom:calc(100% + 10px);left:50%;z-index:10;width:max-content;max-width:230px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0d1117;color:#c8d4e0a3;font-size:11px;line-height:1.45;opacity:0;padding:8px 10px;pointer-events:none;transform:translate(-50%,6px) scale(.96);transition:opacity .15s,transform .15s;white-space:normal}.figma-stack-panel .stack-description:after{content:"";position:absolute;top:100%;left:50%;border:5px solid transparent;border-top-color:#0d1117;transform:translate(-50%)}.figma-stack-panel .stack-chip:hover .stack-description{opacity:1;transform:translate(-50%) scale(1)}.figma-build-panel{padding-top:0}.build-terminal-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}.build-terminal-heading h2{color:#e8f0f8;font-size:clamp(28px,5vw,36px);font-weight:800;letter-spacing:0}.build-terminal-heading span{color:#c8d4e03d;font-family:var(--ui-mono);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.figma-build-panel .timeline{display:flex;flex-direction:column;gap:10px;margin-top:22px;padding-left:0}.figma-build-panel .timeline:before{display:none}.figma-build-panel .timeline-item{--log-tone: #ffffff;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;border:1px solid rgba(255,255,255,.06);border-left:2px solid var(--log-tone);border-radius:0 10px 10px 0;background:#ffffff05;padding:18px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.figma-build-panel .timeline-item--building{--log-tone: #ffffff}.figma-build-panel .timeline-item--paused{--log-tone: #fbbf24}.figma-build-panel .timeline-item:hover{border-color:color-mix(in srgb,var(--log-tone) 20%,rgba(255,255,255,.06));border-left-color:var(--log-tone);background:color-mix(in srgb,var(--log-tone) 4%,rgba(255,255,255,.018));box-shadow:0 4px 28px color-mix(in srgb,var(--log-tone) 7%,transparent);transform:translateY(-1px)}.figma-build-panel .timeline-marker{width:44px;height:44px;border:1px solid color-mix(in srgb,var(--log-tone) 20%,transparent);border-radius:50%;background:color-mix(in srgb,var(--log-tone) 8%,transparent);color:var(--log-tone);font-size:11px;letter-spacing:0;box-shadow:0 0 0 1px color-mix(in srgb,var(--log-tone) 10%,transparent)}.figma-build-panel .timeline-card{min-height:0;overflow:visible;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}.figma-build-panel .timeline-card:after{display:none}.figma-build-panel .timeline-card:hover{box-shadow:none;transform:none}.figma-build-panel .experience-heading{grid-template-columns:minmax(0,1fr) auto;gap:16px}.figma-build-panel .build-log-index{margin-bottom:5px;color:var(--log-tone);font-size:10px;letter-spacing:.12em}.figma-build-panel .experience-heading h3{color:#e0eaf4;font-size:16px;line-height:1.25}.figma-build-panel .experience-heading p{max-width:54ch;color:#c8d4e07a;font-size:11px;line-height:1.45}.figma-build-panel .timeline-card>p{max-width:72ch;margin-top:12px;color:#c8d4e094;font-size:13px;line-height:1.65}.figma-build-panel .experience-meta span{border-color:color-mix(in srgb,var(--log-tone) 18%,transparent);background:color-mix(in srgb,var(--log-tone) 8%,transparent);color:var(--log-tone);font-size:10px}.figma-build-panel .experience-meta time{border-color:#ffffff0f;background:transparent;color:#c8d4e03d;font-size:11px}.figma-build-panel .build-link{min-height:30px;margin-top:14px;border-color:color-mix(in srgb,var(--log-tone) 20%,transparent);background:color-mix(in srgb,var(--log-tone) 5%,transparent);color:var(--log-tone);font-size:11px}.figma-build-panel .build-link:hover{border-color:color-mix(in srgb,var(--log-tone) 42%,transparent);background:color-mix(in srgb,var(--log-tone) 9%,transparent)}.build-footer-line{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:42px;border-top:1px solid rgba(255,255,255,.05);padding-top:20px}.build-footer-line span{margin-right:auto}.build-footer-line i{width:5px;height:5px;border-radius:50%;background:#ffffff61}.build-footer-line i:nth-of-type(2){background:#ffffff61}.build-footer-line i:nth-of-type(3){background:#fbbf2461}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}@keyframes stackCursor{0%,to{opacity:1}50%{opacity:0}}@media(max-width:760px){.stack-terminal-header,.build-terminal-heading{align-items:flex-start;flex-direction:column}.stack-status-block{align-items:flex-start}.figma-stack-panel .stack-cloud{gap:7px}.figma-stack-panel .stack-chip{max-width:100%}.figma-stack-panel .stack-description{display:none}.figma-build-panel .timeline-item{grid-template-columns:1fr;padding:16px}.figma-build-panel .timeline-marker{display:none}.figma-build-panel .experience-heading{grid-template-columns:1fr}.figma-build-panel .experience-meta{align-items:flex-start;flex-direction:row;flex-wrap:wrap}}@media(max-width:540px){.figma-stack-panel,.figma-build-panel{background-size:36px 36px}.stack-title-block h2{font-size:clamp(38px,13vw,50px)}.stack-status-pill{font-size:10px;padding:8px 12px}.stack-lead,.build-lead{font-size:11px}.figma-stack-panel .stack-groups{gap:26px}.figma-stack-panel .stack-name{font-size:11px}.figma-build-panel .build-link{justify-content:space-between;width:100%}}.figma-stack-panel,.figma-stack-panel .stack-json-label,.figma-stack-panel .stack-title-block p,.figma-stack-panel .stack-status-block code,.figma-stack-panel .stack-status-pill,.figma-stack-panel .stack-lead,.figma-stack-panel .stack-filter-tabs button,.figma-stack-panel .stack-group-label,.figma-stack-panel .stack-group-label code,.figma-stack-panel .stack-custom-logo-text,.figma-stack-panel .stack-name,.figma-stack-panel .stack-description,.figma-build-panel,.figma-build-panel .build-terminal-heading span,.figma-build-panel .build-lead,.figma-build-panel .timeline-marker,.figma-build-panel .build-log-index,.figma-build-panel .experience-heading p,.figma-build-panel .timeline-card>p,.figma-build-panel .experience-meta span,.figma-build-panel .experience-meta time,.figma-build-panel .build-link,.figma-build-panel .build-footer-line span{font-family:var(--mono)}.tech-stack-section{position:relative;scroll-margin-top:92px}.personal-layout{overflow-x:visible}.tech-stack-shell{position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.055);background:radial-gradient(circle at 72% 42%,rgba(255,255,255,.06),transparent 36%),radial-gradient(circle at 28% 18%,rgba(255,255,255,.055),transparent 32%),linear-gradient(90deg,rgba(255,255,255,.013) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.013) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px;padding-top:28px}.tech-stack-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:24px}.tech-stack-kicker{display:block;margin-bottom:10px;color:#ffffff70;font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.18em;line-height:1;text-transform:uppercase}.tech-stack-header h2{color:#e8f0f8;font-size:clamp(34px,7vw,52px);font-weight:800;letter-spacing:0;line-height:.98}.tech-stack-header p{max-width:58ch;margin-top:12px;color:#c8d4e080;font-family:var(--mono);font-size:13px;line-height:1.6}.tech-stack-hint{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff0e;color:#fff;font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.1em;line-height:1;padding:9px 13px;text-transform:uppercase;white-space:nowrap}.tech-stack-hint i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 14px #ffffff5c;animation:statusPulse 2s ease-in-out infinite}.tech-stack-grid{display:grid;grid-template-columns:minmax(236px,292px) minmax(0,1fr);gap:18px;align-items:stretch}.tech-inspector,.tech-globe-panel{border:1px solid rgba(148,163,184,.13);border-radius:12px;background:linear-gradient(180deg,#ffffff07,#fff0),#05080ab8;box-shadow:inset 0 1px #ffffff09,0 18px 42px #00000038;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tech-inspector{display:flex;flex-direction:column;min-height:460px;padding:18px}.tech-inspector-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:28px}.tech-inspector-status span,.tech-inspector-status code{font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.14em;line-height:1;text-transform:uppercase}.tech-inspector-status span{color:#fff}.tech-inspector-status code{border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#ffffff0f;color:#dbeafeb8;padding:6px 8px}.tech-inspector h3{color:#f8fafc;font-size:clamp(22px,3vw,30px);font-weight:800;line-height:1.05}.tech-inspector>p{margin-top:12px;color:#c8d4e0b3;font-size:14px;line-height:1.58}.tech-inspector dl{display:grid;gap:16px;margin-top:24px}.tech-inspector dt{color:#fff;font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.16em;line-height:1;text-transform:uppercase}.tech-inspector dd{margin-top:8px;color:#e2e8f0cc;font-size:13px;line-height:1.55}.tech-category-controls{display:grid;gap:9px;margin-top:auto;padding-top:24px}.tech-category-controls button{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid color-mix(in srgb,var(--category-color) 16%,transparent);border-radius:8px;background:color-mix(in srgb,var(--category-color) 5%,transparent);color:#e2e8f09e;cursor:pointer;font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.08em;padding:10px 11px;text-align:left;text-transform:uppercase;transition:border-color .18s,background .18s,color .18s,transform .18s}.tech-category-controls button:hover,.tech-category-controls button.is-active{border-color:color-mix(in srgb,var(--category-color) 36%,transparent);background:color-mix(in srgb,var(--category-color) 10%,transparent);color:var(--category-color)}.tech-category-controls button:hover{transform:translateY(-1px)}.tech-category-controls code{color:var(--category-color);font-family:var(--mono);font-size:10px}.tech-globe-panel{position:relative;min-height:460px;overflow:hidden}.tech-globe-panel:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.045);border-radius:50%;background:radial-gradient(circle,transparent 49%,rgba(255,255,255,.08) 50%,transparent 51%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.05),transparent 54%);opacity:.7;pointer-events:none}.tech-globe-stage{position:relative;z-index:1;width:100%;height:460px;cursor:grab}.tech-globe-label{border:1px solid color-mix(in srgb,var(--node-color, #ffffff) 22%,transparent);border-radius:999px;background:#03070ac2;color:#e2e8f0d1;cursor:pointer;font-family:var(--mono);font-size:11px;font-weight:800;line-height:1;padding:6px 8px;text-shadow:0 0 10px rgba(0,0,0,.9);transform:translate(var(--label-shift-x, 0px),var(--label-shift-y, 0px));white-space:nowrap;transition:border-color .16s,background .16s,color .16s,box-shadow .16s,transform .16s}.tech-globe-label--runtime,.tech-globe-label--security{--node-color: #ffffff}.tech-globe-label--build{--node-color: #fbbf24}.tech-globe-label:hover,.tech-globe-label.is-selected{border-color:color-mix(in srgb,var(--node-color) 46%,transparent);background:color-mix(in srgb,var(--node-color) 12%,rgba(3,7,10,.82));color:#f8fafc;box-shadow:0 0 18px color-mix(in srgb,var(--node-color) 18%,transparent);transform:translate(var(--label-shift-x, 0px),calc(var(--label-shift-y, 0px) - 1px))}.tech-globe-legend{position:absolute;right:14px;bottom:14px;z-index:2;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:calc(100% - 28px)}.tech-globe-legend span{display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--category-color) 18%,transparent);border-radius:999px;background:#03070aad;color:#e2e8f09e;font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.1em;padding:6px 8px;text-transform:uppercase}.tech-globe-legend i{width:6px;height:6px;border-radius:50%;background:var(--category-color);box-shadow:0 0 10px color-mix(in srgb,var(--category-color) 32%,transparent)}.tech-mobile-fallback{display:none}.tech-mobile-group{display:grid;gap:10px}.tech-mobile-group h3{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#c8d4e070;font-family:var(--mono);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.tech-mobile-group code{color:#fff;font-family:var(--mono);font-size:10px}.tech-mobile-list{display:grid;gap:8px}.tech-mobile-list button{display:grid;gap:6px;border:1px solid color-mix(in srgb,var(--category-color) 18%,transparent);border-radius:9px;background:color-mix(in srgb,var(--category-color) 5%,rgba(5,8,10,.78));color:#e2e8f0bd;cursor:pointer;padding:13px;text-align:left}.tech-mobile-list button.is-active{border-color:color-mix(in srgb,var(--category-color) 42%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--category-color) 10%,transparent)}.tech-mobile-list strong{color:#f8fafc;font-size:14px;line-height:1.2}.tech-mobile-list span,.tech-mobile-list small{color:#c8d4e09e;font-size:12px;line-height:1.45}.tech-mobile-list small{color:#c8d4e06b}.tech-stack-loading{border-top:1px solid rgba(255,255,255,.055);background:linear-gradient(90deg,rgba(255,255,255,.013) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.013) 1px,transparent 1px);background-size:44px 44px;min-height:340px;padding-top:28px}.tech-stack-loading span{display:block;margin-bottom:10px;color:#ffffff70;font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.tech-stack-loading h2{color:#e8f0f8;font-size:clamp(34px,7vw,52px);font-weight:800;line-height:.98}.tech-stack-loading p{margin-top:12px;color:#c8d4e080;font-family:var(--mono);font-size:13px}@media(max-width:820px){.tech-stack-grid{grid-template-columns:1fr}.tech-inspector{min-height:0}}@media(max-width:760px){.tech-stack-header{align-items:flex-start;flex-direction:column}.tech-stack-hint,.tech-stack-grid{display:none}.tech-mobile-fallback{display:grid;gap:24px}}@media(max-width:540px){.tech-stack-shell{background-size:auto,auto,36px 36px,36px 36px}.tech-stack-header h2{font-size:clamp(32px,11vw,44px)}.tech-stack-header p{font-size:12px}}.tech-stack-section{position:relative;width:100vw;max-width:100vw;margin-top:54px;margin-left:calc(50% - 50vw);overflow:visible;scroll-margin-top:92px;transform:none}.tech-stack-section:before{content:none}.tech-stack-shell{position:relative;overflow:visible;box-sizing:border-box;min-height:720px;width:100%;padding:clamp(38px,5vw,70px) clamp(18px,4.8vw,72px);border:0;border-radius:0;background:transparent;background-size:auto;box-shadow:none}.tech-stack-shell:before{content:none}.tech-stack-shell:after{content:none}.tech-binary-rain{position:absolute;inset:-80px 0 -90px;z-index:0;overflow:hidden;pointer-events:none;opacity:.38;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 72%,transparent 100%)}.tech-binary-rain span{position:absolute;top:-32%;left:var(--rain-left);color:#ffffff1a;font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:0;line-height:1.42;text-orientation:upright;text-shadow:none;writing-mode:vertical-rl;animation:tech-rain-fall var(--rain-speed) linear infinite;animation-delay:var(--rain-delay)}@keyframes tech-rain-fall{0%{transform:translateY(-12%)}to{transform:translateY(92%)}}.tech-stack-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);gap:clamp(28px,4vw,58px);align-items:stretch;width:min(1528px,100%);margin:0 auto;min-height:650px}.tech-stack-left{position:relative;z-index:4;display:flex;flex-direction:column}.tech-stack-header{display:block;max-width:520px}.tech-stack-kicker{display:block;margin-bottom:22px;color:#fff;font-family:var(--mono);font-size:13px;font-weight:800;letter-spacing:.12em;line-height:1;text-transform:uppercase}.tech-stack-header h2{margin:0;color:#f5f7f8;font-family:var(--mono);font-size:clamp(46px,4.2vw,60px);font-weight:900;letter-spacing:0;line-height:1;white-space:nowrap;text-shadow:0 0 22px rgba(255,255,255,.16)}.tech-stack-header p{max-width:45ch;margin:22px 0 0;color:#e5edebb8;font-family:var(--mono);font-size:15px;font-weight:500;line-height:1.72}.tech-inspector{position:relative;display:block;width:min(100%,344px);margin-top:34px;min-height:438px;padding:24px;border:1px solid rgba(255,255,255,.38);border-radius:14px;background:#040807d1;box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tech-inspector-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;color:#fff;font-family:var(--mono);font-size:15px;font-weight:900}.tech-inspector-status code{padding:7px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#ffffff0f;color:#b1ffd3d6;font-family:var(--mono);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tech-inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.tech-inspector h3{margin:0;color:#f8fafc;font-family:var(--mono);font-size:clamp(30px,3vw,40px);font-weight:900;letter-spacing:0;line-height:1.05}.tech-inspector-head p{max-width:27ch;margin:12px 0 0;color:#e2e8f0b8;font-family:var(--mono);font-size:14px;line-height:1.55}.tech-inspector-mark{flex:0 0 auto;display:grid;place-items:center;width:54px;height:54px;color:var(--category-color, #ffffff);filter:none}.tech-inspector-mark svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.tech-inspector dl{display:grid;gap:14px;margin:22px 0 0}.tech-inspector dl div{min-width:0}.tech-inspector dt{margin-bottom:8px;color:#fff;font-family:var(--mono);font-size:11px;font-weight:900;letter-spacing:.1em;line-height:1;text-transform:uppercase}.tech-inspector dd{margin:0;color:#f5f7f8;font-family:var(--mono);font-size:14px;font-weight:600;line-height:1.45}.tech-meter-list{display:grid;gap:7px;margin-top:20px}.tech-meter{padding:6px 8px 7px;border:1px solid color-mix(in srgb,var(--meter-color) 30%,transparent);border-radius:9px;background:#0000003d}.tech-meter div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:color-mix(in srgb,var(--meter-color) 80%,#ffffff);font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tech-meter code{font-family:var(--mono);font-size:10px;color:color-mix(in srgb,var(--meter-color) 78%,#ffffff)}.tech-meter i{display:block;height:3px;margin-top:6px;border-radius:999px;background:linear-gradient(90deg,var(--meter-color) var(--meter-value),rgba(255,255,255,.07) var(--meter-value));box-shadow:none}.tech-stack-note{display:flex;align-items:center;gap:13px;margin-top:22px;color:#fff;font-family:var(--mono);font-size:12px;font-weight:700;line-height:1.45}.tech-stack-note svg{flex:0 0 auto;width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}.tech-orbit-area{position:relative;z-index:2;min-height:650px}.tech-stack-hint{position:absolute;top:0;right:0;z-index:7;display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.38);border-radius:18px;background:#040807d1;color:#fff;font-family:var(--mono);font-size:13px;font-weight:900;letter-spacing:.06em;line-height:1;text-transform:uppercase;box-shadow:none}.tech-stack-hint i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:none}.tech-stack-hint svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.tech-globe-panel{position:absolute;inset:48px 0 0;min-height:590px;border:0;border-radius:0;background:transparent;box-shadow:none}.tech-globe-panel:before{content:none}.tech-globe-panel:after{content:none}.tech-globe-stage{position:absolute;left:49%;top:53%;z-index:1;width:min(60vw,600px);height:min(60vw,600px);min-height:500px;transform:translate(-50%,-50%);cursor:grab;filter:drop-shadow(0 0 30px rgba(255,255,255,.22));touch-action:none}.tech-globe-stage:before{content:"";position:absolute;inset:15%;z-index:0;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,.07) 43%,transparent 72%);filter:blur(10px);pointer-events:none}.tech-globe-stage canvas{position:relative;z-index:1}.tech-globe-stage:active{cursor:grabbing}.tech-globe-tech{position:relative;display:grid;place-items:center;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--category-color, #ffffff) 44%,transparent);border-radius:50%;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--category-color, #ffffff) 16%,transparent),transparent 68%),#0209069e;color:var(--category-color, #ffffff);cursor:pointer;box-shadow:inset 0 1px #ffffff0a,0 0 18px color-mix(in srgb,var(--category-color, #ffffff) 10%,transparent);pointer-events:auto;touch-action:none;transform:scale(1);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}.tech-globe-tech span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);font-size:0;white-space:nowrap}.tech-globe-tech:before,.tech-globe-tech:after{content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.tech-globe-tech:before{width:7px;height:7px;background:color-mix(in srgb,currentColor 62%,transparent);box-shadow:0 0 13px currentColor;opacity:.46}.tech-globe-tech:after{width:64px;height:64px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:radial-gradient(circle,color-mix(in srgb,currentColor 9%,transparent),transparent 66%);opacity:0;transition:opacity .18s ease,transform .18s ease}.tech-globe-tech svg{position:relative;z-index:1;width:27px;height:27px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;filter:drop-shadow(0 0 9px color-mix(in srgb,currentColor 26%,transparent))}.tech-globe-tech text,.tech-inspector-mark text{fill:currentColor;stroke:none;font-family:var(--mono);font-size:7px;font-weight:900;letter-spacing:0}.tech-globe-tech:hover,.tech-globe-tech.is-selected{border-color:color-mix(in srgb,var(--category-color, #ffffff) 82%,transparent);background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--category-color, #ffffff) 24%,transparent),transparent 70%),#04110ad1;box-shadow:inset 0 1px #ffffff12,0 0 26px color-mix(in srgb,var(--category-color, #ffffff) 22%,transparent),0 0 48px color-mix(in srgb,var(--category-color, #ffffff) 10%,transparent);transform:scale(1.14)}.tech-globe-tech:hover:after,.tech-globe-tech.is-selected:after{opacity:.82}.tech-globe-tech.is-selected:after{animation:techNodePulse 1.8s ease-in-out infinite}.tech-globe-tech.is-focus-locked:hover:not(.is-selected){border-color:color-mix(in srgb,var(--category-color, #ffffff) 44%,transparent);background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--category-color, #ffffff) 16%,transparent),transparent 68%),#0209069e;box-shadow:inset 0 1px #ffffff0a,0 0 18px color-mix(in srgb,var(--category-color, #ffffff) 10%,transparent);transform:scale(1)}.tech-globe-tech.is-focus-locked:hover:not(.is-selected):after{opacity:0}.tech-orbit-cluster{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:12px;color:#fff;font-family:var(--mono);font-size:19px;font-weight:900;letter-spacing:.06em;line-height:1;text-shadow:none;text-transform:uppercase}.tech-orbit-cluster:before,.tech-orbit-cluster:after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:none}.tech-orbit-cluster--core{top:90px;left:48%}.tech-orbit-cluster--data{top:235px;left:5%}.tech-orbit-cluster--security{top:292px;right:0}.tech-orbit-cluster--web{left:42%;bottom:95px}.tech-mobile-fallback{position:relative;z-index:2}@media(max-width:1180px){.tech-stack-shell{padding:42px 32px}.tech-stack-layout{grid-template-columns:minmax(300px,350px) minmax(0,1fr);gap:26px}.tech-globe-tech{width:40px;height:40px}.tech-globe-tech svg{width:24px;height:24px}}@media(max-width:1280px){.tech-orbit-cluster{display:none}}@keyframes techNodePulse{0%,to{opacity:.62;transform:translate(-50%,-50%) scale(1.1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.58)}}@media(max-width:1080px){.tech-stack-section{left:0;width:100%;margin-left:0;transform:none}.tech-stack-shell{min-height:0;padding:34px 18px 96px}.tech-binary-rain span{opacity:.45}.tech-stack-layout{display:flex;flex-direction:column;min-height:0}.tech-stack-left{display:contents}.tech-stack-header{order:1}.tech-stack-header h2{font-size:clamp(38px,13vw,52px);white-space:normal}.tech-stack-header p{max-width:31ch;font-size:13px;line-height:1.65}.tech-inspector{order:3;position:relative;z-index:6;display:block;width:min(100%,344px);min-height:0;margin:8px auto 0;padding:16px}.tech-inspector-status{margin-bottom:10px;font-size:13px}.tech-inspector-status code{padding:6px 11px;font-size:10px}.tech-inspector-head{gap:14px}.tech-inspector h3{font-size:clamp(26px,8.6vw,32px)}.tech-inspector-head p{margin-top:8px;line-height:1.42}.tech-inspector-head p,.tech-inspector dd{font-size:12px}.tech-inspector-mark{width:44px;height:44px}.tech-inspector-mark svg{width:40px;height:40px}.tech-inspector dl{gap:8px;margin-top:12px}.tech-inspector dt{margin-bottom:6px;font-size:10px}.tech-meter-list{gap:5px;margin-top:12px}.tech-meter{padding:5px 7px 6px}.tech-meter div,.tech-meter code{font-size:9px}.tech-meter i{height:3px;margin-top:5px}.tech-stack-note{gap:10px;margin-top:12px;font-size:11px}.tech-stack-note svg{width:20px;height:20px}.tech-orbit-area{order:2;display:block;min-height:304px;margin-top:20px;overflow:visible}.tech-stack-hint{position:relative;top:auto;right:auto;z-index:7;min-height:42px;width:max-content;max-width:100%;padding:0 16px;border-radius:14px;font-size:11px}.tech-stack-hint svg{width:18px;height:18px}.tech-globe-panel{inset:30px 0 0;min-height:266px}.tech-globe-stage{left:50%;top:55%;width:min(68vw,292px);height:min(68vw,292px);min-height:0;filter:drop-shadow(0 0 22px rgba(255,255,255,.2))}.tech-mobile-fallback{display:none}}@media(max-width:540px){.tech-orbit-area{min-height:400px;margin-top:16px}.tech-stack-hint{position:absolute;top:18px;right:auto;left:50%;z-index:9;min-height:36px;padding:0 14px;border-radius:13px;font-size:10px;letter-spacing:.055em;transform:translate(-50%)}.tech-stack-hint i{width:6px;height:6px}.tech-stack-hint svg{width:16px;height:16px}.tech-globe-panel{inset:30px 0 0;min-height:240px}.tech-globe-stage{top:-60px;width:min(88vw,344px);height:min(110vw,430px);transform:translate(-50%)}.tech-globe-stage canvas{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,.72) 82%,rgba(0,0,0,.18) 93%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,.72) 82%,rgba(0,0,0,.18) 93%,transparent 100%)}.tech-globe-tech{width:29px;height:29px}.tech-globe-tech svg{width:17px;height:17px}.tech-globe-tech:after{width:40px;height:40px}.tech-inspector{width:min(100%,320px);margin-top:-120px;padding:12px;z-index:8}}@media(prefers-reduced-motion:reduce){.tech-binary-rain span{animation:none}}.top-nav{padding-right:max(28px,calc((100vw - 820px)/2));padding-left:max(28px,calc((100vw - 820px)/2))}.personal-layout{width:min(100%,820px);padding-right:22px;padding-left:22px}.personal-layout--contrib{width:min(860px,calc(100% - 48px));padding:32px 0 0}.personal-layout--after-stack{width:100%;padding:0 0 68px}.personal-layout--after-stack .profile-sections{gap:0;margin-top:0}.personal-layout--after-stack .experience-section{width:min(1440px,calc(100% - 44px));margin:74px auto 0}.personal-layout--after-stack .contact-section{width:min(860px,calc(100% - 48px));margin:34px auto 0}.personal-layout--after-stack .figma-build-panel{width:100%}.personal-layout--after-stack .figma-build-panel .timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.personal-layout--after-stack .figma-build-panel .timeline-item{min-height:244px}.personal-layout--after-stack .figma-build-panel .timeline-card{display:flex;min-height:100%;flex-direction:column}.personal-layout--after-stack .figma-build-panel .timeline-card>p{max-width:none}.personal-layout--after-stack .figma-build-panel .build-link{align-self:flex-start;margin-top:auto}.footer-bar{width:min(820px,calc(100% - 44px));padding-right:0;padding-left:0}@media(max-width:1080px){.personal-layout--after-stack .figma-build-panel .timeline{display:flex;flex-direction:column;gap:10px}.personal-layout--after-stack .figma-build-panel .timeline-item{min-height:0}}@media(max-width:820px){.top-nav{padding-right:22px;padding-left:22px}.personal-layout--contrib{width:100%;padding:34px 22px 0}.personal-layout--after-stack{padding-bottom:28px}.personal-layout--after-stack .experience-section,.personal-layout--after-stack .contact-section{width:100%;padding-right:22px;padding-left:22px}.personal-layout--after-stack .figma-build-panel .timeline{display:flex;flex-direction:column;gap:10px}.personal-layout--after-stack .figma-build-panel .timeline-item{min-height:0}.personal-layout--after-stack .experience-section{margin-top:58px}.personal-layout--after-stack .contact-section{margin-top:24px}.footer-bar{width:100%;padding-right:22px;padding-left:22px}}@media(max-width:540px){.top-nav{padding-right:16px;padding-left:16px}.personal-layout--contrib{padding:30px 18px 0}.personal-layout--after-stack{padding-bottom:52px}.personal-layout--after-stack .experience-section,.personal-layout--after-stack .contact-section{padding-right:18px;padding-left:18px}.personal-layout--after-stack .experience-section{margin-top:48px}.personal-layout--after-stack .contact-section{margin-top:18px}.footer-bar{padding-right:18px;padding-left:18px}}@media(min-width:821px){:root{--site-rail: 785px;--site-gutter: 30px}.site-frame{width:min(var(--site-rail),calc(100% - 44px));margin-right:auto;margin-left:auto}.top-nav{padding-right:var(--site-gutter);padding-left:var(--site-gutter)}.personal-layout{width:100%;padding-right:var(--site-gutter);padding-left:var(--site-gutter)}.proof-section{width:min(860px,calc(100vw - 48px));margin-left:50%;padding-right:0;padding-left:0;transform:translate(-50%)}.lab-log{width:min(860px,calc(100vw - 48px));margin-left:50%;transform:translate(-50%)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-card{min-height:335px}.personal-layout--contrib{width:100%;padding:34px var(--site-gutter) 0}.procrastination-section{width:min(860px,calc(100vw - 48px));margin-left:50%;padding-right:0;padding-left:0;transform:translate(-50%)}.procrastination-inner{width:100%}.interactive-os-section{width:min(860px,calc(100vw - 48px));margin-left:50%;padding-right:0;padding-left:0;transform:translate(-50%)}.interactive-os-inner{width:100%}.interactive-os-grid{grid-template-columns:minmax(0,1fr);gap:16px}.interactive-os-section.has-music-player .interactive-os-grid{grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:18px;align-items:start}.interactive-os-player{width:100%;min-width:0;justify-self:end}.interactive-os-player .spotify-exact-clone-shell{width:100%}.tech-stack-section{width:100%;max-width:100%;margin-right:auto;margin-left:auto}.tech-stack-shell{min-height:620px;padding:48px var(--site-gutter) 56px}.tech-stack-layout{grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:24px;width:100%;min-height:540px}.tech-stack-header h2{font-size:clamp(42px,5vw,50px)}.tech-stack-header p{font-size:13px}.tech-inspector{width:min(100%,300px);min-height:398px;padding:20px}.tech-globe-panel{min-height:510px}.tech-globe-stage{width:min(46vw,430px);height:min(46vw,430px);min-height:400px}.tech-stack-hint{min-height:42px;padding-right:18px;padding-left:18px;font-size:11px}.personal-layout--after-stack{width:100%}.personal-layout--after-stack .experience-section,.personal-layout--after-stack .contact-section{width:100%;padding-right:var(--site-gutter);padding-left:var(--site-gutter)}.personal-layout--after-stack .figma-build-panel .timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.simple-tech-section,.personal-layout--after-stack .contact-section{width:min(860px,calc(100vw - 48px));margin-left:calc((100% - min(860px,calc(100vw - 48px)))/2);padding-right:0;padding-left:0;transform:none}.personal-layout--after-stack .contact-section{margin-top:34px}.footer-bar{width:100%;padding-right:var(--site-gutter);padding-left:var(--site-gutter)}}.tech-stack-section--flat{width:100%;max-width:100%;margin:68px 0 0;overflow:visible;transform:none}.tech-stack-section--flat .tech-stack-shell{min-height:0;padding:56px var(--site-gutter, 30px) 16px}.tech-stack-section--flat .tech-binary-rain{inset:-32px 0 -42px;opacity:.18}.tech-stack-flat{position:relative;z-index:1;display:grid;gap:26px;width:100%}.tech-stack-section--flat .tech-stack-header{max-width:none;order:0}.tech-stack-section--flat .tech-stack-kicker{margin-bottom:12px;font-size:11px}.tech-stack-section--flat .tech-stack-header h2{font-size:clamp(28px,4vw,40px);line-height:1.05;white-space:normal}.tech-stack-section--flat .tech-stack-header p{max-width:58ch;margin-top:12px;font-size:13px;line-height:1.62}.tech-stack-section--flat .tech-stack-groups{gap:24px;margin-top:0;order:1}.tech-stack-section--flat .stack-group{--category-color: var(--green-hot);gap:12px}.tech-stack-section--flat .stack-group-label{color:var(--category-color)}.tech-stack-section--flat .stack-group-label:before{background:color-mix(in srgb,var(--category-color) 72%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--category-color) 32%,transparent)}.tech-stack-section--flat .stack-group-label code{margin-left:auto;color:color-mix(in srgb,var(--category-color) 70%,#ffffff);font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:.1em}.tech-stack-section--flat .stack-cloud{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tech-stack-section--flat .stack-chip{align-items:flex-start;min-height:112px;border-color:color-mix(in srgb,var(--category-color) 16%,rgba(148,163,184,.16));background:linear-gradient(180deg,color-mix(in srgb,var(--category-color) 5%,transparent),#fff0),#060709e6}.tech-stack-section--flat .stack-chip:after{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--category-color) 46%,transparent),transparent)}.tech-stack-section--flat .stack-chip:hover{border-color:color-mix(in srgb,var(--category-color) 44%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--category-color) 9%,transparent),#fff0),#07080af5;box-shadow:inset 0 1px #ffffff0d,0 14px 34px #00000047,0 0 22px color-mix(in srgb,var(--category-color) 9%,transparent)}.tech-stack-section--flat .stack-logo-wrap{color:var(--category-color);border-color:color-mix(in srgb,var(--category-color) 28%,transparent);background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--category-color) 14%,transparent),transparent 64%),#020617c7}.tech-stack-section--flat .stack-logo-wrap svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;filter:drop-shadow(0 0 9px color-mix(in srgb,currentColor 18%,transparent))}.tech-stack-section--flat .stack-logo-wrap text{fill:currentColor;stroke:none}.tech-stack-section--flat .stack-use{display:block;color:#94a3b8b3;font-family:var(--ui-mono);font-size:11px;font-weight:500;line-height:1.4}@media(max-width:820px){.tech-stack-section--flat{margin-top:52px}.tech-stack-section--flat .tech-stack-shell{padding:42px 22px 8px}.tech-stack-section--flat .stack-cloud{grid-template-columns:1fr}}@media(max-width:540px){.tech-stack-section--flat .tech-stack-shell{padding:36px 18px 0}.tech-stack-section--flat .tech-stack-header h2{font-size:clamp(30px,10vw,38px)}.tech-stack-section--flat .stack-chip{grid-template-columns:40px minmax(0,1fr);min-height:0;padding:12px}.tech-stack-section--flat .stack-logo-wrap{width:40px;height:40px}}@media(min-width:821px){.personal-layout--contrib{width:min(860px,calc(100vw - 48px));margin-left:50%;transform:translate(-50%)}}.simple-tech-section{width:100%;scroll-margin-top:86px;margin:12px 0 0;background:transparent;padding:24px var(--site-gutter, 30px) 38px}.simple-tech-inner{width:min(880px,100%);margin:0 auto}.simple-tech-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}.simple-tech-heading:before,.simple-tech-heading:after{flex:1 1 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);content:""}.simple-tech-heading h2{display:inline-flex;align-items:center;color:var(--green-hot);font-family:var(--ui-mono);line-height:1}.simple-tech-heading-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:var(--github-contrib-card-bg);color:var(--green-hot);font-family:var(--ui-mono);font-size:10px;font-weight:800;letter-spacing:.18em;line-height:1;padding:8px 12px;text-transform:uppercase;white-space:nowrap}.simple-tech-heading-badge i{width:6px;height:6px;border-radius:999px;background:var(--green-hot);box-shadow:0 0 12px #ffffff73;animation:statusPulse 2s ease-in-out infinite}.simple-tech-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:18px 16px;list-style:none}.simple-tech-item{--tech-color: var(--green-hot);position:relative;display:flex;min-width:0;min-height:70px;align-items:center;justify-content:flex-start;outline:none}.simple-tech-icon,.simple-tech-skeleton{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#0a0a0a}.simple-tech-icon{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.simple-tech-icon img{display:block;width:22px;max-width:22px;height:22px;object-fit:contain;opacity:.58;filter:grayscale(1);transition:filter .2s ease,opacity .2s ease,transform .2s ease}.simple-tech-icon>span{color:#cbd5e194;font-family:var(--ui-mono);font-size:11px;font-weight:900;letter-spacing:0;line-height:1;transition:color .2s ease,opacity .2s ease,transform .2s ease}.simple-tech-label{position:absolute;top:51px;left:21px;color:#94a3b89e;font-family:var(--ui-mono);font-size:10px;line-height:1;opacity:0;pointer-events:none;transform:translate(-50%) translateY(-2px);transition:opacity .18s ease,transform .18s ease,color .18s ease;white-space:nowrap}.simple-tech-item:hover .simple-tech-icon,.simple-tech-item:focus-visible .simple-tech-icon{border-color:var(--tech-color);box-shadow:0 0 20px color-mix(in srgb,var(--tech-color) 28%,transparent);transform:scale(1.1)}.simple-tech-item:hover .simple-tech-icon img,.simple-tech-item:focus-visible .simple-tech-icon img,.simple-tech-item:hover .simple-tech-icon>span,.simple-tech-item:focus-visible .simple-tech-icon>span{opacity:1;filter:grayscale(0);color:var(--tech-color);transform:scale(1.04)}.simple-tech-item:hover .simple-tech-label,.simple-tech-item:focus-visible .simple-tech-label{color:var(--tech-color);opacity:1;transform:translate(-50%) translateY(0)}.simple-tech-grid--loading{pointer-events:none}.simple-tech-skeleton{animation:simpleTechPulse 1.2s ease-in-out infinite alternate}@keyframes simpleTechPulse{0%{opacity:.38}to{opacity:.72}}@media(max-width:820px){.simple-tech-section{margin-top:18px;padding:28px 22px}.simple-tech-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:17px 10px}.simple-tech-item{justify-content:center}.simple-tech-label{left:50%}}@media(max-width:420px){.simple-tech-section{padding:34px 18px 40px}.simple-tech-grid{gap:16px 8px}.simple-tech-icon,.simple-tech-skeleton{width:40px;height:40px}.simple-tech-icon img{width:21px;max-width:21px;height:21px}}.simple-tech-section{position:relative;isolation:isolate;overflow:hidden;background:transparent;padding-top:24px;padding-bottom:36px}.simple-tech-inner{position:relative;z-index:1;width:min(860px,100%)}.simple-tech-hover-glow{display:none}.simple-tech-grid.simple-tech-grid--chips{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:0 auto}.simple-tech-chip-item{display:block;min-width:0;list-style:none}.simple-tech-chip{--tech-color: var(--green-hot);position:relative;display:inline-flex;align-items:center;gap:10px;min-height:38px;overflow:hidden;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#0a0c0ec7;color:#737373;cursor:default;font-family:var(--ui-mono);font-size:12px;line-height:1;padding:9px 12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .2s ease,box-shadow .2s ease,color .2s ease,transform .2s ease,background .2s ease}.simple-tech-chip:hover,.simple-tech-chip:focus-visible{border-color:color-mix(in srgb,var(--tech-color) 62%,rgba(255,255,255,.16));background:linear-gradient(135deg,color-mix(in srgb,var(--tech-color) 16%,transparent),transparent 52%),var(--github-contrib-card-bg);color:var(--tech-color);box-shadow:0 18px 42px color-mix(in srgb,var(--tech-color) 16%,transparent),inset 0 0 24px color-mix(in srgb,var(--tech-color) 10%,transparent);outline:none;transform:translateY(-2px)}.simple-tech-chip>i{position:absolute;top:-1px;left:50%;width:0;height:1px;background:linear-gradient(90deg,transparent,var(--tech-color),transparent);transform:translate(-50%);transition:width .2s ease}.simple-tech-chip:hover>i,.simple-tech-chip:focus-visible>i{width:60%}.simple-tech-chip-icon{display:grid;width:20px;height:20px;place-items:center}.simple-tech-chip-icon-img{display:block;width:17px;height:17px;object-fit:contain;filter:grayscale(1) brightness(.7);opacity:.74;transition:filter .2s ease,opacity .2s ease,transform .2s ease}.simple-tech-chip-mark{color:#94a3b8bd;font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:0;line-height:1;transition:color .2s ease,transform .2s ease}.simple-tech-chip:hover .simple-tech-chip-icon-img,.simple-tech-chip:focus-visible .simple-tech-chip-icon-img{filter:grayscale(1) brightness(1.9);opacity:1;transform:scale(1.04)}.simple-tech-chip:hover .simple-tech-chip-mark,.simple-tech-chip:focus-visible .simple-tech-chip-mark{color:var(--tech-color);transform:scale(1.04)}.simple-tech-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:18px;color:#94a3b88f;font-family:var(--ui-mono);font-size:10px}.simple-tech-footer span{display:inline-flex;align-items:center;gap:7px}.simple-tech-footer i{width:5px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--meta-color) 70%,transparent)}.simple-tech-footer span+span:before{color:#94a3b838;content:"|";margin-right:0}.simple-tech-grid--chips.simple-tech-grid--loading{gap:12px}.simple-tech-grid--chips .simple-tech-skeleton{width:116px;height:38px;border-radius:8px;background:#0a0c0ec7}.simple-tech-section{padding-top:32px}.simple-tech-inner{width:min(860px,100%)}.simple-tech-grid.simple-tech-grid--chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;justify-content:stretch;gap:14px;width:min(760px,100%)}.simple-tech-chip-item{display:flex;grid-column:auto;width:100%}.simple-tech-chip{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:14px;width:100%;height:100%;min-height:84px;align-items:center;border-color:#94a3b824;background:#0a0c0ead;color:#f8fafce6;cursor:default;font-size:15px;font-weight:800;padding:20px 24px;text-align:left}.simple-tech-chip:hover,.simple-tech-chip:focus-visible{border-color:#94a3b838;background:#0f172a75;color:#f8fafcf5;box-shadow:none;outline:none;transform:translateY(-1px)}.simple-tech-chip-icon{grid-column:1;align-self:center;position:relative;width:34px;height:34px;margin-top:0}.simple-tech-chip-icon-svg{width:24px;height:24px;color:color-mix(in srgb,var(--tech-color) 82%,#e2e8f0);filter:none}.simple-tech-chip-mark{display:none}.simple-tech-chip>span:not(.simple-tech-chip-icon){grid-column:2;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}@media(max-width:820px){.simple-tech-section{padding-top:28px;padding-bottom:28px}.simple-tech-inner{width:100%}.simple-tech-grid.simple-tech-grid--chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;justify-content:stretch;gap:10px;width:100%}.simple-tech-chip-item{grid-column:auto}.simple-tech-chip-item:last-child:nth-child(odd){grid-column:1 / -1}.simple-tech-chip{min-height:76px;padding:16px 18px;width:100%}}@media(max-width:540px){.simple-tech-section{padding-top:24px;padding-bottom:26px}.simple-tech-heading{margin-bottom:28px}.simple-tech-grid.simple-tech-grid--chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.simple-tech-chip{align-items:center;grid-template-columns:28px minmax(0,1fr);column-gap:10px;min-height:68px;padding:14px 12px;font-size:12px}.simple-tech-chip-icon{flex:0 0 20px;width:28px;height:28px;margin-top:0}.simple-tech-chip-icon-svg{width:21px;height:21px}.simple-tech-chip-mark{display:none}.simple-tech-chip>span:not(.simple-tech-chip-icon){display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simple-tech-footer{gap:8px;margin-top:20px;font-size:9px}}@media(min-width:821px){.personal-layout--contrib{padding-right:0;padding-left:0}.simple-tech-section{width:min(860px,calc(100vw - 48px));margin-top:34px;margin-left:calc((100% - min(860px,calc(100vw - 48px)))/2);padding-right:0;padding-left:0;transform:none}.simple-tech-inner{width:100%}}.contact-terminal-section{position:relative;display:grid;min-height:min(820px,calc(100vh - 120px));place-items:center;overflow:hidden;border:0;border-radius:0;background:transparent;padding:clamp(30px,6vw,62px) 0;isolation:isolate}.contact-terminal-section:before{display:none}.contact-terminal-grid{display:none}.contact-floating-chars{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.contact-floating-char{position:absolute;font-family:var(--ui-mono);font-size:12px;font-weight:800;opacity:.11;animation-name:contact-flicker;animation-iteration-count:infinite}.contact-random-char{color:#ffffff6b}.contact-terminal-inner{position:relative;z-index:2;width:min(100%,520px)}.contact-terminal-header{margin-bottom:46px;text-align:center}.contact-kicker{display:inline-block;margin-bottom:18px;color:#ffffffbd;font-family:var(--ui-mono);font-size:12px;font-weight:900;letter-spacing:.3em;text-transform:uppercase}.contact-terminal-section h2{margin:0 0 12px;color:var(--text);font-size:clamp(42px,10vw,64px);font-weight:950;letter-spacing:0;line-height:.95;text-transform:uppercase}.contact-glitch-text{position:relative;display:inline-block}.contact-glitch-text:before,.contact-glitch-text:after{content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none}.contact-glitch-text:before{color:#fff;clip-path:inset(20% 0 40% 0);transform:translate(-2px,-1px)}.contact-glitch-text:after{color:#fff;clip-path:inset(60% 0 10% 0);transform:translate(2px,1px)}.contact-glitch-text.is-glitching>span{animation:contact-text-shadow-glitch .5s infinite}.contact-glitch-text.is-glitching:before,.contact-glitch-text.is-glitching:after{opacity:.7}.contact-terminal-section .contact-status-line{display:flex;align-items:center;justify-content:center;gap:8px;max-width:none;margin:0;color:var(--muted);font-size:14px;font-weight:700;line-height:1.3}.contact-status-line span{color:#fff}.contact-status-line b{color:#e2e8f0cc;font:inherit;animation:contact-flicker 4s infinite}.contact-terminal-cards{display:grid;gap:16px}.contact-terminal-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:16px;min-height:82px;border:1px solid rgba(148,163,184,.18);background:var(--github-contrib-card-bg);color:var(--text);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));padding:18px 20px;text-decoration:none;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.contact-terminal-card:hover{border-color:color-mix(in srgb,var(--contact-accent),transparent 48%);box-shadow:0 0 22px color-mix(in srgb,var(--contact-accent),transparent 68%);transform:translateY(-2px)}.contact-card-corner{position:absolute;width:12px;height:12px;color:var(--contact-accent);opacity:.55;transition:opacity .2s ease}.contact-terminal-card:hover .contact-card-corner{opacity:1}.contact-card-corner--top{top:0;right:0;border-top:1px solid currentColor;border-right:1px solid currentColor}.contact-card-corner--bottom{bottom:0;left:0;border-bottom:1px solid currentColor;border-left:1px solid currentColor}.contact-index{position:absolute;top:50%;left:-9px;color:#94a3b847;font-family:var(--ui-mono);font-size:12px;font-weight:800;transform:translateY(-50%)}.contact-icon-wrap{display:grid;width:46px;height:46px;place-items:center;background:#94a3b814;color:var(--contact-accent);animation:contact-neon-pulse 2s ease-in-out infinite}.contact-icon-wrap svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.contact-icon-wrap svg path:first-child:last-child{fill:currentColor;stroke:none}.contact-card-copy{display:grid;min-width:0;gap:5px}.contact-card-label{color:var(--muted);font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:.2em}.contact-card-copy strong{min-width:0;overflow:hidden;color:var(--text);font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.contact-terminal-card:hover .contact-card-copy strong{color:var(--contact-accent)}.contact-card-external{color:var(--contact-accent);opacity:0;transform:translate(-4px);transition:opacity .2s ease,transform .2s ease}.contact-card-external svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.contact-terminal-card:hover .contact-card-external{opacity:1;transform:translate(2px)}.contact-terminal-card:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,transparent,var(--contact-accent));transition:width .45s ease}.contact-terminal-card:hover:after{width:100%}.contact-terminal-footer{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;margin-top:46px;color:var(--muted);font-family:var(--ui-mono);font-size:12px}.contact-terminal-footer span{color:#fff}.contact-terminal-footer b{color:#e2e8f0b8;font:inherit}.contact-terminal-footer i{color:#94a3b873;font-style:normal}.contact-terminal-corners span{display:none}.contact-terminal-corners span:nth-child(1){display:none}.contact-terminal-corners span:nth-child(2){display:none}.contact-terminal-corners span:nth-child(3){display:none}.contact-terminal-corners span:nth-child(4){display:none}@keyframes contact-flicker{0%,41%,43%,46%,to{opacity:1}42%{opacity:.78}45%{opacity:.32}}@keyframes contact-text-shadow-glitch{0%,to{text-shadow:-2px 0 #ffffff,2px 0 #ffffff}25%{text-shadow:2px 0 #ffffff,-2px 0 #ffffff}50%{text-shadow:-1px 0 #ffffff,1px 0 #ffffff}75%{text-shadow:1px 0 #ffffff,-1px 0 #ffffff}}@keyframes contact-neon-pulse{0%,to{filter:drop-shadow(0 0 2px currentColor) drop-shadow(0 0 4px currentColor)}50%{filter:drop-shadow(0 0 4px currentColor) drop-shadow(0 0 8px currentColor) drop-shadow(0 0 12px currentColor)}}@media(max-width:540px){.contact-terminal-section{min-height:650px;padding:52px 12px}.contact-terminal-corners span{width:38px;height:38px}.contact-terminal-corners span:nth-child(1){top:16px;left:16px}.contact-terminal-corners span:nth-child(2){top:16px;right:16px}.contact-terminal-corners span:nth-child(3){bottom:16px;left:16px}.contact-terminal-corners span:nth-child(4){right:16px;bottom:16px}.contact-terminal-header{margin-bottom:34px}.contact-kicker{font-size:10px;letter-spacing:.22em}.contact-terminal-card{grid-template-columns:40px minmax(0,1fr) 18px;gap:12px;min-height:76px;padding:16px}.contact-icon-wrap{width:40px;height:40px}.contact-card-label{font-size:9px;letter-spacing:.16em}.contact-card-copy strong{font-size:13px}}.contact-terminal-section{display:flex;min-height:auto;flex-direction:column;place-items:initial;align-items:center;overflow:visible;padding:18px 0 34px}.contact-heading{width:100%;margin-bottom:14px}.contact-terminal-inner{width:100%}.contact-status-row{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:24px}.contact-ping-wrap{display:flex;align-items:center;gap:9px;border:1px solid rgba(34,197,94,.25);border-radius:4px;color:#22c55e;font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:.15em;padding:5px 14px}.contact-ping{position:relative;width:8px;height:8px;flex-shrink:0}.contact-ping-dot,.contact-ping-ring{position:absolute;border-radius:999px}.contact-ping-dot{inset:0;background:#22c55e}.contact-ping-ring{inset:-3px;border:1px solid #22c55e;opacity:0;animation:contactPing 1.6s ease-out infinite}.contact-latency{color:#94a3b89e;font-family:var(--ui-mono);font-size:9px;font-weight:800;letter-spacing:.08em}.contact-latency span{color:#22c55e}.contact-terminal-cards{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:34px}.contact-terminal-card{position:relative;display:grid;min-height:150px;grid-template-columns:70px minmax(0,1fr);align-items:start;gap:14px 16px;overflow:hidden;border:1px solid rgba(148,163,184,.14);border-radius:10px;background:var(--github-contrib-card-bg);clip-path:none;color:var(--text);padding:17px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}.contact-terminal-card:hover{border-color:color-mix(in srgb,var(--contact-accent) 58%,rgba(255,255,255,.12));background:#0f172a57;box-shadow:none;transform:translateY(-3px)}.contact-card-accent{position:absolute;top:0;right:auto;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--contact-accent),transparent 72%);opacity:.62;transition:opacity .2s}.contact-terminal-card:hover .contact-card-accent{opacity:1}.contact-icon-wrap{display:flex;width:70px;height:70px;flex-shrink:0;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--contact-accent) 32%,rgba(255,255,255,.08));border-radius:12px;background:#0f172a61;color:var(--contact-accent);animation:none;box-shadow:none;transition:background .2s,color .2s,transform .2s}.contact-terminal-card:hover .contact-icon-wrap{background:color-mix(in srgb,var(--contact-accent) 18%,rgba(255,255,255,.04));color:#fff;transform:translateY(-1px)}.contact-icon-wrap svg,.contact-icon-wrap img,.contact-footer-icons svg{width:34px;height:34px;object-fit:contain}.contact-icon-wrap svg,.contact-footer-icons svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.contact-icon-wrap svg path:first-child:last-child,.contact-footer-icons svg path:first-child:last-child{fill:none;stroke:currentColor}.contact-icon-wrap .contact-brand-logo path{fill:currentColor;stroke:none}.contact-icon-wrap .contact-instagram-logo circle:last-child{fill:currentColor;stroke:none}.contact-card-copy{display:grid;min-width:0;flex:1;gap:6px;padding:0 2px 0 0}.contact-card-topline{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.contact-card-label{color:color-mix(in srgb,var(--contact-accent) 76%,#ffffff);font-family:var(--ui-mono);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.contact-card-meta{max-width:92px;overflow:hidden;border:1px solid rgba(148,163,184,.14);border-radius:999px;color:#e2e8f0b3;font-family:var(--ui-mono);font-size:8px;font-weight:800;letter-spacing:.03em;padding:3px 7px;text-overflow:ellipsis;white-space:nowrap}.contact-card-copy strong{min-width:0;overflow:hidden;color:var(--text);font-size:17px;font-weight:900;text-overflow:ellipsis;white-space:nowrap;transition:color .2s}.contact-card-sub{color:#cbd5e194;font-family:var(--ui-mono);font-size:10px;letter-spacing:.04em;line-height:1.45;transition:color .2s}.contact-terminal-card:hover .contact-card-copy strong,.contact-terminal-card:hover .contact-card-sub{color:var(--text)}.contact-card-external{padding:0 18px;color:#94a3b8bd;opacity:0;transform:translate(-10px);transition:opacity .2s,transform .2s}.contact-card-external svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.contact-terminal-card:hover .contact-card-external{opacity:1;transform:translate(0)}.contact-card-action{display:inline-flex;grid-column:1 / -1;width:100%;align-items:center;justify-content:flex-end;justify-self:end;gap:7px;border-top:1px solid rgba(148,163,184,.1);color:#e2e8f094;font-family:var(--ui-mono);font-size:9px;font-weight:900;letter-spacing:.12em;padding-top:11px;text-transform:uppercase;transition:color .2s,transform .2s}.contact-terminal-card:hover .contact-card-action{color:var(--contact-accent);transform:translate(2px)}.contact-card-action svg{flex-shrink:0}.contact-terminal-card:after,.contact-card-corner{display:none}.contact-index{position:absolute;inset:auto auto 13px 15px;color:#94a3b838;font-family:var(--ui-mono);font-size:9px;font-weight:800;letter-spacing:.06em;transform:none}.contact-terminal-footer{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;margin-top:0;color:#94a3b8b8;font-family:var(--ui-mono);font-size:10px}.contact-terminal-footer>span:first-child{display:flex;min-width:0;align-items:center;gap:7px}.contact-terminal-footer b{color:#ffffff4d;font:inherit}.contact-terminal-inner{width:min(100%,880px)}.contact-terminal-body{display:grid;grid-template-columns:minmax(258px,.78fr) minmax(0,1.22fr);align-items:start;gap:16px;width:100%}.contact-terminal-body .contact-terminal-cards{min-width:0;margin-bottom:0}.contact-terminal-body .contact-terminal-card{min-height:150px}.contact-terminal-body .contact-icon-wrap{width:70px;height:70px}.contact-terminal-body .contact-card-copy{padding:0 2px 0 0}.contact-terminal-body .contact-card-copy strong{font-size:17px}.contact-terminal-body .contact-card-sub{font-size:10px}.contact-terminal-retro{min-width:0}.contact-terminal-retro .retro-about-section{width:100%;margin:0}.contact-terminal-retro .retro-about-card{padding:10px}.contact-terminal-retro .retro-desktop{height:clamp(226px,30vw,286px)}.contact-terminal-retro .retro-about-copy{gap:10px;padding:12px 2px 2px}.contact-terminal-retro .retro-about-copy h2{font-size:13px}.contact-terminal-retro .retro-about-copy p{font-size:11px;line-height:1.5}.contact-terminal-retro .retro-icon{width:58px;font-size:8px}.contact-terminal-retro .retro-icon--fetch{right:24px}.contact-footer-icons{display:flex;flex-shrink:0;gap:8px}.contact-footer-icons svg{width:30px;height:30px;border:1px solid rgba(255,255,255,.07);border-radius:6px;color:#94a3b8bd;padding:7px}@keyframes contactPing{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(2.2)}}@media(max-width:820px){.contact-terminal-inner{width:min(100%,520px)}.contact-terminal-body{display:flex;flex-direction:column;gap:18px}.contact-terminal-body .contact-terminal-cards,.contact-terminal-retro{width:100%}.contact-terminal-cards{grid-template-columns:1fr}.contact-terminal-retro .retro-desktop{height:clamp(244px,71vw,326px)}.contact-terminal-retro .retro-about-copy h2{font-size:16px}.contact-terminal-retro .retro-about-copy p{font-size:14px}}@media(max-width:540px){.contact-terminal-section{padding:14px 0 10px}.contact-heading{margin-bottom:14px}.contact-status-row{flex-wrap:wrap;gap:12px;margin-bottom:24px}.contact-terminal-card{min-height:136px;grid-template-columns:60px minmax(0,1fr);gap:12px;padding:14px}.contact-icon-wrap,.contact-terminal-body .contact-icon-wrap{width:60px;height:60px}.contact-icon-wrap img,.contact-icon-wrap svg{width:30px;height:30px}.contact-card-copy{padding:0}.contact-card-copy strong,.contact-terminal-body .contact-card-copy strong{font-size:15px}.contact-card-meta{max-width:82px}.contact-terminal-footer{align-items:flex-start;flex-direction:column}}body{background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.08),transparent 28%),radial-gradient(circle at 8% 92%,rgba(255,255,255,.06),transparent 30%),radial-gradient(circle at 42% 44%,rgba(255,255,255,.035),transparent 34%),linear-gradient(180deg,#040506,#07080a 52%,#050607)}body:before{z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23noise)' opacity='.62'/%3E%3C/svg%3E"),radial-gradient(circle,rgba(148,163,184,.28) 1px,transparent 1.35px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.03) 1px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.24) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(226,232,240,.12) 0 1px,transparent 1.4px);background-position:0 0,0 0,0 0,0 0,0 0,36px 48px;background-size:150px 150px,24px 24px,96px 96px,96px 96px,96px 96px,142px 142px;mix-blend-mode:screen;opacity:.24;animation:analogBackdropDrift 22s linear infinite}body:after{z-index:3;background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.1),transparent 30%),radial-gradient(circle at 4% 90%,rgba(255,255,255,.075),transparent 28%),radial-gradient(circle at 20% 42%,rgba(255,255,255,.05),transparent 24%),repeating-linear-gradient(0deg,rgba(255,255,255,.024),rgba(255,255,255,.024) 1px,transparent 1px,transparent 4px);mix-blend-mode:screen;opacity:.22}@keyframes analogBackdropDrift{0%{background-position:0 0,0 0,0 0,0 0,0 0,36px 48px}to{background-position:120px 120px,24px 24px,96px 96px,96px 96px,96px 96px,178px 190px}}.analog-fx-overlay{position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none;opacity:0;mix-blend-mode:screen;transition:opacity .24s ease,background .24s ease,filter .24s ease}.analog-fx-switch{position:fixed;top:22px;right:22px;z-index:43;display:inline-grid;grid-template-columns:auto auto;grid-template-areas:"mark name" "mark note";align-items:center;column-gap:10px;min-width:136px;min-height:52px;border:1px solid rgba(148,163,184,.24);border-radius:10px;background:linear-gradient(180deg,#0f172ab8,#050607e6),#ffffff09;color:var(--text);font-family:var(--ui-mono);padding:10px 12px;box-shadow:inset 0 1px #ffffff0f,0 18px 40px #0000006b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.analog-fx-switch span{grid-area:mark;display:grid;place-items:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--fx-accent, var(--green)) 52%,transparent);border-radius:8px;background:color-mix(in srgb,var(--fx-accent, var(--green)) 11%,transparent);color:var(--fx-accent, var(--green-hot));font-size:11px;font-weight:900;text-transform:uppercase}.analog-fx-switch strong{grid-area:name;color:var(--text);font-size:13px;font-weight:900;letter-spacing:.06em;line-height:1}.analog-fx-switch i{grid-area:note;color:var(--quiet);font-size:10px;font-style:normal;font-weight:700;line-height:1.2}.analog-fx-switch:hover,.analog-fx-switch:focus-visible{border-color:color-mix(in srgb,var(--fx-accent, var(--green)) 54%,transparent);outline:0;box-shadow:inset 0 1px #ffffff14,0 0 0 1px color-mix(in srgb,var(--fx-accent, var(--green)) 14%,transparent),0 18px 40px #0000006b}body[data-analog-fx=grain]{--fx-accent: #ffffff}body[data-analog-fx=grain] .analog-fx-overlay{background:radial-gradient(circle at 84% 14%,rgba(255,255,255,.16),transparent 32%),radial-gradient(circle at 10% 88%,rgba(255,255,255,.1),transparent 30%),linear-gradient(180deg,transparent,rgba(0,0,0,.18));opacity:.24;filter:blur(.15px)}body[data-analog-fx=kodak]{--fx-accent: #ff9b42;background:radial-gradient(circle at 12% 16%,rgba(255,101,34,.12),transparent 30%),radial-gradient(circle at 72% 20%,rgba(255,190,76,.08),transparent 34%),radial-gradient(circle at 22% 76%,rgba(255,255,255,.055),transparent 36%),#050505}body[data-analog-fx=kodak]:before{background-size:120px 120px;opacity:.25;filter:sepia(.22) saturate(1.14)}body[data-analog-fx=kodak]:after{background:repeating-linear-gradient(0deg,rgba(255,244,214,.026),rgba(255,244,214,.026) 1px,transparent 1px,transparent 5px);opacity:.16}body[data-analog-fx=kodak] .analog-fx-overlay{background:radial-gradient(circle at 5% 24%,rgba(255,86,34,.34),transparent 28%),radial-gradient(circle at 94% 82%,rgba(255,204,77,.16),transparent 30%),linear-gradient(90deg,rgba(255,122,48,.08),transparent 35%,rgba(255,255,255,.04));opacity:.38;filter:blur(.2px)}body[data-analog-fx=kodak] .page-shell{filter:saturate(1.08) contrast(.97) brightness(.98)}body[data-analog-fx=fuji]{--fx-accent: #ffffff;background:radial-gradient(circle at 68% 18%,rgba(110,231,183,.09),transparent 34%),radial-gradient(circle at 20% 76%,rgba(255,255,255,.075),transparent 34%),linear-gradient(180deg,#040706,#050908 55%,#030505)}body[data-analog-fx=fuji]:before{background-size:132px 132px;opacity:.22;filter:saturate(.82)}body[data-analog-fx=fuji]:after{background:repeating-linear-gradient(0deg,rgba(214,255,235,.018),rgba(214,255,235,.018) 1px,transparent 1px,transparent 6px);opacity:.14}body[data-analog-fx=fuji] .analog-fx-overlay{background:radial-gradient(circle at 18% 20%,rgba(125,255,213,.18),transparent 34%),radial-gradient(circle at 82% 72%,rgba(255,255,255,.12),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.045),transparent 46%);opacity:.34}body[data-analog-fx=fuji] .page-shell{filter:saturate(.86) contrast(.94) brightness(1.04)}body[data-analog-fx=vhs]{--fx-accent: #ffffff;background:radial-gradient(circle at 74% 16%,rgba(255,255,255,.08),transparent 34%),radial-gradient(circle at 18% 78%,rgba(255,28,70,.06),transparent 34%),#030405}body[data-analog-fx=vhs]:before{background-size:92px 92px;opacity:.28;filter:contrast(1.4)}body[data-analog-fx=vhs]:after{background:repeating-linear-gradient(0deg,rgba(255,255,255,.045),rgba(255,255,255,.045) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,28,70,.04),rgba(255,28,70,.04) 1px,rgba(255,255,255,.035) 2px,transparent 3px,transparent 9px);mix-blend-mode:screen;opacity:.24}body[data-analog-fx=vhs] .analog-fx-overlay{background:linear-gradient(90deg,rgba(255,28,70,.08),transparent 16%,transparent 78%,rgba(255,255,255,.1)),linear-gradient(180deg,transparent 0 44%,rgba(255,255,255,.07) 45%,transparent 47% 100%);opacity:.34;filter:contrast(1.18)}body[data-analog-fx=vhs] .page-shell{filter:saturate(1.16) contrast(1.08)}body[data-analog-fx=vhs] .hero-title-mobile,body[data-analog-fx=vhs] .simple-tech-heading h2,body[data-analog-fx=vhs] .project-card h3{text-shadow:1px 0 rgba(255,28,70,.24),-1px 0 rgba(255,255,255,.2),0 0 22px rgba(255,255,255,.1)}body[data-analog-fx=nomo]{--fx-accent: #f8d28a;background:radial-gradient(circle at 16% 12%,rgba(255,240,190,.08),transparent 28%),radial-gradient(circle at 86% 76%,rgba(255,134,88,.07),transparent 32%),linear-gradient(180deg,#060504,#070706 58%,#050505)}body[data-analog-fx=nomo]:before{background-size:138px 138px;opacity:.2;filter:sepia(.3) saturate(.74)}body[data-analog-fx=nomo]:after{background:repeating-linear-gradient(0deg,rgba(255,245,220,.015),rgba(255,245,220,.015) 1px,transparent 1px,transparent 7px);opacity:.1}body[data-analog-fx=nomo] .analog-fx-overlay{background:radial-gradient(circle at 8% 14%,rgba(255,245,210,.18),transparent 28%),radial-gradient(circle at 74% 34%,rgba(255,160,95,.1),transparent 36%),radial-gradient(circle,rgba(255,255,255,.16) 0 1px,transparent 1.6px);background-size:auto,auto,84px 84px;opacity:.32;filter:blur(.25px)}body[data-analog-fx=nomo] .page-shell{filter:saturate(.76) contrast(.9) brightness(1.07)}body[data-analog-fx=ccd]{--fx-accent: #ffffff;background:radial-gradient(circle at 70% 18%,rgba(255,255,255,.08),transparent 32%),radial-gradient(circle at 22% 72%,rgba(168,85,247,.06),transparent 34%),#030507}body[data-analog-fx=ccd]:before{background-size:70px 70px;opacity:.3;filter:contrast(1.55) saturate(.88)}body[data-analog-fx=ccd]:after{background:repeating-linear-gradient(0deg,rgba(255,255,255,.034),rgba(255,255,255,.034) 1px,transparent 1px,transparent 5px),repeating-linear-gradient(90deg,rgba(255,255,255,.018),rgba(255,255,255,.018) 1px,transparent 1px,transparent 12px);mix-blend-mode:screen;opacity:.2}body[data-analog-fx=ccd] .analog-fx-overlay{background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.18),transparent 30%),radial-gradient(circle at 16% 72%,rgba(168,85,247,.12),transparent 32%),linear-gradient(90deg,rgba(255,255,255,.06),transparent 24%,rgba(255,255,255,.04) 50%,transparent 76%);opacity:.32}body[data-analog-fx=ccd] .page-shell{filter:saturate(.94) contrast(1.12) brightness(.97)}@media(max-width:540px){.analog-fx-switch{top:72px;right:18px;min-width:122px;min-height:48px;padding:9px 10px}.analog-fx-switch span{width:28px;height:28px}.analog-fx-switch strong{font-size:12px}.analog-fx-switch i{font-size:9px}}body,body[data-analog-fx]{background:radial-gradient(circle at 78% 18%,rgba(148,163,184,.035),transparent 28%),linear-gradient(180deg,#040506,#07080a 52%,#050607)}body:before,body[data-analog-fx]:before{background-image:radial-gradient(circle,rgba(148,163,184,.2) 1px,transparent 1.35px),linear-gradient(90deg,rgba(148,163,184,.026) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.022) 1px,transparent 1px);background-position:0 0,0 0,0 0;background-size:24px 24px,96px 96px,96px 96px;mix-blend-mode:normal;opacity:.28;animation:none;filter:none}body:after,body[data-analog-fx]:after{background:repeating-linear-gradient(0deg,rgba(255,255,255,.012),rgba(255,255,255,.012) 1px,transparent 1px,transparent 4px);mix-blend-mode:normal;opacity:.18;filter:none}body[data-analog-fx] .page-shell{filter:none}.analog-fx-overlay,.analog-fx-switch{display:none}.home-hero{min-height:calc(100svh - 58px);padding:clamp(64px,10vh,110px) 0 96px}.home-hero:before{inset:0;background:linear-gradient(135deg,transparent 0%,rgba(0,168,90,.035) 100%),linear-gradient(rgba(0,168,90,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,168,90,.035) 1px,transparent 1px);background-size:auto,80px 80px,80px 80px;opacity:1;animation:none}.home-hero .profile-card{width:min(100%,640px);max-width:640px}.home-hero .profile-avatar{width:128px;height:128px;overflow:visible;border-radius:50%;border:none;background:transparent;box-shadow:0 0 0 1px #ffffff0a,0 0 18px #00c26e24,0 0 44px #00c26e14}.home-hero .profile-avatar:before,.home-hero .profile-photo-avatar:after{display:block}.home-hero .profile-photo-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:center 28%;filter:saturate(1.02) brightness(.9) contrast(1.04);opacity:1;animation:none}.home-hero .profile-photo-avatar:after{display:none}.profile-online-badge{position:absolute;right:-7px;bottom:-1px;z-index:2;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:#050708eb;color:#cbd5e1b8;font-family:var(--ui-mono);font-size:10px;line-height:1;padding:6px 9px;box-shadow:0 14px 30px #00000057}.profile-online-badge i{width:8px;height:8px;border-radius:999px;background:#00c26e;box-shadow:0 0 12px #00c26ed1;animation:statusPulse 1.8s ease-in-out infinite}.home-hero #hero-title{width:min(100%,760px);margin-top:58px}.hero-title-mobile{display:inline-flex;flex-wrap:nowrap;color:#f8fafce0;font-size:clamp(48px,10.8vw,80px);font-weight:900;line-height:.9;letter-spacing:-.045em;white-space:nowrap;text-shadow:-.035em 0 rgba(255,40,72,.5),.035em 0 rgba(56,189,248,.38),0 0 28px rgba(0,168,90,.16)}.home-hero .title-tumbler{width:.64em}.home-hero .title-tumbler--code{width:.44em;margin-inline:-.025em}.hero-title-mobile:after{display:none}.hero-title-mobile:before{color:#38bdf86b;animation-duration:3s}.hero-title-mobile.is-scrambling,.hero-title-mobile.is-locking{animation:chromaShift 3s ease-in-out infinite}.home-hero .profile-summary--compact{display:flex;max-width:none;align-items:center;justify-content:center;gap:12px;margin-top:34px;color:#94a3b8e6;font-size:clamp(15px,1.6vw,18px);line-height:1.4}.home-hero .profile-summary--compact span{display:inline;color:#00c26e;text-shadow:0 0 14px rgba(0,194,110,.45)}.profile-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}.profile-tags span{border:1px solid rgba(148,163,184,.16);border-radius:999px;background:#05070847;color:#94a3b8c2;font-family:var(--ui-mono);font-size:12px;line-height:1;padding:9px 17px}.profile-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:54px}.profile-action{display:inline-flex;min-width:112px;min-height:46px;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#05070838;color:#e2e8f0d1;font-family:var(--ui-mono);font-size:13px;font-weight:800;line-height:1;padding:0 24px;text-decoration:none;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.profile-action:hover,.profile-action:focus-visible{border-color:#00c26e80;color:#00c26e;outline:none;transform:translateY(-1px)}.profile-action--primary{border-color:#00c26e2e;background:#00a85a;color:#04100a;box-shadow:0 0 34px #00a85a24}.profile-action--primary:hover,.profile-action--primary:focus-visible{background:#00c26e;color:#031008}.scroll-cue{bottom:30px;flex-direction:column;align-items:center;gap:10px;color:#94a3b885;font-size:10px;letter-spacing:.16em}.scroll-cue i{display:block;width:1px;height:34px;background:linear-gradient(180deg,rgba(148,163,184,.54),transparent);animation:statusPulse 2.4s ease-in-out infinite}.scroll-note{min-width:0;margin:0;text-align:center}@media(max-width:540px){.home-hero{min-height:calc(100svh - 58px);padding:62px 18px 92px}.home-hero .profile-avatar{width:116px;height:116px}.home-hero #hero-title{margin-top:48px}.hero-title-mobile{display:inline-flex;font-size:clamp(38px,12vw,48px);white-space:nowrap}.home-hero .profile-summary--compact{flex-wrap:wrap;margin-top:28px;font-size:14px}.profile-actions{margin-top:42px}}.personal-layout--hero-source{position:relative;left:50%;width:100vw;max-width:none;margin-right:-50vw;margin-left:-50vw;padding:0;overflow:visible}.personal-layout--hero-source .home-hero{position:relative;isolation:isolate;display:flex;width:100%;min-height:100svh;align-items:center;justify-content:center;overflow:hidden;padding:0 24px;background:radial-gradient(ellipse at 84% 50%,rgba(0,168,90,.1) 0%,rgba(0,168,90,.042) 24%,rgba(0,168,90,.01) 42%,transparent 64%),radial-gradient(ellipse at 14% 18%,rgba(56,189,248,.035) 0%,transparent 42%),linear-gradient(180deg,#050708 0% 46%,#050708eb 64%,#0506078a,#05060700)}.personal-layout--hero-source .home-hero:before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(0,168,90,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(0,168,90,.5) 1px,transparent 1px);background-size:80px 80px;opacity:.03;animation:none;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 54%,rgba(0,0,0,.72) 68%,rgba(0,0,0,.28) 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 54%,rgba(0,0,0,.72) 68%,rgba(0,0,0,.28) 82%,transparent 100%)}.personal-layout--hero-source .hero-matrix-rain{position:absolute;inset:-18% -2% -10%;z-index:-1;overflow:hidden;pointer-events:none;opacity:.34;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.38) 14%,#000 28%,rgba(0,0,0,.82) 64%,rgba(0,0,0,.18) 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.38) 14%,#000 28%,rgba(0,0,0,.82) 64%,rgba(0,0,0,.18) 88%,transparent 100%)}.personal-layout--hero-source .hero-matrix-rain span{position:absolute;top:-28%;left:calc(-4% + (var(--i) * 3.72%));color:#00c26e7a;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.2;text-shadow:0 0 9px rgba(0,194,110,.36),0 0 22px rgba(0,168,90,.16);text-orientation:upright;white-space:nowrap;writing-mode:vertical-rl;animation:heroMatrixRain var(--matrix-duration) linear infinite;animation-delay:var(--matrix-delay);will-change:transform,opacity}.personal-layout--hero-source .hero-matrix-rain span:nth-child(3n){color:#00ff8094;font-size:13px}.personal-layout--hero-source .hero-matrix-rain span:nth-child(4n){opacity:.62;filter:blur(.35px)}.personal-layout--hero-source .home-hero:after{content:"";position:absolute;right:-14vw;bottom:-1px;left:-14vw;z-index:0;height:clamp(520px,72vh,900px);pointer-events:none;background:linear-gradient(to bottom,#05070800,#05070804 10%,#0507080a,#05070814,#05070824,#0507083d,#05070861 70%,#0507088f,#050708c7 90%,#050708eb 96%,#050708),radial-gradient(ellipse at 82% 20%,rgba(0,168,90,.072) 0%,rgba(0,168,90,.024) 32%,rgba(0,168,90,.006) 52%,transparent 74%),radial-gradient(ellipse at 70% 70%,rgba(5,6,7,.48) 0%,rgba(5,6,7,.24) 46%,transparent 78%),radial-gradient(ellipse at 46% 74%,rgba(5,6,7,.42) 0%,rgba(5,6,7,.2) 48%,transparent 80%),url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");background-blend-mode:normal,normal,normal,normal,soft-light;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);filter:blur(120px);-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 10%,rgba(0,0,0,.28) 24%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.9) 62%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 10%,rgba(0,0,0,.28) 24%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.9) 62%,#000 100%);opacity:0;transform:translateY(145%);animation:heroFadeBridge linear both;animation-timeline:scroll();animation-range:0px 520px}@keyframes heroFadeBridge{0%{opacity:0;transform:translateY(145%);filter:blur(120px)}to{opacity:1;transform:translateY(110%);filter:blur(100px)}}@supports not (animation-timeline: scroll()){.personal-layout--hero-source .home-hero:after{opacity:1;transform:translateY(110%);filter:blur(100px)}}.personal-layout--hero-source .profile-card{position:relative;z-index:1;display:flex;width:100%;max-width:576px;flex-direction:column;align-items:center;border:0;background:transparent;padding:0;text-align:center;transform:translateY(-2px);-webkit-backdrop-filter:none;backdrop-filter:none}.personal-layout--hero-source .profile-avatar{position:relative;display:block;width:128px;height:128px;margin-bottom:40px;overflow:visible;border-radius:999px;border:none;background:transparent;box-shadow:0 0 0 1px #ffffff0a,0 0 18px #00c26e24,0 0 44px #00c26e14}.personal-layout--hero-source .profile-avatar:before,.personal-layout--hero-source .profile-photo-avatar:after{display:block}.personal-layout--hero-source .profile-photo-avatar img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:center;filter:none;mix-blend-mode:normal;opacity:1;animation:none}.personal-layout--hero-source .profile-photo-avatar:after{display:none}.personal-layout--hero-source .profile-online-badge{position:absolute;right:-9px;bottom:-2px;z-index:2;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.3);border-radius:999px;background:#050708;color:#94a3b8d9;font-family:var(--mono);font-size:10px;line-height:1;padding:6px 8px}.personal-layout--hero-source .profile-online-badge i{width:8px;height:8px;border-radius:999px;background:#00a85a;box-shadow:0 0 12px #00a85ad1;animation:statusPulse 1.8s ease-in-out infinite}.personal-layout--hero-source .profile-body{display:flex;width:100%;flex-direction:column;align-items:center;min-width:0}.personal-layout--hero-source #hero-title{width:auto;max-width:100%;margin:0 0 24px;line-height:1}.personal-layout--hero-source .hero-title-mobile{position:relative;display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0;color:#f8fafc;cursor:default;font-family:var(--mono);font-size:clamp(48px,12vw,80px);font-weight:800;line-height:1;letter-spacing:0;white-space:nowrap;text-shadow:-.04em 0 rgba(255,28,48,.58),.04em 0 rgba(52,69,255,.5);-webkit-user-select:none;user-select:none;animation:chromaShift 3s ease-in-out infinite}.personal-layout--hero-source .hero-title-mobile:before,.personal-layout--hero-source .hero-title-mobile:after{display:none}.personal-layout--hero-source .hero-title-mobile.is-glitching:before,.personal-layout--hero-source .hero-title-mobile.is-glitching:after{display:block}.personal-layout--hero-source .hero-title-mobile.is-glitching:before{color:transparent;mix-blend-mode:screen;opacity:0;text-shadow:-.22em 0 rgba(0,62,255,.86),-.08em 0 rgba(0,255,106,.8),.2em 0 rgba(255,0,130,.78);animation:spectrumTitleTear var(--glitch-duration, .22s) steps(1,end) both}.personal-layout--hero-source .hero-title-mobile.is-glitching:after{content:attr(data-text);position:absolute;inset:-.05em auto auto 50%;height:auto;border-radius:0;background:linear-gradient(90deg,transparent 0 4%,rgba(0,56,255,.92) 4% 24%,rgba(0,255,80,.88) 24% 48%,rgba(255,0,148,.9) 48% 74%,transparent 74% 100%),linear-gradient(90deg,transparent 0 8%,rgba(0,118,255,.9) 8% 36%,rgba(0,255,78,.78) 36% 58%,rgba(255,0,132,.88) 58% 88%,transparent 88% 100%),linear-gradient(90deg,#0050ffc2,#00ff60a3,#ff008cb8);background-size:100% .16em,100% .12em,100% 100%;background-repeat:no-repeat;color:transparent;font:inherit;letter-spacing:inherit;line-height:inherit;mix-blend-mode:screen;opacity:0;pointer-events:none;text-shadow:-.34em 0 rgba(0,68,255,.86),-.04em 0 rgba(0,255,92,.72),.32em 0 rgba(255,0,142,.88);transform:translate(-50%);white-space:nowrap;animation:spectrumBandTear var(--glitch-duration, .22s) steps(1,end) both}.personal-layout--hero-source .slot-char{position:relative;display:inline-block;min-width:.6em;text-align:center;opacity:.7;transition:opacity .1s ease,filter .1s ease,color .1s ease}.personal-layout--hero-source .slot-char:before,.personal-layout--hero-source .slot-char:after{content:attr(data-char);position:absolute;inset:0;opacity:0;pointer-events:none;text-align:center}.personal-layout--hero-source .slot-char.is-locked{opacity:1}.personal-layout--hero-source .slot-char:not(.is-locked){filter:blur(.3px)}.personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char{animation:slotLetterGlitch var(--glitch-duration, .16s) steps(1,end) both;will-change:transform,filter,clip-path,text-shadow}.personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char:before,.personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char:after{mix-blend-mode:screen}.personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char:before{color:#005cffeb;text-shadow:-.16em 0 rgba(0,92,255,.86),.08em 0 rgba(0,255,106,.58);animation:slotRgbBlue var(--glitch-duration, .22s) steps(1,end) both}.personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char:after{color:#ff0094eb;text-shadow:.16em 0 rgba(255,0,148,.86),-.06em 0 rgba(0,255,106,.6);animation:slotRgbMagenta var(--glitch-duration, .22s) steps(1,end) both}.personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char:nth-child(2n){animation-name:slotLetterGlitchAlt}.personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char:nth-child(3n){animation-name:slotLetterGlitchHard}.personal-layout--hero-source .slot-char.is-highlighted.is-locked{color:#00c26e;text-shadow:0 0 8px rgba(0,194,110,.8),0 0 16px rgba(0,194,110,.5)}.personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char.is-highlighted.is-locked{animation-name:slotCodeGlitch}@keyframes spectrumTitleTear{0%,to{clip-path:inset(0 0 0 0);opacity:0;transform:translate(-50%) skew(0)}6%{clip-path:inset(0 0 78% 0);opacity:.92;transform:translate(calc(-50% + var(--glitch-x-a, -28px))) skew(var(--glitch-skew-a, -10deg))}18%{clip-path:inset(16% 0 52% 0);opacity:.86;transform:translate(calc(-50% + var(--glitch-x-b, 34px))) skew(var(--glitch-skew-b, 8deg))}32%{clip-path:inset(42% 0 30% 0);opacity:.96;transform:translate(calc(-50% + var(--glitch-x-c, -20px))) skew(var(--glitch-skew-c, -5deg))}48%{clip-path:inset(64% 0 8% 0);opacity:.84;transform:translate(calc(-50% + var(--glitch-x-a, -28px))) skew(var(--glitch-skew-b, 8deg))}68%{clip-path:inset(22% 0 18% 0);opacity:.7;transform:translate(calc(-50% + var(--glitch-x-b, 34px))) skew(var(--glitch-skew-a, -10deg))}}@keyframes spectrumBandTear{0%,to{background-position:var(--bar-shift-a, -90px) 12%,var(--bar-shift-b, 110px) 54%,0 0;clip-path:inset(0 0 0 0);opacity:0;transform:translate(-50%) skew(0)}8%{background-position:var(--bar-shift-b, 110px) 16%,var(--bar-shift-c, -70px) 48%,0 0;clip-path:inset(4% 0 70% 0);opacity:.92;transform:translate(calc(-50% + var(--glitch-x-b, 34px))) skew(var(--glitch-skew-b, 8deg))}24%{background-position:var(--bar-shift-c, -70px) 28%,var(--bar-shift-a, -90px) 62%,0 0;clip-path:inset(24% 0 42% 0);opacity:.96;transform:translate(calc(-50% + var(--glitch-x-a, -28px))) skew(var(--glitch-skew-a, -10deg))}42%{background-position:var(--bar-shift-a, -90px) 38%,var(--bar-shift-b, 110px) 72%,0 0;clip-path:inset(42% 0 22% 0);opacity:.9;transform:translate(calc(-50% + var(--glitch-x-c, -20px))) skew(var(--glitch-skew-c, -5deg))}62%{background-position:var(--bar-shift-b, 110px) 8%,var(--bar-shift-c, -70px) 84%,0 0;clip-path:inset(68% 0 4% 0);opacity:.82;transform:translate(calc(-50% + var(--glitch-x-b, 34px))) skew(var(--glitch-skew-a, -10deg))}}@keyframes slotRgbBlue{0%,to{clip-path:inset(0 0 0 0);opacity:0;transform:translateZ(0)}10%{clip-path:inset(0 0 64% 0);opacity:.96;transform:translate3d(-.18em,-.03em,0)}28%{clip-path:inset(28% 0 34% 0);opacity:.9;transform:translate3d(.16em,.02em,0)}52%{clip-path:inset(62% 0 0 0);opacity:.84;transform:translate3d(-.12em,0,0)}}@keyframes slotRgbMagenta{0%,to{clip-path:inset(0 0 0 0);opacity:0;transform:translateZ(0)}12%{clip-path:inset(68% 0 0 0);opacity:.94;transform:translate3d(.18em,.03em,0)}34%{clip-path:inset(18% 0 56% 0);opacity:.88;transform:translate3d(-.16em,-.02em,0)}58%{clip-path:inset(44% 0 20% 0);opacity:.9;transform:translate3d(.12em,0,0)}}@keyframes slotLetterGlitch{0%,to{clip-path:inset(0 0 0 0);filter:none;text-shadow:-.04em 0 rgba(255,28,48,.58),.04em 0 rgba(52,69,255,.5);transform:translateZ(0) skew(0)}10%{clip-path:inset(var(--slice-top-a, 18%) 0 var(--slice-bottom-a, 70%) 0);filter:contrast(1.45);text-shadow:var(--glitch-x-a, -10px) 0 rgba(255,28,48,.86),var(--glitch-x-b, 12px) 0 rgba(52,69,255,.72);transform:translate3d(var(--glitch-x-a, -10px),-.03em,0) skew(var(--glitch-skew-a, -6deg))}28%{clip-path:inset(var(--slice-top-b, 48%) 0 var(--slice-bottom-b, 40%) 0);filter:brightness(1.2) saturate(1.4);text-shadow:.08em 0 rgba(255,28,48,.7),-.06em 0 rgba(52,69,255,.64);transform:translate3d(var(--glitch-x-b, 12px),.02em,0) skew(var(--glitch-skew-b, 4deg))}46%{clip-path:inset(var(--slice-top-c, 72%) 0 var(--slice-bottom-c, 16%) 0);filter:contrast(1.2);text-shadow:-.07em 0 rgba(255,28,48,.72),.07em 0 rgba(52,69,255,.72),0 0 16px rgba(248,250,252,.2);transform:translate3d(var(--glitch-x-c, -6px),0,0) skew(var(--glitch-skew-c, -2deg))}62%{clip-path:inset(8% 0 12% 0);filter:none;transform:translate3d(.04em,0,0) skew(2deg)}}@keyframes slotLetterGlitchAlt{0%,to{clip-path:inset(0 0 0 0);filter:none;transform:translateZ(0)}14%{clip-path:inset(var(--slice-top-c, 72%) 0 var(--slice-bottom-c, 16%) 0);filter:contrast(1.35);text-shadow:.07em 0 rgba(255,28,48,.72),-.08em 0 rgba(52,69,255,.66);transform:translate3d(var(--glitch-x-b, 12px),.04em,0) skew(var(--glitch-skew-c, -2deg))}36%{clip-path:inset(0 0 54% 0);filter:brightness(1.18);transform:translate3d(var(--glitch-x-a, -10px),-.02em,0) skew(var(--glitch-skew-a, -6deg))}58%{clip-path:inset(54% 0 0 0);text-shadow:-.08em 0 rgba(255,28,48,.78),.08em 0 rgba(52,69,255,.7);transform:translate3d(var(--glitch-x-c, -6px),0,0)}}@keyframes slotLetterGlitchHard{0%,to{clip-path:inset(0 0 0 0);filter:none;transform:translateZ(0)}8%{clip-path:inset(12% 0 64% 0);filter:contrast(1.6);transform:translate3d(var(--glitch-x-c, -6px),-.04em,0) skew(var(--glitch-skew-b, 4deg))}22%{clip-path:inset(66% 0 10% 0);text-shadow:-.09em 0 rgba(255,28,48,.84),.1em 0 rgba(52,69,255,.76);transform:translate3d(var(--glitch-x-b, 12px),.03em,0)}44%{clip-path:inset(32% 0 34% 0);filter:saturate(1.5);transform:translate3d(var(--glitch-x-a, -10px),0,0) skew(var(--glitch-skew-a, -6deg))}}@keyframes slotCodeGlitch{0%,to{clip-path:inset(0 0 0 0);color:#00c26e;text-shadow:0 0 8px rgba(0,194,110,.8),0 0 16px rgba(0,194,110,.5);transform:translateZ(0)}12%{clip-path:inset(var(--slice-top-a, 18%) 0 var(--slice-bottom-a, 70%) 0);color:#00c26e;text-shadow:-.08em 0 rgba(0,255,106,.9),.08em 0 rgba(52,69,255,.58),0 0 18px rgba(0,194,110,.75);transform:translate3d(var(--glitch-x-a, -10px),-.02em,0) skew(var(--glitch-skew-a, -6deg))}34%{clip-path:inset(var(--slice-top-b, 48%) 0 var(--slice-bottom-b, 40%) 0);color:#00c26e;text-shadow:.08em 0 rgba(0,255,106,.86),-.07em 0 rgba(255,28,48,.48),0 0 22px rgba(0,194,110,.72);transform:translate3d(var(--glitch-x-b, 12px),.03em,0) skew(var(--glitch-skew-b, 4deg))}60%{clip-path:inset(var(--slice-top-c, 72%) 0 var(--slice-bottom-c, 16%) 0);color:#00c26e;filter:contrast(1.35);transform:translate3d(var(--glitch-x-c, -6px),0,0)}}.personal-layout--hero-source .profile-summary--compact{display:block;max-width:390px;margin:0 auto;color:#94a3b8eb;font-family:var(--mono);font-size:18px;font-weight:700;line-height:1.5;text-align:center}.personal-layout--hero-source .profile-summary-vhs .profile-summary-copy{display:inline-block;will-change:transform,text-shadow,filter;animation:profileSummaryVhs 7.4s steps(1,end) infinite}.personal-layout--hero-source .profile-summary--compact span{display:inline}.personal-layout--hero-source .profile-summary--compact .profile-summary-mark{display:inline-block;margin-right:10px;color:#00c26e;text-shadow:0 0 14px rgba(0,194,110,.45)}.personal-layout--hero-source .profile-summary--compact .profile-summary-copy{color:inherit;text-shadow:none}.personal-layout--hero-source .profile-summary--compact .profile-summary-lead{color:inherit;text-shadow:none;white-space:nowrap}@keyframes profileSummaryVhs{0%,86%,to{transform:translateZ(0);text-shadow:none;filter:none}88%{transform:translate3d(-.6px,.2px,0) skew(-.2deg);text-shadow:-1px 0 rgba(255,40,72,.12),1px 0 rgba(56,189,248,.1);filter:saturate(1.02)}90%{transform:translate3d(.8px,-.2px,0) skew(.25deg);text-shadow:-1px 0 rgba(255,40,72,.1),1px 0 rgba(56,189,248,.12);filter:saturate(1.03)}92%{transform:translate3d(-.3px,0,0);text-shadow:-1px 0 rgba(255,40,72,.08),1px 0 rgba(56,189,248,.08);filter:none}}.personal-layout--hero-source .profile-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:31px}.personal-layout--hero-source .profile-tags span{border:1px solid rgba(148,163,184,.18);border-radius:999px;background:transparent;color:#94a3b8c7;font-family:var(--mono);font-size:12px;font-weight:400;line-height:1;padding:9px 17px}.personal-layout--hero-source .profile-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:49px;padding:0 12px 14px 0}.personal-layout--hero-source .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 36px;font-family:Martian Mono,monospace;font-size:16px;font-weight:700;letter-spacing:.06em;text-decoration:none;color:#0a1a0f;background-color:#22c55e;position:relative;transition:all .15s;cursor:pointer;border:none;-webkit-user-select:none;user-select:none;line-height:1;white-space:nowrap}.personal-layout--hero-source .button svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}.personal-layout--hero-source .button:before{position:absolute;content:"";transition:all .15s;bottom:-12px;height:12px;width:100%;left:6px;transform:skew(45deg);background-color:#15803d}.personal-layout--hero-source .button:after{position:absolute;content:"";transition:all .15s;right:-12px;height:100%;width:12px;bottom:-6px;transform:skewY(45deg);background-color:#166534}.personal-layout--hero-source .button:active{margin-left:6px;margin-top:6px}.personal-layout--hero-source .button:active:before{bottom:-4px;height:4px;left:2px}.personal-layout--hero-source .button:active:after{right:-4px;width:4px;bottom:-2px}.personal-layout--hero-source .button--ghost{background-color:#134e24;color:#4ade80;border:2px solid #22c55e}.personal-layout--hero-source .button--ghost:before{background-color:#0a2e15}.personal-layout--hero-source .button--ghost:after{background-color:#071d0e}.personal-layout--hero-source .scroll-cue{position:absolute;left:50%;bottom:34px;z-index:5;display:inline-flex;flex-direction:column;align-items:center;gap:10px;color:#94a3b880;font-family:var(--mono);font-size:10px;font-weight:600;line-height:1;letter-spacing:.16em;text-decoration:none;text-transform:uppercase;transform:translate(-50%);animation:none}.personal-layout--hero-source .scroll-cue i{display:block;width:1px;height:34px;background:linear-gradient(180deg,rgba(148,163,184,.54),transparent);animation:statusPulse 2.4s ease-in-out infinite}.personal-layout--hero-source .scroll-note{min-width:0;margin:0;text-align:center}@media(max-width:640px){.personal-layout--hero-source .home-hero{padding:0 18px}.personal-layout--hero-source .profile-card{transform:translateY(-8px)}.personal-layout--hero-source .profile-avatar{width:116px;height:116px;margin-bottom:36px}.personal-layout--hero-source .hero-title-mobile{font-size:clamp(38px,12vw,48px)}.personal-layout--hero-source .profile-summary--compact{gap:8px;font-size:14px}.personal-layout--hero-source .profile-actions{flex-wrap:nowrap;gap:12px;margin-top:42px;padding:0 8px 10px 0}.personal-layout--hero-source .button{padding:12px 16px;font-size:12px;letter-spacing:.03em}.personal-layout--hero-source .button:before{bottom:-8px;left:4px;height:8px}.personal-layout--hero-source .button:after{right:-8px;bottom:-4px;width:8px}.personal-layout--hero-source .button:active{margin-left:4px;margin-top:4px}.personal-layout--hero-source .button:active:before{bottom:-3px;left:1px;height:3px}.personal-layout--hero-source .button:active:after{right:-3px;bottom:-1px;width:3px}}.procrastination-section{width:100%;scroll-margin-top:86px;padding:26px var(--site-gutter, 30px) 42px}.procrastination-inner{width:min(980px,100%);margin:0 auto}.procrastination-panel{position:relative;overflow:visible;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:var(--github-contrib-card-bg);box-shadow:0 24px 70px #00000047,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.procrastination-panel:before{content:none}.procrastination-panel-header{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border-bottom:1px solid rgba(255,255,255,.12);padding:16px}.procrastination-panel-icon{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#fff}.procrastination-panel-copy{display:grid;min-width:0;gap:4px;font-family:var(--ui-mono)}.procrastination-panel-copy strong{color:var(--text);font-size:14px;font-weight:800;line-height:1.1}.procrastination-panel-copy span{color:#cbd5e19e;font-size:11px;font-weight:700;line-height:1.1}.procrastination-toggle{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#fff;font-family:var(--ui-mono);font-size:11px;font-weight:900;line-height:1;padding:0 12px;text-transform:uppercase;transition:transform .18s ease,border-color .18s ease,background .18s ease}.procrastination-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .18s ease}.procrastination-toggle--header{width:38px;padding:0}.procrastination-panel:not(.is-expanded) .procrastination-toggle--header svg{transform:rotate(180deg)}.procrastination-toggle:hover,.procrastination-toggle:focus-visible{border-color:#ffffff75;background:#ffffff24;outline:none;transform:translateY(-1px)}.procrastination-toggle:active{transform:translateY(1px) scale(.98)}.procrastination-footer-action{display:none;position:relative;z-index:1}.procrastination-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;padding:16px}.procrastination-panel:not(.is-expanded) .procrastination-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.procrastination-game-card{--game-accent: #ffffff;position:relative;display:block;min-width:0;overflow:hidden;aspect-ratio:2 / 3;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#08090b;color:inherit;cursor:default;font:inherit;padding:0;text-decoration:none;transform:translateZ(0);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease}.procrastination-panel.is-expanded .procrastination-game-card:nth-child(n+7){animation:procrastinationReveal .46s cubic-bezier(.2,.85,.24,1.1) both;animation-delay:calc((var(--game-index, 6) - 6) * 34ms)}.procrastination-grid:hover .procrastination-game-card:not(:hover):not(.is-selected){opacity:.52}.procrastination-game-card:hover,.procrastination-game-card:focus-visible{z-index:2;border-color:#ffffff1f;box-shadow:0 18px 46px #00000075,0 0 22px color-mix(in srgb,var(--game-accent) 26%,transparent);outline:none;transform:scale(1.08)}.procrastination-game-card.is-selected{z-index:3;border-color:#ffffff1f;box-shadow:0 20px 54px #00000085,0 0 26px color-mix(in srgb,var(--game-accent) 32%,transparent);outline:none;transform:scale(1.18)}.procrastination-game-card.is-selected:hover,.procrastination-game-card.is-selected:focus-visible{transform:scale(1.22)}.procrastination-game-card img{display:block;width:100%;height:100%;object-fit:cover}.procrastination-game-poster{display:grid;width:100%;height:100%;place-items:center;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--game-accent) 42%,transparent),transparent 34%),linear-gradient(145deg,#ffffff14,#ffffff03 38%),#08090b}.procrastination-game-poster:before,.procrastination-game-poster:after{position:absolute;pointer-events:none;content:""}.procrastination-game-poster:before{inset:10px;border:1px solid color-mix(in srgb,var(--game-accent) 38%,rgba(255,255,255,.12));border-radius:6px}.procrastination-game-poster:after{inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04),rgba(255,255,255,.04) 1px,transparent 1px,transparent 6px);opacity:.34}.procrastination-game-poster span{position:relative;z-index:1;color:color-mix(in srgb,var(--game-accent) 88%,#ffffff);font-family:var(--ui-mono);font-size:clamp(18px,2.6vw,30px);font-weight:900;letter-spacing:0;line-height:.92;text-align:center;text-shadow:0 0 18px color-mix(in srgb,var(--game-accent) 44%,transparent),2px 2px 0 rgba(0,0,0,.62);text-transform:uppercase}.procrastination-game-label{position:absolute;right:7px;bottom:7px;left:7px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#050607c2;color:#f8fafcf0;font-family:var(--ui-mono);font-size:9px;font-weight:800;line-height:1.15;padding:6px 7px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.procrastination-game-card.is-selected .procrastination-game-label{border-color:color-mix(in srgb,var(--game-accent) 48%,rgba(255,255,255,.2));background:#050607d6;color:#fff;font-size:8px;line-height:1.08;text-overflow:clip;white-space:normal}@keyframes procrastinationReveal{0%{opacity:0;filter:blur(7px) saturate(1.35);transform:translateY(18px) scale(.9)}62%{opacity:1;filter:blur(0) saturate(1.1);transform:translateY(-3px) scale(1.03)}to{opacity:1;filter:none;transform:translateY(0) scale(1)}}@media(max-width:980px){.procrastination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.procrastination-panel:not(.is-expanded) .procrastination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.procrastination-section{padding-inline:16px}.procrastination-panel-header{grid-template-columns:auto minmax(0,1fr) auto}.procrastination-toggle--header{display:inline-flex}.procrastination-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}.procrastination-panel:not(.is-expanded) .procrastination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.procrastination-footer-action{display:block;padding:0 12px 12px}.procrastination-toggle--footer{width:100%}}.interactive-os-section{width:100%;scroll-margin-top:86px;padding:10px var(--site-gutter, 30px) 42px}.interactive-os-inner{width:min(980px,100%);margin:0 auto}.interactive-os-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}.interactive-mobile-notice{display:none}.interactive-os-retro{border:1px solid rgba(148,163,184,.18);border-radius:16px;background:var(--github-contrib-card-bg);box-shadow:0 24px 70px #00000047,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.music-player-card{display:grid;height:352px;min-width:0;overflow:hidden;border-radius:12px;background:#121212;color:#fff;grid-template-rows:128px 76px minmax(0,1fr);box-shadow:0 18px 52px #00000047}.music-player-hero{display:grid;min-width:0;align-items:end;gap:18px;grid-template-columns:96px minmax(0,1fr);background:linear-gradient(180deg,#525252f0,#121212fa 86%),#282828;padding:18px 22px 14px}.music-cover-art{position:relative;display:grid;width:96px;height:96px;place-items:center;overflow:hidden;border-radius:6px;background:radial-gradient(circle at 24% 24%,rgba(30,215,96,.62),transparent 34%),linear-gradient(135deg,#1f2937,#0f172a 48%,#111827);box-shadow:0 16px 34px #0000006b}.music-cover-art svg{position:relative;z-index:1;color:#ffffffeb}.music-player-copy{display:grid;align-content:end;gap:4px;min-width:0}.music-player-brand{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:6px;overflow:hidden;color:#fff;font-size:12px;font-weight:800;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.music-player-brand svg{width:18px;height:18px;flex:0 0 auto;color:#1ed760}.music-player-kicker{overflow:hidden;color:#ffffffe6;font-size:11px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.music-player-copy h2{margin:0;overflow:hidden;color:#fff;font-size:38px;font-weight:900;line-height:.98;text-overflow:ellipsis;white-space:nowrap}.music-player-subtitle,.music-player-count{margin:0;overflow:hidden;color:#b3b3b3;font-size:12px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.music-player-subtitle span{display:block;overflow:hidden;text-overflow:ellipsis}.music-visualizer{position:absolute;right:10px;bottom:9px;left:10px;display:grid;height:24px;align-items:end;grid-template-columns:repeat(18,minmax(0,1fr));gap:2px;opacity:.78}.music-visualizer span{height:calc(18% + (var(--bar) % 7) * 10%);border-radius:999px 999px 3px 3px;background:linear-gradient(180deg,#fff,#1ed760);opacity:.62;transform-origin:bottom}.music-player-card.is-playing .music-visualizer span{animation:musicBar .75s ease-in-out infinite alternate;animation-delay:calc(var(--bar) * -.08s);opacity:.9}.music-playback-row{display:grid;min-width:0;align-items:center;gap:18px;grid-template-columns:auto minmax(0,1fr) minmax(132px,176px);background:#181818;padding:10px 18px 12px}.music-controls-row,.music-volume-row,.music-progress-row{display:flex;align-items:center}.music-progress-row{min-width:0;gap:10px;color:#b3b3b3;font-size:11px;font-weight:700}.music-progress-row span{width:36px;flex-shrink:0;text-align:center}.music-progress-row input,.music-volume-row input{width:100%;accent-color:#1ed760}.music-controls-row{justify-content:center;gap:7px}.music-controls-row button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:999px;background:transparent;color:#b3b3b3;cursor:pointer;transition:transform .18s ease,color .18s ease,background .18s ease}.music-controls-row button:hover:not(:disabled),.music-controls-row button:focus-visible:not(:disabled){color:#fff;outline:none;transform:translateY(-1px)}.music-controls-row button:disabled{cursor:not-allowed;opacity:.38}.music-controls-row .music-play-button{width:44px;height:44px;background:#1ed760;color:#050607}.music-controls-row .music-play-button:hover:not(:disabled),.music-controls-row .music-play-button:focus-visible:not(:disabled){background:#1fdf64;color:#050607;transform:scale(1.04)}.music-volume-row{min-width:0;gap:10px;color:#b3b3b3;font-size:11px;font-weight:700}.music-volume-row span{width:36px;flex-shrink:0;text-align:right}.music-track-list{display:grid;align-content:start;gap:2px;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;background:#121212;padding:0 12px 14px}.music-track-list>span,.music-track-list button{border:0;border-radius:4px;background:transparent;color:#b3b3b3;font:inherit;text-align:left}.music-track-list button{display:grid;width:100%;min-height:44px;align-items:center;gap:12px;grid-template-columns:32px minmax(0,1fr);cursor:pointer;padding:0 10px;transition:background .16s ease,color .16s ease}.music-track-list>span{padding:12px 10px}.music-track-list button:hover,.music-track-list button:focus-visible{background:#ffffff14;color:#fff;outline:none}.music-track-list button.is-active{color:#fff}.music-track-number{color:#b3b3b3;font-size:12px;font-weight:700;text-align:right}.music-track-copy{display:grid;min-width:0;gap:2px}.music-track-copy strong,.music-track-copy small{overflow:hidden;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.music-track-copy strong{color:currentColor;font-size:13px;font-weight:800}.music-track-copy small{color:#8f8f8f;font-size:11px;font-weight:600}.music-track-list button.is-active .music-track-number,.music-track-list button.is-active .music-track-copy strong{color:#1ed760}.spotify-local-embed-shell{min-width:0;overflow:hidden;border-radius:12px;background:#9d1020;box-shadow:0 18px 52px #00000047}.spotify-local-embed{--spotify-embed-base: rgb(157, 16, 32);--spotify-embed-tinted: rgb(97, 0, 3);--spotify-embed-subdued: rgb(255, 189, 184);display:grid;height:100%;min-width:0;overflow:hidden;border-radius:12px;background:var(--spotify-embed-base);color:#fff;font-family:SpotifyMixUI,CircularSp,Helvetica Neue,Helvetica,Arial,sans-serif;grid-template-rows:200px minmax(0,1fr);isolation:isolate}.spotify-local-header{position:relative;display:grid;min-width:224px;height:200px;grid-template-columns:152px minmax(0,1fr);grid-template-rows:min-content 1fr min-content;column-gap:24px;background:var(--spotify-embed-base);padding:24px}.spotify-local-cover{width:152px;height:152px;overflow:hidden;border-radius:8px;box-shadow:0 9px 9px #0000001a,0 0 29px #0000001a;grid-row:1 / span 3}.spotify-local-cover img{display:block;width:100%;height:100%;object-fit:cover}.spotify-local-logo{display:grid;width:32px;height:32px;place-items:center;justify-self:end;color:#fff;text-decoration:none}.spotify-local-logo svg{width:24px;height:24px}.spotify-local-metadata{display:grid;min-width:0;align-content:start;gap:8px;grid-column:2;grid-row:1 / span 2;padding-top:24px}.spotify-local-metadata h2{margin:0;overflow:hidden;color:#fff;font-size:24px;font-weight:400;letter-spacing:0;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.spotify-local-metadata p{display:flex;min-width:0;align-items:center;gap:8px;margin:0;color:#ffffffe0;font-size:14px;line-height:1.25}.spotify-local-metadata p span{border-radius:2px;background:#000000c7;color:#fff;font-size:9px;font-weight:700;line-height:1;padding:3px 6px}.spotify-local-metadata p strong{min-width:0;overflow:hidden;color:#ffffffdb;font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.spotify-local-save{display:inline-flex;width:fit-content;min-height:28px;align-items:center;gap:8px;border:0;background:transparent;color:#fff;cursor:default;font:inherit;font-size:14px;font-weight:700;padding:0;text-align:left}.spotify-local-save svg{flex:0 0 auto}.spotify-local-controls{position:absolute;right:28px;bottom:22px;display:flex;align-items:center;gap:18px}.spotify-local-controls button{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:999px;background:transparent;color:#fff;cursor:pointer;padding:0;transition:opacity .16s ease,transform .16s ease}.spotify-local-controls button:hover:not(:disabled),.spotify-local-controls button:focus-visible:not(:disabled){outline:none;transform:scale(1.08)}.spotify-local-controls button:disabled{cursor:default;opacity:.42}.spotify-local-controls .spotify-local-play{width:48px;height:48px;background:#ffffff3b;color:#610003}.spotify-local-tracklist{min-height:0;overflow:hidden;background:#61000380}.spotify-local-tracklist ol{height:100%;margin:0 8px 8px 0;overflow-x:hidden;overflow-y:auto;padding:8px 0 0 8px;scrollbar-color:rgba(97,0,3,.8) transparent}.spotify-local-tracklist ol::-webkit-scrollbar{width:6px}.spotify-local-tracklist ol::-webkit-scrollbar-thumb{border-radius:4px;background:#610003cc}.spotify-local-tracklist li{display:block;list-style:none;margin:0;padding:0}.spotify-local-tracklist li>button{display:grid;width:100%;min-height:52px;grid-template-columns:32px minmax(0,1fr) max-content;grid-template-rows:auto auto;overflow:hidden;border:0;border-radius:4px;background:transparent;color:#fff;cursor:pointer;font:inherit;padding:8px 8px 8px 0;text-align:left;transition:background .16s ease}.spotify-local-tracklist li>button:hover,.spotify-local-tracklist li>button:focus-visible,.spotify-local-tracklist li.is-current>button{background:#61000394;outline:none}.spotify-local-track-index,.spotify-local-track-duration{display:grid;align-self:center;color:#ffffffc2;font-size:14px;font-feature-settings:"tnum" on;grid-row:1 / span 2;line-height:1}.spotify-local-track-index{place-items:center}.spotify-local-track-duration{justify-content:end;margin-inline:8px;text-align:right}.spotify-local-track-title,.spotify-local-track-artist{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-local-track-title{color:#fff;font-size:14px;font-weight:400;grid-column:2;grid-row:1;line-height:1.32}.spotify-local-track-artist{color:#ffbdb8c7;font-size:11px;font-weight:400;grid-column:2;grid-row:2;line-height:1.35}.spotify-local-empty{color:#ffbdb8e6;font-size:14px;padding:14px 12px}.spotify-mobile-bar{display:none}.interactive-os-retro{min-width:0;padding:16px}.interactive-os-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;font-family:var(--ui-mono)}.interactive-os-heading-copy{display:grid;gap:4px;min-width:0}.interactive-os-heading-copy>span{color:#94a3b8b8;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.interactive-os-heading-copy h2{color:var(--text);font-size:16px;font-weight:900;line-height:1.1;text-align:left}.interactive-os-size-toggle{display:inline-flex;min-height:34px;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#ffffff12;color:#fff;cursor:pointer;font-family:var(--ui-mono);font-size:10px;font-weight:900;padding:0 10px;text-transform:uppercase;transition:transform .18s ease,border-color .18s ease,background .18s ease}.interactive-os-size-toggle:hover,.interactive-os-size-toggle:focus-visible{border-color:#22c55e85;background:#22c55e1f;outline:none;transform:translateY(-1px)}.interactive-os-retro .retro-about-section{width:100%;margin:0}.interactive-os-retro .retro-about-card{border:0;background:transparent;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.interactive-os-retro .retro-desktop{height:clamp(226px,30vw,286px)}.interactive-os-retro .retro-about-copy{gap:10px;padding:12px 2px 2px}.interactive-os-retro .retro-about-copy h2{font-size:13px}.interactive-os-retro .retro-about-copy p{font-size:11px;line-height:1.5}.interactive-os-retro .retro-icon{width:58px;font-size:8px}.interactive-os-retro .retro-icon--fetch{right:24px}.system-cache-widget{position:relative;min-height:178px;margin-top:12px;overflow:hidden;border:1px solid rgba(34,197,94,.2);border-radius:12px;background:linear-gradient(135deg,#050a0df0,#080c0fcc),radial-gradient(circle at 12% 18%,rgba(34,197,94,.16),transparent 36%);box-shadow:inset 0 1px #ffffff0a,0 18px 42px #0003;color:#e2e8f0db;font-family:var(--ui-mono)}.system-cache-widget:before{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 5px),linear-gradient(90deg,transparent,rgba(34,197,94,.08),transparent);content:"";opacity:.42;pointer-events:none}.system-cache-header,.system-cache-body,.system-cache-log{position:relative;z-index:1}.system-cache-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(148,163,184,.12);padding:10px 12px}.system-cache-header span,.system-cache-header strong{overflow:hidden;font-size:9px;font-weight:900;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.system-cache-header span{color:#94a3b8c7;letter-spacing:.12em}.system-cache-header strong{color:#86efac}.system-cache-header strong:before{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:999px;background:#22c55e;box-shadow:0 0 12px #22c55ecc;content:""}.system-cache-body{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;padding:12px 12px 8px}.system-cache-avatar{position:relative;display:grid;width:64px;height:64px;place-items:center;border:1px solid rgba(34,197,94,.22);border-radius:10px;background:radial-gradient(circle at 50% 86%,rgba(34,197,94,.2),transparent 42%),#00000047}.system-cache-avatar i{position:absolute;right:12px;bottom:10px;width:10px;height:4px;border-radius:999px;background:#22c55e5c;box-shadow:-24px 0 #22c55e2e,-12px -7px #22c55e1a;animation:cacheShadow 2.8s ease-in-out infinite}.system-cache-bot{position:relative;width:34px;height:30px;border:2px solid #22c55e;border-radius:7px 7px 5px 5px;background:linear-gradient(180deg,rgba(34,197,94,.16),transparent 58%),#06120b;box-shadow:inset 0 0 0 1px #ffffff14,0 0 18px #22c55e3d;animation:cacheBotFloat 2.8s ease-in-out infinite}.system-cache-bot:before{position:absolute;top:9px;left:8px;width:5px;height:5px;background:#bbf7d0;box-shadow:13px 0 #bbf7d0;content:"";animation:cacheBotBlink 4s steps(1,end) infinite}.system-cache-bot:after{position:absolute;top:-11px;left:50%;width:2px;height:10px;background:#22c55e;box-shadow:0 -3px 0 1px #22c55e6b;content:"";transform:translate(-50%)}.system-cache-stats{display:grid;gap:7px;min-width:0}.system-cache-stat{display:grid;gap:5px;min-width:0}.system-cache-stat div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.system-cache-stat span,.system-cache-stat strong{overflow:hidden;font-size:10px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.system-cache-stat span{color:#94a3b8d1}.system-cache-stat strong{color:#e2e8f0eb}.system-cache-stat i{display:block;height:4px;overflow:hidden;border-radius:999px;background:#94a3b824}.system-cache-stat i:before{display:block;width:var(--fill);height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#67e8f9);content:"";transform-origin:left;animation:cacheMeter 3.6s ease-in-out infinite}.system-cache-log{display:grid;gap:5px;margin:0;border-top:1px solid rgba(148,163,184,.1);color:#bbf7d0d1;font-size:10px;line-height:1.25;list-style:none;padding:9px 12px 11px}.system-cache-log li{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-cache-log span{margin-right:7px;color:#22c55e}.system-cache-log li:last-child:after{display:inline-block;width:6px;height:1em;margin-left:5px;background:#bbf7d0c7;content:"";vertical-align:-.15em;animation:cacheCursor 1s steps(1,end) infinite}@keyframes cacheBotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes cacheShadow{0%,to{opacity:.76;transform:scaleX(1)}50%{opacity:.45;transform:scaleX(.72)}}@keyframes cacheBotBlink{0%,88%,to{height:5px}90%,92%{height:1px}}@keyframes cacheMeter{0%,to{transform:scaleX(.9)}50%{transform:scaleX(1)}}@keyframes cacheCursor{0%,49%{opacity:1}50%,to{opacity:0}}.interactive-os-section.is-large{width:min(860px,calc(100vw - 48px));margin-left:50%;padding-right:0;padding-left:0;transform:translate(-50%)}.interactive-os-section.is-large .interactive-os-inner{width:100%}.interactive-os-section.is-large .interactive-os-grid{grid-template-columns:minmax(0,1fr);gap:18px}.interactive-os-section.is-large.has-music-player .interactive-os-grid{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:start}.interactive-os-section.is-large .interactive-os-retro{padding:20px}.interactive-os-section.is-large .interactive-os-retro .retro-desktop{height:clamp(420px,54vw,620px)}.interactive-os-section.is-large .interactive-os-retro .retro-icon--app{width:64px;font-size:8px}.interactive-os-section.is-large .interactive-os-retro .retro-app-icon{width:34px;height:34px}.interactive-os-section.is-large .system-cache-widget{display:none}@media(min-width:821px){.procrastination-section{width:min(860px,calc(100vw - 48px));margin-left:50%;padding-right:0;padding-left:0;transform:translate(-50%)}.procrastination-inner{width:100%}.interactive-os-section{width:min(860px,calc(100vw - 48px));margin-left:50%;padding-right:0;padding-left:0;transform:translate(-50%)}.interactive-os-inner{width:100%}.interactive-os-grid{grid-template-columns:minmax(0,1fr);gap:16px}.interactive-os-section.has-music-player .interactive-os-grid{grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:18px;align-items:start}.interactive-os-player{min-width:0;justify-self:end}.interactive-os-section.is-large{width:min(860px,calc(100vw - 48px));margin-left:50%;padding-right:0;padding-left:0;transform:translate(-50%)}.interactive-os-section.is-large .interactive-os-grid{grid-template-columns:minmax(0,1fr);gap:18px}.interactive-os-section.is-large.has-music-player .interactive-os-grid{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:start}}.contact-terminal-body{display:block}.contact-terminal-body .contact-terminal-cards{width:100%}@keyframes musicBar{0%{transform:scaleY(.45)}to{transform:scaleY(1.12)}}@media(max-width:768px){.spotify-embed-section{width:min(860px,calc(100% - 28px));height:auto;scroll-margin-top:88px;margin:14px auto 34px}.spotify-embed-section .spotify-local-embed-shell{height:0!important;max-height:none!important;overflow:visible;border-radius:0;background:transparent;box-shadow:none}.spotify-local-embed{display:none}.spotify-mobile-bar{position:fixed;right:0;bottom:5px;left:0;z-index:42;display:block;width:100%;padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(transparent 0%,#000 40%);color:#fff;font-family:SpotifyMixUI,CircularSp,Helvetica Neue,Helvetica,Arial,sans-serif}.spotify-mobile-player{width:calc(100vw - 20px);margin:20px 10px;overflow:hidden;border-radius:5px;background:linear-gradient(#621b22 -50%,#121212 300%);padding:10px}.spotify-mobile-player-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.spotify-mobile-track{display:flex;min-width:0;align-items:center}.spotify-mobile-cover{width:47px;height:47px;flex:0 0 auto;object-fit:cover;border-radius:5px;margin-right:15px}.spotify-mobile-track-copy{display:grid;min-width:0;margin-right:10px;gap:2px}.spotify-mobile-track-copy p,.spotify-mobile-track-copy span{max-width:min(200px,calc(100vw - 210px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-mobile-track-copy p{margin:0;color:#fff;font-size:.8rem;font-weight:700;line-height:1.25}.spotify-mobile-track-copy span{color:#bababa;font-size:.75rem;font-weight:400;line-height:1.25}.spotify-mobile-actions{display:flex;min-width:112px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:15px;margin-right:5px}.spotify-mobile-actions button,.spotify-mobile-menu button{all:unset;cursor:pointer;-webkit-tap-highlight-color:transparent}.spotify-mobile-actions button{display:grid;width:24px;height:28px;place-items:center;color:#fff}.spotify-mobile-actions button:active,.spotify-mobile-menu button:active{opacity:.78}.spotify-mobile-actions .is-liked{color:#64d26d}.spotify-mobile-actions svg{color:currentColor;stroke:currentColor}.spotify-mobile-play svg{fill:currentColor}.spotify-mobile-time-line{height:3px;width:100%;overflow:hidden;margin-top:10px;margin-bottom:-10px;background:#0000003d}.spotify-mobile-time-line span{display:block;width:var(--mobile-player-progress, 0%);height:3px;background:#fff}.spotify-mobile-menu{display:flex;align-items:baseline;justify-content:center;background:transparent;font-weight:400}.spotify-mobile-menu button{display:flex;width:33%;flex-direction:column;align-items:center;gap:4px;color:#b3b3b3}.spotify-mobile-menu svg{color:currentColor;stroke:currentColor}.spotify-mobile-menu p{margin:0;font-size:.7em;font-weight:400;line-height:1.2}}@media(max-width:820px){.music-player-card{grid-template-rows:116px 116px minmax(0,1fr)}.music-player-hero{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:16px}.music-cover-art{width:72px;height:72px}.music-player-copy h2{font-size:28px}.music-playback-row{align-items:stretch;gap:8px;grid-template-columns:minmax(0,1fr);padding:9px 14px 12px}.music-controls-row{justify-content:center}.music-progress-row{gap:8px}.music-volume-row{display:none}.music-track-list{padding:0 10px 12px}.interactive-os-section{padding:8px 22px 34px}.interactive-os-section.is-large{width:100%;margin-left:0;padding:8px 22px 34px;transform:none}.interactive-os-grid{grid-template-columns:1fr}.interactive-mobile-notice{display:flex;align-items:center;gap:9px;margin-bottom:12px;border:1px solid rgba(34,197,94,.24);border-radius:10px;background:#22c55e13;color:#e2e8f0e0;font-family:var(--ui-mono);font-size:11px;font-weight:800;line-height:1.45;padding:10px 12px}.interactive-mobile-notice svg{flex:0 0 auto;color:#22c55e}.interactive-os-size-toggle,.system-cache-widget,.music-player-pinned-bar{display:none}.interactive-os-retro .retro-desktop{height:clamp(244px,71vw,326px)}.interactive-os-retro .retro-about-copy h2{font-size:16px}.interactive-os-retro .retro-about-copy p{font-size:14px}}@media(max-width:540px){.music-player-card{border-radius:12px;grid-template-rows:104px 116px minmax(0,1fr)}.music-player-hero{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:14px}.music-cover-art{width:64px;height:64px}.music-cover-art svg{width:28px;height:28px}.music-visualizer{display:none}.music-player-copy h2{font-size:24px}.music-player-kicker,.music-player-subtitle,.music-player-count{font-size:11px}.music-controls-row button{width:32px;height:32px}.music-controls-row .music-play-button{width:36px;height:36px}.music-track-list button{min-height:42px;padding:0 8px}.interactive-os-section,.interactive-os-section.is-large{padding:6px 18px 28px}.interactive-os-retro{border-radius:12px;padding:14px}}@media(max-width:920px)and (orientation:landscape){.interactive-os-section,.interactive-os-section.is-large{width:100%;min-height:100svh;margin-left:0;scroll-margin-top:0;padding:0;transform:none}.interactive-os-inner,.interactive-os-grid{width:100%;min-height:100svh}.interactive-os-grid{display:block}.interactive-mobile-notice,.interactive-os-size-toggle,.system-cache-widget,.music-player-pinned-bar{display:none}.interactive-os-retro,.interactive-os-section.is-large .interactive-os-retro{display:flex;min-height:100svh;flex-direction:column;border:0;border-radius:0;padding:8px}.interactive-os-heading{flex:0 0 auto;margin-bottom:8px}.interactive-os-heading-copy{grid-template-columns:auto auto;align-items:baseline;gap:10px}.interactive-os-heading-copy>span{font-size:9px}.interactive-os-heading-copy h2{font-size:13px}.interactive-os-retro .retro-about-section{flex:1;min-height:0}.interactive-os-retro .retro-about-card{display:flex;height:100%;min-height:0;flex-direction:column}.interactive-os-retro .retro-desktop,.interactive-os-section.is-large .interactive-os-retro .retro-desktop{flex:1;height:auto;min-height:0}.interactive-os-retro .retro-about-copy{display:none}.interactive-os-retro .retro-icon--app{width:54px;font-size:7px}.interactive-os-retro .retro-app-icon{width:29px;height:29px}}.retro-desktop{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 24%),#07131d}.retro-desktop:after{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 0 48%,rgba(255,255,255,.06) 48% 49%,transparent 49%),repeating-linear-gradient(90deg,transparent 0 30px,rgba(255,255,255,.04) 30px 31px),repeating-linear-gradient(0deg,transparent 0 24px,rgba(255,255,255,.035) 24px 25px);content:"";opacity:.78}.retro-desktop--grid{background:linear-gradient(180deg,#081522,#10293b 52%,#082118),linear-gradient(135deg,rgba(34,197,94,.28),transparent 46%)}.retro-desktop--midnight{background:linear-gradient(180deg,#070914,#14182d 45%,#250d21 78%,#050609),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 42px)}.retro-desktop--matrix{background:linear-gradient(180deg,#031810d9,#020806f5),repeating-linear-gradient(90deg,rgba(34,197,94,.18) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(34,197,94,.12) 0 1px,transparent 1px 14px),#03140d}.retro-desktop-hud{position:absolute;top:6px;right:7px;left:7px;z-index:2;display:flex;height:22px;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.12);background:#05060757;color:#f8fafcd1;font-size:9px;font-weight:900;letter-spacing:.08em;padding:0 8px;text-transform:uppercase}.retro-desktop-hud span{display:inline-flex;align-items:center;gap:5px}.retro-icon--app{top:var(--icon-y);left:var(--icon-x);z-index:3;width:64px}.retro-app-icon{display:grid;width:34px;height:34px;place-items:center;border:2px solid #111;background:linear-gradient(180deg,rgba(255,255,255,.32),transparent 44%),#d8d8d8;color:#111;box-shadow:inset 1px 1px #fff,inset -2px -2px #00000052,2px 2px #00000047}.retro-app-icon--files,.retro-app-icon--photo{background:linear-gradient(180deg,#facc15 0 32%,#f8fafc 32% 100%)}.retro-app-icon--terminal{background:linear-gradient(180deg,#111 0 100%);color:#22c55e}.retro-app-icon--system{background:linear-gradient(180deg,#38bdf8 0 38%,#f8fafc 38% 100%)}.retro-app-icon--settings{background:linear-gradient(180deg,#a78bfa 0 38%,#f8fafc 38% 100%)}.retro-app-icon--note{background:repeating-linear-gradient(0deg,#fffef0 0 7px,#cbd5e1 7px 8px)}.retro-app-icon--trash{background:#e5e7eb}.retro-window--files{top:12%;left:18%;width:52%;height:48%}.retro-window--terminal{top:54%;left:20%;width:57%;height:34%}.retro-window--system{top:13%;left:52%;width:39%;height:42%}.retro-window--settings{top:20%;left:37%;width:45%;height:48%}.retro-window--trash{top:30%;left:34%;width:35%;height:34%}.retro-file-explorer,.retro-terminal-screen,.retro-system-panel,.retro-settings-panel,.retro-trash-panel{height:calc(100% - 20px);margin:4px;overflow:hidden;border:1px solid #6b6b6b;background:#f2f2f2;color:#111}.retro-file-explorer{display:grid;grid-template-columns:76px minmax(0,1fr)}.retro-file-sidebar{display:grid;align-content:start;gap:3px;border-right:1px solid #9ca3af;background:#d7d7d7;padding:6px}.retro-file-sidebar button,.retro-file-grid button,.retro-settings-panel button,.retro-start-menu button{font-family:var(--ui-mono)}.retro-file-sidebar button{border:1px solid transparent;background:transparent;color:#111;cursor:pointer;font-size:8px;font-weight:900;padding:4px;text-align:left;text-transform:uppercase}.retro-file-sidebar button.is-active,.retro-file-sidebar button:hover,.retro-file-sidebar button:focus-visible{border-color:#111;background:#f8fafc;outline:none}.retro-file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:auto;padding:7px}.retro-file-grid button{display:grid;min-width:0;justify-items:center;gap:2px;border:1px solid transparent;background:transparent;color:#111;cursor:pointer;font-size:8px;font-weight:900;line-height:1.1;padding:5px 2px;text-align:center}.retro-file-grid button:hover,.retro-file-grid button:focus-visible{border-color:#111;background:#dbeafe;outline:none}.retro-file-grid small{color:#64748b;font-size:7px;font-weight:800}.retro-terminal-screen{display:grid;grid-template-rows:minmax(0,1fr) auto;background:#050708;color:#22c55e;font-size:8px;font-weight:800;line-height:1.35;padding:7px}.retro-terminal-lines{overflow:hidden}.retro-terminal-lines p{margin:0 0 2px}.retro-terminal-screen label{display:flex;align-items:center;gap:5px;border-top:1px solid rgba(34,197,94,.22);padding-top:5px}.retro-terminal-screen input{min-width:0;flex:1;border:0;background:transparent;color:#f8fafc;font:inherit;outline:none}.retro-system-panel,.retro-settings-panel,.retro-trash-panel{display:grid;align-content:start;gap:7px;background:#f8fafc;font-family:var(--ui-mono);font-size:8px;font-weight:900;padding:8px}.retro-system-chip{display:inline-flex;align-items:center;gap:6px;color:#111;text-transform:uppercase}.retro-stat-row{display:grid;grid-template-columns:30px minmax(0,1fr) 32px;gap:6px;align-items:center}.retro-stat-row i{display:block;height:7px;border:1px solid #111;background:linear-gradient(90deg,#22c55e var(--stat-value),transparent var(--stat-value)),#d1d5db}.retro-stat-row b{text-align:right}.retro-system-grid{display:grid;gap:4px;margin-top:2px}.retro-system-grid span{display:inline-flex;align-items:center;gap:5px;border:1px solid #d1d5db;background:#fff;padding:4px}.retro-settings-title{text-transform:uppercase}.retro-wallpaper-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.retro-settings-panel button{display:inline-flex;min-width:0;align-items:center;justify-content:center;gap:4px;border:1px solid #111;background:#d7d7d7;color:#111;cursor:pointer;font-size:8px;font-weight:900;padding:5px;text-transform:uppercase}.retro-settings-panel button.is-active,.retro-settings-panel button:hover,.retro-settings-panel button:focus-visible{background:#2430d8;color:#fff;outline:none}.retro-trash-panel{place-items:center;align-content:center;text-align:center}.retro-trash-panel strong{text-transform:uppercase}.retro-trash-panel span{color:#64748b;font-size:8px}.retro-start-menu{display:grid;width:min(276px,calc(100% - 8px));gap:7px;padding:7px}.retro-start-profile{display:flex;align-items:center;gap:8px;border:1px solid #777;background:#2430d8;color:#fff;padding:7px}.retro-start-profile>span{display:grid;width:32px;height:32px;place-items:center;border:1px solid #fff;background:#ffffff24}.retro-start-profile strong,.retro-start-profile small{display:block;line-height:1.1}.retro-start-profile small{margin-top:4px;opacity:.72}.retro-start-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.retro-start-app-grid button,.retro-start-actions button,.retro-start-wallpapers button{display:inline-flex;min-width:0;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;background:transparent;color:#111;cursor:pointer;font-size:8px;font-weight:900;padding:7px 5px;text-align:center}.retro-start-app-grid button{flex-direction:column;min-height:54px}.retro-start-wallpapers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-top:1px solid #9ca3af;padding-top:6px}.retro-start-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border-top:1px solid #9ca3af;padding-top:6px}.retro-start-app-grid button:hover,.retro-start-app-grid button:focus-visible,.retro-start-wallpapers button:hover,.retro-start-wallpapers button:focus-visible,.retro-start-wallpapers button.is-active,.retro-start-actions button:hover,.retro-start-actions button:focus-visible{background:#2430d8;color:#fff;outline:none}.retro-taskbar{gap:5px}.retro-task-list{display:flex;min-width:0;flex:1;gap:4px;overflow:hidden}.retro-task-list .retro-task{flex:0 1 92px}.retro-tray{display:inline-flex;height:20px;flex:0 0 auto;align-items:center;gap:5px;border:1px solid #777;background:#d7d7d7;box-shadow:inset 1px 1px #fff,inset -1px -1px #777;line-height:1;padding:0 5px}.retro-tray .retro-clock{height:auto;flex:0 0 auto;border:0;background:transparent;box-shadow:none;line-height:1;padding:0}.interactive-os-retro .retro-icon--app{width:54px;font-size:7px}.interactive-os-retro .retro-app-icon{width:29px;height:29px}@media(max-width:820px){.interactive-os-retro .retro-icon--app{width:62px;font-size:8px}.interactive-os-retro .retro-app-icon{width:34px;height:34px}}@media(max-width:920px)and (orientation:landscape){.interactive-os-section,.interactive-os-section.is-large{width:100%;min-height:100svh;margin-left:0;padding:0;transform:none}.interactive-os-inner,.interactive-os-grid{width:100%;min-height:100svh}.interactive-os-grid{display:block}.interactive-mobile-notice,.interactive-os-size-toggle,.system-cache-widget,.music-player-pinned-bar{display:none}.interactive-os-retro,.interactive-os-section.is-large .interactive-os-retro{display:flex;min-height:100svh;flex-direction:column;border:0;border-radius:0;padding:8px}.interactive-os-retro .retro-about-section{flex:1;min-height:0}.interactive-os-retro .retro-about-card{display:flex;height:100%;min-height:0;flex-direction:column}.interactive-os-retro .retro-desktop,.interactive-os-section.is-large .interactive-os-retro .retro-desktop{flex:1;height:auto;min-height:0}.interactive-os-retro .retro-about-copy{display:none}}@media(orientation:landscape)and (max-width:1024px)and (max-height:560px){html,body{overflow:hidden}.interactive-os-section,.interactive-os-section.is-large{position:fixed;inset:0;z-index:999;width:100vw;height:100svh;min-height:0;margin:0;overflow:hidden;background:#050607;padding:0;transform:none}.interactive-os-inner,.interactive-os-grid{width:100%;height:100%;min-height:0}.interactive-os-grid{display:block}.interactive-mobile-notice,.interactive-os-size-toggle,.system-cache-widget{display:none}.interactive-os-retro,.interactive-os-section.is-large .interactive-os-retro{display:flex;width:100%;height:100%;min-height:0;flex-direction:column;border:0;border-radius:0;padding:8px}.interactive-os-heading{flex:0 0 auto;margin-bottom:8px}.interactive-os-retro .retro-about-section{flex:1;min-height:0}.interactive-os-retro .retro-about-card{display:flex;height:100%;min-height:0;flex-direction:column}.interactive-os-retro .retro-desktop,.interactive-os-section.is-large .interactive-os-retro .retro-desktop{flex:1;height:auto;min-height:0}.interactive-os-retro .retro-about-copy{display:none}}.personal-layout--hero-source .home-hero{flex-direction:column}.personal-layout--hero-source .hero-title-mobile{font-size:64px;letter-spacing:0}.mobile-hook-strip{display:none}.mobile-hook-strip button,.mobile-hook-strip a{min-width:0;border:1px solid rgba(34,197,94,.24);border-radius:8px;background:linear-gradient(180deg,#111827b8,#030712db),#22c55e14;color:var(--text);font:inherit;text-decoration:none}.mobile-hook-strip span,.mobile-hook-strip b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-hook-strip span{color:#94a3b8c7;font-size:9px;font-weight:800;line-height:1;text-transform:uppercase}.mobile-hook-strip b{color:#22c55e;font-size:12px;font-weight:900;line-height:1.1}.project-card{cursor:pointer}.project-card:active{transform:translateY(1px)}.project-tap,.project-live-button,.project-repo-link,.detail-close,.detail-primary,.detail-secondary,.procrastination-toggle,.music-controls-row button{min-height:44px}.project-tap{min-height:50px;border-color:rgba(var(--project-accent-rgb),.42);border-radius:10px;background:linear-gradient(180deg,rgba(var(--project-accent-rgb),.2),rgba(var(--project-accent-rgb),.075)),#ffffff09;justify-content:center;gap:9px;padding:0 14px;box-shadow:inset 0 1px #ffffff1f,0 12px 26px #0000002e}.project-tap span{display:block}.project-repo-link{min-height:50px;border-color:rgba(var(--project-accent-rgb),.5);border-radius:10px;background:linear-gradient(180deg,rgba(var(--project-accent-rgb),.24),rgba(var(--project-accent-rgb),.1)),#ffffff0a;padding-inline:14px;box-shadow:inset 0 1px #ffffff1f,0 12px 26px #0003}@media(max-width:640px){.project-card-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-tap,.project-live-button,.project-repo-link{width:100%;min-width:0;flex:none;font-size:11px}.project-live-button{grid-column:1 / -1}.project-tap svg,.project-repo-link svg{width:14px;height:14px}}.detail-close{width:44px;height:44px}.procrastination-selected{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin:12px 16px 0;border:1px solid color-mix(in srgb,var(--game-accent) 46%,rgba(255,255,255,.12));border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--game-accent) 18%,transparent),#ffffff08),#050607b8;padding:10px 12px;font-family:var(--ui-mono)}.procrastination-selected span{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--game-accent) 22%,rgba(255,255,255,.08));color:color-mix(in srgb,var(--game-accent) 86%,#ffffff);font-size:10px;font-weight:900}.procrastination-selected strong{min-width:0;overflow:hidden;color:var(--text);font-size:12px;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}@media(max-width:820px){.mobile-dock{right:10px;bottom:max(10px,env(safe-area-inset-bottom));left:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px}.mobile-dock a{min-height:48px;flex-direction:column;gap:4px;font-size:10px}.mobile-dock svg{width:17px;height:17px}}@media(max-width:760px){.detail-close{top:12px;right:12px;display:inline-flex;width:44px;height:44px;background:#050607b8;color:var(--text)}.detail-hero{padding-right:78px}}.spotify-embed-section{width:min(860px,calc(100% - 48px));scroll-margin-top:88px;margin:18px auto 40px}.spotify-embed-section .spotify-local-embed-shell{width:100%}@media(max-width:540px){.spotify-embed-section{width:calc(100% - 28px);margin:14px auto 34px}}@media(max-width:640px){.personal-layout--hero-source .home-hero{padding:22px 18px 92px}.personal-layout--hero-source .profile-card{transform:translateY(-14px)}.personal-layout--hero-source .hero-title-mobile{font-size:42px}.personal-layout--hero-source .profile-actions{gap:12px;margin-top:32px}.personal-layout--hero-source .button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 17px}.mobile-hook-strip{position:relative;z-index:4;display:grid;width:min(100%,344px);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.mobile-hook-strip button,.mobile-hook-strip a{display:grid;min-height:54px;align-content:center;gap:5px;padding:8px 9px}.personal-layout--hero-source .scroll-cue{bottom:18px}.project-card{padding:18px}.project-card-footer{gap:10px}.project-tap,.project-repo-link{min-height:50px}.procrastination-toggle{min-height:48px}}@media(max-width:360px){.mobile-hook-strip{grid-template-columns:1fr}}.spotify-embed-section{width:min(860px,calc(100% - 28px));margin:18px auto 44px}.spotify-embed-section .spotify-home-shell{width:100%;height:auto!important;max-height:none!important;overflow:hidden;border-radius:0;background:#000;box-shadow:0 28px 82px #0000006b}.spotify-mobile-home{display:grid;min-height:0;height:100%;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#000;color:#fff;font-family:SpotifyMixUI,CircularSp,Helvetica Neue,Helvetica,Arial,sans-serif}.spotify-mobile-home button,.spotify-mobile-home a{font-family:inherit}.spotify-mobile-home-header{display:grid;height:clamp(96px,24cqw,126px);align-items:center;grid-template-columns:clamp(58px,16cqw,76px) minmax(0,1fr) clamp(58px,16cqw,76px);gap:clamp(14px,4cqw,22px);padding:clamp(13px,3.8cqw,18px) clamp(22px,6cqw,34px) clamp(8px,2.4cqw,12px);background:#000}.spotify-mobile-home-logo,.spotify-mobile-avatar{display:grid;width:clamp(58px,16cqw,76px);height:clamp(58px,16cqw,76px);place-items:center;overflow:hidden;border-radius:999px;background:#1f1f1f}.spotify-mobile-home-logo{color:#fff}.spotify-mobile-home-logo svg{width:48%;height:48%}.spotify-mobile-avatar{justify-self:end;object-fit:cover}.spotify-mobile-source{overflow:hidden;color:#fff;font-size:clamp(18px,5.4cqw,25px);font-weight:700;letter-spacing:0;line-height:1.1;text-align:right;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.spotify-mobile-home-content{min-height:0;overflow:auto;background:linear-gradient(180deg,#df5518 0,#a33f16 34%,#121212 63% 100%);padding:clamp(28px,8cqw,44px) clamp(20px,5.5cqw,28px) clamp(28px,7cqw,42px);scrollbar-width:none}.spotify-mobile-home-content::-webkit-scrollbar{display:none}.spotify-mobile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,4cqw,18px);margin-bottom:clamp(44px,12cqw,58px)}.spotify-mobile-quick-grid button{display:flex;min-width:0;height:clamp(58px,17cqw,72px);align-items:center;overflow:hidden;border:0;border-radius:7px;background:#ffffff29;color:#fff;cursor:pointer;padding:0;text-align:left;transition:background .16s ease,transform .16s ease}.spotify-mobile-quick-grid button:hover:not(:disabled),.spotify-mobile-quick-grid button:focus-visible:not(:disabled),.spotify-mobile-quick-grid button.is-current{background:#ffffff3d;outline:none}.spotify-mobile-quick-grid button:active:not(:disabled){transform:scale(.992)}.spotify-mobile-quick-grid button:disabled{cursor:default;opacity:.68}.spotify-mobile-quick-grid button>span:last-child{display:-webkit-box;min-width:0;overflow:hidden;color:#fff;font-size:clamp(14px,4.5cqw,19px);font-weight:700;line-height:1.42;padding:0 clamp(13px,2.4vw,18px);-webkit-box-orient:vertical;-webkit-line-clamp:2}.spotify-home-cover{position:relative;display:grid;width:clamp(58px,17cqw,72px);height:100%;flex:0 0 clamp(58px,17cqw,72px);place-items:center;overflow:hidden;background:var(--spotify-home-cover);color:#fff;isolation:isolate}.spotify-home-cover:before{position:absolute;inset:11%;border:2px solid rgba(255,255,255,.24);border-radius:999px;content:"";opacity:.7}.spotify-home-cover:after{position:absolute;inset:-28%;background:linear-gradient(120deg,transparent 18%,rgba(255,255,255,.18) 50%,transparent 74%),radial-gradient(circle at 65% 28%,rgba(255,255,255,.18),transparent 28%);content:"";transform:rotate(18deg)}.spotify-home-cover>span{position:relative;z-index:1;font-size:clamp(15px,4.6cqw,22px);font-weight:900;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.45)}.spotify-mobile-home-content h2{margin:0 0 clamp(24px,6cqw,34px);color:#fff;font-size:clamp(24px,6.2cqw,31px);font-weight:700;letter-spacing:0;line-height:1.12}.spotify-mobile-made-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,7cqw,40px)}.spotify-mobile-made-card{display:grid;min-width:0;gap:clamp(14px,4cqw,20px);border:0;background:transparent;color:#fff;cursor:pointer;padding:0;text-align:left}.spotify-mobile-made-card:disabled{cursor:default;opacity:.7}.spotify-mobile-made-card:active:not(:disabled){transform:scale(.992)}.spotify-mobile-made-art{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:8px;background:linear-gradient(145deg,#1e3a8a,#16235c 72%)}.spotify-mobile-made-art svg{position:absolute;top:clamp(10px,3cqw,14px);left:clamp(10px,3cqw,14px);z-index:2;width:clamp(20px,5cqw,26px);height:clamp(20px,5cqw,26px);color:#fff}.spotify-mobile-made-card--rings .spotify-mobile-made-art{background:radial-gradient(circle,#172554 0 10%,#1d4ed8 11% 22%,#60a5fa 23% 34%,#1e40af 35% 47%,#172554 48% 100%)}.spotify-mobile-made-card--rings .spotify-mobile-made-art i{position:absolute;inset:18%;border:clamp(18px,5cqw,28px) solid rgba(255,255,255,.72);border-right-color:#ffffff24;border-radius:999px;transform:rotate(24deg)}.spotify-mobile-made-card--loop .spotify-mobile-made-art{background:linear-gradient(145deg,#111827,#172554 72%)}.spotify-mobile-made-card--loop .spotify-mobile-made-art i{position:absolute;inset:18%;border:clamp(20px,5.8cqw,32px) solid #ec4899;border-left-color:transparent;border-radius:999px;filter:drop-shadow(0 8px 18px rgba(236,72,153,.28))}.spotify-mobile-made-card--loop .spotify-mobile-made-art:after{position:absolute;right:15%;bottom:18%;width:34%;aspect-ratio:1;border:clamp(15px,4.6cqw,25px) solid #ec4899;border-left-color:transparent;border-radius:999px;content:""}.spotify-mobile-made-card strong,.spotify-mobile-made-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-mobile-made-card strong{color:#fff;font-size:clamp(17px,4.8cqw,24px);font-weight:700;line-height:1.15}.spotify-mobile-made-card small{display:none;color:#b3b3b3;font-size:clamp(13px,2.3vw,18px);line-height:1.2}.spotify-home-shell .spotify-mobile-bar{position:sticky;right:auto;bottom:0;left:auto;z-index:42;display:block;width:100%;padding:0 0 clamp(10px,2vw,18px);background:linear-gradient(180deg,#12121200,#000 18% 100%);color:#fff;font-family:SpotifyMixUI,CircularSp,Helvetica Neue,Helvetica,Arial,sans-serif}.spotify-home-shell .spotify-mobile-player{width:auto;margin:0 clamp(20px,3.3vw,28px);overflow:hidden;border-radius:8px;background:linear-gradient(180deg,#b87542,#8b5533);padding:clamp(14px,2.6vw,20px)}.spotify-home-shell .spotify-mobile-player-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:clamp(14px,3vw,26px)}.spotify-home-shell .spotify-mobile-track{display:flex;min-width:0;align-items:center}.spotify-home-shell .spotify-mobile-cover{width:clamp(54px,9.6vw,94px);height:clamp(54px,9.6vw,94px);flex:0 0 clamp(54px,9.6vw,94px);border-radius:8px;margin-right:clamp(14px,3.2vw,30px)}.spotify-home-shell .spotify-mobile-cover>span{font-size:clamp(14px,2.8vw,25px)}.spotify-home-shell .spotify-mobile-track-copy{display:grid;min-width:0;gap:clamp(5px,1vw,10px)}.spotify-home-shell .spotify-mobile-track-copy p,.spotify-home-shell .spotify-mobile-track-copy span{max-width:min(360px,44vw);overflow:hidden;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.spotify-home-shell .spotify-mobile-track-copy p{margin:0;color:#fff;font-size:clamp(17px,3.2vw,28px);font-weight:500}.spotify-home-shell .spotify-mobile-track-copy span{color:#d0d0d0;font-size:clamp(14px,2.6vw,22px);font-weight:400}.spotify-home-shell .spotify-mobile-actions{display:flex;min-width:clamp(104px,20vw,162px);flex:0 0 auto;align-items:center;justify-content:space-between;gap:clamp(16px,3.2vw,28px)}.spotify-home-shell .spotify-mobile-actions button,.spotify-home-shell .spotify-mobile-menu button{all:unset;cursor:pointer;-webkit-tap-highlight-color:transparent}.spotify-home-shell .spotify-mobile-actions button{display:grid;width:clamp(30px,5vw,44px);height:clamp(34px,5.4vw,48px);place-items:center;color:#fff}.spotify-home-shell .spotify-mobile-actions svg{width:clamp(24px,4.4vw,38px);height:clamp(24px,4.4vw,38px);color:currentColor;stroke:currentColor}.spotify-home-shell .spotify-mobile-actions .is-liked{color:#64d26d}.spotify-home-shell .spotify-mobile-play svg{fill:currentColor}.spotify-home-shell .spotify-mobile-time-line{width:100%;height:4px;overflow:hidden;margin-top:clamp(14px,2.6vw,22px);margin-bottom:calc(clamp(14px,2.6vw,20px)*-1);background:#0000003d}.spotify-home-shell .spotify-mobile-time-line span{display:block;width:var(--mobile-player-progress, 0%);height:100%;background:#fff}.spotify-home-shell .spotify-mobile-menu{display:flex;align-items:baseline;justify-content:center;padding:clamp(30px,5vw,44px) 0 0;background:transparent}.spotify-home-shell .spotify-mobile-menu button{display:flex;width:33.333%;flex-direction:column;align-items:center;gap:clamp(8px,1.8vw,14px);color:#b3b3b3;text-align:center}.spotify-home-shell .spotify-mobile-menu svg{width:clamp(31px,5.8vw,48px);height:clamp(31px,5.8vw,48px);color:currentColor;stroke:currentColor}.spotify-home-shell .spotify-mobile-menu p{margin:0;font-size:clamp(14px,2.5vw,22px);font-weight:400;line-height:1.2}@media(min-width:900px){.spotify-embed-section .spotify-home-shell{border-radius:8px}}@media(max-width:540px){.spotify-embed-section{width:100%;margin:0 auto 28px}.spotify-embed-section .spotify-home-shell{border-radius:0}.spotify-mobile-home{min-height:780px}.spotify-mobile-home-header{height:118px;grid-template-columns:64px minmax(0,1fr) 64px;gap:16px;padding:16px 22px 10px}.spotify-mobile-home-logo,.spotify-mobile-avatar{width:64px;height:64px}.spotify-mobile-source{font-size:20px}.spotify-mobile-home-content{padding:34px 20px 42px}.spotify-mobile-quick-grid{gap:16px;margin-bottom:52px}.spotify-mobile-quick-grid button{height:62px}.spotify-mobile-quick-grid button>span:last-child{font-size:15px;padding:0 12px}.spotify-home-cover{width:62px;flex-basis:62px}.spotify-mobile-made-grid{gap:32px}.spotify-home-shell .spotify-mobile-player{margin:0 20px;padding:12px}.spotify-home-shell .spotify-mobile-track-copy p,.spotify-home-shell .spotify-mobile-track-copy span{max-width:calc(100vw - 210px)}.spotify-home-shell .spotify-mobile-actions{min-width:104px;gap:13px}.spotify-home-shell .spotify-mobile-menu{padding-top:28px}}.spotify-embed-section{display:grid;width:min(860px,calc(100% - 28px));justify-items:center;position:relative;z-index:20;isolation:isolate}.spotify-exact-clone-shell{width:min(360px,100%);height:640px;margin:0 auto;overflow:hidden;background:#000;border-radius:14px;box-shadow:0 18px 44px #00000052}.spotify-exact-clone-frame{display:block;width:100%;height:100%;border:0;background:#000;color-scheme:dark}.playlist-only-page{--playlist-bottom-reserve: 0px;box-sizing:border-box;position:relative;z-index:4;display:block;width:100vw;height:100dvh;min-height:100dvh;padding:0;background:transparent;overflow:hidden}.playlist-back-button{position:absolute;top:max(12px,env(safe-area-inset-top));left:12px;z-index:45;display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#fff;font-family:var(--ui-mono);font-size:12px;font-weight:900;padding:8px 12px}.playlist-back-button svg{flex:0 0 auto}.playlist-back-button:active{background:#ffffff24}.playlist-only-page .spotify-exact-clone-shell{width:100vw;height:calc(100dvh - var(--playlist-bottom-reserve));margin:0;border-radius:0;box-shadow:none}@media(max-width:820px){.playlist-only-page{--playlist-bottom-reserve: calc(78px + env(safe-area-inset-bottom)) }}.interactive-only-page{--interactive-bottom-reserve: 0px;display:block;position:relative;z-index:4;width:100vw;min-height:100dvh;overflow-x:hidden;background:transparent}.interactive-rotate-card{display:none}.interactive-only-page .interactive-os-section{min-height:calc(100dvh - var(--interactive-bottom-reserve));padding-top:max(64px,calc(env(safe-area-inset-top) + 58px));padding-bottom:calc(34px + var(--interactive-bottom-reserve))}.interactive-only-page .interactive-os-inner,.interactive-only-page .interactive-os-section.is-large{width:min(980px,calc(100vw - 28px))}@media(max-width:820px){.interactive-only-page{--interactive-bottom-reserve: calc(82px + env(safe-area-inset-bottom)) }.interactive-only-page .interactive-os-section,.interactive-only-page .interactive-os-section.is-large{padding:max(64px,calc(env(safe-area-inset-top) + 58px)) 14px calc(18px + var(--interactive-bottom-reserve))}.interactive-only-page .interactive-os-inner{width:100%}}@media(max-width:820px)and (orientation:portrait){.interactive-only-page{display:grid;min-height:100dvh;place-items:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))}.interactive-only-page .interactive-os-section{display:none}.interactive-rotate-card{display:grid;width:min(360px,100%);gap:18px;border:1px solid rgba(34,197,94,.24);border-radius:14px;background:linear-gradient(180deg,#22c55e17,#0f172a52),#050607e6;color:var(--text);padding:22px;box-shadow:0 24px 70px #00000057;font-family:var(--ui-mono)}.interactive-rotate-icon{display:grid;width:54px;height:54px;place-items:center;border:1px solid rgba(34,197,94,.28);border-radius:12px;background:#22c55e1a;color:#22c55e}.interactive-rotate-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.interactive-rotate-card span{color:#86efac;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.interactive-rotate-card h1{margin-top:6px;font-size:28px;line-height:1}.interactive-rotate-card p{margin-top:10px;color:#cbd5e1c7;font-size:13px;font-weight:700;line-height:1.55}.interactive-rotate-card button{display:inline-flex;width:fit-content;min-height:40px;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#fff;font-family:var(--ui-mono);font-size:12px;font-weight:900;padding:8px 12px}}@media(max-width:920px)and (orientation:landscape){.interactive-only-page{--interactive-bottom-reserve: 0px;overflow:hidden}.interactive-only-page .interactive-os-section,.interactive-only-page .interactive-os-section.is-large{display:block;min-height:100svh;padding:0}.interactive-only-page .interactive-os-inner,.interactive-only-page .interactive-os-grid{width:100vw;min-height:100svh}.interactive-only-page .interactive-os-retro,.interactive-only-page .interactive-os-section.is-large .interactive-os-retro{min-height:100svh;border:0;border-radius:0;padding:0}.interactive-only-page .interactive-os-heading{display:none}.interactive-only-page .interactive-os-retro .retro-about-section,.interactive-only-page .interactive-os-retro .retro-about-card,.interactive-only-page .interactive-os-retro .retro-desktop{width:100%;min-height:100svh}.interactive-rotate-card{display:none}}.music-player-pinned-bar{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;z-index:120;width:min(820px,calc(100vw - 32px));pointer-events:none;transform:translate(-50%)}.music-player-pinned-inner{display:grid;grid-template-columns:38px 46px minmax(0,1fr) auto minmax(118px,150px);gap:12px;align-items:center;min-height:68px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:linear-gradient(90deg,rgba(29,185,84,.16),transparent 38%),#08090beb;box-shadow:0 20px 58px #0000006b,inset 0 1px #ffffff14;color:#fff;font-family:SpotifyMixUI,CircularSp,Helvetica Neue,Helvetica,Arial,sans-serif;overflow:hidden;padding:10px 12px;pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.music-player-pinned-brand{display:grid;width:38px;height:38px;place-items:center;border-radius:999px;background:#1db954;color:#000}.music-player-pinned-brand svg{width:22px;height:22px}.music-player-pinned-cover.spotify-home-cover{width:46px;height:46px;flex-basis:46px;border-radius:7px}.music-player-pinned-cover.spotify-home-cover>span{font-size:13px}.music-player-pinned-copy{display:grid;gap:3px;min-width:0}.music-player-pinned-copy span,.music-player-pinned-copy strong,.music-player-pinned-copy small{overflow:hidden;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.music-player-pinned-copy span{color:#b3b3b3eb;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.music-player-pinned-copy strong{color:#fff;font-size:15px;font-weight:800}.music-player-pinned-copy small{color:#ffffffb3;font-size:12px;font-weight:500}.music-player-pinned-controls{display:inline-flex;align-items:center;justify-content:center;gap:6px}.music-player-pinned-controls button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:999px;background:#ffffff14;color:#fff;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.music-player-pinned-controls button:hover:not(:disabled),.music-player-pinned-controls button:focus-visible:not(:disabled){background:#ffffff26;outline:none;transform:translateY(-1px)}.music-player-pinned-controls button:disabled{cursor:not-allowed;opacity:.42}.music-player-pinned-controls .music-player-pinned-play{width:42px;height:42px;background:#fff;color:#000}.music-player-pinned-controls .music-player-pinned-play svg{width:17px;height:17px;fill:currentColor}.music-player-pinned-volume{display:grid;grid-template-columns:16px minmax(0,1fr) 28px;gap:8px;align-items:center;min-width:0;color:#ffffffb8}.music-player-pinned-volume input{width:100%;accent-color:#1db954;cursor:pointer}.music-player-pinned-volume span{color:#ffffff9e;font-size:10px;font-weight:800;line-height:1;text-align:right}@media(max-width:820px),(max-width:920px)and (orientation:landscape){.music-player-pinned-bar{display:none}}.spotify-compare-shell{display:grid;grid-template-columns:minmax(340px,430px);gap:18px;align-items:start;justify-content:center;overflow-x:auto}.spotify-compare-panel{container-type:inline-size;display:grid;min-width:0;gap:8px}.spotify-compare-label{width:fit-content;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#050607b8;color:#e2e8f0b8;font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:.12em;line-height:1;padding:8px 10px;text-transform:uppercase}.spotify-compare-panel .spotify-mobile-home,.spotify-original-clone-shell{height:820px;min-height:0}.spotify-original-clone-shell{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:8px;background:#121212;color:#fff;font-family:SpotifyMixUI,CircularSp,Helvetica Neue,Helvetica,Arial,sans-serif;box-shadow:0 28px 82px #0000006b}.spotify-original-header{display:grid;height:clamp(96px,24cqw,126px);align-items:center;grid-template-columns:clamp(58px,16cqw,76px) minmax(0,1fr) clamp(58px,16cqw,76px);gap:clamp(14px,4cqw,22px);padding:clamp(13px,3.8cqw,18px) clamp(22px,6cqw,34px) clamp(8px,2.4cqw,12px);background:#000}.spotify-original-logo,.spotify-original-avatar{display:grid;width:clamp(58px,16cqw,76px);height:clamp(58px,16cqw,76px);place-items:center;overflow:hidden;border-radius:999px;background:#1f1f1f}.spotify-original-logo{color:#fff}.spotify-original-logo svg{width:48%;height:48%}.spotify-original-avatar{justify-self:end;object-fit:cover}.spotify-original-source{overflow:hidden;color:#fff;font-size:clamp(18px,5.4cqw,25px);font-weight:700;letter-spacing:0;line-height:1.1;text-align:right;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.spotify-original-home{min-height:0;overflow:auto;padding:clamp(28px,8cqw,44px) clamp(20px,5.5cqw,28px) 188px;scrollbar-width:none}.spotify-original-home::-webkit-scrollbar{display:none}.spotify-original-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,4cqw,18px) clamp(14px,4cqw,18px);margin-bottom:clamp(44px,12cqw,58px)}.spotify-original-clone-shell .horizontal-playlist{--item-height: clamp(58px, 17cqw, 72px);position:relative;display:flex;height:var(--item-height);overflow:hidden;border:0;border-radius:4px;background-color:#ffffff1a;color:#fff;cursor:pointer;padding:0;text-align:left;transition:background-color .3s ease,transform .2s ease}.spotify-original-clone-shell .horizontal-playlist:hover:not(:disabled),.spotify-original-clone-shell .horizontal-playlist:focus-visible:not(:disabled){background-color:#ffffff38;outline:none}.spotify-original-clone-shell .horizontal-playlist:active:not(:disabled){transform:scale(.99)}.spotify-original-clone-shell .horizontal-playlist:disabled{cursor:default;opacity:.72}.spotify-original-clone-shell .img-container{width:var(--item-height);height:var(--item-height);flex:0 0 var(--item-height)}.spotify-original-clone-shell .img-section{position:relative;display:flex;width:100%;height:100%;align-items:center;justify-content:center;background-color:#fff3;box-shadow:0 8px 24px #00000080}.spotify-original-clone-shell .img-section .spotify-home-cover{width:100%;height:100%;flex-basis:100%}.spotify-original-clone-shell .text-container{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;color:#fff;padding-inline-start:8px}.spotify-original-clone-shell .text-section{display:flex;min-width:0;flex-direction:column;flex-grow:1;gap:2px}.spotify-original-clone-shell .text-section p{display:-webkit-box;margin:0;overflow:hidden;color:#fff;font-size:clamp(14px,4.5cqw,19px);font-weight:700;line-height:1.42;padding-right:clamp(12px,2vw,18px);text-overflow:ellipsis;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.spotify-original-clone-shell .playlist-header{margin:0 0 clamp(24px,6cqw,34px) clamp(8px,2.2cqw,12px);color:#fff;font-size:clamp(24px,6.2cqw,31px);font-weight:700;line-height:1.12}.spotify-original-clone-shell .playlist-grid{--min-column-width: min(44%, 240px);display:grid;grid-auto-rows:min-content;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,7cqw,40px);overflow:hidden}.spotify-original-clone-shell .playlist-card{position:relative;display:grid;width:100%;min-width:0;overflow:hidden;border:0;border-radius:8px;background:transparent;color:#fff;cursor:pointer;padding:0;text-align:left;transition:background-color .2s ease,transform .2s ease}.spotify-original-clone-shell .playlist-card:active:not(:disabled){transform:scale(.99)}.spotify-original-clone-shell .spotify-original-card-art{width:100%;aspect-ratio:1;overflow:hidden;border-radius:8px}.spotify-original-clone-shell .spotify-mobile-made-art{width:100%;height:100%}.spotify-original-clone-shell .spotify-mobile-made-art.spotify-mobile-made-card--rings{background:radial-gradient(circle,#172554 0 10%,#1d4ed8 11% 22%,#60a5fa 23% 34%,#1e40af 35% 47%,#172554 48% 100%)}.spotify-original-clone-shell .spotify-mobile-made-art.spotify-mobile-made-card--rings i{position:absolute;inset:18%;border:clamp(18px,5cqw,28px) solid rgba(255,255,255,.72);border-right-color:#ffffff24;border-radius:999px;transform:rotate(24deg)}.spotify-original-clone-shell .spotify-mobile-made-art.spotify-mobile-made-card--loop{background:linear-gradient(145deg,#111827,#172554 72%)}.spotify-original-clone-shell .spotify-mobile-made-art.spotify-mobile-made-card--loop i{position:absolute;inset:18%;border:clamp(20px,5.8cqw,32px) solid #ec4899;border-left-color:transparent;border-radius:999px}.spotify-original-clone-shell .spotify-mobile-made-art.spotify-mobile-made-card--loop:after{position:absolute;right:15%;bottom:18%;width:34%;aspect-ratio:1;border:clamp(15px,4.6cqw,25px) solid #ec4899;border-left-color:transparent;border-radius:999px;content:""}.spotify-original-clone-shell .playlist-card-info{padding:clamp(16px,4cqw,20px) 0 0 clamp(8px,1.8cqw,10px)}.spotify-original-clone-shell .playlist-card-info h3,.spotify-original-clone-shell .playlist-card-info p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-original-clone-shell .playlist-card-info h3{margin:0;color:#fff;font-size:clamp(17px,4.8cqw,24px);font-weight:700;line-height:1.15}.spotify-original-clone-shell .playlist-card-info p{margin:8px 0 0;color:#b3b3b3;font-size:clamp(12px,3cqw,15px);font-weight:400}.spotify-original-clone-shell .mobile-bar{position:absolute;right:0;bottom:5px;left:0;z-index:20;width:100%;background:linear-gradient(transparent 0%,#000 40%)}.spotify-original-clone-shell .mobile-player{width:calc(100% - 20px);overflow:hidden;border-radius:5px;margin:20px 10px;padding:10px}.spotify-original-mobile-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.spotify-original-clone-shell .playing-container{display:flex;min-width:0;align-items:center}.spotify-original-clone-shell .album-cover{width:47px;height:47px;flex:0 0 47px;border-radius:5px;margin-right:15px}.spotify-original-clone-shell #song-and-artist-name{display:grid;min-width:0;margin-right:10px;gap:2px}.spotify-original-clone-shell #song-and-artist-name p,.spotify-original-clone-shell #song-and-artist-name span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotify-original-clone-shell #song-and-artist-name p{margin:0;color:#fff;font-size:.9rem;font-weight:600;line-height:1.25}.spotify-original-clone-shell #song-and-artist-name span{color:#bababa;font-size:.75rem;line-height:1.25}.spotify-original-player-actions{display:flex;min-width:112px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:15px;margin-right:5px}.spotify-original-player-actions button,.spotify-original-clone-shell .mobile-menu button{all:unset;cursor:pointer;-webkit-tap-highlight-color:transparent}.spotify-original-player-actions button{display:grid;width:24px;height:28px;place-items:center;color:#fff}.spotify-original-player-actions button.is-liked{color:#64d26d}.spotify-original-player-actions svg{width:1.2em;max-width:20px;height:1.2em;fill:currentColor;stroke:currentColor}.spotify-original-clone-shell .time-line{width:100%;height:3px;overflow:hidden;margin-top:10px;margin-bottom:-10px;background:#0000003d}.spotify-original-clone-shell .current-time{height:3px;background:#fff}.spotify-original-clone-shell .mobile-menu{display:flex;align-items:baseline;justify-content:center;background:transparent;font-weight:400}.spotify-original-clone-shell .mobile-menu button{display:flex;width:33%;flex-direction:column;align-items:center;gap:4px;color:#b3b3b3}.spotify-original-clone-shell .mobile-menu svg{width:clamp(28px,4vw,42px);height:clamp(28px,4vw,42px)}.spotify-original-clone-shell .mobile-menu p{margin:0;font-size:clamp(12px,1.8vw,18px);font-weight:400;line-height:1.2}@media(max-width:980px){.spotify-compare-shell{grid-template-columns:1fr}.spotify-compare-panel .spotify-mobile-home,.spotify-original-clone-shell{min-height:780px}}@media(max-width:540px){.spotify-compare-shell{gap:22px}.spotify-exact-clone-shell{width:min(360px,100%);height:640px}.spotify-compare-label{margin-left:12px}.spotify-original-clone-shell{border-radius:0}.spotify-original-header{height:118px;grid-template-columns:64px minmax(0,1fr) 64px;gap:16px;padding:16px 22px 10px}.spotify-original-logo,.spotify-original-avatar{width:64px;height:64px}.spotify-original-source{font-size:20px}.spotify-original-home{padding:34px 20px 194px}.spotify-original-top-grid{gap:16px;margin-bottom:52px}.spotify-original-clone-shell .horizontal-playlist{--item-height: 62px}.spotify-original-clone-shell .text-section p{font-size:15px;padding-right:12px}.spotify-original-clone-shell .playlist-grid{gap:32px}.spotify-original-clone-shell #song-and-artist-name p,.spotify-original-clone-shell #song-and-artist-name span{max-width:calc(100vw - 210px)}}.spotify-playlist-clone-shell{grid-template-rows:auto minmax(0,1fr)}.spotify-playlist-mobile-page{min-height:0;overflow:auto;background:#121212;padding-bottom:176px;scrollbar-width:none}.spotify-playlist-mobile-page::-webkit-scrollbar{display:none}.spotify-playlist-header{display:grid;justify-items:center;padding:28px 26px 22px}.spotify-playlist-cover-wrap{width:min(72%,285px);aspect-ratio:1;margin:0 auto 24px}.spotify-playlist-clone-shell .playlist-img{display:block;width:100%;height:100%;max-width:none;border-radius:4px;object-fit:cover;box-shadow:0 4px 60px #00000080}.spotify-playlist-kind{justify-self:start;margin:0 0 6px;color:#fff;font-size:12px;font-weight:700}.spotify-playlist-clone-shell .playlist-title{justify-self:start;width:100%;margin:0;overflow:hidden;color:#fff;font-size:clamp(2.25rem,13cqw,4rem);font-weight:800;line-height:.98;text-overflow:ellipsis;white-space:normal}.spotify-playlist-clone-shell .playlist-description{display:-webkit-box;justify-self:start;width:100%;max-height:74px;margin:12px 0 0;overflow:hidden;color:#ffffffb3;font-size:.9rem;font-weight:400;line-height:1.45;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.spotify-playlist-owner{display:flex;justify-self:start;width:100%;align-items:center;gap:8px;margin-top:18px;overflow:hidden}.spotify-playlist-clone-shell .playlist-avatar{width:24px;height:24px;flex:0 0 auto;border-radius:50%;object-fit:cover}.spotify-playlist-owner h3{min-width:0;margin:0;overflow:hidden;color:#fff;font-size:.86rem;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.spotify-playlist-owner .songs-number{color:#ffffffb8;font-weight:400}.spotify-playlist-list{min-height:60%;padding:20px 12px 12px}.spotify-playlist-controls-row{display:flex;align-items:center;gap:20px}.spotify-playlist-controls-row button{border:0;background:transparent;color:#b3b3b3;cursor:pointer;padding:0}.spotify-playlist-main-play{display:grid;width:56px;height:56px;place-items:center;border-radius:999px;background:#1ed760!important;color:#000!important}.spotify-playlist-main-play svg{width:22px;height:22px;fill:currentColor}.spotify-playlist-like{display:grid;width:36px;height:36px;place-items:center}.spotify-playlist-like.is-liked{color:#1ed760}.spotify-playlist-more{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;gap:4px}.spotify-playlist-more span{width:4px;height:4px;border-radius:999px;background:currentColor}.spotify-playlist-track-table{display:grid;gap:2px;border:0}.spotify-playlist-song{display:flex;width:100%;min-width:0;min-height:60px;align-items:center;gap:12px;border:0;border-radius:7px;background:transparent;color:#fff;cursor:pointer;padding:8px 4px;text-align:left}.spotify-playlist-song:hover,.spotify-playlist-song:focus-visible,.spotify-playlist-song.is-current{background:#ffffff14;outline:none}.spotify-playlist-song-cover{width:44px;height:44px;flex:0 0 44px;border-radius:3px}.spotify-playlist-song-cover>span{font-size:13px}.spotify-playlist-song-copy{display:grid;min-width:0;flex:1;gap:4px}.spotify-playlist-song-copy strong,.spotify-playlist-song-copy small{overflow:hidden;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.spotify-playlist-song-copy strong{color:#fff;font-size:14px;font-weight:500}.spotify-playlist-song.is-current .spotify-playlist-song-copy strong{color:#1ed760}.spotify-playlist-song-copy small{color:#ffffffb3;font-size:12px;font-weight:400}.spotify-playlist-song-duration{width:42px;flex:0 0 auto;color:#ffffff94;font-size:12px;text-align:right}.spotify-playlist-empty{color:#ffffffb3;font-size:14px;padding:12px 4px}@media(max-width:540px){.spotify-playlist-header{padding:28px 24px 22px}.spotify-playlist-cover-wrap{width:min(78%,300px)}.spotify-playlist-clone-shell .playlist-title{font-size:2.65rem}}.spotify-playlist-clone-shell{--spotify-original-desktop-breakpoint: 980px}.spotify-original-navbar{flex:0 0 auto}.spotify-playlist-clone-shell .spotify-playlist-mobile-page{height:100%;overflow:scroll;padding-bottom:0;border-radius:0;background-color:#121212}.spotify-playlist-clone-shell .spotify-original-playlist-header-source{flex:0 0 auto}.spotify-playlist-clone-shell .flex{display:flex}.spotify-playlist-clone-shell .flex-row{flex-direction:row}.spotify-playlist-clone-shell .flex-col{flex-direction:column}.spotify-playlist-clone-shell .items-center{align-items:center}.spotify-playlist-clone-shell .justify-between{justify-content:space-between}.spotify-playlist-clone-shell .w-full{width:100%}.spotify-playlist-clone-shell .h-full{height:100%}.spotify-playlist-clone-shell .w-10{width:2.5rem}.spotify-playlist-clone-shell .h-10{height:2.5rem}.spotify-playlist-clone-shell .mr-4{margin-right:1rem}.spotify-playlist-clone-shell .p-2{padding:.5rem}.spotify-playlist-clone-shell .py-2{padding-top:.5rem;padding-bottom:.5rem}.spotify-playlist-clone-shell .rounded-lg{border-radius:.5rem}.spotify-playlist-clone-shell .rounded-md{border-radius:.375rem}.spotify-playlist-clone-shell .text-left{text-align:left}.spotify-playlist-clone-shell .text-center{text-align:center}.spotify-playlist-clone-shell .text-right{text-align:-webkit-right}.spotify-playlist-clone-shell .text-sm{font-size:.875rem}.spotify-playlist-clone-shell .font-semibold{font-weight:600}.spotify-playlist-clone-shell .text-white{color:#fff}.spotify-playlist-clone-shell .text-gray-200{color:#e5e7eb}.spotify-playlist-clone-shell .ant-row{display:flex;flex-flow:row wrap;min-width:0}.spotify-playlist-clone-shell .ant-row-middle{align-items:center}.spotify-playlist-clone-shell .ant-row-space-between{justify-content:space-between}.spotify-playlist-clone-shell .ant-col{position:relative;max-width:100%;min-height:1px}.spotify-playlist-clone-shell .ant-col-24,.spotify-playlist-clone-shell .ant-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.spotify-playlist-clone-shell .ant-space{display:inline-flex;align-items:center;gap:8px}.spotify-playlist-clone-shell .ant-space-align-center{align-items:center}.spotify-playlist-clone-shell .ant-divider{border-top:1px solid #b3b3b321;margin:0 0 18px}.spotify-playlist-clone-shell .nav-header{z-index:1000;position:fixed;margin-top:-1px;padding:10px 20px;overflow:hidden;overflow-y:auto;overflow-x:hidden;border-top-left-radius:10px;border-top-right-radius:10px;overscroll-behavior:contain;overscroll-behavior-y:contain;transition:background-color .6s ease-in-out,visibility .4s ease-in-out}.spotify-playlist-clone-shell .nav-header-content{transition:opacity .3s ease-in-out}.spotify-playlist-clone-shell .nav-header-playlist-title{overflow:hidden;color:#fff;font-size:1.6rem;font-weight:600;margin-block:0;text-overflow:ellipsis;white-space:nowrap}.spotify-playlist-clone-shell .nav-bar-header-table-container{display:none;visibility:hidden;color:#bababa;margin:10px -20px -10px;background:#1f1f1f;box-shadow:0 -1px #181818}.spotify-playlist-clone-shell .playlist-img{width:100%;height:100%;max-width:350px;border-radius:4px;object-fit:cover;object-position:center center;box-shadow:0 4px 60px #00000080}.spotify-playlist-clone-shell .playlist-description{display:-webkit-box;max-height:74px;overflow:hidden;color:#ffffffb3;font-size:.9rem;font-weight:400;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:1}.spotify-playlist-clone-shell .owner{width:100%;margin-top:20px;overflow:hidden;text-overflow:ellipsis;word-wrap:normal}.spotify-playlist-clone-shell .playlist-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.spotify-playlist-clone-shell .songs-number{font-weight:400}.spotify-playlist-clone-shell .playlist-title{visibility:visible;width:100%;overflow:hidden;color:#fff;font-size:4rem;font-weight:600;margin-block:0;text-overflow:ellipsis;white-space:nowrap}.spotify-playlist-clone-shell .playlist-list{min-height:60%;padding:30px;transition:background .5s}.spotify-playlist-clone-shell .playlist-list .column-name{margin:0;color:#bababa;font-size:13px;font-weight:500}.spotify-playlist-clone-shell .playlist-controls{margin-bottom:20px}.spotify-playlist-clone-shell .playlist-table{border-bottom:1px solid #b3b3b321}.spotify-playlist-clone-shell .circle-play{cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;position:relative;display:flex;min-block-size:40px;inline-size:40px;block-size:40px;align-items:center;justify-content:center;margin-right:15px;border:0;border-radius:9999px;background-color:#1ed760;color:#000;box-shadow:0 8px 8px #0000004d}.spotify-playlist-clone-shell .circle-play.big{min-block-size:60px;inline-size:60px;block-size:60px}.spotify-playlist-clone-shell .circle-play:hover{transform:scale(1.1)}.spotify-playlist-clone-shell .circle-play:active{transform:scale(1)}.spotify-playlist-clone-shell .circle-play svg{width:30px;height:30px;fill:currentColor}.spotify-playlist-clone-shell .nav-header .circle-play svg{width:20px;height:20px}.spotify-playlist-clone-shell .scale{display:grid;place-items:center}.spotify-playlist-clone-shell .scale:hover{transform:scale(1.05)}.spotify-playlist-clone-shell .playlist-controls button,.spotify-playlist-clone-shell .song-details button{border:0;background:transparent;color:inherit;cursor:pointer;padding:0}.spotify-playlist-clone-shell .hoverable-icon{cursor:pointer;fill:#bababa;height:1.15em;vertical-align:-.125em;transform-origin:center;overflow:visible}.spotify-playlist-clone-shell .scale .hoverable-icon{height:2rem}.spotify-playlist-clone-shell .order-button{color:#bababa;font-size:.8rem;font-weight:400}.spotify-playlist-clone-shell .order-button:hover{color:#fff}.spotify-playlist-clone-shell .song-details{cursor:pointer!important}.spotify-playlist-clone-shell .song-details:hover .actions{opacity:1}.spotify-playlist-clone-shell .song-details .actions{opacity:0}.spotify-playlist-clone-shell .song-details .title{margin:0;color:#fff;font-size:15px}.spotify-playlist-clone-shell .song-details .title.active{color:#1db954}.spotify-playlist-clone-shell .song-details .title span{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:unset;word-break:break-all;-webkit-box-orient:vertical;-webkit-line-clamp:1}.spotify-playlist-clone-shell .song-details .artist>div{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:unset;word-break:break-all;-webkit-box-orient:vertical;-webkit-line-clamp:1}.spotify-playlist-clone-shell .song-details p{display:flex;max-height:74px;align-items:center;gap:5px;overflow:hidden;color:#ffffffb3;font-size:14px;font-weight:400;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:1}.spotify-playlist-clone-shell .song-details-play{display:none;justify-content:center;margin:0 auto;font-size:10px}.spotify-playlist-clone-shell .song-details-play svg{fill:#fff!important}.spotify-playlist-clone-shell .song-details:hover .song-details-index{display:none}.spotify-playlist-clone-shell .song-details:hover .song-details-play{display:flex}.spotify-playlist-clone-shell .spotify-original-song-cover{display:grid;flex:0 0 40px;place-items:center;overflow:hidden}.spotify-playlist-clone-shell .activable-song{min-width:0;border:0;background:transparent;color:#fff;cursor:pointer;text-align:left}.spotify-playlist-clone-shell .activable-song:focus{background-color:#ffffff4d!important}.spotify-playlist-clone-shell .hover\:bg-spotify-gray-lightest:hover{background-color:#ffffff1a}.spotify-playlist-clone-shell .mobile-bar{position:absolute}#projetos{scroll-margin-top:0}@media(max-width:980px){.spotify-playlist-clone-shell .nav-header{visibility:hidden!important;opacity:0;border-top-right-radius:0;border-top-left-radius:0}.spotify-playlist-clone-shell .playlist-img{max-width:150px}.spotify-playlist-clone-shell .playlist-title{font-size:2rem}.spotify-playlist-clone-shell .mobile-hidden{display:none;overflow:hidden}.spotify-playlist-clone-shell .mobile-visible{display:block}.spotify-playlist-clone-shell .tablet-hidden{display:none!important}.spotify-playlist-clone-shell .playlist-list{padding:20px 12px 12px;margin-bottom:50px}.spotify-playlist-clone-shell .playlist-list button:not(.circle-play){margin-bottom:7px;background-color:transparent!important}.spotify-playlist-clone-shell .playlist-list button:not(.circle-play):active{transform:scale(.99)}.spotify-playlist-clone-shell .song-details img,.spotify-playlist-clone-shell .song-details .spotify-original-song-cover{border-radius:1px}.spotify-playlist-clone-shell .song-details .title{font-size:13px}.spotify-playlist-clone-shell .song-details p{font-size:11px}}@media(max-width:600px){.spotify-playlist-clone-shell .playlist-img{max-width:300px;margin:0 auto}.spotify-playlist-clone-shell .playlist-title{margin-top:10px;font-size:1.75rem}}@container (max-width: 560px){.spotify-playlist-clone-shell .nav-header{visibility:hidden!important;opacity:0;border-top-right-radius:0;border-top-left-radius:0}.spotify-playlist-clone-shell .mobile-hidden{display:none!important;overflow:hidden}.spotify-playlist-clone-shell .tablet-hidden{display:none!important}.spotify-playlist-clone-shell .playlist-img{max-width:300px;margin:0 auto}.spotify-playlist-clone-shell .playlist-title{margin-top:10px;font-size:1.75rem}.spotify-playlist-clone-shell .playlist-list{padding:20px 12px 12px;margin-bottom:50px}.spotify-playlist-clone-shell .playlist-list button:not(.circle-play){margin-bottom:7px;background-color:transparent!important}.spotify-playlist-clone-shell .playlist-list button:not(.circle-play):active{transform:scale(.99)}.spotify-playlist-clone-shell .song-details{min-width:0}.spotify-playlist-clone-shell .song-details>.flex{min-width:0}.spotify-playlist-clone-shell .song-details .flex-col{min-width:0;flex:1 1 auto!important}.spotify-playlist-clone-shell .song-details .title{font-size:13px}.spotify-playlist-clone-shell .song-details .title span{white-space:nowrap;word-break:normal}.spotify-playlist-clone-shell .song-details p{font-size:11px}.spotify-playlist-clone-shell .song-details .text-right:not(.tablet-hidden){flex:0 0 44px!important;justify-content:flex-end!important;white-space:nowrap;font-variant-numeric:tabular-nums}.spotify-playlist-clone-shell .spotify-original-song-cover{flex:0 0 40px;margin-right:12px;border-radius:1px}}.project-card.project-v0-card{display:grid;gap:0;min-height:0;overflow:hidden;border:1px solid rgba(148,163,184,.14);border-top:1px solid rgba(148,163,184,.22);border-radius:10px;background:#07080ae0;padding:0;box-shadow:0 18px 44px #0000002e,inset 0 1px #ffffff09}.project-card.project-v0-card:before{content:none}.project-v0-accent,.detail-v0-accent{display:block;height:0;background:transparent}.project-v0-body{display:grid;gap:14px;padding:20px 20px 15px}.project-v0-toprow,.detail-v0-toprow{display:flex;align-items:center;justify-content:space-between;gap:14px}.project-v0-count,.detail-v0-count{display:inline-flex;align-items:baseline;gap:6px;color:#94a3b8d1;font-family:var(--ui-mono);font-size:12px;font-weight:900}.project-v0-count b,.detail-v0-count b{color:var(--project-accent);font-weight:900}.project-v0-count i,.detail-v0-count i{color:#94a3b870;font-style:normal}.project-v0-icon-actions,.detail-v0-icon-actions{display:inline-flex;align-items:center;gap:8px}.project-v0-icon-actions a,.project-v0-icon-actions button,.detail-v0-icon-actions a,.detail-v0-icon-actions button{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#0f172a6b;color:#cbd5e1d1;cursor:pointer;text-decoration:none;transition:border-color .18s,background .18s,color .18s,transform .18s}.project-v0-icon-actions a:hover,.project-v0-icon-actions button:hover,.project-v0-icon-actions a:focus-visible,.project-v0-icon-actions button:focus-visible,.detail-v0-icon-actions a:hover,.detail-v0-icon-actions button:hover,.detail-v0-icon-actions a:focus-visible,.detail-v0-icon-actions button:focus-visible{border-color:#94a3b857;background:#1e293b5c;color:var(--text);outline:none;transform:translateY(-1px)}.project-v0-icon-actions svg{display:block}.project-v0-heading{display:grid;gap:11px}.project-card.project-v0-card h3{display:flex;align-items:flex-start;gap:7px;color:var(--text);font-family:var(--ui-mono);font-size:clamp(19px,2.35vw,22px);font-weight:900;line-height:1.14;overflow-wrap:anywhere}.project-card.project-v0-card h3 svg{flex:0 0 auto;color:#cbd5e1d1;transform:translateY(1px)}.project-v0-status{display:inline-flex;width:fit-content;align-items:center;gap:8px;border:1px solid rgba(34,197,94,.24);border-radius:999px;background:#22c55e17;color:#22c55e;font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1;padding:7px 11px;text-transform:uppercase}.project-v0-status i{position:relative;width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 10px #22c55eb8}.project-v0-status.is-building i{animation:statusPulse 1.45s ease-in-out infinite}.project-v0-description{margin:0;color:#cbd5e1bd;font-size:12px;line-height:1.62}.project-v0-section{display:grid;gap:10px;position:relative}.project-v0-section-header,.detail-v0-section-header{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;color:#94a3b8e0;font-family:var(--ui-mono);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transition:color .22s ease}.project-v0-section-header svg,.detail-v0-section-header svg{transition:color .22s ease,filter .22s ease,transform .22s ease}.project-v0-section-header i,.detail-v0-section-header i{height:1px;background:#94a3b82e;transition:background .22s ease,box-shadow .22s ease}.project-v0-section-header.is-lit,.detail-v0-section-header.is-lit{color:#e2e8f0f5}.project-v0-section-header.is-lit svg,.detail-v0-section-header.is-lit svg{color:var(--section-lit-color, var(--project-accent));fill:color-mix(in srgb,var(--section-lit-color, var(--project-accent)) 34%,transparent);transform:translateY(-1px);animation:sectionIconIgnite .38s ease both}.project-v0-section-header.is-lit i,.detail-v0-section-header.is-lit i{background:#94a3b83d}.project-v0-section-header.is-stack,.detail-v0-section-header.is-stack{--section-lit-color: #60a5fa}.project-v0-section-header.is-feature,.detail-v0-section-header.is-feature{--section-lit-color: #fbbf24}.project-v0-tech-list,.detail-v0-tech-list{display:flex;flex-wrap:wrap;gap:7px;list-style:none}.project-v0-tech,.detail-v0-tech{position:relative;display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#0f172a7a;color:#e2e8f0db;font-family:var(--ui-mono);font-size:9px;font-weight:900}.project-v0-tech button,.detail-v0-tech button{display:grid;width:100%;height:100%;place-items:center;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.project-v0-tech.is-selected,.detail-v0-tech.is-selected{border-color:#e2e8f05c;background:linear-gradient(180deg,#ffffff17,#ffffff09),#0f172ad1;color:var(--text);box-shadow:inset 0 1px #ffffff1f,0 0 0 1px #ffffff0a}.project-v0-tech button:focus-visible,.detail-v0-tech button:focus-visible{outline:2px solid rgba(226,232,240,.34);outline-offset:2px}.project-v0-tech img,.detail-v0-tech img{width:21px;height:21px;object-fit:contain}.project-v0-feature-list,.detail-v0-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;list-style:none}.project-v0-feature,.detail-v0-feature{min-width:0;border:1px solid rgba(148,163,184,.12);border-radius:7px;background:linear-gradient(180deg,#ffffff06,#fff0),#0b0d11bd;color:#cbd5e1d1;font-family:var(--ui-mono);font-size:10px;font-weight:800;line-height:1.25}.project-v0-feature button,.detail-v0-feature button{display:flex;width:100%;min-height:100%;align-items:center;gap:8px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;padding:8px 10px;text-align:left}.project-v0-feature i,.detail-v0-feature i{width:6px;height:6px;flex:0 0 auto;border-radius:999px;background:#94a3b8d1}.project-v0-feature.is-selected i,.detail-v0-feature.is-selected i{background:var(--project-accent);box-shadow:0 0 10px rgba(var(--project-accent-rgb),.78)}.project-v0-feature button:focus-visible,.detail-v0-feature button:focus-visible{outline:2px solid rgba(var(--project-accent-rgb),.38);outline-offset:2px}.project-v0-selected-tech,.detail-v0-selected-tech{position:absolute;z-index:4;bottom:calc(100% + 8px);left:50%;width:fit-content;max-width:180px;margin:0;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#030712f5;color:#f8fafcf5;font-family:var(--ui-mono);font-size:10px;font-weight:900;line-height:1;padding:8px 10px;box-shadow:0 0 0 1px #ffffff0a,0 12px 26px #00000052;pointer-events:none;text-transform:uppercase;transform:translate(-50%);white-space:nowrap}.project-v0-selected-tech:after,.detail-v0-selected-tech:after{position:absolute;bottom:-5px;left:50%;width:9px;height:9px;border-right:1px solid rgba(148,163,184,.28);border-bottom:1px solid rgba(148,163,184,.28);background:#030712f5;content:"";transform:translate(-50%) rotate(45deg)}.project-v0-actions{display:grid;gap:10px;border-top:1px solid rgba(148,163,184,.12);background:#07080a8f;padding:13px 20px 15px}.project-v0-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-v0-actions button,.project-v0-actions a{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border-radius:7px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:900;text-decoration:none;transition:opacity .18s,transform .18s,border-color .18s,background .18s}.project-v0-live{grid-column:1 / -1;min-height:43px;border:1px solid rgba(148,163,184,.22);background:#0f172ab8;color:#fff;box-shadow:inset 0 1px #ffffff12}.project-v0-live.is-unavailable,.project-v0-live:disabled{border-color:#94a3b824;background:#0f172a61;color:#94a3b8bd;cursor:not-allowed;box-shadow:none}.project-v0-notes,.project-v0-repo{border:1px solid rgba(148,163,184,.16);background:#05080db3;color:#cbd5e1e0}.project-v0-repo{font-size:12px}.project-v0-actions button:hover,.project-v0-actions a:hover,.project-v0-actions button:focus-visible,.project-v0-actions a:focus-visible{opacity:.94;outline:none;transform:translateY(-1px)}.project-v0-actions button:active,.project-v0-actions a:active{transform:translateY(1px) scale(.98)}.project-v0-actions button:disabled:hover,.project-v0-actions button:disabled:focus-visible,.project-v0-actions button:disabled:active{opacity:1;transform:none}.detail-v0 .detail-backdrop{background:#02060ac7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:modalBackdropIn .24s ease-out both}.detail-v0-panel{position:relative;z-index:1;display:flex;flex-direction:column;width:min(760px,calc(100vw - 32px));height:100dvh;max-height:none;overflow:hidden;border:1px solid rgba(34,211,238,.24);border-radius:0;background:linear-gradient(180deg,rgba(15,98,254,.12),transparent 34%),#06090ef5;box-shadow:0 30px 90px #0000009e,inset 0 1px #ffffff12;transform-origin:right center;animation:detailPanelReveal .34s cubic-bezier(.2,.82,.2,1) both}.detail-v0-header{position:relative;display:grid;gap:18px;padding:22px 22px 12px}.detail-v0-titleblock{display:grid;gap:12px;padding-right:92px}.detail-v0-titleblock h2{margin:0;color:var(--text);font-family:var(--ui-mono);font-size:clamp(21px,4vw,30px);line-height:1.08;overflow-wrap:anywhere}.detail-v0-watermark{position:absolute;right:18px;top:78px;pointer-events:none;color:#94a3b80f;font-family:var(--ui-mono);font-size:116px;font-weight:900;line-height:.85}.detail-v0-scroll{display:grid;flex:1 1 auto;gap:18px;min-height:0;overflow:auto;padding:6px 22px 22px}.detail-v0-notes{display:grid;gap:12px}.detail-v0-note{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;border:1px solid rgba(148,163,184,.16);border-left:4px solid var(--project-accent);border-radius:12px;background:#0f62fe0f;padding:14px}.detail-v0-note.is-accent{border-left-color:#22d3ee;background:#22d3ee0e}.detail-v0-note-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;background:#0f62fe29;color:#7dd3fc}.detail-v0-note h3{margin:0 0 5px;color:#7dd3fc;font-family:var(--ui-mono);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.detail-v0-note p{margin:0;color:#cbd5e1c7;font-size:13px;line-height:1.6}.detail-v0-section{display:grid;gap:12px;position:relative}.detail-v0-footer{display:grid;gap:10px;border-top:1px solid rgba(148,163,184,.13);background:#0f172a57;padding:14px}.detail-v0-footer a,.detail-v0-footer button{display:inline-flex;min-height:43px;align-items:center;justify-content:center;gap:8px;border-radius:11px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:900;text-decoration:none}.detail-v0-footer a{border:1px solid rgba(148,163,184,.16);background:#05080da8;color:#e2e8f0e6}.detail-v0-footer .detail-v0-live-button{border:1px solid rgba(34,211,238,.62);background:var(--project-accent);color:#fff}.detail-v0-footer .detail-v0-live-button.is-unavailable,.detail-v0-footer .detail-v0-live-button:disabled{border-color:#94a3b829;background:#0f172a6b;color:#94a3b8c2;cursor:not-allowed}.detail-v0-footer .detail-v0-close-button{border:1px solid rgba(148,163,184,.16);background:#05080da8;color:#e2e8f0e6}.mobile-external-confirm{position:fixed;inset:0;z-index:130;display:grid;place-items:end center;padding:16px}.mobile-external-confirm.is-center{place-items:center;padding:20px}.mobile-external-confirm-backdrop{position:absolute;inset:0;border:0;background:#000000ad;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:modalBackdropIn .2s ease-out both}.mobile-external-confirm-panel{position:relative;z-index:1;display:grid;width:min(calc(100vw - 32px),390px);gap:12px;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:linear-gradient(180deg,rgba(15,98,254,.12),transparent 48%),#06090efa;padding:16px;box-shadow:0 24px 72px #00000094;transform-origin:center;animation:confirmPanelReveal .24s cubic-bezier(.2,.82,.2,1) both}.mobile-external-confirm-panel h2{margin:0;color:var(--text);font-family:var(--ui-mono);font-size:17px;line-height:1.1}.mobile-external-confirm-panel p{margin:0;color:#cbd5e1c7;font-size:13px;line-height:1.5}.mobile-external-confirm-panel div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-external-confirm-panel button{min-height:40px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:900}.mobile-external-confirm-panel button:first-child{border:1px solid rgba(148,163,184,.18);background:#05080db3;color:#e2e8f0e6}.mobile-external-confirm-panel button:last-child{border:1px solid rgba(34,211,238,.52);background:var(--project-accent, #0f62fe);color:#fff}@media(max-width:640px){.project-v0-body{gap:15px;padding:18px 16px 16px}.project-card.project-v0-card h3{font-size:18px}.detail-v0-feature-list{grid-template-columns:1fr}.project-v0-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-v0-panel{width:100%;height:calc(100dvh - 16px);max-height:none;border-radius:16px}.detail-v0-header{padding:18px 16px 10px}.detail-v0-titleblock{padding-right:0}.detail-v0-watermark{display:none}.detail-v0-scroll{padding:6px 16px 18px}.detail-v0-note{grid-template-columns:38px minmax(0,1fr);padding:12px}.detail-v0-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.detail-v0-footer .detail-v0-live-button{grid-column:1 / -1}.detail-v0-footer a,.detail-v0-footer button{min-height:36px;border-radius:9px;font-size:12px}}@media(min-width:821px){.site-frame{width:100%;margin-right:0;margin-left:0}.proof-section,.lab-log,.personal-layout--contrib,.procrastination-section,.interactive-os-section,.interactive-os-section.is-large{width:min(860px,calc(100% - 48px));margin-right:auto;margin-left:auto;transform:none}.proof-section,.procrastination-section,.interactive-os-section,.interactive-os-section.is-large{padding-right:0;padding-left:0}}@media(max-width:820px){.project-3000-floating-code,.project-3000-particles,.project-3000-scanlines,.project-aa-grain{display:none}.project-3000-matrix span:nth-child(n+13),.hero-matrix-rain span:nth-child(n+13){display:none}.project-3000-dotgrid,.project-3000-hexgrid{opacity:.08}.home-hero:before,.personal-layout--hero-source .home-hero:after{animation:none}.profile-summary-vhs .profile-summary-copy,.personal-layout--hero-source .profile-summary-vhs .profile-summary-copy{animation:none}.hero-video-bg{width:110%;height:110%;filter:brightness(.56) contrast(1.08) saturate(.88)}}html.is-lite-experience .project-3000-background{background:radial-gradient(circle at 50% 28%,rgba(0,194,110,.05),transparent 36%),linear-gradient(180deg,#040506,#07080a 58%,#050607)}html.is-lite-experience .project-3000-matrix,html.is-lite-experience .project-3000-floating-code,html.is-lite-experience .project-3000-particles,html.is-lite-experience .project-3000-scanlines,html.is-lite-experience .project-aa-grain,html.is-lite-experience .hero-matrix-rain{display:none}html.is-lite-experience .hero-video-bg{opacity:.32;filter:brightness(.5) contrast(1.08) saturate(.86)}html.is-lite-experience .home-hero:before,html.is-lite-experience .personal-layout--hero-source .home-hero:after,html.is-lite-experience .scroll-cue,html.is-lite-experience .scroll-cue i,html.is-lite-experience .profile-online-badge i,html.is-lite-experience .personal-layout--hero-source .profile-online-badge i,html.is-lite-experience .hero-title-mobile,html.is-lite-experience .hero-title-mobile:before,html.is-lite-experience .hero-title-mobile:after,html.is-lite-experience .slot-char,html.is-lite-experience .slot-char:before,html.is-lite-experience .slot-char:after,html.is-lite-experience .profile-summary-vhs .profile-summary-copy,html.is-lite-experience .personal-layout--hero-source .profile-summary-vhs .profile-summary-copy{animation:none}html.is-lite-experience [data-scroll-reveal]{opacity:1;transition:none}html.is-lite-experience .personal-layout--hero-source .hero-title-mobile.is-glitching:before,html.is-lite-experience .personal-layout--hero-source .hero-title-mobile.is-glitching:after{display:block}html.is-lite-experience .personal-layout--hero-source .hero-title-mobile.is-glitching:before{animation:spectrumTitleTear var(--glitch-duration, .11s) steps(1,end) both}html.is-lite-experience .personal-layout--hero-source .hero-title-mobile.is-glitching:after{animation:spectrumBandTear var(--glitch-duration, .11s) steps(1,end) both}html.is-lite-experience .personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char{animation:slotLetterGlitch var(--glitch-duration, .1s) steps(1,end) both}html.is-lite-experience .personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char:before{animation:slotRgbBlue var(--glitch-duration, .11s) steps(1,end) both}html.is-lite-experience .personal-layout--hero-source .hero-title-mobile.is-glitching .slot-char:after{animation:slotRgbMagenta var(--glitch-duration, .11s) steps(1,end) both}.project-card,.project-card.project-v0-card{cursor:default;-webkit-tap-highlight-color:transparent}.project-card:active,.project-card.project-v0-card:active,.project-card.is-active,.project-card.project-v0-card.is-active{transform:none}.project-card.is-active:before{opacity:0}@media(hover:none){.project-card:hover,.project-card.project-v0-card:hover{transform:none}.project-card:hover:before{opacity:0}.project-card.project-v0-card:hover{border-color:#94a3b824}}
