:root{--bg:#eef2f3;--ink:#182c35;--muted:#6f818b;--line:#e1e8eb;--teal:#05796e;--r1:#2de0be;--r2:#65abff;--r3:#c79bff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif}button,select,input{font:inherit}button,a,select{touch-action:manipulation}a{text-decoration:none;color:inherit}button{cursor:pointer;border:1px solid #d8e2e5;background:#fff;color:#223d48;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:600;white-space:nowrap}button:hover{border-color:#349d8d;background:#f4fbf9}button:disabled{opacity:.45;cursor:wait}button.primary{background:#087f73;border-color:#087f73;color:white}button.primary:hover{background:#076b60}button.quiet{border-color:transparent;background:transparent}.rail{position:fixed;inset:0 auto 0 0;width:218px;background:#101f28;color:#a9bbc5;padding:32px 23px;display:flex;flex-direction:column;z-index:10}.wordmark{font-size:29px;letter-spacing:2px;color:#fff;font-weight:800}.wordmark span{display:block;letter-spacing:2.4px;font-size:9px;color:#6d949e;margin-top:2px}.rail-label{font-size:9px;letter-spacing:1.5px;margin:53px 0 17px;color:#647f8c}.rail nav{display:grid;gap:9px}.rail nav a{padding:13px 10px;border-radius:7px;font-size:12px}.rail nav a span{font-size:18px;display:inline-block;width:30px}.rail nav a.active{background:#1a3b40;color:#73e8cc}.rail nav a:hover{background:#1b303c}.rail-bottom{margin-top:auto;font-size:11px}.rail-bottom small{display:block;padding:8px 14px;color:#6e8b99;font-size:9px}.rail-bottom p{border-top:1px solid #2a3d46;padding-top:20px;line-height:2;color:#7c949e;font-size:10px}i{display:inline-block;border-radius:50%}.rail-bottom i,.connection i{width:6px;height:6px;background:#3ce5b2;margin-right:8px}main{margin-left:218px;padding:0 30px 24px;max-width:1900px}header{height:66px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6d808a;border-bottom:1px solid #dbe3e7}header span{margin:0 12px;color:#8da0aa}.connection{display:flex;align-items:center}.connection span{margin:0}.intro{display:flex;align-items:center;justify-content:space-between;padding:31px 0 26px;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.9px;color:#087d71;font-weight:700;margin-bottom:8px}h1{font-size:29px;letter-spacing:-1.2px;margin:0 0 9px;font-weight:800}h2{font-size:15px;letter-spacing:-.4px;margin:0}p{line-height:1.7}.intro p{font-size:12px;color:#6b7f88;margin:0}.mobile{display:none}.environment{text-align:right;flex-shrink:0}.environment b{font-size:9px;letter-spacing:1px;color:#7b6b42;border:1px solid #ddd6bf;border-radius:5px;padding:8px 10px;display:block;background:#f8f5e9}.environment b i{width:5px;height:5px;background:#b89b49;margin-right:7px}.environment>span{font-size:10px;color:#7d898d;display:block;margin-top:9px}.stage-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.stage-tabs button{display:flex;align-items:center;text-align:left;gap:14px;padding:15px 18px;background:#f8fafb;border-color:#dde5e8}.stage-tabs small{font-size:17px;font-weight:500;color:#9aadb5}.stage-tabs span{font-size:13px}.stage-tabs em{font-size:10px;display:block;font-style:normal;font-weight:400;color:#8a9ba2;margin-top:4px}.stage-tabs button.selected{background:#e2f1ec;border-color:#93cabe;color:#126657}.stage-tabs button.selected small{color:#258a76}.factory-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:18px;align-items:start}.scene-card,.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-top{display:flex;justify-content:space-between;padding:21px 24px 17px}.live-badge{font-size:9px;letter-spacing:1.5px;color:#72908b}.live-badge i{width:5px;height:5px;background:#1aaf85;margin-right:7px}.card-top h2{margin-top:7px}.clock{text-align:right}.clock b{font-size:22px;font-weight:500;letter-spacing:2px;display:block;font-variant-numeric:tabular-nums}.clock span{font-size:8px;letter-spacing:1.5px;color:#8da0a9}.scene-wrap{position:relative;background:#0b1922;height:440px;overflow:hidden}#scene{width:100%;height:100%;display:block}.scene-overlay{position:absolute;left:17px;top:15px;right:17px;display:flex;justify-content:space-between;pointer-events:none;font-size:10px;color:#a0bec7}.scene-overlay span:first-child{background:#17313bcc;padding:7px 10px;border-radius:5px}.scene-overlay i{width:5px;height:5px;background:#3eddaf;margin-right:7px}.scene-overlay b{font-weight:500}.scene-overlay span:last-child{padding:7px}#scene-empty{position:absolute;top:46%;width:100%;color:#a8bbc4;text-align:center;font-size:12px}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid #e9edef;font-size:9px;color:#7c909b}.legend i{width:7px;height:7px;margin-right:5px}.r1{background:var(--r1)}.r2{background:var(--r2)}.r3{background:var(--r3)}.wet{background:#dfab4e}.rough{background:#aa82d6}.legend label{display:flex;align-items:center;gap:3px}.legend input{accent-color:#178b7b;width:11px;height:11px}.controls{display:flex;align-items:center;gap:7px;padding:15px 18px;flex-wrap:wrap}.controls button{font-size:10px;padding:9px 11px}.controls label{margin-left:auto;color:#7e939c;font-size:9px}.controls select{padding:4px;border:0;background:transparent;color:#496b75}.metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:17px 20px 21px;border-top:1px solid #eef2f3}.metrics>div{border-right:1px solid #e7edef;padding-left:18px}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0}.metrics span{font-size:10px;color:#8a9ba2;display:block;margin-bottom:6px}.metrics strong{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}.metrics small{font-size:10px;font-weight:400;color:#8c9ca3;margin-left:5px}.inspect{display:grid;gap:13px}.panel{padding:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-title>span{font-size:8px;letter-spacing:1.2px;color:#8ea0a8}.hint{font-size:10px;color:#82939b;line-height:1.7;margin:7px 0 11px}.robot{width:100%;text-align:left;padding:11px 10px;display:flex;align-items:center;gap:11px;margin-top:7px;border-color:#e5ecef;border-radius:8px;white-space:normal}.robot.picked{border-color:#69bfa9;background:#f0faf7}.bot-icon{width:30px;height:30px;background:#102733;border-radius:8px;display:grid;place-content:center;font-size:17px;flex-shrink:0}.robot .info{flex:1}.robot b{font-size:11px}.robot em{font-size:9px;font-style:normal;color:#7f929d;display:block;margin-top:3px}.robot .version{font-size:9px;color:#6b8d87}.detail h3{font-size:12px;margin:0 0 13px}.detail dl{display:grid;grid-template-columns:75px 1fr;gap:9px;font-size:10px;margin:0}.detail dt{color:#8b9da5}.detail dd{margin:0;line-height:1.5}.detail code{font-size:9px;color:#298c7a}.field{display:grid;gap:6px;font-size:10px;color:#7f939b;margin-bottom:13px}.field select{width:100%;border:1px solid #e0e8ea;border-radius:6px;padding:9px;background:white;color:#2a454e;font-size:10px}.toggle{display:flex;align-items:center;gap:7px;font-size:10px;color:#5d7782;margin:11px 0}.toggle input{accent-color:#0c8978}.learning-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;margin-top:18px}.learning-flow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0}.flow-robot{text-align:center;padding:15px 9px;background:#f6f9f9;border:1px solid #e6eeef;border-radius:8px;flex:1}.flow-robot b{display:block;font-size:12px;margin-bottom:6px}.flow-robot span{font-size:9px;color:#7e939d;line-height:1.7}.flow-robot .accepted{color:#07866c}.flow-robot .held{color:#a17a30}.flow-arrow{color:#a7c6be;font-size:19px}.shared-note{font-size:10px;background:#edf6f3;line-height:1.9;padding:12px;color:#65867c;border-radius:6px}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.model-grid h4{font-size:10px;margin:0 0 9px}.riskbar{font-size:8px;color:#8b9da4;margin-top:7px}.riskbar>div{height:4px;background:#e8eef0;border-radius:2px;margin-top:4px;overflow:hidden}.riskbar i{height:100%;border-radius:2px;background:#55bba2;display:block}.riskbar span{float:right;font-variant-numeric:tabular-nums}.event-list{height:253px;overflow:auto}.event{display:grid;grid-template-columns:35px 7px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #eef3f4;font-size:10px;line-height:1.7}.event time{color:#a1b0b7;font:9px monospace;padding-top:3px}.event i{width:5px;height:5px;background:#68bca5;margin-top:6px}.event.risk i{background:#d5a452}.event.hold i{background:#bd95e3}.event span{color:#6c8590}.compare{margin-top:18px}.compare .section-title h2{font-size:20px}.compare-empty{padding:30px;text-align:center;color:#8b9ea7;font-size:12px;border:1px dashed #dce7e9;border-radius:8px}.compare-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px;font-size:10px;color:#899da6}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-size:9px;color:#7f929d;font-weight:500;background:#f3f7f7;padding:11px}td{padding:13px 11px;border-bottom:1px solid #e8eef0;font-variant-numeric:tabular-nums}.result-bar{height:5px;background:#e4efeb;width:80px;margin-top:5px}.result-bar i{height:5px;background:#279c82;display:block;border-radius:0}td small{font-size:9px;color:#91a0a7}.table-scroll{overflow:auto}footer{font-size:10px;color:#8b9ea7;line-height:1.9;padding:22px 4px}footer b{color:#5f7d88;margin-right:8px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#102c34;color:white;padding:13px 20px;border-radius:8px;box-shadow:0 8px 40px #001b2826;transition:.2s;z-index:90;font-size:12px;max-width:90%}#toast.show{opacity:1;transform:translate(-50%,0)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #5cbbab;outline-offset:3px}@media(min-width:1600px){.scene-wrap{height:520px}.factory-layout{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:1200px){.rail{width:180px;padding:28px 17px}main{margin-left:180px;padding:0 20px}.factory-layout{grid-template-columns:minmax(0,1fr) 258px}.scene-wrap{height:420px}.stage-tabs button{padding:13px;gap:10px}.stage-tabs em{font-size:8px}.environment{display:none}.learning-layout{grid-template-columns:1fr 1fr}.panel{padding:16px}.legend{gap:9px}.controls label{margin-left:0}}@media(max-width:980px){.rail{width:72px;padding:25px 9px}.wordmark{font-size:15px;letter-spacing:0}.wordmark span,.rail-label,.rail-bottom{display:none}.rail nav{margin-top:30px}.rail nav a{font-size:0;text-align:center;padding:13px 6px}.rail nav a span{font-size:22px;width:auto}.rail nav a:last-child{font-size:10px}main{margin-left:72px}.factory-layout{grid-template-columns:minmax(0,1fr) 235px}.scene-wrap{height:380px}.stage-tabs em{display:none}.learning-layout{grid-template-columns:1fr}.event-list{height:180px}.intro h1{font-size:26px}.stage-tabs small{font-size:13px}.controls button{font-size:9px;padding:8px}.metrics strong{font-size:22px}.metrics>div{padding-left:12px}}@media(max-width:700px){.rail{position:fixed;inset:auto 0 0;width:100%;height:62px;padding:0 10px;background:#101f28f5;backdrop-filter:blur(10px);border-top:1px solid #29434e}.wordmark{display:none}.rail nav{display:flex;justify-content:space-around;gap:3px;margin:0}.rail nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8px!important;padding:7px 5px;gap:3px;border-radius:0;background:transparent!important;flex:1}.rail nav a span{font-size:18px;line-height:1.2}.rail nav a:last-child:before{content:'▤';font-size:18px}main{margin:0;padding:0 14px 78px}header{height:49px;font-size:9px}.intro{padding:24px 0 22px}.eyebrow{font-size:8px}.intro h1{font-size:27px;line-height:1.4;letter-spacing:-1px}.mobile{display:block}.intro p{font-size:11px;max-width:280px}.stage-tabs{gap:6px;margin-bottom:12px}.stage-tabs button{padding:12px 8px;gap:7px;justify-content:center}.stage-tabs span{font-size:11px}.stage-tabs small{font-size:10px}.factory-layout{grid-template-columns:1fr;gap:12px}.scene-wrap{height:365px}.card-top{padding:17px}.card-top h2{font-size:13px}.legend{padding:11px 13px;font-size:8px;gap:10px}.legend label{font-size:8px}.controls{padding:12px;gap:6px}.controls button{font-size:10px;padding:9px}.controls label{margin-left:auto}.metrics{padding:15px}.metrics span{font-size:9px}.metrics strong{font-size:23px}.inspect{grid-template-columns:1fr 1fr;gap:10px}.inspect>.panel:first-child{grid-column:1/-1}.inspect>.panel:first-child #robots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.robot{padding:9px 6px;gap:6px;align-items:flex-start}.robot .bot-icon{width:23px;height:23px;font-size:13px}.robot b{font-size:10px}.robot em{font-size:8px}.robot .version{display:none}.panel{padding:14px;border-radius:10px}.detail dl{grid-template-columns:1fr;gap:5px}.detail dd{margin-bottom:5px}.inspect .section-title>span{display:none}.field select{font-size:9px;padding:7px}.toggle{font-size:9px;align-items:flex-start}.inspect small.hint{font-size:8px}.learning-layout{margin-top:12px;gap:12px}.section-title h2{font-size:13px}.section-title button{font-size:10px;padding:9px}.learning-flow{gap:5px}.flow-robot{padding:12px 5px}.flow-robot span{font-size:8px}.shared-note{font-size:9px}.compare{margin-top:12px}.compare .section-title{align-items:flex-start;flex-direction:column}.compare .section-title h2{font-size:18px}.compare-empty{font-size:10px;padding:24px 12px}.compare-actions{font-size:9px}.compare-actions button{font-size:9px;padding:8px}footer{font-size:9px}th,td{white-space:nowrap;padding:10px 8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.control-section{margin-top:18px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.action-counts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:16px 0}.action-chip{background:#f2f6f6;border:1px solid #e1e9e9;border-radius:7px;padding:10px;font-size:9px;color:#709087}.action-chip strong{display:block;font-size:19px;color:#214b46;margin-top:4px}.offer-row{cursor:pointer}.offer-row:hover,.offer-row.selected{background:#edf8f4}.decision{font-size:9px;padding:4px 7px;border-radius:4px;background:#edf0f2;color:#617a83}.decision.Learn,.decision.Federate{background:#e2f5eb;color:#287b5e}.decision.Reject{background:#fbe9e6;color:#a46454}.decision.Sandbox,.decision.Defer{background:#fcf2dd;color:#9d7d34}.decision.Memorize{background:#efeaf9;color:#8a6aa8}.offer-detail{margin-top:13px;padding:14px;background:#f5f8f8;border-radius:8px;font-size:11px;color:#617f87;line-height:1.9}.offer-detail h3{font-size:12px;color:#284b53;margin:0 0 9px}.evidence-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.evidence-grid span{padding:7px;background:#fff;border:1px solid #e0eaea;border-radius:4px;font-size:9px}.evidence-grid b{display:block;color:#237c67;font-size:14px}.registry-list{max-height:265px;overflow:auto}.release-row{display:flex;align-items:center;justify-content:space-between;gap:9px;border-bottom:1px solid #eaf0f1;padding:10px 0;font-size:10px}.release-row small{display:block;color:#8a9da5;margin-top:4px;font-size:9px}.release-row button{padding:6px 9px;font-size:9px}.context-chain{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#8aa59d;font-size:11px}.context-chain span{padding:6px;border:1px solid #cbe2da;color:#447566;border-radius:4px;font-size:9px}.version-boundaries{border-top:1px solid #e5edee;padding-top:12px;font-size:10px;line-height:2.1;color:#86979e}.version-boundaries b{color:#3a7168;margin-right:7px}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.reference-grid a{border:1px solid #e1e9ec;border-radius:8px;padding:16px;display:grid;gap:9px;background:#fafcfc}.reference-grid a:hover{border-color:#8bc4b4}.reference-grid b{font-size:12px}.reference-grid span{font-size:10px;color:#65828d;line-height:1.7}.reference-grid small{font-size:9px;color:#93a2a8;line-height:1.7}#policy-summary{font-size:10px;line-height:1.9;color:#78939b;background:#f1f7f5;padding:11px;border-radius:5px}.rail{overflow-y:auto}.rail nav{gap:3px}.rail nav a{padding-top:10px;padding-bottom:10px}.rail-label{margin-top:34px}.controls #pipeline{border-color:#64ae99;color:#087861}.rail-bottom{padding-top:15px}@media(max-width:1100px){.reference-grid{grid-template-columns:1fr 1fr}.evidence-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.control-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}.control-section{margin-top:12px}.action-counts{grid-template-columns:repeat(3,1fr);gap:6px}.reference-grid{grid-template-columns:1fr 1fr;gap:8px}.reference-grid a{padding:11px}.reference-grid b{font-size:10px}.reference-grid span,.reference-grid small{font-size:8px}.rail{overflow:visible}.rail nav{overflow-x:auto;justify-content:flex-start}.rail nav a{min-width:65px;flex-shrink:0}.rail nav a:last-child:before{display:none}.offer-detail{font-size:10px;padding:10px}.controls #pipeline{font-size:9px}.section-title .field{min-width:86px}.scene-wrap{height:340px}}
.road-lab{margin:0 0 35px;scroll-margin-top:18px}.road-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.road-heading h2{font-size:23px;letter-spacing:-.6px}.road-heading p{font-size:11px;color:#758d98}.road-status{padding:8px 11px;font-size:10px;color:#168b73;border:1px solid #a7cfc0;border-radius:6px;max-width:340px}.road-status.bad{color:#ae654b;border-color:#ddb8a3}.road-disclosure{font-size:10px;color:#967e45;margin:8px 0 15px;line-height:1.7}.road-mode{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px}.road-mode button{text-align:left;padding:14px;font-size:17px;background:#fafcfc}.road-mode button span{font-size:10px;font-weight:400;margin-left:8px}.road-mode button.selected{background:#e2f2ec;border-color:#81bea7;color:#136f59}.road-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.road-scene{background:white;border:1px solid #e1e9eb;border-radius:10px;overflow:hidden;position:relative}.road-scene-header{display:flex;justify-content:space-between;padding:15px 18px;font-size:10px;color:#6e8b93}.road-scene-header b{letter-spacing:1px}.road-scene-header span{font-variant-numeric:tabular-nums}#road-map{height:510px;width:100%;display:block;background:#11212b}.road-overlay{display:flex;justify-content:space-between;padding:10px 17px;background:#192d38;color:#8ed5c3;font-size:10px}.road-key{padding:12px 16px;display:flex;flex-wrap:wrap;gap:12px;color:#80959e;font-size:9px}.road-key span:nth-child(1){color:#30b993}.road-key span:nth-child(2){color:#dc7873}.road-key span:nth-child(3){color:#ba975b}.road-controls{padding:9px 14px 14px;display:flex;gap:6px;flex-wrap:wrap}.road-controls button{font-size:10px;padding:9px 10px}.road-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e3ecee;padding:16px}.road-metrics span{display:block;font-size:10px;color:#8b9ea6;margin-bottom:8px}.road-metrics b{font-size:22px;font-weight:600}.road-metrics small{font-size:10px;margin-left:5px}.road-detail{display:grid;align-content:start;gap:13px}.road-detail h3,.road-learner-grid h3,.road-panel h3{font-size:13px;margin:0 0 14px}.road-detail .field{margin-top:13px}.road-detail button{font-size:10px}.road-learner-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px;margin-top:14px}.road-learner-grid .section-title span{font-size:8px}.road-learner-grid p{font-size:10px;color:#8296a0;line-height:1.8}.road-agent{padding:9px 0;border-bottom:1px solid #e3ecee;line-height:1.7}.road-agent b{font-size:11px;color:#338574}.road-agent span{float:right;font-size:10px;color:#7a939b}.road-agent small{display:block;font-size:9px;color:#94a3aa}.q-line{display:flex;justify-content:space-between;font-size:9px;padding:5px 7px;color:#98a9af}.q-line.chosen{background:#e7f5ef;color:#217b66}.road-panel{margin-top:14px}.road-panel button{font-size:9px}.road-event{display:grid;grid-template-columns:45px 1fr;gap:8px;font-size:9px;line-height:1.7;padding:7px 0;border-bottom:1px solid #edf1f2}.road-event b{color:#4e9b87;font-size:8px}.road-event span{color:#82949c}#road-events{max-height:290px;overflow:auto}#road-policy,#road-world{font-size:10px;line-height:1.8}#road-policy small{font-size:9px;color:#91a0a7}.road-heading .eyebrow{font-size:8px}@media(max-width:1150px){.road-workspace{grid-template-columns:minmax(0,1fr) 235px}#road-map{height:460px}.road-learner-grid{grid-template-columns:1fr 1fr}.road-learner-grid>.panel:last-child{grid-column:1/-1}#road-events{max-height:170px}.road-mode button span{display:block;margin:6px 0 0;font-size:9px}}@media(max-width:700px){.road-workspace{grid-template-columns:1fr}.road-heading{display:block}.road-heading h2{font-size:22px}.road-heading p{font-size:10px}.road-status{display:inline-block;margin:6px 0}.road-disclosure{font-size:8px}.road-mode button{font-size:13px;padding:10px 8px}.road-mode button span{font-size:8px;line-height:1.7}#road-map{height:390px}.road-controls button{font-size:9px}.road-detail{grid-template-columns:1fr 1fr;gap:10px}.road-detail .panel{padding:12px}.road-detail h3{font-size:12px}.road-metrics span{font-size:8px}.road-metrics b{font-size:18px}.road-learner-grid{grid-template-columns:1fr}.road-learner-grid>.panel:last-child{grid-column:auto}.road-panel .section-title{align-items:flex-start;flex-wrap:wrap}.road-panel .section-title h3{margin:0}.road-overlay{font-size:8px;gap:10px}.road-key{font-size:8px;gap:8px}.road-agent small{font-size:9px}#road-decision{font-size:9px}.q-line{font-size:8px}.road-lab{margin-bottom:25px}}
.road-view-switch{display:flex;gap:6px;padding:0 15px 10px;background:#fff}.road-view-switch button{font-size:9px;padding:6px 10px}#road-camera{height:510px;width:100%;display:none;background:#172b37}@media(max-width:1150px){#road-camera{height:460px}}@media(max-width:700px){#road-camera{height:390px}}
#road-3d-wrap{position:relative;background:#a5c7d1;height:540px;overflow:hidden}#road-3d{display:block;width:100%;height:100%;touch-action:none}#road-3d-hud,#road-3d-help{position:absolute;left:17px;pointer-events:none;font:9px ui-monospace,monospace;letter-spacing:.7px;color:#e4fff6;background:#143335c9;border:1px solid #91c2b944;border-radius:5px;padding:7px 9px}#road-3d-hud{top:14px}#road-3d-help{bottom:13px;color:#bfdad4;font:9px sans-serif}#road-map{display:none}.road-view-switch{align-items:center;flex-wrap:wrap}.road-view-switch label{font-size:9px;color:#728c96;margin-left:auto}.road-view-switch input{accent-color:#168b73}.road-view-switch button.selected{background:#e2f2ec;border-color:#81bea7;color:#136f59}.road-training-console{margin-top:15px}.road-training-console h3{font-size:17px;margin:0}.trainer-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.trainer-controls button,.trainer-checkpoint button{font-size:10px}.trainer-controls .toggle{margin:0 0 0 auto}.trainer-controls .field{margin:0;display:flex;align-items:center;font-size:9px}.trainer-controls select{font-size:10px;padding:8px}.training-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:17px 0}.training-kpis>div{padding:13px;background:#f1f7f5;border:1px solid #e0ede7;border-radius:7px}.training-kpis span{display:block;font-size:9px;color:#6e9186}.training-kpis b{display:block;margin-top:7px;font-size:20px;color:#185a4b;font-variant-numeric:tabular-nums}.training-kpis small{font-size:8px;color:#89a39b}.training-visuals{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.training-visuals>div{border:1px solid #e4eeeb;padding:14px;border-radius:9px;min-width:0}.training-visuals h4{font-size:11px;margin:0 0 10px;color:#56786d}.training-visuals svg{width:100%;display:block}.trainer-checkpoint{display:flex;align-items:center;gap:12px;border-top:1px solid #e4eeeb;padding-top:12px;font-size:10px;color:#6d8a7f}.paired-table{margin:12px 0}.paired-table td,.paired-table th{font-size:10px}.road-panel h3{font-size:13px}#road-trainer-state{font-size:10px;color:#168b73;letter-spacing:0;text-align:right}#road-training-proof{word-break:break-all}.road-workspace{grid-template-columns:minmax(0,1fr) 260px}.road-detail .hint{font-size:11px}.road-disclosure{font-size:11px}.road-heading p{font-size:12px}.road-controls button{font-size:11px}.road-agent small{font-size:10px}.road-training-console>.hint{font-size:11px}.road-detail .field{font-size:11px}.road-key{font-size:10px}@media(max-width:1100px){#road-3d-wrap{height:480px}.training-kpis{grid-template-columns:repeat(3,1fr)}.road-workspace{grid-template-columns:minmax(0,1fr) 230px}}@media(max-width:700px){#road-3d-wrap{height:400px}.road-workspace{grid-template-columns:1fr}.road-training-console h3{font-size:15px;line-height:1.5}.training-visuals{grid-template-columns:1fr}.training-kpis{gap:6px}.training-kpis>div{padding:10px}.training-kpis b{font-size:18px}.trainer-controls .toggle{margin:6px 0}.trainer-controls{gap:6px}.trainer-controls .field{width:100%;justify-content:space-between}.trainer-checkpoint{flex-wrap:wrap}.road-detail{grid-template-columns:1fr}.road-view-switch label{margin-left:0}.road-disclosure{font-size:10px}.road-controls button{padding:10px}.training-visuals>div{padding:10px}}
#road-3d-learning{position:absolute;right:14px;bottom:13px;max-width:70%;font:10px ui-monospace,monospace;padding:7px 10px;border-radius:5px;background:#102f35d9;color:#a8ecd6;pointer-events:none}#road-3d-learning:empty{display:none}@media(max-width:700px){#road-3d-help{font-size:8px;bottom:43px}#road-3d-learning{left:12px;right:auto;max-width:94%;font-size:9px}}
.gangnam-course{background:linear-gradient(110deg,#e4f1ed,#f6faf8);border:1px solid #a7cbbd;border-radius:10px;margin:15px 0;padding:19px;display:grid;grid-template-columns:1fr 1.15fr;gap:14px;align-items:center}.gangnam-course h3{font-size:19px;margin:0 0 8px;letter-spacing:-.5px;color:#175d4d}.gangnam-course p{font-size:11px;color:#62847a;margin:0}.gangnam-course-actions{display:flex;align-items:flex-end;gap:10px}.gangnam-course-actions label{font-size:10px;color:#66897e;display:grid;gap:7px;flex:1}.gangnam-course-actions select{font-size:12px;padding:11px;border:1px solid #afcebf;border-radius:6px;background:white;color:#245d4d;width:100%}.gangnam-course-actions button{font-size:11px;padding:12px;flex-shrink:0}#road-course-info{grid-column:1/-1;font-size:10px;color:#729287;line-height:1.8;border-top:1px solid #cce0d5;padding-top:10px}#road-course-info b{color:#3b7c66}#road-course-info a{text-decoration:underline}#road-map-credit{position:absolute;bottom:44px;left:17px;padding:6px 9px;border-radius:4px;background:#173c41d9;color:#e1f3e9;font-size:10px;z-index:3;display:none}#road-map-credit a{color:inherit}#road-3d-help{max-width:65%}@media(max-width:700px){.gangnam-course{grid-template-columns:1fr;padding:14px;gap:12px}.gangnam-course-actions{align-items:stretch;flex-direction:column}.gangnam-course h3{font-size:18px}#road-map-credit{bottom:70px;font-size:9px}.gangnam-course-actions select{font-size:11px}#road-course-info{font-size:9px}}
.gangnam-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.gangnam-labels span{position:absolute;transform:translate(-50%,-100%);background:#153d49e8;border:1px solid #88c0bb;color:#e9fff6;padding:6px 9px;border-radius:5px;font-size:11px;box-shadow:0 3px 12px #072b3333;white-space:nowrap}.gangnam-labels span:after{content:'';position:absolute;left:50%;top:100%;border:4px solid transparent;border-top-color:#153d49e8;transform:translateX(-50%)}
/* Detailed workcells extend the existing factory UI. */
.cell-section{margin:26px 0;scroll-margin-top:25px}.cell-disclosure{font-size:11px;color:#5e6d71;background:#f1f6f4;padding:10px 12px;border:1px solid #dde7e3;border-radius:7px;margin-bottom:15px}.cell-toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:end;margin-bottom:16px}.cell-toolbar label,.cell-inspector label{display:grid;gap:6px;font-size:11px;color:#5e7277}.cell-toolbar select,.cell-inspector select,.cell-env select,.cell-env input{border:1px solid #d2dfda;border-radius:6px;background:white;padding:8px;font:inherit;max-width:100%;color:#284047}.cell-workspace{display:grid;grid-template-columns:minmax(0,1fr) 255px;border:1px solid #d8e3df;border-radius:10px;overflow:hidden}.cell-viewport{height:540px;position:relative;overflow:hidden;background:#e5eded}.cell-viewport canvas{display:block;width:100%;height:100%;cursor:grab}.cell-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.cell-label{position:absolute;left:0;top:0;white-space:nowrap;background:#fffdf1de;color:#365353;border:1px solid #c0d5ce;font-size:9px;padding:3px 6px;border-radius:4px;box-shadow:0 2px 5px #163d4710}.cell-label.chosen{background:#0b7a70;color:white;border-color:#0b7a70}.cell-camera{position:absolute;top:12px;left:12px;display:flex;gap:4px;flex-wrap:wrap;right:10px}.cell-camera button{font-size:10px;padding:6px 8px;background:#ffffffec}.cell-map-hud{position:absolute;bottom:12px;left:12px;display:grid;gap:4px;pointer-events:none;font-size:10px;color:#385759;background:#ffffffde;padding:9px;border-radius:6px;max-width:90%}.cell-map-hud b{font:600 16px monospace;color:#116e65}.cell-strip{display:flex;align-items:center;gap:7px;padding:10px;background:#f5f8f7;border-top:1px solid #dce7e1;font-size:11px}.cell-strip>span{flex:1}.cell-danger{color:#ac3a3a;border-color:#dfbaba!important}.cell-inspector{background:#fafcfb;padding:15px;border-left:1px solid #d8e3df;min-width:0}.cell-inspector h3{font-size:15px;margin:16px 0 9px}.cell-inspector small{display:block;font-size:10px;color:#73868a;line-height:1.7;margin-top:8px}.cell-detail-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;padding:6px 0;border-bottom:1px solid #e6ece9}.cell-detail-row span{color:#728487}.cell-detail-row b{text-align:right;font-weight:500}.cell-joints{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 0}.cell-joints span{padding:7px;background:#edf3f1;border-radius:4px;font:10px monospace;color:#4b686b}.cell-model{margin-top:20px;padding-top:14px;border-top:1px solid #dce7e2}.cell-model button{margin-top:8px;width:100%;font-size:11px}.cell-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;padding:24px 0}.cell-bottom h3,.cell-events h3{font-size:14px;margin:0}.cell-bottom .section-title{margin-bottom:12px}.cell-bottom button{font-size:10px;padding:7px}.cell-ops{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.cell-op{border:1px solid #dae4e0;border-radius:5px;padding:7px 9px;background:#f6f9f7;font-size:10px;display:grid;gap:4px;min-width:105px}.cell-op.running{border-color:#269b8c;background:#e6f5ef}.cell-op.completed{background:#eff6f3;color:#257064}.cell-op small{color:#7c8c8c}.cell-env{display:flex;flex-wrap:wrap;gap:7px;align-items:end}.cell-env label{display:grid;font-size:10px;gap:4px}.cell-env input{width:65px;padding:7px}.cell-env select{max-width:120px}.cell-mes-status{font-size:11px;border:1px solid #dce7e1;border-radius:6px;padding:10px;background:#f4f8f6;line-height:1.8}.cell-events{border-top:1px solid #dce7e2;border-bottom:1px solid #dce7e2;padding:12px 0;font-size:11px}.cell-events summary{cursor:pointer;font-weight:600}.cell-events>div{max-height:220px;overflow:auto;margin:12px 0}.cell-event{display:grid;grid-template-columns:55px 145px 1fr;gap:8px;padding:7px 5px;border-bottom:1px solid #e5ece8;font:10px monospace}.cell-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:15px}.cell-footer span{font-size:10px;color:#7a8d8c}.cell-footer button{font-size:10px}.cell-table{width:100%;border-collapse:collapse;font-size:11px}.cell-table th,.cell-table td{text-align:left;padding:7px;border-bottom:1px solid #e2e9e5}.cell-table th{font-weight:500;color:#6b8181}@media(max-width:1150px){.cell-workspace{grid-template-columns:minmax(0,1fr) 220px}.cell-viewport{height:470px}.cell-bottom{grid-template-columns:1fr}}@media(max-width:760px){.cell-workspace{grid-template-columns:1fr}.cell-inspector{border-left:0;border-top:1px solid #d8e3df}.cell-viewport{height:420px}.cell-section{padding:15px!important}.cell-toolbar label:first-child{width:100%}.cell-toolbar select{max-width:100%}.cell-toolbar button{font-size:11px}.cell-strip{flex-wrap:wrap}.cell-event{grid-template-columns:40px 120px 1fr}.cell-bottom{gap:15px}}
.cell-toolbar input[type=number]{width:80px;border:1px solid #d2dfda;border-radius:6px;background:#fff;padding:9px;font:inherit;color:#284047}.cell-execution{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:10px 12px;margin-bottom:12px;background:#edf7f2;border:1px solid #cee2d8;border-radius:7px;font-size:11px;color:#256659}.cell-execution>span:first-child{font-weight:600;margin-right:auto}.cell-execution label{display:flex;align-items:center;gap:5px}.cell-execution>span:last-child{font-size:10px;color:#6c8580}
.cell-connections{border-top:1px solid #dce7e2;padding:14px 0;font-size:12px}.cell-connections summary{cursor:pointer;font-weight:600;display:flex;gap:10px}.cell-connections summary span{font-size:10px;color:#718882;font-weight:400;margin-left:auto}.cell-connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0}.cell-connection-grid article{padding:14px;background:#f7faf8;border:1px solid #dce8e1;border-radius:8px;min-width:0}.cell-connection-grid h3{font-size:14px;margin:0 0 14px}.cell-connection-grid label{display:grid;gap:5px;font-size:11px;margin:8px 0;color:#55716b}.cell-connection-grid input:not([type=checkbox]),.cell-connection-grid select{width:100%;padding:8px;border:1px solid #ccddd4;border-radius:5px;background:white;box-sizing:border-box}.cell-connection-grid .controls{flex-wrap:wrap}.cell-connection-grid button{font-size:10px;padding:8px}.cell-connection-grid small{font-size:10px;color:#748a84;display:block;line-height:1.7;margin:8px 0}.cell-link-state{font:11px/1.7 monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#ecf3ef;border-radius:4px;padding:10px}.cell-jog{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cell-jog label{display:flex;align-items:center;gap:5px}.cell-jog select{width:55px}@media(max-width:760px){.cell-connection-grid{grid-template-columns:1fr}.cell-connections summary{flex-wrap:wrap}}

.fleet-camera{position:absolute;bottom:14px;left:14px;right:14px;display:flex;gap:5px;align-items:center;flex-wrap:wrap}.fleet-camera button{font-size:10px;padding:6px 8px;background:#fffffff0}.fleet-camera span{font-size:9px;color:#335b5c;background:#ffffffe0;padding:6px;border-radius:4px}.scene-wrap{height:520px}.scene-overlay{pointer-events:none}#road-3d-hud{font-size:9px;max-width:calc(100% - 28px);line-height:1.6}#road-3d-help{max-width:58%;opacity:.7}.cell-map-hud span:last-child{font-size:9px}@media(max-width:700px){.scene-wrap{height:460px}.cell-camera{gap:3px}.cell-camera button{padding:5px 6px;font-size:9px}.cell-map-hud{padding:6px;max-width:72%}.cell-map-hud span:last-child{display:none}#road-3d-hud{font-size:8px;letter-spacing:0;top:8px;left:8px;padding:4px 6px}#road-3d-wrap{height:470px}.fleet-camera span{font-size:8px}}
