/* 육각 성 생성 플레이어 */
.ct-root{--ct-gold:#e7bd78;--ct-cyan:#9ed7e3;--ct-ink:#102b3c;scroll-margin-top:155px}
.ct-root .ct-inputs{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(110px,.6fr) minmax(110px,.6fr) minmax(150px,.8fr);gap:18px;padding:20px 22px;border-bottom:1px solid #3a5868;background:#183849}
.ct-root label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#a9ccda;letter-spacing:.035em;min-width:0}
.ct-root select{width:100%;min-width:0;min-height:38px;border:1px solid #607e8d;background:#102b3c;color:#edf5ed;padding:8px 9px;font-family:inherit;font-size:12px;line-height:1.45;border-radius:0}
.ct-root select:focus-visible,.ct-root button:focus-visible,.ct-root input:focus-visible{outline:2px solid #f6cc84;outline-offset:3px}
.ct-root .ct-input-proof{display:flex;flex-direction:column;justify-content:center;gap:8px;border-left:1px solid #426171;padding-left:18px}
.ct-root .ct-input-proof small{font-size:10px;letter-spacing:.025em;color:#8fbbca}.ct-root .ct-input-proof b{color:#e7bd78;font-size:16px;font-weight:650}
.ct-root .ct-main{display:grid;grid-template-columns:minmax(0,1fr) 275px;align-items:stretch}
.ct-root .ct-stage{min-width:0;display:flex;flex-direction:column;justify-content:center;position:relative;background-color:#102b3c}
.ct-root .ct-stage svg{display:block;width:100%;height:auto;aspect-ratio:6/5;max-width:none}
.ct-root [data-ct-cell]{cursor:crosshair;transition:stroke-width .12s,opacity .12s}.ct-root [data-ct-cell]:hover{stroke:#fff;stroke-width:1.5;opacity:1}
.ct-root .ct-map-hint{padding:0 18px 10px;text-align:center;font-size:11px;color:#9fc5d2;line-height:1.7}
.ct-root .vx-stage-bottom{display:flex;gap:10px 17px;flex-wrap:wrap;min-height:35px;font-size:10px;padding:10px 18px}.ct-root .vx-stage-bottom>span{display:flex;align-items:center;gap:6px}.ct-root .vx-stage-bottom i{display:inline-block;width:7px;height:7px}
.ct-root .ct-inspector{min-width:0;padding:24px 20px;display:flex;flex-direction:column;border-left:1px solid #3e5b6c;min-height:620px}
.ct-root .ct-inspector>small{font-size:10px;letter-spacing:.06em;color:#91c8d8}.ct-root .ct-inspector h4{color:#f8f6e9;font-size:23px;line-height:1.4;margin:12px 0}.ct-root .ct-inspector>p{color:#b8d9df;font-size:12px;line-height:1.95;margin:0 0 18px;word-break:keep-all;overflow-wrap:anywhere}
.ct-root .ct-event-info{min-width:0}.ct-root .ct-fact{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid #304f60;font-size:11px;line-height:1.65;color:#9cc1ce}.ct-root .ct-fact b{color:#e1e9dd;font:500 11px/1.7 ui-monospace,monospace;text-align:right;overflow-wrap:anywhere;min-width:0;max-width:62%}
.ct-root .ct-rank{padding-top:16px}.ct-root .ct-rank>small{display:block;font-size:10px;line-height:1.7;color:#91c8d8;margin-bottom:8px}.ct-root .ct-rank>div{display:grid;grid-template-columns:20px 1fr 80px;gap:7px;align-items:center;padding:7px 6px;font:11px/1.65 ui-monospace,monospace;color:#a6c7d2}.ct-root .ct-rank>div.is-chosen{background:#2a4a52;color:#f2ce90;box-shadow:inset 0 0 0 1px #e7bd78}.ct-root .ct-rank code{text-align:right;color:inherit;font:inherit}.ct-root .ct-rank b{font:inherit}
.ct-root .ct-native-proof{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:6px}.ct-root .ct-native-proof small{font-size:10px;letter-spacing:.025em;color:#8fbbc8}.ct-root .ct-native-proof b{color:#90dbc8;font:500 18px/1.45 ui-monospace,monospace;letter-spacing:.035em}.ct-root .ct-native-proof span{font-size:11px;color:#b1cbd3}
.ct-root .ct-phase-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #3a5868}.ct-root .ct-phase-strip button{border:0;border-right:1px solid #3a5868;border-bottom:1px solid #3a5868;background:#183748;color:#b5d3dc;padding:14px 8px;font-size:11px;cursor:pointer;display:flex;gap:10px;justify-content:center;align-items:center}.ct-root .ct-phase-strip small{font:10px/1 ui-monospace,monospace;color:#80bacd}.ct-root .ct-phase-strip button[aria-pressed=true]{box-shadow:inset 0 -2px #e7bd78;background:#284c5c;color:#ffe1a4}.ct-root .ct-phase-strip button:hover{background:#244758}
.ct-root .ct-player{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #385867;background:#102a3b}.ct-root .ct-player>input{min-width:35px;flex:1;accent-color:#e7bd78;height:22px;cursor:pointer}.ct-root .ct-player>b{font:10px/1.5 ui-monospace,monospace;color:#abcfdb;min-width:36px;text-align:right}.ct-root .ct-player>button{flex-shrink:0;font-size:11px;min-height:32px;padding:6px 9px}
.ct-root .ct-operation{padding:18px 20px;background:#153345;border-bottom:1px solid #385867;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:center}.ct-root .ct-operation select{font-family:ui-monospace,monospace}.ct-root .ct-detail{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.ct-root .ct-detail span{grid-column:1/-1;font-size:11px;color:#a9ccda}.ct-root .ct-detail input{width:100%;min-width:0;accent-color:#96d2dc;cursor:pointer}.ct-root .ct-detail b{font:10px/1.5 ui-monospace,monospace;color:#9fcedb;min-width:48px;text-align:right}.ct-root [hidden]{display:none!important}
.ct-root .ct-selected{margin-top:20px;border-top:2px solid #e7bd78;padding-top:10px}.ct-root .ct-selected-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#f2d197}.ct-root .ct-selected-head button{background:none;border:0;color:#d6d9c9;font-size:21px;cursor:pointer}.ct-root .ct-selected p{font-size:11px;color:#b6ccd5;line-height:1.8}
.ct-root .ct-evidence{margin-top:15px}.ct-root .ct-evidence details{border:1px solid var(--doc-line,#bfd0d8);margin:8px 0;background:var(--doc-panel,#fffdf7)}.ct-root .ct-evidence summary{display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer;padding:16px 18px;font-size:13px;color:#2d7295;list-style:none}.ct-root .ct-evidence summary::before{content:'+';font:18px/1 ui-monospace,monospace}.ct-root .ct-evidence details[open]>summary::before{content:'−'}.ct-root .ct-evidence summary>span{margin-right:auto}.ct-root .ct-evidence summary>b{font:10px/1.7 ui-monospace,monospace;color:#5b7888;text-align:right;max-width:52%;overflow-wrap:anywhere}.ct-root .ct-source-meta{padding:0 18px 12px;color:#587184;font:11px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}.ct-root .ct-evidence pre{margin:0 12px 12px;padding:16px 0;background:#102b3c;color:#dcecef;overflow:auto;max-height:440px;tab-size:4}.ct-root .ct-evidence pre>span{display:flex;min-width:max-content}.ct-root .ct-evidence pre i{width:48px;flex-shrink:0;text-align:right;padding-right:16px;color:#6d95a8;font:10px/1.85 ui-monospace,monospace;font-style:normal;user-select:none}.ct-root .ct-evidence pre code{white-space:pre;font:11px/1.85 ui-monospace,monospace;padding-right:20px}
@media(max-width:900px){.ct-root .ct-main{grid-template-columns:minmax(0,1fr) 238px}.ct-root .ct-inspector{padding:18px 14px}.ct-root .ct-inputs{grid-template-columns:2fr 1fr 1fr;gap:12px}.ct-root .ct-input-proof{grid-column:1/-1;border-left:0;border-top:1px solid #426171;padding:10px 0 0;flex-direction:row;justify-content:space-between;align-items:center}.ct-root .ct-rank>div{grid-template-columns:17px 1fr 68px;gap:4px}.ct-root .ct-stage .vx-stage-top{font-size:8px}}
@media(max-width:700px){.ct-root .ct-main{display:block}.ct-root .ct-inspector{border-left:0;border-top:1px solid #3e5b6c;min-height:0;padding:20px}.ct-root .ct-inspector h4{font-size:21px}.ct-root .ct-inspector>p{max-width:none;font-size:12px}.ct-root .ct-native-proof{padding-top:18px}.ct-root .ct-inputs{padding:15px 12px;gap:12px;grid-template-columns:1fr 1fr}.ct-root .ct-inputs>label:first-child{grid-column:1/-1}.ct-root .ct-input-proof{font-size:10px}.ct-root .ct-input-proof small{font-size:9px}.ct-root .ct-input-proof b{font-size:13px}.ct-root .ct-phase-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.ct-root .ct-phase-strip button{padding:12px 2px;font-size:10px;gap:6px;flex-direction:column;white-space:nowrap}.ct-root .ct-player{gap:6px;padding:12px 8px}.ct-root .ct-player>button{font-size:10px;padding:5px 6px}.ct-root .ct-operation{grid-template-columns:1fr;padding:16px 12px;gap:16px}.ct-root .ct-evidence summary{padding:14px 12px;font-size:12px;gap:9px}.ct-root .ct-evidence summary>b{display:none}.ct-root .ct-evidence pre{margin:0 6px 8px}.ct-root .ct-map-hint{font-size:10px}.ct-root .vx-stage-bottom{gap:8px 12px;font-size:9px;padding:10px 12px}.ct-root .ct-fact{font-size:12px}.ct-root .ct-fact b{font-size:11px}.ct-root .ct-native-proof b{font-size:18px}.ct-root .ct-rank>div{grid-template-columns:22px 1fr 100px}.ct-root .ct-stage svg{aspect-ratio:6/5}}
@media(prefers-reduced-motion:reduce){.ct-root *{transition:none!important}}
@media print{.ct-root .ct-inputs,.ct-root .ct-player,.ct-root .ct-phase-strip,.ct-root .ct-operation{display:none}.ct-root .ct-main{display:block}.ct-root .ct-inspector{min-height:0}.ct-root .ct-evidence pre{max-height:none}.ct-root .ct-console{print-color-adjust:exact}}

.ct-root .ct-detail [data-detail-play]{grid-column:1/-1;justify-self:start;min-height:28px;padding:5px 10px;font-size:10px}.ct-root .ct-method-divider{display:block;padding:10px 18px;color:#e7bd78;font:11px/1.8 ui-monospace,monospace;border-bottom:1px solid #315267;margin-bottom:10px}.ct-root .ct-method-divider:not(:first-child){margin-top:20px}

/* Inspect recorded calculations without changing the document layout. */
.ct-root .ct-drills{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:12px 20px;background:#153345;border-bottom:1px solid #3a5868}.ct-root .ct-drills>span{font-size:11px;color:#a9ccda;margin-right:10px}.ct-root .ct-drills button{font-family:inherit;font-size:11px;line-height:1.6;cursor:pointer;padding:6px 10px;background:#102b3c;color:#d9e9e9;border:1px solid #52717e}.ct-root .ct-drills button:hover{background:#2a4a52;color:#f2ce90;border-color:#e7bd78}.ct-root .ct-candidate-proof{margin-top:14px;padding-top:12px;border-top:1px solid #e7bd78}.ct-root .ct-candidate-proof>small{font-size:11px;color:#f2ce90}.ct-root .ct-candidate-proof p{font-size:11px;line-height:1.8;color:#c6dcdd}@media(max-width:700px){.ct-root .ct-drills{padding:12px;gap:6px}.ct-root .ct-drills>span{flex-basis:100%}.ct-root .ct-drills button{font-size:11px;padding:6px 8px}}

@media(min-width:701px){.ct-root .ct-inspector{scrollbar-width:thin;scrollbar-color:#769ead #153345;scrollbar-gutter:stable}}

/* 선택 상태는 한쪽 선 대신 셀 전체 윤곽으로 구분한다. */
.ct-root .ct-rank>div.is-chosen{border-left:0;box-shadow:inset 0 0 0 1px #e7bd78}

