.ctco{--ctco-gold:#d4a843;--ctco-ink:#1a1408;--ctco-line:rgba(128,128,128,.3);--ctco-soft:rgba(128,128,128,.1);--ctco-win:#5f9e5a;--ctco-draw:#8c8c8c;--ctco-loss:#c0504a;--ctco-inacc:#d9a520;--ctco-mistake:#e07b2a;--ctco-blunder:#d0443c;max-width:960px;margin:18px auto 32px;font-family:Montserrat,system-ui,-apple-system,sans-serif;line-height:1.5}
.ctco *,.ctco *::before,.ctco *::after{box-sizing:border-box}
.ctco [hidden]{display:none!important}
.ctco-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ctco a{color:var(--ctco-gold)}
.ctco p{display:block!important;padding:0!important}

/* form */
.ctco-form{margin:0 0 16px}
.ctco-seg{display:inline-flex;max-width:100%;border:1px solid var(--ctco-line);border-radius:8px;overflow:hidden;margin:0 0 12px}
.ctco .ctco-seg label{position:relative;display:block;margin:0;padding:0;font-size:.95rem;font-weight:500;letter-spacing:normal;text-transform:none;color:inherit;cursor:pointer}
.ctco .ctco-seg input{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;opacity:0!important;pointer-events:none}
.ctco-seg span{display:block;padding:9px 18px}
.ctco-seg label+label span{border-left:1px solid var(--ctco-line)}
.ctco-seg input:checked+span{background:var(--ctco-gold);color:var(--ctco-ink);font-weight:700}
.ctco-seg input:focus-visible+span{outline:2px solid #3b82f6;outline-offset:-2px}
.ctco-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.ctco .ctco-row input[type="text"],.ctco .ctco-row select{flex:1 1 200px;width:auto;max-width:none;min-width:0;height:48px;margin:0;padding:0 14px;font:inherit;font-size:1rem;border:1px solid var(--ctco-line);border-radius:8px;background:transparent;color:inherit;box-shadow:none}
.ctco .ctco-row select{flex:0 1 210px;appearance:auto}
.ctco .ctco-row select option{background:#fff;color:#111}
.ctco .ctco-go,.ctco .ctco-go:focus,.ctco .ctco-btn,.ctco .ctco-btn:focus{display:inline-flex;align-items:center;justify-content:center;flex:1 0 auto;width:auto;min-height:48px;margin:0;padding:0 24px;border:0!important;border-radius:8px;background:var(--ctco-gold)!important;color:var(--ctco-ink)!important;font:inherit;font-size:1rem!important;font-weight:700;line-height:1.2;text-decoration:none;text-transform:none!important;letter-spacing:normal!important;box-shadow:none;cursor:pointer}
.ctco .ctco-go:hover,.ctco .ctco-btn:hover{background:#e9c46a!important}
.ctco .ctco-go:disabled{opacity:.6;cursor:wait}
.ctco .ctco-btn,.ctco .ctco-btn:focus{flex:0 0 auto;min-height:40px;padding:0 18px;font-size:.92rem!important}
.ctco button:focus-visible,.ctco input:focus-visible,.ctco select:focus-visible,.ctco a:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}
.ctco .ctco-hint{margin:8px 0 0!important;font-size:.85rem!important;opacity:.72}
.ctco .ctco-msg{margin:0 0 16px!important;padding:10px 14px!important;color:inherit!important;font-size:.95rem!important;border:1px solid var(--ctco-line);border-left:4px solid var(--ctco-gold);border-radius:8px;font-size:.95rem}
.ctco .ctco-btn2,.ctco .ctco-btn2:focus,.ctco .ctco-btn2:visited,.ctco a.ctco-btn2:hover{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:36px;margin:0;padding:0 13px!important;border:1px solid var(--ctco-line)!important;border-radius:8px;background:transparent!important;color:inherit!important;font:inherit;font-size:.85rem!important;font-weight:600;line-height:1.2;text-decoration:none;text-transform:none!important;letter-spacing:normal!important;box-shadow:none;cursor:pointer;white-space:nowrap}
.ctco .ctco-btn2:hover{border-color:var(--ctco-gold)!important;color:inherit!important;background:transparent!important}
.ctco .ctco-link,.ctco .ctco-link:hover,.ctco .ctco-link:focus{display:inline;width:auto;min-height:0;margin:0;padding:0!important;border:0!important;background:none!important;color:var(--ctco-gold)!important;font:inherit;font-weight:600;text-decoration:underline;text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer}

/* progress */
.ctco-prog{margin:18px 0}
.ctco-pbar{height:8px;border-radius:4px;background:var(--ctco-soft);overflow:hidden}
.ctco-pbar i{display:block;height:100%;width:0;background:var(--ctco-gold);transition:width .25s}
.ctco .ctco-pstatus{margin:10px 0!important;font-size:.9rem!important;color:inherit!important;opacity:.85}
.ctco-ptick{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px}
.ctco-ptick i{display:block;width:16px;height:16px;border-radius:3px;background:var(--ctco-soft);border:1px solid var(--ctco-line)}
.ctco-ptick i.on.r-w{background:var(--ctco-win);border-color:var(--ctco-win)}
.ctco-ptick i.on.r-d{background:var(--ctco-draw);border-color:var(--ctco-draw)}
.ctco-ptick i.on.r-l{background:var(--ctco-loss);border-color:var(--ctco-loss)}

/* report */
.ctco-sec{margin:0 0 40px;scroll-margin-top:80px}
.ctco .ctco-h2{margin:0 0 6px;padding:0;font-family:inherit;font-size:1.5rem;font-weight:800;line-height:1.25;letter-spacing:-.01em;overflow-wrap:anywhere}
.ctco .ctco-sum{margin:0 0 14px!important;font-size:.95rem!important;color:inherit!important;opacity:.8}
.ctco .ctco-note{margin:10px 0 0!important;font-size:.86rem!important;color:inherit!important;opacity:.72}
.ctco .ctco-empty{padding:12px 0!important;font-size:1rem!important;color:inherit!important;opacity:.85}
.ctco-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.ctco-tile{padding:12px 14px;border:1px solid var(--ctco-line);border-radius:8px;min-width:0}
.ctco-tile b{display:block;font-size:1.6rem;font-weight:800;line-height:1.15;color:var(--ctco-gold);font-variant-numeric:tabular-nums}
.ctco-tile span{display:block;color:inherit;margin-top:2px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.ctco-bar{display:block;height:8px;border-radius:4px;overflow:hidden;background:var(--ctco-soft);min-width:60px}
.ctco-bar i{display:block;height:100%;background:var(--ctco-gold)}
.ctco-bar i.g{background:var(--ctco-win)}
.ctco-wdl{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--ctco-soft);min-width:60px}
.ctco-wdl i{display:block;height:100%}
.ctco-wdl .w{background:var(--ctco-win)}.ctco-wdl .d{background:var(--ctco-draw)}.ctco-wdl .l{background:var(--ctco-loss)}

/* weakness cards */
.ctco-cards{display:grid;gap:18px}
.ctco-card{border:1px solid var(--ctco-line);border-left:4px solid var(--ctco-gold);border-radius:8px;padding:18px;min-width:0;scroll-margin-top:80px}
.ctco-card header{display:flex;gap:14px;align-items:flex-start;margin:0 0 12px}
.ctco-card header>div{flex:1;min-width:0}
.ctco-rank{flex:0 0 40px;height:40px;border-radius:50%;background:var(--ctco-gold);color:var(--ctco-ink);font-weight:800;font-size:1.15rem;display:flex;align-items:center;justify-content:center}
.ctco .ctco-card h3{margin:0;padding:0;font-family:inherit;font-size:1.2rem;font-weight:800;line-height:1.3}
.ctco .ctco-cost{margin:2px 0 8px!important;font-size:.88rem!important;color:inherit!important;opacity:.85}
.ctco .ctco-why{margin:0 0 4px!important;font-size:1rem!important;line-height:1.55!important;color:inherit!important}
.ctco .ctco-card h4,.ctco .ctco-res h4,.ctco .ctco-line h4{margin:18px 0 8px;padding:0;font:700 .72rem/1.2 Montserrat,system-ui,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;color:var(--ctco-gold)!important}
.ctco .ctco-exs{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:8px}
.ctco .ctco-exs li{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin:0!important;padding:10px 12px!important;border:1px solid var(--ctco-line);border-radius:8px;list-style:none!important}
.ctco .ctco-exs li::before{content:none!important}
.ctco-ex{flex:1 1 260px;min-width:0;font-size:.95rem}
.ctco-ex small{display:block;margin-top:2px;font-size:.8rem;opacity:.72}
.ctco-exa{display:flex;gap:6px;flex:0 0 auto}
.ctco-tag{display:inline-block;margin:0 4px;padding:1px 8px;border-radius:10px;font-size:.72rem;font-weight:700;color:#fff;vertical-align:1px;background:var(--ctco-draw)}
.ctco-tag.c-inacc{background:var(--ctco-inacc);color:#1a1408}.ctco-tag.c-mistake{background:var(--ctco-mistake)}.ctco-tag.c-blunder{background:var(--ctco-blunder)}
.ctco .ctco-drills{margin:0!important;padding:0 0 0 1.3em!important}
.ctco .ctco-drills li{margin:0 0 8px!important;padding:0!important}
.ctco .ctco-vids{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.ctco .ctco-vids li{margin:0!important;padding:0!important;list-style:none!important}
.ctco .ctco-vids li::before{content:none!important}
.ctco .ctco-vids a,.ctco .ctco-vids a:hover{display:block;text-decoration:none;color:inherit!important}
.ctco-vids img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;margin-bottom:6px}
.ctco-vids span{display:block;font-size:.84rem;line-height:1.35;font-weight:600}

/* trainer */
.ctco-tr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
.ctco-brand{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 10px;min-height:26px}
.ctco-brand img{display:block;height:24px;width:auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
.ctco-brand img.wm{height:14px}
.ctco-brand b{font:800 1rem/1 Montserrat,system-ui,sans-serif;letter-spacing:.14em;color:var(--ctco-gold)}
.ctco-brand span{font:700 .68rem/1 Montserrat,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ctco-gold);opacity:.75;padding-left:8px;border-left:1px solid rgba(212,168,67,.4)}
.ctco-frame{padding:5px;border-radius:6px;background:linear-gradient(135deg,#fff3c4,#d4a843 35%,#8a6a1f 70%,#d4a843);box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 22px rgba(212,168,67,.18)}
.ctco-board{aspect-ratio:1/1;border-radius:2px;overflow:hidden;line-height:0;background:#0b0d14}
.ctco-board canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.ctco-board canvas.is-locked{cursor:default}
.ctco-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.ctco-count{font-size:.85rem;opacity:.8;text-align:center}
.ctco .ctco-qk{margin:0 0 6px!important;font:700 .72rem/1.3 Montserrat,system-ui,sans-serif!important;letter-spacing:.1em;text-transform:uppercase;color:var(--ctco-gold)!important}
.ctco .ctco-qt{margin:0 0 12px!important;font-size:1.08rem!important;line-height:1.4!important;color:inherit!important}
.ctco-fb{min-height:46px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--ctco-line);border-left:4px solid var(--ctco-line);border-radius:8px;font-size:.95rem}
.ctco-fb:empty{visibility:hidden}
.ctco-fb.ok{border-left-color:var(--ctco-win)}
.ctco-fb.no{border-left-color:var(--ctco-blunder)}
.ctco-fb.info{border-left-color:var(--ctco-gold)}
.ctco-acts{display:flex;flex-wrap:wrap;gap:8px}
.ctco-lines{margin-top:14px}
.ctco-why2{font-size:.95rem}
.ctco-line>div{display:flex;flex-wrap:wrap;gap:4px}
.ctco .ctco-line.ctco-pun h4{color:var(--ctco-blunder)!important}
.ctco .ctco-line.ctco-bst h4{color:var(--ctco-win)!important}
.ctco .ctco-mv,.ctco .ctco-mv:focus,.ctco .ctco-mv:active{display:inline-flex;align-items:center;width:auto;min-height:34px;margin:0;padding:4px 9px!important;border:1px solid var(--ctco-line)!important;border-radius:6px;background:transparent!important;color:inherit!important;font:inherit;font-size:.82rem!important;font-weight:600;line-height:1.2;letter-spacing:normal!important;text-transform:none!important;box-shadow:none;cursor:pointer}
.ctco .ctco-mv:hover{border-color:var(--ctco-gold)!important}
.ctco .ctco-mv.on,.ctco .ctco-mv.on:hover,.ctco .ctco-mv.on:focus{background:var(--ctco-gold)!important;border-color:var(--ctco-gold)!important;color:var(--ctco-ink)!important}
.ctco-lines>.ctco-btn2{margin-top:12px!important}

/* tables and lists */
.ctco-box{margin:16px 0 0;padding:16px;border:1px solid var(--ctco-line);border-radius:8px;min-width:0}
.ctco .ctco-box h3{margin:0 0 10px;padding:0;font-family:inherit;font-size:1.05rem;font-weight:800}
.ctco-box .ctco-note{margin:0 0 10px}
.ctco-box .ctco-scroll+.ctco-note{margin:10px 0 0}
.ctco-scroll{overflow-x:auto}
.ctco .ctco-table{width:100%;margin:0;border:0;border-collapse:collapse;font-size:.9rem;background:transparent}
.ctco .ctco-table th,.ctco .ctco-table td{padding:8px 6px;border:0;border-bottom:1px solid var(--ctco-line);background:transparent;text-align:left;vertical-align:middle;font-weight:400}
.ctco .ctco-table thead th{font-weight:600;opacity:.8;white-space:nowrap}
.ctco .ctco-table tbody th{font-weight:600}
.ctco .ctco-table tbody tr:last-child th,.ctco .ctco-table tbody tr:last-child td{border-bottom:0}
.ctco .ctco-table .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ctco .ctco-table .s{font-size:.8rem;opacity:.72}
.ctco .ctco-table td.b{width:26%;min-width:70px}
.ctco .ctco-plan td:nth-child(2){min-width:220px}
.ctco .ctco-facts{margin:0!important;padding:0 0 0 1.2em!important;font-size:.93rem}
.ctco .ctco-facts li{margin:0 0 6px!important}
.ctco .ctco-games{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:8px}
.ctco .ctco-games li{margin:0!important;padding:0!important;list-style:none!important}
.ctco .ctco-games li::before{content:none!important}
.ctco .ctco-game,.ctco a.ctco-game,.ctco a.ctco-game:hover{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--ctco-line);border-radius:8px;color:inherit!important;text-decoration:none}
.ctco a.ctco-game:hover{border-color:var(--ctco-gold);background:var(--ctco-soft)}
.ctco-r{flex:0 0 88px;padding:3px 0;border-radius:4px;color:#fff;font-size:.72rem;font-weight:700;text-align:center}
.ctco-r.r-w{background:var(--ctco-win)}.ctco-r.r-d{background:var(--ctco-draw)}.ctco-r.r-l{background:var(--ctco-loss)}
.ctco-gm{flex:1;min-width:0}
.ctco-gm b{display:block;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctco-gm small,.ctco-ga small{display:block;font-size:.78rem;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctco-ga{flex:0 0 auto;text-align:right;font-variant-numeric:tabular-nums}
.ctco-ga b{display:block;font-size:.95rem}
.ctco .ctco-go2{flex:0 0 auto;font-size:.85rem;font-weight:700;color:var(--ctco-gold)!important}
.ctco .ctco-credit{margin:0!important;font-size:.78rem!important;color:inherit!important;opacity:.65}
.ctco-how h2{font-size:1.25rem}

@media(max-width:720px){.ctco-tr{grid-template-columns:1fr}.ctco .ctco-row select{flex:1 1 100%}.ctco .ctco-go{flex:1 1 100%}.ctco .ctco-go2{display:none}.ctco-card{padding:14px}.ctco-rank{flex-basis:34px;height:34px;font-size:1rem}}
@media(max-width:420px){.ctco-r{flex-basis:76px}.ctco-nav .ctco-btn2{padding:0 9px!important}}
@media(prefers-reduced-motion:reduce){.ctco-pbar i{transition:none}}
