*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f9f8;color:#0f172a;min-height:100vh;-webkit-font-smoothing:antialiased}button,a{font-family:inherit}#app{min-height:100vh;display:flex;flex-direction:column}.bar{display:flex;align-items:center;padding:14px 18px;background:#fff;border-bottom:1px solid #E2ECEA}.wordmark{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#0f766e;border:none;background:transparent;padding:0;cursor:pointer}.wordmark img{width:24px;height:24px}main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;padding:40px 20px 60px}.hero{text-align:center;max-width:480px;display:flex;flex-direction:column;gap:10px}.hero h1{margin:0;font-size:clamp(28px,5vw,38px);font-weight:800;letter-spacing:-.02em;color:#0f766e}.hero p{margin:0;font-size:16px;color:#64748b;line-height:1.5}.tileGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;width:100%;max-width:780px}@media (max-width: 480px){.tileGrid{grid-template-columns:1fr}}.tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 20px 24px;border-radius:22px;background:#fff;border:1px solid #E2ECEA;box-shadow:0 2px 10px #0f172a0d;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer}.tile:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0f172a1a;border-color:var(--tile-accent, #0F766E)}.tile .art{width:120px;height:120px}.tile .art svg{width:100%;height:100%;display:block}.tile .name{font-size:18px;font-weight:700;letter-spacing:-.01em;color:#0f172a}.tile .tagline{font-size:13.5px;color:#64748b;text-align:center;line-height:1.4}.copyrightFooter{text-align:center;font-size:11.5px;color:#94a3b8;padding:14px 0 18px;display:flex;flex-direction:column;gap:4px}.legalLinks{font-size:11.5px}.legalLinks a{color:#94a3b8;text-decoration:underline}.legalLinks a:hover{color:#0f766e}#gameView{flex:1;position:relative;min-height:0}#gameFrame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;display:block}#menuHeader[hidden],#menuView[hidden],#menuFooter[hidden],#gameView[hidden],#app[hidden],#blockerView[hidden]{display:none}#blockerView{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(180deg,#f0f9f7,#fff 55%,#f0f9f7)}.blockerCard{max-width:380px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.blockerIcon{width:112px;height:112px;border-radius:26px;box-shadow:0 10px 26px #0f766e38;margin-bottom:20px}.blockerCard h1{margin:0 0 8px;font-size:26px;font-weight:800;letter-spacing:-.02em;color:#0f172a}.blockerLead{margin:0 0 22px;font-size:15.5px;color:#64748b;line-height:1.5}.blockerBtn{display:inline-flex;align-items:center;gap:10px;background:#0f172a;color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:13px 22px;border-radius:14px;box-shadow:0 8px 20px #0f172a2e}.blockerBtn svg{width:20px;height:20px;fill:currentColor;flex:0 0 auto}.blockerHint{margin:20px 0 0;font-size:13px;color:#94a3b8}.blockerFooter{margin-top:34px;font-size:12px;color:#b4c4c1}#promoBanner{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:12px;padding:10px max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:#fff;border-top:1px solid #E2ECEA;box-shadow:0 -6px 20px #0f172a14}#promoBanner[hidden]{display:none}#promoBanner img{width:34px;height:34px;border-radius:9px;flex:0 0 auto}#promoBanner .ptext{flex:1 1 auto;min-width:0}#promoBanner .ptitle{font-size:14px;font-weight:700;color:#0f172a;line-height:1.25}#promoBanner .psub{font-size:12px;color:#64748b;line-height:1.25}#promoBanner .pbtn{flex:0 0 auto;border:none;cursor:pointer;background:#0f766e;color:#fff;text-decoration:none;font-size:14px;font-weight:700;border-radius:999px;padding:9px 16px;white-space:nowrap}#promoBanner .pclose{flex:0 0 auto;width:30px;height:30px;border:none;background:transparent;color:#94a3b8;font-size:20px;line-height:1;cursor:pointer;padding:0}@media (max-width: 420px){#promoBanner .psub{display:none}}
