/* Shared finishing layer: calm motion, consistent reading surfaces and touch targets. */
:root{--ease-ui:cubic-bezier(.22,.61,.36,1);color-scheme:dark}
html{scroll-padding-top:32px;scrollbar-color:#424d5c #101418}
body{margin:0;background:#101418;color:#eaecf0;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box}
a,button{-webkit-tap-highlight-color:transparent}
a{text-underline-offset:4px}button,a,input,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:2px solid #8eafff;outline-offset:5px}
main{min-width:0}img{max-width:100%}
.home-return{border-radius:8px;min-height:42px;padding:10px 16px;transition:background .2s var(--ease-ui),border-color .2s var(--ease-ui),box-shadow .2s var(--ease-ui)}
.home-return:hover{box-shadow:0 4px 18px #0002}
body:not(.wiki-home) main{max-width:900px;padding-top:112px;padding-bottom:64px;gap:28px}
body:not(.wiki-home) .font-syne{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important}
body:not(.wiki-home) h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.22;letter-spacing:-.025em}
body:not(.wiki-home) .card{background:transparent;border:0;border-radius:0;box-shadow:none}
body:not(.wiki-home) .card p.leading-relaxed{font-size:16px;line-height:1.8}
body:not(.wiki-home) .fade-up{opacity:1;transform:none}
body:not(.wiki-home) .section-label{font:12px/1.5 Arial,sans-serif;color:#a2a9b1;letter-spacing:.14em}
body:not(.wiki-home) .tag{font:13px/1.5 Arial,sans-serif;color:#b9c5d7;border:1px solid #353c44;background:#171c21;border-radius:5px;padding:5px 10px}
body:not(.wiki-home) .btn-primary,body:not(.wiki-home) .btn-outline{font:14px/1.5 Arial,sans-serif;min-height:42px;border:1px solid #465c7d;border-radius:6px;background:#233958;color:#dbe7ff;letter-spacing:0}
#showcase>.grid{gap:24px}#showcase>h1{margin-bottom:28px}
.project-card{border:1px solid #2b333e!important;border-radius:10px!important;background:#14191f;overflow:hidden;transition:border-color .25s var(--ease-ui),background .25s var(--ease-ui),box-shadow .25s var(--ease-ui)}
.project-card .proj-img{border-bottom:1px solid #2b333e;transition:filter .25s var(--ease-ui);aspect-ratio:16/10}
.project-card>.p-4{padding:20px}.project-card h2{font-size:20px!important;line-height:1.35!important}.project-card p{font-size:14px!important;line-height:1.7!important}
.project-card:hover{border-color:#60708b!important;background:#19212b;box-shadow:0 8px 24px #0002;transform:none}
.project-card:hover .proj-img{filter:brightness(1.06)}
.skill-icon{transition:transform .25s var(--ease-ui)}.skill-name{font-size:14px;line-height:1.5}
.site-footer{border-top:1px solid #252d36;max-width:850px;margin:0 auto;padding:28px 24px;gap:18px}.footer-icon{opacity:.8;transition:color .2s,opacity .2s}.footer-icon:hover{opacity:1;color:#8eafff}.footer-copy{color:#a2a9b1;opacity:1}
.topbar{padding-top:24px;padding-bottom:24px}.topbar>div a{padding:5px 0}.small-brand{letter-spacing:.02em}
.masthead h1{font-size:clamp(2.15rem,4.5vw,3.25rem);letter-spacing:-.025em}.subtitle{color:#c6cbd3;line-height:1.5;margin-top:12px}
.portal{padding-bottom:66px}.orbit{height:360px;margin-top:32px}.o5{top:305px}
.orbit-link{border-radius:8px;transition:background .22s var(--ease-ui),color .22s var(--ease-ui)}.orbit-link span{line-height:1.55;margin-top:5px}.orbit-link:hover{background:#1b243080}.orbit-link:hover strong{text-decoration:none;color:#b4cbff}
.globe-zoom-controls{gap:8px;bottom:-5px}.globe-zoom-btn{width:34px;height:34px;border-radius:7px;color:#c5cdd8;transition:background .2s,border-color .2s}.globe-zoom-btn:hover{background:#273447;border-color:#6c82a3}
.contact-section{max-width:1080px;gap:64px;padding-top:48px;padding-bottom:48px;border-color:#2a323d}.contact-section h2{font-size:clamp(1.6rem,3vw,2rem);line-height:1.3;text-wrap:balance}.contact-section>div>p{line-height:1.75}.contact-links{gap:22px;flex-wrap:wrap}.contact-links a{padding:8px 0}
.anonymous-card{border-radius:12px;border-color:#363e4a;border-top-color:#bd6268;padding:24px;box-shadow:0 10px 30px #0002}.anonymous-greeting{gap:12px}.anonymous-greeting h3{line-height:1.5}
#anon-form textarea{border-radius:8px!important;transition:border-color .2s,box-shadow .2s;background:#11161c!important}#anon-form textarea:focus{box-shadow:0 0 0 3px #8eafff14}#anon-form textarea::placeholder{color:#929caa}#anon-form button{border-radius:7px;min-height:44px;transition:background .2s,box-shadow .2s;transform:none}#anon-form button:hover{box-shadow:0 3px 14px #b9546025}#anon-status:empty{display:none!important}
#travel-popup{border-radius:10px;border-color:#46505f;box-shadow:0 14px 48px #0006}.popup-body{padding:15px 16px 18px}#popup-close-btn{width:30px;height:30px}#popup-note{margin-top:6px}
.wiki-footer{max-width:1080px;padding-top:24px;padding-bottom:28px}
@media(max-width:760px){.topbar{padding:18px 22px}.portal{padding-bottom:38px}.orbit{height:auto;margin-top:20px;gap:10px 8px}.orbit-link{padding:14px 6px}.orbit-link span{font-size:13px}.globe-stage{margin-bottom:14px}.contact-section{gap:32px;padding-top:32px;padding-bottom:32px}.anonymous-card{padding:20px}.home-return{top:20px;left:20px}body:not(.wiki-home) main{padding-top:96px}.site-footer{margin-left:20px;margin-right:20px}}
@media(max-width:430px){.topbar>div{gap:16px;font-size:13px}.orbit-link strong{font-size:16px}.anonymous-greeting{gap:8px}.spidey{width:64px}.anonymous-greeting .comic-hello{font-size:23px}.anonymous-card{padding:18px}.contact-section,.wiki-footer{margin-left:20px;margin-right:20px}body:not(.wiki-home) .card{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Social destinations use the same recognizable marks as the site footer. */
.social-logo-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px!important;border:1px solid transparent;border-radius:9px;color:#aebed6;transition:color .2s,background .2s,border-color .2s}
.social-logo-link svg{width:22px;height:22px;fill:currentColor;display:block}
.social-logo-link:hover{color:#c9dbff;background:#1b2531;border-color:#354459;text-decoration:none}
.topbar>div{align-items:center}.contact-links{gap:12px}
