:root{color-scheme:light;--paper:#f8f8f5;--ink:#202723;--muted:#626b65;--line:#d8ded7;--width:1260px}*{box-sizing:border-box}html{scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #f98d4c;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}p{line-height:1.65}h1,h2,h3{font-weight:600;letter-spacing:-.035em}::selection{background:#cde98c;color:#14221a}.header{max-width:var(--width);margin:auto;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:21px;letter-spacing:-.6px;font-weight:700}.header nav{display:flex;gap:30px;font-size:13px}.skip{position:absolute;top:-80px;left:20px;padding:15px;background:white;color:black;z-index:99}.skip:focus{top:15px}.home-intro{max-width:var(--width);padding:65px 40px 80px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:50px}.home-intro h1{font-size:clamp(44px,5.1vw,74px);line-height:1.07;letter-spacing:-.055em}.home-intro p{font-size:17px;color:var(--muted);padding-bottom:5px}.work{max-width:var(--width);margin:auto;padding:0 40px 70px}.section-title{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:24px 0}.section-title h2{font-size:16px;font-weight:500;letter-spacing:0}.section-title>span{font-size:12px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.work-art{height:440px;display:block;overflow:hidden;position:relative}.arcade-cover{background:#071c19;color:#8ce8cf;border:1px solid #2c5146;padding:36px}.arcade-cover-name{font-family:'Courier New',monospace;font-size:35px;line-height:1;font-weight:bold;letter-spacing:1px;position:relative;z-index:1}.arcade-cover-name>span{display:block;font:12px Arial,sans-serif;letter-spacing:0;margin-top:16px;color:#b5cabe}.cover-screens{position:absolute;display:flex;gap:24px;right:30px;left:30px;top:170px;justify-content:center}.cover-screens img{width:38%;height:auto;border-radius:15px;border:4px solid #020907}.cover-screens img+img{margin-top:45px}.mine-cover{background:#75b7df}.cover-world{width:100%;height:100%;object-fit:cover}.cover-logo{position:absolute;width:60%;left:20%;top:45px;filter:drop-shadow(0 5px 2px #25334640)}.cover-miner{position:absolute;width:80px;height:100px;object-fit:contain;left:calc(50% - 40px);bottom:65px}.work-caption{padding:22px 0}.work-caption h3{font-size:25px;margin-bottom:12px}.work-caption h3 a{display:flex;justify-content:space-between;align-items:center}.work-caption h3 span{font-size:22px;font-weight:400}.work-caption p{font-size:14px;color:var(--muted)}.home-about{max-width:1180px;margin:0 auto 55px;border-top:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.home-about h2{font-size:24px}.home-about p{font-size:14px;color:var(--muted)}footer{max-width:1180px;padding:28px 0;margin:auto;border-top:1px solid var(--line);display:flex;gap:30px;font-size:12px;color:var(--muted)}footer>a:first-child{margin-right:auto;color:var(--ink)}
/* Pocket Arcade: the interface and colour vocabulary of the app. */
.pocket{--paper:#071412;--ink:#e9f4e8;--muted:#afc4b8;--line:#29443a;color-scheme:dark}.pocket .brand{font-family:'Courier New',monospace;font-size:21px;color:#89edcb;text-transform:uppercase;letter-spacing:.8px}.pocket .header{border-bottom:1px solid var(--line)}.pocket-intro{max-width:var(--width);padding:65px 80px 65px 40px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.platform{font-size:13px;color:#90b4a1;margin-bottom:25px}.pocket h1{font-family:'Courier New',monospace;font-size:clamp(42px,5vw,70px);line-height:1.02;letter-spacing:-.055em;color:#b6edb8}.pocket-intro p:not(.platform){font-size:16px;color:var(--muted);margin-top:25px}.arcade-button{display:inline-block;background:#b8edb3;color:#102319;border:1px solid #c2f6be;padding:15px 22px;margin-top:30px;font-size:14px;font-weight:700}.arcade-button:hover{background:#d5f9d1;text-decoration:none}.pocket-facts{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;font-size:11px;color:#9fb5a7}.pocket-facts span+span{border-left:1px solid #416150;padding-left:14px}.pocket-hero-screen{justify-self:center;width:240px}.pocket-hero-screen img{border:6px solid #020a07;border-radius:26px;box-shadow:0 0 0 1px #395648}.pocket-hero-screen>span{font:10px 'Courier New',monospace;color:#8fac9c;display:block;margin-top:16px;text-align:center}.game-browser{padding:55px 40px 65px;max-width:var(--width);margin:auto;border-top:1px solid var(--line)}.browser-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.pocket h2{font-size:35px;letter-spacing:-1px}.browser-heading>span{font-size:12px;color:var(--muted)}.browser-layout{display:grid;grid-template-columns:1fr 2fr;gap:65px}.game-menu{align-self:start;border-top:1px solid var(--line)}.game-choice{background:none;color:#a2b9ab;border:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;width:100%;text-align:left;padding:22px 16px;font:16px 'Courier New',monospace;gap:20px}.game-choice[aria-pressed=true]{background:#15392a;color:#c0f6b7;border-left:3px solid #b3ec9f;padding-left:13px}.game-choice:hover{color:#e9ffce;background:#10271e}.game-stage{display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center;min-height:480px}.game-stage>img{width:220px;border:4px solid #010805;border-radius:18px}.game-description h3{font-size:27px;line-height:1.2;color:#d5edba;margin-bottom:20px}.game-description p{font-size:14px;color:var(--muted)}.game-description>span{font-size:10px;color:#93aa9b;display:block;margin-top:30px}.display-section{max-width:var(--width);margin:auto;border-top:1px solid var(--line);padding:65px 80px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.display-picture{justify-self:center;width:240px}.display-picture img{width:100%;border:5px solid #010805;border-radius:20px}.display-section h2{margin-bottom:25px;line-height:1.15}.display-section p{color:var(--muted);font-size:15px}.display-section ul{display:grid;grid-template-columns:1fr 1fr;padding:25px 0;margin:20px 0;list-style:none;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:13px 'Courier New',monospace}.support{max-width:var(--width);padding:55px 40px;margin:auto;border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr 1fr;gap:100px}.support h2{font-size:26px;margin-bottom:18px}.support p{font-size:14px;color:var(--muted);max-width:470px;margin-bottom:20px}.support>div>a{font-size:14px;text-decoration:underline;text-underline-offset:5px}.support nav{display:flex;flex-direction:column;gap:0;align-self:center}.support nav>a{font-size:14px;border-bottom:1px solid var(--line);padding:17px 0}
/* BangHead: original illustrated world and sprites, no portfolio theme. */
.bang{--paper:#141e2d;--ink:#fff1d4;--muted:#bec9d2;--line:#344252;color-scheme:dark}.bang .header{padding-top:17px;padding-bottom:17px}.bang .brand img{width:113px;height:57px;object-fit:contain}.bang .header nav{font-size:13px}.bang-hero{height:650px;position:relative;background:#70b6ed url('/assets/bang-background.jpg') center center/cover no-repeat;display:grid;place-items:center;text-align:center;color:#16263b}.bang-hero-content{padding:0 25px 65px}.hero-game-logo{width:420px;max-width:70vw;margin:0 auto 22px;filter:drop-shadow(0 5px 2px #22344866)}.bang-hero h1{font-size:43px;font-weight:800;letter-spacing:-1.5px;text-shadow:0 1px 0 #ffffff55}.bang-hero p{font-size:16px;font-weight:600;margin:15px 0 0;line-height:1.55}.mine-button{display:inline-block;background:#f6bb4f;border:2px solid #493222;border-radius:7px;box-shadow:0 4px 0 #493222;padding:15px 24px;margin-top:25px;color:#35291f;font-weight:700;font-size:14px}.mine-button:hover{background:#ffd17a;text-decoration:none}.bang-platform{position:absolute;bottom:22px;padding:10px 16px;background:#162334e8;color:#fff1d4;font-size:12px}.bang-gameplay{max-width:var(--width);padding:65px 40px;margin:auto}.gameplay-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:35px}.bang h2{font-size:35px;font-weight:700;letter-spacing:-.8px;line-height:1.15}.gameplay-heading p{font-size:14px;color:var(--muted)}.bang-gameplay figure>img{width:100%;border:1px solid #6c5a3e}.bang-gameplay figcaption{font-size:11px;color:var(--muted);margin-top:14px}.mechanics{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:45px 9% 0}.mechanics article{display:grid;grid-template-columns:90px 1fr;column-gap:25px;align-items:center}.sprite-scene{grid-row:span 2;width:90px;height:110px;display:grid;place-items:center}.sprite-scene img{max-width:90px;max-height:100px;object-fit:contain}.mechanics h3{font-size:22px;letter-spacing:-.4px;margin-bottom:12px}.mechanics p{font-size:14px;color:var(--muted)}.powerups{max-width:1180px;margin:auto;padding:60px 0;display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line);align-items:center}.powerups>div>p{font-size:14px;color:var(--muted);margin-top:20px}.powerups dl{margin:0}.powerups dl>div{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:19px 0}.powerups dt{display:flex;align-items:center;gap:20px;font-size:16px;font-weight:600}.powerups dt img{width:46px;height:48px;object-fit:contain}.powerups dd{margin:0;font-size:13px;color:var(--muted);line-height:1.6}.bang-levels{max-width:1180px;margin:auto;padding:55px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:90px}.bang-levels p{font-size:14px;color:var(--muted)}.bang .support{background:#111b29}.bang .support h2{font-size:26px}.bang footer{color:#9caebb}
@media(min-width:1500px){.home-intro{padding-top:80px;padding-bottom:95px}.work-art{height:480px}.bang-hero{height:720px;background-position:center 65%}}
@media(max-width:1250px){.home-about,footer,.powerups,.bang-levels{margin-left:40px;margin-right:40px}.pocket-intro{gap:35px;padding-right:40px}.browser-layout{gap:35px}.game-stage{gap:25px;grid-template-columns:190px 1fr}.game-stage>img{width:190px}.display-section{gap:50px;padding-left:40px;padding-right:40px}.mechanics{padding-left:0;padding-right:0;gap:35px}}
@media(max-width:850px){.home-intro{grid-template-columns:1fr;padding-top:45px;padding-bottom:50px;gap:28px}.home-intro p{font-size:16px}.work-grid{gap:20px}.work-art{height:370px}.arcade-cover{padding:25px}.arcade-cover-name{font-size:27px}.cover-screens{left:15px;right:15px;gap:15px;top:150px}.cover-screens img{width:45%}.cover-logo{width:80%;left:10%;top:55px}.home-about{grid-template-columns:1fr 1fr;gap:25px}.home-about h2{grid-column:1/-1}.pocket-intro{grid-template-columns:1.3fr 1fr;gap:30px}.pocket h1{font-size:44px}.pocket-intro p:not(.platform){font-size:14px}.pocket-hero-screen{width:190px}.pocket-facts{gap:10px;font-size:10px}.pocket-facts span+span{padding-left:10px}.browser-layout{grid-template-columns:1fr;gap:35px}.game-menu{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.game-choice{padding-top:17px;padding-bottom:17px;font-size:14px}.game-stage{grid-template-columns:220px 1fr;gap:50px;padding:0 45px}.game-stage>img{width:220px}.display-section{gap:45px}.display-picture{width:200px}.pocket h2{font-size:30px}.display-section p{font-size:14px}.support{gap:50px}.bang-hero{height:610px}.hero-game-logo{width:360px}.gameplay-heading{display:block}.gameplay-heading p{margin-top:20px}.mechanics{gap:30px}.mechanics article{display:block}.sprite-scene{height:110px;width:70px;margin-bottom:22px}.sprite-scene img{max-width:70px;max-height:90px}.powerups{grid-template-columns:1fr;gap:30px}.powerups dl>div{grid-template-columns:1fr 1fr}.bang-levels{gap:35px}.bang h2{font-size:30px}}
@media(max-width:560px){.header{padding:24px 22px}.brand{font-size:19px}.header nav{gap:18px;font-size:12px}.home-intro{padding:32px 22px 45px;gap:25px}.home-intro h1{font-size:43px}.home-intro p{font-size:14px}.work{padding:0 22px 30px}.work-grid{grid-template-columns:1fr;gap:25px}.work-art{height:390px}.arcade-cover{padding:28px}.arcade-cover-name{font-size:32px}.cover-screens{top:165px;gap:25px}.cover-screens img{width:37%}.cover-logo{top:35px;width:65%;left:17.5%}.cover-miner{bottom:52px}.work-caption h3{font-size:23px}.work-caption p{font-size:14px}.home-about{display:block;margin:0 22px 25px;padding-top:28px}.home-about h2{font-size:23px;margin-bottom:20px}.home-about p{margin-bottom:15px}footer{margin:0 22px;padding:25px 0;font-size:11px;gap:20px}.pocket .brand{font-size:15px;letter-spacing:0}.pocket .header nav{gap:14px;font-size:10px}.pocket-intro{padding:35px 22px 45px;grid-template-columns:1fr;gap:40px}.platform{margin-bottom:20px;font-size:12px}.pocket h1{font-size:46px}.pocket-intro p:not(.platform){font-size:15px}.pocket-intro p br{display:none}.pocket-hero-screen{width:220px}.pocket-facts{font-size:11px}.game-browser{padding:35px 22px 45px}.browser-heading{gap:20px;margin-bottom:25px}.pocket h2{font-size:27px}.browser-heading>span{white-space:nowrap;font-size:10px}.game-menu{gap:0 12px}.game-choice{padding:17px 9px;font-size:12px;gap:5px}.game-choice[aria-pressed=true]{padding-left:6px}.game-stage{padding:0;grid-template-columns:1fr;gap:27px;min-height:0}.game-stage>img{width:210px;justify-self:center}.game-description{max-width:330px}.game-description h3{font-size:25px;margin-bottom:13px}.game-description>span{margin-top:18px}.display-section{padding:40px 22px;grid-template-columns:1fr;gap:30px}.display-picture{width:210px}.display-section>div:last-child{grid-row:1}.display-section ul{font-size:12px}.support{padding:40px 22px;grid-template-columns:1fr;gap:25px}.support h2,.bang .support h2{font-size:25px}.support>div>a{font-size:13px}.support nav>a{padding:16px 0}.bang .brand img{width:90px;height:43px}.bang .header{padding:14px 22px}.bang .header nav{font-size:11px;gap:17px}.bang-hero{height:550px;background-position:center}.bang-hero-content{padding:0 22px 45px}.hero-game-logo{width:300px;max-width:85vw;margin-bottom:25px}.bang-hero h1{font-size:35px}.bang-hero p{font-size:14px;line-height:1.6}.bang-hero p br{display:none}.bang-platform{font-size:10px;bottom:18px}.bang-gameplay{padding:40px 22px}.bang h2{font-size:28px}.gameplay-heading{margin-bottom:25px}.gameplay-heading p{font-size:14px}.bang-gameplay figure{margin:0 -22px}.bang-gameplay figure>img{border:0}.bang-gameplay figcaption{padding-left:22px;font-size:10px}.mechanics{grid-template-columns:1fr;padding-top:35px;gap:30px}.mechanics article{display:grid;grid-template-columns:60px 1fr;gap:0 22px}.sprite-scene{grid-row:span 2;width:60px;height:90px;margin:0}.sprite-scene img{max-width:60px;max-height:85px}.mechanics h3{font-size:20px}.mechanics p{font-size:13px}.powerups{margin:0 22px;padding:40px 0;gap:25px}.powerups dl>div{gap:15px;grid-template-columns:1fr 1fr}.powerups dt{font-size:14px;gap:12px}.powerups dt img{width:36px;height:40px}.powerups dd{font-size:12px}.bang-levels{display:block;margin:0 22px;padding:35px 0}.bang-levels p{margin-top:20px}.bang-levels p br{display:none}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:560px){.pocket h1{font-size:42px}}
/* Readable support and policy pages, using each app’s existing identity. */
.document-page{max-width:var(--width);margin:auto;padding:45px 40px 70px}.document-heading{max-width:770px;padding:0 0 40px;margin-left:280px}.document-back{display:inline-block;font-size:13px;color:var(--muted);margin-bottom:30px}.document-heading h1,.pocket .document-heading h1{font:600 48px/1.1 Arial,Helvetica,sans-serif;letter-spacing:-1.5px;margin:0 0 25px;color:var(--ink)}.document-heading>p{font-size:17px;line-height:1.7;color:var(--muted)}.document-heading .document-date{font-size:12px;margin-top:22px}.document-contact{display:inline-block;padding:13px 0;border-bottom:1px solid currentColor;margin-top:15px;font-size:14px}.document-layout{display:grid;grid-template-columns:230px minmax(0,770px);gap:50px}.document-contents{align-self:start;position:sticky;top:30px;padding-top:25px;border-top:1px solid var(--line)}.document-contents h2,.pocket .document-contents h2{font-size:14px;letter-spacing:0;margin-bottom:20px}.document-contents>a{display:block;font-size:13px;line-height:1.5;color:var(--muted);padding:7px 0}.document-content{min-width:0}.document-content section{border-top:1px solid var(--line);padding:28px 0 30px;scroll-margin-top:30px}.document-content h2,.pocket .document-content h2,.bang .document-content h2{font:600 25px/1.25 Arial,Helvetica,sans-serif;letter-spacing:-.5px;margin:0 0 20px}.document-content p{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:18px}.document-content p:last-child{margin-bottom:0}.document-content p a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;color:var(--ink)}.document-content strong{font-weight:600;color:var(--ink)}.document-content .callout{border-left:3px solid #f6bb4f;padding-left:20px}.header a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.not-found{max-width:var(--width);margin:auto;padding:100px 40px 150px}.not-found h1{font-size:48px;margin-bottom:25px}.not-found p{margin-bottom:30px}.not-found>a{text-decoration:underline}
@media(max-width:1000px){.document-heading{margin-left:230px}.document-layout{grid-template-columns:190px minmax(0,1fr);gap:40px}}
@media(max-width:700px){.document-page{padding:30px 22px 45px}.document-heading{margin-left:0;padding-bottom:30px}.document-heading h1,.pocket .document-heading h1{font-size:38px}.document-heading>p{font-size:16px}.document-layout{grid-template-columns:1fr;gap:30px}.document-contents{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.document-contents h2{grid-column:1/-1}.document-contents>a{font-size:12px}.document-content p{font-size:15px}.document-content h2,.pocket .document-content h2,.bang .document-content h2{font-size:23px}.document-back{margin-bottom:24px}.not-found{padding:70px 22px 100px}.not-found h1{font-size:38px}.pocket .header nav,.bang .header nav{gap:16px;font-size:12px}}
@media(max-width:370px){.pocket .brand{font-size:13px}.pocket .header nav{gap:12px;font-size:11px}}
