@import url(https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@300;400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;700;800&family=Syne+Mono&display=swap);@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;900&family=JetBrains+Mono:wght@400;600&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0a1628;--navy-mid:#112240;--navy-light:#1d3461;--accent:#c8a96e;--accent-dim:#c8a96e26;--text:#e8edf5;--muted:#8892a4;--border:#c8a96e33;--card:#112240b3}html{scroll-behavior:smooth}body{background:#0a1628;background:var(--navy);color:#e8edf5;color:var(--text);font-family:DM Sans,sans-serif;font-weight:300;overflow-x:hidden}.portfolio-wrapper:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.04'/%3E%3C/svg%3E");content:"";inset:0;opacity:.4;pointer-events:none;position:fixed;z-index:999}.port-nav{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a1628d9;border-bottom:1px solid #c8a96e33;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;left:0;padding:1.25rem 3rem;position:fixed;right:0;top:0;z-index:100}.nav-logo{color:#c8a96e;color:var(--accent);font-family:"DM Serif Display",serif;font-size:1.25rem;letter-spacing:.02em}.nav-links{display:flex;gap:2.5rem}.nav-links a{color:#8892a4;color:var(--muted);font-size:.85rem;font-weight:500;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:color .3s}.nav-links a:hover{color:#c8a96e;color:var(--accent)}.hero-section{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:8rem 3rem 4rem;position:relative}.hero-section:after{border:1px solid #c8a96e33;border:1px solid var(--border);border-radius:50%;content:"";height:600px;pointer-events:none;position:absolute;right:-10%;top:15%;width:600px}.hero-inner{max-width:900px;position:relative;z-index:1}.hero-tag{animation:fadeUp .7s ease .1s forwards;border:1px solid #c8a96e33;border:1px solid var(--border);border-radius:2px;color:#c8a96e;color:var(--accent);display:inline-block;font-size:.78rem;font-weight:500;letter-spacing:.2em;margin-bottom:2rem;opacity:0;padding:.4rem 1rem;text-transform:uppercase}.hero-h1{animation:fadeUp .7s ease .25s forwards;color:#e8edf5;color:var(--text);font-family:"DM Serif Display",serif;font-size:clamp(3.5rem,8vw,6.5rem);letter-spacing:-.02em;line-height:1;opacity:0}.hero-h1 em{color:#c8a96e;color:var(--accent);font-style:italic}.hero-sub{animation:fadeUp .7s ease .4s forwards;color:#8892a4;color:var(--muted);font-size:1.1rem;line-height:1.7;margin-top:1.75rem;max-width:520px;opacity:0}.hero-cta{animation:fadeUp .7s ease .55s forwards;display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem;opacity:0}.btn{border:none;border-radius:2px;cursor:pointer;display:inline-block;font-size:.85rem;font-weight:500;letter-spacing:.12em;padding:.85rem 2rem;text-decoration:none;text-transform:uppercase;transition:all .3s}.btn-primary{background:#c8a96e;background:var(--accent);color:#0a1628;color:var(--navy)}.btn-primary:hover{background:#dfc07e;box-shadow:0 8px 30px #c8a96e4d;transform:translateY(-2px)}.btn-outline{background:#0000;border:1px solid #c8a96e33;border:1px solid var(--border);color:#e8edf5;color:var(--text)}.btn-outline:hover{border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent);transform:translateY(-2px)}.scroll-indicator{align-items:center;animation:fadeIn 1s ease 1.2s forwards;bottom:2.5rem;display:flex;flex-direction:column;gap:.5rem;left:50%;opacity:0;position:absolute;transform:translateX(-50%)}.scroll-indicator span{color:#8892a4;color:var(--muted);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.scroll-line{animation:scrollPulse 2s ease infinite;background:linear-gradient(180deg,#c8a96e,#0000);background:linear-gradient(to bottom,var(--accent),#0000);height:50px;width:1px}.port-section{padding:6rem 3rem}.section-label{color:#c8a96e;color:var(--accent);display:block;font-size:.75rem;font-weight:500;letter-spacing:.22em;margin-bottom:1rem;text-transform:uppercase}.section-title{color:#e8edf5;color:var(--text);font-family:"DM Serif Display",serif;font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin-bottom:3rem}.about-section{background:#112240;background:var(--navy-mid);border-bottom:1px solid #c8a96e33;border-bottom:1px solid var(--border);border-top:1px solid #c8a96e33;border-top:1px solid var(--border)}.about-grid{grid-gap:5rem;align-items:center;display:grid;gap:5rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px}.about-text p{color:#8892a4;color:var(--muted);font-size:1.05rem;line-height:1.85;margin-bottom:1.25rem}.about-text p strong{color:#e8edf5;color:var(--text);font-weight:500}.about-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.stat-card{background:#112240b3;background:var(--card);border:1px solid #c8a96e33;border:1px solid var(--border);border-radius:4px;overflow:hidden;padding:1.75rem;position:relative;transition:transform .3s,border-color .3s}.stat-card:hover{border-color:#c8a96e;border-color:var(--accent);transform:translateY(-4px)}.stat-card:before{background:#c8a96e;background:var(--accent);content:"";height:100%;left:0;position:absolute;top:0;width:3px}.stat-number{color:#c8a96e;color:var(--accent);font-family:"DM Serif Display",serif;font-size:2.5rem;line-height:1}.stat-label{color:#8892a4;color:var(--muted);font-size:.8rem;letter-spacing:.1em;margin-top:.4rem;text-transform:uppercase}.skills-inner{margin:0 auto;max-width:1100px}.skills-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.skill-category{background:#112240b3;background:var(--card);border:1px solid #c8a96e33;border:1px solid var(--border);border-radius:4px;padding:2rem;transition:border-color .3s,transform .3s}.skill-category:hover{border-color:#c8a96e;border-color:var(--accent);transform:translateY(-3px)}.skill-cat-title{color:#c8a96e;color:var(--accent);font-size:.75rem;font-weight:500;letter-spacing:.18em;margin-bottom:1.25rem;text-transform:uppercase}.skill-tags{display:flex;flex-wrap:wrap;gap:.6rem}.skill-tag{background:#c8a96e14;border:1px solid #c8a96e33;border:1px solid var(--border);border-radius:2px;color:#e8edf5;color:var(--text);font-size:.82rem;padding:.35rem .85rem;transition:background .2s,border-color .2s}.skill-tag:hover{background:#c8a96e26;background:var(--accent-dim);border-color:#c8a96e;border-color:var(--accent)}.projects-section{background:#112240;background:var(--navy-mid);border-bottom:1px solid #c8a96e33;border-bottom:1px solid var(--border);border-top:1px solid #c8a96e33;border-top:1px solid var(--border)}.projects-inner{margin:0 auto;max-width:1100px}.projects-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.project-card{background:#112240b3;background:var(--card);border:1px solid #c8a96e33;border:1px solid var(--border);border-radius:4px;overflow:hidden;padding:2rem;position:relative;transition:transform .3s,border-color .3s}.project-card:hover{border-color:#c8a96e;border-color:var(--accent);transform:translateY(-5px)}.project-number{color:#c8a96e1f;font-family:"DM Serif Display",serif;font-size:3rem;line-height:1;pointer-events:none;position:absolute;right:1.5rem;top:1rem}.project-tag{color:#c8a96e;color:var(--accent);font-size:.72rem;font-weight:500;letter-spacing:.18em;margin-bottom:.75rem;text-transform:uppercase}.project-title{color:#e8edf5;color:var(--text);font-family:"DM Serif Display",serif;font-size:1.35rem;margin-bottom:.75rem}.project-desc{color:#8892a4;color:var(--muted);font-size:.9rem;line-height:1.7;margin-bottom:1.5rem}.project-links{display:flex;flex-wrap:wrap;gap:.75rem}.project-link{border-bottom:1px solid #c8a96e33;border-bottom:1px solid var(--border);color:#8892a4;color:var(--muted);font-size:.78rem;letter-spacing:.12em;padding-bottom:.1rem;text-decoration:none;text-transform:uppercase;transition:color .2s,border-color .2s}.project-link:hover{border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent)}.contact-section{text-align:center}.contact-inner{margin:0 auto;max-width:680px}.contact-sub{color:#8892a4;color:var(--muted);font-size:1rem;line-height:1.75;margin-bottom:2.5rem}.contact-email{border-bottom:1px solid #c8a96e33;border-bottom:1px solid var(--border);color:#c8a96e;color:var(--accent);display:inline-block;font-family:"DM Serif Display",serif;font-size:1.5rem;margin-bottom:2.5rem;padding-bottom:.25rem;text-decoration:none;transition:border-color .3s}.contact-email:hover{border-color:#c8a96e;border-color:var(--accent)}.social-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.social-link{align-items:center;border:1px solid #c8a96e33;border:1px solid var(--border);border-radius:2px;color:#8892a4;color:var(--muted);display:inline-flex;font-size:.8rem;gap:.5rem;letter-spacing:.14em;padding:.6rem 1.25rem;text-decoration:none;text-transform:uppercase;transition:color .3s}.social-link:hover{border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent)}.port-footer{border-top:1px solid #c8a96e33;border-top:1px solid var(--border);color:#8892a4;color:var(--muted);font-size:.78rem;letter-spacing:.06em;padding:2rem;text-align:center}@keyframes scrollPulse{0%,to{opacity:1}50%{opacity:.3}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.port-nav{padding:1rem 1.5rem}.nav-links{gap:1.5rem}.port-section{padding:4rem 1.5rem}.hero-section{padding:7rem 1.5rem 4rem}.about-grid{gap:2.5rem;grid-template-columns:1fr}.hero-section:after{display:none}}.ttt-wrapper{--bg:#0d0d0d;--surface:#161616;--surface2:#1f1f1f;--accent:#e8ff47;--accent-dim:#e8ff471f;--accent-glow:#e8ff4759;--x-color:#e8ff47;--o-color:#ff6b6b;--o-glow:#ff6b6b59;--text:#f0f0f0;--muted:#555;--border:#2a2a2a;--win-line:#e8ff47;align-items:center;background:var(--bg);color:var(--text);display:flex;flex-direction:column;font-family:Syne,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem 1rem;position:relative}.ttt-wrapper:before{background-image:linear-gradient(#e8ff4708 1px,#0000 0),linear-gradient(90deg,#e8ff4708 1px,#0000 0);background-size:40px 40px;content:"";inset:0;pointer-events:none;position:fixed}.ttt-header{animation:fadeDown .6s ease both;margin-bottom:2.5rem;text-align:center}.ttt-title{color:var(--text);font-size:clamp(2.5rem,6vw,4rem);font-weight:800;letter-spacing:-.04em;line-height:1}.ttt-title span{color:var(--accent)}.ttt-subtitle{color:var(--muted);font-family:Syne Mono,monospace;font-size:.72rem;letter-spacing:.22em;margin-top:.5rem;text-transform:uppercase}.score-bar{animation:fadeDown .6s ease .1s both;background:var(--border);border:1px solid var(--border);border-radius:4px;display:flex;gap:1px;margin-bottom:2rem;overflow:hidden}.score-item{background:var(--surface);flex:1 1;padding:1rem 1.5rem;text-align:center;transition:background .3s}.score-item.active{background:var(--surface2)}.score-who{color:var(--muted);font-family:Syne Mono,monospace;font-size:.65rem;letter-spacing:.2em;margin-bottom:.3rem;text-transform:uppercase}.score-num{font-size:1.8rem;font-weight:800;line-height:1}.score-item.you .score-num{color:var(--x-color)}.score-item.draws .score-num{color:var(--muted)}.score-item.ai .score-num{color:var(--o-color)}.status-bar{animation:fadeDown .6s ease .15s both;color:var(--muted);font-family:Syne Mono,monospace;font-size:.8rem;height:1.2em;letter-spacing:.15em;margin-bottom:1.5rem;text-transform:uppercase;transition:color .3s}.status-bar.your-turn{color:var(--x-color)}.status-bar.ai-turn{color:var(--o-color)}.status-bar.win{color:var(--accent)}.status-bar.lose{color:var(--o-color)}.status-bar.draw{color:var(--muted)}.board-container{animation:fadeDown .6s ease .2s both;position:relative}.board{grid-gap:3px;background:var(--border);border:3px solid var(--border);border-radius:8px;display:grid;gap:3px;grid-template-columns:repeat(3,1fr);overflow:hidden}.cell{align-items:center;background:var(--surface);cursor:pointer;display:flex;font-size:clamp(2rem,6vw,3rem);font-weight:800;height:clamp(90px,22vw,130px);justify-content:center;position:relative;transition:background .15s;-webkit-user-select:none;user-select:none;width:clamp(90px,22vw,130px)}.cell:hover:not(.filled):not(.disabled){background:var(--surface2)}.cell.disabled,.cell.filled{cursor:default}.cell-x{color:var(--x-color);text-shadow:0 0 20px var(--accent-glow)}.cell-o,.cell-x{animation:popIn .2s cubic-bezier(.34,1.56,.64,1) both}.cell-o{color:var(--o-color);text-shadow:0 0 20px var(--o-glow)}.cell.winning-cell{background:var(--accent-dim)}.cell.winning-cell .cell-o,.cell.winning-cell .cell-x{animation:winPulse .8s ease infinite alternate}.controls{animation:fadeUp .6s ease .3s both;display:flex;gap:.75rem;margin-top:2rem}.btn-ttt{border:none;border-radius:3px;cursor:pointer;font-family:Syne,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.14em;padding:.75rem 1.75rem;text-transform:uppercase;transition:all .2s}.btn-primary-ttt{background:var(--accent);color:var(--bg)}.btn-primary-ttt:hover{box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-2px)}.btn-outline-ttt{background:#0000;border:1px solid var(--border);color:var(--muted)}.btn-outline-ttt:hover{border-color:#444;color:var(--text)}.difficulty-row{animation:fadeDown .6s ease .12s both;display:flex;gap:.5rem;margin-bottom:1.5rem}.diff-btn{background:var(--surface);border:1px solid var(--border);border-radius:3px;color:var(--muted);cursor:pointer;font-family:Syne Mono,monospace;font-size:.7rem;letter-spacing:.15em;padding:.45rem 1rem;text-transform:uppercase;transition:all .2s}.diff-btn:hover{border-color:#444;color:var(--text)}.diff-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.result-overlay{align-items:center;animation:fadeIn .3s ease both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d0d0de0;border-radius:5px;display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;position:absolute}.result-text{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;text-align:center}.result-emoji{font-size:3rem;line-height:1}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (max-width:480px){.score-item{padding:.75rem .5rem}.controls{flex-wrap:wrap;justify-content:center}}.c4-wrapper{--bg:#070b14;--surface:#0e1520;--surface2:#151e2e;--board-bg:#0a3cff;--board-dark:#0830d4;--player:#ff3d3d;--player-glow:#ff3d3d80;--ai:#ffce00;--ai-glow:#ffce0080;--empty:#07111f;--empty-inner:#050d17;--text:#e8f0ff;--muted:#4a5a7a;--border:#1a2540;--accent:#00d4ff;--accent-glow:#00d4ff4d;--win-glow:#ffffffe6;align-items:center;background:var(--bg);color:var(--text);display:flex;flex-direction:column;font-family:Outfit,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem 1rem;position:relative}.c4-wrapper:before{background:radial-gradient(circle,#003cff1f 0,#0000 70%);height:600px;left:-200px;top:-200px;width:600px}.c4-wrapper:after,.c4-wrapper:before{border-radius:50%;content:"";pointer-events:none;position:fixed}.c4-wrapper:after{background:radial-gradient(circle,#ff3d3d14 0,#0000 70%);bottom:-150px;height:500px;right:-150px;width:500px}.c4-back{align-items:center;color:var(--muted);display:flex;font-family:JetBrains Mono,monospace;font-size:.72rem;gap:.5rem;left:1.5rem;letter-spacing:.12em;position:absolute;text-decoration:none;text-transform:uppercase;top:1.5rem;transition:color .2s;z-index:10}.c4-back:hover{color:var(--accent)}.c4-header{animation:fadeDown .5s ease both;margin-bottom:1.75rem;text-align:center}.c4-title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:900;letter-spacing:-.03em;line-height:1}.c4-title .red{color:var(--player);text-shadow:0 0 30px var(--player-glow)}.c4-title .sep{color:var(--muted);font-weight:300;margin:0 .2em}.c4-title .yell{color:var(--ai);text-shadow:0 0 30px var(--ai-glow)}.c4-subtitle{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.22em;margin-top:.5rem;text-transform:uppercase}.c4-score-bar{animation:fadeDown .5s ease .08s both;background:var(--border);border:1px solid var(--border);border-radius:6px;display:flex;gap:1px;margin-bottom:1.25rem;overflow:hidden}.c4-score-item{background:var(--surface);flex:1 1;padding:.85rem 1.5rem;text-align:center;transition:background .3s}.c4-score-item.active{background:var(--surface2)}.c4-score-who{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.18em;margin-bottom:.25rem;text-transform:uppercase}.c4-score-num{font-size:1.6rem;font-weight:700;line-height:1}.c4-score-item.you .c4-score-num{color:var(--player)}.c4-score-item.draw .c4-score-num{color:var(--muted)}.c4-score-item.ai .c4-score-num{color:var(--ai)}.c4-diff-row{animation:fadeDown .5s ease .1s both;display:flex;gap:.5rem;margin-bottom:1.25rem}.c4-diff-btn{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--muted);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.65rem;letter-spacing:.15em;padding:.4rem 1rem;text-transform:uppercase;transition:all .2s}.c4-diff-btn:hover{border-color:#2a3a5a;color:var(--text)}.c4-diff-btn.active{background:#00d4ff1a;border-color:var(--accent);color:var(--accent)}.c4-status{animation:fadeDown .5s ease .12s both;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.75rem;height:1.2em;letter-spacing:.14em;margin-bottom:1rem;text-transform:uppercase;transition:color .3s}.c4-status.your-turn{color:var(--player)}.c4-status.ai-turn{color:var(--ai)}.c4-status.you-win{color:var(--player)}.c4-status.ai-win{color:var(--ai)}.c4-status.draw{color:var(--muted)}.col-arrows{grid-gap:4px;animation:fadeDown .5s ease .15s both;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:4px;max-width:504px;width:100%}.col-arrow{align-items:center;border-radius:4px;color:#0000;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:color .15s,background .15s}.col-arrow:hover{background:#ff3d3d14;color:var(--player)}.col-arrow.disabled{cursor:default;pointer-events:none}.c4-board-wrap{animation:fadeDown .5s ease .18s both;position:relative}.c4-board{grid-gap:4px;background:var(--board-bg);border-radius:10px;box-shadow:0 0 0 3px var(--board-dark),0 20px 60px #0028c880,0 0 80px #0028c833;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);padding:8px}.c4-cell{background:var(--empty);border-radius:50%;box-shadow:inset 0 4px 10px #0009;height:clamp(52px,10vw,68px);overflow:hidden;position:relative;width:clamp(52px,10vw,68px)}.c4-cell:before{background:var(--empty-inner);border-radius:50%;content:"";inset:4px;position:absolute;transition:background .1s}.c4-cell.player:before{background:var(--player);box-shadow:0 0 16px var(--player-glow),inset 0 -4px 8px #0000004d}.c4-cell.ai-piece:before,.c4-cell.player:before{animation:dropIn .28s cubic-bezier(.33,1,.68,1) both}.c4-cell.ai-piece:before{background:var(--ai);box-shadow:0 0 16px var(--ai-glow),inset 0 -4px 8px #0000004d}.c4-cell.winning:before{animation:winPulse .6s ease infinite alternate}.c4-cell.player.winning:before{box-shadow:0 0 30px var(--player-glow),0 0 60px var(--player-glow)}.c4-cell.ai-piece.winning:before{box-shadow:0 0 30px var(--ai-glow),0 0 60px var(--ai-glow)}.c4-cell.preview-player:before{background:#ff3d3d40}.c4-overlay{align-items:center;animation:fadeIn .3s ease both;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070b14e0;border-radius:10px;display:flex;flex-direction:column;gap:.85rem;inset:0;justify-content:center;position:absolute;z-index:10}.c4-overlay-emoji{font-size:3rem;line-height:1}.c4-overlay-text{font-size:1.3rem;font-weight:700;letter-spacing:-.01em;text-align:center}.c4-controls{animation:fadeUp .5s ease .22s both;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.25rem}.c4-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-family:Outfit,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.1em;padding:.7rem 1.6rem;text-decoration:none;text-transform:uppercase;transition:all .2s}.c4-btn-primary{background:var(--accent);color:var(--bg)}.c4-btn-primary:hover{box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-2px)}.c4-btn-ghost{background:#0000;border:1px solid var(--border);color:var(--muted)}.c4-btn-ghost:hover{border-color:#2a3a5a;color:var(--text)}@keyframes fadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dropIn{0%{opacity:.4;transform:scaleY(.3) translateY(-20px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes winPulse{0%{transform:scale(.92)}to{transform:scale(1.04)}}@media (max-width:520px){.c4-board{gap:3px;padding:5px}.c4-back{font-size:0}.c4-back svg{display:block}}
/*# sourceMappingURL=main.bcca944e.css.map*/