/* Floating island homepage v2.0.0 */
:root{--island-ink:#244b40;--island-rust:#b85d3c;--island-cream:#f7f4eb}.wrap{width:min(1200px,calc(100% - 48px))}header{height:72px}.brand-mark{background:var(--island-rust);border-radius:50%}.island-hero{position:relative;display:grid;grid-template-columns:43% 57%;padding:45px 0 48px;isolation:isolate;align-items:center}.island-heading{grid-column:1;grid-row:1;align-self:end;z-index:1}.eyebrow{font-size:10px;letter-spacing:.16em}.island-heading h1{font-size:clamp(38px,5.4vw,66px);line-height:1.17;letter-spacing:-.055em;margin:15px 0}.island-heading h1 em{color:var(--island-rust);display:block}.island-lead{font-size:14px;color:var(--muted);line-height:1.8;margin:0}.island-stage{grid-column:2;grid-row:1/3;position:relative;height:510px;width:100%;perspective:850px;touch-action:pan-y;outline:none;isolation:isolate}.island-stage:focus-visible{outline:2px solid var(--island-rust);outline-offset:2px;border-radius:35%}.island-halo{position:absolute;inset:5% 0 12%;background:radial-gradient(ellipse,#e2e8cd 0%,#e9ebd855 45%,transparent 72%);z-index:-1}.island-shadow{position:absolute;bottom:11%;left:30%;width:42%;height:7%;border-radius:50%;background:#3c584826;filter:blur(12px);animation:shadow-breathe 6s ease-in-out infinite}.island-rig{position:absolute;inset:0 0 9%;transform-style:preserve-3d;transform:translate3d(var(--island-x,0px),var(--island-y,0px),0) rotateX(var(--island-rx,0deg)) rotateY(var(--island-ry,0deg));transition:transform .7s cubic-bezier(.2,.8,.25,1);will-change:transform}.island-stage.is-dragging .island-rig{transition:transform .08s linear}.island-float{position:relative;width:100%;height:100%;animation:island-float 6s ease-in-out infinite;transform-style:preserve-3d}.island-art{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;filter:drop-shadow(0 15px 15px #33524213)}.island-cat{position:absolute;width:12%;height:17%;object-fit:contain;left:43%;top:44%;transform:translateZ(25px);pointer-events:none;filter:drop-shadow(0 3px 2px #24433125)}.island-poster{position:absolute;right:6%;top:18%;width:125px;padding:9px;border:1px solid #fff6e9;background:#fffdf3f2;border-radius:12px;box-shadow:0 9px 26px #36533e1a;transform:translateZ(42px) rotate(5deg);pointer-events:none;animation:poster-float 6s ease-in-out infinite}.island-poster>span{display:block;font-size:8px;font-weight:800;letter-spacing:.12em;color:var(--island-rust);margin-bottom:6px}.island-poster img{display:block;width:100%;height:70px;object-fit:cover;border-radius:6px}.island-poster>b{display:block;font-size:10px;margin-top:7px;color:var(--island-ink);line-height:1.5}.island-toolbar{position:absolute;bottom:0;left:0;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;color:#74806b;font-size:10px}.island-toolbar button{font:inherit;background:transparent;color:#53684f;border:0;padding:10px 3px;min-height:38px;cursor:pointer;white-space:nowrap}.island-feature{grid-column:1;grid-row:2;align-self:start;padding-top:28px;z-index:1}.island-latest{font-size:10px;font-weight:800;display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--island-rust)}.island-latest>span:last-child{font-weight:500;color:#71806a;margin-left:4px}.open-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#719068;box-shadow:0 0 0 4px #71906812}.island-feature h2{font-size:25px;line-height:1.4;letter-spacing:-.035em;margin:13px 0 9px;max-width:440px}.island-feature>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:390px;margin:0}.island-feature .hero-action{margin-top:19px;min-height:49px;border-radius:8px;font-size:13px;box-shadow:0 6px 16px #245c491a;gap:38px;background:var(--island-ink)}.island-browse{font-size:11px;margin-left:16px;text-underline-offset:5px;color:#63735d}.island-feature .island-fine{font-size:10px;margin-top:14px;color:#7a8572}.games{padding-top:30px}.games h2{font-size:33px}.section-kicker{font-size:10px;letter-spacing:.15em}.game{border-radius:12px}.subscribe-box{border-radius:12px}.motion-paused .town-section *{animation-play-state:paused!important}.motion-paused .island-rig{transition:none!important}.motion-paused .island-stage{cursor:default}a:focus-visible,button:focus-visible{outline:3px solid var(--island-rust);outline-offset:4px}@keyframes island-float{0%,100%{transform:translateY(0) rotateZ(-1deg)}50%{transform:translateY(-12px) rotateZ(1deg)}}@keyframes poster-float{50%{transform:translateZ(48px) translateY(-5px) rotate(2deg)}}@keyframes shadow-breathe{50%{transform:scale(.86);opacity:.55}}@media(max-width:850px) and (min-width:701px){.island-stage{height:440px}.island-heading h1{font-size:43px}.island-poster{width:105px}.island-feature h2{font-size:22px}.island-browse{display:block;margin:16px 0 0}}@media(max-width:700px){.wrap{width:calc(100% - 32px)}header{height:60px}.island-hero{display:flex;flex-direction:column;padding:23px 0 30px;gap:0}.island-heading{text-align:center;align-self:stretch}.eyebrow{font-size:8px;letter-spacing:.14em}.island-heading h1{font-size:31px;margin:10px 0 0;line-height:1.2;white-space:nowrap;letter-spacing:-.06em}.island-heading h1 em{display:inline}.island-lead{font-size:11px;margin-top:9px}.island-stage{height:290px;max-width:410px;flex-shrink:0;margin:2px 0 0}.island-rig{inset:0 0 8%}.island-shadow{bottom:13%;left:29%;width:45%;height:6%}.island-halo{inset:0 -5% 5%}.island-poster{width:88px;right:3%;top:14%;padding:6px;border-radius:8px}.island-poster>span{font-size:6px;letter-spacing:.08em;margin-bottom:4px}.island-poster img{height:46px;border-radius:4px}.island-poster>b{font-size:8px;margin-top:4px}.island-toolbar{gap:12px;font-size:9px;bottom:-2px}.island-toolbar button{min-height:34px}.island-feature{width:100%;padding:14px 0 0;text-align:center}.island-latest{justify-content:center;font-size:9px}.island-latest>span:last-child{font-size:9px}.island-feature h2{font-size:20px;line-height:1.4;margin:9px auto 0;max-width:340px}.island-feature>p:not(.island-fine){display:none}.island-feature .hero-action{margin-top:13px;min-height:46px;padding:11px 19px;gap:40px;font-size:12px}.island-browse{font-size:10px;margin-left:13px}.island-feature .island-fine{font-size:9px;margin-top:11px;max-width:none}.games h2{font-size:28px}}@media(max-width:700px) and (max-height:740px){.island-hero{padding-top:16px}.island-stage{height:230px}.island-lead{display:none}.island-heading h1{font-size:28px}.island-feature{padding-top:8px}.island-feature h2{font-size:18px}.island-feature .hero-action{margin-top:10px;min-height:42px}.island-feature .island-fine{margin-top:8px}}@media(prefers-reduced-motion:reduce){.island-rig{transition:none}.island-stage{scroll-behavior:auto}}
@media(max-width:700px) and (max-height:620px){.island-hero{padding-top:12px}.island-stage{height:190px}.island-feature .island-fine{display:none}}
/* v2.1.0: direct manipulation remains active while ambient motion is paused. */
.island-touchpad{position:absolute;z-index:4;inset:8% 7% 18%;border:0;background:transparent;padding:0;touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent;border-radius:32%;-webkit-user-select:none;user-select:none}.island-touchpad:active{cursor:grabbing}.island-touchpad:focus-visible{outline:2px dashed #b85d3c80;outline-offset:-8px}.island-toolbar{z-index:5}.motion-paused .island-rig{transition:transform .35s cubic-bezier(.2,.8,.25,1)!important}.motion-paused .island-stage.is-dragging .island-rig{transition:transform .05s linear!important}
.island-cat{width:6%;height:9%;left:34%;top:62%}.island-stage.is-dragging .island-shadow{opacity:.45}.island-stage.is-dragging .island-touchpad{cursor:grabbing}
/* v3.0.0: full orbitable volumetric district replaces the bitmap tilt. */
.island-canvas{position:absolute;inset:0 0 8%;z-index:2}.island-canvas canvas{width:100%;height:100%;display:block}.island-stage.is-3d .island-rig,.island-stage.is-3d .island-shadow{visibility:hidden}.island-stage>.island-poster{z-index:3;right:0;top:9%;width:106px}.orbit-tools{display:inline-flex;align-items:center;gap:6px}.island-toolbar{gap:8px;flex-wrap:wrap;bottom:-6px}.island-toolbar>span:first-child{flex-basis:100%;text-align:center}.island-stage[data-render-mode=fallback] .orbit-tools{display:none}.island-stage[data-render-mode=fallback] .island-touchpad{display:none}@media(max-width:700px){.island-stage>.island-poster{width:76px;right:0;top:6%;padding:5px}.island-stage>.island-poster img{height:38px}.island-stage>.island-poster>b{font-size:7px}.island-stage>.island-poster>span{font-size:6px}.island-toolbar{gap:9px;font-size:8px;bottom:-12px}.island-feature{padding-top:28px}.island-canvas{inset:0 -4% 8%}}
.island-pending .island-stage .island-rig,.island-pending .island-stage .island-shadow{visibility:hidden}.island-pending .island-stage .island-halo{animation:halo-wait 1.6s ease-in-out infinite}.island-canvas{opacity:0;transition:opacity .6s ease}.island-stage.is-3d .island-canvas{opacity:1}@keyframes halo-wait{50%{opacity:.55}}
.island-canvas canvas{-webkit-mask-image:linear-gradient(#000 80%,transparent 99%);mask-image:linear-gradient(#000 80%,transparent 99%)}
@media(max-width:700px){.island-stage .island-canvas{inset:0 0 8%}.island-stage .island-halo{inset:0 0 5%}.island-stage>.island-poster{right:10px;transform:translateZ(42px) rotate(3deg)}}
.island-stage.is-3d .island-rig{display:none}
/* v3.3 latest-game block + tappable poster */
.island-stage>.island-poster{pointer-events:auto;z-index:6;text-decoration:none;color:inherit;cursor:pointer;transition:transform .2s ease}.island-stage>.island-poster:active{transform:translateZ(42px) rotate(3deg) scale(.96)}.island-poster>i{display:block;font-style:normal;font-size:8px;font-weight:800;color:var(--island-rust);margin-top:4px}
.island-feature{display:flex;flex-direction:column;align-items:flex-start}.island-feature .island-latest{display:inline-flex;align-items:center;gap:8px;margin:0;padding:4px 12px 4px 4px;border-radius:999px;background:#fffdf6;border:1px solid #e6dfcc;font-size:11px;font-weight:600;color:#5d6b58}.island-feature .island-latest>span:last-child{margin:0;font-size:inherit;font-weight:600;color:inherit}.new-tag{background:var(--island-rust);color:#fff;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:800;letter-spacing:.12em}.island-feature h2{margin:12px 0 6px}.island-feature .hero-action{display:inline-flex;align-items:center;justify-content:space-between;width:min(100%,320px);gap:12px;margin-top:16px;padding:12px 20px;box-sizing:border-box}.island-feature .island-fine{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:11px}.island-feature .island-fine>span{color:#cfc8b6}.island-feature .island-browse{margin:0;font-size:inherit;font-weight:700;color:var(--island-ink);text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.island-feature{align-items:center;text-align:center;padding-top:30px}.island-feature .island-latest{font-size:10px}.island-feature h2{font-size:20px;margin:10px auto 0}.island-feature .hero-action{width:100%;max-width:340px;margin-top:14px;min-height:48px}.island-feature .island-fine{justify-content:center;font-size:10px;margin-top:10px}.island-stage>.island-poster>i{font-size:6px;margin-top:2px}}
@media(max-width:700px){.island-feature>p.island-latest{display:inline-flex}}
.shop-pins{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5}.shop-pin{position:absolute;left:0;top:0;pointer-events:auto;display:inline-flex;align-items:center;gap:4px;padding:4px 9px 4px 8px;border-radius:999px;background:#fffdf6;border:1px solid #e3d9c2;box-shadow:0 4px 10px #2d4a3a26;font-size:11px;font-weight:700;color:var(--island-ink);text-decoration:none;white-space:nowrap;transition:opacity .25s}.shop-pin::after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;margin-left:-4px;background:inherit;border-right:1px solid #e3d9c2;border-bottom:1px solid #e3d9c2;transform:rotate(45deg)}.shop-pin b{font-size:8px;letter-spacing:.1em;color:#fff;background:var(--island-rust);border-radius:999px;padding:2px 5px}.shop-pin.is-new{border-color:#e7b7a3;z-index:1}.shop-pin.is-behind{opacity:.5}.shop-pin:active{transform:none}.island-stage.is-dragging .shop-pin{pointer-events:none}@media(max-width:700px){.shop-pin{font-size:9px;padding:3px 7px 3px 6px}.shop-pin b{font-size:7px;padding:1px 4px}}
