:root{--glass:rgba(16,20,25,.78);--fg:#eef1f4;--muted:#9aa5b1;--accent:#f4bd1c;--ok:#5fc27e;--warn:#e0a03a;--err:#e0655c;--f-display:"Barlow Condensed","Arial Narrow",sans-serif;--f-body:"Barlow",system-ui,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,monospace}html,body{margin:0;height:100%;overflow:hidden;background:#12161b;color:var(--fg);font-family:var(--f-body)}#gl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#hud{position:fixed;top:12px;left:12px;background:var(--glass);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px 14px;display:grid;gap:8px;min-width:230px;max-width:calc(100% - 24px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px}#hud h1{margin:0;font-family:var(--f-display);font-size:22px;letter-spacing:.02em;line-height:1}#hud .sub{font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.05em}#hud .row{display:flex;justify-content:space-between;gap:12px;font-family:var(--f-mono);font-size:12px}#hud .row b{font-weight:400}#hud .ok{color:var(--ok)}#hud .warn{color:var(--warn)}#hud .err{color:var(--err)}#hud label{display:flex;align-items:center;gap:8px;cursor:pointer}#hud input{accent-color:var(--accent)}#hud input[type=range]{width:100%;margin:0}#hud .note{font-size:11px;color:var(--muted);line-height:1.4;max-width:260px}#hud .note a{color:inherit}#hud header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}#hud .fold{background:none;border:0;color:var(--muted);padding:2px 4px;margin:-2px -4px 0 0;cursor:pointer;font-size:16px;line-height:1}#hud .fold:before{content:"▴"}#hud.closed .fold:before{content:"▾"}#hud .fold:hover{color:var(--fg)}#hud .more{display:grid;gap:8px}#hud.closed{min-width:0}#hud.closed .more,#hud.closed .sub{display:none}@media (pointer:coarse){#hud .note.keys{display:none}}@media (pointer:fine){#hud .note.touch{display:none}}#settings:empty{display:none}#settings{position:fixed;top:12px;right:12px;width:290px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);overflow:auto;box-sizing:border-box;background:var(--glass);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;display:grid;gap:10px}#settings.closed{background:none;border:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto}#settings.closed>:not(.open){display:none}#settings header{display:flex;justify-content:space-between;align-items:center}#settings h2{margin:0;font-family:var(--f-display);font-size:20px;letter-spacing:.02em}#settings [hidden]{display:none!important}#settings form,#settings .body{display:grid;gap:8px}#settings p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}#settings fieldset{border:1px solid rgba(255,255,255,.1);border-radius:6px;margin:0;padding:6px 10px 10px;display:grid;gap:6px}#settings legend{font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.04em;padding:0 4px}#settings label{display:grid;grid-template-columns:1fr auto;gap:2px 8px}#settings output{font-family:var(--f-mono);font-size:12px}#settings label.toggle{display:flex;align-items:center;gap:8px;cursor:pointer}#settings input[type=checkbox]{margin:0;accent-color:var(--accent)}#settings input[type=range]{grid-column:1/-1;width:100%;margin:0;accent-color:var(--accent)}#settings fieldset.cols{grid-template-columns:1fr 1fr;gap:6px 10px}#settings label:has(:disabled){opacity:.45}#settings label.select{grid-template-columns:1fr}#settings select{background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:5px;color:var(--fg);padding:5px 6px;font:inherit}#settings input[type=password]{background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:5px;color:var(--fg);padding:6px 8px;font:inherit}#settings button{background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:5px;color:var(--fg);padding:6px 10px;font:inherit;cursor:pointer}#settings button:hover{background:#ffffff29}#settings .x{background:none;border:0;font-size:20px;line-height:1;padding:0 4px}#settings .publish,#settings form button{background:var(--accent);border-color:var(--accent);color:#111;font-weight:500}#settings .actions{display:flex;gap:6px;flex-wrap:wrap}#settings .logout{justify-self:start;background:none;border:0;padding:0;color:var(--muted);font-size:11px;text-decoration:underline}#settings .open{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#settings .reports{list-style:none;margin:0;padding:0;display:grid;gap:10px}#settings .reports li{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}#settings .reports img{width:100%;border-radius:4px}#settings .reports span,#settings .reports summary{font-family:var(--f-mono);font-size:11px;color:var(--muted)}#settings .reports q{font-style:italic}#settings .reports summary{cursor:pointer}#settings .reports details p{margin-top:4px;font-size:11px;word-break:break-word}#settings .reports button{justify-self:start;padding:3px 8px;font-size:12px}#settings .ok{color:var(--ok)}#settings .warn{color:var(--warn)}#settings .err{color:var(--err)}#director .badge{position:fixed;top:12px;right:12px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:var(--glass);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--f-mono);font-size:11px;letter-spacing:.04em}#director .badge i{width:8px;height:8px;border-radius:50%;background:#e5483d;animation:director-rec 1.6s ease-in-out infinite}#director .badge span{color:var(--muted)}@keyframes director-rec{50%{opacity:.25}}#director .caption{position:fixed;left:24px;bottom:28px;display:grid;gap:2px;padding:10px 16px 10px 14px;border-left:3px solid var(--accent);background:var(--glass);border-radius:0 6px 6px 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transform:translate(-12px);transition:opacity .5s,transform .5s;pointer-events:none}#director .caption.on{opacity:1;transform:none}#director .caption b{font-family:var(--f-display);font-size:26px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1.05}#director .caption span{font-family:var(--f-mono);font-size:12px;color:var(--muted)}#director .caption span:empty{display:none}#director .fade{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none}#director .ctl{position:fixed;top:46px;right:12px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;transition:opacity .4s}#director .ctl .row{display:flex;gap:6px}#director .ctl button{padding:6px 10px;background:var(--glass);border:1px solid rgba(255,255,255,.14);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--fg);font:12px var(--f-body);white-space:nowrap;cursor:pointer}#director .ctl button:hover{background:#282e36e6}#director .ctl button:disabled{opacity:.35;cursor:default}#director .ctl button.on{background:var(--accent);border-color:var(--accent);color:#111}@media (pointer:fine){#director .ctl:not(.awake):not(.reporting):not(:hover):not(:focus-within){opacity:0}}#director .report{width:300px;max-width:calc(100vw - 24px);box-sizing:border-box;display:grid;gap:8px;padding:10px 12px;background:var(--glass);border:1px solid rgba(255,255,255,.14);border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px}#director .report[hidden]{display:none}#director .report textarea{resize:vertical;min-height:60px;padding:6px 8px;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:5px;color:var(--fg);font:13px var(--f-body)}#director .report .actions{display:flex;gap:6px}#director .report [type=submit]{background:var(--accent);border-color:var(--accent);color:#111;font-weight:500}#director .report .msg{margin:0;font-size:12px;color:var(--muted)}#director .report .msg:empty{display:none}#director .report .msg.err{color:var(--err)}body:has(#regie) #director .ctl{display:none}@media (max-width:640px){#director .badge span{display:none}#director .ctl{left:12px}#director .ctl .row{flex-wrap:wrap;justify-content:flex-end}#director .caption{left:12px;bottom:16px}}#hud{z-index:2}#labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;isolation:isolate;font-size:var(--size,14px)}#labels[hidden],#labels [hidden]{display:none!important}#labels .lbl{position:absolute;left:0;top:0;transform-origin:0 0;display:grid;justify-items:center;white-space:nowrap;font-family:var(--f-body);font-size:.85em;line-height:1.2;color:var(--fg)}#labels .lbl b{font-family:var(--f-display);font-size:1.18em;font-weight:700;letter-spacing:.03em}#labels.light .lbl{padding-bottom:.5em;text-shadow:0 0 3px rgba(0,0,0,.95),0 1px 2px rgba(0,0,0,.8)}#labels.light .lbl span{opacity:.92}#labels.tag .lbl{margin-top:-.6em;padding:.25em .6em .3em;justify-items:start;background:var(--glass);border:1px solid rgba(255,255,255,.14);border-left:3px solid var(--accent);border-radius:4px}#labels.tag .lbl b{color:var(--accent)}#labels.tag .lbl span{color:#d5dbe1}#labels.tag .lbl:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:.6em;background:#fff9}#labels.panel .lbl{margin-top:-.4em;min-width:1.5em;padding:.1em .35em;justify-items:center;box-sizing:border-box;border-radius:999px;background:var(--accent);color:#111;font-family:var(--f-mono);font-size:.8em;font-weight:700}#labels .panel{position:absolute;right:12px;bottom:12px;max-width:calc(100% - 24px);overflow:hidden;padding:.5em .7em;background:var(--glass);border:1px solid rgba(255,255,255,.12);border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.85em}#labels .panel table{border-collapse:collapse;white-space:nowrap}#labels .panel th{font:400 .78em var(--f-mono);color:var(--muted);letter-spacing:.04em;text-align:left;padding:0 .7em .3em 0}#labels .panel td{padding:.15em .7em .15em 0;font-family:var(--f-mono);font-size:.92em}#labels .panel td.n{color:var(--accent);font-weight:700;text-align:center;padding-right:.9em}#labels .panel tr.on td{color:var(--accent)}#labels .panel p{margin:0;color:var(--muted)}#labels .lbl.sel{z-index:100001!important}#labels.tag .lbl.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}#labels.light .lbl.sel b{color:var(--accent)}#settings{z-index:3}#card{position:fixed;right:12px;bottom:12px;z-index:3;width:300px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);overflow:auto;box-sizing:border-box;padding:12px 14px;background:var(--glass);border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--accent);border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;line-height:1.35}#card[hidden]{display:none}#card .x{position:absolute;top:6px;right:6px;background:none;border:0;color:var(--muted);font-size:20px;line-height:1;padding:2px 6px;cursor:pointer}#card .x:hover{color:var(--fg)}#card header{display:flex;align-items:baseline;gap:8px;padding-right:20px}#card header b{font-family:var(--f-display);font-size:24px;font-weight:700;letter-spacing:.03em;color:var(--accent);line-height:1.05}#card header span{font-family:var(--f-mono);font-size:11px;color:var(--muted)}#card .airline{font-weight:500}#card .doing{margin:6px 0 2px;padding:5px 8px;background:#00000040;border-radius:5px}#card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin:8px 0 0}#card dt{font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.04em;padding-top:2px}#card dd{margin:0;display:grid}#card dd b{font-weight:500}#card dd span{font-size:12px;color:#c3cbd3}#card p{margin:10px 0 0;font-size:11px;color:var(--muted)}#card .follow{width:100%;margin-top:10px;padding:8px 10px;background:var(--accent);border:1px solid var(--accent);border-radius:5px;color:#111;font:500 13px var(--f-body);cursor:pointer}#card .follow.on{background:#ffffff14;border-color:#ffffff2e;color:var(--fg)}body:has(#labels.panel:not([hidden]) .panel:not([hidden])) #card{bottom:auto;top:56px;max-height:calc(100% - 68px)}@media (max-width:640px){#card{left:12px;right:12px;width:auto;max-height:45%}}#follow{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:stretch;max-width:calc(100% - 24px);background:var(--glass);border:1px solid rgba(255,255,255,.12);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--f-mono);font-size:12px}#follow[hidden]{display:none}#follow button{background:none;border:0;color:var(--fg);font:inherit;cursor:pointer}#follow .open{display:flex;align-items:center;gap:6px;padding:7px 4px 7px 12px;white-space:nowrap}#follow .open i{width:8px;height:8px;border-radius:50%;background:var(--accent)}#follow .open b{font-family:var(--f-display);font-size:16px;font-weight:700;letter-spacing:.03em;color:var(--accent)}#follow .x{padding:0 12px 0 8px;font-size:18px;color:var(--muted)}#follow .x:hover{color:var(--fg)}@media (max-width:640px){#follow{left:auto;right:12px;transform:none}}#hint{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:2;max-width:calc(100% - 48px);padding:9px 16px;border-radius:999px;background:var(--glass);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:14px;text-align:center;pointer-events:none;animation:hint-in .6s ease-out;transition:opacity .6s}#hint.off{opacity:0}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,8px)}}#bubbles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1}.bubble{--b-bg:rgba(250,251,252,.95);--b-edge:#9aa5b1;position:absolute;left:0;top:-14px;max-width:250px;width:max-content;padding:6px 10px 7px;border-radius:10px;border-left:4px solid var(--b-edge);background:var(--b-bg);color:#15191e;font-size:13px;line-height:1.3;box-shadow:0 4px 14px #00000059;animation:bubble-in .25s ease-out}.bubble:after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-8px;border:8px solid transparent;border-bottom:0;border-top-color:var(--b-bg)}.bubble .b-head{display:flex;align-items:baseline;gap:8px;margin-bottom:1px}.bubble .b-head b{font-family:var(--f-display);font-size:15px;letter-spacing:.02em}.bubble .b-head span{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:#6b7580}.bubble.tension{--b-bg:rgba(255,244,214,.96);--b-edge:#e0a03a}.bubble.alert{--b-bg:rgba(255,226,222,.96);--b-edge:#d8443a}.bubble.ok{--b-edge:#5fc27e}@keyframes bubble-in{0%{opacity:0}to{opacity:1}}#perf{position:fixed;left:12px;bottom:12px;z-index:3;min-width:170px;padding:8px 10px;background:var(--glass);border:1px solid rgba(255,255,255,.12);border-radius:6px;font-family:var(--f-mono);font-size:11px;line-height:1.5;pointer-events:none}#perf div{display:flex;justify-content:space-between;gap:12px}#perf span{color:var(--muted)}#perf b{font-weight:400}#regie{position:fixed;top:52px;right:12px;width:300px;max-width:calc(100% - 24px);max-height:calc(100% - 140px);overflow:auto;box-sizing:border-box;z-index:2;background:var(--glass);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;display:grid;gap:8px}#regie.closed{background:none;border:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto}#regie.closed header{display:none}#regie header{display:flex;justify-content:space-between;align-items:center}#regie h2{margin:0;font-family:var(--f-display);font-size:20px;letter-spacing:.02em}#regie h3{margin:4px 0 0;font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}#regie [hidden]{display:none!important}#regie .body{display:grid;gap:8px}#regie button{background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:5px;color:var(--fg);padding:6px 8px;font:inherit;cursor:pointer}#regie button:hover{background:#ffffff29}#regie button:disabled{opacity:.35;cursor:default}#regie button.on{background:var(--accent);border-color:var(--accent);color:#111}#regie .x{background:none;border:0;font-size:20px;line-height:1;padding:0 4px}#regie .open{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#regie .controls{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#regie .controls button{white-space:nowrap;font-size:12px;padding:6px 4px}#regie .controls [data-do=angle]{grid-column:span 2}#regie .onair{display:grid;gap:2px;padding:8px 10px;border-left:3px solid var(--accent);background:#00000040;border-radius:0 6px 6px 0}#regie .onair b{font-family:var(--f-display);font-size:18px;text-transform:uppercase;letter-spacing:.03em}#regie .onair span,#regie li span{font-family:var(--f-mono);font-size:11px;color:var(--muted)}#regie .state{font-family:var(--f-mono);font-size:11px;display:flex;align-items:center;gap:6px}#regie .state i{width:8px;height:8px;border-radius:50%;background:var(--muted)}#regie .state i.live{background:#e5483d}#regie .state i.man{background:var(--accent)}#regie ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}#regie .queue button{width:100%;text-align:left;display:grid;gap:1px;padding:5px 8px}#regie .queue .seen{opacity:.55}#regie .queue .empty,#regie .hint{color:var(--muted);font-size:11px}#regie .log li{display:grid;grid-template-columns:auto 1fr;gap:0 8px;font-size:12px}#regie .log time{font-family:var(--f-mono);font-size:11px;color:var(--muted);grid-row:span 2}#regie .hint{margin:0;line-height:1.4}@media (max-width:640px){#regie{top:auto;bottom:12px;max-height:50%}}#plans{position:fixed;top:52px;right:12px;width:400px;max-width:calc(100% - 24px);max-height:calc(100% - 140px);overflow:auto;box-sizing:border-box;z-index:2;background:var(--glass);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;display:grid;gap:8px}body:has(#regie:not(.closed)) #plans{right:324px}#plans.closed{background:none;border:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto}#plans.closed header{display:none}#plans header{display:flex;justify-content:space-between;align-items:center}#plans h2{margin:0;font-family:var(--f-display);font-size:20px;letter-spacing:.02em}#plans h4{margin:4px 0 0;font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}#plans [hidden]{display:none!important}#plans .body{display:grid;gap:8px}#plans button{background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:5px;color:var(--fg);padding:4px 8px;font:inherit;font-size:12px;cursor:pointer;justify-self:start}#plans button:hover{background:#ffffff29}#plans button.on{background:var(--accent);border-color:var(--accent);color:#111}#plans .x{background:none;border:0;font-size:20px;line-height:1;padding:0 4px}#plans .open{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#plans .tabs{display:flex;gap:6px;flex-wrap:wrap}#plans .intro,#plans .hint{margin:0;color:var(--muted);font-size:11px;line-height:1.4}#plans .status{padding:6px 10px;border-left:3px solid var(--accent);background:#00000040;border-radius:0 6px 6px 0;font-size:12px;display:flex;gap:8px;align-items:center;justify-content:space-between}#plans ol,#plans ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}#plans .card{background:#00000038;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:6px}#plans .card.live{border-color:var(--accent)}#plans .card.live .txt b:after{content:" · à l’écran";color:var(--accent);font-family:var(--f-mono);font-size:11px;font-weight:400}#plans .head{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center;cursor:pointer}#plans .txt{display:grid;gap:3px;align-content:center}#plans .txt i{font-style:normal;font-family:var(--f-mono);font-size:11px;color:var(--accent)}#plans .txt b{font-family:var(--f-display);font-size:17px;letter-spacing:.02em;line-height:1.1}#plans .txt span,#plans .framings span{font-size:11px;color:var(--muted);line-height:1.35}#plans svg{width:120px;height:75px;display:block;background:#1b2128;border-radius:4px}#plans svg .rwy{stroke:#5b6570;stroke-linecap:butt}#plans svg text{fill:var(--muted);font-family:var(--f-mono);font-size:8px}#plans svg .subj{fill:var(--fg)}#plans svg .cam{fill:var(--accent)}#plans svg .sight{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 2;opacity:.8}#plans svg .path,#plans svg .look{stroke:var(--fg);stroke-width:1;stroke-dasharray:2 3;opacity:.45}#plans svg .track{stroke:var(--accent);stroke-width:2}#plans svg .orbit{fill:none;stroke:var(--accent);stroke-width:1;opacity:.45}#plans svg .arrow{fill:none;stroke:var(--accent);stroke-width:2}#plans svg .target{fill:var(--fg)}#plans .more{display:grid;gap:6px;padding:8px 2px 2px}#plans .more p{margin:0;line-height:1.4}#plans .facts{gap:2px;font-size:12px}#plans .facts b{font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--muted);margin-right:6px}#plans .framings li{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start}#plans .framings div{display:grid;gap:3px}@media (max-width:640px){#plans,body:has(#regie:not(.closed)) #plans{top:auto;bottom:12px;right:12px;max-height:60%}}
