@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";.studio-nav-header{z-index:1000;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);width:100%;padding:.85rem 1.5rem;transition:all .3s;position:fixed;top:0;left:0;right:0}.studio-nav{justify-content:space-between;align-items:center;gap:1.5rem;max-width:1280px;margin:0 auto;display:flex}.studio-nav .studio-logo{color:var(--text-primary);align-items:center;gap:.6rem;text-decoration:none;transition:transform .2s,opacity .2s;display:flex}.studio-nav .studio-logo:hover{opacity:.95;transform:translateY(-1px)}.studio-nav .studio-logo .logo-name{font-family:var(--font-mono);letter-spacing:-.04em;color:var(--text-primary);font-size:1.2rem;font-weight:800}.studio-nav .studio-logo .logo-name .logo-dot{color:var(--accent);font-weight:900}.studio-nav .studio-nav-center{align-items:center;gap:2rem;display:flex}@media screen and (width<=868px){.studio-nav .studio-nav-center{display:none}}.studio-nav .studio-nav-center .studio-nav-links{align-items:center;gap:1.5rem;list-style:none;display:flex}.studio-nav .studio-nav-center .studio-nav-links a{color:var(--text-secondary);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.studio-nav .studio-nav-center .studio-nav-links a:hover{color:var(--text-primary)}.studio-nav .studio-nav-right{align-items:center;gap:.75rem;display:flex}.studio-nav .studio-nav-right .theme-toggle-btn{border-radius:var(--radius-md);border:1px solid var(--surface-border);background:var(--surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.studio-nav .studio-nav-right .theme-toggle-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.studio-nav .studio-nav-right .theme-toggle-btn.rotating svg{animation:.6s ease-in-out rotate}.studio-nav .studio-nav-right .btn-github-link{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--surface-border);color:var(--text-primary);align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.studio-nav .studio-nav-right .btn-github-link:hover{background:var(--surface-hover);border-color:var(--text-muted)}@media screen and (width<=500px){.studio-nav .studio-nav-right .btn-github-link{display:none}}.studio-nav .studio-nav-right .btn-github-link svg{margin-bottom:2px}.studio-nav .studio-nav-right .mobile-menu-trigger{border-radius:var(--radius-md);border:1px solid var(--surface-border);background:var(--surface);width:36px;height:36px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;display:none}@media screen and (width<=868px){.studio-nav .studio-nav-right .mobile-menu-trigger{display:flex}}.mobile-menu-overlay{background:var(--bg-secondary);border-bottom:1px solid var(--surface-border);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;position:absolute;top:100%;left:0;right:0}.mobile-menu-overlay ul{flex-direction:column;gap:1rem;list-style:none;display:flex}.mobile-menu-overlay ul a{color:var(--text-primary);font-size:1.1rem;font-weight:600;text-decoration:none}.mobile-menu-overlay .mobile-menu-footer{border-top:1px solid var(--surface-border);padding-top:1rem}.mobile-menu-overlay .mobile-menu-footer .mobile-contact-btn{text-align:center;background:var(--accent);color:#fff;border-radius:var(--radius-md);padding:.75rem;font-weight:600;text-decoration:none;display:block}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portfolio-loader{z-index:9999;background:var(--bg-primary);justify-content:center;align-items:center;width:100vw;height:100vh;padding:2rem;display:flex;position:fixed;inset:0;overflow:hidden}.loader-ambient-glow{pointer-events:none;filter:blur(40px);background:radial-gradient(circle,#ed6f631f 0%,#ed6f6308 45%,#0000 70%);width:500px;height:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader-hud-card{background:var(--card-bg);border:1px solid var(--surface-border);border-radius:var(--radius-lg);z-index:1;width:100%;max-width:520px;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000040}.loader-hud-card .hud-header{background:var(--surface);border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.loader-hud-card .hud-header .hud-controls{align-items:center;gap:.4rem;display:flex}.loader-hud-card .hud-header .hud-controls .dot{border-radius:50%;width:10px;height:10px}.loader-hud-card .hud-header .hud-controls .dot.dot-red{background-color:#ff5f56}.loader-hud-card .hud-header .hud-controls .dot.dot-yellow{background-color:#ffbd2e}.loader-hud-card .hud-header .hud-controls .dot.dot-green{background-color:#27c93f}.loader-hud-card .hud-header .hud-title{font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.75rem;display:flex}.loader-hud-card .hud-header .hud-title .status-indicator{background-color:var(--emerald-accent);width:6px;height:6px;box-shadow:0 0 8px var(--emerald-accent);border-radius:50%}.loader-hud-card .hud-header .hud-tag{font-family:var(--font-mono);color:var(--accent-light);border-radius:var(--radius-sm);background:#ed6f631a;border:1px solid #ed6f6333;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:inline-flex}.loader-hud-card .hud-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.loader-hud-card .hud-body .hud-cmd-row{font-family:var(--font-mono);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.loader-hud-card .hud-body .hud-cmd-row .cmd-prompt{color:var(--accent);font-weight:800}.loader-hud-card .hud-body .hud-cmd-row .cmd-text{color:var(--text-primary);font-weight:600}.loader-hud-card .hud-body .hud-cmd-row .cmd-flag{color:var(--text-muted);font-size:.75rem}.loader-hud-card .hud-body .progress-section{flex-direction:column;gap:.6rem;display:flex}.loader-hud-card .hud-body .progress-section .progress-bar-track{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.loader-hud-card .hud-body .progress-section .progress-bar-fill{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%);border-radius:var(--radius-full);height:100%;box-shadow:0 0 12px var(--accent-glow);transition:width .15s ease-out}.loader-hud-card .hud-body .progress-section .progress-meta{font-family:var(--font-mono);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.loader-hud-card .hud-body .progress-section .progress-meta .progress-percent{color:var(--text-primary);font-weight:800}.loader-hud-card .hud-body .progress-section .progress-meta .progress-status{color:var(--emerald-accent);align-items:center;gap:.35rem;font-weight:600;display:flex}.loader-hud-card .hud-body .progress-section .progress-meta .progress-status .icon-spin{animation:1.5s linear infinite spinCpu}.loader-hud-card .hud-body .hud-log-console{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-md);font-family:var(--font-mono);flex-direction:column;gap:.5rem;min-height:110px;padding:.85rem 1rem;font-size:.75rem;display:flex}.loader-hud-card .hud-body .hud-log-console .log-line{color:var(--text-secondary);align-items:center;gap:.5rem;animation:.25s ease-out forwards fadeInLine;display:flex}.loader-hud-card .hud-body .hud-log-console .log-line .log-icon-check{color:var(--emerald-accent);flex-shrink:0}@keyframes spinCpu{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInLine{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.app{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-base);min-height:100vh;position:relative;overflow-x:hidden}main{flex-direction:column;width:100%;display:flex}.head-text{text-align:center;color:var(--text-primary);letter-spacing:-.02em;font-size:2.75rem;font-weight:800}.head-text span{color:var(--accent-light)}@media screen and (width<=768px){.head-text{font-size:2rem}}.p-text{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.bold-text{color:var(--text-primary);font-size:1rem;font-weight:700}:root{--font-base:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-primary:#09090b;--bg-secondary:#121215;--surface:#18181b;--surface-hover:#27272a;--surface-border:#27272a;--border-light:#ffffff14;--border-glow:#ed6f634d;--accent:#ed6f63;--accent-light:#f0857a;--accent-glow:#ed6f6326;--cyan-accent:#38bdf8;--emerald-accent:#10b981;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-white:#fff;--card-bg:#18181bb3;--glass-bg:#121215cc;--glass-border:#ffffff14;--grid-line:#ffffff0d;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--surface:#fff;--surface-hover:#f1f5f9;--surface-border:#e2e8f0;--border-light:#00000014;--border-glow:#ed6f6333;--accent:#ed6f63;--accent-light:#f0857a;--accent-glow:#ed6f631a;--cyan-accent:#0284c7;--emerald-accent:#059669;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-white:#fff;--card-bg:#ffffffe6;--glass-bg:#ffffffd9;--glass-border:#00000014;--grid-line:#0000000f}*{box-sizing:border-box;scroll-behavior:smooth;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.bg-grid-pattern{background-size:40px 40px;background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px)}
