/*
Theme Name: gpt-theme
Theme Theme URI: https://language-of-flowers.net/
Description: メガミリオンズ総額100億円
Author:  bibiru
Version: 1.0.1
*/
html {    scroll-behavior: smooth;}
body{margin: 0; padding: 0px; background-color:#080303}
 :root{ --bg:#0e1116; --panel:#121722; --panel-2:#0f1520; --acc:#5be0b3; --acc-2:#7aa9ff; --text:#e9eef7; --muted:#a7b1c2; --line:#1f2633; --warn:#ffdd66; }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:'Noto Sans JP',system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    .wrap{width:100%;display:flex;justify-content:center}
    .page{width:420px;background:linear-gradient(180deg,#0f1420 0%, #0b1018 100%);box-shadow:0 30px 80px rgba(0,0,0,.4)}

    section{padding:28px 22px;border-bottom:1px solid var(--line)}
    .badge{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border:1px solid #2a3347;border-radius:999px;background:linear-gradient(180deg,#121a2a,#0d1422)}
    .badge b{color:var(--acc)}
    .h1{font-size:28px;line-height:1.25;margin:14px 0 12px;font-weight:900;letter-spacing:.01em}
    .h2{font-size:18px;font-weight:800;margin:0 0 12px}
    .lead{color:var(--muted);font-size:14px;line-height:1.7}
    .panel{background:linear-gradient(180deg,#141b2a,#0f1522);border:1px solid #263049;border-radius:16px;padding:16px}
    .grid{display:grid;gap:12px}
    .kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .kpi{background:linear-gradient(180deg,#162136,#101828);border:1px solid #2b364e;border-radius:14px;padding:12px;text-align:center}
    .kpi .num{font-size:22px;font-weight:900}
    .kpi .cap{font-size:11px;color:var(--muted)}

    .hero{position:relative;overflow:hidden}
    .hero::before{content:"";position:absolute;inset:-20% -60% auto -60%;height:420px;background:radial-gradient(60% 60% at 50% 50%, rgba(91,224,179,.35), rgba(91,224,179,0) 70%)}
    .ribbon{display:flex;align-items:center;gap:8px;font-size:12px;color:#0b1219;background:linear-gradient(90deg,#5be0b3,#7aa9ff);padding:8px 12px;border-radius:10px;font-weight:700;width:max-content}
    .prize{display:flex;align-items:baseline;gap:8px;margin:8px 0 0}
    .prize small{font-size:12px;color:var(--muted)}
    .prize strong{font-size:26px;color:var(--warn)}

    .steps{display:grid;gap:10px}
    .step{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;border:1px dashed #2d3950;border-radius:14px;padding:12px;background:linear-gradient(180deg,#131a2a,#0f1522)}
    .step .num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#1b2435;border:1px solid #2b3650;font-weight:800}
    .step .ttl{font-weight:800;margin-bottom:4px}
    .mini{font-size:12px;color:var(--muted)}

    /* スマホでの強制改行抑制（短文のみ） */
    .no-wrap li{white-space:nowrap}

    /* 理解チェック（ゲート）UI */
    .gate-panel{background:linear-gradient(180deg,#131a2a,#0f1522);border:1px dashed #2d3950;border-radius:14px;padding:16px}
    .gate-list{display:grid;gap:10px;margin:10px 0}
    .gate-item{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
    .gate-item input{appearance:none;width:18px;height:18px;border-radius:4px;border:1px solid #2a3450;background:#0e1423;position:relative;margin-top:2px;flex:0 0 18px;cursor:pointer}
    .gate-item input:checked{background:linear-gradient(180deg,#5be0b3,#7aa9ff);border-color:transparent}
    .gate-item input:checked::after{content:"";position:absolute;inset:4px;background:#0f1420;border-radius:2px}
    .gate-item span{font-size:13px;color:var(--muted);line-height:1.7}

    .gate-btn{display:block;text-align:center;padding:14px;border-radius:12px;font-weight:900;letter-spacing:.03em;background:linear-gradient(90deg,#1b2231,#111826);color:#8fa0bd;border:1px solid #2b3650}
    .gate-btn.active{background:linear-gradient(90deg,#5be0b3,#7aa9ff);color:#0b1118;border-color:transparent;cursor:pointer}
    .gate-note{font-size:12px;color:var(--muted);margin-top:8px}

    .cta{position:sticky;bottom:0;z-index:3}
    .cta .bar{padding:16px 22px;background:linear-gradient(180deg,#0c121b 0%, #0a0e15 100%);border-top:1px solid #1f2635}
    .btn{display:block;text-align:center;padding:16px;border-radius:14px;font-weight:900;letter-spacing:.03em;font-size:16px;background:linear-gradient(90deg,#5be0b3,#7aa9ff);color:#0b1118;box-shadow:0 8px 30px rgba(90,200,255,.25)}
    .btn small{display:block;font-size:11px;font-weight:700;opacity:.85}

    /* クリック抑止スタイル（アンロックまで登録不可） */
    .btn.locked{pointer-events:none;opacity:.6;filter:grayscale(.2);cursor:not-allowed}

    /* トースト通知 */
    .toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(10px);background:linear-gradient(180deg,#141b2a,#0f1522);border:1px solid #2b3650;color:#cfe0ff;padding:10px 14px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:9999;box-shadow:0 8px 24px rgba(0,0,0,.35)}
    .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

    .faq .q{font-weight:800;margin-bottom:8px}
    .faq .a{color:var(--muted);font-size:14px;line-height:1.7}
    .foot small{color:#7f8aa1}

    .tag{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid #2b3650;color:#b7c3da;background:linear-gradient(180deg,#141d2f,#111827);font-size:12px}
    .tag svg{opacity:.9}

    @media print{ .page{box-shadow:none} .cta{position:static} }

    /* 見出しだけ改行抑止（本文は折返し可） */
    .nowrap-short b{white-space:nowrap}

    /* 左寄せ */
    ul.mini, ul.nowrap-short{ text-align:left; margin-left:18px; }

