:root {
  color-scheme: dark;
  --ink: #090615;
  --paper: #f2eaff;
  --muted: #a798b8;
  --violet: #b66dff;
  --pink: #ff8acb;
  --ice: #9deaff;
  --panel: rgba(12, 8, 29, .72);
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: var(--ink); }
body { color: var(--paper); font-family: Inter, "DM Sans", system-ui, sans-serif; touch-action: none; user-select: none; }
button, a { color: inherit; font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }

#proof-shell, #render-canvas { position: fixed; inset: 0; width: 100%; height: 100%; }
#render-canvas { display: block; outline: 0; background: radial-gradient(circle at 50% 30%, #28163e, #07050f 70%); }

.legacy-link { position: fixed; z-index: 40; left: max(12px, env(safe-area-inset-left)); top: max(10px, env(safe-area-inset-top)); padding: 8px 10px; border: 1px solid rgba(238, 219, 255, .2); border-radius: 4px; background: rgba(8, 5, 20, .62); color: #cbb7df; font-size: 10px; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; backdrop-filter: blur(10px); }

.hud { position: fixed; z-index: 10; inset: 0; pointer-events: none; opacity: 0; transition: opacity .25s; }
.party-panel[hidden] { display: none; }
.hud.is-active { opacity: 1; }
.topbar { position: absolute; left: 0; right: 0; top: 0; min-height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 10px max(18px, env(safe-area-inset-right)) 10px max(145px, calc(env(safe-area-inset-left) + 145px)); border-bottom: 1px solid rgba(224, 202, 255, .1); background: linear-gradient(rgba(7, 4, 17, .82), transparent); }
.proof-mark { display: flex; align-items: center; gap: 10px; }.proof-mark > span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(201, 151, 255, .55); transform: rotate(45deg); color: var(--pink); font: 700 8px Georgia; }.proof-mark > span::first-line { transform: rotate(-45deg); }.proof-mark div { display: grid; gap: 2px; }.proof-mark strong { font: 600 11px Georgia, serif; letter-spacing: .09em; text-transform: uppercase; }.proof-mark small { color: var(--muted); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.camera-mode { padding: 7px 9px; border: 1px solid rgba(219, 194, 245, .18); border-radius: 3px; background: rgba(10, 7, 24, .5); color: #d7c1ef; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }

.crosshair { position: absolute; left: 50%; top: 50%; width: 32px; height: 32px; transform: translate(-50%, -50%); border: 1px solid rgba(243, 236, 255, .58); border-radius: 50%; transition: border-color .12s, box-shadow .12s, transform .12s; }
.crosshair::before, .crosshair::after { content: ""; position: absolute; left: 50%; top: 50%; background: rgba(255, 255, 255, .9); transform: translate(-50%, -50%); }.crosshair::before { width: 1px; height: 42px; }.crosshair::after { width: 42px; height: 1px; }.crosshair i { position: absolute; z-index: 1; left: 50%; top: 50%; width: 4px; height: 4px; transform: translate(-50%, -50%); border-radius: 50%; background: var(--pink); box-shadow: 0 0 9px var(--pink); }
.crosshair i::after { content: attr(data-state-label); position: absolute; left: 50%; top: 17px; min-width: 28px; display: none; padding: 2px 4px; transform: translateX(-50%); border-radius: 3px; background: rgba(3, 14, 15, .76); color: #a6ffdd; font: 800 8px/1 system-ui, sans-serif; letter-spacing: .13em; text-align: center; text-shadow: 0 1px 4px #020807; white-space: nowrap; }
.crosshair.is-targeting { border-color: #8fffd2; box-shadow: 0 0 18px rgba(105, 255, 199, .5); transform: translate(-50%, -50%) scale(1.12); }
.crosshair.is-targeting i { background: #baffdf; box-shadow: 0 0 11px #70ffc7; }
.crosshair.is-targeting i::after, .crosshair.is-obstructed i::after, .crosshair.is-self-cast i::after { display: block; }
.crosshair.is-assisted { border-color: var(--ice); box-shadow: 0 0 18px rgba(115, 222, 255, .48); }
.crosshair[data-spell="frost"].is-targeting { border-color: #a9efff; box-shadow: 0 0 18px rgba(105, 224, 255, .52); }
.crosshair[data-spell="frost"].is-targeting i { background: #d8fbff; box-shadow: 0 0 11px #70e4ff; }
.crosshair.is-self-cast { border-color: #bfa1ff; box-shadow: 0 0 16px rgba(154, 118, 255, .44); }
.crosshair.is-self-cast i { background: #d8ccff; box-shadow: 0 0 10px #9d7eff; }
.crosshair.is-obstructed { border-color: #ffb16f; box-shadow: 0 0 14px rgba(255, 130, 83, .42); }
.crosshair.is-obstructed i { background: #ff9b72; box-shadow: 0 0 10px #ff714f; }
.crosshair.is-obstructed i::after { color: #ffd0b0; }

.target-card { position: absolute; left: 50%; top: 74px; width: min(320px, 62vw); padding: 10px 12px; opacity: 0; transform: translateX(-50%) translateY(-8px); border: 1px solid rgba(255, 139, 203, .22); border-radius: 4px; background: var(--panel); transition: opacity .18s, transform .18s; backdrop-filter: blur(10px); }
.target-card.is-visible { opacity: 1; transform: translateX(-50%); }.target-card > div:first-child { display: flex; justify-content: space-between; margin-bottom: 7px; text-transform: uppercase; }.target-card span { color: #f0c5df; font: 600 9px Georgia, serif; letter-spacing: .1em; }.target-card em { margin-left: 6px; color: #8fe9ff; font: 700 7px system-ui, sans-serif; letter-spacing: .08em; }.target-card strong { color: #bba9c8; font-size: 8px; }.health-track { height: 4px; overflow: hidden; border-radius: 4px; background: rgba(255, 255, 255, .1); }.health-track i { display: block; width: 100%; height: 100%; transform-origin: left; background: linear-gradient(90deg, #ff5b94, #ffb0d6); box-shadow: 0 0 10px #ff68a4; transition: transform .18s; }.target-card.is-frozen { border-color: rgba(119, 229, 255, .48); box-shadow: 0 0 20px rgba(78, 200, 255, .14); }.target-card.is-frozen .health-track i { background: linear-gradient(90deg, #43a9e2, #c4f8ff); box-shadow: 0 0 10px #63dcff; }

.spell-readout { position: absolute; left: max(18px, env(safe-area-inset-left)); bottom: max(18px, env(safe-area-inset-bottom)); display: grid; gap: 2px; padding: 10px 12px; border-left: 2px solid var(--violet); background: rgba(8, 5, 21, .58); text-transform: uppercase; }.spell-readout span, .spell-readout small { color: var(--muted); font-size: 7px; letter-spacing: .14em; }.spell-readout strong { color: #eadbff; font: 600 12px Georgia, serif; letter-spacing: .08em; }
.player-vitals { position: absolute; left: 50%; bottom: max(16px, env(safe-area-inset-bottom)); width: min(230px, 36vw); display: grid; gap: 5px; padding: 8px 10px; transform: translateX(-50%); border: 1px solid rgba(217, 177, 255, .2); border-radius: 4px; background: rgba(8, 5, 21, .68); transition: border-color .15s, box-shadow .15s; }.player-vitals > div:first-child { display: flex; justify-content: space-between; gap: 8px; }.player-vitals span, .player-vitals strong, .player-vitals small { font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }.player-vitals span { color: #eadbff; }.player-vitals strong, .player-vitals small { color: #a99ab7; }.player-health-track { height: 4px; overflow: hidden; border-radius: 4px; background: rgba(255, 255, 255, .1); }.player-health-track i { display: block; width: 100%; height: 100%; transform-origin: left; background: linear-gradient(90deg, #b553a1, #ff9ecb); box-shadow: 0 0 9px rgba(255, 102, 184, .55); transition: transform .18s; }.player-vitals.is-green { border-color: rgba(116, 224, 139, .3); background: rgba(5, 22, 13, .72); }.player-vitals.is-green span, .player-vitals.is-green #aegis-status { color: #b9f5c5; }.player-vitals.is-green .player-health-track i { background: linear-gradient(90deg, #2f9b4c, #9bebaa); box-shadow: 0 0 9px rgba(71, 216, 105, .5); }.player-vitals.is-aegis { border-color: rgba(139, 220, 255, .52); box-shadow: 0 0 18px rgba(119, 130, 255, .2); }.player-vitals.is-aegis #aegis-status { color: #9deaff; }.player-vitals.is-powered { border-color: rgba(255, 209, 94, .46); box-shadow: 0 0 18px rgba(255, 183, 57, .15); }.player-vitals.is-powered #powerup-status { color: #ffd878; }.player-vitals.is-hit { border-color: #ff769d; box-shadow: 0 0 20px rgba(255, 80, 137, .42); }.player-vitals.is-healed { border-color: #ffd978; box-shadow: 0 0 20px rgba(255, 201, 82, .35); }
.pouch-hint { position: absolute; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); display: grid; grid-template-columns: auto auto; align-items: center; gap: 2px 8px; padding: 8px 10px; border: 1px solid rgba(239, 191, 94, .24); border-radius: 4px; background: rgba(18, 10, 17, .68); color: #e6d3b3; text-transform: uppercase; }.pouch-hint kbd { grid-row: span 3; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255, 220, 152, .36); border-radius: 4px; background: linear-gradient(#36251f, #1a1112); color: #ffd984; font: 700 11px ui-monospace, monospace; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .35); }.pouch-hint span { font-size: 7px; letter-spacing: .13em; }.pouch-hint strong, .pouch-hint em { color: #bba98d; font-size: 7px; font-style: normal; font-weight: 500; letter-spacing: .08em; }.pouch-hint em { color: #dfb858; }
.toast { position: absolute; left: 50%; top: 31%; max-width: min(420px, 78vw); padding: 8px 11px; opacity: 0; transform: translate(-50%, -6px); border: 1px solid rgba(224, 200, 252, .18); border-radius: 4px; background: rgba(8, 5, 20, .75); font-size: 9px; letter-spacing: .1em; text-align: center; text-transform: uppercase; transition: opacity .18s, transform .18s; }.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

.pouch-overlay { position: fixed; z-index: 55; inset: 0; display: grid; place-items: center; padding: 28px; opacity: 0; visibility: hidden; background: radial-gradient(circle, rgba(65, 34, 75, .24), rgba(4, 3, 10, .88) 68%); pointer-events: none; transition: opacity .2s, visibility .2s; backdrop-filter: blur(8px); }.pouch-overlay.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.pouch-panel { width: min(660px, calc(100vw - 56px)); overflow: hidden; border: 1px solid rgba(255, 215, 151, .33); border-radius: 26px 26px 76px 76px; background: linear-gradient(145deg, #4b2d29, #1d1218 64%); box-shadow: 0 34px 100px rgba(0, 0, 0, .72), inset 0 0 0 5px rgba(95, 55, 42, .32); color: #f1e2cf; transform: translateY(12px) scale(.98); transition: transform .2s; }.pouch-overlay.is-open .pouch-panel { transform: translateY(0) scale(1); }
.pouch-panel > header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px 16px; border-bottom: 1px solid rgba(255, 221, 174, .14); background: linear-gradient(90deg, rgba(121, 72, 49, .38), rgba(30, 17, 22, .2)); }.pouch-panel > header div { display: grid; gap: 3px; }.pouch-panel > header small { color: #c79c76; font-size: 8px; letter-spacing: .17em; text-transform: uppercase; }.pouch-panel h2 { margin: 0; color: #ffe4b5; font: 500 25px Georgia, serif; letter-spacing: .04em; text-transform: uppercase; }.pouch-panel > header button { width: 38px; height: 38px; border: 1px solid rgba(255, 222, 171, .25); border-radius: 50%; background: rgba(23, 13, 17, .64); color: #e7c79d; cursor: pointer; font-size: 25px; line-height: 1; }
.pouch-lining { max-height: min(62vh, 560px); margin: 14px 18px 0; padding: 18px; overflow: auto; overscroll-behavior: contain; border: 1px solid rgba(248, 208, 147, .17); border-radius: 14px 14px 54px 54px; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .018) 0 2px, transparent 2px 7px), radial-gradient(circle at 50% 0, #36282f, #171117 74%); box-shadow: inset 0 15px 35px rgba(0, 0, 0, .38); }.pouch-lining > p { margin: 0 0 12px; color: #9e806d; font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.pouch-section { display: grid; margin: 0 0 18px; }.pouch-section[hidden] { display: none; }.pouch-section > p { margin: 0 0 12px; color: #9e806d; font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.keeper-clues ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.keeper-clues li { display: grid; gap: 3px; padding: 9px 11px; border: 1px solid rgba(201, 167, 255, .18); border-radius: 7px; background: rgba(29, 20, 43, .5); }.keeper-clues li strong { color: #ead8ff; font: 600 12px Georgia, serif; }.keeper-clues li small { color: #b9a9c8; font-size: 9px; line-height: 1.45; }.keeper-clues li.is-empty { color: #8d7d99; font-size: 9px; font-style: italic; }
.pouch-item { width: 100%; display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 15px; padding: 14px; border: 1px solid rgba(255, 211, 116, .24); border-radius: 10px; background: linear-gradient(110deg, rgba(118, 75, 42, .32), rgba(49, 28, 30, .68)); color: #f6e8d0; text-align: left; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }.pouch-item + .pouch-item { margin-top: 10px; }.pouch-item:is(button):hover:not(:disabled), .pouch-item:is(button):focus-visible { border-color: rgba(255, 215, 117, .7); outline: 0; background: linear-gradient(110deg, rgba(151, 98, 48, .43), rgba(60, 30, 36, .75)); transform: translateY(-1px); }.pouch-item:disabled { cursor: default; opacity: .52; }.pouch-item > span:nth-child(2) { min-width: 0; display: grid; gap: 5px; }.pouch-item strong { color: #ffe0a3; font: 600 14px Georgia, serif; letter-spacing: .025em; }.pouch-item small { color: #b9a493; font-size: 9px; letter-spacing: .04em; }.pouch-item em { color: #e9bd68; font-size: 9px; font-style: normal; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }.pouch-treasure { cursor: default; border-color: rgba(246, 194, 66, .2); background: linear-gradient(110deg, rgba(92, 61, 24, .28), rgba(42, 27, 29, .68)); }
.berry-icon { position: relative; width: 66px; height: 56px; display: block; }.berry-icon i { position: absolute; width: 26px; height: 26px; border: 1px solid #ffe29a; border-radius: 50%; background: radial-gradient(circle at 35% 28%, #fff6bd 0 8%, #f3bc42 24%, #b9570c 70%); box-shadow: 0 0 14px rgba(255, 190, 57, .55); }.berry-icon i:nth-child(1) { left: 7px; top: 23px; }.berry-icon i:nth-child(2) { left: 25px; top: 10px; }.berry-icon i:nth-child(3) { left: 37px; top: 29px; }.berry-icon b { position: absolute; left: 20px; top: 0; width: 27px; height: 14px; border-radius: 100% 0 100% 0; background: linear-gradient(135deg, #7e9d54, #27442d); transform: rotate(-18deg); }
.potion-icon { position: relative; width: 66px; height: 58px; display: block; }.potion-icon i { position: absolute; left: 17px; bottom: 2px; width: 35px; height: 39px; border: 2px solid rgba(226, 246, 255, .7); border-radius: 48% 48% 40% 40%; box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .08), 0 0 17px currentColor; }.potion-icon i::before { content: ""; position: absolute; left: 10px; top: -14px; width: 12px; height: 15px; border: 2px solid rgba(226, 246, 255, .7); border-bottom: 0; background: rgba(225, 246, 255, .12); }.potion-icon b { position: absolute; left: 25px; top: 0; width: 19px; height: 8px; border-radius: 3px 3px 1px 1px; background: #7b5231; box-shadow: inset 0 1px 0 #b98a5c; }.potion-icon-lightning { color: #ffb73e; }.potion-icon-lightning i { background: radial-gradient(circle at 36% 28%, #fff6ba 0 8%, #f7b438 25%, #9f3109 78%); }.potion-icon-aegis { color: #55cfff; }.potion-icon-aegis i { background: radial-gradient(circle at 36% 28%, #dffbff 0 8%, #42bde9 25%, #174aa2 78%); }
.coin-icon { position: relative; width: 66px; height: 56px; display: block; }.coin-icon i { position: absolute; width: 34px; height: 12px; border: 1px solid #ffe69a; border-radius: 50%; background: linear-gradient(#ffdf6a, #ad6412); box-shadow: 0 4px 0 #6d3808, 0 0 12px rgba(255, 195, 62, .42); }.coin-icon i:nth-child(1) { left: 5px; top: 30px; }.coin-icon i:nth-child(2) { left: 28px; top: 21px; }.coin-icon i:nth-child(3) { left: 16px; top: 10px; }
.gear-icon { position: relative; width: 66px; height: 58px; display: block; }.gear-icon i { position: absolute; left: 30px; top: 5px; width: 7px; height: 50px; border-radius: 5px; background: linear-gradient(90deg, #4a2b22, #a66d3e 48%, #321d18); transform: rotate(-12deg); box-shadow: 0 0 9px rgba(229, 179, 116, .2); }.gear-icon b { position: absolute; display: block; background: linear-gradient(#c6cadb, #555a71); box-shadow: 0 0 11px rgba(185, 168, 255, .38); }.gear-icon-staff b { left: 19px; top: 0; width: 27px; height: 27px; border: 2px solid #d3b5ff; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff4ff, #9f64df 45%, #3a1c67 76%); }.gear-icon-pick b { left: 10px; top: 5px; width: 48px; height: 9px; border-radius: 70% 15% 15% 70%; transform: rotate(-12deg); }.gear-icon-hammer b { left: 13px; top: 5px; width: 44px; height: 17px; border-radius: 4px; transform: rotate(-12deg); }
.geode-icon { position: relative; width: 66px; height: 56px; display: block; }.geode-icon::before { content: ""; position: absolute; left: 6px; bottom: 5px; width: 54px; height: 26px; border-radius: 55% 55% 35% 35%; background: linear-gradient(#61566d, #2d2835); }.geode-icon i { position: absolute; bottom: 19px; width: 14px; height: 34px; clip-path: polygon(50% 0, 100% 28%, 82% 100%, 18% 100%, 0 28%); background: linear-gradient(135deg, #fff2ff, #a86ce8 48%, #552283); box-shadow: 0 0 12px rgba(207, 150, 255, .7); }.geode-icon i:nth-child(1) { left: 13px; height: 27px; transform: rotate(-16deg); }.geode-icon i:nth-child(2) { left: 27px; }.geode-icon i:nth-child(3) { left: 41px; height: 25px; transform: rotate(18deg); }
.rune-icon { position: relative; width: 66px; height: 56px; display: block; }.rune-icon i { position: absolute; left: 12px; top: 4px; width: 42px; height: 42px; border: 5px solid #d8a85c; border-radius: 50%; box-shadow: inset 0 0 12px #9e44ce, 0 0 16px rgba(199, 105, 255, .55); }.rune-icon b { position: absolute; left: 30px; top: 8px; width: 7px; height: 35px; background: linear-gradient(#fff1af, #a642d0); transform: rotate(32deg); box-shadow: 0 0 9px #cf76ff; }
.pouch-panel > footer { display: flex; justify-content: space-between; gap: 20px; padding: 13px 25px 20px; color: #977b69; font-size: 8px; letter-spacing: .09em; text-transform: uppercase; }.pouch-panel > footer span { color: #c6a476; }

.debug-panel { position: absolute; right: max(14px, env(safe-area-inset-right)); top: 74px; width: 210px; padding: 10px; border: 1px solid rgba(165, 226, 255, .16); border-radius: 4px; background: rgba(4, 9, 18, .68); color: #ccefff; font: 9px ui-monospace, SFMono-Regular, Menlo, monospace; backdrop-filter: blur(8px); }.debug-panel > strong { display: block; margin-bottom: 7px; color: #8bdcff; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }.debug-panel dl { display: grid; gap: 4px; margin: 0; }.debug-panel dl div { display: grid; grid-template-columns: 55px 1fr; gap: 7px; }.debug-panel dt { color: #66889a; }.debug-panel dd { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.route-panel { position: absolute; left: max(14px, env(safe-area-inset-left)); top: 74px; width: 210px; display: grid; gap: 3px; padding: 10px 12px; border: 1px solid rgba(206, 164, 255, .18); border-radius: 4px; background: rgba(9, 6, 22, .68); backdrop-filter: blur(8px); }.route-panel span, .route-panel small { color: #9684a9; font-size: 7px; letter-spacing: .12em; text-transform: uppercase; }.route-panel strong { color: #eadcff; font: 600 10px Georgia, serif; letter-spacing: .04em; }.route-panel.is-complete { border-color: rgba(255, 207, 113, .48); box-shadow: 0 0 22px rgba(255, 190, 72, .14); }.route-panel.is-complete strong { color: #ffd98c; }

.party-panel { position: absolute; left: max(14px, env(safe-area-inset-left)); top: 148px; width: 210px; display: grid; gap: 5px; padding: 10px 12px; border: 1px solid rgba(129, 255, 157, .27); border-radius: 4px; background: rgba(5, 20, 13, .76); box-shadow: 0 0 24px rgba(45, 170, 83, .08); backdrop-filter: blur(8px); pointer-events: auto; transition: border-color .16s, box-shadow .16s; }
.party-panel header { display: grid; gap: 2px; }
.party-panel header span, .party-panel small, .party-panel > div > span { color: #7ba98a; font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.party-panel header strong { color: #c9ffd3; font: 600 11px Georgia, serif; letter-spacing: .08em; text-transform: uppercase; }
.party-panel > div:not(.party-actions) { display: flex; justify-content: space-between; gap: 8px; }
.party-panel > div > strong { color: #aee8b9; font-size: 7px; letter-spacing: .08em; }
.party-health-track { height: 4px; overflow: hidden; border-radius: 4px; background: rgba(255, 255, 255, .09); }
.party-health-track i { display: block; width: 100%; height: 100%; transform-origin: left; background: linear-gradient(90deg, #32a653, #9cf7a7); box-shadow: 0 0 9px rgba(81, 232, 119, .55); transition: transform .18s; }
.party-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 2px; }
.party-actions button { min-height: 30px; padding: 5px; border: 1px solid rgba(137, 239, 157, .25); border-radius: 3px; background: rgba(25, 77, 43, .64); color: #d2ffda; cursor: pointer; font-size: 7px; letter-spacing: .04em; text-transform: uppercase; }
.party-actions button:hover:not(:disabled), .party-actions button:focus-visible { border-color: rgba(163, 255, 180, .72); outline: 0; background: rgba(37, 107, 59, .78); }
.party-actions button:disabled { cursor: default; opacity: .4; }
.party-actions kbd { color: #8df5a5; font: 700 8px ui-monospace, monospace; }
.party-panel.is-hit { border-color: #ff8b9e; box-shadow: 0 0 20px rgba(255, 91, 124, .3); }
.party-panel.is-healing { border-color: #a9ffb7; box-shadow: 0 0 24px rgba(90, 255, 130, .32); }
.party-panel.is-purple { border-color: rgba(206, 156, 255, .3); background: rgba(24, 8, 38, .78); box-shadow: 0 0 24px rgba(154, 75, 210, .09); }.party-panel.is-purple header span, .party-panel.is-purple small, .party-panel.is-purple > div > span { color: #a38ab9; }.party-panel.is-purple header strong, .party-panel.is-purple > div > strong { color: #e6cfff; }.party-panel.is-purple .party-health-track i { background: linear-gradient(90deg, #7c3bad, #dd91ef); box-shadow: 0 0 9px rgba(182, 91, 229, .5); }

.touch-only { display: none; }
.look-zone { position: absolute; z-index: 2; inset: 62px 132px 74px 174px; pointer-events: auto; }
.spell-rack { position: absolute; z-index: 4; left: max(10px, env(safe-area-inset-left)); bottom: max(10px, env(safe-area-inset-bottom)); gap: 6px; pointer-events: auto; }.spell-rack button { width: 52px; height: 54px; display: grid; place-items: center; gap: 1px; padding: 4px; border: 1px solid rgba(221, 196, 247, .23); border-radius: 6px; background: rgba(14, 8, 31, .7); }.spell-rack button.is-selected { border-color: rgba(187, 115, 255, .72); box-shadow: 0 0 16px rgba(156, 77, 255, .28); background: rgba(56, 24, 84, .82); }.spell-rack button[data-spell="frost"].is-selected { border-color: rgba(125, 229, 255, .76); box-shadow: 0 0 16px rgba(89, 207, 255, .3); }.spell-rack button[data-spell="aegis"].is-selected { border-color: rgba(191, 161, 255, .76); box-shadow: 0 0 16px rgba(158, 118, 255, .3); }.spell-rack b { color: #d3a7ff; font: 22px Georgia, serif; line-height: 1; }.spell-rack span { font-size: 6px; letter-spacing: .08em; text-transform: uppercase; }
.move-stick { position: absolute; z-index: 4; right: max(18px, env(safe-area-inset-right)); bottom: max(15px, env(safe-area-inset-bottom)); width: 94px; height: 94px; border: 1px solid rgba(237, 220, 255, .28); border-radius: 50%; background: radial-gradient(circle, rgba(132, 73, 197, .18), rgba(9, 5, 21, .42)); pointer-events: auto; }.move-stick::before, .move-stick::after { content: ""; position: absolute; left: 50%; top: 50%; background: rgba(255, 255, 255, .1); transform: translate(-50%, -50%); }.move-stick::before { width: 70%; height: 1px; }.move-stick::after { width: 1px; height: 70%; }.move-stick i { position: absolute; left: 28px; top: 28px; width: 38px; height: 38px; border: 1px solid rgba(239, 218, 255, .58); border-radius: 50%; background: rgba(159, 89, 225, .38); box-shadow: 0 0 18px rgba(171, 93, 238, .25); }
.mobility { position: absolute; z-index: 5; right: max(122px, calc(env(safe-area-inset-right) + 112px)); bottom: max(10px, env(safe-area-inset-bottom)); flex-direction: column; gap: 5px; pointer-events: auto; }.mobility button { width: 46px; height: 46px; display: grid; place-items: center; padding: 3px; border: 1px solid rgba(225, 202, 250, .22); border-radius: 50%; background: rgba(12, 7, 29, .72); }.mobility b { color: #d7b2ff; font-size: 15px; line-height: 1; }.mobility span { font-size: 5px; letter-spacing: .07em; text-transform: uppercase; }.mobility button.is-active { border-color: var(--pink); box-shadow: 0 0 14px rgba(255, 111, 190, .25); }

.start-overlay, .loading, .orientation-block { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; }
.start-overlay { padding: 28px; overflow: auto; place-items: center start; background: radial-gradient(circle at 76% 38%, rgba(104, 54, 158, .18), transparent 34%), linear-gradient(105deg, rgba(6, 4, 16, .96), rgba(10, 6, 24, .42)); transition: opacity .35s, visibility .35s; }.start-overlay.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }.opening-shell { width: min(850px, calc(100% - 40px)); margin-left: max(12px, calc((100vw - 1380px) / 2)); border: 1px solid rgba(221, 192, 250, .2); background: rgba(11, 7, 26, .78); box-shadow: 0 28px 90px rgba(0, 0, 0, .56); backdrop-filter: blur(14px); }.opening-step { display: none; padding: 34px 38px; }.opening-step.is-current { display: grid; }.opening-kicker { margin: 0 0 13px; color: var(--pink); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }.start-overlay h1, .start-overlay h2 { margin: 0; font-family: Georgia, serif; font-weight: 500; text-transform: uppercase; }.start-overlay h1 { font-size: clamp(34px, 5vw, 62px); line-height: .94; letter-spacing: -.035em; }.start-overlay h1 em { color: #cfb1ed; font-size: .64em; font-style: normal; letter-spacing: .025em; }.start-overlay h2 { font-size: clamp(27px, 3.6vw, 44px); line-height: 1; }.briefing-copy { max-width: 810px; margin: 21px 0 19px; columns: 2; column-gap: 34px; }.briefing-copy p { break-inside: avoid; margin: 0 0 11px; color: #c3b5cf; font: 12px/1.55 Georgia, serif; }.briefing-copy .briefing-question { color: #f0dfff; font-size: 14px; }.start-overlay button { min-height: 44px; padding: 12px 16px; border: 1px solid rgba(210, 165, 255, .48); border-radius: 3px; cursor: pointer; font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }.start-overlay button:focus-visible { outline: 2px solid #f3d8ff; outline-offset: 3px; }.opening-primary { display: flex; align-items: center; justify-content: space-between; background: linear-gradient(100deg, #2d1846, #7b36a3); }.opening-primary:disabled { cursor: default; opacity: .38; }.coven-briefing .opening-primary { width: min(330px, 100%); }.start-overlay small { display: block; margin-top: 13px; color: #80718f; font-size: 8px; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }.witch-selection { gap: 18px; }.witch-selection > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; }.witch-selection > header > p { max-width: 330px; margin: 0; color: #a99ab8; font-size: 11px; line-height: 1.5; }.witch-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 16px; }.witch-card { position: relative; width: 100%; min-height: 190px; display: grid; grid-template-columns: 52px 1fr; align-content: center; gap: 12px 14px; overflow: hidden; background: linear-gradient(135deg, rgba(50, 25, 70, .86), rgba(16, 9, 29, .9)); color: #eadbff; text-align: left; transition: min-height .2s, border-color .2s, box-shadow .2s, transform .2s; }.witch-card::after { content: ""; position: absolute; right: -36px; bottom: -50px; width: 150px; height: 150px; border: 1px solid rgba(224, 191, 255, .12); border-radius: 50%; }.witch-card-green { background: linear-gradient(135deg, rgba(24, 68, 40, .9), rgba(9, 27, 18, .92)); }.witch-card.is-focused { border-color: rgba(229, 205, 255, .68); }.witch-card.is-selected { min-height: 210px; border-color: #e0b8ff; box-shadow: 0 0 30px rgba(176, 98, 255, .23); transform: translateY(-5px); }.witch-card-green.is-selected { border-color: #a5efb4; box-shadow: 0 0 30px rgba(72, 211, 105, .2); }.witch-sigil { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid rgba(225, 190, 255, .35); border-radius: 50%; color: #e9bdff; font: 27px Georgia, serif; }.witch-card-green .witch-sigil { border-color: rgba(154, 239, 175, .38); color: #a8efb7; }.witch-card-copy { min-width: 0; display: grid; gap: 7px; }.witch-card-copy strong { font: 500 18px Georgia, serif; letter-spacing: .04em; text-transform: uppercase; }.witch-card-copy em { color: #baa7c8; font-size: 8px; font-style: normal; letter-spacing: .07em; text-transform: uppercase; }.witch-card-green .witch-card-copy em { color: #8fbd9b; }.witch-card-copy small { margin: 0; color: #8d7e9d; }.witch-card-copy b { color: #e9d3ff; font-weight: 700; }.witch-card-green .witch-card-copy b { color: #c8ffd2; }.witch-card-state { grid-column: 1 / -1; color: #957fa8; font-size: 8px; letter-spacing: .16em; text-transform: uppercase; }.witch-card.is-selected .witch-card-state { color: #f1d9ff; }.witch-card.is-selected .witch-card-state::after { content: "ed · ready to confirm"; }.witch-card.is-selected .witch-card-state { font-size: 0; }.witch-card.is-selected .witch-card-state::before { content: "Select"; font-size: 8px; }.witch-card.is-selected .witch-card-state::after { font-size: 8px; }.preview-note { margin: -5px 0 0; color: #776889; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }.selection-actions { display: grid; grid-template-columns: minmax(170px, .55fr) minmax(300px, 1fr); gap: 12px; }.opening-secondary { background: rgba(24, 15, 39, .86); color: #b4a2c4; }.party-actions[hidden] { display: none; }
.opening-shell.is-briefing { width: 100%; margin-left: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.coven-briefing { min-height: calc(100vh - 56px); align-content: end; padding: 38px max(46px, calc((100vw - 1380px) / 2)); pointer-events: none; }
.coven-dialogue { width: min(620px, 54vw); display: grid; gap: 14px; pointer-events: auto; filter: drop-shadow(0 18px 42px rgba(0, 0, 0, .6)); }
.coven-dialogue > header { display: grid; gap: 5px; }
.coven-dialogue .opening-kicker { margin: 0; color: #d5adff; }
.coven-dialogue h1 { display: flex; align-items: baseline; gap: 12px; font-size: clamp(24px, 3vw, 40px); letter-spacing: .015em; text-shadow: 0 2px 18px #000; }
.coven-dialogue h1 em { color: #a99ab8; font: 600 9px system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.briefing-caption { width: min(580px, 100%); display: grid; gap: 8px; padding: 4px 0 7px; }
.briefing-caption > span { color: #ad83d4; font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.briefing-caption blockquote { min-height: 48px; margin: 0; color: #f2e7ff; font: 15px/1.55 Georgia, serif; text-shadow: 0 2px 12px #000, 0 2px 24px #000; text-wrap: balance; }
.briefing-progress { height: 2px; overflow: hidden; background: rgba(220, 192, 246, .12); }
.briefing-progress i { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, #9c4dde, #e2baff); box-shadow: 0 0 10px rgba(204, 139, 255, .7); transition: transform .3s ease; }
.briefing-actions { display: grid; grid-template-columns: minmax(220px, 330px) minmax(190px, 260px); gap: 10px; }
.briefing-actions button[hidden] { display: none; }
.coven-briefing .opening-primary { width: 100%; }
.coven-briefing .opening-primary::after { content: "◖))"; color: #ebceff; font: 700 10px ui-monospace, monospace; }
.coven-briefing .opening-primary:disabled::after { content: "•••"; }
.coven-dialogue > small { margin: -3px 0 0; color: #9786a8; text-shadow: 0 1px 8px #000; }
.loading { z-index: 35; align-content: center; gap: 8px; background: #080511; transition: opacity .35s, visibility .35s; }.loading.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }.loading span { width: 34px; height: 34px; border: 2px solid rgba(203, 156, 255, .18); border-top-color: var(--violet); border-radius: 50%; animation: spin .8s linear infinite; }.loading strong { font: 500 13px Georgia, serif; letter-spacing: .1em; text-transform: uppercase; }.loading small { color: var(--muted); font-size: 9px; }
.orientation-block { display: none; z-index: 60; gap: 8px; align-content: center; background: rgba(7, 4, 17, .97); text-align: center; pointer-events: auto; }.orientation-block b { color: var(--pink); font-size: 44px; }.orientation-block strong { font: 500 17px Georgia, serif; text-transform: uppercase; }.orientation-block span { color: var(--muted); font-size: 10px; }

@keyframes spin { to { transform: rotate(360deg); } }

@media (pointer: coarse) {
  .touch-only { display: flex; }
  .legacy-link { padding: 6px 8px; font-size: 7px; }
  .topbar { min-height: 52px; padding: 7px max(10px, env(safe-area-inset-right)) 7px max(138px, calc(env(safe-area-inset-left) + 138px)); }.proof-mark > span { display: none; }.proof-mark strong { font-size: 8px; }.proof-mark small { font-size: 6px; }.camera-mode { font-size: 6px; }
  .target-card { top: 58px; width: min(270px, 50vw); padding: 7px 9px; }
  .debug-panel { right: max(8px, env(safe-area-inset-right)); top: 57px; width: 162px; padding: 7px; font-size: 7px; }.debug-panel > strong { margin-bottom: 4px; font-size: 6px; }.debug-panel dl div { grid-template-columns: 42px 1fr; gap: 4px; }
  .route-panel { left: max(8px, env(safe-area-inset-left)); top: 57px; width: 150px; padding: 7px 9px; }.route-panel span, .route-panel small { font-size: 6px; }.route-panel strong { font-size: 8px; }
  .party-panel { display: none; }
  .spell-readout { display: none; }
  .player-vitals { bottom: max(8px, env(safe-area-inset-bottom)); width: min(190px, 30vw); padding: 6px 8px; }
  .pouch-hint { display: none; }
  .toast { top: 25%; font-size: 7px; }
}

@media (max-width: 700px) {
  .start-overlay { padding: 16px; place-items: center; }.opening-shell { width: 100%; margin-left: 0; }.opening-step { padding: 24px; }.briefing-copy { columns: 1; }.witch-selection > header { display: grid; }.witch-cards, .selection-actions { grid-template-columns: 1fr; }.witch-card, .witch-card.is-selected { min-height: 150px; }
  .pouch-overlay { padding: 16px; }
  .pouch-panel { width: calc(100vw - 32px); border-radius: 20px 20px 46px 46px; }
  .pouch-panel > header { padding: 15px 18px 12px; }.pouch-panel h2 { font-size: 20px; }
  .pouch-lining { margin: 10px 12px 0; padding: 12px; }
  .pouch-item { grid-template-columns: 56px 1fr; gap: 10px; padding: 10px; }.pouch-item em { grid-column: 2; }.berry-icon, .potion-icon, .coin-icon, .gear-icon, .geode-icon, .rune-icon { width: 52px; transform: scale(.82); transform-origin: left center; }
  .pouch-panel > footer { padding: 11px 18px 15px; }
}

@media (pointer: coarse) and (orientation: portrait) {
  .orientation-block { display: grid; }
}

@media (max-height: 520px) and (pointer: coarse) {
  .opening-shell { width: min(760px, calc(100% - 24px)); }.opening-step { padding: 20px 24px; }.start-overlay h1 { font-size: clamp(28px, 7vh, 42px); }.briefing-copy { margin: 12px 0; }.briefing-copy p { margin-bottom: 7px; font-size: 9px; }.start-overlay small { margin-top: 8px; font-size: 6px; }
}

.qualification-tools { position: fixed; z-index: 80; inset: 0; pointer-events: none; }
.qualification-launch { position: absolute; z-index: 1; right: max(10px, env(safe-area-inset-right)); top: max(9px, env(safe-area-inset-top)); min-width: 76px; min-height: 38px; display: grid; place-items: center; gap: 1px; padding: 5px 10px; border: 1px solid rgba(119, 225, 255, .55); border-radius: 5px; background: rgba(3, 13, 25, .9); color: #b9efff; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; pointer-events: auto; }
.qualification-launch span { color: #7293a0; font-size: 6px; letter-spacing: .08em; }
.qualification-launch.is-recording { border-color: #ff8acb; box-shadow: 0 0 18px rgba(255, 90, 175, .3); }
.qualification-launch.is-recording span { color: #ffb5d9; }
.qualification-panel { position: absolute; z-index: 2; inset: 0 0 0 auto; width: min(520px, 100%); display: flex; flex-direction: column; border-left: 1px solid rgba(172, 222, 255, .2); background: rgba(5, 8, 19, .98); color: #eaf7ff; box-shadow: -20px 0 70px rgba(0, 0, 0, .55); pointer-events: auto; user-select: text; touch-action: pan-y; }
.qualification-panel[hidden] { display: none; }
.qualification-panel > header { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: max(12px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 10px 16px; border-bottom: 1px solid rgba(172, 222, 255, .13); background: #090d1d; }
.qualification-panel > header div { display: grid; gap: 3px; }
.qualification-panel > header small { color: #74d8f2; font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.qualification-panel > header strong { font: 600 15px Georgia, serif; letter-spacing: .04em; text-transform: uppercase; }
.qualification-panel > header button { width: 42px; height: 42px; border: 1px solid rgba(210, 235, 255, .22); border-radius: 50%; background: #11152a; font-size: 25px; }
.qualification-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 12px max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); -webkit-overflow-scrolling: touch; }
.qualification-warning { margin: 0 0 10px; padding: 9px 10px; border-left: 2px solid #ff8acb; background: rgba(255, 138, 203, .08); color: #d9bfce; font-size: 10px; line-height: 1.45; }
.qualification-panel details { margin-bottom: 8px; border: 1px solid rgba(183, 220, 255, .15); border-radius: 5px; background: rgba(14, 18, 37, .72); }
.qualification-panel summary { padding: 11px; color: #aee9ff; cursor: pointer; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.qualification-panel details[open] { padding-bottom: 10px; }
.qualification-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 10px; }
.qualification-panel label { display: grid; gap: 4px; padding: 0 10px 8px; color: #90a8b4; font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.qualification-grid label { padding: 0; }
.qualification-panel input, .qualification-panel select, .qualification-panel textarea { min-width: 0; width: 100%; min-height: 40px; padding: 8px; border: 1px solid rgba(180, 216, 244, .18); border-radius: 4px; outline: 0; background: #080c1b; color: #eefaff; font: 11px system-ui, sans-serif; user-select: text; }
.qualification-panel textarea { min-height: 62px; resize: vertical; }
.qualification-panel input:focus, .qualification-panel select:focus, .qualification-panel textarea:focus { border-color: #73d9f6; }
.qualification-panel button { min-height: 42px; border: 1px solid rgba(171, 219, 255, .25); border-radius: 4px; background: #18233c; color: #eefaff; font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.qualification-panel button:disabled { opacity: .35; }
.qualification-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 10px 0; }
.qualification-actions [data-action="start"] { border-color: rgba(113, 231, 255, .55); background: #12344a; }
.qualification-actions [data-action="end"] { border-color: rgba(255, 125, 190, .5); background: #3a1832; }
.qualification-note { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.qualification-note button { padding-inline: 12px; }
.qualification-export { margin-top: 7px; }
.qualification-summary { min-height: 160px; margin: 8px 0 0; padding: 10px; overflow: auto; border: 1px solid rgba(128, 223, 255, .16); border-radius: 4px; background: #040812; color: #a9dbe8; font: 9px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; user-select: text; }

.witch-card-frost { background: linear-gradient(135deg, rgba(24, 82, 108, .92), rgba(7, 29, 43, .94)); }
.witch-card-fire { background: linear-gradient(135deg, rgba(116, 43, 25, .92), rgba(42, 12, 8, .94)); }
.witch-card-frost .witch-sigil { border-color: rgba(150, 236, 255, .45); color: #c8f8ff; }
.witch-card-fire .witch-sigil { border-color: rgba(255, 180, 102, .46); color: #ffd08d; text-shadow: 0 0 12px #ff4d18; }
.witch-card-frost .witch-card-copy em { color: #91c7d4; }
.witch-card-fire .witch-card-copy em { color: #d79a78; }
.witch-card-frost .witch-card-copy b { color: #d9fbff; }
.witch-card-fire .witch-card-copy b { color: #ffd8a1; }
.witch-card-frost.is-selected { border-color: #a9efff; box-shadow: 0 0 30px rgba(72, 200, 235, .22); }
.witch-card-fire.is-selected { border-color: #ffac68; box-shadow: 0 0 30px rgba(255, 82, 28, .22); }
.player-vitals.is-frost { border-color: rgba(126, 223, 255, .34); background: rgba(5, 24, 37, .74); }
.player-vitals.is-frost span, .player-vitals.is-frost #aegis-status { color: #c7f6ff; }
.player-vitals.is-frost .player-health-track i { background: linear-gradient(90deg, #3e9bc0, #bcefff); box-shadow: 0 0 9px rgba(86, 212, 255, .5); }
.player-vitals.is-fire { border-color: rgba(255, 139, 71, .38); background: rgba(42, 12, 7, .76); }
.player-vitals.is-fire span, .player-vitals.is-fire #aegis-status { color: #ffd0a2; }
.player-vitals.is-fire .player-health-track i { background: linear-gradient(90deg, #ce3e1c, #ffb84d); box-shadow: 0 0 9px rgba(255, 91, 34, .55); }
.crosshair[data-spell="freeze"].is-targeting, .crosshair[data-spell="iceLance"].is-targeting { border-color: #a9efff; box-shadow: 0 0 18px rgba(105, 224, 255, .52); }
.crosshair[data-spell="freeze"].is-targeting i, .crosshair[data-spell="iceLance"].is-targeting i { background: #d8fbff; box-shadow: 0 0 11px #70e4ff; }
.crosshair[data-spell="fireball"].is-targeting, .crosshair[data-spell="fireRing"].is-self-cast { border-color: #ff9d5a; box-shadow: 0 0 18px rgba(255, 75, 24, .5); }
.crosshair[data-spell="fireball"].is-targeting i, .crosshair[data-spell="fireRing"].is-self-cast i { background: #ffd06e; box-shadow: 0 0 11px #ff4a16; }
.spell-rack button[data-spell="freeze"].is-selected, .spell-rack button[data-spell="iceLance"].is-selected { border-color: rgba(125, 229, 255, .8); box-shadow: 0 0 16px rgba(89, 207, 255, .32); }
.spell-rack button[data-spell="fireball"].is-selected, .spell-rack button[data-spell="fireRing"].is-selected { border-color: rgba(255, 142, 73, .82); box-shadow: 0 0 16px rgba(255, 77, 24, .34); }

@media (pointer: coarse) {
  .qualification-panel { width: 100%; border-left: 0; }
  .qualification-launch { min-width: 64px; min-height: 34px; font-size: 8px; }
  .qualification-panel > header { min-height: 52px; }
  .qualification-panel > header button { width: 40px; height: 40px; }
}

@media (max-width: 560px), (max-height: 420px) {
  .qualification-grid { grid-template-columns: 1fr 1fr; }
  .qualification-panel input, .qualification-panel select { min-height: 38px; }
  .qualification-actions:not(.qualification-export) { position: sticky; bottom: 0; z-index: 1; padding: 7px 0; background: rgba(5, 8, 19, .96); }
}
