:root {
  --ink: #0c1922;
  --paper: #f2efe7;
  --card: #fffdf7;
  --mint: #83e0bf;
  --coral: #ff6a52;
  --line: rgba(12, 25, 34, 0.2);
  font-family: "Yu Gothic UI", "Hiragino Sans", Meiryo, system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
html { min-width: 320px; }
body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 8% 8%, rgba(131, 224, 191, 0.24), transparent 28rem),
    linear-gradient(rgba(12, 25, 34, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(12, 25, 34, 0.035) 1px, transparent 1px),
    var(--paper);
  background-size: auto, 34px 34px, 34px 34px, auto;
}

.masthead, main, footer { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.masthead {
  min-height: 86px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wordmark { color: inherit; text-decoration: none; display: flex; align-items: center; gap: 13px; font: 850 0.84rem/1 monospace; letter-spacing: 0.15em; }
.mark { width: 27px; height: 27px; padding: 4px; background: var(--ink); display: grid; grid-template-columns: 1fr 1fr; gap: 3px; transform: rotate(-4deg); }
.mark i { background: var(--mint); }
.mark i:nth-child(2), .mark i:nth-child(3) { background: transparent; }
.edition, .count, .eyebrow { font: 700 0.64rem/1.3 ui-monospace, Consolas, monospace; letter-spacing: 0.14em; }
.edition, .count { color: #566a73; }

.hero { padding: clamp(74px, 11vw, 150px) 0 clamp(70px, 9vw, 120px); border-bottom: 1px solid var(--line); }
.eyebrow { margin: 0 0 22px; color: #47636a; }
.hero h1 { max-width: 970px; margin: 0; font-size: clamp(3rem, 7.5vw, 7rem); line-height: 0.98; letter-spacing: -0.065em; }
.hero h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 2px var(--ink); }
.lead { margin: 38px 0 0; padding-left: 18px; border-left: 4px solid var(--mint); color: #40575f; font-weight: 650; line-height: 1.9; letter-spacing: 0.03em; }

.library { padding: 70px 0 100px; }
.section-heading { margin-bottom: 28px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.section-heading .eyebrow { margin-bottom: 10px; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -0.045em; }
.game-card { display: grid; grid-template-columns: minmax(280px, 0.9fr) minmax(340px, 1.1fr); background: var(--card); border: 1px solid rgba(12,25,34,.13); box-shadow: 0 24px 70px rgba(12,25,34,.12); }
.game-card + .game-card { margin-top: 28px; }
.game-visual { position: relative; min-height: 390px; overflow: hidden; background: var(--ink); display: grid; place-items: center; }
.game-visual::after { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(131,224,191,.34); }
.visual-number { position: absolute; left: 30px; bottom: 27px; color: var(--mint); font: 700 .66rem/1 monospace; letter-spacing: .16em; }
.qr-fragment { width: 190px; aspect-ratio: 1; padding: 18px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; transform: rotate(-3deg); }
.qr-fragment i { background: var(--mint); }
.qr-fragment i:nth-child(2), .qr-fragment i:nth-child(4), .qr-fragment i:nth-child(8) { background: transparent; }
.qr-fragment i:nth-child(5) { background: var(--coral); transform: scale(.55); }
.balloon-visual { background: linear-gradient(180deg, #9bd8f3 0%, #dff2ec 76%, #91b99b 77%, #739c81 100%); }
.balloon-visual::after { border-color: rgba(12,25,34,.2); }
.balloon-visual .visual-number { color: var(--ink); }
.launcher-cloud { position: absolute; width: 110px; height: 24px; border-radius: 999px; background: rgba(255,255,255,.5); }
.launcher-cloud::before, .launcher-cloud::after { content: ""; position: absolute; bottom: 4px; border-radius: 50%; background: inherit; }
.launcher-cloud::before { left: 18px; width: 39px; height: 39px; }
.launcher-cloud::after { right: 18px; width: 48px; height: 48px; }
.launcher-cloud-one { top: 62px; left: 46px; transform: scale(.8); }
.launcher-cloud-two { top: 126px; right: 18px; transform: scale(.56); opacity: .75; }
.launcher-balloon { position: absolute; width: 54px; height: 67px; border-radius: 51% 49% 47% 47% / 45% 45% 55% 55%; background: radial-gradient(circle at 32% 25%, rgba(255,255,255,.75) 0 6%, transparent 16%), #e9f8ff; border: 1px solid rgba(20,70,96,.16); box-shadow: inset -8px -8px 15px rgba(29,101,137,.13), 0 12px 25px rgba(38,97,119,.13); }
.launcher-balloon::before { content: ""; position: absolute; top: 65px; left: 50%; width: 1px; height: 95px; background: rgba(45,69,78,.48); }
.launcher-balloon::after { content: ""; position: absolute; top: 62px; left: 50%; width: 11px; height: 9px; background: inherit; clip-path: polygon(50% 0,100% 100%,0 100%); transform: translateX(-50%); }
.launcher-balloon-one { top: 106px; left: 31%; background-color: #69b8e9; transform: rotate(-4deg); }
.launcher-balloon-two { top: 192px; left: 51%; background-color: #91d1ef; transform: rotate(3deg) scale(.88); }
.launcher-balloon-three { top: 83px; left: 67%; background-color: #79c6e8; transform: rotate(5deg) scale(.75); }
.launcher-bird { position: absolute; top: 190px; right: 15%; width: 54px; height: 26px; }
.launcher-bird i { position: absolute; top: 5px; width: 31px; height: 17px; border-top: 4px solid #365f70; border-radius: 50%; transform: rotate(18deg); }
.launcher-bird i:last-child { right: 0; transform: rotate(-18deg); }
.rain-ripple-visual { background: radial-gradient(circle at 68% 30%, rgba(255,211,143,.25), transparent 28%), linear-gradient(180deg, #0a2635 0%, #17485a 58%, #09212f 100%); }
.rain-ripple-visual::after { border-color: rgba(175,238,221,.24); }
.rain-ripple-visual .visual-number { color: #91e5c6; }
.launcher-chain-glow { position: absolute; top: 32px; right: 21%; width: 120px; height: 170px; background: radial-gradient(circle, rgba(255,215,151,.32), transparent 68%); filter: blur(8px); }
.launcher-ripple { position: absolute; border: 2px solid rgba(205,238,236,.58); border-radius: 50%; box-shadow: 0 0 18px rgba(180,234,225,.08); }
.launcher-ripple-one { top: 72px; left: 16%; width: 150px; height: 92px; border-style: dashed; transform: rotate(-8deg); }
.launcher-ripple-two { top: 128px; right: 10%; width: 182px; height: 116px; border-color: rgba(145,229,198,.72); }
.launcher-ripple-three { bottom: 48px; left: 25%; width: 220px; height: 82px; border-color: rgba(205,238,236,.24); border-style: dotted; }
.launcher-slime { position: absolute; left: 43%; bottom: 82px; width: 88px; height: 72px; border-radius: 48% 52% 42% 44% / 55% 56% 44% 45%; background: radial-gradient(circle at 34% 24%, rgba(255,255,255,.5) 0 5%, transparent 13%), linear-gradient(180deg, #a8efd5, #3da792); border: 1px solid rgba(225,255,245,.52); box-shadow: inset -12px -12px 20px rgba(11,84,78,.24), 0 18px 32px rgba(0,0,0,.28); transform: rotate(-2deg); }
.launcher-slime::before { content: ""; position: absolute; top: 27px; left: 25px; width: 8px; height: 12px; border-radius: 50%; background: #18484b; box-shadow: 30px 0 #18484b; }
.launcher-slime::after { content: ""; position: absolute; top: 45px; left: 35px; width: 19px; height: 9px; border-bottom: 2px solid rgba(16,74,70,.72); border-radius: 50%; }
.shadow-commute-visual { background: linear-gradient(180deg, #f4c45e 0%, #d79a57 57%, #a66f50 100%); }
.shadow-commute-visual::after { border-color: rgba(31,34,61,.28); }
.shadow-commute-visual .visual-number { color: #242945; z-index: 6; }
.launcher-shadow-sun { position: absolute; z-index: 3; top: 40px; right: 54px; width: 58px; height: 58px; border-radius: 50%; background: #ffe28a; border: 1px solid rgba(79,51,45,.25); box-shadow: 0 0 0 12px rgba(255,226,138,.12), 0 0 45px rgba(255,232,158,.42); }
.launcher-shadow-road { position: absolute; z-index: 0; left: -12%; bottom: 47px; width: 124%; height: 118px; border: 1px solid rgba(90,62,55,.2); background: #e5bf7d; transform: rotate(-3deg); }
.launcher-shadow-road::after { content: ""; position: absolute; left: 0; right: 0; top: 57px; border-top: 2px dashed rgba(91,65,59,.22); }
.launcher-shadow-object { position: absolute; z-index: 3; background: #3f554d; }
.launcher-shadow-tree { left: 27%; bottom: 151px; width: 58px; height: 58px; border-radius: 47% 53% 49% 51%; box-shadow: -22px 12px 0 -8px #3f554d, 23px 9px 0 -10px #3f554d; }
.launcher-shadow-tree::after { content: ""; position: absolute; left: 25px; top: 45px; width: 9px; height: 52px; background: #75533f; }
.launcher-shadow-sign { right: 27%; bottom: 155px; width: 63px; height: 37px; background: #345866; border: 1px solid rgba(31,34,61,.2); }
.launcher-shadow-sign::after { content: ""; position: absolute; left: 28px; top: 36px; width: 7px; height: 54px; background: #474b5c; }
.launcher-cast-shadow { position: absolute; z-index: 1; background: rgba(42,45,82,.7); transform-origin: top center; }
.launcher-cast-shadow-one { left: 31%; top: 192px; width: 86px; height: 190px; clip-path: polygon(37% 0,63% 0,100% 100%,0 100%); transform: rotate(29deg); }
.launcher-cast-shadow-two { right: 31%; top: 197px; width: 74px; height: 176px; clip-path: polygon(38% 0,62% 0,100% 100%,0 100%); transform: rotate(28deg); }
.launcher-shadow-student { position: absolute; z-index: 4; left: 51%; bottom: 83px; width: 31px; height: 43px; border-radius: 42% 42% 32% 32%; background: #344465; box-shadow: -9px 8px 0 -4px #a45c49; transform: rotate(-3deg); }
.launcher-shadow-student::before { content: ""; position: absolute; left: 6px; top: -17px; width: 19px; height: 19px; border-radius: 50%; background: #f0e2c4; }
.launcher-shadow-student::after { content: ""; position: absolute; left: 2px; bottom: -28px; width: 8px; height: 31px; border-radius: 6px; background: #2b3150; box-shadow: 19px 0 #2b3150; }
.key-ward-visual { background: radial-gradient(circle at 50% 48%, #322f5a 0 24%, #17142f 52%, #090817 100%); }
.key-ward-visual::after { border-color: rgba(121,235,221,.24); }
.key-ward-visual .visual-number { color: #79ebdd; z-index: 8; }
.launcher-key-room { position: absolute; z-index: 2; left: 50%; top: 50%; width: 205px; height: 205px; background: linear-gradient(135deg,#393563,#211e42); clip-path: polygon(29% 0,71% 0,100% 29%,100% 71%,71% 100%,29% 100%,0 71%,0 29%); transform: translate(-50%,-50%); box-shadow: inset 0 0 0 9px rgba(121,235,221,.08); }
.launcher-key-room::after { content: ""; position: absolute; inset: 27%; border: 1px dashed rgba(244,201,102,.28); border-radius: 50%; }
.launcher-key-door { position: absolute; z-index: 4; left: 50%; top: 50%; width: 10px; height: 30px; background: #090817; border: 1px solid rgba(245,237,240,.35); transform-origin: 5px 0; }
.launcher-key-door-n { transform: translate(-5px,-113px) rotate(90deg); }
.launcher-key-door-ne { transform: translate(76px,-84px) rotate(135deg); }
.launcher-key-door-e { transform: translate(102px,-5px) rotate(180deg); }
.launcher-key-door-se { transform: translate(80px,76px) rotate(225deg); }
.launcher-key-door-s { transform: translate(5px,102px) rotate(270deg); }
.launcher-key-door-sw { transform: translate(-76px,80px) rotate(315deg); }
.launcher-key-door-w { transform: translate(-112px,5px) rotate(0deg); }
.launcher-key-door-nw { transform: translate(-84px,-76px) rotate(45deg); }
.launcher-key-barrier { position: absolute; z-index: 5; left: calc(50% + 75px); top: calc(50% - 84px); width: 42px; height: 42px; border: 4px solid #79ebdd; border-left-color: transparent; border-bottom-color: transparent; border-radius: 50%; transform: rotate(-3deg); filter: drop-shadow(0 0 8px rgba(121,235,221,.7)); }
.launcher-key-player { position: absolute; z-index: 6; left: 48%; top: 48%; width: 30px; height: 39px; border-radius: 50% 50% 38% 38%; background: #73548f; box-shadow: 0 -13px 0 -4px #f4c966, 13px 3px 0 -10px #f4c966; transform: rotate(8deg); }
.launcher-key-ghost { position: absolute; z-index: 3; width: 34px; height: 40px; border-radius: 50% 50% 36% 36%; background: #e5c8ff; box-shadow: 0 0 22px rgba(229,200,255,.32); }
.launcher-key-ghost::before { content: ""; position: absolute; left: 8px; top: 14px; width: 5px; height: 6px; border-radius: 50%; background: #49365d; box-shadow: 13px 0 #49365d; }
.launcher-key-ghost::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 34px; height: 16px; background: inherit; clip-path: polygon(0 0,25% 50%,50% 0,75% 50%,100% 0,100% 45%,0 45%); }
.launcher-key-ghost-one { left: 48px; top: 58px; transform: rotate(34deg) scale(.88); }
.launcher-key-ghost-two { right: 41px; top: 167px; transform: rotate(-7deg) scale(1.05); }
.launcher-key-ghost-three { left: 102px; bottom: 29px; transform: rotate(-16deg) scale(.72); opacity: .78; }
.mirror-pulse-visual { background: radial-gradient(circle at 72% 23%, rgba(111,247,255,.13), transparent 28%), linear-gradient(145deg,#0a1730,#050916); }
.mirror-pulse-visual::after { border-color: rgba(111,247,255,.24); }
.mirror-pulse-visual .visual-number { color: #6ff7ff; z-index: 8; }
.launcher-mirror-grid { position: absolute; inset: 42px 48px; border: 1px solid rgba(134,173,214,.24); background: linear-gradient(rgba(134,173,214,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(134,173,214,.1) 1px,transparent 1px); background-size: 54px 54px; }
.launcher-mirror-source { position: absolute; z-index: 5; left: 66px; bottom: 112px; width: 35px; height: 35px; border: 3px solid #6ff7ff; border-radius: 50%; box-shadow: 0 0 22px rgba(111,247,255,.72); }
.launcher-mirror-source::after { content: ""; position: absolute; left: 28px; top: 8px; border: 7px solid transparent; border-left: 13px solid #e7fdff; }
.launcher-mirror-beam { position: absolute; z-index: 3; height: 3px; background: #a9fbff; box-shadow: 0 0 7px #6ff7ff,0 0 18px rgba(111,247,255,.58); transform-origin: left center; }
.launcher-mirror-beam-a { left: 96px; bottom: 129px; width: 154px; }
.launcher-mirror-beam-b { left: 247px; bottom: 128px; width: 154px; transform: rotate(-90deg); }
.launcher-mirror-beam-c { left: 248px; top: 106px; width: 186px; }
.launcher-mirror-piece { position: absolute; z-index: 5; width: 43px; height: 43px; border: 2px solid #6ff7ff; border-radius: 5px; background: #0d1a31; box-shadow: 0 0 15px rgba(111,247,255,.26); }
.launcher-mirror-piece::after { content: ""; position: absolute; left: 5px; top: 18px; width: 29px; height: 5px; border-radius: 3px; background: #eafcff; box-shadow: 0 -6px rgba(111,247,255,.4); transform: rotate(-45deg); }
.launcher-mirror-piece-a { left: 226px; bottom: 107px; }
.launcher-mirror-piece-b { left: 226px; top: 85px; transform: rotate(90deg); }
.launcher-mirror-danger { position: absolute; z-index: 4; width: 38px; height: 38px; border: 2px dashed rgba(255,96,124,.8); background: rgba(255,96,124,.12); transform: rotate(45deg); }
.launcher-mirror-danger::after { content: "×"; position: absolute; inset: 0; color: #ff607c; font: 700 24px/34px sans-serif; text-align: center; transform: rotate(-45deg); }
.launcher-mirror-danger-a { left: 144px; bottom: 110px; }
.launcher-mirror-danger-b { right: 78px; top: 154px; }
.launcher-mirror-goal { position: absolute; z-index: 5; right: 46px; top: 86px; width: 38px; height: 38px; border: 3px solid #ffe191; border-radius: 50%; box-shadow: 0 0 0 8px rgba(255,225,145,.08),0 0 25px rgba(255,225,145,.4); }
.launcher-mirror-goal::after { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: #fff0b5; }
.doodle-rules-visual { background: radial-gradient(circle at 82% 18%,rgba(255,255,255,.52),transparent 26%),linear-gradient(145deg,#f5c84f,#e98868); }
.doodle-rules-visual::after { border-color: rgba(48,40,65,.25); }
.doodle-rules-visual .visual-number { color: #302841; z-index: 9; }
.launcher-doodle-paper { position: absolute; z-index: 1; left: 50%; top: 50%; width: 250px; height: 286px; border: 2px solid #302841; border-radius: 8px 13px 7px 16px; background: #fffaf0; box-shadow: 12px 14px 0 rgba(48,40,65,.2); transform: translate(-50%,-50%) rotate(-4deg); }
.launcher-doodle-paper::after { content: ""; position: absolute; inset: 14px; border: 2px dashed rgba(48,40,65,.2); border-radius: 10px; }
.launcher-doodle-cat { position: absolute; z-index: 4; left: 50%; top: 50%; width: 132px; height: 120px; border: 5px solid #635a74; border-radius: 48% 52% 46% 47%; background: rgba(237,107,105,.22); transform: translate(-50%,-49%) rotate(-3deg); }
.launcher-doodle-ear { position: absolute; z-index: 3; top: 91px; width: 54px; height: 70px; border: 5px solid #635a74; background: rgba(237,107,105,.22); clip-path: polygon(50% 0,100% 100%,0 100%); }
.launcher-doodle-ear-left { left: calc(50% - 71px); transform: rotate(-10deg); }
.launcher-doodle-ear-right { right: calc(50% - 71px); transform: rotate(10deg); }
.launcher-doodle-eye { position: absolute; z-index: 5; top: 185px; width: 29px; height: 17px; border-bottom: 4px solid #302841; border-radius: 50%; }
.launcher-doodle-eye-left { left: calc(50% - 48px); transform: rotate(7deg); }
.launcher-doodle-eye-right { right: calc(50% - 48px); transform: rotate(-7deg); }
.launcher-doodle-whiskers { position: absolute; z-index: 5; left: 50%; top: 228px; width: 118px; height: 3px; background: #302841; box-shadow: 0 -15px 0 -1px #302841,0 15px 0 -1px #302841; transform: translateX(-50%) rotate(-2deg); }
.launcher-doodle-whiskers::after { content: ""; position: absolute; left: 53px; top: -20px; width: 13px; height: 13px; background: #302841; clip-path: polygon(50% 100%,0 0,100% 0); }
.launcher-doodle-bucket { position: absolute; z-index: 7; bottom: 54px; width: 48px; height: 42px; border: 3px solid #302841; border-radius: 5px 5px 13px 13px; box-shadow: 4px 5px 0 rgba(48,40,65,.18); }
.launcher-doodle-bucket::before { content: ""; position: absolute; left: 7px; top: -14px; width: 28px; height: 20px; border: 3px solid #302841; border-bottom: 0; border-radius: 18px 18px 0 0; }
.launcher-doodle-bucket-red { right: 132px; background: #ed6b69; transform: rotate(-9deg); }
.launcher-doodle-bucket-yellow { right: 80px; bottom: 45px; background: #f2bd4f; transform: rotate(4deg); }
.launcher-doodle-bucket-blue { right: 29px; background: #63afc4; transform: rotate(10deg); }
.launcher-doodle-timer { position: absolute; z-index: 8; right: 31px; top: 31px; display: grid; width: 69px; height: 69px; place-items: center; border: 5px solid #302841; border-radius: 50%; color: #302841; background: rgba(255,250,240,.94); box-shadow: 4px 5px 0 rgba(48,40,65,.2); font: 900 .78rem/1 sans-serif; transform: rotate(8deg); }
.launcher-doodle-timer::before { position: absolute; top: -10px; width: 24px; height: 9px; border: 3px solid #302841; border-radius: 4px 4px 0 0; background: #63afc4; content: ""; }
.steam-photo-visual { background: linear-gradient(180deg,#ead7b5 0%,#b5d4cc 48%,#558e8c 100%); }
.steam-photo-visual::after { border-color: rgba(255,255,255,.42); }
.steam-photo-visual .visual-number { color: #fff7df; z-index: 10; }
.launcher-steam-sun { position: absolute; z-index: 1; right: 52px; top: 43px; width: 56px; height: 56px; border-radius: 50%; background: #f1cf85; box-shadow: 0 0 0 17px rgba(255,231,174,.13),0 0 48px rgba(255,225,156,.4); }
.launcher-steam-mountain { position: absolute; z-index: 1; left: -8%; right: -8%; clip-path: polygon(0 100%,14% 48%,26% 77%,43% 20%,61% 78%,76% 34%,100% 83%,100% 100%); }
.launcher-steam-mountain-one { top: 92px; height: 150px; background: #507976; }
.launcher-steam-mountain-two { top: 146px; height: 128px; background: #355f60; opacity: .92; transform: scaleX(1.1); }
.launcher-steam-pool { position: absolute; z-index: 2; left: -8%; right: -8%; bottom: -7%; height: 55%; border-top: 5px solid rgba(238,250,240,.42); border-radius: 48% 48% 0 0 / 22% 22% 0 0; background: repeating-linear-gradient(175deg,rgba(232,251,244,.19) 0 3px,transparent 3px 34px),linear-gradient(180deg,#74b7b1,#377d82); }
.launcher-steam-animal { position: absolute; z-index: 4; width: 65px; height: 59px; border: 3px solid rgba(35,50,51,.55); border-radius: 48% 48% 43% 43%; background: #bc8b62; box-shadow: inset 0 -12px rgba(76,58,49,.1); }
.launcher-steam-animal::before { position: absolute; left: 7px; top: -8px; width: 14px; height: 14px; border: 3px solid rgba(35,50,51,.45); border-radius: 50%; background: inherit; box-shadow: 34px 0 0 -3px #bc8b62,34px 0 0 0 rgba(35,50,51,.45); content: ""; }
.launcher-steam-animal::after { position: absolute; left: 17px; top: 22px; width: 7px; height: 8px; border-radius: 50%; background: #253739; box-shadow: 24px 0 #253739,12px 14px 0 -1px #5c463e; content: ""; }
.launcher-steam-animal-one { left: 20%; bottom: 71px; transform: rotate(-3deg) scale(.92); }
.launcher-steam-animal-two { left: 46%; bottom: 108px; background: #ddcdb9; transform: rotate(2deg) scale(.78); }
.launcher-steam-animal-two::before { box-shadow: 34px 0 0 -3px #ddcdb9,34px 0 0 0 rgba(35,50,51,.45); }
.launcher-steam-animal-three { right: 17%; bottom: 60px; background: #d17445; transform: rotate(4deg); }
.launcher-steam-animal-three::before { border-radius: 3px; transform: rotate(45deg); box-shadow: 29px -29px 0 -3px #d17445,29px -29px 0 0 rgba(35,50,51,.45); }
.launcher-steam-cloud { position: absolute; z-index: 6; border-radius: 50%; background: rgba(247,252,248,.74); filter: blur(10px); }
.launcher-steam-cloud-one { left: 8%; bottom: 52px; width: 210px; height: 95px; transform: rotate(-8deg); }
.launcher-steam-cloud-two { left: 38%; bottom: 113px; width: 185px; height: 110px; opacity: .76; transform: rotate(7deg); }
.launcher-steam-cloud-three { right: 2%; bottom: 32px; width: 220px; height: 105px; opacity: .86; transform: rotate(-5deg); }
.launcher-camera-frame { position: absolute; z-index: 8; inset: 39px; border: 3px solid rgba(255,255,255,.7); clip-path: polygon(0 0,22% 0,22% 2%,2% 2%,2% 23%,0 23%,0 0,100% 0,100% 23%,98% 23%,98% 2%,78% 2%,78% 0,100% 0,100% 100%,78% 100%,78% 98%,98% 98%,98% 77%,100% 77%,100% 100%,0 100%,0 77%,2% 77%,2% 98%,22% 98%,22% 100%,0 100%); }
.footprint-chase-visual { background: linear-gradient(150deg,#2e363d 0%,#171b22 55%,#090b10 100%); }
.footprint-chase-visual::after { border-color: rgba(225,239,236,.22); }
.footprint-chase-visual .visual-number { z-index: 12; color: #d9efeb; }
.launcher-corridor-line { position: absolute; z-index: 1; left: -8%; right: -8%; height: 2px; background: rgba(196,218,214,.16); transform-origin: center; }
.launcher-corridor-line-one { top: 116px; transform: rotate(-7deg); }
.launcher-corridor-line-two { bottom: 92px; transform: rotate(8deg); }
.launcher-chase-player { position: absolute; z-index: 7; left: 90px; bottom: 68px; width: 48px; height: 52px; border: 3px solid #d8fffb; border-radius: 20px 20px 15px 15px; background: #69d6d1; box-shadow: 0 0 0 10px rgba(105,214,209,.12),0 0 36px rgba(105,214,209,.44); transform: rotate(-8deg); }
.launcher-chase-player::before { position: absolute; left: 12px; top: -20px; width: 20px; height: 20px; border: 3px solid #d8fffb; border-radius: 50%; background: #69d6d1; content: ""; }
.launcher-footprint { position: absolute; z-index: 6; width: 48px; height: 21px; border-radius: 50%; background: #ff7079; box-shadow: 0 0 18px rgba(255,107,116,.5); }
.launcher-footprint::after { position: absolute; left: -14px; top: 5px; width: 15px; height: 12px; border-radius: 50%; background: inherit; content: ""; }
.launcher-footprint-one { right: 78px; top: 64px; opacity: .42; transform: rotate(154deg) scale(.76); }
.launcher-footprint-two { right: 142px; top: 116px; opacity: .58; transform: rotate(143deg) scale(.84); }
.launcher-footprint-three { right: 206px; top: 176px; opacity: .78; transform: rotate(133deg) scale(.92); }
.launcher-footprint-four { right: 270px; top: 246px; transform: rotate(126deg); }
.launcher-banana { position: absolute; z-index: 8; left: 48%; top: 44%; width: 58px; height: 42px; border: 12px solid #f4d35e; border-top-color: transparent; border-right-color: transparent; border-radius: 50%; filter: drop-shadow(0 0 10px rgba(244,211,94,.55)); transform: rotate(-31deg); }
.launcher-banana::after { position: absolute; right: -9px; bottom: -5px; width: 11px; height: 5px; border-radius: 2px; background: #7e6720; content: ""; }
.launcher-slip-line { position: absolute; z-index: 5; left: 51%; top: 48%; width: 180px; height: 5px; border-radius: 999px; background: linear-gradient(90deg,rgba(244,211,94,.72),transparent); box-shadow: 0 0 14px rgba(244,211,94,.35); transform: rotate(-24deg); }
.hourglass-grid-visual { background: radial-gradient(circle at 78% 18%,rgba(242,196,109,.22),transparent 27%),linear-gradient(145deg,#1c4a45,#102d2b); }
.hourglass-grid-visual::after { border-color: rgba(246,239,217,.27); }
.hourglass-grid-visual .visual-number { z-index: 12; color: #f2c46d; }
.launcher-number-grid { position: absolute; z-index: 4; left: 50%; top: 55%; width: 174px; height: 174px; display: grid; grid-template-columns: repeat(3,1fr); grid-template-rows: repeat(3,1fr); gap: 5px; transform: translate(-39%,-46%); }
.launcher-number-grid i { display: grid; place-items: center; border: 1px solid rgba(246,239,217,.34); background: rgba(246,239,217,.88); color: #173432; box-shadow: inset 0 0 0 3px rgba(23,52,50,.06); font: 900 1.35rem/1 monospace; font-style: normal; }
.launcher-number-grid i:nth-child(3),.launcher-number-grid i:nth-child(7) { color: #247f72; background: rgba(210,235,216,.94); }
.launcher-hourglass { position: absolute; z-index: 6; width: 30px; height: 46px; border-top: 5px solid #f3e5bd; border-bottom: 5px solid #f3e5bd; filter: drop-shadow(0 5px 6px rgba(0,0,0,.25)); }
.launcher-hourglass::before { position: absolute; inset: 3px 4px; background: linear-gradient(180deg,#d8943b 0 24%,rgba(246,239,217,.25) 25% 72%,#f2c46d 73% 100%); clip-path: polygon(0 0,100% 0,59% 47%,100% 100%,0 100%,41% 47%); content: ""; }
.launcher-hourglass::after { position: absolute; left: 13px; top: 18px; width: 3px; height: 9px; background: #f2c46d; content: ""; }
.launcher-hourglass-top-one { left: calc(50% - 51px); top: 31px; }
.launcher-hourglass-top-two { left: calc(50% + 9px); top: 31px; transform: rotate(180deg); }
.launcher-hourglass-top-three { left: calc(50% + 69px); top: 31px; }
.launcher-hourglass-side-one { left: calc(50% - 132px); top: 105px; transform: rotate(180deg); }
.launcher-hourglass-side-two { left: calc(50% - 132px); top: 165px; }
.launcher-hourglass-side-three { left: calc(50% - 132px); top: 225px; transform: rotate(180deg); }
.launcher-turn-glow { position: absolute; z-index: 3; left: calc(50% - 57px); top: 26px; width: 42px; height: 58px; border: 2px solid #f2c46d; box-shadow: 0 0 0 7px rgba(242,196,109,.12),0 0 24px rgba(242,196,109,.4); }
.shade-compass-visual { overflow: hidden; background: radial-gradient(circle at 72% 16%,rgba(247,236,167,.22),transparent 28%),linear-gradient(155deg,#5f8b5c 0 46%,#315f4b 100%); }
.shade-compass-visual::after { border-color: rgba(255,246,189,.36); }
.shade-compass-visual .visual-number { z-index: 12; color: #fff3a5; }
.launcher-dodge-forecast { position: absolute; z-index: 3; border: 3px dashed rgba(255,248,186,.82); border-radius: 50%; }
.launcher-dodge-forecast::before { position: absolute; left: 50%; top: 50%; width: 34%; height: 34%; border-radius: 50%; background: radial-gradient(circle,#fffbd8 0 18%,#f7d577 48%,rgba(245,193,75,.16) 78%,transparent 80%); box-shadow: 0 0 24px rgba(255,225,124,.55); content: ""; transform: translate(-50%,-50%); }
.launcher-dodge-forecast::after { position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border: 2px solid #fff3a5; border-radius: 50%; content: ""; transform: translate(-50%,-50%); }
.launcher-dodge-forecast-one { left: 9%; top: 13%; width: 157px; height: 157px; }
.launcher-dodge-forecast-two { right: 7%; top: 17%; width: 91px; height: 91px; border-style: dotted; }
.launcher-dodge-forecast-three { right: 24%; bottom: -22px; width: 126px; height: 126px; }
.launcher-dodge-path { position: absolute; z-index: 4; left: 31%; top: 54%; width: 142px; border-top: 3px dashed rgba(248,242,208,.5); transform: rotate(-16deg); }
.launcher-dodge-path::after { position: absolute; right: -5px; top: -7px; width: 12px; height: 12px; border: 2px solid #fff2a1; border-radius: 50%; content: ""; }
.launcher-dodge-cat { position: absolute; z-index: 7; left: 34%; top: 58%; width: 58px; height: 45px; border: 3px solid #3f3028; border-radius: 50% 50% 43% 45%; background: #d28e56; transform: rotate(18deg); }
.launcher-dodge-cat::before,.launcher-dodge-cat::after { position: absolute; top: -12px; width: 19px; height: 19px; background: #d28e56; clip-path: polygon(0 100%,50% 0,100% 100%); content: ""; }
.launcher-dodge-cat::before { left: 7px; transform: rotate(-10deg); }
.launcher-dodge-cat::after { right: 7px; transform: rotate(10deg); }
.launcher-dodge-cat i { position: absolute; left: -31px; bottom: 1px; width: 38px; height: 22px; border: 5px solid #a66743; border-right: 0; border-bottom: 0; border-radius: 38px 0 0 0; transform: rotate(-22deg); }
.pocket-wave-visual { overflow: hidden; background: linear-gradient(145deg,#e9dfc4,#bcae91); }
.pocket-wave-visual::before { position: absolute; inset: 0; background: repeating-linear-gradient(92deg,rgba(73,62,68,.08) 0 1px,transparent 1px 12px),repeating-linear-gradient(2deg,rgba(73,62,68,.06) 0 1px,transparent 1px 13px); content: ""; }
.pocket-wave-visual::after { border-color: rgba(50,42,62,.28); border-style: dashed; }
.pocket-wave-visual .visual-number { z-index: 12; color: #332d46; }
.launcher-pocket-chute { position: absolute; z-index: 4; left: 42px; top: 66px; width: 72px; height: 118px; border: 3px dashed rgba(246,239,217,.72); border-radius: 22px; background: #332d46; box-shadow: 0 12px 25px rgba(51,45,70,.2); }
.launcher-pocket-chute::after { position: absolute; left: 22px; top: 15px; width: 23px; height: 23px; border-radius: 50%; background: #ff806b; box-shadow: 0 31px #80dfbd,0 62px #f4c96e; content: ""; }
.launcher-pocket-force { position: absolute; z-index: 8; left: 165px; bottom: 65px; width: 158px; height: 15px; border: 3px solid #332d46; border-radius: 999px; background: #80dfbd; box-shadow: 0 9px 18px rgba(50,45,70,.22); transform: rotate(-24deg); }
.launcher-pocket-force::before { position: absolute; left: -24px; top: 50%; width: 22px; height: 22px; border: 4px solid #332d46; border-radius: 50%; background: #f4c96e; content: ""; transform: translateY(-50%); }
.launcher-pocket-force::after { position: absolute; right: -25px; top: 50%; width: 34px; height: 34px; border-top: 6px solid #332d46; border-right: 6px solid #332d46; background: #80dfbd; content: ""; transform: translateY(-50%) rotate(45deg); }
.launcher-pocket-hole { position: absolute; z-index: 5; right: 34px; bottom: 45px; width: 94px; height: 94px; border: 8px solid #ff806b; border-radius: 50%; background: radial-gradient(circle at 38% 31%,#4b4054,#151321 72%); box-shadow: 0 0 0 14px rgba(255,128,107,.12),0 12px 22px rgba(50,45,70,.26); }
.launcher-pocket-hole::after { position: absolute; inset: -22px; border: 2px dashed rgba(204,79,69,.52); border-radius: 50%; content: ""; }
.launcher-pocket-ball { position: absolute; z-index: 9; width: 24px; height: 24px; border: 2px solid rgba(255,255,255,.76); border-radius: 50%; background: radial-gradient(circle at 33% 29%,#fff 0 8%,#8dc7ff 34%,#4c4256 100%); box-shadow: 3px 7px 7px rgba(50,45,70,.18); }
.launcher-pocket-ball-one { left: 128px; top: 134px; background: radial-gradient(circle at 33% 29%,#fff 0 8%,#ff806b 34%,#4c4256 100%); }
.launcher-pocket-ball-two { left: 187px; top: 178px; background: radial-gradient(circle at 33% 29%,#fff 0 8%,#80dfbd 34%,#4c4256 100%); }
.launcher-pocket-ball-three { left: 264px; top: 92px; background: radial-gradient(circle at 33% 29%,#fff 0 8%,#f4c96e 34%,#4c4256 100%); }
.launcher-pocket-ball-four { right: 146px; top: 208px; }
.launcher-pocket-ball-five { right: 103px; bottom: 89px; background: radial-gradient(circle at 33% 29%,#fff 0 8%,#d69cff 34%,#4c4256 100%); }
.jacquard-rhythm-visual { overflow: hidden; background: linear-gradient(145deg,#2c1c17,#5e3927 58%,#271914); }
.jacquard-rhythm-visual::before { position: absolute; inset: 0; opacity: .25; background: repeating-linear-gradient(88deg,transparent 0 17px,rgba(255,226,171,.3) 18px),repeating-linear-gradient(3deg,transparent 0 23px,rgba(21,10,7,.55) 24px); content: ""; }
.jacquard-rhythm-visual::after { border-color: rgba(248,216,152,.26); border-style: dashed; }
.jacquard-rhythm-visual .visual-number { z-index: 14; color: #f5d171; }
.launcher-loom-frame { position: absolute; z-index: 4; left: 64px; top: 34px; width: 278px; height: 228px; border: 18px solid #8c5736; background: #f1deb4; box-shadow: inset 0 0 0 4px #372018,0 17px 24px rgba(16,7,5,.35); }
.launcher-loom-frame::before,.launcher-loom-frame::after { position: absolute; top: -29px; bottom: -29px; width: 18px; border: 3px solid #2d1912; background: linear-gradient(90deg,#4f2b1d,#9b623d,#522c1d); content: ""; }
.launcher-loom-frame::before { left: -35px; }
.launcher-loom-frame::after { right: -35px; }
.launcher-loom-cloth { position: absolute; z-index: 6; left: 82px; top: 52px; width: 242px; height: 192px; background: repeating-linear-gradient(0deg,rgba(255,244,209,.15) 0 2px,transparent 2px 10px),repeating-linear-gradient(90deg,#2d5260 0 11px,#f3c969 11px 16px,#2d5260 16px 28px); clip-path: polygon(0 0,100% 0,100% 100%,0 100%); }
.launcher-loom-cloth::after { position: absolute; inset: 17% 18%; border: 8px double #f3c969; border-radius: 50%; box-shadow: 0 0 0 9px #2d5260,0 0 0 15px #f3c969; content: ""; }
.launcher-loom-shuttle { position: absolute; z-index: 10; left: 95px; top: 176px; width: 165px; height: 22px; border: 3px solid #27150f; border-radius: 999px 15px 15px 999px; background: linear-gradient(#d7954c,#754027); box-shadow: 0 7px 10px rgba(28,13,8,.3); transform: rotate(-4deg); }
.launcher-loom-shuttle::before { position: absolute; left: 20px; top: 4px; width: 30px; height: 8px; border: 2px solid #372018; border-radius: 50%; background: #f3c969; content: ""; }
.launcher-loom-shuttle::after { position: absolute; right: -15px; top: 4px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 16px solid #27150f; content: ""; }
.bubble-drift-visual { overflow: hidden; background: linear-gradient(165deg,#46c7d0 0%,#087795 45%,#064565 100%); }
.bubble-drift-visual::before { position: absolute; inset: 0; opacity: .28; background: repeating-radial-gradient(ellipse at 30% -10%,transparent 0 23px,rgba(232,255,245,.58) 25px 27px,transparent 29px 47px); content: ""; transform: rotate(-5deg) scale(1.2); }
.bubble-drift-visual::after { border-color: rgba(214,255,249,.42); border-style: dashed; }
.bubble-drift-visual .visual-number { z-index: 14; color: #eafffb; }
.launcher-sea-ring { position: absolute; z-index: 5; right: 55px; top: 59px; width: 150px; height: 150px; border: 12px solid #ff816f; border-radius: 50%; background: radial-gradient(circle,rgba(255,111,91,.52) 0 40%,rgba(255,111,91,.16) 42% 60%,transparent 62%); box-shadow: 0 0 0 5px rgba(255,216,174,.32),0 0 38px rgba(255,99,79,.78),inset 0 0 25px rgba(255,99,79,.38); }
.launcher-sea-ring::after { position: absolute; inset: 17px; border: 3px dashed rgba(255,238,212,.84); border-radius: 50%; content: ""; }
.launcher-sea-pod { position: absolute; z-index: 9; left: 116px; top: 164px; width: 92px; height: 54px; border: 4px solid #5a452a; border-radius: 28px; background: linear-gradient(#ffe7a1,#f2ad45); box-shadow: -23px 8px 0 -16px #ff8f79,0 12px 22px rgba(0,38,55,.32); transform: rotate(-8deg); }
.launcher-sea-pod::before { position: absolute; right: 13px; top: 9px; width: 28px; height: 28px; border: 4px solid rgba(238,255,243,.9); border-radius: 50%; background: #136d87; content: ""; }
.launcher-sea-pod::after { position: absolute; right: 21px; top: 17px; width: 7px; height: 7px; border-radius: 50%; background: #f0fff8; content: ""; }
.launcher-sea-pod i { position: absolute; left: -27px; top: 7px; width: 28px; height: 38px; background: #ff8f79; clip-path: polygon(100% 50%,0 0,14% 50%,0 100%); }
.launcher-sea-bubble { position: absolute; z-index: 8; border: 3px solid rgba(237,255,255,.88); border-radius: 50%; background: radial-gradient(circle at 31% 26%,rgba(255,255,255,.9) 0 8%,rgba(124,238,242,.22) 34%,rgba(14,125,157,.08) 76%); box-shadow: inset 0 0 16px rgba(223,255,255,.28),0 0 12px rgba(209,255,255,.35); }
.launcher-sea-bubble-one { left: 124px; top: 99px; width: 48px; height: 48px; }
.launcher-sea-bubble-two { left: 163px; top: 72px; width: 62px; height: 62px; }
.launcher-sea-bubble-three { left: 204px; top: 119px; width: 38px; height: 38px; }
.launcher-sea-path { position: absolute; z-index: 4; left: 57px; top: 209px; width: 282px; height: 62px; border-top: 3px dashed rgba(219,255,252,.5); border-radius: 50%; transform: rotate(-7deg); }
.phase-window-visual { overflow: hidden; background: linear-gradient(160deg,#28112d 0%,#11152d 45%,#082c38 100%); }
.phase-window-visual::before { position: absolute; inset: 0; opacity: .32; background: repeating-linear-gradient(90deg,transparent 0 34px,rgba(211,222,255,.18) 35px),repeating-linear-gradient(0deg,transparent 0 29px,rgba(211,222,255,.14) 30px); content: ""; }
.phase-window-visual::after { border-color: rgba(218,224,255,.36); border-style: dashed; }
.phase-window-visual .visual-number { z-index: 16; color: #ffd166; }
.launcher-phase-zone { position: absolute; z-index: 8; top: 25px; width: 23%; height: 40px; border: 2px solid currentColor; border-radius: 9px; display: grid; place-items: center; background: rgba(12,16,36,.72); font: 900 1rem/1 monospace; box-shadow: 0 0 22px color-mix(in srgb,currentColor 45%,transparent); }
.launcher-phase-zone-one { left: 6%; color: #63e6ff; }
.launcher-phase-zone-two { left: 38.5%; color: #ff61bd; }
.launcher-phase-zone-three { right: 6%; color: #ffd166; }
.launcher-phase-target { position: absolute; z-index: 8; left: 45px; width: 44px; height: 44px; border: 3px solid rgba(255,255,255,.72); border-radius: 50%; display: grid; place-items: center; color: #0c1024; font: 900 1rem/1 monospace; box-shadow: 0 0 26px currentColor; }
.launcher-phase-target-player { bottom: 31px; background: #63e6ff; color: #063945; }
.launcher-phase-window { position: absolute; z-index: 9; width: 174px; height: 38px; border: 3px solid rgba(240,238,255,.86); border-radius: 10px; display: grid; place-items: center; color: #ffd166; background: repeating-linear-gradient(130deg,rgba(99,230,255,.27) 0 11px,rgba(255,97,189,.24) 11px 22px); box-shadow: 0 0 24px rgba(193,178,255,.42); font: 900 .78rem/1 monospace; letter-spacing: .08em; }
.launcher-phase-window-one { left: 53px; top: 94px; transform: rotate(-4deg); }
.launcher-phase-window-two { right: 47px; bottom: 86px; transform: rotate(5deg); }
.launcher-phase-ball { position: absolute; z-index: 12; width: 30px; height: 30px; border: 2px solid rgba(255,255,255,.78); border-radius: 50%; display: grid; place-items: center; color: #101225; font: 900 .68rem/1 monospace; }
.launcher-phase-ball::after { position: absolute; z-index: -1; right: 23px; top: 11px; width: 72px; height: 6px; border-radius: 999px; background: linear-gradient(90deg,transparent,currentColor); content: ""; transform-origin: right center; }
.launcher-phase-ball-one { left: 276px; top: 63px; color: #10323b; background: #63e6ff; box-shadow: 0 0 21px #63e6ff; }
.launcher-phase-ball-one::after { color: #63e6ff; transform: rotate(-14deg); }
.launcher-phase-ball-two { left: 178px; top: 156px; color: #3c1530; background: #ff61bd; box-shadow: 0 0 21px #ff61bd; }
.launcher-phase-ball-two::after { color: #ff61bd; transform: rotate(18deg); }
.launcher-phase-ball-three { right: 52px; bottom: 47px; color: #453511; background: #ffd166; box-shadow: 0 0 21px #ffd166; }
.launcher-phase-ball-three::after { color: #ffd166; transform: rotate(-25deg); }
.bell-cats-visual { overflow: hidden; background: linear-gradient(155deg,#f8e9c7 0%,#e8cf9f 55%,#cba972 100%); }
.bell-cats-visual::before { position: absolute; inset: 18px; border: 3px dashed rgba(60,121,91,.38); border-radius: 24px; background: repeating-linear-gradient(0deg,rgba(61,126,95,.07) 0 1px,transparent 1px 25px),repeating-linear-gradient(90deg,rgba(61,126,95,.05) 0 1px,transparent 1px 28px); content: ""; }
.bell-cats-visual::after { border-color: rgba(103,72,39,.36); border-style: dashed; }
.bell-cats-visual .visual-number { z-index: 18; color: #294e40; }
.launcher-sound-ring { position: absolute; z-index: 4; left: 50%; top: 46%; border: 3px solid rgba(210,139,35,.6); border-radius: 50%; transform: translate(-50%,-50%); }
.launcher-sound-ring-one { width: 128px; height: 128px; }
.launcher-sound-ring-two { width: 218px; height: 218px; border-style: dashed; opacity: .58; }
.launcher-bell { position: absolute; z-index: 12; left: 50%; top: 42%; width: 58px; height: 54px; border: 3px solid #765028; border-radius: 28px 28px 10px 10px; background: linear-gradient(135deg,#fff1a6,#ffd45f 48%,#df9634); box-shadow: inset 7px 5px 0 rgba(255,255,255,.35),0 9px 18px rgba(92,55,21,.3); clip-path: polygon(20% 5%,80% 5%,89% 72%,100% 88%,0 88%,11% 72%); transform: translate(-50%,-50%); }
.launcher-bell::before { position: absolute; left: 21px; top: -11px; width: 14px; height: 18px; border: 3px solid #765028; border-radius: 50% 50% 0 0; background: #ffd45f; content: ""; }
.launcher-bell i { position: absolute; left: 22px; bottom: -1px; width: 14px; height: 14px; border: 3px solid #765028; border-radius: 50%; background: #e99b34; }
.launcher-cat { position: absolute; z-index: 10; width: 55px; height: 38px; border: 3px solid #704b30; border-radius: 50% 45% 46% 48%; background: #e9a24c; box-shadow: 0 8px 0 -4px rgba(92,58,30,.22); }
.launcher-cat::before { position: absolute; right: -10px; top: -8px; width: 31px; height: 31px; border: 3px solid #704b30; border-radius: 50%; background: inherit; content: ""; clip-path: polygon(0 0,34% 16%,76% 0,100% 100%,0 100%); }
.launcher-cat::after { position: absolute; left: -22px; top: 9px; width: 27px; height: 25px; border: 6px solid #704b30; border-right: 0; border-bottom-color: transparent; border-radius: 50%; content: ""; }
.launcher-cat i { position: absolute; z-index: 2; right: -1px; top: 6px; width: 4px; height: 4px; border-radius: 50%; background: #24352f; box-shadow: 10px 0 0 #24352f; }
.launcher-cat-one { left: 42px; top: 71px; transform: rotate(9deg); }
.launcher-cat-two { right: 48px; top: 104px; background: #f5ead4; transform: rotate(-14deg) scale(.9); }
.launcher-cat-three { left: 82px; bottom: 48px; background: #879693; transform: rotate(-9deg) scale(.86); }
.launcher-cat-food { position: absolute; z-index: 11; right: 80px; bottom: 70px; width: 54px; height: 31px; border: 3px solid #2d7157; border-radius: 58% 42% 50% 50%; display: grid; place-items: center; color: #174735; background: #76d4aa; font: 900 .72rem/1 monospace; transform: rotate(-8deg); }
.launcher-cat-food::after { position: absolute; right: -14px; top: 4px; border-width: 9px 0 9px 15px; border-style: solid; border-color: transparent transparent transparent #2d7157; content: ""; }
.launcher-cat-cd { position: absolute; z-index: 9; right: 48px; top: 35px; width: 43px; height: 43px; border: 3px solid rgba(85,83,77,.62); border-radius: 50%; display: grid; place-items: center; color: #8e3e42; background: radial-gradient(circle,#806858 0 11%,#f7edc4 12% 20%,#75cbd2 24%,#d8a4d2 52%,#f0ca64 76%,#a7b1ad 100%); font: 900 .64rem/1 monospace; }
.cat-envelope-visual { overflow: hidden; background: linear-gradient(155deg,#f4dcc0 0%,#dfbb89 58%,#c99167 100%); }
.cat-envelope-visual::before { position: absolute; inset: 0; background: linear-gradient(90deg,transparent 33%,rgba(62,45,64,.15) 33% 33.5%,transparent 33.5% 66%,rgba(62,45,64,.15) 66% 66.5%,transparent 66.5%),repeating-linear-gradient(2deg,rgba(110,72,57,.08) 0 1px,transparent 1px 19px); content: ""; }
.cat-envelope-visual::after { z-index: 20; border-color: rgba(67,45,66,.3); }
.cat-envelope-visual .visual-number { z-index: 21; color: #4d344c; }
.launcher-envelope-gaze { position: absolute; z-index: 3; left: 55px; top: 73px; width: 166px; height: 260px; padding-top: 161px; color: rgba(125,48,59,.82); background: linear-gradient(180deg,rgba(239,109,99,.34),rgba(239,109,99,.08)); clip-path: polygon(38% 0,61% 0,100% 100%,0 100%); font: 900 .62rem/1 monospace; text-align: center; }
.launcher-envelope-next { position: absolute; z-index: 4; right: 27px; top: 74px; width: 150px; height: 250px; padding-top: 178px; border: 3px dashed rgba(91,70,114,.56); color: #5b4672; background: rgba(136,116,173,.08); font: 900 .58rem/1 monospace; text-align: center; transform: rotate(1deg); }
.launcher-envelope-cat { position: absolute; z-index: 13; left: 50%; top: 30px; width: 108px; height: 79px; border: 4px solid #4d344c; border-radius: 48% 48% 44% 44%; background: #bc7653; box-shadow: inset 0 -11px rgba(120,63,51,.13); transform: translateX(-50%); }
.launcher-envelope-cat::before,.launcher-envelope-cat::after { position: absolute; z-index: -1; top: -29px; width: 44px; height: 48px; border: 4px solid #4d344c; background: #bc7653; clip-path: polygon(0 100%,50% 0,100% 100%); content: ""; }
.launcher-envelope-cat::before { left: 2px; transform: rotate(-9deg); }
.launcher-envelope-cat::after { right: 2px; transform: rotate(9deg); }
.launcher-envelope-cat i { position: absolute; left: 24px; top: 26px; width: 10px; height: 16px; border-radius: 50%; background: #392b39; box-shadow: 49px 0 #392b39; transform: translateX(-5px); }
.launcher-envelope-cat i::after { position: absolute; left: 27px; top: 21px; width: 14px; height: 10px; background: #814552; clip-path: polygon(50% 100%,0 0,100% 0); content: ""; }
.launcher-secret-card { position: absolute; z-index: 11; left: 51px; bottom: 61px; display: grid; width: 116px; height: 71px; place-items: center; border: 3px solid #4d344c; border-radius: 7px; color: #d45356; background: #fffbed; box-shadow: 8px 9px 0 rgba(70,45,55,.18); font: 900 .72rem/1 monospace; letter-spacing: .05em; transform: rotate(-7deg); }
.launcher-secret-card::after { position: absolute; left: 17px; right: 17px; bottom: 13px; height: 2px; background: rgba(77,52,76,.3); box-shadow: 0 -11px rgba(77,52,76,.2); content: ""; }
.launcher-secret-card-alt { z-index: 10; left: auto; right: 58px; bottom: 154px; width: 103px; height: 63px; border-color: #356f62; color: #3e9272; background: #effaf2; transform: rotate(8deg); }
.launcher-hidden-envelope { position: absolute; z-index: 12; right: 47px; bottom: 51px; width: 139px; height: 94px; border: 4px solid #4f5366; border-radius: 8px; background: #8a78ae; box-shadow: 8px 9px 0 rgba(70,45,55,.18); }
.launcher-hidden-envelope::before { position: absolute; inset: 0; background: #d9cee8; clip-path: polygon(0 0,50% 61%,100% 0); content: ""; }
.launcher-hidden-envelope::after { position: absolute; inset: 0; background: #8a78ae; clip-path: polygon(0 100%,0 30%,50% 66%,100% 30%,100% 100%); content: ""; }
.launcher-hidden-envelope i { position: absolute; z-index: 3; left: 53px; top: 43px; width: 26px; height: 26px; border: 3px solid #904c5a; border-radius: 50%; background: #fff1cb; }
.launcher-hidden-envelope i::after { position: absolute; inset: 4px; display: grid; place-items: center; color: #904c5a; content: "秘"; font: 900 .63rem/1 sans-serif; }
.game-copy { padding: clamp(32px, 6vw, 76px); display: flex; flex-direction: column; justify-content: center; }
.game-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.game-meta span { padding: 6px 8px; border: 1px solid var(--line); font: 700 .57rem/1 monospace; letter-spacing: .1em; }
.game-copy h3 { margin: 28px 0 15px; font-size: clamp(2.8rem, 6vw, 5.5rem); line-height: 1; letter-spacing: -.08em; }
.game-copy p { max-width: 560px; margin: 0; color: #465d65; font-size: .95rem; line-height: 1.85; }
.play-link { margin-top: 34px; min-height: 58px; padding: 0 20px; background: var(--ink); color: white; text-decoration: none; display: flex; align-items: center; justify-content: space-between; font-weight: 800; transition: transform .16s ease, box-shadow .16s ease; }
.play-link:hover { transform: translate(-3px,-3px); box-shadow: 7px 7px 0 var(--mint); }
.next-slot { min-height: 112px; margin-top: 22px; padding: 25px 32px; border: 1px dashed rgba(12,25,34,.3); display: flex; align-items: center; gap: 30px; color: #60747b; }
.next-slot > span { font: 700 .65rem/1 monospace; }
.next-slot p { margin: 0; font: 800 .75rem/1.7 monospace; letter-spacing: .13em; }
.next-slot small { font-family: inherit; font-weight: 650; letter-spacing: .04em; }
footer { min-height: 72px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 20px; color: #60747b; font: 650 .57rem/1.5 monospace; letter-spacing: .1em; }

@media (max-width: 720px) {
  .masthead, main, footer { width: min(100% - 28px, 1240px); }
  .edition { display: none; }
  .hero { padding-top: 70px; }
  .hero h1 { font-size: clamp(3rem, 16vw, 5rem); }
  .game-card { grid-template-columns: 1fr; }
  .game-visual { min-height: 280px; }
  .game-copy { padding: 32px 24px 38px; }
  footer { padding: 20px 0; align-items: flex-start; flex-direction: column; }
}

.cotton-garden-visual { overflow: hidden; background: linear-gradient(145deg, #315641, #173d34); }
.iron-sand-visual { overflow: hidden; background: linear-gradient(145deg, #ece6d6, #ddd4b9); }
.iron-sand-visual::after { border-color: #acae8b66; }
.iron-sand-visual .visual-number { color: #566e51; }
.launcher-iron-sand { position: absolute; inset: 0; width: 100%; height: 100%; }
.slope-stop-visual { overflow: hidden; background: linear-gradient(145deg, #f4efe1, #ebe9d7); }
.bookmark-hop-visual { overflow: hidden; background: linear-gradient(150deg, #f1f0e3, #dbe7dc); }
.bookmark-hop-visual .visual-number { color: #446561; }
.launcher-bookmark-hop { position: absolute; inset: 0; width: 100%; height: 100%; }
.launcher-bookmark-caption { position: absolute; top: 24px; left: 28px; color: #617d73; font: 14px/1.5 serif; letter-spacing: .08em; }
.slope-stop-visual .visual-number { color: #56734e; }
.launcher-slope-stop { position: absolute; inset: 0; width: 100%; height: 100%; }
.launcher-slope-caption { position: absolute; top: 24px; left: 28px; color: #678060; font-family: serif; font-size: 14px; letter-spacing: .1em; }
.launcher-iron-caption { position: absolute; left: 27px; top: 27px; color: #708064; font: 500 11px/1.4 serif; letter-spacing: .1em; }
.stone-skip-visual { overflow: hidden; background: linear-gradient(150deg, #7bb5a5, #add0b8); }
.stone-skip-visual::after { border-color: #b9d4ad88; }
.stone-skip-visual .visual-number { color: #2e6051; }
.launcher-stone-river { position: absolute; inset: 0; width: 100%; height: 100%; }
.launcher-stone-caption { position: absolute; left: 25px; top: 29px; color: #365e4c; font: 600 12px/1.5 serif; letter-spacing: .12em; }
.rubber-pair-visual { overflow: hidden; background: linear-gradient(145deg, #f0f2e5, #dce8d6); }
.rubber-pair-visual::after { border-color: #9ead9066; }
.rubber-pair-visual .visual-number { color: #577351; }
.launcher-rubber-pair { position: absolute; inset: 0; width: 100%; height: 100%; }
.launcher-rubber-caption { position: absolute; left: 25px; top: 28px; color: #788a6d; font: 500 11px/1.5 serif; letter-spacing: .08em; }
.ice-curling-visual { overflow: hidden; background: linear-gradient(135deg, #f2f7f4, #c8dfe8); }
.ice-curling-visual::after { border-color: #91b1ba88; }
.ice-curling-visual .visual-number { color: #3c6373; }
.launcher-ice-rink { position: absolute; inset: 0; width: 100%; height: 100%; }
.launcher-ice-caption { position: absolute; left: 25px; top: 30px; color: #587d89; font: 500 11px/1.5 serif; letter-spacing: .1em; }
.cotton-garden-visual::after { border-color: #aec68d66; }
.cotton-garden-visual .visual-number { color: #e4e8c7; }
.launcher-cotton-field { position: absolute; inset: 0; width: 100%; height: 100%; }
.launcher-cotton-label { position: absolute; left: 26px; bottom: 25px; color: #c8d4ab; font: 500 11px/1.4 serif; letter-spacing: .12em; }
.rare-route-visual { overflow: hidden; background: #e4ead9; }
.rare-route-visual::before { position: absolute; inset: 0; content: ""; background: radial-gradient(#96aa8e66 1px,transparent 1px); background-size: 19px 19px; }
.rare-route-visual::after { border-color: #95aa87; }
.rare-route-visual .visual-number { z-index: 12; color: #244d40; }
.launcher-route-map { position: absolute; inset: 4% 8%; width: 84%; height: 92%; opacity: .85; }
.launcher-route-ticket { position: absolute; z-index: 5; left: 21%; top: 31%; width: 64%; max-width: 255px; padding: 16px 18px; border: 2px solid #a3a480; border-radius: 4px; background: #fff0c9; color: #315646; box-shadow: 7px 8px 0 #87937a44; transform: rotate(-9deg); }
.launcher-route-ticket small { display: block; padding-bottom: 7px; border-bottom: 1px solid #a6b091; font: 700 10px/1.2 sans-serif; letter-spacing: .15em; }
.launcher-route-ticket b { display: block; margin: 10px 0 9px; font: 700 20px/1.3 serif; }.launcher-route-ticket i { font: 700 12px/1.3 serif; font-style: normal; }.launcher-route-ticket em { display: block; color: #ad713b; text-align: right; font: 700 21px/1.3 serif; }

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: .01ms !important; }
}

.gear-maze-visual { overflow: hidden; background: #20383d; }
.gear-maze-visual::after { border-color: #78917c66; }
.gear-maze-visual .visual-number { color: #e4c28a; }
.launcher-gear-maze { position: absolute; inset: 0; width: 100%; height: 100%; }
.launcher-gear-caption { position: absolute; left: 26px; top: 25px; color: #cfdbbd; font: 500 12px/1.5 serif; letter-spacing: .08em; }
