.pattern-start{text-align:center;padding:40px 20px}.pattern-start .primary{width:240px}.pattern-symbol{font-size:95px;color:var(--gold);line-height:1.1}.pattern-start h2{font-size:25px}.pattern-start p{color:var(--muted)}.pattern-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.pattern-choice{display:flex;align-items:center;gap:12px;border:1px solid #ffffff25;border-radius:12px;padding:18px 15px;background:#112218;color:var(--ink);text-align:left;line-height:1.5;font-size:16px;min-height:70px}.pattern-choice b{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:1px solid #cbb67666;border-radius:7px;color:var(--gold)}.pattern-choice:hover:enabled{border-color:var(--gold)}.pattern-choice:disabled{opacity:1}.pattern-choice.correct{border-color:#79dbab;background:#153923}.pattern-choice.wrong{border-color:#f28e8e;background:#351b1a}.pattern-feedback{min-height:30px}.pattern-feedback strong{color:var(--gold);font-size:19px}.pattern-feedback p{color:var(--muted)}.pattern-feedback .primary{width:230px}.p-score #pattern-time{font-variant-numeric:tabular-nums;font-size:32px}.p-score #pattern-time.urgent{color:#f28e8e}.pattern-final-score{font-size:80px;color:var(--gold);margin:20px 0}.pattern-review{border-top:1px solid #ffffff20;margin:20px 0;padding:15px 0}.pattern-review h2{font-size:22px}.pattern-review span{color:var(--muted);font-size:13px}@media(max-width:650px){.pattern-choices{grid-template-columns:1fr;gap:8px}.pattern-choice{min-height:48px;padding:10px 14px;font-size:15px}.pattern-start{padding:24px 5px}.p-chart svg{min-height:180px}.pattern-feedback .primary{width:100%}}

.bias-title{font-size:20px;line-height:1.7;margin:20px 0 10px}.bias-actions{display:flex;gap:12px}.bias-actions button{min-width:120px;min-height:48px;font-size:18px}.bias-actions button:disabled{opacity:1}.bias-actions .bias-correct{border-color:#79dbab;background:#153923}.bias-actions .bias-wrong{border-color:#f28e8e;background:#351b1a}

.bias-actions{margin:18px 0}.bias-actions [data-bias="BUY"]{color:#83d9aa}.bias-actions [data-bias="SELL"]{color:#f49a9a}

.chart-entry-caption{padding:10px 18px;border-top:1px solid #ffffff12;color:var(--entry-color,#e4cb83);font-size:13px;line-height:1.6;background:#101312}.chart-entry-caption span{margin-right:7px}

.tts-panel{margin-top:12px;border:1px solid #ffffff20;background:#101312;border-radius:12px;padding:12px 16px}.tts-label{color:#e7bd71;font-weight:600;font-size:14px}.sto-chart{width:100%;display:block;max-height:140px}.tts-panel p{font-size:13px;margin:8px 0}.tts-panel small{color:#96a69b;font-size:11px}

#patience{max-width:1360px;overflow-anchor:none}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.play-chart-column{min-width:0}.play-layout .pattern-feedback{margin:0;padding:22px;background:#101d16;border:1px solid #ffffff15;border-radius:14px;min-height:370px;line-height:1.85}.play-layout .pattern-feedback strong{font-size:18px;line-height:1.7}.play-layout .pattern-feedback p{font-size:14px}.play-layout .pattern-feedback .primary{width:100%}.chart-entry-caption{min-height:48px;display:flex;align-items:center;gap:6px}#patience .p-head{min-height:110px}#patience .p-score{height:45px}#patience .p-score #pattern-time{width:100px;display:inline-block}#patience .p-chart svg{aspect-ratio:900/390;height:auto;min-height:0}@media(max-width:950px){.play-layout{grid-template-columns:1fr;gap:14px}.play-layout .pattern-feedback{min-height:300px}#patience .p-head{min-height:125px}.chart-entry-caption{min-height:64px}}

.difficulty-badge{padding:5px 11px;border-radius:7px;border:1px solid #76ca9b44;font-size:12px!important;white-space:nowrap;color:#8ce0ae!important}.difficulty-badge.level-2{color:#e3d080!important;border-color:#cdb36466}.difficulty-badge.level-3{color:#efa864!important;border-color:#d68d4666}.difficulty-badge.level-4{color:#ff8d9b!important;border-color:#cf657166;background:#34151d}.hard-hint{border-left:2px solid #d9ad6a;padding-left:12px}.difficulty-summary{color:#c5b888;font-size:14px}@media(max-width:650px){#patience .p-score{gap:9px;flex-wrap:wrap;height:auto;min-height:66px}#patience .p-score #pattern-time{width:70px;font-size:26px}.difficulty-badge{padding:4px 8px}}

.zone-key{margin-left:auto;display:flex;gap:14px;font-size:11px;font-weight:500}.dm-key{color:#72d5b5}.sp-key{color:#eda38e}
@media(max-width:650px){.chart-entry-caption{flex-wrap:wrap}.zone-key{width:100%;margin-left:0;gap:18px}}
