:root{--black-rgb:0,0,0;--white-rgb:255,255,255;--slate-900-rgb:10,15,28;--deep-navy-rgb:15,23,42;--soft-blue-rgb:59,130,246;--slate-gray-rgb:148,163,184;--pale-aqua-rgb:125,211,252;--mint-green-rgb:52,211,153;--sky-400-rgb:var(--soft-blue-rgb);--sky-300-rgb:var(--pale-aqua-rgb);--blue-600-rgb:37,99,235;--blue-500-rgb:var(--soft-blue-rgb);--blue-300-rgb:96,165,250;--indigo-900-rgb:var(--deep-navy-rgb);--indigo-600-rgb:33,84,196;--indigo-500-rgb:var(--soft-blue-rgb);--violet-500-rgb:var(--mint-green-rgb);--violet-400-rgb:var(--pale-aqua-rgb);--pink-500-rgb:var(--mint-green-rgb);--pink-400-rgb:var(--pale-aqua-rgb);--rose-500-rgb:239,68,68;--orange-400-rgb:251,146,60;--amber-400-rgb:251,191,36;--amber-300-rgb:250,204,21;--emerald-600-rgb:22,163,74;--emerald-500-rgb:16,185,129;--emerald-400-rgb:34,197,94;--emerald-300-rgb:110,231,183;--mint-400-rgb:var(--mint-green-rgb);--slate-700-rgb:51,65,85;--slate-300-rgb:var(--slate-gray-rgb);--slate-200-rgb:226,232,240;--slate-100-rgb:241,245,249;--slate-50-rgb:248,250,252;--cyan-400-rgb:56,189,248;--midnight-rgb:var(--slate-900-rgb);--navy-rgb:var(--deep-navy-rgb);--page-bg-rgb:var(--slate-900-rgb);--page-bg:rgb(var(--page-bg-rgb));--text-primary-rgb:var(--white-rgb);--text-primary:rgba(var(--text-primary-rgb),0.92);--text-muted-rgb:var(--slate-gray-rgb);--eyebrow-rgb:var(--pale-aqua-rgb);--text-contrast-rgb:var(--white-rgb);--text-contrast:rgb(var(--text-contrast-rgb));--card-surface:rgba(var(--deep-navy-rgb),0.92);--card-border:rgba(var(--slate-gray-rgb),0.25);--subtle-alpha:0.72;--eyebrow-alpha:0.65;--wallpaper-bg:radial-gradient(circle at 25% 15%,rgba(var(--soft-blue-rgb),0.45),#0000 40%),radial-gradient(circle at 72% 20%,rgba(var(--pale-aqua-rgb),0.35),#0000 45%),radial-gradient(circle at 50% 80%,rgba(var(--mint-green-rgb),0.3),#0000 55%),linear-gradient(180deg,rgb(var(--slate-900-rgb)) 0%,rgb(var(--deep-navy-rgb)) 55%,rgb(var(--midnight-rgb)) 100%);--wallpaper-filter:blur(80px) saturate(1.25);--accent-sky:#3b82f6;--accent-mint:#34d399;--accent-blossom:#7dd3fc;--accent-sunshine:#94a3b8;--accent-aurora:#fff;--accent-ocean:#0f172a;--accent-success:#34d399;background-color:#0a0f1c;background-color:var(--page-bg);color:#ffffffeb;color:var(--text-primary)}:root[data-theme=light]{--page-bg-rgb:var(--white-rgb);--text-primary-rgb:var(--deep-navy-rgb);--text-primary:rgb(var(--text-primary-rgb));--text-muted-rgb:var(--slate-gray-rgb);--eyebrow-rgb:var(--slate-gray-rgb);--card-surface:rgba(var(--white-rgb),0.95);--card-border:rgba(var(--slate-gray-rgb),0.35);--subtle-alpha:0.6;--eyebrow-alpha:0.55;--wallpaper-bg:radial-gradient(circle at 18% 18%,rgba(var(--pale-aqua-rgb),0.45),#0000 45%),radial-gradient(circle at 78% 22%,rgba(var(--soft-blue-rgb),0.35),#0000 45%),radial-gradient(circle at 50% 78%,rgba(var(--mint-green-rgb),0.35),#0000 55%),linear-gradient(180deg,rgb(var(--white-rgb)) 0%,rgba(var(--pale-aqua-rgb),0.22) 60%,rgba(var(--soft-blue-rgb),0.18) 100%);--wallpaper-filter:blur(60px) saturate(1.4)}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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{font-family:Sora,Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--page-bg);margin:0}.App,body{color:var(--text-primary);min-height:100vh}.App{background-color:var(--page-bg);overflow:hidden;position:relative}.wallpaper{animation:wallpaperShift 20s ease-in-out infinite;background:var(--wallpaper-bg);filter:var(--wallpaper-filter);inset:-20%;position:absolute;transform-origin:center;transition:transform .35s ease;z-index:0}@keyframes wallpaperShift{0%,to{transform:scale(1) rotate(0deg)}50%{transform:scale(1.05) rotate(1deg)}}.os-shell{display:flex;flex-direction:column;min-height:100vh;padding:1rem 1.5rem 1.5rem;position:relative;z-index:1}@media (max-width:480px){.os-shell{padding:.75rem 1rem 1rem}}.status-bar{color:var(--text-contrast);font-size:.85rem;font-weight:600;justify-content:space-between;letter-spacing:.02em;opacity:.95;padding:.5rem .25rem;text-shadow:0 1px 2px rgba(var(--black-rgb),.3)}.status-bar,.status-signal{align-items:center;display:flex}.status-signal{gap:.5rem}.home-screen{display:flex;flex:1 1;flex-direction:column;gap:2rem;justify-content:space-between;padding-bottom:1.5rem;padding-top:2.5rem}@media (max-width:480px){.home-screen{padding-bottom:1rem;padding-top:2rem}}.icon-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(4,1fr);padding:0 .5rem}@media (max-width:768px){.icon-grid{gap:1rem;grid-template-columns:repeat(4,1fr)}}@media (max-width:480px){.icon-grid{gap:.8rem;grid-template-columns:repeat(4,1fr)}}.app-icon{align-items:center;animation:fadeInUp .6s ease-out backwards;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:rgba(var(--white-rgb),.08);border:none;border:1px solid rgba(var(--white-rgb),.12);border-radius:22px;box-shadow:0 8px 32px rgba(var(--black-rgb),.3),inset 0 1px 0 rgba(var(--white-rgb),.1);color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;padding:1rem;position:relative;text-align:center;transition:all .2s cubic-bezier(.4,0,.2,1)}.app-icon:before{background:linear-gradient(135deg,rgba(var(--white-rgb),.1),#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease}.app-icon:hover:before{opacity:1}.app-icon:active{transform:scale(.95);transition:transform .1s ease}.app-icon:hover{background:rgba(var(--white-rgb),.12);box-shadow:0 12px 40px rgba(var(--black-rgb),.4),inset 0 1px 0 rgba(var(--white-rgb),.15);transform:translateY(-2px) scale(1.02)}.app-icon strong{color:var(--text-contrast);display:block;font-size:.75rem;font-weight:500;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(var(--black-rgb),.3);white-space:nowrap}.app-emoji{display:inline-flex;filter:drop-shadow(0 2px 4px rgba(var(--black-rgb),.3));font-size:2.5rem}@media (max-width:480px){.app-emoji{font-size:2rem}.app-icon strong{font-size:.7rem}}.subtle{color:rgba(var(--text-muted-rgb),var(--subtle-alpha));font-size:.9rem}.eyebrow{color:rgba(var(--eyebrow-rgb),var(--eyebrow-alpha));font-size:.75rem;letter-spacing:.2em;text-transform:uppercase}.app-dock{align-self:center;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);background:rgba(var(--white-rgb),.1);border:1px solid rgba(var(--white-rgb),.18);border-radius:1.75rem;box-shadow:0 8px 32px rgba(var(--black-rgb),.4),inset 0 1px 0 rgba(var(--white-rgb),.15);gap:1rem;max-width:90%;padding:.75rem 1.25rem}.app-dock,.dock-icon{display:flex;justify-content:center}.dock-icon{align-items:center;background:rgba(var(--white-rgb),.15);border:none;border:1px solid rgba(var(--white-rgb),.1);border-radius:16px;box-shadow:0 4px 12px rgba(var(--black-rgb),.2);color:inherit;cursor:pointer;font-size:1.5rem;height:60px;overflow:hidden;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);width:60px}.dock-icon:before{background:linear-gradient(135deg,rgba(var(--white-rgb),.2),#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease}.dock-icon:hover:before{opacity:1}.dock-icon:hover{background:rgba(var(--white-rgb),.25);box-shadow:0 12px 24px rgba(var(--black-rgb),.3);transform:translateY(-8px) scale(1.1)}.dock-icon:active{transform:translateY(-6px) scale(1.05)}.lock-screen{align-items:center;backdrop-filter:blur(40px) saturate(150%);-webkit-backdrop-filter:blur(40px) saturate(150%);background:linear-gradient(180deg,rgba(var(--midnight-rgb),.85) 0,rgba(var(--navy-rgb),.9) 100%);color:var(--text-contrast);cursor:grab;display:flex;flex-direction:column;gap:2rem;inset:0;justify-content:center;position:absolute;text-align:center;touch-action:none;transition:transform .2s ease;user-select:none;-webkit-user-select:none;z-index:3}.lock-screen.dragging{background:linear-gradient(180deg,rgba(var(--midnight-rgb),.8) 0,rgba(var(--navy-rgb),.85) 100%);cursor:grabbing;transition:none}.lock-screen.unlocking{transform:translateY(-100%)!important;transition:transform .9s cubic-bezier(.4,0,.2,1)!important}.lock-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.lock-content p{font-size:1rem;font-weight:500;letter-spacing:.02em;margin:0;opacity:.8}.lock-time{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,rgb(var(--white-rgb)),var(--text-primary));-webkit-background-clip:text;background-clip:text;font-size:clamp(4rem,12vw,6rem);font-weight:700;letter-spacing:-.02em;line-height:1;margin:0;text-shadow:0 4px 12px rgba(var(--black-rgb),.3)}.unlock-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(var(--white-rgb),.2),rgba(var(--white-rgb),.1));border:none;border:2px solid rgba(var(--white-rgb),.3);border-radius:50%;box-shadow:0 8px 32px rgba(var(--black-rgb),.4),inset 0 1px 0 rgba(var(--white-rgb),.2);color:var(--text-contrast);cursor:inherit;font-size:2.5rem;height:80px;margin-top:1rem;pointer-events:none;width:80px}.app-overlay,.unlock-button{align-items:center;display:flex;justify-content:center}.app-overlay{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(var(--midnight-rgb),.65);inset:0;padding:2rem;position:fixed;z-index:4}.app-card{animation:appOpen .5s ease;background:var(--card-surface);border:1px solid var(--card-border);border-radius:36px;box-shadow:0 40px 80px rgba(var(--midnight-rgb),.6);display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:min(1100px,90vw)}.app-card-header{align-items:center;border-bottom:1px solid rgba(var(--slate-300-rgb),.2);display:flex;justify-content:space-between;padding:1.5rem 2rem}.app-card-header h2{margin:0}.close-button{background:rgba(var(--slate-100-rgb),.15);border:none;border-radius:999px;color:inherit;cursor:pointer;padding:.4rem 1.2rem}.app-card-body{display:flex;flex-direction:column;gap:2rem;overflow-y:auto;padding:2rem}.settings-app{grid-gap:1.5rem;display:grid;gap:1.5rem}.profile-card{align-items:center;display:flex;gap:1.2rem}.profile-avatar{background:linear-gradient(135deg,rgb(var(--indigo-500-rgb)),rgb(var(--pink-400-rgb)));border-radius:20px;display:grid;font-weight:600;height:68px;place-items:center;width:68px}.toggle-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.toggle-chip{align-items:center;background:rgba(var(--navy-rgb),.7);border:none;border-radius:18px;color:inherit;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.2rem;text-align:left}.toggle-chip.on{background:rgba(var(--blue-500-rgb),.25);box-shadow:inset 0 0 0 1px rgba(var(--blue-500-rgb),.5)}.toggle-indicator{font-size:.8rem;letter-spacing:.08em}.projects-app{display:flex;flex-direction:column;gap:1.5rem}.project-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.project-card{background:rgba(var(--navy-rgb),.7);border:none;border-radius:24px;box-shadow:inset 0 0 0 1px rgba(var(--slate-300-rgb),.2);color:inherit;cursor:pointer;padding:1.2rem;text-align:left;transform:perspective(1000px) rotateX(0) rotateY(0);transform:perspective(1000px) rotateX(var(--tilt-x,0)) rotateY(var(--tilt-y,0));transform-style:preserve-3d;transition:box-shadow .3s ease,transform .3s ease}.project-card.active{box-shadow:inset 0 0 0 1px var(--accent),0 25px 50px rgba(var(--black-rgb),.35)}.project-card-meta{align-items:center;display:flex;gap:1rem}.project-icon{font-size:1.6rem}.project-screen-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.project-screen{background:rgba(var(--white-rgb),.05);border-radius:999px;font-size:.8rem;padding:.45rem .8rem;transition:background .3s ease,color .3s ease}.project-screen.active{background:rgba(var(--white-rgb),.15);color:rgb(var(--white-rgb))}.project-stage{grid-gap:1.5rem;align-items:stretch;display:grid;gap:1.5rem;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.phone-lab,.project-video{background:rgba(var(--navy-rgb),.7);border:1px solid rgba(var(--slate-300-rgb),.2);border-radius:28px;padding:1.5rem}.project-demo{background:linear-gradient(135deg,rgba(var(--sky-400-rgb),.4),rgba(var(--pink-500-rgb),.35));border-radius:20px;height:180px;margin:1rem 0;overflow:hidden;position:relative}.demo-track{display:flex;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);width:400%}.demo-screen{align-items:center;display:flex;flex:1 1;font-size:1rem;font-weight:600;justify-content:center}.tech-stack{display:flex;flex-wrap:wrap;gap:.6rem}.stack-badge{animation:stackSlide .6s ease forwards;background:rgba(var(--white-rgb),.08);border-radius:999px;font-size:.85rem;opacity:0;padding:.4rem .85rem}.phone-lab{display:flex;flex-direction:column;gap:.8rem}.phone-frame{background:linear-gradient(160deg,rgba(var(--midnight-rgb),.9),rgba(var(--indigo-600-rgb),.4));border:1px solid rgba(var(--white-rgb),.1);border-radius:36px;box-shadow:0 30px 60px rgba(var(--midnight-rgb),.5);cursor:grab;height:360px;margin:0 auto;padding:1rem;transition:box-shadow .3s ease;width:220px}.phone-frame.dragging{box-shadow:0 40px 80px rgba(var(--midnight-rgb),.8);cursor:grabbing}.phone-screen{background:rgba(var(--navy-rgb),.85);border:1px solid rgba(var(--white-rgb),.1);border-radius:26px;display:flex;flex-direction:column;gap:.5rem;height:100%;padding:1rem;width:100%}.status-dot{background:var(--accent-success);border-radius:50%;display:inline-block;height:8px;width:8px}.screen-tiles{grid-gap:.4rem;display:grid;gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto}.screen-tiles span{background:rgba(var(--blue-500-rgb),.15);border-radius:16px;font-size:.8rem;padding:.5rem}.skills-app{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:900px}.skills-header{margin-bottom:1rem;text-align:center}.skills-header h3{font-size:1.5rem;margin:.5rem 0}.skills-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media (max-width:640px){.skills-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.skill-card{align-items:center;background:rgba(var(--navy-rgb),.6);border:1px solid rgba(var(--slate-300-rgb),.2);border-radius:20px;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;text-align:center;transform:perspective(1000px) rotateX(0) rotateY(0);transform:perspective(1000px) rotateX(var(--tilt-x,0)) rotateY(var(--tilt-y,0));transition:all .3s ease}.skill-card:hover{background:rgba(var(--navy-rgb),.8);border-color:rgba(var(--slate-300-rgb),.4);box-shadow:0 10px 30px rgba(var(--midnight-rgb),.3)}.skill-icon-large{font-size:2.5rem;line-height:1}.skill-info{display:flex;flex-direction:column;gap:.25rem;width:100%}.skill-info strong{color:rgba(var(--slate-50-rgb),.95);font-size:.95rem}.skill-category{color:rgba(var(--slate-300-rgb),.7);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.skill-level{display:flex;flex-direction:column;gap:.25rem;width:100%}.level-bar{background:rgba(var(--slate-300-rgb),.2);border-radius:999px;height:4px;overflow:hidden;width:100%}.level-fill{background:linear-gradient(90deg,rgb(var(--blue-500-rgb)),rgb(var(--violet-400-rgb)));border-radius:999px;height:100%;transition:width .5s ease}.level-label{color:rgba(var(--slate-300-rgb),.6);font-size:.7rem;text-align:center}.skills-footer{padding-top:.5rem;text-align:center}.playground-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.gradient-card{background:rgba(var(--blue-500-rgb),.15);border:1px solid rgba(var(--slate-300-rgb),.2);border-radius:24px;padding:1.5rem;transform:perspective(1000px) rotateX(0) rotateY(0);transform:perspective(1000px) rotateX(var(--tilt-x,0)) rotateY(var(--tilt-y,0));transition:box-shadow .3s ease}.gradient-card:hover{box-shadow:0 30px 50px rgba(var(--midnight-rgb),.5)}.games-container{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.game-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1rem 0}.game-control-btn{background:linear-gradient(135deg,rgba(var(--soft-blue-rgb),.95),rgba(var(--mint-green-rgb),.9));border:1px solid rgba(var(--white-rgb),.24);border-radius:999px;color:rgb(var(--white-rgb));cursor:pointer;font-weight:600;letter-spacing:.02em;min-width:140px;padding:.85rem 1.75rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.game-control-btn.restart{background:rgba(var(--white-rgb),.08);border-color:rgba(var(--white-rgb),.2);color:var(--text-contrast)}.game-control-btn:disabled{cursor:not-allowed;opacity:.55}.game-control-btn:not(:disabled):hover{box-shadow:0 12px 30px rgba(var(--black-rgb),.25);transform:translateY(-2px)}.progress-pill{align-items:center;background:rgba(var(--white-rgb),.06);border:1px solid rgba(var(--white-rgb),.12);border-radius:999px;color:rgba(var(--text-contrast-rgb),.8);display:inline-flex;font-size:.78rem;gap:.4rem;letter-spacing:.04em;margin:0 auto .75rem;padding:.35rem .9rem;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.progress-pill .pill-dot{background:linear-gradient(135deg,rgb(var(--soft-blue-rgb)),rgb(var(--mint-green-rgb)));border-radius:50%;box-shadow:0 0 6px rgba(var(--soft-blue-rgb),.7);height:.45rem;width:.45rem}.game-start-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617d9;border-radius:20px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.game-start-btn-center{background:linear-gradient(135deg,rgba(var(--soft-blue-rgb),.95),rgba(var(--mint-green-rgb),.9));border:2px solid rgba(var(--white-rgb),.3);border-radius:999px;box-shadow:0 8px 24px rgba(var(--soft-blue-rgb),.4);color:rgb(var(--white-rgb));cursor:pointer;font-size:1.25rem;font-weight:700;letter-spacing:.5px;padding:1.25rem 2.5rem;text-transform:uppercase;transition:all .3s ease}.game-start-btn-center:hover{border-color:rgba(var(--white-rgb),.5);box-shadow:0 12px 32px rgba(var(--soft-blue-rgb),.6);transform:translateY(-3px) scale(1.05)}.game-start-btn-center:active{transform:translateY(-1px) scale(1.02)}.game-over-section{align-items:center;display:flex;flex-direction:column;gap:1rem}.game-over-section .game-start-btn-center{font-size:1rem;margin-top:.5rem;padding:.85rem 1.75rem}.game-overlay-message{align-items:center;-webkit-backdrop-filter:blur(8px) saturate(1.2);backdrop-filter:blur(8px) saturate(1.2);background:rgba(var(--midnight-rgb),.7);border-radius:inherit;color:var(--text-contrast);display:flex;font-weight:600;inset:0;justify-content:center;letter-spacing:.02em;padding:1.5rem;pointer-events:none;position:absolute;text-align:center;z-index:2}.games-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.games-row-single{margin:0 auto;max-width:650px}.messages-app{background:rgba(var(--navy-rgb),.7);border:1px solid rgba(var(--slate-300-rgb),.2);border-radius:28px;gap:1rem;padding:1.5rem}.contact-thread,.messages-app{display:flex;flex-direction:column}.contact-thread{background:rgba(var(--midnight-rgb),.65);border-radius:24px;gap:.8rem;padding:1rem}.message-bubble{align-self:flex-start;background:rgba(var(--slate-700-rgb),.7);border-radius:20px;max-width:420px;padding:.8rem 1rem;position:relative}.message-bubble.me{align-self:flex-end;background:rgba(var(--blue-500-rgb),.6)}.timestamp{font-size:.7rem;opacity:.7}.typing-dots{display:inline-flex;gap:.3rem}.typing-dots span{animation:typing 1s infinite;background:rgb(var(--white-rgb));border-radius:50%;height:8px;opacity:.8;width:8px}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.magnetic-button{align-self:flex-start;background:linear-gradient(120deg,rgb(var(--violet-500-rgb)),rgb(var(--blue-500-rgb)));border:none;border-radius:18px;color:rgb(var(--white-rgb));cursor:pointer;display:inline-flex;flex-direction:column;font-size:1rem;gap:.25rem;padding:1rem 1.4rem;text-decoration:none;transform:translate(0);transform:translate(var(--magnet-x,0),var(--magnet-y,0));transition:transform .15s ease}.tilt-card{transform:perspective(1000px) rotateX(0) rotateY(0);transform:perspective(1000px) rotateX(var(--tilt-x,0)) rotateY(var(--tilt-y,0))}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes appOpen{0%{opacity:0;transform:translateY(30px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stackSlide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes typing{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}@media (max-width:900px){.project-stage{grid-template-columns:1fr}.app-card-body{padding:1.5rem}}@media (max-width:600px){.app-card{border-radius:24px}.status-bar{font-size:.8rem}.contact-thread{padding:.8rem}.project-demo{height:140px}.app-dock{gap:.75rem;padding:.6rem 1rem}.dock-icon{font-size:1.3rem;height:56px;width:56px}}.tictactoe-game{background:linear-gradient(135deg,rgba(var(--navy-rgb),.5),rgba(var(--indigo-900-rgb),.4));border:1px solid rgba(var(--slate-300-rgb),.3);border-radius:28px;box-shadow:0 8px 32px rgba(var(--black-rgb),.3);margin-top:1.5rem;padding:1.5rem}.tictactoe-board-container{margin:1rem 0;position:relative}.tictactoe-board{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-left:auto;margin-right:auto;max-width:300px}.tictactoe-cell{align-items:center;aspect-ratio:1;background:rgba(var(--midnight-rgb),.6);border:2px solid rgba(var(--slate-300-rgb),.3);border-radius:12px;cursor:pointer;display:flex;font-size:2.5rem;justify-content:center;min-height:80px;transition:all .2s ease}.tictactoe-cell:hover:not(:disabled){background:rgba(var(--blue-500-rgb),.2);border-color:rgba(var(--blue-500-rgb),.5);transform:scale(1.05)}.tictactoe-cell:disabled{cursor:not-allowed;opacity:.8}.tictactoe-cell:active:not(:disabled){transform:scale(.95)}.tictactoe-cell.winning{animation:pulse .5s ease-in-out infinite alternate;background:rgba(var(--emerald-500-rgb),.3);border-color:rgba(var(--emerald-500-rgb),.6)}.tictactoe-cell.blocked{animation:shake .5s ease;background:rgba(var(--rose-500-rgb),.3);border-color:rgba(var(--rose-500-rgb),.6)}.tictactoe-cell.ai-hint{animation:glow 1s ease-in-out 2;background:rgba(var(--amber-400-rgb),.3);border-color:rgba(var(--amber-400-rgb),.6)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(var(--amber-400-rgb),.5)}50%{box-shadow:0 0 20px rgba(var(--amber-400-rgb),.8)}}.flutter-logo{animation:fadeIn .3s ease;display:block;height:40px;width:40px}.flutter-logo-inline{display:inline-block;height:24px;width:24px}@keyframes fadeIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.game-status{background:rgba(var(--midnight-rgb),.4);border-radius:16px;padding:1rem}.status-text{color:rgba(var(--slate-50-rgb),.95);font-weight:600;justify-content:center;margin:0}.scoreboard,.status-text{align-items:center;display:flex}.scoreboard{background:rgba(var(--midnight-rgb),.5);border-radius:16px;gap:1rem;justify-content:space-around;margin-bottom:1rem;padding:1rem}.score-item{align-items:center;background:rgba(var(--white-rgb),.05);border-radius:12px;display:flex;gap:.5rem;padding:.5rem 1rem}.player-score{border:2px solid rgba(var(--blue-500-rgb),.4)}.ai-score{border:2px solid rgba(var(--rose-500-rgb),.4)}.draws-score{border:2px solid rgba(var(--slate-300-rgb),.4)}.score-value{color:var(--text-contrast);font-size:1.5rem;font-weight:700;line-height:1}.score-label{color:rgba(var(--slate-50-rgb),.7);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.ai-emoji{font-size:1.5rem}.difficulty-selector{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.difficulty-btn{background:rgba(var(--midnight-rgb),.4);border:2px solid rgba(var(--slate-300-rgb),.3);border-radius:12px;color:rgba(var(--slate-50-rgb),.8);cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.difficulty-btn:hover{background:rgba(var(--blue-500-rgb),.2);border-color:rgba(var(--blue-500-rgb),.5);transform:translateY(-2px)}.difficulty-btn.active{background:rgba(var(--blue-500-rgb),.3);border-color:rgba(var(--blue-500-rgb),.6);box-shadow:0 0 20px rgba(var(--blue-500-rgb),.3);color:var(--text-contrast)}.streak-display{animation:streakPulse 1s ease-in-out infinite;background:linear-gradient(135deg,rgba(var(--orange-400-rgb),.2),rgba(var(--rose-500-rgb),.2));border:2px solid rgba(var(--orange-400-rgb),.5);border-radius:12px;color:rgb(var(--amber-400-rgb));font-size:1rem;font-weight:700;margin-bottom:1rem;padding:.75rem;text-align:center}@keyframes streakPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.powerup-display{margin-bottom:1rem;text-align:center}.powerup-display.new-powerup{animation:powerupAppear .5s ease-out}@keyframes powerupAppear{0%{opacity:0;transform:scale(.5) translateY(-20px)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1) translateY(0)}}.powerup-btn{background:linear-gradient(135deg,rgba(var(--violet-500-rgb),.3),rgba(var(--pink-500-rgb),.3));border:2px solid rgba(var(--violet-500-rgb),.6);border-radius:16px;box-shadow:0 4px 20px rgba(var(--violet-500-rgb),.4);color:var(--text-contrast);cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1.5rem;transition:all .2s ease}.powerup-btn:hover{background:linear-gradient(135deg,rgba(var(--violet-500-rgb),.4),rgba(var(--pink-500-rgb),.4));box-shadow:0 8px 30px rgba(var(--violet-500-rgb),.6);transform:translateY(-3px) scale(1.05)}.powerup-btn:active{transform:translateY(-1px) scale(1.02)}.minesweeper-game{background:rgba(var(--navy-rgb),.6);border:1px solid rgba(var(--slate-300-rgb),.3);border-radius:28px;box-shadow:0 20px 40px rgba(var(--black-rgb),.35);margin-top:1.5rem;padding:1.5rem}.minesweeper-stats{border-radius:16px;display:flex;gap:1.5rem;justify-content:center;margin-bottom:1rem;padding:.75rem}.minesweeper-board,.minesweeper-stats{background:rgba(var(--midnight-rgb),.5)}.minesweeper-board{border:1px solid rgba(var(--slate-300-rgb),.2);border-radius:24px;padding:1rem;position:relative}.minesweeper-grid{grid-gap:.35rem;display:grid;gap:.35rem}.cell{align-items:center;background:rgba(var(--slate-900-rgb),.85);border:1px solid rgba(var(--black-rgb),.35);border-radius:10px;box-shadow:inset 0 2px 6px rgba(var(--black-rgb),.45),0 4px 10px rgba(var(--black-rgb),.3);color:var(--text-contrast);cursor:pointer;display:flex;font-size:1rem;font-weight:600;height:40px;justify-content:center;transition:transform .12s ease,background .2s ease;width:40px}.cell:disabled{cursor:default}.cell:hover:not(.revealed):not(:disabled){background:rgba(var(--soft-blue-rgb),.25);transform:translateY(-1px)}.cell.revealed{background:rgba(var(--white-rgb),.15);border-color:rgba(var(--white-rgb),.25);box-shadow:inset 0 1px 4px rgba(var(--black-rgb),.25)}.cell.revealed.empty{background:rgba(var(--pale-aqua-rgb),.2);border-color:rgba(var(--pale-aqua-rgb),.6);box-shadow:inset 0 1px 4px rgba(var(--white-rgb),.3),inset 0 -1px 6px rgba(var(--soft-blue-rgb),.2)}.cell.flagged:not(.revealed){background:rgba(var(--mint-green-rgb),.25);border-color:rgba(var(--mint-green-rgb),.6)}.cell.exploded{animation:explodeFlash .6s ease;background:rgba(var(--rose-500-rgb),.3);border-color:rgba(var(--rose-500-rgb),.8)}@keyframes explodeFlash{0%{box-shadow:0 0 20px rgba(var(--rose-500-rgb),.8)}to{box-shadow:none}}.minesweeper-board .game-overlay-message{border-radius:16px;inset:1rem;position:absolute}@media (max-width:640px){.cell{height:36px;width:36px}}.snake-game{background:rgba(var(--navy-rgb),.4);border:1px solid rgba(var(--slate-300-rgb),.2);border-radius:28px;margin-top:1.5rem;padding:1.5rem}.snake-stats{background:rgba(var(--midnight-rgb),.5);border-radius:16px;gap:1.5rem;margin-bottom:1rem;padding:.75rem}.snake-arena,.snake-stats{display:flex;justify-content:center}.snake-arena{align-items:center;background:rgba(var(--midnight-rgb),.6);border:2px solid rgba(var(--slate-300-rgb),.2);border-radius:20px;min-height:450px;padding:1rem;position:relative}.snake-grid{grid-gap:1px;background:rgba(var(--slate-300-rgb),.1);border:2px solid rgba(var(--slate-300-rgb),.3);border-radius:8px;display:grid;gap:1px;padding:1px}.snake-cell{align-items:center;background:rgba(var(--navy-rgb),.8);display:flex;font-size:14px;height:20px;justify-content:center;transition:all .1s ease;width:20px}.snake-cell.snake-head{animation:pulse .5s ease-in-out infinite alternate;background:linear-gradient(135deg,rgba(var(--blue-500-rgb),.9),rgba(var(--blue-600-rgb),.9));border-radius:4px;box-shadow:0 0 10px rgba(var(--blue-500-rgb),.6)}.snake-cell.snake-body{background:linear-gradient(135deg,rgba(var(--blue-500-rgb),.6),rgba(var(--blue-600-rgb),.6));border-radius:3px}.snake-cell.food{animation:foodPulse .8s ease-in-out infinite alternate}@keyframes pulse{0%{box-shadow:0 0 10px rgba(var(--blue-500-rgb),.6)}to{box-shadow:0 0 20px rgba(var(--blue-500-rgb),.9)}}@keyframes foodPulse{0%{transform:scale(1)}to{transform:scale(1.2)}}.snake-flutter-logo{display:block;filter:brightness(1.2);height:16px;width:16px}.snake-start-message{background:rgba(var(--navy-rgb),.9);border:2px solid rgba(var(--slate-300-rgb),.3);border-radius:16px;color:rgba(var(--slate-50-rgb),.7);font-size:1.2rem;font-weight:600;padding:1.5rem 2rem}.snake-game-over,.snake-start-message{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.snake-game-over{background:rgba(var(--navy-rgb),.95);border:2px solid rgba(var(--rose-500-rgb),.5);border-radius:20px;min-width:250px;padding:2rem;z-index:20}.snake-game-over h2{color:rgba(var(--rose-500-rgb),.9);font-size:2rem;margin:0 0 1rem}.final-length{color:rgba(var(--blue-500-rgb),.9);font-size:1.2rem;font-weight:600;margin:.5rem 0}@media (max-width:640px){.snake-grid{transform:scale(.8)}.snake-arena{min-height:380px}}.dotsandlines-game{background:linear-gradient(135deg,rgba(var(--navy-rgb),.5),rgba(var(--indigo-900-rgb),.4));border:1px solid rgba(var(--slate-300-rgb),.3);border-radius:28px;box-shadow:0 8px 32px rgba(var(--black-rgb),.3);margin-top:1.5rem;padding:1.5rem}.dotsandlines-scoreboard{align-items:center;background:rgba(var(--midnight-rgb),.5);border-radius:16px;display:flex;gap:2rem;justify-content:center;margin-bottom:1.5rem;padding:1rem}.dotsandlines-scoreboard .score-item{align-items:center;background:rgba(var(--white-rgb),.05);border-radius:12px;display:flex;gap:.5rem;padding:.5rem 1rem}.dotsandlines-scoreboard .player-score{border:2px solid rgba(var(--blue-500-rgb),.4)}.dotsandlines-scoreboard .ai-score{border:2px solid rgba(var(--rose-500-rgb),.4)}.dotsandlines-board-container{margin:1rem auto;position:relative}.dotsandlines-board{background:rgba(var(--midnight-rgb),.3);border-radius:20px;justify-content:center;margin:1rem auto;max-width:400px;overflow:hidden;padding:2rem;position:relative}.dotsandlines-board,.dotsandlines-row{align-items:center;display:flex;flex-direction:column}.dots-row{height:40px}.boxes-row,.dots-row{align-items:center;display:flex}.boxes-row{height:60px}.dot{background:linear-gradient(135deg,rgb(var(--blue-500-rgb)),rgb(var(--violet-400-rgb)));border-radius:50%;box-shadow:0 0 10px rgba(var(--blue-500-rgb),.5);height:12px;width:12px;z-index:2}.line{cursor:pointer;position:relative;transition:all .2s ease}.line.horizontal{height:8px;width:60px}.line.horizontal,.line.vertical{background:rgba(var(--slate-300-rgb),.2);border-radius:4px;margin:0 2px}.line.vertical{height:60px;width:8px}.line:not(.filled):hover{background:rgba(var(--blue-500-rgb),.4);transform:scale(1.1)}.line.filled{background:linear-gradient(135deg,rgb(var(--blue-500-rgb)),rgb(var(--violet-400-rgb)));box-shadow:0 0 10px rgba(var(--blue-500-rgb),.5);cursor:default}.line.last-move{animation:lineGlow .5s ease-out}@keyframes lineGlow{0%{box-shadow:0 0 20px rgba(var(--amber-400-rgb),.8)}to{box-shadow:0 0 10px rgba(var(--blue-500-rgb),.5)}}.box{align-items:center;border-radius:8px;display:flex;height:60px;justify-content:center;margin:0 2px;transition:all .3s ease;width:60px}.box.player{background:rgba(var(--blue-500-rgb),.3);border:2px solid rgba(var(--blue-500-rgb),.6)}.box.ai,.box.player{animation:boxComplete .5s ease-out}.box.ai{background:rgba(var(--rose-500-rgb),.3);border:2px solid rgba(var(--rose-500-rgb),.6)}@keyframes boxComplete{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.box-icon{height:30px;object-fit:contain;width:30px}.game-status{margin-top:1rem;text-align:center}.status-text{font-size:1.1rem;font-weight:500}.flutter-logo-inline{height:20px;margin-right:.5rem;vertical-align:middle;width:20px}
/*# sourceMappingURL=main.5aefd515.css.map*/