:root {
  --ink:#101014; --paper:#f4f0e4; --white:#fffdf7; --gold:#f6cf26; --blue:#2144d8; --red:#e3422d;
  --line:rgba(16,16,20,.24); --display:Impact,'Arial Black','Hiragino Kaku Gothic ProN',sans-serif;
  font-family:Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; color-scheme:light;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; color:inherit; background:none; border:0; }
a,button { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
button:disabled { cursor:default; }
img { display:block; max-width:100%; height:auto; }
[hidden] { display:none!important; }
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible { outline:3px solid var(--red); outline-offset:5px; }
.wrap { width:min(1200px,calc(100% - 56px)); margin-inline:auto; }
.sr-only,.skip:not(:focus) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip:focus { position:fixed; top:8px; left:8px; z-index:120; padding:15px; background:var(--gold); }
h1,h2,h3,h4,p { margin-top:0; }
h2 { font:900 clamp(42px,6.1vw,84px)/1.02 var(--display); letter-spacing:-.025em; margin-bottom:0; }
html[lang=ja] h2 { font-size:clamp(32px,4vw,55px); line-height:1.25; }
.eyebrow { font-size:11px; font-weight:800; line-height:1.5; letter-spacing:.12em; margin:0 0 13px; text-transform:uppercase; }
.header { position:relative; background:var(--ink); color:var(--paper); border-bottom:1px solid #484745; z-index:10; }
.header-inner { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; font:34px/1 var(--display); letter-spacing:-.02em; white-space:nowrap; }
.brand img { width:26px; height:26px; filter:brightness(0) saturate(100%) invert(80%) sepia(80%) saturate(950%) hue-rotate(350deg); }
.desktop-nav { display:flex; align-items:center; gap:23px; margin-left:auto; font-size:12px; font-weight:700; }
.desktop-nav a { padding-block:16px; }
.desktop-nav a:hover { color:var(--gold); }
.header-controls { display:flex; align-items:center; gap:16px; }
.language { display:flex; padding:3px; border:1px solid #6c6a65; }
.language button { min-height:35px; padding:5px 9px; color:#d6d2c6; font-size:10px; font-weight:800; }
.language button[aria-pressed=true] { background:var(--paper); color:var(--ink); }
.header-community { display:flex; gap:8px; align-items:center; min-height:43px; padding:10px 13px; font-size:11px; font-weight:800; border:1px solid #6c6a65; }
.header-community img { width:18px; height:18px; }
.header-community:hover { border-color:var(--gold); }
.menu-toggle { display:none; min-width:42px; min-height:42px; font-size:25px; padding:0; }
.mobile-nav { display:flex; flex-wrap:wrap; padding-block:8px 20px; gap:10px 24px; font-size:13px; }
.mobile-nav a { padding:8px 0; }
.hero { padding:28px 0 26px; }
.hero-stage { border:2px solid var(--ink); background:var(--ink); }
/* The image is an ordinary, intrinsically sized block. No absolute children, transforms, aspect-ratio or min-height dependency. */
.hero-frame { overflow:hidden; }
.hero-img { display:block; position:static; width:100%; height:auto; max-width:100%; }
.contract { position:relative; background:var(--ink); color:var(--paper); padding:24px 29px 29px; border-top:3px solid var(--gold); }
.contract-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.contract h2,html[lang=ja] .contract h2 { font:48px/1 var(--display); color:var(--gold); letter-spacing:-.01em; }
.contract-top button { min-height:45px; padding:11px 20px; font-size:12px; font-weight:800; color:var(--ink); background:var(--gold); border:1px solid var(--gold); transition:background .15s; }
.contract-top button:hover,.contract-top button.is-copied { background:var(--paper); border-color:var(--paper); }
.contract code { display:block; font:700 clamp(23px,2.8vw,36px)/1.48 'SFMono-Regular',Consolas,monospace; letter-spacing:-.045em; overflow-wrap:anywhere; word-break:break-word; user-select:all; }
.hero-links { padding-top:15px; }
.platform-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.platform { display:flex; align-items:center; gap:11px; min-height:68px; padding:14px 17px; border:1px solid var(--ink); background:var(--white); transition:background .18s; }
.platform img { width:30px; height:30px; object-fit:contain; flex-shrink:0; }
.platform strong { font-size:14px; line-height:1.3; }

.platform:hover { background:var(--gold); }
.hero-social { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.hero-community,.youtube-link { display:flex; align-items:center; gap:11px; min-height:57px; padding:13px 18px; font-size:14px; font-weight:800; border:1px solid var(--ink); }
.hero-community { background:var(--gold); }
.hero-community img { width:24px; height:24px;  }
.youtube-link { background:var(--ink); color:var(--paper); }
.youtube-link img { width:26px; height:20px; }

.hero-community:hover { background:#ffe768; }
.youtube-link:hover { background:#2c2c32; }
.hero-bottom { display:flex; align-items:center; gap:23px; flex-wrap:wrap; padding-top:17px; }
.hero-play { display:flex; align-items:center; gap:8px; padding:6px 0; min-height:38px; font-size:12px; font-weight:800; }
.hero-play img { width:22px; }
.hero-bottom>a { font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:4px; padding:10px 0; }
.risk-short { margin:0 0 0 auto; font-size:10px; line-height:1.7; color:#605f5c; max-width:48ch; }
.meme-ticker { background:var(--gold); color:var(--ink); border-block:2px solid var(--ink); overflow:hidden; padding-block:16px; contain:paint; }
.ticker-track { width:max-content; display:flex; gap:40px; align-items:center; animation:ticker 30s linear infinite; }
.ticker-track span { font-size:24px; font-weight:900; white-space:nowrap; }
.ticker-track b { font-size:28px; font-weight:400; }
@keyframes ticker { to { transform:translateX(-50%); } }
.section-heading,.music-head { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:30px; }
.section-heading>a { font-size:12px; text-decoration:underline; text-underline-offset:5px; min-height:35px; display:flex; align-items:center; }
.music { padding-block:62px 66px; background:var(--ink); color:var(--paper); border-bottom:1px solid #323236; }
.music-head>div:first-child { min-width:0; }
.music .eyebrow { color:var(--gold); }
.music-about { font-size:14px; line-height:1.8; max-width:66ch; margin:22px 0 0; color:#c8c6bd; }
.music-options { display:flex; flex-direction:column; align-items:flex-end; gap:20px; flex-shrink:0; }
.music-date { font:12px monospace; color:var(--gold); }
.global-motion { min-height:42px; padding:10px 13px; border:1px solid #676767; font-size:11px; white-space:nowrap; }
.global-motion b { color:var(--gold); margin-left:8px; }
.global-motion:hover { border-color:var(--gold); }
.music-feature { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:24px; align-items:stretch; }
.mv-poster { display:block; border:1px solid #827d6d; align-self:start; overflow:hidden; }
.mv-poster>img { width:100%; height:auto; }
.mv-caption { display:flex; justify-content:space-between; align-items:center; gap:15px; min-height:56px; padding:12px 18px; font-size:14px; font-weight:800; background:var(--gold); color:var(--ink); }


.track-card { position:relative; min-width:0; padding:28px 25px; background:var(--blue); color:var(--white); border:1px solid #8c9ce9; display:flex; align-items:center; }
.track-content { width:100%; }
.track-art { position:absolute; right:22px; top:25px; width:48px; }
.track-art img { width:48px; height:48px; object-fit:cover; border:1px solid #adc0ff; }
.track-content h3 { font:clamp(32px,3.5vw,48px)/1 var(--display); margin:0; letter-spacing:-.02em; padding-right:60px; }
.track-content>.eyebrow { padding-right:55px; font-size:10px; }
.track-credit { font-size:12px; color:#d6deff; margin:12px 0 0; line-height:1.6; }
.audio-spectrum { display:flex; gap:4px; align-items:flex-end; height:70px; margin:28px 0 21px; padding-bottom:8px; border-bottom:1px solid #879be8; }
.audio-spectrum i { flex:1; min-width:0; height:100%; background:var(--gold); transform-origin:bottom; transform:scaleY(var(--level,.055)); transition:transform 60ms linear; }
.audio-spectrum i:nth-child(4n) { background:var(--paper); }
.track-controls { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.track-controls button { font-size:12px; min-height:43px; font-weight:800; padding:10px 17px; }
.track-play { background:var(--gold); color:var(--ink); border:1px solid var(--gold); min-width:89px; }
.track-stop { border:1px solid #94a9f8; }
.volume-label { display:flex; gap:9px; align-items:center; white-space:nowrap; font-size:10px; }
.volume-label input { width:83px; min-height:36px; accent-color:var(--gold); }
.track-progress { display:flex; align-items:center; gap:13px; margin:15px 0 8px; }
.track-progress input { width:100%; min-width:0; min-height:38px; accent-color:var(--gold); }
.track-time { white-space:nowrap; font:10px monospace; }
.track-bottom { display:flex; align-items:center; gap:15px; justify-content:space-between; font-size:11px; }
.loop-toggle { min-height:36px; font-size:10px; padding:5px 0 5px 8px; }
.loop-toggle b { color:var(--gold); margin-left:8px; }
.preview-info { font-size:10px; color:#d1dbff; line-height:1.8; margin:10px 0 0; }
.music-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.music-links a { display:flex; align-items:center; gap:10px; padding:11px 14px; min-height:45px; font-size:11px; font-weight:700; border:1px solid #77776b; }
.music-links a:first-child { background:var(--gold); border-color:var(--gold); color:var(--ink); }
.music-links img { width:24px; height:19px; }
.music-links b { font-size:20px; font-weight:400; }
.music-links a:hover { border-color:var(--paper); }
.story { padding-block:66px; }
.story .section-intro h2 { max-width:100%; }
.story-intro { font-size:16px; line-height:1.8; max-width:70ch; margin:23px 0 34px; }
.meme-background { display:grid; grid-template-columns:1.25fr 1fr; gap:22px; margin-bottom:40px; }
.senpai-profile,.inmu-profile { min-width:0; border:1px solid var(--ink); padding:28px; }
.senpai-profile { display:grid; grid-template-columns:95px 1fr; gap:24px; background:var(--white); }
.senpai-profile-art img { width:95px; height:95px; object-fit:cover; margin-bottom:12px; border:1px solid var(--ink); }
.senpai-profile-art span { font:11px monospace; }
.meme-background h3 { font-size:25px; line-height:1.3; letter-spacing:-.02em; margin:0 0 16px; }
.meme-background .eyebrow { font-size:10px; }
.meme-background p:not(.eyebrow) { font-size:14px; line-height:1.9; margin:0; }
.inmu-profile { background:var(--blue); color:var(--paper); border-color:var(--blue); }
.inmu-profile .eyebrow { color:var(--gold); }


.story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.story-card { position:relative; min-width:0; padding:26px 0 0; border-top:3px solid var(--ink); }
.story-index { display:block; font:43px/1 var(--display); color:var(--blue); margin-bottom:27px; }
.story-date { font:700 10px/1.6 monospace; letter-spacing:.04em; margin:0 0 14px; }
.story-card h3 { font-size:24px; line-height:1.35; margin:0 0 15px; }
.story-card>p:not(.story-date) { font-size:14px; line-height:1.9; margin-bottom:16px; }
.story-links { display:flex; gap:17px; flex-wrap:wrap; }
.story-card a { display:inline-flex; min-height:40px; align-items:center; font-size:11px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }



.memes { background:var(--gold); border-block:2px solid var(--ink); padding-block:60px; }
.memes-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:26px; }
.memes-heading h2 { font-style:normal; }
.memes-heading p:not(.eyebrow) { font-size:14px; line-height:1.6; margin:17px 0 0; }
.voice-controls { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:10px 13px; max-width:490px; }
.voice-controls button { font-size:10px; min-height:39px; padding:10px 13px; border:1px solid var(--ink); background:var(--paper); }
.voice-controls button b { color:var(--blue); margin-left:7px; }
.voice-controls .volume-label { font-size:10px; }
.voice-controls .volume-label input { accent-color:var(--blue); }
.voice-now { position:relative; display:flex; gap:13px; align-items:center; min-height:53px; padding:14px 16px; background:var(--ink); color:var(--paper); margin-bottom:20px; overflow:hidden; isolation:isolate; }
.live-badge { font:10px monospace; color:var(--gold); white-space:nowrap; }
.voice-status { font-size:11px; line-height:1.7; position:relative; z-index:2; }
.comment-stage,.comments { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.stage-quote { display:none; }
.flying-comment { position:absolute; top:10%!important; right:0; color:var(--gold); white-space:nowrap; font-size:23px; font-weight:900; animation:comment 4s linear both; }
@keyframes comment { from { transform:translateX(100%); } to { transform:translateX(-1500px); } }
.phrase-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.phrase { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; text-align:left; border:1px solid var(--ink); background:var(--white); min-height:154px; padding:22px 19px 43px; transition:background .18s,box-shadow .18s; }
.phrase:nth-child(4n+2) { background:#dde3f9; }
.phrase-jp { font-size:22px; font-weight:900; line-height:1.45; letter-spacing:-.025em; overflow-wrap:anywhere; }
.phrase-meaning { font-size:11px; line-height:1.6; }
html[lang=ja] .phrase-meaning { display:none; }
.phrase-play { position:absolute; left:19px; bottom:14px; font-size:9px; font-weight:800; letter-spacing:.05em; }
.speaker-icon { position:absolute; bottom:12px; right:16px; width:22px; height:22px; }
.phrase:hover { box-shadow:inset 0 0 0 2px var(--ink); }
.phrase.is-playing { color:var(--paper); background:var(--blue); }
.quote-pop { animation:quote-pop .4s ease-out; }
@keyframes quote-pop { 35% { scale:.97; } }
.more-quotes { display:block; min-height:46px; padding:13px 24px; margin:25px auto 0; border:1px solid var(--ink); background:var(--ink); color:var(--paper); font-size:12px; font-weight:700; }
.more-quotes:hover { background:var(--blue); }
.market { background:#18181d; color:var(--paper); padding-block:62px; }
.market .eyebrow { color:var(--gold); }
.market-shell { display:grid; grid-template-columns:minmax(0,1fr) 280px; border:1px solid #55565e; }
.chart-pane { min-width:0; }
.chart-title { display:flex; align-items:center; gap:11px; padding:17px 20px; border-bottom:1px solid #44454c; }
.chart-title img { width:32px; height:32px; object-fit:cover; }
.chart-title>b { font-size:16px; }
.market-status { margin-left:auto; max-width:50%; font-size:10px; line-height:1.7; color:#b8bccb; }
.market-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; padding:20px; }
.market-stats span { display:block; font-size:10px; color:#aeb5c7; margin-bottom:9px; }
.market-stats strong { font-size:23px; letter-spacing:-.02em; overflow-wrap:anywhere; }
.chart-embed,.chart-consent { min-height:450px; }
.chart-consent { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; text-align:center; padding:25px; }
.chart-consent img { width:48px; height:48px; }
.chart-consent strong { font-size:25px; }
.market-connect { min-height:49px; font-size:13px; font-weight:800; color:var(--ink); background:var(--gold); padding:13px 22px; }
.market-connect:disabled { opacity:.6; cursor:wait; }
.chart-consent p { font-size:11px; line-height:1.8; color:#aeb5c7; margin:0; }
.chart-embed iframe { display:block; height:450px; width:100%; border:0; color-scheme:dark; }
.chart-foot { display:flex; align-items:center; justify-content:space-between; gap:15px; flex-wrap:wrap; padding:15px 20px; border-top:1px solid #44454c; font-size:10px; color:#c2c6d1; }
.market-source { margin-left:auto; text-decoration:underline; text-underline-offset:4px; }
.market-pause { padding:7px 0; text-decoration:underline; text-underline-offset:4px; font-size:10px; min-height:33px; }
.trades-panel { border-left:1px solid #55565e; padding:22px 20px; display:flex; flex-direction:column; min-width:0; }
.trades-heading { display:flex; align-items:center; gap:12px; justify-content:space-between; }
.trades-heading h3 { font-size:16px; margin:0; }
.market-dot { width:7px; height:7px; border-radius:50%; background:#777b88; }
.is-connected .market-dot { background:var(--gold); }
.trade-list { list-style:none; padding:0; margin:17px 0 0; }
.trade-row { display:grid; grid-template-columns:36px minmax(0,1fr) 44px; gap:7px; align-items:center; border-top:1px solid #42434c; padding:14px 0; }
.trade-row b { grid-row:span 2; font:10px monospace; color:#a7beff; }
.trade-row.sell b { color:#f9b292; }
.trade-row strong { font-size:14px; }
.trade-row time { grid-column:2; font-size:9px; color:#b0b5c3; }
.trade-row a { grid-row:1/span 2; grid-column:3; min-height:36px; display:grid; place-items:center; }
.trades-empty { font-size:11px; line-height:1.9; color:#b3b7c5; margin-top:23px; }
.effect-preview { margin-top:auto; padding:11px; min-height:42px; border:1px dashed #717887; font-size:11px; color:#d8dce6; }
.data-note { font-size:11px; line-height:1.9; color:#b6b9c4; margin:18px 0 0; }






.play-section { display:grid; grid-template-columns:1fr 1.2fr; gap:45px; align-items:center; padding:10px 24px 28px; }

.play-intro>p:not(.eyebrow) { font-size:14px; line-height:1.8; max-width:36ch; }
.play-instructions { font-size:11px!important; }
.play-lines { display:flex; align-items:center; gap:25px; margin-top:20px; font-size:17px; font-weight:900; }
.play-lines b { font:34px var(--display); color:var(--blue); }
.koko-console { min-width:0; border:1px solid var(--ink); background:var(--blue); color:var(--white); }
.koko-hud { display:flex; align-items:center; gap:13px; padding:16px; font:11px monospace; }
.koko-hud b { font-size:19px; }
.koko-time { font-size:21px; margin-left:auto; font-variant-numeric:tabular-nums; }
.koko-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding:0 12px; position:relative; }
.koko-cell { position:relative; display:grid; place-items:center; min-height:88px; border:1px solid #6d88ef; background:#1834ad; }
.koko-cell small { position:absolute; top:6px; left:7px; font:9px monospace; color:#b4c4ff; }
.koko-cell b { font-size:27px; color:#91a7f5; }
.koko-cell.is-target { background:var(--gold); border-color:var(--gold); }
.koko-cell.is-target b { color:var(--ink); font-size:23px; }
.koko-footer { display:flex; align-items:center; gap:17px; justify-content:space-between; padding:15px 13px; }
.koko-status { font-size:11px; line-height:1.7; margin:0; }
.koko-start,.koko-cheer { min-height:43px; padding:11px 15px; background:var(--gold); color:var(--ink); font-size:11px; font-weight:800; white-space:nowrap; }
.koko-result { position:absolute; inset:0 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; background:var(--paper); color:var(--ink); }
.koko-result img { width:50px; height:50px; }
.koko-result strong { font-size:25px; font-weight:900; }
.buy { padding-block:15px 55px; }
.buy .section-intro>p:not(.eyebrow) { font-size:14px; line-height:1.8; margin:20px 0 0; }
.buy-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px; list-style:none; padding:0; margin:30px 0 0; }
.buy-steps li { display:flex; gap:19px; min-width:0; border-top:2px solid var(--ink); padding-top:22px; }
.step-number { font:35px var(--display); color:var(--blue); }
.buy-steps h3 { font-size:19px; line-height:1.4; margin:0 0 12px; }
.buy-steps p { font-size:13px; line-height:1.9; margin:0 0 10px; }
.buy-steps a,.text-button { display:inline-flex; align-items:center; min-height:40px; padding:7px 0; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.buy-notice { border-left:3px solid var(--blue); background:#e2e7f9; padding:15px 20px; font-size:12px; line-height:1.8; margin:25px 0 0; }
.legal { border-top:1px solid var(--line); padding-block:40px 45px; background:#e9e5d8; }
.legal-grid { display:grid; grid-template-columns:1fr 2fr; gap:60px; }
.legal h2,html[lang=ja] .legal h2 { font-family:Arial,sans-serif; font-size:30px; line-height:1.3; font-weight:800; max-width:12ch; }
.legal details { border-bottom:1px solid var(--line); }
.legal summary { padding:16px 0; font-size:13px; line-height:1.6; font-weight:700; cursor:pointer; }
.legal p { font-size:12px; line-height:1.95; margin:0 0 21px; color:#494b4b; }
.footer { display:flex; align-items:center; gap:25px; flex-wrap:wrap; padding-block:27px 100px; font-size:11px; }
.footer-brand { font:30px var(--display); margin-right:auto; }
.footer a:not(.footer-brand) { display:flex; gap:10px; align-items:center; min-height:40px; }
.footer img { width:20px; height:20px;  }
.footer small { color:#64645e; }
.music-dock { position:fixed; bottom:max(16px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:16px; padding:10px 12px 10px 18px; border:1px solid var(--paper); background:var(--ink); color:var(--paper); z-index:50; font-size:11px; max-width:calc(100% - 24px); box-shadow:0 8px 28px #0003; }
.dock-time { font:10px monospace; color:var(--gold); }
.dock-play { min-height:38px; padding:9px 15px; background:var(--gold); color:var(--ink); font-size:11px; font-weight:800; }
.dock-stop { font-size:22px; min-width:34px; min-height:38px; }
.toast { position:fixed; z-index:80; bottom:94px; left:50%; transform:translateX(-50%); background:var(--ink); color:var(--paper); border:1px solid var(--paper); padding:14px 22px; font-size:12px; line-height:1.7; width:max-content; max-width:calc(100% - 32px); text-align:center; opacity:0; pointer-events:none; transition:opacity .2s; }
.toast.visible { opacity:1; }
.clipboard-field { position:fixed; top:0; left:-9999px; }
.buy-celebration { position:fixed; bottom:98px; right:24px; z-index:60; display:flex; gap:17px; align-items:center; max-width:calc(100% - 32px); border:2px solid var(--ink); background:var(--gold); color:var(--ink); padding:19px; animation:buy-in .3s ease-out; }
.buy-celebration img { width:52px; height:52px; object-fit:cover; }
.buy-celebration>div { display:flex; flex-direction:column; gap:7px; }
.buy-celebration-label { font:700 10px monospace; }
.buy-celebration-amount { font-size:25px; font-weight:800; }
.buy-celebration-amount:empty { display:none; }
.buy-celebration b { font-size:23px; font-weight:900; }
.buy-celebration.preview { border-style:dashed; }
.buy-particles,.senpai-sparks { position:fixed; inset:0; pointer-events:none; overflow:hidden; z-index:55; }
.buy-particles img { position:absolute; top:55%; width:30px; animation:buy-crown 2s ease-out both; }
.senpai-sparks span { position:absolute; bottom:15%; left:var(--x); padding:9px 14px; color:var(--ink); background:var(--gold); border:1px solid var(--ink); font-size:23px; font-weight:900; white-space:nowrap; animation:senpai-drop 2s var(--delay) ease-out both; }
@keyframes buy-in { from { opacity:0; translate:0 20px; } }
@keyframes buy-crown { from { opacity:0; transform:translate(0,20px) rotate(-20deg); } 20% { opacity:1; } to { opacity:0; transform:translate(var(--dx),-300px) rotate(130deg); } }
@keyframes senpai-drop { from { opacity:0; transform:translate(-50%,50px); } 20%,70% { opacity:1; } to { opacity:0; transform:translate(-50%,-220px); } }
.motion-ready .motion-reveal { opacity:0; transition:opacity .65s var(--reveal-delay,0s); }
.motion-ready .motion-reveal.is-revealed { opacity:1; }
.hero-frame { animation:poster-in .8s ease-out both; }
@keyframes poster-in { from { opacity:.25; } to { opacity:1; } }
.no-motion { scroll-behavior:auto!important; }
.no-motion *, .no-motion *::before,.no-motion *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
.no-motion .motion-reveal { opacity:1!important; }
.no-motion .audio-spectrum i { transform:scaleY(.055)!important; }
@media(max-width:1050px) {
  .header-inner { gap:18px; }.brand { font-size:30px; }.desktop-nav { gap:15px; }.header-controls { gap:12px; }.header-community { padding:9px 11px; }.header-community span { display:none; }
  .track-card { padding:23px 20px; }.track-controls .volume-label { flex-basis:100%; }.track-art { width:42px; right:19px; top:23px; }.track-art img { width:42px; height:42px; }
  .meme-background { grid-template-columns:1fr 1fr; }.senpai-profile { grid-template-columns:70px 1fr; gap:18px; }.senpai-profile-art img { width:70px; height:70px; }.meme-background h3 { font-size:22px; }
  .phrase-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.market-shell { grid-template-columns:minmax(0,1fr) 240px; }.market-stats strong { font-size:20px; }
}
@media(max-width:780px) {
  .desktop-nav { display:none; }.menu-toggle { display:block; }.header-controls { margin-left:auto; }.header-inner { min-height:72px; }.music-feature { grid-template-columns:1fr; }.track-card { padding:28px; }.track-controls .volume-label { flex-basis:auto; }.track-art { right:27px; top:27px; }.audio-spectrum { height:73px; }
  .meme-background { grid-template-columns:1fr; }.story-grid { grid-template-columns:1fr; gap:26px; }.story-card { display:grid; grid-template-columns:50px minmax(0,1fr); column-gap:20px; padding-top:23px; }.story-index { grid-column:1; grid-row:1/span 4; font-size:38px; margin:0; }.story-card>*:not(.story-index) { grid-column:2; }.story-card h3 { font-size:22px; }.story-date { margin-bottom:11px; }.story-links { gap:19px; }
  .market-shell { grid-template-columns:1fr; }.trades-panel { border-left:0; border-top:1px solid #55565e; min-height:190px; }.effect-preview { margin-top:20px; align-self:flex-start; }.play-section { grid-template-columns:1fr; gap:25px; }.play-intro>p:not(.eyebrow) { max-width:none; }.buy-steps { grid-template-columns:1fr; gap:24px; }.legal-grid { grid-template-columns:1fr; gap:20px; }.legal h2,html[lang=ja] .legal h2 { max-width:none; font-size:27px; }.risk-short { flex-basis:100%; margin:0; max-width:none; }
}
@media(max-width:540px) {
  .wrap { width:calc(100% - 32px); }html { scroll-padding-top:16px; }.header-inner { min-height:67px; gap:12px; }.brand { font-size:27px; gap:7px; }.brand img { width:21px; height:21px; }.header-controls { gap:10px; }.language { padding:2px; }.language button { min-height:34px; padding:5px 6px; font-size:9px; }.header-community { display:none; }.menu-toggle { min-width:34px; min-height:40px; font-size:24px; }.mobile-nav { padding-bottom:17px; gap:5px 23px; font-size:12px; }
  .hero { padding-top:16px; padding-bottom:20px; }.hero-stage { border-width:1px; }.contract { padding:18px 18px 22px; border-top-width:3px; }.contract-top { margin-bottom:15px; }.contract h2,html[lang=ja] .contract h2 { font-size:37px; }.contract-top button { min-height:43px; padding:10px 15px; font-size:11px; }.contract code { font-size:26px; line-height:1.5; letter-spacing:-.045em; }
  .hero-links { padding-top:11px; }.platform-grid { grid-template-columns:1fr 1fr; gap:8px; }.platform { gap:9px; min-height:58px; padding:11px 12px; }.platform img { width:27px; height:27px; }.platform strong { font-size:12px; }.hero-social { grid-template-columns:1fr; gap:8px; margin-top:8px; }.hero-community,.youtube-link { min-height:51px; padding:11px 14px; font-size:13px; }.hero-social img { width:22px; }.hero-bottom { gap:8px 22px; padding-top:10px; }.hero-play { font-size:11px; min-height:37px; }.hero-bottom>a { font-size:11px; }.risk-short { font-size:10px; line-height:1.8; }
  .meme-ticker { padding-block:12px; }.ticker-track { gap:27px; }.ticker-track span { font-size:19px; }.ticker-track b { font-size:22px; }
  h2 { font-size:52px; }html[lang=ja] h2 { font-size:34px; line-height:1.25; }.eyebrow { font-size:10px; margin-bottom:10px; }.music,.story,.memes,.market { padding-block:38px 42px; }.music-head { display:block; margin-bottom:24px; }.music-about { font-size:13px; margin-top:18px; line-height:1.85; }.music-options { flex-direction:row; justify-content:space-between; align-items:center; margin-top:22px; }.music-date { font-size:10px; }.global-motion { min-height:37px; font-size:10px; padding:8px 11px; }.music-feature { gap:20px; }.mv-caption { padding:10px 14px; min-height:49px; font-size:13px; }.track-card { padding:24px 21px; }.track-art { right:20px; top:23px; width:43px; }.track-art img { width:43px; height:43px; }.track-content h3 { font-size:37px; }.track-credit { font-size:11px; }.track-content>.eyebrow { font-size:9px; }.audio-spectrum { height:64px; margin:23px 0 19px; gap:3px; }.track-controls { gap:10px; }.track-controls button { min-height:43px; font-size:11px; padding:10px 16px; }.track-controls .volume-label { flex-basis:100%; font-size:10px; }.track-controls .volume-label input { width:100px; }.track-progress { margin-top:11px; }.track-time { font-size:9px; }.track-bottom { font-size:10px; }.preview-info { font-size:10px; }.music-links { gap:8px; margin-top:18px; }.music-links a { flex:1; justify-content:space-between; font-size:10px; min-height:43px; padding:10px 12px; gap:8px; }.music-links a:first-child { flex-basis:100%; font-size:12px; }.music-links a:first-child b { margin-left:auto; }
  .story-intro { font-size:14px; line-height:1.9; margin:20px 0 26px; }.meme-background { gap:16px; margin-bottom:27px; }.senpai-profile,.inmu-profile { padding:23px 20px; }.senpai-profile { grid-template-columns:58px minmax(0,1fr); gap:17px; }.senpai-profile-art img { width:58px; height:58px; }.senpai-profile-art span { font-size:9px; }.meme-background .eyebrow { font-size:9px; }.meme-background h3 { font-size:22px; margin-bottom:13px; }.meme-background p:not(.eyebrow) { font-size:13px; line-height:1.9; }.story-card { grid-template-columns:35px minmax(0,1fr); column-gap:15px; }.story-index { font-size:33px; }.story-date { font-size:10px; }.story-card h3 { font-size:22px; }.story-card>p:not(.story-date) { font-size:13px; line-height:1.9; margin-bottom:12px; }.story-card a { font-size:11px; min-height:39px; }
  .memes-heading { display:block; margin-bottom:20px; }.memes-heading p:not(.eyebrow) { font-size:13px; margin-top:14px; }.voice-controls { margin-top:21px; justify-content:flex-start; gap:9px 12px; }.voice-controls button { min-height:37px; font-size:10px; padding:9px 11px; }.voice-controls .volume-label { font-size:9px; }.voice-controls .volume-label input { width:68px; }.voice-now { padding:12px; gap:10px; min-height:51px; margin-bottom:15px; }.live-badge { font-size:9px; }.voice-status { font-size:10px; }.phrase-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.phrase { padding:19px 13px 38px; min-height:137px; gap:10px; }.phrase-jp { font-size:18px; line-height:1.5; }.phrase-meaning { font-size:10px; }.phrase-play { font-size:8px; left:13px; bottom:13px; }.speaker-icon { width:20px; height:20px; right:12px; bottom:11px; }.more-quotes { min-height:45px; margin-top:23px; padding:12px 21px; font-size:11px; }
  .section-heading { display:block; margin-bottom:23px; }.section-heading>a { margin-top:14px; font-size:11px; }.chart-title { flex-wrap:wrap; padding:15px 14px; gap:10px; }.chart-title>b { font-size:15px; }.market-status { flex-basis:100%; max-width:none; margin-left:42px; margin-top:-3px; font-size:9px; }.market-stats { grid-template-columns:1fr 1fr; padding:18px 14px; gap:20px 14px; }.market-stats>div:first-child { grid-column:1/-1; }.market-stats strong { font-size:20px; }.market-stats>div:first-child strong { font-size:29px; }.market-stats span { font-size:9px; margin-bottom:6px; }.chart-embed,.chart-consent { min-height:420px; }.chart-embed iframe { height:420px; }.chart-consent { padding:22px; gap:21px; }.chart-consent strong { font-size:22px; }.market-connect { font-size:12px; min-height:47px; padding:13px 18px; }.chart-consent p { font-size:10px; }.chart-foot { padding:13px 14px; font-size:9px; gap:10px; }.trades-panel { padding:20px 16px; min-height:181px; }.trades-heading h3 { font-size:15px; }.trades-empty { margin-top:19px; font-size:11px; }.effect-preview { min-height:41px; font-size:10px; padding:10px 14px; }.data-note { font-size:10px; line-height:1.85; }
  .play-section { padding:5px 13px 19px; gap:17px; }.play-intro .eyebrow { display:none; }.play-intro>p:not(.eyebrow) { font-size:12px; margin:0 0 8px; }.play-instructions { font-size:10px!important; }.koko-hud { font-size:10px; padding:13px; gap:10px; }.koko-hud b { font-size:17px; }.koko-time { font-size:18px; }.koko-board { padding-inline:8px; gap:5px; }.koko-cell { min-height:80px; }.koko-cell.is-target b { font-size:19px; }.koko-footer { gap:10px; padding:13px 10px; }.koko-start { font-size:10px; min-height:40px; padding:10px 13px; }.koko-status { font-size:10px; }.koko-result { inset-inline:8px; }.koko-result img { width:42px; height:42px; }.koko-result strong { font-size:21px; }.koko-cheer { font-size:10px; min-height:38px; padding:9px 12px; }
  .buy { padding-block:15px 36px; }.buy .section-intro>p:not(.eyebrow) { font-size:13px; margin-top:18px; }.buy-steps { gap:23px; margin-top:26px; }.buy-steps li { gap:20px; padding-top:20px; }.step-number { font-size:31px; }.buy-steps h3 { font-size:18px; }.buy-steps p { font-size:13px; }.buy-notice { font-size:11px; padding:14px 16px; line-height:1.9; }.legal { padding-block:31px 36px; }.legal-grid { gap:20px; }.legal h2,html[lang=ja] .legal h2 { font-size:26px; }.legal summary { font-size:12px; padding-block:16px; }.legal p { font-size:11px; }.footer { padding-block:22px 99px; gap:10px 22px; font-size:10px; }.footer-brand { font-size:26px; flex-basis:100%; }.footer a:not(.footer-brand) { min-height:36px; }.music-dock { gap:12px; font-size:10px; padding:7px 9px 7px 13px; }.dock-play { min-height:38px; padding:9px 13px; font-size:10px; }.dock-stop { min-width:29px; }.dock-time { font-size:9px; }.toast { font-size:11px; padding:12px 17px; bottom:88px; }.buy-celebration { bottom:93px; right:16px; padding:15px; gap:13px; }.buy-celebration img { width:45px; height:45px; }.buy-celebration b { font-size:20px; }.buy-celebration-label { font-size:9px; }.senpai-sparks span { font-size:17px; padding:8px 10px; }
}
@media(max-width:360px) {
  .wrap { width:calc(100% - 24px); }.brand { font-size:25px; gap:6px; }.brand img { width:18px; height:18px; }.header-inner { gap:9px; }.header-controls { gap:8px; }.language button { font-size:8px; padding-inline:5px; }.menu-toggle { min-width:28px; font-size:23px; }.contract { padding:17px 16px 21px; }.contract code { font-size:24px; }.contract h2,html[lang=ja] .contract h2 { font-size:34px; }.platform { gap:8px; padding:10px 11px; min-height:57px; }.platform img { width:25px; height:25px; }.platform strong { font-size:11px; }.track-card { padding:22px 17px; }.track-art { right:17px; }.track-content h3 { font-size:33px; }.senpai-profile { grid-template-columns:1fr; }.senpai-profile-art { display:flex; align-items:center; gap:15px; }.senpai-profile-art img { margin:0; width:48px; height:48px; }.phrase-jp { font-size:16px; }.phrase { padding-inline:11px; }.phrase-play { left:11px; }.speaker-icon { right:10px; }.voice-controls { gap:8px; }.voice-controls .volume-label input { width:60px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }*,*::before,*::after { animation:none!important; transition:none!important; }.motion-ready .motion-reveal { opacity:1!important; }.audio-spectrum i { transform:scaleY(.055)!important; }
}
/* A reliable direct chart route stays visible; the optional third-party frame is contained. */
.chart-embed { min-height:0; }.chart-consent { min-height:260px; gap:17px; padding:28px; }.chart-consent img { width:40px; height:40px; }.chart-consent strong { font-size:22px; }.chart-direct { display:flex; align-items:center; justify-content:center; min-height:48px; padding:13px 21px; background:var(--gold); color:var(--ink); font-size:13px; font-weight:800; }.chart-consent .market-connect { background:transparent; color:var(--paper); border:1px solid #707682; min-height:42px; font-size:11px; padding:10px 15px; }.chart-consent p { font-size:10px; }.chart-inline { border-top:1px solid #44454c; }.chart-inline>summary { padding:17px 20px; font-size:12px; cursor:pointer; }.chart-inline-note { font-size:11px; line-height:1.8; padding:0 20px; margin:0 0 14px; color:#b6bdce; }.chart-frame:empty { min-height:0; }.chart-frame iframe { display:block; width:100%; height:450px; border:0; }@media(max-width:540px){.chart-consent{min-height:280px;padding:23px 17px;gap:17px}.chart-direct{min-height:47px;padding:12px 15px;font-size:12px}.chart-inline>summary{padding:16px 14px;font-size:11px}.chart-inline-note{font-size:10px;padding-inline:14px}.chart-frame iframe{height:420px}}
/* INMU whack: photographic face stays inside each hole. */

.game-source { grid-column:1/-1; margin:0; font:10px/1.6 monospace; opacity:.65; }
.game-source a { text-underline-offset:3px; }
.koko-cell { min-height:126px; overflow:hidden; touch-action:manipulation; }
.whack-hole { display:block; position:relative; width:min(84%,112px); aspect-ratio:1; border-radius:50%; background:#0a164f; overflow:hidden; box-shadow:inset 0 7px 0 #080e2d; }
.whack-face { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:translateY(105%); transition:transform .12s ease-out; border:3px solid var(--gold); border-radius:50%; }
.is-target .whack-face { opacity:1; transform:translateY(0); }
.koko-cell.is-target { background:#1834ad; border-color:var(--gold); }
.koko-cell .whack-impact { display:none; position:absolute; inset:0; place-items:center; font:900 37px var(--display); color:var(--gold); background:#102065; }
.koko-cell.is-hit .whack-impact { display:grid; }
.koko-cell.is-hit { border-color:var(--gold); }
.no-motion .whack-face { transition:none; transform:none; }
@media(prefers-reduced-motion:reduce) { .whack-face { transition:none; transform:none; } }
@media(max-width:600px) { .koko-cell { min-height:100px; }.whack-hole { width:78px; max-width:90%; }.game-source { font-size:9px; } }
.game-audio-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 13px 14px; font-size:10px; }
.game-sound { min-height:36px; padding:8px 12px; border:1px solid #91a7f5; color:var(--white); background:transparent; }
.game-sound b { margin-left:5px; color:var(--gold); }
.game-audio-controls label { display:flex; align-items:center; gap:8px; }
.game-volume { width:80px; accent-color:var(--gold); }
@media(max-width:360px) { .game-audio-controls { gap:8px; }.game-volume { width:64px; } }
/* A visible game section with instructions and a single, prominent start button. */
.hero-game { font-weight:800; border-bottom:2px solid var(--gold); padding-block:8px; }
.arcade { margin-block:44px; border:2px solid var(--ink); background:var(--white); scroll-margin-top:20px; }
.arcade-heading { padding:28px 30px 23px; background:var(--gold); border-bottom:2px solid var(--ink); }
.arcade-heading .eyebrow { margin:0 0 10px; }
.arcade-heading h2 { margin:0; font:clamp(35px,4.8vw,62px)/1.1 var(--display); }
.arcade-heading>p:last-child { margin:12px 0 0; font-size:15px; font-weight:700; }
.arcade .play-section { padding:28px 30px; gap:36px; }
.game-example { position:relative; width:170px; margin-bottom:24px; }
.game-example img { width:145px; height:145px; object-fit:cover; border-radius:50%; border:5px solid var(--blue); }
.game-example>b { position:absolute; right:0; top:0; background:var(--gold); border:2px solid var(--ink); padding:4px 10px; font:32px var(--display); transform:rotate(8deg); }
.game-example>span { display:block; font-size:12px; font-weight:800; margin-top:10px; }
.game-steps { display:grid; gap:13px; padding:0; margin:0; list-style:none; }
.game-steps li { display:flex; align-items:center; gap:12px; font-size:14px; line-height:1.5; font-weight:700; }
.game-steps li>b { display:grid; place-items:center; flex:0 0 26px; width:26px; height:26px; border-radius:50%; background:var(--ink); color:var(--white); font:17px var(--display); }
.play-intro .play-instructions { margin:20px 0 0!important; color:#626260; line-height:1.7; }
.game-start-row { padding:0 13px 14px; }
.game-start-row .koko-start { width:100%; min-height:52px; font-size:17px; letter-spacing:.03em; border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink); }
.game-start-row .koko-start:hover { background:var(--white); }
.koko-footer { justify-content:center; min-height:49px; text-align:center; }
@media(max-width:800px) { .game-example { display:none; }.game-steps { grid-template-columns:1fr; gap:10px; }.arcade .play-section { gap:22px; } }
@media(max-width:540px) { .arcade { margin-block:28px; }.arcade-heading { padding:22px 18px; }.arcade-heading .eyebrow { font-size:10px; }.arcade-heading h2 { font-size:35px; }.arcade-heading>p:last-child { font-size:13px; margin-top:10px; }.arcade .play-section { padding:20px 13px; gap:20px; }.game-steps li { font-size:12px; gap:10px; }.game-steps li>b { width:23px; height:23px; flex-basis:23px; font-size:15px; }.play-intro .play-instructions { font-size:10px!important; margin-top:13px!important; }.game-start-row .koko-start { min-height:49px; font-size:16px; }.game-source { line-height:1.8; }.hero-bottom { gap:9px 19px; }.hero-game { font-size:11px; } }

.buy-apps { margin-top:18px; }
.buy-steps .buy-apps-title { margin-bottom:10px; font-weight:800; font-size:12px; }
.buy-app-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.buy-steps a.buy-app { position:relative; display:flex; flex-direction:column; justify-content:center; gap:7px; min-height:90px; padding:12px 3px; border:1px solid var(--ink); background:var(--white); text-decoration:none; font-size:11px; }
.buy-app img { width:32px; height:32px; }

.buy-steps a.buy-app:hover { background:var(--gold); transform:translateY(-2px); }
.buy-steps a.buy-app:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }

.trade-row a { font-size:11px; text-decoration:underline; text-underline-offset:3px; }
html[lang=zh-Hans] { font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif; }
html[lang=zh-Hans] h2 { font-size:clamp(32px,4vw,55px); line-height:1.25; }
html[lang=zh-Hans] .contract h2 { font:48px/1 var(--display); }
html[lang=zh-Hans] .legal h2 { font:800 30px/1.3 Arial,'PingFang SC',sans-serif; }
@media(max-width:540px) { html[lang=zh-Hans] .contract h2 { font-size:37px; } html[lang=zh-Hans] h2 { font-size:34px; } }
@media(max-width:380px) { .header-inner { flex-wrap:wrap; padding-block:12px; gap:12px; } .header-controls { margin-left:auto; gap:8px; } .language button { min-width:29px; } }

.trade-pool { margin:0; padding:0 20px 13px; color:#c9cfdd; font:11px/1.6 monospace; }
.music-dock { width:max-content; animation:music-dock-in .35s ease-out; }
.dock-label { min-width:0; flex:1; }
.dock-play,.dock-stop,.dock-time { flex-shrink:0; }
.music-dock.needs-audio { border:2px solid var(--gold); box-shadow:0 8px 28px #0006; }
.needs-audio .dock-label { line-height:1.5; max-width:145px; }
.needs-audio .dock-play { min-height:44px; white-space:nowrap; font-size:12px; }
@keyframes music-dock-in { from { opacity:0; transform:translate(-50%,16px); } to { opacity:1; transform:translate(-50%,0); } }
.music-playing .brand img { animation:crown-beat 3.5s ease-in-out infinite; }
@keyframes crown-beat { 50% { transform:translateY(-3px) rotate(-5deg); } }
.platform img,.hero-community img { transition:transform .2s ease; }
.platform:hover img,.hero-community:hover img { transform:translateY(-3px); }
.no-motion .brand img,.no-motion .music-dock { animation:none; }
@media(prefers-reduced-motion:reduce) { .brand img,.music-dock { animation:none!important; } .platform img,.hero-community img { transition:none; } }

/* Music controls share a recognizable speaker icon in every language. */
.audio-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.audio-icon { flex:none; width:24px; height:24px; }
.audio-pause { display:none; }
.audio-button[data-playing="true"] .audio-speaker { display:none; }
.audio-button[data-playing="true"] .audio-pause { display:initial; }
.hero-play.audio-button { min-height:46px; padding:10px 15px; border:1px solid var(--ink); border-radius:25px; background:var(--gold); color:var(--ink); }
.dock-play.audio-button { min-height:46px; padding:10px 14px; border-radius:24px; }
.audio-button-label { white-space:nowrap; }
.music-dock { gap:10px; }
.music-dock.needs-audio .dock-label { max-width:132px; }
@media(max-width:380px) { .music-dock { padding:8px; gap:8px; }.music-dock.needs-audio .dock-label { font-size:10px; line-height:1.5; }.dock-play.audio-button { padding:9px 12px; gap:7px; } }

.meme-primer { padding:32px; margin-bottom:40px; border:1px solid var(--ink); border-top:5px solid var(--gold); background:var(--white); }
.primer-heading { display:flex; align-items:center; gap:24px; margin-bottom:24px; }
.primer-heading img { width:88px; height:88px; flex:none; border:1px solid var(--ink); object-fit:cover; }
.primer-heading .eyebrow { margin:0 0 10px; font-size:10px; }
.primer-heading h3 { font-size:30px; line-height:1.35; margin:0; letter-spacing:-.02em; }
.primer-copy { max-width:82ch; }
.primer-copy p { font-size:15px; line-height:1.95; margin:0; }
.primer-copy p+p { margin-top:16px; }
@media(max-width:540px) { .meme-primer { padding:23px 20px; margin-bottom:27px; }.primer-heading { gap:16px; margin-bottom:21px; }.primer-heading img { width:60px; height:60px; }.primer-heading .eyebrow { font-size:9px; margin-bottom:7px; }.primer-heading h3 { font-size:22px; }.primer-copy p { font-size:13px; line-height:1.9; }.primer-copy p+p { margin-top:15px; } }
@media(max-width:360px) { .primer-heading { align-items:flex-start; gap:12px; }.primer-heading img { width:48px; height:48px; }.primer-heading h3 { font-size:20px; } }
