/*! Zorost Intelligence | AI Fieldwork / Generative Flow Engine | https://zorost.com | © Zorost Intelligence LLC | MIT license, keep this notice (see LICENSE) */:root{--ink: #e8e4da;--ink-dim: rgba(232, 228, 218, .55);--panel: rgba(12, 12, 14, .82);--panel-edge: rgba(255, 255, 255, .08);--accent: #d4af37;--mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:#050506;color:var(--ink);font-family:Avenir Next,Helvetica Neue,Arial,sans-serif;overflow:hidden}#stage{position:fixed;inset:0}#gl-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}#masthead{position:absolute;top:22px;left:28px;pointer-events:none;user-select:none;z-index:5}#masthead h1{margin:0;font-size:13px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:var(--ink)}#masthead .tagline{margin:4px 0 0;font-size:11px;letter-spacing:.18em;color:var(--ink-dim)}#loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:#050506;z-index:20;transition:opacity .6s ease;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim)}#loading.hidden{opacity:0;pointer-events:none}#loading .spinner{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.15);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#hints{position:absolute;left:28px;bottom:20px;display:flex;flex-wrap:wrap;gap:4px 18px;z-index:5;pointer-events:none;user-select:none;font-family:var(--mono);font-size:10px;color:var(--ink-dim)}#hints b{color:var(--ink);font-weight:600}#controls{position:absolute;top:20px;right:20px;width:304px;max-height:calc(100% - 40px);overflow-y:auto;overflow-x:hidden;background:var(--panel);border:1px solid var(--panel-edge);border-radius:12px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:10;font-size:11px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}#controls::-webkit-scrollbar{width:5px}#controls::-webkit-scrollbar-track{background:transparent}#controls::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:3px}#controls::-webkit-scrollbar-thumb:hover{background:#ffffff3d}#controls.collapsed .ctl-body{display:none}.ctl-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;user-select:none;letter-spacing:.24em;text-transform:uppercase;font-size:10px;color:var(--ink)}.ctl-head .chev{color:var(--ink-dim);font-family:var(--mono);margin-left:auto}.ctl-body{padding:4px 14px 14px}.ctl-section{margin:10px 0 2px;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--panel-edge);padding-bottom:4px}.ctl-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;min-width:0}.ctl-row>*{min-width:0}.ctl-row label{color:var(--ink-dim);flex:0 0 92px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctl-row .val{font-family:var(--mono);font-size:10px;color:var(--ink);min-width:40px;text-align:right}.ctl-row input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:2px;background:#ffffff2e;border-radius:1px;outline:none}.ctl-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--ink);cursor:pointer}.ctl-row select{flex:1;background:#ffffff0f;color:var(--ink);border:1px solid var(--panel-edge);border-radius:6px;padding:4px 6px;font-size:11px;outline:none}.ctl-row input[type=color]{width:34px;height:22px;border:1px solid var(--panel-edge);border-radius:6px;background:none;padding:0;cursor:pointer}.ctl-row input[type=checkbox]{accent-color:var(--accent)}.ctl-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.ctl-buttons button{flex:1 1 calc(50% - 6px);background:#ffffff0d;border:1px solid var(--panel-edge);color:var(--ink);border-radius:8px;padding:7px 4px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ctl-buttons button:hover{background:#d4af3724;border-color:#d4af3780}.ctl-buttons button.active{background:#d4af3738;border-color:var(--accent)}.ctl-file{display:block;width:100%;margin:6px 0;font-size:10px;color:var(--ink-dim)}.ctl-file input{display:none}.ctl-file span{display:block;text-align:center;padding:8px;border:1px dashed rgba(255,255,255,.25);border-radius:8px;cursor:pointer;letter-spacing:.1em}.ctl-file span:hover{border-color:var(--accent);color:var(--ink)}#fps-badge{position:absolute;right:20px;bottom:92px;z-index:5;font-family:var(--mono);font-size:10px;color:var(--ink-dim);background:#0006;padding:4px 8px;border-radius:6px;pointer-events:none;user-select:none}#brand{position:absolute;left:28px;bottom:58px;z-index:6;display:flex;align-items:center;gap:10px;user-select:none;opacity:.75;transition:opacity .2s ease}#brand:hover{opacity:1}#brand img{height:26px;width:auto;display:block;filter:saturate(.9)}#brand .brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left}#brand .brand-line{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);line-height:1.5}#brand .brand-line.strong{color:var(--ink);font-weight:600}#brand .brand-line.link{color:var(--ink-dim);text-decoration:none;letter-spacing:.18em}#brand .brand-line.link:hover{color:var(--accent)}#help-btn{border:none;background:none;color:var(--ink-dim);font-size:11px;font-weight:600;font-family:Georgia,serif;line-height:1;cursor:pointer;padding:0 6px;transition:color .15s ease}#help-btn:hover,#help-btn.active{color:var(--accent)}#help-overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#030304b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .25s ease}#help-overlay.visible{opacity:1;pointer-events:auto}.help-panel{width:min(720px,calc(100% - 48px));max-height:84vh;display:flex;flex-direction:column;background:#0e0e11f5;border:1px solid var(--panel-edge);border-radius:16px;overflow:hidden;box-shadow:0 30px 80px #0009}.help-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--panel-edge);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}.help-close{background:none;border:none;color:var(--ink-dim);font-size:22px;cursor:pointer;line-height:1;padding:0 2px}.help-close:hover{color:var(--ink)}.help-body{overflow-y:auto;padding:8px 26px 26px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.help-body::-webkit-scrollbar{width:5px}.help-body::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:3px}.help-body section{padding:18px 0 6px;border-bottom:1px solid rgba(255,255,255,.05)}.help-body section:last-child{border-bottom:none}.help-body h3{margin:0 0 10px;font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--ink)}.help-body h4{margin:14px 0 6px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}.help-text{font-size:12.5px;line-height:1.75;color:#e8e4dad9}.help-text p{margin:0 0 10px}.help-text ul{margin:0 0 10px;padding-left:18px}.help-text li{margin-bottom:6px}.help-text b{color:var(--ink);font-weight:600}.help-text i{color:#e8e4daa6}.help-diagram{float:right;width:120px;height:80px;margin:0 0 8px 16px;color:var(--accent);opacity:.85;border:1px solid var(--panel-edge);border-radius:10px;background:#ffffff08}.help-diagram svg{width:100%;height:100%;display:block}@media (max-width: 720px){#help-btn{font-size:10px}.help-diagram{float:none;margin:0 0 10px}}@media (max-width: 720px){#controls{width:232px}#masthead h1{font-size:11px}#hints{display:none}}#ctl-toast{position:absolute;left:50%;bottom:28px;transform:translate(-50%,8px);z-index:40;background:var(--panel);border:1px solid var(--panel-edge);border-radius:8px;padding:8px 14px;font-size:11px;letter-spacing:.08em;color:var(--ink);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}#ctl-toast.show{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion: reduce){#loading .spinner{animation:none}#loading,#ctl-toast{transition:none}}
