:root{font-family:Arial,sans-serif;color:#202a32;background:#eef2f6;line-height:1.5;--accent:#245dde;--accent-soft:#e6edff}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #c7d0dd;border-radius:8px;padding:11px 17px;min-height:44px;background:white;color:#202a32}button:disabled{cursor:default;opacity:.55}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ea642b;outline-offset:3px}[hidden]{display:none!important}.demo-header{background:white;border-bottom:1px solid #ccd5df;padding:18px 4%;display:flex;gap:20px;align-items:center;justify-content:space-between}.demo-title{font-size:24px;font-weight:750;letter-spacing:-.04em}.demo-title small{display:block;font-size:11px;font-weight:400;letter-spacing:.02em;color:#5d6775}.demo-actions{display:flex;gap:8px;align-items:center}.language-button{padding:8px 12px;font-size:12px}.language-button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}.back{font-size:13px}.demo-notice{padding:13px 4%;font-size:13px;background:#fff4d7;border-bottom:1px solid #e4d3a2}.demo-layout{max-width:1350px;margin:auto;padding:28px 4% 45px}.panel{background:white;border:1px solid #d1d9e1;border-radius:12px;padding:22px}.panel h2{font-size:20px;margin:0 0 18px;letter-spacing:-.03em}.panel h3{font-size:16px;margin:20px 0 10px}.panel p{font-size:14px;color:#596574}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{filter:brightness(.92)}.compact{padding:8px 11px;min-height:38px;font-size:12px}.muted{font-size:12px;color:#647084}.status{padding:5px 11px;background:var(--accent-soft);color:var(--accent);font-size:12px;border-radius:20px}.two-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}label{font-size:13px}select,input{border:1px solid #c2ced9;border-radius:7px;padding:10px;min-height:44px;background:white;max-width:100%}.map{position:relative;border-radius:10px;overflow:hidden;background:#e5eceb;border:1px solid #cbd5d5;min-height:340px}.map svg{width:100%;height:340px;display:block}.map .spot{position:absolute;transform:translate(-50%,-50%);border-radius:50%;width:56px;height:56px;background:#215ad3;color:white;border:3px solid white;box-shadow:0 3px 12px #182b3330;font-weight:bold;padding:0}.map .spot.occupied{background:#64717c}.map .spot.reserved{background:#b04b15}.map .spot.selected{outline:4px solid #e7773a;outline-offset:3px}.map-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;margin-top:13px}.map-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}.reservation{border:1px solid #d0dbe5;border-radius:8px;padding:15px;margin:15px 0}.reservation strong{display:block}.reservation button{margin-top:10px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{border:1px solid #ccd5e1;padding:14px;border-radius:10px}.metric span{display:block;font-size:11px;color:#596574}.metric strong{font-size:25px}.phone{max-width:420px;margin:auto;border:9px solid #253038;border-radius:32px;background:#fff;overflow:hidden;box-shadow:0 12px 30px #10273613}.phone-header{padding:25px 22px 20px;background:var(--accent);color:white}.phone-header h2{font-size:24px;margin:0}.phone-body{padding:22px}.phone-body p{font-size:14px}.phone-body button{width:100%;margin:8px 0}.node-card{border:1px solid #ced9d4;border-radius:10px;padding:15px;margin:14px 0}.radar{width:210px;height:210px;border-radius:50%;border:1px solid #79a78f;margin:20px auto;position:relative;background:repeating-radial-gradient(circle,#e8f3ed 0 33px,#b9d3c3 34px 35px)}.radar-dot{position:absolute;top:35%;left:65%;width:13px;height:13px;border:3px solid white;border-radius:50%;background:#216947}.timeline{font-size:13px;list-style:none;padding:0}.timeline li{padding:10px 0;border-top:1px solid #d6dfdc}.app-columns{display:grid;grid-template-columns:460px 1fr;gap:35px;align-items:start}.app-explanation h2{font-size:27px;letter-spacing:-.04em}.app-explanation p{font-size:15px;color:#556571}.app-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px}.robot-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:22px}.robot-left{display:grid;grid-template-columns:1fr 1fr;gap:20px}.robot-layout .wide{grid-column:1/-1}.robot-map{background:#e5eceb;position:relative;overflow:hidden;border:1px solid #c1cbd0;border-radius:8px}.robot-map svg{display:block;width:100%;height:290px}.robot-marker{transition:transform .25s}.control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:255px;margin:20px auto}.control-grid button{font-size:20px;min-height:60px;padding:9px}.control-grid button:nth-child(1){grid-column:2}.control-grid button:nth-child(2){grid-column:1}.control-grid button:nth-child(5){grid-column:2}.camera{background:#dae0e3;border-radius:8px;overflow:hidden;height:220px}.camera svg{width:100%;height:220px;display:block}.alert-list{list-style:none;padding:0}.alert-list li{border:1px solid #d6dfe9;background:#fff7ef;border-radius:8px;padding:14px;margin-top:12px}.alert-list strong{display:block;font-size:14px}.alert-list p{font-size:12px;margin:5px 0 10px}.proa-layout{display:grid;grid-template-columns:230px 1fr;gap:25px}.sidebar{background:#1c5369;color:white;padding:22px;border-radius:12px}.sidebar h2{font-size:24px;margin:0 0 25px}.sidebar button{display:block;width:100%;background:transparent;color:white;border:1px solid #ffffff50;margin:10px 0;text-align:left}.sidebar button[aria-pressed=true]{background:white;color:#1c5369}.proa-main{display:flex;flex-direction:column;gap:22px}.course-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.course{border:1px solid #c4d4da;border-radius:9px;padding:18px}.course h3{margin:0 0 10px}.course p{margin:0 0 15px;font-size:12px}.resource-list{list-style:none;padding:0}.resource-list li{border-top:1px solid #d0dbe0;display:flex;align-items:center;gap:15px;justify-content:space-between;padding:13px 0}.resource-list small{display:block;color:#64727c}.doc-preview{padding:18px;border-left:3px solid var(--accent);background:#f1f6f9}.guide-editor textarea{width:100%;min-height:110px;padding:12px;font:inherit;border:1px solid #c1cfd5;border-radius:8px}.demo-footer{padding:20px 4%;font-size:12px;color:#667280;border-top:1px solid #cdd5df}.demo-footer a{margin-right:20px}.toast{margin-top:15px;border-left:3px solid var(--accent);padding:10px 14px;background:var(--accent-soft);font-size:13px;min-height:44px}.cloudmetric{--accent:#216947;--accent-soft:#e0f1e7}.proa{--accent:#1c657d;--accent-soft:#e2f2f6}.velaris{--accent:#286fc1;--accent-soft:#deecff;background:#e7edf4}.velaris .demo-header{background:#182637;color:white}.velaris .back{color:white}.velaris .demo-title small{color:#c2ccdc}.velaris .panel{border-color:#c5d1df}.download-note{border:1px dashed #c6d2db;padding:12px;font-size:12px;color:#586979}.demo-report{overflow-wrap:anywhere}@media(max-width:950px){.app-columns{grid-template-columns:1fr 1fr;gap:20px}.robot-layout{grid-template-columns:1fr}.proa-layout{grid-template-columns:180px 1fr}.two-cols{grid-template-columns:1fr 1fr}}@media(max-width:640px){.demo-header{flex-wrap:wrap;padding:16px 20px;gap:12px}.demo-title{font-size:22px}.demo-actions{gap:6px}.demo-notice{padding:13px 20px;font-size:12px}.demo-layout{padding:22px 15px 35px}.two-cols,.app-columns,.robot-left,.proa-layout{grid-template-columns:1fr}.panel{padding:18px}.robot-layout{gap:18px}.sidebar{display:flex;flex-wrap:wrap;gap:8px;padding:16px}.sidebar h2{width:100%;margin-bottom:8px}.sidebar button{width:auto;flex:1;margin:0;font-size:12px;padding:10px;white-space:nowrap}.course-list{grid-template-columns:1fr}.metric-grid{gap:7px}.metric{padding:10px}.metric strong{font-size:21px}.phone{max-width:380px;width:100%}.map .spot{width:49px;height:49px}.map svg{height:310px}.demo-footer{padding:20px}.resource-list li{flex-wrap:wrap}.demo-footer a{display:inline-block;min-height:38px}.robot-map svg{height:270px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

.demo-title{margin:0;line-height:1.25}

/* Give every retained local demo a clear route back to the portfolio. */
.back{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 16px;border:1px solid #777b70;border-radius:3px;text-decoration:none;font-family:Bahnschrift,Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.4;color:#242822;background:transparent;transition:background-color .18s,color .18s,border-color .18s}
.back::before{content:"←";font-size:18px}
.back:hover{background:#242822;border-color:#242822;color:white}
.velaris .back{border-color:#b8c1ce;color:white}
.velaris .back:hover{background:#f4f1e8;color:#242822;border-color:#f4f1e8}
.back:focus-visible{outline:3px solid #ff7c3d;outline-offset:4px}
@media(max-width:640px){.demo-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.back{transition:none}}
