/* 流行語2026×英語 — スラング辞典（/slang/）のネオポップを軸に、授賞式の金色をプラス。スマホ優先 */
:root{
  --bg:#fff6e9; --dot:#1111110f; --card:#fff; --ink:#141414; --sub:#5a5a63; --faint:#8d8d96; --soft:#f6efe3;
  --line:#141414; --sh:4px 4px 0 var(--line); --sh-s:3px 3px 0 var(--line); --sh-l:6px 6px 0 var(--line);
  --y:#ffe14d; --pink:#ff4f9a; --blue:#3d63ff; --purple:#8b5cff; --lime:#b6f23a; --orange:#ff8a3d; --red:#ff3b3b; --mint:#3fe0b5;
  --gold:#f5b700; --gold2:#ffd84d; --gold-bg:#fff3c4;
  --nominee:#f5b700; --nominee-bg:#fff3c4; --jp:#ff4f9a; --jp-bg:#ffe3ef; --en:#3d63ff; --en-bg:#e3e9ff;
  --r:18px; --r-s:12px;
  --disp:"Dela Gothic One",system-ui,sans-serif;
  --jpf:system-ui,-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Meiryo",sans-serif;
  --enf:ui-rounded,"SF Pro Rounded",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#13131a; --dot:#ffffff0d; --card:#1e1e28; --ink:#f4f4f7; --sub:#b4b4c0; --faint:#83838f; --soft:#262633;
  --line:#000; --sh:4px 4px 0 #000; --sh-s:3px 3px 0 #000; --sh-l:6px 6px 0 #000;
  --gold-bg:#3a3214; --nominee-bg:#3a3214; --jp-bg:#3a2130; --en-bg:#23284a; color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    --bg:#13131a; --dot:#ffffff0d; --card:#1e1e28; --ink:#f4f4f7; --sub:#b4b4c0; --faint:#83838f; --soft:#262633;
    --line:#000; --sh:4px 4px 0 #000; --sh-s:3px 3px 0 #000; --sh-l:6px 6px 0 #000;
    --gold-bg:#3a3214; --nominee-bg:#3a3214; --jp-bg:#3a2130; --en-bg:#23284a; color-scheme:dark;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg) radial-gradient(var(--dot) 1.2px,transparent 1.3px) 0 0/18px 18px;color:var(--ink);font:16px/1.8 var(--jpf);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
p{margin:0 0 .6em}
h1,h2,h3{margin:0;line-height:1.3}
img{max-width:100%}
[hidden]{display:none!important}
[lang=en]{font-family:var(--enf)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
main{max-width:1120px;margin:0 auto;padding:12px 16px 48px}
.center{text-align:center;margin:20px 0}
.fine{font-size:12.5px;color:var(--sub)}
.empty{padding:28px;text-align:center;color:var(--sub);background:var(--card);border:2.5px dashed var(--line);border-radius:var(--r)}
.ic{display:inline-block;width:1.3em;height:1.3em;vertical-align:-.3em;object-fit:contain;flex:none;margin-right:.25em}

/* ---------- ボタン ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:46px;padding:0 20px;border:2.5px solid var(--line);border-radius:999px;background:var(--y);color:#141414;font-weight:800;box-shadow:var(--sh-s);transition:transform .08s,box-shadow .08s;line-height:1.35;text-decoration:none;max-width:100%;text-align:center}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--line)}
.btn:active{transform:translate(3px,3px);box-shadow:none}
.btn-big{min-height:58px;font-size:17px;padding:0 24px}
.btn-s{min-height:38px;padding:0 14px;font-size:14px}
.btn-p{background:var(--pink);color:#fff}
.btn-b{background:var(--blue);color:#fff}
.btn-w{background:var(--card);color:var(--ink)}
.badge{display:inline-block;padding:1px 10px;border:2px solid var(--line);border-radius:999px;font-size:12px;font-weight:800;line-height:1.6;background:var(--card);white-space:nowrap}
.b-nominee{background:var(--gold2);color:#141414}
.b-jp{background:var(--pink);color:#fff}
.b-en{background:var(--blue);color:#fff}
.heat{font-size:12px;letter-spacing:-2px}

/* ---------- ヘッダー ---------- */
.hd{position:sticky;top:0;z-index:50;background:var(--y);border-bottom:3px solid var(--line)}
:root[data-theme=dark] .hd{background:#2a2410}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hd{background:#2a2410}}
.hd-in{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:8px 16px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex:none}
.logo img{width:40px;height:40px}
.logo span{display:flex;flex-direction:column;line-height:1.1}
.logo small{font-size:10.5px;font-weight:700}
.logo b{font-family:var(--disp);font-weight:400;font-size:18px;letter-spacing:.5px}
.logo i{font-style:normal;color:var(--pink)}
.hd-search{flex:1;min-width:0}
.hd-search input{width:100%;height:40px;border:2.5px solid var(--line);border-radius:999px;padding:0 16px;background:var(--card);box-shadow:var(--sh-s)}
.hd-btn{flex:none;width:40px;height:40px;border:2.5px solid var(--line);border-radius:50%;background:var(--card);box-shadow:var(--sh-s)}
.tabs{max-width:1120px;margin:0 auto;display:flex;gap:6px;padding:0 16px 8px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;display:flex;align-items:center;gap:2px;padding:4px 12px;border:2px solid var(--line);border-radius:999px;background:var(--card);font-size:13.5px;font-weight:800;text-decoration:none;box-shadow:2px 2px 0 var(--line)}
.tabs a:hover{background:var(--pink);color:#fff}
@media (max-width:600px){.logo small{display:none}.logo b{font-size:15px}.hd-search input{height:36px;font-size:14px}}

/* ---------- 速報バー ---------- */
.ticker{display:flex;align-items:center;gap:10px;margin:14px 0;border:2.5px solid var(--line);border-radius:999px;background:var(--card);overflow:hidden;box-shadow:var(--sh-s)}
.ticker b{flex:none;background:var(--red);color:#fff;padding:4px 14px;font-size:13px}
.tk-track{overflow:hidden;flex:1}
.tk-move{display:inline-flex;gap:40px;white-space:nowrap;animation:tk 40s linear infinite;font-size:14px;font-weight:700}
@keyframes tk{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tk-move{animation:none}}

/* ---------- ホームのヒーロー ---------- */
.hero{position:relative;margin:8px -16px 0;min-height:520px;border-bottom:3px solid var(--line);overflow:hidden;display:flex;align-items:center}
@media (min-width:1152px){.hero{margin:16px 0 0;border:3px solid var(--line);border-radius:28px;box-shadow:var(--sh-l)}}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff6e9f2 0%,#fff6e9d9 45%,#fff6e900 75%)}
:root[data-theme=dark] .hero-bg::after{background:linear-gradient(90deg,#13131af2 0%,#13131acc 50%,#13131a00 80%)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hero-bg::after{background:linear-gradient(90deg,#13131af2 0%,#13131acc 50%,#13131a00 80%)}}
.hero-in{position:relative;padding:28px 20px;max-width:640px}
.hero-badge{display:inline-block;background:var(--red);color:#fff;font-weight:800;font-size:13px;padding:3px 14px;border:2.5px solid var(--line);border-radius:999px;box-shadow:var(--sh-s);transform:rotate(-2deg)}
.hero-h1{font-family:var(--disp);font-weight:400;font-size:clamp(30px,6.2vw,54px);line-height:1.22;margin:14px 0}
.hero-h1 span{display:block}
.hero-h1 .hl{display:inline-block;background:var(--pink);color:#fff;padding:0 .2em;border:3px solid var(--line);border-radius:12px;box-shadow:var(--sh);transform:rotate(-3deg);margin:4px 0}
.hero-h1 .hl+span{display:inline}
.hero-p{font-size:15px;font-weight:600;max-width:560px}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.hero-pills a{display:inline-flex;align-items:center;gap:2px;padding:5px 12px;border:2.5px solid var(--line);border-radius:999px;background:var(--card);font-weight:800;font-size:14px;text-decoration:none;box-shadow:var(--sh-s)}
.hero-pills a:nth-child(1){background:var(--gold2);color:#141414}.hero-pills a:nth-child(2){background:var(--pink);color:#fff}.hero-pills a:nth-child(3){background:var(--blue);color:#fff}
.hero-pills b{margin-left:4px;font-family:var(--disp);font-weight:400}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.hero-owl{position:absolute;right:2%;bottom:-6px;width:min(26vw,220px);height:auto;filter:drop-shadow(4px 4px 0 #14141455);animation:bob 3s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-8px) rotate(2deg)}}
@media (max-width:760px){.hero{min-height:0;align-items:flex-start}.hero-bg::after{background:linear-gradient(180deg,#fff6e9cc 0%,#fff6e9f2 55%)}.hero-owl{width:110px;top:10px;bottom:auto;right:8px}}
.count{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;padding:6px 14px;border:2.5px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--sh-s)}
.count-l{font-size:13px;font-weight:800}
.count-n{font-family:var(--disp);font-weight:400;font-size:22px}
.count-n span{color:var(--pink);font-size:32px;margin:0 2px}

/* ---------- 数字 ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.stats a{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border:2.5px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sh-s);text-decoration:none}
.stats b{font-family:var(--disp);font-weight:400;font-size:30px;line-height:1.1}
.stats span{font-size:12px;font-weight:700;text-align:center}
.stats a:nth-child(1) b{color:var(--gold)}.stats a:nth-child(2) b{color:var(--pink)}.stats a:nth-child(3) b{color:var(--blue)}.stats a:nth-child(4) b{color:var(--purple)}
@media (max-width:520px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ---------- セクション ---------- */
.sec{margin:40px 0}
.sec-h{font-family:var(--disp);font-weight:400;font-size:clamp(22px,4vw,30px);margin:0 0 12px;display:flex;align-items:center;gap:4px}
.sec-h .ic{width:1.4em;height:1.4em}
.sec-lead{color:var(--sub);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
.chip{display:inline-flex;align-items:center;padding:3px 12px;border:2px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;font-weight:800;box-shadow:2px 2px 0 var(--line)}
.chip.on{background:var(--ink);color:var(--bg)}

/* ---------- 語カード ---------- */
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
@media (max-width:520px){.wgrid{grid-template-columns:repeat(2,1fr);gap:10px}}
.wcard{display:flex;flex-direction:column;border:2.5px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sh);text-decoration:none;overflow:hidden;transition:transform .12s,box-shadow .12s}
.wcard:hover{transform:translate(-2px,-2px) rotate(-.4deg);box-shadow:var(--sh-l)}
.wc-img{position:relative;aspect-ratio:16/10;background:var(--soft);border-bottom:2.5px solid var(--line);overflow:hidden;display:block}
.wc-img img{width:100%;height:100%;object-fit:cover;display:block}
.wc-emoji{position:absolute;right:8px;bottom:6px;font-size:26px;filter:drop-shadow(2px 2px 0 #fff)}
.noimg{display:flex;align-items:center;justify-content:center}
.noimg .wc-emoji{position:static;font-size:64px}
.g-nominee .wc-img{background:var(--gold-bg)}.g-jp .wc-img{background:var(--jp-bg)}.g-en .wc-img{background:var(--en-bg)}
.wc-body{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}
.wc-top{display:flex;justify-content:space-between;align-items:center;gap:4px}
.wc-term{font-size:19px;font-weight:900;line-height:1.3;margin-top:2px;word-break:break-word}
.wc-sub{font-size:13px;color:var(--sub);font-weight:700;font-family:var(--enf)}
.wc-catch{font-size:13px;line-height:1.55;margin-top:4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:520px){.wc-term{font-size:16px}.wc-catch{display:none}}

/* ---------- 一覧ページの頭 ---------- */
.lp-hero{margin:14px 0 20px;padding:22px 20px;border:3px solid var(--line);border-radius:24px;background:var(--card);box-shadow:var(--sh-l)}
.lp-hero h1{font-family:var(--disp);font-weight:400;font-size:clamp(26px,5vw,42px);margin-bottom:10px}
.lp-hero h1 small{display:block;font-family:var(--jpf);font-weight:800;font-size:clamp(14px,2.4vw,18px);color:var(--sub);margin-top:6px}
.lp-hero.g-nominee{background:linear-gradient(135deg,var(--gold-bg),var(--card))}
.lp-hero.g-jp{background:linear-gradient(135deg,var(--jp-bg),var(--card))}
.lp-hero.g-en{background:linear-gradient(135deg,var(--en-bg),var(--card))}
.en-lead{color:var(--sub);font-size:14.5px}
.crumbs{font-size:12.5px;color:var(--sub);margin:6px 0;display:flex;flex-wrap:wrap;gap:4px}
.crumbs i{font-style:normal}
.crumbs a{text-decoration:underline}

/* ---------- 表 ---------- */
.tbl-wrap{overflow-x:auto;border:2.5px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sh)}
.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.tbl th,.tbl td{padding:8px 10px;border-bottom:1.5px solid var(--soft);text-align:left;vertical-align:top}
.tbl th{background:var(--y);color:#141414;font-weight:900;position:sticky;top:0}
.tbl td:first-child{font-weight:900;white-space:nowrap}
.tbl a{font-weight:800}

/* ---------- 予想ランキング ---------- */
.rank{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.rank a{display:grid;grid-template-columns:44px 1fr auto;grid-template-rows:auto auto;align-items:center;gap:0 10px;padding:10px 14px;border:2.5px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sh-s);text-decoration:none}
.rank .rk{grid-row:span 2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2.5px solid var(--line);border-radius:50%;font-family:var(--disp);font-size:18px;background:var(--soft)}
.rank li:nth-child(1) .rk{background:var(--gold2)}.rank li:nth-child(2) .rk{background:#dfe3ea}.rank li:nth-child(3) .rk{background:#f0b27a}
.rank b{font-size:17px}
.rank .stars{color:var(--gold);font-size:13px;letter-spacing:-1px}
.rank small{grid-column:2/4;font-size:12.5px;color:var(--sub);line-height:1.5}

/* ---------- WOTY ---------- */
.woty{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.wt{padding:14px;border:2.5px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sh-s)}
.wt.announced{background:linear-gradient(160deg,var(--gold-bg),var(--card) 60%)}
.wt-org b{display:block;font-size:15px}
.wt-org small{color:var(--sub);font-size:12px}
.wt-word{font-family:var(--disp);font-weight:400;font-size:28px;margin:6px 0 0;line-height:1.2;word-break:break-word}
.wt-word a{color:var(--blue)}
.wt-tbd{color:var(--faint)}
.wt-ja{font-weight:700;font-size:14px}
.wt-date{font-size:13px;font-weight:800}
.wt-sl,.wt-note{font-size:13px;color:var(--sub);margin-top:6px}
.wt-url a{font-size:13px;font-weight:800}
.tl{list-style:none;margin:0;padding:0 0 0 18px;border-left:3px solid var(--line)}
.tl li{position:relative;padding:4px 0 10px 12px}
.tl li::before{content:"";position:absolute;left:-27px;top:10px;width:14px;height:14px;border:2.5px solid var(--line);border-radius:50%;background:var(--card)}
.tl li.done::before{background:var(--lime)}
.tl time{font-weight:900;margin-right:8px;font-family:var(--enf)}

/* ---------- ゲームカード ---------- */
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
@media (max-width:520px){.ggrid{grid-template-columns:repeat(2,1fr);gap:10px}}
.gcard{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border:2.5px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sh);text-decoration:none;transition:transform .12s}
.gcard:hover{transform:translate(-2px,-2px) rotate(.5deg);box-shadow:var(--sh-l)}
.gcard img{width:56px;height:56px}
.gcard b{font-size:16.5px;line-height:1.35}
.gcard span{font-size:13px;color:var(--sub);line-height:1.5}
.gcard:nth-child(5n+1){background:linear-gradient(160deg,var(--gold-bg),var(--card) 70%)}
.gcard:nth-child(5n+2){background:linear-gradient(160deg,var(--jp-bg),var(--card) 70%)}
.gcard:nth-child(5n+3){background:linear-gradient(160deg,var(--en-bg),var(--card) 70%)}

/* ---------- 辞典の案内 ---------- */
.slang-promo{display:flex;align-items:center;gap:16px;padding:18px;border:3px solid var(--line);border-radius:24px;background:linear-gradient(120deg,var(--y),var(--pink));box-shadow:var(--sh-l);color:#141414}
.slang-promo img{width:130px;flex:none}
.slang-promo h2{font-family:var(--disp);font-weight:400;font-size:clamp(18px,3vw,24px);margin-bottom:6px}
@media (max-width:600px){.slang-promo{flex-direction:column;text-align:center}}

/* ---------- FAQ ---------- */
.faq details{border:2.5px solid var(--line);border-radius:var(--r-s);background:var(--card);margin-bottom:8px;box-shadow:var(--sh-s)}
.faq summary{padding:10px 14px;font-weight:800;cursor:pointer}
.faq p{padding:0 14px 12px;margin:0}

/* ---------- 語のページ ---------- */
.w-hero{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:center;margin:10px 0 18px;padding:22px;border:3px solid var(--line);border-radius:26px;background:var(--card);box-shadow:var(--sh-l)}
.g-nominee .w-hero{background:linear-gradient(135deg,var(--gold-bg),var(--card) 70%)}
.g-jp .w-hero{background:linear-gradient(135deg,var(--jp-bg),var(--card) 70%)}
.g-en .w-hero{background:linear-gradient(135deg,var(--en-bg),var(--card) 70%)}
@media (max-width:800px){.w-hero{grid-template-columns:1fr;padding:16px}.w-hero-img{order:-1;max-width:420px;margin:0 auto}}
.w-term{font-family:var(--disp);font-weight:400;font-size:clamp(34px,7vw,60px);line-height:1.15;margin:8px 0 4px;word-break:break-word}
.w-read{font-weight:700;color:var(--sub);margin:0}
.ipa{font-family:var(--enf);margin-left:6px}
.w-en{font-size:20px;font-weight:900;margin:8px 0 0;font-family:var(--enf)}
.w-catch{font-size:17px;font-weight:800;margin:10px 0;padding:8px 12px;background:var(--y);color:#141414;border:2.5px solid var(--line);border-radius:12px;box-shadow:var(--sh-s);display:inline-block}
.w-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;font-weight:700;color:var(--sub)}
.w-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.w-hero-img{position:relative;aspect-ratio:1;border:3px solid var(--line);border-radius:22px;overflow:hidden;background:var(--soft);box-shadow:var(--sh);transform:rotate(1.5deg)}
.w-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.w-hero-img .wc-emoji{font-size:40px}
.box{margin:18px 0;padding:18px 18px 12px;border:2.5px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sh)}
.box h2{font-size:20px;font-weight:900;margin:0 0 12px;display:flex;align-items:center}
.box-mean{background:linear-gradient(135deg,var(--card),var(--soft))}
.mean-ja{font-size:18px;font-weight:700;line-height:1.8}
.mean-en{color:var(--sub);font-size:15.5px}
.box-chance .meter{height:20px;border:2.5px solid var(--line);border-radius:999px;background:var(--soft);overflow:hidden;margin-bottom:8px}
.box-chance .meter span{display:block;height:100%;width:var(--v);background:repeating-linear-gradient(45deg,var(--gold2) 0 10px,var(--orange) 10px 20px);border-right:2.5px solid var(--line)}
.box-chance b{color:var(--gold);letter-spacing:1px}
.story .st{display:grid;grid-template-columns:56px 1fr;gap:12px;margin-bottom:12px}
.st-n{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:2.5px solid var(--line);border-radius:50%;font-weight:900;font-size:14px;background:var(--y);color:#141414;box-shadow:2px 2px 0 var(--line)}
.st:nth-child(2) .st-n{background:var(--pink);color:#fff}.st:nth-child(3) .st-n{background:var(--blue);color:#fff}
.en-tr summary{font-size:13px;font-weight:800;color:var(--blue);cursor:pointer}
.en-tr p{color:var(--sub);font-size:14.5px;margin-top:4px}
.trivia{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.tv{display:flex;flex-direction:column;gap:6px;text-align:left;padding:14px;border:2.5px solid var(--line);border-radius:var(--r-s);background:var(--soft);box-shadow:var(--sh-s);min-height:120px}
.tv-q{font-weight:900;line-height:1.5}
.tv-q b{color:var(--pink)}
.tv-a{display:none;font-size:14.5px;line-height:1.7}
.tv-hint{font-size:12px;color:var(--faint);font-weight:700;margin-top:auto}
.tv[aria-expanded=true]{background:var(--card)}
.tv[aria-expanded=true] .tv-a{display:block}
.tv[aria-expanded=true] .tv-hint{display:none}
.ng{background:#ffe9e9;color:#7a1010;padding:8px 12px;border-radius:10px;font-size:14px;font-weight:700}
:root[data-theme=dark] .ng{background:#3a1c1c;color:#ffc9c9}
.exs{margin:0;padding:0;list-style:none;counter-reset:ex}
.exs li{position:relative;padding:10px 12px 8px 46px;border-bottom:2px dashed var(--soft)}
.exs li::before{counter-increment:ex;content:counter(ex);position:absolute;left:6px;top:12px;width:28px;height:28px;border:2px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;background:var(--y);color:#141414}
.scene{display:inline-block;font-size:11.5px;font-weight:800;background:var(--soft);padding:0 8px;border-radius:999px;color:var(--sub)}
.ex-ja{margin:2px 0}
.ex-ja.big{font-size:17px;font-weight:800}
.ex-en{font-size:16px;font-weight:700;color:var(--blue);margin:2px 0}
.says{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.says li{padding:12px 14px;border:2px solid var(--line);border-radius:var(--r-s);background:var(--en-bg)}
.say-en{font-size:18px;font-weight:900;margin:0}
.say-ja{font-weight:700;margin:0}
.say-note{font-size:13.5px;color:var(--sub);margin:4px 0 0}
.vocab{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.vc{padding:12px;border:2px solid var(--line);border-radius:var(--r-s);background:var(--soft)}
.vc-w{margin:0}.vc-w b{font-size:20px}
.pos{font-size:11px;font-weight:800;border:1.5px solid var(--line);border-radius:6px;padding:0 6px;margin-left:4px}
.vc-ja{font-weight:800;margin:0 0 4px}
.vc-ex{font-size:14px;margin:0}.vc-exja{font-size:13px;color:var(--sub)}
.say{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:2px solid var(--line);border-radius:50%;background:var(--y);font-size:15px;vertical-align:middle;box-shadow:2px 2px 0 var(--line);flex:none;line-height:1}
.say:active{transform:translate(2px,2px);box-shadow:none}
.say.playing{background:var(--pink);animation:pulse .6s infinite alternate}
@keyframes pulse{to{transform:scale(1.12)}}
.yts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.yt{border:2.5px solid var(--line);border-radius:var(--r-s);overflow:hidden;background:#000}
.yt-play{position:relative;display:block;width:100%;padding:0;border:0;background:#000;aspect-ratio:16/9}
.yt-play img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}
.yt-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px;border-radius:14px;background:#f00;color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center}
.yt iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.yt-cap{background:var(--card);padding:8px 10px;font-size:13px;line-height:1.5}
.yt-cap b{display:block}
.yt-cap span{color:var(--sub);font-size:12px}
.slang-links{display:flex;flex-wrap:wrap;gap:8px}
.slang-links a{display:flex;flex-direction:column;padding:8px 14px;border:2.5px solid var(--line);border-radius:14px;background:var(--y);color:#141414;font-weight:900;text-decoration:none;box-shadow:var(--sh-s)}
.slang-links small{font-size:11px;font-weight:700}
.links{margin:0;padding-left:20px}
.links a{font-weight:700;word-break:break-all}
.pn{display:flex;justify-content:space-between;gap:10px;margin:20px 0}
.pn a{flex:1;max-width:48%;padding:10px 14px;border:2.5px solid var(--line);border-radius:999px;background:var(--card);font-weight:800;text-decoration:none;box-shadow:var(--sh-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn a:last-child{text-align:right}

/* ---------- ミニクイズ（語のページ） ---------- */
.mq-item{margin-bottom:16px}
.mq-q{font-weight:900;font-size:16.5px;margin-bottom:8px}
.mq-q small{display:block;font-weight:700;color:var(--sub);font-size:13px;font-family:var(--enf)}
.mq-c{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:520px){.mq-c{grid-template-columns:1fr}}
.mq-c button,.mq-tf button{padding:10px 12px;border:2.5px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--sh-s);font-weight:800;text-align:left;line-height:1.45}
.mq-c button small{display:block;font-weight:600;color:var(--sub);font-size:12.5px}
.mq-tf{display:flex;gap:10px}
.mq-tf button{flex:1;text-align:center;font-size:18px}
.mq button.ok{background:var(--lime);color:#141414}
.mq button.ng{background:#ffb3b3;color:#141414}
.mq button:disabled{cursor:default}
.mq-ex{margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--soft);font-size:14.5px}

/* ---------- フッター ---------- */
.ft{margin-top:40px;background:var(--ink);color:var(--bg);padding:28px 16px 40px}
.ft-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-bottom:16px}
.ft-box{display:flex;flex-direction:column;gap:4px}
.ft-box b{font-size:15px;margin-bottom:4px}
.ft-box a{font-size:14px;text-decoration:none;opacity:.9}
.ft-box a:hover{text-decoration:underline}
.ft .fine{max-width:1120px;margin:6px auto;color:inherit;opacity:.7}
.to-top{position:fixed;right:14px;bottom:14px;z-index:40;width:52px;height:52px;border:2.5px solid var(--line);border-radius:50%;background:var(--card);box-shadow:var(--sh-s);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.to-top img{width:34px;height:34px}
.to-top.show{opacity:1;pointer-events:auto}
.big-search{display:flex;gap:8px;margin-top:10px}
.big-search input{flex:1;min-width:0;height:50px;border:2.5px solid var(--line);border-radius:999px;padding:0 18px;background:var(--card);font-size:16px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-weight:800;z-index:99;font-size:14px}

/* ---------- 絵文字をやめた分の絵 ---------- */
.heat-i{display:inline-flex;gap:0}
.heat-i img{width:15px;height:15px;margin-right:-3px}
.say img{width:20px;height:20px}
.hd-btn{display:flex;align-items:center;justify-content:center;padding:0}
.hd-btn .ic{margin:0;width:24px;height:24px}
.wc-fb{display:none}
.noimg .wc-fb{display:block;width:40%;height:auto}
.stars{display:inline-flex;align-items:center;gap:1px}
.stars img{width:17px;height:17px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[data-fav].on{background:var(--pink);color:#fff}
.b-tt{background:#141414;color:#fff;margin-left:4px}
.wc-top{flex-wrap:wrap}
.wc-top .heat{margin-left:auto}
/* ミーム欄 */
.box-meme{background:linear-gradient(135deg,var(--jp-bg),var(--card) 70%)}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:12.5px;font-weight:800;padding:1px 10px;border-radius:999px;background:#141414;color:#fff}
.try{margin-top:8px;padding:10px 14px;border:2.5px dashed var(--line);border-radius:14px;background:var(--card)}
.try b{display:flex;align-items:center}
/* 今日の流行語 */
.today{margin:22px 0;padding:14px;border:3px solid var(--line);border-radius:24px;background:linear-gradient(120deg,var(--en-bg),var(--jp-bg));box-shadow:var(--sh-l)}
.today-l{font-family:var(--disp);font-size:20px;display:flex;align-items:center;margin-bottom:8px}
.today-c{display:flex;gap:14px;align-items:center;text-decoration:none}
.today-c img{width:120px;height:120px;object-fit:cover;border:2.5px solid var(--line);border-radius:16px;background:var(--soft);flex:none}
.today-c b{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(22px,4vw,30px);line-height:1.2}
.today-c small{display:block;font-weight:800;color:var(--blue);font-family:var(--enf)}
.today-c span span{display:block;font-size:14px;font-weight:600;margin-top:4px}
/* カレンダー */
.months{display:flex;flex-wrap:wrap;gap:6px;position:sticky;top:104px;z-index:5;padding:6px 0;background:var(--bg)}
.months a{padding:3px 12px;border:2px solid var(--line);border-radius:999px;background:var(--card);font-weight:800;font-size:13.5px;text-decoration:none;box-shadow:2px 2px 0 var(--line)}
.m-n{font-family:var(--jpf);font-size:14px;color:var(--sub);margin-left:8px}
.month{scroll-margin-top:150px}
/* 3行でわかる */
.box-tldr{background:var(--y);color:#141414;border-width:3px}
.box-tldr h2{font-family:var(--disp);font-weight:400}
.tldr{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.tldr li{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:start;background:#fff;border:2px solid #141414;border-radius:12px;padding:8px 12px;font-weight:700;line-height:1.6}
.tldr b{background:#141414;color:#fff;border-radius:8px;text-align:center;font-size:13px;padding:2px 0}
.genre-nav .chip{text-decoration:none}

/* 2026年に流行ったモノ・コト */
.b-trend{background:var(--purple);color:#fff}
.lp-hero.g-trend{background:linear-gradient(135deg,#efe7ff,var(--card))}
.kind-nav{margin:0 0 18px}
.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.stats a:nth-child(4) b{color:var(--purple)}.stats a:nth-child(5) b{color:var(--orange)}

/* 流行語大賞の結果（12/1） */
.badge.b-win{background:linear-gradient(135deg,#f7c948,#e8a317);color:#3a2500}
.badge.b-top10{background:linear-gradient(135deg,#dfe4ea,#aeb7c2);color:#1f2933}
.res-k{font-weight:800;font-size:1.15rem;margin:18px 0 10px;display:flex;align-items:center;gap:6px}
.res-win{display:flex;flex-wrap:wrap;gap:14px}
.res-win a{flex:1 1 240px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#fff4cc,#ffd76a);color:#3a2500;text-decoration:none;box-shadow:0 6px 18px rgba(232,163,23,.3)}
.res-win img{border-radius:14px;width:120px;height:120px;object-fit:cover}
.res-win b{font-size:1.6rem;line-height:1.3;text-align:center}
.res-win span{font-size:.9rem;opacity:.8;text-align:center}
.res-sp{padding-left:1.2em}
.res-banner{text-decoration:none;display:block}
.box-res{border:2px solid #e8a317;background:linear-gradient(135deg,rgba(255,215,106,.18),rgba(255,244,204,.1))}
.pd-c.r-win{outline:3px solid #e8a317}
.pd-c.r-top{outline:3px solid #aeb7c2}

/* ---------- ゲーム ---------- */
.game{max-width:760px;margin:14px auto}
.g-head{display:flex;gap:14px;align-items:center;margin-bottom:14px;padding:16px;border:3px solid var(--line);border-radius:22px;background:linear-gradient(135deg,var(--y),var(--card) 80%);box-shadow:var(--sh-l)}
.g-head img{width:56px;height:56px;flex:none}
.g-head h1{font-family:var(--disp);font-weight:400;font-size:clamp(22px,4.5vw,32px)}
.g-head p{margin:4px 0 0;font-size:14px;font-weight:600}
:root[data-theme=dark] .g-head{background:linear-gradient(135deg,#3a3214,var(--card) 80%)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .g-head{background:linear-gradient(135deg,#3a3214,var(--card) 80%)}}
.g-stage{min-height:360px}
.g-hud{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-weight:900;font-family:var(--enf)}
.g-bar{flex:1;height:12px;border:2px solid var(--line);border-radius:999px;background:var(--card);overflow:hidden}
.g-bar i{display:block;height:100%;background:var(--pink);transition:width .3s}
.g-card{padding:18px;border:3px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--sh-l)}
.g-q{font-size:clamp(18px,3.6vw,24px);font-weight:900;margin-bottom:4px;line-height:1.45}
.g-sub{color:var(--sub);font-weight:600;font-size:14.5px}
.g-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media (max-width:560px){.g-choices{grid-template-columns:1fr}}
.g-choices button{padding:14px;border:2.5px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--sh-s);font-weight:900;font-size:16.5px;text-align:left;line-height:1.4;transition:transform .08s}
.g-choices button:hover:not(:disabled){transform:translate(-1px,-1px);background:var(--soft)}
.g-choices button small{display:block;font-weight:600;font-size:13px;color:var(--sub)}
.g-choices button.ok{background:var(--lime);color:#141414}
.g-choices button.ng{background:#ffb3b3;color:#141414;animation:shake .3s}
@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.g-fb{margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--soft)}
.g-fb .btn{margin-top:8px}
.g-timer{height:8px;border-radius:999px;background:var(--soft);overflow:hidden;margin:8px 0}
.g-timer i{display:block;height:100%;background:var(--orange);animation:shrink linear forwards}
@keyframes shrink{from{width:100%}to{width:0}}
.g-pic{max-width:360px;margin:0 auto 12px;border:3px solid var(--line);border-radius:18px;overflow:hidden;aspect-ratio:1}
.g-pic img{width:100%;height:100%;object-fit:cover;display:block}
.g-pic img.blur{filter:blur(24px) saturate(1.3);animation:unblur 15s linear forwards}
.g-pic img.clear{filter:none;animation:none}
@keyframes unblur{to{filter:blur(0)}}
.g-listen{margin:6px 0 10px}
.g-tf{display:flex;gap:12px;margin-top:16px}
.g-tf .btn{flex:1}
.g-result{text-align:center;padding:24px 16px;border:3px solid var(--line);border-radius:24px;background:var(--card);box-shadow:var(--sh-l)}
.g-owl{width:130px;height:130px;animation:bob 2.6s ease-in-out infinite}
.g-rank{font-family:var(--disp);font-weight:400;font-size:clamp(26px,5vw,38px);margin:6px 0}
.g-score{font-size:18px;font-weight:800}
.g-score b{font-family:var(--disp);font-weight:400;font-size:48px;color:var(--pink);margin-right:4px}
.g-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.g-review{text-align:left;margin-top:12px;border:2px solid var(--line);border-radius:12px;padding:8px 12px}
.g-review summary{font-weight:800;cursor:pointer}
.sd-img{width:220px;border:3px solid var(--line);border-radius:20px;box-shadow:var(--sh)}
.g-type{font-family:var(--enf);font-size:clamp(22px,5vw,34px);font-weight:900;text-align:center;margin:10px 0;padding:14px;border-radius:14px;background:var(--en-bg)}
.g-type.bad{background:#ffd6d6;color:#141414}
.g-input{width:100%;height:56px;border:3px solid var(--line);border-radius:14px;padding:0 16px;font-size:22px;background:var(--card)}
.mem{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:520px){.mem{grid-template-columns:repeat(3,1fr);gap:8px}}
.mc{position:relative;aspect-ratio:3/4;padding:0;border:0;background:none;perspective:600px}
.mc span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6px;border:2.5px solid var(--line);border-radius:14px;backface-visibility:hidden;transition:transform .35s;font-weight:900;line-height:1.3;word-break:break-word;box-shadow:var(--sh-s)}
.mc-b{background:repeating-linear-gradient(45deg,var(--y) 0 10px,var(--gold2) 10px 20px);font-size:32px;font-family:var(--disp)}
.mc-f{transform:rotateY(180deg);background:var(--card);font-size:14px}
.mc-f.mj{background:var(--jp-bg)}.mc-f.me{background:var(--en-bg);font-family:var(--enf)}
.mc.open .mc-b{transform:rotateY(180deg)}
.mc.open .mc-f{transform:rotateY(0)}
.mc.done .mc-f{background:var(--lime);color:#141414}
.vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.vs-c{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;border:3px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--sh)}
.vs-c img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;border:2px solid var(--line)}
.vs-e{font-size:64px}
.vs-c b{font-size:17px}
.vs-c small{color:var(--sub);font-size:12.5px}
.vs-when{font-weight:900;color:var(--pink)}
.vs-c.ok{background:var(--lime);color:#141414}.vs-c.ng{background:#ffb3b3;color:#141414}
.vs-x{font-family:var(--disp);font-size:26px;color:var(--pink)}
.pd{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.pd-c{display:flex;align-items:center;gap:8px;padding:10px;border:2.5px solid var(--line);border-radius:14px;background:var(--card);font-weight:800;text-align:left;box-shadow:var(--sh-s);line-height:1.35}
.pd-c span{flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--soft)}
.pd-c.on{background:var(--y);color:#141414}
.pd-c.king{background:var(--pink);color:#fff}
.pd-c.king span{background:var(--y) url(/buzzword2026/img/ic/crown.webp) center/80% no-repeat;color:transparent}
.pd-info{font-weight:700}
