.topline{background:repeating-linear-gradient(90deg, var(--blue) 0 33.33%, var(--red) 33.33% 66.66%, var(--green) 66.66% 100%);height:4px}.site-header{border-bottom:1px solid var(--rule);background:#f7f3e9eb}.header-inner{justify-content:space-between;align-items:center;width:min(1100px,100% - 32px);min-height:62px;margin:auto;display:flex}.brand{width:34px;height:34px;color:var(--paper-light);background:var(--ink);border:1px solid var(--ink);box-shadow:3px 3px 0 var(--red);place-items:center;font-size:17px;font-weight:700;line-height:1;text-decoration:none;display:grid}.brand span{color:#78a9ff}.brand:hover{color:#fff;background:var(--blue)}nav{gap:28px;display:flex}nav a{color:var(--ink);font-size:13px;text-decoration:none}nav a:hover{color:var(--blue);text-decoration:underline}.layout{grid-template-columns:250px minmax(0,1fr);gap:32px;width:min(1100px,100% - 32px);margin:36px auto 80px;display:grid}.profile{min-width:0}.avatar{aspect-ratio:1;color:#fff;background:#24292f;border:1px solid #000;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:inset 0 0 0 8px #343b43}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar span{letter-spacing:-.08em;font-size:58px;line-height:1}.avatar small{color:#8c959f;margin-top:10px;font-size:9px}.profile>h1{letter-spacing:-.03em;margin:18px 0 0;font-size:24px;line-height:1.25}.username{color:var(--muted);margin:1px 0 14px;font-size:17px}.bio{margin:0 0 17px;font-size:14px;line-height:1.6}.contact-button{color:var(--ink);background:var(--paper-light);border:1px solid var(--rule);box-shadow:2px 2px 0 var(--ink);text-align:center;border-radius:3px;padding:8px 10px;font-size:13px;text-decoration:none;display:block}.contact-button:hover{color:var(--ink);background:#ddd7ca}.profile-links{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:17px 0;padding:15px 0;list-style:none}.profile-links li{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:7px 0;font-size:12px;overflow:hidden}.profile-links li>span{width:18px;color:var(--ink);text-align:center;display:inline-block}.profile-links a{color:var(--ink);text-decoration:none}.profile-links a:hover{color:var(--blue);text-decoration:underline}.quick-info h2{border-bottom:1px solid var(--rule);text-transform:uppercase;margin:0;padding-bottom:8px;font-size:13px}.quick-info h2 span{color:var(--blue);margin-right:5px}.quick-info dl{margin:7px 0 0}.quick-info dl div{grid-template-columns:84px 1fr;padding:5px 0;font-size:11px;display:grid}.quick-info dt{color:var(--muted)}.quick-info dd{margin:0}.content{min-width:0}.panel{background:var(--paper-light);border:1px solid var(--rule);border-radius:5px}.panel-head{border-bottom:1px solid var(--rule);align-items:center;min-height:42px;padding:0 16px;font-size:12px;display:flex}.panel-head b{color:var(--muted);margin-right:6px;font-weight:400}.readme-body{padding:26px 30px}.comment{color:var(--green);font-size:12px}.readme h2{letter-spacing:-.04em;margin:6px 0 18px;font-size:29px;font-weight:400;line-height:1.3}.readme-body>p:not(.comment){color:#3f3d37;max-width:680px;margin:13px 0;font-size:15px;line-height:1.65}code{color:var(--red);background:#e3ddd0;border-radius:3px;padding:1px 5px;font-family:inherit;font-size:13px}.readme-stats{color:var(--muted);border-top:1px solid #d6d0c3;gap:24px;margin-top:28px;padding-top:17px;font-size:11px;display:flex}.readme-stats b{color:var(--ink);font-size:15px}.content-section{padding-top:36px;scroll-margin-top:18px}.section-title{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.section-title h2{margin:0;font-size:17px;font-weight:400}.section-title>span{color:var(--muted);text-transform:uppercase;font-size:10px}.project-grid{grid-template-columns:1fr;gap:18px;display:grid}.project-card{background:var(--paper-light);border:1px solid var(--rule);border-radius:5px;min-width:0;overflow:hidden}.project-cover{aspect-ratio:16/7;color:#8c959f;border-bottom:1px solid var(--rule);background-color:#24292f;place-items:center;width:100%;text-decoration:none;display:grid;position:relative;overflow:hidden}.project-cover:before{content:"";opacity:.22;background-image:linear-gradient(135deg,#0000 25%,#57606a 25% 26%,#0000 26% 74%,#57606a 74% 75%,#0000 75%);background-size:24px 24px;position:absolute;inset:0}.project-cover:hover:before{opacity:.35}.project-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cover-gloomhaven{background-color:#293429}.cover-phoenix-point{background-color:#302b39}.cover-mobile-games{background-color:#253340}.cover-icon{z-index:1;color:#d0d7de;font-size:42px;position:relative}.cover-label{z-index:1;color:#f0f3f6;font-size:17px;position:absolute;bottom:15px;left:16px}.project-cover small{z-index:1;color:#a7afb8;text-transform:uppercase;font-size:9px;position:absolute;bottom:16px;right:14px}.project-body{flex-direction:column;padding:22px;display:flex}.project-body header{justify-content:space-between;gap:20px;min-width:0;display:flex}.project-body h3{margin:0;font-size:21px;font-weight:400}.project-body h3 a{color:var(--blue)}.project-role{color:var(--muted);text-transform:uppercase;margin:4px 0 0;font-size:11px;display:block}.project-body>p{color:#49463f;margin:20px 0;font-size:14px;line-height:1.65}.tags{flex-wrap:wrap;align-content:start;gap:8px;margin:2px 0 0;padding:0;list-style:none;display:flex}.tags li{color:#3d5d42;background:#dbe7d8;border-radius:10px;padding:4px 9px;font-size:10px;line-height:1.35}.project-body footer{border-top:1px solid #d6d0c3;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:18px;display:flex}.platforms{max-width:190px;color:var(--muted);text-align:right;font-size:10px}.platforms span{margin-right:3px}.details-link,.store-link{align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.store-link{color:var(--paper-light);background:var(--ink);border-radius:3px;padding:6px 9px;text-decoration:none}.store-link:hover{color:#fff;background:var(--blue)}.store-icon{font-size:14px}.timeline{padding:20px 22px}.timeline article{grid-template-columns:20px 1fr;gap:10px;display:grid}.timeline article+article{margin-top:5px}.timeline-marker{position:relative}.timeline-marker i{z-index:1;background:var(--paper-light);border:2px solid var(--blue);border-radius:50%;width:9px;height:9px;margin-top:4px;display:block;position:relative}.timeline-marker span,.timeline article:first-child .timeline-marker:after{content:"";border-left:1px solid var(--rule);position:absolute;top:13px;bottom:-9px;left:4px}.timeline-content{padding-bottom:24px}.timeline article:last-child .timeline-content{padding-bottom:0}.timeline-content header{justify-content:space-between;gap:15px;display:flex}.timeline-content h3{margin:0;font-size:17px;font-weight:400}.timeline-content header p{color:var(--blue);margin:0;font-size:11px}.timeline-content time{color:var(--muted);white-space:nowrap;font-size:10px}.timeline-content>p{color:#49463f;margin:11px 0;font-size:12px;line-height:1.6}.timeline-content ul{color:var(--muted);flex-wrap:wrap;gap:14px;margin:0;padding:0;font-size:10px;list-style:none;display:flex}.timeline-content li:before{content:"●";color:var(--green);vertical-align:1px;margin-right:5px;font-size:5px}.skills{grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.skill{border-bottom:1px solid #d6d0c3;align-items:center;gap:13px;min-height:72px;padding:13px 16px;display:flex}.skill:nth-child(odd){border-right:1px solid #d6d0c3}.skill:nth-last-child(-n+2){border-bottom:0}.skill-icon{width:24px;color:var(--red);text-align:center;font-size:17px}.skill small{color:var(--muted);text-transform:uppercase;font-size:10px;display:block}.skill strong{margin-top:4px;font-size:13px;font-weight:400;display:block}.education{align-items:center;gap:16px;margin-top:36px;padding:15px 18px;display:flex}.edu-icon{color:var(--blue);font-size:24px}.education h2{margin:0;font-size:15px;font-weight:400}.education p{color:var(--muted);margin:3px 0 0;font-size:11px}.contact{justify-content:space-between;align-items:center;gap:28px;margin-top:36px;padding:24px 26px;scroll-margin-top:18px;display:flex}.contact h2{margin:6px 0 4px;font-size:21px;font-weight:400}.contact p{color:var(--muted);margin:0;font-size:12px}.contact-actions{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.contact-actions a{color:#fff;background:var(--blue);border:1px solid #123c96;border-radius:3px;padding:7px 10px;font-size:11px;text-decoration:none}.contact-actions a:hover{background:var(--red)}.site-footer{border-top:1px solid var(--rule)}.site-footer>div{width:min(1100px,100% - 32px);min-height:70px;color:var(--muted);grid-template-columns:1fr 1fr 1fr;align-items:center;margin:auto;font-size:10px;display:grid}.site-footer span:nth-child(2){text-align:center}.site-footer a{justify-self:end}@media (width<=800px){.layout{grid-template-columns:190px minmax(0,1fr);gap:20px}.project-cover{aspect-ratio:16/8}.project-body>p{min-height:0}.readme-body{padding:22px}.profile-links li{font-size:11px}}@media (width<=620px){nav{gap:15px}nav a{font-size:11px}.layout{margin-top:20px;display:block}.profile{grid-template-columns:86px 1fr;align-items:start;column-gap:15px;padding-bottom:24px;display:grid}.avatar{grid-row:1/4}.avatar span{font-size:25px}.avatar small{display:none}.profile>h1{margin-top:5px;font-size:18px}.username{margin-bottom:7px;font-size:12px}.bio{font-size:10px}.contact-button,.profile-links,.quick-info{grid-column:1/3}.contact-button{margin-top:14px}.quick-info dl{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.quick-info dl div{grid-template-columns:70px 1fr}.readme h2{font-size:21px}.readme-stats{justify-content:space-between;gap:10px}.readme-stats span{flex-direction:column;display:flex}.content-section{padding-top:28px}.project-body{padding:18px}.project-body header{display:block}.platforms{text-align:left;max-width:none;margin-top:9px}.project-body footer{flex-direction:column;align-items:flex-start}.skills{grid-template-columns:1fr}.skill:nth-child(odd){border-right:0}.skill:nth-last-child(2){border-bottom:1px solid #d6d0c3}.timeline-content header,.contact{display:block}.contact-actions{align-items:flex-start;margin-top:18px}.contact-actions a{word-break:break-all;display:inline-block}.site-footer span:nth-child(2){display:none}.site-footer>div{grid-template-columns:1fr 1fr}}
