:root,[data-theme=dark]{--bg: #050505;--bg-elevated: rgba(10, 10, 10, .78);--bg-band: rgba(0, 0, 0, .58);--surface: rgba(255, 255, 255, .065);--surface-hover: rgba(255, 255, 255, .11);--border: rgba(255, 255, 255, .11);--border-strong: rgba(255, 255, 255, .2);--accent: #b21f4b;--accent-dim: rgba(178, 31, 75, .18);--accent-glow: rgba(178, 31, 75, .42);--heading: #fafafa;--text: #e8e8e8;--text-muted: #a9a9a9;--nav-bg: rgba(0, 0, 0, .72);--orb-1: rgba(178, 31, 75, .52);--orb-2: rgba(255, 255, 255, .16);--shadow: 0 14px 42px rgba(0, 0, 0, .38);--grid-line: rgba(255, 255, 255, .045)}[data-theme=light]{--bg: #ffffff;--bg-elevated: rgba(255, 255, 255, .78);--bg-band: rgba(255, 255, 255, .58);--surface: rgba(255, 255, 255, .58);--surface-hover: rgba(255, 255, 255, .78);--border: rgba(0, 0, 0, .12);--border-strong: rgba(0, 0, 0, .22);--accent: #8a1538;--accent-dim: rgba(138, 21, 56, .12);--accent-glow: rgba(138, 21, 56, .28);--heading: #0a0a0a;--text: #252525;--text-muted: #666666;--nav-bg: rgba(255, 255, 255, .78);--orb-1: rgba(138, 21, 56, .38);--orb-2: rgba(0, 0, 0, .1);--shadow: 0 12px 36px rgba(0, 0, 0, .14);--grid-line: rgba(0, 0, 0, .06)}:root{--font: "Inter", system-ui, sans-serif;--mono: "JetBrains Mono", monospace;--nav-h: 64px;--max: 1280px;--ease: .3s cubic-bezier(.4, 0, .2, 1);--ease-spring: .5s cubic-bezier(.34, 1.4, .64, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.65;background:transparent;color:var(--text);-webkit-font-smoothing:antialiased;transition:background .4s ease,color .4s ease;user-select:none;-webkit-user-select:none}[dir=rtl] body{font-family:"Vazirmatn",var(--font)}[dir=rtl] .section-tag,[dir=rtl] .skill-pct,[dir=rtl] .cr-label,[dir=rtl] .entry-date,[dir=rtl] .tl-top time{font-family:"Vazirmatn",var(--mono)}.selectable{user-select:text;-webkit-user-select:text;cursor:text}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 32px}.section-tag{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.section-heading{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;color:var(--heading);letter-spacing:-.03em;margin:0 0 12px;line-height:1.15}.section-desc{font-size:1rem;color:var(--text-muted);margin:0 0 48px;max-width:520px}.accent-word{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease),background var(--ease)}.card:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-4px);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:100px;font-size:14px;font-weight:600;cursor:pointer;border:none;user-select:none;-webkit-user-select:none;transition:transform var(--ease-spring),box-shadow var(--ease),background var(--ease),color var(--ease)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--accent-glow)}.btn-outline{background:transparent;color:var(--heading);border:1px solid var(--border-strong)}.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.tag{display:inline-block;padding:5px 12px;font-size:12px;font-family:var(--mono);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;transition:border-color var(--ease),color var(--ease),transform var(--ease-spring)}.tag:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.05)}.tag--accent{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-dim)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in-view{opacity:1;transform:none}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.15);opacity:0}}@keyframes fade-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes slide-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:none}}@media (max-width: 768px){.container{padding:0 20px}}
