:root{--bg: #f4f4f2;--text: #1a1a1a;--text-secondary: #555;--text-muted: #777;--card-bg: #ffffff;--card-border: #cccccc;--card-shadow: rgba(0, 0, 0, .08);--suit-black: #1a1a1a;--suit-red: #c0392b;--button-bg: #ffffff;--button-border: #333333;--button-hover-bg: #eeeeee;--button-active-bg: #1a1a1a;--button-active-text: #ffffff;--nav-border: #cccccc;--divider: #dddddd;--error-color: #c0392b;--verdict-correct: #2e8b57;--verdict-incorrect: #c0392b;--strategy-track-bg: #e5e5e5;--strategy-bar-best: #2e8b57;--strategy-bar-default: #888888;--explanation-bg: #eef2ff;--tooltip-underline: #999999;--next-button-bg: #1a1a1a;--next-button-hover-bg: #333333;--next-button-text: #ffffff;--table-felt: #e5ede6;--table-felt-border: #b9c9bb}[data-theme=dark]{--bg: #17181c;--text: #e8e8ea;--text-secondary: #a8a8b2;--text-muted: #8a8a94;--card-bg: #24262c;--card-border: #3d3f47;--card-shadow: rgba(0, 0, 0, .5);--suit-black: #d8d8de;--suit-red: #ff7a72;--button-bg: #24262c;--button-border: #46484f;--button-hover-bg: #2f3138;--button-active-bg: #e8e8ea;--button-active-text: #17181c;--nav-border: #46484f;--divider: #34363c;--error-color: #ff7a72;--verdict-correct: #4fbf88;--verdict-incorrect: #ff7a72;--strategy-track-bg: #34363c;--strategy-bar-best: #4fbf88;--strategy-bar-default: #5a5c64;--explanation-bg: #202436;--tooltip-underline: #6c6e78;--next-button-bg: #e8e8ea;--next-button-hover-bg: #d0d0d6;--next-button-text: #17181c;--table-felt: #1e3324;--table-felt-border: #2f4a37}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{max-width:640px;margin:0 auto;padding:24px 16px 64px}h1{font-size:20px;margin-bottom:16px}.theme-toggle{position:fixed;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--button-border);background:var(--button-bg);color:var(--text);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background:var(--button-hover-bg)}.error{color:var(--error-color)}.spinner-row{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.spinner{width:20px;height:20px;flex-shrink:0;border:3px solid var(--button-border);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spot-meta{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.section{margin-bottom:24px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}.card-row{display:flex;gap:8px}.card{width:52px;height:72px;border:1px solid var(--card-border);border-radius:8px;background:var(--card-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;box-shadow:0 1px 2px var(--card-shadow)}.card-rank,.card-suit{font-size:20px;line-height:1}.card-compact{width:28px;height:39px;border-radius:5px;gap:0}.card-compact .card-rank,.card-compact .card-suit{font-size:11px}.card-back{background:repeating-linear-gradient(135deg,var(--button-active-bg),var(--button-active-bg) 3px,var(--card-bg) 3px,var(--card-bg) 6px)}.action-row{display:flex;gap:10px;flex-wrap:wrap}.action-button{padding:10px 18px;font-size:15px;border:1px solid var(--button-border);border-radius:6px;background:var(--button-bg);color:var(--text);cursor:pointer}.action-button:hover:not(:disabled){background:var(--button-hover-bg)}.action-button:disabled{opacity:.5;cursor:default}.action-button.active{background:var(--button-active-bg);color:var(--button-active-text);border-color:var(--button-active-bg)}.top-nav{display:flex;gap:8px;margin-bottom:20px}.nav-button{padding:8px 16px;font-size:14px;border:1px solid var(--nav-border);border-radius:6px;background:var(--button-bg);color:var(--text);cursor:pointer}.nav-button.active{background:var(--button-active-bg);color:var(--button-active-text);border-color:var(--button-active-bg)}.nav-label-short{display:none}@media (max-width: 480px){.top-nav{gap:3px}.nav-button{padding:5px 6px;font-size:11px;white-space:nowrap}.nav-label-full{display:none}.nav-label-short{display:inline}}.term-tooltip{text-decoration:underline dotted;text-decoration-color:var(--tooltip-underline);text-underline-offset:3px;cursor:help}.glossary dl{margin:0}.glossary-entry{margin-bottom:16px}.glossary-entry dt{font-weight:700;margin-bottom:2px}.glossary-entry dd{margin:0;color:var(--text-secondary);line-height:1.5}.rules p,.rules li{color:var(--text-secondary);line-height:1.5}.rules ol{margin:0;padding-left:20px}.rules li{margin-bottom:6px}.rules-link{padding:0;border:none;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.hand-rankings-intro{color:var(--text-secondary);margin-top:-8px;margin-bottom:20px}.position-btn{background:var(--button-active-bg);color:var(--button-active-text);padding:1px 7px;border-radius:4px}.hand-rankings-list{list-style:none;margin:0;padding:0}.hand-ranking-entry{padding:16px 0;border-top:1px solid var(--divider)}.hand-ranking-entry:last-child{border-bottom:1px solid var(--divider)}.hand-ranking-header{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.hand-ranking-rank{color:var(--text-muted);font-size:13px;font-weight:700;min-width:18px}.hand-ranking-name{font-size:16px;font-weight:700}.hand-ranking-description{color:var(--text-secondary);margin:0 0 12px;line-height:1.5}.result{padding-top:8px;border-top:1px solid var(--divider)}.verdict{font-size:17px;font-weight:700;margin-bottom:10px}.verdict.correct{color:var(--verdict-correct)}.verdict.incorrect{color:var(--verdict-incorrect)}.strategy-row{display:grid;grid-template-columns:130px 1fr 50px;align-items:center;gap:10px;font-size:13px;margin-bottom:6px}.strategy-bar-track{height:10px;background:var(--strategy-track-bg);border-radius:5px;overflow:hidden}.strategy-bar-fill{height:100%}.strategy-pct{text-align:right;color:var(--text-secondary)}.explanation{margin-top:16px;padding:12px 14px;background:var(--explanation-bg);border-radius:8px}.explanation p{margin:0;line-height:1.5}.next-button{margin-top:16px;margin-left:16px;padding:10px 18px;font-size:15px;border:none;border-radius:6px;background:var(--next-button-bg);color:var(--next-button-text);cursor:pointer}.next-button:hover{background:var(--next-button-hover-bg)}.poker-table{position:relative;width:100%;max-width:360px;aspect-ratio:4 / 3;min-height:220px;margin:4px auto 0}.poker-table-felt{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.poker-table-felt ellipse{fill:var(--table-felt);stroke:var(--table-felt-border);stroke-width:1.5}.seat{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;width:60px}.seat-position{font-size:11px}.seat-cards{display:flex;gap:2px}.seat-stack{font-size:10px;color:var(--text-muted);white-space:nowrap}.seat-action-label{font-size:10px;color:var(--text-secondary);min-height:12px;text-align:center;white-space:nowrap}.seat-status-folded{opacity:.45}.seat-status-active .seat-action-label{color:var(--button-active-bg);font-weight:700}.seat-hero .seat-cards{outline:2px solid var(--button-active-bg);outline-offset:2px;border-radius:5px}.seat-utg{top:8%;left:18%}.seat-mp{top:0%;left:50%}.seat-co{top:8%;left:82%}.seat-btn{top:68%;left:82%}.seat-sb{top:88%;left:50%}.seat-bb{top:68%;left:18%}.dealer-button{position:absolute;top:58%;left:64%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:var(--card-bg);border:1.5px solid var(--card-border);color:var(--text);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px var(--card-shadow)}.table-board{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);display:flex;gap:3px}@media (min-width: 600px){.poker-table{max-width:480px;min-height:280px}.seat{width:74px}.seat-position{font-size:13px}.seat-stack,.seat-action-label{font-size:11px}.seat-utg{top:4%;left:12%}.seat-mp{top:-4%;left:50%}.seat-co{top:4%;left:88%}.seat-btn{top:74%;left:88%}.seat-sb{top:96%;left:50%}.seat-bb{top:74%;left:12%}.dealer-button{top:64%;left:74%;width:22px;height:22px;font-size:11px}}@media (min-width: 960px){.app{max-width:1040px}.trainer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}}
