@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-BDQ-w_bc.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-CtgKGIh5.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-700-normal-Bp80XfeI.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-700-normal-O_YjL27c.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-vietnamese-700-normal-apsD3J7v.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-700-normal-Bs14ezHR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-ext-700-normal-Dhimjc7-.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-700-normal-Cwsjk1Jb.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff) format("woff");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}*{margin:0;padding:0;box-sizing:border-box}body{width:100vw;height:100vh;overflow:hidden;background:#000;font-family:IBM Plex Mono,monospace}#root{width:100%;height:100%}.loading-screen{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,rgba(30,100,200,.22),transparent 60%),linear-gradient(180deg,#030a18,#061a2e);transition:opacity .6s ease}.loading-screen--done{opacity:0;pointer-events:none}.loading-inner{width:min(80vw,420px);text-align:center;color:#e0f0ff}.loading-title{font-size:clamp(1.1rem,3.5vw,1.7rem);font-weight:600;letter-spacing:.02em;color:#fff}.loading-sub{margin-top:6px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#60c0ff}.loading-bar{margin-top:28px;height:5px;width:100%;border-radius:3px;background:#60c0ff26;overflow:hidden}.loading-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#3fae6a,#60c0ff);transition:width .25s ease}.loading-pct{margin-top:12px;font-size:.8rem;letter-spacing:.1em;color:#c8e6ffbf}.fallback-3d{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,rgba(30,100,200,.2),transparent 60%),linear-gradient(180deg,#030a18,#061a2e);z-index:95;padding:24px}.fallback-3d-card{max-width:440px;text-align:center;color:#e0f0ff;display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 32px;border:1px solid rgba(30,100,200,.3);border-radius:10px;background:#02081499}.fallback-3d-icon{font-size:2.2rem}.fallback-3d-card h2{font-size:1rem;font-weight:600;letter-spacing:.04em}.fallback-3d-card p{font-size:.78rem;line-height:1.65;color:#c8e1ffbf}.fallback-3d-cta{font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:700;letter-spacing:.06em;margin-top:8px;padding:11px 26px;border-radius:6px;cursor:pointer;background:#60c0ff2e;border:1px solid rgba(96,192,255,.6);color:#fff;transition:all .2s ease}.fallback-3d-cta:hover{background:#60c0ff52;box-shadow:0 0 18px #60c0ff4d}.island-marker{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;-webkit-user-select:none;user-select:none}.island-marker-diamond{display:block;width:18px;height:18px;background:#60c0ffe6;border:2px solid rgba(150,220,255,.8);border-radius:3px;transform:rotate(45deg);box-shadow:0 0 12px #60c0ff99,0 0 24px #60c0ff4d;animation:marker-pulse 1.8s ease-in-out infinite}.island-marker-label{font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:500;color:#c8ebfff2;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 8px rgba(96,192,255,.8);white-space:nowrap;background:#02081499;padding:3px 8px;border-radius:4px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(30,100,200,.3);pointer-events:none}@keyframes marker-pulse{0%,to{transform:rotate(45deg) scale(1);box-shadow:0 0 12px #60c0ff99,0 0 24px #60c0ff4d}50%{transform:rotate(45deg) scale(1.2);box-shadow:0 0 18px #60c0ffe6,0 0 36px #60c0ff80}}.island-panel{position:fixed;top:0;left:0;width:380px;height:100vh;background:#020814e0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid rgba(30,100,200,.25);transform:translate(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:100;display:flex;flex-direction:column;overflow:hidden}.island-panel--open{transform:translate(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(30,100,200,.2);flex-shrink:0}.panel-header-label{font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:700;color:#60c0ff;letter-spacing:.1em;text-transform:uppercase}.panel-close{background:none;border:1px solid rgba(30,100,200,.3);color:#c8e6ff99;font-size:.85rem;width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s,background .2s;font-family:IBM Plex Mono,monospace}.panel-close:hover{color:#60c0ff;border-color:#60c0ff80;background:#1e64c81a}.panel-content{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin;scrollbar-color:rgba(30,100,200,.3) transparent}.panel-content::-webkit-scrollbar{width:4px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background:#1e64c84d;border-radius:2px}.panel-project{padding:16px;background:#0a193280;border:1px solid rgba(30,100,200,.2);border-radius:6px;display:flex;flex-direction:column;gap:8px}.panel-project-header{display:flex;align-items:center;justify-content:space-between}.panel-project-title{font-size:.85rem;font-weight:700;color:#e0f0ff;letter-spacing:.04em}.panel-project-link{color:#60c0ff;font-size:1rem;text-decoration:none;line-height:1;transition:color .2s}.panel-project-link:hover{color:#a0d8ff}.panel-project-desc{font-size:.75rem;color:#b4d7ffa6;line-height:1.55}.panel-tech-list{display:flex;flex-wrap:wrap;gap:6px}.panel-tech-tag{font-size:.65rem;font-weight:500;color:#60c0ffd9;background:#1e64c81f;border:1px solid rgba(30,100,200,.25);padding:2px 8px;border-radius:3px;letter-spacing:.05em}.panel-bio{font-size:.78rem;color:#c8e1ffbf;line-height:1.7}.panel-section{display:flex;flex-direction:column;gap:10px}.panel-section-title{font-size:.7rem;font-weight:500;color:#60c0ff99;letter-spacing:.08em}.panel-experience-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-experience-company{font-size:.72rem;font-weight:500;color:#60c0ffbf;letter-spacing:.04em}.panel-experience-period{font-size:.65rem;color:#b4d7ff80;letter-spacing:.04em;white-space:nowrap}.panel-contact-link{font-size:.78rem;color:#60c0ff;text-decoration:none;transition:color .2s}.panel-contact-link:hover{color:#a0d8ff}.panel-social-list{display:flex;flex-direction:column;gap:10px}.panel-social-link{font-size:.78rem;color:#c8e6ffbf;text-decoration:none;display:flex;align-items:center;gap:8px;transition:color .2s}.panel-social-link:hover{color:#60c0ff}.panel-social-arrow{color:#60c0ff;font-size:.85rem}.welcome-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00050fd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.welcome-content{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.welcome-name{font-family:IBM Plex Mono,monospace;font-size:3.5rem;font-weight:700;color:#e0f0ff;letter-spacing:.15em;text-shadow:0 0 40px rgba(96,192,255,.4)}.welcome-title{font-size:1rem;font-weight:400;color:#60c0ffb3;letter-spacing:.2em;text-transform:uppercase}.welcome-buttons{display:flex;gap:16px;margin-top:24px}.welcome-btn{font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:500;letter-spacing:.08em;padding:12px 28px;border-radius:6px;cursor:pointer;transition:all .25s ease;white-space:nowrap}.welcome-btn--secondary{background:#1e3c641a;border:1px solid rgba(30,100,200,.3);color:#c8e6ffa6}.welcome-btn--secondary:hover{background:#1e3c6433;border-color:#1e64c880;color:#c8e6ffe6}.welcome-btn--selected{background:#60c0ff2e;border:1px solid rgba(96,192,255,.85);color:#fff;box-shadow:0 0 22px #60c0ff59,inset 0 0 12px #60c0ff14}.welcome-btn-caret{display:inline-block;width:1em;text-align:left;color:#fc0}.welcome-hint{font-size:.68rem;color:#60c0ffbf;letter-spacing:.14em;margin-top:18px}.welcome-controls{font-size:.65rem;color:#ffffff59;letter-spacing:.12em;margin-top:4px}.space-hint{position:fixed;bottom:78px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#ffe082;background:#020814c7;border:1px solid rgba(255,204,0,.4);border-radius:6px;padding:9px 18px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;white-space:nowrap;z-index:85;animation:space-hint-in .25s ease;box-shadow:0 0 18px #ffcc001f}.space-hint--close{color:#c8e6ffd9;border-color:#60c0ff59;box-shadow:none}.space-hint-key{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:20px;font-family:inherit;font-size:.8rem;line-height:1;border:1px solid currentColor;border-radius:4px;padding:0 6px;opacity:.9}@keyframes space-hint-in{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.quick-nav{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:80}.quick-nav-btn{display:flex;align-items:center;gap:6px;font-family:IBM Plex Mono,monospace;font-size:.65rem;font-weight:500;letter-spacing:.04em;padding:8px 14px;border-radius:6px;cursor:pointer;background:#020814b3;border:1px solid rgba(30,100,200,.25);color:#c8e6ff99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease;white-space:nowrap}.quick-nav-btn:hover{background:#0a1932cc;border-color:#60c0ff66;color:#c8e6ffe6}.quick-nav-btn--active{border-color:#60c0ff99;color:#e0f0ff;background:#1e64c826}.quick-nav-btn--target{border-color:#ffcc0080;color:#fc0}.quick-nav-btn--visited{border-color:#2a5a3a80}.quick-nav-num{font-size:.6rem;color:#60c0ff80}.quick-nav-check{color:#4a7c3f;font-size:.7rem}.minimap{position:fixed;bottom:70px;left:16px;border-radius:10px;border:1px solid rgba(30,100,200,.35);box-shadow:0 4px 24px #00000059,inset 0 0 20px #1e64c814;z-index:80}.lang-toggle{position:fixed;top:16px;right:16px;display:flex;align-items:center;gap:2px;padding:3px;border-radius:6px;background:#020814bf;border:1px solid rgba(96,192,255,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 14px #60c0ff2e;z-index:230;animation:lang-attention 2s ease-in-out .8s 3}.lang-toggle-globe{font-size:.85rem;padding:0 4px 0 7px;line-height:1;opacity:.85;-webkit-user-select:none;user-select:none}.lang-btn{font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:6px 12px;border-radius:4px;border:1px solid transparent;background:transparent;color:#c8e6ff80;cursor:pointer;transition:all .2s ease}.lang-btn:hover{color:#fff;background:#1e64c826}.lang-btn--active{background:#60c0ff40;border-color:#60c0ffa6;color:#fff;box-shadow:0 0 10px #60c0ff59}@keyframes lang-attention{0%,to{box-shadow:0 0 14px #60c0ff2e;border-color:#60c0ff73}50%{box-shadow:0 0 30px #60c0ffa6;border-color:#96dcff}}.mode-selector{position:fixed;top:16px;left:50%;transform:translate(-50%);display:flex;padding:3px;border-radius:8px;background:#020814b8;border:1px solid rgba(30,100,200,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 18px #00000059;z-index:220;animation:mode-selector-in .35s ease}.mode-selector-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:6px;background:linear-gradient(180deg,#60c0ff52,#1e64c847);border:1px solid rgba(96,192,255,.5);box-shadow:0 0 12px #60c0ff40;transition:transform .32s cubic-bezier(.4,0,.2,1);pointer-events:none}.mode-selector-thumb--right{transform:translate(100%)}.mode-selector-btn{position:relative;z-index:1;flex:1;min-width:128px;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:500;letter-spacing:.08em;padding:7px 16px;border-radius:6px;border:none;background:transparent;color:#c8e6ff80;cursor:pointer;transition:color .25s ease;white-space:nowrap}.mode-selector-btn:hover{color:#c8e6fff2}.mode-selector-btn--active{color:#fff;font-weight:700}@keyframes mode-selector-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.cv-view{position:fixed;inset:0;overflow-y:auto;background:radial-gradient(ellipse at 50% -20%,rgba(30,100,200,.18),transparent 60%),linear-gradient(180deg,#030a18,#061224);color:#e0f0ff;font-family:IBM Plex Mono,monospace;z-index:90}.cv-sheet{max-width:960px;margin:0 auto;padding:76px 32px 64px;animation:cv-enter .4s ease}@keyframes cv-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}.cv-name{font-size:1.9rem;font-weight:600;letter-spacing:.02em;margin:0;color:#fff}.cv-role{margin:6px 0 0;font-size:.85rem;letter-spacing:.12em;color:#60c0ff;text-transform:uppercase}.cv-header-actions{display:flex;gap:8px;flex-wrap:wrap}.cv-download-btn{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.06em;padding:8px 14px;border-radius:4px;cursor:pointer;text-decoration:none;transition:all .2s ease;background:#60c0ff26;border:1px solid rgba(96,192,255,.5);color:#a8dcff}.cv-download-btn:hover{background:#60c0ff4d;color:#fff}.cv-contact-row{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 0 4px;border-top:1px solid rgba(30,100,200,.25);font-size:.72rem;color:#c8e6ffb3}.cv-contact-row a{color:#60c0ff;text-decoration:none}.cv-contact-row a:hover{text-decoration:underline}.cv-section{margin-top:28px}.cv-section-title{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#60c0ff;margin:0 0 14px}.cv-profile{margin:0;font-size:.82rem;line-height:1.7;color:#e0f0ffd9}.cv-columns{display:grid;grid-template-columns:1fr 280px;gap:36px;align-items:start}@media(max-width:760px){.cv-columns{grid-template-columns:1fr}.cv-sheet{padding:64px 20px 48px}}.cv-entry{margin-bottom:20px;padding:14px 16px;border:1px solid rgba(30,100,200,.2);border-radius:6px;background:#0a193259}.cv-entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.cv-entry-head h3{flex:1;min-width:0;margin:0;font-size:.85rem;font-weight:600;color:#fff}.cv-entry-head h3 a{color:#a8dcff;text-decoration:none}.cv-entry-head h3 a:hover{text-decoration:underline}.cv-entry-period{font-size:.68rem;color:#fc0;white-space:nowrap}.cv-entry-company{margin:4px 0 0;font-size:.72rem;color:#60c0ff}.cv-entry-desc{margin:8px 0 0;font-size:.74rem;line-height:1.6;color:#e0f0ffcc}.cv-entry-notes{margin:8px 0 0;padding-left:18px;font-size:.72rem;line-height:1.6;color:#e0f0ffcc}.cv-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.cv-tag{font-size:.62rem;padding:3px 8px;border-radius:3px;background:#1e64c833;border:1px solid rgba(96,192,255,.25);color:#a8dcff;white-space:nowrap}.cv-skill-group{margin-bottom:16px}.cv-skill-category{margin:0 0 8px;font-size:.72rem;font-weight:600;color:#e0f0ffe6}.cv-langs{list-style:none;margin:0;padding:0}.cv-langs li{display:flex;justify-content:space-between;padding:8px 0;font-size:.75rem;border-bottom:1px solid rgba(30,100,200,.15)}.cv-lang-level{color:#fc0}@media(pointer:coarse){.space-hint{display:none}}@media(max-width:840px),(max-height:500px){.cv-sheet{padding-top:64px}}@media(max-width:480px){.cv-sheet{padding:60px 16px 40px}.cv-name{font-size:1.45rem}.cv-role{font-size:.72rem;letter-spacing:.08em}.cv-profile,.cv-entry-desc,.cv-entry-notes{font-size:.8rem}.cv-tag{font-size:.66rem;padding:4px 9px}.cv-columns{gap:8px}}
