@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";:root,[data-theme=dark]{--bg-body: linear-gradient(135deg, #414359 0%, #484f69 50%, #51587b 100%);--bg-wood-dark: #241509;--bg-wood-mid: #3d2714;--bg-wood-light: #5a3a1e;--bg-wood-plank: #4a2f18;--bg-panel: linear-gradient( 180deg, rgba(74, 47, 24, .92), rgba(36, 21, 9, .95) );--bg-panel-hover: linear-gradient( 180deg, rgba(122, 84, 24, .55), rgba(36, 21, 9, .65) );--bg-panel-dim: linear-gradient( 180deg, rgba(90, 58, 30, .55), rgba(36, 21, 9, .55) );--bg-nav: linear-gradient( 180deg, rgba(74, 47, 24, .98), rgba(36, 21, 9, .98) );--bg-button: #484f69;--bg-button-hover: #51587b;--bg-overlay: rgba(10, 6, 3, .88);--bg-iframe: #fff;--bg-modal-btn: #e6b93d;--bg-modal-btn-hover: #ffd868;--bg-github-section: linear-gradient(180deg, #3d2714, #1a0f07);--bg-github-panel: linear-gradient( 180deg, rgba(74, 47, 24, .92), rgba(36, 21, 9, .95) );--bg-github-dropdown: linear-gradient( 180deg, rgba(74, 47, 24, .92), rgba(36, 21, 9, .95) );--bg-github-tooltip: #1c1c1c;--border-github-panel: #8a6a24;--border-github-graph: rgba(230, 185, 61, .2);--text-github-dropdown: #ffd868;--text-primary: rgba(255, 255, 255, .87);--text-parchment: #e8d5ac;--text-parchment-dim: #c9b287;--text-gold: #ffd868;--text-gold-dim: #e6b93d;--text-muted: #a89470;--text-link: #c7c7c7;--text-link-hover: #ffffff;--text-button: white;--text-dark: #241509;--border-gold: #e6b93d;--border-gold-bright: #ffd868;--border-gold-dim: #8a6a24;--border-gold-faint: rgba(230, 185, 61, .25);--border-gold-fainter: rgba(230, 185, 61, .2);--border-gold-faintest: rgba(230, 185, 61, .18);--shadow-gold: rgba(230, 185, 61, .55);--shadow-gold-soft: rgba(230, 185, 61, .3);--shadow-gold-glow: rgba(255, 216, 104, .5);--shadow-deep: rgba(0, 0, 0, .65);--shadow-overlay: rgba(230, 185, 61, .2);--nav-border: #8a6a24;--nav-link: #c9b287;--nav-link-hover: #ffd868;--nav-title-glow: rgba(255, 216, 104, .5);--footer-border: #8a6a24;--footer-border-top: rgba(230, 185, 61, .2);--footer-overlay: rgba(0, 0, 0, .45);--click-glow: radial-gradient( circle, rgba(255, 216, 104, .35) 0%, rgba(255, 216, 104, .12) 30%, rgba(230, 185, 61, .04) 60%, transparent 70% );--modal-btn-shadow: #b38600}[data-theme=light]{--bg-body: linear-gradient(135deg, #f5f0e8 0%, #ede4d3 50%, #e8dcc8 100%);--bg-wood-dark: #f5f0e8;--bg-wood-mid: #ede4d3;--bg-wood-light: #e0d4bd;--bg-wood-plank: #d4c4a8;--bg-panel: linear-gradient( 180deg, rgba(245, 240, 232, .95), rgba(237, 228, 211, .98) );--bg-panel-hover: linear-gradient( 180deg, rgba(200, 180, 150, .6), rgba(237, 228, 211, .9) );--bg-panel-dim: linear-gradient( 180deg, rgba(237, 228, 211, .7), rgba(220, 210, 190, .8) );--bg-nav: linear-gradient( 180deg, rgba(245, 240, 232, .98), rgba(237, 228, 211, .98) );--bg-button: #8a7a5a;--bg-button-hover: #6c5f42;--bg-overlay: rgba(200, 190, 170, .85);--bg-iframe: #fff;--bg-modal-btn: #8a6a24;--bg-modal-btn-hover: #6c4f1a;--bg-github-section: linear-gradient(180deg, #ede4d3, #e0d4bd);--bg-github-panel: linear-gradient( 180deg, rgba(245, 240, 232, .95), rgba(237, 228, 211, .98) );--bg-github-dropdown: #fff;--bg-github-tooltip: #3a3a3a;--border-github-panel: #8a6a24;--border-github-graph: rgba(138, 106, 36, .25);--text-github-dropdown: #4a3520;--text-primary: #3d3020;--text-parchment: #4a3a2a;--text-parchment-dim: #5c4a35;--text-gold: #8a6a24;--text-gold-dim: #6c4f1a;--text-muted: #7a6a55;--text-link: #6c5f42;--text-link-hover: #4a3520;--text-button: white;--text-dark: #ffffff;--border-gold: #8a6a24;--border-gold-bright: #6c4f1a;--border-gold-dim: #8a6a24;--border-gold-faint: rgba(138, 106, 36, .3);--border-gold-fainter: rgba(138, 106, 36, .2);--border-gold-faintest: rgba(138, 106, 36, .15);--shadow-gold: rgba(138, 106, 36, .4);--shadow-gold-soft: rgba(138, 106, 36, .2);--shadow-gold-glow: rgba(138, 106, 36, .35);--shadow-deep: rgba(0, 0, 0, .15);--shadow-overlay: rgba(138, 106, 36, .15);--nav-border: #8a6a24;--nav-link: #5c4a35;--nav-link-hover: #8a6a24;--nav-title-glow: rgba(138, 106, 36, .4);--footer-border: #8a6a24;--footer-border-top: rgba(138, 106, 36, .25);--footer-overlay: rgba(255, 255, 255, .25);--click-glow: radial-gradient( circle, rgba(138, 106, 36, .3) 0%, rgba(138, 106, 36, .1) 30%, rgba(138, 106, 36, .04) 60%, transparent 70% );--modal-btn-shadow: rgba(0, 0, 0, .2)}:root{--ornament-color: var(--border-gold, #8b5e50)}.ornament{display:block;width:100%;background-color:var(--ornament-color);-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-position:left center;mask-position:left center;pointer-events:none;-webkit-user-select:none;user-select:none}.ornament--fleur{height:18px;-webkit-mask-size:22px 18px;mask-size:22px 18px;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 40'><path d='M23,2 Q29,14 25,26 L21,26 Q17,14 23,2 Z'/><path d='M17,26 Q7,18 11,8 Q17,16 17,26 Z'/><path d='M29,26 Q39,18 35,8 Q29,16 29,26 Z'/><rect x='9' y='26' width='28' height='3' rx='1.2'/><circle cx='23' cy='33' r='2.1'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 40'><path d='M23,2 Q29,14 25,26 L21,26 Q17,14 23,2 Z'/><path d='M17,26 Q7,18 11,8 Q17,16 17,26 Z'/><path d='M29,26 Q39,18 35,8 Q29,16 29,26 Z'/><rect x='9' y='26' width='28' height='3' rx='1.2'/><circle cx='23' cy='33' r='2.1'/></svg>")}.ornament--hairline{height:2px;-webkit-mask-size:6px 2px;mask-size:6px 2px;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 4'><circle cx='2' cy='2' r='1.1'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 4'><circle cx='2' cy='2' r='1.1'/></svg>")}.ornament-group{display:flex;flex-direction:column;gap:2px}.section-divider{width:100%;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:1px;background:radial-gradient(ellipse at top,rgba(0,0,0,.15),transparent 60%),repeating-linear-gradient(90deg,var(--bg-wood-mid) 0px,var(--bg-wood-mid) 18px,var(--bg-wood-light) 18px,var(--bg-wood-light) 20px),linear-gradient(180deg,var(--bg-wood-dark),var(--bg-wood-mid))}.section-divider .ornament{width:100%;max-width:100%;opacity:.5;transition:opacity .3s ease}.section-divider:hover .ornament{opacity:.85}.ornament-heading-underline{width:100%;max-width:80px;margin:4px auto 0;opacity:.4}.section-divider{animation:ornamentFadeIn .8s ease forwards;opacity:0}@keyframes ornamentFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.ornament--fleur{height:14px;-webkit-mask-size:18px 14px;mask-size:18px 14px}.ornament--hairline{height:1.5px;-webkit-mask-size:5px 1.5px;mask-size:5px 1.5px}.section-divider{padding:5px 0}.ornament-heading-underline{max-width:60px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;scroll-behavior:smooth}body{overflow-x:hidden;min-height:100vh;background:var(--bg-body);font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--text-primary);color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;max-width:100vw;overflow-x:hidden}main{width:100%;overflow-x:hidden;background:radial-gradient(ellipse at top,rgba(0,0,0,.15),transparent 60%),repeating-linear-gradient(90deg,var(--bg-wood-mid) 0px,var(--bg-wood-mid) 18px,var(--bg-wood-light) 18px,var(--bg-wood-light) 20px),linear-gradient(180deg,var(--bg-wood-dark),var(--bg-wood-mid))}h1{font-size:3.2em;line-height:1.1}img{max-width:100%;display:block}a{font-weight:500;color:var(--text-link);text-decoration:inherit;transition:color .25s}a:hover{color:var(--text-link-hover)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-button);color:var(--text-button);cursor:pointer;transition:all .25s}button:hover{border-color:var(--border-gold-dim);background-color:var(--bg-button-hover)}button:focus,button:focus-visible{outline:4px auto rgba(108,115,143,.5)}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg-body: linear-gradient(135deg, #e8e9ed 0%, #d4d6dd 50%, #c5c7d0 100%);color:#414359;background-color:#f5f5f7}:root:not([data-theme]) a{color:#51587b}:root:not([data-theme]) a:hover{color:#6c738f}:root:not([data-theme]) button{background-color:#6c738f;color:#fff}:root:not([data-theme]) button:hover{background-color:#51587b}}.click-glow{position:fixed;pointer-events:none;z-index:99999;width:20px;height:20px;border-radius:50%;background:var(--click-glow);transform:translate(-50%,-50%) scale(0);animation:clickGlowPulse .8s ease-out forwards}@keyframes clickGlowPulse{0%{transform:translate(-50%,-50%) scale(0);opacity:1}40%{opacity:.8}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}nav{display:flex;align-items:center;justify-content:space-between;padding:.85rem 2rem;background:var(--bg-nav);border-bottom:3px solid var(--nav-border);box-shadow:0 0 0 1px #0009,0 8px 24px #000000a6;position:fixed;top:0;left:0;right:0;z-index:100;box-sizing:border-box;width:100%}nav ul{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:.25rem;flex-shrink:0}nav li{padding-left:.75rem}nav a{white-space:nowrap;font-size:.95rem;color:var(--nav-link);transition:color .3s ease;text-decoration:none}nav a:hover{color:var(--nav-link-hover)}.navbar-title{font-size:1.4rem;font-weight:700;color:var(--text-gold);text-shadow:0 0 8px var(--nav-title-glow);white-space:nowrap;flex-shrink:0;font-family:VT323,monospace}.nav-toggle-desktop{display:flex;align-items:center;padding-left:.75rem}.navbar-right{display:none}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:4px;z-index:110}.hamburger-line{display:block;width:100%;height:3px;background:var(--text-parchment-dim);border-radius:2px;transition:all .3s ease}.hamburger.is-open .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.is-open .hamburger-line:nth-child(2){opacity:0}.hamburger.is-open .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-backdrop{display:none}@media(min-width:769px){.nav-list{display:flex!important}.navbar-right{display:none!important}.nav-toggle-desktop{display:flex}}@media(max-width:768px){nav{padding:.75rem 1.1rem}.navbar-title{font-size:1.15rem}.navbar-right{display:flex;align-items:center;gap:.25rem}.nav-toggle-mobile{display:flex;align-items:center}.nav-toggle-desktop{display:none!important}.nav-list{position:fixed;top:0;right:-100%;width:min(280px,75vw);height:100vh;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:5rem 1.5rem 2rem;background:var(--bg-nav);border-left:3px solid var(--nav-border);box-shadow:-8px 0 24px #000000a6;transition:right .35s cubic-bezier(.4,0,.2,1);z-index:105;overflow-y:auto}.nav-list.is-open{right:0}.nav-list li{padding-left:0;width:100%}.nav-list a{display:block;padding:.85rem 0;font-size:1.1rem;border-bottom:1px solid var(--border-gold-fainter)}.nav-backdrop{display:block;position:fixed;inset:0;background:#00000080;z-index:104}}@media(max-width:480px){nav{padding:.65rem .9rem}.navbar-title{font-size:1rem}.nav-list{width:75vw;padding:4.5rem 1.25rem 1.5rem}.nav-list a{font-size:1rem;padding:.75rem 0}}.home-section{min-height:100vh;width:100%;max-width:100vw;display:flex;align-items:center;justify-content:center;padding:6rem 2rem 4rem;position:relative;overflow:hidden;font-family:VT323,monospace}.home-container{max-width:1200px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:3.5rem}.home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center;width:100%;min-width:0}.home-content{text-align:left;display:flex;flex-direction:column;gap:2rem;min-width:0;overflow:hidden}.home-intro{display:flex;flex-direction:column;gap:1rem}.greeting-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-panel);border:2px solid var(--border-gold-dim);border-radius:8px;padding:.45rem 1.1rem;font-size:.95rem;font-weight:500;color:var(--text-parchment);width:fit-content;box-shadow:inset 0 0 20px #0000008c;letter-spacing:.02em;animation:fadeSlideDown .6s ease both}.home-title{font-family:VT323,monospace;font-size:clamp(4.5rem,8vw,6.5rem);font-weight:800;line-height:1;letter-spacing:2px;margin:.5rem 0;color:var(--text-gold);text-shadow:0 0 8px var(--shadow-gold-glow),2px 2px 0 rgba(0,0,0,.6);animation:fadeSlideDown .8s ease-out .15s both}.home-title-surname{font-family:VT323,monospace;font-size:clamp(4.5rem,8vw,6.5rem);font-weight:800;line-height:1.05;letter-spacing:2px;color:var(--text-gold-dim);text-shadow:0 0 6px var(--shadow-gold-glow),2px 2px 0 rgba(0,0,0,.6)}.gradient-text{color:var(--text-gold);text-shadow:0 0 8px var(--shadow-gold-glow)}.role-pill{display:inline-flex;align-items:center;gap:.2rem;padding:.5rem;font-size:2rem;font-weight:600;color:var(--text-gold);width:fit-content;animation:fadeSlideDown .7s ease .2s both}.role-dot{width:2px;height:2px;background:var(--border-gold);border-radius:50%;animation:blink 2s ease-in-out infinite;flex-shrink:0}@keyframes blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.home-description{font-size:clamp(1rem,1.8vw,1.1rem);color:var(--text-parchment-dim);line-height:1.8;margin:0;max-width:520px;animation:fadeSlideDown .7s ease .3s both}.highlight{color:var(--text-gold);font-weight:600}.button-group{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeSlideDown .7s ease .4s both}@media(max-width:480px){.button-group{flex-direction:column;width:100%;max-width:260px}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.3rem;font-family:VT323,monospace;font-size:1rem;font-weight:600;border-radius:8px;border:2px solid var(--border-gold);cursor:pointer;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.01em}.btn-primary{background:var(--bg-panel-dim);color:var(--text-gold);box-shadow:0 0 10px var(--shadow-gold)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 0 22px var(--shadow-gold-soft);background:var(--bg-panel-hover)}.btn-secondary{background:var(--bg-panel-dim);color:var(--text-parchment-dim);border:2px solid var(--border-gold-faint)}.btn-secondary:hover{background:var(--bg-panel-hover);border-color:var(--border-gold);color:var(--text-gold);transform:translateY(-3px)}.home-socials{display:flex;gap:.85rem;animation:fadeSlideDown .7s ease .5s both}.social-icon{width:44px;height:44px;background:var(--bg-panel);border:2px solid var(--border-gold-faint);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-parchment-dim);font-size:1.15rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.social-icon:hover{background:#7a54188c;border-color:var(--border-gold);color:var(--text-gold);transform:translateY(-4px);box-shadow:0 0 10px var(--shadow-gold)}.codebility-icon{width:44px;height:44px;background:var(--bg-panel);border:2px solid var(--border-gold-faint);border-radius:8px;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.codebility-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 4px rgba(6,227,220,.4));transition:all .3s ease}.codebility-icon:hover{transform:translateY(-4px)}.codebility-icon:hover .codebility-logo{transform:scale(1.15)}.image-container{display:flex;justify-content:center;align-items:center;animation:fadeSlideLeft .8s ease .2s both}.image-container img{width:100%;max-width:400px;height:auto}.image-wrapper{position:relative;max-width:380px;width:100%}.image-glow{position:absolute;inset:-20px;background:radial-gradient(circle at 50% 40%,var(--shadow-gold-glow),rgba(255,216,104,.18) 45%,transparent 70%);border-radius:2rem;filter:blur(32px);opacity:.5;z-index:0;transition:opacity .4s ease,filter .4s ease}.image-ring{position:absolute;inset:-5px;z-index:0;border-radius:1.5rem;padding:3px;background:conic-gradient(from 0deg,var(--border-gold),var(--text-gold),var(--border-gold-dim),var(--border-gold));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;transition:opacity .4s ease}.image-wrapper:hover .image-ring{animation:spin-ring 6s linear infinite;opacity:.8}.image-wrapper:hover .image-glow{opacity:.75}@keyframes spin-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-image{position:relative;z-index:1;width:100%;border-radius:1.25rem;box-shadow:0 25px 50px #00000073,0 0 0 1px #ffffff0f;object-fit:cover;aspect-ratio:3 / 4;transition:transform .45s cubic-bezier(.4,0,.2,1);display:block}.image-wrapper:hover .profile-image{transform:scale(1.03) translateY(-4px)}.image-badge{position:absolute;bottom:60px;left:60%;transform:translate(-50%);z-index:2;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1.2rem;font-size:.85rem;font-weight:600;color:var(--text-gold);white-space:nowrap}.badge-dot{width:7px;height:7px;background:var(--border-gold);border-radius:50%;animation:blink 1.8s ease-in-out infinite;flex-shrink:0}.scroll-indicator{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-parchment-dim);opacity:.5;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;animation:fadeIn 1s ease 1s both}.scroll-arrow{font-size:1rem;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.floating-orb{position:absolute;border-radius:50%;pointer-events:none;animation:orb-pulse 8s ease-in-out infinite}.orb-1{width:420px;height:420px;background:radial-gradient(circle,var(--shadow-gold),transparent 70%);top:-120px;left:-160px}.orb-2{width:500px;height:500px;background:radial-gradient(circle,var(--shadow-gold-glow),transparent 70%);bottom:-180px;right:-180px;animation-delay:3s}.orb-3{width:280px;height:280px;background:radial-gradient(circle,var(--shadow-gold),transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:5s}@keyframes orb-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:1024px){.home-grid{gap:3rem}.home-title{font-size:clamp(2.4rem,5vw,3.5rem)}}@media(max-width:768px){.home-section{padding:5.5rem 1.5rem 4rem;align-items:flex-start}.home-container{padding:0}.home-grid{grid-template-columns:1fr;gap:2rem}.image-container{order:1}.image-wrapper{max-width:240px;margin:0 auto}.image-badge{bottom:20px;font-size:.78rem;padding:.4rem 1rem}.home-content{order:2;align-items:center;text-align:center;gap:1.25rem;width:100%;box-sizing:border-box}.greeting-badge,.role-pill{align-self:center}.home-title{font-size:clamp(1.8rem,7vw,2.6rem);margin:.25rem 0;text-align:center;word-break:break-word;width:100%}.home-description{text-align:center;width:100%;max-width:100%;font-size:.95rem;word-break:break-word}.button-group{flex-direction:column;align-items:center;width:100%;max-width:260px;gap:.75rem}.btn{width:100%;box-sizing:border-box}.home-socials{justify-content:center}.scroll-indicator{display:none}}@media(max-width:480px){.home-section{padding:5rem 1.25rem 3.5rem}.image-wrapper{max-width:200px}.home-title{font-size:clamp(1.65rem,8.5vw,2.1rem);line-height:1.15}.greeting-badge{font-size:.82rem;padding:.35rem .85rem}.role-pill{font-size:.85rem;padding:.38rem .95rem}.home-description{font-size:.9rem;line-height:1.72}.button-group{max-width:240px;gap:.65rem}.btn{padding:.8rem 1rem;font-size:.88rem}.home-socials{gap:.6rem}.social-icon{width:38px;height:38px;font-size:.95rem}.codebility-icon{width:38px;height:38px}}.resume-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:modalFadeIn .3s ease both}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.resume-modal-content{position:relative;width:95%;max-width:1100px;height:94vh;max-height:94vh;background:radial-gradient(ellipse at top,rgba(0,0,0,.15),transparent 60%),repeating-linear-gradient(90deg,var(--bg-wood-mid) 0px,var(--bg-wood-mid) 18px,var(--bg-wood-light) 18px,var(--bg-wood-light) 20px),linear-gradient(180deg,var(--bg-wood-dark),var(--bg-wood-mid));border:3px solid var(--border-gold);border-radius:12px;box-shadow:0 0 40px var(--shadow-overlay),0 25px 50px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideUp .35s cubic-bezier(.4,0,.2,1) both}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.resume-close-btn{position:absolute;top:.5rem;right:.5rem;width:40px;height:40px;background:#241509e6;border:2px solid var(--border-gold);border-radius:8px;color:var(--text-parchment-dim);font-size:1.6rem;font-family:VT323,monospace;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;z-index:10}.resume-close-btn:hover{background:#7a54188c;color:var(--text-gold);border-color:var(--border-gold-bright);transform:scale(1.1)}.resume-header{padding:1.25rem 4.5rem 1.25rem 1.5rem;border-bottom:2px solid var(--border-gold-fainter);background:var(--bg-panel);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.resume-title{font-family:VT323,monospace;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700;color:var(--text-gold);text-shadow:0 0 8px var(--shadow-gold-glow),2px 2px 0 rgba(0,0,0,.6);margin:0;line-height:1.2}.resume-subtitle{font-family:VT323,monospace;font-size:1.1rem;color:var(--text-parchment-dim);margin:.35rem 0 0}.resume-action-btn{font-family:VT323,monospace;font-size:1.1rem;color:var(--text-gold);background:#241509e6;border:2px solid var(--border-gold);padding:.5rem 1rem;border-radius:6px;text-decoration:none;transition:all .25s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.resume-action-btn:hover{background:#7a54188c;color:var(--text-gold);border-color:var(--border-gold-bright);transform:scale(1.05)}.resume-iframe-container{width:100%;flex:1;overflow:auto;background:var(--bg-iframe);display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.resume-iframe{width:100%;height:100%;border:none;display:block;flex:1}@media(max-width:1024px){.resume-modal-content{max-width:95vw;height:92vh;max-height:92vh}}@media(max-width:768px){.resume-modal-overlay{padding:.5rem}.resume-modal-content{height:95vh;max-height:95vh;border-radius:10px;border-width:2px}.resume-header{padding:1rem 3.5rem 1rem 1rem;flex-direction:column;align-items:flex-start;gap:.75rem}.resume-action-btn{font-size:.95rem;padding:.4rem .8rem}.resume-close-btn{top:.35rem;right:.35rem;width:34px;height:34px;font-size:1.3rem}.resume-title{font-size:1.4rem}.resume-subtitle{font-size:.9rem}.resume-iframe-container{overflow-y:auto;-webkit-overflow-scrolling:touch}.resume-iframe{min-height:2000px;pointer-events:none}}@media(max-width:480px){.resume-modal-content{height:95vh;max-height:95vh;border-radius:8px}.resume-close-btn{width:30px;height:30px;font-size:1.15rem}.resume-title{font-size:1.25rem}.resume-subtitle{font-size:.8rem}}.rpg-section{--wood-dark: var(--bg-wood-dark);--wood-mid: var(--bg-wood-mid);--wood-light: var(--bg-wood-light);--wood-plank: var(--bg-wood-plank);--parchment: var(--text-parchment);--parchment-dim: var(--text-parchment-dim);--gold: var(--border-gold);--gold-bright: var(--text-gold);--gold-dim: var(--border-gold-dim);--shadow-deep: var(--shadow-deep);--rarity-common: #9aa0a6;--rarity-common-glow: rgba(154, 160, 166, .55);--rarity-uncommon: #3fbf5f;--rarity-uncommon-glow: rgba(63, 191, 95, .55);--rarity-rare: #3f8ef0;--rarity-rare-glow: rgba(63, 142, 240, .55);--rarity-epic: #b45cf0;--rarity-epic-glow: rgba(180, 92, 240, .6);--rarity-legendary: #f0973f;--rarity-legendary-glow: rgba(240, 151, 63, .7);font-family:VT323,monospace;color:var(--parchment);position:relative}.rpg-pixel-font{font-family:"Press Start 2P",monospace}.rpg-section{width:100%;min-height:100vh;padding:5rem 16px 16px;display:flex;align-items:center;justify-content:center;background-blend-mode:normal;image-rendering:pixelated;box-sizing:border-box}.rpg-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.55) 100%);z-index:0}.rpg-section>*:not(.rpg-vignette){position:relative;z-index:1}.rpg-layout{width:100%;max-width:1400px;display:flex;flex-direction:row;flex-wrap:wrap;gap:14px;align-items:stretch}.rpg-sidebar,.rpg-center,.rpg-details{position:relative;background:var(--bg-panel);border:3px solid var(--gold-dim);box-shadow:0 0 0 1px #0009,inset 0 0 20px #0000008c,0 8px 24px var(--shadow-deep);border-radius:10px;padding:18px;display:flex;flex-direction:column}.rpg-sidebar:before,.rpg-center:before,.rpg-details:before{content:"";position:absolute;inset:6px;border:1px solid var(--border-gold-faint);border-radius:6px;pointer-events:none}.rpg-sidebar{flex-shrink:0;gap:5px}@media(min-width:768px){.rpg-sidebar{width:160px}}.rpg-sidebar-title{font-family:"Press Start 2P",monospace;color:var(--gold-bright);font-size:9px;margin:0 0 6px;letter-spacing:1px;line-height:1.6}.rpg-nav{all:unset;display:flex;flex-direction:column;gap:5px}.rpg-nav-btn{position:relative;display:flex;align-items:center;gap:6px;width:100%;padding:7px 8px;font-size:12px;background:var(--bg-panel-dim);border:2px solid var(--border-gold-faint);border-radius:6px;color:var(--parchment-dim);cursor:pointer;transition:transform .2s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease;text-align:left;font-family:inherit}.rpg-nav-btn:hover{color:var(--parchment);border-color:var(--gold-dim)}.rpg-nav-btn.is-active{color:var(--gold-bright);border-color:var(--gold);box-shadow:0 0 10px var(--shadow-gold),0 0 22px var(--shadow-gold-soft),inset 0 0 10px #e6b93d26;background:var(--bg-panel-hover)}.rpg-nav-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:5px;background:#00000059;border:1px solid var(--border-gold-faint);flex-shrink:0}.rpg-center{flex:1;min-width:0;gap:8px}.rpg-center-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.rpg-center-title{font-family:"Press Start 2P",monospace;color:var(--gold-bright);font-size:12px;margin:0;letter-spacing:1px}.rpg-capacity-text{font-family:"Press Start 2P",monospace;color:var(--parchment-dim);font-size:9px;white-space:nowrap}.rpg-capacity-bar{height:8px;border-radius:4px;background:#00000080;border:1px solid var(--border-gold-faint);overflow:hidden}.rpg-capacity-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright));box-shadow:0 0 8px var(--shadow-gold-glow);transition:width .3s ease}.rpg-divider-short{height:3px;background:repeating-linear-gradient(90deg,var(--gold) 0px,var(--gold) 4px,transparent 4px,transparent 8px);opacity:.6;margin:4px 0;flex-shrink:0}.rpg-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;overflow-y:auto;max-height:400px;padding-right:4px}.rpg-slot{position:relative;aspect-ratio:1 / 1;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#00000059,#ffffff08);border:2px solid var(--border-gold-faintest);transition:transform .2s ease,box-shadow .3s ease,border-color .3s ease;font-size:22px}.rpg-slot.is-empty{opacity:.35;cursor:default}.rpg-slot:not(.is-empty):hover{transform:translateY(-3px) scale(1.06)}.rpg-slot.is-selected{transform:translateY(-3px) scale(1.06)}.rpg-slot .rpg-slot-icon{font-size:22px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6));display:flex;align-items:center;justify-content:center}.rpg-slot .rpg-slot-icon img{width:100%;height:100%;max-width:32px;max-height:32px;object-fit:contain}.rpg-slot-fav{position:absolute;top:-4px;right:-4px;font-size:10px;filter:drop-shadow(0 0 3px var(--shadow-gold-glow))}.rpg-slot[data-rarity=common]{border-color:var(--rarity-common);background-color:#9aa0a614}.rpg-slot[data-rarity=common]:hover,.rpg-slot[data-rarity=common].is-selected{box-shadow:0 0 10px var(--rarity-common-glow),inset 0 0 8px var(--rarity-common-glow)}.rpg-slot[data-rarity=uncommon]{border-color:var(--rarity-uncommon);background-color:#3fbf5f14}.rpg-slot[data-rarity=uncommon]:hover,.rpg-slot[data-rarity=uncommon].is-selected{box-shadow:0 0 10px var(--rarity-uncommon-glow),inset 0 0 8px var(--rarity-uncommon-glow)}.rpg-slot[data-rarity=rare]{border-color:var(--rarity-rare);background-color:#3f8ef014}.rpg-slot[data-rarity=rare]:hover,.rpg-slot[data-rarity=rare].is-selected{box-shadow:0 0 10px var(--rarity-rare-glow),inset 0 0 8px var(--rarity-rare-glow)}.rpg-slot[data-rarity=epic]{border-color:var(--rarity-epic);background-color:#b45cf01a}.rpg-slot[data-rarity=epic]:hover,.rpg-slot[data-rarity=epic].is-selected{box-shadow:0 0 12px var(--rarity-epic-glow),inset 0 0 8px var(--rarity-epic-glow)}.rpg-slot[data-rarity=legendary]{border-color:var(--rarity-legendary);background-color:#f0973f1f}.rpg-slot[data-rarity=legendary]:hover,.rpg-slot[data-rarity=legendary].is-selected{box-shadow:0 0 16px var(--rarity-legendary-glow),inset 0 0 10px var(--rarity-legendary-glow)}.rpg-details{flex-shrink:0;gap:8px}@media(min-width:768px){.rpg-details{width:340px}}.rpg-details-content{display:flex;flex-direction:column;gap:10px}.rpg-icon-frame{width:80px;height:80px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto;background:radial-gradient(circle at 50% 30%,#ffffff14,#0006)}.rpg-icon-frame img{width:100%;height:100%;max-width:60px;max-height:60px;object-fit:contain}.rpg-details-name{text-align:center}.rpg-details-name h3{font-family:"Press Start 2P",monospace;color:var(--gold-bright);font-size:11px;margin:0 0 4px}.rpg-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.5px;border:1px solid var(--gold-bright);color:var(--gold-bright)}.rpg-details-desc{font-size:14px;text-align:center;font-style:italic;color:var(--parchment-dim);margin:0;line-height:1.4}.rpg-stars{color:var(--gold);text-shadow:0 0 6px var(--shadow-gold-glow);letter-spacing:2px}.rpg-star-half{display:inline-block;width:.6em;overflow:hidden;vertical-align:bottom;color:var(--gold);text-shadow:0 0 6px var(--shadow-gold-glow)}.rpg-stat-row{display:flex;justify-content:space-between;padding:5px 0;font-size:14px;border-bottom:1px dashed var(--border-gold-fainter)}.rpg-empty-state{color:var(--parchment-dim);text-align:center;padding:30px 0}.rpg-empty-state p{margin:0;font-size:14px}.rpg-grid::-webkit-scrollbar{width:6px}.rpg-grid::-webkit-scrollbar-track{background:#00000059;border-radius:6px}.rpg-grid::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:6px;border:2px solid transparent;background-clip:content-box}@media(max-width:767px){.rpg-section{padding:5rem 8px 8px}.rpg-layout{gap:10px;flex-direction:row;flex-wrap:wrap}.rpg-sidebar{width:auto;min-width:120px;flex:1 1 30%}.rpg-center{flex:1 1 100%;min-width:0}.rpg-details{width:auto;min-width:120px;flex:1 1 30%}.rpg-grid{max-height:260px;grid-template-columns:repeat(3,1fr);gap:6px}.rpg-slot .rpg-slot-icon{font-size:18px}.rpg-slot .rpg-slot-icon img{max-width:26px;max-height:26px}}.experience-section{min-height:100vh;width:100%;overflow:hidden;padding:6rem 2rem;position:relative;font-family:VT323,monospace}.experience-container{max-width:1200px;width:100%;margin:0 auto}.experience-header{text-align:center;margin-bottom:4rem}.experience-title{font-size:2.75rem;font-weight:700;color:var(--text-gold);margin:0 0 1rem;letter-spacing:2px;text-shadow:0 0 8px var(--shadow-gold-glow),2px 2px 0 rgba(0,0,0,.6);font-family:VT323,monospace}.experience-subtitle{font-size:1.125rem;color:var(--text-parchment-dim);max-width:600px;margin:0 auto;line-height:1.7}.experience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.experience-card{position:relative;background:var(--bg-panel);border:3px solid var(--border-gold-dim);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;box-shadow:0 0 0 1px #0009,inset 0 0 20px #0000008c,0 8px 24px #000000a6;transition:all .4s cubic-bezier(.4,0,.2,1)}.experience-card:before{content:"";position:absolute;inset:6px;border:1px solid var(--border-gold-faint);border-radius:6px;pointer-events:none}.experience-card:hover{transform:translateY(-8px);border-color:var(--border-gold);box-shadow:0 0 14px var(--shadow-gold),0 20px 25px #0000001a}.card-image-wrapper{position:relative;width:100%;height:200px;overflow:hidden;background:#241509cc}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.experience-card:hover .card-image{transform:scale(1.1)}.card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.1) 100%);opacity:0;transition:opacity .4s ease}.experience-card:hover .card-overlay{opacity:1}.card-content{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:.75rem}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-gold);margin:0;line-height:1.4;transition:color .3s ease;text-shadow:0 0 6px var(--shadow-gold-glow)}.experience-card:hover .card-title{color:var(--text-gold);text-shadow:0 0 10px var(--shadow-gold-glow)}.card-subtitle{font-size:.9375rem;color:var(--text-parchment-dim);margin:0;line-height:1.5;text-align:justify}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tag{display:inline-block;padding:.375rem .75rem;background:#5a3a1e8c;color:var(--text-parchment-dim);font-size:.75rem;font-weight:500;border-radius:6px;border:1px solid var(--border-gold-faint);transition:all .3s ease;letter-spacing:.02em}.experience-card:hover .tag{background:#7a54188c;border-color:var(--border-gold);color:var(--text-gold)}.card-arrow{position:absolute;top:1rem;right:1rem;width:36px;height:36px;background:#4a2f18eb;border:1px solid var(--border-gold);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-parchment-dim);opacity:0;transform:translate(5px,-5px);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px #0000001a}.experience-card:hover .card-arrow{opacity:1;transform:translate(0);color:var(--text-gold)}@media(max-width:968px){.experience-section{padding:5rem 1.5rem}.experience-title{font-size:2.25rem}.experience-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}}@media(max-width:640px){.experience-section{padding:4rem 1rem}.experience-header{margin-bottom:3rem}.experience-title{font-size:2rem}.experience-subtitle{font-size:1rem}.experience-grid{grid-template-columns:1fr;gap:1.25rem}.card-image-wrapper{height:180px}.card-content{padding:1.25rem}.card-title{font-size:1.125rem}}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.shimmer{position:absolute;inset:0;background:linear-gradient(to right,var(--bg-wood-mid) 0%,var(--bg-wood-light) 20%,var(--bg-wood-mid) 40%,var(--bg-wood-mid) 100%);background-size:800px 100%;animation:shimmer 1.5s linear infinite;z-index:1}.card-image-wrapper img{position:relative;z-index:2}.no-link-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:20000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:modalFadeIn .3s ease both}.no-link-modal-content{background:radial-gradient(ellipse at top,rgba(0,0,0,.15),transparent 60%),repeating-linear-gradient(90deg,var(--bg-wood-mid) 0px,var(--bg-wood-mid) 18px,var(--bg-wood-light) 18px,var(--bg-wood-light) 20px),linear-gradient(180deg,var(--bg-wood-dark),var(--bg-wood-mid));border:3px solid var(--border-gold);border-radius:10px;box-shadow:0 0 30px var(--shadow-overlay),0 15px 40px #0009;width:100%;max-width:450px;overflow:hidden;padding:1.75rem;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;animation:modalSlideUp .35s cubic-bezier(.4,0,.2,1) both}.no-link-modal-content:before{content:"";position:absolute;inset:6px;border:1px solid var(--border-gold-faint);border-radius:6px;pointer-events:none}.no-link-modal-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.no-link-modal-dot{width:8px;height:8px;background-color:#f55;border-radius:50%;box-shadow:0 0 8px #f55;animation:pulseDot 1.5s infinite}.no-link-modal-header h3{font-family:VT323,monospace;font-size:1.8rem;color:#f55;text-shadow:0 0 8px rgba(255,85,85,.4);margin:0}.no-link-modal-body{font-family:VT323,monospace;color:var(--text-parchment-dim);font-size:1.2rem;line-height:1.5}.no-link-modal-body p{margin:0 0 .75rem}.no-link-modal-body p:last-child{margin-bottom:0}.no-link-modal-body strong{color:var(--text-gold)}.no-link-modal-hint{font-size:1rem;color:var(--text-muted);font-style:italic}.no-link-modal-btn{font-family:VT323,monospace;font-size:1.2rem;color:var(--text-dark);background:var(--bg-modal-btn);border:2px solid var(--border-gold-bright);padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;box-shadow:0 4px 0 var(--modal-btn-shadow);transition:all .15s ease;font-weight:700}.no-link-modal-btn:hover{background:var(--bg-modal-btn-hover);transform:translateY(1px);box-shadow:0 3px 0 var(--modal-btn-shadow)}.no-link-modal-btn:active{transform:translateY(4px);box-shadow:none}.github-section{width:100%;overflow:hidden;padding:5rem 2rem;position:relative;font-family:VT323,monospace}.github-container{max-width:1100px;width:100%;margin:0 auto}.github-header{text-align:center;margin-bottom:3rem}.github-title{font-size:2.75rem;font-weight:700;color:var(--text-gold);margin:0 0 1rem;letter-spacing:2px;text-shadow:0 0 8px var(--shadow-gold-glow),2px 2px 0 rgba(0,0,0,.6);font-family:VT323,monospace}.github-subtitle{font-size:1.125rem;color:var(--text-parchment-dim);max-width:600px;margin:0 auto;line-height:1.7}.github-year-selector{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.github-year-label{font-family:VT323,monospace;font-size:1.1rem;color:var(--text-parchment-dim)}.github-year-dropdown{font-family:VT323,monospace;font-size:1.1rem;color:var(--text-github-dropdown);background:var(--bg-github-dropdown);border:2px solid var(--border-gold);border-radius:6px;padding:.3rem 1.5rem .3rem .75rem;cursor:pointer;outline:none;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='%238a6a24'%3E%3Cpath d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:10px 6px;min-width:90px;text-align:center}.github-year-dropdown:hover{border-color:var(--border-gold-bright)}.github-year-dropdown:focus{box-shadow:0 0 8px var(--shadow-gold)}.github-year-dropdown option{background:var(--bg-wood-dark);color:var(--text-github-dropdown)}.github-empty-year{display:flex;justify-content:center;padding:3rem 0}.github-empty-year p{color:var(--text-muted);font-size:1.1rem;font-style:italic}.github-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;color:var(--text-parchment-dim);font-size:1.2rem}.github-error-dot{width:10px;height:10px;background-color:#f55;border-radius:50%;box-shadow:0 0 8px #f55;animation:pulseDot 1.5s infinite}@keyframes pulseDot{0%{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:1}to{transform:scale(.9);opacity:.7}}.github-loading{display:flex;justify-content:center;padding:4rem 0}.github-loading-pulse{width:60px;height:60px;border:3px solid var(--border-gold-faint);border-top-color:var(--border-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.github-graph-wrapper--big{background:var(--bg-github-panel);border:2px solid var(--border-github-panel);border-radius:10px;overflow:hidden;margin-bottom:2rem;box-shadow:0 0 0 1px #0009,inset 0 0 15px #0006;position:relative}.github-graph-wrapper--big:before{content:"";position:absolute;inset:4px;border:1px solid var(--border-github-graph);border-radius:6px;pointer-events:none;z-index:1}.github-graph-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-github-graph);color:var(--text-gold);font-size:1rem;letter-spacing:1px}.github-graph-body{padding:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.github-weeks-row{display:flex;gap:4px}.github-week{display:flex;flex-direction:column;gap:4px}.github-cell{width:18px;height:18px;border-radius:3px;cursor:pointer;transition:all .15s ease;position:relative}.github-cell:hover{outline:2px solid rgba(255,255,255,.6);outline-offset:-1px;transform:scale(1.5);z-index:2}.github-cell--empty{background:transparent;cursor:default;pointer-events:none}.github-legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:1rem;padding-right:.25rem}.github-legend-label{font-size:.7rem;color:var(--text-muted);margin:0 4px}.github-legend-swatch{width:14px;height:14px;border-radius:2px;border:1px solid rgba(255,255,255,.06)}.github-tooltip{position:fixed;z-index:99999;transform:translate(-50%,-100%);background:var(--bg-github-tooltip);border:1px solid #444;border-radius:6px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.15rem;pointer-events:none;box-shadow:0 4px 12px #00000080;white-space:nowrap}.github-tooltip-count{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:600;color:#fff}.github-tooltip-date{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:.7rem;color:#aaa}.github-contribution-graph{width:100%;min-width:600px;height:auto;display:block;image-rendering:pixelated}.github-profile-link{text-align:center}.github-profile-btn{display:inline-flex;align-items:center;gap:.6rem;font-family:VT323,monospace;font-size:1.15rem;color:var(--text-gold);background:var(--bg-panel);border:2px solid var(--border-gold);padding:.6rem 1.5rem;border-radius:8px;text-decoration:none;transition:all .25s ease;box-shadow:0 4px 0 var(--border-gold-dim);position:relative}.github-profile-btn:hover{background:var(--bg-panel-hover);border-color:var(--border-gold-bright);transform:translateY(-2px);box-shadow:0 6px 0 var(--border-gold-dim)}.github-profile-btn:active{transform:translateY(4px);box-shadow:none}@media(max-width:968px){.github-section{padding:4rem 1.5rem}.github-title{font-size:2.25rem}.github-cell{width:15px;height:15px}.github-week,.github-weeks-row{gap:3px}}@media(max-width:640px){.github-section{padding:3rem 1rem}.github-title{font-size:2rem}.github-subtitle{font-size:1rem}.github-header{margin-bottom:2rem}.github-graph-body{padding:.75rem}.github-cell{width:12px;height:12px;border-radius:2px}.github-week,.github-weeks-row{gap:3px}.github-legend-swatch{width:11px;height:11px}}#root{min-height:100vh;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.footer{position:relative;width:100%;overflow:hidden;background:linear-gradient(var(--footer-overlay),var(--footer-overlay)),linear-gradient(180deg,var(--bg-wood-dark),var(--bg-wood-mid));color:var(--text-parchment);padding:80px 20px 30px;margin-top:auto;border-top:3px solid var(--footer-border);box-shadow:0 -8px 24px #000000a6;font-family:VT323,monospace}.footer-content{max-width:1200px;margin:0 auto 60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:60px}.footer-section h3{color:var(--text-gold);font-family:VT323,monospace;font-size:1.5rem;margin-bottom:20px;font-weight:700;text-shadow:0 0 8px var(--shadow-gold-glow);letter-spacing:1px}.footer-section h4{color:var(--text-gold);font-size:1.1rem;margin-bottom:24px;font-weight:600;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 6px var(--shadow-gold-glow)}.footer-tagline{color:var(--text-parchment-dim);font-style:italic;margin-bottom:20px;font-size:1rem}.footer-description{color:var(--text-parchment-dim);line-height:1.7;font-size:.95rem;text-align:justify}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:14px}.footer-links a{color:var(--text-parchment-dim);text-decoration:none;transition:all .2s ease;font-size:.95rem;display:inline-block}.footer-links a:hover{color:var(--text-gold);transform:translate(5px);text-shadow:0 0 6px var(--shadow-gold-glow)}.footer-contact{list-style:none;padding:0;margin:0}.footer-contact li{display:flex;align-items:center;margin-bottom:18px;color:var(--text-parchment-dim);font-size:.95rem}.footer-icon{color:var(--border-gold);margin-right:15px;font-size:1.1rem;flex-shrink:0}.footer-contact a{color:var(--text-parchment-dim);text-decoration:none;transition:color .2s ease}.footer-contact a:hover{color:var(--text-gold)}.footer-contact span{color:var(--text-parchment-dim)}.footer-socials{display:flex;gap:16px;margin-bottom:20px}.footer-socials a{width:48px;height:48px;background:var(--bg-panel-dim);border:2px solid var(--border-gold-faint);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-parchment-dim);font-size:1.2rem;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none}.footer-socials a:hover{background:var(--bg-panel-hover);border-color:var(--border-gold);color:var(--text-gold);transform:translateY(-4px);box-shadow:0 0 10px var(--shadow-gold)}.footer-bottom{border-top:2px solid var(--footer-border-top);padding-top:30px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px}.footer-bottom p{color:var(--text-parchment-dim);font-size:.875rem;margin:0;opacity:.6}@media(max-width:768px){.footer{padding:60px 20px 30px}.footer-content{grid-template-columns:1fr;gap:40px}.footer-socials{justify-content:flex-start}}.viking-toggle{--vt-wood-dark: #1a1208;--vt-wood-medium: #2d2116;--vt-wood-light: #3d2e1f;--vt-metal-dark: #2a1f15;--vt-metal-medium: #4a3a2a;--vt-metal-light: #7a6a55;--vt-bronze: #8b7355;--vt-gold: #c9a227;--vt-gold-bright: #f0d060;--vt-fire: #ff6a00;--vt-fire-glow: rgba(255, 120, 40, .6);--vt-ember: #ff4500;position:relative;display:block;width:180px;height:78px;cursor:pointer;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5))}.viking-toggle__checkbox{position:absolute;opacity:0;width:0;height:0}.viking-toggle__track{position:relative;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E"),linear-gradient(180deg,var(--vt-wood-dark) 0%,var(--vt-wood-medium) 15%,var(--vt-wood-light) 50%,var(--vt-wood-medium) 85%,var(--vt-wood-dark) 100%);border-radius:44px;overflow:hidden;box-shadow:inset 0 6px 20px #000000e6,inset 0 -3px 15px #8b735514,inset 2px 0 10px #0006,inset -2px 0 10px #0006,0 12px 40px #000000b3,0 4px 15px #000000e6;transition:all .6s cubic-bezier(.34,1.56,.64,1)}.viking-toggle__track:before{content:"";position:absolute;inset:0;border-radius:44px;padding:4px;background:linear-gradient(170deg,rgba(180,160,120,.6) 0%,var(--vt-bronze) 15%,var(--vt-metal-medium) 30%,var(--vt-metal-dark) 50%,var(--vt-metal-medium) 70%,var(--vt-bronze) 85%,rgba(180,160,120,.6) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.viking-toggle__track:after{content:"";position:absolute;inset:10px;border-radius:34px;background:repeating-linear-gradient(90deg,transparent 0px,transparent 8px,rgba(0,0,0,.15) 8px,rgba(0,0,0,.15) 9px),repeating-linear-gradient(0deg,transparent 0px,transparent 20px,rgba(0,0,0,.05) 20px,rgba(0,0,0,.05) 21px);pointer-events:none;opacity:.6}.viking-toggle__inner{position:absolute;inset:8px;border-radius:36px;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 25%,transparent 75%,rgba(139,115,85,.08) 100%);overflow:hidden}.viking-toggle__inner:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(139,115,85,.3) 20%,rgba(139,115,85,.5) 50%,rgba(139,115,85,.3) 80%,transparent 100%)}.viking-toggle__runes{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:8px;font-size:16px;letter-spacing:6px;color:#8b5a2b1f;text-shadow:0 1px 2px rgba(0,0,0,.5);pointer-events:none;transition:all .6s ease}.viking-toggle__checkbox:checked~.viking-toggle__track .viking-toggle__runes{color:#ff963280;text-shadow:0 0 20px var(--vt-fire-glow),0 0 40px rgba(255,100,30,.3);animation:viking-rune-pulse 2s ease-in-out infinite}@keyframes viking-rune-pulse{0%,to{opacity:1}50%{opacity:.7}}.viking-toggle__glow{position:absolute;inset:0;border-radius:36px;background:radial-gradient(ellipse at 85% 50%,rgba(255,100,30,.4) 0%,rgba(255,80,20,.2) 30%,transparent 60%),radial-gradient(ellipse at 75% 30%,rgba(255,150,50,.2) 0%,transparent 40%);opacity:0;transition:opacity .6s ease;pointer-events:none}.viking-toggle__checkbox:checked~.viking-toggle__track .viking-toggle__glow{opacity:1;animation:viking-fire-flicker 3s ease-in-out infinite}@keyframes viking-fire-flicker{0%,to{opacity:1}25%{opacity:.85}50%{opacity:1}75%{opacity:.9}}.viking-toggle__knob{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#a89a80,#7a6a5a,#5a4a3a 50%,#3a2a1a 80%,#2a1a0a);box-shadow:0 6px 25px #000000b3,0 3px 10px #00000080,inset 0 3px 6px #ffffff1f,inset 0 -4px 8px #0006,inset 3px 0 6px #ffffff0d,inset -3px 0 6px #0003;transition:all .6s cubic-bezier(.34,1.56,.64,1);z-index:10}.viking-toggle__knob:before{content:"";position:absolute;inset:4px;border-radius:50%;background:transparent;border:3px solid transparent;background-image:linear-gradient(var(--vt-wood-medium),var(--vt-wood-medium)),linear-gradient(135deg,rgba(180,160,120,.8) 0%,var(--vt-bronze) 25%,var(--vt-metal-dark) 50%,var(--vt-bronze) 75%,rgba(180,160,120,.8) 100%);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:inset 0 0 12px #0009,0 0 8px #8b735533;transition:all .6s ease}.viking-toggle__knob:after{content:"ᛟ";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:22px;color:var(--vt-bronze);text-shadow:0 1px 2px rgba(0,0,0,.8),inset 0 1px 1px rgba(255,255,255,.1);transition:all .6s ease}.viking-toggle__shield{position:absolute;inset:6px;border-radius:50%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(0,0,0,.08) 30deg,transparent 60deg,rgba(0,0,0,.08) 90deg,transparent 120deg,rgba(0,0,0,.08) 150deg,transparent 180deg,rgba(0,0,0,.08) 210deg,transparent 240deg,rgba(0,0,0,.08) 270deg,transparent 300deg,rgba(0,0,0,.08) 330deg,transparent 360deg);pointer-events:none}.viking-toggle__shield:before{content:"";position:absolute;inset:12px;border-radius:50%;border:1px solid rgba(139,115,85,.2)}.viking-toggle__checkbox:checked~.viking-toggle__track .viking-toggle__knob{left:calc(100% - 68px);background:radial-gradient(circle at 35% 35%,var(--vt-gold-bright) 0%,var(--vt-gold) 25%,#a07820 50%,#705010 80%,#503800 100%);box-shadow:0 6px 35px var(--vt-fire-glow),0 3px 15px #ff641e80,0 0 60px #ff78284d,inset 0 3px 6px #ffffff40,inset 0 -4px 8px #0000004d,inset 3px 0 6px #ffffff1a,inset -3px 0 6px #00000026}.viking-toggle__checkbox:checked~.viking-toggle__track .viking-toggle__knob:before{background-image:linear-gradient(#604010,#604010),linear-gradient(135deg,var(--vt-gold-bright) 0%,var(--vt-gold) 25%,#a07820 50%,var(--vt-gold) 75%,var(--vt-gold-bright) 100%);box-shadow:inset 0 0 12px #0006,0 0 20px var(--vt-fire-glow)}.viking-toggle__checkbox:checked~.viking-toggle__track .viking-toggle__knob:after{color:var(--vt-gold-bright);text-shadow:0 0 15px var(--vt-fire-glow),0 0 30px rgba(255,150,50,.5),0 1px 2px rgba(0,0,0,.5);animation:viking-rune-glow 2s ease-in-out infinite}@keyframes viking-rune-glow{0%,to{text-shadow:0 0 15px var(--vt-fire-glow),0 0 30px rgba(255,150,50,.5),0 1px 2px rgba(0,0,0,.5)}50%{text-shadow:0 0 25px var(--vt-fire-glow),0 0 50px rgba(255,150,50,.7),0 1px 2px rgba(0,0,0,.5)}}.viking-toggle__icon{position:absolute;top:50%;transform:translateY(-50%);width:20px;height:20px;z-index:5;pointer-events:none;transition:all .6s ease}.viking-toggle__icon--left{left:20px;fill:#8b735580;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.viking-toggle__icon--right{right:20px;fill:#8b735559;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.viking-toggle__checkbox:checked~.viking-toggle__track .viking-toggle__icon--left{fill:#8b735559;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.viking-toggle__checkbox:checked~.viking-toggle__track .viking-toggle__icon--right{fill:var(--vt-gold);filter:drop-shadow(0 0 8px var(--vt-fire-glow)) drop-shadow(0 0 15px rgba(255,100,30,.4));animation:viking-icon-pulse 2s ease-in-out infinite}@keyframes viking-icon-pulse{0%,to{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.1)}}.viking-toggle__chain{position:absolute;width:8px;height:50px;background:linear-gradient(90deg,#2a2018 0%,#5a4a3a 15%,var(--vt-bronze) 40%,var(--vt-bronze) 60%,#5a4a3a 85%,#2a2018 100%);border-radius:4px;box-shadow:inset 0 0 4px #0009,0 3px 8px #00000080;top:50%;transform:translateY(-50%)}.viking-toggle__chain--left{left:-4px}.viking-toggle__chain--right{right:-4px}.viking-toggle__chain:before,.viking-toggle__chain:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:14px;height:14px;border:3px solid;border-color:var(--vt-bronze);border-radius:50%;background:var(--vt-wood-dark);box-shadow:inset 0 0 4px #0009,0 2px 4px #0006}.viking-toggle__chain:before{top:-10px}.viking-toggle__chain:after{bottom:-10px}.viking-toggle__embers{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:44px;opacity:0;transition:opacity .6s ease}.viking-toggle__checkbox:checked~.viking-toggle__track .viking-toggle__embers{opacity:1}.viking-toggle__ember{position:absolute;width:5px;height:5px;background:radial-gradient(circle,var(--vt-gold-bright) 0%,var(--vt-fire) 40%,transparent 70%);border-radius:50%;animation:viking-ember-float 2.5s ease-out infinite}.viking-toggle__ember:nth-child(1){right:22%;bottom:35%;animation-delay:0s;width:4px;height:4px}.viking-toggle__ember:nth-child(2){right:28%;bottom:45%;animation-delay:.4s;width:6px;height:6px}.viking-toggle__ember:nth-child(3){right:18%;bottom:50%;animation-delay:.8s;width:3px;height:3px}.viking-toggle__ember:nth-child(4){right:32%;bottom:40%;animation-delay:1.2s;width:5px;height:5px}@keyframes viking-ember-float{0%{opacity:0;transform:translateY(0) scale(1) rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(-40px) scale(0) rotate(180deg)}}.viking-toggle:hover .viking-toggle__track{box-shadow:inset 0 6px 20px #000000e6,inset 0 -3px 15px #8b73551f,inset 2px 0 10px #0006,inset -2px 0 10px #0006,0 15px 50px #000c,0 5px 20px #000000f2;transform:translateY(-2px)}.viking-toggle:hover .viking-toggle__knob{box-shadow:0 8px 30px #000c,0 4px 12px #0009,inset 0 3px 6px #ffffff26,inset 0 -4px 8px #0006,inset 3px 0 6px #ffffff14,inset -3px 0 6px #00000040}.viking-toggle__checkbox:checked~.viking-toggle__track:hover .viking-toggle__knob{box-shadow:0 8px 45px var(--vt-fire-glow),0 4px 20px #ff641e99,0 0 80px #ff782866,inset 0 3px 6px #ffffff4d,inset 0 -4px 8px #00000040,inset 3px 0 6px #ffffff26,inset -3px 0 6px #0000001a}.nav-toggle-desktop .viking-toggle,.nav-toggle-mobile .viking-toggle{transform:scale(.55);transform-origin:center;width:100px;height:44px}.viking-toggle:active .viking-toggle__knob{transform:translateY(-50%) scale(.95)}.viking-toggle__checkbox:focus-visible~.viking-toggle__track{outline:3px solid var(--vt-gold);outline-offset:6px}
