@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:#dcfff0}}:root{--vista-font:clamp(9pt, 1.2vw, 13.5pt) "Segoe UI", "SegoeUI", "Noto Sans", sans-serif;--vista-ts-item-h:36px}body{margin:0;padding:0;color:#222;background:#3a6e9c url(vista-bg-2.jpg)no-repeat center top/cover fixed;font:var(--vista-font);min-height:100vh}h2{font-size:clamp(1.4rem,2.5vw,2.25rem);margin:4px 0 12px;padding-left:4px}#main-window{position:fixed;top:11px;right:11px;bottom:calc(var(--vista-ts-height) + 11px);left:11px;z-index:1;margin:0;width:auto;display:flex;flex-direction:column}#main-window .title-bar{flex-shrink:0}#main-window .window-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 20px}#main-window .status-bar,.wc-link img{flex-shrink:0}.main-title-icon{width:18px;height:18px;vertical-align:middle;margin-right:6px}.page{display:none}.page.active{display:block}.wc-header,li{position:relative}.wc-header{height:clamp(100px,14vw,178px);margin:-16px -20px 0;background:#045082 url(img/welcome/bitmap_102.png)no-repeat center/cover;border:0;border-bottom:1px solid rgba(0,0,0,.35);overflow:hidden}.wc-header-text{position:absolute;right:24px;bottom:8px;font-size:clamp(28pt,5vw,63pt);line-height:1;color:#dcfff0;text-shadow:0 2px 6px rgba(0,0,0,.45);overflow:hidden;white-space:nowrap;border-right:3px solid transparent;max-width:calc(100% - 48px)}.wc-header-text.typing{border-color:#dcfff0;animation:blink-caret .75s step-end infinite}.wc-header-text.typing.hold{animation:none}.wc-titleband{margin:0-20px;background:url(img/welcome/bitmap_104.png)no-repeat left top/100% 47px,linear-gradient(180deg,#28567a 0,#1e415f 100%);border:0;border-bottom:1px solid rgba(0,0,0,.35)}.wc-details{display:flex;align-items:flex-start;gap:24px;margin:0;flex-wrap:wrap}.wc-portrait-frame{flex-shrink:0;position:relative;z-index:2;margin-top:-90px;width:clamp(240px,25vw,357px);height:clamp(240px,25vw,357px)}.wc-portrait{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(160px,18vw,240px);height:clamp(160px,18vw,240px);object-fit:cover;display:block}.wc-portrait-frame-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.wc-facts{flex:1;min-width:260px;padding-top:6px;color:#fff}.wc-facts-title{font-size:clamp(16pt,1.8vw,22pt);margin:0 0 20px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}.wc-facts-table{border-collapse:collapse;margin-bottom:14px;background:0 0;border:0;table-layout:auto}.wc-facts-table td{padding:3px 12px 3px 0;vertical-align:top;white-space:normal;border-right:none!important}.wc-facts-table .instruction{color:#bcd6ee}.wc-facts a{color:#9ecdff}.wc-titleband .cmdlink{color:#9ecdff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.wc-titleband .cmdlink:hover{color:#fff}.cmdlink,.project-github a{display:inline-flex;align-items:center}.cmdlink{gap:6px;cursor:pointer;color:#06c;font-size:clamp(13pt,1.5vw,18pt);text-decoration:underline;text-shadow:0 1px 0#fff}.cmdlink:hover{color:#39f}.cmdlink-glyph{display:inline-block;width:39px;height:39px;background:url(img/welcome/cmdlink_arrow.png)no-repeat center/contain}.cmdlink:hover .cmdlink-glyph{background-image:url(img/welcome/cmdlink_arrow_hover.png)}.wc-main{display:flex;flex-direction:column;gap:16px;align-items:stretch;margin-top:24px}.wc-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;align-items:center}.wc-links-header{font-size:clamp(13pt,1.5vw,18pt);font-weight:400;margin:0 0 6px;color:#06c;width:100%;gap:8px}.wc-links-header::after,.wc-preview-header::after{content:"";flex:1;border-bottom:1px solid #cfcfcf}.wc-link,.wc-links-header,.wc-preview-header{display:flex;align-items:center}.wc-link{gap:10px;padding:5px 8px;cursor:pointer;border:1px solid transparent;border-radius:3px;color:inherit;text-decoration:none;white-space:nowrap}.wc-link img{width:clamp(48px,5vw,64px);height:clamp(48px,5vw,64px);object-fit:contain}.wc-link.selected,.wc-link:hover{background:linear-gradient(180deg,#e8f0fd 0,#c3daf9 100%);border-color:#aaddfa}.wc-preview-header{font-size:clamp(13pt,1.5vw,18pt);font-weight:400;margin:0 0 12px;color:#06c;grid-column:1/-1;grid-row:1;gap:8px}.wc-preview{flex:1;min-width:250px;min-height:260px;display:grid;grid-template-columns:auto 1fr;gap:0 20px;align-items:start}.wc-preview-icon{grid-column:1;grid-row:2/span 4;width:clamp(100px,15vw,192px);height:clamp(100px,15vw,192px);object-fit:contain;display:block;animation:wc-fade-in .25s ease-out both}.wc-preview-title{grid-column:2;grid-row:2;font-size:clamp(16pt,2vw,24pt);font-weight:400;margin:0 0 8px}.wc-preview-desc{grid-column:2;grid-row:3;margin:0 0 10px;line-height:1.5}.wc-preview-bullets{grid-column:2;grid-row:4;margin:0 0 16px}.wc-preview .cmdlink{grid-column:1/-1;grid-row:5;margin-top:24px}.wc-footer{margin-top:24px;padding-top:12px;border-top:1px solid #cfcfcf}.about-portrait{width:clamp(120px,14vw,180px);height:clamp(120px,14vw,180px);flex-shrink:0;border:3px solid #fff;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,0,0,.1);background:#e8e8e8;overflow:hidden}.about-portrait img{width:100%;height:100%;object-fit:cover;display:block}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.skill-cards{display:flex;flex-wrap:wrap;gap:16px}.skill-card{display:flex;flex-direction:column;align-items:center;gap:6px;width:clamp(72px,8vw,100px)}.skill-card span{font-size:9pt;text-align:center;line-height:1.25}.skill-card-icon{width:48px;height:48px;object-fit:contain;display:block}.project-header,.project-icon{display:flex;align-items:center}.project-header{gap:12px;margin-bottom:12px}.project-icon{width:clamp(64px,8vw,96px);height:clamp(64px,8vw,96px);justify-content:center;background:linear-gradient(180deg,#fff 0,#e8e8e8 100%);border:1px solid #8e8f8f;border-radius:3px;box-shadow:1px 1px 0 rgba(0,0,0,.1);flex-shrink:0}.project-icon img{width:clamp(48px,7vw,80px);height:clamp(48px,7vw,80px);object-fit:contain}.project-github{margin:4px 0 0}.project-github a{gap:5px}.project-github img,li::before{width:16px;height:16px}.instruction .skill-tip{position:relative;display:inline-flex;align-items:center;margin-right:4px;vertical-align:middle;cursor:default}.instruction .skill-tip img{width:20px;height:20px}[role=tooltip].skill-balloon{display:none;position:fixed;left:0;top:0;padding:4px 10px;white-space:nowrap;color:#222;z-index:2000;pointer-events:none}[role=tooltip].skill-balloon::before{left:50%;transform:translateX(-50%) scale(-1)}ul{list-style:none;padding-left:0}li{padding-left:24px;margin-bottom:6px;line-height:1.5}li::before{content:"";position:absolute;left:0;top:3px;background:url(img/icons/bullet.png)center/contain no-repeat}.window-body p{margin:4px 0 8px}.pdf-viewer{width:100%;height:70vh;min-height:400px;border:1px solid #8e8f8f;background:#fff}#taskbar-items{min-width:1000rem}.taskbar-items .taskbar-item{font-size:clamp(12px,1.2vw,16.5px);border:1px solid transparent}.taskbar-items .taskbar-item .taskbar-item-icon{width:clamp(22px,2.4vw,88px);height:clamp(22px,2.4vw,32px)}.taskbar-quick-launch .quick-launch-icon{width:clamp(26px,2.8vw,38px);height:clamp(26px,2.8vw,38px);background-size:clamp(24px,2.6vw,36px)}.system-tray .system-tray-icon{width:clamp(22px,2.4vw,32px);height:clamp(22px,2.4vw,32px)}.system-tray .system-tray-clock .time{font-size:clamp(12px,1.2vw,16.5px)}.system-tray .system-tray-clock .date{font-size:clamp(10px,1.1vw,15px)}.exp-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.exp-logo-frame{position:relative;width:48px;height:48px;flex-shrink:0}.exp-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;object-fit:contain}#bubbles-overlay,.exp-logo-frame-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.title-bar-label,.title-bar-text{flex:1;min-width:0;white-space:nowrap}.title-bar-text{display:flex;align-items:center;gap:5px}.title-bar-label{overflow:hidden;text-overflow:ellipsis;padding:8px 10px 10px;margin:-8px -6px -10px}.title-bar-icon{width:16px;height:16px;flex-shrink:0}.media-gallery{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;align-items:flex-start}.media-window{flex:0 1 clamp(260px,30vw,340px);min-width:220px}.media-image,.media-window video{width:100%;max-height:320px;object-fit:contain;display:block;cursor:pointer}.media-window-body{margin:var(--vista-w-space);margin-top:0;border:1px solid var(--vista-w-bd);background:var(--vista-surface);box-shadow:0 0 0 1px #fff9}.media-fieldset{margin-top:24px}.media-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1999}.media-backdrop.active{display:block}.media-window.enlarged{position:fixed;top:10vh;left:7.5vw;margin:0;width:85vw;max-width:1000px;z-index:2000;background:var(--vista-surface)}.media-window.enlarged .media-image,.media-window.enlarged video{max-height:80vh}#bubbles-overlay{position:fixed;z-index:999;opacity:1;transition:opacity .8s ease}@media (min-width:1400px){#main-window{left:50%;right:auto;transform:translateX(-50%);width:87%}}@media (max-width:1024px){.wc-header{height:130px}.wc-header-text{font-size:36pt;right:16px}.wc-portrait-frame{margin-top:-60px}.wc-details{gap:16px}.wc-facts{min-width:220px}.wc-links{gap:2px}.wc-preview{min-width:200px}.wc-footer{margin-top:16px}.media-gallery{gap:12px}#main-window .window-body{padding:12px 14px}h2{margin:2px 0 8px}}@media (max-width:768px){.wc-header{height:110px}.wc-header-text{font-size:28pt;right:12px}.wc-details{flex-direction:column;align-items:center;gap:8px}.wc-portrait-frame{margin:-50px auto 0}.wc-facts{min-width:0;width:100%;box-sizing:border-box;padding-right:24px;padding-left:24px}.wc-main{flex-direction:column;margin-top:16px;gap:12px}.wc-links{gap:2px}.wc-preview{border-left:none;padding-left:0;padding-top:12px;width:100%;min-height:0;display:flex;flex-direction:column;gap:0}.wc-preview-icon{align-self:center}.wc-preview .cmdlink,.wc-preview-bullets,.wc-preview-desc,.wc-preview-title{grid-column:auto;grid-row:auto}.wc-preview .cmdlink{margin-top:8px}.skill-grid{grid-template-columns:1fr}.project-header{flex-direction:column;align-items:flex-start}.pdf-viewer{height:50vh;min-height:300px}#main-window .window-body{padding:10px 12px}.media-gallery{gap:10px}.about-portrait{width:140px;height:140px}.wc-footer{margin-top:12px;padding-top:8px}.system-tray .system-tray-clock .date,.system-tray .system-tray-icon,.taskbar-divider,.taskbar-quick-launch{display:none}#taskbar-items{overflow-x:auto;scrollbar-width:none}#taskbar-items::-webkit-scrollbar{display:none}}@media (max-width:480px){.wc-header{height:90px}.wc-header-text{font-size:22pt;right:8px;padding-bottom:24px}.wc-portrait-frame{margin-top:-40px}.wc-facts-title,.wc-links-header{font-size:14pt}.wc-preview-title{font-size:16pt}.cmdlink{font-size:13pt}.cmdlink-glyph{width:28px;height:28px}h2{font-size:1.3rem}#main-window .window-body{padding:8px 10px}.media-gallery{gap:8px}.skill-card{width:64px}.skill-card-icon{width:36px;height:36px}.skill-card span{font-size:7pt}.pdf-viewer{height:40vh;min-height:240px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}