*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-900:#0f0a05;--bg-800:#1a1208;--bg-700:#241a0c;--bg-600:#2e220f;--bg-500:#3d2e16;--text-100:#f5edd6;--text-200:#e8d5a3;--text-300:#c9a96e;--text-400:#9a7a4a;--coral:#ff6b4a;--coral-lt:#ff8b6a;--coral-dk:#d94f30;--teal:#2dd4bf;--teal-lt:#5eead4;--gold:#f59e0b;--gold-lt:#fcd34d;--purple:#a78bfa;--green:#34d399;--border:#f5edd614;--border-warm:#f5edd626;--border-glow:#ff6b4a4d;--shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 32px #00000080;--shadow-lg:0 20px 60px #0009;--shadow-coral:0 8px 32px #ff6b4a40;--shadow-teal:0 8px 32px #2dd4bf33;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;--radius-full:9999px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--bg-800);color:var(--text-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.7;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-900)}::-webkit-scrollbar-thumb{background:var(--coral);border-radius:3px}::selection{color:var(--text-100);background:#ff6b4a4d}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-100);letter-spacing:-.02em;line-height:1.2}h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:900}h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:700}h3{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600}h4{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600}p{color:var(--text-200);font-size:1rem;line-height:1.8}a{color:var(--coral);text-decoration:none;transition:color .2s}a:hover{color:var(--coral-lt)}code{font-family:var(--font-mono);background:var(--bg-700);color:var(--teal);border-radius:4px;padding:.15em .4em;font-size:.875em}pre{font-family:var(--font-mono);background:var(--bg-700);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:1.5rem;overflow-x:auto}img{max-width:100%;height:auto;display:block}.font-heading{font-family:var(--font-heading)}.font-mono{font-family:var(--font-mono)}.text-cream{color:var(--text-100)}.text-gold{color:var(--text-200)}.text-muted{color:var(--text-300)}.text-coral{color:var(--coral)}.text-teal{color:var(--teal)}.gradient-text{background:linear-gradient(135deg, var(--coral) 0%, var(--gold) 50%, var(--teal) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-text-coral{background:linear-gradient(135deg, var(--coral) 0%, var(--gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.card{background:var(--bg-700);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:all .3s}.card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-coral);transform:translateY(-4px)}.card-glass{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-warm);border-radius:var(--radius-lg);background:#241a0ccc}.btn{border-radius:var(--radius-full);font-family:var(--font-body);letter-spacing:.02em;cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-primary{background:var(--coral);color:#fff;box-shadow:var(--shadow-coral)}.btn-primary:hover{background:var(--coral-lt);color:#fff;transform:translateY(-2px);box-shadow:0 12px 40px #ff6b4a66}.btn-outline{color:var(--text-100);border:1px solid var(--border-warm);background:0 0}.btn-outline:hover{border-color:var(--coral);color:var(--coral);background:#ff6b4a14;transform:translateY(-2px)}.btn-teal{background:var(--teal);color:var(--bg-900);font-weight:700}.btn-teal:hover{background:var(--teal-lt);color:var(--bg-900);box-shadow:var(--shadow-teal);transform:translateY(-2px)}.section{padding:6rem 0;position:relative}.section-label{font-family:var(--font-mono);color:var(--coral);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.8rem;font-weight:500;display:flex}.section-label:before{content:"//";color:var(--teal)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.divider{background:linear-gradient(90deg, transparent, var(--border-warm), transparent);height:1px;margin:4rem 0}.badge{border-radius:var(--radius-full);font-size:.75rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.05em;align-items:center;padding:.3rem .8rem;display:inline-flex}.badge-coral{color:var(--coral);background:#ff6b4a26;border:1px solid #ff6b4a4d}.badge-teal{color:var(--teal);background:#2dd4bf26;border:1px solid #2dd4bf4d}.badge-gold{color:var(--gold);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-purple{color:var(--purple);background:#a78bfa26;border:1px solid #a78bfa4d}.noise:after{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");position:absolute;inset:0}.blob{filter:blur(80px);opacity:.15;pointer-events:none;border-radius:50%;animation:8s ease-in-out infinite alternate blobFloat;position:absolute}.blob-coral{background:radial-gradient(circle, var(--coral), transparent 70%)}.blob-teal{background:radial-gradient(circle, var(--teal), transparent 70%)}.blob-gold{background:radial-gradient(circle, var(--gold), transparent 70%)}@keyframes blobFloat{0%{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.05)}66%{transform:translate(-20px,15px)scale(.95)}to{transform:translate(10px,-30px)scale(1.08)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.float{animation:4s ease-in-out infinite float}.skill-bubble{cursor:pointer;text-align:center;font-size:.7rem;font-weight:700;font-family:var(--font-mono);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff26}.skill-bubble:hover{z-index:10;transform:scale(1.18)translateY(-6px);box-shadow:0 16px 48px #00000080,inset 0 1px #fff3}.timeline-line{background:linear-gradient(to bottom, var(--coral), var(--teal));width:2px;position:absolute;top:0;bottom:0;left:1.25rem}.timeline-dot{background:var(--coral);border:2px solid var(--bg-800);border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:0 0 0 4px #ff6b4a33}.navbar{z-index:100;align-items:center;height:72px;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#1a1208eb}.input{background:var(--bg-700);border:1px solid var(--border-warm);border-radius:var(--radius-md);width:100%;color:var(--text-100);font-family:var(--font-body);outline:none;padding:.875rem 1.25rem;font-size:1rem;transition:all .2s}.input::placeholder{color:var(--text-400)}.input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff6b4a26}textarea.input{resize:vertical;min-height:140px}.grid-2{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}@media (max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}h1{font-size:clamp(2rem,8vw,3rem)}h2{font-size:clamp(1.75rem,6vw,2.5rem)}.section{padding:4rem 0}.container{padding:0 1rem}}.ProseMirror{min-height:300px;color:var(--text-100);outline:none}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{color:var(--text-100);margin:1.5em 0 .5em}.ProseMirror p{color:var(--text-200);margin-bottom:1em}.ProseMirror blockquote{border-left:3px solid var(--coral);color:var(--text-300);padding-left:1rem}.ProseMirror code{background:var(--bg-700);color:var(--teal)}.ProseMirror a{color:var(--coral)}.ProseMirror ul,.ProseMirror ol{color:var(--text-200);padding-left:1.5rem}.ProseMirror li{margin-bottom:.5rem}.admin-sidebar{background:var(--bg-900);border-right:1px solid var(--border);flex-shrink:0;width:260px;min-height:100vh}.admin-nav-item{color:var(--text-300);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:.75rem;margin:.15rem .5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.admin-nav-item:hover,.admin-nav-item.active{color:var(--coral);background:#ff6b4a1f}.admin-content{background:var(--bg-800);flex:1;padding:2rem;overflow-y:auto}.custom-cursor{background:var(--coral);pointer-events:none;z-index:9999;mix-blend-mode:normal;border-radius:50%;width:12px;height:12px;transition:transform .15s,width .2s,height .2s,background .2s;position:fixed}.custom-cursor.hovering{border:2px solid var(--coral);background:#ff6b4a4d;width:36px;height:36px}.custom-cursor-ring{pointer-events:none;z-index:9998;border:1.5px solid #ff6b4a66;border-radius:50%;width:36px;height:36px;transition:transform 80ms linear;position:fixed}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;background:#000000d9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.reading-progress{background:linear-gradient(90deg, var(--coral), var(--gold), var(--teal));z-index:101;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.profile-frame{border-radius:40% 60% 60% 40%/40% 40% 60% 60%;flex-shrink:0;width:340px;height:340px;animation:8s ease-in-out infinite morphShape;position:relative;overflow:hidden}.profile-frame:before{content:"";background:linear-gradient(135deg, var(--coral), var(--gold), var(--teal), var(--coral));border-radius:inherit;z-index:-1;animation:4s linear infinite rotateBorder;position:absolute;inset:-3px}@keyframes morphShape{0%,to{border-radius:40% 60% 60% 40%/40% 40% 60% 60%}25%{border-radius:55% 45% 40% 60%/55% 35% 65% 45%}50%{border-radius:45% 55% 55% 45%/60% 50% 50% 40%}75%{border-radius:60% 40% 45% 55%/45% 60% 40% 55%}}@keyframes rotateBorder{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:768px){.profile-frame{width:220px;height:220px}.admin-sidebar{display:none}}
