:root{color-scheme:light dark;--bg:light-dark(#f7f8fa,#131619);--surface:light-dark(#fff,#1b2025);--ink:light-dark(#182126,#e8eff3);--muted:light-dark(#64717c,#9ba8b4);--line:light-dark(#e4e9ec,#323b43);--soft:light-dark(#f0f4f6,#252d34);--arm:light-dark(#427da5,#75b4de);--block:light-dark(#e89448,#efac67);--goal:light-dark(#2b9574,#63c7a7);--accent:light-dark(#1d6955,#79d8b9);--accent-ink:light-dark(#fff,#0c2b21);--danger:light-dark(#b33932,#ff958c)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}main{max-width:1184px;margin:auto;padding:0 32px 26px}header{height:74px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:650;letter-spacing:1.2px}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--bg);width:26px;height:26px;border-radius:7px;font-size:20px}.divider{color:var(--line);margin:0 4px}.muted{color:var(--muted)}.connection{font-size:12px;color:var(--muted)}.connection:before{content:'';display:inline-block;width:6px;height:6px;background:var(--goal);border-radius:50%;margin-right:7px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:34px 0 28px}.eyebrow{font-size:10px;letter-spacing:2.1px;color:var(--accent);font-weight:650}h1{font-size:32px;letter-spacing:-1px;font-weight:600;margin:6px 0}p{color:var(--muted);margin:6px 0 0}.hardware{display:flex;align-items:center;gap:12px}.chip-symbol{font-size:26px;padding:4px 11px;border:1px solid var(--line);border-radius:12px}.hardware strong{font-size:14px;font-weight:600}.hardware small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:20px}.metrics>div{padding:17px 22px}.metrics>div+div{border-left:1px solid var(--line)}.metrics span{font-size:11px;color:var(--muted);display:block;margin-bottom:5px}.metrics strong{font-size:26px;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.metrics small{font-size:12px;margin-left:8px;color:var(--muted);font-weight:400}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:20px}.scene-panel,aside,.learning{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-heading{height:54px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:8px}.panel-heading strong{font-size:13px;font-weight:550}.live-dot{display:inline-block;width:6px;height:6px;background:var(--goal);border-radius:50%;margin-right:8px}.tag{background:var(--soft);color:var(--muted);border-radius:5px;font-size:10px;padding:3px 7px;white-space:nowrap}.canvas-wrap{position:relative}#scene{width:100%;height:370px;display:block}#episode-result{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:20px;background:var(--accent);color:var(--accent-ink);padding:6px 16px;font-size:12px;pointer-events:none}#episode-result:empty{display:none}.scene-stats{display:flex;justify-content:space-between;margin:0 20px;padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.scene-stats b{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums;margin-left:5px}.playback-controls{display:flex;gap:8px;align-items:center;padding:6px 20px 10px;flex-wrap:wrap}.playback-controls label{font-size:11px;color:var(--muted)}.policy-selector{margin-left:auto}.scene-footnote{display:flex;justify-content:space-between;gap:8px;padding:0 20px 16px;font-size:10px;color:var(--muted);flex-wrap:wrap}.scene-footnote label{display:flex;align-items:center;gap:4px}.scene-footnote input{accent-color:var(--accent);margin:0}button,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;min-height:32px;padding:5px 10px}button{cursor:pointer;font-size:12px;transition:background .15s}button:hover:not(:disabled){background:var(--soft)}button:disabled,select:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible{outline:2px solid var(--arm);outline-offset:3px}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);width:100%;height:37px;font-weight:500}.primary:hover:not(:disabled){background:var(--ink);color:var(--bg)}select{font-size:11px}.training-content{padding:18px 20px}.progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:8px}.progress{height:4px;background:var(--soft);border-radius:2px;overflow:hidden}.progress>div{height:100%;background:var(--goal);width:0;transition:width .15s}.settings{display:flex;gap:12px;margin:18px 0 12px}.settings label{flex:1;min-width:0;font-size:11px;color:var(--muted)}.settings select{display:block;width:100%;margin-top:5px}.train-actions{display:flex;gap:8px;margin-top:8px}.train-actions button{flex:1}dl{margin:20px 0 0;font-size:11px}dl>div{display:flex;justify-content:space-between;gap:8px;margin:9px 0}dt{color:var(--muted)}dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.note{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;margin-top:16px;line-height:1.8}#api-error{font-size:12px;color:var(--danger);margin-top:8px}#api-error:empty{display:none}.learning{margin-top:20px;padding:20px 20px 12px}.chart-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}h2{font-size:13px;font-weight:550;margin:0 0 3px}.chart-heading .muted{font-size:10px}.legend{display:flex;gap:18px;font-size:11px;color:var(--muted)}.legend span{white-space:nowrap}.legend i{display:inline-block;vertical-align:middle;width:14px;height:2px;margin-right:6px;background:var(--arm)}.legend .best{background:var(--goal)}#chart{display:block;width:100%;height:155px;margin-top:8px}footer{font-size:10px;color:var(--muted);padding:16px 0;display:flex;flex-direction:column;gap:4px}
@media(max-width:850px){main{padding:0 20px 20px}.workspace{grid-template-columns:minmax(0,1fr) 260px}.training-content{padding:16px}.metrics>div{padding:14px}.metrics strong{font-size:23px}.hardware{display:none}#scene{height:340px}.policy-selector{margin-left:0}}
@media(max-width:660px){main{padding:0 14px 16px}header{height:60px}.brand{gap:7px;font-size:10px}.connection{font-size:10px}.intro{padding:24px 0 20px}h1{font-size:27px}.eyebrow{font-size:9px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics>div:nth-child(3){border-left:0}.metrics>div:nth-child(n+3){border-top:1px solid var(--line)}.workspace{grid-template-columns:1fr}.scene-footnote{font-size:10px}.panel-heading{padding:0 16px}.chart-heading{align-items:flex-start;flex-direction:column;gap:9px}.learning{padding:16px}.settings{margin-top:14px}#scene{height:330px}.metrics strong{font-size:24px}.playback-controls{padding-left:16px;padding-right:16px}button{min-height:36px}.scene-stats{margin:0 16px}.brand .divider,.brand .muted{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#scene{height:430px;cursor:crosshair;touch-action:none}.manual-controls{display:flex;gap:20px;padding:6px 20px 12px}.manual-controls[hidden]{display:none}.manual-controls label{flex:1;min-width:0;font-size:11px;color:var(--muted)}.manual-controls output{float:right;font-variant-numeric:tabular-nums;color:var(--ink)}.manual-controls input{display:block;width:100%;margin:8px 0 0;accent-color:var(--arm)}.layout-details{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:0 20px 12px;font-size:10px;color:var(--muted)}#layout-new{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.policy-selector{margin-left:0}@media(max-width:660px){#scene{height:350px}.manual-controls{padding-left:16px;padding-right:16px;gap:12px}.layout-details{padding-left:16px;padding-right:16px}}

.action-description{font-size:11px;line-height:1.7;margin:0;color:var(--muted)}
.workers-description{margin-bottom:12px}
.checkpoint-panel{border-top:1px solid var(--line);padding:18px 20px 20px}.checkpoint-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.checkpoint-heading h2{font-size:13px;margin:0}.checkpoint-panel p{font-size:11px;line-height:1.7}.checkpoint-current-path{font:10px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);overflow-wrap:anywhere;background:var(--soft);border-radius:6px;padding:8px 10px;margin:9px 0 13px}.checkpoint-file-label,.checkpoint-path-form>label{display:block;font-size:11px;color:var(--muted)}.checkpoint-file-label input{display:block;max-width:100%;margin-top:5px;font:inherit;color:var(--ink)}.checkpoint-file-label input::file-selector-button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;min-height:32px;padding:5px 10px;margin-right:8px;cursor:pointer}.checkpoint-path-form{margin-top:13px}.checkpoint-path-form>div{display:flex;gap:8px;margin-top:5px}.checkpoint-path-form input{flex:1;min-width:0;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:7px 9px}.checkpoint-path-form button{white-space:nowrap}.checkpoint-panel input:focus-visible{outline:2px solid var(--arm);outline-offset:3px}.checkpoint-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.checkpoint-panel .checkpoint-help{font-size:10px;margin-top:10px}#checkpoint-error{font-size:11px;color:var(--danger);margin-top:8px}#checkpoint-error:empty{display:none}@media(max-width:660px){.checkpoint-panel{padding:16px}.checkpoint-path-form input{font-size:12px}.checkpoint-actions button{flex:1}}
.backend-settings{margin-top:0;margin-bottom:7px}.position-settings{margin-top:0;margin-bottom:7px}.metrics .metric-detail{font-size:10px;margin:2px 0 0;font-variant-numeric:tabular-nums}.metrics .metric-detail:empty{display:none}
.settings input[type=number]{display:block;width:100%;margin-top:5px;font:inherit;font-size:12px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;min-height:32px;padding:5px 10px;font-variant-numeric:tabular-nums}.settings input:disabled{opacity:.45;cursor:default}.settings input:focus-visible{outline:2px solid var(--arm);outline-offset:3px}.episode-settings{margin-bottom:5px}.episode-description{margin-bottom:12px}
.time-settings{border:1px solid var(--line);border-radius:8px;margin:0 0 14px;background:var(--surface)}.time-settings>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;cursor:pointer;list-style:none;font-size:12px}.time-settings>summary::-webkit-details-marker{display:none}.time-settings>summary::after{content:'';width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);margin:-3px 2px 0 4px;flex:none}.time-settings[open]>summary::after{transform:rotate(225deg);margin-top:3px}.time-settings>summary:hover{background:var(--soft);border-radius:7px}.time-settings>summary:focus-visible{outline:2px solid var(--arm);outline-offset:3px}#episode-time-summary{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}.time-settings-body{padding:0 12px 12px;border-top:1px solid var(--line)}.time-settings .episode-description{margin:10px 0}.time-settings .episode-settings{margin:0}.time-settings input[type=number]{min-height:36px}

.experiment{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.experiment-heading{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.experiment-heading h2{font-size:15px}.experiment-heading p{font-size:12px;margin-top:4px}.experiment-grid{display:grid;grid-template-columns:1fr 1fr}.experiment fieldset{border:0;min-width:0;margin:0;padding:20px 22px}.experiment fieldset+fieldset{border-left:1px solid var(--line)}.experiment legend{float:left;width:100%;padding:0;margin-bottom:6px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:12px}.field-help{clear:both;margin:0 0 17px;font-size:11px;line-height:1.8}.dimension-badge{color:var(--accent);background:var(--soft);padding:2px 8px;border-radius:5px;font-size:11px;font-variant-numeric:tabular-nums}.observation-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.observation-option{position:relative;display:flex;align-items:flex-start;gap:8px;min-width:0;border:1px solid var(--line);border-radius:7px;padding:10px;cursor:pointer;transition:background .15s,border-color .15s}.observation-option:has(input:checked){border-color:color-mix(in srgb,var(--arm) 40%,var(--line));background:color-mix(in srgb,var(--arm) 6%,var(--surface))}.observation-option input{margin:4px 0 0;accent-color:var(--arm);flex:none}.observation-copy{min-width:0;flex:1}.observation-title{display:flex;justify-content:space-between;align-items:baseline;gap:5px;font-size:11px}.observation-title small{font-size:10px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.observation-copy p{font-size:10px;line-height:1.5;margin:4px 0 0;color:var(--muted)}.reward-options{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:13px}.reward-control{display:block;min-width:0}.reward-label{display:flex;align-items:baseline;justify-content:space-between;font-size:11px;gap:10px}.reward-label output{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:550}.reward-control input{display:block;width:100%;margin:9px 0 3px;accent-color:var(--accent)}.reward-control p{font-size:10px;margin:3px 0 0;line-height:1.55}.text-button{font-size:10px;font-weight:400;min-height:25px;padding:2px 8px;color:var(--muted)}.experiment-foot{border-top:1px solid var(--line);padding:12px 22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;color:var(--muted);font-size:10px}.experiment fieldset:disabled .observation-option{cursor:default}.experiment fieldset:disabled input{opacity:.55}.experiment input:focus-visible{outline:2px solid var(--arm);outline-offset:3px}.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.learning-grid .learning{margin-top:0;padding:18px 16px 10px;min-width:0}.learning-grid .chart-heading{display:block;min-height:42px}.learning-grid .legend{gap:12px;flex-wrap:wrap;font-size:10px;margin-top:8px;min-height:16px}.legend .validation{background:var(--block)}.learning-chart,#chart{width:100%;height:185px;display:block;margin-top:7px}.experiment fieldset:disabled .text-button{opacity:.45}
@media(max-width:950px){.experiment-grid{grid-template-columns:1.1fr 1fr}.observation-options,.reward-options{grid-template-columns:1fr}.reward-options{row-gap:10px}.learning-grid{grid-template-columns:1fr}.learning-grid .chart-heading{min-height:0}.learning-chart,#chart{height:170px}.learning-grid .legend{margin-top:6px}}
@media(max-width:660px){.experiment-heading{padding:16px;align-items:flex-start;flex-wrap:wrap;gap:9px}.experiment-grid{grid-template-columns:1fr}.experiment fieldset{padding:17px 16px}.experiment fieldset+fieldset{border-left:0;border-top:1px solid var(--line)}.observation-options{grid-template-columns:1fr 1fr}.reward-options{grid-template-columns:1fr 1fr;column-gap:16px;row-gap:15px}.experiment-foot{padding:12px 16px}.observation-option{padding:8px;gap:6px}.observation-title{align-items:flex-start;flex-direction:column;gap:1px}.observation-copy p{font-size:10px}.learning-grid{gap:12px}}
.experiment>summary{list-style:none;cursor:pointer;border-bottom:0}.experiment>summary::-webkit-details-marker{display:none}.experiment[open]>summary{border-bottom:1px solid var(--line)}.experiment>summary:hover{background:var(--soft)}.experiment>summary:focus-visible{outline:2px solid var(--arm);outline-offset:-3px;border-radius:10px}.experiment-heading-copy{min-width:0;flex:1}.experiment-heading h2{margin:0}.experiment-heading-meta{display:flex;align-items:center;gap:18px;flex:none}.experiment-toggle-label{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--accent)}.experiment-toggle-label::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-4px 2px 0 0}.experiment-collapse{display:none}.experiment[open] .experiment-expand{display:none}.experiment[open] .experiment-collapse{display:inline}.experiment[open] .experiment-toggle-label::after{transform:rotate(225deg);margin-top:4px}@media(max-width:660px){.experiment-heading-meta{width:100%;justify-content:space-between}}
[hidden]{display:none!important}
.checkpoint-panel{padding:0}.checkpoint-panel>summary{padding:17px 20px;list-style:none;cursor:pointer;flex-wrap:nowrap;align-items:center}.checkpoint-panel>summary::-webkit-details-marker{display:none}.checkpoint-panel>summary:hover{background:var(--soft)}.checkpoint-panel>summary:focus-visible{outline:2px solid var(--arm);outline-offset:-3px}.checkpoint-panel[open]>summary{border-bottom:1px solid var(--line)}.checkpoint-heading-copy{min-width:0;flex:1}.checkpoint-heading-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.checkpoint-heading p{margin-top:5px;font-size:10px;line-height:1.7}.checkpoint-toggle-label{display:flex;align-items:center;gap:9px;color:var(--accent);font-size:11px;flex:none}.checkpoint-toggle-label::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-4px 2px 0 0}.checkpoint-collapse{display:none}.checkpoint-panel[open] .checkpoint-expand{display:none}.checkpoint-panel[open] .checkpoint-collapse{display:inline}.checkpoint-panel[open] .checkpoint-toggle-label::after{transform:rotate(225deg);margin-top:4px}.checkpoint-body{padding:8px 20px 20px}@media(max-width:660px){.checkpoint-panel>summary{padding:15px 16px}.checkpoint-heading-title{gap:6px}.checkpoint-body{padding:8px 16px 16px}.checkpoint-actions button{flex:1 1 auto}}
.wm-body{padding:0 22px 22px;border-top:1px solid var(--line)}.wm-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:16px 0}.wm-stages h3,.wm-results h3{font-size:13px;margin:0 0 12px}.wm-stages label{display:block;font-size:11px;color:var(--muted)}.wm-stages input{display:block;width:100%;min-width:0;box-sizing:border-box;margin:6px 0 10px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit}.wm-stages button{width:100%}.wm-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wm-results{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px 0;border-top:1px solid var(--line)}.wm-results p{white-space:pre-line;font-size:11px;line-height:1.8;color:var(--muted);margin:0}#wm-preview>label{font-size:11px;color:var(--muted)}#wm-preview-step{display:block;width:100%}#wm-error{font-size:12px;color:var(--danger);margin-top:8px}.wm-body>.field-help{margin-top:14px}@media(max-width:720px){.wm-stages,.wm-results{grid-template-columns:1fr}.wm-body{padding:0 16px 16px}.wm-stages>div{padding-bottom:10px;border-bottom:1px solid var(--line)}}

.stage-heading{display:flex;gap:14px;align-items:flex-start;margin:26px 0 18px}.stage-number{font-size:13px;color:var(--accent);background:var(--soft);padding:6px 9px;border-radius:7px;font-variant-numeric:tabular-nums}.stage-heading h2{font-size:17px;margin:0 0 5px}.stage-heading p{font-size:12px;margin:0;line-height:1.8}.learning-settings>.learning-grid{margin:0;padding:16px}.intro p{max-width:680px;line-height:1.8}@media(max-width:660px){.stage-heading{gap:10px}.stage-heading h2{font-size:15px}.learning-settings>.learning-grid{padding:12px}}

.wm-chart-settings{margin:18px 0}.wm-chart-settings .chart-heading h3{font-size:13px;margin:0 0 5px}.wm-chart-settings .chart-heading>.muted{font-size:10px}.wm-chart-note{font-size:10px;line-height:1.6;margin:7px 0 0;color:var(--muted)}.experiment[open] .experiment:not([open]) .experiment-expand{display:inline}.experiment[open] .experiment:not([open]) .experiment-collapse{display:none}.experiment[open] .experiment:not([open]) .experiment-toggle-label::after{transform:rotate(45deg);margin-top:-4px}

#world-training,#world-rl{margin-top:34px}.world-experiment .experiment-heading h3{font-size:15px;margin:0}.wm-fit-stages,.wm-refine-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.wm-model-results,.wm-loss-grid{grid-template-columns:1fr}.wm-rl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wm-refine-stages #wm-result{white-space:pre-line;line-height:1.8}.wm-body>.checkpoint-actions{margin-bottom:16px}.wm-body>.wm-results{margin-top:18px}#wm-rl-error{font-size:12px;color:var(--danger);margin-top:8px}@media(max-width:720px){.wm-fit-stages,.wm-refine-stages,.wm-rl-grid{grid-template-columns:1fr}}

.wm-chart-settings>.experiment-heading h3{font-size:15px;margin:0}

.wm-stages select{display:block;width:100%;min-width:0;margin:6px 0 10px;min-height:36px;font-size:12px}.wm-chart-settings #wm-model-legend{flex-wrap:wrap}

:root{--model4:light-dark(#8863bc,#b398df);--model5:light-dark(#c55678,#e393ac)}.wm-scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wm-scene-grid .scene-panel{min-width:0}#wm-actual-canvas,#wm-preview-canvas{display:block;width:100%;height:340px}.wm-preview-heading h3{font-size:13px;margin:0 0 6px}.wm-preview-controls{padding:14px 0 10px}#wm-preview-step{accent-color:var(--arm);margin:12px 0}.wm-preview-heading{margin:16px 0}.wm-preview-heading .field-help{margin-bottom:0}@media(max-width:720px){.wm-scene-grid{grid-template-columns:1fr}#wm-actual-canvas,#wm-preview-canvas{height:320px}}

#world-cold{margin-top:34px}.wm-refine-stages #wm-cold-result{white-space:pre-line;line-height:1.8}#wm-cold-error{font-size:12px;color:var(--danger);margin-top:8px}
