.sydicate-game { --sydicate-ink:#090a0b; --sydicate-surface:rgba(17,18,20,.94); --sydicate-surface-solid:#1c1e21; --sydicate-line:#4a4d52; --sydicate-line-soft:rgba(210,214,220,.28); --sydicate-text:#f1f2f3; --sydicate-muted:#a9adb3; --sydicate-ember:#e7b84f; --sydicate-ember-bright:#f5d477; --sydicate-rose:#8f3f46; --sydicate-rose-bright:#9be9e1; --sydicate-danger:#f06a61; position:fixed; inset:0; z-index:95; overflow:hidden; background:var(--sydicate-ink); color:var(--sydicate-text); font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:15px; }
.sydicate-game [hidden] { display:none !important; }
.sydicate-game::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; box-shadow:inset 0 0 110px rgba(0,0,0,.35); transition:box-shadow .15s; }
.sydicate-game.is-hit::after { box-shadow:inset 0 0 120px rgba(241,132,123,.65); }
.sydicate-game.is-critical .sydicate-status-line [data-role="hp"] { color:var(--sydicate-danger); }
.sydicate-game canvas#sydicate-canvas { display:block; width:100%; height:100%; cursor:crosshair; }
.sydicate-hud { position:absolute; z-index:2; display:grid; gap:8px; pointer-events:none; }
.sydicate-hud-top-left { top:20px; left:20px; width:220px; }
.sydicate-hud-bottom-left { left:20px; bottom:20px; }
.sydicate-panel { border:1px solid var(--sydicate-line-soft); background:var(--sydicate-surface); box-shadow:0 8px 24px rgba(0,0,0,.24); backdrop-filter:blur(8px); pointer-events:auto; }
.sydicate-minimap-panel { padding:8px; }
.sydicate-panel-head { display:flex; justify-content:space-between; margin-bottom:7px; color:var(--sydicate-rose-bright); font-size:15px; letter-spacing:.08em; }
#sydicate-minimap { width:100%; height:auto; border:1px solid rgba(210,214,220,.22); background:#111214; image-rendering:auto; }
.sydicate-status-panel { display:grid; gap:6px; padding:10px; }
.sydicate-status-line { display:flex; justify-content:space-between; gap:10px; color:var(--sydicate-muted); font-size:15px; }
.sydicate-status-line strong { color:var(--sydicate-ember-bright); font-weight:600; }
.sydicate-radius-legend { color:var(--sydicate-muted); font-size:15px; line-height:1.5; }
.sydicate-radius-legend span { display:inline-block; width:7px; height:7px; margin:0 3px 0 7px; border-radius:50%; }
.sydicate-radius-legend span:first-child { margin-left:0; }
.sydicate-radius-legend .alert { background:var(--sydicate-rose); }
.sydicate-radius-legend .weapon { background:var(--sydicate-ember); }
.sydicate-objective { position:absolute; top:22px; left:50%; z-index:2; transform:translateX(-50%); max-width:calc(100% - 540px); padding:9px 16px; border-bottom:1px solid var(--sydicate-ember); background:var(--sydicate-surface); color:var(--sydicate-ember-bright); font-size:15px; text-align:center; pointer-events:none; }
.sydicate-controls { display:flex; align-items:center; gap:8px; padding:9px 10px; }
.sydicate-controls p { margin-right:8px; color:var(--sydicate-muted); font-size:15px; line-height:1.8; }
.sydicate-game kbd { padding:2px 4px; border:1px solid var(--sydicate-line); color:var(--sydicate-text); font:inherit; }
.sydicate-game .sydicate-button { --jwbutton-height:40px; --jwbutton-bg:transparent; --jwbutton-color:var(--sydicate-text); --jwbutton-bghover:#292b2f; border:1px solid var(--sydicate-line); font:inherit; border-radius:3px; }
.sydicate-button:hover { border-color:var(--sydicate-ember-bright); }
.sydicate-game .sydicate-button.primary { --jwbutton-bg:var(--sydicate-ember); --jwbutton-color:var(--sydicate-ink); --jwbutton-bghover:var(--sydicate-ember-bright); border-color:var(--sydicate-ember); font-weight:700; }
.sydicate-game .sydicate-button:focus-visible { outline:2px solid var(--sydicate-rose-bright); outline-offset:4px; }
.sydicate-button:disabled { opacity:.45; cursor:not-allowed; }
.sydicate-crosshair { position:absolute; z-index:2; width:18px; height:18px; transform:translate(-50%,-50%); opacity:.8; pointer-events:none; }
.sydicate-crosshair::before, .sydicate-crosshair::after { content:""; position:absolute; background:var(--sydicate-ember-bright); }
.sydicate-crosshair::before { top:8px; left:0; width:18px; height:1px; }
.sydicate-crosshair::after { top:0; left:8px; width:1px; height:18px; }
.sydicate-hp-bar { -webkit-appearance:none; appearance:none; width:100%; height:7px; border:0; background:#292b2f; accent-color:var(--sydicate-rose); }
.sydicate-hp-bar::-webkit-progress-bar { background:#292b2f; }
.sydicate-hp-bar::-webkit-progress-value { background:var(--sydicate-rose); }
.sydicate-hp-bar::-moz-progress-bar { background:var(--sydicate-rose); }
.sydicate-game.is-critical .sydicate-hp-bar { accent-color:var(--sydicate-danger); }
.sydicate-game.is-critical .sydicate-hp-bar::-webkit-progress-value { background:var(--sydicate-danger); }
.sydicate-game.is-critical .sydicate-hp-bar::-moz-progress-bar { background:var(--sydicate-danger); }
.sydicate-map-legend { display:flex; justify-content:space-between; gap:4px; padding-top:5px; font-size:15px; color:var(--sydicate-muted); }
.sydicate-map-legend span:first-child { color:var(--sydicate-rose-bright); }
.sydicate-map-legend span:nth-child(2) { color:var(--sydicate-danger); }
.sydicate-map-legend span:last-child { color:var(--sydicate-ember-bright); }
.sydicate-map-note { margin-top:6px; color:var(--sydicate-muted); line-height:1.5; }
.sydicate-mission-meta { position:absolute; top:20px; right:20px; z-index:2; display:grid; gap:6px; padding:12px; background:var(--sydicate-surface); color:var(--sydicate-muted); pointer-events:none; }
.sydicate-mission-meta span { display:flex; justify-content:space-between; gap:16px; }
.sydicate-mission-meta strong { color:#eef5f6; }
.sydicate-notice { position:absolute; z-index:3; bottom:100px; left:50%; transform:translateX(-50%); max-width:calc(100% - 40px); padding:12px 18px; background:var(--sydicate-surface-solid); border-left:3px solid var(--sydicate-rose); color:#f1f2f3; line-height:1.6; pointer-events:none; }
.sydicate-overlay { position:absolute; inset:0; z-index:4; display:grid; place-items:center; padding:24px; background:rgba(0,0,0,.82); overflow:auto; }
.sydicate-briefing { width:min(540px,100%); padding:32px; background:#151619; }
.sydicate-briefing h2 { margin:12px 0 16px; color:var(--sydicate-text); font-size:32px; line-height:1.25; }
.sydicate-briefing > p:not(.sydicate-panel-head) { color:#c7cbd0; line-height:1.8; }
.sydicate-briefing-tips { display:grid; gap:12px; margin:24px 0; padding-top:20px; border-top:1px solid #35383d; color:var(--sydicate-muted); line-height:1.7; }
.sydicate-briefing-tips strong { display:block; color:var(--sydicate-text); }
.sydicate-briefing .sydicate-button { width:100%; }
@media (max-width:1000px) {
	.sydicate-objective { top:auto; bottom:110px; max-width:calc(100% - 40px); width:max-content; }
	.sydicate-controls { flex-wrap:wrap; }
	.sydicate-controls p { width:100%; }
	.sydicate-notice { bottom:165px; width:max-content; }
}
@media (max-width:600px) {
	.sydicate-hud-top-left { top:10px; left:10px; width:200px; }
	.sydicate-hud-bottom-left { right:10px; bottom:10px; left:10px; }
	.sydicate-controls { flex-wrap:wrap; }
	.sydicate-controls p { width:100%; margin-right:0; }
	.sydicate-objective { right:10px; bottom:160px; left:10px; transform:none; width:auto; max-width:none; }
	.sydicate-mission-meta { top:10px; right:10px; padding:8px; }
	.sydicate-notice { bottom:225px; }
	.sydicate-overlay { padding:16px; }
	.sydicate-briefing { padding:22px; }
	.sydicate-briefing h2 { font-size:28px; }
}
@media (max-height:600px) {
	.sydicate-minimap-panel { display:none; }
	.sydicate-briefing { padding:20px; }
	.sydicate-briefing-tips { display:none; }
}
