:root{--color-gold:gold;--color-gold-light:#ffe84a;--color-red:#e94560;--color-red-dark:#d63851;--color-blue:#53a8f5;--color-dark-bg:#1a1a2e;--color-dark-bg2:#16213e;--color-deepest:#0a0a14;--color-text:#eee;--color-text-dim:#ccc;--color-text-muted:#aaa;--font-main:"Press Start 2P", "Courier New", monospace;--gradient-card:linear-gradient(180deg, var(--color-dark-bg) 0%, var(--color-dark-bg2) 100%);--z-base:0;--z-ui:10;--z-prompt:15;--z-hud:20;--z-hud-float:25;--z-dialog:30;--z-overlay:50;--z-modal:60;--z-mobile-overlay:100;--z-mobile-hud:105;--z-top-modal:200}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}input,textarea{-webkit-user-select:text;user-select:text}html,html *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 12 12' shape-rendering='crispEdges'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23fff'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='4' width='1' height='1' fill='%23fff'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='4' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='5' width='1' height='1' fill='%23fff'/%3E%3Crect x='2' y='5' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='3' y='5' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='4' y='5' width='1' height='1' fill='%23c8a800'/%3E%3Crect x='5' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='6' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='2' y='6' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='3' y='6' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='4' y='6' width='1' height='1' fill='%23c8a800'/%3E%3Crect x='5' y='6' width='1' height='1' fill='%23c8a800'/%3E%3Crect x='6' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='7' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='7' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='2' y='7' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='3' y='7' width='1' height='1' fill='%23c8a800'/%3E%3Crect x='4' y='7' width='1' height='1' fill='%23c8a800'/%3E%3Crect x='5' y='7' width='1' height='1' fill='%23c8a800'/%3E%3Crect x='6' y='7' width='1' height='1' fill='%23c8a800'/%3E%3Crect x='7' y='7' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='8' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='2' y='8' width='1' height='1' fill='%23ffd700'/%3E%3Crect x='3' y='8' width='1' height='1' fill='%23c8a800'/%3E%3Crect x='4' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='6' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='7' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='9' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='9' width='1' height='1' fill='%23c8a800'/%3E%3Crect x='2' y='9' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='9' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='10' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='10' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") 0 0,auto}a,button,[role=button],.tag,.proj-card,.contact-card,.capture-close-btn,input,select,textarea,label,.journal-toggle,.overlay-close,.collection-entry,#coin-counter,#creature-counter,.how-to-play-card,a *,button *,[role=button] *,.tag *,.proj-card *,.contact-card *,.capture-close-btn *,.journal-toggle *,.overlay-close *,.collection-entry *,#coin-counter *,#creature-counter *,.how-to-play-card *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 12 12' shape-rendering='crispEdges'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23fff'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='4' width='1' height='1' fill='%23fff'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='4' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='5' width='1' height='1' fill='%23fff'/%3E%3Crect x='2' y='5' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='3' y='5' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='4' y='5' width='1' height='1' fill='%234ab8d8'/%3E%3Crect x='5' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='6' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='2' y='6' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='3' y='6' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='4' y='6' width='1' height='1' fill='%234ab8d8'/%3E%3Crect x='5' y='6' width='1' height='1' fill='%234ab8d8'/%3E%3Crect x='6' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='7' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='7' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='2' y='7' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='3' y='7' width='1' height='1' fill='%234ab8d8'/%3E%3Crect x='4' y='7' width='1' height='1' fill='%234ab8d8'/%3E%3Crect x='5' y='7' width='1' height='1' fill='%234ab8d8'/%3E%3Crect x='6' y='7' width='1' height='1' fill='%234ab8d8'/%3E%3Crect x='7' y='7' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='8' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='2' y='8' width='1' height='1' fill='%2361dafb'/%3E%3Crect x='3' y='8' width='1' height='1' fill='%234ab8d8'/%3E%3Crect x='4' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='6' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='7' y='8' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='9' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='9' width='1' height='1' fill='%234ab8d8'/%3E%3Crect x='2' y='9' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='9' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='10' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='10' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") 0 0,pointer}html,body{width:100%;height:100%;font-family:var(--font-main);background:#0a0a14;overflow:hidden}#title-starfield{width:100%;height:100%;z-index:var(--z-base);pointer-events:none;background:radial-gradient(1px 1px at 10% 15%,#fff6,#0000),radial-gradient(1px 1px at 25% 8%,#ffd70059,#0000),radial-gradient(1.5px 1.5px at 40% 70%,#ffffff4d,#0000),radial-gradient(1px 1px at 55% 25%,#fff6,#0000),radial-gradient(1.5px 1.5px at 70% 85%,#ffd7004d,#0000),radial-gradient(1px 1px at 85% 45%,#ffffff59,#0000),radial-gradient(1px 1px at 15% 90%,#ffffff4d,#0000),radial-gradient(1.5px 1.5px at 90% 10%,#ffd70066,#0000),radial-gradient(1px 1px at 5%,#ffffff59,#0000),radial-gradient(1px 1px at 60% 55%,#ffffff4d,#0000),radial-gradient(1.5px 1.5px at 35% 35%,#ffd7004d,#0000),radial-gradient(1px 1px at 75% 60%,#fff6,#0000),radial-gradient(1px 1px at 20% 45%,#ffffff4d,#0000),radial-gradient(1px 1px at 50% 95%,#ffd70059,#0000),radial-gradient(1px 1px at 80% 30%,#ffffff4d,#0000),radial-gradient(1px 1px at 45% 5%,#fff6,#0000),radial-gradient(1.5px 1.5px at 65% 75%,#ffd7004d,#0000),radial-gradient(1px 1px at 95% 65%,#ffffff59,#0000),radial-gradient(1px 1px at 30% 80%,#ffffff4d,#0000),radial-gradient(1.5px 1.5px at 8% 72%,#ffd7004d,#0000);animation:4s ease-in-out infinite alternate starTwinkle;display:none;position:fixed;top:0;left:0}@keyframes starTwinkle{0%{opacity:.6}50%{opacity:1}to{opacity:.7}}#game-container{flex:1;min-width:0;height:100%;position:relative;overflow:hidden}body.sidebar-visible #game-container{flex:0 auto;width:138.889vh}body.sidebar-visible #dialog-box,body.sidebar-visible #interaction-prompt{left:69.4444vh}body.sidebar-visible #portfolio-overlay,body.sidebar-visible #capture-modal,body.sidebar-visible #how-to-play-modal{width:138.889vh}body{flex-direction:row;display:flex}#game-container canvas{image-rendering:-webkit-optimize-contrast;image-rendering:pixelated;image-rendering:crisp-edges}#ui-layer{pointer-events:none;width:100%;height:100%;z-index:var(--z-ui);position:fixed;top:0;left:0}#ui-layer>*{pointer-events:auto}#coin-counter{color:var(--color-gold);font-family:var(--font-main);border:3px solid var(--color-gold);image-rendering:pixelated;z-index:var(--z-hud);background:#1a1a2ee6;border-radius:4px;padding:8px 16px;font-size:14px;transition:transform .15s;display:none;position:absolute;top:16px;right:236px;box-shadow:0 4px 12px #0006}@keyframes coinPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}#coin-counter .coin-number{animation:2s ease-in-out infinite coinPulse;display:inline-block}#creature-counter{color:var(--color-gold);font-family:var(--font-main);border:3px solid var(--color-gold);image-rendering:pixelated;z-index:var(--z-hud);background:#1a1a2ee6;border-radius:4px;padding:8px 14px;font-size:12px;transition:transform .15s;display:none;position:absolute;top:52px;right:236px;box-shadow:0 4px 12px #0006}.badge-panel{color:#eee;background:linear-gradient(#1a1a2e 0%,#16213e 100%);border:3px solid gold;border-radius:12px;flex-direction:column;width:92%;max-width:480px;max-height:85vh;padding:0;font-family:"Press Start 2P",monospace;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards captureCardEnter;display:flex;overflow:hidden;box-shadow:0 0 40px #00000080,0 0 20px #ffd7004d}.badge-panel-header{text-align:center;color:#1a1a2e;letter-spacing:3px;background:linear-gradient(90deg,gold,#f0c800);flex-shrink:0;padding:12px 0;font-size:14px}.badge-panel-subtitle{color:#8a8aae;text-align:center;flex-shrink:0;padding:10px 0 4px;font-size:7px}.badge-grid{flex:1;grid-template-columns:1fr 1fr;gap:8px;min-height:0;padding:12px 16px;display:grid;overflow-y:auto}.badge-grid::-webkit-scrollbar{width:6px}.badge-grid::-webkit-scrollbar-track{background:#0003;border-radius:3px}.badge-grid::-webkit-scrollbar-thumb{background:#ffd7004d;border-radius:3px}.badge-grid::-webkit-scrollbar-thumb:hover{background:#ffd70080}.skill-badge{cursor:pointer;background:#ffd7000f;border:2px solid #ffd70040;border-radius:8px;align-items:center;gap:10px;padding:10px;transition:border-color .2s,background .2s;animation:.3s ease-out both badgeSlideIn;display:flex}.skill-badge:first-child{animation-delay:50ms}.skill-badge:nth-child(2){animation-delay:.1s}.skill-badge:nth-child(3){animation-delay:.15s}.skill-badge:nth-child(4){animation-delay:.2s}.skill-badge:nth-child(5){animation-delay:.25s}.skill-badge:nth-child(6){animation-delay:.3s}.skill-badge:nth-child(7){animation-delay:.35s}.skill-badge:nth-child(8){animation-delay:.4s}@keyframes badgeSlideIn{0%{opacity:0;transform:translateY(10px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.skill-badge:hover{background:#ffd7001f;border-color:gold}.skill-badge-icon{text-align:center;justify-content:center;align-items:center;min-width:32px;display:flex}.skill-badge-info{flex:1;min-width:0}.skill-badge-name{color:gold;margin-bottom:4px;font-size:8px}.skill-badge-desc{color:#999;font-size:6px;line-height:1.8}.skill-badge-expand-hint{color:#999;margin-left:auto;font-size:8px;transition:transform .2s}.skill-badge:hover .skill-badge-expand-hint{color:gold}.badge-detail-overlay{z-index:var(--z-top-modal);opacity:0;background:#000000d9;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.badge-detail-overlay.visible{opacity:1}.badge-detail-card{text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:2px solid #ffd70066;border-radius:12px;width:90%;max-width:340px;padding:24px;font-family:"Press Start 2P",monospace;transition:transform .25s;transform:scale(.8)}.badge-detail-overlay.visible .badge-detail-card{transform:scale(1)}.badge-detail-icon{margin-bottom:12px}.badge-detail-icon svg{width:48px;height:48px}.badge-detail-name{color:gold;margin-bottom:8px;font-size:12px}.badge-detail-tagline{color:#8a8aae;margin-bottom:14px;font-size:7px;line-height:1.6}.badge-detail-body{color:#ccc;text-align:left;background:#ffffff08;border-radius:6px;margin-bottom:16px;padding:10px;font-size:7px;line-height:2}.badge-detail-close{color:#fff;cursor:pointer;background:#ffd70026;border:1px solid #ffd7004d;border-radius:6px;padding:8px 20px;font-family:"Press Start 2P",monospace;font-size:8px;transition:background .2s}.badge-detail-close:hover{background:#ffd7004d}#capture-modal{width:100%;height:100%;z-index:var(--z-modal);pointer-events:auto;position:fixed;top:0;left:0}.capture-backdrop{background:0 0;justify-content:center;align-items:center;width:100%;height:100%;transition:background .3s;display:flex}.capture-backdrop.capture-visible{background:#000000d9}.capture-backdrop.capture-closing{background:0 0}.capture-card{border:3px solid var(--creature-color,gold);color:#eee;width:90%;max-width:420px;box-shadow:0 0 40px #00000080, 0 0 20px var(--creature-color,gold);background:linear-gradient(#1a1a2e 0%,#16213e 100%);border-radius:12px;padding:0;font-family:"Press Start 2P",monospace;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards captureCardEnter;overflow:hidden}.capture-closing .capture-card{animation:.3s ease-in forwards captureCardExit}@keyframes captureCardEnter{0%{opacity:0;transform:scale(0)rotate(-10deg)}60%{opacity:1;transform:scale(1.05)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes captureCardExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)translateY(20px)}}.minigame-container{border:3px solid var(--creature-color,gold);color:#eee;text-align:center;width:92%;max-width:420px;box-shadow:0 0 40px #00000080, 0 0 20px var(--creature-color,gold);background:linear-gradient(#0a0a1a 0%,#12162a 40%,#1a2040 100%);border-radius:12px;font-family:"Press Start 2P",monospace;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards captureCardEnter;overflow:hidden}.battle-field{background:linear-gradient(#0c1020 0%,#141e38 50%,#1a2848 60%,#1e3050 100%);height:220px;position:relative;overflow:hidden}.battle-field:after{content:"";background:linear-gradient(#1a3a28 0%,#142e20 100%);border-top:2px solid #245838;height:40px;position:absolute;bottom:0;left:0;right:0}.battle-hud{background:#0a0a1ed9;border:2px solid #ffffff26;border-radius:8px;min-width:140px;padding:8px 12px}.battle-hud--enemy{border-color:var(--creature-color,gold);z-index:3;position:absolute;top:14px;left:14px;box-shadow:0 0 8px #00000080}.battle-hud-name{color:#fff;margin-bottom:4px;font-size:9px}.battle-hud-type{color:var(--creature-color,#ccc);letter-spacing:1px;font-size:6px}.battle-enemy-sprite-wrap{justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:20px}.battle-sprite-glow{opacity:.2;filter:blur(18px);border-radius:50%;width:100px;height:100px;animation:1s ease-in-out infinite alternate minigameGlow;position:absolute}@keyframes minigameGlow{0%{opacity:.15;transform:scale(.8)}to{opacity:.3;transform:scale(1.2)}}.battle-creature-sprite{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards battleCreatureEnter;width:96px!important;height:96px!important}@keyframes battleCreatureEnter{0%{opacity:0;transform:scale(0)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}.battle-enemy-platform{background:radial-gradient(#0000004d 0%,#0000 70%);border-radius:50%;width:90px;height:14px;position:absolute;top:115px;right:30px}.battle-player{z-index:2;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:8px;left:16px}.battle-player-platform{background:radial-gradient(#00000059 0%,#0000 70%);border-radius:50%;width:70px;height:10px;position:absolute;bottom:0}.battle-player-sprite{width:64px;height:64px;image-rendering:pixelated;z-index:1;animation:.5s ease-out forwards battlePlayerEnter;position:relative}@keyframes battlePlayerEnter{0%{opacity:0;transform:translate(-80px)}to{opacity:1;transform:translate(0)}}.battle-hud--player{min-width:150px;position:absolute;bottom:10px;left:80px;box-shadow:0 0 8px #00000080}.battle-capture-bar{margin-top:6px}.minigame-sprite{width:64px;height:64px;image-rendering:pixelated;z-index:1;transition:transform .1s;position:relative}.minigame-shake{animation:.3s ease-out miniShake}@keyframes miniShake{0%{transform:translate(0)rotate(0)}20%{transform:translate(-6px)rotate(-8deg)}40%{transform:translate(6px)rotate(8deg)}60%{transform:translate(-4px)rotate(-4deg)}80%{transform:translate(4px)rotate(4deg)}to{transform:translate(0)rotate(0)}}.minigame-bar-track{background:#ffffff14;border:2px solid #ffffff26;border-radius:7px;height:14px;position:relative;overflow:hidden}.minigame-bar-fill{background:linear-gradient(90deg, var(--creature-color,gold), #fff);height:100%;box-shadow:0 0 8px var(--creature-color,gold);border-radius:5px;transition:width .15s cubic-bezier(.34,1.56,.64,1);position:relative}.minigame-bar-fill:after{content:"";background:#ffffff4d;border-radius:2px;height:3px;position:absolute;top:2px;left:4px;right:4px}.minigame-bar-label{color:#aaa;text-align:right;margin-top:4px;font-size:7px}.battle-action-box{border-top:3px solid var(--creature-color,gold);background:linear-gradient(#0e1228 0%,#141a30 100%);padding:16px 20px}.minigame-prompt{color:#fff;margin-bottom:6px;font-size:11px;animation:.6s ease-in-out infinite alternate minigamePulse}@keyframes minigamePulse{0%{opacity:.6;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.minigame-gotcha{color:var(--creature-color,gold);font-size:16px;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards minigameGotcha}@keyframes minigameGotcha{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.minigame-hint{color:#999;font-size:8px}.capture-header{background:var(--creature-color,gold);text-align:center;padding:12px 0}.capture-banner{color:#1a1a2e;letter-spacing:4px;font-size:18px;animation:.8s ease-in-out infinite alternate captureBannerPulse}@keyframes captureBannerPulse{0%{transform:scale(1)}to{transform:scale(1.05)}}.capture-sprite-wrapper{justify-content:center;padding:20px 0 8px;display:flex;position:relative}.capture-sprite-glow{filter:blur(20px);opacity:.4;border-radius:50%;width:80px;height:80px;animation:2s ease-in-out infinite alternate spriteGlow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spriteGlow{0%{opacity:.3;transform:translate(-50%,-50%)scale(1)}to{opacity:.6;transform:translate(-50%,-50%)scale(1.2)}}.capture-sprite{width:64px;height:64px;image-rendering:crisp-edges;image-rendering:pixelated;z-index:1;animation:1s ease-in-out infinite spriteBounce;position:relative}@keyframes spriteBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.capture-name{text-align:center;color:gold;padding:4px 20px 2px;font-size:13px}.capture-type{text-align:center;color:var(--creature-color,#ccc);letter-spacing:1px;text-transform:uppercase;padding:0 20px 12px;font-size:9px}.capture-desc{text-align:center;color:#ccc;border-bottom:1px solid #ffffff1a;padding:0 24px 16px;font-size:10px;line-height:1.8}.capture-summary{color:#aaa;text-align:center;padding:0 20px 14px;font-family:"Press Start 2P",monospace;font-size:9px;line-height:1.8}.capture-skills{border-top:1px solid #ffffff14;padding:12px 20px}.capture-skill-row{justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 0;display:flex}.capture-skill-row:last-child{margin-bottom:0}.capture-skill-name{color:#ccc;flex-shrink:0;margin-right:8px;font-family:"Press Start 2P",monospace;font-size:8px}.capture-skill-stars{flex-shrink:0;gap:2px;display:flex}.capture-star{font-size:13px;line-height:1}.capture-star--filled{color:var(--star-color,gold)}.capture-star--empty{color:#333}.capture-progress{text-align:center;color:gold;border-top:1px solid #ffffff1a;padding:8px 0;font-size:8px}.capture-close-btn{background:var(--creature-color,gold);color:#1a1a2e;cursor:pointer;letter-spacing:2px;border:none;flex-shrink:0;width:100%;padding:14px;font-family:"Press Start 2P",monospace;font-size:10px;transition:filter .2s;display:block}.capture-close-btn:hover{filter:brightness(1.2);transform:scale(1.02)}.capture-close-btn:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.collection-panel{background:linear-gradient(#1a1a2e 0%,#16213e 100%);border:3px solid gold;border-radius:12px;flex-direction:column;width:92%;max-width:480px;max-height:80vh;font-family:"Press Start 2P",monospace;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards captureCardEnter;display:flex;overflow:hidden;box-shadow:0 0 30px #ffd70033}.collection-header{background:linear-gradient(90deg,gold,#f0c800);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.collection-title{color:#1a1a2e;letter-spacing:2px;font-size:11px}.collection-count{color:#1a1a2e;font-size:10px}.collection-list{flex:1;padding:12px;overflow-y:auto}.collection-entry{background:#ffffff08;border:2px solid #ffffff14;border-radius:8px;gap:12px;margin-bottom:8px;padding:12px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.collection-entry.collected:hover{background:#ffd70014;border-color:#ffd70066;box-shadow:0 2px 12px #ffd7001a}.collection-entry.collected{background:#ffd7000d;border-color:#ffd70033}.collection-entry.locked{opacity:.5}.collection-sprite-box{border:2px solid var(--creature-color,#555);background:#0000004d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.collection-sprite{width:32px;height:32px;image-rendering:crisp-edges;image-rendering:pixelated}.collection-unknown{color:#999;font-size:18px}.collection-info{flex:1;min-width:0}.collection-name{margin-bottom:4px;font-size:9px}.collection-type{color:#aaa;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:6px}.collection-desc{color:#aaa;font-size:6px;line-height:1.6}#dialog-box{background:var(--gradient-card);border:3px solid var(--color-red);width:min(90%,600px);font-family:var(--font-main);color:var(--color-text);z-index:var(--z-dialog);border-radius:8px;padding:20px 24px;font-size:11px;line-height:1.8;animation:.2s ease-out dialogSlideUp;display:none;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #e9456033}@keyframes dialogSlideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}#dialog-box .dialog-name{color:gold;margin-bottom:8px;font-size:10px}#dialog-box .dialog-text{min-height:40px}#dialog-box .dialog-continue{text-align:right;color:#e94560;margin-top:8px;font-size:8px;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}#interaction-prompt{color:gold;outline-offset:3px;z-index:var(--z-prompt);white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1a1a2eeb;border:2px solid #e94560;border-radius:6px;outline:2px solid #e945604d;padding:10px 18px;font-family:"Press Start 2P",monospace;font-size:10px;animation:2s ease-in-out infinite promptPulse;display:none;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}@keyframes promptPulse{0%,to{border-color:#e94560}50%{border-color:gold}}#portfolio-overlay{width:100%;height:100%;z-index:var(--z-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:pan-y;-webkit-overflow-scrolling:touch;background:#0a0a14f2;padding:0;display:none;position:fixed;top:0;left:0;overflow-y:auto}#portfolio-overlay .overlay-content{color:#eee;scroll-behavior:smooth;background:linear-gradient(#1a1a2e 0%,#16213e 100%);border:3px solid #e94560;border-radius:12px;max-width:700px;margin:20px auto 40px;padding:40px 32px 32px;font-family:"Press Start 2P",monospace;font-size:10px;line-height:2;box-shadow:0 0 40px #e9456026}#portfolio-overlay .overlay-content::-webkit-scrollbar{width:6px}#portfolio-overlay .overlay-content::-webkit-scrollbar-track{background:#1a1a2e}#portfolio-overlay .overlay-content::-webkit-scrollbar-thumb{background:#e94560;border-radius:3px}#portfolio-overlay .overlay-header{z-index:5;background:#0a0a14;border-bottom:2px solid #e94560;justify-content:space-between;align-items:center;margin-bottom:0;padding:20px 32px 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #00000080}#portfolio-overlay .overlay-title{color:gold;font-size:16px}#portfolio-overlay .overlay-close{color:#e94560;cursor:pointer;background:0 0;border:2px solid #e94560;border-radius:6px;flex-shrink:0;padding:8px 14px;font-family:"Press Start 2P",monospace;font-size:10px;transition:all .2s}#portfolio-overlay .overlay-close:hover{background:var(--color-red);color:#fff;box-shadow:0 0 12px #e9456066}#portfolio-overlay .overlay-close:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}#portfolio-overlay .overlay-section{border-bottom:1px solid #e9456033;border-left:3px solid #e94560;margin-bottom:24px;padding-bottom:24px;padding-left:12px}#portfolio-overlay .overlay-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}#portfolio-overlay .overlay-section h3{color:#e94560;margin-bottom:12px;font-size:12px}#portfolio-overlay .overlay-section p{color:#ccc;margin-bottom:8px}#portfolio-overlay .overlay-section strong{color:gold}.about-hero{align-items:flex-start;gap:20px;display:flex;border-left:3px solid gold!important}.about-portrait-wrapper{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;display:flex}.about-portrait-frame{background:0 0;border:none;border-radius:8px;width:180px;height:180px;overflow:hidden}.about-portrait-frame img,.about-portrait-frame canvas{width:180px;height:180px;image-rendering:pixelated;cursor:pointer;transition:transform .15s;display:block}.about-portrait-frame canvas:hover{transform:scale(1.03)}.about-portrait-label{color:gold;margin-top:10px;font-family:"Press Start 2P",monospace;font-size:12px}.about-portrait-title{color:#e94560;margin-top:6px;font-family:"Press Start 2P",monospace;font-size:9px}.about-hero-text{flex:1;min-width:0}@media (width<=800px){.about-hero{text-align:center;flex-direction:column;align-items:center;border-left:none!important}.about-portrait-frame,.about-portrait-frame img,.about-portrait-frame canvas{width:140px;height:140px}.about-hero-text{text-align:left}}#portfolio-overlay .overlay-section .tag{color:#53a8f5;cursor:default;background:#53a8f51f;border:1px solid #53a8f540;border-radius:4px;margin:3px 4px 3px 0;padding:4px 10px;font-size:7px;transition:transform .2s,box-shadow .2s;display:inline-block;position:relative}#portfolio-overlay .overlay-section .tag:hover{transform:translateY(-2px);box-shadow:0 2px 8px #e945604d}#portfolio-overlay .overlay-section .tag[data-tooltip]:hover:after{content:attr(data-tooltip);color:#eee;white-space:normal;z-index:100;pointer-events:none;background:#1a1a2e;border:2px solid #e94560;border-radius:6px;width:200px;padding:8px 12px;font-size:7px;line-height:1.6;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080}#portfolio-overlay .overlay-section .tag[data-tooltip]:hover:before{content:"";z-index:100;pointer-events:none;border:5px solid #0000;border-top-color:#e94560;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.exp-timeline{margin-bottom:24px;padding-left:24px;position:relative}.exp-timeline:before{content:"";background:linear-gradient(#e94560 0%,gold 50%,#53a8f5 100%);border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:8px}.exp-timeline-node{opacity:0;margin-bottom:28px;animation:.5s forwards expNodeSlideIn;position:relative;transform:translate(-12px)}.exp-timeline-node:first-child{animation-delay:.15s}.exp-timeline-node:nth-child(2){animation-delay:.35s}.exp-timeline-node:nth-child(3){animation-delay:.55s}@keyframes expNodeSlideIn{to{opacity:1;transform:translate(0)}}.exp-node-dot{z-index:2;background:#e94560;border:2px solid gold;border-radius:50%;width:12px;height:12px;position:absolute;top:18px;left:-20px;box-shadow:0 0 8px #e9456080}.exp-node-active .exp-node-dot{animation:2s ease-in-out infinite expDotPulse}@keyframes expDotPulse{0%,to{box-shadow:0 0 8px #e9456080}50%{box-shadow:0 0 16px #ffd700cc,0 0 24px #e9456066}}.exp-node-card{background:linear-gradient(135deg,#1a1a2ee6 0%,#16213ee6 100%);border:1px solid #e945604d;border-radius:8px;padding:16px;transition:border-color .3s,box-shadow .3s}.exp-node-card:hover{border-color:#e94560;box-shadow:0 4px 20px #e9456026}.exp-node-badge{color:#0a0a14;letter-spacing:1px;background:linear-gradient(90deg,#e94560,gold);border-radius:3px;margin-bottom:8px;padding:4px 10px;font-family:"Press Start 2P",monospace;font-size:8px;animation:2s ease-in-out infinite expBadgeGlow;display:inline-block}@keyframes expBadgeGlow{0%,to{box-shadow:0 0 4px #ffd7004d}50%{box-shadow:0 0 12px #ffd70099}}.exp-node-title{color:gold;margin-bottom:6px;font-family:"Press Start 2P",monospace;font-size:14px;line-height:1.8}.exp-node-company{color:#e94560;margin-bottom:4px;font-family:"Press Start 2P",monospace;font-size:10px}.exp-node-date{color:#aaa;margin-bottom:14px;font-family:"Press Start 2P",monospace;font-size:9px}.exp-highlights{margin-bottom:12px}.exp-highlight-item{color:#ccc;align-items:flex-start;gap:10px;margin-bottom:10px;font-family:"Press Start 2P",monospace;font-size:9px;line-height:2;display:flex}.exp-highlight-icon{color:gold;flex-shrink:0;margin-top:2px;font-size:14px}.exp-tech-row{flex-wrap:wrap;gap:5px;display:flex}.exp-tech-pill{color:#53a8f5;background:#53a8f51f;border:1px solid #53a8f540;border-radius:3px;padding:5px 10px;font-family:"Press Start 2P",monospace;font-size:8px;transition:transform .2s;display:inline-block}.exp-tech-pill:hover{transform:translateY(-1px)}.exp-metrics-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.exp-metric{text-align:center;background:#0a0a1480;border:1px solid #ffd70033;border-radius:6px;padding:10px}.exp-metric-value{color:gold;margin-bottom:6px;font-family:"Press Start 2P",monospace;font-size:18px}.exp-metric-bar{background:#ffffff1a;border-radius:2px;width:100%;height:4px;margin-bottom:6px;overflow:hidden}.exp-metric-fill{background:linear-gradient(90deg,#e94560,gold);border-radius:2px;width:0;height:100%;animation:1.2s .6s forwards expBarFill}@keyframes expBarFill{to{width:var(--fill-width)}}.exp-metric-label{color:#aaa;letter-spacing:.5px;font-family:"Press Start 2P",monospace;font-size:7px}.exp-skills-section{border-left:3px solid gold!important}.exp-skill-bars{flex-direction:column;gap:12px;display:flex}.exp-skill-row{align-items:center;gap:10px;display:flex}.exp-skill-name{color:#ccc;text-align:right;min-width:150px;font-family:"Press Start 2P",monospace;font-size:9px}.exp-skill-track{background:#ffffff14;border:1px solid #ffffff0f;border-radius:4px;flex:1;height:8px;overflow:hidden}.exp-skill-fill{background:linear-gradient(90deg,#e94560,gold);border-radius:4px;width:0;height:100%;animation:1s forwards expBarFill;position:relative}.exp-skill-row:first-child .exp-skill-fill{animation-delay:.2s}.exp-skill-row:nth-child(2) .exp-skill-fill{animation-delay:.35s}.exp-skill-row:nth-child(3) .exp-skill-fill{animation-delay:.5s}.exp-skill-row:nth-child(4) .exp-skill-fill{animation-delay:.65s}.exp-skill-row:nth-child(5) .exp-skill-fill{animation-delay:.8s}.exp-skill-row:nth-child(6) .exp-skill-fill{animation-delay:.95s}#portfolio-overlay .overlay-section .exp-list{margin:8px 0;padding:0;list-style:none}#portfolio-overlay .overlay-section .exp-list li{color:#ccc;margin-bottom:10px;padding-left:16px;position:relative}#portfolio-overlay .overlay-section .exp-list li:before{content:">";color:gold;position:absolute;left:0}#portfolio-overlay .overlay-section a{color:gold;text-decoration:none;transition:color .2s}#portfolio-overlay .overlay-section a:hover{color:#ffe84a;text-decoration:underline}#portfolio-overlay .hire-cta,#portfolio-overlay .overlay-section a.hire-cta{color:#1a1a2e;cursor:pointer;text-align:center;background:linear-gradient(gold 0%,#f0c800 100%);border:none;border-radius:6px;width:100%;margin-top:16px;padding:16px;font-family:"Press Start 2P",monospace;font-size:11px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 4px 12px #ffd70033}#portfolio-overlay .hire-cta:hover{background:linear-gradient(#ffe84a 0%,gold 100%);text-decoration:none;transform:scale(1.03);box-shadow:0 6px 24px #ffd70080}.hire-hero{text-align:center;border-bottom:2px solid #333;padding-bottom:16px}.hire-business-badge{font-family:var(--font-main);color:var(--color-gold);border:2px solid var(--color-gold);letter-spacing:2px;text-transform:uppercase;border-radius:4px;margin-bottom:12px;padding:6px 14px;font-size:8px;animation:2s ease-in-out infinite alternate badgeGlow;display:inline-block}@keyframes badgeGlow{0%{box-shadow:0 0 6px #ffd70033}to{box-shadow:0 0 18px #ffd70080}}.hire-service-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.hire-service-card{text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;padding:12px 10px;transition:border-color .2s,transform .2s}.hire-service-card:hover{border-color:var(--color-gold);transform:translateY(-2px)}.hire-service-icon{justify-content:center;align-items:center;margin-bottom:6px;display:flex}.hire-service-title{font-family:var(--font-main);color:var(--color-gold);margin-bottom:4px;font-size:7px}.hire-service-desc{color:var(--color-text-dim);font-size:10px;line-height:1.4}.hire-status-badge{color:#4ade80;background:#4ade8026;border:1px solid #4ade804d;border-radius:4px;padding:3px 8px;font-size:10px;display:inline-block}.hire-form{flex-direction:column;gap:12px;margin-top:10px;display:flex}.hire-form-row{flex-direction:column;gap:4px;display:flex}.hire-form-row label{font-family:var(--font-main);color:var(--color-gold);text-transform:uppercase;font-size:7px}.hire-form-row input,.hire-form-row select,.hire-form-row textarea{color:var(--color-text);background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;outline:none;padding:8px 10px;font-family:Courier New,monospace;font-size:12px;transition:border-color .2s}.hire-form-row input:focus,.hire-form-row select:focus,.hire-form-row textarea:focus{border-color:var(--color-gold)}.hire-form-row select{cursor:pointer}.hire-form-row select option{background:var(--color-dark-bg);color:var(--color-text)}.hire-form-row textarea{resize:vertical;min-height:60px}.hire-submit-btn{cursor:pointer;border:none;margin-top:4px}.hire-form-status{font-family:var(--font-main);text-align:center;min-height:16px;font-size:7px}.hire-form-success{color:#4ade80}.about-stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.about-stat-card{text-align:center;background:#ffffff08;border:2px solid #e9456040;border-radius:10px;padding:16px 12px;transition:transform .2s,border-color .3s}.about-stat-card:hover{border-color:gold;transform:translateY(-3px)}.about-stat-number{color:gold;margin-bottom:8px;font-family:"Press Start 2P",monospace;font-size:22px}.about-stat-label{color:#aaa;font-family:"Press Start 2P",monospace;font-size:7px;line-height:1.8}.about-skill-row{margin-bottom:12px}.about-skill-name{color:#ccc;margin-bottom:6px;font-family:"Press Start 2P",monospace;font-size:8px;display:block}.about-skill-track{background:#ffffff0f;border:1px solid #ffffff14;border-radius:5px;height:10px;overflow:hidden}.about-skill-fill{background:linear-gradient(90deg,#e94560,gold);border-radius:5px;width:0;height:100%;transition:width 1.2s cubic-bezier(.25,.46,.45,.94);position:relative;box-shadow:0 0 8px #e945604d}.about-skill-fill.animated{width:var(--fill-target)}.about-tech-cloud{flex-wrap:wrap;gap:6px;display:flex}.about-tag-anim{opacity:0;animation:.4s forwards aboutTagIn;animation-delay:var(--tag-delay,0s);transform:translateY(10px)scale(.9)}@keyframes aboutTagIn{to{opacity:1;transform:translateY(0)scale(1)}}.about-timeline{padding-left:20px;position:relative}.about-timeline:before{content:"";background:linear-gradient(#e94560 0%,gold 100%);width:2px;position:absolute;top:0;bottom:0;left:6px}.about-timeline-item{opacity:0;margin-bottom:20px;animation:.5s forwards aboutTimelineIn;position:relative;transform:translate(-10px)}.about-timeline-item:first-child{animation-delay:.1s}.about-timeline-item:nth-child(2){animation-delay:.3s}.about-timeline-item:nth-child(3){animation-delay:.5s}.about-timeline-item:nth-child(4){animation-delay:.7s}.about-timeline-item:nth-child(5){animation-delay:.9s}@keyframes aboutTimelineIn{to{opacity:1;transform:translate(0)}}.about-timeline-dot{z-index:1;background:#e94560;border:2px solid #1a1a2e;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-17px}.about-timeline-now .about-timeline-dot{background:gold;animation:2s ease-in-out infinite expDotPulse;box-shadow:0 0 8px #ffd70099}.about-timeline-content{padding-left:8px}.about-timeline-year{color:gold;margin-bottom:4px;font-family:"Press Start 2P",monospace;font-size:9px}.about-timeline-text{color:#ccc;font-family:"Press Start 2P",monospace;font-size:8px;line-height:2}.contact-hero{text-align:left;align-items:flex-start;gap:16px;display:flex;border-left:none!important}.contact-wave-avatar{background:#1a1a2e;border:none;border-radius:4px;flex-shrink:0;width:100px;height:80px;overflow:visible}.contact-hero-text{flex-direction:column;flex:1;justify-content:center;min-height:84px;display:flex}.contact-heading{color:gold;margin-bottom:12px;font-family:"Press Start 2P",monospace;font-size:16px}.contact-subtext{color:#aaa;font-size:9px;line-height:2.2}.contact-cards-grid{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.contact-card{cursor:pointer;background:#ffffff08;border:2px solid #e9456033;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;text-decoration:none;transition:transform .2s,border-color .3s,box-shadow .3s;display:flex}.contact-card:hover{border-color:gold;text-decoration:none;transform:translateY(-4px);box-shadow:0 6px 20px #ffd7001f}.contact-card-icon{border-radius:10px;flex-shrink:0;width:44px;height:44px;position:relative}.contact-icon-email{background:linear-gradient(145deg,#1a1a3e,#0d1b2a);border:2px solid #e94560}.contact-icon-email:after{content:"@";color:#e94560;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:16px;display:flex;position:absolute;inset:0}.contact-icon-phone{background:linear-gradient(145deg,#1a1a3e,#0d1b2a);border:2px solid #50c878}.contact-icon-phone:after{content:"#";color:#50c878;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:14px;display:flex;position:absolute;inset:0}.contact-icon-linkedin{background:linear-gradient(145deg,#1a1a3e,#0d1b2a);border:2px solid #53a8f5}.contact-icon-linkedin:after{content:"in";color:#53a8f5;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:12px;display:flex;position:absolute;inset:0}.contact-icon-github{background:linear-gradient(145deg,#1a1a3e,#0d1b2a);border:2px solid #ccc}.contact-icon-github:after{content:"< >";color:#ccc;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:8px;display:flex;position:absolute;inset:0}.contact-card-title{color:gold;font-family:"Press Start 2P",monospace;font-size:9px}.contact-card-value{color:#aaa;word-break:break-all;text-align:center;font-family:"Press Start 2P",monospace;font-size:7px;line-height:1.8}.contact-location{align-items:center;gap:16px;display:flex;border-left:none!important}.contact-location-pin{background:#e94560;border-radius:50% 50% 50% 0;flex-shrink:0;width:36px;height:36px;position:relative;transform:rotate(-45deg);box-shadow:0 0 10px #e945604d}.contact-location-pin:after{content:"";background:#1a1a2e;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-location-city{color:gold;margin-bottom:6px;font-family:"Press Start 2P",monospace;font-size:11px}.contact-location-avail{color:#aaa;font-family:"Press Start 2P",monospace;font-size:7px;line-height:2}.contact-status{color:#50c878;align-items:center;gap:12px;font-size:8px;line-height:2;display:flex;border-left:none!important}.contact-status-dot{background:#50c878;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:2s ease-in-out infinite contactPulse;box-shadow:0 0 8px #50c87880}@keyframes contactPulse{0%,to{opacity:1;box-shadow:0 0 8px #50c87880}50%{opacity:.5;box-shadow:0 0 4px #50c87833}}.proj-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}.proj-card{background:#ffffff08;border:2px solid #e9456040;border-radius:10px;flex-direction:column;gap:10px;padding:16px;transition:transform .2s,border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.proj-card:before{content:"";opacity:0;background:linear-gradient(90deg,#e94560,gold);height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.proj-card:hover{border-color:gold;transform:translateY(-4px);box-shadow:0 8px 24px #ffd70026,0 0 16px #e945601a}.proj-card:hover:before{opacity:1}.proj-type-badge{letter-spacing:1px;text-transform:uppercase;border-radius:4px;padding:3px 8px;font-family:"Press Start 2P",monospace;font-size:6px;position:absolute;top:10px;right:10px}.proj-type-badge--mobile{color:#53a8f5;background:#53a8f526;border:1px solid #53a8f54d}.proj-type-badge--web{color:gold;background:#ffd7001f;border:1px solid #ffd7004d}.proj-type-badge--fullstack{color:#e94560;background:#e945601f;border:1px solid #e945604d}.proj-type-badge--game{color:#50c878;background:#50c8781f;border:1px solid #50c8784d}.proj-icon{width:56px;height:56px;image-rendering:pixelated;object-fit:cover;border-radius:8px;flex-shrink:0;position:relative}.proj-icon--img-wide{object-fit:contain;background:#ffffff0d;padding:6px}.proj-icon--chatbot{background:linear-gradient(145deg,#1a1a3e 0%,#0d1b2a 100%);border:2px solid #53a8f5;overflow:hidden}.proj-icon--chatbot:before{content:"";background:#53a8f54d;border-radius:2px;height:4px;position:absolute;top:8px;left:8px;right:8px;box-shadow:0 8px #53a8f533,0 16px #53a8f526}.proj-icon--chatbot:after{content:">";color:#53a8f5;font-family:"Press Start 2P",monospace;font-size:10px;animation:1.2s step-end infinite chatBlink;position:absolute;bottom:6px;left:10px}@keyframes chatBlink{0%,70%{opacity:1}71%,to{opacity:0}}.proj-icon--dashboard{background:linear-gradient(145deg,#1a1a3e 0%,#0d1b2a 100%);border:2px solid gold;overflow:hidden}.proj-icon--dashboard:before{content:"";background:gold;border-radius:2px 2px 0 0;width:10px;height:14px;position:absolute;bottom:6px;left:6px;box-shadow:13px -4px #e94560,26px -10px #53a8f5,39px 2px #50c878}.proj-icon--dashboard:after{content:"";background:#ffffff26;height:1px;position:absolute;bottom:5px;left:5px;right:5px}.proj-icon--portfolio{background:linear-gradient(145deg,#1a1a3e 0%,#0d1b2a 100%);border:2px solid #50c878;overflow:hidden}.proj-icon--portfolio:before{content:"";clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 6px #50c87880);background:#50c878;width:20px;height:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.proj-icon--portfolio:after{content:"";background:gold;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite coinPulseIcon;position:absolute;top:6px;right:6px;box-shadow:0 0 6px #ffd70080}@keyframes coinPulseIcon{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.proj-header{align-items:center;gap:12px;padding-right:70px;display:flex}.proj-title{color:gold;margin:0;font-family:"Press Start 2P",monospace;font-size:10px;line-height:1.6}.proj-desc{color:#ccc;margin:0;font-size:9px;line-height:2}.proj-highlights{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.proj-highlights li{color:#aaa;padding-left:14px;font-size:8px;line-height:2;position:relative}.proj-highlights li:before{content:">";color:gold;font-family:"Press Start 2P",monospace;position:absolute;left:0}.proj-links{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.proj-links a{color:gold;border:1px solid #ffd7004d;border-radius:4px;padding:4px 10px;font-size:7px;text-decoration:none;transition:all .2s}.proj-links a:hover{background:#ffd7001a;border-color:gold;text-decoration:none}.proj-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.how-to-play-card{background:linear-gradient(#1a1a2e 0%,#16213e 100%);border:3px solid #e94560;border-radius:12px;width:90%;max-width:440px;font-family:"Press Start 2P",monospace;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards captureCardEnter;overflow:hidden;box-shadow:0 0 30px #e9456033}.htp-header{text-align:center;color:#fff;letter-spacing:3px;background:linear-gradient(90deg,#e94560,#d63851);padding:14px 0;font-size:14px}.htp-content{padding:20px}.htp-intro{color:var(--color-text-dim);text-align:center;padding:4px 8px;font-size:10px;line-height:2.2}.htp-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.htp-row:last-of-type{border-bottom:none}.htp-key{color:gold;background:#ffd7001a;border:1px solid #ffd70033;border-radius:4px;padding:4px 8px;font-size:11px}.htp-desc{color:#ccc;font-size:10px}.htp-divider{background:#e945604d;height:2px;margin:12px 0}.htp-tip{color:#999;padding:4px 0 4px 10px;font-size:9px;line-height:2;position:relative}.htp-tip:before{content:">";color:#e94560;position:absolute;left:0}#how-to-play-modal{width:100%;height:100%;z-index:var(--z-modal);pointer-events:auto;position:fixed;top:0;left:0}#section-menu{border-left:3px solid var(--color-red);min-width:220px;height:100%;z-index:var(--z-hud);background:linear-gradient(#0e0e1a 0%,#141428 50%,#0e0e1a 100%);flex-direction:column;flex:1;gap:8px;padding:20px 18px;display:none;overflow-y:auto}#section-menu .menu-title{color:#e94560;letter-spacing:3px;text-align:center;border-bottom:2px solid #e945604d;margin-bottom:10px;padding:10px 4px 14px;font-family:"Press Start 2P",monospace;font-size:14px}#section-menu .menu-how-to-play{color:#53a8f5;text-align:center;cursor:pointer;letter-spacing:1px;border:1px solid #53a8f566;border-radius:6px;margin-bottom:6px;padding:8px 10px;font-family:"Press Start 2P",monospace;font-size:10px;transition:all .2s}#section-menu .menu-how-to-play:hover{border-color:var(--color-blue);color:#fff;background:#53a8f526}#section-menu .menu-how-to-play:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}#section-menu .menu-section-label{color:#e94560;letter-spacing:1px;text-transform:uppercase;padding:6px 0 3px;font-family:"Press Start 2P",monospace;font-size:9px}#section-menu .menu-item{color:gold;cursor:pointer;background:#1a1a2eb3;border:2px solid #e9456080;border-radius:6px;padding:10px;font-family:"Press Start 2P",monospace;font-size:11px;line-height:1.6;transition:all .2s;animation:.3s ease-out both menuItemSlideIn}#section-menu .menu-item:hover{border-color:var(--color-gold);background:#e9456033;box-shadow:0 0 10px #ffd70033}#section-menu .menu-item:active{transform:scale(.97)}#section-menu .menu-item:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}#section-menu .menu-stats{justify-content:space-around;padding:8px 0;display:flex}#section-menu .menu-stat{color:gold;font-family:"Press Start 2P",monospace;font-size:14px}#section-menu .menu-stat-icon{font-size:16px}#section-menu .menu-stat-clickable{cursor:pointer;border-radius:6px;padding:4px 6px;transition:background .2s}#section-menu .menu-stat-clickable:hover{background:#ffd7001a}#section-menu .menu-divider{background:#e945604d;height:2px;margin:4px 0 8px}#section-menu .menu-empty{color:#999;text-align:center;padding:14px 6px;font-family:"Press Start 2P",monospace;font-size:9px;line-height:2}.menu-progress-section{border-top:1px solid #333;margin-top:auto;padding:8px 12px}.menu-progress-bar-track{background:#ffffff0f;border-radius:5px;width:100%;height:10px;margin:6px 0;overflow:hidden}.menu-progress-bar-fill{background:linear-gradient(90deg,#e94560,gold);border-radius:5px;height:100%;transition:width .5s}.menu-progress-header{justify-content:space-between;align-items:center;display:flex}.menu-hint-btn{background:0 0;border:1px solid #ffffff26;border-radius:4px;padding:2px 5px;font-size:12px;line-height:1;transition:all .2s}.menu-hint-btn:hover{background:#ffd7001a;border-color:gold}.menu-hint-btn--active{background:#ffd70026;border-color:gold}.menu-progress-text{color:#8a8aae;text-align:center;font-family:"Press Start 2P",monospace;font-size:7px}.menu-hint-panel{background:#0000004d;border:1px solid #ffffff1a;border-radius:6px;margin-top:8px;padding:8px}.menu-hint-row{color:#aaa;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:4px 0;font-family:"Press Start 2P",monospace;font-size:6px;display:flex}.menu-hint-row:last-child{border-bottom:none}.menu-hint-row .hint-done{color:#4ade80}.coin-plus-one{font-family:var(--font-main);color:var(--color-gold);pointer-events:none;z-index:var(--z-hud-float);font-size:10px;animation:.8s ease-out forwards floatUp;position:absolute}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes menuItemSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (width>=801px){#coin-counter,#creature-counter{display:none!important}}@media (width<=800px){body{flex-direction:column;overflow:hidden}body.sidebar-visible{flex-direction:column}body.sidebar-visible #game-container,#game-container{flex:none;width:100%;height:auto;min-height:0;max-height:calc(100dvh - 160px);margin:0;padding:0}#section-menu{min-width:unset;border-left:none;border-top:3px solid var(--color-red);flex:1;gap:6px;width:100%;height:auto;min-height:0;padding:12px 14px}#section-menu .menu-title{margin-bottom:4px;padding:6px 4px 8px;font-size:11px}#section-menu .menu-stats{padding:4px 0}#section-menu .menu-item{padding:8px;font-size:9px}#section-menu .menu-empty{padding:8px 4px;font-size:8px}.menu-progress-section{padding:6px 8px}body.sidebar-visible #dialog-box,body.sidebar-visible #interaction-prompt{left:50%}body.sidebar-visible #capture-modal,body.sidebar-visible #portfolio-overlay,body.sidebar-visible #how-to-play-modal{width:100%;height:100%;top:0;left:0}#coin-counter,#creature-counter{z-index:var(--z-mobile-hud);border-color:var(--color-red);white-space:nowrap;background:#0e0e1af2;padding:5px 8px;font-size:9px;position:fixed;top:auto;bottom:220px}#coin-counter{left:3%;right:auto}#creature-counter{left:calc(3% + 90px);right:auto;transform:none}}#mobile-controls{width:100%;height:200px;z-index:var(--z-prompt);pointer-events:none;padding-bottom:env(safe-area-inset-bottom,0px);display:none;position:fixed;bottom:0;left:0}@media (pointer:coarse){#mobile-controls{display:block}}.mobile-dpad{pointer-events:auto;width:156px;height:156px;position:absolute;bottom:20px;left:20px}.dpad-cross{pointer-events:none;position:absolute;inset:0}.dpad-cross:before{content:"";box-sizing:border-box;z-index:1;background:#323250f2;border:none;border-radius:14px;width:54px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.dpad-cross:after{content:"";box-sizing:border-box;background:#323250f2;border:none;border-radius:14px;width:100%;height:54px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.dpad-center{z-index:2;background:#323250f2;border-radius:2px;width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dpad-btn{-webkit-user-select:none;user-select:none;touch-action:none;z-index:3;background:0 0;border:none;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:absolute}.dpad-btn .dpad-arrow{border-style:solid;width:0;height:0;transition:filter .1s,transform .1s}.dpad-up .dpad-arrow{border-width:0 11px 16px;border-color:#0000 #0000 #ffffffe6}.dpad-down .dpad-arrow{border-width:16px 11px 0;border-color:#ffffffe6 #0000 #0000}.dpad-left .dpad-arrow{border-width:11px 16px 11px 0;border-color:#0000 #ffffffe6 #0000 #0000}.dpad-right .dpad-arrow{border-width:11px 0 11px 16px;border-color:#0000 #0000 #0000 #ffffffe6}.dpad-btn.active .dpad-arrow{filter:brightness(1.5)drop-shadow(0 0 4px #ffd70099);transform:scale(1.15)}.dpad-up{top:0;left:50%;transform:translate(-50%)}.dpad-down{bottom:0;left:50%;transform:translate(-50%)}.dpad-left{top:50%;left:0;transform:translateY(-50%)}.dpad-right{top:50%;right:0;transform:translateY(-50%)}.mobile-action-group{pointer-events:auto;align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:28px;right:24px}.mobile-btn{color:#fff;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-family:"Press Start 2P",monospace;font-size:16px;transition:background .1s,box-shadow .1s,transform .1s;display:flex}.mobile-btn.active{transform:scale(.92)}.mobile-btn-a{background:#e9456073;border:2px solid #e94560b3;margin-bottom:20px;box-shadow:0 0 10px #e9456033}.mobile-btn-a.active{background:#e94560bf;border-color:#e94560;box-shadow:0 0 20px #e9456080}.mobile-btn-b{background:#53a8f559;border:2px solid #53a8f599;box-shadow:0 0 10px #53a8f526}.mobile-btn-b.active{background:#53a8f5b3;border-color:#53a8f5;box-shadow:0 0 20px #53a8f566}html,body{overscroll-behavior:none;-webkit-overflow-scrolling:auto;touch-action:none}#game-container canvas{touch-action:none}@media (width<=800px){#portfolio-overlay{z-index:var(--z-mobile-overlay);-webkit-overflow-scrolling:touch;inset:0;overflow:hidden auto;padding:0!important;padding-top:env(safe-area-inset-top,0px)!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;background:#0e0e1a!important;width:100%!important;max-width:100%!important;height:100%!important;position:fixed!important}#portfolio-overlay .overlay-content{min-height:100%;box-shadow:none;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;border:none;border-radius:0;margin-top:0;padding:20px 20px 40px;font-size:11px;line-height:2;overflow-x:hidden;background:#1a1a2e!important;width:100%!important;max-width:100%!important}#portfolio-overlay .overlay-header{z-index:10;max-width:100%;box-shadow:none;background:#1a1a2e;border-bottom:2px solid #e94560;justify-content:space-between;align-items:center;gap:8px;margin-bottom:0;padding:12px 20px 10px;display:flex;position:sticky;top:0}#portfolio-overlay .overlay-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}#portfolio-overlay .overlay-close{flex-shrink:0;min-width:44px;min-height:44px;padding:10px 16px;font-size:11px}#portfolio-overlay .overlay-section{text-align:left;border-left:none;margin-bottom:16px;padding-bottom:16px;padding-left:4px;padding-right:4px;overflow:hidden}#portfolio-overlay .overlay-section h3{margin-bottom:10px;font-size:12px}#portfolio-overlay .overlay-section p{word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:100%;font-size:10px;line-height:2}#portfolio-overlay .overlay-section .exp-list li{margin-bottom:8px;font-size:9px;line-height:2}#portfolio-overlay .overlay-section .tag{white-space:nowrap;padding:4px 8px;font-size:8px;display:inline-block}#portfolio-overlay .overlay-section .tag[data-tooltip]:hover:after,#portfolio-overlay .overlay-section .tag[data-tooltip]:hover:before{display:none}.proj-grid{grid-template-columns:1fr;gap:12px}.proj-card{padding:14px}.proj-header{padding-right:60px}.proj-icon{width:44px;height:44px}.proj-type-badge{padding:2px 6px;font-size:5px}#portfolio-overlay .hire-cta{min-height:44px;padding:14px;font-size:11px}.hire-service-grid{grid-template-columns:1fr;gap:10px}.hire-service-card{padding:14px}.hire-service-card .hire-service-title{font-size:10px}.hire-service-card .hire-service-desc{font-size:9px}.hire-form-row input,.hire-form-row select,.hire-form-row textarea{font-size:16px}.contact-hero{text-align:center;flex-direction:column;align-items:center}.contact-hero-text{text-align:center;align-items:center}.contact-cards-grid,.about-stats-grid,.exp-metrics-grid{grid-template-columns:1fr}.exp-skill-name{min-width:100px}.capture-card,.minigame-container{width:88%;max-width:320px}.badge-panel,.collection-panel{width:80%;max-width:280px;max-height:70vh;overflow-y:auto}.badge-panel-header{letter-spacing:2px;padding:8px 0;font-size:10px}.badge-panel-subtitle{padding:6px 0 2px;font-size:9px}.badge-grid{grid-template-columns:1fr;gap:4px;padding:6px 8px}.skill-badge{gap:6px;padding:6px 8px}.skill-badge-icon{min-width:24px}.skill-badge-icon svg{width:20px;height:20px}.skill-badge-name{margin-bottom:2px;font-size:10px}.skill-badge-desc{font-size:8px;line-height:1.6}.skill-badge-expand-hint{font-size:8px}.capture-header{padding:10px 0}.capture-banner{letter-spacing:3px;font-size:14px}.capture-sprite-wrapper{padding:14px 0 6px}.capture-sprite{width:64px;height:64px}.capture-sprite-glow{width:72px;height:72px}.capture-name{padding:4px 16px 2px;font-size:14px}.capture-type{padding:0 16px 8px;font-size:11px}.capture-desc{padding:0 16px 12px;font-size:11px;line-height:1.8}.capture-summary{padding:0 16px 10px;font-size:10px}.capture-skills{padding:10px 16px}.capture-skill-name{font-size:9px}.capture-star{font-size:14px}.capture-progress{padding:6px 0;font-size:10px}.capture-close-btn{min-height:44px;padding:14px;font-size:11px}.battle-field{height:180px}.battle-hud{min-width:120px;padding:6px 10px}.battle-hud-name{font-size:8px}.battle-hud-type{font-size:5px}.battle-hud--enemy{min-width:120px;top:10px;left:10px}.battle-creature-sprite{width:80px!important;height:80px!important}.battle-enemy-sprite-wrap{top:8px;right:12px}.battle-enemy-platform{width:76px;top:95px;right:20px}.battle-hud--player{min-width:110px;left:64px}.minigame-sprite{width:48px;height:48px}.battle-player-sprite{width:56px;height:56px}.battle-action-box{padding:12px 16px}.minigame-prompt{font-size:11px}.badge-detail-card{max-width:85%;padding:12px}.collection-header{padding:8px 12px}.collection-title{letter-spacing:1px;font-size:11px}.collection-count{font-size:10px}.collection-list{padding:8px}.collection-entry{gap:8px;margin-bottom:6px;padding:8px}.collection-sprite{width:32px;height:32px}.collection-name{font-size:10px}.collection-type{font-size:8px}#mobile-controls{width:100%;height:auto;z-index:var(--z-prompt);padding:12px 16px 20px;position:fixed;top:auto;bottom:0;left:0}.mobile-dpad{vertical-align:middle;display:inline-block;position:relative;top:auto;bottom:auto;left:0}.mobile-action-group{position:absolute;top:50%;bottom:auto;right:24px;transform:translateY(-50%)}#dialog-box{z-index:var(--z-dialog);width:min(90%,500px)!important;padding:12px 14px!important;font-size:9px!important;position:fixed!important;top:calc(120vw - 140px)!important;bottom:auto!important}#dialog-box .dialog-name{font-size:9px!important}#interaction-prompt{font-size:10px;position:fixed!important;top:calc(120vw - 130px)!important;bottom:auto!important}#game-container canvas{pointer-events:auto;margin-top:0!important;margin-bottom:0!important;display:block!important}#section-menu.mobile-journal{width:100%;max-height:50vh;z-index:var(--z-hud-float);border-top:3px solid var(--color-red);background:linear-gradient(#0e0e1a 0%,#141428 100%);border-left:none;transition:transform .3s,opacity .3s;position:fixed;bottom:0;left:0;overflow-y:auto}#section-menu.mobile-journal.collapsed{opacity:0;pointer-events:none;transform:translateY(100%)}.journal-toggle{border:2px solid var(--color-red);color:var(--color-gold);z-index:var(--z-overlay);cursor:pointer;pointer-events:auto;background:#0e0e1af2;border-radius:8px;padding:5px 10px;font-family:"Press Start 2P",monospace;font-size:10px;transition:background .2s,bottom .3s;position:fixed;bottom:220px;right:3%}.journal-toggle:active{background:#e945604d}}.welcome-panel{color:#eee;text-align:center;background:linear-gradient(#1a1a2e 0%,#16213e 100%);border:3px solid gold;border-radius:12px;width:90%;max-width:480px;padding:28px 24px 20px;font-family:"Press Start 2P",monospace;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards captureCardEnter;box-shadow:0 0 40px #00000080,0 0 20px #ffd70033}.welcome-avatar-row{justify-content:center;margin-bottom:16px;display:flex}.welcome-avatar-row canvas{background:#1a1a2e;border:3px solid gold}.welcome-title{color:gold;letter-spacing:2px;margin-bottom:14px;font-size:14px}.welcome-text{color:#d0d0d0;text-align:left;margin-bottom:18px;font-size:9px;line-height:1.9}.welcome-footer{border-top:1px solid #ffd70026;justify-content:space-between;align-items:center;padding-top:14px;display:flex}.welcome-back-btn{color:#8a8aae;cursor:pointer;background:0 0;border:2px solid #ffd70040;border-radius:6px;padding:7px 12px;font-family:"Press Start 2P",monospace;font-size:8px;transition:all .15s}.welcome-back-btn:hover{color:gold;border-color:#ffd70080}.welcome-page-num{color:#6a6a8e;font-size:7px}.welcome-next-btn{color:#fff;cursor:pointer;letter-spacing:1px;background:#e94560;border:none;border-radius:6px;padding:10px 20px;font-family:"Press Start 2P",monospace;font-size:10px;transition:all .15s}.welcome-next-btn:hover{background:#ff5a78;transform:scale(1.04)}.welcome-next-btn:active{transform:scale(.97)}@media (width<=800px){.welcome-panel{width:88%;padding:22px 18px 16px}.welcome-title{font-size:12px}.welcome-text{font-size:8px;line-height:1.8}.welcome-next-btn{padding:9px 16px;font-size:9px}.welcome-avatar-row canvas{width:80px!important;height:80px!important}}.sb-panel{color:#eee;background:linear-gradient(#1a1a2e 0%,#16213e 100%);border:3px solid #61dafb;border-radius:12px;flex-direction:column;width:92%;max-width:520px;padding:0;font-family:"Press Start 2P",monospace;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards captureCardEnter;display:flex;overflow:hidden;box-shadow:0 0 40px #00000080,0 0 20px #61dafb40}.sb-detail-panel{max-width:720px;max-height:85vh}.sb-header{text-align:center;background:linear-gradient(90deg,#61dafb,#3a9fc4);padding:14px 16px}.sb-title{color:#0a1628;letter-spacing:2px;justify-content:center;align-items:center;gap:8px;font-size:16px;display:flex}.sb-menu-grid{grid-template-columns:repeat(3,1fr);gap:6px;padding:18px 16px;display:grid}.sb-menu-tile{cursor:pointer;background:#61dafb0f;border:3px solid #61dafb33;border-radius:10px;flex-direction:column;align-items:center;gap:10px;padding:18px 8px 14px;font-family:"Press Start 2P",monospace;transition:all .15s;display:flex}.sb-menu-tile:hover{background:#61dafb24;border-color:#61dafb;transform:scale(1.04);box-shadow:0 0 16px #61dafb33}.sb-menu-tile:active{transform:scale(.97)}.sb-tile-icon{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.sb-tile-label{color:#ccc;letter-spacing:1px;text-align:center;font-size:8px}.sb-menu-tile:hover .sb-tile-label{color:#fff}.sb-footer-context{text-align:center;border-top:1px solid #61dafb1f;margin:0 16px;padding:6px 20px 10px}.sb-footer-heading{color:#61dafb;letter-spacing:1px;margin-bottom:6px;font-size:9px}.sb-footer-desc{color:#8a8aae;font-size:7px;line-height:1.7}.sb-close-btn{flex-shrink:0;margin:10px auto 14px;display:block}.sb-detail-header{background:linear-gradient(90deg,#61dafb,#3a9fc4);align-items:center;gap:12px;padding:10px 14px;display:flex}.sb-back-btn{color:#0a1628;cursor:pointer;background:#0003;border:2px solid #00000040;border-radius:6px;flex-shrink:0;padding:6px 10px;font-family:"Press Start 2P",monospace;font-size:8px;transition:all .15s}.sb-back-btn:hover{color:#fff;background:#00000059}.sb-detail-title{color:#0a1628;letter-spacing:2px;align-items:center;gap:8px;font-size:13px;display:flex}.sb-detail-content{flex:1;min-height:0;padding:14px 18px;animation:.3s ease-out sbFadeIn;overflow-y:auto}.sb-detail-content::-webkit-scrollbar{width:6px}.sb-detail-content::-webkit-scrollbar-track{background:#0003}.sb-detail-content::-webkit-scrollbar-thumb{background:#61dafb4d;border-radius:3px}@keyframes sbFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sprint-stats-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.sprint-stat-card{text-align:center;background:#61dafb0f;border:2px solid #61dafb26;border-radius:8px;padding:12px 8px}.sprint-stat-number{color:#61dafb;margin-bottom:6px;font-size:20px}.sprint-stat-label{color:#8a8aae;font-size:7px;line-height:1.4}.sprint-section{margin-bottom:16px}.sprint-section-title{color:#61dafb;letter-spacing:1px;align-items:center;gap:6px;margin-bottom:10px;font-size:10px;display:flex}.sprint-text{color:#d0d0d0;margin:0 0 8px;font-size:9px;line-height:1.8}.sprint-text em{color:#61dafb;font-style:normal}.sprint-tech-grid{gap:8px;display:grid}.sprint-tech-item{color:#ccc;align-items:flex-start;gap:8px;font-size:8px;line-height:1.7;display:flex}.sprint-tech-tag{white-space:nowrap;border-radius:4px;flex-shrink:0;padding:3px 7px;font-family:"Press Start 2P",monospace;font-size:7px;display:inline-block}.sprint-tech-tag.ts{color:#fff;background:#3178c6}.sprint-tech-tag.phaser{color:#fff;background:#e94560}.sprint-tech-tag.vite{color:#fff;background:#646cff}.sprint-tech-tag.css{color:#fff;background:#264de4}.sprint-tech-tag.html{color:#fff;background:#e34c26}.sprint-tech-tag.ai{color:#fff;background:#c084fc}.sprint-metrics{gap:4px;display:grid}.sprint-metric-row{color:#ccc;background:#ffffff08;border-radius:4px;justify-content:space-between;align-items:center;padding:7px 10px;font-size:8px;display:flex}.sprint-metric-val{color:#61dafb;font-size:8px}.sprint-timeline{gap:8px;display:grid}.sprint-collapsible{border:2px solid #61dafb26;border-radius:8px;overflow:hidden}.sprint-collapsible-header{cursor:pointer;background:#61dafb0a;align-items:center;gap:8px;padding:10px 12px;transition:background .2s;display:flex}.sprint-collapsible-header:hover{background:#61dafb1a}.sprint-collapse-arrow{color:#61dafb;flex-shrink:0;width:12px;font-size:9px}.sprint-sprint-badge{border-radius:4px;flex-shrink:0;padding:3px 7px;font-family:"Press Start 2P",monospace;font-size:7px}.sprint-sprint-badge.done{color:#61dafb;background:#61dafb26;border:1px solid #61dafb4d}.sprint-sprint-title{color:#ddd;flex:1;font-size:8px}.sprint-sprint-status{flex-shrink:0;font-size:7px}.sprint-sprint-status.done{color:#4ade80}.sprint-collapsible-body{border-top:1px solid #61dafb1a;padding:8px 12px 12px}.sprint-story-list{gap:5px;display:grid}.sprint-story{color:#ccc;padding:4px 8px 4px 18px;font-size:8px;line-height:1.6;position:relative}.sprint-story:before{content:"";border-radius:2px;width:6px;height:6px;position:absolute;top:8px;left:4px}.sprint-story.done:before{background:#4ade80}.sprint-story.progress:before{background:#f0a030}.sprint-arch-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sprint-arch-card{background:#ffffff08;border:1px solid #61dafb1f;border-radius:6px;padding:10px}.sprint-arch-name{color:#61dafb;align-items:center;gap:4px;margin-bottom:6px;font-size:8px;display:flex}.sprint-arch-desc{color:#aaa;font-size:7px;line-height:1.7}.sprint-patterns{gap:8px;display:grid}.sprint-pattern{color:#ccc;font-size:8px;line-height:1.7}.sprint-pattern-name{color:gold;background:#ffd7001f;border-radius:3px;margin-right:6px;padding:2px 7px;font-size:7px;display:inline-block}.sprint-qa-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.sprint-qa-stat{text-align:center;background:#e945600f;border:2px solid #e9456026;border-radius:8px;padding:12px 8px}.sprint-qa-num{color:#e94560;margin-bottom:6px;font-size:20px}.sprint-qa-label{color:#8a8aae;font-size:7px;line-height:1.4}.sprint-qa-categories{gap:6px;display:grid}.sprint-qa-cat{color:#ccc;border-bottom:1px solid #ffffff0a;align-items:flex-start;gap:8px;padding:6px 0;font-size:8px;line-height:1.6;display:flex}.sprint-qa-tag{white-space:nowrap;border-radius:3px;flex-shrink:0;padding:3px 7px;font-family:"Press Start 2P",monospace;font-size:7px;display:inline-block}.sprint-qa-tag.critical{color:#fff;background:#e94560}.sprint-qa-tag.high{color:#1a1a2e;background:#f0a030}.sprint-qa-tag.medium{color:#1a1a2e;background:#61dafb}.sprint-qa-tag.low{color:#4ade80;background:#4ade804d}.sprint-verification{gap:5px;display:grid}.sprint-verify-row{color:#ccc;align-items:center;gap:8px;padding:5px 8px;font-size:8px;display:flex}.sprint-verify-check{color:#4ade80;font-size:12px}.sprint-pipeline{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:16px;display:flex}.sprint-pipe-step{background:#61dafb0d;border:1px solid #61dafb26;border-radius:8px;flex:1;align-items:flex-start;gap:8px;min-width:130px;padding:10px;display:flex}.sprint-pipe-num{color:#0a1628;background:#61dafb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:flex}.sprint-pipe-name{color:#61dafb;margin-bottom:4px;font-size:8px}.sprint-pipe-desc{color:#aaa;font-size:7px;line-height:1.6}.sprint-pipe-connector{color:#61dafb;flex-shrink:0;font-size:16px}.sprint-deploy-features{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.sprint-deploy-tag{color:#61dafb;background:#61dafb1a;border:1px solid #61dafb33;border-radius:4px;padding:4px 8px;font-family:"Press Start 2P",monospace;font-size:7px}.sprint-decisions{gap:14px;display:grid}.sprint-decision{border-left:3px solid gold;padding-left:12px}.sprint-decision-q{color:gold;margin-bottom:6px;font-size:9px;line-height:1.6}.sprint-decision-a{color:#ccc;font-size:8px;line-height:1.8}@media (width<=800px){.sb-panel{border:2px solid #61dafb;border-radius:10px;width:90%;max-width:90%}.sb-detail-panel{width:92%;max-width:92%;max-height:80dvh}.sb-header{padding:12px 16px}.sb-title{font-size:13px}.sb-menu-grid{gap:8px;padding:20px 18px}.sb-menu-tile{border-width:2px;border-radius:8px;gap:8px;padding:16px 8px 12px}.sb-tile-icon{width:34px;height:34px}.sb-tile-icon svg{width:30px!important;height:30px!important}.sb-tile-label{letter-spacing:.5px;font-size:7px}.sb-footer-context{margin:0 10px;padding:6px 12px 8px}.sb-footer-heading{font-size:8px}.sb-footer-desc{font-size:6px}.sb-close-btn{margin:8px auto 14px}.sb-detail-header{gap:10px;padding:12px 16px}.sb-detail-title{letter-spacing:1px;font-size:11px}.sb-back-btn{padding:6px 10px;font-size:7px}.sb-detail-content{padding:16px 18px}.sprint-stats-grid,.sprint-qa-stats{grid-template-columns:repeat(2,1fr);gap:10px}.sprint-stat-card,.sprint-qa-stat{padding:14px 10px}.sprint-section{margin-bottom:18px}.sprint-arch-grid{grid-template-columns:1fr;gap:10px}.sprint-arch-card{padding:12px}.sprint-collapsible-header{padding:12px 14px}.sprint-collapsible-body{padding:10px 14px 14px}.sprint-pipeline{flex-direction:column;gap:6px}.sprint-pipe-step{width:100%;min-width:auto;padding:12px}.sprint-pipe-connector{align-self:center;transform:rotate(90deg)}.sprint-decisions{gap:16px}.sprint-decision{padding-left:14px}.sprint-qa-categories{gap:8px}.sprint-qa-cat{padding:8px 0}.sprint-verification{gap:6px}.sprint-verify-row{padding:6px 10px}.sprint-metric-row{padding:8px 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
