:root[data-theme=dark]{--bg-page:#030303;--bg-ambient-1:#ffffff0d;--bg-ambient-2:#ffffff0a;--bg-ambient-3:#ffffff0f;--bg-ambient-4:#ffffff0d;--bg-ambient-5:#ffffff08;--glass-bg-start:#ffffff24;--glass-bg-mid:#ffffff0f;--glass-bg-end:#0a0a0a73;--glass-bg-hover-start:#ffffff38;--glass-bg-hover-mid:#ffffff14;--glass-bg-hover-end:#12121280;--glass-border:#ffffff59;--glass-border-subtle:#ffffff29;--glass-border-hover:#ffffff7a;--glass-highlight:#ffffff59;--glass-highlight-hover:#ffffff73;--glass-inset-ring:#ffffff0f;--glass-inset-ring-hover:#ffffff1a;--glass-shine:#ffffff2e;--glass-glow:#ffffff0f;--card-bg-start:#ffffff17;--card-bg-mid:#ffffff08;--card-bg-end:#08080873;--card-border:#ffffff29;--card-inset:#ffffff0a;--card-shadow:#00000059;--blog-card-bg-start:#ffffff1f;--blog-card-bg-mid:#ffffff0a;--blog-card-bg-end:#08080866;--blog-card-border:#ffffff2e;--nav-bg-start:#060606eb;--nav-bg-mid:#0a0a0ac7;--nav-bg-end:#0e0e0ea6;--nav-border:#ffffff1f;--nav-shadow:#00000059;--nav-highlight:#ffffff0f;--nav-link-bg-start:#ffffff1a;--nav-link-bg-end:#ffffff0a;--nav-link-border:#ffffff38;--nav-link-color:#f8fafc;--nav-link-hover-start:#fff3;--nav-link-hover-end:#ffffff14;--nav-link-hover-border:#ffffff6b;--text-primary:#fff;--text-secondary:#ffffffe6;--text-muted:#fff9;--text-faint:#ffffff80;--text-body:#ffffffbf;--text-subtle:#ffffff8c;--text-icon:#ffffffe6;--text-close:#888;--accent:#7dd3fce6;--accent-hover:#bae6fd;--accent-muted:#7dd3fcbf;--accent-faint:#7dd3fc80;--accent-bullet:#7dd3fc80;--expanded-bg-start:#38bdf852;--expanded-bg-mid:#6366f142;--expanded-bg-end:#1e3a8a59;--expanded-border:#7dd3fc9e;--expanded-border-hover:#7dd3fcc7;--expanded-inset:#bae6fd47;--expanded-ring:#38bdf838;--expanded-shadow:#0e749047;--expanded-glow:#38bdf83d;--expanded-text-glow:#38bdf847;--expanded-caret:#e0f2fefa;--expanded-caret-glow:#38bdf873;--action-bg:#0066cc4d;--action-border:#06c6;--action-shadow:#06c3;--action-bg-hover:#08f6;--action-border-hover:#08f9;--action-shadow-hover:#0088ff4d;--btn-glass-bg:#33333326;--btn-glass-bg-hover:#55555540;--btn-glass-border:#fff3;--btn-glass-border-hover:#ffffff4d;--btn-glass-shadow:#0003;--btn-glass-shadow-hover:#0000004d;--btn-glass-highlight:#ffffff4d;--btn-glass-highlight-hover:#fff6;--btn-glass-bottom:#0000001a;--widget-bg:#ffffff0d;--widget-border:#ffffff4d;--widget-shadow:#0006;--widget-highlight:#ffffff4d;--widget-bottom:#0003;--widget-thumb-border:#333;--widget-description:#ccc;--inner-card-bg:#ffffff0f;--inner-card-border:#ffffff1f;--inner-card-bg-hover:#ffffff17;--inner-card-border-hover:#ffffff38;--inner-card-art-shadow:#00000059;--track-row-border:#ffffff1a;--track-row-bg-hover:#ffffff1a;--track-row-border-hover:#ffffff2e;--chip-bg:#ffffff12;--chip-border:#ffffff24;--chip-color:#e4e4e4;--chip-bg-hover:#ffffff1f;--chip-border-hover:#ffffff42;--chip-rank-bg:#fff3;--section-title-color:#bbb;--track-name:#fff;--track-artist:#ccc;--track-artist-alt:#c8c8c8;--skeleton-from:#ffffff0f;--skeleton-to:#ffffff24;--live-dot:#34d39980;--live-dot-active:#34d399;--paused-color:#fbbf24f2;--progress-fill:#61dafb;--progress-bg:#ffffff1a;--lang-info-color:#ddd;--tag-bg:#fff3;--tag-border:#ffffff4d;--scrollbar-track:#0000004d;--scrollbar-thumb:#ffffff4d;--scrollbar-thumb-hover:#ffffff80;--focus-ring:#ffffffd9;--focus-ring-outer:#00000080;--shadow-base:#00000059;--shadow-medium:#0003;--shadow-image:#0003;--shadow-image-hover:#0000004d;--block-math-bg:#ffffff0d;--caption-color:#ffffffb3;--svg-fill:#f5f5f580;--svg-stroke:#0000008c;--blog-back-bg:#ffffff1a;--blog-back-bg-hover:#fff3;--blog-back-border:#fff3;--divider:#ffffff40;--divider-subtle:#ffffff1a;--thumbnail-bg:#0003;color-scheme:dark}:root[data-theme=light]{--bg-page:#f0f2f5;--bg-ambient-1:#00003c08;--bg-ambient-2:rgba(0,0,60,.025);--bg-ambient-3:rgba(0,0,60,.035);--bg-ambient-4:#00003c08;--bg-ambient-5:rgba(0,0,60,.015);--glass-bg-start:#ffffffa6;--glass-bg-mid:#ffffff73;--glass-bg-end:#dce1eb80;--glass-bg-hover-start:#fffc;--glass-bg-hover-mid:#ffffff8c;--glass-bg-hover-end:#d7dce68c;--glass-border:#00003c1f;--glass-border-subtle:#00003c14;--glass-border-hover:#00003c33;--glass-highlight:#fffc;--glass-highlight-hover:#ffffffe6;--glass-inset-ring:#ffffff80;--glass-inset-ring-hover:#fff9;--glass-shine:#ffffff80;--glass-glow:#00003c0a;--card-bg-start:#fff9;--card-bg-mid:#fff6;--card-bg-end:#dce1eb73;--card-border:#00003c14;--card-inset:#ffffff80;--card-shadow:#00003c1f;--blog-card-bg-start:#ffffffa6;--blog-card-bg-mid:#fff6;--blog-card-bg-end:#dce1eb66;--blog-card-border:#00003c1a;--nav-bg-start:#f0f2f5eb;--nav-bg-mid:#ebedf0d9;--nav-bg-end:#e6e8ecbf;--nav-border:#00003c14;--nav-shadow:#00003c1a;--nav-highlight:#fff9;--nav-link-bg-start:#fff9;--nav-link-bg-end:#ffffff59;--nav-link-border:#00003c1a;--nav-link-color:#1a1a2e;--nav-link-hover-start:#fffc;--nav-link-hover-end:#ffffff80;--nav-link-hover-border:#00003c2e;--text-primary:#1a1a2e;--text-secondary:#00001ecc;--text-muted:#00001e80;--text-faint:#00001e66;--text-body:#00001ea6;--text-subtle:#00001e73;--text-icon:#00001ebf;--text-close:#999;--accent:#0284c7f2;--accent-hover:#0369a1;--accent-muted:#0284c7bf;--accent-faint:#0284c766;--accent-bullet:#0284c780;--expanded-bg-start:#38bdf838;--expanded-bg-mid:#6366f129;--expanded-bg-end:#93c5fd40;--expanded-border:#38bdf873;--expanded-border-hover:#38bdf899;--expanded-inset:#bae6fd59;--expanded-ring:#38bdf833;--expanded-shadow:#0e749026;--expanded-glow:#38bdf826;--expanded-text-glow:#38bdf833;--expanded-caret:#0369a1f2;--expanded-caret-glow:#38bdf859;--action-bg:#0284c733;--action-border:#0284c74d;--action-shadow:#0284c71f;--action-bg-hover:#0284c74d;--action-border-hover:#0284c773;--action-shadow-hover:#0284c733;--btn-glass-bg:#ffffff80;--btn-glass-bg-hover:#ffffffb3;--btn-glass-border:#00003c1a;--btn-glass-border-hover:#00003c29;--btn-glass-shadow:#00003c14;--btn-glass-shadow-hover:#00003c1f;--btn-glass-highlight:#fffc;--btn-glass-highlight-hover:#ffffffe6;--btn-glass-bottom:#00003c0a;--widget-bg:#ffffff73;--widget-border:#00003c1a;--widget-shadow:#00003c1a;--widget-highlight:#fffc;--widget-bottom:#00003c0a;--widget-thumb-border:#d1d5db;--widget-description:#555;--inner-card-bg:#00003c0a;--inner-card-border:#00003c14;--inner-card-bg-hover:#00003c0f;--inner-card-border-hover:#00003c24;--inner-card-art-shadow:#00003c1f;--track-row-border:#00003c0f;--track-row-bg-hover:#00003c0f;--track-row-border-hover:#00003c1f;--chip-bg:#00003c0d;--chip-border:#00003c1a;--chip-color:#374151;--chip-bg-hover:#00003c14;--chip-border-hover:#00003c29;--chip-rank-bg:#00003c1a;--section-title-color:#666;--track-name:#1a1a2e;--track-artist:#555;--track-artist-alt:#666;--skeleton-from:#00003c0a;--skeleton-to:#00003c1a;--live-dot:#16a34a80;--live-dot-active:#16a34a;--paused-color:#ca8a04f2;--progress-fill:#0284c7;--progress-bg:#00003c14;--lang-info-color:#444;--tag-bg:#00003c0f;--tag-border:#00003c1f;--scrollbar-track:#00003c0f;--scrollbar-thumb:#00003c26;--scrollbar-thumb-hover:#00003c40;--focus-ring:#0284c799;--focus-ring-outer:#fffc;--shadow-base:#00003c1a;--shadow-medium:#00003c0f;--shadow-image:#00003c1a;--shadow-image-hover:#00003c29;--block-math-bg:#00003c0a;--caption-color:#00001e8c;--svg-fill:#00001e66;--svg-stroke:#ffffff80;--blog-back-bg:#ffffff80;--blog-back-bg-hover:#ffffffb3;--blog-back-border:#00003c1a;--divider:#00003c1f;--divider-subtle:#00003c0f;--thumbnail-bg:#00003c0d;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}*,:after,:before{transition-duration:0s;transition-property:background-color,background,color,border-color,box-shadow,fill,stroke}html[data-theme-transitioning] *,html[data-theme-transitioning] :after,html[data-theme-transitioning] :before{transition-duration:.35s!important;transition-timing-function:ease!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;background-color:var(--bg-page);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden;width:100vw}body:before{background:radial-gradient(ellipse 100% 60% at 50% -10%,var(--bg-ambient-1) 0,#0000 50%),radial-gradient(ellipse 80% 50% at 100% 50%,var(--bg-ambient-2) 0,#0000 45%),var(--bg-page);content:"";inset:0;pointer-events:none;position:fixed;z-index:-3}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.glass-pill{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);background:linear-gradient(145deg,var(--glass-bg-start) 0,var(--glass-bg-mid) 45%,var(--glass-bg-end) 100%);border:1px solid var(--glass-border);border-radius:50px;box-shadow:0 0 0 1px var(--glass-inset-ring) inset,0 8px 28px var(--shadow-base),0 2px 8px var(--shadow-medium),inset 0 1px 0 var(--glass-highlight);cursor:pointer;display:inline-block;font-weight:700;line-height:1.2;margin:0 2px;overflow:hidden;padding:6px 14px 6px 16px;position:relative;transition:transform .35s cubic-bezier(.34,1.3,.64,1),box-shadow .35s ease,border-color .35s ease,background .35s ease,filter .35s ease;-webkit-transition:transform .35s cubic-bezier(.34,1.3,.64,1),box-shadow .35s ease,border-color .35s ease,background .35s ease,filter .35s ease;vertical-align:middle;white-space:nowrap}.glass-pill-border-slot{border-radius:inherit;inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.glass-pill:focus{outline:none}.glass-pill:focus-visible{box-shadow:0 0 0 2px var(--focus-ring),0 0 0 4px var(--focus-ring-outer),0 8px 28px var(--shadow-base)}.glass-pill:before{background:linear-gradient(105deg,#0000 0,var(--glass-shine) 45%,#0000 70%);border-radius:inherit;content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .65s ease;width:100%;z-index:1}.glass-pill:hover:before{left:100%}.glass-pill:hover{background:linear-gradient(145deg,var(--glass-bg-hover-start) 0,var(--glass-bg-hover-mid) 50%,var(--glass-bg-hover-end) 100%);border-color:var(--glass-border-hover);box-shadow:0 0 0 1px var(--glass-inset-ring-hover) inset,0 14px 36px var(--shadow-base),0 0 28px var(--glass-glow),inset 0 1px 0 var(--glass-highlight-hover);transform:translateY(-2px) scale(1.03)}.glass-pill.expanded{background:linear-gradient(145deg,var(--expanded-bg-start) 0,var(--expanded-bg-mid) 55%,var(--expanded-bg-end) 100%);border:1px solid var(--expanded-border);box-shadow:0 0 0 1px var(--expanded-inset) inset,0 0 0 2px var(--expanded-ring),0 4px 14px var(--expanded-shadow),0 0 12px -4px var(--expanded-glow),inset 0 1px 0 var(--glass-highlight);filter:brightness(1.05);transform:translateY(-.5px) scale(1.01)}.glass-pill.expanded:before{background:linear-gradient(105deg,#0000,#ffffff52,#bae6fd38,#0000)}.glass-pill-content{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;color:var(--text-primary);display:inline-flex;font-size:inherit;gap:.4em;position:relative;white-space:nowrap;z-index:2}.glass-pill-label{text-shadow:0 1px 2px var(--shadow-base),0 0 18px var(--glass-glow)}.glass-pill.expanded .glass-pill-label{text-shadow:0 1px 2px var(--shadow-base),0 0 10px var(--expanded-text-glow)}.glass-pill-caret{align-items:center;color:var(--text-body);display:inline-flex;justify-content:center;margin-right:-.05em;transform:rotate(-90deg);transition:transform .4s cubic-bezier(.34,1.3,.64,1),color .3s ease}.glass-pill-caret--open{color:var(--expanded-caret);transform:rotate(0deg)}.glass-pill.expanded .glass-pill-caret-icon{filter:drop-shadow(0 0 4px var(--expanded-caret-glow))}.glass-pill-caret-icon{display:block}.glass-pill:active{transform:translateY(0) scale(.98);transition:transform .12s ease}.glass-pill.expanded:active{transform:translateY(0) scale(1)}.glass-pill.expanded:hover{background:linear-gradient(145deg,#38bdf86b,#6366f157 50%,#1e3a8a6b);border-color:var(--expanded-border-hover);box-shadow:0 0 0 1px #bae6fd59 inset,0 0 0 2px #38bdf84d,0 6px 18px var(--expanded-shadow),0 0 16px -4px var(--expanded-glow),inset 0 1px 0 var(--glass-highlight-hover)}.pill-border-running-text__host{display:block;height:100%;min-height:0;min-width:0;width:100%}.pill-border-running-text{display:block;height:100%;vertical-align:top;width:100%}.pill-border-running-text__geometry{fill:none;stroke:none}.pill-border-running-text__label{fill:var(--svg-fill);stroke:var(--svg-stroke);stroke-width:.3px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:650;letter-spacing:.18em;paint-order:stroke fill;text-transform:uppercase}.expandable-container{display:inline;overflow:visible;position:relative}.expandable-pill-stack{display:inline-block;overflow:visible;position:relative;vertical-align:initial}.expandable-pill-stack:has(.glass-pill.expanded){padding-block:.32em}.expandable-pill-stack--callout{overflow:visible;z-index:8}.expanded-content{animation:fadeIn .3s ease-in-out;-webkit-animation:fadeIn .3s ease-in-out;display:inline}.expanded-content *{color:inherit}.widget-container{animation:slideUp .3s ease-out;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:var(--widget-bg);border:1px solid var(--widget-border);border-radius:12px;box-shadow:0 8px 32px var(--widget-shadow),inset 0 1px 0 var(--widget-highlight),inset 0 -1px 0 var(--widget-bottom);color:var(--text-primary);max-width:300px;padding:20px;pointer-events:auto;position:fixed;position:relative;transition:opacity .3s ease,transform .3s ease;width:300px}.widget-container.widget-hidden{animation:none;opacity:0;pointer-events:none;transform:translateY(20px) scale(.95)}.widget-close{align-items:center;background:none;border:none;color:var(--text-close);cursor:pointer;display:flex;font-size:24px;height:25px;justify-content:center;line-height:1;padding:0;position:absolute;right:15px;top:10px;width:25px}.widget-close:hover{color:var(--text-primary)}.widget-thumbnail{border:2px solid var(--widget-thumb-border);border-radius:50%;height:60px;margin-bottom:15px;overflow:hidden;width:60px}.widget-thumbnail img{height:100%;object-fit:cover;width:100%}.widget-content{padding-right:30px}.widget-title{color:var(--text-primary);font-size:1.2rem;font-weight:700;margin:0 0 10px}.widget-description{color:var(--widget-description);font-size:.9rem;line-height:1.4;margin:0 0 15px}.widget-action{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--action-bg);border:1px solid var(--action-border);border-radius:6px;box-shadow:0 4px 15px var(--action-shadow),inset 0 1px 0 var(--glass-inset-ring);color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:700;margin-right:-30px;padding:10px 20px;transition:all .2s ease;width:calc(100% + 30px)}.widget-action:hover{background:var(--action-bg-hover);border-color:var(--action-border-hover);box-shadow:0 6px 20px var(--action-shadow-hover),inset 0 1px 0 var(--glass-inset-ring-hover);transform:translateY(-1px)}@media (max-width:768px){.widget-container{animation:slideDown .3s ease-out;max-width:calc(100vw - 20px);right:10px!important;width:calc(100vw - 20px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%,to{box-shadow:0 8px 32px var(--shadow-base),inset 0 1px 0 var(--widget-highlight),inset 0 -1px 0 var(--widget-bottom)}50%{box-shadow:0 8px 32px var(--shadow-base),inset 0 1px 0 var(--btn-glass-highlight-hover),inset 0 -1px 0 var(--widget-bottom)}}.spotify-widget{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:100%;padding-right:0;width:100%}.spotify-widget__empty,.spotify-widget__error{color:var(--widget-description);font-size:.9rem;line-height:1.45;margin:0}.spotify-widget__skeleton{display:flex;flex-direction:column;gap:10px;padding:4px 0}.spotify-widget__skeleton-line{animation:spotify-shimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,var(--skeleton-from) 0,var(--skeleton-to) 50%,var(--skeleton-from) 100%);background-size:200% 100%;border-radius:6px;height:12px}.spotify-widget__skeleton-line--wide{width:88%}.spotify-widget__skeleton-line--narrow{width:52%}@keyframes spotify-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.spotify-section{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center;width:100%}.spotify-section--now{align-items:stretch;text-align:left}.spotify-section--now .spotify-section__title{justify-content:flex-start}.spotify-section__title{align-items:center;color:var(--section-title-color);display:flex;font-size:.72rem;font-weight:650;gap:8px;justify-content:center;letter-spacing:.12em;margin:0;text-transform:uppercase;width:100%}.spotify-section__live{background:var(--live-dot);border-radius:50%;box-shadow:0 0 8px var(--live-dot);flex-shrink:0;height:7px;width:7px}.spotify-section__live[data-playing=true]{animation:spotify-pulse 1.4s ease-in-out infinite;background:var(--live-dot-active)}@keyframes spotify-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.92)}}.spotify-now-card{align-items:flex-start;background:var(--inner-card-bg);border:1px solid var(--inner-card-border);border-radius:10px;box-sizing:border-box;color:inherit;display:flex;gap:12px;padding:12px 14px;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease;width:100%}.spotify-now-card:hover{background:var(--inner-card-bg-hover);border-color:var(--inner-card-border-hover);transform:translateY(-1px)}.spotify-now-card__art{border-radius:8px;box-shadow:0 4px 12px var(--inner-card-art-shadow);flex-shrink:0;object-fit:cover}.spotify-now-card__meta{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.spotify-now-card__name{color:var(--track-name);font-size:.92rem;font-weight:700;line-height:1.35}.spotify-now-card__artists,.spotify-now-card__name{overflow-wrap:break-word;white-space:normal;word-break:break-word}.spotify-now-card__artists{color:var(--track-artist);font-size:.78rem;line-height:1.4}.spotify-now-card__paused{color:var(--paused-color);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.spotify-track-list{box-sizing:border-box;display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;max-width:100%;padding:0;width:100%}.spotify-track-list>li{margin:0;width:100%}.spotify-track-row{align-items:flex-start;background:var(--inner-card-bg);border:1px solid var(--track-row-border);border-radius:10px;box-sizing:border-box;color:inherit;display:flex;gap:12px;max-width:100%;padding:9px 12px;text-align:left;text-decoration:none;transition:background .2s ease,border-color .2s ease;width:100%}.spotify-track-row:hover{background:var(--track-row-bg-hover);border-color:var(--track-row-border-hover)}.spotify-track-row__art{border-radius:8px;flex-shrink:0;height:44px;object-fit:cover;width:44px}.spotify-track-row__main{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0;padding-top:1px}.spotify-track-row__name{color:var(--track-name);font-size:.84rem;font-weight:650;line-height:1.35}.spotify-track-row__artists,.spotify-track-row__name{overflow-wrap:break-word;white-space:normal;word-break:break-word}.spotify-track-row__artists{color:var(--track-artist-alt);font-size:.74rem;line-height:1.4}.spotify-artist-chips{align-content:flex-start;display:flex;flex-flow:row wrap;gap:6px 7px;justify-content:center;max-width:100%;width:100%}.spotify-artist-chip{align-items:center;background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:999px;box-sizing:border-box;color:var(--chip-color);display:inline-flex;font-size:.72rem;font-weight:600;gap:5px;line-height:1.25;max-width:100%;padding:3px 9px 3px 4px;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}.spotify-artist-chip:hover{background:var(--chip-bg-hover);border-color:var(--chip-border-hover);transform:translateY(-1px)}.spotify-artist-chip__rank{align-items:center;background:var(--chip-rank-bg);border-radius:999px;color:var(--text-primary);display:inline-flex;flex-shrink:0;font-size:.58rem;font-weight:700;height:1.1rem;justify-content:center;letter-spacing:.02em;min-width:1.1rem;padding:0 4px}.spotify-artist-chip__name{max-width:8.5rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wakatime-stats{display:flex;flex-direction:column;gap:15px}.wakatime-total{background:var(--widget-bg);border-radius:8px;padding:10px;text-align:center}.wakatime-hours{color:var(--text-primary);display:block;font-size:1.5em;font-weight:700}.wakatime-label{color:var(--widget-description);font-size:.8em}.wakatime-languages{display:flex;flex-direction:column;gap:8px}.wakatime-lang-bar{display:flex;flex-direction:column;gap:2px}.lang-info{color:var(--lang-info-color);display:flex;font-size:.85em;justify-content:space-between}.progress-bar-bg{background:var(--progress-bg);border-radius:3px;height:6px;overflow:hidden}.progress-bar-fill{background:var(--progress-fill);border-radius:3px;height:100%}.widget-collapse-button{align-items:center;animation:collapse-button-enter .3s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--btn-glass-bg);border:1px solid var(--btn-glass-border);border-radius:50%;box-shadow:0 4px 15px var(--btn-glass-shadow),inset 0 1px 0 var(--btn-glass-highlight),inset 0 -1px 0 var(--btn-glass-bottom);cursor:pointer;display:flex;height:44px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:44px}.widget-collapse-button:before{background:linear-gradient(90deg,#0000,var(--glass-shine),#0000);border-radius:50%;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.widget-collapse-button:hover{background:var(--btn-glass-bg-hover);border-color:var(--btn-glass-border-hover);box-shadow:0 6px 20px var(--btn-glass-shadow-hover),inset 0 1px 0 var(--btn-glass-highlight-hover),inset 0 -1px 0 var(--btn-glass-bottom);transform:translateY(-1px) scale(1.05)}.widget-collapse-button:hover:before{left:100%}.widget-collapse-button:active{transform:translateY(0) scale(.95);transition:transform .1s ease}.collapse-chevron{color:var(--text-icon);filter:drop-shadow(0 1px 2px var(--shadow-medium));transition:transform .3s cubic-bezier(.4,0,.2,1)}.widget-collapse-button.collapsed .collapse-chevron{transform:rotate(180deg)}.widget-collapse-button.shining:before{animation:collapse-button-shine .6s ease forwards}@keyframes collapse-button-shine{0%{left:-100%}to{left:100%}}@keyframes collapse-button-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.widget-collapse-button{right:10px!important}.widget-collapse-button.mobile .collapse-chevron{transform:rotate(180deg)}.widget-collapse-button.mobile.collapsed .collapse-chevron{transform:rotate(0deg)}}.introduction{align-items:center;box-sizing:border-box;color:var(--text-primary);display:flex;font-family:Courier New,monospace;justify-content:center;min-height:100vh;overflow-x:visible;padding:80px 20px 40px;position:relative;width:100%}.introduction:before{background:radial-gradient(ellipse 120% 80% at 18% 18%,var(--bg-ambient-3) 0,#0000 55%),radial-gradient(ellipse 90% 70% at 88% 72%,var(--bg-ambient-4) 0,#0000 50%),radial-gradient(ellipse 55% 45% at 50% 100%,var(--bg-ambient-5) 0,#0000 45%),var(--bg-page);content:"";inset:0;pointer-events:none;position:fixed;z-index:-2}.introduction-text{box-sizing:border-box;color:var(--text-primary);font-size:2.5rem;line-height:2;margin:0 auto;max-width:900px;position:relative;text-align:left;width:100%}.introduction-text *{color:inherit}@media (max-width:480px){.introduction{padding:70px 15px 20px}}.theme-toggle{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(145deg,var(--nav-link-bg-start) 0,var(--nav-link-bg-end) 100%);border:1px solid var(--nav-link-border);border-radius:50%;box-shadow:0 0 0 1px var(--glass-inset-ring) inset,0 4px 16px var(--shadow-medium);cursor:pointer;display:flex;height:38px;justify-content:center;overflow:hidden;padding:0;position:relative;transition:transform .28s cubic-bezier(.34,1.2,.64,1),box-shadow .28s ease,border-color .28s ease,background .28s ease;width:38px}.theme-toggle:hover{background:linear-gradient(145deg,var(--nav-link-hover-start) 0,var(--nav-link-hover-end) 100%);border-color:var(--nav-link-hover-border);box-shadow:0 0 0 1px var(--glass-inset-ring-hover) inset,0 8px 28px var(--shadow-base),0 0 20px var(--glass-glow);transform:translateY(-2px)}.theme-toggle:active{transform:translateY(0) scale(.92);transition:transform .1s ease}.theme-toggle__icon{height:18px;position:relative;width:18px}.theme-toggle__moon,.theme-toggle__sun{align-items:center;display:flex;inset:0;justify-content:center;position:absolute;transition:transform .4s cubic-bezier(.34,1.3,.64,1),opacity .3s ease}.theme-toggle__moon svg,.theme-toggle__sun svg{height:18px;width:18px}:root[data-theme=dark] .theme-toggle__moon{opacity:1;transform:rotate(0deg) scale(1)}:root[data-theme=dark] .theme-toggle__sun{opacity:0;transform:rotate(-90deg) scale(.5)}:root[data-theme=light] .theme-toggle__sun{opacity:1;transform:rotate(0deg) scale(1)}:root[data-theme=light] .theme-toggle__moon{opacity:0;transform:rotate(90deg) scale(.5)}@media (max-width:768px){.theme-toggle{height:34px;width:34px}.theme-toggle__icon,.theme-toggle__moon svg,.theme-toggle__sun svg{height:16px;width:16px}}@media (max-width:480px){.theme-toggle{height:30px;width:30px}.theme-toggle__icon,.theme-toggle__moon svg,.theme-toggle__sun svg{height:14px;width:14px}}.quick-links{backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);background:linear-gradient(180deg,var(--nav-bg-start) 0,var(--nav-bg-mid) 55%,var(--nav-bg-end) 100%);border-bottom:1px solid var(--nav-border);box-shadow:0 4px 24px var(--nav-shadow),0 1px 0 var(--nav-highlight) inset;left:0;padding:14px 20px;position:fixed;right:0;top:0;z-index:1001}.quick-links-container{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto;max-width:900px}.quick-link{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(145deg,var(--nav-link-bg-start) 0,var(--nav-link-bg-end) 100%);border:1px solid var(--nav-link-border);border-radius:999px;box-shadow:0 0 0 1px var(--glass-inset-ring) inset,0 4px 16px var(--shadow-medium);color:var(--nav-link-color);cursor:pointer;font-family:ui-monospace,Courier New,monospace;font-size:.88rem;font-weight:600;letter-spacing:.04em;padding:9px 18px;text-transform:uppercase;transition:transform .28s cubic-bezier(.34,1.2,.64,1),box-shadow .28s ease,border-color .28s ease,background .28s ease}.quick-link:hover{background:linear-gradient(145deg,var(--nav-link-hover-start) 0,var(--nav-link-hover-end) 100%);border-color:var(--nav-link-hover-border);box-shadow:0 0 0 1px var(--glass-inset-ring-hover) inset,0 8px 28px var(--shadow-base),0 0 20px var(--glass-glow);transform:translateY(-2px)}.quick-link:active{transform:translateY(0)}@media (max-width:768px){.quick-links{padding:12px 14px}.quick-links-container{gap:8px}.quick-link{font-size:.75rem;padding:7px 14px}}@media (max-width:480px){.quick-links{padding:10px}.quick-links-container{gap:6px}.quick-link{font-size:.68rem;padding:6px 12px}}.blog-list-container{margin:0 auto;max-width:1200px;min-height:100vh;padding:80px 20px 40px;position:relative}.blog-list-header{margin-bottom:60px;text-align:center}.back-button{background:var(--blog-back-bg);border:1px solid var(--blog-back-border);border-radius:20px;box-shadow:0 4px 6px var(--shadow-medium);color:var(--text-primary);font-size:14px;padding:10px 20px;transition:all .3s ease}.back-button:hover{background:var(--blog-back-bg-hover);box-shadow:0 6px 12px var(--shadow-medium);transform:translateY(-2px)}.blog-list-header h1{color:var(--text-primary);font-size:48px;margin-bottom:10px;text-shadow:0 2px 10px var(--shadow-medium)}.blog-list-subtitle{color:var(--text-secondary);font-size:18px;font-style:italic}.blog-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:40px}.blog-card{backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);background:linear-gradient(165deg,var(--blog-card-bg-start) 0,var(--blog-card-bg-mid) 45%,var(--blog-card-bg-end) 100%);border:1px solid var(--blog-card-border);border-radius:20px;box-shadow:0 0 0 1px var(--card-inset) inset,0 12px 40px var(--card-shadow);cursor:pointer;overflow:hidden;transition:transform .35s cubic-bezier(.34,1.2,.64,1),box-shadow .35s ease,border-color .35s ease}.blog-card:hover{border-color:var(--glass-border-hover);box-shadow:0 0 0 1px var(--glass-inset-ring-hover) inset,0 24px 48px var(--shadow-base),0 0 40px var(--glass-glow);transform:translateY(-10px) scale(1.01)}.blog-card-thumbnail{background:var(--thumbnail-bg);height:200px;overflow:hidden;width:100%}.blog-card-thumbnail img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.blog-card:hover .blog-card-thumbnail img{transform:scale(1.05)}.blog-card-content{padding:20px}.blog-card-title{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 8px}.blog-card-date{color:var(--text-muted);font-size:14px;font-style:italic;margin:0 0 12px}.blog-card-description{color:var(--text-secondary);font-size:16px;line-height:1.6;margin:0 0 16px}.blog-card-tags{display:flex;flex-wrap:wrap;gap:8px}.blog-tag{background:var(--tag-bg);border:1px solid var(--tag-border);border-radius:12px;color:var(--text-secondary);display:inline-block;font-size:12px;padding:4px 12px}.no-posts{color:var(--caption-color);font-size:18px;font-style:italic;padding:60px 20px;text-align:center}@media (max-width:768px){.blog-list-container{padding:80px 20px 40px}.blog-list-header h1{font-size:36px}.blog-list-subtitle{font-size:16px}.blog-grid{gap:20px;grid-template-columns:1fr}.back-button{font-size:12px;left:10px;padding:8px 16px;position:fixed;top:60px;z-index:100}}.content-block{margin:20px 0}.code-block{margin:24px 0}.code-block pre{border-radius:8px;overflow-x:auto}.code-block code{font-family:Consolas,Monaco,Courier New,monospace;line-height:1.5}.image-block{margin:24px 0;text-align:center}.blog-image{border-radius:12px;box-shadow:0 4px 12px var(--shadow-image);height:auto;max-width:100%;transition:transform .3s ease,box-shadow .3s ease}.blog-image:hover{box-shadow:0 8px 20px var(--shadow-image-hover);transform:scale(1.02)}.math-block{margin:20px 0}.inline-math{display:inline;margin:0 4px}.block-math{background:var(--block-math-bg);border-radius:8px;display:block;overflow-x:auto;padding:16px;text-align:center}.block-math .katex-display{margin:0}.content-block-caption{color:var(--caption-color);font-size:14px;font-style:italic;margin-top:8px;text-align:center}@media (max-width:768px){.content-block{margin:16px 0}.code-block pre{font-size:12px;padding:12px}.content-block-caption{font-size:12px}}.code-block pre::-webkit-scrollbar{height:8px}.code-block pre::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.code-block pre::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.code-block pre::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.25"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.blog-post-container{margin:0 auto;max-width:800px;min-height:100vh;padding:80px 20px 40px;position:relative}.blog-post-header{margin-bottom:40px}.back-button{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--btn-glass-bg);border:1px solid var(--btn-glass-border);border-radius:50%;box-shadow:0 4px 15px var(--btn-glass-shadow),inset 0 1px 0 var(--btn-glass-highlight),inset 0 -1px 0 var(--btn-glass-bottom);color:var(--text-icon);cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:18px;height:44px;justify-content:center;left:20px;padding:0;position:absolute;top:75px;transition:all .3s cubic-bezier(.4,0,.2,1);width:44px}.back-button:hover{background:var(--btn-glass-bg-hover);border-color:var(--btn-glass-border-hover);box-shadow:0 6px 20px var(--btn-glass-shadow-hover),inset 0 1px 0 var(--btn-glass-highlight-hover),inset 0 -1px 0 var(--btn-glass-bottom);transform:translateY(-1px) scale(1.05)}.back-button:active{transform:translateY(0) scale(.95);transition:transform .1s ease}.blog-post-article{backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35);background:linear-gradient(160deg,var(--card-bg-start) 0,var(--card-bg-mid) 50%,var(--card-bg-end) 100%);border:1px solid var(--card-border);border-radius:20px;box-shadow:0 0 0 1px var(--card-inset) inset,0 20px 50px var(--card-shadow);padding:40px}.blog-post-title-section{border-bottom:1px solid var(--divider-subtle);margin-bottom:30px;padding-bottom:20px}.blog-post-title{color:var(--text-primary);font-size:42px;font-weight:700;line-height:1.2;margin:0 0 16px}.blog-post-meta{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.blog-post-date{color:var(--text-muted);font-size:16px;font-style:italic}.blog-post-tags{display:flex;flex-wrap:wrap;gap:8px}.blog-post-content{color:var(--text-secondary);font-size:18px;line-height:1.8}.blog-post-content p{margin:0 0 16px}.blog-post-not-found{padding:60px 20px;text-align:center}.blog-post-not-found h1{color:var(--text-primary);font-size:36px;margin-bottom:16px}.blog-post-not-found p{color:var(--caption-color);font-size:18px;margin-bottom:24px}.blog-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--blog-back-bg);border:1px solid var(--blog-back-border);border-radius:20px;box-shadow:0 4px 6px var(--shadow-medium);color:var(--text-primary);cursor:pointer;font-size:16px;padding:12px 24px;transition:all .3s ease}.blog-button:hover{background:var(--blog-back-bg-hover);box-shadow:0 6px 12px var(--shadow-medium);transform:translateY(-2px)}@media (max-width:768px){.blog-post-container{padding:80px 20px 40px}.blog-post-article{padding:24px}.blog-post-title{font-size:32px}.blog-post-content{font-size:16px;line-height:1.6}.blog-post-not-found h1{font-size:28px}.back-button{font-size:18px;left:20px;position:fixed;top:60px;z-index:1001}}.cv-page-container{margin:0 auto;max-width:800px;min-height:100vh;padding:80px 20px 100px;position:relative}.cv-page-header{margin-bottom:40px}.cv-back-button{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--btn-glass-bg);border:1px solid var(--btn-glass-border);border-radius:50%;box-shadow:0 4px 15px var(--btn-glass-shadow),inset 0 1px 0 var(--btn-glass-highlight),inset 0 -1px 0 var(--btn-glass-bottom);color:var(--text-icon);cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:18px;height:44px;justify-content:center;left:20px;padding:0;position:absolute;top:75px;transition:all .3s cubic-bezier(.4,0,.2,1);width:44px}.cv-back-button:hover{background:var(--btn-glass-bg-hover);border-color:var(--btn-glass-border-hover);box-shadow:0 6px 20px var(--btn-glass-shadow-hover),inset 0 1px 0 var(--btn-glass-highlight-hover),inset 0 -1px 0 var(--btn-glass-bottom);transform:translateY(-1px) scale(1.05)}.cv-back-button:active{transform:translateY(0) scale(.95);transition:transform .1s ease}.cv-card{backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35);background:linear-gradient(160deg,var(--card-bg-start) 0,var(--card-bg-mid) 50%,var(--card-bg-end) 100%);border:1px solid var(--card-border);border-radius:20px;box-shadow:0 0 0 1px var(--card-inset) inset,0 20px 50px var(--card-shadow);padding:40px}.cv-name{color:var(--text-primary);font-size:42px;font-weight:700;line-height:1.2;margin:0 0 16px;text-align:center}.cv-contacts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:8px}.cv-contact-pill{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(145deg,var(--nav-link-bg-start) 0,var(--nav-link-bg-end) 45%,var(--glass-bg-end) 100%);border:1px solid var(--glass-border-subtle);border-radius:50px;box-shadow:0 4px 16px var(--shadow-medium),inset 0 1px 0 var(--glass-highlight);color:var(--text-secondary);display:inline-block;font-size:13px;overflow:hidden;padding:5px 14px;position:relative;text-decoration:none;transition:transform .35s cubic-bezier(.34,1.2,.64,1),box-shadow .35s ease,border-color .35s ease,background .35s ease}.cv-contact-pill:before{background:linear-gradient(105deg,#0000 0,var(--glass-shine) 45%,#0000 70%);border-radius:inherit;content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .65s ease;width:100%;z-index:1}.cv-contact-pill:hover:before{left:100%}.cv-contact-pill:hover{border-color:var(--glass-border-hover);box-shadow:0 8px 24px var(--shadow-base),0 0 20px var(--glass-glow),inset 0 1px 0 var(--glass-highlight-hover);transform:translateY(-2px) scale(1.03)}.cv-contact-pill:active{transform:translateY(0) scale(.97);transition:transform .1s ease}.cv-section{margin-top:28px;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.34,1.2,.64,1)}.cv-section.visible{opacity:1;transform:translateY(0)}.cv-section-title{color:var(--text-primary);font-size:20px;font-weight:700;letter-spacing:.08em;margin:0 0 4px;padding-bottom:8px;position:relative;text-transform:uppercase}.cv-section-rule{background:var(--divider);border:none;height:1px;margin:0 0 16px;transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.34,1.2,.64,1) .2s}.cv-section.visible .cv-section-rule{transform:scaleX(1)}.cv-entry{margin-bottom:16px}.cv-entry:last-child{margin-bottom:0}.cv-entry-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.cv-entry-title{color:var(--text-primary);font-size:17px;font-weight:700;line-height:1.4;margin:0}.cv-entry-title a{color:var(--accent);text-decoration:none;transition:color .2s ease}.cv-entry-title a:hover{color:var(--accent-hover);text-decoration:underline}.cv-entry-right{color:var(--text-subtle);flex-shrink:0;font-size:14px;text-align:right;white-space:nowrap}.cv-entry-right a{color:var(--accent-muted);text-decoration:none;transition:color .2s ease}.cv-entry-right a:hover{color:var(--accent-hover);text-decoration:underline}.cv-entry-subtitle-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:2px}.cv-entry-subtitle{color:var(--text-body);font-size:15px;font-style:italic;font-weight:400;line-height:1.4;margin:0}.cv-entry-subtitle a{color:var(--accent-muted);text-decoration:none}.cv-entry-subtitle a:hover{text-decoration:underline}.cv-entry-subtitle-right{color:var(--text-faint);flex-shrink:0;font-size:13px;text-align:right}.cv-entry-description{color:var(--text-body);font-size:14px;line-height:1.5;margin:6px 0 0}.cv-bullets{list-style:none;margin:8px 0 0;padding:0}.cv-bullet{color:var(--text-secondary);font-size:14px;line-height:1.55;margin-bottom:4px;padding-left:16px;position:relative}.cv-bullet:before{background:var(--accent-bullet);border-radius:50%;content:"";height:5px;left:0;position:absolute;top:9px;width:5px}.cv-bullet a{color:var(--accent);text-decoration:none}.cv-bullet a:hover{text-decoration:underline}.cv-sub-entry{margin-top:4px}.cv-sub-entry .cv-entry-header{margin-left:0}.cv-sub-entry .cv-entry-title{color:var(--text-body);font-size:15px;font-style:italic;font-weight:400}.cv-skills-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:6px 0}.cv-skills-label{color:var(--text-primary);flex-shrink:0;font-size:15px}.cv-skills-value{color:var(--caption-color);font-size:14px;text-align:right}.cv-download-btn{align-items:center;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);background:linear-gradient(145deg,var(--glass-bg-start) 0,var(--glass-bg-mid) 45%,var(--glass-bg-end) 100%);border:1px solid var(--glass-border);border-radius:50px;bottom:28px;box-shadow:0 8px 28px var(--shadow-base),0 2px 8px var(--shadow-medium),inset 0 1px 0 var(--glass-highlight);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:600;gap:8px;overflow:hidden;padding:12px 22px;position:fixed;right:28px;text-decoration:none;transition:transform .35s cubic-bezier(.34,1.2,.64,1),box-shadow .35s ease,border-color .35s ease,background .35s ease;z-index:1000}.cv-download-btn:before{background:linear-gradient(105deg,#0000 0,var(--glass-shine) 45%,#0000 70%);border-radius:inherit;content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .65s ease;width:100%;z-index:1}.cv-download-btn:hover:before{left:100%}.cv-download-btn:hover{border-color:var(--glass-border-hover);box-shadow:0 14px 36px var(--shadow-base),0 0 28px var(--glass-glow),inset 0 1px 0 var(--glass-highlight-hover);transform:translateY(-2px) scale(1.04)}.cv-download-btn:active{transform:translateY(0) scale(.97);transition:transform .1s ease}.cv-download-icon{font-size:16px}.cv-download-icon,.cv-download-label{position:relative;z-index:2}@media (max-width:768px){.cv-page-container{padding:80px 16px 120px}.cv-card{padding:24px}.cv-name{font-size:32px}.cv-contact-pill{font-size:12px;padding:4px 10px}.cv-entry-header{flex-direction:column;gap:2px}.cv-entry-right{text-align:left;white-space:normal}.cv-entry-subtitle-row{flex-direction:column;gap:2px}.cv-entry-subtitle-right{text-align:left}.cv-skills-row{flex-direction:column;gap:2px}.cv-skills-value{text-align:left}.cv-back-button{font-size:18px;left:20px;position:fixed;top:60px;z-index:1001}.cv-download-btn{bottom:20px;right:50%;transform:translateX(50%)}.cv-download-btn:hover{transform:translateX(50%) translateY(-2px) scale(1.04)}.cv-download-btn:active{transform:translateX(50%) translateY(0) scale(.97)}}@media (max-width:480px){.cv-name{font-size:26px}.cv-section-title{font-size:17px}.cv-entry-title{font-size:15px}}.page-transition{animation:pageFadeIn .3s ease-out}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}.App{height:100vh;margin:0;padding:0;width:100%}.seo-transcript{height:1px;left:-99999px;overflow:hidden;position:absolute;top:auto;white-space:pre-wrap;width:1px}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}