
:root{--b:#0877ee;--d:#09275a;--l:#eef7ff;--bd:#d7e9fb;--mut:#667d98;--shadow:0 22px 70px rgba(8,72,150,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--d);background:linear-gradient(#fff,#f5faff 44%,#fff)}button,a{font:inherit}.play-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,72px);position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid #e8f1fb}.play-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--d);font-size:22px}.play-brand span{font-size:28px}.play-brand em{color:#ff9e00;font-style:normal}.play-header nav{display:flex;gap:26px}.play-header nav a{text-decoration:none;color:#45617f;font-weight:800;font-size:14px}.play-hero{min-height:520px;padding:70px clamp(20px,7vw,110px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;background:radial-gradient(circle at 77% 48%,#d7efff 0,#eef8ff 27%,rgba(255,255,255,.96) 62%),linear-gradient(135deg,#fff,#f3f9ff)}.play-hero small,.section-head small,.back-to-goal small,.ad-ready small{font-weight:950;letter-spacing:.14em;color:var(--b)}.play-hero h1{font-size:clamp(44px,6vw,82px);line-height:.98;letter-spacing:-.055em;margin:14px 0 20px}.play-hero h1 span{color:var(--b)}.play-hero p{font-size:18px;line-height:1.75;color:var(--mut);max-width:680px}.play-hero-actions{display:flex;gap:12px;margin-top:28px}.play-hero-actions a,.back-to-goal a{padding:14px 22px;border-radius:14px;text-decoration:none;background:var(--b);color:white;font-weight:900;box-shadow:0 12px 28px rgba(8,119,238,.2)}.play-hero-actions a.ghost{background:white;color:var(--b);border:1px solid var(--bd);box-shadow:none}.play-orb{width:min(420px,80vw);aspect-ratio:1;justify-self:center;border-radius:50%;display:grid;grid-template-columns:1fr auto 1fr;place-items:center;background:radial-gradient(circle,#fff 0,#e6f4ff 48%,#b8dcff 70%,#eef8ff 71%);border:1px solid #cfe6fb;box-shadow:0 38px 100px rgba(8,85,170,.18),inset 0 0 80px white;font-size:70px}.play-orb b{font-size:20px;color:var(--d)}.play-orb i{font-style:normal;color:var(--b);font-size:30px}.play-note{max-width:1180px;margin:-28px auto 30px;padding:14px 18px;border:1px solid var(--bd);background:rgba(255,255,255,.94);border-radius:16px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:center}.play-note b{white-space:nowrap}.play-note span{color:var(--mut);font-size:13px}.play-section{max-width:1180px;margin:0 auto;padding:68px 20px}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:26px}.section-head h2{font-size:38px;margin:8px 0 6px;letter-spacing:-.04em}.section-head p{color:var(--mut);margin:0}.section-head button,.retention-strip button{border:1px solid var(--bd);background:#fff;color:var(--b);font-weight:900;padding:12px 17px;border-radius:13px;cursor:pointer}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.game-card{padding:22px;border:1px solid var(--bd);background:linear-gradient(145deg,#fff,#f7fbff);border-radius:24px;box-shadow:0 14px 38px rgba(8,72,150,.08);transition:.2s}.game-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(8,72,150,.14)}.game-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#eaf5ff;font-size:30px}.game-card h3{font-size:21px;margin:16px 0 8px}.game-card p{min-height:48px;color:var(--mut);line-height:1.55}.game-card button,.drama-card button{width:100%;border:0;border-radius:13px;padding:12px;background:#eaf5ff;color:var(--b);font-weight:900;cursor:pointer}.retention-strip{max-width:1140px;margin:0 auto;padding:18px 20px;border:1px solid var(--bd);border-radius:20px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px}.retention-strip span{display:block;color:var(--mut);font-size:13px;margin-top:3px}.watch-section{padding-top:90px}.drama-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.drama-card{display:grid;grid-template-columns:220px 1fr;overflow:hidden;border:1px solid var(--bd);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.drama-poster{min-height:280px;padding:24px;color:white;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.drama-poster:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 40% 30%,rgba(255,255,255,.6),transparent 34%);transform:rotate(20deg)}.drama-poster.tokyo{background:linear-gradient(155deg,#66c9ff,#126ae0 58%,#083985)}.drama-poster.startup{background:linear-gradient(155deg,#6fe6ff,#175ed8 48%,#12275d)}.drama-poster span,.drama-poster b,.drama-poster small{position:relative}.drama-poster b{font-size:30px;line-height:1;margin:8px 0}.drama-body{padding:28px;display:flex;flex-direction:column;justify-content:center}.drama-body p{color:var(--mut);line-height:1.7}.ad-ready{max-width:1140px;margin:10px auto 70px;padding:24px;text-align:center;border:1px dashed #a9cdeb;border-radius:20px;background:#f8fcff}.ad-ready b{display:block;margin:7px}.ad-ready p{margin:0;color:var(--mut);font-size:13px}.back-to-goal{max-width:1180px;margin:0 auto 80px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-radius:26px;background:linear-gradient(120deg,#0a66da,#0a89f0);color:#fff}.back-to-goal small{color:#bce2ff}.back-to-goal h2{font-size:34px;margin:8px 0}.back-to-goal p{margin:0;color:#d9ecff}.back-to-goal a{background:white;color:var(--b);white-space:nowrap}.game-modal,.story-modal{position:fixed;inset:0;z-index:1000;background:rgba(7,31,65,.42);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:.18s}.game-modal.open,.story-modal.open{opacity:1;pointer-events:auto}.game-panel,.story-panel{width:min(620px,96vw);max-height:90vh;overflow:auto;position:relative;background:white;border-radius:26px;border:1px solid var(--bd);box-shadow:0 30px 100px rgba(0,35,80,.28);padding:28px}.modal-close,.story-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:12px;background:#eef6ff;color:#31587d;font-size:22px;cursor:pointer}.mini-game h2,.story-ui h2{margin-top:0}.game-stage{min-height:250px;border:1px solid var(--bd);background:#f6fbff;border-radius:20px;display:grid;place-items:center;padding:22px;text-align:center;margin-top:20px}.game-stage button,.story-choice{border:0;border-radius:14px;padding:14px 18px;background:var(--b);color:#fff;font-weight:900;cursor:pointer}.score{font-size:42px;font-weight:950;color:var(--b)}.memory-grid{display:grid;grid-template-columns:repeat(4,64px);gap:8px}.memory-grid button{height:64px;font-size:26px;background:#eaf5ff;color:var(--d)}.choice-list{display:grid;gap:10px;margin-top:22px}.story-choice{text-align:left}.story-meta{font-size:12px;color:var(--b);font-weight:900;letter-spacing:.1em}.story-ui p{line-height:1.75;color:var(--mut)}
@media(max-width:820px){.play-header nav{display:none}.play-hero{grid-template-columns:1fr;padding:44px 18px 56px;text-align:center}.play-hero h1{font-size:46px}.play-hero p{font-size:15px}.play-hero-actions{justify-content:center}.play-orb{width:240px;font-size:42px}.play-note{margin:-16px 14px 10px;align-items:flex-start;flex-direction:column}.game-grid{grid-template-columns:repeat(2,1fr)}.drama-grid{grid-template-columns:1fr}.drama-card{grid-template-columns:150px 1fr}.drama-poster{min-height:230px;padding:18px}.drama-poster b{font-size:23px}.section-head{align-items:flex-start;flex-direction:column}.retention-strip,.back-to-goal{margin-left:14px;margin-right:14px}.back-to-goal{align-items:flex-start;flex-direction:column}.memory-grid{grid-template-columns:repeat(4,56px)}}
@media(max-width:480px){.play-header{height:62px;padding:0 14px}.play-brand{font-size:18px}.play-hero h1{font-size:38px}.game-grid{grid-template-columns:1fr}.play-section{padding:50px 14px}.drama-card{grid-template-columns:1fr}.drama-poster{min-height:200px}.section-head h2{font-size:30px}.game-panel,.story-panel{padding:24px 16px}.memory-grid{grid-template-columns:repeat(4,52px)}}

/* 15.7 · Game Friends entry keeps Play & Watch visual hierarchy intact */
.gf-entry{max-width:1180px;margin:30px auto 0;padding:28px 34px;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:25px;border-radius:26px;border:1px solid #cce2f9;background:linear-gradient(125deg,#fff,#e6f4ff);box-shadow:0 20px 60px rgba(18,95,172,.09)}
.gf-entry small{font-weight:900;letter-spacing:.15em;color:#0a70dd}.gf-entry h2{font-size:clamp(27px,3vw,39px);letter-spacing:-.04em;margin:11px 0}.gf-entry p{color:#667d98;line-height:1.7;font-size:14px;max-width:660px}.gf-entry a{display:inline-block;margin-top:12px;padding:12px 20px;background:#0877ee;border-radius:12px;color:white;font-weight:900}.gf-entry-cards{display:flex;justify-content:flex-end;gap:10px}.gf-entry-cards span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:34px;width:95px;height:112px;border:1px solid #b7d7f7;border-radius:18px;background:white;box-shadow:0 12px 35px rgba(18,95,172,.12);transform:rotate(-7deg)}.gf-entry-cards span:nth-child(2){transform:translateY(-14px) rotate(5deg)}.gf-entry-cards span:nth-child(3){transform:rotate(-5deg)}.gf-entry-cards b{font-size:12px;color:#16538d}
@media(max-width:820px){.gf-entry{margin:20px 14px;grid-template-columns:1fr;text-align:center}.gf-entry-cards{justify-content:center}}
@media(max-width:480px){.gf-entry{padding:23px 14px}.gf-entry-cards span{width:79px;height:95px;font-size:29px}.play-hero-actions{flex-wrap:wrap}}

/* 15.9 white-blue NO1 mark, matches Game Friends */
.play-thumb-mark{width:31px;height:31px;display:inline-flex!important;align-items:center;justify-content:center}.play-thumb-mark svg{display:block;width:31px;height:31px}
