:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#ecf1ff;background:#070a10;--panel:#10151f;--panel2:#151b27;--line:#242d3e;--muted:#91a0b8;--accent:#7c5cff;--good:#5ed6a0;--warn:#f0b35a;--bad:#ff6b7f}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 35% -10%,#1b2138 0,transparent 35%),#070a10;min-height:100vh}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#090d14e8;backdrop-filter:blur(12px);position:sticky;top:0;z-index:2}.brand{display:flex;gap:12px;align-items:center}.brand strong{font-size:19px;display:block}.brand small{display:block;color:var(--muted);margin-top:2px}.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#7856ff,#b365ff);font-weight:900}.status{font-size:13px;color:var(--muted);padding:8px 12px;border:1px solid var(--line);border-radius:999px}.status.ok{color:var(--good)}.status.bad{color:var(--warn)}.shell{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:54px 0 80px}.hero{max-width:820px;margin-bottom:34px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#9a8aff;font-size:12px;font-weight:800}.hero h1{font-size:46px;line-height:1.04;margin:10px 0 16px}.hero p{font-size:18px;line-height:1.55;color:var(--muted);margin:0}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pillar{background:linear-gradient(180deg,#111722,#0d121b);border:1px solid var(--line);border-radius:18px;padding:22px;min-height:230px;display:flex;flex-direction:column}.primary-card{box-shadow:0 0 0 1px #7057ff55 inset}.muted-card{opacity:.78}.pillar .icon{font-size:28px;width:48px;height:48px;border-radius:13px;background:#1a2130;display:grid;place-items:center}.pillar h2{margin:18px 0 8px;font-size:22px}.pillar p{color:var(--muted);line-height:1.5;margin:0 0 22px}.pillar button,.stage{margin-top:auto}.stage{color:#aab5c8;font-size:13px;padding:8px 0}button{border:0;border-radius:11px;padding:11px 15px;background:var(--accent);color:white;font-weight:750;cursor:pointer}button:disabled{opacity:.55;cursor:progress}.workspace{margin-top:24px;border:1px solid var(--line);border-radius:20px;background:#0c1119;overflow:hidden}.panel{padding:24px}.panel-head h2{margin:4px 0 18px}.url-form{display:grid;grid-template-columns:1fr auto;gap:10px}input{width:100%;border:1px solid #2b3548;background:#080c12;color:white;border-radius:11px;padding:12px 14px;outline:none}input:focus{border-color:#735cff}.resolve-result{margin-top:16px}.resolve-result.empty{border:1px solid var(--line);border-radius:14px;padding:16px;background:#0a0f16;color:var(--muted)}.resolve-result.loading{border:1px solid var(--line);border-radius:14px;padding:16px;color:var(--muted)}.encounter-head{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;padding:15px 16px;background:#111722}.encounter-head strong{font-size:18px;display:block}.encounter-head span{color:var(--muted);font-size:13px}.encounter-meta{color:var(--muted);font-size:13px}.help{margin:0;padding:12px 16px;background:#0d131d;border-left:1px solid var(--line);border-right:1px solid var(--line);color:var(--muted);font-size:13px}.attempts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;border:1px solid var(--line);background:#090e15}.attempt{display:flex;text-align:left;align-items:center;gap:10px;padding:11px;background:#151c28;border:1px solid #273247}.attempt.selected{background:#201b3b;border-color:#8069ff;box-shadow:0 0 0 1px #8069ff33 inset}.attempt-number{font-weight:900;color:#c4baff;min-width:34px}.attempt-main{display:flex;min-width:0;flex-direction:column;gap:4px}.attempt-main small{color:#96a4ba;font-weight:500}.attempt-status{font-weight:750;white-space:nowrap}.attempt-status.kill{color:var(--good)}.attempt-status.wipe{color:#ffc274}.review-actions{border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;padding:12px;display:flex;justify-content:flex-end;background:#0d131d}.analysis-result{scroll-margin-top:86px}.analysis-loading{margin-top:18px;border:1px solid var(--line);border-radius:14px;padding:20px;background:#101722;display:flex;flex-direction:column;gap:5px}.analysis-loading span{color:var(--muted);font-size:13px}.fight-review{margin-top:20px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#0a0f16}.fight-review.kill-result{box-shadow:inset 3px 0 var(--good)}.fight-review.wipe-result{box-shadow:inset 3px 0 var(--warn)}.review-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.review-title h2{margin:5px 0 7px;font-size:26px}.review-title p{margin:0;color:var(--muted);line-height:1.5;max-width:820px}.fight-badge{font-size:16px;font-weight:900;background:#171e2b;padding:9px 12px;border-radius:10px}.summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.chip{padding:8px 10px;border-radius:999px;background:#171e2b;color:#cdd7e7;font-size:13px}.chip.strong{color:white;font-weight:750}.section-title{margin-top:24px}.section-title h3{margin:0 0 5px;font-size:18px}.section-title p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.findings{display:grid;gap:10px;margin-top:12px}.finding{border-left:3px solid #7c8aa0;background:#111722;padding:13px 14px;border-radius:8px}.finding.critical{border-color:var(--bad)}.finding.warning{border-color:var(--warn)}.finding.info{border-color:#6ea8ff}.finding strong{display:block;margin-bottom:5px}.finding p{margin:0;color:var(--muted);line-height:1.45}.table-wrap{overflow:auto;margin-top:12px;border:1px solid var(--line);border-radius:12px}.players{width:100%;border-collapse:collapse;font-size:14px;min-width:780px}.players th,.players td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}.players tr:last-child td{border-bottom:0}.players th{color:#a9b7cd;background:#101722}.raw-details{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted)}.raw-details summary{cursor:pointer}.raw-grid{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:13px}.notice{padding:14px;border-radius:12px}.notice.warning{background:#2a2112;color:#ffd691}.analysis-error{margin-top:18px}@media(max-width:1000px){.attempts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.pillars{grid-template-columns:1fr}.hero h1{font-size:37px}.url-form{grid-template-columns:1fr}.shell{width:min(100% - 24px,1220px);padding-top:32px}.attempts{grid-template-columns:1fr}.review-title{flex-direction:column}.topbar{padding:0 14px}.status{max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.raw-casts{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#0d131d;display:flex;gap:8px;flex-direction:column;font-size:12px}.raw-casts strong{color:#cdd7e7}.raw-casts span{color:var(--muted);line-height:1.5}
.mechanics-section{margin-top:24px}.mechanics-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mechanic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.mechanic-card{border:1px solid var(--line);border-radius:12px;background:#101722;padding:13px 14px}.mechanic-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mechanic-card-head>div{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.mechanic-card-head strong{font-size:15px}.mechanic-card-head small{color:var(--muted)}.mechanic-card-head>span{font-weight:800;color:#c8bcff}.mechanic-tags{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.mechanic-tags span{font-size:11px;color:#a9b7cd;border:1px solid #2a3548;padding:4px 7px;border-radius:999px}.mechanic-card p{margin:7px 0 0;color:#b5c0d2;line-height:1.45;font-size:13px}.mechanic-card b{color:#e8edfa}.mechanic-evidence{color:#8fa0b8!important}@media(max-width:850px){.mechanic-grid{grid-template-columns:1fr}}
.tank-target-data{margin-top:10px;padding-top:10px;border-top:1px solid #273246}.tank-target-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#8fa0b8}.tank-target-head b{color:#e8edfa}.tank-target-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tank-target-summary span{border:1px solid #33405a;background:#0c131e;border-radius:999px;padding:5px 8px;font-size:12px;color:#c1ccdd}.tank-target-summary b{color:#c8bcff}.tank-target-timeline{margin-top:9px;border:1px solid #29354a;border-radius:9px;background:#0b111a}.tank-target-timeline summary{cursor:pointer;padding:8px 10px;color:#9fb1c8;font-size:12px}.tank-target-timeline>div{display:grid;gap:1px;border-top:1px solid #29354a}.tank-target-timeline>div>span{display:grid;grid-template-columns:28px 48px minmax(100px,1fr) minmax(100px,1fr);gap:8px;align-items:center;padding:6px 9px;font-size:12px}.tank-target-timeline i{font-style:normal;color:#63748d}.tank-target-timeline time{color:#a6b4c9}.tank-target-timeline strong{font-size:12px;color:#e8edfa}.tank-target-timeline small{color:#71839d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:650px){.tank-target-timeline>div>span{grid-template-columns:24px 44px 1fr}.tank-target-timeline small{display:none}}
.tank-phase-diagnostic{margin-top:12px;border:1px solid #2b3951;border-radius:12px;background:#0c131e;overflow:hidden}.tank-phase-diagnostic.insufficient{padding:12px}.tank-phase-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 13px;background:#111a27}.tank-phase-title>div{min-width:0}.tank-phase-title strong{font-size:14px;color:#eef2ff}.tank-phase-title p{margin:4px 0 0;color:#8fa0b8;font-size:12px;line-height:1.45}.tank-phase-title>span{white-space:nowrap;border:1px solid #3b4964;border-radius:999px;padding:5px 8px;color:#c8bcff;font-size:12px}.tank-phase-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid #263247}.tank-phase-chips span{font-size:11px;color:#b8c4d6;border:1px solid #33405a;border-radius:999px;padding:5px 8px}.tank-phase-list{display:grid;border-top:1px solid #263247}.tank-phase-row{display:grid;grid-template-columns:64px 78px minmax(170px,1fr) minmax(170px,1fr) 92px;gap:9px;align-items:center;padding:8px 12px;border-bottom:1px solid #202b3d;font-size:12px}.tank-phase-row:last-child{border-bottom:0}.tank-phase-num{font-weight:800;color:#c9c0ff}.tank-phase-time{color:#8fa0b8}.tank-phase-row>span>small{display:block;color:#687b98;font-size:10px;margin-bottom:2px}.tank-phase-row>span>b{color:#e8edfa}.tank-phase-row em{font-style:normal;color:#8fa0b8}.tank-phase-check{justify-self:end;color:#8fa0b8}.tank-phase-check.ok{color:#5ed6a0}.tank-anomalies{border-top:1px solid #263247;padding:10px 12px}.tank-anomalies>strong{font-size:12px;color:#d7deed}.tank-anomaly{display:flex;flex-direction:column;gap:3px;margin-top:7px;padding:8px 9px;border-left:2px solid #f0b35a;background:#111722;border-radius:6px}.tank-anomaly.late{border-color:#6ea8ff}.tank-anomaly b{font-size:12px}.tank-anomaly span{font-size:12px;color:#92a2b9;line-height:1.4}.tank-phase-diagnostic>.mechanic-evidence{padding:0 12px 11px;margin:10px 0 0!important}@media(max-width:900px){.tank-phase-row{grid-template-columns:54px 66px 1fr 1fr}.tank-phase-check{grid-column:3/5;justify-self:start}}@media(max-width:650px){.tank-phase-title{flex-direction:column}.tank-phase-row{grid-template-columns:1fr 1fr}.tank-phase-num,.tank-phase-time{grid-column:auto}.tank-phase-row>span:nth-child(3),.tank-phase-row>span:nth-child(4),.tank-phase-check{grid-column:1/3}.tank-phase-check{justify-self:start}}
.tank-survival-diagnostic{margin-top:12px;border:1px solid #3a334d;border-radius:12px;background:#0d111a;overflow:hidden}.tank-survival-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:12px 13px;background:#171424}.tank-survival-title strong{font-size:14px;color:#f0ebff}.tank-survival-title p{margin:4px 0 0;color:#9a91ae;font-size:12px;line-height:1.45}.tank-survival-title>span{white-space:nowrap;border:1px solid #4d4264;border-radius:999px;padding:5px 8px;color:#d4c6ff;font-size:12px}.tank-death-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.tank-death-card{border:1px solid #2d3548;border-radius:10px;background:#101722;overflow:hidden}.tank-death-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 12px;border-bottom:1px solid #273246}.tank-death-head>div{display:flex;flex-direction:column;gap:3px}.tank-death-head strong{color:#fff}.tank-death-head span{font-size:11px;color:#8fa0b8}.tank-death-head>b{font-size:12px;color:#ffbdc8;text-align:right}.tank-death-section{padding:10px 12px;border-bottom:1px solid #202b3d}.tank-death-section>small{display:block;color:#8494ac;margin-bottom:7px}.tank-death-section p{margin:0;color:#7889a2;font-size:12px}.tank-damage-list{display:grid;gap:5px}.tank-damage-list span{display:flex;justify-content:space-between;gap:10px;font-size:12px}.tank-damage-list b{color:#e9eef9}.tank-damage-list em{font-style:normal;color:#9aabc2;text-align:right}.tank-buff-chips{display:flex;flex-wrap:wrap;gap:5px}.tank-buff-chips span{font-size:11px;border:1px solid #35425a;background:#0b111a;border-radius:999px;padding:4px 7px;color:#c5d0e1}.tank-recent-buffs summary{cursor:pointer;padding:9px 12px;color:#9fb1c8;font-size:12px}.tank-recent-buffs>div{display:grid;border-top:1px solid #273246}.tank-recent-buffs>div>span{display:grid;grid-template-columns:48px 18px 1fr;gap:6px;align-items:center;padding:5px 12px;font-size:11px}.tank-recent-buffs time{color:#8494ac}.tank-recent-buffs i{font-style:normal;text-align:center}.tank-recent-buffs i.apply{color:#5ed6a0}.tank-recent-buffs i.remove{color:#ff8092}.tank-recent-buffs i.refresh{color:#8fb8ff}.tank-survival-diagnostic>.mechanic-evidence{padding:0 12px 12px;margin:3px 0 0!important}.tank-survival-diagnostic.insufficient{border-color:#58452f}@media(max-width:850px){.tank-death-grid{grid-template-columns:1fr}.tank-survival-title{flex-direction:column}}
.tank-identity{color:#8ea1bd!important;font-size:10px!important;margin-top:2px}.defensive-catalog-head{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-bottom:1px solid #202b3d;background:#0d141f}.defensive-catalog-head>small{color:#7f90a9;line-height:1.35}.catalog-status{white-space:nowrap;font-size:10px;padding:4px 7px;border:1px solid #3b4964;border-radius:999px;color:#b6c2d5}.catalog-status.supported{border-color:#2f7157;color:#76ddb0}.catalog-status.partial{border-color:#725b32;color:#efbe69}.catalog-status.unsupported{border-color:#68404b;color:#ef9bab}.defensive-section{background:#0d1520}.defensive-chips{display:flex;flex-wrap:wrap;gap:6px}.defensive-chip{display:flex;align-items:baseline;gap:5px;border:1px solid #40506a;border-radius:8px;padding:6px 8px;background:#111b29;font-size:11px}.defensive-chip b{color:#eef3ff}.defensive-chip small{color:#8fa0b8}.defensive-chip.personal{border-color:#425e8a}.defensive-chip.external{border-color:#526d45}.defensive-chip.immunity{border-color:#7d6340}.defensive-chip.absorb{border-color:#5a4f7c}.tank-defensive-timeline{border-bottom:1px solid #202b3d;background:#0d141f}.tank-defensive-timeline summary,.tank-raw-buffs summary{cursor:pointer;padding:9px 12px;color:#b5c8e5;font-size:12px}.tank-defensive-timeline>div{display:grid;border-top:1px solid #273246}.tank-defensive-timeline>div>span{display:grid;grid-template-columns:48px 20px minmax(120px,1fr) auto;gap:6px;align-items:center;padding:6px 12px;font-size:11px}.tank-defensive-timeline time{color:#8494ac}.tank-defensive-timeline i{font-style:normal;text-align:center;color:#8fb8ff}.tank-defensive-timeline b{color:#eef3ff}.tank-defensive-timeline small{color:#8fa0b8}.tank-defensive-empty{padding:9px 12px;border-bottom:1px solid #202b3d;color:#7f90a9;font-size:11px;line-height:1.4}.tank-raw-buffs{border-bottom:1px solid #202b3d}.tank-raw-buffs>.tank-buff-chips{padding:0 12px 10px}.tank-raw-buffs>p{padding:0 12px 10px;margin:0;color:#7889a2;font-size:12px}@media(max-width:650px){.defensive-catalog-head{flex-direction:column}.tank-defensive-timeline>div>span{grid-template-columns:44px 18px 1fr}.tank-defensive-timeline small{grid-column:3}}
.planner-card{box-shadow:0 0 0 1px #3d7d6555 inset}.live-stage{color:#72d5a8!important;font-weight:750}.log-plan{margin-top:24px;border:1px solid #305743;border-radius:14px;background:linear-gradient(180deg,#0d1715,#0b1115);overflow:hidden}.log-plan.partial{border-color:#66512c}.log-plan-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:16px;background:#101b19}.log-plan-head h3{margin:5px 0 6px;font-size:20px}.log-plan-head p{margin:0;color:#9fb3aa;max-width:820px;line-height:1.45;font-size:13px}.plan-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.plan-actions button{background:#24684c}.plan-reliability{font-size:11px;color:#a9c8ba;border:1px solid #35664f;border-radius:999px;padding:6px 9px;white-space:nowrap}.plan-warning{display:flex;gap:8px;padding:11px 16px;background:#211b10;border-top:1px solid #66512c;border-bottom:1px solid #66512c;font-size:12px}.plan-warning strong{color:#ffd28a;white-space:nowrap}.plan-warning span{color:#b8aa8f;line-height:1.45}.plan-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.35fr);gap:12px;padding:12px}.plan-scenes,.plan-timeline{border:1px solid #263a34;border-radius:11px;background:#0d1417;overflow:hidden;min-width:0}.plan-subhead{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;background:#111c1e;border-bottom:1px solid #263a34}.plan-subhead strong{font-size:13px}.plan-subhead span{font-size:11px;color:#8ca39a}.plan-scene{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:10px 12px;border-bottom:1px solid #202f2b}.plan-scene:last-child{border-bottom:0}.plan-scene.intermission{background:#16172a}.plan-scene-time{font-weight:850;color:#7ad8ac;font-size:13px}.plan-scene.intermission .plan-scene-time{color:#bdb0ff}.plan-scene-title{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.plan-scene-title strong{font-size:13px}.plan-scene-title small{color:#748c83}.plan-scene-body p{margin:4px 0 0;color:#8fa49d;line-height:1.4;font-size:11px}.plan-scene-mechanics{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.plan-scene-mechanics span{font-size:10px;padding:4px 6px;border:1px solid #31453f;border-radius:999px;color:#b8cbc4}.plan-track{padding:10px 12px;border-bottom:1px solid #202f2b}.plan-track:last-child{border-bottom:0}.plan-track.observed-only{border-left:2px solid #7b6234}.plan-track-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.plan-track-head>div{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap}.plan-track-head strong{font-size:13px}.plan-track-head small{font-size:10px;color:#758a82}.plan-track-head>span{font-size:11px;color:#9ec1b3}.plan-track p{margin:4px 0 7px;color:#8fa49d;font-size:11px;line-height:1.4}.plan-times{display:flex;gap:5px;flex-wrap:wrap}.plan-times span{display:inline-flex;gap:4px;align-items:center;font-size:11px;border:1px solid #2f4a40;background:#0a1213;border-radius:7px;padding:4px 6px;color:#c8ddd5}.plan-times i{font-style:normal;color:#6d897f;font-size:9px}.plan-footnote{margin:0;padding:0 14px 13px;color:#72867e;font-size:11px;line-height:1.45}@media(max-width:900px){.log-plan-head{flex-direction:column}.plan-actions{justify-content:flex-start}.plan-layout{grid-template-columns:1fr}.plan-warning{flex-direction:column}.plan-warning strong{white-space:normal}}

/* 0.1.15 — actual visual WCL planner vertical slice */
.log-plan.visual-ready{border-color:#276c52;background:#08110f;margin-top:24px}.log-plan-intro{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:16px 18px;border-bottom:1px solid #254c3c;background:linear-gradient(180deg,#0d1b17,#0a1512)}.log-plan-intro h3{margin:5px 0 5px;font-size:20px}.log-plan-intro p{margin:0;max-width:900px;color:#9fb6ad;font-size:12px;line-height:1.45}.visual-planner{margin:12px;border:1px solid #2a4039;border-radius:13px;overflow:hidden;background:#07100f;box-shadow:0 16px 50px #0007}.vp-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 15px;background:#101b19;border-bottom:1px solid #29453c}.vp-toolbar h3{margin:3px 0 0;font-size:18px}.vp-toolbar-actions{display:flex;align-items:center;gap:8px}.vp-toolbar-actions button{background:#20704e}.vp-source{font-size:11px;border:1px solid #315a4a;border-radius:999px;padding:6px 9px;color:#a4c7b9}.vp-grid{display:grid;grid-template-columns:220px minmax(520px,1fr) 320px;min-height:600px}.vp-scenes-panel,.vp-notes-panel{background:#0b1314;min-width:0}.vp-scenes-panel{border-right:1px solid #253733}.vp-notes-panel{border-left:1px solid #253733;padding:12px;overflow:auto;max-height:690px}.vp-panel-title{display:flex;justify-content:space-between;padding:11px 12px;border-bottom:1px solid #263a35;background:#0f1919}.vp-panel-title strong{font-size:12px}.vp-panel-title span{color:#79b79e;font-size:11px}.vp-scene-button{width:100%;border:0;border-bottom:1px solid #20302d;border-radius:0;background:#0b1314;color:#cbd9d4;padding:11px 10px;display:grid;grid-template-columns:43px 1fr;gap:8px;text-align:left;box-shadow:none}.vp-scene-button:hover{background:#11201d}.vp-scene-button.active{background:#153126;box-shadow:inset 3px 0 #62d39f}.vp-scene-button.intermission.active{background:#24203a;box-shadow:inset 3px 0 #a996ff}.vp-scene-button time{font-size:11px;font-weight:850;color:#70d4a3}.vp-scene-button.intermission time{color:#b8aaff}.vp-scene-button span{display:flex;flex-direction:column;gap:2px}.vp-scene-button b{font-size:11px;line-height:1.25}.vp-scene-button small{font-size:9px;color:#71877f}.vp-center{min-width:0;background:#07100f}.vp-stage-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid #233833;background:#0c1716}.vp-stage-head>div:first-child>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6c9e8a}.vp-stage-head h4{margin:2px 0 0;font-size:15px}.vp-stage-time{display:flex;align-items:flex-end;gap:8px}.vp-stage-time strong{font-size:20px;color:#76dcab}.vp-stage-time small{font-size:9px;color:#748b82;padding-bottom:3px}.vp-arena{position:relative;min-height:430px;overflow:hidden;background:#101818 center/cover no-repeat;border-bottom:1px solid #21332f;isolation:isolate}.vp-arena:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 52%,transparent 0 35%,#07100f2d 55%,#07100fa8 100%);z-index:0;pointer-events:none}.vp-schematic-badge{position:absolute;z-index:8;left:10px;top:10px;font-size:9px;padding:5px 7px;border-radius:6px;background:#050a08d9;border:1px solid #68816f;color:#d1d9d5}.vp-marker{position:absolute;z-index:7;transform:translate(-50%,-50%);min-width:58px;max-width:105px;border:2px solid #eef6f2;border-radius:999px;padding:6px 8px;background:#111d1aeb;color:#fff;box-shadow:0 4px 15px #0009;text-align:center}.vp-marker b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vp-marker small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.05em;opacity:.72}.vp-marker.boss{border-color:#ff7474;background:#401617e8}.vp-marker.tank{border-color:#79a8ff;background:#13264ae8}.vp-marker.melee{border-color:#ffc969}.vp-marker.ranged{border-color:#9bd27f}.vp-marker.healer{border-color:#64e0ca}.vp-marker.add{border-color:#d6a5ff;background:#2b173ae8}.vp-marker.objective{border-color:#f3df72;background:#3d3511e8}.vp-zone{position:absolute;z-index:2;border:2px dashed #ffffff55;background:#ffffff08;transform:translate(-0%,-0%);pointer-events:none}.vp-zone.circle{border-radius:999px}.vp-zone span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:8px;white-space:nowrap;background:#040807a6;padding:3px 5px;border-radius:4px}.vp-zone.danger{border-color:#ff777799;background:#7a141424}.vp-zone.objective{border-color:#e8d8716e;background:transparent}.vp-zone.stack{border-color:#7bd8bd99;background:#236c552c}.vp-zone.spread{border-color:#91b6ff6b;background:#37568817}.vp-no-visual{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#9aaba5;background:#0b1214}.vp-no-visual strong{font-size:14px}.vp-no-visual span{font-size:11px}.vp-notes-head{padding-bottom:11px;border-bottom:1px solid #263833;margin-bottom:8px}.vp-notes-head h4{margin:4px 0 6px;font-size:15px}.vp-notes-head p{margin:0;color:#879d95;font-size:11px;line-height:1.45}.vp-note{border:1px solid #263b35;border-radius:9px;padding:9px;margin:8px 0;background:#0e1818}.vp-note>span{display:inline-block;font-size:8px;text-transform:uppercase;letter-spacing:.06em;padding:3px 5px;border:1px solid #36564a;border-radius:999px;color:#91c3af}.vp-note.tank>span{border-color:#355790;color:#8fb5ff}.vp-note.healer>span{border-color:#276d64;color:#73e5d0}.vp-note.dps>span{border-color:#6c5431;color:#f0c87d}.vp-note p{margin:6px 0 0;font-size:10.5px;line-height:1.45;color:#bdcbc6}.vp-boundary{margin-top:12px;padding:9px;border-left:2px solid #7068a8;background:#151626}.vp-boundary b,.vp-boundary span{display:block;font-size:9px}.vp-boundary span{color:#9695b8;line-height:1.4;margin-top:3px}.vp-empty-note{color:#778b84;font-size:11px}.vp-time-head{display:flex;justify-content:space-between;padding:9px 12px 5px}.vp-time-head strong{font-size:11px}.vp-time-head span{font-size:9px;color:#6e847c}.vp-timebar{position:relative;height:64px;margin:0 13px;background:#0b1514;border:1px solid #2a4039;border-radius:8px;overflow:hidden}.vp-phase-block{position:absolute;top:0;height:25px;border:0;border-right:1px solid #426254;border-radius:0;background:#193228aa;color:#b9d4c9;padding:0 4px;overflow:hidden;box-shadow:none}.vp-phase-block.intermission{background:#292441c7}.vp-phase-block.active{box-shadow:inset 0 -2px #6ce1ae}.vp-phase-block span{font-size:8px;white-space:nowrap}.vp-event{position:absolute;top:31px;width:10px;height:24px;padding:0;border:0;background:transparent;transform:translateX(-50%);box-shadow:none;z-index:5}.vp-event i{display:block;margin:auto;width:6px;height:17px;border-radius:4px;background:#d4e3dd;border:1px solid #07100f}.vp-event:hover i{background:#70e2ae;transform:scaleX(1.4)}.vp-playhead{position:absolute;z-index:6;top:0;bottom:0;width:1px;background:#fff;pointer-events:none}.vp-playhead:before{content:"";position:absolute;top:27px;left:-3px;width:7px;height:7px;border-radius:50%;background:#fff}.vp-playhead span{position:absolute;right:4px;top:42px;font-size:8px;color:#fff;background:#030705c9;padding:2px 4px;border-radius:3px;white-space:nowrap}.vp-time-scale{display:flex;justify-content:space-between;padding:3px 13px 10px;color:#596e67;font-size:8px}.vp-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 12px;background:#0d1716;border-top:1px solid #263a35}.vp-legend span{display:flex;align-items:center;gap:4px;font-size:8px;color:#8da39b}.vp-legend i{width:8px;height:8px;border-radius:50%;border:2px solid #ddd}.vp-legend i.boss{border-color:#ff7474}.vp-legend i.tank{border-color:#79a8ff}.vp-legend i.melee{border-color:#ffc969}.vp-legend i.ranged{border-color:#9bd27f}.vp-legend i.healer{border-color:#64e0ca}.vp-legend i.add{border-color:#d6a5ff}.vp-legend b{margin-left:auto;color:#779088;font-size:8px;font-weight:600}.plan-evidence{margin:0 12px 12px;border:1px solid #273c36;border-radius:10px;overflow:hidden;background:#0b1314}.plan-evidence>summary{cursor:pointer;padding:10px 12px;color:#a4bbb2;font-size:11px;background:#0f1919}.plan-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-evidence-grid .plan-track{min-width:0}.plan-evidence-grid .plan-track:nth-child(odd){border-right:1px solid #202f2b}
@media(max-width:1180px){.vp-grid{grid-template-columns:190px minmax(420px,1fr)}.vp-notes-panel{grid-column:1/-1;border-left:0;border-top:1px solid #253733;max-height:none}.vp-notes-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vp-notes-head,.vp-boundary{grid-column:1/-1}.vp-note{margin:0}.vp-arena{min-height:390px}}
@media(max-width:760px){.log-plan-intro,.vp-toolbar{flex-direction:column;align-items:flex-start}.vp-grid{display:block}.vp-scenes-panel{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid #253733}.vp-panel-title{display:none}.vp-scene-button{min-width:190px;border-right:1px solid #20302d}.vp-arena{min-height:360px}.vp-notes-panel{display:block}.plan-evidence-grid{grid-template-columns:1fr}.plan-evidence-grid .plan-track:nth-child(odd){border-right:0}.vp-time-head span{display:none}}

/* 0.1.16 — Planner Workspace port: restore the old RaidRU editor mental model */
.planner-workspace{margin:12px;border:1px solid #2b3a45;border-radius:14px;overflow:hidden;background:#090e13;box-shadow:0 18px 55px #0007}
.pw-topbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 14px;background:linear-gradient(180deg,#101821,#0c131a);border-bottom:1px solid #25333d}
.pw-topbar h3{margin:3px 0 2px;font-size:17px}.pw-topbar small{color:#71818f;font-size:9px}.pw-top-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.pw-top-actions>button,.pw-mode button{min-height:31px;padding:0 9px;border:1px solid #2a3944;background:#101923;color:#8f9daa;border-radius:7px;box-shadow:none}.pw-top-actions>button:hover,.pw-mode button:hover{border-color:#405363;color:#d6e0e7}.pw-top-actions #export-plan-json{background:#186b49;border-color:#267c59;color:#e8fff4}.pw-top-actions>span{font-size:8px;color:#6f817c;padding:0 5px}.pw-mode{display:flex;align-items:center}.pw-mode button{border-radius:7px 0 0 7px}.pw-mode button+button{border-left:0;border-radius:0 7px 7px 0}.pw-mode button.on{background:#143323;color:#b9f2cf;border-color:#31654b}
.pw-main{display:grid;grid-template-columns:212px minmax(560px,1fr) 282px;min-height:570px;background:#090e13}.pw-scenes{min-width:0;border-right:1px solid #24313a;background:#0d1319;display:flex;flex-direction:column}.pw-panel-head{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid #222f37;background:#111920}.pw-panel-head>div{display:flex;align-items:center;gap:7px}.pw-panel-head strong{font-size:11px}.pw-panel-head small{font-size:8px;color:#59d890}.pw-panel-head button{width:28px;height:28px;padding:0;border-radius:7px;background:#17222b;border-color:#31404b;color:#bbcad4;font-size:16px}.pw-scene-list{overflow:auto;flex:1;min-height:0;scrollbar-width:thin}.pw-scene{width:100%;min-height:61px;display:grid;grid-template-columns:43px minmax(0,1fr);gap:7px;align-items:start;text-align:left;border:0;border-radius:0;border-bottom:1px solid #1e2a32;background:#0d1319;color:#bdc8d0;padding:9px;box-shadow:none}.pw-scene:hover{background:#111b22}.pw-scene.active{background:#173025;box-shadow:inset 3px 0 #4dd18a}.pw-scene.intermission.active{background:#29243b;box-shadow:inset 3px 0 #9a84ea}.pw-scene time{font-size:10px;color:#55d58c;font-weight:900}.pw-scene.intermission time{color:#b39bf3}.pw-scene span{display:flex;flex-direction:column;gap:3px;min-width:0}.pw-scene b{font-size:9.5px;line-height:1.25}.pw-scene small{font-size:7.5px;color:#647580}.pw-scene-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px;border-top:1px solid #22303a}.pw-scene-actions button{font-size:8px;padding:7px 4px;background:#111a22;border-color:#283743;color:#7f8e9b}.pw-scene-actions button:last-child{color:#c58f91}
.pw-canvas{min-width:0;background:#080d11}.pw-stage-head{height:53px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border-bottom:1px solid #23313a;background:#0e151b}.pw-stage-head>div:first-child>span{font-size:8px;text-transform:uppercase;letter-spacing:.11em;color:#6e7f8b}.pw-stage-head h4{margin:2px 0 0;font-size:14px}.pw-stage-time{display:flex;align-items:flex-end;gap:7px}.pw-stage-time strong{font-size:18px;color:#59d891}.pw-stage-time small{font-size:8px;color:#6c7d88;padding-bottom:2px}
.pw-arena{position:relative;min-height:515px;overflow:hidden;background-color:#070b0f;background-position:center;background-repeat:no-repeat;background-size:contain;border-bottom:1px solid #223038;isolation:isolate;touch-action:none}.pw-arena:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#05080b18,#05080b35);pointer-events:none;z-index:0}.pw-arena.editing{cursor:crosshair}.pw-schematic-badge{position:absolute;z-index:20;left:10px;top:10px;padding:5px 7px;border-radius:6px;border:1px solid #465864;background:#070b0edb;color:#c6d0d5;font-size:8px}.pw-token{position:absolute;z-index:12;transform:translate(-50%,-50%);min-width:48px;max-width:92px;padding:5px 7px;border:2px solid #dce6eb;border-radius:9px;background:#101821e8;color:#fff;box-shadow:0 4px 12px #0009;text-align:center;cursor:grab;touch-action:none}.pw-token:active{cursor:grabbing}.pw-token.selected{outline:2px solid #fff;outline-offset:3px;z-index:20}.pw-token b{display:block;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pw-token small{display:block;margin-top:1px;font-size:6.5px;text-transform:uppercase;letter-spacing:.05em;opacity:.68}.pw-token.boss{border-color:#f0616a;background:#49161be8}.pw-token.tank{border-color:#5d9cf2;background:#132a4be8}.pw-token.melee{border-color:#efb64d}.pw-token.ranged{border-color:#8dcc6f}.pw-token.healer{border-color:#4fe0ac}.pw-token.add{border-color:#ba75e7;background:#2c1939e8}.pw-token.objective{border-color:#e6d05b;background:#453b15e8}.pw-zone{position:absolute;z-index:2;border:2px dashed #ffffff66;background:#ffffff0b;pointer-events:none}.pw-zone.circle{border-radius:999px}.pw-zone span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:7px;background:#05080ab8;padding:2px 5px;border-radius:4px;white-space:nowrap;color:#dce6eb}.pw-zone.danger{border-color:#e4545a99;background:#7d1c2025}.pw-zone.stack{border-color:#46d69a99;background:#1d76522a}.pw-zone.spread{border-color:#6aa7ed99;background:#245b8f1f}
.pw-tools{min-width:0;border-left:1px solid #24313a;background:#0d1319;overflow:auto;max-height:570px;scrollbar-width:thin}.pw-side-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:7px;border-bottom:1px solid #22303a;background:#101820}.pw-side-tabs button{margin:0;padding:7px;border:1px solid transparent;background:transparent;color:#748592;font-size:8px;font-weight:850}.pw-side-tabs button.on{background:#152331;border-color:#31506b;color:#b8d7ed}.pw-side-section{padding:10px}.pw-side-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pw-side-title strong{font-size:10px}.pw-side-title span{font-size:8px;color:#70818d}.pw-palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pw-palette-item{aspect-ratio:1;padding:4px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#101923!important;border:1px solid #263744!important;border-radius:8px!important;box-shadow:none!important}.pw-palette-item i{display:block;width:24px;height:24px;border-radius:8px;border:2px solid #dfe7ec;background:#18212a}.pw-palette-item span{font-size:6.5px;color:#8f9eaa}.pw-palette-item.boss i{border-color:#f0616a;background:#49161b}.pw-palette-item.tank i{border-color:#5d9cf2;background:#132a4b}.pw-palette-item.melee i{border-color:#efb64d}.pw-palette-item.ranged i{border-color:#8dcc6f}.pw-palette-item.healer i{border-color:#4fe0ac}.pw-palette-item.add i{border-color:#ba75e7;background:#2c1939}.pw-palette-item.objective i{border-color:#e6d05b;background:#453b15}.pw-palette-subtitle{margin:14px 0 6px;padding-top:10px;border-top:1px solid #202c34;font-size:8px;font-weight:800;color:#8898a4;text-transform:uppercase;letter-spacing:.08em}.pw-zone-actions{display:grid;grid-template-columns:1fr;gap:5px}.pw-zone-actions button,.pw-note-actions button{font-size:7.5px;padding:6px;background:#111b23;border-color:#2a3945;color:#8ea0ad}.pw-inspector{margin-top:13px;padding-top:11px;border-top:1px solid #202c34}.pw-inspector>strong{display:block;margin-bottom:8px;font-size:9px}.pw-field{display:block;margin:8px 0}.pw-field>span{display:block;margin-bottom:4px;font-size:7.5px;color:#778893}.pw-field input,.pw-field textarea,.pw-role-note textarea{width:100%;box-sizing:border-box;background:#090f14;border:1px solid #293844;border-radius:7px;color:#c7d1d7;padding:7px;font:inherit;font-size:8.5px;resize:vertical}.pw-coords{display:flex;gap:6px;margin:8px 0}.pw-coords span{font-size:7px;padding:3px 5px;border:1px solid #263640;border-radius:5px;color:#71818c}.danger-btn{width:100%;background:#291517!important;border-color:#623138!important;color:#d6a2a5!important;font-size:8px!important}.pw-empty{font-size:8px;color:#667781;line-height:1.45}.pw-role-note{display:block;margin:7px 0;padding:7px;border:1px solid #24333d;border-radius:8px;background:#10171d}.pw-role-note>span{display:block;margin-bottom:5px;font-size:7px;text-transform:uppercase;letter-spacing:.07em;color:#90a1ad}.pw-role-note.tank{border-color:#2a4668}.pw-role-note.healer{border-color:#24604b}.pw-role-note.dps{border-color:#5e4b29}.pw-note-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px}
.pw-main.view-mode{grid-template-columns:190px minmax(650px,1fr)}.pw-main.view-mode .pw-tools{display:none}.pw-main.view-mode .pw-token{cursor:default}
.pw-timeline{border-top:1px solid #26343e;background:linear-gradient(180deg,#0e151b,#0b1117);padding-bottom:10px}.pw-timeline-head{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 13px}.pw-timeline-head>div:first-child{display:flex;align-items:baseline;gap:9px}.pw-timeline-head strong{font-size:12px}.pw-timeline-legend{display:flex;align-items:center;gap:10px}.pw-timeline-legend span{font-size:7px;color:#758692}.pw-timeline-legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px;background:#6f7e88}.pw-timeline-legend .raid:before{background:#cc5460}.pw-timeline-legend .tank:before{background:#c28a3c}.pw-timeline-legend .adds:before{background:#875ab6}.pw-timeline-legend .move:before{background:#428dc5}.pw-ruler,.pw-lane{display:grid;grid-template-columns:92px 1fr;padding:0 13px}.pw-ruler{height:27px;align-items:end}.pw-ruler>div{position:relative;height:100%;border-bottom:1px solid #26343c}.pw-ruler time{position:absolute;bottom:5px;transform:translateX(-50%);font-size:6.5px;color:#5f707c;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.pw-lane{min-height:38px;align-items:center}.pw-lane>label{font-size:7.5px;color:#758591}.pw-lane-track{position:relative;height:27px;border-bottom:1px solid #18232a;background:linear-gradient(90deg,#ffffff04,#ffffff00)}.pw-lane-block{position:absolute;top:3px;height:20px;border:0;border-right:1px solid #365343;border-radius:3px;background:#183226b8;color:#a9c9b8;overflow:hidden;padding:0 4px;font-size:6.5px;white-space:nowrap;text-overflow:ellipsis;box-shadow:none}.pw-lane-block.intermission{background:#2b2540c9}.pw-lane-block.active{box-shadow:inset 0 -2px #55d993}.pw-event{position:absolute;top:3px;width:8px;height:20px;border:0;background:transparent;padding:0;transform:translateX(-50%);box-shadow:none;z-index:5}.pw-event i{display:block;width:5px;height:15px;margin:auto;border-radius:2px;background:#73838e}.pw-event.raid i{background:#cc5460}.pw-event.tank i{background:#c28a3c}.pw-event.adds i{background:#875ab6}.pw-event.move i{background:#428dc5}.pw-event:hover i{outline:1px solid #fff;transform:scaleX(1.4)}.pw-lane-playhead{position:absolute;z-index:4;top:0;bottom:0;width:1px;background:#e8f1f5;pointer-events:none}.pw-footer{display:flex;align-items:center;gap:18px;padding:7px 12px;border-top:1px solid #223039;background:#0c1318;color:#657782;font-size:7px}.pw-footer span:before{content:"•";margin-right:5px;color:#4fd58c}
@media(max-width:1220px){.pw-main{grid-template-columns:185px minmax(500px,1fr) 250px}.pw-arena{min-height:470px}.pw-tools{max-height:525px}.pw-palette-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.pw-main,.pw-main.view-mode{grid-template-columns:1fr}.pw-scenes{border-right:0;border-bottom:1px solid #24313a}.pw-scene-list{display:flex;overflow-x:auto}.pw-scene{min-width:190px}.pw-scene-actions{display:none}.pw-tools{border-left:0;border-top:1px solid #24313a;max-height:none}.pw-main.view-mode .pw-tools{display:none}.pw-palette-grid{grid-template-columns:repeat(7,1fr)}.pw-topbar{align-items:flex-start;flex-direction:column}.pw-top-actions{justify-content:flex-start}.pw-arena{min-height:420px}.pw-ruler,.pw-lane{grid-template-columns:70px 1fr}}
@media(max-width:680px){.pw-palette-grid{grid-template-columns:repeat(4,1fr)}.pw-arena{min-height:360px}.pw-timeline-legend{display:none}.pw-footer{flex-direction:column;align-items:flex-start;gap:3px}}

/* 0.1.17 — faithful legacy Planner surface port */
.shell{width:min(1480px,calc(100% - 32px))}
.planner-workspace{background:#090f15;border-color:#273842;box-shadow:0 18px 60px #0007}
.legacy-workspace-head{display:grid;grid-template-columns:1fr;gap:10px;align-items:end;padding:14px 14px 12px;border-bottom:1px solid #273641;background:#0d141b}
.legacy-workspace-head h3{margin:4px 0 0;font-size:15px;color:#e8eef5}.legacy-source-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.legacy-source-cards button{min-height:64px;padding:10px 14px;text-align:left;border:1px solid #263842;border-radius:11px;background:#10171d;color:#788793;box-shadow:none}.legacy-source-cards button.on{border-color:#4ebc82;background:#123324;color:#e4f8ed;box-shadow:inset 0 -2px #57db95}.legacy-source-cards b,.legacy-source-cards small{display:block}.legacy-source-cards b{font-size:13px}.legacy-source-cards small{margin-top:4px;font-size:9px;color:#7f968b}
.legacy-planner-toolbar{display:grid;grid-template-columns:30px minmax(210px,1fr) 30px minmax(18px,.5fr) auto auto 32px 32px auto auto auto;gap:7px;align-items:center;padding:10px 12px;background:#0b1218;border-bottom:1px solid #293841}.legacy-planner-toolbar>button{margin:0;padding:8px 9px;border-radius:7px;background:#101923;border:1px solid #293a46;color:#93a0ab;font-size:10px;box-shadow:none}.legacy-planner-toolbar>button.primary{background:#168257;border-color:#2daa77;color:#fff}.legacy-planner-toolbar>button:disabled{opacity:.45}.legacy-scene-current{display:flex;flex-direction:column;min-width:0}.legacy-scene-current strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legacy-scene-current small{font-size:8px;color:#758590;margin-top:2px}.pw-mode{display:grid;grid-template-columns:1fr 1fr;border:1px solid #2a3b46;border-radius:7px;overflow:hidden}.pw-mode button{border:0;border-radius:0;background:#101923;color:#83939f;padding:7px 10px;font-size:9px}.pw-mode button.on{background:#173852;color:#dbeafa}
.legacy-scene-strip{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:#0a1016;border-bottom:1px solid #263640;scrollbar-width:thin}.legacy-scene-strip button{display:grid;grid-template-columns:22px minmax(115px,1fr);gap:7px;align-items:center;min-width:158px;max-width:215px;padding:7px 8px;border:1px solid #263640;border-radius:7px;background:#10171e;color:#778690;text-align:left;box-shadow:none}.legacy-scene-strip button b{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;background:#192630;color:#9dafba;font-size:8px}.legacy-scene-strip button span{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legacy-scene-strip button.on{border-color:#45bd79;background:#123020;color:#dcefe5}.legacy-scene-strip button.on b{background:#1d4934;color:#8ce2b4}.legacy-scene-strip button.intermission.on{border-color:#8d79d8;background:#24203a}.legacy-scene-strip button.intermission.on b{background:#42396b}
.legacy-plan-grid{display:grid;grid-template-columns:minmax(0,1fr) 292px;align-items:start;background:#070c11}.legacy-plan-grid.view-mode{grid-template-columns:1fr}.legacy-plan-grid.view-mode .legacy-palette{display:none}.legacy-planner-canvas{min-width:0;padding:12px 12px 0;background:#070c11}.legacy-palette{position:sticky;top:76px;max-height:760px;overflow:auto;border-left:1px solid #2a3942;background:#0b1117;scrollbar-width:thin}.paletteTabs{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:8px;border-bottom:1px solid #263740;background:#0d151c}.paletteTabs button{padding:9px 6px;border:1px solid transparent;border-radius:8px;background:transparent;color:#798995;font-size:8px;letter-spacing:.05em;box-shadow:none}.paletteTabs button.on{border-color:#3d6c93;background:#173047;color:#d5e9f8}.legacy-palette-body{padding-bottom:14px}.paletteSection{padding:11px 9px;border-bottom:1px solid #202e36}.paletteSectionTitle{font-size:8px;font-weight:900;letter-spacing:.09em;color:#83939e;margin-bottom:9px}.palette-help{font-size:8px;line-height:1.4;color:#6f818d;margin:0 0 8px}.legacy-add-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px}.legacy-add-buttons button,.legacy-zone-grid button{padding:7px 5px;border:1px solid #283b46;border-radius:6px;background:#101a21;color:#8498a5;font-size:7.5px;box-shadow:none}.legacy-add-buttons button.on,.legacy-zone-grid button.on{background:#119669;border-color:#1fb582;color:#fff}.pw-palette-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.legacy-palette-icon{aspect-ratio:1;min-width:0;padding:5px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #273b48!important;border-radius:8px!important;background:#111b24!important;color:#8ea0ab!important;box-shadow:none!important}.legacy-palette-icon:hover{border-color:#4d738d!important;background:#152531!important}.legacy-palette-icon img{display:block;width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 3px #0008)}.legacy-palette-icon span{max-width:100%;font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legacy-zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.legacy-zone-grid button:last-child{grid-column:1/-1}.legacy-inspector .danger-btn{margin-top:6px}
.rosterPaletteNew{display:grid;gap:5px}.rosterPaletteNew button{display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:center;padding:6px 7px;border:1px solid #263845;border-radius:7px;background:#101922;color:#d4dee5;text-align:left;box-shadow:none}.rosterPaletteNew button:hover{border-color:#456f89;background:#13232d}.rosterPaletteIcon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#081016;border:1px solid #2a414e}.rosterPaletteIcon img{width:30px;height:30px;object-fit:contain}.rosterPaletteNew b,.rosterPaletteNew small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rosterPaletteNew b{font-size:9px}.rosterPaletteNew small{margin-top:2px;color:#70828e;font-size:7px}.paletteEmpty{padding:12px;border:1px dashed #30414b;border-radius:8px;color:#7d8d96}.paletteEmpty b{font-size:10px}.paletteEmpty p{font-size:8px;margin:5px 0 0}
.legacy-arena{position:relative;min-height:0;aspect-ratio:1231/692;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;border:1px solid #273840;border-radius:9px;overflow:hidden;isolation:isolate;touch-action:none}.legacy-arena:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#03070a10,#03070a24);pointer-events:none}.legacy-arena.schematic:not([style*="background-image"]){background:#0a1015!important}.legacy-arena.editing{cursor:default}.legacy-arena.drawing-path{cursor:crosshair}.pw-schematic-badge{z-index:30;background:#071017d9;border-color:#42555f;font-size:8px}.legacy-token{z-index:15}.legacy-token.has-asset{width:46px;height:46px;min-width:46px;max-width:46px;padding:4px;border-radius:9px;background:#0b1218e8;border:1px solid #83a0b0;display:grid;place-items:center;overflow:visible}.legacy-token.has-asset img{width:34px;height:34px;object-fit:contain}.legacy-token.has-asset b,.legacy-token.has-asset small{position:absolute;left:50%;transform:translateX(-50%);width:max-content;max-width:120px;padding:2px 4px;border-radius:4px;background:#071015d9;pointer-events:none}.legacy-token.has-asset b{top:47px;font-size:7.5px}.legacy-token.has-asset small{display:none}.legacy-token.class{border-color:#7eb5dc}.legacy-token.raidMarker{border-color:#b58ae3}.legacy-token.mechanic{border-color:#d5b960}.legacy-token.selected{outline:2px solid #fff;outline-offset:3px}.pw-token:not(.has-asset){min-width:38px;max-width:72px;padding:5px 6px;border-radius:999px}.pw-token:not(.has-asset) b{font-size:8px}.pw-token:not(.has-asset) small{font-size:6px}.legacy-path-layer{position:absolute;inset:0;width:100%;height:100%;z-index:10;pointer-events:none;overflow:visible}.legacy-path-layer line{stroke:#65d5e6;stroke-width:.55;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #000);opacity:.95}.legacy-path-layer line.dashed{stroke-dasharray:2 1.5}.legacy-path-layer marker path{fill:#65d5e6}.legacy-path-layer circle{fill:#fff;stroke:#4dd4df;stroke-width:.35;vector-effect:non-scaling-stroke}.path-mode-hint{position:absolute;z-index:31;right:10px;top:10px;padding:6px 8px;border:1px solid #2fa7b0;border-radius:6px;background:#07171ae8;color:#8ce8ef;font-size:8px}.pw-zone{z-index:4}.pw-zone span{font-size:7px}.legacy-canvas-tools{display:flex;align-items:center;gap:8px;padding:8px 0 7px;color:#71838e;font-size:8px}.legacy-canvas-tools>button{padding:7px 10px;border:1px solid #266b4f;background:#10261e;color:#7ed4a8;border-radius:6px;font-size:8px;box-shadow:none}.legacy-canvas-tools>button.on{background:#176342;color:#d9f7e8}.legacy-canvas-tools label{display:flex;align-items:center;gap:6px}.legacy-canvas-tools input{width:72px;padding:6px 7px;border-radius:6px;font-size:8px}.legacy-scene-note{display:block;width:100%;min-height:80px;padding:10px;border:1px solid #293a45;border-radius:8px;background:#0c1218;color:#c9d3da;font:inherit;font-size:10px;line-height:1.45;resize:vertical}.legacy-role-notes{margin:8px 0 12px;border:1px solid #273943;border-radius:8px;background:#0c1319}.legacy-role-notes summary{cursor:pointer;padding:9px 10px;color:#90a1ab;font-size:9px}.legacy-role-notes>div{padding:0 9px 9px}.legacy-role-notes .pw-role-note{font-size:8px}.legacy-role-notes .vp-boundary{margin-top:8px}
.legacy-wcl-timeline{margin:12px;border:1px solid #263943;border-radius:8px;background:#0a1117;overflow:hidden}.legacy-wcl-timeline>summary{cursor:pointer;padding:9px 11px;color:#8fa0ab;font-size:9px;background:#0e171d}.legacy-wcl-track{position:relative;height:66px;margin:0 10px 10px;border-top:1px solid #263943;border-bottom:1px solid #1d2a32;background:linear-gradient(180deg,#0c1419,#091015)}.legacy-wcl-scenes{position:absolute;left:0;right:0;top:5px;height:24px}.legacy-wcl-scenes button{position:absolute;height:20px;min-width:3px;border:0;border-right:1px solid #355745;border-radius:2px;background:#183326aa;color:#92b8a4;font-size:7px;padding:0;box-shadow:none}.legacy-wcl-scenes button.on{box-shadow:inset 0 -2px #5fdfa0}.legacy-wcl-events{position:absolute;left:0;right:0;top:34px;height:26px}.legacy-wcl-events .pw-event{top:1px;height:22px}.legacy-wcl-events .pw-event i{height:16px}.legacy-wcl-events .pw-lane-playhead{top:-34px;bottom:0;background:#fff9}
@media(max-width:1160px){.legacy-workspace-head{grid-template-columns:1fr}.legacy-planner-toolbar{grid-template-columns:30px minmax(180px,1fr) 30px 1fr auto auto auto auto}.legacy-planner-toolbar>.pw-mode{grid-column:auto}.legacy-planner-toolbar>button:nth-last-child(-n+3){display:none}.legacy-plan-grid{grid-template-columns:minmax(0,1fr) 260px}.legacy-palette{max-height:680px}.legacy-palette-icon img{width:30px;height:30px}}
@media(max-width:880px){.shell{width:min(100% - 18px,1480px)}.legacy-plan-grid{grid-template-columns:1fr}.legacy-palette{position:static;max-height:none;border-left:0;border-top:1px solid #2a3942}.legacy-source-cards{grid-template-columns:1fr}.legacy-planner-toolbar{grid-template-columns:30px minmax(0,1fr) 30px auto auto}.legacy-planner-toolbar>span,.legacy-planner-toolbar>.pw-mode,.legacy-planner-toolbar>#pw-undo,.legacy-planner-toolbar>#pw-redo,.legacy-planner-toolbar>#pw-reset,.legacy-planner-toolbar>#pw-delete-scene{display:none}.pw-palette-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.legacy-arena{min-height:360px;aspect-ratio:auto}.legacy-workspace-head{padding:12px}.legacy-scene-strip button{min-width:145px}}
@media(max-width:620px){.pw-palette-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.legacy-arena{min-height:330px}.legacy-planner-canvas{padding:8px 8px 0}.legacy-canvas-tools{flex-wrap:wrap}.legacy-workspace-head h3{font-size:13px}}

.paletteGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
@media(max-width:880px){.paletteGrid{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:620px){.paletteGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* 0.1.18 — WCL positional replay. The authored plan stays a separate layer. */
.planned-layer{position:absolute;inset:0;z-index:1;pointer-events:none}.planned-layer .pw-token{pointer-events:auto}.legacy-arena.replay-active .planned-layer{opacity:.34;transition:opacity .18s ease}.legacy-arena.replay-active.replay-only .planned-layer{opacity:.045}.legacy-arena.replay-active .arenaLabel{z-index:40;background:#071017e6}.wcl-replay-layer{position:absolute;inset:0;z-index:26;pointer-events:none}.wcl-replay-actor{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:2px solid #dceaff;background:#07111be8;box-shadow:0 2px 8px #000b,0 0 0 1px #071018;transition:left 38ms linear,top 38ms linear;will-change:left,top}.wcl-replay-actor img{width:26px;height:26px;border-radius:50%;object-fit:cover}.wcl-replay-actor b{position:absolute;top:31px;left:50%;transform:translateX(-50%);max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 4px;border-radius:4px;background:#061018e8;color:#e9f4ff;font-size:7px;line-height:1.1;text-shadow:0 1px 1px #000}.wcl-replay-actor.tank{border-color:#4e9cff}.wcl-replay-actor.healer{border-color:#44df9f}.wcl-replay-actor.dps{border-color:#f2a85c}.wcl-replay-actor.unknown{border-color:#b6c0cb}.wcl-replay-badge{position:absolute;z-index:38;right:9px;top:9px;display:flex;gap:6px;align-items:center;padding:5px 7px;border:1px solid #2b8f75;border-radius:7px;background:#061712e8;color:#9fe5c8;font-size:7px;pointer-events:none}.wcl-replay-badge b{letter-spacing:.08em;color:#e2fff4}.wcl-replay-controls{margin:8px 0 4px;border:1px solid #285044;border-radius:8px;background:#091712;padding:8px 9px}.wcl-replay-controls.unavailable{display:flex;gap:8px;align-items:baseline;border-color:#594829;background:#19140b;color:#d8b76f}.wcl-replay-controls.unavailable span{color:#a9946d;font-size:8px}.replay-transport{display:grid;grid-template-columns:auto auto auto 66px auto minmax(150px,1fr);gap:6px;align-items:center}.replay-transport button,.replay-transport select{min-height:28px;padding:5px 8px;border:1px solid #2b5448;border-radius:6px;background:#0d211a;color:#b9ddd0;font-size:8px}.replay-transport button.primary{background:#147b59;border-color:#29aa7d;color:#fff}.replay-transport b{font-size:9px;color:#d7eee6;white-space:nowrap}.replay-plan-toggle{justify-self:end;display:flex;align-items:center;gap:5px;font-size:8px;color:#99b7ad;white-space:nowrap}.replay-plan-toggle input{width:auto;margin:0}.wcl-replay-controls>input[type=range]{width:100%;padding:0;margin:8px 0 3px;accent-color:#39cd96}.replay-meta{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;color:#78958a;font-size:7.5px;line-height:1.45}.replay-meta>span{max-width:72%}.replay-meta details{position:relative}.replay-meta summary{cursor:pointer;color:#9db8ae}.replay-cal{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:6px;margin-top:7px;padding:8px;border:1px solid #29483f;border-radius:7px;background:#07110e;color:#8da89f;min-width:360px}.replay-cal label{display:flex;gap:5px;align-items:center;font-size:7px}.replay-cal input[type=checkbox]{width:auto}.replay-cal input[type=range]{padding:0}.replay-cal select{padding:4px 5px;border:1px solid #2b443d;border-radius:5px;background:#0a1713;color:#c3d7d0;font-size:7px}.replay-cal button{padding:5px 7px;border:1px solid #3d554d;background:#111d19;color:#9fb5ad;font-size:7px}.replay-frame-label{justify-content:space-between}.legacy-scene-note.view-note{min-height:auto;white-space:pre-wrap}.legacy-plan-grid.view-mode .legacy-planner-canvas{max-width:1230px;width:100%;margin:0 auto}.legacy-wcl-timeline[open] .pw-lane-playhead{z-index:8}
@media(max-width:880px){.replay-transport{grid-template-columns:auto auto auto 60px 1fr}.replay-plan-toggle{grid-column:1/-1;justify-self:start}.replay-meta{flex-direction:column}.replay-meta>span{max-width:100%}.replay-cal{min-width:0;grid-template-columns:1fr 1fr}.wcl-replay-actor{width:28px;height:28px}.wcl-replay-actor img{width:22px;height:22px}.wcl-replay-actor b{top:27px}}

/* 0.1.19 — mechanic-centric WCL snapshots. Replay transport is intentionally not the primary UX. */
.legacy-arena.snapshot-active .planned-layer .pw-token.tank:not([data-manual]),
.legacy-arena.snapshot-active .planned-layer .pw-token.melee:not([data-manual]),
.legacy-arena.snapshot-active .planned-layer .pw-token.ranged:not([data-manual]),
.legacy-arena.snapshot-active .planned-layer .pw-token.healer:not([data-manual]){opacity:.25}
.wcl-snapshot-layer{position:absolute;inset:0;z-index:26;pointer-events:none}
.wcl-snapshot-trails{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.wcl-snapshot-trails line{stroke:#b6e4ff;stroke-width:.32;stroke-opacity:.48;vector-effect:non-scaling-stroke}
.wcl-snapshot-trails line.target{stroke:#ffdc63;stroke-width:.52;stroke-opacity:.9}
.wcl-snapshot-trails marker path{fill:#b6e4ff}.wcl-snapshot-trails line.target+*{fill:#ffdc63}
.wcl-snapshot-actor{position:absolute;transform:translate(-50%,-50%);width:27px;height:27px;border-radius:50%;display:grid;place-items:center;border:2px solid #f0a45e;background:#07111be8;box-shadow:0 2px 7px #000b,0 0 0 1px #071018;z-index:2}
.wcl-snapshot-actor img{width:22px;height:22px;border-radius:50%;object-fit:cover}.wcl-snapshot-actor>span{font-size:12px;color:#fff}
.wcl-snapshot-actor b{position:absolute;top:26px;left:50%;transform:translateX(-50%);display:none;max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 4px;border-radius:4px;background:#061018ed;color:#e9f4ff;font-size:7px;line-height:1.1;text-shadow:0 1px 1px #000}
.wcl-snapshot-actor:hover b,.wcl-snapshot-actor.target b{display:block}.wcl-snapshot-actor.tank{border-color:#4e9cff}.wcl-snapshot-actor.healer{border-color:#44df9f}.wcl-snapshot-actor.dps{border-color:#f2a85c}.wcl-snapshot-actor.unknown{border-color:#b6c0cb}.wcl-snapshot-actor.target{width:32px;height:32px;border-color:#ffe15e;box-shadow:0 0 0 3px #ffe15e45,0 2px 8px #000d}.wcl-snapshot-actor.target img{width:26px;height:26px}
.wcl-snapshot-badge{position:absolute;z-index:38;right:9px;top:9px;display:flex;gap:6px;align-items:center;padding:5px 7px;border:1px solid #2b8f75;border-radius:7px;background:#061712e8;color:#9fe5c8;font-size:7px;pointer-events:none}.wcl-snapshot-badge b{letter-spacing:.06em;color:#e2fff4}.wcl-snapshot-badge span{color:#a8cabd}
.wcl-snapshot-controls{margin:8px 0 4px;border:1px solid #285044;border-radius:8px;background:#091712;padding:9px 10px}.wcl-snapshot-controls.unavailable{display:flex;gap:8px;align-items:baseline;border-color:#594829;background:#19140b;color:#d8b76f}.wcl-snapshot-controls.unavailable span{color:#a9946d;font-size:8px}
.snapshot-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.snapshot-head>div{display:grid;gap:2px}.snapshot-head strong{font-size:9px;color:#dcf6ed}.snapshot-head span{font-size:7.5px;line-height:1.4;color:#89a89d;max-width:820px}.snapshot-head>b{font-size:9px;color:#79e1bb;white-space:nowrap}
.snapshot-frames{display:flex;gap:6px;align-items:center;margin-top:8px;flex-wrap:wrap}.snapshot-frames button{min-height:28px;padding:5px 9px;border:1px solid #2b5448;border-radius:6px;background:#0d211a;color:#a7c8bc;font-size:8px}.snapshot-frames button.on{background:#176b51;border-color:#31b989;color:#fff}.snapshot-frames button.copy{margin-left:auto;background:#173248;border-color:#386f97;color:#d8efff}
.snapshot-meta{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-top:7px;color:#78958a;font-size:7.5px}.snapshot-meta details{position:relative}.snapshot-meta summary{cursor:pointer;color:#9db8ae}.snapshot-meta .replay-cal{margin-top:7px}
@media(max-width:880px){.wcl-snapshot-actor{width:24px;height:24px}.wcl-snapshot-actor img{width:20px;height:20px}.wcl-snapshot-actor b{top:23px}.snapshot-head{flex-direction:column}.snapshot-frames button.copy{margin-left:0}.snapshot-meta{flex-direction:column}}

/* 0.1.19-r1 — position stream completeness diagnostics. */
.snapshot-stream{display:block;margin-top:5px;color:#8ec5ff;font-size:11px}.snapshot-stream.partial{color:#ffbf69}.snapshot-warning{margin:8px 0;padding:8px 10px;border:1px solid #6b4b21;background:#241a0d;color:#ffd08a;border-radius:8px;font-size:12px}

/* 0.1.20 — generic WCL mechanic palette for every encounter. */
.autoMechanicPalette{display:grid;grid-template-columns:1fr;gap:6px}
.autoMechanicPalette button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 9px;border:1px solid #26384a;border-radius:8px;background:#0c151f;color:#dcecff;text-align:left;cursor:pointer}
.autoMechanicPalette button:hover{border-color:#4aa3ff;background:#102033}
.autoMechanicPalette button b{font-size:11px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.autoMechanicPalette button span{flex:0 0 auto;font-size:9px;color:#7fa5c8}


/* 0.1.20-r1 — WCL floor maps are provenance, not calibrated arena backgrounds. */
.legacy-arena.uncalibrated-arena{
  background-color:#0a1015!important;
  background-image:
    radial-gradient(circle at 50% 50%,transparent 0 18%,#45606b24 18.2% 18.5%,transparent 18.7% 34%,#45606b20 34.2% 34.5%,transparent 34.7% 49%,#45606b1c 49.2% 49.5%,transparent 49.7%),
    linear-gradient(90deg,transparent 49.85%,#5269761a 50%,transparent 50.15%),
    linear-gradient(0deg,transparent 49.85%,#5269761a 50%,transparent 50.15%)!important;
}
.arena-map-status{position:absolute;z-index:39;left:10px;bottom:10px;padding:5px 8px;border-radius:7px;background:#071017e8;border:1px solid #41505a;color:#9fb1bb;font-size:8px;pointer-events:none}
.arena-map-status.verified{border-color:#27795f;color:#8de0bd}.arena-map-status.unverified{border-color:#88652c;color:#f0c77b}
.snapshot-map-tools{display:flex;gap:10px;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap}.snapshot-map-tools details{position:relative}
.floor-map-details>div{position:absolute;right:0;bottom:24px;z-index:80;width:min(520px,70vw);padding:8px;border:1px solid #42505b;border-radius:8px;background:#071017f7;box-shadow:0 12px 30px #000b}.floor-map-details img{display:block;width:100%;height:auto;border-radius:6px;border:1px solid #2a3942}.floor-map-details p{margin:6px 2px 0;color:#93a5af;font-size:8px;line-height:1.4}.floor-map-details summary{cursor:pointer;color:#e2bb76}
@media(max-width:880px){.snapshot-map-tools{justify-content:flex-start}.floor-map-details>div{left:0;right:auto;width:min(620px,88vw)}}

/* 0.1.21 — hostile WCL geometry anchors. Boss/add positions are evidence, not planned tokens. */
.wcl-snapshot-enemy{position:absolute;z-index:34;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;filter:drop-shadow(0 3px 5px #000)}
.wcl-snapshot-enemy span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#3b1014;border:2px solid #ff6f72;color:#ffd5d6;font-size:11px;font-weight:900;box-shadow:0 0 0 3px #070b0fbb}
.wcl-snapshot-enemy b{max-width:130px;padding:2px 5px;border-radius:4px;background:#13090bd9;border:1px solid #6b2a2e;color:#ffd5d6;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 0.1.22 — stable evidence arena: geometry stays readable even without a verified map crop. */
.legacy-arena.uncalibrated-arena{
  background-color:#0b1117!important;
  background-image:
    radial-gradient(ellipse at 50% 50%,#18242c 0 34%,#111a21 34.4% 57%,#0b1117 57.5% 100%),
    radial-gradient(circle at 50% 50%,transparent 0 18%,#86a0ad22 18.2% 18.5%,transparent 18.7% 34%,#86a0ad18 34.2% 34.5%,transparent 34.7% 49%,#86a0ad14 49.2% 49.5%,transparent 49.7%),
    linear-gradient(90deg,transparent 49.9%,#9cb3bd18 50%,transparent 50.1%),
    linear-gradient(0deg,transparent 49.9%,#9cb3bd18 50%,transparent 50.1%)!important;
  box-shadow:inset 0 0 80px #0009;
}
.legacy-arena.uncalibrated-arena:after{content:"WCL AUTO ARENA";position:absolute;right:13px;bottom:11px;z-index:1;color:#78909b28;font-size:22px;font-weight:900;letter-spacing:.12em;pointer-events:none}
.wcl-snapshot-cluster{position:absolute;z-index:1;transform:translate(-50%,-50%);border:1px dashed #64d8b477;border-radius:50%;background:#2acb9810;pointer-events:none;min-width:52px;min-height:52px;box-shadow:0 0 18px #2acb9812 inset}
.wcl-snapshot-cluster:nth-child(even){border-color:#7cb8ff77;background:#468fff10}
.wcl-snapshot-cluster span{position:absolute;left:50%;top:-17px;transform:translateX(-50%);white-space:nowrap;padding:2px 5px;border-radius:5px;background:#071017dd;border:1px solid #35505c;color:#b9d5df;font-size:7px;line-height:1.2}


/* 0.1.22-r2 — render the map as a real DOM image layer.
   This avoids CSS custom-property/background collisions and makes map visibility testable. */
.legacy-arena{
  background:#080d11!important;
}
.legacy-arena .arena-map-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  z-index:0;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  object-position:center;
  filter:saturate(.96) contrast(1.02);
}
.legacy-arena .arena-map-image.verified{
  object-fit:cover;
  opacity:.96;
}
.legacy-arena .arena-map-image.reference{
  object-fit:contain;
  opacity:.94;
}
.legacy-arena:before{
  z-index:1;
  background:linear-gradient(180deg,#03070a08,#03070a18);
}
.legacy-arena .planned-layer{z-index:10}
.legacy-arena .wcl-snapshot-layer{z-index:26}
.legacy-arena .arenaLabel{position:absolute;z-index:40;left:0;top:0;padding:5px 7px;background:#071017a8;color:#fff}
.legacy-arena.uncalibrated-arena:after{
  content:"КАРТА ЭТАЖА · СПРАВОЧНЫЙ ФОН";
  position:absolute;right:13px;bottom:11px;z-index:2;
  color:#f0f4f65c;font-size:12px;font-weight:800;letter-spacing:.08em;pointer-events:none;
}

/* 0.1.23 — encounter arena crops + evidence-anchored projection. */
.legacy-arena .arena-map-image.anchored{
  object-fit:cover;
  opacity:.98;
}
.arena-map-status.anchored{border-color:#4d8d78;color:#a8e8cf;background:#071712e8}
.legacy-arena:has(.arena-map-image.anchored):after{content:"АРЕНА БОССА · WCL AUTO ALIGN";position:absolute;right:13px;bottom:11px;z-index:2;color:#eef7f35c;font-size:11px;font-weight:800;letter-spacing:.08em;pointer-events:none}

/* 0.1.24 — previous two-NPC resolver. */
.snapshot-align{display:inline-flex;align-items:center;margin-top:4px;padding:2px 6px;border-radius:999px;border:1px solid #58656d;background:#0a1218;color:#a8b8c2;font-size:7px;font-weight:700;letter-spacing:.03em}
.snapshot-align.verified{border-color:#2e8b68;background:#071a13;color:#83e0b8}
.legacy-arena .arena-map-image.anchored{object-fit:cover;object-position:center;opacity:1;filter:saturate(1.02) contrast(1.04)}

/* 0.1.25 — Entombed Sentinels: group-local WCL projection driven by Mark of Acid/Blood. */
.wcl-snapshot-cluster.sentinel-mark{border-width:1px;background:#0b17152b;box-shadow:0 0 0 1px #08101488,0 0 22px #4bd6aa12 inset}
.wcl-snapshot-cluster.sentinel-mark span{top:-19px;font-size:7.5px;background:#07130fef;border-color:#3f7464;color:#d5f4e8}
.wcl-snapshot-enemy.inferred{opacity:.92;filter:drop-shadow(0 2px 4px #000)}
.wcl-snapshot-enemy.inferred span{background:#24160a;border-style:dashed;border-color:#f2c05e;color:#ffe1a1}
.wcl-snapshot-enemy.inferred b{background:#171006e8;border-style:dashed;border-color:#8c672f;color:#ffe1a1}

/* 0.1.28 — Session Wipe Review */
.review-actions{gap:8px}.review-actions button.secondary{background:#202838;border:1px solid #354159;color:#dce4f4}.session-review{margin-top:20px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#0a0f16;box-shadow:inset 3px 0 #9a72ff}.session-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.session-player{border:1px solid #2b3548;border-radius:12px;background:#101722;padding:14px}.session-player.high{border-color:#6b3d52;box-shadow:inset 3px 0 var(--bad)}.session-player.medium{border-color:#5a4932;box-shadow:inset 3px 0 var(--warn)}.session-player.low{box-shadow:inset 3px 0 #6ea8ff}.session-player-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.session-player-head>div{display:flex;gap:9px;align-items:center}.session-rank{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#232b3a;color:#bdb1ff;font-size:12px;font-weight:900}.session-player-head strong{font-size:16px}.session-confidence{font-size:11px;border-radius:999px;padding:5px 8px;border:1px solid #3b4964;color:#b7c6dc;white-space:nowrap}.session-confidence.high{color:#ff9eab;border-color:#744351}.session-confidence.medium{color:#ffd18e;border-color:#695234}.session-confidence.low{color:#9fc2ff;border-color:#3d567a}.session-player>p{margin:10px 0;color:#b6c2d4;line-height:1.45;font-size:13px}.session-player-stats{display:flex;flex-wrap:wrap;gap:6px}.session-player-stats span{font-size:11px;border:1px solid #2f3b50;border-radius:999px;padding:5px 7px;color:#9dadc4}.session-player-stats b{color:#eef2ff}.session-tank-note{margin-top:9px;padding:8px 9px;border-radius:8px;background:#171526;color:#b9add7;font-size:11px;line-height:1.4}.session-causes{display:grid;gap:6px;margin-top:10px}.session-cause{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:4px 10px;padding:8px 9px;border-radius:8px;background:#0b111a;border:1px solid #273246;font-size:11px}.session-cause strong{color:#e8edfa}.session-cause span{color:#9aabc2;text-align:right}.session-cause small{grid-column:1/3;color:#6f829e}.session-fights{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:10px}.session-fights>span{font-size:11px;color:#798ba5;margin-right:3px}.fight-link{padding:5px 7px;border-radius:7px;background:#24203b;color:#cdbfff;font-size:11px}.session-pulls{display:grid;gap:5px;margin-top:12px}.session-pull-row{display:grid;grid-template-columns:54px 60px 120px minmax(240px,1fr);gap:9px;align-items:center;padding:8px 10px;border:1px solid #283347;border-radius:9px;background:#0e141e;font-size:12px}.session-pull-row>span{color:#8fa0b8}.session-pull-row>strong{font-size:12px;color:#dfe6f4;overflow:hidden;text-overflow:ellipsis}.session-notes{margin-top:10px}.session-notes p{margin:5px 0;color:#8fa0b8;font-size:12px;line-height:1.45}@media(max-width:850px){.session-player-grid{grid-template-columns:1fr}.session-pull-row{grid-template-columns:48px 54px 1fr}.session-pull-row>strong{grid-column:1/4}.review-actions{flex-wrap:wrap}.review-actions button{flex:1}}

/* 0.1.29 — Next Pull Recommendations */
.next-pull-list{display:grid;gap:12px;margin-top:12px}.next-pull-card{border:1px solid #34415a;border-radius:14px;background:#0e151f;padding:15px;box-shadow:inset 3px 0 #6ea8ff}.next-pull-card.critical{border-color:#70404f;box-shadow:inset 4px 0 var(--bad)}.next-pull-card.high{border-color:#6a5634;box-shadow:inset 4px 0 var(--warn)}.next-pull-card.check{box-shadow:inset 4px 0 #6ea8ff}.next-pull-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.next-pull-head>div{display:flex;align-items:center;gap:10px}.next-pull-head>div>div{display:grid;gap:2px}.next-pull-head small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8fa2bd}.next-pull-head strong{font-size:16px;color:#f2f5ff}.next-pull-problem,.next-pull-action{margin-top:11px;padding:10px 11px;border-radius:10px;background:#0a1018;border:1px solid #263247}.next-pull-action{background:#101a17;border-color:#29443a}.next-pull-problem b,.next-pull-action b{display:block;margin-bottom:4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#91a4bd}.next-pull-action b{color:#93d6b3}.next-pull-problem p,.next-pull-action p{margin:0;color:#c3cede;font-size:13px;line-height:1.5}.recommendation-roles{display:grid;gap:6px;margin-top:10px}.recommendation-role{display:grid;grid-template-columns:80px 1fr;gap:8px;padding:8px 10px;border-radius:9px;background:#111825;border:1px solid #29364b;font-size:12px}.recommendation-role strong{color:#d7c8ff}.recommendation-role span{color:#aebbd0;line-height:1.45}.recommendation-players{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px;font-size:11px}.recommendation-players>b{color:#8fa2bd;margin-right:2px}.recommendation-players>span{padding:5px 7px;border-radius:999px;background:#181f2d;border:1px solid #303d53;color:#d5ddea}.recommendation-evidence{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.recommendation-evidence>span{font-size:10px;color:#7f91aa;padding:4px 6px;border-radius:6px;background:#0a1018}.positive-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.positive-signal{border:1px solid #2c493c;border-radius:12px;background:#0e1814;padding:12px}.positive-signal>div{display:flex;align-items:center;gap:8px}.positive-signal>div>span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#173628;color:#95e0b6;font-weight:900}.positive-signal strong{color:#dff6e8}.positive-signal p{margin:8px 0 5px;color:#a7c5b4;font-size:12px;line-height:1.45}.positive-signal small{color:#6e9f83}@media(max-width:850px){.positive-signal-grid{grid-template-columns:1fr}.next-pull-head{align-items:flex-start}.recommendation-role{grid-template-columns:1fr}.recommendation-role strong{margin-bottom:2px}}
.session-mechanic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.session-mechanic{border:1px solid #2b3548;border-radius:12px;background:#0f1620;padding:14px}.session-mechanic.has-errors{border-color:#754050;box-shadow:inset 3px 0 var(--bad)}.session-mechanic.toxin:not(.has-errors){box-shadow:inset 3px 0 #7f68d8}.session-mechanic-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.session-mechanic-head>div{display:flex;align-items:baseline;gap:8px}.session-mechanic-head strong{font-size:15px;color:#f1f4ff}.session-mechanic-head small{color:#6f829e}.session-mechanic-head>span{font-size:11px;color:#9dadc4;border:1px solid #334058;border-radius:999px;padding:4px 7px;white-space:nowrap}.session-mechanic>p{font-size:12px;color:#b7c3d6;line-height:1.45}.session-mechanic-meta{display:flex;gap:8px;flex-wrap:wrap;color:#8fa0b8;font-size:11px}.session-mechanic-stats{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.session-mechanic-stats span{border:1px solid #334058;border-radius:999px;padding:5px 8px;color:#9dadc4;font-size:11px}.session-mechanic-stats span.bad{color:#ff9eab;border-color:#754050}.session-mechanic-offenders{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.session-mechanic-offenders>b{width:100%;font-size:11px;color:#dfe6f4}.session-mechanic-offenders>span{font-size:11px;background:#171321;border:1px solid #4b3551;border-radius:8px;padding:6px 8px;color:#cbbbd2}.session-mechanic-examples{display:grid;gap:6px;margin-top:10px}.session-mechanic-examples>b{font-size:11px;color:#dfe6f4}.session-mechanic-example{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:7px;align-items:center;padding:7px 8px;border:1px solid #313b4f;border-radius:8px;background:#0a111a;font-size:11px}.session-mechanic-example>span{color:#d5ddec}.session-mechanic-example>small{grid-column:3;color:#ffb0ba}.notice.compact{margin-top:9px;padding:8px 10px;font-size:11px}@media(max-width:850px){.session-mechanic-grid{grid-template-columns:1fr}.session-mechanic-example{grid-template-columns:auto auto 1fr}.session-mechanic-example>small{grid-column:1/4}}

/* 0.1.29-r11 — progressive session review */
.session-progress-shell{margin-top:20px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#0a0f16;box-shadow:inset 3px 0 #6ea8ff}.quick-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.quick-result{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border:1px solid #2b3548;border-radius:12px;background:#101722}.quick-result.good{border-color:#315b4c}.quick-result small{color:#8fa0b8;font-size:11px}.quick-result strong{font-size:16px}.quick-result.good strong{color:var(--good)}.quick-result span{color:#9dadc4;font-size:12px;line-height:1.4}.session-live-progress{margin-top:14px;padding:13px 14px;border:1px solid #2b3548;border-radius:12px;background:#0d131d}.session-live-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-live-progress-head span{font-weight:800;color:#bdb1ff}.session-progress-track{height:7px;margin-top:10px;border-radius:999px;background:#202838;overflow:hidden}.session-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6ea8ff,#8b6dff);transition:width .28s ease}.session-live-progress p{margin:8px 0 0;color:#8fa0b8;font-size:12px;line-height:1.45}#session-live-result>.session-review{margin-top:12px}@media(max-width:850px){.quick-result-grid{grid-template-columns:1fr}.session-live-progress-head{align-items:flex-start}.session-live-progress-head span{white-space:nowrap}}
.quick-mechanic-catalog{margin-top:12px;padding:12px 13px;border:1px solid #2b3548;border-radius:12px;background:#0d131d}.quick-mechanic-catalog>div:first-child{display:flex;flex-direction:column;gap:3px}.quick-mechanic-catalog>div:first-child span{font-size:12px;color:#8fa0b8;line-height:1.4}.quick-mechanic-catalog>div:last-child{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.quick-mechanic-chip{font-size:11px;padding:6px 8px;border-radius:999px;background:#171e2b;border:1px solid #2d3950;color:#dce5f4}

/* 0.1.30 — How To Kill v1 */
.strategy-card{box-shadow:0 0 0 1px #4f9f7a55 inset}.strategy-action{background:linear-gradient(135deg,#258a62,#3bb77f)}.kill-strategy{margin-top:20px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#0a0f16;box-shadow:inset 3px 0 var(--good)}.strategy-source-note{margin-top:14px;padding:11px 12px;border:1px solid #315b4c;border-radius:10px;background:#0d1a15;color:#a8cdb9;font-size:12px;line-height:1.45}.strategy-source-note strong{color:#dff6e8}.strategy-overview{display:grid;gap:8px;margin-top:12px}.strategy-overview-item{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;padding:11px 12px;border:1px solid #2b3548;border-radius:10px;background:#101722}.strategy-overview-item>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#1c4937;color:#9be0ba;font-weight:900;font-size:12px}.strategy-overview-item p{margin:1px 0 0;color:#c4cfdf;line-height:1.5;font-size:13px}.strategy-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.strategy-role-card{padding:14px;border:1px solid #2d394d;border-radius:12px;background:#101722}.strategy-role-card>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.strategy-role-card>div>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9a8aff}.strategy-role-card strong{font-size:15px}.strategy-role-card ul{margin:10px 0 0;padding-left:18px;color:#b7c4d7}.strategy-role-card li{margin:6px 0;font-size:12px;line-height:1.5}.strategy-role-card.role-tank{box-shadow:inset 3px 0 #6ea8ff}.strategy-role-card.role-healer{box-shadow:inset 3px 0 #5ed6a0}.strategy-role-card.role-dps{box-shadow:inset 3px 0 #f0b35a}.strategy-role-card.role-all{box-shadow:inset 3px 0 #9a72ff}.strategy-mechanic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.strategy-mechanic{padding:14px;border:1px solid #2c374b;border-radius:12px;background:#0f1620}.strategy-mechanic-head{display:flex;justify-content:space-between;gap:10px}.strategy-mechanic-head>div{display:flex;gap:7px;align-items:baseline}.strategy-mechanic-head small{color:#71839d}.strategy-mechanic-head>span{font-size:11px;color:#c8bcff;border:1px solid #3b4964;border-radius:999px;padding:4px 7px}.strategy-mechanic p{margin:9px 0;color:#b6c3d5;font-size:12px;line-height:1.5}.strategy-times{display:flex;gap:5px;flex-wrap:wrap}.strategy-times span{padding:5px 7px;border-radius:7px;background:#24203b;color:#d0c5ff;font-size:11px;font-weight:750}.strategy-times small{align-self:center;color:#788aa3}.strategy-targets{margin-top:8px;color:#8496af;font-size:11px}.strategy-targets b{color:#b9c5d7}.strategy-phase-grid{display:grid;gap:7px;margin-top:12px}.strategy-phase{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:10px 12px;border:1px solid #2c374b;border-radius:10px;background:#0f1620}.strategy-phase>div:first-child{display:flex;justify-content:space-between;gap:8px}.strategy-phase>div:first-child span{color:#8799b2;font-size:11px}.strategy-phase>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.strategy-phase>div:last-child span{font-size:11px;border-radius:999px;padding:5px 8px;background:#171e2b;color:#c9d3e2}.strategy-timeline{margin-top:14px;border:1px solid #2c374b;border-radius:12px;background:#0c131d;overflow:hidden}.strategy-timeline summary{padding:11px 12px;cursor:pointer;color:#c8d2e0}.strategy-timeline>div{border-top:1px solid #2c374b;max-height:420px;overflow:auto}.strategy-timeline-row{display:grid;grid-template-columns:58px minmax(160px,1fr) minmax(120px,1fr);gap:10px;padding:7px 11px;border-bottom:1px solid #1d2635;font-size:11px}.strategy-timeline-row:last-child{border-bottom:0}.strategy-timeline-row time{color:#a89aff;font-weight:800}.strategy-timeline-row strong{color:#dfe6f4}.strategy-timeline-row span{color:#8fa0b8}.strategy-limitations p{margin:6px 0;color:#8fa0b8;font-size:12px;line-height:1.45}@media(max-width:850px){.strategy-role-grid,.strategy-mechanic-grid{grid-template-columns:1fr}.strategy-phase{grid-template-columns:1fr}.strategy-timeline-row{grid-template-columns:52px 1fr}.strategy-timeline-row span{grid-column:2}}

/* 0.1.30-r2 — raid-session ingestion and hybrid transport */
.ingest-options{display:grid;grid-template-columns:1.35fr .85fr;gap:10px;margin:12px 0}
.ingest-card{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px;border:1px solid #273a46;border-radius:10px;background:#0a1218}
.ingest-card>div{display:grid;gap:3px}.ingest-card strong{color:#e7f2f8;font-size:12px}.ingest-card span{color:#8ea6b3;font-size:9px;line-height:1.4}.ingest-card.compact{flex-wrap:wrap}
.file-action{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid #315366;border-radius:7px;background:#10202b;color:#d7edf8;font-size:9px;cursor:pointer;white-space:nowrap}.file-action input{position:absolute;inset:0;opacity:0;cursor:pointer}
.source-state{display:inline-flex!important;padding:4px 7px;border-radius:999px;border:1px solid #37434a;background:#11191e;color:#9eb0b8!important}.source-state.ok{border-color:#2e7f64;color:#86d9b6!important}.source-state.bad{border-color:#795052;color:#efaaa9!important}
.session-import-card{margin:12px 0;padding:14px;border:1px solid #285044;border-radius:10px;background:#091712}.session-import-card h3{margin:0 0 4px;color:#e2fff4}.session-import-card p{margin:0 0 10px;color:#8fac9f;font-size:10px}.session-groups{display:grid;gap:7px}.session-group{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px;border:1px solid #294139;border-radius:8px;background:#0c1b16}.session-group>div{display:grid;gap:2px}.session-group strong{font-size:10px}.session-group span{font-size:8px;color:#93aa9f}.session-actions{display:flex;gap:6px;flex-wrap:wrap}.session-actions button{min-height:30px;padding:5px 8px;font-size:8px}
.benchmark-status{margin-top:10px;padding:9px;border:1px solid #3b4850;border-radius:8px;background:#0d1418;color:#9fb2bc;font-size:9px}.benchmark-status b{color:#e5f2f8}
@media(max-width:850px){.ingest-options{grid-template-columns:1fr}.ingest-card{align-items:flex-start;flex-direction:column}.session-group{align-items:flex-start;flex-direction:column}}

/* 0.1.30-r4 · per-pull survival usage */
.survival-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);max-width:100%;margin-bottom:22px}.survival-usage-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:13px}.survival-usage-table th,.survival-usage-table td{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}.survival-usage-table thead th{position:sticky;top:0;background:#151b27;z-index:1;color:var(--muted);font-size:12px}.survival-usage-table tbody th{position:sticky;left:0;background:#111722;z-index:1;text-align:left;color:#f2f5ff;min-width:150px}.survival-usage-table td:nth-child(2),.survival-usage-table td:nth-child(3){min-width:88px}.survival-usage-table td b{display:block;font-size:16px}.survival-usage-table td small{display:block;color:var(--muted);margin-top:2px}.survival-cell-def,.survival-cell-pot{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;margin:0 2px}.survival-cell-def{font-weight:700}.survival-cell-pot{color:var(--good);font-weight:700}.survival-missing{color:var(--muted);background:#0d1119}.survival-usage-table tr:last-child th,.survival-usage-table tr:last-child td{border-bottom:0}.survival-usage-table th:last-child,.survival-usage-table td:last-child{border-right:0}

/* 0.1.30-r5 — explicit benchmark ingestion */
.ingest-card.benchmark-ingest{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);align-items:center}.benchmark-ingest-controls{display:grid!important;grid-template-columns:1fr auto;gap:8px;align-items:center}.benchmark-ingest-controls input{min-width:0;width:100%;height:36px;padding:0 10px;border:1px solid #334354;border-radius:8px;background:#081018;color:#eef6ff}.benchmark-ingest-state{grid-column:1/-1;padding:8px 10px;border:1px solid #263947;border-radius:8px;background:#0b141b;color:#91aab8!important;font-size:10px!important}.benchmark-ingest-state.ok{border-color:#2e765e;background:#0a1712;color:#9cddbe!important}.benchmark-ingest-state.bad{border-color:#7b4549;background:#1a0d10;color:#f0a8ab!important}@media(max-width:850px){.ingest-card.benchmark-ingest{grid-template-columns:1fr}.benchmark-ingest-controls{grid-template-columns:1fr}.benchmark-ingest-controls button{width:100%}}

/* 0.1.30-r6 — RL-friendly analysis export */
.review-export-bar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:center;margin:14px 0 18px;padding:12px 13px;border:1px solid #334154;border-radius:12px;background:#0d141e}.review-export-bar>div:first-child{display:grid;gap:3px}.review-export-bar strong{color:#eef3ff;font-size:12px}.review-export-bar span{color:#8fa0b8;font-size:10px;line-height:1.45}.review-export-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.review-export-actions button{min-height:34px;padding:7px 10px;border:1px solid #3a475d;background:#171f2d;color:#e5ebf7}.review-export-actions button.primary{background:linear-gradient(135deg,#7252eb,#8e6cff);border-color:#8d70ff;color:white}.review-export-state{grid-column:1/-1;min-height:0}.review-export-state.ok{color:#70d9a8}.review-export-state.bad{color:#f09aa3}@media(max-width:850px){.review-export-bar{grid-template-columns:1fr}.review-export-actions{justify-content:flex-start}.review-export-actions button{flex:1;min-width:130px}}

/* 0.1.30-r11 — Wipe vs reference kill */
.benchmark-comparison{margin-top:16px;padding-top:2px}.benchmark-reference-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.benchmark-reference-summary>span{padding:6px 9px;border:1px solid #30405a;border-radius:999px;background:#0d1520;color:#aebbd0;font-size:11px}.benchmark-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.benchmark-compare-card{border:1px solid #34415a;border-radius:12px;background:#0e151f;padding:13px}.benchmark-compare-card.worse{border-color:#754050;box-shadow:inset 3px 0 var(--bad)}.benchmark-compare-card.similar{border-color:#2c493c;box-shadow:inset 3px 0 #55c58b}.benchmark-compare-card.different{box-shadow:inset 3px 0 #7f68d8}.benchmark-compare-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.benchmark-compare-head strong{color:#f1f4ff}.benchmark-compare-head span{font-size:10px;border:1px solid #394963;border-radius:999px;padding:4px 7px;color:#aab9ce}.benchmark-compare-card>p{color:#aebbd0;font-size:12px;line-height:1.45}.benchmark-compare-stats{display:flex;gap:6px;flex-wrap:wrap}.benchmark-compare-stats>span{font-size:10px;padding:5px 7px;border-radius:7px;background:#0a111a;color:#94a5bd}.benchmark-timings{display:grid;gap:5px;margin-top:9px}.benchmark-timings>span{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #263247;padding-top:5px;color:#bfc9d9;font-size:11px}.benchmark-timings small{color:#778ba8}@media(max-width:850px){.benchmark-compare-grid{grid-template-columns:1fr}.benchmark-timings>span{display:block}}

/* 0.2.0 — deep wipe review */
.deep-failure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.deep-failure{border:1px solid #35415a;border-radius:12px;background:#0d151f;padding:13px}.deep-failure.critical{border-color:#7a3f50;box-shadow:inset 3px 0 var(--bad)}.deep-failure.warning{border-color:#745a2c;box-shadow:inset 3px 0 #e5a53a}.deep-failure-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.deep-failure-head>div{display:grid;gap:3px}.deep-failure-head strong{color:#f6f8ff}.deep-failure-head small{color:#8295b4}.deep-failure-head>span{font-size:10px;border:1px solid #44516a;border-radius:999px;padding:4px 7px;color:#b8c5d8;white-space:nowrap}.deep-failure>p{color:#b7c4d7;font-size:12px;line-height:1.5}.healer-cd-table th small{display:block;font-weight:400;color:#7487a6;margin-top:2px}.healer-compare{border:1px solid #31405a;border-radius:12px;padding:10px;background:#0c131d}.healer-compare-row{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(90px,.6fr) minmax(150px,1fr);gap:10px;align-items:center;border-top:1px solid #263247;padding:8px 4px;font-size:11px;color:#aebbd0}.healer-compare-row:first-of-type{border-top:0}.healer-compare-row strong{color:#edf2ff}.healer-compare-row small{grid-column:1/-1;color:#7389a9}.section-title.compact{margin-top:12px}.section-title.compact h4{margin:0;color:#eef3ff}@media(max-width:850px){.deep-failure-grid{grid-template-columns:1fr}.healer-compare-row{grid-template-columns:1fr}.healer-compare-row small{grid-column:auto}}
/* 0.2.1 — selected-pull deep evidence verdicts */
.mechanic-failures{margin-top:14px;display:grid;gap:10px}.section-title.compact{margin-top:14px}.section-title.compact h4{margin:0 0 4px;font-size:16px}.mechanic-failure{border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:12px;padding:13px 14px;background:#101722}.mechanic-failure.critical{border-left-color:var(--bad);background:#1a1117}.mechanic-failure.info{border-left-color:#6ea8ff}.mechanic-failure-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mechanic-failure-head strong{display:block}.mechanic-failure-head small{display:block;color:var(--muted);margin-top:4px}.mechanic-failure-head>span{font-size:11px;border:1px solid #4a3d4a;border-radius:999px;padding:5px 8px;color:#ffd1d8;white-space:nowrap}.mechanic-failure p{color:#c5cfde;line-height:1.5;margin:10px 0}.mechanic-offenders{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.mechanic-offenders span,.mechanic-proof span{border:1px solid #2a3548;background:#0a0f16;border-radius:8px;padding:6px 8px;font-size:12px}.mechanic-proof{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.mechanic-attribution-unknown{margin-top:9px;border:1px solid #594a2a;background:#17140d;border-radius:8px;padding:8px 10px;color:#d8cda8;font-size:12px;line-height:1.45}.mechanic-attribution-unknown b{color:#f3df9c}.mechanic-attribution.known{margin-top:9px;border:1px solid #285b48;background:#0b1814;border-radius:8px;padding:8px 10px;display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;font-size:12px}.mechanic-attribution.known b{color:#bdebd8}.mechanic-attribution.known span{font-weight:800;color:#effff8}.mechanic-attribution.known small{width:100%;color:#9fb6ad;line-height:1.4}.mechanic-offenders.affected span{border-color:#3a4c66;background:#0c1520}.mechanic-consequences{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.mechanic-consequences b{width:100%;font-size:11px;color:#dfe6f4}.mechanic-consequences span{border:1px solid #5a3a43;background:#1a1015;border-radius:8px;padding:6px 8px;font-size:12px;color:#f0c2ca}.mechanic-replay-link{margin-top:10px;padding-top:10px;border-top:1px solid #2a3548;display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.mechanic-replay-link a{display:inline-flex;align-items:center;gap:6px;border:1px solid #5e4cc9;background:#191530;border-radius:8px;padding:8px 10px;color:#cfc7ff;text-decoration:none;font-weight:700;font-size:12px}.mechanic-replay-link a:hover{background:#241d45;border-color:#7764e8}.mechanic-replay-link small{color:var(--muted);font-size:11px;line-height:1.4;max-width:720px;padding-top:3px}.mechanic-verdict-summary{margin:14px 0 2px;border:1px solid #285b48;background:#0b1814;border-radius:11px;padding:11px 13px;display:flex;flex-direction:column;gap:3px}.mechanic-verdict-summary span{color:#9fb6ad;font-size:12px;line-height:1.45}.mechanic-verdict{font-size:12px;line-height:1.45;border-radius:8px;padding:8px 9px}.mechanic-verdict.bad{background:#241319;color:#ffc0ca}.mechanic-verdict.neutral{background:#111a26;color:#b6c5d9}.mechanic-evidence-details{margin-top:8px;color:var(--muted);font-size:12px}.mechanic-evidence-details summary{cursor:pointer;color:#9eacc0}.mechanic-evidence-details p{margin:7px 0 0;line-height:1.45}
.root-cause-review{margin-top:24px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#0b1119}.root-summary-strip{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.root-summary-strip span{background:#151c28;border:1px solid #273247;border-radius:999px;padding:8px 11px;font-size:13px}.root-pattern-grid,.root-pull-grid{display:grid;gap:10px;margin-top:12px}.root-pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.root-pattern,.root-cause-card{border:1px solid var(--line);background:#111722;border-radius:12px;padding:14px}.root-pattern>div:first-child{display:flex;justify-content:space-between;gap:12px}.root-pattern p{margin:7px 0;color:var(--muted)}.root-pattern small{color:#b7c2d4}.root-cause-card.confirmed{box-shadow:inset 3px 0 var(--good)}.root-cause-card.probable{box-shadow:inset 3px 0 var(--warn)}.root-cause-card.insufficient{box-shadow:inset 3px 0 #718096}.root-cause-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.root-cause-head>div{display:flex;align-items:center;gap:10px}.root-cause-head>span{font-size:12px;font-weight:800;background:#1a2230;border-radius:999px;padding:6px 9px;white-space:nowrap}.root-summary{color:var(--muted);margin:10px 0 12px}.root-actors{font-size:13px;margin:6px 0;color:#d7dfec}.root-chain{display:grid;gap:0;margin:14px 0 8px}.root-chain-node{position:relative;display:grid;grid-template-columns:28px 1fr;gap:10px;padding:5px 0 12px}.root-chain-node:not(:last-child):before{content:"";position:absolute;left:13px;top:28px;bottom:-2px;width:1px;background:#344056}.root-chain-dot{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#1d2736;border:1px solid #3b4a63;font-size:12px;font-weight:900}.root-chain-node small{display:block;color:#94a4bb;margin-bottom:3px}.root-chain-node strong{display:block}.root-chain-node p{margin:4px 0 0;color:var(--muted);line-height:1.45}.root-replay{display:inline-block;margin-top:7px;color:#b8adff;text-decoration:none;font-weight:800;font-size:13px}.root-replay:hover{text-decoration:underline}.root-limitations{display:grid;gap:4px;margin-top:10px;border-top:1px solid var(--line);padding-top:9px}.root-limitations small,.root-note{color:#91a0b8;line-height:1.4}.root-note{margin-top:12px;font-size:12px}@media(max-width:850px){.root-pattern-grid{grid-template-columns:1fr}.root-cause-head{flex-direction:column}.root-cause-head>span{white-space:normal}}

/* 0.3.0 — deterministic Raid Coach */
.raid-coach{margin:18px 0 22px;border:1px solid #4b3e77;border-radius:16px;padding:16px;background:#0d101b}.raid-coach-summary{display:grid;grid-template-columns:minmax(0,1.5fr) auto;gap:14px;align-items:start;border:1px solid #37315a;border-radius:12px;background:#111425;padding:13px;margin-bottom:12px}.raid-coach-summary strong{color:#f4f0ff}.raid-coach-summary p{margin:5px 0 0;color:#aeb6cb;line-height:1.5}.raid-coach-summary>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.raid-coach-summary>div:last-child span,.raid-coach-meta span{font-size:10px;padding:5px 7px;border:1px solid #3c4160;border-radius:999px;color:#b9c2d6;background:#0d1220}.raid-coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.raid-coach-card{border:1px solid #38415a;border-radius:12px;background:#101722;padding:13px}.raid-coach-card.critical{box-shadow:inset 3px 0 var(--bad);border-color:#754050}.raid-coach-card.high{box-shadow:inset 3px 0 #d89e43}.raid-coach-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.raid-coach-head>div{display:flex;gap:9px}.raid-coach-head>div>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#242038;color:#d9d0ff;font-weight:900}.raid-coach-head small{display:block;color:#8d9bb3}.raid-coach-head strong{display:block;color:#f5f7ff;margin-top:2px}.raid-coach-head>b{font-size:10px;border:1px solid #3a465e;border-radius:999px;padding:5px 7px;color:#c2ccdd;white-space:nowrap}.raid-coach-problem{color:#b9c4d5;line-height:1.45}.raid-coach-why,.raid-coach-action{display:grid;gap:4px;border-radius:9px;padding:9px 10px;margin-top:8px}.raid-coach-why{background:#111c2a;border:1px solid #2d435f}.raid-coach-action{background:#111d17;border:1px solid #2c5941}.raid-coach-why b,.raid-coach-action b{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.raid-coach-why span,.raid-coach-action span{font-size:12px;line-height:1.45}.raid-coach-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.raid-coach-people{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:9px}.raid-coach-people>b{width:100%;font-size:11px;color:#dfe6f4}.raid-coach-people span{font-size:11px;padding:5px 7px;border:1px solid #4b3a47;border-radius:7px;background:#180f14}.raid-coach-people.affected span{border-color:#344b67;background:#0c1520}.raid-coach-evidence{margin-top:9px;color:#99a8be;font-size:11px}.raid-coach-evidence summary{cursor:pointer;color:#aeb9ca}.raid-coach-evidence ul{padding-left:18px}.raid-coach-evidence li{margin:5px 0;line-height:1.4}.raid-coach-evidence>div{display:grid;gap:3px}.raid-coach-stable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.raid-coach-stable{border:1px solid #2d4c3e;border-radius:10px;background:#0d1713;padding:11px}.raid-coach-stable strong{color:#bde7d1}.raid-coach-stable p{color:#a9bdb1;font-size:12px}.raid-coach-stable small{color:#748c7e;line-height:1.4}@media(max-width:850px){.raid-coach-grid,.raid-coach-stable-grid,.raid-coach-summary{grid-template-columns:1fr}.raid-coach-summary>div:last-child{justify-content:flex-start}}

/* 0.3.1 — Russian Raid Coach language layer */
.russian-coach{margin:18px 0 22px;border:1px solid #35506a;border-radius:16px;padding:16px;background:#0b121a}.russian-coach-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:16px;border:1px solid #2d465d;border-radius:12px;background:#0e1822;padding:14px;margin-bottom:12px}.russian-coach-hero h4{font-size:18px;margin:5px 0;color:#f2f6fb}.russian-coach-hero p{margin:0;color:#c1ccda;line-height:1.55}.russian-coach-hero small{color:#8799ad;line-height:1.5}.russian-coach-list{display:grid;gap:9px}.russian-coach-item{border:1px solid #304354;border-radius:11px;background:#0e151e;padding:12px}.russian-coach-item-head{display:flex;gap:9px;align-items:center}.russian-coach-item-head>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#1d3143;color:#ddebfa;font-weight:900}.russian-coach-item-head strong{color:#eef5fc}.russian-coach-item>p{color:#b9c6d3;line-height:1.5}.russian-coach-next{display:grid;gap:4px;border:1px solid #315541;background:#0d1c15;border-radius:9px;padding:9px 10px}.russian-coach-next b{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#a9d7be}.russian-coach-next span{font-size:12px;color:#d3e6da}.russian-coach-people{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.russian-coach-people>b{width:100%;font-size:11px;color:#dbe5ef}.russian-coach-people span{font-size:11px;padding:4px 7px;border-radius:7px;border:1px solid #59434b;background:#1a1014}.russian-coach-people.affected span{border-color:#38526b;background:#0b1620}.russian-coach-works{margin-top:12px;border:1px solid #315341;border-radius:10px;background:#0c1712;padding:11px;color:#bfe0ca}.russian-coach-works ul{margin:7px 0 0;padding-left:20px;color:#aebfb5}.russian-coach-closing{margin-top:10px;color:#99a9ba;font-size:12px;font-style:italic}@media(max-width:850px){.russian-coach-hero{grid-template-columns:1fr}}
.coach-details{margin:10px 0 18px}.coach-details>summary{font-weight:800;color:#c8d5e4}.coach-details .raid-coach{margin:12px 0 0}

/* 0.3.2 — Raid Night Session Coach */
.raid-night-coach{margin:22px 0;padding:20px;border:1px solid rgba(125,211,252,.2);border-radius:18px;background:rgba(14,23,38,.58)}
.session-trend-summary{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:rgba(56,189,248,.08);margin-bottom:14px}.session-trend-summary strong{display:block;font-size:1.05rem}.session-trend-summary p{margin:6px 0 0}.session-trend-summary small{white-space:nowrap;opacity:.72}
.session-trend-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.session-trend-focus{padding:15px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.7)}.session-trend-focus.new{border-color:rgba(251,191,36,.42)}.session-trend-focus.persistent{border-color:rgba(248,113,113,.38)}.session-trend-focus.improving{border-color:rgba(74,222,128,.34)}
.session-trend-head{display:flex;gap:10px;align-items:flex-start}.session-trend-head>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:rgba(148,163,184,.14);font-weight:700}.session-trend-head small,.session-trend-head strong{display:block}.session-trend-head small{opacity:.7;margin-bottom:2px}.session-trend-focus p{margin:10px 0;line-height:1.45}.session-trend-action{display:grid;gap:3px;padding:10px 12px;border-radius:10px;background:rgba(34,197,94,.08)}.session-trend-action b{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.session-trend-people{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.session-trend-people span{padding:4px 8px;border-radius:999px;background:rgba(248,113,113,.1)}
.session-trend-progress-grid,.session-trend-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:12px}.session-trend-progress,.session-trend-mini{padding:12px 14px;border-radius:12px;background:rgba(15,23,42,.48);border:1px solid rgba(148,163,184,.14)}.session-trend-progress.resolved{border-color:rgba(74,222,128,.28)}.session-trend-progress.improving{border-color:rgba(56,189,248,.28)}.session-trend-progress p,.session-trend-mini p{margin:6px 0 0;font-size:.92rem;opacity:.86}.session-trend-limits{display:grid;gap:4px;margin-top:10px;opacity:.72}
@media(max-width:720px){.session-trend-summary{display:block}.session-trend-summary small{display:block;white-space:normal;margin-top:8px}}

/* 0.4.0 — Analyzer → Planner bridge */
.add-to-plan-btn{margin-top:10px;border:1px solid #5a4f86;background:#17152a;color:#dcd5ff;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.add-to-plan-btn:hover{background:#211d38}.coach-planner-bridge{margin:18px 0 22px;border:1px solid #4d4771;border-radius:16px;padding:16px;background:#0d101a}.coach-plan-summary{display:grid;gap:10px}.coach-plan-summary>div:first-child{display:flex;flex-wrap:wrap;gap:7px 14px;align-items:baseline;padding:12px;border:1px solid #343655;border-radius:11px;background:#111422}.coach-plan-summary strong{color:#eeeaff}.coach-plan-summary span{color:#aeb8ca;font-size:12px}.coach-plan-quick{display:flex;gap:8px;overflow:auto;padding-bottom:3px}.coach-plan-chip{min-width:190px;display:grid;grid-template-columns:auto 1fr;gap:3px 8px;text-align:left;border:1px solid #393c59;border-radius:10px;background:#111725;color:#dce4f3;padding:9px;cursor:pointer}.coach-plan-chip b{grid-row:1/3;color:#bdb0ff}.coach-plan-chip span{font-size:11px;font-weight:800}.coach-plan-chip small{color:#8390a5}.coach-planner-state{margin:12px 0;color:#9ca9bc;font-size:12px;border-left:3px solid #625a98;padding:7px 10px;background:#10131e}.coach-scene-source{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 10px;padding:10px;border:1px solid #514977;border-radius:10px;background:#111326;color:#aeb8ce;font-size:11px}.coach-scene-source>div{display:grid;gap:2px;min-width:100%}.coach-scene-source b{color:#ded8ff}.coach-scene-source a{color:#c8beff;text-decoration:none;font-weight:800}.coach-scene-source a:hover{text-decoration:underline}@media(max-width:700px){.coach-plan-chip{min-width:165px}}

/* 0.4.1 — Coach Plan Builder + typed RaidPlan Adapter */
.coach-plan-bulk{margin-left:auto;border:1px solid #6f63ae;background:#241f3d;color:#f0ebff;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:900;cursor:pointer}.coach-plan-bulk:hover{background:#302850}.coach-plan-skip{flex-basis:100%;color:#8f97a8!important}.coach-plan-chip.focus{border-color:#7165ae;background:#19172c}.coach-plan-chip.focus b{color:#d8ceff}.adapter-import-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #384753;background:#111920;color:#aebbc5;border-radius:7px;padding:7px 9px;font-size:8px;font-weight:800;cursor:pointer}.adapter-import-btn:hover{background:#17222b}.adapter-import-btn input{display:none}.legacy-planner-toolbar #export-raidplan-adapter-json{border-color:#4c4a73;background:#17182a;color:#d7d2ff}
.pw-canvas-text{position:absolute;z-index:12;transform:translate(-50%,-50%);max-width:220px;padding:5px 7px;border:1px solid #4b5662;border-radius:6px;background:#0b1117e8;color:#e2e8ed;font-size:9px;font-weight:750;line-height:1.25;white-space:pre-wrap;pointer-events:none}.pw-canvas-text.tank{border-color:#375d89}.pw-canvas-text.healer{border-color:#2c765c}.pw-canvas-text.dps{border-color:#776035}

/* 0.4.3 — RaidPlan Current Schema & Visual Fidelity */
.raidplan-network-import{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:8px 10px;align-items:end;padding:10px 12px;border-top:1px solid #24333d;border-bottom:1px solid #24333d;background:#0a1117}.raidplan-network-import label{display:grid;gap:4px}.raidplan-network-import label>span{font-size:8px;font-weight:900;letter-spacing:.06em;color:#9cadb9}.raidplan-network-import input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #344953;border-radius:7px;background:#071016;color:#d8e2e8;font-size:9px}.raidplan-network-import button{padding:8px 12px;border:1px solid #5b5b91;border-radius:7px;background:#1c1d35;color:#e5e2ff;font-size:8px;font-weight:900}.raidplan-network-import button:disabled{opacity:.55}.raidplan-network-import small{grid-column:1/-1;color:#7f909b;font-size:8px}.pw-canvas-text.raidplan-native{border:0;border-radius:0;background:transparent;padding:0;font-weight:400;text-shadow:0 1px 2px #000,0 1px 5px #000;max-width:none}.legacy-token.raidplan-native-token.has-asset{min-width:0;max-width:none;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}.legacy-token.raidplan-native-token.has-asset img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px #000a)}.legacy-token.raidplan-native-token.has-asset b{top:calc(100% + 2px);background:#071015c9}.legacy-path-layer polyline{vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #000)}
@media(max-width:760px){.raidplan-network-import{grid-template-columns:1fr}.raidplan-network-import button{width:100%}}
/* 0.4.3 — current RaidPlan schema fidelity: source-order + polygon/cone SVG */
.legacy-vector-zone-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.raidplan-ordered{position:absolute;inset:0}

/* 0.4.4 — RaidPlan True Scale source geometry is normalized only from explicit source canvas; relationship metadata stays provenance-first. */

/* 0.4.5 — RaidPlan relationships/assignments: explicit tethers may render as links; pin/facing remain reference-only. */
.raidplan-relationship-layer{position:absolute;inset:0;width:100%;height:100%;z-index:109;pointer-events:none;overflow:visible}.raidplan-tether-line{stroke:#b8a8ff;stroke-width:.55;stroke-dasharray:2.2 1.6;opacity:.72;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #000)}
.raidplan-relations{margin:8px 0 4px;border:1px solid #3a3555;border-radius:8px;background:#0d0c17}.raidplan-relations>summary{cursor:pointer;padding:9px 11px;color:#c9c0f0;font-size:9px;font-weight:850}.raidplan-relations>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px 10px}.raidplan-relations section{padding:8px;border:1px solid #29283a;border-radius:7px;background:#0a0b12}.raidplan-relations section>strong{display:block;margin-bottom:6px;color:#b7aedf;font-size:8px;letter-spacing:.05em}.raidplan-relations ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}.raidplan-relations li{display:flex;gap:7px;align-items:baseline;padding:5px 6px;border-radius:5px;background:#11111d;font-size:8px}.raidplan-relations li b{color:#e6e1ff;white-space:nowrap}.raidplan-relations li span{color:#9195aa;overflow-wrap:anywhere}.raidplan-relations p{margin:7px 0 0;color:#777d90;font-size:7.5px;line-height:1.45}.raidplan-inspector-meta{display:grid;gap:3px;margin:7px 0;padding:7px;border:1px solid #403b58;border-radius:6px;background:#12111c}.raidplan-inspector-meta b{color:#d7d0f3;font-size:8px}.raidplan-inspector-meta span{color:#8e91a4;font-size:7.5px;line-height:1.35}
@media(max-width:760px){.raidplan-relations>div{grid-template-columns:1fr}}

/* 0.5.0-rc.2 — raid notes + NSRT personalized reminders */
.raid-notes{margin-top:20px;border:1px solid #2d4560;border-radius:16px;padding:16px;background:linear-gradient(180deg,#0d1722,#0a1119)}.raid-note-summary{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.raid-note-summary span{border:1px solid #35506b;border-radius:999px;padding:6px 9px;background:#0b1420;color:#a9bed6;font-size:11px}.raid-note-warning{margin:7px 0;padding:9px 11px;border:1px solid #725b2b;border-radius:9px;background:#19150d;color:#ddc98f;font-size:12px;line-height:1.45}.raid-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.raid-note-grid article{border:1px solid #304155;border-radius:12px;padding:12px;background:#0b1119;min-width:0}.raid-note-grid article.nsrt-note{border-color:#285777;background:#0b1620}.raid-note-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px}.raid-note-head>div{display:grid;gap:3px}.raid-note-head strong{color:#f1f6ff}.raid-note-head small{color:#8ea4bd;line-height:1.4}.raid-note-head button{flex:0 0 auto;padding:8px 10px}.raid-notes textarea{display:block;width:100%;min-height:260px;resize:vertical;border:1px solid #2a3a4d;border-radius:9px;background:#060a0f;color:#dce9f7;padding:10px;font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre;overflow:auto}.raid-note-personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.raid-note-personal{border:1px solid #33435a;border-radius:11px;background:#0c131d;padding:12px}.raid-note-personal.confirmed-error{border-left:3px solid var(--bad)}.raid-note-personal.repeated-death{border-left:3px solid var(--warn)}.raid-note-personal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.raid-note-personal-head>div{display:grid;gap:3px}.raid-note-personal-head span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#92a4bc}.raid-note-personal-head strong{color:#f1f5ff}.raid-note-personal-head>b{font-size:11px;color:#aebdd1;border:1px solid #3b4b62;border-radius:999px;padding:4px 7px;white-space:nowrap}.raid-note-personal>p{font-size:12px;line-height:1.5;color:#b8c4d4}.raid-note-action{display:grid;gap:4px;padding:9px 10px;background:#111c28;border-radius:9px}.raid-note-action b{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#82aacd}.raid-note-action span{font-size:12px;line-height:1.45;color:#e0ebf7}.raid-note-personal-import{margin-top:10px}.raid-note-personal-import summary{cursor:pointer;color:#aebdda;font-size:12px}.raid-note-personal-import textarea{min-height:150px;margin-top:8px}.raid-note-personal-import button{margin-top:7px;padding:7px 9px}.raid-note-no-timing{display:block;margin-top:9px;color:#8fa0b7;line-height:1.4}@media(max-width:900px){.raid-note-grid,.raid-note-personal-grid{grid-template-columns:1fr}.raid-note-head{flex-direction:column}.raid-note-head button{width:100%}}

.raid-note-user{margin:0 0 12px;padding:12px;border:1px solid #34465a;border-radius:12px;background:#0b1119}.raid-note-user textarea{min-height:130px;white-space:pre-wrap}.raid-note-times{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px;padding:7px 9px;border:1px solid #334965;border-radius:8px;background:#0a131e;font-size:11px}.raid-note-times b{color:#91afd0}.raid-note-times span{color:#d7e5f5}


/* 0.5.0-rc.3 — readability, report navigation and visible WCL floor maps */
:root{font-size:17px}.shell{width:min(1480px,calc(100% - 40px));padding-top:38px}.topbar{z-index:200}.topbar-actions{display:flex;gap:8px;align-items:center}.topbar-link{padding:8px 11px;border:1px solid #313b50;background:#111722;color:#d7def0;font-size:13px}.topbar-link:hover{border-color:#6657a8;background:#19182a}.help-guide{margin:0 0 24px;border:1px solid #3d4b66;border-radius:18px;padding:20px;background:linear-gradient(180deg,#101722,#0b1119)}.help-guide[hidden]{display:none}.help-guide-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.help-guide-head h2{margin:5px 0 0;font-size:25px}.help-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.help-guide-grid article{padding:14px;border:1px solid #2b384d;border-radius:12px;background:#0c131d}.help-guide-grid b{font-size:15px}.help-guide-grid p{margin:7px 0 0;color:#aab7ca;font-size:14px;line-height:1.55}
.report-quick-nav{position:sticky;top:76px;z-index:170;display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:-2px 0 18px;padding:10px;border:1px solid #354158;border-radius:13px;background:#0c121bd9;backdrop-filter:blur(12px);box-shadow:0 10px 30px #0006}.report-quick-nav button{padding:8px 10px;border:1px solid #334057;background:#111927;color:#c9d3e4;font-size:12px}.report-quick-nav button:hover,.report-quick-nav button.on{border-color:#7a67d2;background:#211d3a;color:#fff}.report-section-anchor{scroll-margin-top:136px}
.fight-review,.session-review{font-size:15px}.section-title h3{font-size:20px}.section-title p,.finding p,.mechanic-card p,.review-title p{font-size:14px}.chip{font-size:13px}.players{font-size:14px}.raw-details{font-size:13px}
.planner-workspace{margin:16px 0}.pw-topbar{min-height:78px;padding:13px 16px}.pw-topbar h3{font-size:20px}.pw-topbar small,.pw-top-actions>span,.pw-panel-head small,.pw-stage-head>div:first-child>span,.pw-stage-time small{font-size:11px}.pw-top-actions>button,.pw-mode button{min-height:36px;font-size:12px;padding:0 11px}.pw-main{grid-template-columns:252px minmax(650px,1fr) 330px;min-height:680px}.pw-panel-head{height:52px;padding:0 12px}.pw-panel-head strong{font-size:13px}.pw-scene{min-height:74px;grid-template-columns:49px minmax(0,1fr);gap:9px;padding:11px}.pw-scene time{font-size:12px}.pw-scene b{font-size:12px}.pw-scene small{font-size:10px}.pw-scene-actions button{font-size:11px;padding:8px 5px}.pw-stage-head{height:62px}.pw-stage-head h4{font-size:17px}.pw-stage-time strong{font-size:21px}.pw-arena{min-height:618px}.pw-tools{max-height:680px}.pw-token{min-width:58px;max-width:112px;padding:6px 8px}.pw-token b{font-size:11px}.pw-token small{font-size:9px}.pw-zone span{font-size:10px}.pw-schematic-badge,.arena-map-status,.path-mode-hint{font-size:11px}.pw-canvas-text{font-size:11px}.legacy-palette-icon span,.paletteSectionTitle,.pw-field span,.pw-coords,.raidplan-network-import label>span,.raidplan-network-import small,.raidplan-relations>summary,.raidplan-relations section>strong,.raidplan-relations li,.raidplan-inspector-meta b,.raidplan-inspector-meta span{font-size:11px}.raidplan-network-import input,.raidplan-network-import button,.adapter-import-btn{font-size:11px}.arena-map-image.reference{opacity:.72;filter:saturate(.88) contrast(.96)}.arena-map-status.reference{border-color:#8a7139;background:#20190dcc;color:#f0d69b}.pw-arena:has(.arena-map-image.reference):before{background:linear-gradient(180deg,#05080b05,#05080b28)}
.raid-note-summary span{font-size:12px}.raid-note-warning,.raid-note-personal>p,.raid-note-action span,.raid-note-personal-import summary{font-size:13px}.raid-note-personal-head span,.raid-note-personal-head>b,.raid-note-action b,.raid-note-times{font-size:11px}.raid-notes textarea{font-size:13px;line-height:1.55}.coach-plan-summary span,.coach-planner-state,.coach-scene-source{font-size:13px}.coach-plan-chip span,.coach-plan-chip small{font-size:12px}.add-to-plan-btn,.coach-plan-bulk{font-size:12px}
@media(max-width:1200px){.pw-main{grid-template-columns:220px minmax(520px,1fr) 290px}.pw-arena{min-height:560px}.pw-tools{max-height:630px}.help-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.topbar-actions .topbar-link{display:none}.report-quick-nav{top:72px;overflow:auto;flex-wrap:nowrap}.report-quick-nav button{white-space:nowrap}.help-guide-grid{grid-template-columns:1fr}.pw-main{grid-template-columns:1fr}.pw-scenes,.pw-tools{border:0;max-height:none}.pw-arena{min-height:60vw}.planner-workspace{margin:10px 0}}

/* rc.3 map safety: show the real WCL floor prominently without pretending x/y are pixel-calibrated. */
.planner-reference-map{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:16px;align-items:center;margin:12px 0 14px;padding:14px;border:1px solid #765f31;border-radius:14px;background:#17130c}.planner-reference-map>div{display:grid;gap:7px}.planner-reference-map strong{font-size:16px;color:#f1deb0}.planner-reference-map p{margin:0;color:#b9b3a7;font-size:13px;line-height:1.55}.planner-reference-map small{color:#918a7a;font-size:11px}.planner-reference-map img{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:10px;border:1px solid #433a29;background:#050608}.legacy-arena:has(+*){}
@media(max-width:900px){.planner-reference-map{grid-template-columns:1fr}.planner-reference-map img{max-height:260px}}

/* 0.5.0-rc.6 — rc.5 UI preserved; Sszorak map calibration is handled in app.js only. */
:root{font-size:18px}
body{line-height:1.48}
.shell{width:min(1560px,calc(100% - 28px));padding-top:34px}

/* WCL floor map is again the arena itself: crop the active room, then draw WCL geometry over it. */
.legacy-arena .arena-map-image.replay-floor{
  object-fit:cover;
  object-position:center;
  opacity:1;
  filter:saturate(1.04) contrast(1.04) brightness(.94);
  will-change:transform;
}
.legacy-arena:has(.arena-map-image.replay-floor):before{
  background:linear-gradient(180deg,#02050708,#0205071f);
}
.legacy-arena:has(.arena-map-image.replay-floor):after{content:none!important}
.arena-map-status.replay-floor{
  border-color:#386e5c;
  background:#07150fd8;
  color:#b8ead8;
  font-size:12px;
  padding:6px 9px;
  max-width:min(72%,720px);
}
.planner-reference-map{display:none!important}

/* The Planner should be legible at 100% zoom. */
.planner-workspace{border-radius:16px;overflow:hidden}
.pw-topbar{min-height:84px;padding:14px 18px}
.pw-topbar h3{font-size:22px;line-height:1.2}
.pw-topbar small,.pw-top-actions>span,.pw-panel-head small,.pw-stage-head>div:first-child>span,.pw-stage-time small{font-size:12px;line-height:1.35}
.pw-top-actions>button,.pw-mode button,.legacy-planner-toolbar button,.adapter-import-btn{min-height:40px;font-size:13px;padding:8px 12px}
.pw-main{grid-template-columns:270px minmax(720px,1fr) 350px;min-height:730px}
.pw-panel-head{height:56px;padding:0 14px}.pw-panel-head strong{font-size:14px}
.pw-scene{min-height:78px;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:12px}.pw-scene time,.pw-scene b{font-size:13px}.pw-scene small{font-size:11px;line-height:1.3}.pw-scene-actions button{font-size:12px;min-height:34px}
.pw-stage-head{height:66px;padding:0 14px}.pw-stage-head h4{font-size:19px}.pw-stage-time strong{font-size:23px}
.pw-arena{min-height:650px}
.pw-tools{max-height:730px}
.paletteSection{padding:12px}.paletteSectionTitle{font-size:12px!important;letter-spacing:.075em;margin-bottom:9px}
.legacy-palette-icon{min-height:70px;padding:7px}.legacy-palette-icon img{width:38px;height:38px}.legacy-palette-icon span{font-size:12px!important;line-height:1.2}
.pw-token{min-width:62px;max-width:120px;padding:7px 9px}.pw-token b{font-size:12px}.pw-token small{font-size:10px}
.pw-zone span,.pw-schematic-badge,.path-mode-hint,.pw-canvas-text{font-size:11px}
.autoMechanicPalette button{min-height:42px;padding:9px 10px}.autoMechanicPalette button b{font-size:12px}.autoMechanicPalette button span{font-size:10px}
.raidplan-network-import input,.raidplan-network-import button{min-height:40px;font-size:12px!important}

/* WCL snapshot controls and actors. */
.wcl-snapshot-actor{width:31px;height:31px}.wcl-snapshot-actor img{width:26px;height:26px}.wcl-snapshot-actor b{top:30px;font-size:10px;max-width:120px}
.wcl-snapshot-actor.target{width:36px;height:36px}.wcl-snapshot-actor.target img{width:30px;height:30px}
.wcl-snapshot-badge{padding:7px 9px;font-size:10px}.wcl-snapshot-cluster span{font-size:10px}
.wcl-snapshot-controls{margin:10px 0 6px;padding:12px 13px;border-radius:11px}.snapshot-head{gap:16px}.snapshot-head strong{font-size:14px}.snapshot-head span{font-size:12px;line-height:1.5}.snapshot-head>b{font-size:13px}.snapshot-stream{font-size:12px}.snapshot-frames{gap:8px;margin-top:10px}.snapshot-frames button{min-height:38px;padding:8px 12px;font-size:12px}.snapshot-meta{font-size:11px;line-height:1.45}.snapshot-meta summary{font-size:11px}.replay-cal label,.replay-cal select,.replay-cal button{font-size:11px}

/* Report navigation: sections on one row, search and filters on another. */
.report-quick-nav{top:70px;display:grid;grid-template-columns:1fr;gap:9px;margin:0 0 20px;padding:11px 12px;border-radius:15px;background:#0b121ce8;box-shadow:0 12px 34px #0008}
.report-nav-sections,.report-nav-tools,.report-filter-group,.report-density-group{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.report-nav-sections{padding-bottom:8px;border-bottom:1px solid #263246}
.report-nav-sections button{font-weight:760}
.report-nav-tools{justify-content:space-between}
.report-quick-nav button{min-height:38px;padding:8px 12px;font-size:13px;border-radius:9px}
.report-search{display:flex;align-items:center;gap:8px;min-width:min(440px,100%);flex:1 1 340px}
.report-search span{font-size:12px;color:#9eacc0;font-weight:700}
.report-search input{width:100%;min-height:40px;padding:8px 11px;border:1px solid #34445e;border-radius:9px;background:#080e16;color:#eef4ff;font-size:14px;outline:none}
.report-search input:focus{border-color:#7969d5;box-shadow:0 0 0 3px #7969d522}
.report-filter-group,.report-density-group{flex:0 0 auto}
.report-filter-state{padding:7px 10px;border-radius:8px;background:#111b29;color:#aebcd0;font-size:12px}
.report-filter-state[hidden]{display:none}

/* Report readability and visual hierarchy. */
.fight-review,.session-review{font-size:16px}
.review-title h2{font-size:29px;line-height:1.15}.review-title p{font-size:15px;line-height:1.55;max-width:980px}
.section-title{margin-top:24px}.section-title h3{font-size:23px;line-height:1.2}.section-title h4{font-size:18px}.section-title p{font-size:14px;line-height:1.55;max-width:1050px}
.summary{gap:8px}.chip{font-size:13px;padding:7px 10px}
.findings,.deep-failure-grid,.session-mechanic-grid,.session-player-grid,.next-pull-list{gap:12px}
.finding,.mechanic-card,.mechanic-failure,.deep-failure,.session-mechanic,.session-player,.next-pull-card,.positive-signal,.root-cause-card{padding:15px 16px;border-radius:12px}
.finding strong,.mechanic-card strong,.mechanic-failure strong,.deep-failure strong,.session-mechanic strong,.session-player strong,.next-pull-card strong{font-size:15px}
.finding p,.mechanic-card p,.mechanic-failure p,.deep-failure p,.session-mechanic p,.session-player p,.next-pull-card p{font-size:14px;line-height:1.55}
.mechanic-evidence,.mechanic-verdict,.mechanic-proof,.mechanic-tags,.session-mechanic-meta,.session-player-stats,.recommendation-evidence{font-size:12px;line-height:1.45}
.players{font-size:14px}.players th,.players td{padding:10px 11px}.raw-details{font-size:13px}
.raid-notes textarea{font-size:14px;line-height:1.55}

[hidden]{display:none!important}

@media(max-width:1280px){
  .pw-main{grid-template-columns:235px minmax(600px,1fr) 310px}.pw-arena{min-height:590px}.pw-tools{max-height:680px}
}
@media(max-width:980px){
  :root{font-size:17px}.shell{width:min(100% - 16px,1560px)}
  .report-quick-nav{top:66px}.report-nav-sections{overflow-x:auto;flex-wrap:nowrap}.report-nav-sections button{white-space:nowrap}.report-nav-tools{align-items:stretch}.report-search{min-width:100%}.report-filter-group,.report-density-group{overflow-x:auto;flex-wrap:nowrap}.report-filter-group button,.report-density-group button{white-space:nowrap}
  .pw-main{grid-template-columns:1fr}.pw-scenes,.pw-tools{max-height:none}.pw-arena{min-height:62vw}
}

/* 0.5.0-rc.22 — responsive WCL Replay camera profiles. */
.legacy-arena .arena-map-image.wcl-profile{opacity:1;filter:none!important;will-change:auto}
.legacy-arena.wcl-profile-active:before{background:none!important}
.legacy-arena.wcl-profile-active .arena-map-status{background:#061712f2;border-color:#2fa37f;color:#c9ffe9}
.wcl-snapshot-controls.wcl-profile-ready{border-color:#2fa37f;background:#071a14}
.snapshot-map-profile{display:block;margin-top:6px;color:#a8e8cf;font-size:11px;line-height:1.4}
.snapshot-map-profile b{color:#d8fff0}.snapshot-map-profile.fallback{color:#d8b76f}

/* 0.5.0-rc.11 — full UI usability pass: readable type, clear hierarchy, filters and navigation. */
:root{font-size:18px;--ui-text:#dce5f4;--ui-muted:#a4b2c7;--ui-soft:#121a26;--ui-hover:#1b2636}
body{line-height:1.55}
button,input,textarea,select{font:inherit}
button{min-height:42px;padding:9px 14px;transition:border-color .15s ease,background .15s ease,transform .08s ease}
button:active{transform:translateY(1px)}
.shell{width:min(1640px,calc(100% - 24px));padding-top:28px}
.panel{padding:22px}.workspace{border-radius:18px}.hero{margin-bottom:26px}.hero h1{font-size:clamp(34px,4vw,50px)}
.panel-head h2{font-size:26px;margin-bottom:14px}.url-form input{min-height:50px;font-size:16px}.url-form button{min-height:50px;font-size:15px}
.ingest-options{gap:12px}.ingest-card{padding:15px 16px;gap:12px}.ingest-card strong{font-size:15px}.ingest-card span,.benchmark-ingest-state,.source-state{font-size:13px!important;line-height:1.5}.benchmark-ingest-controls input{min-height:44px;font-size:14px}.file-action{min-height:42px;font-size:13px}
.encounter-head{padding:16px 18px}.encounter-head strong{font-size:20px}.encounter-head span,.encounter-meta{font-size:14px}.help{padding:13px 18px;font-size:14px;line-height:1.55}

/* Attempts become a browsable list instead of a wall of cards. */
.attempt-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,360px) auto;gap:10px 14px;align-items:end;padding:13px 14px;border:1px solid var(--line);border-bottom:0;background:#0d141e}
.attempt-filter-group{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.attempt-filter-group>span,.attempt-search>span{font-size:12px;font-weight:800;color:#9fadc1;text-transform:uppercase;letter-spacing:.055em}
.attempt-filter-group button{min-height:38px;padding:7px 11px;border:1px solid #334158;background:#121b28;color:#cbd6e6;font-size:13px}.attempt-filter-group button:hover,.attempt-filter-group button.on{border-color:#7968d1;background:#24203c;color:#fff}.attempt-filter-group button b{margin-left:4px;color:#9eacd0;font-size:11px}
.attempt-search{display:grid;gap:5px}.attempt-search input{min-height:39px;padding:8px 11px;font-size:13px}.attempt-filter-state{align-self:center;color:#8fa0b8;font-size:12px;white-space:nowrap}
.attempts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:14px}.attempt{min-height:72px;padding:12px 13px;border-radius:11px}.attempt-number{font-size:15px}.attempt-status{font-size:14px}.attempt-main small{font-size:12px}.attempt:hover{border-color:#465777;background:#192332}.attempt[hidden]{display:none!important}
.review-actions{padding:13px 14px;display:flex;gap:12px;justify-content:space-between;align-items:center}.review-actions-primary,.review-actions-secondary{display:flex;gap:8px;flex-wrap:wrap}.review-actions .strategy-action{background:#593fd4}.review-actions button{font-size:13px}

/* Sticky report toolbar: always says what the controls do. */
.report-quick-nav{top:72px;gap:10px;padding:12px 14px;border-color:#3b4961;background:#0a111bea;box-shadow:0 14px 42px #0009}
.report-nav-sections{gap:8px;padding-bottom:10px}.report-toolbar-label{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#8292a9;margin-right:2px}
.report-nav-tools{display:grid;grid-template-columns:minmax(260px,1.2fr) auto auto auto auto;gap:10px;align-items:end;justify-content:stretch}.report-search{display:grid;gap:5px;min-width:0}.report-search span{font-size:11px;text-transform:uppercase;letter-spacing:.055em}.report-search input{min-height:42px;font-size:14px}
.report-filter-block{display:grid;gap:5px}.report-filter-group,.report-type-group,.report-density-group{display:flex;gap:5px;align-items:center;flex-wrap:nowrap}.report-type-group button,.report-filter-group button,.report-density-group button{min-height:42px;white-space:nowrap}
.report-reset{min-height:42px;border:1px solid #4a3d49!important;background:#1c1419!important;color:#f0c2ca!important}.report-reset:hover{background:#2a1820!important}.report-quick-nav button.active-section{border-color:#58b89a;background:#122e27;color:#d8fff1;box-shadow:inset 0 -2px #58b89a}
.report-filter-state{font-size:13px;padding:8px 11px}

/* Content hierarchy and readable minimum sizes. */
.fight-review,.session-review,.kill-strategy{font-size:16px;padding:20px}.review-title h2{font-size:30px}.review-title p{font-size:15px;color:#aebbd0}.section-title h3{font-size:23px}.section-title h4{font-size:19px}.section-title p{font-size:14px;color:#a8b6c9}.chip{font-size:13px}
.finding strong,.mechanic-card strong,.mechanic-failure strong,.deep-failure strong,.session-mechanic strong,.session-player strong,.next-pull-card strong,.positive-signal strong,.root-cause-card strong{font-size:15px}.finding p,.mechanic-card p,.mechanic-failure p,.deep-failure p,.session-mechanic p,.session-player p,.next-pull-card p,.positive-signal p,.root-cause-card p{font-size:14px;line-height:1.58;color:#bcc8d8}
.mechanic-proof span,.mechanic-offenders span,.mechanic-consequences span,.session-mechanic-stats span,.session-mechanic-offenders>span,.recommendation-evidence span,.session-player-stats span,.session-cause,.session-fights>span,.fight-link{font-size:12px}
.mechanic-failure-head>span,.deep-failure-head>span,.session-mechanic-head>span,.session-confidence{font-size:12px}.mechanic-evidence-details,.mechanic-replay-link small,.mechanic-attribution-unknown,.mechanic-attribution.known,.notice.compact{font-size:13px}.notice{font-size:14px;line-height:1.55}
.players{font-size:14px}.players th{font-size:13px}.players td{font-size:14px}.players th,.players td{padding:11px 12px}.table-wrap{max-height:68vh}.table-wrap thead{position:sticky;top:0;z-index:2}
.raw-details summary{font-size:13px;padding:5px 0}.raw-grid,.raw-casts,.session-notes p{font-size:13px}
.raid-note-summary span,.raid-note-warning,.raid-note-personal>p,.raid-note-action span,.raid-note-personal-import summary,.raid-note-times{font-size:13px}.raid-note-personal-head span,.raid-note-personal-head>b,.raid-note-action b{font-size:12px}.raid-notes textarea{font-size:14px;line-height:1.6}
.strategy-role-card,.strategy-mechanic,.strategy-phase,.strategy-overview-item,.strategy-timeline-row{font-size:14px}.strategy-role-card li,.strategy-mechanic p,.strategy-targets,.strategy-limitations p{font-size:13px;line-height:1.55}

/* Planner side panels were the worst remaining source of 7–10 px text. Keep the map untouched. */
.planner-workspace button,.legacy-planner-toolbar button,.adapter-import-btn{font-size:12px!important}.pw-topbar small,.pw-top-actions>span,.pw-panel-head small,.pw-stage-head>div:first-child>span,.pw-stage-time small,.pw-scene small,.pw-token small,.pw-zone span,.pw-schematic-badge,.arena-map-status,.path-mode-hint,.snapshot-meta,.snapshot-stream,.replay-cal label,.replay-cal select,.replay-cal button{font-size:12px!important}
.paletteSectionTitle,.legacy-palette-icon span,.pw-field span,.pw-coords,.raidplan-network-import label>span,.raidplan-network-import small,.raidplan-relations>summary,.raidplan-relations section>strong,.raidplan-relations li,.raidplan-relations p,.raidplan-inspector-meta b,.raidplan-inspector-meta span,.pw-canvas-text{font-size:12px!important;line-height:1.4}.legacy-palette-icon{min-height:76px}.legacy-palette-icon span{white-space:normal}.pw-token b,.pw-scene b,.pw-scene time{font-size:13px!important}.autoMechanicPalette button b{font-size:13px}.autoMechanicPalette button span{font-size:11px}

/* Focus mode is the default: technical/secondary content stays one click away. */
[data-report-optional][hidden]{display:none!important}

@media(max-width:1250px){.report-nav-tools{grid-template-columns:1fr 1fr 1fr}.report-search{grid-column:1/-1}.report-reset{justify-self:start}.attempt-toolbar{grid-template-columns:1fr 300px}.attempt-filter-state{grid-column:1/-1}}
@media(max-width:900px){.shell{width:min(100% - 12px,1640px)}.panel{padding:12px}.topbar{height:62px;padding:0 12px}.brand small{display:none}.status{font-size:11px}.attempt-toolbar{grid-template-columns:1fr}.attempt-search{width:100%}.attempts{grid-template-columns:1fr}.review-actions,.review-actions-primary,.review-actions-secondary{width:100%}.review-actions{align-items:stretch;flex-direction:column}.review-actions button{flex:1}.report-quick-nav{top:64px;padding:9px}.report-nav-tools{display:flex;flex-direction:column;align-items:stretch}.report-filter-block{width:100%}.report-filter-group,.report-type-group,.report-density-group{overflow-x:auto}.report-search{width:100%}.report-reset{width:100%}.fight-review,.session-review,.kill-strategy{padding:14px}.review-title h2{font-size:25px}}

/* 0.5.0-rc.12 — final UI pass: actual legacy Planner classes, adaptive controls and readable map tooling. */
:root{font-size:18px}
body{font-size:1rem;line-height:1.58}
button,input,textarea,select{font:inherit;line-height:1.3}
button,.file-action,.adapter-import-btn{max-width:100%;overflow-wrap:anywhere}
.topbar{height:auto;min-height:72px;gap:12px;padding:10px 22px}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.topbar-link,.status{min-height:40px;font-size:13px;display:flex;align-items:center}
.status{max-width:min(520px,48vw);white-space:normal;line-height:1.3}
.shell{width:min(1680px,calc(100% - 28px));padding-top:26px}

/* Do not let long Russian labels collapse controls. */
.review-actions button,.review-export-actions button,.session-actions button,.benchmark-ingest-controls button,.raidplan-network-import button,.legacy-planner-toolbar button,.adapter-import-btn,.planner-workspace button{height:auto;min-height:42px;white-space:normal;text-align:center}
.review-actions-primary,.review-actions-secondary{min-width:0}
.report-toolbar-label,.report-search span,.attempt-filter-group>span,.attempt-search>span{font-size:12px!important}
.attempt-filter-group button b{font-size:12px}.attempt-search input{font-size:14px;min-height:42px}

/* The current Planner is legacy-plan-grid, not the old pw-main layout. Make the map the primary surface. */
.legacy-workspace-head{padding:16px 18px;gap:12px}.legacy-workspace-head h3{font-size:21px;line-height:1.25}.legacy-source-cards{min-width:0}.legacy-source-cards button{min-width:0;min-height:58px}.legacy-source-cards b{font-size:13px}.legacy-source-cards small{font-size:12px!important;line-height:1.4;white-space:normal}
.raidplan-network-import{grid-template-columns:minmax(320px,1fr) auto;gap:10px 12px;padding:12px 14px}.raidplan-network-import label>span,.raidplan-network-import small{font-size:13px!important;line-height:1.45}.raidplan-network-import input,.raidplan-network-import button{min-height:44px;font-size:13px!important}.raidplan-network-import small{grid-column:1/-1}
.legacy-planner-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 13px}.legacy-planner-toolbar>.legacy-scene-current{flex:1 1 230px}.legacy-planner-toolbar>span{flex:1 1 20px}.legacy-planner-toolbar>.pw-mode{flex:0 0 220px}.legacy-planner-toolbar>button,.pw-mode button,.adapter-import-btn{font-size:13px!important;min-height:42px;padding:8px 11px}.legacy-scene-current strong{font-size:14px}.legacy-scene-current small{font-size:12px!important;line-height:1.35}.pw-mode{min-width:220px}.pw-mode button{white-space:nowrap}
.legacy-scene-strip{gap:8px;padding:10px 12px}.legacy-scene-strip button{grid-template-columns:28px minmax(135px,1fr);min-width:190px;max-width:270px;min-height:54px;padding:9px 10px}.legacy-scene-strip button b{width:26px;height:26px;font-size:12px!important}.legacy-scene-strip button span{font-size:13px!important;line-height:1.3}
.legacy-plan-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start}.legacy-plan-grid.view-mode{grid-template-columns:1fr}.legacy-planner-canvas{max-width:none!important;width:100%;padding:14px 14px 0}.legacy-plan-grid.view-mode .legacy-planner-canvas{max-width:none!important}.legacy-palette{position:sticky;top:148px;max-height:calc(100vh - 164px)}
.paletteTabs button,.pw-side-tabs button{min-height:42px;font-size:13px!important}.paletteSection{padding:13px}.paletteSectionTitle,.pw-palette-subtitle{font-size:12px!important;line-height:1.4}.palette-help,.paletteEmpty p{font-size:12px!important;line-height:1.5}.legacy-palette-icon{min-height:80px}.legacy-palette-icon span{font-size:12px!important;line-height:1.25}.rosterPaletteNew b{font-size:13px}.rosterPaletteNew small{font-size:12px!important;line-height:1.35}
.pw-side-title strong,.pw-inspector>strong{font-size:13px!important}.pw-side-title span,.pw-field>span,.pw-coords span,.pw-role-note>span,.pw-empty,.danger-btn,.pw-zone-actions button,.pw-note-actions button{font-size:12px!important;line-height:1.4}.pw-field input,.pw-field textarea,.pw-role-note textarea{font-size:13px!important;line-height:1.45}.pw-canvas-text{font-size:12px!important}

/* Map/status/replay controls: readable; measured WCL viewport math stays untouched. */
.legacy-arena{border-radius:12px}.arena-map-status,.pw-schematic-badge,.path-mode-hint{font-size:12px!important;line-height:1.35;max-width:calc(100% - 20px);white-space:normal}.legacy-canvas-tools{font-size:12px!important;line-height:1.4;flex-wrap:wrap}.legacy-canvas-tools>button,.legacy-canvas-tools input{font-size:12px!important;min-height:38px}.legacy-scene-note{font-size:13px!important;line-height:1.55;min-height:96px}.legacy-role-notes summary,.legacy-role-notes .pw-role-note{font-size:12px!important}.pw-footer{font-size:12px!important;line-height:1.45;flex-wrap:wrap;padding:10px 12px}
.wcl-replay-actor b,.wcl-snapshot-actor b,.wcl-snapshot-enemy b,.wcl-snapshot-cluster span{font-size:11px!important;line-height:1.2}.wcl-replay-badge,.wcl-snapshot-badge{font-size:11px!important}.wcl-replay-controls.unavailable span,.wcl-snapshot-controls.unavailable span,.replay-meta,.snapshot-meta,.snapshot-stream{font-size:12px!important;line-height:1.45}.snapshot-head strong,.replay-transport b{font-size:14px!important}.snapshot-head span{font-size:13px!important;line-height:1.5}.snapshot-head>b{font-size:13px!important}.snapshot-frames button,.replay-transport button,.replay-transport select,.replay-plan-toggle,.replay-cal label,.replay-cal select,.replay-cal button{font-size:12px!important;min-height:38px}.snapshot-map-profile{font-size:12px!important;line-height:1.45}

/* Timeline stays compact, but never microscopic; add a direct path back to the map. */
.planner-timeline-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:0 12px 12px}.planner-timeline-shell .legacy-wcl-timeline{margin:12px 0 0}.legacy-wcl-timeline>summary{font-size:13px!important;line-height:1.4;padding:11px 12px}.legacy-wcl-scenes button{font-size:10px!important}.planner-map-return{margin-top:12px;min-height:42px;padding:8px 12px;border:1px solid #39546a;background:#101b25;color:#cce8f5;font-size:13px!important;white-space:nowrap}

/* Historical Analyzer blocks that still carried 9–11 px metadata. */
.mechanic-tags span,.tank-phase-chips span,.tank-phase-row>span>small,.tank-death-head span,.tank-buff-chips span,.tank-recent-buffs>div>span,.tank-identity,.catalog-status,.defensive-chip,.tank-defensive-timeline>div>span,.tank-defensive-empty,.plan-reliability,.plan-subhead span,.plan-scene-body p,.plan-scene-mechanics span,.plan-track-head small,.plan-track-head>span,.plan-track p,.plan-times span,.plan-times i,.plan-footnote,.vp-source,.vp-panel-title span,.vp-scene-button time,.vp-scene-button b,.vp-scene-button small,.vp-stage-head>div:first-child>span,.vp-stage-time small,.vp-schematic-badge,.vp-marker b,.vp-marker small,.vp-zone span,.vp-no-visual span,.vp-notes-head p,.vp-note>span,.vp-note p,.vp-boundary b,.vp-boundary span,.vp-empty-note,.vp-time-head strong,.vp-time-head span,.vp-phase-block span,.vp-playhead span,.vp-time-scale,.vp-legend span,.vp-legend b,.plan-evidence>summary,.session-confidence,.session-player-stats span,.session-tank-note,.session-cause,.session-fights>span,.fight-link,.next-pull-head small,.next-pull-problem b,.next-pull-action b,.recommendation-players,.recommendation-evidence>span,.session-mechanic-head>span,.session-mechanic-meta,.session-mechanic-stats span,.session-mechanic-offenders>b,.session-mechanic-offenders>span,.session-mechanic-examples>b,.session-mechanic-example,.notice.compact,.quick-result small,.quick-mechanic-chip,.strategy-role-card>div>span,.strategy-mechanic-head>span,.strategy-times span,.strategy-targets,.strategy-phase>div:first-child span,.strategy-phase>div:last-child span,.strategy-timeline-row,.session-import-card p,.session-group strong,.session-group span,.session-actions button,.benchmark-status,.review-export-bar span,.benchmark-reference-summary>span,.benchmark-compare-head span,.benchmark-compare-stats>span,.benchmark-timings>span,.deep-failure-head>span,.healer-compare-row,.mechanic-failure-head>span,.mechanic-consequences b,.mechanic-replay-link small,.raid-coach-summary>div:last-child span,.raid-coach-meta span,.raid-coach-head>b,.raid-coach-why b,.raid-coach-action b,.raid-coach-people>b,.raid-coach-people span,.raid-coach-evidence,.russian-coach-next b,.russian-coach-people>b,.russian-coach-people span,.add-to-plan-btn,.coach-plan-chip span,.coach-scene-source,.coach-plan-bulk,.raidplan-relations>summary,.raidplan-relations section>strong,.raidplan-relations li,.raidplan-relations p,.raidplan-inspector-meta b,.raidplan-inspector-meta span{font-size:12px!important;line-height:1.45}

/* Breakpoints are based on actual usable Planner width. Below 1200px the toolbox moves under the map instead of crushing it. */
@media(max-width:1350px){.legacy-plan-grid{grid-template-columns:minmax(0,1fr) 290px}.legacy-planner-toolbar>.legacy-scene-current{flex-basis:190px}.legacy-planner-toolbar>.pw-mode{flex-basis:200px}}
@media(max-width:1200px){.legacy-plan-grid{grid-template-columns:1fr}.legacy-palette{position:static;max-height:none;border-left:0;border-top:1px solid #2a3942}.legacy-planner-canvas{padding:12px}.raidplan-network-import{grid-template-columns:1fr}.raidplan-network-import button{width:100%}.legacy-planner-toolbar>span{display:none}.legacy-planner-toolbar>.pw-mode{order:5;flex:1 1 220px}.legacy-planner-toolbar>#pw-add-scene{order:6}.legacy-planner-toolbar>#pw-undo,.legacy-planner-toolbar>#pw-redo,.legacy-planner-toolbar>#pw-reset,.legacy-planner-toolbar>#pw-delete-scene,.legacy-planner-toolbar>#export-raidplan-adapter-json,.legacy-planner-toolbar>.adapter-import-btn,.legacy-planner-toolbar>#export-plan-json{order:7}}
@media(max-width:900px){.topbar{min-height:64px;padding:8px 10px}.status{font-size:12px;max-width:52vw}.shell{width:min(100% - 10px,1680px)}.panel{padding:10px}.report-quick-nav{position:static}.planner-timeline-shell{grid-template-columns:1fr}.planner-map-return{width:100%;margin-top:0}.legacy-workspace-head{padding:13px}.legacy-workspace-head h3{font-size:19px}.legacy-scene-strip button{min-width:175px}.legacy-planner-canvas{padding:8px 8px 0}.legacy-arena{min-height:0!important;aspect-ratio:1231/692}.pw-footer{gap:5px}.pw-footer span{display:block}}
@media(max-width:620px){.topbar{align-items:flex-start;flex-wrap:wrap}.brand{min-height:40px}.topbar-actions{width:100%;justify-content:flex-start}.topbar-link{flex:1}.status{max-width:none;width:100%;min-height:34px}.hero h1{font-size:32px}.pillar{min-height:auto}.attempt-filter-group{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.attempt-filter-group>span{position:sticky;left:0;background:#0d141e;padding-right:5px}.attempt-filter-group button{white-space:nowrap}.legacy-planner-toolbar>[data-prev-scene],.legacy-planner-toolbar>[data-next-scene]{flex:0 0 42px}.legacy-planner-toolbar>.legacy-scene-current{flex:1 1 calc(100% - 100px)}.legacy-planner-toolbar>.pw-mode{order:5;flex:1 1 100%}.legacy-planner-toolbar>#pw-add-scene,.legacy-planner-toolbar>#export-raidplan-adapter-json,.legacy-planner-toolbar>.adapter-import-btn,.legacy-planner-toolbar>#export-plan-json{display:none}.legacy-planner-toolbar>#pw-undo,.legacy-planner-toolbar>#pw-redo,.legacy-planner-toolbar>#pw-reset,.legacy-planner-toolbar>#pw-delete-scene{order:6;flex:1 1 44%}.legacy-scene-current strong{font-size:13px}.legacy-scene-strip button{min-width:160px}.snapshot-frames{display:grid;grid-template-columns:repeat(3,1fr)}.snapshot-frames button{width:100%}.snapshot-frames .copy{grid-column:span 3}}


/* 0.5.0-rc.26 — NSRT ability filter */
.nsrt-ability-filter{margin:10px 0 12px;border:1px solid #31516d;border-radius:10px;background:#09121b;overflow:hidden}.nsrt-ability-filter summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:10px 11px;color:#e7f1fb}.nsrt-ability-filter summary strong{font-size:13px}.nsrt-ability-filter summary span{font-size:12px;color:#9eb7cf}.nsrt-ability-filter>p{margin:0;padding:0 11px 9px;color:#9db0c5;font-size:12px;line-height:1.45}.nsrt-filter-actions{display:flex;gap:7px;flex-wrap:wrap;padding:0 11px 10px}.nsrt-filter-actions button{padding:6px 9px;font-size:11px}.nsrt-ability-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 11px 11px;max-height:260px;overflow:auto}.nsrt-ability-option{display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid #2e455b;border-radius:8px;background:#0c1722;cursor:pointer}.nsrt-ability-option:hover{border-color:#466b8c}.nsrt-ability-option.excluded{opacity:.55;background:#0a0f15}.nsrt-ability-option input{margin-top:3px;accent-color:#67b7e8}.nsrt-ability-option span{display:grid;gap:2px;min-width:0}.nsrt-ability-option b{font-size:12px;color:#dcebf8;overflow:hidden;text-overflow:ellipsis}.nsrt-ability-option small{font-size:10px;color:#8098af}@media(max-width:900px){.nsrt-ability-options{grid-template-columns:1fr}.nsrt-ability-filter summary{align-items:flex-start;flex-direction:column}}


/* 0.5.0-rc.27 — readable sortable large tables */
.large-table-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 7px;padding:8px 10px;border:1px solid #29374b;border-radius:10px;background:#0b121b;color:#93a7c1;font-size:12px;line-height:1.35}
.large-table-scroll{max-height:min(66vh,720px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid #334159;box-shadow:0 10px 28px #0003}
.sortable-data-table{font-variant-numeric:tabular-nums}
.sortable-data-table thead th{position:sticky;top:0;z-index:4;background:#182131!important;color:#dce6f7!important;box-shadow:0 1px 0 #41506a,0 7px 14px #05080e99}
.sortable-data-table thead th:first-child{left:0;z-index:6}
.sortable-data-table tbody tr:nth-child(even)>td,.sortable-data-table tbody tr:nth-child(even)>th{background-color:#0e1621}
.sortable-data-table tbody tr:hover>td,.sortable-data-table tbody tr:hover>th{background-color:#172235!important}
.sortable-data-table tbody th[scope="row"]{position:sticky;left:0;z-index:2;background:#111a27;color:#f1f5ff;font-weight:750;box-shadow:1px 0 0 #334159}
.sortable-data-table td,.sortable-data-table tbody th{min-height:44px;line-height:1.35}
.table-sort-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;margin:0;padding:4px 2px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-weight:800;text-align:left;white-space:nowrap}
.table-sort-button:hover,.table-sort-button:focus-visible{background:#25324a;color:#fff;outline:none}
.table-sort-indicator{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:5px;color:#91a7c6;font-size:13px}
th[aria-sort="ascending"] .table-sort-button,th[aria-sort="descending"] .table-sort-button{color:#fff}th[aria-sort="ascending"] .table-sort-indicator,th[aria-sort="descending"] .table-sort-indicator{background:#715cff33;color:#c9beff}
.players{font-size:14px;min-width:860px}.players th,.players td{padding:11px 13px}.players tbody td:not(:first-child){text-align:center}.players tbody th[scope="row"]{min-width:180px;text-align:left}.players thead th:not(:first-child) .table-sort-button{justify-content:center}.players thead th:not(:first-child) .table-sort-button span:first-child{text-align:center}
.survival-usage-table{font-size:14px}.survival-usage-table thead th{font-size:13px}.survival-usage-table th,.survival-usage-table td{padding:11px 13px}.survival-usage-table tbody th[scope="row"]{min-width:180px}.survival-usage-table tbody td{min-width:82px}.survival-usage-table tbody td:nth-child(2),.survival-usage-table tbody td:nth-child(3){background-clip:padding-box}
@media(max-width:900px){.large-table-scroll{max-height:70vh}.large-table-hint{align-items:flex-start;flex-direction:column}.table-sort-button{min-height:38px}.survival-usage-table,.players{font-size:13px}.survival-usage-table th,.survival-usage-table td,.players th,.players td{padding:10px}}

/* 0.5.0-rc.28 — compact readable NSRT ability filter */
.nsrt-ability-filter{margin:10px 0 12px;overflow:visible}
.nsrt-ability-filter summary{padding:9px 10px}
.nsrt-filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px 9px}
.nsrt-filter-toolbar>p{margin:0;min-width:0;color:#9db0c5;font-size:11px;line-height:1.4}
.nsrt-filter-actions{display:flex;gap:6px;flex:0 0 auto;flex-wrap:wrap;padding:0}
.nsrt-filter-actions button{padding:5px 8px;border:1px solid #35516a;border-radius:7px;background:#122234;color:#cfe3f5;font-size:10px;font-weight:700}
.nsrt-filter-actions button:hover{border-color:#5a82a6;background:#172d43}
.nsrt-ability-options{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:5px;padding:0 10px 10px;max-height:none;overflow:visible}
.nsrt-ability-option{align-items:center;gap:8px;min-height:42px;padding:6px 8px;border-radius:7px}
.nsrt-ability-option input[type=checkbox]{width:16px;height:16px;min-width:16px;flex:0 0 16px;margin:0;padding:0;accent-color:#67b7e8;cursor:pointer}
.nsrt-ability-option span{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;line-height:1.2}
.nsrt-ability-option b{font-size:11px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}
.nsrt-ability-option small{font-size:9px;line-height:1.25;color:#8098af;white-space:normal}
.nsrt-ability-option.excluded{opacity:.52}
.nsrt-note textarea[data-raid-note-source="nsrt"]{min-height:230px;max-height:380px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden;font-size:12px;line-height:1.55}
@media(max-width:900px){.nsrt-filter-toolbar{align-items:flex-start;flex-direction:column}.nsrt-filter-actions{width:100%}.nsrt-filter-actions button{flex:1 1 auto}.nsrt-ability-options{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}}
@media(max-width:560px){.nsrt-ability-options{grid-template-columns:1fr}.nsrt-ability-filter summary{gap:4px}.nsrt-ability-filter summary span{font-size:11px}}

/* rc.29 — WCL account auth */
.auth-topbar.authenticated{border-color:rgba(81,207,145,.55);background:rgba(35,132,89,.14)}
.auth-logout{opacity:.78}
.auth-logout[hidden]{display:none!important}
@media(max-width:900px){.topbar-actions .auth-logout{display:none}.topbar-actions .auth-topbar{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* 0.5.0-rc.32 — release shell: quieter header, one primary action, explicit local WCL OAuth setup. */
.topbar{padding:0 18px;min-height:66px;background:#090d14f4;border-bottom-color:#20293a}
.topbar-inner{width:min(1680px,100%);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-width:0}
.brand{color:inherit;text-decoration:none;min-width:max-content}.brand:hover .logo{transform:translateY(-1px)}
.logo{width:40px;height:40px;border-radius:12px;box-shadow:0 8px 24px #6c4cff2e;transition:transform .15s ease}
.brand strong{font-size:18px;letter-spacing:-.01em}.brand small{font-size:11px;color:#7f8ca2;margin-top:1px}
.topbar-nav{display:flex;align-items:center;gap:4px;justify-self:start}.topbar-nav .topbar-link{border:0;background:transparent;color:#aab6c9;padding:8px 10px;min-height:36px;font-weight:650}.topbar-nav .topbar-link:hover{background:#141b28;color:#fff}
.topbar-account{display:flex;align-items:center;gap:8px;justify-self:end;min-width:0}
.service-status{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid #273247;border-radius:999px;background:#0d131d;color:#93a1b6;font-size:11px;white-space:nowrap}
.service-dot,.account-inline-dot{width:7px;height:7px;border-radius:50%;background:#69768a;box-shadow:0 0 0 3px #69768a1c;flex:0 0 auto}.service-status.ok .service-dot{background:var(--good);box-shadow:0 0 0 3px #5ed6a022}.service-status.bad .service-dot{background:var(--warn);box-shadow:0 0 0 3px #f0b35a22}
.auth-topbar{min-height:38px;padding:8px 13px;border:1px solid #5d4bc0;background:#271f54;color:#eeeaff;font-size:12px;font-weight:800}.auth-topbar:hover{background:#33276d;border-color:#806cff}.auth-topbar.authenticated{border-color:#2d7861;background:#102820;color:#b9f4dd}
.auth-logout{min-height:36px;padding:7px 10px;border:1px solid #303b4e;background:transparent;color:#8998ae;font-size:11px}.auth-logout:hover{color:#fff;background:#161e2b}

.shell{padding-top:34px}.hero{max-width:none;display:grid;grid-template-columns:minmax(0,900px) auto;align-items:end;justify-content:space-between;gap:28px;margin:0 0 24px;padding:10px 4px 4px}.hero-copy{min-width:0}.hero h1{max-width:920px;margin:8px 0 12px;font-size:clamp(34px,3.25vw,52px);line-height:1.07;letter-spacing:-.025em}.hero p{max-width:900px;font-size:17px;color:#a7b3c6}.hero-actions{display:flex;gap:9px;align-items:center;padding-bottom:4px}.hero-actions button{min-height:46px;padding:10px 16px}.hero-primary{background:linear-gradient(135deg,#7458f6,#8b68ff);box-shadow:0 8px 24px #6d51e529}.hero-secondary{border:1px solid #324057;background:#101722;color:#c9d3e3}
.pillars{gap:10px}.pillar{min-height:176px;padding:17px 18px;border-radius:15px;background:linear-gradient(180deg,#101722,#0c1119)}.pillar .icon{width:38px;height:38px;font-size:20px;border-radius:10px}.pillar h2{font-size:18px;margin:12px 0 6px}.pillar p{font-size:13px;line-height:1.5;margin-bottom:14px}.pillar button{min-height:38px;font-size:12px}.stage{font-size:11px;padding:5px 0}

.workspace{margin-top:18px;background:#0a0f16;border-color:#263044;box-shadow:0 18px 50px #00000025}.panel{padding:20px}.review-entry-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}.review-entry-head h2{font-size:24px;margin:3px 0 3px}.review-entry-head p{margin:0;color:#8e9cb1;font-size:13px;line-height:1.45}.account-inline{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid #344157;background:#101722;color:#cad5e6;font-size:12px}.account-inline:hover{border-color:#6859b1;background:#17182a}.account-inline.authenticated{border-color:#2e725f;background:#0d211a;color:#baf0dc}.account-inline.authenticated .account-inline-dot{background:var(--good)}
.url-form{grid-template-columns:minmax(0,1fr) auto;gap:8px}.url-form input{min-height:52px;border-radius:12px;background:#070b11;border-color:#303b4f;padding:13px 15px}.url-form input:focus{border-color:#735cff;box-shadow:0 0 0 3px #735cff18}.url-form button{min-width:154px;border-radius:12px;background:linear-gradient(135deg,#7559f7,#8967ff)}

.ingest-tools{margin-top:12px;border:1px solid #232d3e;border-radius:12px;background:#0a1018;overflow:hidden}.ingest-tools>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;color:#c7d1df}.ingest-tools>summary::-webkit-details-marker{display:none}.ingest-tools>summary>span:first-child{display:flex;align-items:baseline;gap:9px}.ingest-tools>summary b{font-size:12px}.ingest-tools>summary small{font-size:11px;color:#738198}.ingest-tools-chevron{font-size:17px;color:#7e8ca2;transition:transform .15s ease}.ingest-tools[open] .ingest-tools-chevron{transform:rotate(180deg)}.ingest-tools[open]>summary{border-bottom:1px solid #232d3e;background:#0d141e}.ingest-tools .ingest-options{margin:0;padding:10px;grid-template-columns:1fr 1fr}.ingest-tools .ingest-card{background:#0c131c;border-color:#293548}.ingest-tools .benchmark-ingest{grid-column:1/-1}

.oauth-setup{margin-top:12px;padding:15px;border:1px solid #5b4b94;border-radius:13px;background:linear-gradient(180deg,#17152a,#0e111b);box-shadow:inset 3px 0 #7c5cff}.oauth-setup-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.oauth-setup-head h3{margin:3px 0 0;font-size:18px}.oauth-setup-close{min-width:34px;width:34px;min-height:34px;padding:0;border:1px solid #3a4051;background:#141925;color:#aeb8c9;font-size:20px}.oauth-setup>p{margin:9px 0 13px;color:#b6c1d2;font-size:13px;line-height:1.5}.oauth-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.oauth-setup-grid>div{display:grid;gap:6px;padding:11px;border:1px solid #2c3548;border-radius:10px;background:#090e16}.oauth-setup-grid>div>span{font-size:11px;font-weight:800;color:#8f9db2;text-transform:uppercase;letter-spacing:.045em}.oauth-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.oauth-copy-row code,.oauth-setup pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:#dbd5ff;overflow-wrap:anywhere}.oauth-copy-row code{padding:9px;border-radius:8px;background:#080b12;border:1px solid #283044}.oauth-copy-row button{min-height:36px;padding:7px 10px;font-size:11px}.oauth-setup pre{margin:0;padding:9px;border-radius:8px;background:#080b12;border:1px solid #283044;white-space:pre-wrap}.oauth-setup>small{display:block;margin-top:10px;color:#8492a8;font-size:11px;line-height:1.5}

@media(max-width:1000px){.topbar-inner{grid-template-columns:auto 1fr}.topbar-nav{display:none}.topbar-account{grid-column:2}.hero{grid-template-columns:1fr}.hero-actions{padding:0}.review-entry-head{align-items:flex-start}.oauth-setup-grid{grid-template-columns:1fr}.ingest-tools .ingest-options{grid-template-columns:1fr}.ingest-tools .benchmark-ingest{grid-column:auto}}
@media(max-width:700px){.topbar{padding:7px 10px}.topbar-inner{display:flex;flex-wrap:wrap;gap:8px}.brand{flex:1}.topbar-account{width:100%;justify-content:flex-start}.service-status{margin-right:auto}.auth-topbar{flex:1}.brand small{display:block}.hero{padding-top:2px}.hero h1{font-size:32px}.hero p{font-size:15px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.pillars{grid-template-columns:1fr}.review-entry-head{display:grid;grid-template-columns:1fr}.account-inline{justify-self:start}.url-form{grid-template-columns:1fr}.url-form button{width:100%}.ingest-tools>summary>span:first-child{display:grid;gap:1px}.oauth-copy-row{grid-template-columns:1fr}.oauth-copy-row button{width:100%}}


/* 0.5.0-rc.33 — unobtrusive project support surface. */
.support-link{color:#d7cdfd!important}.support-link:hover{color:#fff!important;background:#211a35!important}
.site-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin:24px 0 0;padding:16px;color:#748197;font-size:12px}.footer-support{min-height:34px;padding:7px 10px;border:1px solid #30284f;background:#151126;color:#cfc3ff;font-size:11px}.footer-support:hover{border-color:#5e4bb0;background:#211a3c;color:#fff}
.support-dialog{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.support-dialog[hidden]{display:none}.support-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#020409bd;backdrop-filter:blur(5px);cursor:default}.support-card{position:relative;width:min(520px,100%);padding:22px;border:1px solid #4b3c7c;border-radius:18px;background:linear-gradient(180deg,#171426,#0b1018);box-shadow:0 28px 80px #000b}.support-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.support-card-head h2{margin:5px 0 0;font-size:24px}.support-close{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border:1px solid #35304b;background:#14121e;color:#aab3c2;font-size:21px}.support-close:hover{background:#211b31;color:#fff}.support-card>p{margin:14px 0;color:#b4bfd0;font-size:14px;line-height:1.55}.support-note{padding:12px 13px;border:1px solid #343054;border-radius:11px;background:#100e1b;color:#d9d1f8;font-size:13px;line-height:1.5}.support-action{display:flex;align-items:center;justify-content:center;margin-top:14px;min-height:44px;border-radius:11px;background:linear-gradient(135deg,#7458f6,#8b68ff);color:#fff;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 8px 24px #6d51e529}.support-action:hover{filter:brightness(1.08)}.support-action[hidden]{display:none}.support-unavailable{font-size:12px!important;color:#8290a5!important}.support-unavailable[hidden]{display:none}
body.support-open{overflow:hidden}
@media(max-width:700px){.site-footer{flex-direction:column}.support-dialog{padding:12px}.support-card{padding:18px}.support-card-head h2{font-size:21px}}


/* 0.5.0-rc.36 — resilient WCL first-login popup UX. */
.oauth-login-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:13px 14px;border:1px solid #4f4387;border-radius:13px;background:linear-gradient(180deg,#151426,#0d111a);box-shadow:inset 3px 0 #7c5cff}
.oauth-login-progress[hidden]{display:none}.oauth-login-progress-copy{display:flex;align-items:flex-start;gap:11px;min-width:0}.oauth-login-progress-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#8d76ff;box-shadow:0 0 0 4px #7c5cff22;flex:0 0 auto}.oauth-login-progress-copy strong{display:block;color:#f0ecff;font-size:13px}.oauth-login-progress-copy p{margin:4px 0 0;max-width:760px;color:#9faec1;font-size:12px;line-height:1.45}.oauth-login-progress-actions{display:flex;gap:7px;flex:0 0 auto}.oauth-login-progress-actions button{min-height:38px;padding:8px 11px;font-size:11px}.oauth-login-progress[data-state="finalizing"]{border-color:#315e86}.oauth-login-progress[data-state="finalizing"] .oauth-login-progress-dot{background:#62b6ff;animation:oauthPulse 1s ease-in-out infinite}.oauth-login-progress[data-state="success"]{border-color:#2f725e;box-shadow:inset 3px 0 #51cf91}.oauth-login-progress[data-state="success"] .oauth-login-progress-dot{background:#51cf91}.oauth-login-progress[data-state="error"]{border-color:#885048;box-shadow:inset 3px 0 #e87968}.oauth-login-progress[data-state="error"] .oauth-login-progress-dot{background:#e87968}@keyframes oauthPulse{50%{opacity:.45;transform:scale(.85)}}
.oauth-popup-result{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px;background:#090d14;color:#e8edf6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.oauth-popup-result-card{width:min(460px,100%);padding:28px;border:1px solid #40376a;border-radius:18px;background:#101622;text-align:center;box-shadow:0 24px 70px #0008}.oauth-popup-result-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 14px;border-radius:13px;background:#765bfa;color:#fff;font-size:25px;font-weight:900}.oauth-popup-result h1{margin:0;font-size:22px}.oauth-popup-result p{margin:9px 0 0;color:#98a6ba;font-size:13px;line-height:1.5}
.site-footer .footer-separator{opacity:.45}
@media(max-width:760px){.oauth-login-progress{align-items:flex-start;flex-direction:column}.oauth-login-progress-actions{width:100%;flex-wrap:wrap}.oauth-login-progress-actions button{flex:1 1 220px}.site-footer .footer-separator{display:none}}
