:root{font:17px/1.5 system-ui;color:#e9eef9;background:#111b2d;color-scheme:dark}*{box-sizing:border-box}body{margin:0;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}main{max-width:1200px;margin:auto}h1{font-size:clamp(1.5rem,4vw,2.3rem)}a{color:#a3d9ff;display:inline-flex;align-items:center}nav,.host-tools,.host-party{display:flex;gap:12px;flex-wrap:wrap;margin-block:16px}a,button,select,input{min-height:44px;font:inherit}button,select,input{padding:9px;border:1px solid #7690ac;border-radius:7px;background:#1c304c;color:#fff;max-width:100%}button:not(:disabled){cursor:pointer}button:disabled{opacity:.6}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #ffd687;outline-offset:3px}button[aria-pressed=true]{border:3px solid #ffd687}form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}label{display:grid;gap:5px;min-width:0}form p,form button[type=submit]{grid-column:1/-1}section{margin-block:24px;padding:16px;background:#15243a;border-radius:10px;min-width:0}select{width:100%;text-overflow:ellipsis}#curriculum-host [hidden]{display:none!important}[data-host-status],[data-coverage]{padding:12px;border-left:4px solid #ffd687;overflow-wrap:anywhere}.host-map-scroll{width:100%;overflow:auto;max-height:65vh;border:1px solid #7690ac}.host-map{position:relative;width:1000px;height:1250px;overflow:hidden;background:linear-gradient(#162b43,#214258);border:2px solid #7690ac;border-radius:12px;margin-block:20px}.host-map>*{position:absolute;transform:translate(-50%,-50%)}.host-cell{width:44px;height:44px;min-height:44px;padding:0;background:#265f50;border:1px solid #b1f2d3;z-index:1}.host-cell.blocked{background:#733e49;opacity:.8}.host-actor{background:#18213e;color:#fff;border:1px solid #eecb7c;border-radius:5px;padding:5px;font-size:13px;pointer-events:none;z-index:3}.host-enemy{font-size:14px;max-width:160px;z-index:4}.host-tools button,.host-party button{flex:1 1 180px}details>button{margin:6px}input[type=file]{width:100%}@media(max-width:600px){body{padding:10px}.host-map{height:1250px}.host-enemy{max-width:112px;font-size:12px}section{padding:10px}.host-actor{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
