:root{--color-bg:#060812;--color-surface:#10121b;--color-card:#ffffff0a;--color-border:#ffffff14;--color-text:#e8eaf0;--color-text-muted:#7a849e;--color-accent:#f0a835;--color-accent-rgb:240 168 53;--color-link:var(--color-accent);--color-on-accent:var(--color-bg);--color-focus-ring:var(--color-accent);--color-ios:#f0a835;--color-android:#4db8ff;--color-on-badge:#060812;--color-bg-rgb:6 8 18;--color-ios-rgb:240 168 53;--color-android-rgb:77 184 255;--color-purple-rgb:155 93 229;--color-tag-text:var(--color-accent);--color-tag-bg:rgb(var(--color-accent-rgb) / .15);--color-tag-border:rgb(var(--color-accent-rgb) / .28);--color-tag-game-text:#b48cf0;--color-tag-game-bg:rgb(var(--color-purple-rgb) / .12);--color-tag-game-border:rgb(var(--color-purple-rgb) / .28);--font-body:"Space Grotesk", sans-serif;--font-heading:"Cinzel", serif;--shadow-banner:none;--text-2xs:.7rem;--text-xs:.8rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.1rem;--text-xl:1.2rem;--dur-fast:.2s;--dur-med:.35s;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:100px}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,:before,:after{transition-property:color,background-color,border-color,box-shadow,opacity!important;transition-duration:.15s!important;animation:none!important}.hero-eyebrow,#hero h1,.hero-sub,.btn-primary{opacity:1!important}.card:hover,.card:hover .card-img img,.store-btn.two-line:hover,.bd-feature-card:hover{transform:none!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#starfield{z-index:-1;pointer-events:none;position:fixed;inset:0}.skip-link{z-index:200;background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-sm);padding:.6rem 1.1rem;font-weight:600;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(calc(-100% - 1rem))}.skip-link:focus{transform:none}main:focus{outline:none}#nav{z-index:100;transition:background var(--dur-med), backdrop-filter var(--dur-med), border-color var(--dur-med);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:1rem 2.5rem;display:flex;position:fixed;top:0;left:0;right:0}#nav.scrolled,#nav.menu-open{background:rgb(var(--color-bg-rgb) / .78);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--color-border)}.nav-logo img{border-radius:var(--radius-sm);object-fit:cover;width:38px;height:38px;transition:box-shadow var(--dur-med)}.nav-logo img:hover{box-shadow:0 0 22px rgb(var(--color-accent-rgb) / .55)}#nav ul{gap:2.5rem;list-style:none;display:flex}#nav a{color:var(--color-text-muted);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;transition:color var(--dur-fast);text-decoration:none}#nav a:hover{color:var(--color-accent)}.nav-toggle,.nav-divider{display:none}@media (width<=899.98px){#nav{flex-wrap:wrap}.nav-toggle{width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-toggle:hover{color:var(--color-accent)}.nav-toggle-icon,.nav-toggle-icon:before,.nav-toggle-icon:after{width:22px;height:2px;transition:transform var(--dur-fast), background var(--dur-fast);background:currentColor;border-radius:1px;display:block}.nav-toggle-icon{position:relative}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";position:absolute;left:0}.nav-toggle-icon:before{top:-7px}.nav-toggle-icon:after{top:7px}#nav.menu-open .nav-toggle-icon{background:0 0}#nav.menu-open .nav-toggle-icon:before{top:0;transform:rotate(45deg)}#nav.menu-open .nav-toggle-icon:after{top:0;transform:rotate(-45deg)}#nav ul{flex-direction:column;gap:0;width:100%;display:none}#nav.menu-open ul{display:flex}#nav ul li{width:100%}#nav ul a{white-space:nowrap;align-items:center;min-height:44px;display:flex}#nav ul .nav-divider{background:var(--color-border);height:1px;margin:.4rem 0;display:block}}#hero{background-image:url(/hero-bg.png);background-position:50% 30%;background-size:cover;justify-content:center;align-items:center;height:100vh;min-height:620px;display:flex;position:relative;overflow:clip}.hero-overlay{background:linear-gradient(to bottom, rgb(var(--color-bg-rgb) / .2) 0%, rgb(var(--color-bg-rgb) / .4) 55%, rgb(var(--color-bg-rgb) / 1) 100%);position:absolute;inset:0}.hero-content{z-index:1;text-align:center;--hero-scrim:.65;max-width:900px;padding:2rem;position:relative}.hero-content:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side, rgb(var(--color-bg-rgb) / var(--hero-scrim)) 0%, rgb(var(--color-bg-rgb) / calc(var(--hero-scrim) * .9)) 50%, rgb(var(--color-bg-rgb) / calc(var(--hero-scrim) * .55)) 72%, rgb(var(--color-bg-rgb) / 0) 100%);position:absolute;inset:-45% -55%}.hero-eyebrow{font-size:var(--text-xs);letter-spacing:.38em;text-transform:uppercase;color:var(--color-accent);opacity:0;margin-bottom:1.5rem;animation:.8s .2s forwards fadeUp}h1{letter-spacing:-.02em;font-family:Cinzel,serif;font-weight:900;line-height:.92}#hero h1{text-shadow:0 0 80px rgb(var(--color-accent-rgb) / .2);opacity:0;margin-bottom:1.5rem;font-size:clamp(4rem,11vw,9rem);animation:.8s .4s forwards fadeUp}.gold{color:var(--color-accent)}.hero-sub{font-size:var(--text-lg);color:var(--color-text);letter-spacing:.04em;opacity:0;margin-bottom:2.75rem;animation:.8s .6s forwards fadeUp}.btn-primary{border:1px solid var(--color-accent);color:var(--color-accent);font-family:Space Grotesk,sans-serif;font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;border-radius:var(--radius-sm);transition:background var(--dur-med), color var(--dur-med), box-shadow var(--dur-med);opacity:0;padding:.85rem 2.25rem;font-weight:500;text-decoration:none;animation:.8s .8s forwards fadeUp;display:inline-block}.btn-primary:hover{background:var(--color-accent);color:var(--color-bg);box-shadow:0 0 40px rgb(var(--color-accent-rgb) / .4)}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}#hero,#projects,#about{padding:7rem 2rem}.section-title{text-align:center;color:var(--color-text);margin-bottom:3.5rem;font-family:Cinzel,serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700}.section-title:after{content:"";background:var(--color-accent);border-radius:2px;width:48px;height:2px;margin:.8rem auto 0;display:block}.section-title.left{text-align:left}.section-title.left:after{margin-left:0}#projects{max-width:1100px;margin:0 auto;padding-left:clamp(1rem,4vw,3rem);padding-right:clamp(1rem,4vw,3rem)}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;display:grid}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--dur-med) ease, box-shadow var(--dur-med) ease, border-color var(--dur-med) ease;overflow:hidden}.card:hover{box-shadow:0 24px 64px #0009, 0 0 0 1px rgb(var(--color-accent-rgb) / .12);border-color:rgb(var(--color-accent-rgb) / .22);transform:translateY(-8px)}.card-img{aspect-ratio:16/9;display:block;overflow:hidden}.card-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.card:hover .card-img img{transform:scale(1.06)}.card-body{padding:1.75rem}.tag{font-size:var(--text-2xs);letter-spacing:.18em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--color-tag-bg);color:var(--color-tag-text);border:1px solid var(--color-tag-border);padding:.28rem .75rem;font-weight:600;display:inline-block}.tags{flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem;display:flex}.tag.game{background:var(--color-tag-game-bg);color:var(--color-tag-game-text);border-color:var(--color-tag-game-border)}.card-body h3{letter-spacing:.01em;margin-bottom:.75rem;font-family:Cinzel,serif;font-size:1.5rem;font-weight:700}.card-body h3 a{color:inherit;text-decoration:none}.card-body h3 a:hover,.card-body h3 a:focus-visible{color:var(--color-accent)}.card-body p{color:var(--color-text-muted);margin-bottom:1.75rem;font-size:.95rem;line-height:1.72}.card-body p.card-credit{font-size:var(--text-xs);overflow-wrap:anywhere;margin-top:-1rem;margin-bottom:1.25rem;font-style:italic;line-height:1.5}.card-credit a{color:inherit;text-decoration:underline}.store-links{flex-wrap:wrap;gap:.75rem;display:flex}.store-btn{border-radius:var(--radius-sm);min-height:44px;font-family:Space Grotesk,sans-serif;font-size:var(--text-sm);-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:.5rem;padding:.65rem 1.2rem;font-weight:500;text-decoration:none;display:inline-flex}.store-btn.ios{background:var(--color-ios);color:var(--color-on-badge);cursor:pointer;transition:background var(--dur-fast), box-shadow var(--dur-fast);font-weight:600}.store-btn.ios:not(.coming-soon):hover{box-shadow:0 0 28px rgb(var(--color-ios-rgb) / .45);background:#ffbb47}.store-btn.android{background:var(--color-android);color:var(--color-on-badge);cursor:pointer;transition:background var(--dur-fast), box-shadow var(--dur-fast);font-weight:600}.store-btn.android:not(.coming-soon):hover{box-shadow:0 0 28px rgb(var(--color-android-rgb) / .45)}.store-btn.two-line{border-radius:var(--radius-md);background:var(--color-surface);min-width:180px;color:var(--color-text);border-color:var(--color-accent);transition:background var(--dur-fast), transform var(--dur-fast);gap:12px;padding:12px 24px;font-family:inherit;font-weight:400}.store-btn.two-line:not(.coming-soon):hover{background:color-mix(in srgb, var(--color-surface), var(--color-accent) 10%);box-shadow:none;transform:translateY(-2px)}.store-btn.two-line:not(.coming-soon):active{transform:translateY(0)}.store-btn.two-line svg{flex-shrink:0;width:28px;height:28px}.store-btn-text{text-align:left;flex-direction:column;display:flex}.store-btn-sub{font-size:var(--text-2xs);color:var(--color-text-muted);letter-spacing:.04em;line-height:1.2}.store-btn-main{font-size:var(--text-base);font-weight:600;line-height:1.3}@media (width<=480px){.store-btn.two-line{min-width:160px}}.store-btn.coming-soon{background:var(--color-surface);color:var(--color-text);border-color:var(--color-text-muted);cursor:default}#about{max-width:1000px;margin:0 auto;padding-left:clamp(1rem,4vw,3rem);padding-right:clamp(1rem,4vw,3rem)}.about-inner{grid-template-columns:180px 1fr;align-items:start;gap:4rem;display:grid}.about-logo img{border-radius:var(--radius-lg);width:100%;box-shadow:0 0 50px rgb(var(--color-accent-rgb) / .18), 0 0 0 1px rgb(var(--color-accent-rgb) / .1);transition:box-shadow var(--dur-med)}.about-logo img:hover{box-shadow:0 0 70px rgb(var(--color-accent-rgb) / .32), 0 0 0 1px rgb(var(--color-accent-rgb) / .18)}.about-text p{color:var(--color-text-muted);line-height:1.85;font-size:var(--text-base);margin-bottom:1.25rem}.pills{flex-wrap:wrap;gap:.5rem;margin-top:1.75rem;display:flex}.pill{border-radius:var(--radius-pill);font-size:var(--text-xs);background:var(--color-card);border:1px solid var(--color-border);color:var(--color-text-muted);transition:background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);cursor:default;padding:.4rem 1rem;font-weight:500}.pill:hover{background:rgb(var(--color-accent-rgb) / .15);border-color:rgb(var(--color-accent-rgb) / .3);color:var(--color-accent)}.app-shell{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-body);text-align:center;isolation:isolate;flex-direction:column;justify-content:center;align-items:center;padding:8rem 2rem 4rem;display:flex;position:relative}.app-content{z-index:1;max-width:600px;position:relative}.app-banner{border-radius:var(--radius-md);width:100%;max-width:700px;box-shadow:var(--shadow-banner);margin-bottom:1.75rem}.app-shell h1{font-family:var(--font-heading);margin-bottom:.75rem;font-size:clamp(2.2rem,6vw,3.5rem)}.app-tagline{font-size:var(--text-lg);color:var(--color-accent);margin-bottom:2rem;font-style:italic}.app-description{font-size:var(--text-base);color:var(--color-text-soft,var(--color-text));margin-bottom:2.5rem;line-height:1.7}.app-store-links{justify-content:center;margin-bottom:3rem}.app-footer{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:3rem}.app-footer a{color:var(--color-link);text-decoration:underline}.privacy-page{padding:8rem 1.5rem 4rem;line-height:1.75}.privacy-page:is(.theme-bd,.theme-pj,.theme-wk){background:var(--color-bg);min-height:100dvh;color:var(--color-text)}.privacy-container{max-width:720px;margin:0 auto}.privacy-back{color:var(--color-link);font-size:var(--text-sm);margin-bottom:2rem;text-decoration:none;display:inline-block}.privacy-back:hover{text-decoration:underline}.privacy-page h1{margin-bottom:.4rem;font-size:2rem}.privacy-meta{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:2rem}.privacy-section{margin-top:2.25rem}.privacy-section h2{font-size:var(--text-xl);color:var(--color-accent);margin-bottom:.6rem}.privacy-section-body p{color:var(--color-text);margin-bottom:1rem}.privacy-section-body ul{margin:.5rem 0 1rem;padding-left:1.25rem}.privacy-section-body a{color:var(--color-link)}.privacy-section-body a:hover{text-decoration:underline}.privacy-contact{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-top:2rem;padding:1.25rem 1.5rem}.privacy-contact p{margin:0}.privacy-contact a{color:var(--color-link)}.site-footer{text-align:center;color:var(--color-text-muted);font-size:var(--text-xs);border-top:1px solid var(--color-border);padding:3rem 2rem}@media (width<=680px){.about-inner{grid-template-columns:1fr;gap:2rem}.about-logo{justify-content:center;display:flex}.about-logo img{width:120px}.section-title.left{text-align:center}.section-title.left:after{margin:.8rem auto 0}#nav ul{gap:1.5rem}#nav{padding:1rem 1.5rem}}.theme-bd{--color-bg:#1c0a00;--color-surface:#3a1c08;--color-border:rgb(var(--color-accent-rgb) / .15);--color-text:#f0e6d3;--color-text-muted:#c4a882;--color-text-faint:#a98652;--color-accent:#d4870a;--color-accent-rgb:212 135 10;--color-highlight:#f0a835;--color-link:var(--color-highlight);--color-on-accent:var(--color-bg);--color-focus-ring:var(--color-highlight)}.bd-page{background-color:var(--color-bg);color:var(--color-text);flex-direction:column;min-height:100dvh;font-family:Inter,system-ui,sans-serif;display:flex}.bd-page h1,.bd-page h2,.bd-page h3{font-family:Playfair Display,Georgia,serif}.bd-page a{color:inherit;text-decoration:none}.bd-hero{text-align:center;flex-direction:column;align-items:center;padding:96px 24px 80px;display:flex;position:relative;overflow:hidden}.bd-hero-glow{background:radial-gradient(ellipse 70% 50% at 50% 0%, rgb(var(--color-accent-rgb) / .18) 0%, transparent 70%), radial-gradient(ellipse 40% 30% at 50% 0%, color-mix(in srgb, var(--color-highlight) 8%, transparent) 0%, transparent 60%);pointer-events:none;position:absolute;inset:0}.bd-logo-lockup{align-items:center;gap:20px;margin-bottom:32px;display:flex;position:relative}.bd-app-icon{border-radius:var(--radius-lg);width:80px;height:80px;box-shadow:0 0 0 1px rgb(var(--color-accent-rgb) / .3), 0 8px 32px #0009}.bd-wordmark{text-align:left}.bd-app-name{letter-spacing:-.01em;color:var(--color-highlight);background:linear-gradient(135deg, var(--color-highlight) 0%, var(--color-text) 60%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;line-height:1.05}@media (forced-colors:active){.bd-app-name{-webkit-text-fill-color:CanvasText;color:canvastext;background:0 0}}.bd-app-tagline{color:var(--color-accent);letter-spacing:.02em;margin-top:4px;font-family:Playfair Display,Georgia,serif;font-size:clamp(.95rem,2.5vw,1.15rem);font-style:italic}.bd-hero-copy{max-width:520px;color:var(--color-text-muted);margin-bottom:40px;font-size:clamp(1rem,2.5vw,1.15rem);line-height:1.65;position:relative}.bd-store-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex;position:relative}.bd-store-note{font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.04em;margin-top:16px;position:relative}.bd-section-divider{text-align:center;padding:8px 0}.bd-divider-ornament{font-size:var(--text-lg);color:var(--color-accent);opacity:.5;letter-spacing:.5em}.bd-features{width:100%;max-width:960px;margin:0 auto;padding:64px 24px 80px}.bd-features-heading{text-align:center;color:var(--color-text);letter-spacing:-.01em;margin-bottom:48px;font-size:clamp(1.5rem,4vw,2rem);font-weight:600}.bd-feature-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.bd-feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--dur-fast), transform var(--dur-fast);padding:28px 24px}.bd-feature-card:hover{border-color:rgb(var(--color-accent-rgb) / .4);transform:translateY(-3px)}.bd-feature-icon{color:var(--color-accent);margin-bottom:16px}.bd-feature-title{font-size:var(--text-lg);color:var(--color-text);margin-bottom:8px;font-family:Playfair Display,Georgia,serif;font-weight:600}.bd-feature-body{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6}.bd-footer{border-top:1px solid var(--color-border);text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:auto;padding:36px 24px;display:flex}.bd-footer-name{font-family:Playfair Display,Georgia,serif;font-size:var(--text-base);color:var(--color-accent);letter-spacing:.04em}.bd-footer-links{font-size:var(--text-sm);color:var(--color-text-muted);align-items:center;gap:12px;display:flex}.bd-footer-links a{color:var(--color-text-muted);transition:color var(--dur-fast)}.bd-footer-links a:hover{color:var(--color-highlight)}.bd-footer-sep{color:var(--color-text-faint)}.bd-footer-copy{font-size:var(--text-xs);color:var(--color-text-faint)}@media (width<=899.98px){.bd-feature-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){.bd-feature-grid{grid-template-columns:1fr}}@media (width<=480px){.bd-logo-lockup{flex-direction:column;align-items:center}.bd-wordmark{text-align:center}}.theme-pj{--color-bg:#f3faf0;--color-surface:#fff;--color-border:rgb(var(--color-accent-rgb) / .25);--color-text:#2f3b2c;--color-text-muted:#5b6a56;--color-accent:#3f7a34;--color-accent-rgb:63 122 52;--color-link:var(--color-accent);--color-on-accent:#fff;--color-focus-ring:var(--color-accent);--color-heading:#c03a66;--font-body:"Inter", sans-serif;--font-heading:"Playfair Display", serif;--shadow-banner:0 0 30px rgb(var(--color-accent-rgb) / .25)}.pj-page h1{color:var(--color-heading);font-weight:700}.theme-pj .store-btn.coming-soon{border-color:var(--color-accent)}.theme-wk{--color-bg:#0d0d1a;--color-surface:#16142a;--color-border:rgb(var(--color-accent-rgb) / .25);--color-text:#e8d9ff;--color-text-soft:#c4b5fd;--color-text-muted:#9d8fc4;--color-accent:#a78bfa;--color-accent-rgb:167 139 250;--color-link:var(--color-accent);--color-on-accent:var(--color-bg);--color-focus-ring:var(--color-accent);--wk-gradient-start:#c084fc;--wk-gradient-mid:#818cf8;--wk-gradient-end:#f0abfc;--font-body:"Georgia", serif;--font-heading:"Georgia", serif;--shadow-banner:0 0 40px #8c50ff80}.wk-stars{pointer-events:none;z-index:0;background:radial-gradient(1px 1px at 20% 30%,#c8b4ffcc,#0000),radial-gradient(1px 1px at 60% 70%,#c8b4ff99,#0000),radial-gradient(1px 1px at 80% 20%,#c8b4ffe6,#0000),radial-gradient(1px 1px at 40% 80%,#c8b4ff80,#0000),radial-gradient(1px 1px at 10% 60%,#c8b4ffb3,#0000),radial-gradient(1px 1px at 90%,#c8b4ff99,#0000),radial-gradient(1px 1px at 50% 10%,#c8b4ffcc,#0000),radial-gradient(1px 1px at 70% 90%,#c8b4ff66,#0000);position:absolute;inset:0}.wk-page .app-banner{image-rendering:pixelated}.wk-page h1{letter-spacing:.04em;color:var(--wk-gradient-start);background:linear-gradient(135deg, var(--wk-gradient-start), var(--wk-gradient-mid), var(--wk-gradient-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:400;line-height:normal}@media (forced-colors:active){.wk-page h1{-webkit-text-fill-color:CanvasText;color:canvastext;background:0 0}}.wk-credit{text-align:center;margin-top:-1rem}.wk-credit-heading{font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.5rem;font-weight:400}.wk-credit-text{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere;line-height:1.6}.wk-credit-text a{color:var(--color-link)}.wk-credit-text a:hover{text-decoration:underline}.wk-page .app-footer{font-size:var(--text-xs)}.wk-page .app-footer a{text-decoration:none}.wk-page .app-footer a:hover{text-decoration:underline}
