.fx{--fx-bg: #020617;--fx-card: #0f172a;--fx-card-2: #111827;--fx-border: #1e293b;--fx-text: #e2e8f0;--fx-muted: #94a3b8;--fx-sky: #38bdf8;--fx-amber: #fbbf24;--fx-violet: #a78bfa;--fx-emerald: #34d399;--fx-red: #f87171;--fx-orange: #fb923c;min-height:100%;background:var(--fx-bg);color:var(--fx-text);padding:20px 22px 40px;font-family:var(--font)}.fx.embed{padding:12px 16px 24px;min-height:100%}.fx-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.fx-head .mark{width:40px;height:40px;border-radius:12px;flex:none;background:#0ea5e920;border:1px solid #0ea5e940;display:grid;place-items:center;color:var(--fx-sky);font-size:18px}.fx-head h1{margin:0;font-size:18px;font-weight:800;letter-spacing:.2px;color:#fff;line-height:1.25}.fx-head p{margin:3px 0 0;font-size:12px;color:var(--fx-muted)}.fx-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.fx-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--fx-border);background:#0b1220;color:var(--fx-muted);font-weight:700;font-size:13px}.fx-tab:hover{color:#fff;border-color:#334155}.fx-tab.on{background:#0369a1;color:#fff;border-color:transparent}.fx-sel{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--fx-border);background:#0b1220;color:var(--fx-muted);font-size:12px;font-weight:700}.fx-sel select{border:none;background:transparent;color:#fff;font-weight:700;font-size:13px;outline:none}.fx-sel option{color:#0f172a}.fx-grid{display:grid;gap:12px;margin-bottom:16px}.fx-g6{grid-template-columns:repeat(6,1fr)}.fx-g4{grid-template-columns:repeat(4,1fr)}.fx-g3{grid-template-columns:repeat(3,1fr)}.fx-g2{grid-template-columns:repeat(2,1fr)}@media (max-width: 1200px){.fx-g6{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.fx-g6,.fx-g4{grid-template-columns:repeat(2,1fr)}.fx-g3{grid-template-columns:1fr}}@media (max-width: 560px){.fx-g6,.fx-g4,.fx-g2{grid-template-columns:1fr}}.fx-card{background:var(--fx-card);border:1px solid var(--fx-border);border-radius:14px;padding:14px 16px}.fx-card.gauge{display:flex;flex-direction:column;align-items:center;justify-content:center}.fx-stat .lbl{font-size:11px;color:var(--fx-muted);font-weight:600;margin-bottom:8px}.fx-stat .val{font-size:28px;font-weight:800;line-height:1.05;letter-spacing:-.4px}.fx-stat .val small{font-size:15px;font-weight:700;margin-left:4px;opacity:.8}.fx-stat.sky .val{color:var(--fx-sky)}.fx-stat.amber .val{color:var(--fx-amber)}.fx-stat.violet .val{color:var(--fx-violet)}.fx-stat.emerald .val{color:var(--fx-emerald)}.fx-stat.red .val{color:var(--fx-red)}.fx-stat.white .val{color:#fff}.fx-gauge-lbl{font-size:11px;color:var(--fx-muted);text-align:center;margin-top:2px}.fx-gauge-tgt{font-size:10px;color:#64748b;text-align:center}.fx-panel{background:var(--fx-card);border:1px solid var(--fx-border);border-radius:16px;padding:16px 18px;margin-bottom:16px}.fx-panel-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}.fx-panel-h h2{margin:0;font-size:14px;font-weight:700;color:#fff}.fx-panel-h .sub{font-size:10px;color:#64748b;font-weight:500}.fx-panel-h .right{margin-left:auto;font-size:11px;color:#64748b}.fx-loss{border-color:#7f1d1d55;background:linear-gradient(180deg,#1c0a0ecc,var(--fx-card))}.fx-loss h2{color:#fecaca}.fx-table-wrap{overflow:auto;max-height:420px}.fx-table{width:100%;border-collapse:collapse;font-size:12.5px}.fx-table th{text-align:left;color:#64748b;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:8px 10px;border-bottom:1px solid var(--fx-border);position:sticky;top:0;background:var(--fx-card)}.fx-table td{padding:8px 10px;border-bottom:1px solid #1e293b88;color:#cbd5e1;white-space:nowrap}.fx-table tr:hover td{background:#1e293b44}.fx-bar{display:flex;align-items:center;gap:8px;min-width:110px}.fx-bar i{display:block;height:6px;border-radius:99px;background:#334155;flex:1;overflow:hidden}.fx-bar i b{display:block;height:100%;background:#38bdf8;border-radius:99px}.fx-chip{display:inline-flex;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700}.fx-chip.encours{background:#0ea5e922;color:#7dd3fc}.fx-chip.engagee{background:#334155;color:#e2e8f0}.fx-chip.ok{background:#065f4022;color:#6ee7b7}.fx-chip.warn{background:#78350f33;color:#fbbf24}.fx-chip.risk{background:#7f1d1d44;color:#fca5a5}.fx-qrow{margin-top:12px;padding-top:12px;border-top:1px solid var(--fx-border)}.fx-qrow .hint{font-size:10px;color:#64748b;margin-bottom:8px}.fx-qcell{background:#0b1220;border:1px solid var(--fx-border);border-radius:12px;padding:12px;text-align:center}.fx-qcell .k{font-size:11px;color:#64748b;margin-bottom:4px}.fx-qcell .v{font-size:20px;font-weight:800}.fx-qcell .d{font-size:11px;color:#64748b;margin-top:2px}.fx-good{color:var(--fx-emerald)}.fx-bad{color:var(--fx-red)}.fx-mid{color:var(--fx-amber)}.fx-ops{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.fx-g2 .fx-ops{grid-template-columns:repeat(3,1fr)}@media (max-width: 1100px){.fx-ops{grid-template-columns:repeat(2,1fr)}}.fx-op{background:#0b1220;border:1px solid var(--fx-border);border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:10px}.fx-rank{width:22px;height:22px;border-radius:99px;display:grid;place-items:center;font-size:11px;font-weight:800;background:#1e293b;color:#94a3b8;flex:none}.fx-rank.gold{background:#fbbf24;color:#0f172a}.fx-op .nm{font-weight:700;font-size:13px;color:#fff}.fx-op .meta{font-size:11px;color:var(--fx-muted)}.fx-pareto{display:flex;flex-direction:column;gap:7px}.fx-prow{display:grid;grid-template-columns:180px 1fr 36px 48px;align-items:center;gap:8px;font-size:12px}.fx-prow .cat{color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-ptrack{height:10px;background:#1e293b;border-radius:99px;overflow:hidden}.fx-pfill{height:100%;border-radius:99px}.fx-cov{display:flex;align-items:flex-end;justify-content:space-around;height:86px;gap:10px;padding:4px 6px 0}.fx-cov-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.fx-cov-col i{width:100%;max-width:36px;border-radius:6px 6px 2px 2px;display:block}.fx-cov-col span{font-size:10px;color:#64748b;text-align:center}.fx-cov-col b{font-size:11px;color:#e2e8f0}.fx-empty{text-align:center;color:#64748b;padding:22px;font-size:13px}.fx-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617cc;z-index:40;display:grid;place-items:center;padding:24px}.fx-modal{width:min(820px,100%);max-height:80vh;overflow:auto;background:#0f172a;border:1px solid #1e293b;border-radius:16px;padding:20px}.fx-modal h3{margin:0 0 12px;color:#fff}.fx-modal table{width:100%;border-collapse:collapse;font-size:12.5px}.fx-modal th,.fx-modal td{padding:7px 8px;border-bottom:1px solid #1e293b;text-align:left}.fx-modal th{color:#64748b;font-size:11px}.fx-ops-mini{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--fx-muted)}.fx-ops-mini b{color:#e2e8f0}.sl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.sl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:8px}.sl-card h3{margin:0;font-size:16px}.sl-card .slug{font-family:ui-monospace,monospace;font-size:12px;color:var(--text-muted);word-break:break-all}.sl-card .meta{font-size:12.5px;color:var(--text-muted)}.sl-blocks{display:flex;flex-wrap:wrap;gap:6px}.sl-chip{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.sl-edit{display:grid;grid-template-columns:1fr 340px;gap:18px;align-items:start}@media (max-width: 980px){.sl-edit{grid-template-columns:1fr}}.sl-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.sl-col h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted)}.sl-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--surface-2)}.sl-item .n{width:26px;height:26px;border-radius:8px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}.sl-item .t{flex:1;min-width:0}.sl-item .t b{display:block;font-size:13.5px}.sl-item .t small{color:var(--text-muted);font-size:11px}.sl-item .ops{display:flex;gap:4px}.sl-cat{display:flex;flex-direction:column;gap:6px;max-height:70vh;overflow:auto}.sl-cat button{text-align:left;padding:9px 11px;border-radius:9px;border:1px dashed var(--border);background:var(--surface-2);color:var(--text)}.sl-cat button:hover{border-color:var(--accent);color:var(--accent)}.sl-cat button b{display:block;font-size:13px}.sl-cat button small{color:var(--text-muted);font-size:11px}.sl-player{display:flex;flex-direction:column;min-height:100%}.sl-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:12;flex-wrap:wrap}.sl-bar h1{margin:0;font-size:16px}.sl-bar .sub{font-size:12px;color:var(--text-muted)}.sl-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sl-dots{display:flex;gap:5px}.sl-dot{width:9px;height:9px;border-radius:99px;background:var(--border);border:none;padding:0}.sl-dot.on{background:var(--accent);width:22px}.sl-stage{flex:1;overflow:auto}.sl-stage .fx{min-height:calc(100vh - 70px)}.sl-link{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--accent);background:var(--surface-2);border:1px solid var(--border);padding:4px 8px;border-radius:8px}:root{--bg: #f1f5f9;--surface: #ffffff;--surface-2: #f8fafc;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--primary: #1e2a5a;--primary-2: #2d3a72;--accent: #3b4bce;--navy: #14243f;--good: #16a34a;--warn: #f59e0b;--bad: #dc2626;--radius: 12px;--shadow: 0 1px 3px rgba(15,23,42,.08), 0 1px 2px rgba(15,23,42,.06);--shadow-lg: 0 10px 30px rgba(15,23,42,.12);--sidebar-w: 264px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-theme=dark]{--bg: #0b1220;--surface: #111a2e;--surface-2: #0f1728;--border: #22304d;--text: #e5edff;--text-muted: #93a4c4;--primary: #24356f;--primary-2: #2f4088;--accent: #5b6cf0;--navy: #0c1830;--shadow: 0 1px 3px rgba(0,0,0,.4);--shadow-lg: 0 12px 34px rgba(0,0,0,.5)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;font-size:13px;transition:.15s}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--primary);color:#fff;border-color:transparent}.btn.primary:hover{background:var(--primary-2)}.btn.accent{background:var(--accent);color:#fff;border-color:transparent}.btn.danger{background:var(--bad);color:#fff;border-color:transparent}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn.sm{padding:6px 10px;font-size:12px;border-radius:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.chip.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 30%,transparent)}.chip.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 30% -10%,color-mix(in srgb,var(--accent) 22%,var(--bg)),var(--bg))}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);padding:34px 30px}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:6px}.login-logo .mark{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:#fff;font-weight:800}.login-title{font-size:20px;font-weight:800;letter-spacing:.5px}.login-sub{color:var(--text-muted);font-size:12.5px;margin:4px 0 22px}.field{margin-bottom:15px}.field label{display:block;font-size:12px;font-weight:700;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.field input{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.field input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}.login-btn{width:100%;justify-content:center;padding:12px;margin-top:6px;font-size:14px}.login-error{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);padding:9px 12px;border-radius:9px;font-size:12.5px;margin-bottom:14px}.login-hint{margin-top:18px;font-size:11.5px;color:var(--text-muted);text-align:center;line-height:1.6}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100%}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-logo{padding:18px 18px 12px;display:flex;align-items:center;gap:10px}.sidebar-logo .mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px}.sidebar-logo .name{font-weight:800;letter-spacing:.5px;font-size:14px}.sidebar-logo .name small{display:block;font-weight:600;font-size:10px;color:var(--text-muted);letter-spacing:.3px}.nav{flex:1;overflow-y:auto;padding:8px 10px}.nav-section{font-size:10.5px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:9px;color:var(--text);font-size:13.5px;font-weight:500;cursor:pointer}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:700}.nav-item .dot{width:7px;height:7px;border-radius:2px;background:var(--text-muted);flex:none}.nav-item.active .dot{background:var(--accent)}.sidebar-user{border-top:1px solid var(--border);padding:12px 14px}.user-row{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:9px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}.user-row .u-name{font-weight:700;font-size:13px}.user-row .u-role{font-size:11px;color:var(--text-muted)}.logout{margin-top:10px;width:100%;justify-content:center}.main{overflow-y:auto;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.topbar h1{font-size:18px;margin:0;font-weight:800}.topbar .sub{color:var(--text-muted);font-size:12.5px}.content{padding:22px 24px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.page-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.page-card h3{margin:0 0 2px;font-size:15.5px}.page-card .slug{font-size:12px;color:var(--text-muted);font-family:ui-monospace,monospace;margin-bottom:8px}.page-card .meta{font-size:11.5px;color:var(--text-muted);margin-bottom:12px}.page-card .actions{display:flex;flex-wrap:wrap;gap:6px}.dash-tabs{display:flex;gap:4px;border-top:1px solid var(--border);background:var(--surface);padding:6px 12px;position:sticky;bottom:0;overflow-x:auto}.dash-tab{padding:6px 12px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--text-muted);white-space:nowrap;cursor:pointer}.dash-tab.active{background:var(--primary);color:#fff}.canvas{position:relative;padding:16px}.visual{height:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:12px 14px;overflow:hidden;display:flex;flex-direction:column}.canvas>div{height:100%}.visual h4{margin:0 0 8px;font-size:12.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.visual .body{flex:1;min-height:0}.kpi{display:flex;flex-direction:column;justify-content:center;height:100%}.kpi .val{font-size:34px;font-weight:800;line-height:1.05}.kpi .val small{font-size:18px;font-weight:700;color:var(--text-muted)}.kpi .target{font-size:11.5px;color:var(--text-muted);margin-top:6px}.kpi .target .up{color:var(--good)}.kpi .target .down{color:var(--bad)}.banner{background:linear-gradient(120deg,var(--navy),var(--primary));color:#fff;border:none}.banner h2{margin:0;font-size:19px;font-weight:800;letter-spacing:.5px}.banner p{margin:5px 0 0;font-size:12.5px;opacity:.85}table.grid{width:100%;border-collapse:collapse;font-size:12.5px}table.grid th{text-align:left;color:var(--text-muted);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.3px;padding:6px 8px;border-bottom:2px solid var(--border);position:sticky;top:0;background:var(--surface)}table.grid td{padding:6px 8px;border-bottom:1px solid var(--border)}table.grid tr:hover td{background:var(--surface-2)}.scroll-y{overflow-y:auto;height:100%}.editor{display:grid;grid-template-columns:1fr 320px;height:calc(100% + -0px)}.editor-canvas{overflow:auto;background:var(--bg)}.editor-panel{border-left:1px solid var(--border);background:var(--surface);overflow-y:auto;padding:16px}.editor-panel h3{font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin:4px 0 10px}.palette{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px}.palette button{padding:9px 4px;font-size:11px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);display:flex;flex-direction:column;align-items:center;gap:4px}.palette button:hover{border-color:var(--accent);color:var(--accent)}.form-row{margin-bottom:12px}.form-row label{display:block;font-size:11.5px;font-weight:700;color:var(--text-muted);margin-bottom:5px}.form-row select,.form-row input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.visual.selected{outline:2px solid var(--accent)}.empty{color:var(--text-muted);text-align:center;padding:40px;font-size:13px}.stat-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;box-shadow:var(--shadow);min-width:150px}.stat .n{font-size:26px;font-weight:800}.stat .l{font-size:12px;color:var(--text-muted)}.chaine-picker{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:5px 10px}.chaine-picker span{font-size:11px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.chaine-picker select{border:none;background:transparent;color:var(--text);font-weight:700;font-size:13px;outline:none}.api-list{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto;margin-bottom:14px}.api-btn{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;padding:7px 10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px}.api-btn:hover{border-color:var(--accent)}.api-btn b{font-size:12px;font-family:ui-monospace,monospace}.api-btn small{font-size:10.5px;color:var(--text-muted)}.api-search{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);margin-bottom:8px}.icon-btn{background:transparent;border:none;color:var(--text-muted);padding:6px;border-radius:8px;display:grid;place-items:center}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center{display:grid;place-items:center;height:60vh}.report-body{line-height:1.6;font-size:14px}.report-body h1,.report-body h2,.report-body h3{margin:14px 0 8px}.report-body h2{font-size:17px}.report-body h3{font-size:15px}.report-body p{margin:8px 0}.report-body ul,.report-body ol{margin:8px 0;padding-left:22px}.report-body li{margin:3px 0}.report-body table.grid{margin:10px 0}.report-body code{background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:12.5px}textarea{font-family:inherit}.stream-cursor{display:inline-block;color:var(--accent);animation:blink 1s step-start infinite;font-weight:700}@keyframes blink{50%{opacity:0}}.shell.kiosk{grid-template-columns:1fr}.shell.kiosk .main{overflow:hidden}.kiosk-page{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.kiosk-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px 8px;background:var(--surface);flex:none}.kiosk-bar h1{margin:0;font-size:16px;font-weight:800}.kiosk-bar .sub{color:var(--text-muted);font-size:12px;margin-top:2px}.kiosk-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kiosk-clock{font-variant-numeric:tabular-nums;font-weight:800;font-size:18px;letter-spacing:.4px}.kiosk-dots{display:flex;gap:5px}.kiosk-dot{width:9px;height:9px;border-radius:99px;background:var(--border);border:none;padding:0}.kiosk-dot.on{background:var(--accent);width:22px}.kiosk-progress{height:3px;background:color-mix(in srgb,var(--accent) 18%,var(--border));flex:none}.kiosk-progress>span{display:block;height:100%;background:var(--accent);transition:width .1s linear}.kiosk-stage{flex:1;overflow:auto;min-height:0}.kiosk-stage .fx{min-height:100%}.kiosk-tabs{position:sticky;bottom:0}body.kiosk-idle,body.kiosk-idle *{cursor:none!important}
