/* えちえちジャケ買いジャッジメント 共通デザイン（案C / crimson固定） */
:root{
  --bg:#0b0406;--panel:#170a0e;--line:rgba(255,120,140,.20);--ink:#f4e3e6;--dim:rgba(244,227,230,.46);
  --acc:#ff2f4f;--acc2:#ff8a3d;--glow:rgba(255,47,79,.45);--soft:rgba(255,47,79,.12);--crt:1;
  --mincho:'Hiragino Mincho ProN','Yu Mincho',YuMincho,'Noto Serif JP',serif;
  --sans:'Hiragino Kaku Gothic ProN','Yu Gothic UI','Yu Gothic',Meiryo,sans-serif;
  --mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  --noise:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:#000;color:var(--ink);-webkit-text-size-adjust:100%}
body{overflow-x:hidden;font-family:var(--sans)}
img{display:block}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:var(--acc);text-decoration:none}
a:hover{color:var(--acc2)}

@keyframes staticShift{0%{background-position:0 0}100%{background-position:70px -46px}}
@keyframes crtFlick{0%{opacity:.03}45%{opacity:.06}100%{opacity:.03}}
@keyframes recBlink{0%,45%{opacity:1}55%,100%{opacity:.12}}
@keyframes throb{0%,100%{opacity:.88}50%{opacity:1}}
@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes signalIn{0%{opacity:0;filter:brightness(3) contrast(2.2) saturate(0)}9%{opacity:.85;filter:brightness(.25) contrast(3)}
 18%{opacity:.7;filter:contrast(2.2) brightness(1.5);transform:translateX(-6px)}30%{opacity:1;transform:translateX(5px)}
 44%{opacity:.9;filter:invert(.1)}60%,100%{opacity:1;filter:none;transform:none}}
@keyframes hitGlow{0%,100%{box-shadow:0 0 0 1px var(--line),0 0 26px -10px var(--glow)}50%{box-shadow:0 0 0 1px var(--acc),0 0 44px -6px var(--glow)}}
@keyframes shimmer{0%{transform:translateX(-140%)}100%{transform:translateX(360%)}}
@keyframes sweep{0%{transform:translateY(-120%)}100%{transform:translateY(300%)}}
@keyframes tearFlash{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes heroIn{0%{opacity:0;filter:brightness(2.4) contrast(2) saturate(.2)}40%{opacity:1}100%{opacity:1;filter:none}}
@keyframes blinkStep{0%,49%{opacity:1}50%,100%{opacity:.25}}
@keyframes countPop{0%{opacity:0;transform:scale(1.9);filter:blur(8px) brightness(2.6)}
 22%{opacity:1;transform:scale(1);filter:blur(0) brightness(1)}
 70%{opacity:1;transform:scale(1)}100%{opacity:.15;transform:scale(.94)}}
@keyframes barPulse{0%,100%{box-shadow:0 0 14px var(--glow)}50%{box-shadow:0 0 30px var(--acc)}}

/* CRT オーバーレイ（TOLトップ / 利用規約と同じ質感：
   横の走査線 2px ＋ 縦のRGBストライプ 3px ＋ 0.5秒のちらつき） */
.crt-scan{position:fixed;inset:0;z-index:100;pointer-events:none;
  background:linear-gradient(rgba(18,16,16,0) 50%,rgba(0,0,0,0.25) 50%),
             linear-gradient(90deg,rgba(255,0,0,0.06),rgba(0,255,0,0.02),rgba(0,0,255,0.06));
  background-size:100% 2px,3px 100%}
.crt-noise{display:none}
.crt-flick{position:fixed;inset:0;z-index:100;pointer-events:none;background:rgba(18,16,16,0.1);
  opacity:0;animation:tolFlicker .5s infinite}
@keyframes tolFlicker{0%{opacity:.1}50%{opacity:.2}100%{opacity:.1}}
.crt-vig{display:none}

/* 背景（固定ヒーロー画像＋赤の照明） */
.bgfx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.bgfx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:.38;filter:contrast(1.05) saturate(.78)}
.bgfx .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,3,6,.42) 0%,rgba(5,3,6,.5) 38%,rgba(5,3,6,.82) 68%,rgba(5,3,6,.95) 100%)}
.bgfx .lamp{position:absolute;inset:0;mix-blend-mode:screen;background:radial-gradient(90% 55% at 50% 0%,var(--soft),transparent 62%),radial-gradient(80% 45% at 50% 108%,var(--soft),transparent 60%)}

.jjmain{position:relative;z-index:10;max-width:560px;margin:0 auto;padding:0 0 92px}
.mono-label{font:10px/1 var(--mono);letter-spacing:.34em;color:var(--dim)}
.mincho-h{font-family:var(--mincho);font-weight:600;letter-spacing:.14em;text-shadow:0 0 20px var(--glow),1px 0 rgba(255,60,90,.28),-1px 0 rgba(90,180,255,.16)}

/* 作品カード（結果・シェア・一覧 共通） */
.wcard{display:block;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.4)}
.wcard:hover{border-color:var(--acc)}
.wcard .im{position:relative;aspect-ratio:4 / 3;background:#08050a;overflow:hidden}
.wcard .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.wcard .t{padding:7px 7px 9px;font-size:11px;line-height:1.55;color:var(--ink);text-wrap:pretty}
.prchip{position:absolute;top:0;right:0;background:rgba(0,0,0,.8);border-left:1px solid var(--line);border-bottom:1px solid var(--line);padding:3px 5px;font:8px/1 var(--mono);color:var(--acc)}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}

/* 主ボタン */
.btn-acc{width:100%;padding:20px 10px;background:var(--acc);color:#0b0406;font-family:var(--mincho);font-weight:700;font-size:20px;letter-spacing:.18em;box-shadow:0 0 40px -10px var(--glow);animation:throb 3.2s ease-in-out infinite}
.btn-acc:hover{filter:brightness(1.12)}
.btn-acc:active{transform:scale(.99)}
.btn-line{padding:13px 8px;border:1px solid var(--line);background:rgba(0,0,0,.4);font-size:12px;color:var(--ink)}
.btn-line:hover{border-color:var(--acc)}

/* 共通ヘッダーのハンバーガーメニュー対策。
   header.css ではメニューが z-index:4 のため、本文(.jjmain z-index:10)の下に潜ってしまう。
   メニューを本文より上へ（走査線オーバーレイ z:100 の下＝他ページと同じ見え方）。 */
body header{z-index:60}
body nav.menu{z-index:55}
