:root{color-scheme:light;--cream:#f6f2ea;--ink:#24324d;--muted:#586b77;--water:#8bb7c8;--sage:#c7d9c8;--dusk:#e6d5e9;--line:#24324d24;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 'Trebuchet MS',ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.1;letter-spacing:-.045em}h2{font-size:clamp(36px,4.1vw,52px)}a:focus-visible,button:focus-visible{outline:3px solid #46697b;outline-offset:5px}a,button{-webkit-tap-highlight-color:transparent}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.site-header{min-height:118px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand>span{font-size:24px;line-height:1.05;letter-spacing:-.8px}.brand small{display:block;font-size:8px;letter-spacing:.36em;margin-top:7px;color:#46697b}.site-header nav{display:flex;align-items:center;gap:34px}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:13px}.site-header nav a:hover,.site-header nav a[aria-current]{color:#46697b;text-decoration:underline}.skip-link{position:absolute;z-index:10;top:8px;left:8px;transform:translateY(-150%);padding:10px 18px;background:var(--ink);color:var(--cream)}.skip-link:focus{transform:none}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:58px;align-items:center;padding-block:36px 76px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;color:#526d79;line-height:1.7}.tiny-star{color:#987947;font-size:17px;margin-right:8px}.hero h1{font-size:clamp(58px,6.7vw,88px);margin-block:25px 24px;line-height:1.04}.hero h1 em{color:#507785;font-weight:400}.lede{font-size:19px;line-height:1.7}.hero-description{font-size:14px;color:var(--muted);max-width:370px;margin-top:18px}.button{display:inline-flex;justify-content:center;gap:28px;align-items:center;min-height:52px;padding:13px 22px;border-radius:7px;background:var(--ink);color:var(--cream);text-decoration:none;font-size:13px;margin-top:30px;transition:background .18s}.button:hover{background:#3c5973}.button span{font-size:19px}.hero-note{font-size:11px;color:var(--muted);margin-top:14px}.hero-note span{margin-right:6px;color:#527b69}.hero-art{position:relative;align-self:stretch;min-height:535px;border-radius:180px 180px 20px 20px;overflow:hidden;background:#344e6b}.hero-art>img{width:100%;height:100%;object-fit:cover}.hero-art figcaption{position:absolute;bottom:30px;left:0;right:0;text-align:center;color:var(--cream);font-size:12px;letter-spacing:.07em}.hero-art figcaption span{font-size:16px;margin-right:9px;color:#c7d9c8}.promise-strip{border-block:1px solid var(--line)}.promise-strip>.wrap{display:flex;justify-content:center;gap:110px;padding-block:21px}.promise-strip p{font-size:12px;display:flex;align-items:center;gap:13px}.promise-strip p>span{font-size:23px;color:#57757f}.games-section{padding-block:88px 77px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-heading h2{margin-top:14px}.section-heading>p{font-size:13px;color:var(--muted);padding-bottom:4px}.game-feature{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fbf8f1}.game-preview{min-width:0;--preview-start:#dce8e9;--preview-end:#b6d0d7;position:relative;background: url('assets/moonflow-landscape.svg') center bottom/cover no-repeat,linear-gradient(140deg,var(--preview-start),var(--preview-end));padding:26px 30px;display:flex;flex-direction:column;min-height:438px}.game-preview[data-theme=sage]{--preview-start:#e2e9db;--preview-end:#bacdb9}.game-preview[data-theme=dusk]{--preview-start:#eee3ec;--preview-end:#cebedb}.preview-top{display:flex;justify-content:space-between;align-items:center;font-size:12px}.preview-top>span:first-child{display:flex;gap:8px;align-items:center}.preview-top>span:last-child{font-size:23px}.card-scene{position:relative;height:258px;width:310px;max-width:100%;margin:auto;isolation:isolate}.playing-card{position:absolute;top:41px;left:calc(50% - 66px);width:132px;height:185px;border-radius:9px;background:#fffaf1;box-shadow:0 8px 17px #24324d24,inset 0 0 0 1px #fff9}.card-back{transform:translate(-65px,8px) rotate(-19deg);background:#2f4867 url('assets/moonflow_icon_mark.svg') center/90% no-repeat;border:5px solid #fffaf1;outline:1px solid #ffffff60}.card-ace{transform:translateY(-12px) rotate(-3deg);z-index:1}.card-heart{color:#a44856;transform:translate(72px,16px) rotate(16deg);z-index:2}.card-corner{position:absolute;left:10px;top:9px;font:22px/1 var(--serif);text-align:center}.card-corner small{display:block;font-size:17px;margin-top:4px}.card-corner.bottom{left:auto;top:auto;right:10px;bottom:9px;transform:rotate(180deg)}.card-suit{display:grid;place-items:center;height:100%;font-size:65px}.theme-picker{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:auto}.theme-picker>span{font-size:10px;margin-right:10px}.theme-dot{flex-shrink:0;width:44px;height:44px;position:relative;border:0;background:none;cursor:pointer;border-radius:50%}.theme-dot::before{content:'';position:absolute;inset:11px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #24324d45}.theme-dot[aria-pressed=true]::after{content:'';position:absolute;inset:6px;border-radius:50%;border:1px solid var(--ink)}.moonlight{--swatch:#8bb7c8}.sage{--swatch:#a3bfa3}.dusk{--swatch:#c5abcf}.game-copy{min-width:0;padding:42px 46px}.status{font-size:9px;letter-spacing:.13em;font-weight:700;display:flex;align-items:center;gap:7px}.status>span{width:6px;height:6px;border-radius:100%;background:#63856d}.game-copy h3{font:36px/1.2 var(--serif);letter-spacing:-1px;margin-top:19px}.game-tagline{font-size:14px;margin-top:9px}.game-copy>p:not(.status,.game-tagline,.release-note){color:var(--muted);font-size:13px;margin-top:15px}.game-benefits{padding:0;list-style:none;margin:18px 0 23px;display:grid;gap:6px;font-size:12px}.game-benefits li::before{content:'✓';margin-right:10px;color:#537563}.release-note{display:grid;grid-template-columns:20px 1fr;column-gap:9px;align-items:center;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.release-note svg{grid-row:span 2}.release-note>span{font-size:10px;color:var(--muted);margin-top:2px}.more-games{text-align:center;font-size:12px;color:var(--muted);margin-top:25px}.more-games>span{color:#967648;margin-right:9px}.philosophy{background:#e8ede6;padding-block:74px}.philosophy>.wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px}.philosophy-intro h2{margin-block:19px 23px}.philosophy-intro>p:last-child{font-size:14px;color:var(--muted)}.principles{display:grid;gap:27px}.principles article{position:relative;padding-left:52px}.principle-icon{position:absolute;left:0;top:-6px;font-size:29px;color:#58756d}.principles h3{font:22px/1.4 var(--serif);letter-spacing:-.5px}.principles p{font-size:12px;color:var(--muted);margin-top:8px}.closing{text-align:center;padding-block:75px 80px}.closing-star{display:block;font-size:28px;color:#9c8053;margin-bottom:18px}.closing h2{margin-block:20px}.closing>p:not(.eyebrow){color:var(--muted);font-size:14px}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:13px;margin-top:18px}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:29px max(29px,env(safe-area-inset-bottom))}.site-footer .brand>span{font-size:20px}.site-footer .brand small{font-size:7px}.site-footer>p{font-size:11px;color:var(--muted)}.site-footer>div{display:flex;flex-direction:column;align-items:end;font-size:11px;gap:5px}.site-footer>div a{display:inline-flex;min-height:44px;align-items:center}.site-footer>div span{font-size:10px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
/* Privacy uses the same shell, with a quiet, readable document layout. */
.policy-hero{padding-block:50px 40px;border-bottom:1px solid var(--line)}.policy-hero h1{font-size:clamp(50px,6vw,76px);margin-block:16px 20px}.policy-hero .lede{max-width:620px;color:var(--muted);font-size:17px}.policy-meta{font-size:11px;color:var(--muted);margin-top:22px}.policy-layout{display:grid;grid-template-columns:220px minmax(0,720px);gap:80px;padding-block:48px 80px}.policy-nav{position:sticky;top:24px;align-self:start}.policy-nav>p{margin-bottom:14px}.policy-nav a{display:flex;align-items:center;min-height:44px;font-size:12px;text-decoration:none}.policy-nav a:hover{text-decoration:underline}.policy-article{min-width:0}.privacy-summary{padding:25px 28px;background:#e8ede6;border-radius:12px;margin-bottom:38px}.privacy-summary h2{font:23px/1.4 var(--serif);letter-spacing:-.5px}.privacy-summary p{font-size:14px;margin-top:10px;color:var(--muted)}.policy-article section{margin-top:34px;scroll-margin-top:26px}.policy-article section h2{font:28px/1.3 var(--serif);letter-spacing:-.6px;margin-bottom:14px}.policy-article section p,.policy-article li{font-size:14px;color:var(--muted);line-height:1.85}.policy-article section p+p{margin-top:13px}.policy-article ul{padding-left:20px}.policy-article a{overflow-wrap:anywhere}.draft-note{font-size:12px!important;padding:14px 18px;border-left:2px solid #ad925e;background:#ede5d6;margin-top:22px}.contact-box{background:#e6e9ed;border-radius:12px;padding:25px 28px}.contact-box a{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:1500px){.hero{gap:78px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:30px}.hero-art{min-height:500px}.hero h1{font-size:65px}.eyebrow{font-size:9px}.promise-strip>.wrap{gap:60px}.game-copy{padding:32px}.philosophy>.wrap{gap:50px}.policy-layout{gap:40px;grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.site-header{min-height:98px;gap:16px}.site-header nav{gap:17px}.site-header nav a{font-size:11px}.brand>span{font-size:21px}.brand img{width:40px;height:40px}.hero{grid-template-columns:1fr;padding-block:26px 40px;gap:36px}.hero-copy{max-width:490px}.hero h1{font-size:72px}.hero-description{max-width:440px}.hero-art{min-height:0;height:390px;border-radius:150px 150px 16px 16px}.hero-art>img{object-position:center 42%}.promise-strip>.wrap{gap:24px;justify-content:space-between}.promise-strip p{font-size:10px;gap:8px}.promise-strip p>span{font-size:19px}.games-section{padding-block:55px 45px}.section-heading{display:block}.section-heading>p{margin-top:17px}.section-heading>p br{display:none}.game-feature{grid-template-columns:1fr}.game-preview{min-height:375px;padding:23px}.game-copy{padding:32px}.game-copy h3{font-size:34px}.more-games{font-size:11px;max-width:340px;margin-inline:auto}.philosophy{padding-block:50px}.philosophy>.wrap{grid-template-columns:1fr;gap:35px}.philosophy-intro h2 br{display:none}.principles{gap:28px}.principles article{padding-left:43px}.principles p{font-size:13px}.closing{padding-block:50px}.site-footer{flex-wrap:wrap;gap:14px}.site-footer>p{order:3;width:100%}.policy-hero{padding-block:28px 32px}.policy-layout{grid-template-columns:1fr;gap:30px;padding-block:28px 50px}.policy-nav{position:static;display:flex;flex-wrap:wrap;gap:0 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.policy-nav>p{width:100%;margin-bottom:4px}.policy-nav a{font-size:11px}.privacy-summary{margin-bottom:28px}.policy-article section p,.policy-article li{font-size:14px}}
@media(max-width:400px){.site-header{flex-wrap:wrap;gap:4px;padding-block:15px}.site-header nav{width:100%;justify-content:space-between}.hero{padding-top:17px}.hero h1{font-size:62px}.hero-art{height:340px}.promise-strip>.wrap{gap:10px}.promise-strip p{font-size:9px;gap:5px}.promise-strip p>span{font-size:16px}.hero .eyebrow{letter-spacing:.12em}.button{font-size:12px;gap:18px}.game-preview{padding:20px 14px}.game-copy{padding:27px 24px}.playing-card{width:112px;height:160px;left:calc(50% - 56px)}.card-back{transform:translate(-56px,8px) rotate(-19deg)}.card-heart{transform:translate(57px,16px) rotate(16deg)}.card-scene{height:237px}.game-preview{min-height:344px}.theme-picker{gap:1px}.theme-picker>span{margin-right:4px;font-size:9px}.site-footer .brand img{width:34px;height:34px}.site-footer .brand>span{font-size:18px}.site-footer>div{font-size:10px}.site-footer>div span{font-size:9px}.privacy-summary,.contact-box{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header nav,.policy-nav,.skip-link,.site-footer,.draft-note{display:none}.wrap{width:100%}.policy-layout{display:block}.policy-hero{padding-top:0}.policy-article section{break-inside:avoid}body{background:white;color:black}.policy-article p{color:black}}

/* A real 404 response, with working links even for nested missing paths. */
.error-page { min-height: 100dvh; display: flex; flex-direction: column; }
.error-main { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; padding-block: 40px 70px; }
.error-copy h1 { font-size: clamp(54px, 6vw, 80px); margin-block: 22px; }
.error-copy > p:not(.eyebrow) { color: var(--muted); font-size: 15px; }
.error-copy .text-link { display: flex; width: fit-content; }
.error-art { border-radius: 170px 170px 18px 18px; overflow: hidden; max-height: 460px; }
.error-art img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 740px) {
  .error-main { grid-template-columns: 1fr; gap: 32px; padding-block: 25px 45px; }
  .error-art { max-height: 300px; }
  .error-art img { margin-top: -60px; }
}
