:root{color-scheme:dark;--bg:#303633;--surface:#3b433e;--text:#f2f5f2;--muted:#c2cbc4;--line:#56625a;--accent:#afe0bd;--tint:#414f46;--shadow:0 16px 40px #15251a20}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.topbar{height:80px;max-width:1240px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}.monogram{display:grid;place-items:center;background:var(--accent);color:var(--bg);width:34px;height:34px;border-radius:11px;font-size:13px;letter-spacing:-.5px}nav{display:flex;flex-wrap:wrap;gap:10px}nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;font-size:14px;font-weight:550;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 8px #16221b20;transition:background .2s,border-color .2s}nav a:hover{background:var(--tint);border-color:var(--accent)}main,footer{max-width:1176px;margin:auto}.intro{padding:86px 0 74px}.eyebrow{font-size:12px;font-weight:650;letter-spacing:2px;color:var(--accent)}h1{font-size:clamp(44px,5.1vw,70px);line-height:1.09;letter-spacing:-3.3px;font-weight:600;margin:23px 0 26px}h1 span{color:var(--muted)}.intro-bottom{display:flex;align-items:center;justify-content:space-between;gap:32px}.intro p{max-width:530px;margin:0;color:var(--muted);line-height:1.7;font-size:17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:14px 21px;border-radius:13px;font-size:14px;font-weight:600}.primary{color:var(--surface);background:var(--accent);box-shadow:0 5px 12px #265a3d16}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.section-heading h2{font-size:20px;letter-spacing:-.5px;margin:0;font-weight:600}.project{background:var(--surface);border:1px solid var(--line);border-radius:24px;margin-bottom:28px;overflow:hidden;box-shadow:var(--shadow)}.project-top{display:grid;grid-template-columns:.83fr 1.35fr;min-height:390px}.project-copy{padding:42px 36px;display:flex;align-items:flex-start;flex-direction:column}.project-label{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:25px}.app-icon{height:37px;width:37px;background:var(--tint);color:var(--accent);border-radius:10px;display:grid;place-items:center;font-weight:600;font-size:17px}.project-label strong{font-size:17px;font-weight:600}.category{font-size:11px;letter-spacing:1.6px;color:var(--accent);font-weight:650}.project h3{font-size:30px;line-height:1.15;letter-spacing:-1px;margin:12px 0 14px;font-weight:600}.project-description{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 22px}.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.pill{background:var(--bg);border:1px solid var(--line);padding:6px 9px;border-radius:7px;font-size:12px;color:var(--muted)}.project-visual{background:var(--tint);padding:34px;display:flex;align-items:center;justify-content:center;overflow:hidden}.screenshot-button{border:0;background:transparent;padding:0;width:100%;text-align:left;color:inherit}.window{border-radius:12px;overflow:hidden;border:1px solid #8c9a8f38;box-shadow:0 17px 35px #1b322426;transition:transform .25s}.screenshot-button:hover .window{transform:translateY(-4px)}.window-bar{height:26px;background:#526058;display:flex;align-items:center;padding:0 10px;gap:5px}.window-bar i{width:6px;height:6px;border-radius:50%;background:#a8b5ac}.window img{width:100%;display:block}.project-bottom{border-top:1px solid var(--line);padding:18px 36px;display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:13px;color:var(--muted)}.features{display:flex;gap:18px;flex-wrap:wrap}.project summary{list-style:none;cursor:pointer;color:#293b30;background:var(--accent);border:1px solid #c7eed1;border-radius:12px;font-size:15px;font-weight:650;min-height:52px;padding:15px 19px;margin:18px 36px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 4px 12px #16241b30;transition:background .2s,box-shadow .2s}.project summary::-webkit-details-marker{display:none}.case-study{padding:15px 36px 36px}.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:30px}.case-study h4{font-size:17px;margin:17px 0 9px}.case-study p{font-size:16px;line-height:1.7;color:var(--muted);margin:0 0 20px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:25px 0}.gallery figure{margin:0}.gallery img{width:100%;height:240px;object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:12px}.gallery figcaption{margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted)}.gallery figcaption strong{display:block;color:var(--text);font-weight:600}.credits{padding:18px 24px;background:var(--bg);border:1px solid var(--line);border-radius:14px}.credits ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;list-style:none;font-size:14px;color:var(--muted)}.about{padding:83px 0;display:grid;grid-template-columns:1fr 1fr;gap:65px}.about h2,.contact h2{font-size:36px;line-height:1.2;letter-spacing:-1.2px;font-weight:550;margin:18px 0}.about p,.contact p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.about-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.about-facts span{border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:13px;color:var(--muted)}.contact{background:var(--tint);border-radius:24px;padding:52px;text-align:center}.contact .button{background:var(--surface);border:1px solid var(--line);margin:25px 5px 0;gap:24px}.contact .placeholder-note{font-size:12px;margin-top:15px}footer{padding:32px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}dialog{max-width:94vw;max-height:94vh;padding:45px 15px 10px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text)}dialog::backdrop{background:#101b16b3;backdrop-filter:blur(8px)}dialog img{display:block;max-width:88vw;max-height:77vh;object-fit:contain}dialog p{font-size:14px;text-align:center}.close{position:absolute;right:10px;top:7px;border:0;background:var(--bg);color:var(--text);border-radius:50%;width:32px;height:32px;font-size:24px}@media(min-width:1500px){.intro{padding-top:100px}}@media(max-width:1240px){main,footer{margin-left:32px;margin-right:32px}}@media(max-width:850px){.project-top{grid-template-columns:1fr 1.1fr}.project-copy{padding:28px 24px}.project h3{font-size:26px}.project-visual{padding:22px}.about{gap:30px}.features{gap:10px}}@media(max-width:640px){.topbar{height:70px;padding:0 20px}.identity{gap:8px;font-size:14px}nav a{padding:7px 10px;font-size:13px}.monogram{width:29px;height:29px}main,footer{margin-left:20px;margin-right:20px}.intro{padding:54px 0 46px}h1{font-size:43px;letter-spacing:-2px}.intro-bottom{display:block}.intro .button{margin-top:25px}.project-top{display:flex;flex-direction:column}.project-copy{padding:27px 25px}.project h3{font-size:30px}.project-label{margin-bottom:20px}.project-visual{padding:25px}.project-bottom{padding:15px 25px}.features{font-size:12px}.project summary{padding:18px 25px}.case-study{padding:10px 24px 24px}.case-intro,.gallery,.about{grid-template-columns:1fr}.gallery img{height:auto;max-height:350px}.credits ul{grid-template-columns:1fr}.about{padding:55px 0;gap:8px}.about h2,.contact h2{font-size:30px}.contact{padding:35px 22px}footer{flex-wrap:wrap;line-height:1.5}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.project summary:hover{background:#c5edcf;box-shadow:0 6px 16px #16241b40}.when-open{display:none}details[open] .when-open{display:inline}details[open] .when-closed{display:none}.disclosure-chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin:0 4px 5px}details[open] .disclosure-chevron{transform:rotate(225deg);margin-top:8px}@media(max-width:640px){.topbar{height:auto;min-height:80px;padding:18px 20px;gap:16px;flex-wrap:wrap}nav{gap:8px}nav a{padding:10px 14px;font-size:14px}.project summary{margin:16px 24px 20px;padding:15px 16px}}

.credits a{display:inline-block;color:var(--accent);text-decoration:underline;text-underline-offset:4px;padding:5px 0}.credits a:hover{color:var(--text)}

.games{padding:48px 0 16px}.games h2{font-size:32px;letter-spacing:-1px;font-weight:550;margin:14px 0}.games>p{max-width:780px;color:var(--muted);font-size:16px;line-height:1.8;margin:0 0 26px}.game-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.game-gallery figure{margin:0;min-width:0}.game-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--surface);border:1px solid var(--line);border-radius:14px}.game-gallery figcaption{font-size:14px;color:var(--muted);margin-top:12px}.game-gallery button:hover img{border-color:var(--accent)}@media(max-width:640px){.game-gallery{grid-template-columns:1fr;gap:24px}.games{padding-top:32px}.games h2{font-size:28px}}

/* Keep headline letter pairs distinct at every viewport size. */
h1{letter-spacing:0; font-kerning:normal}

.about{display:block}.about>div{max-width:800px}.about .eyebrow{margin-bottom:18px}

.repository-link{background:var(--tint);color:var(--accent);border:1px solid var(--line);margin:8px 0 18px}.repository-link:hover{border-color:var(--accent)}.contact-direct{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.contact-direct .button{overflow-wrap:anywhere;max-width:100%}
