:root{--ct-bg:#fbfaf7;--ct-panel:#fffefa;--ct-soft:#f2f1ed;--ct-ink:#252b2b;--ct-muted:#66716f;--ct-line:#d9ddda;--ct-teal:#247a70;--ct-teal-soft:#deeee9;--ct-amber:#b77832;--ct-red:#a75648;--ct-map-low:#163f49;--ct-map-mid:#3a9b8c;--ct-map-high:#f1bd71;color-scheme:light}
html.dark{--ct-bg:#191a1b;--ct-panel:#222526;--ct-soft:#2a2e2e;--ct-ink:#edf0ec;--ct-muted:#b4beb9;--ct-line:#414846;--ct-teal:#79c9b4;--ct-teal-soft:#263d37;--ct-amber:#e6b56e;--ct-red:#e49a84;--ct-map-low:#153f4a;--ct-map-mid:#42a894;--ct-map-high:#f3c37a;color-scheme:dark}
*{box-sizing:border-box}
body.ct-page{margin:0;background:var(--ct-bg);color:var(--ct-ink);font:14px/1.7 "Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;transition:background-color .18s,color .18s}
.ct-shell{width:min(1500px,calc(100% - 72px));margin:0 auto}
.ct-breadcrumb{display:flex;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid var(--ct-line);font-size:12px;color:var(--ct-muted)}
.ct-breadcrumb a,.ct-footer a{color:var(--ct-teal);text-decoration:none}
.ct-breadcrumb a:hover,.ct-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.ct-heading{padding:28px 0 24px;border-bottom:1px solid var(--ct-line)}
.ct-eyebrow{margin:0 0 7px;color:var(--ct-amber);font:600 10px/1.4 "Segoe UI",sans-serif;letter-spacing:1.5px}
.ct-heading h1{margin:0;font-size:30px;line-height:1.4;font-weight:600}
.ct-heading>p:last-child{max-width:740px;margin:11px 0 0;color:var(--ct-muted);font-size:13px}
.ct-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--ct-line)}
.ct-status-wrap,.ct-actions{display:flex;align-items:center;gap:10px}
.ct-status-wrap p{margin:0;color:var(--ct-muted);font-size:12px}
.ct-status-dot{width:8px;height:8px;border-radius:50%;background:var(--ct-amber);flex:none}
.ct-status-dot[data-state="ready"]{background:var(--ct-teal)}.ct-status-dot[data-state="training"]{background:var(--ct-amber);box-shadow:0 0 0 4px color-mix(in srgb,var(--ct-amber),transparent 82%)}.ct-status-dot[data-state="error"]{background:var(--ct-red)}
.ct-button,.ct-icon-button{min-height:36px;border:1px solid var(--ct-line);border-radius:3px;background:var(--ct-panel);color:var(--ct-ink);font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .16s,border-color .16s,opacity .16s}
.ct-button{padding:8px 13px}.ct-icon-button{width:38px;font-size:20px;line-height:1}
.ct-button:hover:not(:disabled),.ct-icon-button:hover:not(:disabled){border-color:var(--ct-teal);background:var(--ct-teal-soft)}
.ct-button-primary{border-color:var(--ct-teal);background:var(--ct-teal);color:#fff}.ct-button-primary:hover:not(:disabled){background:#1e6e65;color:#fff}
.ct-button:disabled,.ct-icon-button:disabled{opacity:.45;cursor:not-allowed}
.ct-workbench{display:grid;grid-template-columns:292px minmax(0,1fr);gap:30px;align-items:start;padding:22px 0 58px}
.ct-controls{border-right:1px solid var(--ct-line);padding-right:24px}
.ct-control-group{padding:0 0 22px;margin:0 0 21px;border-bottom:1px solid var(--ct-line)}
.ct-group-heading{display:flex;align-items:center;gap:9px;margin-bottom:5px}.ct-group-heading>span{font:600 10px/1.2 ui-monospace,Consolas,monospace;color:var(--ct-amber)}.ct-group-heading h2{margin:0;font-size:15px;line-height:1.5;font-weight:650}
.ct-muted{color:var(--ct-muted);font-size:11px;line-height:1.7}.ct-control-group>.ct-muted{margin:0 0 14px}
.ct-range-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 4px;font-size:11px;font-weight:600}.ct-range-label output{color:var(--ct-teal);font-variant-numeric:tabular-nums}
.ct-control-group input[type=range]{width:100%;height:18px;margin:0;accent-color:var(--ct-teal);cursor:pointer}
.ct-class-legend{display:flex;flex-wrap:wrap;gap:11px;margin:9px 0 4px}.ct-class-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--ct-muted);font-size:10px}.ct-swatch{display:inline-block;width:8px;height:8px;border-radius:50%}.ct-swatch-bedding{background:#379e91}.ct-swatch-fracture{background:#d18b48}.ct-swatch-pore{background:#7668aa}
.ct-text-button{border:0;background:none;color:var(--ct-teal);font-family:inherit;font-size:11px;font-weight:600;line-height:1.6;padding:7px 0;cursor:pointer}.ct-text-button:hover{text-decoration:underline;text-underline-offset:3px}.ct-text-button:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}
.ct-select-label{display:block;margin:13px 0 5px;font-size:11px;font-weight:600;color:var(--ct-muted)}
.ct-control-group select,.ct-layer-config select{width:100%;height:34px;padding:4px 9px;border:1px solid var(--ct-line);border-radius:3px;background:var(--ct-panel);color:var(--ct-ink);font-family:inherit;font-size:12px}
.ct-conv-config{display:grid;gap:10px;margin-top:14px}
.ct-layer-config{display:grid;grid-template-columns:minmax(0,1fr) 26px;gap:8px 10px;align-items:center;padding:10px 0 12px;border-top:1px solid var(--ct-line)}
.ct-layer-title{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:650}
.ct-layer-title span{color:var(--ct-amber);font:600 10px ui-monospace,Consolas,monospace}
.ct-layer-remove{width:26px;height:26px;padding:0;border:1px solid var(--ct-line);border-radius:3px;background:transparent;color:var(--ct-muted);font-size:14px;cursor:pointer}
.ct-layer-remove:hover{border-color:var(--ct-red);color:var(--ct-red)}.ct-layer-remove:disabled{opacity:.3;cursor:not-allowed}
.ct-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;grid-column:1/-1}
.ct-field-row label{display:block;color:var(--ct-muted);font-size:10px}.ct-field-row select{margin-top:4px}
.ct-pool-toggle{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:var(--ct-muted);font-size:10px;cursor:pointer}.ct-pool-toggle input{accent-color:var(--ct-teal)}
.ct-disclaimer{margin:0;color:var(--ct-muted);font-size:10px;line-height:1.8}
.ct-results{min-width:0}
.ct-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--ct-line);padding:0 0 17px;gap:10px}
.ct-metrics>div{display:flex;flex-direction:column;gap:3px;min-width:0}.ct-metrics span{color:var(--ct-muted);font-size:10px}.ct-metrics strong{font-size:19px;font-weight:620;font-variant-numeric:tabular-nums;white-space:nowrap}.ct-metrics strong small{font-size:11px;color:var(--ct-muted);font-weight:500}
.ct-architecture-section,.ct-chart-section,.ct-prediction-section,.ct-features-section{min-width:0}
.ct-architecture-section{padding:21px 0 24px;border-bottom:1px solid var(--ct-line)}
.ct-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:13px}.ct-section-heading h2{margin:0;font-size:15px;line-height:1.45;font-weight:650}.ct-section-heading .ct-eyebrow{margin-bottom:5px}.ct-section-heading>p,.ct-section-heading>div>p:not(.ct-eyebrow){margin:5px 0 0;color:var(--ct-muted);font-size:10px;line-height:1.7}
.ct-architecture{display:flex;align-items:stretch;gap:7px;overflow-x:auto;padding:2px 0 7px;scrollbar-color:var(--ct-line) transparent;scrollbar-width:thin}
.ct-stage{position:relative;display:flex;flex:0 0 auto;flex-direction:column;justify-content:center;min-width:105px;min-height:74px;padding:10px 12px;background:var(--ct-soft);border-left:3px solid var(--ct-teal)}
.ct-stage[data-kind="input"]{border-left-color:var(--ct-amber)}.ct-stage[data-kind="dense"]{border-left-color:#816eb0}.ct-stage[data-kind="output"]{border-left-color:var(--ct-red)}
.ct-stage strong{font-size:11px}.ct-stage span{display:block;color:var(--ct-muted);font:10px/1.5 ui-monospace,Consolas,monospace;margin-top:3px}.ct-stage-arrow{align-self:center;color:var(--ct-muted);font-size:14px;flex:none}
.ct-analysis-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.85fr);gap:25px;padding:22px 0;border-bottom:1px solid var(--ct-line)}
.ct-chart-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:var(--ct-muted);font-size:9px}.ct-chart-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.ct-chart-legend i{display:inline-block;width:14px;height:2px;background:var(--ct-teal)}.ct-chart-legend .ct-line-valid{background:var(--ct-amber)}
#ct-loss-chart{display:block;width:100%;height:170px;border-bottom:1px solid var(--ct-line)}.ct-chart-caption{margin:7px 0 0;color:var(--ct-muted);font-size:10px}
.ct-sample-nav{display:flex;gap:5px}.ct-sample-nav button{width:28px;height:28px;border:1px solid var(--ct-line);border-radius:3px;background:var(--ct-panel);color:var(--ct-ink);cursor:pointer}.ct-sample-nav button:hover:not(:disabled){border-color:var(--ct-teal);color:var(--ct-teal)}.ct-sample-nav button:disabled{opacity:.4;cursor:not-allowed}
.ct-sample-display{display:flex;align-items:center;gap:13px;padding:10px 0 13px}.ct-sample-display>canvas{width:80px;height:80px;image-rendering:pixelated;border:1px solid var(--ct-line);background:var(--ct-soft)}.ct-sample-display>div{display:grid;grid-template-columns:1fr;gap:0}.ct-sample-display .ct-muted{font-size:9px}.ct-sample-display strong{font-size:12px;line-height:1.6}.ct-sample-display strong+span{margin-top:5px}
.ct-prediction-bars{display:grid;gap:7px}.ct-probability-row{display:grid;grid-template-columns:46px minmax(0,1fr) 38px;gap:7px;align-items:center;font-size:9px;color:var(--ct-muted)}.ct-probability-track{height:6px;background:var(--ct-soft);overflow:hidden}.ct-probability-track i{display:block;height:100%;background:var(--ct-teal);transition:width .25s}.ct-probability-row.is-predicted{color:var(--ct-ink);font-weight:650}.ct-probability-row.is-predicted .ct-probability-track i{background:var(--ct-amber)}.ct-probability-row output{text-align:right;font-variant-numeric:tabular-nums}
.ct-features-section{padding:23px 0 0}.ct-feature-heading{align-items:flex-start}.ct-feature-heading h2{font-size:17px}.ct-feature-heading>div>p:not(.ct-eyebrow){max-width:650px}.ct-feature-count{color:var(--ct-muted);font:10px ui-monospace,Consolas,monospace;white-space:nowrap;padding-top:5px}
.ct-feature-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}
.ct-feature-focus{position:sticky;top:18px;display:grid;justify-items:center;gap:10px;padding:14px;background:var(--ct-soft)}.ct-feature-focus>canvas{width:min(100%,205px);aspect-ratio:1;image-rendering:pixelated;border:1px solid var(--ct-line);background:#202b2b}.ct-feature-focus>div:nth-child(2){width:100%}.ct-feature-focus strong{display:block;font-size:12px}.ct-feature-focus p{margin:3px 0 0;color:var(--ct-muted);font-size:9px;line-height:1.6}.ct-color-legend{width:100%;display:flex;align-items:center;justify-content:space-between;gap:7px;color:var(--ct-muted);font-size:9px}.ct-color-legend i{flex:1;height:7px;background:linear-gradient(90deg,var(--ct-map-low),var(--ct-map-mid),var(--ct-map-high))}
.ct-feature-layers{min-width:0}.ct-feature-empty{margin:0;padding:28px 0;color:var(--ct-muted);font-size:11px}.ct-feature-layer{padding:0 0 15px;margin:0 0 14px;border-bottom:1px solid var(--ct-line)}.ct-feature-layer:last-child{margin-bottom:0}.ct-feature-layer-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.ct-feature-layer-header strong{font-size:11px}.ct-feature-layer-header span{color:var(--ct-muted);font:9px ui-monospace,Consolas,monospace}.ct-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(57px,1fr));gap:7px}
.ct-map-tile{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:4px 4px 5px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--ct-muted);font:9px ui-monospace,Consolas,monospace;cursor:pointer}.ct-map-tile:hover{background:var(--ct-soft)}.ct-map-tile[aria-pressed="true"]{border-color:var(--ct-teal);background:var(--ct-teal-soft);color:var(--ct-ink)}.ct-map-tile canvas{display:block;width:48px;height:48px;max-width:100%;image-rendering:pixelated;background:#202b2b}
.ct-footer{border-top:1px solid var(--ct-line);padding:18px 0;color:var(--ct-muted);font-size:10px}.ct-footer>.ct-shell{display:flex;align-items:center;justify-content:space-between;gap:15px}
.ct-page :focus-visible{outline:3px solid var(--ct-amber);outline-offset:3px}
@media(max-width:1120px){.ct-shell{width:calc(100% - 48px)}.ct-workbench{grid-template-columns:258px minmax(0,1fr);gap:22px}.ct-controls{padding-right:18px}.ct-analysis-grid{grid-template-columns:1fr}.ct-prediction-section{padding-top:4px}.ct-prediction-bars{grid-template-columns:repeat(3,minmax(0,1fr))}.ct-probability-row{grid-template-columns:40px minmax(0,1fr) 32px}}
@media(max-width:760px){.ct-shell{width:calc(100% - 36px)}.ct-heading{padding:22px 0 18px}.ct-heading h1{font-size:26px}.ct-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.ct-actions{width:100%;flex-wrap:wrap}.ct-workbench{grid-template-columns:1fr;gap:24px;padding-top:18px}.ct-controls{padding:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.ct-control-group:nth-child(2){grid-column:1/-1;grid-row:2}.ct-control-group:nth-child(3){grid-column:1/-1;grid-row:3}.ct-disclaimer{grid-column:1/-1}.ct-control-group{padding-bottom:15px;margin-bottom:15px}.ct-metrics{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.ct-analysis-grid{gap:19px}.ct-feature-layout{grid-template-columns:1fr}.ct-feature-focus{position:static;grid-template-columns:110px minmax(0,1fr);justify-items:start;align-items:center;gap:10px 14px;padding:10px}.ct-feature-focus>canvas{width:110px;grid-row:span 2}.ct-feature-focus>div:nth-child(2){align-self:end}.ct-color-legend{align-self:start}.ct-map-grid{grid-template-columns:repeat(auto-fill,minmax(55px,1fr))}}
@media(max-width:440px){.ct-shell{width:calc(100% - 28px)}.ct-heading h1{font-size:23px}.ct-heading>p:last-child{font-size:12px}.ct-button{padding:8px 10px;font-size:11px}.ct-icon-button{margin-left:auto}.ct-controls{grid-template-columns:1fr}.ct-control-group:nth-child(2),.ct-control-group:nth-child(3){grid-column:auto;grid-row:auto}.ct-control-group:nth-child(2){grid-row:auto}.ct-analysis-grid{grid-template-columns:minmax(0,1fr)}.ct-section-heading{align-items:flex-start;flex-direction:column}.ct-prediction-section .ct-section-heading{align-items:center;flex-direction:row}.ct-chart-legend{margin-top:3px}.ct-sample-nav{align-self:auto;margin-top:0}.ct-prediction-bars{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px}.ct-probability-row{grid-template-columns:1fr 34px;gap:3px}.ct-probability-row .ct-probability-track{grid-row:2;grid-column:1/-1}.ct-probability-row output{grid-column:2;grid-row:1}.ct-map-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ct-map-tile canvas{width:52px;height:52px}.ct-footer>.ct-shell{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
