:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17202a;background:#eef2f5;--ink:#17202a;--muted:#6b7780;--line:#dce4e9;--soft:#f7f9fb;--ok:#197a43;--ok-bg:#eaf7ef;--warn:#9a6700;--warn-bg:#fff7df;--bad:#b42318;--bad-bg:#fff0ee;--blue:#245b89}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#eef2f5}button,input,select{font:inherit}button{border:1px solid #c9d3da;background:#fff;color:var(--ink);border-radius:9px;padding:8px 10px;font-weight:750;cursor:pointer}button.primary,.sheet-primary-link{background:var(--ink);color:#fff;border-color:var(--ink)}.copy-btn{border-color:#9fb6c7;color:#244e6d;background:#f7fbfe}.hidden{display:none!important}.runtime-hidden{display:none}.mobile-header{height:48px;background:#17202a;color:#fff;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.mobile-header>div:first-child{display:flex;align-items:baseline;gap:7px;min-width:0}.mobile-header strong{font-size:1rem;white-space:nowrap}.mobile-header span{font-size:.68rem;opacity:.62}.status-badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:900;font-size:.76rem;white-space:nowrap}.status-badge.idle{background:#edf1f4;color:#5e6a72}.status-badge.running,.status-badge.ready,.status-badge.recovering{background:var(--warn-bg);color:var(--warn)}.status-badge.done{background:var(--ok-bg);color:var(--ok)}.status-badge.failed,.status-badge.invalid,.status-badge.aborted{background:var(--bad-bg);color:var(--bad)}.mobile-dashboard{max-width:900px;margin:auto;padding:8px;display:grid;gap:8px;grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr}.task-strip,.result-strip,.pipeline-panel,.sim-panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 9px rgba(15,23,42,.035)}.task-strip{padding:8px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center}.task-strip input{min-width:0;width:100%;height:40px;border:1px solid #cbd6dd;border-radius:9px;padding:0 10px;color:var(--ink);background:#fff}.run-button{min-width:76px;height:40px}.icon-button{width:40px;height:40px;font-size:1.1rem}.result-strip{padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}.result-main{min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}.result-main>strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.failure-inline{font-size:.72rem;color:var(--bad);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.failure-inline code{font-size:.7rem}.compact{padding:6px 8px;font-size:.7rem;white-space:nowrap}.pipeline-panel{padding:8px}.pipeline-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.pipeline-head>div{display:flex;align-items:center;gap:7px;min-width:0}.pipeline-head strong{font-size:.78rem}.pipeline-head>div span{font-size:.68rem;color:#75828b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learned-summary{font-size:.62rem!important;font-weight:850;color:#35556d!important;background:#eef5fa;border-radius:999px;padding:4px 7px;white-space:nowrap}.task-pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.pipeline-skill{position:relative;border:1px solid #dce4e9;border-radius:9px;padding:6px;min-width:0;background:#fff}.pipeline-skill.current{border-color:#d5a623;background:#fffaf0}.pipeline-skill.success{border-color:#9ed4b2;background:#f4fbf6}.pipeline-skill.failed{border-color:#efafa8;background:#fff6f5}.skill-order{display:none}.skill-main{min-width:0}.skill-main strong{display:block;font-size:.69rem;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-desc{display:none}.skill-meta{margin-top:4px;display:flex;gap:3px;min-width:0}.skill-meta span{font-size:.52rem;background:#eef2f5;border-radius:999px;padding:2px 4px;color:#53636e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-meta span:nth-child(2){display:none}.skill-side{display:flex;align-items:center;justify-content:space-between;gap:3px;margin-top:4px}.pipeline-status{font-size:.54rem;font-weight:900;border-radius:999px;padding:2px 4px;background:#edf1f4;color:#66737c;white-space:nowrap}.pipeline-status.current{background:#fff0b8;color:#815c00}.pipeline-status.success{background:#dff2e6;color:#176b3b}.pipeline-status.failed{background:#ffe1de;color:#a11d14}.skill-learn-link{font-size:.53rem;font-weight:850;color:#245b89;text-decoration:none;white-space:nowrap}.sim-panel{padding:6px;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.sim-panel canvas{display:block;max-width:100%;max-height:100%;width:100%;height:auto;aspect-ratio:900/560;background:#f8fafb;border:1px solid #d7dfe4;border-radius:9px;touch-action:none}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;height:58px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #d9e1e6;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;backdrop-filter:blur(12px)}.bottom-nav button{border:0;background:#f4f7f9;border-radius:10px;display:grid;place-items:center;padding:4px}.bottom-nav span{font-size:.75rem;font-weight:850}.bottom-nav small{font-size:.58rem;color:#7a8790}.bottom-sheet{width:min(680px,100%);max-width:none;margin:auto 0 0 0;border:0;border-radius:18px 18px 0 0;padding:0;background:#fff;color:var(--ink);max-height:82dvh;box-shadow:0 -12px 35px rgba(0,0,0,.18)}.bottom-sheet::backdrop{background:rgba(20,28,34,.42)}.sheet-head{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #e6ecef;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-head small{display:block;font-size:.67rem;color:#7a8790}.sheet-head h2{font-size:1rem;margin:2px 0 0}.sheet-head>button{width:36px;height:36px;border-radius:50%;font-size:1.15rem}.sheet-body{padding:14px}.sheet-body p{color:var(--muted);font-size:.8rem}.sheet-primary-link{display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;padding:11px 13px;font-weight:850;margin-top:12px}.model-state{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #edf1f4}.model-state span{font-size:.74rem;color:#77848c}.model-state strong{font-size:.8rem}.sheet-note{margin-bottom:0}.sheet-actions,.manual-controls{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.manual-controls button{touch-action:none;user-select:none;-webkit-user-select:none;min-width:76px}.manual-controls button.manual-active{background:#17202a;color:#fff;border-color:#17202a;transform:translateY(1px)}.demo-record-state{font-size:.72rem;font-weight:800;color:#53636e;background:#f7f9fb;border:1px solid #e4eaee;border-radius:8px;padding:8px;margin-top:8px}.demo-record-state.recording{background:#fff0ee;border-color:#efb1aa;color:#a11d14}.demo-replace-label>span:last-child{display:flex;align-items:center;gap:6px;min-height:36px}.demo-replace-label input{width:auto;min-height:auto}.log-sheet-body{padding-top:8px}.log{height:52dvh;overflow:auto;background:#111820;color:#d9e2e8;border-radius:10px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.log-line{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05);overflow-wrap:anywhere}.log-line .time{color:#758695}.log-line.planner{color:#9ad0ff}.log-line.skill{color:#ffd48c}.log-line.success{color:#9de39d}.log-line.error{color:#ff9d9d}.settings-scroll{overflow:auto;max-height:calc(82dvh - 60px)}.settings-scroll>details{border-bottom:1px solid #edf1f4;padding:9px 0}.settings-scroll summary{font-size:.88rem;font-weight:850;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.form-grid label{display:grid;gap:3px;font-size:.72rem;color:#66727c}.form-grid input,.form-grid select{width:100%;border:1px solid #cbd6dd;border-radius:8px;padding:8px;min-height:36px;background:#fff}.toggle-list{display:grid;gap:7px;margin-top:8px;font-size:.8rem}.nested-details{margin-top:8px}.data-box{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9fa;border:1px solid #edf1f4;border-radius:8px;padding:9px;font-size:.7rem;line-height:1.4;max-height:260px;overflow:auto}.data-box.small{max-height:180px}.skill-queue{display:grid;gap:6px}.skill-item{border:1px solid #dce3e8;border-radius:8px;padding:7px;font-size:.72rem}.toast{position:fixed;left:50%;bottom:70px;transform:translate(-50%,16px);background:#17202a;color:#fff;border-radius:999px;padding:9px 14px;font-size:.75rem;font-weight:750;opacity:0;pointer-events:none;transition:.18s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){html,body{height:100%;overflow:hidden}.mobile-dashboard{height:calc(100dvh - 48px - 58px - env(safe-area-inset-bottom));padding:6px;gap:6px;grid-template-rows:48px 38px 126px minmax(0,1fr)}.task-strip,.result-strip,.pipeline-panel,.sim-panel{border-radius:10px}.task-strip{padding:4px 6px}.task-strip input{height:38px;font-size:.78rem}.run-button,.icon-button{height:38px}.result-strip{padding:4px 7px;min-height:38px}.result-main>strong{font-size:.68rem}.compact{font-size:.63rem;padding:5px 7px}.pipeline-panel{padding:6px}.pipeline-head{margin-bottom:4px}.pipeline-head strong{font-size:.72rem}.pipeline-head>div span{font-size:.6rem}.task-pipeline{gap:4px}.pipeline-skill{padding:5px}.skill-main strong{font-size:.62rem}.skill-meta{margin-top:3px}.skill-meta span{font-size:.48rem}.skill-side{margin-top:3px}.pipeline-status,.skill-learn-link{font-size:.48rem}.sim-panel{padding:4px}.bottom-sheet{width:100%}}
@media(min-width:761px){body{padding-bottom:68px}.mobile-dashboard{grid-template-columns:1fr 1fr;grid-template-areas:"task result" "pipe pipe" "sim sim";grid-template-rows:auto auto minmax(360px,1fr)}.task-strip{grid-area:task}.result-strip{grid-area:result}.pipeline-panel{grid-area:pipe}.sim-panel{grid-area:sim}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(520px,100%);border:1px solid #d9e1e6;border-bottom:0;border-radius:14px 14px 0 0}.task-pipeline{grid-template-columns:repeat(8,minmax(0,1fr))}}