html,body{cursor:default;-webkit-user-select:none;user-select:none;background:#000;height:100%;margin:0;font-family:Verdana,Geneva,sans-serif;overflow:hidden}body.playing,body.playing *{cursor:none}#stage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#view{width:100%;height:100%;display:block}#hud{color:#ff2020;pointer-events:none;text-shadow:0 1px 2px #000;font-size:15px;font-weight:700;position:absolute;top:12px;left:10px}#overlay{background:#00000040;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#overlay[hidden]{display:none}.window{background:#e8e8e8;border:1px solid #333;width:min(600px,90vw);box-shadow:0 8px 24px #00000080}.window .title{color:#fff;background:linear-gradient(#4a6fa5,#2d4d7c);padding:4px 8px;font-size:14px;font-weight:700}.window .body{color:#111;padding:14px 16px;font-size:15px}.window p{margin:4px 0 12px;line-height:1.4}.window label{align-items:center;gap:10px;display:flex}.window input{font:inherit;flex:1;padding:3px 6px}.buttons{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.buttons button{font:inherit;min-width:90px;padding:3px 12px}.experimenter{color:#333;border-top:1px solid #bbb;padding:8px 16px 12px;font-size:12px}.experimenter summary{cursor:pointer;color:#555}.experimenter div{margin-top:6px}.code{-webkit-user-select:all;user-select:all;background:#fff;border:1px solid #aaa;padding:1px 5px;font-size:14px}button.link{color:#2d4d7c;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.ok{color:#1c7a2c;font-weight:700}.warn{color:#b3261e;font-weight:700}.keys{color:#444;margin:10px 0 0;font-size:13px}.results{border-collapse:collapse;margin:6px 0 10px;font-size:14px}.results th,.results td{text-align:right;border:1px solid #bbb;padding:3px 10px}.results th:first-child,.results td:first-child{text-align:left}.downloads{flex-wrap:wrap;justify-content:flex-start}.results-box{margin:10px 0 0;font-size:13px}.results-box summary{cursor:pointer;color:#555}.stored td:last-child{white-space:nowrap}.stored button{font:inherit;font-size:12px}.window.setup{flex-direction:column;width:min(860px,96vw);max-height:94vh;display:flex}.window.setup .body{font-size:13px;overflow-y:auto}.setup .intro{color:#333}.setup .toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.setup .toolbar label{flex:1;min-width:260px}.setup .toolbar select,.setup .toolbar button{font:inherit}.setup .note{background:#fff8d0;border:1px solid #d8c060;padding:4px 8px}.setup .sections{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:10px;display:grid}.setup fieldset{border:1px solid #bbb;margin:0;padding:6px 10px 8px}.setup legend{color:#2d4d7c;font-weight:700}.setup label.field{grid-template-columns:1fr 120px;gap:2px 8px;margin:4px 0;display:grid}.setup label.field input[type=checkbox]{flex:none;justify-self:start}.setup label.field select,.setup label.field input{font:inherit;box-sizing:border-box;width:100%;min-width:0}.setup label.field em{color:#666;text-align:right;grid-column:1/-1;font-size:11px;font-style:normal}.setup label.field.invalid input{outline:2px solid #b3261e}.setup label.field em.err{color:#b3261e}
