
:root{--bg:#f4f7ff;--surface:rgba(255,255,255,.9);--solid:#fff;--text:#172033;--muted:#6d7890;--line:rgba(113,129,171,.2);--primary:#6657ff;--blue:#16bff4;--pink:#ff4fa3;--orange:#ff9b42;--green:#21c98b;--yellow:#ffd54a;--shadow:0 16px 40px rgba(65,80,137,.15)}
:root[data-theme="dark"]{--bg:#0d1020;--surface:rgba(25,30,53,.92);--solid:#181d33;--text:#f5f7ff;--muted:#a9b1c8;--line:rgba(255,255,255,.09);--shadow:0 18px 45px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif}body{margin:0;color:var(--text);background:radial-gradient(circle at 10% 0%,rgba(102,87,255,.16),transparent 30%),radial-gradient(circle at 100% 15%,rgba(22,191,244,.14),transparent 34%),radial-gradient(circle at 15% 90%,rgba(255,79,163,.11),transparent 34%),var(--bg);min-height:100vh;transition:.3s}button,select,input,textarea{font:inherit}button{cursor:pointer}.premium-header{position:sticky;top:0;z-index:30;overflow:hidden;padding:16px 14px 14px;color:#fff;background:linear-gradient(130deg,#5338f5,#6f57ff 38%,#18b9f5);box-shadow:0 10px 30px rgba(73,54,209,.3);border-radius:0 0 28px 28px}.header-orb{position:absolute;border-radius:50%;opacity:.28}.orb-one{width:130px;height:130px;background:#ff6ab8;right:-25px;top:-58px}.orb-two{width:100px;height:100px;background:#ffd95a;left:-35px;bottom:-55px}.header-top{position:relative;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#fff;color:#5b46ed;font-weight:900;box-shadow:0 8px 24px #15104d33}.brand h1{margin:0;font-size:20px}.brand p{margin:3px 0 0;font-size:10px;opacity:.82}.header-actions{display:flex;gap:8px}.icon-button{width:39px;height:39px;border:1px solid #ffffff55;border-radius:13px;background:#ffffff22;color:#fff;font-size:18px}.game-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.game-switch button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px solid #ffffff44;border-radius:15px;background:#ffffff20;color:#fff;font-weight:800}.game-switch button span{width:25px;height:25px;border-radius:9px;display:grid;place-items:center;background:#ffffff22}.game-switch button.active{background:#fff;color:#503ee2;box-shadow:0 8px 20px #1a166433}main{max-width:1020px;margin:auto;padding:12px 12px 90px}nav{display:grid;grid-template-columns:repeat(9,72px);gap:7px;margin:12px 0;overflow-x:auto;padding:2px 1px 5px}nav button{min-width:70px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 5px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--muted);box-shadow:var(--shadow);font-size:15px}nav button span{font-size:10px}nav button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--blue));transform:translateY(-2px)}section{display:none;animation:fadeUp .32s ease}section.active{display:block}@keyframes fadeUp{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.hero-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:20px;margin:10px 0;border-radius:26px;color:#fff;background:radial-gradient(circle at 75% 20%,#ffffff38,transparent 28%),linear-gradient(135deg,#ff4fa3,#7d4dff 48%,#16bff4);box-shadow:0 18px 42px #5b3ed747}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800}.hero-copy h2{margin:6px 0 7px;font-size:25px}.hero-copy p{margin:0;font-size:12px;line-height:1.6}.hero-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.hero-chips span{padding:5px 8px;border-radius:999px;background:#ffffff2d;font-size:9px}.hero-score{width:78px;height:96px;border:1px solid #ffffff55;border-radius:22px;background:#ffffff24;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-score span,.hero-score small{font-size:8px}.hero-score strong{font-size:28px}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:16px;margin:11px 0;box-shadow:var(--shadow)}.rainbow-card:before{content:"";position:absolute;left:18px;right:18px;top:0;height:4px;background:linear-gradient(90deg,var(--pink),var(--orange),var(--yellow),var(--green),var(--blue),var(--primary));border-radius:0 0 6px 6px}h2{font-size:19px;margin:2px 0 11px}h3{font-size:15px}.kpis,.purchase-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.kpis article,.weight-grid article,.purchase-summary article{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;padding:12px;background:linear-gradient(145deg,var(--solid),var(--bg))}.kpis b,.purchase-summary b{display:block;font-size:20px}.kpis span,.purchase-summary span,.muted{color:var(--muted);font-size:11px}select,input,textarea{width:100%;padding:11px 12px;color:var(--text);border:1px solid var(--line);border-radius:13px;background:var(--solid)}label{display:block;font-size:12px;font-weight:700;margin:9px 0 5px}.primary,.secondary{width:100%;margin-top:9px;padding:12px;border:0;border-radius:14px;font-weight:800}.primary{color:#fff;background:linear-gradient(135deg,var(--primary),var(--blue));box-shadow:0 10px 24px #5a4fed40}.secondary{color:var(--text);background:linear-gradient(145deg,var(--solid),var(--bg));border:1px solid var(--line)}.balls{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.ball{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;font-weight:900;background:linear-gradient(145deg,#ff5fae,#8b4fff 55%,#21bdf1);box-shadow:inset 0 2px 3px #ffffff73,0 7px 14px #5c48d538}.loto7 .ball{background:linear-gradient(145deg,#18d1a5,#16bff4 55%,#7653ff)}.set,.purchase-item{border:1px solid var(--line);border-radius:18px;padding:13px;margin:9px 0;background:linear-gradient(145deg,var(--solid),var(--bg));box-shadow:var(--shadow)}.settop,.purchase-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.badge{color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;background:linear-gradient(90deg,var(--pink),var(--primary))}.notice{color:#6d4b00;padding:12px;border:1px solid #ffc32e59;border-radius:14px;background:linear-gradient(135deg,#fff5cb,#ffe6a1);font-size:11px}.table-wrap{overflow:auto;max-height:480px;border:1px solid var(--line);border-radius:14px}.table-wrap.history{max-height:570px}table{width:100%;border-collapse:collapse;font-size:12px;background:var(--solid)}th,td{padding:8px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}th{position:sticky;top:0;background:var(--bg);color:var(--muted)}.bar{height:9px;background:#6d789026;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--pink),var(--orange),var(--yellow),var(--green),var(--blue),var(--primary))}.mini-metrics{font-size:11px;color:var(--muted)}.report-box{padding:13px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--solid),var(--bg))}.score-row,.chart-row{display:grid;grid-template-columns:30px 36px 1fr 38px;gap:8px;align-items:center;margin:9px 0}.score-row b{width:32px;height:32px;display:grid;place-items:center;color:#fff;border-radius:11px;background:linear-gradient(145deg,var(--primary),var(--blue))}.chart-row{grid-template-columns:64px 1fr 45px}.strategy-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.strategy-checks label{display:flex;align-items:center;gap:7px;margin:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--solid)}.strategy-checks input{width:auto}.weight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.button-row,.purchase-tools,.purchase-actions,.purchase-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.feature-card{border:1px solid var(--line);border-radius:16px;padding:12px;margin:9px 0;background:linear-gradient(145deg,var(--solid),var(--bg))}.feature-card.good{border-left:5px solid var(--green)}.feature-card.neutral{border-left:5px solid var(--yellow)}.feature-card.bad{border-left:5px solid var(--pink)}.trend-row{display:grid;grid-template-columns:72px 1fr 38px 70px;gap:8px;align-items:center;margin:10px 0;font-size:12px}.ok{color:#147a4b}.warn{color:#b35a00}.hit-main{outline:3px solid var(--green)}.hit-bonus{outline:3px solid var(--yellow)}footer{position:fixed;bottom:0;left:0;right:0;z-index:20;text-align:center;padding:9px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);background:var(--surface)}@media(min-width:700px){.kpis,.purchase-summary{grid-template-columns:repeat(4,1fr)}}@media(max-width:720px){.button-row,.purchase-tools,.purchase-actions,.purchase-buttons{grid-template-columns:1fr}.weight-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:420px){.strategy-checks{grid-template-columns:1fr}.brand h1{font-size:18px}.hero-card{grid-template-columns:1fr 70px;padding:17px}.hero-score{width:66px;height:84px}}

/* AIロジック研究所 */
.number-heatmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(46px,1fr));gap:8px;margin-top:12px}.heat-number{min-height:48px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;border:1px solid var(--line);color:#fff;box-shadow:var(--shadow)}.heat-number small{font-size:9px;opacity:.9}.heat-legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.heat-legend i{display:block;flex:1;height:9px;border-radius:99px;background:linear-gradient(90deg,#6b7280,#16bff4,#21c98b,#ffd54a,#ff4fa3)}.ai-grade{display:inline-grid;place-items:center;min-width:44px;height:28px;border-radius:999px;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--primary),var(--pink))}.diagnosis-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.diagnosis-grid article{padding:12px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,var(--solid),var(--bg))}.diagnosis-grid b{display:block;font-size:20px}.logic-stable{color:var(--green);font-weight:800}.logic-recent{color:var(--orange);font-weight:800}.logic-weak{color:var(--pink);font-weight:800}.learning-chip{display:inline-block;padding:5px 9px;margin:3px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--blue));color:#fff;font-size:10px}.learning-entry{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.filter-row{display:grid;grid-template-columns:90px 1fr 52px;gap:8px;align-items:center;margin:10px 0}.lab-comment{padding:12px;border-radius:14px;background:linear-gradient(135deg,#eef2ff,#e0f7ff);color:#273252;font-size:12px;line-height:1.7}@media(min-width:700px){.diagnosis-grid{grid-template-columns:repeat(4,1fr)}}

/* 条件シミュレーター */
.sim-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:14px 0}.sim-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.sim-grid input,.sim-grid select{width:100%;box-sizing:border-box}.simulator-note{padding:12px;border-radius:12px;background:var(--soft,#f5f7fb)}@media(min-width:700px){.sim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 購入モード・Excel/CSV出力 */
.purchase-mode-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.purchase-mode-head h2{margin:4px 0}.amount-badge{padding:10px 14px;border-radius:999px;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--pink),var(--primary));white-space:nowrap}.purchase-mode-set{border:1px solid var(--line);border-radius:20px;padding:14px;margin:12px 0;background:linear-gradient(145deg,var(--solid),var(--bg));box-shadow:var(--shadow)}.purchase-mode-set label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0}.purchase-mode-set input{width:26px;height:26px;accent-color:var(--green)}.purchase-mode-number{display:grid;grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:8px;margin-top:12px}.purchase-mode-number span{min-height:48px;display:grid;place-items:center;border-radius:15px;color:#fff;font-size:20px;font-weight:900;background:linear-gradient(145deg,#ff5fae,#8b4fff 55%,#21bdf1);box-shadow:inset 0 2px 3px #ffffff73,0 7px 14px #5c48d538}.loto7 .purchase-mode-number span{background:linear-gradient(145deg,#18d1a5,#16bff4 55%,#7653ff)}.purchase-mode-set.done{opacity:.62}.purchase-mode-set.done .purchase-mode-number span{filter:grayscale(.5)}.purchase-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.purchase-export-grid button{margin:0}.purchase-empty{padding:24px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
@media(max-width:520px){.purchase-export-grid{grid-template-columns:1fr}.purchase-mode-number{grid-template-columns:repeat(4,1fr)}.purchase-mode-number span{font-size:19px}}
@media print{header,nav,footer,.purchase-export-grid,#purchaseExportStatus,#purchase .card:last-child{display:none!important}body{background:#fff!important}.card{box-shadow:none!important;border:0!important}.purchase-mode-set{break-inside:avoid;box-shadow:none!important}.purchase-mode-number span{color:#000!important;background:#fff!important;border:2px solid #000!important;box-shadow:none!important}.purchase-mode-set.done{opacity:1!important}}


/* AIスコアボード */
.score-ball{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;font-weight:900}.score-label{display:inline-block;min-width:48px;padding:4px 7px;border-radius:999px;color:#fff;font-size:10px;font-weight:900}.score-hot{background:linear-gradient(135deg,#ef476f,#ff9f1c)}.score-cold{background:linear-gradient(135deg,#4f6fdc,#39a7ff)}.score-normal{background:linear-gradient(135deg,#64748b,#94a3b8)}

/* 自動更新 */
#updater input[type="file"]{width:100%;padding:12px;border:1px dashed #a5b4fc;border-radius:12px;background:rgba(255,255,255,.7);box-sizing:border-box}
#updater #updateStatus{white-space:pre-wrap;padding:12px;border-radius:12px;background:rgba(99,102,241,.08)}
#updater .ok{color:#047857;background:rgba(16,185,129,.10)!important}
#updater .warn{color:#b91c1c;background:rgba(239,68,68,.10)!important}
