:root{--bg: #0c1410;--bg-2: #0f1a14;--felt: #14241b;--felt-2: #1b3326;--line: rgba(212, 175, 55, .18);--gold: #d4af37;--gold-soft: #e8cf85;--ink: #f3efe6;--muted: #9aa89f;--green: #3ecf8e;--red: #ff6b6b;--glass: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .08)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 50% -10%,#16241c 0%,transparent 60%),radial-gradient(800px 500px at 50% 110%,#122019 0%,transparent 55%),var(--bg);min-height:100vh}.app{max-width:540px;margin:0 auto;padding:env(safe-area-inset-top) calc(16px + env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.app-header{padding:20px 4px 12px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:inline-flex;align-items:center;color:var(--gold);filter:drop-shadow(0 0 12px rgba(212,175,55,.5))}.brand h1{margin:0;font-size:26px;letter-spacing:2px;background:linear-gradient(180deg,var(--gold-soft),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.subtitle{font-size:11px;color:var(--muted);letter-spacing:3px}.table{margin-top:4px}.table-felt{background:radial-gradient(120% 100% at 50% 0%,var(--felt-2),var(--felt));border:1px solid var(--line);border-radius:22px;padding:18px 16px 20px;box-shadow:inset 0 1px #ffffff0d,0 18px 40px #00000073}.hand-block+.hand-block{margin-top:16px}.block-label{font-size:11px;letter-spacing:2px;color:var(--gold-soft);text-transform:uppercase}.card-row{display:flex;gap:10px;margin-top:8px}.board-row{gap:7px}.hint{text-align:center;color:var(--muted);font-size:12px;margin:10px 0 0}.card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;font-weight:700;transition:transform .12s ease,box-shadow .12s ease;border:1px solid transparent}.card-lg{width:66px;height:92px}.card-md{width:56px;height:78px}.card-sm{width:44px;height:62px}.card-filled{background:linear-gradient(180deg,#fdfbf5,#efe9da);box-shadow:0 6px 16px #0006}.card-filled:hover{transform:translateY(-3px)}.card-empty{background:var(--glass);border:1px dashed rgba(212,175,55,.35);color:var(--muted)}.card-active{border-color:var(--gold);box-shadow:0 0 0 2px #d4af3780,0 8px 20px #0006}.card-red{color:#c62828}.card-black{color:#1a1a1a}.card-rank{font-size:22px;line-height:1}.card-md .card-rank{font-size:19px}.card-sm .card-rank{font-size:16px}.card-suit{font-size:18px;line-height:1.1}.card-sm .card-suit{font-size:14px}.card-placeholder{font-size:12px;letter-spacing:1px}.tabs{display:flex;gap:6px;margin:18px 0 14px;background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;padding:5px}.tabs button{flex:1;background:none;border:none;color:var(--muted);padding:10px 0;font-size:14px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .15s ease}.tabs button.active{background:linear-gradient(180deg,#d4af3738,#d4af371a);color:var(--gold-soft);box-shadow:inset 0 0 0 1px #d4af3766}.panel-inner{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--muted)}.field input{background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;padding:12px 14px;color:var(--ink);font-size:17px}.field input:focus{outline:none;border-color:var(--gold)}.equity-readout{font-size:22px;font-weight:700;color:var(--gold-soft)}.stepper{display:flex;align-items:center;gap:14px}.stepper button{width:44px;height:44px;border-radius:12px;border:1px solid var(--glass-border);background:var(--glass);color:var(--gold-soft);font-size:22px;cursor:pointer}.stepper-value{font-size:18px;font-weight:700;min-width:60px;text-align:center}.btn-gold{background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:#2a2208;border:none;border-radius:14px;padding:15px;font-size:16px;font-weight:800;letter-spacing:1px;cursor:pointer;box-shadow:0 8px 22px #d4af3747}.btn-gold:disabled{opacity:.4;box-shadow:none;cursor:default}.note{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.result-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.equity-big{display:flex;flex-direction:column;align-items:center;gap:4px}.equity-label{font-size:12px;color:var(--muted);letter-spacing:1px}.equity-value{font-size:46px;font-weight:800;background:linear-gradient(180deg,#fff,var(--gold-soft));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.equity-bars,.ebar-row{display:flex;flex-direction:column;gap:8px}.ebar-row{flex-direction:row;align-items:center;gap:8px}.ebar-label{flex:0 0 36px;font-size:12px;color:var(--muted)}.ebar-track{flex:1;height:10px;background:#ffffff0f;border-radius:6px;overflow:hidden}.ebar-fill{height:100%;border-radius:6px}.bar-win{background:linear-gradient(90deg,#2e9e6a,var(--green))}.bar-tie{background:linear-gradient(90deg,#9a8a3a,var(--gold))}.bar-lose{background:linear-gradient(90deg,#a33a3a,var(--red))}.ebar-pct{flex:0 0 52px;text-align:right;font-size:13px;font-variant-numeric:tabular-nums}.mini-stats{display:flex;justify-content:space-around;gap:8px}.mini-stats>div{display:flex;flex-direction:column;align-items:center;gap:2px}.mini-label{font-size:11px;color:var(--muted)}.mini-val{font-size:18px;font-weight:700}.mini-val.pos{color:var(--green)}.mini-val.neg{color:var(--red)}.targets{display:flex;flex-wrap:wrap;gap:8px}.verdict{display:flex;align-items:center;justify-content:center;gap:8px;font-size:20px;font-weight:800;padding:10px;border-radius:12px}.verdict-call{color:var(--green);background:#3ecf8e1a;box-shadow:inset 0 0 0 1px #3ecf8e59}.verdict-fold{color:var(--red);background:#ff6b6b14;box-shadow:inset 0 0 0 1px #ff6b6b4d}.picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:50}.picker{background:linear-gradient(180deg,var(--bg-2),var(--bg));border:1px solid var(--line);border-radius:22px 22px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));width:100%;max-width:540px;box-shadow:0 -10px 40px #00000080}.picker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.picker-head h3{margin:0;font-size:16px;color:var(--gold-soft)}.picker-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer}.picker-grid{display:flex;flex-direction:column;gap:6px}.picker-row{display:grid;grid-template-columns:repeat(13,1fr);gap:4px}.pick-card{aspect-ratio:3 / 4;border-radius:7px;border:none;background:linear-gradient(180deg,#fdfbf5,#ece6d7);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:pointer;padding:0}.pick-suit{font-size:11px}.pick-red{color:#c62828}.pick-black{color:#1a1a1a}.pick-taken{opacity:.18;cursor:default}.bet-list{display:flex;flex-direction:column;gap:10px}.bet-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;padding:12px 14px}.bet-head{display:flex;justify-content:space-between;align-items:baseline}.bet-name{font-weight:700;color:var(--gold-soft)}.bet-amount{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.bet-stats{display:flex;gap:24px;margin:8px 0 6px}.bet-stats>div{display:flex;flex-direction:column;gap:2px}.bet-hint{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.tip-list{display:flex;flex-direction:column;gap:10px}.tip-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;overflow:hidden}.tip-card.open{border-color:#d4af3766}.tip-card-head{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--ink);padding:14px;cursor:pointer;font-size:15px}.tip-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;color:var(--gold-soft)}.tip-card-title{flex:1;text-align:left;font-weight:700}.tip-chevron{color:var(--gold-soft);font-size:18px}.tip-title{display:inline-flex;align-items:center;gap:7px;color:var(--gold-soft);font-size:15px}.tip-ul{margin:0;padding:0 18px 14px 34px;display:flex;flex-direction:column;gap:8px}.tip-ul li{font-size:13px;color:var(--ink);line-height:1.65}.tabs{gap:4px}.tabs button{font-size:13px;padding:10px 2px}.tabs button.train-tab{color:var(--gold-soft)}.tabs button.train-tab.active{color:var(--gold)}.train-banner{display:flex;align-items:center;gap:10px;width:100%;margin:6px 0 2px;padding:12px 14px;border-radius:14px;cursor:pointer;text-align:left;color:var(--ink);background:linear-gradient(100deg,#d4af3729,#d4af370d);border:1px solid rgba(212,175,55,.32);transition:all .15s ease}.train-banner:hover{border-color:#d4af378c}.train-banner-icon{font-size:20px}.train-banner-text{flex:1;font-size:13.5px}.train-banner-text b{color:var(--gold-soft);font-weight:700}.train-banner-arrow{color:var(--gold);font-weight:700}.train-hero{display:flex;align-items:center;gap:10px;color:var(--gold)}.train-hero h2{margin:0;font-size:20px;color:var(--ink)}.train-bullets{margin:0;padding-left:18px;color:var(--muted);font-size:13.5px;line-height:1.9}.train-pick-label{margin:4px 0 0;font-size:13px;color:var(--gold-soft);font-weight:600}.train-diff{display:flex;gap:10px}.train-diff-btn{flex:1;display:flex;flex-direction:column;gap:4px;padding:16px 12px;border-radius:14px;cursor:pointer;color:var(--ink);background:var(--glass);border:1px solid var(--glass-border);transition:all .15s ease}.train-diff-btn:hover{border-color:#d4af3780;background:#d4af3714}.train-diff-name{font-size:16px;font-weight:700;color:var(--gold-soft)}.train-diff-desc{font-size:12px;color:var(--muted)}.train-progress{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);font-weight:600}.train-progress-score{color:var(--gold-soft)}.train-situation{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:linear-gradient(180deg,var(--felt-2),var(--felt));border:1px solid var(--line)}.train-meta{display:flex;flex-wrap:wrap;gap:6px}.train-chip{font-size:11.5px;padding:3px 9px;border-radius:999px;color:var(--gold-soft);background:#d4af371a;border:1px solid rgba(212,175,55,.25)}.train-potline{display:flex;gap:8px;margin-top:4px}.train-potline>div{flex:1;display:flex;flex-direction:column;gap:2px;align-items:center;padding:8px 4px;border-radius:10px;background:#0003}.train-actions{display:flex;gap:12px}.train-act{flex:1;padding:18px 0;font-size:17px;font-weight:800;border-radius:14px;cursor:pointer;transition:transform .08s ease,filter .15s ease;border:1px solid transparent}.train-act:active{transform:scale(.97)}.train-fold{color:var(--ink);background:#ff6b6b1f;border-color:#ff6b6b66}.train-call{color:#06210f;background:linear-gradient(180deg,var(--green),#2bb377);border-color:#3ecf8e99}.train-result{gap:12px}.train-correct-tag{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted)}.train-explain{margin:0;font-size:13.5px;line-height:1.7;color:var(--ink)}.train-range{margin:0;font-size:12px;color:var(--muted)}.train-result-actions{display:flex;align-items:center;gap:10px}.btn-link-analyze{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--gold-soft);font-size:13px;font-weight:600;cursor:pointer;padding:6px 0}.train-next{margin-left:auto;padding:11px 18px;font-size:14px;font-weight:700;border-radius:12px;cursor:pointer;color:#06210f;background:linear-gradient(180deg,var(--gold-soft),var(--gold));border:none}.train-summary{align-items:center;text-align:center}.train-summary-label{margin:4px 0 0;font-size:13px;color:var(--gold-soft);font-weight:600}.train-score-big{font-size:56px;font-weight:800;color:var(--gold);line-height:1.1}.train-score-total{font-size:24px;color:var(--muted);font-weight:600}.train-summary-msg{margin:0;font-size:14px;color:var(--ink)}.train-summary-actions{display:flex;gap:10px;margin-top:6px}.btn-copy,.btn-secondary{display:inline-flex;align-items:center;gap:7px;padding:12px 18px;font-size:14px;font-weight:700;border-radius:12px;cursor:pointer}.btn-copy{color:#06210f;background:linear-gradient(180deg,var(--gold-soft),var(--gold));border:none}.btn-secondary{color:var(--ink);background:var(--glass);border:1px solid var(--glass-border)}.train-back-intro{margin-top:4px;background:none;border:none;color:var(--muted);font-size:12.5px;cursor:pointer;text-decoration:underline}.train-run-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:14px;cursor:pointer;text-align:left;color:var(--gold);background:linear-gradient(100deg,#d4af3724,#d4af370a);border:1px solid rgba(212,175,55,.3);transition:all .15s ease}.train-run-btn:hover{border-color:#d4af378c}.train-run-text{display:flex;flex-direction:column;gap:3px}.train-run-text b{color:var(--gold-soft);font-size:15px}.run-back{display:inline-flex;align-items:center;background:none;border:none;color:var(--muted);cursor:pointer;padding:0 4px 0 0;margin-right:auto}.train-progress{align-items:center}.run-streets{display:flex;gap:6px}.run-street-pip{flex:1;text-align:center;font-size:12px;padding:6px 0;border-radius:9px;color:var(--muted);background:var(--glass);border:1px solid var(--glass-border)}.run-street-pip.current{color:var(--gold);border-color:#d4af3780;background:#d4af371a;font-weight:700}.run-street-pip.done{color:var(--green)}.run-showdown{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:#00000038;border:1px solid var(--glass-border)}.run-showdown-line{margin:0;font-size:13px;color:var(--ink)}@keyframes popIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pop-in{animation:popIn .28s cubic-bezier(.2,.8,.2,1)}@keyframes streakPulse{0%,to{box-shadow:0 0 #ff8c3c00}50%{box-shadow:0 0 12px 1px #ff8c3c73}}.gauge{display:flex;flex-direction:column;gap:7px}.gauge-track{position:relative;height:16px;border-radius:999px;background:#00000052;border:1px solid var(--glass-border);overflow:visible}.gauge-fill{height:100%;border-radius:999px;transition:width .5s cubic-bezier(.2,.8,.2,1)}.gauge-good{background:linear-gradient(90deg,#2bb377,var(--green))}.gauge-bad{background:linear-gradient(90deg,#c0463f,var(--red))}.gauge-marker{position:absolute;top:-3px;width:2px;height:22px;background:var(--gold);transform:translate(-1px)}.gauge-marker-label{position:absolute;top:-17px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:10px;color:var(--gold-soft)}.gauge-legend{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.gauge-legend b{color:var(--ink)}.streak-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#ffd9a8;background:linear-gradient(180deg,#ff8c3c47,#ff5a282e);border:1px solid rgba(255,140,60,.5);animation:streakPulse 1.6s ease-in-out infinite}.train-score-ring{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 20px;border-radius:20px;background:radial-gradient(120px 80px at 50% 0%,rgba(212,175,55,.14),transparent 70%),var(--glass);border:1px solid rgba(212,175,55,.25);width:100%}.train-stat-grid{display:flex;gap:8px;width:100%}.train-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;border-radius:12px;background:var(--glass);border:1px solid var(--glass-border)}.train-stat-num{display:inline-flex;align-items:center;gap:4px;font-size:19px;font-weight:800;color:var(--gold-soft)}.train-stat-label{font-size:11px;color:var(--muted)}.train-hero-badge{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:var(--gold);background:#d4af371f;border:1px solid rgba(212,175,55,.35);box-shadow:0 0 18px #d4af3740}.train-engine-note{display:flex;align-items:center;gap:6px;margin:2px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);line-height:1.6}.train-engine-note svg{flex-shrink:0;color:var(--gold-soft)}.train-act{position:relative;overflow:hidden;box-shadow:0 6px 18px #00000059}.train-call{box-shadow:0 6px 20px #3ecf8e4d}.train-call:hover{filter:brightness(1.06)}.train-fold:hover{filter:brightness(1.1)}.train-next:hover,.btn-copy:hover{filter:brightness(1.06)}.card-filled{box-shadow:0 4px 12px #00000059,inset 0 1px #ffffff80}.train-situation .card-row{gap:7px}
