:root{background:#f7f7f7;color:#000;--resume-width: 210mm;--resume-height: 297mm;--resume-print-margin: 12mm}@font-face{font-family:Hammersmith One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hammersmith-one-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hammersmith One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hammersmith-one-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes station-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes roundel-pop{0%{opacity:0;transform:translateY(6px) scale(.96)}60%{opacity:1;transform:translateY(0) scale(1.03)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes roundel-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes skill-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.station{opacity:0;transform:translateY(8px);animation:station-reveal .6s ease forwards}.roundel{opacity:0;transform:translateY(6px) scale(.96);animation:roundel-pop .5s ease-out forwards}.roundel-bar{position:relative}.roundel-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleX(0);transform-origin:left;animation:roundel-fill .6s ease forwards}.roundel-text{position:relative;z-index:1}.header-link{position:relative;text-decoration:none}.header-link:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.period-tooltip{position:relative;display:inline-block;cursor:default}.period-tooltip:after{content:attr(data-duration);position:absolute;left:0;top:100%;margin-top:6px;padding:4px 8px;border-radius:6px;background:#000000d9;color:#fff;font-size:9px;letter-spacing:.2px;white-space:nowrap;opacity:0;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none;z-index:3}.skill-badge{opacity:1;transform:translateY(0);transition:transform .16s ease}.skills-in .skill-badge{animation:skill-pop .45s ease both}.toast{position:fixed;right:24px;bottom:24px;padding:6px 12px;border-radius:999px;background:#000000d9;color:#fff;font-family:Hammersmith One,sans-serif;font-size:10px;letter-spacing:.3px;opacity:0;transform:translateY(8px);transition:opacity .15s ease,transform .15s ease;pointer-events:none;z-index:1000}.toast--show{opacity:1;transform:translateY(0)}@media (hover: hover) and (pointer: fine){.header-link:hover:after{transform:scaleX(1)}.period-tooltip:hover:after{opacity:1;transform:translateY(0)}.skill-badge:hover{transform:scale(1.02)}}@media (prefers-reduced-motion: reduce){.station,.roundel{opacity:1;transform:none;animation:none}.roundel-fill{transform:scaleX(1);animation:none}.skills-in .skill-badge{animation:none}.toast{transition:none}}@media print{:root{background:#fff}body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.station,.roundel{opacity:1;transform:none;animation:none}.roundel-fill{transform:scaleX(1);animation:none}.skills-in .skill-badge{animation:none}.toast{display:none}#root{min-height:auto;padding:0}.resume{width:100%;max-width:none;min-height:auto;border-radius:0}header{margin-bottom:20px!important}section{margin-bottom:18px!important}footer{margin-top:18px!important;padding-top:20px!important}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Arial,sans-serif}#root{min-height:100vh;padding:16px;display:flex;justify-content:center;align-items:flex-start}.resume{width:100%;max-width:var(--resume-width);min-height:var(--resume-height);box-sizing:border-box}@page{size:A4;margin:var(--resume-print-margin)}
