
:root{
  --w3-ink:#e8eef5; --w3-ink2:#b3c1d1; --w3-muted:#8496a8;
  --w3-glass:rgba(13,19,25,.82); --w3-line:rgba(255,255,255,.12);
  --w3-accent:#3b8fe0; --w3-ok:#2fbf8f; --w3-bad:#e2574c; --w3-warn:#e0a526;
  --w3-mono:"Cascadia Mono",Consolas,"DejaVu Sans Mono",monospace;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden;background:#0b1016;color:var(--w3-ink);
  font:13px "Segoe UI",-apple-system,Arial,sans-serif;-webkit-font-smoothing:antialiased}
#w3-root{position:fixed;inset:0}
#w3-canvas{display:block;width:100%;height:100%;outline:none}
#w3-hud{position:absolute;inset:0;pointer-events:none}
#w3-hud > *{pointer-events:auto}
button{font:inherit;cursor:pointer;color:inherit}
.w3-panel{background:var(--w3-glass);border:1px solid var(--w3-line);border-radius:10px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}


.w3-top{position:absolute;left:12px;right:12px;top:10px;display:flex;gap:8px;align-items:center;pointer-events:none}
.w3-top > *{pointer-events:auto}
.w3-brand{padding:7px 12px;font-weight:700;letter-spacing:-.2px;display:flex;gap:8px;align-items:center}
.w3-brand small{font-weight:500;color:var(--w3-muted)}
.w3-chip{padding:6px 10px;font-size:12px;color:var(--w3-ink2);white-space:nowrap}
.w3-chip b{color:var(--w3-ink)}
.w3-grow{flex:1}
.w3-btn{padding:6px 11px;border-radius:8px;border:1px solid var(--w3-line);background:rgba(255,255,255,.06);font-size:12px;font-weight:600}
.w3-btn:hover{background:rgba(255,255,255,.14)}
.w3-btn.pri{background:var(--w3-accent);border-color:var(--w3-accent);color:#fff}
.w3-btn.pri:hover{filter:brightness(1.1)}
.w3-btn:disabled{opacity:.45;cursor:default}
.w3-top .w3-btn{background:var(--w3-glass);color:var(--w3-ink);text-decoration:none}
.w3-top .w3-btn:hover{background:rgba(40,52,64,.92)}


.w3-hand{position:absolute;left:12px;bottom:12px;padding:10px 12px;min-width:220px;max-width:320px}
.w3-hand h4{margin:0 0 4px;font-size:11px;font-weight:600;color:var(--w3-muted);text-transform:uppercase;letter-spacing:.06em}
.w3-hand .v{font-size:14px;font-weight:600}
.w3-hand .s{font-size:12px;color:var(--w3-ink2);margin-top:2px}
.w3-prompt{position:absolute;left:50%;bottom:90px;transform:translateX(-50%);padding:9px 14px;font-size:14px;white-space:nowrap;display:none}
.w3-prompt kbd{display:inline-block;min-width:22px;padding:1px 6px;margin-right:8px;border-radius:5px;background:#fff;color:#111;font:700 12px var(--w3-mono);text-align:center}
.w3-cross{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:rgba(255,255,255,.7);pointer-events:none;display:none}
.w3-toast{position:absolute;left:50%;top:64px;transform:translateX(-50%);padding:8px 14px;font-size:13px;opacity:0;transition:opacity .25s;pointer-events:none;max-width:80vw;text-align:center}
.w3-toast.on{opacity:1}
.w3-toast.bad{border-color:rgba(226,87,76,.6)}


.w3-map{position:absolute;right:12px;bottom:12px;padding:6px}
.w3-map canvas{display:block;border-radius:6px}
.w3-tasks{position:absolute;right:12px;top:58px;width:300px;max-height:45vh;overflow:auto;padding:10px 12px;display:none}
.w3-tasks h4{margin:0 0 6px;font-size:12px}
.w3-tasks ol{margin:0;padding-left:18px}
.w3-tasks li{margin:4px 0;color:var(--w3-ink2);font-size:12px;line-height:1.35}
.w3-tasks li.done{color:var(--w3-ok)}
.w3-tasks li.done::marker{content:"✓  "}


.w3-keys{position:absolute;left:12px;top:58px;padding:9px 12px;font-size:12px;color:var(--w3-ink2);line-height:1.7}
.w3-keys kbd{display:inline-block;min-width:20px;padding:0 5px;border-radius:4px;border:1px solid var(--w3-line);font:600 11px var(--w3-mono);color:var(--w3-ink);text-align:center}


.w3-modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.w3-modal{width:min(560px,100%);max-height:86vh;display:flex;flex-direction:column;overflow:hidden}
.w3-modal header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--w3-line)}
.w3-modal header h3{margin:0;font-size:15px;flex:1}
.w3-modal .body{padding:12px 14px;overflow:auto}
.w3-modal .body p{margin:0 0 10px;color:var(--w3-ink2);line-height:1.45}
.w3-list{display:flex;flex-direction:column;gap:6px}
.w3-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--w3-line);background:rgba(255,255,255,.04);text-align:left;width:100%}
.w3-item:hover{background:rgba(255,255,255,.1)}
.w3-item .t{flex:1;min-width:0}
.w3-item .t b{display:block;font-size:13px}
.w3-item .t span{display:block;font-size:11.5px;color:var(--w3-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w3-item:disabled{opacity:.45;cursor:default}
.w3-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:var(--w3-muted)}
.w3-dot.up{background:var(--w3-ok)}.w3-dot.down{background:var(--w3-bad)}
.w3-search{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--w3-line);background:rgba(0,0,0,.3);color:var(--w3-ink);margin-bottom:10px;font:inherit}
.w3-ports{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}


.w3-term{position:absolute;right:12px;top:58px;bottom:12px;width:min(720px,calc(100vw - 24px));display:flex;flex-direction:column;overflow:hidden}
.w3-term header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--w3-line)}
.w3-term header b{flex:1}
.w3-term pre{flex:1;margin:0;padding:10px 12px;overflow:auto;font:12.5px/1.4 var(--w3-mono);color:#d7e2ec;white-space:pre-wrap;word-break:break-word;background:#05080b;user-select:text}
.w3-term pre .er{color:#ff8a80}.w3-term pre .log{color:#9fb3c6}.w3-term pre .pr{color:#fff}
.w3-term form{display:flex;border-top:1px solid var(--w3-line);background:#05080b}
.w3-term form span{padding:8px 0 8px 12px;font:12.5px var(--w3-mono);color:#fff;white-space:nowrap}
.w3-term form input{flex:1;border:0;outline:0;background:transparent;color:#fff;padding:8px 10px 8px 6px;font:12.5px var(--w3-mono)}


.w3-intro{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,rgba(11,16,22,.55),rgba(11,16,22,.92));padding:16px}
.w3-intro .card{max-width:520px;padding:22px 24px}
.w3-intro h1{margin:0 0 6px;font-size:22px;letter-spacing:-.3px}
.w3-intro p{color:var(--w3-ink2);line-height:1.5;margin:0 0 12px}
.w3-intro ol{color:var(--w3-ink2);line-height:1.6;padding-left:20px;margin:0 0 16px}
.w3-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--w3-muted)}


.w3-touch{position:absolute;left:16px;bottom:120px;width:120px;height:120px;border-radius:50%;border:1px solid var(--w3-line);background:rgba(255,255,255,.05);display:none}
.w3-touch i{position:absolute;left:40px;top:40px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.25)}
.w3-tbtn{position:absolute;right:16px;bottom:200px;width:64px;height:64px;border-radius:50%;display:none;font-weight:700}
@media (pointer:coarse){ .w3-touch,.w3-tbtn{display:block} .w3-keys{display:none} }
@media (max-width:640px){
  .w3-chip.opt,.w3-brand small,.w3-keys,#w3-clock{display:none}
  .w3-top{flex-wrap:wrap;gap:6px}
  .w3-top .w3-grow{display:none}
  .w3-top .w3-btn{padding:6px 9px}
  .w3-tasks{top:100px}
  .w3-map{display:none}
  .w3-hand{min-width:0;max-width:60vw}
  .w3-tasks{width:calc(100vw - 24px)}
}
