.pixel-blast-container{width:100%;height:100%;position:relative;overflow:hidden}:root{--bg: #000;--fg: #fff;--muted: rgba(255, 255, 255, .65);--faint: rgba(255, 255, 255, .35);--line: rgba(255, 255, 255, .18);--panel-bg: #000;--panel-border: rgba(255, 255, 255, .18);--icon-filter: invert(1);--github-chart-filter: invert(1);--overlay-bg: rgba(0, 0, 0, .7);--modal-bg: rgba(0, 0, 0, .92);--header-bg: rgba(0, 0, 0, .75);--header-fg: #fff;--bg-rgb: 0, 0, 0;--fg-rgb: 255, 255, 255;--maxw: 1100px;--padX: 28px;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--legendary: #d6b35f;--epic: #a78bfa;--rare: #60a5fa;--common: #34d399;--radius: 14px;--gh-level-0: rgba(255, 255, 255, .06);--gh-level-1: #2b1055;--gh-level-2: #5c2a9d;--gh-level-3: #9b4fdb;--gh-level-4: #e879f9}[data-theme=light]{--bg: #f0e6ff;--fg: #1a1a1a;--muted: rgba(26, 26, 26, .75);--faint: rgba(26, 26, 26, .5);--line: rgba(26, 26, 26, .15);--panel-bg: #ffffff;--panel-border: rgba(26, 26, 26, .15);--icon-filter: none;--github-chart-filter: none;--overlay-bg: rgba(32, 24, 52, .38);--modal-bg: rgba(255, 255, 255, .96);--header-bg: rgba(200, 180, 240, .85);--header-fg: #1a1a1a;--bg-rgb: 240, 230, 255;--fg-rgb: 26, 26, 26;--legendary: #b8860b;--epic: #6d28d9;--rare: #0369a1;--common: #059669;--gh-level-0: rgba(26, 26, 26, .06);--gh-level-1: #9be9a8;--gh-level-2: #40c463;--gh-level-3: #30a14e;--gh-level-4: #216e39}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--mono);overflow-x:hidden}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--padX);overflow:visible}.section{padding:64px 0}.sectionTitle{text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:var(--fg);margin:0 0 16px;display:inline-block!important;padding:6px 10px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel-bg);position:relative!important;z-index:999!important;visibility:visible!important;opacity:1!important}.h1{font-size:40px;line-height:1.15;margin:0 0 14px}.p{margin:0;line-height:1.75;color:var(--fg)}.row{display:flex;gap:14px;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1.15fr .85fr;overflow:visible;gap:24px}@media (max-width: 880px){:root{--padX: 18px}.grid2{grid-template-columns:1fr}}.panelSolid{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius);padding:16px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--panel-bg)}.container .card,.section .card{background:var(--panel-bg)}.rarityBlurb{margin:6px 0 14px;color:var(--muted);line-height:1.6;max-width:75ch;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius);padding:12px 14px}.grid2>div:first-child{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius);padding:16px}.cardTitle{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--panel-border);border-radius:999px;padding:10px 14px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--fg);text-decoration:none;background:var(--panel-bg)}.btn:hover{border-color:#ffffff59;text-decoration:none}[data-theme=light] .btn:hover{border-color:#1a1a1a8c;box-shadow:inset 0 0 0 1px #1a1a1a14}.kbd{border:1px solid var(--panel-border);border-bottom-color:var(--panel-border);border-radius:8px;padding:2px 8px;font-size:12px;color:var(--muted);background:var(--panel-bg)}.kbdButton{-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:var(--mono);font-size:12px;line-height:1.2;padding:2px 8px;border-radius:8px;background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--muted);transform:none;box-shadow:none;outline:none;cursor:pointer}.kbdButton:hover{border-color:var(--panel-border);color:var(--muted);transform:none}.kbdButton:focus,.kbdButton:focus-visible,.kbdButton:active{border-color:var(--panel-border);color:var(--muted);transform:none;box-shadow:none;outline:none}.ukraineBurst{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;pointer-events:none;overflow:hidden}.ukraineBurstFlag{position:absolute;-webkit-user-select:none;user-select:none;will-change:transform,opacity;animation-name:ukraineFlagBurst;animation-timing-function:ease-out;animation-fill-mode:forwards}.ukraineBurstFlagImg{width:var(--flag-size);height:auto;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}@keyframes ukraineFlagBurst{0%{opacity:0;transform:translateZ(0) scale(.7) rotate(0)}14%{opacity:1}to{opacity:0;transform:translate3d(var(--drift-x),-70px,0) scale(1.2) rotate(var(--twist))}}.ukraineHintButton{animation:ukraineHintWiggle 6s ease-in-out infinite;transition:transform .2s ease}.kbdButton.ukraineHintButton:hover{transform:scale(1.18);animation-play-state:paused}@keyframes ukraineHintWiggle{0%,92%,to{transform:rotate(0)}93%{transform:rotate(-8deg)}94%{transform:rotate(7deg)}95%{transform:rotate(-6deg)}96%{transform:rotate(5deg)}97%{transform:rotate(-3deg)}98%{transform:rotate(0)}}.headerBar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}header{background:var(--bg)}.headerBrand{display:flex;align-items:baseline;gap:12px;white-space:nowrap;flex:0 0 auto}.headerLang{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.headerSettingsWrap{position:relative;flex:0 0 auto}.headerSettingsBtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-bg);transition:border-color .12s ease,transform .12s ease,background-color .12s ease}.headerSettingsBtn:hover{border-color:var(--muted);transform:translateY(-1px)}.headerSettingsBtn.isOpen{border-color:var(--muted)}.headerSettingsIcon{width:18px;height:18px;object-fit:contain;filter:var(--icon-filter);opacity:.9}.headerSettingsPanel{position:static;display:none;width:max-content;padding:10px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel-bg);gap:8px;flex-direction:row;align-items:center}.headerSettingsPanel.isOpen{display:flex}.headerSettingsGroup{display:flex;flex-direction:column;gap:6px}.headerSettingsDock{display:none;padding-top:12px;padding-bottom:16px}.headerSettingsDock.isOpen{display:block}.headerSettingsDockInner{display:flex}.headerSettingsLabel{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);line-height:1;padding-left:2px}.langToggle{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--panel-border);border-radius:8px;padding:6px 10px;background:var(--panel-bg);color:var(--fg);font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:border-color .12s ease,transform .12s ease,background-color .12s ease}.langToggle:hover{border-color:var(--muted);transform:translateY(-1px)}.langToggleOpt{padding:2px 6px;border-radius:4px;color:var(--faint);transition:background-color .12s ease,color .12s ease}.langToggleOpt.isActive{background:var(--fg);color:var(--panel-bg)}.langToggleSep{color:var(--panel-border)}.themeToggle{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--panel-border);border-radius:8px;padding:6px 10px;background:var(--panel-bg);color:var(--fg);font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:border-color .12s ease,transform .12s ease,background-color .12s ease}.themeToggle:hover{border-color:var(--muted);transform:translateY(-1px)}.themeToggleOpt{padding:2px 6px;border-radius:4px;color:var(--faint);transition:background-color .12s ease,color .12s ease}.themeToggleOpt.isActive{background:var(--fg);color:var(--panel-bg)}.themeToggleIcon{width:14px;height:14px;display:block;object-fit:contain;filter:var(--icon-filter)}.themeToggleOpt.isActive .themeToggleIcon{filter:none}[data-theme=light] .themeToggleOpt.isActive .themeToggleIcon{filter:brightness(0) invert(1)}.themeToggleSep{color:var(--panel-border)}.modeToggle{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--panel-border);border-radius:8px;padding:6px 10px;background:var(--panel-bg);color:var(--fg);font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:border-color .12s ease,transform .12s ease,background-color .12s ease}.modeToggle:hover{border-color:var(--muted);transform:translateY(-1px)}.modeToggleOpt{padding:2px 6px;border-radius:4px;color:var(--faint);transition:background-color .12s ease,color .12s ease}.modeToggleOpt.isActive{background:var(--fg);color:var(--panel-bg)}.modeToggleIcon{width:14px;height:14px;display:block;object-fit:contain;filter:var(--icon-filter)}.modeToggleOpt.isActive .modeToggleIcon{filter:none}[data-theme=light] .modeToggleOpt.isActive .modeToggleIcon{filter:brightness(0) invert(1)}.modeToggleSep{color:var(--panel-border)}.headerNav{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;justify-content:flex-end;white-space:nowrap;overflow:hidden;flex:1;min-width:0}.headerDesktopRight{display:flex;align-items:center;gap:10px;flex:1;justify-content:flex-end}.headerMenuToggle{display:none}.navBtn{all:unset;cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;flex:0 0 auto;padding:5px 7px;border-radius:999px;border:1px solid transparent;transition:background-color .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.navBtn:hover{background:var(--fg);color:var(--bg);border-color:#ffffff59;transform:translateY(-1px);animation:navBlink .65s steps(2,end) 1}.navBtnActive{background:var(--fg);color:var(--bg);border-color:#ffffff59}@keyframes navBlink{0%{opacity:1}20%{opacity:.35}40%{opacity:1}60%{opacity:.35}80%{opacity:1}to{opacity:1}}.headerMenuPanel{display:none}.headerMenuInner{display:flex;flex-direction:column;gap:10px;padding:8px 0 10px}.headerMenuNav{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.headerMenuToggles{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap;align-items:center}.headerMenuLangToggle,.headerMenuThemeToggle{flex:1;min-width:120px}@media (max-width: 880px){.headerSettingsDock{display:none!important}.headerDesktopRight{display:none}.headerBar{height:auto;padding:10px 0 8px;display:grid;grid-template-columns:1fr auto 1fr}.headerMenuToggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;background:var(--bg);color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.headerMenuToggle:hover{background:var(--fg);color:var(--bg);border-color:#ffffff59;transform:translateY(-1px)}.headerMenuToggle.isOpen{background:var(--fg);color:var(--bg)}.headerMenuIcon:before{content:"≡";font-size:13px;transition:content 0ms}.headerMenuToggle.isOpen .headerMenuIcon:before{content:"✕"}.headerNav{display:none}.headerBrand{grid-column:2;justify-self:center;text-align:center}.headerMenuToggle{grid-column:3;justify-self:end}.headerMenuBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:1290;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility 0ms linear .22s}.headerMenuBackdrop.isOpen{opacity:1;visibility:visible;transition:opacity .22s ease}.headerMenuPanel{display:block;position:fixed;top:0;right:0;bottom:0;width:min(310px,84vw);background:var(--panel-bg);border-left:1px solid var(--panel-border);border-top-left-radius:20px;border-bottom-left-radius:20px;box-shadow:-16px 0 48px #00000052;z-index:1300;overflow-y:auto;transform:translate(100%);visibility:hidden;transition:transform .28s cubic-bezier(.19,1,.22,1),visibility 0ms linear .28s}.headerMenuPanel.isOpen{transform:translate(0);visibility:visible;transition:transform .28s cubic-bezier(.19,1,.22,1)}.headerMenuInner{display:flex;flex-direction:column;gap:0;padding:18px}.headerMenuPanelHeader{display:flex;align-items:center;justify-content:space-between}.headerMenuPanelTitle{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.headerMenuToggles{display:flex;flex-direction:column;gap:14px}.headerMenuNav{display:flex;flex-direction:column;gap:4px}.headerMenuLangToggle,.headerMenuThemeToggle{width:100%;justify-content:center}.headerMenuNavBtn{width:100%;text-align:left;padding:11px 10px!important;border-radius:8px!important;border-bottom:1px solid var(--line)}.headerMenuNavBtn:last-child{border-bottom:none}}.chipRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{font-size:11px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:var(--panel-bg)}.muted{color:var(--muted);line-height:1.55}.iconBtnRow{display:flex;flex-direction:column;gap:10px;margin-top:12px;flex-wrap:nowrap}.iconBtn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--panel-border);border-radius:999px;padding:10px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg);background:var(--panel-bg);text-decoration:none;transition:background-color .12s ease,border-color .12s ease,transform .12s ease,opacity .12s ease}.iconBtn:hover{background:var(--fg);color:var(--bg);border-color:#ffffff59;transform:translateY(-1px);animation:navBlink .65s steps(2,end) 1;text-decoration:none}.iconBtn:active{transform:translateY(0);opacity:.9}.iconBtnIcon{width:16px;height:16px;object-fit:contain;display:block;filter:var(--icon-filter);opacity:.9}.iconBtn:hover .iconBtnIcon{filter:var(--icon-filter);opacity:1}.iconBtn{justify-content:flex-start}.contactCard{display:flex;flex-direction:column;padding:16px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius);height:fit-content}.contactBtnRow{margin-top:4px}.contactBtn{flex:1;border-radius:14px;padding:12px 14px;letter-spacing:.12em;border-color:#fff3;box-shadow:inset 0 0 0 1px #ffffff0a;transition:background-color .12s ease,border-color .12s ease,transform .12s ease,opacity .12s ease,box-shadow .12s ease}[data-theme=light] .contactBtn{background:#ffffffb8;border-color:#1a1a1a29;box-shadow:inset 0 0 0 1px #1a1a1a0d}.contactBtn:hover{background:#ffffff06;color:var(--fg);border-color:#fff9;transform:translateY(-1px);animation:navBlink .65s steps(2,end) 1;box-shadow:inset 0 0 0 1px #ffffff2e,0 0 14px #ffffff14;text-decoration:none}[data-theme=light] .contactBtn:hover{background:#fffffffa;border-color:#1a1a1abf;box-shadow:inset 0 0 0 1px #1a1a1a2e,0 0 0 1px #1a1a1a14}.contactBtn:hover .iconBtnIcon{filter:var(--icon-filter);opacity:1}.emailCopyBtn{all:unset;cursor:pointer;padding:2px 6px;border-radius:4px;border:1px solid var(--panel-border);background:var(--panel-bg);font-size:10px;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;transition:background-color .12s ease,border-color .12s ease,transform .12s ease;color:var(--muted)}.emailCopyBtn:hover{background:#ffffff06;border-color:#fff9;transform:translateY(-1px);color:var(--fg)}[data-theme=light] .emailCopyBtn:hover{background:#fffffffa;border-color:#1a1a1abf}.swapType{color:inherit}.swapCursor{display:inline-block;width:.7ch;margin-left:2px;animation:cursorBlink .9s steps(2,end) infinite}@keyframes cursorBlink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.miniHeader{display:flex;align-items:center;gap:10px;margin-bottom:8px}.miniIcon{width:18px;height:18px;object-fit:contain;display:block;filter:var(--icon-filter);opacity:.9}.contactCard a:not(.iconBtn){color:var(--fg)}.contactCard a:not(.iconBtn):hover{color:var(--fg)}.filterRow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.rarityFilterBtn{border:1px solid var(--panel-border);border-radius:999px;padding:9px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;line-height:1;font-family:var(--mono);cursor:pointer;background:var(--panel-bg);color:var(--muted);transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,opacity .12s ease,box-shadow .12s ease}.rarityFilterBtn:hover{border-color:#ffffffa6;background:#111;transform:translateY(-1px);box-shadow:0 0 0 2px #000000f2,0 0 0 3px #ffffff59;animation:navBlink .65s steps(2,end) 1}.rarityFilterBtn[data-rarity=LEGENDARY]:hover:not([aria-pressed=true]){background:#241a06;border-color:#d6b35fd9;color:#f6d280}.rarityFilterBtn[data-rarity=EPIC]:hover:not([aria-pressed=true]){background:#1d1330;border-color:#a78bfad9;color:#d1bdff}.rarityFilterBtn[data-rarity=RARE]:hover:not([aria-pressed=true]){background:#0d1f34;border-color:#60a5fae6;color:#97c8ff}.rarityFilterBtn[data-rarity=COMMON]:hover:not([aria-pressed=true]){background:#0d251c;border-color:#34d399e6;color:#85f0ca}.rarityFilterBtnAll:hover:not([aria-pressed=true]){background:#171717;border-color:#ffffffd9;color:#fff}.rarityFilterBtn:active{transform:translateY(0);opacity:.9}.rarityFilterBtn[data-rarity=LEGENDARY]{color:var(--legendary);border-color:#d6b35f73}.rarityFilterBtn[data-rarity=EPIC]{color:var(--epic);border-color:#a78bfa73}.rarityFilterBtn[data-rarity=RARE]{color:var(--rare);border-color:#60a5fa73}.rarityFilterBtn[data-rarity=COMMON]{color:var(--common);border-color:#34d39973}.rarityFilterBtn[aria-pressed=true]{font-weight:700;text-shadow:0 1px 0 rgba(0,0,0,.6);box-shadow:0 0 0 2px #000000f2,0 0 0 3px #ffffff80,0 0 14px #ffffff1f}.rarityFilterBtn[data-rarity=LEGENDARY][aria-pressed=true]{background:#2d2106;border-color:#d6b35f;color:#ffd882}.rarityFilterBtn[data-rarity=EPIC][aria-pressed=true]{background:#221637;border-color:#a78bfa;color:#ccbaff}.rarityFilterBtn[data-rarity=RARE][aria-pressed=true]{background:#0f2238;border-color:#60a5fa;color:#9bcbff}.rarityFilterBtn[data-rarity=COMMON][aria-pressed=true]{background:#0f2a1f;border-color:#34d399;color:#7ef0c8}.rarityFilterBtnAll[aria-pressed=true]{background:#1a1a1a;border-color:#ffffffe6;color:#fff}.rarityFilterBtnAll{background:var(--panel-bg);border-color:var(--panel-border);color:var(--fg)}[data-theme=light] .rarityFilterBtnAll:hover:not([aria-pressed=true]){background:#ffffffeb;border-color:#1a1a1a59;color:var(--fg)}[data-theme=light] .rarityFilterBtnAll[aria-pressed=true]{background:#1a1a1a;border-color:#1a1a1a59;color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#000c}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:999px;border:2px solid rgba(0,0,0,.8)}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}*{scrollbar-width:thin;scrollbar-color:#2a2a2a rgba(0,0,0,.8)}.closeBtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;flex-shrink:0;border:1px solid var(--line);border-radius:999px;padding:10px 14px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--fg);background:var(--bg)}.closeBtn:hover{border-color:#ffffff59}[data-theme=light] .closeBtn:hover{border-color:#1a1a1a47}.projectModalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;justify-content:center;align-items:center;padding:18px;background:var(--overlay-bg)}.projectModal{width:min(860px,100%);max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--modal-bg);color:var(--fg);padding:18px;box-shadow:0 20px 50px #00000038}[data-theme=light] .projectModal{box-shadow:0 18px 40px #2a1e4a29}.projectModalHeader{display:flex;justify-content:space-between;gap:12px}.projectModalTitle{font-size:16px;color:var(--fg)}.projectModalActions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.projectModalSection{margin-top:10px}.projectModalShots{margin-top:12px;display:grid;gap:12px}.projectModalShot{width:100%;border-radius:12px;border:1px solid var(--line);display:block}.projectModalStack{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.projectModalStackTag{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;color:var(--muted);background:rgba(var(--bg-rgb),.28)}.githubChartImg{width:100%;display:block;filter:var(--github-chart-filter)}.githubChartScrollHint{display:none}.githubChartScroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px 4px}@media (max-width: 900px){.githubChartImg{width:auto;min-width:640px}.githubChartScrollHint{display:block;margin-top:8px;color:var(--faint);font-size:11px;letter-spacing:.06em;text-align:center}}.ghYearRow{display:flex;gap:6px}.ghYearBtn{border:1px solid var(--panel-border);border-radius:999px;padding:5px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;background:var(--panel-bg);color:var(--muted);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.ghYearBtn:hover{border-color:var(--muted);transform:translateY(-1px)}.ghYearBtn[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg);font-weight:600}.ghGrid{width:fit-content}.ghGridBody{display:flex;gap:6px}.ghWeekdayCol{display:flex;flex-direction:column;gap:3px;flex-shrink:0}.ghMonthRowSpacer{height:14px}.ghWeekdayLabel{height:12px;line-height:12px;font-size:9px;color:var(--faint)}.ghWeeksCol{display:flex;flex-direction:column;gap:4px}.ghMonthRow{display:flex;gap:3px;height:14px}.ghMonthCell{flex:0 0 12px;width:12px;font-size:10px;line-height:14px;color:var(--muted);white-space:nowrap;overflow:visible}.ghWeeks{display:flex;gap:3px}.ghWeek{display:flex;flex-direction:column;gap:3px}.ghDay{width:12px;height:12px;border-radius:2px;display:block;background:var(--gh-level-0)}.ghDay[data-level="1"]{background:var(--gh-level-1)}.ghDay[data-level="2"]{background:var(--gh-level-2)}.ghDay[data-level="3"]{background:var(--gh-level-3)}.ghDay[data-level="4"]{background:var(--gh-level-4)}.ghDayEmpty{background:transparent}.ghFooterRow{display:flex;justify-content:flex-end;margin-top:10px}.ghLayout{display:flex;align-items:stretch;gap:20px;margin-top:8px}.ghMain{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:space-between}.ghStatsCol{display:flex;flex-direction:column;justify-content:space-between;gap:10px;flex:0 0 148px}.ghStatTile{display:flex;flex-direction:column;justify-content:center}.ghStatTile{border:1px solid var(--panel-border);border-radius:10px;padding:10px 12px;background:rgba(var(--bg-rgb),.28)}.ghStatLabel{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.ghStatValue{font-size:22px;font-weight:700;line-height:1.1;color:var(--fg)}.ghStatSub{font-size:11px;color:var(--faint);margin-top:2px;min-height:14px}@media (max-width: 900px){.ghLayout{flex-direction:column}.ghStatsCol{flex-direction:row;width:100%}.ghStatTile{flex:1 1 0}}.ghLegend{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.ghLegendSwatch{margin:0 1px}footer{background:var(--bg)}.backToTopGap{padding:12px 0 22px}.backToTopWrap{display:flex;justify-content:center}.backToTopBtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:10px 14px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--muted);background:var(--bg);transition:border-color .12s ease,color .12s ease,transform .12s ease}.backToTopBtn:hover{border-color:#ffffff59;color:var(--fg);transform:translateY(-1px)}.backToTopBtn:focus-visible{outline:1px solid var(--fg);outline-offset:2px}.rarityHeader{display:inline-flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:8px 12px;margin:0 0 10px}.rarityCount{color:var(--fg);opacity:.85;font-size:12px}.projectsRarityBlock{margin-top:28px}.projectsRarityBlock:first-of-type{margin-top:0}.highlight{color:var(--fg);font-weight:500;background:#ffffff0f;padding:2px 6px;border-radius:6px;white-space:normal}::selection{background:rgba(var(--fg-rgb),.18);color:var(--fg)}.skillsGrid{align-items:start;gap:16px}.skillsTreeCard{position:relative;padding:12px 12px 10px;background:var(--panel-bg);border-color:var(--panel-border);transform-origin:center;transition:transform .16s ease-out,box-shadow .16s ease-out,border-color .16s ease-out,background-color .16s ease-out;cursor:default}.skillsTreeCard:hover,.skillsTreeCard:focus-within{transform:translateY(-4px) scale(1.03);box-shadow:0 0 0 1px rgba(var(--fg-rgb),.08),0 22px 45px rgba(var(--fg-rgb),.18);background:var(--panel-bg)}.skillsTreeTitle{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--panel-border);color:var(--fg);text-transform:uppercase;letter-spacing:.14em;font-size:14px;font-weight:600;line-height:1.3}.skillsTreeHash{display:inline-block;min-width:1.9em}.skillsTreeTitleText{display:inline-block}.skillsTreeIcon{width:24px;height:24px;flex-shrink:0;object-fit:contain;filter:var(--icon-filter);opacity:.92}.skillsTreeList{list-style:none;margin:0;padding:0;column-count:2;column-gap:16px}.skillsTreeItem{display:grid;grid-template-columns:28px 1fr;column-gap:6px;align-items:start;margin:0;padding:2px 0;break-inside:avoid}.skillsTreeBranch{color:#aabeffeb;letter-spacing:0}.skillsTreeText{color:var(--fg);font-size:13px;line-height:1.5;letter-spacing:.08em;font-family:var(--mono);word-break:break-word}.skillsTreeCard:hover .skillsTreeTitleText,.skillsTreeCard:focus-within .skillsTreeTitleText{animation:terminalFlicker .9s steps(2,end) infinite}.skillsTreeCard--color0 .skillsTreeTitle{border-bottom-color:#8a2be240}.skillsTreeCard--color0 .skillsTreeBranch{color:#8a2be299}.skillsTreeCard--color1 .skillsTreeTitle{border-bottom-color:#00ced140}.skillsTreeCard--color1 .skillsTreeBranch{color:#00ced199}.skillsTreeCard--color2 .skillsTreeTitle{border-bottom-color:#32cd3240}.skillsTreeCard--color2 .skillsTreeBranch{color:#32cd3299}.skillsTreeCard--color3 .skillsTreeTitle{border-bottom-color:#ffa50040}.skillsTreeCard--color3 .skillsTreeBranch{color:#ffa50099}.skillsTreeCard--color4 .skillsTreeTitle{border-bottom-color:#dc143c40}.skillsTreeCard--color4 .skillsTreeBranch{color:#dc143c99}.skillsTreeCard--color5 .skillsTreeTitle{border-bottom-color:#00bfff40}.skillsTreeCard--color5 .skillsTreeBranch{color:#00bfff99}.skillsTreeCard--color6 .skillsTreeTitle{border-bottom-color:#ff149340}.skillsTreeCard--color6 .skillsTreeBranch{color:#ff149399}@media (max-width: 880px){.skillsTreeCard{padding:12px}.skillsTreeList{column-count:1;column-gap:0}.skillsTreeItem{grid-template-columns:32px 1fr;column-gap:7px;padding:3px 0}.skillsTreeText{font-size:12.5px}}.experienceCard{position:relative;overflow:hidden;transition:border-color .12s ease,transform .16s ease-out}.experienceCard:hover{transform:translateY(-4px)}.experienceCardLogo{width:40px;height:40px;object-fit:contain;border-radius:6px;border:1px solid var(--panel-border);padding:4px;background:#ffffff05;flex-shrink:0}[data-theme=light] .experienceCardLogo{background:#1a1a1a05}.projectCard{position:relative;overflow:hidden}.projectCard:before{content:"";position:absolute;top:-50px;right:-50px;bottom:-50px;left:-50px;background:radial-gradient(600px 240px at 28% 20%,var(--rarityGlow, rgba(255,255,255,.12)),transparent 60%);filter:blur(24px);opacity:.22;pointer-events:none;transition:opacity .2s ease,transform .25s ease;transform:scale(1)}.projectCard:hover:before{opacity:.42;transform:scale(1.06)}.projectCard[data-rarity=LEGENDARY]{--rarityGlow: rgba(245, 197, 66, .55)}.projectCard[data-rarity=EPIC]{--rarityGlow: rgba(167, 139, 250, .55)}.projectCard[data-rarity=RARE]{--rarityGlow: rgba(96, 165, 250, .52)}.projectCard[data-rarity=COMMON]{--rarityGlow: rgba(52, 211, 153, .46)}.pressToOpen{margin-top:14px;color:var(--faint);font-size:12px;opacity:.25;transform:translateY(2px);transition:opacity .18s ease,transform .18s ease,font-size .18s ease}.projectCard:hover .pressToOpen,.experienceCard:hover .pressToOpen{opacity:1;transform:translateY(0);font-size:13px;letter-spacing:.08em;text-transform:uppercase;animation:terminalFlicker .9s steps(2,end) infinite}.projectCard:hover .pressToOpen:after,.experienceCard:hover .pressToOpen:after{content:"▋";display:inline-block;margin-left:6px;animation:terminalCursor .7s steps(2,end) infinite;opacity:.9}@keyframes terminalFlicker{0%{opacity:1}12%{opacity:.25}24%{opacity:1}38%{opacity:.45}52%{opacity:1}66%{opacity:.35}82%{opacity:1}to{opacity:1}}@keyframes terminalCursor{0%{opacity:1}50%{opacity:0}to{opacity:1}}.brandStack{display:flex;flex-direction:column;gap:2px}.brandTitle{white-space:nowrap}.brandSub{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.75;font-family:var(--mono)}.brandSub:after{content:" ▌";animation:cursorBlink .9s steps(2,end) infinite;opacity:.7}.langTransitionOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:grid;place-items:center;overflow:hidden;pointer-events:all;background:#0000005c;-webkit-backdrop-filter:blur(.5px) saturate(1.1);backdrop-filter:blur(.5px) saturate(1.1);animation:overlayFadeOut var(--lang-transition-ms, 1s) ease-out forwards}.langTransitionOverlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.langTransitionOverlay:before{background:repeating-linear-gradient(0deg,#ffffff21 0,#ffffff21 1px,#00000047 1px,#00000047 3px),repeating-linear-gradient(90deg,#ffffff14 0,#ffffff14 1px,#00000057 1px,#00000057 4px);opacity:.82;animation:staticDrift .26s steps(3,end) infinite,staticPulse .18s steps(2,end) infinite,overlayLayerFade var(--lang-transition-ms, 1s) ease-out forwards}.langTransitionInner{position:relative;z-index:1;border:1px solid var(--line);border-radius:10px;padding:14px 18px;background:#00000094;text-align:center;min-width:220px;animation:overlayLayerFade var(--lang-transition-ms, 1s) ease-out forwards}[data-theme=light] .langTransitionOverlay{background:#20183429;-webkit-backdrop-filter:blur(.75px) saturate(1.05);backdrop-filter:blur(.75px) saturate(1.05)}[data-theme=light] .langTransitionOverlay:before{background:repeating-linear-gradient(0deg,#ffffff1a 0,#ffffff1a 1px,#120c2224 1px,#120c2224 3px),repeating-linear-gradient(90deg,#ffffff14 0,#ffffff14 1px,#120c222e 1px,#120c222e 4px);opacity:.62}[data-theme=light] .langTransitionInner{background:#fffffff0;border-color:#1a1a1a2e;box-shadow:0 14px 28px #2a1e4a29}[data-theme=light] .langTransitionLabel{color:#1a1a1ab3}[data-theme=light] .langTransitionTarget{color:#111;text-shadow:0 1px 0 rgba(255,255,255,.45)}.langTransitionLabel{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.langTransitionTarget{font-size:26px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);animation:textFlicker .2s steps(2,end) infinite}@keyframes staticDrift{0%{background-position:0 0,0 0}25%{background-position:-2px 1px,1px -1px}50%{background-position:2px -1px,-1px 1px}75%{background-position:-1px -2px,2px 0}to{background-position:0 0,0 0}}@keyframes staticPulse{0%{opacity:.76}50%{opacity:.9}to{opacity:.82}}@keyframes textFlicker{0%{opacity:1}50%{opacity:.65}to{opacity:1}}@keyframes overlayLayerFade{0%{opacity:1}72%{opacity:1}to{opacity:0}}@keyframes overlayFadeOut{0%{opacity:1}80%{opacity:1}to{opacity:0}}.experienceTimeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:32px}.experienceItem{position:relative;display:flex;flex-direction:column;margin-bottom:32px}.timelineMarker{position:absolute;left:-24px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--fg);border:3px solid var(--bg);box-shadow:0 0 0 2px var(--fg);z-index:2}.timelineConnector{position:absolute;left:-18px;top:30px;width:2px;height:calc(100% + 32px);background:var(--panel-border)}.experienceCard{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius);padding:16px;transition:border-color .12s ease,box-shadow .12s ease}.experienceCard:hover{border-color:var(--muted);box-shadow:0 0 0 1px var(--panel-border),0 4px 12px #0000001a}[data-theme=light] .experienceCard:hover{box-shadow:0 0 0 1px var(--panel-border),0 4px 12px #0000000d}.experienceHeader{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}.experienceLogo{width:48px;height:48px;object-fit:contain;flex-shrink:0;border-radius:6px;border:1px solid var(--panel-border);padding:4px;background:#ffffff05}[data-theme=light] .experienceLogo{background:#1a1a1a05}.experienceHeaderText{flex:1}.experienceCompany{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--fg)}.experiencePosition{font-size:13px;color:var(--muted);letter-spacing:.05em;line-height:1.4}.experienceMeta{display:flex;gap:12px;margin-bottom:10px}.experienceDate{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#ffffff05;padding:4px 8px;border-radius:4px;border:1px solid var(--panel-border)}[data-theme=light] .experienceDate{background:#1a1a1a05}.experienceDescription{margin:0;font-size:13px;line-height:1.6;color:var(--fg)}@media (max-width: 640px){.experienceTimeline{padding-left:24px}.timelineMarker{left:-18px;width:12px;height:12px;box-shadow:0 0 0 1px var(--fg)}.timelineConnector{left:-13px}.experienceHeader{flex-direction:column;align-items:flex-start}.experienceLogo{width:40px;height:40px}.experienceCompany{font-size:14px}.projectModalTitle{word-break:break-word}.projectModalActions{gap:8px}.projectModalActions .btn{font-size:11px;padding:8px 12px}}
