/* ============================================================
   A.N.G.O.L. / Selair Cycle Engine
   Version: v1.9.240
   Patch: Data-Driven Archive Patch
   ============================================================ */

:root{
  --bg:#080b16;
  --panel:#10182aee;
  --panel2:#0c1222ee;
  --line:#27324d;
  --text:#eef3ff;
  --muted:#9aa8c3;
  --gold:#f5c75c;
  --jiskra:#f4b33e;
  --prevrat:#df3f3f;
  --rad:#3b83df;
  --prechod:#8b55dd;
  --glow:0 0 26px rgba(245,199,92,.28);
  --bottom-h:132px;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:radial-gradient(circle at 70% 12%, rgba(93,65,151,.30), transparent 28%),radial-gradient(circle at 18% 22%, rgba(245,179,62,.16), transparent 25%),linear-gradient(180deg,#070914 0%,#0a1020 55%,#060915 100%);}
body{padding-bottom:var(--bottom-h);}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.65) 1px,transparent 1.3px);background-size:54px 54px;opacity:.08;}
button,input,select{font:inherit}
button{border:0;cursor:pointer;border-radius:12px;padding:10px 13px;color:var(--text);transition:.15s ease;}
button:not(.halley-marker):not(.fertility-marker):not(.ithrael-story-marker):not(.archive-sector-marker):hover{transform:translateY(-1px)}
button.primary{background:linear-gradient(135deg,#d99c2a,#f4c75f);color:#12101a;font-weight:800;box-shadow:var(--glow)}
button.ghost{background:#17223acc;border:1px solid #344363;color:#dbe6ff}
button.chip{padding:8px 10px;background:#141d31;border:1px solid #2b3653;color:#b9c7e4;font-size:12px}
button.chip.active{background:rgba(245,199,92,.14);border-color:#e3b64d;color:#ffe7a5}
.hidden{display:none}
.app-shell{padding:22px 24px 0;position:relative;z-index:1}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:18px}
h1{font-family:Georgia,serif;font-size:clamp(30px,4vw,54px);margin:0;letter-spacing:.02em}
h2{font-size:15px;text-transform:uppercase;letter-spacing:.12em;color:#dce6ff;margin:0 0 12px}.eyebrow{margin:0 0 6px;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800}.top-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.layout{display:grid;grid-template-columns:320px minmax(420px,1fr) 420px;gap:18px;align-items:start}.panel{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid rgba(142,159,201,.22);border-radius:24px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.28);backdrop-filter:blur(12px)}.panel section+section{border-top:1px solid rgba(142,159,201,.16);padding-top:16px;margin-top:16px}.field{display:grid;gap:7px;margin-bottom:12px}.field span,.switch span{color:var(--muted);font-size:12px}input,select{width:100%;background:#0b1325;border:1px solid #283653;color:#f1f5ff;border-radius:12px;padding:11px 12px;outline:none}input:focus,select:focus{border-color:#d6aa45;box-shadow:0 0 0 3px rgba(245,199,92,.12)}.quick-years{display:flex;flex-wrap:wrap;gap:7px}.slider-row{padding:8px 2px}input[type=range]{padding:0;accent-color:var(--gold)}.slider-meta{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;font-size:12px;color:var(--muted)}.slider-meta span:nth-child(2){color:var(--gold);font-weight:800}.slider-meta span:last-child{text-align:right}.play-row{display:flex;gap:10px;align-items:end}.field.small{min-width:120px;margin:0}.switch{display:flex;gap:10px;align-items:center;margin-top:6px}.switch input{width:auto}.legend{display:grid;gap:10px}.legend-item{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start}.dot{width:16px;height:16px;border-radius:50%;box-shadow:0 0 16px currentColor}.legend-title{font-weight:800}.legend-sub{color:var(--muted);font-size:12px}.stage{min-width:0}.stage-header{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:12px}.stage-header h2{font-family:Georgia,serif;text-transform:none;letter-spacing:.02em;font-size:34px;margin:0;color:var(--text)}.summary-pill{background:rgba(245,199,92,.12);border:1px solid rgba(245,199,92,.35);color:#ffe8ad;border-radius:999px;padding:10px 14px;font-weight:800;white-space:nowrap}.viz-card{position:relative;background:linear-gradient(180deg,rgba(12,18,34,.78),rgba(8,11,22,.86));border:1px solid rgba(142,159,201,.23);border-radius:28px;min-height:540px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.33)}#cycleSvg{width:100%;height:auto;display:block}.interpretation{margin-top:14px;background:rgba(12,18,34,.78);border:1px solid rgba(142,159,201,.18);border-radius:20px;padding:16px;color:#dbe6ff;line-height:1.55}.interpretation strong{color:#fff}.table-wrap{max-height:520px;overflow:auto;border-radius:14px;border:1px solid rgba(142,159,201,.18)}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:9px 8px;text-align:left;border-bottom:1px solid rgba(142,159,201,.12);vertical-align:top}th{position:sticky;top:0;background:#111b2f;color:#dce6ff;z-index:1}td{color:#c8d3eb}.phase-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;font-weight:800;color:#111;background:#ddd;white-space:nowrap}.bar{height:7px;border-radius:99px;background:#202a43;overflow:hidden;margin-top:5px}.bar>i{display:block;height:100%;border-radius:99px}.guard{display:grid;gap:10px}.guard-card{border:1px solid rgba(245,199,92,.25);background:rgba(245,199,92,.08);border-radius:14px;padding:11px;color:#f7df9e;line-height:1.45;font-size:13px}.milestone-rail{position:fixed;z-index:10;left:0;right:0;bottom:0;min-height:var(--bottom-h);background:linear-gradient(180deg,rgba(10,15,30,.88),rgba(5,8,17,.97));border-top:1px solid rgba(142,159,201,.24);box-shadow:0 -14px 60px rgba(0,0,0,.42);padding:12px 22px 14px;backdrop-filter:blur(14px)}.rail-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}.rail-head strong{color:#fff}.milestone-filters{display:flex;gap:7px;overflow:auto;padding-bottom:2px}.rail-track{position:relative;height:78px;border-radius:18px;border:1px solid rgba(142,159,201,.18);background:linear-gradient(90deg,rgba(245,179,62,.10),rgba(223,63,63,.09),rgba(59,131,223,.09),rgba(139,85,221,.10));overflow:hidden}.rail-track:before{content:"";position:absolute;left:18px;right:18px;top:37px;height:2px;background:linear-gradient(90deg,rgba(245,199,92,.35),rgba(255,255,255,.35));}.milestone{position:absolute;top:16px;transform:translateX(-50%);min-width:10px;text-align:center;cursor:pointer}.milestone .pin{width:13px;height:13px;border-radius:50%;margin:15px auto 5px;border:2px solid #fff;box-shadow:0 0 14px currentColor;background:currentColor}.milestone .label{font-size:11px;color:#dce6ff;white-space:nowrap;background:rgba(5,8,17,.65);border:1px solid rgba(142,159,201,.16);border-radius:10px;padding:4px 6px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.milestone:hover .label{overflow:visible;white-space:normal;position:relative;z-index:4}.svg-label{font-family:Inter, ui-sans-serif, system-ui;font-weight:600;fill:#f4f7ff;letter-spacing:.015em}.svg-small{font-family:Inter, ui-sans-serif, system-ui;font-weight:500;fill:#cbd6ef}.svg-tiny{font-family:Inter, ui-sans-serif, system-ui;fill:#9fb0d1}.cycle-outline{stroke:rgba(255,222,145,.85);stroke-width:2.1;fill:none;filter:drop-shadow(0 0 8px rgba(245,199,92,.26))}.current-dot{fill:#fff;stroke:#f5c75c;stroke-width:3;filter:drop-shadow(0 0 10px rgba(245,199,92,.65))}.path-line{stroke:#f5c75c;stroke-width:2;stroke-dasharray:6 7;fill:none;opacity:.78}.watermark{font-family:Georgia,serif;fill:rgba(255,255,255,.06);font-size:70px}.tooltip{position:fixed;pointer-events:none;background:#080c18;border:1px solid #344363;border-radius:12px;padding:9px 10px;color:#e9efff;font-size:12px;box-shadow:0 12px 34px rgba(0,0,0,.35);z-index:20;max-width:260px;display:none}.tooltip strong{color:#fff}.tooltip span{color:var(--muted)}
@media (max-width:1180px){.layout{grid-template-columns:300px 1fr}.results{grid-column:1 / -1}.stage-header{margin-top:4px}}
@media (max-width:780px){.app-shell{padding:16px 14px 0}.topbar{display:block}.top-actions{margin-top:12px;justify-content:flex-start}.layout{grid-template-columns:1fr}.stage-header{display:block}.summary-pill{display:inline-block;margin-top:10px}.viz-card{min-height:360px}.milestone-rail{--bottom-h:150px;padding:10px}.rail-head{display:block}.milestone-filters{margin-top:8px}.rail-track{height:88px}}

/* v4: zoom + dragging */
.viz-tools{display:flex;align-items:center;gap:10px;margin:0 0 12px;flex-wrap:wrap;background:rgba(12,18,34,.62);border:1px solid rgba(142,159,201,.18);border-radius:18px;padding:10px 12px}.viz-tools button{padding:8px 11px}.zoom-field{display:flex;align-items:center;gap:9px;min-width:220px;margin:0}.zoom-field span{white-space:nowrap}.zoom-field input{min-width:140px}.drag-hint{color:var(--muted);font-size:12px;margin-left:auto}#cycleSvg{touch-action:none;cursor:grab}#cycleSvg.dragging{cursor:grabbing}.rail-zoom-tools{display:flex;align-items:center;gap:7px;min-width:250px}.rail-zoom-tools input{width:150px;padding:0;accent-color:var(--gold)}.rail-track{cursor:grab;touch-action:none}.rail-track.dragging{cursor:grabbing}.rail-inner{position:absolute;left:0;top:0;bottom:0;height:100%;transform-origin:left center;will-change:transform,width}.rail-inner:before{content:"";position:absolute;left:18px;right:18px;top:37px;height:2px;background:linear-gradient(90deg,rgba(245,199,92,.35),rgba(255,255,255,.35));}.rail-track:before{display:none}.milestone{z-index:2}.milestone .label{max-width:180px}.milestone:hover{z-index:8}.milestone:hover .label{box-shadow:0 8px 24px rgba(0,0,0,.38);background:#091022}.milestone-filters button{white-space:nowrap}
@media (max-width:780px){.viz-tools{align-items:stretch}.zoom-field{width:100%;min-width:0}.drag-hint{margin-left:0}.rail-head{gap:8px}.rail-zoom-tools{min-width:0;width:100%;margin:8px 0}.rail-zoom-tools input{flex:1}}

/* === v7: Project A.N.G.O.L. 1987 intro gate === */
body.auth-locked{overflow:hidden;}
body.auth-locked .app-shell,
body.auth-locked .milestone-rail{filter:blur(7px) saturate(.35) brightness(.52);pointer-events:none;user-select:none;}
.secret-gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#030200;color:#ffb743;font-family:"Courier New", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;letter-spacing:.02em;overflow:hidden;transition:opacity .85s ease, visibility .85s ease;}
.secret-gate:before{content:"";position:absolute;inset:-40px;background:radial-gradient(circle at 50% 45%, rgba(255,177,57,.13), transparent 34%),linear-gradient(180deg, #050300, #000 62%, #040200);pointer-events:none;}
.secret-gate:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg, rgba(255,183,67,.08) 0 1px, transparent 1px 4px);mix-blend-mode:screen;opacity:.55;pointer-events:none;animation:scanPulse 2.2s infinite linear;}
.secret-gate.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.crt-scanlines{position:absolute;inset:0;background:linear-gradient(rgba(255,183,67,.05), rgba(0,0,0,.12));box-shadow:inset 0 0 120px #000, inset 0 0 18px rgba(255,183,67,.32);pointer-events:none;}
.crt-frame{position:relative;width:min(780px, calc(100vw - 32px));min-height:520px;border:2px solid rgba(255,183,67,.82);box-shadow:0 0 0 1px rgba(255,183,67,.2), 0 0 35px rgba(255,162,33,.25), inset 0 0 38px rgba(255,183,67,.08);background:rgba(5,3,0,.92);padding:28px;text-shadow:0 0 9px rgba(255,183,67,.65);}
.crt-header{display:flex;align-items:center;gap:18px;border-bottom:1px dashed rgba(255,183,67,.55);padding-bottom:18px;margin-bottom:22px;}
.institute-mark{width:72px;height:72px;border:2px solid #ffb743;display:grid;place-items:center;font-size:28px;font-weight:700;box-shadow:inset 0 0 18px rgba(255,183,67,.18),0 0 18px rgba(255,183,67,.18);}
.terminal-kicker{margin:0 0 8px;font-size:13px;color:#ffcf78;text-transform:uppercase;}
.crt-header h1{font-family:"Courier New", ui-monospace, monospace;font-size:clamp(28px,5vw,54px);line-height:1;margin:0;color:#ffb743;letter-spacing:.06em;}
.crt-header h1 span{font-size:.42em;vertical-align:middle;border:1px solid rgba(255,183,67,.6);padding:4px 7px;}
.terminal-panel{border:1px solid rgba(255,183,67,.48);padding:20px;background:rgba(255,183,67,.035);min-height:260px;}
.terminal-copy{margin:0 0 20px;white-space:pre-wrap;line-height:1.55;color:#ffc65f;font-size:14px;}
.password-form{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;}
.password-form .prompt{font-size:22px;color:#ffde93;}
.password-form input{background:#030200;border:1px solid #ffb743;border-radius:0;color:#ffb743;padding:12px;font:inherit;text-shadow:0 0 8px rgba(255,183,67,.45);box-shadow:inset 0 0 18px rgba(255,183,67,.08);}
.password-form input:focus{box-shadow:0 0 0 3px rgba(255,183,67,.18), inset 0 0 18px rgba(255,183,67,.08);}
.password-form button{border-radius:0;background:#ffb743;color:#060300;font-weight:700;box-shadow:none;padding:12px 14px;}
.attempt-status{min-height:22px;color:#ffdd8b;font-size:13px;}
.attempt-status.danger{color:#ff795d;animation:terminalBlink .35s 3;}
.boot-panel{display:flex;flex-direction:column;justify-content:space-between;gap:18px;}
.boot-lines{font-size:14px;line-height:1.5;min-height:210px;white-space:pre-wrap;}
.boot-line{display:block;margin:0 0 5px;}
.boot-line:before{content:"> ";color:#fff0bd;}
.boot-line.selair{color:#fff0bd;}
.boot-line.selair:before{content:"SELAIR> ";color:#ff7f2d;}
.boot-line.warning{color:#ff795d;}
.boot-progress{height:17px;border:1px solid #ffb743;background:#060300;box-shadow:inset 0 0 15px rgba(255,183,67,.12);}
.boot-progress span{display:block;width:0%;height:100%;background:linear-gradient(90deg,#ff7f2d,#ffca5f);box-shadow:0 0 16px rgba(255,183,67,.7);transition:width .3s linear;}
.secret-gate.glitching{animation:gateGlitch .72s steps(2,end) 3;}
.secret-gate.glitching .crt-frame{animation:frameGlitch .13s steps(2,end) infinite;}
body.ui-glitch .app-shell, body.ui-glitch .milestone-rail{animation:appGlitch .8s steps(2,end) 2;}
@keyframes scanPulse{0%{transform:translateY(-4px)}100%{transform:translateY(4px)}}
@keyframes terminalBlink{50%{opacity:.35}}
@keyframes gateGlitch{0%{filter:none}20%{filter:hue-rotate(30deg) contrast(1.6);transform:translateX(-2px)}40%{filter:invert(.08) saturate(2);transform:translateX(3px)}65%{filter:contrast(2.1);transform:translateY(-1px)}100%{filter:none;transform:none}}
@keyframes frameGlitch{0%{transform:translate(0)}50%{transform:translate(3px,-1px)}100%{transform:translate(-2px,1px)}}
@keyframes appGlitch{0%{filter:blur(7px) saturate(.3)}35%{filter:hue-rotate(70deg) contrast(1.9)}60%{filter:invert(.12) saturate(2.2)}100%{filter:none}}
@media (max-width:720px){.crt-frame{min-height:500px;padding:18px}.crt-header{align-items:flex-start}.institute-mark{width:54px;height:54px;font-size:22px}.password-form{grid-template-columns:auto 1fr}.password-form button{grid-column:2}.terminal-panel{padding:14px}.boot-lines{font-size:12px}.crt-header h1{font-size:26px}}


/* === v7: cinematic Selair typing + modern chat reveal === */
.boot-lines{min-height:250px;max-height:330px;overflow:auto;padding-right:6px;}
.boot-line.typing{display:block;}
.terminal-cursor{display:inline-block;width:.72em;height:1.05em;margin-left:2px;vertical-align:-.17em;background:#ffb743;box-shadow:0 0 10px rgba(255,183,67,.72);animation:blockCursor .82s steps(1,end) infinite;}
.terminal-cursor.settled{opacity:.7;}
@keyframes blockCursor{0%,48%{opacity:1}49%,100%{opacity:.12}}
.boot-panel.modern-chat-mode{border-color:rgba(159,187,255,.44);background:linear-gradient(180deg,rgba(17,24,44,.82),rgba(7,11,24,.92));box-shadow:0 0 0 1px rgba(99,132,255,.18),0 0 40px rgba(88,126,255,.16);text-shadow:none;color:#eef3ff;}
.boot-panel.modern-chat-mode .boot-lines,
.boot-panel.modern-chat-mode .boot-progress{opacity:.18;filter:blur(.3px) grayscale(.35);transition:opacity .55s ease, filter .55s ease;}
.ai-chat-panel{position:absolute;left:34px;right:34px;bottom:30px;min-height:240px;border:1px solid rgba(143,166,255,.45);border-radius:22px;background:linear-gradient(180deg,rgba(10,17,35,.95),rgba(6,9,19,.98));box-shadow:0 24px 90px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.05),0 0 42px rgba(93,129,255,.22);overflow:hidden;font-family:Inter, ui-sans-serif, system-ui, sans-serif;color:#eef3ff;animation:chatMaterialize .85s cubic-bezier(.2,.9,.2,1) both;}
.ai-chat-titlebar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(143,166,255,.22);background:linear-gradient(90deg,rgba(51,80,160,.34),rgba(245,199,92,.07));font-size:12px;letter-spacing:.05em;text-transform:uppercase;}
.ai-dot{width:10px;height:10px;border-radius:50%;background:#62ffb5;box-shadow:0 0 18px rgba(98,255,181,.7);}
.ai-model{margin-left:auto;color:#9fb0d1;font-size:11px;text-transform:none;letter-spacing:0;}
.ai-chat-messages{height:188px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px;}
.ai-message{max-width:82%;border-radius:18px;padding:12px 14px;border:1px solid rgba(142,159,201,.18);background:linear-gradient(180deg,rgba(33,48,86,.72),rgba(17,26,49,.82));box-shadow:0 10px 32px rgba(0,0,0,.22);}
.ai-message-meta{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#f5c75c;font-weight:700;margin-bottom:6px;}
.ai-message-body{line-height:1.48;font-size:16px;color:#fff;}
.modern-cursor{width:.66em;height:1.05em;background:#f5c75c;vertical-align:-.18em;}
.ai-system-note{align-self:center;font-size:12px;color:#9fb0d1;border:1px solid rgba(142,159,201,.18);border-radius:999px;padding:7px 11px;background:rgba(8,12,24,.7);animation:systemNoteIn .5s ease both;}
.ai-chat-panel.chat-closing{animation:chatClose .65s ease both;}
.secret-gate.glitching:before{animation:amberToModern 2.4s steps(5,end) both;}
.secret-gate.glitching .terminal-panel{animation:panelMorph .8s steps(3,end) 2;}
@keyframes chatMaterialize{0%{opacity:0;transform:translateY(24px) scale(.96);filter:blur(8px) hue-rotate(60deg)}45%{opacity:1;transform:translateY(-4px) scale(1.01);filter:contrast(1.8) saturate(1.5)}100%{opacity:1;transform:translateY(0) scale(1);filter:none}}
@keyframes systemNoteIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes chatClose{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(18px) scale(.98);filter:blur(6px)}}
@keyframes amberToModern{0%{filter:none}20%{filter:hue-rotate(140deg) saturate(2.4)}45%{filter:invert(.18) contrast(2.2)}70%{filter:hue-rotate(210deg) brightness(1.35)}100%{filter:none}}
@keyframes panelMorph{0%{border-color:#ffb743;transform:translate(0)}33%{border-color:#7196ff;transform:translate(4px,-2px)}66%{border-color:#ff795d;transform:translate(-3px,2px)}100%{border-color:rgba(143,166,255,.45);transform:translate(0)}}
@media (max-width:720px){.ai-chat-panel{left:14px;right:14px;bottom:18px;min-height:220px}.ai-chat-messages{height:168px;padding:13px}.ai-message{max-width:94%}.ai-message-body{font-size:14px}.ai-model{display:none}}


/* === v7: one active cursor + custom timeline sliders === */
.boot-line.thinking{display:block;min-height:1.35em;}
.terminal-cursor.settled{display:none;}

input[type=range]{
  --range-fill: linear-gradient(90deg, var(--jiskra), var(--prevrat), var(--rad), var(--prechod));
  --range-track: #10182a;
  --range-thumb: #ffd06a;
  appearance:none;
  -webkit-appearance:none;
  height:28px;
  padding:0;
  border:0;
  background:transparent;
  accent-color:initial;
  cursor:pointer;
}
input[type=range]::-webkit-slider-runnable-track{
  height:10px;
  border-radius:999px;
  background:var(--range-fill);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 0 18px rgba(245,199,92,.12);
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:22px;
  height:22px;
  margin-top:-6px;
  border-radius:5px;
  border:2px solid #fff0bd;
  background:linear-gradient(180deg,#ffe09a,#f4b33e 55%,#9d5b12);
  box-shadow:0 0 0 4px rgba(245,199,92,.15),0 0 22px rgba(245,199,92,.55);
}
input[type=range]::-moz-range-track{
  height:10px;
  border-radius:999px;
  background:var(--range-fill);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 0 18px rgba(245,199,92,.12);
}
input[type=range]::-moz-range-thumb{
  width:20px;
  height:20px;
  border-radius:5px;
  border:2px solid #fff0bd;
  background:linear-gradient(180deg,#ffe09a,#f4b33e 55%,#9d5b12);
  box-shadow:0 0 0 4px rgba(245,199,92,.15),0 0 22px rgba(245,199,92,.55);
}
input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid #fff0bd;outline-offset:3px;}
input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid #fff0bd;outline-offset:3px;}
#timeSlider{--range-fill:linear-gradient(90deg,#f4b33e 0%,#df3f3f 35%,#3b83df 68%,#8b55dd 100%);}
#svgZoomRange,#railZoomRange{--range-fill:linear-gradient(90deg,#27324d,#f5c75c);}

/* === v8: cleaner modern AI handoff + stricter 1987 progress bar === */
.boot-progress{
  height:18px;
  border:1px solid #ffb743;
  border-radius:0;
  background:#020100;
  box-shadow:inset 0 0 0 1px rgba(255,183,67,.16), inset 0 0 20px rgba(255,183,67,.05);
  overflow:hidden;
}
.boot-progress span{
  background:#ffb743;
  box-shadow:none;
  image-rendering:pixelated;
  transition:width .8s steps(12,end);
}
.boot-progress span:after{
  content:"";
  display:block;
  height:100%;
  background:repeating-linear-gradient(90deg, transparent 0 9px, rgba(0,0,0,.38) 9px 11px);
}
.secret-gate input[type=range]{
  appearance:none;
  -webkit-appearance:none;
  border-radius:0;
  height:22px;
  padding:0;
  background:transparent;
}
.secret-gate input[type=range]::-webkit-slider-runnable-track{
  height:8px;
  border-radius:0;
  background:#050200;
  border:1px solid #ffb743;
  box-shadow:0 0 10px rgba(255,183,67,.25);
}
.secret-gate input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:16px;
  height:20px;
  margin-top:-7px;
  border-radius:0;
  border:1px solid #ffde93;
  background:#ffb743;
  box-shadow:0 0 12px rgba(255,183,67,.55);
}
.secret-gate input[type=range]::-moz-range-track{
  height:8px;
  border-radius:0;
  background:#050200;
  border:1px solid #ffb743;
  box-shadow:0 0 10px rgba(255,183,67,.25);
}
.secret-gate input[type=range]::-moz-range-thumb{
  width:16px;
  height:20px;
  border-radius:0;
  border:1px solid #ffde93;
  background:#ffb743;
  box-shadow:0 0 12px rgba(255,183,67,.55);
}

.boot-panel.modern-chat-mode{
  border-color:rgba(255,255,255,.16);
  background:radial-gradient(circle at 50% 10%,rgba(255,255,255,.12),transparent 38%),rgba(2,6,23,.82);
  box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 100px rgba(0,0,0,.55);
  text-shadow:none;
  color:#f8fafc;
}
.ai-chat-panel{
  left:50%;
  right:auto;
  bottom:28px;
  width:min(640px, calc(100% - 48px));
  min-height:260px;
  transform:translateX(-50%);
  border:1px solid rgba(226,232,240,.88);
  border-radius:30px;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  color:#0f172a;
  box-shadow:0 30px 90px rgba(2,6,23,.38),0 1px 0 rgba(255,255,255,.9) inset;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-shadow:none;
}
.ai-chat-titlebar{
  padding:16px 18px;
  border-bottom:1px solid #e5e7eb;
  background:rgba(255,255,255,.92);
  color:#0f172a;
  text-transform:none;
  letter-spacing:0;
  font-size:13px;
}
.ai-chat-titlebar strong{font-weight:750;}
.ai-dot{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.14);}
.ai-model{color:#64748b;font-size:12px;}
.ai-chat-messages{height:198px;padding:20px;background:linear-gradient(180deg,#ffffff,#f8fafc);gap:14px;}
.ai-message{
  max-width:86%;
  border-radius:22px;
  border:1px solid #e2e8f0;
  background:#f1f5f9;
  box-shadow:none;
  color:#0f172a;
}
.ai-message-meta{color:#64748b;letter-spacing:.02em;text-transform:none;font-size:12px;font-weight:700;margin-bottom:7px;}
.ai-message-body{color:#0f172a;font-size:16px;line-height:1.55;}
.modern-cursor{background:#0f172a;box-shadow:none;}
.ai-system-note{
  color:#64748b;
  border:1px solid #e2e8f0;
  background:#ffffff;
  box-shadow:0 8px 28px rgba(15,23,42,.08);
}
.ai-chat-panel.chat-closing{animation:chatCloseModern .7s ease both;}
@keyframes chatCloseModern{0%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}100%{opacity:0;transform:translateX(-50%) translateY(18px) scale(.985);filter:blur(8px)}}
@keyframes chatMaterialize{0%{opacity:0;transform:translateX(-50%) translateY(20px) scale(.985);filter:blur(10px)}55%{opacity:1;transform:translateX(-50%) translateY(-2px) scale(1.005);filter:blur(0)}100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1);filter:none}}
@media (max-width:720px){.ai-chat-panel{left:50%;right:auto;width:calc(100% - 28px);bottom:16px}.ai-chat-messages{height:178px;padding:14px}}


/* === v9: dark modern chat, smaller nested circles, geometry-only zoom polish === */
.boot-panel.modern-chat-mode{
  border-color:rgba(91,112,151,.44);
  background:radial-gradient(circle at 50% 0%,rgba(59,131,223,.18),transparent 34%),rgba(8,11,22,.92);
  box-shadow:0 0 0 1px rgba(255,255,255,.06),0 34px 110px rgba(0,0,0,.64);
}
.ai-chat-panel{
  border:1px solid rgba(71,85,105,.72);
  background:#10141f;
  color:#eef3ff;
  box-shadow:0 30px 90px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.04) inset;
}
.ai-chat-titlebar{
  border-bottom:1px solid rgba(71,85,105,.74);
  background:#151b29;
  color:#e5e7eb;
}
.ai-model{color:#94a3b8;}
.ai-chat-messages{
  background:linear-gradient(180deg,#0b1020,#0d1324);
}
.ai-message.selair-message{
  align-self:flex-end;
  max-width:78%;
  border:0;
  border-radius:20px 20px 5px 20px;
  background:#1877f2;
  color:#fff;
  box-shadow:0 12px 34px rgba(24,119,242,.28);
}
.ai-message.selair-message .ai-message-meta{
  color:rgba(255,255,255,.72);
}
.ai-message.selair-message .ai-message-body{
  color:#fff;
}
.modern-cursor{
  background:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.24),0 0 14px rgba(255,255,255,.35);
}
.ai-system-note{
  color:#cbd5e1;
  border:1px solid rgba(71,85,105,.72);
  background:#111827;
  box-shadow:none;
}
/* squarer, simpler 1987 amber control style inside the classified overlay */
.secret-gate input[type=range]::-webkit-slider-runnable-track{
  height:7px;
  background:#030100;
  border:1px solid #ffb743;
  box-shadow:0 0 0 1px rgba(255,183,67,.16),0 0 8px rgba(255,183,67,.24);
}
.secret-gate input[type=range]::-webkit-slider-thumb{
  width:14px;
  height:18px;
  margin-top:-7px;
  background:#ffb743;
  border:1px solid #ffd98b;
  box-shadow:0 0 8px rgba(255,183,67,.45);
}
.secret-gate input[type=range]::-moz-range-track{
  height:7px;
  background:#030100;
  border:1px solid #ffb743;
  box-shadow:0 0 0 1px rgba(255,183,67,.16),0 0 8px rgba(255,183,67,.24);
}
.secret-gate input[type=range]::-moz-range-thumb{
  width:14px;
  height:18px;
  background:#ffb743;
  border:1px solid #ffd98b;
  box-shadow:0 0 8px rgba(255,183,67,.45);
}
#cycleSvg.dragging{cursor:grabbing;}
#cycleSvg{cursor:grab;}
.svg-label,.svg-small,.svg-tiny{vector-effect:non-scaling-stroke;}

/* === v10: glass dark Selair chat + orbital nested-cycle polish === */
.ai-chat-panel{
  width:min(720px, calc(100% - 68px));
  left:50%;
  right:auto;
  transform:translateX(-50%);
  bottom:28px;
  border-radius:28px;
  border:1px solid rgba(142,159,201,.22);
  background:linear-gradient(180deg,rgba(16,24,42,.72),rgba(8,12,24,.82));
  color:#eef3ff;
  box-shadow:0 30px 110px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(255,255,255,.04);
  backdrop-filter:blur(22px) saturate(1.22);
  -webkit-backdrop-filter:blur(22px) saturate(1.22);
}
.ai-chat-titlebar{
  padding:14px 18px;
  border-bottom:1px solid rgba(142,159,201,.16);
  background:linear-gradient(90deg,rgba(24,119,242,.10),rgba(245,199,92,.05));
  color:#eef3ff;
}
.ai-chat-titlebar strong{letter-spacing:.02em;text-transform:none;}
.ai-chat-messages{
  height:208px;
  padding:20px;
  gap:14px;
  background:radial-gradient(circle at 80% 0%,rgba(59,131,223,.16),transparent 38%),linear-gradient(180deg,rgba(7,11,22,.28),rgba(7,11,22,.12));
}
.ai-message.selair-message{
  align-self:flex-end;
  max-width:76%;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px 22px 6px 22px;
  background:linear-gradient(135deg,#1877f2,#0f63d8);
  color:#fff;
  box-shadow:0 14px 40px rgba(24,119,242,.26), inset 0 1px 0 rgba(255,255,255,.18);
}
.ai-message.selair-message .ai-message-meta{color:rgba(255,255,255,.70);font-size:11px;}
.ai-message.selair-message .ai-message-body{color:#fff;font-size:16px;line-height:1.5;}
.ai-message.typing-bubble{min-width:88px;}
.ai-message.instant-message{animation:messagePop .22s cubic-bezier(.2,1,.25,1) both;}
.typing-dots{display:inline-flex;align-items:center;gap:5px;height:18px;}
.typing-dots i{display:block;width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.92);animation:typingDot 1.05s infinite ease-in-out;}
.typing-dots i:nth-child(2){animation-delay:.14s;}
.typing-dots i:nth-child(3){animation-delay:.28s;}
.ai-system-note{
  align-self:center;
  color:#aebbd4;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(16,24,42,.52);
  backdrop-filter:blur(10px);
}
@keyframes typingDot{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}
@keyframes messagePop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes chatCloseModern{0%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}100%{opacity:0;transform:translateX(-50%) translateY(22px) scale(.985);filter:blur(10px)}}
.orbit-line{
  fill:none;
  stroke:rgba(245,199,92,.25);
  stroke-width:1.4;
  stroke-dasharray:4 8;
  vector-effect:non-scaling-stroke;
}
.orbit-dot{vector-effect:non-scaling-stroke;}
@media (max-width:720px){.ai-chat-panel{width:calc(100% - 28px);left:50%;right:auto;bottom:16px}.ai-chat-messages{height:178px;padding:14px}.ai-message.selair-message{max-width:92%}}

/* === v11: fully English classified intro + pixel ouroboros + real lockout === */
.ouroboros-mark{
  padding:8px;
  background:#050200;
}
.pixel-ouroboros{
  width:54px;
  height:54px;
  display:block;
  overflow:visible;
  image-rendering:pixelated;
  shape-rendering:crispEdges;
  filter:drop-shadow(0 0 9px rgba(255,183,67,.7));
}
.pixel-ouroboros path:first-child{
  fill:none;
  stroke:#ffb743;
  stroke-width:7;
  stroke-linejoin:miter;
  stroke-linecap:square;
}
.pixel-ouroboros .ouro-gap{
  fill:none;
  stroke:#050200;
  stroke-width:9;
  stroke-linejoin:miter;
  stroke-linecap:square;
}
.pixel-ouroboros .ouro-head{
  fill:none;
  stroke:#ffb743;
  stroke-width:6;
  stroke-linejoin:miter;
  stroke-linecap:square;
}
.pixel-ouroboros .ouro-eye{fill:#050200;stroke:#ffd98b;stroke-width:1;}
.lock-screen{
  min-height:168px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  border:1px solid rgba(255,121,93,.72);
  background:repeating-linear-gradient(0deg,rgba(255,121,93,.07) 0 2px,transparent 2px 6px),rgba(255,121,93,.045);
  color:#ff795d;
  text-align:center;
  text-transform:uppercase;
  animation:terminalBlink .45s 4;
  box-shadow:inset 0 0 26px rgba(255,121,93,.08),0 0 18px rgba(255,121,93,.14);
}
.lock-screen strong{
  font-size:24px;
  letter-spacing:.12em;
  color:#ff795d;
}
.lock-screen small{
  color:#ffc0b4;
  letter-spacing:.06em;
}
.pixel-lock{
  width:52px;
  height:42px;
  position:relative;
  border:4px solid #ff795d;
  border-top-width:10px;
  box-shadow:0 0 14px rgba(255,121,93,.45), inset 0 0 12px rgba(255,121,93,.12);
}
.pixel-lock:before{
  content:"";
  position:absolute;
  left:10px;
  top:-31px;
  width:24px;
  height:26px;
  border:4px solid #ff795d;
  border-bottom:0;
  box-shadow:0 0 12px rgba(255,121,93,.35);
}
.pixel-lock span{
  position:absolute;
  left:20px;
  top:14px;
  width:6px;
  height:12px;
  background:#ff795d;
  box-shadow:0 -7px 0 #ff795d;
}

/* === v12: softer classified symbols, Czech Selair wink, reply handoff, no text selection === */
*{
  -webkit-user-select:none;
  user-select:none;
}
input, textarea{
  -webkit-user-select:text;
  user-select:text;
}
.ouroboros-mark{
  padding:7px;
  border-color:rgba(255,196,92,.46);
  background:radial-gradient(circle at 50% 42%,rgba(255,183,67,.14),transparent 62%),#050200;
}
.pixel-ouroboros{
  width:58px;
  height:58px;
  image-rendering:auto;
  shape-rendering:geometricPrecision;
  filter:drop-shadow(0 0 8px rgba(255,183,67,.62)) drop-shadow(0 0 20px rgba(255,146,42,.18));
}
.pixel-ouroboros .ouro-body,
.pixel-ouroboros .ouro-tail{
  fill:none;
  stroke:#ffb743;
  stroke-width:4.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#softAmberGlow);
}
.pixel-ouroboros .ouro-tail{
  stroke:#ffd98b;
  stroke-width:2.1;
  opacity:.55;
}
.pixel-ouroboros .ouro-head{
  fill:rgba(255,183,67,.10);
  stroke:#ffb743;
  stroke-width:2.6;
  stroke-linejoin:round;
  filter:url(#softAmberGlow);
}
.pixel-ouroboros .ouro-eye{
  fill:#050200;
  stroke:#ffd98b;
  stroke-width:.7;
}
.lock-screen{
  border-color:rgba(255,121,93,.58);
  background:radial-gradient(circle at 50% 18%,rgba(255,121,93,.12),transparent 48%),repeating-linear-gradient(0deg,rgba(255,121,93,.055) 0 1px,transparent 1px 6px),rgba(255,121,93,.038);
}
.pixel-lock{
  width:58px;
  height:42px;
  border:3px solid #ff795d;
  border-top-width:8px;
  border-radius:5px;
  background:linear-gradient(180deg,rgba(255,121,93,.06),rgba(255,121,93,.015));
  box-shadow:0 0 18px rgba(255,121,93,.36), inset 0 0 14px rgba(255,121,93,.10);
}
.pixel-lock:before{
  left:12px;
  top:-34px;
  width:28px;
  height:30px;
  border:3px solid #ff795d;
  border-bottom:0;
  border-radius:16px 16px 0 0;
}
.pixel-lock span{
  left:24px;
  top:13px;
  width:7px;
  height:13px;
  border-radius:4px 4px 1px 1px;
}
.boot-panel.modern-chat-mode{
  background:radial-gradient(circle at 12% 0%,rgba(59,131,223,.22),transparent 30%),radial-gradient(circle at 90% 0%,rgba(245,199,92,.08),transparent 30%),rgba(7,11,22,.84);
  border-color:rgba(142,159,201,.24);
  box-shadow:0 34px 120px rgba(0,0,0,.64),inset 0 1px 0 rgba(255,255,255,.07);
}
.ai-chat-panel{
  display:flex;
  flex-direction:column;
  width:min(720px, calc(100% - 68px));
  min-height:330px;
  border-radius:28px;
  border:1px solid rgba(142,159,201,.24);
  background:linear-gradient(180deg,rgba(16,24,42,.66),rgba(7,11,22,.82));
  color:#eef3ff;
  box-shadow:0 30px 110px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(255,255,255,.04);
  backdrop-filter:blur(24px) saturate(1.22);
  -webkit-backdrop-filter:blur(24px) saturate(1.22);
  overflow:hidden;
}
.ai-chat-titlebar{
  padding:14px 18px;
  border-bottom:1px solid rgba(142,159,201,.16);
  background:linear-gradient(90deg,rgba(24,119,242,.16),rgba(255,255,255,.035));
  color:#eef3ff;
}
.ai-chat-messages{
  flex:1;
  height:auto;
  min-height:206px;
  padding:20px 20px 12px;
  gap:14px;
  background:radial-gradient(circle at 78% 0%,rgba(59,131,223,.14),transparent 38%),linear-gradient(180deg,rgba(7,11,22,.18),rgba(7,11,22,.05));
}
.ai-message.selair-message{
  align-self:flex-start;
  max-width:76%;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px 22px 22px 6px;
  background:linear-gradient(135deg,#1877f2,#0f63d8);
  color:#fff;
  box-shadow:0 14px 40px rgba(24,119,242,.26), inset 0 1px 0 rgba(255,255,255,.18);
}
.ai-message.selair-message .ai-message-meta{color:rgba(255,255,255,.70);font-size:11px;}
.ai-message.selair-message .ai-message-body{color:#fff;font-size:16px;line-height:1.5;}
.ai-message.user-message{
  align-self:flex-end;
  max-width:74%;
  border:1px solid rgba(142,159,201,.18);
  border-radius:22px 22px 6px 22px;
  background:rgba(255,255,255,.09);
  color:#eef3ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.ai-message.user-message .ai-message-body{font-size:15px;line-height:1.45;}
.ai-chat-composer{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  padding:12px 14px 14px;
  border-top:1px solid rgba(142,159,201,.14);
  background:linear-gradient(180deg,rgba(16,24,42,.40),rgba(7,11,22,.58));
}
.ai-chat-composer input{
  width:100%;
  border:1px solid rgba(142,159,201,.20);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#f4f7ff;
  padding:12px 15px;
  outline:none;
}
.ai-chat-composer input:focus{
  border-color:rgba(24,119,242,.68);
  box-shadow:0 0 0 4px rgba(24,119,242,.14);
}
.ai-chat-composer button{
  border:0;
  border-radius:999px;
  padding:0 18px;
  font-weight:850;
  color:#fff;
  background:linear-gradient(135deg,#1877f2,#0f63d8);
  box-shadow:0 10px 28px rgba(24,119,242,.24);
}
@media (max-width:720px){
  .ai-chat-panel{width:calc(100% - 28px);min-height:310px;bottom:16px;}
  .ai-message.selair-message,.ai-message.user-message{max-width:92%;}
  .ai-chat-composer{grid-template-columns:1fr;}
  .ai-chat-composer button{min-height:40px;}
}


/* === v13: fullscreen CRT prompt + clearer user reply bubble === */
.fullscreen-prompt{
  position:absolute;
  z-index:8;
  left:50%;
  top:50%;
  width:min(620px, calc(100% - 56px));
  transform:translate(-50%,-50%);
  background:
    repeating-linear-gradient(0deg,rgba(255,183,67,.06) 0 1px,transparent 1px 6px),
    radial-gradient(circle at 50% 0%,rgba(255,183,67,.12),transparent 55%),
    rgba(5,2,0,.96);
  border:1px solid rgba(255,183,67,.74);
  box-shadow:
    0 0 0 1px rgba(255,183,67,.10),
    0 0 42px rgba(255,183,67,.20),
    inset 0 0 26px rgba(255,183,67,.07);
}
.fullscreen-prompt .terminal-copy{
  text-align:center;
  color:#ffcf75;
  font-size:16px;
  letter-spacing:.11em;
}
.fullscreen-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  margin:18px 0 8px;
}
.fullscreen-actions button{
  min-width:116px;
  border-radius:0;
  border:1px solid #ffb743;
  background:#050200;
  color:#ffb743;
  padding:12px 16px;
  font-family:"Courier New",monospace;
  font-weight:700;
  text-transform:uppercase;
  text-shadow:0 0 8px rgba(255,183,67,.55);
  box-shadow:inset 0 0 16px rgba(255,183,67,.05);
}
.fullscreen-actions button:hover,
.fullscreen-actions button:focus{
  outline:none;
  background:#ffb743;
  color:#050200;
  transform:none;
  box-shadow:0 0 20px rgba(255,183,67,.36);
}
.fullscreen-actions button span{
  color:inherit;
}
.fullscreen-status{
  min-height:20px;
  margin:8px 0 0;
  text-align:center;
  color:#ffdd8b;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ai-message.user-message{
  background:#ffffff;
  color:#05070d;
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 14px 34px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.9);
}
.ai-message.user-message .ai-message-body{
  color:#05070d;
  font-weight:650;
}
.ai-chat-composer input{
  background:#ffffff;
  color:#05070d;
  border-color:rgba(255,255,255,.72);
}
.ai-chat-composer input::placeholder{
  color:#5b6473;
}


/* v14 fine-tuning */
.svg-label{font-weight:600;letter-spacing:.015em;}
.svg-small{font-weight:500;}
.current-year-label{font-weight:600;}


/* === v16 boot polish === */
.boot-line:before,
.boot-line.selair:before{content:"";display:none;}
.boot-line.boot-cursor-line{height:1.35em;margin-top:1px;margin-bottom:5px;color:#ffb743;}
.secret-gate .boot-lines,
.secret-gate .ai-chat-messages{
  scrollbar-width:thin;
  scrollbar-color:#ffb743 #090500;
}
.secret-gate .boot-lines::-webkit-scrollbar,
.secret-gate .ai-chat-messages::-webkit-scrollbar{width:10px;height:10px;}
.secret-gate .boot-lines::-webkit-scrollbar-track,
.secret-gate .ai-chat-messages::-webkit-scrollbar-track{
  background:#090500;
  border-left:1px solid rgba(255,183,67,.22);
}
.secret-gate .boot-lines::-webkit-scrollbar-thumb,
.secret-gate .ai-chat-messages::-webkit-scrollbar-thumb{
  background:#ffb743;
  border:2px solid #090500;
  box-shadow:0 0 10px rgba(255,183,67,.55);
}
.secret-gate .boot-lines::-webkit-scrollbar-thumb:hover,
.secret-gate .ai-chat-messages::-webkit-scrollbar-thumb:hover{background:#ffd27a;}
.ai-chat-panel.is-offline .ai-dot{
  background:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,.13),0 0 18px rgba(239,68,68,.58);
}


/* === v18: supplied double-ouroboros mark + boot percentage polish === */
.ouroboros-mark{position:relative;overflow:hidden;padding:6px;border-color:rgba(255,196,92,.62);background:radial-gradient(circle at 50% 42%,rgba(255,183,67,.16),transparent 64%),#050200;}
.ouroboros-logo-img{display:block;width:60px;height:60px;object-fit:contain;filter:sepia(1) saturate(.55) hue-rotate(-12deg) brightness(1.16) contrast(1.03) drop-shadow(0 0 7px rgba(255,183,67,.42));mix-blend-mode:screen;}
.binary-mark{position:absolute;right:4px;bottom:2px;font-size:10px;letter-spacing:.08em;color:#ffe39a;background:rgba(5,2,0,.82);padding:1px 3px;border:1px solid rgba(255,183,67,.35);line-height:1;}
.crt-header h1{display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px;line-height:.95;}
.crt-header h1 small{display:block;flex-basis:100%;font-size:.24em;font-weight:700;letter-spacing:.24em;color:#ffd98b;line-height:1;margin-bottom:2px;}
.crt-header h1 .angol-name{font-size:1em;letter-spacing:.08em;font-weight:700;}
.crt-header h1 span{font-size:.30em;vertical-align:baseline;border:1px solid rgba(255,183,67,.6);padding:4px 7px;margin-left:2px;}
.boot-progress-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;}
.boot-progress-pct{font-size:13px;min-width:3.5ch;text-align:right;color:#ffdd8b;letter-spacing:.08em;}
.boot-progress-wrap.hidden{display:none;}
@media (max-width:720px){.ouroboros-logo-img{width:48px;height:48px}.crt-header h1 small{font-size:.28em}.boot-progress-wrap{grid-template-columns:1fr auto}}


/* === v19: refined amber logo + CRT boot power-on + softer title framing === */
.ouroboros-logo-img{width:64px;height:64px;object-fit:contain;image-rendering:auto;shape-rendering:auto;filter:drop-shadow(0 0 10px rgba(255,183,67,.36)) drop-shadow(0 0 22px rgba(255,127,45,.14));mix-blend-mode:screen;}
.ouroboros-mark{padding:4px;background:#000;border-color:rgba(255,183,67,.45);}
.crt-header h1 .angol-name{font-size:1em;letter-spacing:.09em;font-weight:700;}
.crt-header h1 span{border:none;padding:0;margin-left:2px;color:#ffd98b;background:none;box-shadow:none;}
.crt-header h1 small{color:#ffcf78;}
@media (max-width:720px){.ouroboros-logo-img{width:52px;height:52px}}
.secret-gate.crt-booting .crt-frame{animation:crtPowerOn 1.45s cubic-bezier(.2,.9,.2,1) both;}
.secret-gate.crt-booting .crt-scanlines{animation:crtScanBoot 1.45s ease both;}
.secret-gate.crt-booting:before{animation:crtGlowBoot 1.45s ease both;}
@keyframes crtPowerOn{0%{opacity:0;transform:scale(0.98,0.015);filter:brightness(2.4) blur(2px)}18%{opacity:1;transform:scale(1.01,0.045);filter:brightness(2.8) blur(1.2px)}36%{transform:scale(0.985,1.06);filter:brightness(1.85) blur(.5px)}60%{transform:scale(1.006,0.98);filter:brightness(1.15)}100%{opacity:1;transform:scale(1,1);filter:none}}
@keyframes crtScanBoot{0%{opacity:.95;filter:brightness(1.8)}35%{opacity:.8;filter:brightness(1.35)}100%{opacity:1;filter:none}}
@keyframes crtGlowBoot{0%{opacity:1;filter:brightness(2.1)}60%{opacity:1}100%{opacity:1;filter:none}}


/* === v21: refined intro + shorter quick labels + phases first === */
.terminal-credit{margin:10px 0 0;color:#ffd78c;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.88;}
.binary-mark{display:none;}
.ouroboros-mark{padding:0;background:#000;border-color:rgba(255,183,67,.32);box-shadow:inset 0 0 0 1px rgba(255,183,67,.08);}
.ouroboros-logo-img{width:72px;height:72px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 0 10px rgba(255,183,67,.18));}
.crt-header h1{display:block;line-height:1;margin-top:2px;}
.crt-header h1 .angol-name{display:block;font-size:1em;font-weight:700;letter-spacing:.14em;color:#ffbe52;}
.crt-header h1 span{border:none;padding:0;margin:0;color:inherit;background:none;box-shadow:none;}
.crt-header h1 small{display:none;}
@media (max-width:720px){.ouroboros-logo-img{width:58px;height:58px}}
.quick-years{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;}
.quick-years .quick-chip{padding:10px 6px;font-size:12px;line-height:1.1;min-height:38px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:12px;}
.quick-years .quick-chip[data-year="-3150"]{font-size:11px;}
.legend-title{font-weight:700;font-size:18px;}
.legend-sub{font-size:13px;line-height:1.35;}
.controls > section:first-child .legend{margin-top:2px;}


/* === v23: intro repair / stable fullscreen gate === */
.crt-header h1{
  display:block;
  font-size:clamp(28px,4.8vw,48px);
  line-height:1;
  margin:0;
  white-space:nowrap;
}
.crt-header h1 .angol-name{
  display:inline-block;
  white-space:nowrap;
  letter-spacing:.105em;
  font-size:1em;
}
.terminal-credit{white-space:nowrap;}
.fullscreen-prompt{
  border:2px solid rgba(255,183,67,.86);
  box-shadow:
    0 0 0 2px rgba(255,183,67,.14),
    0 0 42px rgba(255,183,67,.22),
    inset 0 0 0 1px rgba(255,183,67,.22),
    inset 0 0 26px rgba(255,183,67,.07);
}
.fullscreen-actions button.default-choice,
.fullscreen-actions button.is-armed,
.fullscreen-actions button:focus-visible{
  outline:none;
  background:#ffb743;
  color:#050200;
  box-shadow:0 0 24px rgba(255,183,67,.48), inset 0 0 0 1px rgba(5,2,0,.35);
}
.fullscreen-actions button.default-choice span,
.fullscreen-actions button.is-armed span{
  color:inherit;
}
.fullscreen-prompt.hidden{display:none;}
@media (max-width:720px){
  .crt-header h1{font-size:clamp(24px,7vw,34px);}
  .terminal-credit{white-space:normal;}
}


/* === stable v1.9.240: fullscreen prompt safety + restored phase panel === */
.fullscreen-prompt{display:block;}
.fullscreen-prompt.hidden{display:none;}
.fullscreen-prompt .fullscreen-actions button.default-choice,
.fullscreen-prompt .fullscreen-actions button.is-armed{
  background:#ffb743;
  color:#050200;
  border-color:#ffdc8a;
}
.fullscreen-prompt{
  border-width:2px;
}
.crt-header h1{white-space:nowrap;}
.crt-header h1 .angol-name{white-space:nowrap;}
@media (max-width:720px){
  .crt-header h1 .angol-name{letter-spacing:.07em;}
}


/* === stable v1.9.240 polish === */
.layout{grid-template-columns:320px minmax(420px,1fr) 500px;}
@media (max-width:1280px){.layout{grid-template-columns:310px minmax(380px,1fr) 460px;}}
.ouroboros-mark{padding:0;background:transparent;border:none;box-shadow:none;width:136px;height:136px;display:flex;align-items:center;justify-content:center;overflow:visible;}
.ouroboros-logo-img{width:136px;height:136px;filter:drop-shadow(0 0 10px rgba(255,183,67,.22));}
.crt-header{align-items:center;}
.crt-header h1{white-space:nowrap;}
.crt-header h1 .angol-name{display:inline-block;font-size:1.12em;letter-spacing:.16em;color:#ffbf59;}
.terminal-credit{margin-top:8px;}
@media (max-width:720px){.ouroboros-mark{width:88px;height:88px}.ouroboros-logo-img{width:88px;height:88px}.crt-header h1{white-space:normal}}
.milestone-filters-wrap{display:grid;gap:8px;justify-items:end;min-width:min(56vw,700px);}
.rail-hint{font-size:11px;color:var(--muted);text-align:right;line-height:1.35;}
.playlist-card{display:grid;gap:10px;}
.playlist-card iframe{width:100%;aspect-ratio:16/9;border:1px solid rgba(142,159,201,.18);border-radius:16px;background:#0b1325;}
.playlist-link{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;}
.wide-results .table-wrap{max-height:560px;}
.fullscreen-prompt{border:3px double rgba(255,191,89,.7);}


/* === stable v1.9.240 fixes === */
.secret-gate.selair-signal{animation:gateGlitch .12s steps(2,end) 4;}
.secret-gate.selair-signal .crt-frame{animation:frameGlitch .12s steps(2,end) infinite;}
.boot-line.selair{color:#ffffff;text-shadow:0 0 8px rgba(255,255,255,.14);}
.boot-line.selair .selair-tag{color:#ff5a53;}
.boot-line.selair .selair-body{color:#ffffff;}
.terminal-cursor.selair-cursor{background:#ffffff;box-shadow:0 0 10px rgba(255,255,255,.78);}
.ouroboros-mark{align-self:center;}
.static-playlist{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid rgba(142,159,201,.18);border-radius:18px;background:linear-gradient(180deg,rgba(12,18,34,.72),rgba(8,11,22,.84));}
.static-playlist .playlist-visual{width:96px;height:96px;border-radius:18px;display:grid;place-items:center;font-size:40px;color:#ffe09a;background:radial-gradient(circle at 30% 30%,rgba(245,199,92,.34),rgba(245,199,92,.06) 45%,rgba(8,11,22,.2) 70%),linear-gradient(180deg,#18233d,#0c1324);border:1px solid rgba(245,199,92,.22);box-shadow:inset 0 0 18px rgba(245,199,92,.08);}
.static-playlist .playlist-body{display:grid;gap:8px;}
.static-playlist .playlist-body strong{color:#fff;font-size:15px;}
.static-playlist .playlist-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;}
.playlist-link{justify-self:start;text-decoration:none;}
@media (max-width:780px){.static-playlist{grid-template-columns:1fr}.static-playlist .playlist-visual{width:100%;height:88px}}


/* === stable v1.9.240 polish === */
.ouroboros-mark{width:122px;height:122px;}
.ouroboros-logo-img{width:122px;height:122px;filter:drop-shadow(0 0 8px rgba(255,183,67,.18));}
@media (max-width:720px){.ouroboros-mark{width:80px;height:80px}.ouroboros-logo-img{width:80px;height:80px;}}
.password-form{grid-template-columns:minmax(0,1fr) auto;}
.milestone-filters-wrap{position:relative;align-items:end;}
.milestone-search-wrap{position:relative;min-width:min(30vw,280px);justify-self:end;}
.milestone-search-wrap input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(142,159,201,.22);background:rgba(8,13,25,.9);color:#fff;outline:none;}
.milestone-search-wrap input::placeholder{color:#93a0bd;}
.milestone-search-wrap input:focus{border-color:rgba(241,196,90,.48);box-shadow:0 0 0 3px rgba(241,196,90,.12);}
.milestone-suggest{position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 32px));max-height:280px;overflow:auto;display:grid;gap:6px;padding:10px;border-radius:14px;border:1px solid rgba(142,159,201,.18);background:rgba(9,13,26,.97);backdrop-filter:blur(16px);box-shadow:0 18px 40px rgba(0,0,0,.35);z-index:40;}
.milestone-suggest.hidden{display:none;}
.milestone-suggest-item{display:grid;gap:3px;text-align:left;padding:9px 10px;border-radius:10px;border:1px solid rgba(142,159,201,.12);background:rgba(255,255,255,.02);color:#fff;cursor:pointer;}
.milestone-suggest-item:hover{border-color:rgba(241,196,90,.35);background:rgba(241,196,90,.08);}
.milestone-suggest-item strong{font-size:13px;font-weight:700;}
.milestone-suggest-item span{font-size:11px;color:#a5b0ca;}


/* === stable v1.9.240 refinements === */
.results-column{display:grid;gap:18px;align-self:start;}
.playlist-panel section+section{border-top:none;padding-top:0;margin-top:0;}
@media (max-width:1180px){.results-column{grid-column:1 / -1;}}
.layout{grid-template-columns:320px minmax(420px,1fr) 500px;}
@media (max-width:1180px){.layout{grid-template-columns:300px 1fr;}}
@media (max-width:780px){.results-column{grid-column:auto;}}
.rail-head{display:grid;grid-template-columns:auto minmax(220px,340px) minmax(260px,1fr);align-items:center;gap:16px;}
.milestone-search-wrap{width:100%;min-width:220px;justify-self:stretch;}
.milestone-filters-wrap{display:block;min-width:0;justify-items:stretch;margin-bottom:10px;}
.milestone-filters{display:flex;gap:7px;overflow:auto;padding-bottom:2px;}
.rail-hint{display:none;}
@media (max-width:780px){.rail-head{grid-template-columns:1fr;align-items:stretch;}.milestone-search-wrap{min-width:0;}.milestone-filters-wrap{margin-top:8px;}}


/* === stable v1.9.240 layout polish === */
.stage{display:grid;grid-template-rows:auto 1fr;align-content:start;min-height:0;}
.viz-card{position:relative;height:calc(100vh - var(--bottom-h) - 205px);min-height:460px;max-height:760px;overflow:hidden;}
#cycleSvg{width:100%;height:100%;display:block;}
.interpretation-overlay{position:absolute;left:16px;right:16px;bottom:16px;margin-top:0;background:linear-gradient(180deg,rgba(8,12,24,.72),rgba(8,12,24,.9));backdrop-filter:blur(10px);max-height:120px;overflow:auto;z-index:2;}
.viz-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:170px;background:linear-gradient(180deg,rgba(5,8,17,0) 0%,rgba(5,8,17,.18) 18%,rgba(5,8,17,.55) 45%,rgba(5,8,17,.9) 100%);pointer-events:none;z-index:1;}
.results-column{min-height:0;}
.rail-head{grid-template-columns:auto minmax(220px,360px) auto;}
@media (min-width: 981px){.viz-tools{display:none;}.rail-zoom-tools input{display:none;}.rail-zoom-tools{min-width:auto;gap:8px;justify-self:end;}}
@media (max-width:1180px){.viz-card{height:calc(100vh - var(--bottom-h) - 190px);min-height:420px;}}
@media (max-width:980px){.viz-tools{display:flex;}.rail-zoom-tools input{display:block;}.viz-card{height:auto;min-height:380px;max-height:none;}.interpretation-overlay{position:static;max-height:none;margin:12px;}.viz-card::after{display:none;}}


/* === stable v1.9.240 usability polish === */
html{scrollbar-color:rgba(245,199,92,.75) rgba(17,26,48,.92);}
*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-track{background:rgba(11,19,37,.96);border-radius:99px;}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(245,199,92,.95),rgba(160,112,255,.85));border-radius:99px;border:2px solid rgba(11,19,37,.96);}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(255,223,140,.98),rgba(177,132,255,.9));}
.app-shell{padding:22px 24px 0;position:relative;z-index:1;min-height:calc(100dvh - var(--bottom-h));display:flex;flex-direction:column;}
.layout{display:grid;grid-template-columns:320px minmax(420px,1fr) 500px;gap:18px;align-items:stretch;flex:1;min-height:0;}
.stage{display:grid;grid-template-rows:auto auto 1fr;align-content:stretch;min-height:0;height:100%;}
.viz-card{position:relative;height:100%;min-height:0;max-height:none;overflow:hidden;}
#cycleSvg{width:100%;height:100%;display:block;}
.interpretation-overlay{max-height:110px;}
.rail-head{display:grid;grid-template-columns:auto minmax(360px,1fr) auto;align-items:center;gap:14px;}
.rail-head-title{display:flex;align-items:center;gap:12px;white-space:nowrap;}
.switch-inline{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(142,159,201,.22);background:rgba(10,16,30,.7);border-radius:999px;color:#cfd9f0;font-size:12px;}
.switch-inline input{width:auto;margin:0;accent-color:var(--gold);}
.milestone-search-wrap{position:relative;min-width:0;width:100%;}
.milestone-search-box{display:flex;align-items:center;gap:8px;min-height:48px;padding:7px 12px;border-radius:14px;border:1px solid rgba(142,159,201,.22);background:rgba(8,13,25,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.02);}
.milestone-search-box:focus-within{border-color:rgba(241,196,90,.48);box-shadow:0 0 0 3px rgba(241,196,90,.12);}
.milestone-selected{display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;}
.milestone-search-wrap input{border:none;background:transparent;box-shadow:none;padding:0;min-width:120px;flex:1;color:#fff;}
.milestone-search-wrap input::placeholder{color:#93a0bd;}
.milestone-tag{display:inline-flex;align-items:center;gap:7px;max-width:180px;padding:6px 10px;border-radius:999px;border:1px solid rgba(245,199,92,.28);background:rgba(245,199,92,.1);color:#ffe7a2;font-size:12px;cursor:pointer;}
.milestone-tag span{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.milestone-tag i{font-style:normal;color:#fff;opacity:.85;}
.milestone-suggest{width:100%;max-width:none;left:0;right:auto;}
.milestone-filters-wrap{display:block;min-width:0;justify-items:stretch;margin-bottom:10px;transition:max-height .22s ease, opacity .18s ease, margin .18s ease;max-height:64px;opacity:1;overflow:hidden;}
.milestone-filters-wrap.is-hidden{max-height:0;opacity:0;margin-bottom:0;}
.milestone-filters{display:flex;gap:7px;overflow:auto;padding-bottom:4px;white-space:nowrap;flex-wrap:nowrap;}
.rail-zoom-tools{min-width:auto;gap:8px;justify-self:end;}
@media (min-width: 981px){.viz-tools{display:none;}.rail-zoom-tools input{display:none;}}
@media (max-width:1280px){.layout{grid-template-columns:300px minmax(360px,1fr) 430px;}.rail-head{grid-template-columns:auto minmax(280px,1fr) auto;}}
@media (max-width:980px){.app-shell{min-height:auto;display:block;}.layout{display:grid;grid-template-columns:1fr;}.stage{height:auto;}.viz-card{height:auto;min-height:380px;}.rail-head{grid-template-columns:1fr;align-items:stretch;}.rail-head-title{justify-content:space-between;}.rail-zoom-tools input{display:block;}}


/* === stable v1.9.240 intro + layout polish === */
body{height:100dvh;overflow:hidden;padding-bottom:0;}
.app-shell{height:calc(100dvh - var(--bottom-h));max-height:calc(100dvh - var(--bottom-h));overflow:hidden;}
.layout{height:100%;min-height:0;}
.controls{height:100%;min-height:0;overflow:auto;}
.results-column{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:18px;}
.results.wide-results{min-height:0;overflow:auto;}
.stage{height:100%;min-height:0;}
.stage-header{margin-bottom:8px;}
.viz-tools{margin-bottom:8px;}
.viz-card{height:100%;min-height:0;}
@media (min-width:981px){.viz-card{height:calc(100% - 0px);} }
.skip-intro{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:7px 12px;border:none;background:transparent;color:#ffd27a;font:700 13px/1.2 "IBM Plex Mono",Consolas,monospace;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;z-index:6;opacity:.84;}
.skip-intro:hover,.skip-intro:focus-visible{opacity:1;text-shadow:0 0 12px rgba(255,203,102,.55);outline:none;}
.skip-intro.hidden{display:none;}
.switch-inline.switch-only{padding:4px;border:1px solid rgba(142,159,201,.24);background:rgba(10,16,30,.78);min-width:auto;}
.switch-inline.switch-only span{position:relative;display:block;width:38px;height:22px;border-radius:999px;background:rgba(39,53,86,.92);border:1px solid rgba(142,159,201,.22);transition:all .18s ease;}
.switch-inline.switch-only span::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:linear-gradient(180deg,#f8fbff,#d7e2ff);box-shadow:0 1px 6px rgba(0,0,0,.35);transition:transform .18s ease;}
.switch-inline.switch-only input{position:absolute;opacity:0;pointer-events:none;}
.switch-inline.switch-only input:checked + span{background:linear-gradient(90deg,rgba(245,199,92,.55),rgba(160,112,255,.55));border-color:rgba(245,199,92,.4);}
.switch-inline.switch-only input:checked + span::after{transform:translateX(16px);background:linear-gradient(180deg,#fff3c0,#f5c75c);}
.milestone-suggest{top:auto;bottom:calc(100% + 8px);}
.milestone-search-wrap input{min-width:220px;}
@media (max-width:980px){body{overflow:auto;height:auto;padding-bottom:var(--bottom-h);} .app-shell{height:auto;max-height:none;overflow:visible;} .controls,.results-column,.results.wide-results{overflow:visible;height:auto;} .skip-intro{left:12px;right:12px;transform:none;min-width:0;}}


/* === stable v1.9.240 viewport / feed / milestones polish === */
:root{--bottom-h:164px;}
body{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100dvh;overflow:hidden;padding-bottom:0;}
.app-shell{height:100%;max-height:100%;min-height:0;padding-bottom:10px;overflow:hidden;}
.layout{height:100%;min-height:0;align-items:stretch;}
.controls,.wide-results{min-height:0;overflow:auto;}
.results-column{min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr);}
.stage{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);}
.viz-card{min-height:0;height:100%;max-height:none;display:block;}
.milestone-rail{position:relative;left:auto;right:auto;bottom:auto;z-index:5;min-height:var(--bottom-h);max-height:var(--bottom-h);padding:12px 14px 12px;box-sizing:border-box;}
.skip-intro{position:fixed;left:50%;bottom:8px;transform:translateX(-50%);z-index:10002;}
.skip-intro.hidden{display:none;}
.rail-head{display:grid;grid-template-columns:auto minmax(420px,1fr) auto;align-items:center;gap:14px;}
.rail-track{height:96px;border-radius:20px;overflow:hidden;}
.rail-track:before{top:60px;height:2px;left:22px;right:22px;}
.milestone{top:8px;}
.milestone .label{font-size:12px;padding:5px 8px;max-width:180px;border-radius:12px;}
.milestone .pin{width:14px;height:14px;margin:19px auto 0;border-width:2px;position:relative;z-index:2;}
.milestone .pin::before{content:'';position:absolute;left:50%;top:-12px;width:2px;height:12px;background:currentColor;opacity:.55;transform:translateX(-50%);}
.milestone:hover .label{overflow:visible;white-space:normal;max-width:220px;}
.rail-zoom-tools input{max-width:180px;}
.milestone-search-wrap{width:100%;}
.milestone-search-box{min-height:42px;}
.milestone-suggest{max-height:240px;overflow:auto;}
.interpretation-overlay{position:absolute;left:12px;right:12px;bottom:12px;margin:0;z-index:2;background:linear-gradient(180deg,rgba(9,14,26,.62),rgba(7,10,20,.86));border:1px solid rgba(142,159,201,.14);backdrop-filter:blur(8px);}
.event-feed{display:grid;gap:5px;margin-bottom:10px;pointer-events:none;}
.event-item{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:rgba(245,248,255,.6);line-height:1.25;font-weight:500;}
.event-bullet{font-size:14px;line-height:1;transform:translateY(-1px);}
.interpretation-copy{position:relative;z-index:1;}
.controls, .wide-results, .table-wrap, .milestone-suggest, .milestone-filters{scrollbar-width:thin;scrollbar-color:#7f8fb6 rgba(8,12,24,.72);}
.controls::-webkit-scrollbar, .wide-results::-webkit-scrollbar, .table-wrap::-webkit-scrollbar, .milestone-suggest::-webkit-scrollbar, .milestone-filters::-webkit-scrollbar{width:10px;height:10px;}
.controls::-webkit-scrollbar-track, .wide-results::-webkit-scrollbar-track, .table-wrap::-webkit-scrollbar-track, .milestone-suggest::-webkit-scrollbar-track, .milestone-filters::-webkit-scrollbar-track{background:rgba(8,12,24,.72);border-radius:999px;}
.controls::-webkit-scrollbar-thumb, .wide-results::-webkit-scrollbar-thumb, .table-wrap::-webkit-scrollbar-thumb, .milestone-suggest::-webkit-scrollbar-thumb, .milestone-filters::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(245,199,92,.85),rgba(114,133,214,.85));border:2px solid rgba(8,12,24,.72);border-radius:999px;}
.controls::-webkit-scrollbar-thumb:hover, .wide-results::-webkit-scrollbar-thumb:hover, .table-wrap::-webkit-scrollbar-thumb:hover, .milestone-suggest::-webkit-scrollbar-thumb:hover, .milestone-filters::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(255,216,125,.95),rgba(145,160,255,.95));}
@media (max-width:1280px){.rail-head{grid-template-columns:auto minmax(280px,1fr) auto;}}
@media (max-width:980px){body{display:block;height:auto;overflow:auto;padding-bottom:0;} .app-shell{height:auto;max-height:none;overflow:visible;} .milestone-rail{position:relative;max-height:none;min-height:170px;} .rail-head{grid-template-columns:1fr;} .skip-intro{left:12px;right:12px;transform:none;bottom:10px;}}


/* === stable v1.9.240 event log + quick labels polish === */
.quick-years{
  display:flex;
  flex-wrap:wrap;
  grid-template-columns:none;
  align-items:flex-start;
  gap:7px;
}
.quick-years .quick-chip{
  flex:0 0 auto;
  min-width:0;
  min-height:36px;
  padding:9px 11px;
}
.event-feed{display:none;}
.event-log-panel{
  position:absolute;
  top:18px;
  left:18px;
  z-index:3;
  width:min(360px,38%);
  max-height:32%;
  overflow:hidden;
  padding:12px 14px;
  border:1px solid rgba(142,159,201,.16);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,12,24,.50),rgba(8,12,24,.20));
  backdrop-filter:blur(8px);
  pointer-events:none;
}
.event-log-panel.hidden{display:none;}
.event-log-title{
  color:rgba(235,241,255,.35);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:7px;
}
.event-log-item{
  display:flex;
  gap:8px;
  align-items:flex-start;
  color:rgba(235,241,255,.58);
  font-size:12px;
  line-height:1.32;
  font-weight:650;
  margin:4px 0;
  transform:translateY(0);
  transition:opacity .2s ease;
}
.event-log-item.is-current{
  color:rgba(255,255,255,.96);
  font-weight:800;
}
.event-log-item .event-bullet{
  color:var(--event-color);
  font-size:14px;
  line-height:1;
  text-shadow:0 0 10px var(--event-color);
  transform:translateY(1px);
}
.interpretation-overlay{
  max-height:105px;
}
@media (max-width:980px){
  .event-log-panel{
    width:auto;
    right:18px;
    max-height:140px;
  }
}


/* === stable v1.9.240 event-log polishing === */
.event-log-panel{
  top:18px;
  left:20px;
  bottom:142px;
  width:min(420px,40%);
  max-height:none;
  padding:10px 12px;
  border:none;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 72%,rgba(0,0,0,.72) 86%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 72%,rgba(0,0,0,.72) 86%,transparent 100%);
}
.event-log-title{
  color:rgba(235,241,255,.34);
  font-size:10px;
  letter-spacing:.16em;
  margin-bottom:8px;
}
.event-log-item{
  font-size:12px;
  margin:5px 0;
  color:rgba(235,241,255,.50);
  text-shadow:0 1px 10px rgba(0,0,0,.32);
}
.event-log-item.is-current{
  color:rgba(255,255,255,.98);
  text-shadow:0 0 12px rgba(255,255,255,.10),0 1px 10px rgba(0,0,0,.38);
}
.event-log-item .event-bullet{
  filter:drop-shadow(0 0 6px var(--event-color));
}
.interpretation-overlay{
  left:18px;
  right:18px;
  bottom:14px;
  max-height:105px;
}
@media (max-width:980px){
  .event-log-panel{
    left:16px;
    right:16px;
    width:auto;
    bottom:150px;
    max-height:none;
  }
}


/* === stable v1.9.240 cinematic divine glitch + Selair Channel === */
.divine-glitch-overlay{
  position:fixed;
  inset:0;
  z-index:10001;
  pointer-events:none;
  opacity:0;
  overflow:hidden;
  mix-blend-mode:screen;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 4px),
    linear-gradient(90deg,rgba(255,55,70,.10),rgba(60,130,255,.08),rgba(255,190,70,.11));
}
.divine-glitch-overlay.is-active{
  opacity:1;
  animation:divineOverlayPulse 1.15s steps(2,end) both;
}
.divine-glitch-overlay.medium{animation-duration:.9s;}
.divine-glitch-overlay.minor{animation-duration:.45s;opacity:.55;}
.divine-glitch-overlay span{
  position:absolute;
  left:var(--x);
  top:var(--y);
  transform:translate(-50%,-50%);
  color:#fff;
  font:800 12px/1 "IBM Plex Mono",Consolas,monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-shadow:
    2px 0 rgba(255,62,62,.85),
    -2px 0 rgba(60,130,255,.75),
    0 0 18px rgba(255,199,92,.55);
  opacity:.0;
  animation:fragmentBurst .8s steps(2,end) both;
  animation-delay:calc(var(--i) * .035s);
  white-space:nowrap;
}
body.divine-glitching .app-shell,
body.divine-glitching .milestone-rail,
body.divine-glitching .secret-gate,
body.divine-glitching .selair-channel-window{
  animation:godFrameJitter .15s steps(2,end) infinite;
}
body.glitch-divine .app-shell,
body.glitch-divine .secret-gate,
body.glitch-divine .milestone-rail{
  filter:saturate(1.45) contrast(1.12) brightness(1.08);
}
body.glitch-divine::after{
  content:"";
  position:fixed;
  inset:-12px;
  z-index:10000;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.20) 12.5%,transparent 13% 42%,rgba(255,183,67,.20) 43%,transparent 44% 100%),
    repeating-linear-gradient(180deg,transparent 0 7px,rgba(255,255,255,.09) 7px 9px);
  mix-blend-mode:screen;
  animation:godTear 1.1s steps(8,end) both;
}
@keyframes divineOverlayPulse{
  0%{clip-path:inset(0 0 100% 0);filter:hue-rotate(0deg) contrast(1)}
  10%{clip-path:inset(12% 0 65% 0);transform:translateX(-18px)}
  18%{clip-path:inset(0 0 0 0);filter:hue-rotate(80deg) contrast(2.1);transform:translateX(12px)}
  28%{clip-path:inset(42% 0 22% 0);transform:translateX(-34px)}
  38%{clip-path:inset(0 0 0 0);background-color:rgba(255,255,255,.32)}
  46%{clip-path:inset(4% 0 78% 0);transform:translateX(40px)}
  58%{clip-path:inset(72% 0 3% 0);transform:translateX(-24px)}
  72%{clip-path:inset(0 0 0 0);filter:hue-rotate(-40deg) contrast(2.4)}
  100%{clip-path:inset(0 0 0 0);opacity:0;filter:hue-rotate(0deg)}
}
@keyframes fragmentBurst{
  0%,12%{opacity:0;transform:translate(-50%,-50%) skewX(0deg)}
  18%{opacity:.9;transform:translate(calc(-50% + 18px),-50%) skewX(14deg)}
  30%{opacity:.15;transform:translate(calc(-50% - 24px),-50%) skewX(-18deg)}
  46%{opacity:.85}
  65%{opacity:.25}
  100%{opacity:0;transform:translate(-50%,-50%) skewX(0deg)}
}
@keyframes godFrameJitter{
  0%{transform:translate(0,0)}
  25%{transform:translate(-2px,1px)}
  50%{transform:translate(3px,-1px)}
  75%{transform:translate(-1px,-2px)}
  100%{transform:translate(0,0)}
}
@keyframes godTear{
  0%{opacity:0;transform:translateX(0)}
  12%{opacity:.9;transform:translateX(-18px)}
  22%{opacity:.35;transform:translateX(34px)}
  38%{opacity:.8;transform:translateX(-44px)}
  55%{opacity:.25;transform:translateX(14px)}
  72%{opacity:.7;transform:translateX(-8px)}
  100%{opacity:0;transform:translateX(0)}
}

/* Hidden modal channel */
.selair-channel.hidden{display:none;}
.selair-channel{
  position:fixed;
  inset:0;
  z-index:9000;
  display:grid;
  place-items:center;
  padding:24px;
}
.selair-channel-backdrop{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 45% 30%,rgba(93,119,255,.16),transparent 42%),rgba(2,5,12,.64);
  backdrop-filter:blur(8px);
}
.selair-channel-window{
  position:relative;
  z-index:1;
  width:min(760px,calc(100vw - 34px));
  max-height:min(680px,calc(100vh - 50px));
  display:grid;
  grid-template-rows:auto minmax(240px,1fr) auto auto;
  border:1px solid rgba(142,159,201,.24);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(13,20,38,.86),rgba(7,10,20,.92)),
    radial-gradient(circle at 30% 0%,rgba(245,199,92,.12),transparent 45%);
  box-shadow:0 30px 90px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}
.selair-channel-window:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px);
  opacity:.34;
}
.selair-channel.is-closing .selair-channel-window{
  animation:channelClose .22s ease both;
}
@keyframes channelClose{
  to{opacity:0;transform:scale(.985) translateY(8px);filter:blur(3px)}
}
.selair-channel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px 20px 14px;
  border-bottom:1px solid rgba(142,159,201,.16);
}
.selair-channel-head p{
  margin:0 0 4px;
  color:var(--gold);
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
}
.selair-channel-head h2{
  margin:0;
  font-family:"IBM Plex Mono",Consolas,monospace;
  font-size:22px;
  letter-spacing:.08em;
}
.selair-channel-head button{
  width:auto;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid rgba(142,159,201,.22);
  background:rgba(16,25,46,.72);
  color:#cfd9f0;
  font-weight:800;
}
.selair-channel-messages{
  position:relative;
  display:grid;
  align-content:start;
  gap:10px;
  padding:18px 20px;
  overflow:auto;
  min-height:260px;
  font-family:"IBM Plex Mono",Consolas,monospace;
}
.channel-line{
  color:rgba(230,238,255,.82);
  font-size:13px;
  line-height:1.42;
}
.channel-line.system{
  color:rgba(245,199,92,.68);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
}
.channel-line.user{
  color:#fff;
}
.channel-prefix{
  color:var(--gold);
  margin-right:8px;
}
.channel-line.selair{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#fff;
}
.selair-prefix{
  flex:0 0 auto;
  color:#ff5a53;
  text-shadow:0 0 12px rgba(255,90,83,.42);
}
.channel-body{
  color:#ffffff;
}
.channel-cursor{
  width:9px;
  height:16px;
  display:inline-block;
  background:#fff;
  box-shadow:0 0 12px rgba(255,255,255,.65);
  animation:blink 1s steps(2,end) infinite;
  transform:translateY(1px);
}
.selair-channel-form{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:14px 18px 12px;
  border-top:1px solid rgba(142,159,201,.16);
}
.selair-channel-form .channel-prompt{
  color:var(--gold);
  font:900 18px/1 "IBM Plex Mono",Consolas,monospace;
}
.selair-channel-form input{
  border-radius:14px;
  background:rgba(5,9,18,.74);
  font-family:"IBM Plex Mono",Consolas,monospace;
}
.selair-channel-form button{
  width:auto;
  border:none;
  border-radius:14px;
  padding:11px 14px;
  background:linear-gradient(180deg,#f5c75c,#d99d24);
  color:#08101e;
  font-weight:700;
}
.selair-channel-hint{
  margin:0;
  padding:0 18px 16px;
  color:rgba(174,187,219,.62);
  font-size:11px;
}
@media (max-width:760px){
  .selair-channel-window{max-height:calc(100vh - 24px);border-radius:18px;}
  .selair-channel-form{grid-template-columns:auto 1fr;}
  .selair-channel-form button{grid-column:2;}
}


/* === stable v1.9.240 cycle-table stretch + influence rings + no context menu === */
.results-column{
  min-height:0;
  overflow:hidden;
}
.wide-results{
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:16px;
  overflow:hidden;
}
.wide-results section{
  min-height:0;
}
.wide-results section:first-child{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:10px;
}
.wide-results section:first-child h2{
  margin-bottom:0;
}
.wide-results .table-wrap{
  max-height:none;
  height:100%;
  min-height:0;
  overflow:auto;
}
.wide-results section+section{
  margin-top:0;
  padding-top:16px;
}
.playlist-panel{
  flex:0 0 auto;
}
.influence-rings{
  position:absolute;
  top:18px;
  right:18px;
  z-index:4;
  width:152px;
  height:150px;
  pointer-events:auto;
  display:grid;
  align-content:start;
  justify-items:end;
  gap:7px;
  opacity:.92;
}
.influence-rings-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(232,239,255,.48);
  text-shadow:0 1px 10px rgba(0,0,0,.35);
  padding-right:4px;
}
.influence-rings-stack{
  position:relative;
  width:122px;
  height:122px;
  border-radius:50%;
}
.influence-ring{
  position:absolute;
  left:50%;
  top:50%;
  width:var(--d);
  height:var(--d);
  border-radius:50%;
  border:var(--w) solid var(--c);
  opacity:var(--o);
  transform:translate(-50%,-50%);
  box-shadow:
    0 0 var(--g) color-mix(in srgb, var(--c) 70%, transparent),
    inset 0 0 calc(var(--g) * .55) color-mix(in srgb, var(--c) 45%, transparent);
  background:transparent;
}
.influence-ring:hover{
  opacity:1;
  filter:brightness(1.2);
}
.influence-core{
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:#fff;
  box-shadow:0 0 14px var(--c), 0 0 28px color-mix(in srgb, var(--c) 65%, transparent);
}
@media (max-width:980px){
  .wide-results{
    display:block;
    overflow:visible;
  }
  .wide-results .table-wrap{
    max-height:520px;
  }
  .influence-rings{
    width:124px;
    height:124px;
    top:12px;
    right:12px;
  }
  .influence-rings-stack{
    width:96px;
    height:96px;
  }
}


/* === stable v1.9.240 polish: intro cleanup + orbit mini + star passphrase === */
.selair-message .ai-message-meta{
  display:none;
}
.selair-message .ai-message-body{
  font-size:17px;
}
.crt-header{
  gap:16px;
}
.ouroboros-mark{
  width:82px;
  height:82px;
  padding:0;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.ouroboros-logo-img{
  width:72px;
  height:72px;
  filter:drop-shadow(0 0 12px rgba(255,183,67,.24));
}
.crt-header h1 .angol-name{
  font-size:1.0em;
  letter-spacing:.13em;
}
.password-form{
  grid-template-columns:1fr auto;
}
.password-form input{
  min-height:54px;
  display:flex;
  align-items:center;
  font-size:28px;
  letter-spacing:.16em;
  line-height:1;
  padding-top:0;
  padding-bottom:0;
  font-family:"Courier New", ui-monospace, monospace;
}
.password-form input::selection{
  background:rgba(255,183,67,.16);
}
.password-form input:focus{
  caret-color:#ffe39a;
}
.password-form button{
  min-height:54px;
}
.orbit-mini{
  position:absolute;
  top:18px;
  right:184px;
  z-index:4;
  width:148px;
  height:150px;
  display:grid;
  justify-items:end;
  align-content:start;
  gap:7px;
  opacity:.96;
  pointer-events:auto;
}
.orbit-mini-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(232,239,255,.48);
  text-shadow:0 1px 10px rgba(0,0,0,.35);
  padding-right:4px;
}
.orbit-mini-stack{
  position:relative;
  width:124px;
  height:124px;
}
.mini-orbit-track{
  position:absolute;
  left:50%;
  top:50%;
  width:var(--d);
  height:var(--d);
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid color-mix(in srgb, var(--c) 22%, transparent);
  box-shadow:inset 0 0 10px rgba(255,255,255,.018);
}
.mini-orbit-dot{
  position:absolute;
  width:var(--dot);
  height:var(--dot);
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:var(--c);
  box-shadow:
    0 0 var(--g) color-mix(in srgb, var(--c) 74%, transparent),
    0 0 calc(var(--g) * 1.5) color-mix(in srgb, var(--c) 34%, transparent);
}
@media (max-width:1100px){
  .orbit-mini{
    right:152px;
    width:116px;
  }
  .orbit-mini-stack{
    width:92px;
    height:92px;
  }
}
@media (max-width:980px){
  .orbit-mini{
    top:12px;
    right:128px;
    width:100px;
    height:112px;
  }
  .orbit-mini-stack{
    width:74px;
    height:74px;
  }
  .influence-rings{
    right:12px;
  }
}


/* === stable v1.9.240 fixes === */
.password-form input{
  font-size:30px;
  letter-spacing:.08em;
  line-height:54px;
  font-family:"Courier New", ui-monospace, monospace;
}
.password-form input::placeholder{
  letter-spacing:.08em;
}
.orbit-mini-stack{
  position:relative;
  width:124px;
  height:124px;
  isolation:isolate;
}




/* === stable v1.9.240 polish === */

.timeline-toolbar{
  margin:0 0 12px;
  padding:14px 16px 12px;
  background:linear-gradient(180deg,rgba(12,18,34,.72),rgba(8,11,22,.84));
  border:1px solid rgba(142,159,201,.18);
  border-radius:22px;
  box-shadow:0 16px 44px rgba(0,0,0,.18);
}
.timeline-top-row{
  display:grid;
  grid-template-columns:auto minmax(320px,1fr) minmax(132px,170px);
  gap:12px;
  align-items:center;
  margin-bottom:10px;
}
.timeline-play-main{
  min-width:170px;
  margin:0;
}
.timeline-compact-field{
  margin:0;
}
.timeline-compact-field > span{
  display:none;
}
.timeline-compact-field select{
  min-height:52px;
}
.timeline-slider-block{
  min-width:0;
}
.timeline-slider-row{
  padding:2px 2px 6px;
}
.timeline-slider-row input[type=range]{
  height:18px;
}
.timeline-slider-meta{
  margin-top:2px;
}
.timeline-speed-field select{
  text-align:right;
}
.controls{
  display:flex;
  flex-direction:column;
}
.password-form input[type="text"],
.password-form input[type="password"]{
  text-rendering:geometricPrecision;
}
@media (max-width:1180px){
  .timeline-top-row{
    grid-template-columns:auto 1fr minmax(124px,160px);
  }
}
@media (max-width:920px){
  .timeline-top-row{
    grid-template-columns:1fr;
  }
  .timeline-play-main{
    min-width:0;
  }
}


/* === stable v1.9.240 upgrade === */
.timeline-top-row{
  align-items:stretch;
}
.timeline-play-main,
.timeline-compact-field select,
.timeline-speed-field select{
  min-height:56px;
}
.timeline-play-main{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  border-radius:18px;
}
.password-form input{
  font-family:"Trebuchet MS","Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  letter-spacing:.18em;
}
.ouroboros-mark{
  width:160px;
  height:160px;
}
.ouroboros-logo-img{
  width:142px;
  height:142px;
}
.cosmic-pulse{
  position:absolute;
  top:18px;
  right:350px;
  z-index:4;
  width:150px;
  height:150px;
  display:grid;
  justify-items:end;
  align-content:start;
  gap:7px;
  opacity:.96;
  pointer-events:auto;
}
.cosmic-pulse-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(232,239,255,.48);
  text-shadow:0 1px 10px rgba(0,0,0,.35);
  padding-right:4px;
}
.cosmic-pulse-stack{
  position:relative;
  width:124px;
  height:124px;
  border-radius:50%;
  display:grid;
  place-items:center;
}
.cosmic-pulse-ring{
  position:absolute;
  inset:9px;
  border-radius:50%;
  border:1px solid rgba(245,199,92,.20);
  box-shadow:inset 0 0 18px rgba(245,199,92,.06);
}
.cosmic-pulse-fill{
  position:absolute;
  width:calc(100% - 22px);
  height:calc(100% - 22px);
  left:11px;
  top:11px;
  border-radius:50%;
  transform:scale(var(--pulse-scale));
  transform-origin:center center;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.98) 0 8%, transparent 10%),
    radial-gradient(circle at 50% 50%, transparent 0 22%, color-mix(in srgb, var(--pulse-color) 96%, #fff 4%) 23% 67%, transparent 70%),
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--pulse-color) 90%, #fff 10%) 0 100%);
  box-shadow:
    0 0 var(--pulse-glow) color-mix(in srgb, var(--pulse-color) 72%, transparent),
    0 0 calc(var(--pulse-glow) * 1.8) color-mix(in srgb, var(--pulse-color) 26%, transparent),
    inset 0 0 24px color-mix(in srgb, var(--pulse-color) 55%, rgba(255,255,255,.2));
  opacity:.96;
}
.cosmic-pulse-core{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 14px rgba(255,255,255,.95), 0 0 34px rgba(255,255,255,.35);
}
.orbit-mini{
  right:184px;
}
@media (max-width:1280px){
  .cosmic-pulse{ right:316px; width:132px; height:138px; }
  .cosmic-pulse-stack{ width:108px; height:108px; }
}
@media (max-width:1100px){
  .cosmic-pulse{ right:260px; width:116px; }
  .cosmic-pulse-stack{ width:92px; height:92px; }
  .orbit-mini{ right:144px; }
}
@media (max-width:980px){
  .cosmic-pulse{ top:12px; right:236px; width:100px; height:112px; }
  .cosmic-pulse-stack{ width:74px; height:74px; }
  .orbit-mini{ right:128px; }
}


/* === stable v1.9.240 refinements === */
.password-form input{
  font-family:"Courier New", ui-monospace, monospace;
  font-size:30px;
  letter-spacing:.08em;
  line-height:54px;
}
.password-form input::placeholder{
  letter-spacing:.08em;
}
.ouroboros-mark{
  width:122px;
  height:122px;
}
.ouroboros-logo-img{
  width:122px;
  height:122px;
  filter:drop-shadow(0 0 8px rgba(255,183,67,.18));
}
@media (max-width:720px){
  .ouroboros-mark{width:80px;height:80px;}
  .ouroboros-logo-img{width:80px;height:80px;}
}
.cosmic-pulse-fill{
  width:calc(100% - 22px);
  height:calc(100% - 22px);
  left:11px;
  top:11px;
  border-radius:50%;
  transform:scale(var(--pulse-scale));
  transform-origin:center center;
  background:transparent;
  border:var(--pulse-thickness) solid var(--pulse-color);
  box-shadow:
    0 0 var(--pulse-glow) color-mix(in srgb, var(--pulse-color) 72%, transparent),
    0 0 calc(var(--pulse-glow) * 1.75) color-mix(in srgb, var(--pulse-color) 28%, transparent),
    inset 0 0 12px color-mix(in srgb, var(--pulse-color) 44%, transparent);
  opacity:var(--pulse-opacity, .96);
}
.cosmic-pulse-ring{
  border:1px solid rgba(140, 210, 170, .20);
  box-shadow:inset 0 0 18px rgba(120, 220, 170, .05), 0 0 18px rgba(120, 220, 170, .05);
}
.cosmic-pulse-core{
  width:10px;
  height:10px;
  background:#fff;
  box-shadow:0 0 18px rgba(255,255,255,.95), 0 0 38px rgba(255,255,255,.38);
}


/* === stable v1.9.240 refinements === */
.password-form input{
  font-weight:800;
  letter-spacing:.09em;
  text-shadow:0 0 9px rgba(255,183,67,.34);
}
.ouroboros-mark{
  width:104px;
  height:104px;
}
.ouroboros-logo-img{
  width:104px;
  height:104px;
}
@media (max-width:720px){
  .ouroboros-mark{width:74px;height:74px;}
  .ouroboros-logo-img{width:74px;height:74px;}
}
.cosmic-pulse,
.orbit-mini,
.influence-rings{
  justify-items:center;
}
.cosmic-pulse-label,
.orbit-mini-label,
.influence-rings-label{
  width:100%;
  text-align:center;
  padding-right:0;
  padding-left:0;
}
.cosmic-pulse-fill{
  background:transparent;
  border:var(--pulse-thickness) solid var(--pulse-color);
  box-shadow:
    0 0 var(--pulse-glow) color-mix(in srgb, var(--pulse-color) 76%, transparent),
    0 0 calc(var(--pulse-glow) * 1.8) color-mix(in srgb, var(--pulse-color) 30%, transparent),
    inset 0 0 16px color-mix(in srgb, var(--pulse-color) 28%, transparent);
}
.cosmic-pulse-core{
  width:10px;
  height:10px;
  background:#fff;
  opacity:var(--core-opacity, 0);
  transform:translateZ(0) scale(var(--core-scale, 1));
  box-shadow:0 0 16px rgba(255,255,255,.94), 0 0 34px rgba(255,255,255,.30);
}


/* === stable v1.9.240 cosmic pulse refinement === */
.cosmic-pulse-fill{
  background:transparent;
  border-style:solid;
  border-color:var(--pulse-color);
  border-width:var(--pulse-thickness);
  box-shadow:
    0 0 var(--pulse-glow) color-mix(in srgb, var(--pulse-color) 76%, transparent),
    0 0 calc(var(--pulse-glow) * 1.85) color-mix(in srgb, var(--pulse-color) 28%, transparent),
    inset 0 0 16px color-mix(in srgb, var(--pulse-color) 24%, transparent);
}
.cosmic-pulse-core{display:none;}


/* === stable v1.9.240 polish === */
.topbar h1{
  font-size:clamp(22px, 3vw, 40px);
}


/* === stable v1.9.240 cosmic pulse sizing fix === */
.cosmic-pulse-fill{
  width:var(--pulse-size);
  height:var(--pulse-size);
  left:var(--pulse-offset);
  top:var(--pulse-offset);
  transform:none;
  border-radius:50%;
  /* subtle organic shimmer */
  filter:saturate(1.02);
}


/* === stable v1.9.240 cosmic pulse centering + playback rail follow === */
.cosmic-pulse-fill{
  box-sizing:border-box;
  will-change:width,height,left,top,border-width,filter;
}


/* === stable v1.9.240 cosmic pulse hard-centering fix === */
.cosmic-pulse-fill{
  left:50%;
  top:50%;
  width:var(--pulse-size);
  height:var(--pulse-size);
  transform:translate(-50%, -50%);
  box-sizing:border-box;
}


/* === stable v1.9.240 astronomical time reference === */
.time-ref-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin:2px 0 10px;
  padding:4px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:16px;
  background:rgba(5,10,21,.48);
}
.time-ref-tabs button{
  border:0;
  border-radius:12px;
  min-height:34px;
  padding:7px 8px;
  background:transparent;
  color:rgba(206,217,242,.72);
  font-weight:800;
  font-size:12px;
  cursor:pointer;
}
.time-ref-tabs button.active{
  color:#08101e;
  background:linear-gradient(180deg,#f5c75c,#d99d24);
  box-shadow:0 0 18px rgba(245,199,92,.24);
}
.time-ref-hint{
  margin:-4px 0 10px;
  color:rgba(245,199,92,.78);
  font-size:12px;
  font-weight:750;
}


/* === stable v1.9.240 time display polish === */
#calendarYearField > span,
#cosmicAgeField > span{
  display:none;
}
#calendarYearField,
#cosmicAgeField{
  margin-top:14px;
}

#calendarYearField > span,
#cosmicAgeField > span{display:none;}
#calendarYearField,
#cosmicAgeField{gap:0;}


/* === stable v1.9.240 intuitive view controls === */
.preset-block{margin:4px 0 14px;}
.preset-title{color:var(--muted);font-size:12px;margin-bottom:8px;}
.view-presets{display:flex;flex-wrap:wrap;gap:7px;}
.preset-chip{font-size:12px;padding:8px 10px;}
#cycleOrderSelect{font-size:14px;}


/* === stable v1.9.240 UI intuition pass === */
.app-shell,
.app-shell h1,
.app-shell h2,
.stage-header h2,
.watermark,
.milestone-rail,
.selair-channel{
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.app-shell h1{
  font-weight:850;
  letter-spacing:-.035em;
}
.stage-header h2{
  font-weight:850;
  letter-spacing:-.035em;
}
.watermark{
  font-weight:800;
  letter-spacing:-.04em;
}
.view-presets{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.preset-title{
  color:var(--muted);
  font-size:12px;
  margin:0 0 8px;
}
.preset-chip{
  border-radius:999px;
}


/* === stable v1.9.240 app typography cleanup === */
.app-shell, .app-shell *,
.milestone-rail, .milestone-rail *,
.tooltip, .tooltip *{
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.app-shell h1, .app-shell h2, .app-shell h3,
.app-shell strong, .app-shell button,
.app-shell .eyebrow, .app-shell .summary-pill,
.app-shell .phase-badge, .app-shell .legend-title,
.app-shell .current-year-label, .app-shell .event-log-title,
.app-shell .cosmic-pulse-label, .app-shell .orbit-mini-label, .app-shell .influence-rings-label,
.milestone-rail strong, .milestone-rail button,
.milestone-rail .chip, .milestone-rail .label,
.milestone-rail .milestone-suggest-item strong,
.tooltip strong{
  font-weight:700;
}


/* === stable v1.9.240 milestone search + calendar time cleanup === */
.rail-head-simple{
  display:grid;
  grid-template-columns:minmax(320px, 1fr) auto;
  align-items:center;
  gap:18px;
}
.rail-head-simple .milestone-search-wrap{
  display:grid;
  grid-template-columns:auto minmax(280px, 1fr);
  align-items:center;
  gap:12px;
  max-width:min(50vw, 760px);
  width:100%;
  justify-self:start;
  min-width:0;
}
.milestone-search-label{
  color:#fff;
  font-weight:700;
  white-space:nowrap;
}
.rail-head-simple .milestone-search-box{
  min-height:44px;
  padding:0 14px;
}
.rail-head-simple .milestone-search-box input{
  min-width:0;
  width:100%;
}
.rail-head-simple .rail-zoom-tools{
  justify-self:end;
  min-width:min(44vw, 520px);
}
.milestone-selected,
.rail-head-title,
#toggleMilestoneFilters,
#showAllMilestones,
#showAllMilestones + span,
.milestone-filters-wrap{display:none;}
@media (max-width:980px){
  .rail-head-simple{grid-template-columns:1fr;}
  .rail-head-simple .milestone-search-wrap{max-width:none;grid-template-columns:1fr;gap:8px;}
  .rail-head-simple .rail-zoom-tools{justify-self:stretch;min-width:0;}
}


/* === stable v1.9.240 intuitive layout pass === */
:root{--bottom-h:205px;}
.layout{
  grid-template-columns:minmax(280px,20%) minmax(360px,1fr) minmax(280px,20%);
}
.controls{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.controls section:first-child{
  order:99;
  margin-top:auto;
  border-top:1px solid rgba(142,159,201,.16);
  padding-top:16px;
}
.controls section:nth-child(2){order:1;}
.controls section:nth-child(3){order:2;}
#viewPresets,.preset-block{display:none;}
.cycle-scale-field select#cycleViewSelect{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.cycle-scale-field input[type=range]{
  height:20px;
  accent-color:var(--gold);
}
.cycle-scale-label{
  color:#fff;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
  display:block;
  min-height:18px;
}
.quick-years{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  grid-template-columns:none;
}
.quick-years .quick-chip{
  width:auto;
  min-height:34px;
  padding:8px 12px;
  font-size:12px;
}
.milestone-rail{
  min-height:var(--bottom-h);
  max-height:var(--bottom-h);
}
.rail-head-simple{
  display:grid;
  grid-template-columns:minmax(360px,50vw) minmax(300px,1fr);
  align-items:center;
  gap:18px;
}
.rail-head-simple .milestone-search-wrap{
  display:block;
  max-width:none;
  width:100%;
  justify-self:start;
}
.milestone-search-label{display:none;}
.rail-head-simple .rail-zoom-tools{
  justify-self:end;
  min-width:0;
  width:auto;
}
.rail-track{
  height:104px;
}
.rail-inner:before{
  top:52px;
}
.milestone{top:18px;}
.milestone .pin{
  margin:20px auto 5px;
}
body{padding-bottom:var(--bottom-h);}
.app-shell{height:calc(100dvh - var(--bottom-h));max-height:calc(100dvh - var(--bottom-h));}
.app-shell h1,.app-shell h2,.app-shell h3,
.app-shell button,.app-shell strong,.app-shell .eyebrow,
.app-shell .summary-pill,.app-shell .phase-badge,.app-shell .legend-title,
.milestone-rail strong,.milestone-rail button,.milestone-rail .chip,
.milestone-rail .label,.milestone-rail .milestone-suggest-item strong{
  font-weight:700;
}
@media (max-width:1280px){
  .layout{grid-template-columns:minmax(260px,22%) minmax(340px,1fr) minmax(260px,22%);}
}
@media (max-width:980px){
  .layout{grid-template-columns:1fr;}
  .app-shell{height:auto;max-height:none;}
  .rail-head-simple{grid-template-columns:1fr;}
  .rail-head-simple .rail-zoom-tools{justify-self:stretch;width:100%;}
  .milestone-rail{--bottom-h:210px;}
}


/* === stable v1.9.240 layout hard-fix === */
html, body{
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
}
body{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  padding-bottom:0;
}
.app-shell{
  height:calc(100dvh - var(--bottom-h));
  max-height:calc(100dvh - var(--bottom-h));
  min-height:0;
  overflow:hidden;
  padding-bottom:0;
}
.milestone-rail{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  align-self:end;
  margin:0;
  min-height:var(--bottom-h);
  max-height:var(--bottom-h);
  box-sizing:border-box;
}
.controls{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
}
.controls section:nth-child(1){
  order:1;
  margin-top:0;
}
.controls section:nth-child(2){
  order:2;
}
.controls section:nth-child(3){
  order:99;
  margin-top:auto;
  border-top:1px solid rgba(142,159,201,.16);
  padding-top:16px;
}
@media (max-width:980px){
  html, body{height:auto;min-height:100%;overflow:auto;}
  body{display:block;}
  .app-shell{height:auto;max-height:none;overflow:visible;}
  .milestone-rail{max-height:none;min-height:210px;}
  .controls{height:auto;}
  .controls section:nth-child(3){margin-top:16px;}
}


/* === stable v1.9.240 layout/intuitivity pass === */
:root{--column-gap:18px;--bottom-gap:15px;}
html,body{height:100dvh;min-height:100dvh;overflow:hidden;}
body{display:grid;grid-template-rows:minmax(0,1fr) auto;row-gap:var(--bottom-gap);padding-bottom:0;}
.app-shell{height:calc(100dvh - var(--bottom-h) - var(--bottom-gap));max-height:calc(100dvh - var(--bottom-h) - var(--bottom-gap));overflow:hidden;}
.layout{grid-template-columns:minmax(280px,19%) minmax(420px,1fr) minmax(280px,19%);gap:var(--column-gap);}
.controls section:nth-child(1){order:1;margin-top:0;border-top:0;padding-top:0;}
.controls section:nth-child(2){order:2;}
.controls section:nth-child(3){order:99;margin-top:auto;border-top:1px solid rgba(142,159,201,.16);padding-top:16px;}
.controls h2 span{font-size:.72em;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:.02em;}
.viz-card .stage-header{position:absolute;z-index:6;top:24px;left:28px;right:360px;display:block;margin:0;pointer-events:none;}
.viz-card .stage-header .eyebrow{margin:0 0 6px;color:var(--gold);font-size:11px;letter-spacing:.17em;}
.viz-card .stage-header h2{font-family:Inter,ui-sans-serif,system-ui;font-size:clamp(28px,3.1vw,48px);line-height:1.02;margin:0;color:#f4f7ff;letter-spacing:-.03em;font-weight:700;}
.viz-card .summary-pill:not(.cycle-dominance-pill){display:none;}
.event-log-panel{top:108px;left:28px;width:min(430px,42%);}
.event-log-title{display:none;}
.timeline-toolbar{margin-bottom:14px;}
.cycle-scale-field{position:relative;}
.cycle-scale-field input[type=range]{height:18px;accent-color:#93a4c8;background:#0b1325;border:1px solid rgba(142,159,201,.20);border-radius:999px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.20);}
.cycle-scale-field input[type=range]::-webkit-slider-runnable-track{height:6px;background:#1a253d;border-radius:999px;}
.cycle-scale-field input[type=range]::-moz-range-track{height:6px;background:#1a253d;border-radius:999px;}
.cycle-scale-field input[type=range]::-webkit-slider-thumb{margin-top:-7px;}
.cycle-scale-ticks{position:relative;height:14px;margin:-8px 9px 2px;pointer-events:none;}
.cycle-scale-ticks i{position:absolute;top:0;width:1px;height:10px;background:rgba(191,205,236,.42);transform:translateX(-.5px);}
.cycle-scale-label{font-size:12px;color:rgba(220,230,255,.80);font-weight:600;}
.phase-badge{gap:0;padding:4px 10px;font-weight:700;}
.rail-head-simple{grid-template-columns:minmax(260px,19%) minmax(280px,1fr);gap:var(--column-gap);}
.rail-head-simple .milestone-search-wrap{max-width:none;width:100%;}
.rail-head-simple .rail-zoom-tools{justify-self:end;margin-left:auto;}
.rail-track{height:124px;}
.rail-inner:before{top:66px;}
.milestone{top:18px;}
.milestone .label{transform:translateY(-4px);}
.milestone .pin{margin:26px auto 0;}
.milestone:after{display:none;content:none;}
@media (max-width:1280px){.layout{grid-template-columns:minmax(260px,20%) minmax(360px,1fr) minmax(260px,20%);}.viz-card .stage-header{right:300px;}}
@media (max-width:980px){body{row-gap:0;}.app-shell{height:auto;max-height:none;}.layout{grid-template-columns:1fr;}.viz-card .stage-header{position:static;padding:16px 16px 0;}.event-log-panel{top:110px;right:18px;width:auto;}.rail-head-simple{grid-template-columns:1fr;}.rail-head-simple .rail-zoom-tools{justify-self:stretch;}}


/* === v1.9.240 refinements === */

.top-actions{align-items:flex-start;}
.export-menu{position:relative;}
.export-menu-list{position:absolute;top:calc(100% + 10px);right:0;display:grid;gap:8px;min-width:180px;padding:10px;border-radius:16px;border:1px solid rgba(142,159,201,.18);background:rgba(8,12,24,.98);box-shadow:0 18px 40px rgba(0,0,0,.34);z-index:30;}
.export-menu-list.hidden{display:none;}
.export-option{width:100%;justify-content:flex-start;text-align:left;}
.results-head-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.order-switch{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:999px;border:1px solid rgba(142,159,201,.18);background:rgba(9,13,26,.92);}
.order-switch button{border:0;background:transparent;color:#aebbd4;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer;}
.order-switch button.is-active{background:linear-gradient(180deg,#f5cf74,#e1b646);color:#101522;box-shadow:0 0 0 1px rgba(255,240,195,.45) inset,0 0 16px rgba(245,199,92,.16);}
.reading-order-section{padding-bottom:4px;}
.controls .guard-card{font-size:12px;}
.viz-card .summary-pill:not(.cycle-dominance-pill){display:block;position:absolute;right:22px;bottom:18px;z-index:6;pointer-events:none;padding:10px 14px;border:1px solid color-mix(in srgb, var(--pill-color, #f5c75c) 45%, rgba(255,255,255,.16));background:color-mix(in srgb, var(--pill-color, #f5c75c) 12%, rgba(8,12,24,.88));color:#f4f7ff;font-weight:700;box-shadow:0 10px 26px rgba(0,0,0,.24);}
.interpretation-copy{font-size:12px;line-height:1.5;}
.rail-head-simple{align-items:start;}
.rail-head-simple .rail-zoom-tools{align-self:start;}
.milestone-rail{margin-top:var(--column-gap);}
.milestone-search-wrap{max-width:320px;}
@media (min-width:981px){
  .layout{grid-template-columns:minmax(260px,19%) minmax(420px,1fr) minmax(260px,19%);}
  .results-column{grid-template-rows:minmax(0,1fr) auto;}
}


/* === v1.9.240 requested layout fixes === */
/* Left panel: Time, View and Phases stay together at the top; Logic guard sits at the bottom. */
.controls{
  display:flex;
  flex-direction:column;
}
.controls section:nth-child(1){order:1;margin-top:0;border-top:0;padding-top:0;}
.controls section:nth-child(2){order:2;margin-top:16px;}
.controls section:nth-child(3){order:3;margin-top:16px;border-top:1px solid rgba(142,159,201,.16);padding-top:16px;}
.controls section:nth-child(4){order:99;margin-top:auto;border-top:1px solid rgba(142,159,201,.16);padding-top:16px;}

/* Right panel: cycle table is anchored at the top; reading direction is part of the table header. */
.results-column{
  align-self:stretch;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:var(--column-gap);
}
.wide-results{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:14px;
  overflow:hidden;
}
.wide-results section{min-height:0;}
.wide-results .cycles-section{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1 1 auto;
  min-height:0;
}
.wide-results .cycles-section h2{margin:0;}
.wide-results .table-wrap{
  flex:1 1 auto;
  height:auto;
  min-height:0;
  max-height:none;
}
.reading-order-section{display:none;}
.results-head-inline.cycles-head-inline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.icon-order-switch{padding:3px;gap:4px;}
.icon-order-switch button{
  width:34px;
  height:30px;
  display:inline-grid;
  place-items:center;
  padding:0;
  font-size:18px;
  line-height:1;
}

/* === v1.9.240 timeline / theme polish === */
.rail-track::after{
  content:'';
  position:absolute;
  left:50%;
  top:14px;
  bottom:14px;
  width:1px;
  transform:translateX(-.5px);
  background:linear-gradient(180deg, transparent, rgba(255,232,173,.62), rgba(255,232,173,.28), transparent);
  box-shadow:0 0 18px rgba(245,199,92,.26);
  pointer-events:none;
  z-index:1;
}
.rail-inner{padding-left:0;padding-right:0;}
.milestone .label{max-width:190px;}
.quick-years .chip{display:inline-flex;align-items:center;gap:5px;}
#rangeSelect option{font-weight:600;}


/* === v1.9.240 range slider + theme filtering === */
.double-range{position:relative;height:24px;display:flex;align-items:center;margin:2px 0 6px;}
.double-range-track,.double-range-active{position:absolute;left:0;right:0;height:4px;border-radius:999px;pointer-events:none;}
.double-range-track{background:rgba(142,159,201,.24);}
.double-range-active{background:linear-gradient(90deg,rgba(245,199,92,.95),rgba(255,232,173,.92));box-shadow:0 0 16px rgba(245,199,92,.18);left:0;width:100%;}
.double-range-input{position:absolute;left:0;right:0;width:100%;margin:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:none;}
.double-range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid rgba(245,199,92,.95);box-shadow:0 0 0 3px rgba(245,199,92,.16),0 0 14px rgba(245,199,92,.28);cursor:pointer;pointer-events:auto;}
.double-range-input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid rgba(245,199,92,.95);box-shadow:0 0 0 3px rgba(245,199,92,.16),0 0 14px rgba(245,199,92,.28);cursor:pointer;pointer-events:auto;}
.double-range-input::-webkit-slider-runnable-track{height:4px;background:transparent;border:none;}
.double-range-input::-moz-range-track{height:4px;background:transparent;border:none;}
#cycleViewSelect{display:none;}
.quick-chip.is-active{border-color:rgba(245,199,92,.52);background:rgba(245,199,92,.18);color:#ffe8ad;box-shadow:0 0 0 1px rgba(245,199,92,.16), 0 10px 22px rgba(245,199,92,.08);}
.milestone-search-box{flex-wrap:wrap;justify-content:flex-start;}
.milestone-search-box input{flex:1 1 220px;min-width:180px;background:transparent;border:none;padding:0;box-shadow:none;}
.milestone-search-box input:focus{box-shadow:none;border:none;}
.milestone-selected{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 100%;}
.milestone-tag{display:inline-flex;align-items:center;gap:7px;max-width:220px;padding:6px 10px;border-radius:999px;border:1px solid rgba(245,199,92,.28);background:rgba(245,199,92,.1);color:#ffe7a2;font-size:12px;cursor:pointer;}
.milestone-tag span{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.milestone-tag i{font-style:normal;color:#fff;opacity:.85;}
.milestone.edge-left{transform:none;}
.milestone.edge-left .label{margin-left:0;}
.milestone.edge-right{transform:translateX(-100%);}
.milestone.edge-right .label{margin-left:auto;}
.rail-track{padding-inline:16px;}
.rail-inner{min-width:100%;}

/* === v1.9.240 bugfixes: double range, active milestone tags, taller event log === */
.double-range{height:32px;align-items:center;overflow:visible;}
.double-range-track{top:14px;height:5px;z-index:1;background:rgba(142,159,201,.28);}
.double-range-active{top:14px;height:5px;z-index:2;background:linear-gradient(90deg,rgba(245,199,92,.96),rgba(255,232,173,.92));box-shadow:0 0 16px rgba(245,199,92,.26);}
.double-range-input{top:0;height:32px;z-index:4;background:transparent;border:0;box-shadow:none;}
.double-range-input.is-min{z-index:5;}
.double-range-input.is-max{z-index:6;}
.double-range-input::-webkit-slider-thumb{width:18px;height:18px;border-radius:6px;background:linear-gradient(180deg,#ffe8a8,#f2bc46);border:2px solid rgba(255,246,215,.95);box-shadow:0 0 0 3px rgba(245,199,92,.20),0 0 18px rgba(245,199,92,.45);margin-top:-7px;}
.double-range-input::-moz-range-thumb{width:18px;height:18px;border-radius:6px;background:linear-gradient(180deg,#ffe8a8,#f2bc46);border:2px solid rgba(255,246,215,.95);box-shadow:0 0 0 3px rgba(245,199,92,.20),0 0 18px rgba(245,199,92,.45);}
.double-range-input::-webkit-slider-runnable-track{height:5px;background:transparent;border:0;}
.double-range-input::-moz-range-track{height:5px;background:transparent;border:0;}
.rail-head-simple{grid-template-columns:minmax(260px,19%) minmax(0,1fr) auto;align-items:center;gap:var(--column-gap);}
.rail-head-simple .milestone-search-wrap{max-width:none;width:100%;}
.rail-head-simple .milestone-selected{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:7px;min-height:42px;max-height:74px;overflow:auto;}
.rail-head-simple .milestone-selected:empty{display:block;}
.rail-head-simple .milestone-search-box{min-height:42px;}
.rail-head-simple .milestone-search-box input{min-width:0;}
.milestone-search-box{flex-wrap:nowrap;}
.milestone-tag{flex:0 0 auto;}
.quick-years .quick-chip.is-active{display:none;}
.event-log-panel{top:106px;bottom:112px;width:min(470px,44%);}
@media (max-width:980px){.rail-head-simple{grid-template-columns:1fr;}.rail-head-simple .milestone-selected:empty{display:none;}.rail-head-simple .milestone-selected{max-height:none;}.event-log-panel{bottom:120px;width:auto;}}


/* === stable v1.9.240 interaction polish === */
.autofill-decoy{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}
.password-form input[readonly]{caret-color:transparent;}

/* clean visual layer for the double cycle range */
.double-range{position:relative;height:34px;overflow:visible;margin:4px 0 8px;}
.double-range-track{position:absolute;left:0;right:0;top:17px;height:5px;border-radius:999px;background:rgba(142,159,201,.28);z-index:1;}
.double-range-active{position:absolute;top:17px;height:5px;border-radius:999px;background:linear-gradient(90deg,rgba(245,199,92,.95),rgba(255,231,164,.95));box-shadow:0 0 18px rgba(245,199,92,.32);z-index:2;pointer-events:none;}
.double-range-input{position:absolute;left:0;right:0;top:0;width:100%;height:34px;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;border:0;box-shadow:none;pointer-events:none;z-index:4;}
.double-range-input::-webkit-slider-runnable-track{height:34px;background:transparent;border:0;}
.double-range-input::-moz-range-track{height:34px;background:transparent;border:0;}
.double-range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border:0;background:transparent;box-shadow:none;margin-top:4px;pointer-events:auto;cursor:pointer;}
.double-range-input::-moz-range-thumb{width:26px;height:26px;border:0;background:transparent;box-shadow:none;pointer-events:auto;cursor:pointer;}
.cycle-scale-handle{position:absolute;top:6px;width:20px;height:20px;border-radius:6px;transform:translateX(-50%);background:linear-gradient(180deg,#ffe8a8,#f2bc46);border:2px solid rgba(255,246,215,.95);box-shadow:0 0 0 3px rgba(245,199,92,.20),0 0 18px rgba(245,199,92,.45);pointer-events:none;z-index:8;}
.cycle-scale-handle.is-min{z-index:8;}.cycle-scale-handle.is-max{z-index:9;}

.timeline-slider-row{position:relative;}
.present-marker{position:absolute;top:-5px;width:2px;height:28px;background:rgba(255,255,255,.78);box-shadow:0 0 0 1px rgba(245,199,92,.22),0 0 16px rgba(245,199,92,.42);transform:translateX(-50%);border-radius:999px;z-index:5;pointer-events:none;}
.present-marker::after{content:'teď';position:absolute;left:50%;top:-18px;transform:translateX(-50%);font-size:10px;font-weight:700;color:#ffe8ad;background:rgba(6,9,19,.76);border:1px solid rgba(245,199,92,.24);border-radius:999px;padding:2px 6px;letter-spacing:.02em;}
.present-marker.hidden{display:none;}

.rail-head-simple{grid-template-columns:minmax(260px, 30%) minmax(220px, 1fr) auto;}
.rail-head-simple .milestone-search-box{min-height:46px;padding:0 10px;border-radius:14px;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.rail-head-simple .milestone-search-box input{height:44px;min-height:44px;padding:0 2px;}
.rail-head-simple .milestone-selected{display:flex;align-items:center;gap:8px;min-height:46px;max-height:46px;overflow:visible;flex:0 0 auto;}
.rail-head-simple .milestone-selected:empty{display:none;}
.milestone-tag{height:44px;min-height:44px;border-radius:14px;padding:0 13px;font-size:13px;font-weight:700;}
.milestone-tag i{font-size:16px;line-height:1;opacity:.9;}

.milestone{top:18px;}
.milestone .label{transform:none;margin-bottom:0;}
.milestone .pin{margin:22px auto 0;}
.milestone:after{display:none;content:none;}
.event-log-panel{top:106px;bottom:84px;width:min(470px,44%);}
@media (max-width:980px){.rail-head-simple{grid-template-columns:1fr;}.event-log-panel{bottom:120px;width:auto;}}


/* === stable v1.9.240 polish === */
/* Password field autofill avoidance is handled in JS; these keep browser managers from painting it. */
#passwordInput:-webkit-autofill,
#passwordInput:-webkit-autofill:hover,
#passwordInput:-webkit-autofill:focus{
  -webkit-text-fill-color: var(--crt-amber);
  -webkit-box-shadow:0 0 0 1000px #050300 inset;
  transition:background-color 999999s ease-in-out 0s;
}

/* Proper custom dual-cycle scale. Native range tracks are invisible; only the designed rail/handles show. */
.cycle-scale-field .double-range{
  position:relative;
  height:34px;
  margin:6px 0 10px;
  overflow:visible;
  isolation:isolate;
}
.cycle-scale-field .double-range-track{
  position:absolute;
  left:0;
  right:0;
  top:15px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(9,14,28,.98),rgba(14,22,40,.98));
  border:1px solid rgba(142,159,201,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -8px 12px rgba(0,0,0,.34);
  z-index:1;
}
.cycle-scale-field .double-range-active{
  position:absolute;
  top:16px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,#d79a26,#f4c75c,#ffe9a9);
  box-shadow:0 0 12px rgba(245,199,92,.42), inset 0 1px 0 rgba(255,255,255,.45);
  z-index:2;
  pointer-events:none;
}
.cycle-scale-field .double-range-input{
  position:absolute;
  inset:0;
  width:100%;
  height:34px;
  margin:0;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:0;
  box-shadow:none;
  outline:0;
  pointer-events:none;
  z-index:6;
}
.cycle-scale-field .double-range-input::-webkit-slider-runnable-track{
  height:34px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cycle-scale-field .double-range-input::-moz-range-track{
  height:34px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cycle-scale-field .double-range-input::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:30px;
  height:30px;
  margin-top:2px;
  border:0;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
  pointer-events:auto;
}
.cycle-scale-field .double-range-input::-moz-range-thumb{
  width:30px;
  height:30px;
  border:0;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
  pointer-events:auto;
}
.cycle-scale-handle{
  position:absolute;
  top:5px;
  width:22px;
  height:22px;
  border-radius:7px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#fff0b8 0%,#f6c04b 62%,#cd8e20 100%);
  border:2px solid rgba(255,247,218,.96);
  box-shadow:0 0 0 4px rgba(245,199,92,.18),0 0 16px rgba(245,199,92,.55),0 8px 18px rgba(0,0,0,.25);
  pointer-events:none;
  z-index:20;
}
.cycle-scale-handle.is-max{z-index:21;}
.cycle-scale-ticks{margin:-3px 9px 4px;height:13px;}
.cycle-scale-ticks i{top:0;height:11px;background:rgba(191,205,236,.34);}

.event-log-panel{
  bottom:86px;
}
.event-log-panel .event-log-item{
  display:flex;
  width:100%;
  border:0;
  background:transparent;
  color:rgba(238,244,255,.58);
  text-align:left;
  font:inherit;
  padding:2px 0;
  cursor:pointer;
  transition:color .15s ease, opacity .15s ease, text-shadow .15s ease;
}
.event-log-panel .event-log-item:hover,
.event-log-panel .event-log-item:focus-visible{
  color:#fff;
  opacity:1;
  text-shadow:0 0 14px color-mix(in srgb, var(--event-color, #f5c75c) 65%, transparent);
  outline:0;
}
.event-log-panel .event-log-item.is-empty{
  cursor:default;
  opacity:.55;
}
.event-log-panel .event-log-item.is-current{
  color:#fff;
}


/* === v1.9.240: cycle-scale range active rail matches Autoplay slider thickness === */
.cycle-scale-field .double-range{
  height:38px;
  margin:4px 0 10px;
}
.cycle-scale-field .double-range-track{
  top:14px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(180deg,#0c1325 0%,#121d32 54%,#070b16 100%);
  border:1px solid rgba(142,159,201,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), inset 0 -7px 12px rgba(0,0,0,.30), 0 0 16px rgba(245,199,92,.08);
}
.cycle-scale-field .double-range-active{
  top:14px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg,#f4b33e 0%,#f6c65b 50%,#ffe6a5 100%);
  border:1px solid rgba(255,240,190,.35);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16), 0 0 18px rgba(245,199,92,.28);
}
.cycle-scale-field .double-range-input{
  height:38px;
}
.cycle-scale-field .double-range-input::-webkit-slider-runnable-track{
  height:38px;
}
.cycle-scale-field .double-range-input::-moz-range-track{
  height:38px;
}
.cycle-scale-handle{
  top:8px;
}
.cycle-scale-ticks{
  margin:0 9px 4px;
}
/* Keep the connector in the diagram intentionally quiet; it is an auxiliary reading guide, not a data series. */
.path-line{
  opacity:.42;
  stroke-width:1.6;
  stroke-dasharray:7 9;
}

/* === v1.9.240: final cycle-scale rail + thematic timeline relevance === */
.cycle-scale-field .double-range{
  height:40px;
  margin:4px 0 8px;
  overflow:visible;
}
.cycle-scale-field .double-range-track{
  top:14px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(180deg,#10192d 0%,#17233b 52%,#0a1020 100%);
  border:1px solid rgba(142,159,201,.30);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 0 14px rgba(0,0,0,.22);
}
.cycle-scale-field .double-range-active{
  display:block;
  top:14px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg,#f4b33e 0%,#f6c65b 64%,#ffe5a0 100%);
  border:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 0 18px rgba(245,199,92,.34);
  opacity:1;
}
.cycle-scale-field .double-range-input{
  height:40px;
  z-index:30;
}
.cycle-scale-field .double-range-input::-webkit-slider-runnable-track{
  height:40px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cycle-scale-field .double-range-input::-moz-range-track{
  height:40px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cycle-scale-handle{
  top:8px;
  width:22px;
  height:22px;
  border-radius:7px;
  z-index:50;
}
.cycle-scale-handle.is-max{z-index:51;}
.cycle-scale-ticks{margin:-1px 9px 4px;}

/* === v1.9.240: hidden dev shortcuts + topic search + final scale/present marker polish === */
.hidden-native-select{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
}
.topic-field{
  position:relative;
}
.topic-search-wrap{
  position:relative;
  width:100%;
}
.topic-search-wrap input{
  min-height:56px;
  width:100%;
  border-radius:14px;
  padding:0 16px;
  background:#0b1325;
  border:1px solid #283653;
  color:#f1f5ff;
  font-weight:600;
}
.topic-search-wrap input:focus{
  border-color:#d6aa45;
  box-shadow:0 0 0 3px rgba(245,199,92,.12);
}
.topic-suggest{
  position:absolute;
  z-index:70;
  top:calc(100% + 8px);
  left:0;
  right:0;
  display:grid;
  gap:4px;
  max-height:360px;
  overflow:auto;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.24);
  background:rgba(7,11,23,.98);
  box-shadow:0 20px 50px rgba(0,0,0,.38);
}
.topic-suggest.hidden{display:none;}
.topic-suggest-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  padding:10px 12px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#e9efff;
  font:inherit;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}
.topic-suggest-item:hover,
.topic-suggest-item:focus-visible,
.topic-suggest-item.is-active{
  background:rgba(245,199,92,.14);
  color:#ffe8ad;
  outline:0;
}
.topic-suggest-item span{
  font-size:11px;
  color:#f5c75c;
  opacity:.85;
}
/* Keep the dual scale rail visually aligned with the main Autoplay rail. */
.cycle-scale-field .double-range{
  height:38px;
  margin:6px 0 8px;
}
.cycle-scale-field .double-range-track{
  top:14px;
  height:10px;
  border-radius:999px;
}
.cycle-scale-field .double-range-active{
  top:14px;
  height:10px;
  min-width:10px;
  border-radius:999px;
  background:linear-gradient(90deg,#f4b33e 0%,#f6c65b 52%,#ffe6a5 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 18px rgba(245,199,92,.36);
}
.cycle-scale-handle{
  top:8px;
}
.present-marker{
  top:-6px;
  height:22px;
  width:2px;
}
.present-marker::after{display:none;content:none;}


/* === v1.9.240: topic picker + present marker alignment polish === */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.timeline-slider-row .present-marker{
  top:50%;
  height:22px;
  transform:translate(-50%, -50%);
  width:2px;
  border-radius:999px;
}
.topic-suggest{
  max-height:min(560px, 62vh);
}
/* Keep the cycle-scale label hidden visually but accessible via section heading. */
.cycle-scale-field > span.sr-only + .double-range{
  margin-top:0;
}

/* === v1.9.240 unified topic / milestone search === */
.topic-field{min-width:0;}
.topic-field > span:not(.sr-only){display:none;}
.mega-search-wrap{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  width:100%;
  padding:6px 10px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.22);
  background:rgba(8,13,25,.9);
  box-sizing:border-box;
  position:relative;
}
.mega-search-wrap:focus-within{
  border-color:rgba(241,196,90,.58);
  box-shadow:0 0 0 3px rgba(241,196,90,.12), inset 0 1px 0 rgba(255,255,255,.03);
}
.mega-search-wrap input{
  flex:1 1 220px;
  min-width:180px;
  height:38px;
  border:0;
  background:transparent;
  box-shadow:none;
  padding:0 2px;
}
.mega-search-wrap input:focus{box-shadow:none;border:0;}
.topic-suggest{top:calc(100% + 8px);left:0;right:0;max-height:min(52vh,520px);overflow:auto;z-index:80;}
.topic-suggest-group{padding:10px 16px 5px;color:#7f8da8;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;}
.topic-suggest-item{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.topic-suggest-item.is-topic strong{font-size:15px;}
.topic-suggest-item.is-milestone strong{font-size:14px;}
.topic-suggest-item.is-milestone span{margin-left:auto;color:#9fb0d1;font-size:12px;white-space:nowrap;}
.topic-suggest-item.is-active{background:rgba(245,199,92,.12);color:#ffe8ad;}
.topic-suggest-item.is-active span{color:#ffd978;}
.mega-search-wrap .milestone-selected{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  min-height:0;
  max-height:none;
  overflow:visible;
  flex:0 1 auto;
}
.mega-search-wrap .milestone-selected:empty{display:none;}
.mega-search-wrap .milestone-tag{
  min-height:36px;
  padding:0 12px;
  border-radius:12px;
  border-color:rgba(245,199,92,.36);
  background:rgba(245,199,92,.13);
}
.mega-search-wrap .milestone-tag span{max-width:180px;}
.rail-head-simple{display:none;}
.milestone-rail{padding-top:12px;}
.rail-track{position:relative;}
.rail-zoom-tools{
  position:absolute;
  top:10px;
  right:12px;
  z-index:9;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  justify-self:auto;
  background:rgba(6,10,21,.58);
  border:1px solid rgba(142,159,201,.16);
  border-radius:999px;
  padding:4px;
  backdrop-filter:blur(10px);
}
.rail-zoom-tools input{display:none;}
.rail-zoom-tools .chip{height:28px;min-width:28px;padding:0 8px;border-radius:999px;}
.quick-years .quick-chip[data-preset="now"],
.topic-suggest-item[data-preset="now"]{display:none;}
/* v1.9.240 rail controls live above the rail track */
.milestone-rail{position:relative;}
.milestone-rail > .rail-zoom-tools{top:10px;right:16px;}
:root{--bottom-h:154px;}
.milestone-rail{min-height:var(--bottom-h);max-height:var(--bottom-h);}
.rail-track{height:124px;margin-top:0;}


/* === stable v1.9.240 polish === */
/* Active topic tokens inside the mega input match the quick chips in the left column. */
.mega-search-wrap{
  min-height:46px;
  padding:5px 9px;
  align-items:center;
}
.mega-search-wrap .milestone-selected{
  gap:7px;
  align-items:center;
}
.mega-search-wrap .milestone-tag{
  height:34px;
  min-height:34px;
  max-height:34px;
  padding:0 11px;
  border-radius:12px;
  font-size:12px;
  font-weight:700;
  line-height:1;
}
.mega-search-wrap .milestone-tag i{
  font-size:14px;
}
.mega-search-wrap input{
  height:34px;
  min-height:34px;
}

/* Present marker: no label, vertically centered, same visual height as the square handle. */
.timeline-slider-row .present-marker,
.present-marker{
  top:50%;
  height:22px;
  width:2px;
  transform:translate(-50%, -50%);
  z-index:7;
}
.present-marker::after{display:none;content:none;}

/* Default bottom rail should feel focused on the current point, not look like a leftover form row. */
.milestone-rail{padding-top:10px;}
.rail-track{margin-top:0;}

/* === stable v1.9.240 default reset + left quick sections === */
.quick-years{
  display:block;
}
.quick-group-label{
  width:100%;
  margin:9px 0 7px;
  color:#7f8da8;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.quick-group-label:first-child{margin-top:0;}
.quick-group{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.quick-group + .quick-group-label{
  margin-top:12px;
}
.quick-event-chip{
  border-style:dashed;
  opacity:.92;
}
.quick-event-chip:hover,
.quick-chip:hover{
  border-color:rgba(245,199,92,.54);
  color:#fff;
}
.quick-years .quick-chip[data-preset="now"],
.topic-suggest-item[data-preset="now"]{display:none;}


/* === stable v1.9.240 right-side scale + compact quick sets === */
.top-actions{display:flex;align-items:center;gap:10px;}
.playlist-icon-link{width:42px;height:42px;border-radius:14px;display:inline-grid;place-items:center;text-decoration:none;color:#16130a;background:linear-gradient(180deg,#ffd772,#eab642);border:1px solid rgba(255,240,190,.55);box-shadow:0 10px 24px rgba(245,199,92,.22), inset 0 1px 0 rgba(255,255,255,.35);font-weight:700;font-size:20px;line-height:1;}
.playlist-icon-link:hover{filter:brightness(1.06);transform:translateY(-1px);}
.results-column{grid-template-rows:1fr;}
.playlist-panel{display:none;}
.cycle-scale-panel-section{border-top:1px solid rgba(142,159,201,.14);margin-top:14px;padding-top:16px;}
.results .cycle-scale-field{margin-top:8px;}
.results .double-range{height:28px;}
.results .cycle-scale-ticks{margin-top:2px;}
.results .cycle-scale-label{display:block;margin-top:12px;color:#cdd8ef;font-size:12px;line-height:1.35;}
.quick-group{gap:6px;}
.quick-years .quick-chip{min-height:34px;padding:8px 10px;}
.quick-event-chip .event-dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;flex:0 0 auto;box-shadow:0 0 10px currentColor;margin-right:2px;}
.quick-event-chip{justify-content:flex-start;text-align:left;}
.quick-event-chip .event-dot + *{min-width:0;}
@media (max-width:980px){.playlist-icon-link{width:38px;height:38px}.cycle-scale-panel-section{margin-top:12px;padding-top:14px}}


/* === v1.9.240: Czech flag icon, last-tag cleanup, subtle soundtrack link === */
.playlist-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  text-decoration:none;
  color:rgba(230,238,255,.82);
  font-weight:700;
  font-size:13px;
  letter-spacing:.01em;
  padding:6px 8px;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.14);
  background:rgba(8,12,24,.34);
}
.playlist-link:hover{color:#fff;border-color:rgba(245,199,92,.28);background:rgba(12,18,33,.64);}
.playlist-link .playlist-icon-link{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-grid;
  place-items:center;
  text-decoration:none;
  color:#f4f7ff;
  background:rgba(13,20,36,.88);
  border:1px solid rgba(142,159,201,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.16);
  font-weight:700;
  font-size:18px;
  line-height:1;
}
.playlist-link:hover .playlist-icon-link{border-color:rgba(245,199,92,.34);box-shadow:0 0 18px rgba(245,199,92,.08), inset 0 1px 0 rgba(255,255,255,.08);}
.playlist-link-label{white-space:nowrap;}

/* Draw an actual Czech flag instead of relying on platform flag emoji rendering. */
.quick-chip[data-preset="czech"]::before,
.topic-suggest-item[data-preset="czech"] strong::before,
.milestone-tag[data-tag-id="czech"] span::before{
  content:"";
  display:inline-block;
  width:16px;
  height:11px;
  margin-right:7px;
  border-radius:2px;
  vertical-align:-1px;
  box-shadow:0 0 0 1px rgba(255,255,255,.28),0 4px 10px rgba(0,0,0,.18);
  background:
    linear-gradient(148deg, #11457e 0 44%, transparent 45%) left/100% 100% no-repeat,
    linear-gradient(to bottom, #fff 0 50%, #d7141a 50% 100%);
}
.quick-chip[data-preset="czech"]{gap:7px;}
.quick-chip[data-preset="czech"]::before{margin-right:0;}

@media (max-width:980px){.playlist-link-label{display:none}.playlist-link{padding:4px}}


/* === v1.9.240: Backspace tag removal + cleaner cycle scale geometry === */
.cycle-scale-panel-section .cycle-scale-field{
  overflow:visible;
}
.cycle-scale-field .double-range{
  --scale-pad:12px;
  --scale-track-h:8px;
  --scale-handle:22px;
  height:34px;
  margin:4px 0 7px;
  overflow:visible;
  position:relative;
}
.cycle-scale-field .double-range-track{
  left:var(--scale-pad);
  right:var(--scale-pad);
  top:12px;
  height:var(--scale-track-h);
  border-radius:999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0)) border-box,
    rgba(13,20,36,.96);
  border:1px solid rgba(142,159,201,.28);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.58),0 0 0 1px rgba(0,0,0,.16);
}
.cycle-scale-field .double-range-active{
  top:12px;
  height:var(--scale-track-h);
  border-radius:999px;
  background:linear-gradient(90deg,#f5b642,#ffdd7c);
  border:0;
  box-shadow:0 0 18px rgba(245,199,92,.32), inset 0 1px 0 rgba(255,255,255,.34);
}
.cycle-scale-handle{
  width:var(--scale-handle);
  height:var(--scale-handle);
  top:5px;
  border-radius:7px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#ffeaa8 0%,#f6c14c 70%,#d79527 100%);
  border:2px solid rgba(255,247,218,.98);
  box-shadow:0 0 0 3px rgba(245,199,92,.18),0 0 20px rgba(245,199,92,.42),inset 0 1px 0 rgba(255,255,255,.58);
  pointer-events:none;
}
.cycle-scale-field .double-range-input{
  left:0;
  right:0;
  width:100%;
  height:34px;
  top:0;
}
.cycle-scale-field .double-range-input::-webkit-slider-thumb{
  width:24px;
  height:28px;
  margin-top:3px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cycle-scale-field .double-range-input::-moz-range-thumb{
  width:24px;
  height:28px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.results .cycle-scale-ticks{
  width:calc(100% - 24px);
  margin-left:12px;
  margin-right:12px;
}
.topic-search-wrap .milestone-tag:focus-visible,
.topic-search-wrap input:focus-visible{
  outline:2px solid rgba(245,199,92,.45);
  outline-offset:2px;
}


/* === v1.9.240: right panel containment, cleaner mega input focus, thicker cycle-scale rail === */
/* Right panel: keep the cycle scale visible and let only the cycles table scroll. */
.results-column{
  min-height:0;
  overflow:hidden;
  align-self:stretch;
}
.results.wide-results{
  height:100%;
  min-height:0;
  max-height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.results.wide-results .cycles-section{
  min-height:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.results.wide-results .cycles-section .results-head-inline{
  flex:0 0 auto;
}
.results.wide-results .table-wrap{
  flex:1 1 auto;
  min-height:120px;
  max-height:none;
  height:auto;
  overflow:auto;
}
.results.wide-results .cycle-scale-panel-section{
  flex:0 0 auto;
  margin-top:14px;
  padding-top:14px;
}
.results.wide-results .cycle-scale-panel-section h2{
  margin-bottom:10px;
}

/* Mega topic input: focus belongs to the outer wrapper only, never to the transparent inner input. */
.mega-search-wrap input,
.mega-search-wrap input:hover,
.mega-search-wrap input:focus,
.mega-search-wrap input:focus-visible,
.topic-search-wrap.mega-search-wrap input,
.topic-search-wrap.mega-search-wrap input:hover,
.topic-search-wrap.mega-search-wrap input:focus,
.topic-search-wrap.mega-search-wrap input:focus-visible{
  border:0;
  outline:0;
  box-shadow:none;
  background:transparent;
}
.mega-search-wrap:focus-within{
  border-color:rgba(241,196,90,.78);
  box-shadow:0 0 0 2px rgba(241,196,90,.14),0 0 24px rgba(245,199,92,.08);
}

/* Cycle scale: thick clean active rail, no ghost border above it. */
.cycle-scale-panel-section .cycle-scale-field{
  overflow:visible;
}
.cycle-scale-panel-section .double-range,
.cycle-scale-field .double-range{
  --scale-pad:14px;
  --scale-track-h:18px;
  --scale-handle:22px;
  position:relative;
  height:34px;
  margin:4px 0 8px;
  overflow:visible;
}
.cycle-scale-panel-section .double-range-track,
.cycle-scale-field .double-range-track{
  position:absolute;
  left:var(--scale-pad);
  right:var(--scale-pad);
  top:5px;
  height:var(--scale-track-h);
  border-radius:999px;
  border:0;
  background:rgba(12,19,34,.92);
  box-shadow:inset 0 0 0 1px rgba(142,159,201,.20), inset 0 2px 7px rgba(0,0,0,.55);
  z-index:1;
}
.cycle-scale-panel-section .double-range-active,
.cycle-scale-field .double-range-active{
  position:absolute;
  top:5px;
  height:var(--scale-track-h);
  border-radius:999px;
  border:0;
  background:linear-gradient(90deg,#f0aa32 0%,#f5c65f 54%,#ffe09a 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32), inset 0 -1px 0 rgba(109,65,5,.20),0 0 20px rgba(245,199,92,.35);
  z-index:2;
  pointer-events:none;
}
.cycle-scale-handle{
  width:var(--scale-handle);
  height:var(--scale-handle);
  top:3px;
  border-radius:7px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#ffeaa8 0%,#f6c14c 68%,#d79527 100%);
  border:2px solid rgba(255,247,218,.98);
  box-shadow:0 0 0 3px rgba(245,199,92,.18),0 0 20px rgba(245,199,92,.42),inset 0 1px 0 rgba(255,255,255,.58);
  pointer-events:none;
  z-index:8;
}
.cycle-scale-handle.is-max{z-index:9;}
.cycle-scale-field .double-range-input{
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:34px;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  pointer-events:none;
  z-index:10;
}
.cycle-scale-field .double-range-input::-webkit-slider-runnable-track{
  height:34px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cycle-scale-field .double-range-input::-moz-range-track{
  height:34px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cycle-scale-field .double-range-input::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:28px;
  height:34px;
  margin-top:0;
  background:transparent;
  border:0;
  box-shadow:none;
  pointer-events:auto;
  cursor:pointer;
}
.cycle-scale-field .double-range-input::-moz-range-thumb{
  width:28px;
  height:34px;
  background:transparent;
  border:0;
  box-shadow:none;
  pointer-events:auto;
  cursor:pointer;
}
.results .cycle-scale-ticks,
.cycle-scale-ticks{
  width:calc(100% - 28px);
  margin:2px 14px 5px;
  height:13px;
}
.cycle-scale-ticks i{
  top:0;
  height:11px;
  background:rgba(191,205,236,.34);
}


/* === v1.9.240: polished double cycle-scale slider, native range fully hidden === */
.cycle-scale-panel-section .cycle-scale-field,
.cycle-scale-field{
  overflow:visible;
}
.cycle-scale-panel-section .double-range,
.cycle-scale-field .double-range{
  --scale-pad:14px;
  --scale-track-h:8px;
  --scale-active-h:7px;
  --scale-handle:20px;
  position:relative;
  height:32px;
  margin:4px 0 8px;
  overflow:visible;
  isolation:isolate;
}
.cycle-scale-panel-section .double-range-track,
.cycle-scale-field .double-range-track{
  position:absolute;
  left:var(--scale-pad);
  right:var(--scale-pad);
  top:12px;
  height:var(--scale-track-h);
  border-radius:999px;
  border:1px solid rgba(118,140,181,.32);
  background:linear-gradient(180deg, rgba(17,27,48,.92), rgba(6,11,22,.98));
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.06),
    inset 0 -2px 6px rgba(0,0,0,.45),
    0 0 0 1px rgba(0,0,0,.22);
  z-index:1;
}
.cycle-scale-panel-section .double-range-active,
.cycle-scale-field .double-range-active{
  position:absolute;
  top:13px;
  height:var(--scale-active-h);
  border-radius:999px;
  border:0;
  background:linear-gradient(90deg, #efab32 0%, #f5c85d 48%, #ffe39a 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -1px 0 rgba(93,52,0,.28),
    0 0 15px rgba(245,199,92,.32);
  z-index:2;
  pointer-events:none;
}
.cycle-scale-handle{
  position:absolute;
  width:var(--scale-handle);
  height:var(--scale-handle);
  top:6px;
  border-radius:7px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#fff1bc 0%,#f7c452 62%,#d6972d 100%);
  border:2px solid rgba(255,248,222,.98);
  box-shadow:
    0 0 0 2px rgba(245,199,92,.18),
    0 0 18px rgba(245,199,92,.45),
    inset 0 1px 0 rgba(255,255,255,.62);
  pointer-events:none;
  z-index:8;
}
.cycle-scale-handle.is-max{z-index:9;}
/* The real range inputs are only invisible hit areas. This prevents the native browser rail/border from drawing over the custom slider. */
.cycle-scale-field input.double-range-input[type="range"],
.cycle-scale-panel-section input.double-range-input[type="range"]{
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:32px;
  margin:0;
  padding:0;
  opacity:0;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:0;
  box-shadow:none;
  pointer-events:none;
  z-index:10;
}
.cycle-scale-field input.double-range-input[type="range"]::-webkit-slider-runnable-track,
.cycle-scale-panel-section input.double-range-input[type="range"]::-webkit-slider-runnable-track{
  height:32px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cycle-scale-field input.double-range-input[type="range"]::-moz-range-track,
.cycle-scale-panel-section input.double-range-input[type="range"]::-moz-range-track{
  height:32px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.cycle-scale-field input.double-range-input[type="range"]::-webkit-slider-thumb,
.cycle-scale-panel-section input.double-range-input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:30px;
  height:32px;
  margin-top:0;
  background:transparent;
  border:0;
  box-shadow:none;
  pointer-events:auto;
  cursor:pointer;
}
.cycle-scale-field input.double-range-input[type="range"]::-moz-range-thumb,
.cycle-scale-panel-section input.double-range-input[type="range"]::-moz-range-thumb{
  width:30px;
  height:32px;
  background:transparent;
  border:0;
  box-shadow:none;
  pointer-events:auto;
  cursor:pointer;
}
.results .cycle-scale-ticks,
.cycle-scale-ticks{
  width:calc(100% - 28px);
  margin:2px 14px 5px;
  height:13px;
}
.cycle-scale-ticks i{
  top:0;
  height:11px;
  background:rgba(191,205,236,.34);
}


/* === stable v1.9.240 cycle-row progress + parent ambient === */
.cycles-table tbody tr.cycle-data-row,
#cyclesTable tbody tr.cycle-data-row{
  position:relative;
  background:
    var(--cycle-divider-image, none),
    linear-gradient(90deg,
      transparent 0 calc(var(--cycle-row-pct) - 1px),
      var(--cycle-row-edge) calc(var(--cycle-row-pct) - 1px) var(--cycle-row-pct),
      transparent var(--cycle-row-pct) 100%),
    linear-gradient(90deg,
      color-mix(in srgb, var(--cycle-row-color) 7%, transparent) 0%,
      color-mix(in srgb, var(--cycle-row-color) 12%, transparent) 70%,
      color-mix(in srgb, var(--cycle-row-color) 18%, transparent) 100%)
      0 0 / var(--cycle-row-pct) 100% no-repeat,
    linear-gradient(90deg,
      var(--cycle-row-base-start) 0%,
      var(--cycle-row-base-mid) 58%,
      var(--cycle-row-base-end) 100%);
  box-shadow:inset 0 0 16px var(--cycle-row-glow);
  transition:background .18s ease, box-shadow .18s ease;
}
.cycles-table tbody tr.cycle-data-row:hover,
#cyclesTable tbody tr.cycle-data-row:hover{
  background:
    var(--cycle-divider-image, none),
    linear-gradient(90deg,
      transparent 0 calc(var(--cycle-row-pct) - 1px),
      color-mix(in srgb, var(--cycle-row-edge) 82%, #ffffff 18%) calc(var(--cycle-row-pct) - 1px) var(--cycle-row-pct),
      transparent var(--cycle-row-pct) 100%),
    linear-gradient(90deg,
      color-mix(in srgb, var(--cycle-row-color) 10%, transparent) 0%,
      color-mix(in srgb, var(--cycle-row-color) 15%, transparent) 70%,
      color-mix(in srgb, var(--cycle-row-color) 23%, transparent) 100%)
      0 0 / var(--cycle-row-pct) 100% no-repeat,
    linear-gradient(90deg,
      color-mix(in srgb, var(--cycle-row-parent-color) 5%, transparent) 0%,
      color-mix(in srgb, var(--cycle-row-parent-color) 8%, transparent) 58%,
      color-mix(in srgb, var(--cycle-row-parent-color) 12%, transparent) 100%);
}
.cycles-table tbody tr.cycle-data-row td,
#cyclesTable tbody tr.cycle-data-row td{
  background:transparent;
  position:relative;
  z-index:1;
}
.cycle-pct-cell{
  font-weight:700;
  color:#f4f7ff;
  white-space:nowrap;
}
#cyclesTable .cycle-pct-cell .bar,
.cycles-table .cycle-pct-cell .bar{display:none;}


/* === stable v1.9.240 canonical ANGOL cosmic model box === */
.model-canon-section{
  border-top:1px solid rgba(245,199,92,.16);
  padding-top:14px;
}
.model-canon-box{
  border:1px solid rgba(245,199,92,.22);
  border-radius:18px;
  background:
    radial-gradient(circle at 15% 0%, rgba(244,179,62,.14), transparent 38%),
    linear-gradient(180deg, rgba(16,20,34,.92), rgba(6,9,18,.86));
  box-shadow:inset 0 0 22px rgba(244,179,62,.07), 0 12px 34px rgba(0,0,0,.22);
  padding:12px;
  display:grid;
  gap:8px;
}
.canon-kicker{
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(245,199,92,.78);
  margin-bottom:2px;
}
.canon-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:baseline;
  padding:7px 0;
  border-top:1px solid rgba(255,255,255,.07);
  font-size:12px;
}
.canon-row:first-of-type{border-top:0;}
.canon-row span{color:rgba(214,222,242,.72);}
.canon-row strong{
  color:#fff4cc;
  font-weight:700;
  text-align:right;
  white-space:nowrap;
}

/* === v1.9.240 Halley rail + custom tooltips — consolidated === */
:root{--bottom-h:184px;}

.milestone-rail{
  position:relative;
  padding:8px 14px 10px;
}

.halley-rail-block{
  display:grid;
  gap:3px;
  margin:0 0 7px;
}
.halley-rail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:14px;
  line-height:1;
}
.halley-rail-head strong{
  color:#f6f8ff;
  font-size:11px;
  line-height:1;
  letter-spacing:.01em;
  opacity:.88;
  white-space:nowrap;
}
.halley-rail-hint{
  color:#9fb0d1;
  font-size:10px;
  line-height:1;
  opacity:.78;
  overflow:hidden;
  text-align:right;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.halley-rail-track{
  position:relative;
  height:20px;
  max-height:20px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:11px;
  background:linear-gradient(90deg,rgba(245,179,62,.07),rgba(59,131,223,.07),rgba(139,85,221,.08));
  cursor:grab;
  overflow:hidden;
  touch-action:none;
}
.halley-rail-track.dragging{cursor:grabbing;}
.halley-rail-track::before,
.halley-rail-inner::before{
  content:'';
  position:absolute;
  left:18px;
  right:18px;
  top:50%;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(245,199,92,.28),rgba(255,255,255,.22));
  transform:translateY(-50%);
}
.halley-rail-track::before{display:none;}
.halley-rail-inner{
  position:absolute;
  inset:0 auto 0 0;
  height:100%;
  min-width:100%;
  transform-origin:left center;
  will-change:transform,width;
}

.halley-marker{
  position:absolute;
  top:50%;
  width:12px;
  height:12px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  overflow:visible;
  transform:translate(-50%,-50%);
  transform-origin:center;
  z-index:4;
}
.halley-marker.edge-left{transform:translateY(-50%);}
.halley-marker.edge-right{transform:translate(-100%,-50%);}
.halley-marker:hover,
.halley-marker:focus-visible{z-index:30;outline:0;}

.halley-dot{
  display:block;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#0c1222;
  border:1.5px solid rgba(190,199,216,.78);
  box-shadow:none;
  transform-origin:center;
  transition:transform .14s ease,border-color .14s ease,opacity .14s ease;
}
.halley-marker:hover .halley-dot,
.halley-marker:focus-visible .halley-dot{transform:none;border-color:rgba(235,240,252,.96);}

/* Explicit observations must sit visually above the ideal/model rhythm. */
.halley-marker.recorded{z-index:14;}
.halley-marker.recorded .halley-dot{
  background:var(--halley-core,#df3f3f);
  border-color:rgba(255,255,255,.96);
  box-shadow:0 0 calc(5px + 7px * var(--halley-glow,1)) var(--halley-color,#df3f3f);
  opacity:.98;
}
.halley-marker.predicted{z-index:10;}
.halley-marker.predicted .halley-dot{
  background:#0c1222;
  border-color:rgba(218,225,240,.92);
  opacity:.96;
}
.halley-marker.projected{z-index:6;}
.halley-marker.projected .halley-dot{
  background:#0c1222;
  border-color:rgba(170,181,204,.74);
  opacity:.88;
}
.halley-marker.theoretical-past{z-index:5;}
.halley-marker.theoretical-past .halley-dot{
  background:#0c1222;
  border-color:rgba(132,143,166,.58);
  opacity:.62;
}
.halley-marker.sampled .halley-dot{opacity:.42;}
.halley-marker.recorded.sampled .halley-dot{opacity:.82;}

.app-tooltip{
  position:fixed;
  z-index:99999;
  width:min(360px,calc(100vw - 20px));
  padding:13px 14px 14px;
  border:1px solid color-mix(in srgb, var(--tooltip-accent,#f5c75c) 46%, rgba(142,159,201,.28));
  border-radius:16px;
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--tooltip-accent,#f5c75c) 16%, transparent), transparent 38%),
    linear-gradient(180deg, rgba(13,19,36,.97), rgba(6,9,19,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.035), 0 0 26px color-mix(in srgb, var(--tooltip-accent,#f5c75c) 18%, transparent);
  color:#edf3ff;
  pointer-events:none;
  backdrop-filter:blur(12px);
  opacity:1;
  transform:translateY(0) scale(1);
  transition:opacity .12s ease, transform .12s ease;
}
.app-tooltip.hidden{
  opacity:0;
  transform:translateY(4px) scale(.985);
  visibility:hidden;
}
.app-tooltip::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  border-top:1px solid rgba(255,255,255,.12);
  pointer-events:none;
}
.app-tooltip-kicker{
  color:color-mix(in srgb, var(--tooltip-accent,#f5c75c) 78%, #ffffff 22%);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.25;
  margin-bottom:5px;
  text-transform:uppercase;
}
.app-tooltip-title{
  color:#fff;
  font-size:14px;
  font-weight:850;
  line-height:1.25;
}
.app-tooltip-meta{
  color:#aebbd6;
  font-size:11px;
  line-height:1.35;
  margin-top:5px;
}
.app-tooltip-body{
  color:#dce7ff;
  font-size:12px;
  line-height:1.45;
  margin-top:10px;
}
.app-tooltip-list{
  display:grid;
  gap:5px;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.08);
}
.app-tooltip-list span{
  position:relative;
  color:#bfcbe3;
  font-size:11px;
  line-height:1.35;
  padding-left:11px;
}
.app-tooltip-list span::before{ content:none; }


.main-rail-wrap{position:relative;}
.main-rail-wrap .rail-track{margin-top:0;}
.main-rail-wrap .rail-zoom-tools{
  position:absolute;
  right:10px;
  top:8px;
  z-index:30;
  display:flex;
  align-items:center;
  gap:7px;
  width:auto;
  min-width:auto;
  margin:0;
  justify-self:auto;
}
.main-rail-wrap .rail-zoom-tools input{display:none;}
.main-rail-wrap .rail-zoom-tools .chip{
  height:26px;
  min-width:26px;
  padding:0 8px;
  border-radius:999px;
}

@media (max-width:980px){
  :root{--bottom-h:214px;}
  .halley-rail-head{display:block;}
  .halley-rail-hint{display:block;margin-top:3px;text-align:left;}
  .main-rail-wrap .rail-zoom-tools{
    position:static;
    width:100%;
    margin:6px 0;
    justify-content:flex-end;
  }
  .main-rail-wrap .rail-zoom-tools input{display:block;max-width:180px;}
}



/* === v1.9.240 Halley hover centering fix === */

.halley-marker{
  appearance:none;
  -webkit-appearance:none;
  margin:0;
  line-height:0;
  font-size:0;
  transition:none;
}
.halley-dot{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.halley-marker:hover .halley-dot,
.halley-marker:focus-visible .halley-dot{
  transform:translate(-50%,-50%);
}


/* === v1.9.240 halley hover: isolate from global button hover === */
.halley-marker:hover,.halley-marker:focus-visible{transform:translate(-50%,-50%);}
.halley-marker.edge-left:hover,.halley-marker.edge-left:focus-visible{transform:translateY(-50%);}
.halley-marker.edge-right:hover,.halley-marker.edge-right:focus-visible{transform:translate(-100%,-50%);}


/* === v1.9.240 cycle subdivision guides === */

#cyclesTable tbody tr.cycle-data-row,
.cycles-table tbody tr.cycle-data-row{
  background-blend-mode:normal;
}


/* === v1.9.240 Halley rail polish + darker cycle dividers === */
.halley-rail-block{
  position:relative;
  display:block;
  margin:0 0 17px;
}
.halley-rail-track{
  height:20px;
  max-height:20px;
  border-radius:11px;
}
.halley-rail-head{
  position:absolute;
  inset:0 12px auto 12px;
  z-index:4;
  height:20px;
  min-height:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  line-height:1;
  pointer-events:none;
}
.halley-rail-head strong,
.halley-rail-hint{
  margin:0;
  font-weight:400;
  letter-spacing:.01em;
}
.halley-rail-head strong{
  color:#ffffff;
  font-size:11px;
  opacity:.96;
  white-space:nowrap;
  text-shadow:0 1px 8px rgba(5,8,17,.88);
}
.halley-rail-hint{
  color:#a9b7d4;
  font-size:10px;
  opacity:.84;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 1px 8px rgba(5,8,17,.88);
}
@media (max-width:980px){
  .halley-rail-block{margin:0 0 15px;}
  .halley-rail-head{inset:0 10px auto 10px;gap:10px;}
  .halley-rail-head strong{font-size:10px;max-width:42%;overflow:hidden;text-overflow:ellipsis;}
  .halley-rail-hint{font-size:9px;max-width:56%;}
}
@media (max-width:700px){
  .halley-rail-head strong{max-width:40%;}
  .halley-rail-hint{max-width:58%;}
}


/* === v1.9.240 Halley spacing polish === */
.milestone-rail{
  padding:15px;
}
.halley-rail-block{
  margin:0 0 15px;
}
.halley-rail-head{
  inset:0 15px auto 15px;
  height:20px;
}
.halley-rail-head strong{
  font-weight:400;
}
.halley-rail-track::before,
.halley-rail-inner::before,
.rail-track:before{
  left:15px;
  right:15px;
}
@media (max-width:980px){
  .milestone-rail{padding:15px;}
  .halley-rail-head{inset:0 15px auto 15px;}
  .halley-rail-block{margin:0 0 15px;}
}


/* === v1.9.240 cycle table column mixer === */
.cycles-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}
.cycle-columns-menu-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.cycle-columns-trigger{
  width:32px;
  height:32px;
  display:inline-grid;
  place-items:center;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.28);
  background:linear-gradient(180deg,rgba(23,34,58,.92),rgba(11,17,31,.96));
  color:#dfe8ff;
  font-size:15px;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 22px rgba(0,0,0,.22);
}
.cycle-columns-trigger:hover,
.cycle-columns-trigger.is-active{
  transform:none;
  border-color:rgba(245,199,92,.48);
  color:#ffe7a5;
  background:linear-gradient(180deg,rgba(42,49,70,.96),rgba(15,21,36,.98));
}
.cycle-columns-menu{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  z-index:80;
  min-width:210px;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.24);
  background:linear-gradient(180deg,rgba(13,19,35,.98),rgba(7,11,22,.99));
  box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.035);
  backdrop-filter:blur(14px);
}
.cycle-columns-menu::before{
  content:'';
  position:absolute;
  right:13px;
  top:-6px;
  width:10px;
  height:10px;
  transform:rotate(45deg);
  background:rgba(13,19,35,.98);
  border-left:1px solid rgba(142,159,201,.2);
  border-top:1px solid rgba(142,159,201,.2);
}
.cycle-columns-menu-title{
  margin:0 0 8px;
  padding:0 2px 7px;
  border-bottom:1px solid rgba(142,159,201,.14);
  color:#f5c75c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cycle-column-option{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:32px;
  padding:6px 8px;
  border-radius:10px;
  color:#dce6ff;
  font-size:12px;
  cursor:pointer;
  user-select:none;
}
.cycle-column-option:hover{
  background:rgba(245,199,92,.08);
}
.cycle-column-option.is-fixed{
  color:#8f9bb7;
  cursor:not-allowed;
}
.cycle-column-option input{
  width:14px;
  height:14px;
  margin:0;
  padding:0;
  accent-color:var(--gold);
}
.cycle-col-hidden{
  display:none;
}
#cyclesTable th[data-cycle-col],
#cyclesTable td[data-cycle-col]{
  transition:opacity .14s ease;
}
@media (max-width:980px){
  .cycles-head-actions{gap:6px;}
  .cycle-columns-menu{right:-4px;min-width:200px;}
}


/* === v1.9.240 split topic timelines === */
:root{--split-extra-h:0px;}
body.split-timelines-active .milestone-rail{max-height:calc(var(--bottom-h) + var(--split-extra-h));min-height:calc(var(--bottom-h) + var(--split-extra-h));}
body.split-timelines-active .app-shell{height:calc(100dvh - var(--bottom-h) - var(--bottom-gap) - var(--split-extra-h));max-height:calc(100dvh - var(--bottom-h) - var(--bottom-gap) - var(--split-extra-h));}
.split-topics-btn{white-space:nowrap;color:#ffe7a5;border-color:rgba(245,199,92,.36);background:rgba(245,199,92,.10);}
.split-rails{display:grid;gap:9px;margin:0 0 10px;}
.split-rails.hidden{display:none;}
.split-topic-rail{position:relative;min-height:46px;}
.split-topic-title{position:absolute;left:12px;top:7px;z-index:5;max-width:260px;padding:4px 8px;border-radius:999px;background:rgba(5,8,17,.68);border:1px solid rgba(142,159,201,.16);color:#fff;font-size:11px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;}
.split-topic-actions{position:absolute;right:12px;top:7px;z-index:8;}
.split-topic-actions summary{list-style:none;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;border:1px solid rgba(142,159,201,.28);background:rgba(10,16,31,.82);color:#dfe8ff;cursor:pointer;font-size:13px;}
.split-topic-actions summary::-webkit-details-marker{display:none;}
.split-topic-menu{position:absolute;right:0;top:calc(100% + 7px);display:grid;gap:5px;min-width:230px;padding:8px;border-radius:14px;border:1px solid rgba(142,159,201,.24);background:rgba(8,12,24,.96);box-shadow:0 18px 40px rgba(0,0,0,.42);backdrop-filter:blur(12px);}
.split-topic-menu button,.split-topic-empty{display:block;width:100%;padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(142,159,201,.12);color:#dfe8ff;text-align:left;font-size:12px;}
.split-topic-menu button:hover{transform:none;background:rgba(245,199,92,.09);border-color:rgba(245,199,92,.26);}
.split-rail-track{height:46px;border-radius:16px;}
.split-rail-track .milestone{top:5px;}
.split-rail-track .milestone .label{display:none;}
.split-rail-track .milestone .pin{margin:16px auto 0;width:11px;height:11px;}
.split-rail-track .rail-inner:before{top:22px;}
@media (max-width:980px){body.split-timelines-active .app-shell{height:auto;max-height:none}.split-topic-title{max-width:46%;}.split-topic-menu{min-width:min(260px,80vw);}}


/* === v1.9.240 split timeline behaviour fixes === */
body.split-timelines-active .milestone-rail{
  overflow:visible;
}
body.split-timelines-active .main-rail-wrap,
body.split-timelines-active .split-rails,
body.split-timelines-active .split-topic-rail{
  overflow:visible;
}
.split-topic-actions{
  z-index:80;
}
.split-topic-actions[open]{
  z-index:160;
}
.split-topic-actions summary{
  pointer-events:auto;
  user-select:none;
}
.split-topic-menu{
  z-index:180;
}
.split-rail-track .milestone::after,
.split-rail-track .milestone .pin::before{
  display:none;
  content:none;
}
.split-rail-track .milestone .pin{
  margin-top:17px;
}
body.split-timelines-active .split-rails{
  margin-bottom:0;
}


/* === v1.9.240 split timeline alignment fix === */
.main-rail-wrap .rail-zoom-tools #splitTopicsBtn{
  order:99;
  margin-left:8px;
}
.main-rail-wrap .rail-zoom-tools #railZoomOutBtn{order:1;}
.main-rail-wrap .rail-zoom-tools #railZoomInBtn{order:2;}
.main-rail-wrap .rail-zoom-tools #railResetBtn{order:3;}
.main-rail-wrap .rail-zoom-tools #splitTopicsBtn.hidden{display:none;}

.split-topic-actions{
  top:50%;
  right:10px;
  transform:translateY(-50%);
}
.split-topic-actions summary{
  display:grid;
  place-items:center;
  line-height:1;
  padding:0;
}
.split-topic-menu{
  top:auto;
  bottom:calc(100% + 8px);
  right:0;
  transform-origin:bottom right;
}
body.split-timelines-active .split-rails{
  margin-bottom:0;
  padding-bottom:0;
}
@media (max-width:980px){
  .main-rail-wrap .rail-zoom-tools #splitTopicsBtn{order:99;}
}

/* === v1.9.240 split controls + keyboard autoplay === */
body.split-timelines-active .main-rail-wrap .rail-zoom-tools{
  right:62px;
}
.split-topic-menu button[data-split-action="mergeAll"]{
  border-color:rgba(245,199,92,.24);
  color:#ffe7a5;
  background:rgba(245,199,92,.07);
}
.split-topic-menu button[data-split-action="mergeAll"]::before{
  content:'↔ ';
  opacity:.9;
}
@media (max-width:980px){
  body.split-timelines-active .main-rail-wrap .rail-zoom-tools{right:auto;}
}


/* === v1.9.240 split menu polish + milestone centering === */
.split-topic-menu{
  gap:10px;
  padding:10px;
}
.split-topic-section{
  display:grid;
  gap:6px;
}
.split-topic-section + .split-topic-section{
  padding-top:8px;
  border-top:1px solid rgba(142,159,201,.12);
}
.split-topic-section-title{
  font-size:10px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(159,176,209,.62);
  padding:0 2px;
}
.split-topic-merge-all{
  background:rgba(245,199,92,.08);
  border-color:rgba(245,199,92,.22);
  color:#f3deb0;
}
.split-topic-merge-all:hover{
  background:rgba(245,199,92,.12);
  border-color:rgba(245,199,92,.3);
}
.split-topic-danger{
  background:rgba(255,255,255,.02);
  border-color:rgba(142,159,201,.08);
  color:rgba(216,226,248,.7);
}
.split-topic-danger:hover{
  background:rgba(220,92,92,.08);
  border-color:rgba(220,92,92,.18);
  color:rgba(255,225,225,.82);
}

.rail-track:before{
  top:53px;
}
.milestone{top:18px;}
.milestone:after{
  display:none;
  content:none;
}
.milestone .pin{
  margin:14px auto 0;
}
.milestone .pin::before{
  top:-14px;
  height:14px;
  opacity:.52;
}

.split-rail-track{
  height:56px;
  border-radius:18px;
}
.split-rail-track .rail-inner:before{
  top:28px;
}
.split-rail-track .milestone{
  top:0;
  height:56px;
}
.split-rail-track .milestone .pin{
  position:absolute;
  left:50%;
  top:28px;
  transform:translate(-50%,-50%);
  margin:0;
  width:11px;
  height:11px;
}


/* === v1.9.240 present marker cleanup + rail refocus === */
.timeline-slider-row{
  position:relative;
}
.timeline-slider-row .present-marker{
  position:absolute;
  top:50%;
  width:1px;
  height:20px;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:rgba(245,199,92,.72);
  box-shadow:0 0 0 1px rgba(245,199,92,.18),0 0 14px rgba(245,199,92,.36);
  pointer-events:none;
  z-index:5;
}
.timeline-slider-row .present-marker::before{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:#f5c75c;
  box-shadow:0 0 10px rgba(245,199,92,.42);
}
.timeline-slider-row .present-marker::after{
  display:none;
  content:none;
}


/* === v1.9.240 split footer scroll + menu simplification === */
body.split-timelines-active .milestone-rail{
  min-height:0;
  max-height:25vh;
  height:auto;
  overflow-y:auto;
  overflow-x:visible;
  scrollbar-width:thin;
  scrollbar-color:#7f8fb6 rgba(8,12,24,.72);
}
body.split-timelines-active .app-shell{
  height:100%;
  max-height:100%;
}
body.split-timelines-active .split-rails{
  max-height:none;
  overflow:visible;
  padding-bottom:4px;
}
.split-topic-menu{
  gap:8px;
  padding:9px;
}
.split-topic-section-title{display:none;}
.split-topic-section + .split-topic-section{
  padding-top:8px;
  border-top:1px solid rgba(142,159,201,.12);
}
.split-topic-section-merge-all + .split-topic-section{
  padding-top:8px;
}
.split-topic-danger{
  opacity:.72;
  color:rgba(216,226,248,.62);
}
.split-topic-danger:hover{
  opacity:1;
  color:rgba(255,225,225,.82);
}

/* Consolidated present/current marker. */
.timeline-slider-row .present-marker{
  position:absolute;
  top:50%;
  width:1px;
  height:20px;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:rgba(245,199,92,.72);
  box-shadow:0 0 0 1px rgba(245,199,92,.18),0 0 14px rgba(245,199,92,.36);
  pointer-events:none;
  z-index:5;
}
.timeline-slider-row .present-marker::before{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:#f5c75c;
  box-shadow:0 0 10px rgba(245,199,92,.42);
}
.timeline-slider-row .present-marker::after{display:none;content:none;}


/* === v1.9.240 calendar-default + speed slider + footer overflow polish === */
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) minmax(320px,430px);
}
.timeline-speed-slider-field{
  min-width:320px;
}
.timeline-speed-slider-field > span{display:none;}
.speed-slider-ui{
  display:grid;
  grid-template-rows:24px 14px 16px;
  gap:2px;
  min-height:56px;
  padding:7px 10px 5px;
  border:1px solid rgba(142,159,201,.24);
  border-radius:14px;
  background:#0b1325;
}
.speed-slider-line{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:center;
  gap:9px;
}
.speed-icon{
  color:rgba(245,199,92,.92);
  font-size:13px;
  line-height:1;
  text-align:center;
}
.speed-slider-line input[type=range]{
  width:100%;
  padding:0;
  margin:0;
  height:18px;
  accent-color:var(--gold);
}
.speed-ticks{
  position:relative;
  height:12px;
  margin:0 3px 0 29px;
}
.speed-ticks i{
  position:absolute;
  top:1px;
  width:1px;
  height:10px;
  transform:translateX(-50%);
  background:rgba(159,176,209,.35);
}
.speed-labels{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:0;
  margin-left:29px;
  color:rgba(190,202,229,.8);
  font-size:10px;
  line-height:1;
}
.speed-labels span{
  text-align:center;
  white-space:nowrap;
}
.speed-labels span:nth-child(4){color:#ffe7a5;font-weight:700;}
body.split-timelines-active .milestone-rail{
  max-height:25dvh;
  overflow-y:auto;
  overflow-x:hidden;
  padding-bottom:12px;
}
body.split-timelines-active .main-rail-wrap{overflow:visible;}
@media (max-width:1180px){
  .timeline-top-row{grid-template-columns:auto minmax(260px,1fr) minmax(280px,360px);}
  .timeline-speed-slider-field{min-width:280px;}
}
@media (max-width:920px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field{min-width:0;}
}


/* === v1.9.240 autoplay speed slider polish === */
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) minmax(360px,460px);
  align-items:center;
}
.timeline-speed-slider-field{
  min-width:360px;
  margin:0;
  align-self:center;
}
.speed-slider-ui{
  position:relative;
  min-height:46px;
  padding:6px 10px 5px;
  display:grid;
  grid-template-rows:22px 13px;
  gap:1px;
  border:1px solid rgba(142,159,201,.22);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(11,19,37,.92),rgba(8,13,27,.94));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);
}
.speed-slider-line{
  display:grid;
  grid-template-columns:20px minmax(0,1fr) 20px;
  align-items:center;
  gap:9px;
  min-height:22px;
}
.speed-icon{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  color:rgba(206,217,241,.82);
  font-size:13px;
  line-height:1;
  filter:saturate(.88) brightness(.95);
  opacity:.9;
}
.speed-icon-fast{font-size:14px;}
.speed-slider-line input#speedSlider[type=range]{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:18px;
  margin:0;
  padding:0;
  background:transparent;
  border:none;
  outline:none;
  accent-color:var(--gold);
}
.speed-slider-line input#speedSlider[type=range]::-webkit-slider-runnable-track{
  height:6px;
  border-radius:999px;
  background:#1a253d;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
}
.speed-slider-line input#speedSlider[type=range]::-moz-range-track{
  height:6px;
  border-radius:999px;
  background:#1a253d;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
}
.speed-slider-line input#speedSlider[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;
  height:18px;
  margin-top:-6px;
  border-radius:6px;
  border:2px solid rgba(255,246,215,.95);
  background:linear-gradient(180deg,#ffe8a8,#f2bc46);
  box-shadow:0 0 0 3px rgba(245,199,92,.16),0 0 14px rgba(245,199,92,.38);
}
.speed-slider-line input#speedSlider[type=range]::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:6px;
  border:2px solid rgba(255,246,215,.95);
  background:linear-gradient(180deg,#ffe8a8,#f2bc46);
  box-shadow:0 0 0 3px rgba(245,199,92,.16),0 0 14px rgba(245,199,92,.38);
}
.speed-ticks{
  position:absolute;
  left:39px;
  right:39px;
  top:14px;
  height:6px;
  margin:0;
  pointer-events:none;
  z-index:0;
}
.speed-ticks i{
  position:absolute;
  top:0;
  width:1px;
  height:6px;
  transform:translateX(-50%);
  background:rgba(191,205,236,.28);
}
.speed-labels{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  margin:0 27px 0 29px;
  gap:0;
  align-items:end;
  color:rgba(190,202,229,.75);
  font-size:10px;
  line-height:1;
  letter-spacing:.01em;
}
.speed-labels span{
  text-align:center;
  white-space:nowrap;
  font-weight:500;
}
.speed-labels span:nth-child(2){color:#ffe7a5;font-weight:800;}
@media (max-width:1180px){
  .timeline-top-row{grid-template-columns:auto minmax(260px,1fr) minmax(310px,380px);}
  .timeline-speed-slider-field{min-width:310px;}
}
@media (max-width:980px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field{min-width:0;width:100%;}
}


/* === v1.9.240 autoplay speed rail ticks + labels fix === */
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) minmax(390px,500px);
  align-items:center;
}
.timeline-speed-slider-field{
  min-width:390px;
  margin:0;
  align-self:center;
}
.speed-slider-ui{
  position:relative;
  min-height:58px;
  padding:7px 12px 7px;
  display:grid;
  grid-template-rows:28px 14px;
  gap:5px;
  border:1px solid rgba(142,159,201,.22);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(11,19,37,.94),rgba(8,13,27,.96));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);
  overflow:visible;
}
.speed-slider-line{
  position:relative;
  display:grid;
  grid-template-columns:20px minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  min-height:28px;
}
.speed-slider-line::before{
  content:'';
  position:absolute;
  left:30px;
  right:30px;
  top:50%;
  height:6px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(180deg,#10192d 0%,#17233b 52%,#0a1020 100%);
  border:1px solid rgba(142,159,201,.24);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);
  z-index:0;
}
.speed-icon{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  color:rgba(206,217,241,.82);
  font-size:13px;
  line-height:1;
  opacity:.9;
  z-index:3;
}
.speed-icon-fast{font-size:14px;}
.speed-slider-line input#speedSlider[type=range]{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:22px;
  margin:0;
  padding:0;
  background:transparent;
  border:none;
  outline:none;
  position:relative;
  z-index:3;
}
.speed-slider-line input#speedSlider[type=range]::-webkit-slider-runnable-track{
  height:6px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.speed-slider-line input#speedSlider[type=range]::-moz-range-track{
  height:6px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.speed-slider-line input#speedSlider[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;
  height:18px;
  margin-top:-6px;
  border-radius:6px;
  border:2px solid rgba(255,246,215,.95);
  background:linear-gradient(180deg,#ffe8a8,#f2bc46);
  box-shadow:0 0 0 3px rgba(245,199,92,.16),0 0 14px rgba(245,199,92,.38);
}
.speed-slider-line input#speedSlider[type=range]::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:6px;
  border:2px solid rgba(255,246,215,.95);
  background:linear-gradient(180deg,#ffe8a8,#f2bc46);
  box-shadow:0 0 0 3px rgba(245,199,92,.16),0 0 14px rgba(245,199,92,.38);
}
.speed-ticks{
  position:absolute;
  left:42px;
  right:42px;
  top:8px;
  height:28px;
  margin:0;
  pointer-events:none;
  z-index:1;
}
.speed-ticks i{
  position:absolute;
  top:8px;
  width:1px;
  height:12px;
  transform:translateX(-50%);
  background:rgba(191,205,236,.4);
  box-shadow:0 0 0 1px rgba(7,12,24,.16);
}
.speed-labels{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  margin:0 30px;
  gap:0;
  align-items:start;
  color:rgba(190,202,229,.78);
  font-size:10px;
  line-height:1;
  letter-spacing:.01em;
}
.speed-labels span{
  text-align:center;
  white-space:nowrap;
  font-weight:500;
}
.speed-labels span:nth-child(4){color:#ffe7a5;font-weight:800;}
@media (max-width:1180px){
  .timeline-top-row{grid-template-columns:auto minmax(260px,1fr) minmax(340px,390px);}
  .timeline-speed-slider-field{min-width:340px;}
}
@media (max-width:980px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field{min-width:0;width:100%;}
}


/* === v1.9.240 adaptive autoplay speed === */
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) minmax(430px,540px);
}
.timeline-speed-slider-field{
  min-width:430px;
}
.speed-slider-ui{
  min-height:72px;
  grid-template-rows:28px 14px 13px;
  gap:4px;
}
.speed-labels{
  grid-template-columns:repeat(8,minmax(0,1fr));
  margin:0 30px;
}
.speed-labels span:nth-child(4){color:#ffe7a5;font-weight:800;}
.speed-labels span:nth-child(2){color:rgba(190,202,229,.78);font-weight:500;}
.speed-tempo-hint{
  margin:0 30px;
  color:rgba(159,176,209,.68);
  font-size:10px;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:1180px){
  .timeline-top-row{grid-template-columns:auto minmax(260px,1fr) minmax(390px,440px);}
  .timeline-speed-slider-field{min-width:390px;}
}
@media (max-width:980px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field{min-width:0;width:100%;}
}


/* === v1.9.240 split menu portal: no parent overflow clipping === */
body.split-timelines-active .milestone-rail{
  overflow:visible;
  max-height:none;
}
body.split-timelines-active .main-rail-wrap{
  overflow:visible;
}
body.split-timelines-active .split-rails{
  max-height:min(25dvh, 260px);
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:8px;
  margin-bottom:0;
  scrollbar-width:thin;
  scrollbar-color:#56658a rgba(8,12,24,.55);
}
body.split-timelines-active .split-rails::-webkit-scrollbar{width:8px;}
body.split-timelines-active .split-rails::-webkit-scrollbar-thumb{background:#56658a;border-radius:999px;}
body.split-timelines-active .split-rails::-webkit-scrollbar-track{background:rgba(8,12,24,.55);border-radius:999px;}
.split-topic-actions{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  z-index:40;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.28);
  background:rgba(10,16,31,.82);
  color:#dfe8ff;
  cursor:pointer;
  line-height:1;
}
.split-topic-actions:hover,
.split-topic-actions[aria-expanded="true"]{
  transform:translateY(-50%);
  border-color:rgba(245,199,92,.42);
  color:#ffe7a5;
  background:rgba(14,20,36,.95);
}
.split-topic-portal-menu{
  position:fixed;
  z-index:100000;
  display:grid;
  gap:10px;
  min-width:240px;
  max-width:min(320px, calc(100vw - 20px));
  max-height:min(60dvh, 440px);
  overflow:auto;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.24);
  background:rgba(8,12,24,.98);
  box-shadow:0 22px 54px rgba(0,0,0,.56), 0 0 0 1px rgba(255,255,255,.035) inset;
  backdrop-filter:blur(14px);
}
.split-topic-portal-menu.hidden{display:none;}
.split-topic-portal-menu .split-topic-section{display:grid;gap:6px;}
.split-topic-portal-menu .split-topic-section + .split-topic-section{
  padding-top:8px;
  border-top:1px solid rgba(142,159,201,.12);
}
.split-topic-portal-menu button,
.split-topic-portal-menu .split-topic-empty{
  display:block;
  width:100%;
  padding:9px 10px;
  border-radius:11px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(142,159,201,.12);
  color:#dfe8ff;
  text-align:left;
  font-size:12px;
  line-height:1.2;
}
.split-topic-portal-menu button:hover{
  transform:none;
  background:rgba(245,199,92,.09);
  border-color:rgba(245,199,92,.26);
}
.split-topic-portal-menu .split-topic-merge-all{
  background:rgba(245,199,92,.08);
  border-color:rgba(245,199,92,.24);
  color:#f5dfaa;
}
.split-topic-portal-menu .split-topic-danger{
  background:rgba(255,255,255,.018);
  border-color:rgba(142,159,201,.08);
  color:rgba(216,226,248,.68);
}
.split-topic-portal-menu .split-topic-danger:hover{
  background:rgba(220,92,92,.08);
  border-color:rgba(220,92,92,.18);
  color:rgba(255,225,225,.86);
}
/* Legacy menu from pre-portal versions is intentionally unused. */
.split-topic-rail details.split-topic-actions,
.split-topic-rail .split-topic-menu{display:none;}


/* === v1.9.240 topbar speed + column menu polish === */
:root{--top-control-h:64px;}
.timeline-play-main,
.mega-search-wrap,
.speed-slider-ui{
  min-height:var(--top-control-h);
  height:var(--top-control-h);
  box-sizing:border-box;
}
.timeline-play-main{
  align-self:stretch;
}
.timeline-field,
.timeline-speed-slider-field{
  align-self:stretch;
}
.timeline-speed-slider-field{
  min-width:430px;
}
.speed-slider-ui{
  grid-template-rows:30px 14px;
  gap:5px;
  padding:7px 12px 6px;
}
.speed-tempo-hint{
  display:none;
}
.speed-slider-ui:hover,
.speed-slider-ui:focus-within{
  border-color:rgba(245,199,92,.36);
}

.cycle-column-option.is-fixed{display:none;}
.cycle-column-option input{
  appearance:none;
  -webkit-appearance:none;
  width:15px;
  height:15px;
  min-width:15px;
  margin:0;
  padding:0;
  border-radius:4px;
  border:1px solid rgba(142,159,201,.42);
  background:#080f1f;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  display:grid;
  place-content:center;
  cursor:pointer;
}
.cycle-column-option:hover input{
  border-color:rgba(245,199,92,.62);
  background:#0b1427;
}
.cycle-column-option input:checked{
  border-color:#f5c75c;
  background:linear-gradient(180deg,#f6cf73,#e7b744);
  box-shadow:0 0 0 2px rgba(245,199,92,.12), inset 0 1px 0 rgba(255,255,255,.32);
}
.cycle-column-option input:checked::before{
  content:'✓';
  color:#101522;
  font-size:11px;
  line-height:1;
  font-weight:700;
  transform:translateY(-.5px);
}
.cycle-column-option input:focus-visible{
  outline:2px solid rgba(245,199,92,.42);
  outline-offset:2px;
}
@media (max-width:1180px){
  .timeline-speed-slider-field{min-width:390px;}
}
@media (max-width:980px){
  .timeline-play-main,.mega-search-wrap,.speed-slider-ui{height:auto;min-height:var(--top-control-h);}
  .timeline-speed-slider-field{min-width:0;width:100%;}
}


/* === v1.9.240 speed slider alignment fix === */
.timeline-speed-slider-field{
  min-width:350px;
}
.speed-slider-ui{
  padding:8px 12px 8px;
  grid-template-rows:30px 16px;
  gap:6px;
}
.speed-slider-line{
  grid-template-columns:18px minmax(0,1fr) 18px;
  gap:10px;
}
.speed-slider-line::before{
  left:28px;
  right:28px;
}
.speed-ticks{
  left:40px;
  right:40px;
  top:9px;
  height:28px;
}
.speed-ticks i{
  top:5px;
  height:12px;
  background:rgba(178,191,220,.38);
}
.speed-ticks i.is-active{
  background:rgba(245,199,92,.92);
  box-shadow:0 0 10px rgba(245,199,92,.28);
}
.speed-labels{
  position:relative;
  display:block;
  margin:0 28px;
  height:16px;
  color:rgba(190,202,229,.78);
  font-size:10px;
  line-height:1;
}
.speed-labels span{
  position:absolute;
  top:0;
  transform:translateX(-50%);
  white-space:nowrap;
  font-weight:600;
  text-align:center;
  color:rgba(190,202,229,.82);
}
.speed-labels span.is-active{
  color:#ffe7a5;
  text-shadow:0 0 12px rgba(245,199,92,.28);
  font-weight:800;
}
.speed-labels span:first-child{ transform:translateX(0); text-align:left; }
.speed-labels span:last-child{ transform:translateX(-100%); text-align:right; }
@media (max-width:1180px){
  .timeline-speed-slider-field{min-width:350px;}
}
@media (max-width:980px){
  .timeline-speed-slider-field{min-width:0;width:100%;}
}


/* === v1.9.240 speed default + tooltip polish === */
.timeline-speed-slider-field{
  min-width:310px;
}
.speed-slider-ui{
  min-height:58px;
  height:58px;
}
.speed-labels{
  pointer-events:auto;
}
.speed-labels span{
  cursor:help;
}
@media (max-width:1180px){
  .timeline-speed-slider-field{min-width:300px;}
}
@media (max-width:980px){
  .timeline-speed-slider-field{min-width:0;width:100%;}
}


/* === v1.9.240 speed tooltip target + compact width fix === */
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) minmax(280px,360px);
}
.timeline-speed-slider-field{
  min-width:280px;
  max-width:360px;
}
.speed-slider-ui{
  min-height:56px;
  height:56px;
}
.speed-labels{
  margin:0 24px;
}
.speed-labels span{
  color:rgba(190,202,229,.82);
  font-weight:600;
}
.speed-labels span:not(.is-active){
  color:rgba(190,202,229,.82);
  font-weight:600;
  text-shadow:none;
}
.speed-labels span.is-active{
  color:#ffe7a5;
  text-shadow:0 0 12px rgba(245,199,92,.28);
  font-weight:800;
}
.speed-labels span:nth-child(1),
.speed-labels span:nth-child(2),
.speed-labels span:nth-child(3),
.speed-labels span:nth-child(4),
.speed-labels span:nth-child(5),
.speed-labels span:nth-child(6),
.speed-labels span:nth-child(7),
.speed-labels span:nth-child(8){
  color:rgba(190,202,229,.82);
  font-weight:600;
}
.speed-labels span.is-active:nth-child(1),
.speed-labels span.is-active:nth-child(2),
.speed-labels span.is-active:nth-child(3),
.speed-labels span.is-active:nth-child(4),
.speed-labels span.is-active:nth-child(5),
.speed-labels span.is-active:nth-child(6),
.speed-labels span.is-active:nth-child(7),
.speed-labels span.is-active:nth-child(8){
  color:#ffe7a5;
  font-weight:800;
}
.speed-labels span:hover{
  color:#f6ddb0;
}
.speed-labels span.is-active:hover{
  color:#ffe7a5;
}
@media (max-width:1180px){
  .timeline-top-row{grid-template-columns:auto minmax(260px,1fr) minmax(260px,320px);}
  .timeline-speed-slider-field{min-width:260px;max-width:320px;}
}
@media (max-width:980px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field{min-width:0;max-width:none;width:100%;}
}


/* === v1.9.240 speed slider borderless + label alignment polish === */
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) minmax(260px,330px);
}
.timeline-speed-slider-field{
  min-width:260px;
  max-width:330px;
}
.speed-slider-ui{
  min-height:56px;
  height:56px;
  padding:7px 10px 7px;
  border:none;
  outline:none;
  box-shadow:none;
  background:linear-gradient(180deg,rgba(10,17,34,.90),rgba(7,12,24,.94));
}
.speed-slider-ui:hover,
.speed-slider-ui:focus-within{
  border:none;
  outline:none;
  box-shadow:none;
}
.speed-slider-line{
  grid-template-columns:18px minmax(0,1fr) 18px;
  gap:8px;
  min-height:26px;
}
.speed-slider-line::before{
  left:26px;
  right:26px;
  top:50%;
  height:6px;
  background:linear-gradient(180deg,#10192d 0%,#16233a 52%,#0a1020 100%);
  border:1px solid rgba(142,159,201,.18);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
}
.speed-icon{
  width:18px;
  height:18px;
  font-size:12px;
}
.speed-icon-fast{font-size:13px;}
.speed-ticks{
  left:36px;
  right:36px;
  top:8px;
  height:24px;
}
.speed-ticks i{
  top:6px;
  height:11px;
}
.speed-labels{
  margin:0 36px;
  height:14px;
  font-size:10px;
  line-height:1;
}
.speed-labels span{
  top:0;
  letter-spacing:0;
}
.speed-labels span:first-child{
  transform:translateX(-10%);
  text-align:left;
}
.speed-labels span:last-child{
  transform:translateX(-90%);
  text-align:right;
}
.speed-labels span:not(:first-child):not(:last-child){
  transform:translateX(-50%);
}
@media (max-width:1180px){
  .timeline-top-row{grid-template-columns:auto minmax(260px,1fr) minmax(240px,300px);}
  .timeline-speed-slider-field{min-width:240px;max-width:300px;}
}
@media (max-width:980px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field{min-width:0;max-width:none;width:100%;}
}


/* === v1.9.240 topic-input slider sync + iconless speed rail === */
.speed-icon,
.speed-icon-slow,
.speed-icon-fast{
  display:none;
}
.speed-slider-line{
  grid-template-columns:minmax(0,1fr);
  gap:0;
}
.speed-slider-line::before{
  left:0;
  right:0;
}
.speed-ticks{
  left:10px;
  right:10px;
}
.speed-labels{
  margin:0 10px;
}
.speed-slider-line input#speedSlider[type=range]{
  grid-column:1 / -1;
}


/* === v1.9.240 Halley Focus Layer === */
.halley-marker.has-focus .halley-dot{
  width:calc(8px + var(--halley-focus, .4) * 7px);
  height:calc(8px + var(--halley-focus, .4) * 7px);
  box-shadow:
    0 0 calc(10px + var(--halley-focus, .4) * 18px) color-mix(in srgb, var(--halley-color) 72%, transparent),
    0 0 calc(4px + var(--halley-focus, .4) * 8px) rgba(255,255,255,.22);
}
.halley-marker.has-focus::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:22px;
  height:22px;
  transform:translate(-50%, calc(-50% + var(--halley-focus-y,0) * 5px));
  border-radius:50%;
  border:1px solid rgba(245,199,92,.32);
  opacity:.56;
  pointer-events:none;
}
.halley-marker.focus-north::after{border-top-color:rgba(255,232,173,.88);}
.halley-marker.focus-south::after{border-bottom-color:rgba(255,232,173,.88);}
.halley-marker.focus-global::after{
  border-color:rgba(255,255,255,.48);
  box-shadow:0 0 14px rgba(255,255,255,.16);
}
.sky-mini .sky-mini-label{
  max-width:calc(100% - 20px);
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}


/* === v1.9.240 Halley focus tooltip polish === */
.halley-marker.has-focus .halley-dot{
  box-shadow:0 0 calc(10px + 14px * var(--halley-focus, .4)) var(--halley-color), 0 0 calc(18px + 22px * var(--halley-focus, .4)) color-mix(in srgb, var(--halley-color) 38%, transparent);
}
.app-tooltip-list span{
  border-left:2px solid color-mix(in srgb, var(--tooltip-accent, #f5c75c) 42%, transparent);
  padding-left:8px;
}
.app-tooltip-list span:nth-child(2),
.app-tooltip-list span:nth-child(3){
  color:rgba(229,236,252,.92);
}


/* === v1.9.240 Halley tooltip redesign polish === */
.halley-marker.has-focus::after{content:none;}
.halley-marker.has-focus .halley-dot{
  box-shadow:0 0 calc(8px + 10px * var(--halley-focus, .4)) color-mix(in srgb, var(--halley-color) 75%, transparent), 0 0 calc(14px + 18px * var(--halley-focus, .4)) color-mix(in srgb, var(--halley-color) 28%, transparent);
}
.app-tooltip-rich{margin-top:10px;}
.halley-tip-layout{display:grid;gap:10px;}
.halley-tip-layout.is-compact{gap:8px;}
.halley-tip-summary{color:#eef4ff;font-size:12px;line-height:1.45;}
.halley-tip-panel-grid{display:grid;gap:10px;}
.halley-tip-panel{display:grid;gap:10px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);}
.halley-tip-panel.is-opposite{background:rgba(140,160,205,.045);}
.halley-tip-panel.is-model{background:rgba(245,199,92,.045);}
.halley-tip-panel-title{color:#9fb0d0;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.halley-location-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;}
.halley-location-copy{display:grid;gap:5px;}
.halley-location-place{color:#fff;font-size:14px;font-weight:700;line-height:1.25;}
.halley-location-radius{color:#9dadca;font-size:10px;line-height:1.25;}
.halley-location-visual{display:flex;align-items:flex-start;justify-content:flex-end;}
.halley-globe{width:112px;height:112px;display:block;overflow:visible;}
.halley-globe .halley-globe-shell{fill:rgba(9,15,28,.14);stroke:rgba(160,183,224,.20);stroke-width:1.15;}
.halley-globe-rim{fill:none;stroke:rgba(224,236,255,.26);stroke-width:1.25;}
.halley-globe-grid{fill:none;stroke:rgba(120,149,205,.18);stroke-width:.82;stroke-linecap:round;stroke-linejoin:round;}
.halley-globe-land-fill{fill:rgba(132,148,184,.035);stroke:none;}
.halley-globe-land{fill:none;stroke:rgba(188,198,220,.56);stroke-width:1.04;stroke-linecap:round;stroke-linejoin:round;}
.halley-globe-track{fill:none;stroke:rgba(245,199,92,.70);stroke-width:1.16;stroke-dasharray:3.2 4.2;stroke-linecap:round;}
.halley-globe-arrow{fill:rgba(245,199,92,.92);}
.halley-globe-point{fill:var(--halley-point,#f5c75c);stroke:#fff;stroke-width:1.3;}
.halley-chip-row{display:flex;flex-wrap:wrap;gap:6px;}
.halley-chip{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#f2f6ff;font-size:10px;font-weight:700;line-height:1.2;}
.halley-chip.is-muted{color:#ced8ed;background:rgba(170,185,220,.05);}
.halley-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.halley-stat{display:grid;gap:2px;padding:7px 8px;border-radius:10px;background:rgba(8,12,22,.55);border:1px solid rgba(255,255,255,.04);}
.halley-stat span{color:#94a7cb;font-size:10px;line-height:1.2;}
.halley-stat strong{color:#fff;font-size:11px;line-height:1.3;font-weight:700;}
.halley-model-list{display:grid;gap:7px;}
.halley-model-item{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;padding:8px 9px;border-radius:10px;background:rgba(8,12,22,.45);border:1px solid rgba(255,255,255,.04);}
.halley-model-dot{width:8px;height:8px;border-radius:50%;background:var(--phase,#f5c75c);box-shadow:0 0 8px var(--phase,#f5c75c);}
.halley-model-item strong{color:#fff;font-size:11px;line-height:1.2;}
.halley-model-item span{color:#dce6fb;font-size:11px;line-height:1.2;}
.halley-model-item em{color:#9fb1cf;font-style:normal;font-size:10px;line-height:1.2;}
.halley-model-empty{font-size:11px;color:#9fb1cf;}
@media (max-width:760px){
  .app-tooltip{width:min(420px,calc(100vw - 16px));}
  .halley-location-top{grid-template-columns:1fr;}
  .halley-location-visual{justify-content:flex-start;}
  .halley-stat-grid{grid-template-columns:1fr;}
  .halley-globe{width:86px;height:86px;}
}



/* === v1.9.240 Kometa panel layout cleanup === */
.viz-card > .cycle-dominance-pill{
  position:absolute;
  left:22px;
  right:auto;
  bottom:108px;
  z-index:6;
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 16px;
  pointer-events:auto;
  cursor:help;
}
.sky-mini-toggle{
  position:absolute;
  right:22px;
  bottom:108px;
  z-index:7;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.24);
  background:linear-gradient(180deg,rgba(11,16,31,.88),rgba(7,10,20,.94));
  color:#e9efff;
  font-weight:800;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
  cursor:pointer;
}
.sky-mini-toggle:hover{border-color:rgba(245,199,92,.38);}
.sky-mini-toggle.is-active{
  border-color:rgba(245,199,92,.46);
  box-shadow:0 12px 30px rgba(0,0,0,.28),0 0 24px rgba(245,199,92,.18);
}
.sky-mini-toggle-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#f5c75c;
  text-shadow:0 0 12px rgba(245,199,92,.45);
  font-size:14px;
}
.sky-mini-toggle-label{white-space:nowrap;}
.sky-mini{
  display:none;
  position:absolute;
  top:15px;
  right:22px;
  bottom:162px;
  width:min(420px,calc(100% - 44px));
  z-index:8;
  overflow:hidden;
  pointer-events:auto;
}
.sky-mini.is-open{display:block;}
.sky-mini-panel-shell{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(142,159,201,.24);
  background:linear-gradient(180deg,rgba(9,14,28,.94),rgba(6,9,18,.98));
  box-shadow:0 18px 56px rgba(0,0,0,.42);
  backdrop-filter:blur(10px);
}
.sky-mini-panel-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.sky-mini-panel-kicker{
  color:rgba(232,239,255,.7);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.sky-mini-panel-actions{display:flex;align-items:center;gap:8px;}
.sky-mini-switch{
  display:inline-flex;
  padding:3px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(142,159,201,.18);
}
.sky-mini-switch button,
.sky-mini-close{
  appearance:none;
  border:0;
  background:transparent;
  color:#dce6ff;
  cursor:pointer;
}
.sky-mini-switch button{
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}
.sky-mini-switch button.is-active{
  color:#08101e;
  background:linear-gradient(180deg,#f5c75c,#d99d24);
  box-shadow:0 0 18px rgba(245,199,92,.24);
}
.sky-mini-close{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(142,159,201,.18);
  border-radius:50%;
  font-size:16px;
  line-height:1;
  text-align:center;
}
.sky-mini-close span{display:block;transform:translateY(-0.5px);}
.sky-mini-panel-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-right:2px;
}
.sky-mini-panel-body::-webkit-scrollbar{width:8px;}
.sky-mini-panel-body::-webkit-scrollbar-thumb{background:rgba(142,159,201,.22);border-radius:999px;}
.sky-mini-panel-body::-webkit-scrollbar-track{background:transparent;}
.sky-mini-data-wrap{display:grid;gap:10px;}
.sky-mini-headline{margin-bottom:10px;color:#f4f7ff;font-size:12px;font-weight:800;}
.sky-mini-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.sky-mini-card{
  padding:12px;
  border:1px solid rgba(142,159,201,.16);
  border-radius:16px;
  background:rgba(255,255,255,.03);
}
.sky-mini-card.is-wide{margin-bottom:10px;}
.sky-mini-card-title{
  margin-bottom:10px;
  color:rgba(232,239,255,.58);
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.sky-mini-card-main{display:flex;flex-direction:column;gap:6px;}
.sky-mini-card-main strong,
.sky-mini-note-grid strong{color:#fff;font-size:15px;}
.sky-mini-card-main span,
.sky-mini-card-meta,
.sky-mini-note,
.sky-mini-note-grid span{color:rgba(219,230,255,.72);font-size:12px;}
.sky-mini-season-pill{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:color-mix(in srgb,var(--season) 20%,rgba(8,12,24,.95));
  border:1px solid color-mix(in srgb,var(--season) 52%,rgba(255,255,255,.12));
  color:#f7fbff;
  font-weight:800;
  box-shadow:0 0 16px color-mix(in srgb,var(--season) 16%,transparent);
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.sky-mini-model-list{display:grid;gap:8px;}
.sky-mini-model-row{
  min-height:38px;
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  align-items:center;
  gap:8px;
  padding:0 10px;
  border:1px solid rgba(142,159,201,.12);
  border-radius:12px;
  background:rgba(4,8,18,.55);
}
.sky-mini-model-dot{width:10px;height:10px;border-radius:50%;background:var(--phase);box-shadow:0 0 12px var(--phase);}
.sky-mini-model-row span,
.sky-mini-model-row em{color:rgba(219,230,255,.76);font-size:12px;font-style:normal;}
.sky-mini-model-row strong{color:#fff;}
.sky-mini-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.sky-mini-note-grid > div{
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid rgba(142,159,201,.12);
  border-radius:12px;
  background:rgba(4,8,18,.55);
}
.sky-mini-note{
  margin-top:4px;
  padding:10px 12px;
  border:1px solid rgba(142,159,201,.14);
  border-radius:12px;
  background:rgba(255,255,255,.03);
  line-height:1.45;
}
.sky-mini svg{display:block;width:100%;height:auto;}
.sky-mini .sky-mini-text{font-family:Inter,ui-sans-serif,system-ui;font-size:11px;fill:rgba(232,239,255,.76);}
.sky-mini-card.is-dust{border-color:rgba(245,199,92,.20);background:linear-gradient(180deg,rgba(245,199,92,.055),rgba(255,255,255,.025));}
.sky-mini-dust-caption{margin-bottom:10px;color:rgba(219,230,255,.74);font-size:12px;line-height:1.45;}
.sky-mini-dust-grid{display:grid;gap:8px;}
.sky-mini-dust-row{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:9px;
  row-gap:2px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(142,159,201,.13);
  border-radius:13px;
  background:rgba(4,8,18,.52);
  cursor:help;
}
.sky-mini-dust-dot{grid-row:1 / span 2;width:10px;height:10px;border-radius:50%;background:#f5c75c;box-shadow:0 0 12px #f5c75c;}
.sky-mini-dust-dot.is-orion{background:#6fa7ff;box-shadow:0 0 12px #6fa7ff;}
.sky-mini-dust-row strong{color:#fff;font-size:13px;}
.sky-mini-dust-row em{color:rgba(232,239,255,.76);font-size:12px;font-style:normal;}
@media (max-width:980px){
  .viz-card > .cycle-dominance-pill{left:14px;bottom:98px;}
  .sky-mini-toggle{right:14px;bottom:98px;}
  .sky-mini{top:15px;right:14px;bottom:152px;width:min(420px,calc(100% - 28px));}
}

/* === v1.9.240 focus + autoplay smoothness polish === */
#playBtn:focus,
#playBtn:focus-visible,
.sky-mini-toggle:focus,
.sky-mini-toggle:focus-visible,
.viz-card button:focus,
.viz-card button:focus-visible{
  outline:none;
}
#playBtn{ -webkit-tap-highlight-color: transparent; }
.viz-card{ user-select:none; }


/* === v1.9.240 web-app focus neutralization === */
.app-shell button:focus,
.app-shell button:focus-visible,
.app-shell [role="button"]:focus,
.app-shell [role="button"]:focus-visible,
.app-shell a:focus,
.app-shell a:focus-visible,
.app-shell summary:focus,
.app-shell summary:focus-visible,
.halley-marker:focus,
.halley-marker:focus-visible{
  outline:none;
}
.app-shell button,
.app-shell [role="button"],
.halley-marker{
  -webkit-tap-highlight-color:transparent;
}


/* === v1.9.240 timeline smoothness + app focus neutralization === */
button:focus,
button:focus-visible,
[role="button"]:focus,
[role="button"]:focus-visible,
a:focus,
a:focus-visible{
  outline:none;
  box-shadow:inherit;
}
.rail-inner,
.halley-rail-inner{
  will-change:transform;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
}
.milestone,
.halley-marker{
  will-change:transform, left;
}


/* === v1.9.240 focusless speed slider + kometa panel scroll === */
.speed-slider-ui,
.speed-slider-ui:hover,
.speed-slider-ui:focus-within{
  border-color:rgba(142,159,201,.24);
  box-shadow:none;
}
#speedSlider:focus,
#speedSlider:focus-visible,
.app-shell input[type=range]:focus,
.app-shell input[type=range]:focus-visible{
  outline:none;
  box-shadow:none;
}
#speedSlider:focus-visible::-webkit-slider-thumb,
#speedSlider:focus::-webkit-slider-thumb,
.app-shell input[type=range]:focus-visible::-webkit-slider-thumb,
.app-shell input[type=range]:focus::-webkit-slider-thumb{
  outline:none;
}
#speedSlider:focus-visible::-moz-range-thumb,
#speedSlider:focus::-moz-range-thumb,
.app-shell input[type=range]:focus-visible::-moz-range-thumb,
.app-shell input[type=range]:focus::-moz-range-thumb{
  outline:none;
}
.sky-mini-panel-body{
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.sky-mini-panel-body *{
  scroll-margin-top:8px;
}


/* === v1.9.240 clean app mode + render priority polish === */
:where(button,[role="button"],summary,a,input[type="range"],input[type="checkbox"],input[type="radio"],select):focus,
:where(button,[role="button"],summary,a,input[type="range"],input[type="checkbox"],input[type="radio"],select):focus-visible{
  outline:none;
  box-shadow:inherit;
}
input[type=range]:focus-visible::-webkit-slider-thumb,
input[type=range]:focus::-webkit-slider-thumb{
  outline:none;
}
input[type=range]:focus-visible::-moz-range-thumb,
input[type=range]:focus::-moz-range-thumb{
  outline:none;
}
.cycles-table,
.cycles-table tbody,
.cycles-table tr,
.cycles-table td{
  will-change:contents;
}
.rail-inner,
.halley-rail-inner,
.split-rail-track{
  will-change:transform;
  transform:translate3d(0,0,0);
  contain:layout paint;
}


.fertility-toggle-btn{
  font-size:15px;
}
.fertility-toggle-btn.is-active{
  border-color:rgba(128,214,123,.55);
  color:#cbffbf;
  background:linear-gradient(180deg,rgba(34,63,33,.98),rgba(12,26,16,.98));
  box-shadow:inset 0 0 0 1px rgba(181,255,170,.2),0 0 22px rgba(98,196,92,.16);
}
.fertility-rail-block{
  display:grid;
  gap:3px;
  margin:0 0 7px;
}
.fertility-rail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:14px;
  line-height:1;
}
.fertility-rail-head strong{
  color:#f6f8ff;
  font-size:11px;
  line-height:1;
  letter-spacing:.01em;
  opacity:.88;
  white-space:nowrap;
}
.fertility-rail-hint{
  color:#9fb0d1;
  font-size:10px;
  line-height:1;
  opacity:.78;
  overflow:hidden;
  text-align:right;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fertility-rail-track{
  position:relative;
  height:20px;
  max-height:20px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:11px;
  background:linear-gradient(90deg,rgba(52,208,88,.06),rgba(216,142,58,.08),rgba(223,63,63,.06));
  cursor:grab;
  overflow:hidden;
  touch-action:none;
}
.fertility-rail-track.dragging{cursor:grabbing;}
.fertility-rail-inner{
  position:absolute;
  inset:0 auto 0 0;
  height:100%;
  min-width:100%;
  transform-origin:left center;
  will-change:transform,width;
}
.fertility-rail-inner::before,
.fertility-rail-track::before{
  content:'';
  position:absolute;
  left:18px;
  right:18px;
  top:50%;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(203,255,191,.22),rgba(255,255,255,.18));
  transform:translateY(-50%);
}
.fertility-rail-track::before{display:none;}
.fertility-bands{
  position:absolute;
  inset:0;
}
.fertility-band{
  position:absolute;
  top:3px;
  bottom:3px;
  border-radius:8px;
  opacity:.78;
}
.fertility-band.good{box-shadow:0 0 10px rgba(52,208,88,.12) inset;}
.fertility-band.bad{box-shadow:0 0 10px rgba(223,63,63,.10) inset;}
.fertility-marker{
  position:absolute;
  top:50%;
  width:12px;
  height:12px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  transform:translate(-50%,-50%);
  cursor:pointer;
}
.fertility-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--fertility-color, #f4b33e);
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 0 12px var(--fertility-glow, rgba(244,179,62,.3));
}
.fertility-marker.mixed .fertility-dot{
  background:linear-gradient(90deg,#34d058 0 50%, #df3f3f 50% 100%);
}
.fertility-marker:hover .fertility-dot,
.fertility-marker:focus-visible .fertility-dot{
  transform:none;
  box-shadow:0 0 18px var(--fertility-glow, rgba(244,179,62,.3));
}
@media (max-width: 900px){
  .fertility-rail-head{display:block;}
  .fertility-rail-hint{display:block;margin-top:3px;text-align:left;}
}


/* === v1.9.240 fertility location filter === */
.fertility-rail-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
  flex:1;
}
.fertility-location-filter{
  width:auto;
  max-width:210px;
  height:22px;
  min-height:22px;
  padding:0 24px 0 9px;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.22);
  background:rgba(7,11,22,.72);
  color:#dfe8ff;
  font-size:10px;
  font-weight:700;
  line-height:20px;
}
.fertility-location-filter:hover{
  border-color:rgba(128,214,123,.42);
}
.fertility-location-filter:focus,
.fertility-location-filter:focus-visible{
  outline:none;
  box-shadow:none;
  border-color:rgba(128,214,123,.45);
}
@media (max-width: 900px){
  .fertility-rail-controls{
    justify-content:flex-start;
    margin-top:5px;
    flex-wrap:wrap;
  }
  .fertility-location-filter{max-width:180px;}
}


/* === v1.9.240 fertility rail simplification === */
.fertility-rail-block{
  margin:0 0 5px;
  gap:0;
}
.fertility-rail-head,
.fertility-rail-controls,
.fertility-location-filter{
  display:none;
}
.fertility-rail-hint.hidden{
  display:none;
}
.app-tooltip-chip{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--tooltip-accent,#f5c75c) 40%, rgba(255,255,255,.14));
  background:color-mix(in srgb, var(--tooltip-accent,#f5c75c) 14%, rgba(8,12,24,.94));
  color:#f5f8ff;
  font-size:11px;
  font-weight:800;
  line-height:1;
  box-shadow:0 0 12px color-mix(in srgb, var(--tooltip-accent,#f5c75c) 16%, transparent);
}
.app-tooltip-extra .app-tooltip-chip{
  margin-top:2px;
}


/* === v1.9.240 footer/timeline layout cleanup === */
html,
body{
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
}
body,
body.fertility-rail-active{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  row-gap:15px;
  padding-bottom:0;
}
body .app-shell,
body.fertility-rail-active .app-shell,
body.split-timelines-active .app-shell,
body.split-timelines-active.fertility-rail-active .app-shell{
  height:100%;
  max-height:100%;
  min-height:0;
  overflow:hidden;
  padding-bottom:0;
}
body .milestone-rail,
body.fertility-rail-active .milestone-rail{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  height:auto;
  min-height:0;
  max-height:none;
  display:grid;
  grid-auto-rows:auto;
  align-content:start;
  gap:15px;
  padding:12px 14px 14px;
  box-sizing:border-box;
  overflow:hidden;
}
.halley-rail-block,
.fertility-rail-block,
.main-rail-wrap{margin:0;}
.fertility-rail-block.hidden{display:none;margin:0;}
.fertility-rail-block{display:grid;grid-template-rows:auto;gap:0;}
.fertility-rail-head,
.fertility-rail-controls,
.fertility-location-filter,
.fertility-rail-hint{display:none;}
.fertility-rail-track{
  height:20px;
  max-height:20px;
  margin:0;
  flex:0 0 20px;
}
.fertility-marker,
.fertility-marker:hover,
.fertility-marker:focus,
.fertility-marker:focus-visible,
button.fertility-marker,
button.fertility-marker:hover,
button.fertility-marker:focus,
button.fertility-marker:focus-visible{
  top:50%;
  transform:translate(-50%,-50%);
  outline:0;
}
.fertility-dot,
.fertility-marker:hover .fertility-dot,
.fertility-marker:focus .fertility-dot,
.fertility-marker:focus-visible .fertility-dot{transform:none;}

/* === stable v1.9.240 Kometa 2.0 data discipline === */
.halley-data-status-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:8px 0 10px;
}
.halley-data-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  color:#f6f9ff;
  font-size:11px;
  font-weight:850;
  line-height:1;
  background:color-mix(in srgb, var(--status,#8b55dd) 20%, rgba(7,10,20,.94));
  border:1px solid color-mix(in srgb, var(--status,#8b55dd) 48%, rgba(255,255,255,.12));
  box-shadow:0 0 14px color-mix(in srgb, var(--status,#8b55dd) 14%, transparent);
}
.halley-data-chip.is-muted{
  color:rgba(230,238,255,.74);
  background:rgba(255,255,255,.045);
  border-color:rgba(142,159,201,.16);
  box-shadow:none;
}
.halley-tip-panel.is-source{
  background:linear-gradient(180deg,rgba(8,13,25,.8),rgba(5,8,16,.72));
}
.halley-source-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:34px;
  padding:0 10px;
  border-radius:12px;
  color:#fff;
  background:color-mix(in srgb, var(--status,#8b55dd) 14%, rgba(4,8,18,.75));
  border:1px solid color-mix(in srgb, var(--status,#8b55dd) 32%, rgba(142,159,201,.14));
}
.halley-source-status strong{font-size:13px;}
.halley-source-status span{font-size:11px;color:rgba(232,239,255,.68);}
.halley-source-copy{
  margin-top:9px;
  color:rgba(224,233,255,.78);
  font-size:12px;
  line-height:1.42;
}
.halley-source-list{
  display:grid;
  gap:5px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(142,159,201,.12);
}
.halley-source-list span{
  color:rgba(216,227,255,.7);
  font-size:11px;
  line-height:1.35;
}
.halley-source-list b{
  color:#f4f7ff;
}
.sky-mini-card.is-discipline,
.sky-mini-card.is-passage-compare{
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
}
.sky-mini-layer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.sky-mini-layer-chip{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border-radius:13px;
  background:rgba(4,8,18,.58);
  border:1px solid rgba(142,159,201,.12);
}
.sky-mini-layer-chip strong{
  color:#fff;
  font-size:12px;
}
.sky-mini-layer-chip span{
  color:rgba(220,230,255,.66);
  font-size:10.5px;
  line-height:1.25;
}
.sky-mini-layer-chip.is-hard{border-color:rgba(52,208,88,.26);}
.sky-mini-layer-chip.is-reconstruction{border-color:rgba(244,179,62,.24);}
.sky-mini-layer-chip.is-model{border-color:rgba(139,85,221,.28);}
.sky-mini-layer-chip.is-symbol{border-color:rgba(122,194,255,.22);}
.sky-mini-status-note{
  margin-top:9px;
  padding:8px 10px;
  border-radius:12px;
  background:color-mix(in srgb, var(--status,#8b55dd) 12%, rgba(4,8,18,.70));
  border:1px solid color-mix(in srgb, var(--status,#8b55dd) 28%, rgba(142,159,201,.14));
  color:rgba(224,233,255,.78);
  font-size:12px;
  line-height:1.35;
}
.sky-mini-status-note b{color:#fff;}
.sky-mini-passage-list{
  display:grid;
  gap:7px;
}
.sky-mini-passage-row{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:2px 8px;
  align-items:center;
  min-height:42px;
  padding:8px 10px;
  border-radius:13px;
  background:rgba(4,8,18,.55);
  border:1px solid color-mix(in srgb, var(--status,#8b55dd) 22%, rgba(142,159,201,.12));
}
.sky-mini-passage-row strong{
  grid-row:1 / span 2;
  color:#fff;
  font-size:13px;
}
.sky-mini-passage-row span{
  color:#f4f7ff;
  font-size:12px;
  font-weight:750;
}
.sky-mini-passage-row em{
  color:rgba(220,230,255,.66);
  font-size:10.5px;
  font-style:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:760px){
  .sky-mini-layer-grid{grid-template-columns:1fr;}
}


/* === v1.9.240 compact controls + footer gap + pill fix === */
body,
body.fertility-rail-active{
  row-gap:15px;
}
body .milestone-rail,
body.fertility-rail-active .milestone-rail{
  margin-top:0;
}
.viz-card > .cycle-dominance-pill{
  left:22px;
  right:auto;
  width:max-content;
  max-width:calc(100% - 44px);
  min-width:0;
  bottom:108px;
  display:inline-flex;
  justify-content:flex-start;
  align-items:center;
  gap:8px;
}
.timeline-toolbar{
  padding:10px 14px 9px;
  margin-bottom:10px;
}
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) minmax(230px,300px);
  gap:10px;
  margin-bottom:8px;
  align-items:center;
}
:root{--top-control-h:54px;}
.timeline-play-main,
.mega-search-wrap{
  min-height:var(--top-control-h);
  height:var(--top-control-h);
}
.timeline-play-main{
  min-width:150px;
  padding-inline:18px;
  border-radius:18px;
}
.timeline-speed-slider-field{
  min-width:230px;
  max-width:300px;
  align-self:center;
}
.speed-slider-ui,
.speed-slider-ui:hover,
.speed-slider-ui:focus-within{
  min-height:42px;
  height:42px;
  padding:0;
  border:0;
  outline:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  display:grid;
  grid-template-rows:22px 0 18px;
  gap:0;
}
.speed-slider-line{
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
  height:22px;
  padding:0 8px;
  gap:0;
}
.speed-icon,
.speed-tempo-hint{display:none;}
.speed-slider-line input[type=range]{height:20px;}
.speed-ticks{height:0;overflow:hidden;}
.speed-labels{
  height:18px;
  margin:0 4px;
  align-items:start;
  font-size:12px;
}
@media (max-width:1180px){
  .timeline-top-row{grid-template-columns:auto minmax(260px,1fr) minmax(220px,280px);}
  .timeline-speed-slider-field{min-width:220px;max-width:280px;}
}
@media (max-width:980px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field{min-width:0;max-width:none;width:100%;}
}


/* === v1.9.240 timeline zoom + compact speed choices === */
.viz-card > .cycle-dominance-pill,
.sky-mini-toggle{
  bottom:118px;
}
.viz-card > .cycle-dominance-pill{
  width:max-content;
  max-width:max-content;
  gap:8px;
  white-space:nowrap;
}
.summary-phase{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.summary-phase i{
  display:inline-block;
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:50%;
  opacity:1;
}
.summary-plus{
  opacity:.58;
  font-weight:800;
  margin:0 2px;
}
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) minmax(230px,280px);
}
.timeline-speed-slider-field{
  min-width:220px;
  max-width:280px;
}
.speed-slider-ui,
.speed-slider-ui:hover,
.speed-slider-ui:focus-within{
  height:32px;
  min-height:32px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  display:flex;
  align-items:center;
}
.speed-slider-line,
.speed-ticks,
.speed-tempo-hint{
  display:none;
}
.speed-labels{
  position:static;
  inset:auto;
  width:100%;
  height:32px;
  margin:0;
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:5px;
  align-items:center;
}
.speed-labels span{display:none;}
.speed-choice{
  appearance:none;
  min-width:0;
  height:28px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.20);
  background:rgba(8,13,27,.66);
  color:rgba(198,210,238,.75);
  font-size:12px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  transform:none;
  transition:color .14s ease, border-color .14s ease, background .14s ease, box-shadow .14s ease;
}
.speed-choice:hover{
  color:#ffe6a0;
  border-color:rgba(245,199,92,.38);
  background:rgba(16,24,45,.82);
}
.speed-choice.is-active{
  color:#111827;
  border-color:rgba(255,224,148,.86);
  background:linear-gradient(180deg,#ffe08e,#f0b83f);
  box-shadow:0 0 14px rgba(245,199,92,.30);
}
.speed-choice:focus,
.speed-choice:focus-visible{
  outline:none;
  box-shadow:none;
}
@media (max-width:1180px){
  .timeline-top-row{grid-template-columns:auto minmax(260px,1fr) minmax(220px,260px);}
  .timeline-speed-slider-field{min-width:210px;max-width:260px;}
}
@media (max-width:980px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field{min-width:0;max-width:none;width:100%;}
}


/* === v1.9.240 segmented speed group + phase-aware dominance pill === */
:root{
  --top-control-h:50px;
  --speed-segment-radius:17px;
}
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) minmax(310px,360px);
  gap:10px;
  align-items:stretch;
}
.timeline-play-main,
.mega-search-wrap,
.speed-slider-ui{
  min-height:var(--top-control-h);
  height:var(--top-control-h);
}
.timeline-play-main{
  border-radius:18px;
  padding-inline:18px;
}
.timeline-speed-slider-field{
  min-width:310px;
  max-width:360px;
  align-self:stretch;
  display:flex;
  align-items:stretch;
}
.speed-slider-ui,
.speed-slider-ui:hover,
.speed-slider-ui:focus-within{
  width:100%;
  min-height:var(--top-control-h);
  height:var(--top-control-h);
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  display:flex;
  align-items:stretch;
}
.speed-slider-line,
.speed-ticks,
.speed-tempo-hint{
  display:none;
}
.speed-labels{
  position:static;
  inset:auto;
  display:flex;
  align-items:stretch;
  width:100%;
  height:var(--top-control-h);
  margin:0;
  padding:3px;
  gap:0;
  border:1px solid rgba(142,159,201,.22);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(8,13,27,.78),rgba(5,9,20,.86));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
  overflow:hidden;
}
.speed-labels span{display:none;}
.speed-choice{
  appearance:none;
  flex:1 1 0;
  height:100%;
  min-width:0;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:0;
  border:0;
  border-right:1px solid rgba(142,159,201,.16);
  background:transparent;
  color:rgba(198,210,238,.74);
  font-size:12px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  transform:none;
  transition:color .14s ease, background .14s ease, box-shadow .14s ease;
}
.speed-choice:first-child{
  border-top-left-radius:var(--speed-segment-radius);
  border-bottom-left-radius:var(--speed-segment-radius);
}
.speed-choice:last-child{
  border-right:0;
  border-top-right-radius:var(--speed-segment-radius);
  border-bottom-right-radius:var(--speed-segment-radius);
}
.speed-choice:hover{
  color:#ffe6a0;
  background:rgba(245,199,92,.08);
}
.speed-choice.is-active{
  color:#111827;
  background:linear-gradient(180deg,#ffe08e,#f0b83f);
  box-shadow:0 0 18px rgba(245,199,92,.28), inset 0 0 0 1px rgba(255,247,214,.30);
}
.speed-choice:focus,
.speed-choice:focus-visible{
  outline:none;
  box-shadow:none;
}
.speed-choice.is-active:focus,
.speed-choice.is-active:focus-visible{
  box-shadow:0 0 18px rgba(245,199,92,.28), inset 0 0 0 1px rgba(255,247,214,.30);
}
.viz-card > .cycle-dominance-pill{
  border-color:color-mix(in srgb, var(--pill-color, #f5c75c) 52%, rgba(255,255,255,.14));
  background:linear-gradient(180deg,
    color-mix(in srgb, var(--pill-color, #f5c75c) 22%, rgba(8,12,24,.94)),
    color-mix(in srgb, var(--pill-color, #f5c75c) 12%, rgba(6,9,18,.96))
  );
  color:#f7f9ff;
  box-shadow:0 12px 28px rgba(0,0,0,.22), 0 0 18px color-mix(in srgb, var(--pill-color, #f5c75c) 18%, transparent);
}
.viz-card > .cycle-dominance-pill.is-multi-dominance{
  --pill-color:#f5c75c;
}
.viz-card > .cycle-dominance-pill.is-single-dominance .summary-phase i{
  background:var(--pill-color, #f5c75c);
  box-shadow:0 0 14px var(--pill-color, #f5c75c);
}
@media (max-width:1180px){
  .timeline-top-row{grid-template-columns:auto minmax(260px,1fr) minmax(280px,330px);}
  .timeline-speed-slider-field{min-width:280px;max-width:330px;}
}
@media (max-width:980px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field{min-width:0;max-width:none;width:100%;}
}


/* === v1.9.240 unified top controls + square speed segments === */
:root{
  --top-control-h:50px;
  --top-control-radius:18px;
  --speed-choice-size:var(--top-control-h);
}
.timeline-top-row{
  grid-template-columns:auto minmax(320px,1fr) auto;
  gap:10px;
  align-items:stretch;
}
.timeline-play-main,
.mega-search-wrap,
.speed-slider-ui,
.speed-labels{
  height:var(--top-control-h);
  min-height:var(--top-control-h);
  border-radius:var(--top-control-radius);
}
.timeline-play-main{
  padding-inline:18px;
}
.mega-search-wrap{
  border-radius:var(--top-control-radius);
}
.timeline-speed-slider-field{
  flex:0 0 auto;
  width:calc(var(--speed-choice-size) * 5 + 2px);
  min-width:calc(var(--speed-choice-size) * 5 + 2px);
  max-width:calc(var(--speed-choice-size) * 5 + 2px);
  display:flex;
  align-items:stretch;
}
.speed-slider-ui,
.speed-slider-ui:hover,
.speed-slider-ui:focus-within{
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.speed-labels{
  display:inline-flex;
  width:auto;
  min-width:0;
  padding:0;
  gap:0;
  border:1px solid rgba(142,159,201,.24);
  background:rgba(7,11,23,.68);
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018);
}
.speed-choice{
  flex:0 0 var(--speed-choice-size);
  width:var(--speed-choice-size);
  min-width:var(--speed-choice-size);
  max-width:var(--speed-choice-size);
  aspect-ratio:1 / 1;
  height:var(--top-control-h);
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  border-right:1px solid rgba(142,159,201,.15);
  display:inline-grid;
  place-items:center;
  line-height:1;
}
.speed-choice:first-child{
  border-top-left-radius:calc(var(--top-control-radius) - 1px);
  border-bottom-left-radius:calc(var(--top-control-radius) - 1px);
}
.speed-choice:last-child{
  border-right:0;
  border-top-right-radius:calc(var(--top-control-radius) - 1px);
  border-bottom-right-radius:calc(var(--top-control-radius) - 1px);
}
@media (max-width:1100px){
  .timeline-speed-slider-field{
    width:calc(44px * 5 + 2px);
    min-width:calc(44px * 5 + 2px);
    max-width:calc(44px * 5 + 2px);
  }
  .speed-choice{--speed-choice-size:44px;}
}
@media (max-width:760px){
  .timeline-top-row{grid-template-columns:1fr;}
  .timeline-speed-slider-field,
  .speed-labels{width:100%;max-width:none;}
  .speed-choice{flex:1 1 0;width:auto;min-width:0;max-width:none;aspect-ratio:auto;}
}


/* === v1.9.240 Selair / Ithrael browser-wide breach image flash === */
.divine-image-flash{
  position:fixed;
  inset:0;
  z-index:10002;
  pointer-events:none;
  opacity:0;
  background:#000;
  overflow:hidden;
  mix-blend-mode:normal;
}
.divine-image-flash img{
  position:absolute;
  inset:0;
  width:100vw;
  height:100vh;
  object-fit:cover;
  object-position:center;
  filter:contrast(1.30) saturate(1.24) brightness(.88);
  transform:scale(1.06);
}
.divine-image-flash.is-active{
  animation:divineImageFlashFullscreen .58s steps(6,end) both;
}
.divine-image-flash.ithrael img{
  filter:contrast(1.38) saturate(1.36) brightness(.86) hue-rotate(8deg);
  transform:scale(1.08);
}
.divine-image-flash.selair img{
  filter:contrast(1.28) saturate(1.30) brightness(.90);
}
@keyframes divineImageFlashFullscreen{
  0%{opacity:0;clip-path:inset(50% 0 50% 0);filter:hue-rotate(0deg)}
  8%{opacity:.96;clip-path:inset(0 0 0 0);transform:translateX(-18px) skewX(-1deg)}
  15%{opacity:.22;clip-path:inset(32% 0 28% 0);transform:translateX(34px);filter:hue-rotate(70deg)}
  27%{opacity:.88;clip-path:inset(0 0 0 0);transform:translateX(-8px)}
  42%{opacity:.18;clip-path:inset(13% 0 64% 0);transform:translateX(48px)}
  58%{opacity:.70;clip-path:inset(0 0 0 0);transform:translateX(-24px);filter:hue-rotate(-48deg)}
  74%{opacity:.36;clip-path:inset(72% 0 7% 0);transform:translateX(18px)}
  100%{opacity:0;clip-path:inset(0 0 0 0);transform:translateX(0);filter:hue-rotate(0deg)}
}
.intro-selair-image-ghost{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0;
  overflow:hidden;
  background:#000;
  mix-blend-mode:screen;
}
.intro-selair-image-ghost img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:.46;
  filter:contrast(1.28) saturate(1.18) brightness(.66) sepia(.12);
  transform:scale(1.08);
}
.intro-selair-image-ghost.is-active{
  animation:introSelairGhostFlash .72s steps(5,end) both;
}
.secret-gate .crt-frame,
.secret-gate .fullscreen-prompt,
.secret-gate .login-panel,
.secret-gate .boot-panel{
  position:relative;
  z-index:2;
}
.secret-gate .crt-scanlines,
.secret-gate:before,
.secret-gate:after{
  z-index:1;
}
@keyframes introSelairGhostFlash{
  0%{opacity:0;clip-path:inset(44% 0 44% 0)}
  14%{opacity:.36;clip-path:inset(0 0 0 0);transform:translateX(-8px)}
  26%{opacity:.10;clip-path:inset(58% 0 8% 0);transform:translateX(12px)}
  38%{opacity:.28;clip-path:inset(0 0 0 0);transform:translateX(-4px)}
  55%{opacity:.08;clip-path:inset(18% 0 62% 0);transform:translateX(18px)}
  72%{opacity:.18;clip-path:inset(0 0 0 0)}
  100%{opacity:0;clip-path:inset(0 0 0 0);transform:translateX(0)}
}


/* === v1.9.240 Adam's Notebook === */
.notebook-trigger{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(245,199,92,.28);
  background:linear-gradient(180deg,rgba(245,199,92,.12),rgba(8,12,24,.72));
  color:#ffe8ad;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 0 18px rgba(245,199,92,.08);
  cursor:pointer;
}
.notebook-trigger:hover{border-color:rgba(245,199,92,.48);box-shadow:0 0 24px rgba(245,199,92,.14);}
.notebook-modal.hidden{display:none;}
.notebook-modal{position:fixed;inset:0;z-index:9500;display:grid;place-items:center;color:#eef3ff;}
.notebook-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 34%,rgba(245,199,92,.08),transparent 34%),rgba(2,4,10,.68);backdrop-filter:blur(10px);}
.notebook-window{position:relative;width:min(1180px,calc(100vw - 36px));height:min(760px,calc(100vh - 36px));display:flex;flex-direction:column;border:1px solid rgba(245,199,92,.24);border-radius:28px;background:linear-gradient(180deg,rgba(10,15,30,.97),rgba(5,8,17,.99));box-shadow:0 30px 110px rgba(0,0,0,.62),0 0 56px rgba(245,199,92,.12);overflow:hidden;}
.notebook-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid rgba(142,159,201,.16);background:linear-gradient(90deg,rgba(245,199,92,.08),rgba(139,85,221,.05));}
.notebook-head h2{margin:0;color:#fff;font-size:25px;letter-spacing:.01em;}
.notebook-head span{display:block;margin-top:4px;color:#9fb0d1;font-size:13px;}
.notebook-kicker{margin:0 0 4px;color:#ffe29b;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.notebook-head button{min-width:54px;height:38px;border-radius:14px;border:1px solid rgba(142,159,201,.22);background:rgba(8,12,24,.74);color:#dce6ff;font-weight:700;cursor:pointer;}
.notebook-shell{min-height:0;flex:1;display:grid;grid-template-columns:280px minmax(360px,1fr) 320px;gap:16px;padding:16px;}
.notebook-sidebar,.notebook-detail,.notebook-lab{min-height:0;border:1px solid rgba(142,159,201,.16);border-radius:22px;background:rgba(255,255,255,.025);}
.notebook-sidebar{display:flex;flex-direction:column;padding:14px;overflow:hidden;}
.notebook-filter-head{color:#9fb0d1;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:2px 0 10px;}
.notebook-filter-head.is-list{margin-top:16px;}
.notebook-type-filters{display:flex;flex-wrap:wrap;gap:8px;}
.notebook-type-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(142,159,201,.18);background:rgba(8,12,24,.72);color:#dce6ff;font-weight:800;font-size:12px;cursor:pointer;}
.notebook-type-chip span{color:var(--notebook-accent,#f5c75c);}
.notebook-type-chip em{font-style:normal;color:#9fb0d1;font-weight:700;}
.notebook-type-chip.is-active{border-color:color-mix(in srgb,var(--notebook-accent,#f5c75c) 55%,rgba(255,255,255,.2));background:color-mix(in srgb,var(--notebook-accent,#f5c75c) 18%,rgba(8,12,24,.9));}
.notebook-list{display:grid;gap:9px;overflow:auto;padding-right:4px;}
.notebook-entry{display:grid;grid-template-columns:24px 1fr;gap:3px 10px;text-align:left;padding:11px;border-radius:16px;border:1px solid rgba(142,159,201,.14);background:rgba(4,8,18,.62);color:#e9efff;cursor:pointer;}
.notebook-entry i{grid-row:1 / span 2;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--notebook-accent,#f5c75c) 20%,rgba(8,12,24,.9));color:var(--notebook-accent,#f5c75c);font-style:normal;font-weight:700;}
.notebook-entry strong{font-size:13px;color:#fff;}
.notebook-entry span{font-size:11px;line-height:1.35;color:#9fb0d1;}
.notebook-entry.is-active{border-color:color-mix(in srgb,var(--notebook-accent,#f5c75c) 55%,rgba(255,255,255,.2));box-shadow:0 0 22px color-mix(in srgb,var(--notebook-accent,#f5c75c) 13%,transparent);}
.notebook-detail{overflow:auto;padding:22px;}
.notebook-detail-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.notebook-detail-top span{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--notebook-accent,#f5c75c) 45%,rgba(255,255,255,.16));background:color-mix(in srgb,var(--notebook-accent,#f5c75c) 15%,rgba(8,12,24,.86));color:#fff;font-weight:700;font-size:12px;}
.notebook-detail-top em{font-style:normal;color:#9fb0d1;font-size:12px;}
.notebook-detail h3{margin:0 0 20px;color:#fff;font-size:30px;line-height:1.12;}
.notebook-note-block{border-radius:20px;border:1px solid rgba(142,159,201,.14);background:rgba(4,8,18,.55);padding:16px;margin-bottom:14px;}
.notebook-note-block p{margin:0 0 8px;color:#ffe29b;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.notebook-note-block div{color:#dce6ff;line-height:1.6;font-size:14px;}
.notebook-note-block.is-selair{border-color:rgba(167,120,255,.22);background:linear-gradient(180deg,rgba(139,85,221,.08),rgba(4,8,18,.55));}
.notebook-note-block.is-selair p{color:#cdb6ff;}
.notebook-disclaimer{margin-top:18px;color:#9fb0d1;font-size:12px;border-top:1px solid rgba(142,159,201,.14);padding-top:12px;}
.notebook-lab{padding:16px;overflow:auto;}
.notebook-lab-head{display:grid;gap:4px;margin-bottom:12px;}
.notebook-lab-head strong{color:#fff;}
.notebook-lab-head span{color:#9fb0d1;font-size:12px;}
.notebook-form{display:grid;gap:11px;}
.notebook-form label{display:grid;gap:6px;color:#9fb0d1;font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;}
.notebook-form input,.notebook-form select,.notebook-form textarea{width:100%;border:1px solid rgba(142,159,201,.20);border-radius:14px;background:rgba(4,8,18,.72);color:#eef3ff;padding:10px 11px;font:inherit;letter-spacing:0;text-transform:none;resize:vertical;}
.notebook-form input:focus,.notebook-form select:focus,.notebook-form textarea:focus{outline:none;border-color:rgba(245,199,92,.55);box-shadow:0 0 0 3px rgba(245,199,92,.10);}
.notebook-form button{min-height:40px;border-radius:14px;border:1px solid rgba(245,199,92,.38);background:linear-gradient(180deg,#f5c75c,#d99d24);color:#08101e;font-weight:700;cursor:pointer;}
.notebook-empty{padding:14px;color:#9fb0d1;font-size:13px;}
@media (max-width:1050px){.notebook-shell{grid-template-columns:250px 1fr}.notebook-lab{grid-column:1 / -1;}.notebook-window{height:min(860px,calc(100vh - 24px));}}
@media (max-width:760px){.notebook-window{width:calc(100vw - 18px);height:calc(100vh - 18px);border-radius:20px}.notebook-head{padding:14px}.notebook-shell{grid-template-columns:1fr;overflow:auto}.notebook-sidebar,.notebook-detail,.notebook-lab{overflow:visible}.notebook-list{max-height:260px}.notebook-trigger{display:none}}

/* === v1.9.240 I.T.H.R.A.E.L. Archive === */
.archive-trigger{
  min-height:38px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(167,120,255,.28);
  background:linear-gradient(180deg,rgba(23,18,38,.92),rgba(7,10,20,.94));
  color:#efe8ff;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 0 18px rgba(167,120,255,.08);
}
.archive-trigger:hover{border-color:rgba(167,120,255,.52);box-shadow:0 0 24px rgba(167,120,255,.16);}
.archive-modal.hidden{display:none;}
.archive-modal{position:fixed;inset:0;z-index:9550;display:grid;place-items:center;color:#eef3ff;}
.archive-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 58% 28%,rgba(167,120,255,.14),transparent 34%),radial-gradient(circle at 36% 66%,rgba(245,199,92,.08),transparent 30%),rgba(1,3,9,.72);backdrop-filter:blur(12px);}
.archive-window{position:relative;width:min(1220px,calc(100vw - 36px));height:min(790px,calc(100vh - 36px));display:flex;flex-direction:column;border:1px solid rgba(167,120,255,.28);border-radius:28px;background:linear-gradient(180deg,rgba(8,12,26,.98),rgba(4,7,16,.99));box-shadow:0 32px 120px rgba(0,0,0,.7),0 0 68px rgba(121,93,255,.14);overflow:hidden;}
.archive-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid rgba(142,159,201,.16);background:linear-gradient(90deg,rgba(167,120,255,.10),rgba(245,199,92,.05));}
.archive-head h2{margin:0;color:#fff;font-size:25px;letter-spacing:.01em;}
.archive-head span{display:block;margin-top:4px;color:#9fb0d1;font-size:13px;}
.archive-kicker{margin:0 0 4px;color:#cbb7ff;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.archive-head button{min-width:54px;height:38px;border-radius:14px;border:1px solid rgba(142,159,201,.22);background:rgba(8,12,24,.74);color:#dce6ff;font-weight:700;cursor:pointer;}
.archive-lore-strip{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:11px 22px;border-bottom:1px solid rgba(142,159,201,.12);background:rgba(255,255,255,.025);}
.archive-lore-strip strong{color:#ffe29b;font-size:11px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;}
.archive-lore-strip span{color:#bac8e8;font-size:12px;line-height:1.45;}
.archive-tabs{display:flex;gap:8px;padding:0;}
.archive-tabs button{min-height:38px;padding:0 15px;border-radius:14px;border:1px solid rgba(142,159,201,.18);background:rgba(8,12,24,.72);color:#dce6ff;font-weight:700;cursor:pointer;}
.archive-tabs button.is-active{border-color:rgba(245,199,92,.48);background:linear-gradient(180deg,rgba(245,199,92,.95),rgba(210,145,33,.96));color:#08101e;box-shadow:0 0 20px rgba(245,199,92,.22);}
.archive-tabs span{margin-left:7px;opacity:.72;}
.archive-shell{min-height:0;flex:1;display:grid;grid-template-columns:310px minmax(420px,1fr);gap:16px;padding:16px;}
.archive-sidebar,.archive-detail{min-height:0;border:1px solid rgba(142,159,201,.16);border-radius:22px;background:rgba(255,255,255,.025);}
.archive-sidebar{display:flex;flex-direction:column;padding:14px;overflow:hidden;}
.archive-filter-head{color:#9fb0d1;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:2px 0 10px;}
.archive-filter-head.is-list{margin-top:16px;}
.archive-filters{display:flex;flex-wrap:wrap;gap:8px;}
.archive-filter-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(142,159,201,.18);background:rgba(8,12,24,.72);color:#dce6ff;font-weight:800;font-size:12px;cursor:pointer;}
.archive-filter-chip span{color:var(--archive-accent,#f5c75c);}
.archive-filter-chip em{font-style:normal;color:#9fb0d1;}
.archive-filter-chip.is-active{border-color:var(--archive-accent,#f5c75c);box-shadow:0 0 16px color-mix(in srgb,var(--archive-accent,#f5c75c) 22%,transparent);}
.archive-list{min-height:0;overflow:auto;display:grid;gap:9px;padding-right:4px;}
.archive-entry{position:relative;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;text-align:left;padding:11px 12px;border-radius:16px;border:1px solid rgba(142,159,201,.14);background:rgba(8,12,24,.7);color:#e9efff;cursor:pointer;}
.archive-entry i{grid-row:1 / span 2;color:var(--archive-accent,#f5c75c);font-style:normal;}
.archive-entry strong{font-size:13px;}
.archive-entry span{color:#9fb0d1;font-size:11px;line-height:1.35;}
.archive-entry em{position:absolute;right:9px;top:8px;font-size:9px;font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:var(--archive-accent,#f5c75c);opacity:.8;}
.archive-entry em+em{top:23px;}
.archive-entry.is-active{border-color:var(--archive-accent,#f5c75c);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));box-shadow:0 0 20px color-mix(in srgb,var(--archive-accent,#f5c75c) 18%,transparent);}
.archive-detail{overflow:auto;padding:16px;}
.archive-detail-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;}
.archive-detail-top span{display:inline-flex;min-height:30px;align-items:center;padding:0 11px;border-radius:999px;border:1px solid var(--archive-accent,#f5c75c);color:#fff;background:color-mix(in srgb,var(--archive-accent,#f5c75c) 14%,rgba(8,12,24,.86));font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;}
.archive-detail-top em{font-style:normal;color:#9fb0d1;font-size:12px;}
.archive-detail-grid{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:stretch;}
.archive-image-frame,.archive-glitch-thumb{min-height:230px;border-radius:20px;border:1px solid rgba(142,159,201,.16);background:radial-gradient(circle at 50% 40%,rgba(167,120,255,.18),transparent 46%),rgba(5,8,17,.92);overflow:hidden;}
.archive-image-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.04);}
.archive-glitch-thumb{display:grid;place-items:center;position:relative;color:#cbb7ff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.archive-glitch-thumb::before{content:'';position:absolute;inset:20%;border:1px dashed rgba(245,199,92,.26);border-radius:50%;box-shadow:0 0 28px rgba(167,120,255,.14);}
.archive-glitch-thumb span{position:relative;max-width:70%;text-align:center;opacity:.82;}
.archive-file-meta{display:grid;align-content:start;gap:12px;}
.archive-file-meta h3{margin:0;color:#fff;font-size:24px;}
.archive-file-meta code{justify-self:start;color:#cbb7ff;background:rgba(0,0,0,.26);border:1px solid rgba(142,159,201,.12);border-radius:10px;padding:7px 9px;}
.archive-file-meta p{margin:0;color:#c6d2eb;line-height:1.55;}
.archive-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.archive-meta-grid div{padding:10px;border-radius:14px;background:rgba(4,8,18,.64);border:1px solid rgba(142,159,201,.12);}
.archive-meta-grid span{display:block;color:#9fb0d1;font-size:10px;font-weight:700;letter-spacing:.09em;margin-bottom:0;}
.archive-meta-grid strong{color:#fff;font-size:13px;}
.archive-source{color:#9fb0d1;font-size:11px;letter-spacing:.06em;text-transform:uppercase;}
.archive-recovered,.archive-analysis{margin-top:14px;border:1px solid rgba(142,159,201,.16);border-radius:18px;background:rgba(255,255,255,.025);padding:14px;}
.archive-recovered p,.archive-analysis p{margin:0 0 8px;color:#9fb0d1;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.archive-recovered pre{margin:0;white-space:pre-wrap;color:#f5f7ff;line-height:1.55;font-family:Inter,ui-sans-serif,system-ui;}
.archive-analysis{border-color:color-mix(in srgb,var(--archive-accent,#f5c75c) 32%,rgba(142,159,201,.14));}
.archive-analysis h4{margin:0 0 8px;color:#fff;font-size:17px;}
.archive-analysis div{color:#c8d4ef;line-height:1.55;}
.archive-analysis dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0 0;}
.archive-analysis dl div{padding:10px;border-radius:12px;background:rgba(4,8,18,.62);}
.archive-analysis dt{color:#9fb0d1;font-size:10px;text-transform:uppercase;letter-spacing:.08em;}
.archive-analysis dd{margin:4px 0 0;color:#fff;font-weight:700;}
.archive-analysis blockquote{margin:13px 0 0;padding:12px 14px;border-left:2px solid var(--archive-accent,#f5c75c);border-radius:12px;background:rgba(255,255,255,.03);color:#f4e9ff;line-height:1.55;}
.archive-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.archive-action{min-height:40px;padding:0 14px;border-radius:14px;border:1px solid rgba(142,159,201,.22);background:rgba(8,12,24,.78);color:#e9efff;font-weight:700;cursor:pointer;}
.archive-action.analyze{border-color:rgba(245,199,92,.44);color:#ffe29b;}
.archive-action.save{border-color:rgba(88,217,138,.38);color:#bfffd0;}
.archive-action:disabled{opacity:.46;cursor:not-allowed;}
.archive-classified-badge,.archive-selair-note{margin-top:14px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(142,159,201,.14);color:#c8d4ef;}
.archive-classified-badge{display:inline-flex;text-transform:uppercase;letter-spacing:.1em;color:#bfffd0;font-size:11px;font-weight:700;}
.archive-selair-note{color:#ffe29b;font-size:13px;line-height:1.55;}
.archive-empty{padding:18px;color:#9fb0d1;}
@media (max-width:980px){
  .archive-window{width:calc(100vw - 22px);height:calc(100vh - 22px);border-radius:22px;}
  .archive-shell{grid-template-columns:1fr;overflow:auto;}
  .archive-sidebar{max-height:300px;}
  .archive-detail-grid{grid-template-columns:1fr;}
  .archive-lore-strip{grid-template-columns:1fr;}
}


/* === v1.9.240 modal depth + archive recovery flow === */
.notebook-backdrop,
.archive-backdrop,
.selair-channel-backdrop{
  background:radial-gradient(circle at 50% 32%,rgba(245,199,92,.055),transparent 32%),rgba(1,3,9,.54);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.archive-backdrop{
  background:radial-gradient(circle at 58% 28%,rgba(167,120,255,.11),transparent 34%),radial-gradient(circle at 36% 66%,rgba(245,199,92,.055),transparent 30%),rgba(1,3,9,.56);
}
.notebook-window,
.archive-window,
.selair-channel-window{
  border-width:2px;
  backdrop-filter:blur(18px) saturate(1.16);
  -webkit-backdrop-filter:blur(18px) saturate(1.16);
  box-shadow:0 38px 150px rgba(0,0,0,.76),0 0 0 1px rgba(255,255,255,.035),0 0 82px rgba(167,120,255,.14);
}
.notebook-window{
  width:min(1440px,calc(100vw - 28px));
  height:min(900px,calc(100vh - 28px));
}
.archive-window{
  width:min(1480px,calc(100vw - 28px));
  height:min(920px,calc(100vh - 28px));
}
.notebook-shell{
  grid-template-columns:300px minmax(520px,1fr) 360px;
}
.archive-shell{
  grid-template-columns:340px minmax(620px,1fr);
}
.archive-detail-grid{
  grid-template-columns:300px 1fr;
}
.archive-entry.is-locked i,
.archive-entry.is-locked strong{
  color:#c5cee1;
}
.archive-entry.is-locked strong{
  font-style:italic;
  opacity:.82;
}
.archive-entry.is-analyzing{
  border-color:rgba(245,199,92,.42);
  box-shadow:0 0 20px rgba(245,199,92,.12);
}
.archive-glitch-thumb.is-locked::after{
  content:'';
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(255,255,255,.025) 8px 9px),linear-gradient(90deg,transparent,rgba(167,120,255,.06),transparent);
  mix-blend-mode:screen;
  animation:archiveLockedScan 1.4s steps(7,end) infinite;
}
.archive-glitch-thumb.is-unlocked{
  border-color:rgba(88,217,138,.24);
}
.archive-locked-note,
.archive-analysis-progress,
.archive-source-hint{
  margin-top:14px;
  border:1px solid rgba(142,159,201,.16);
  border-radius:18px;
  background:rgba(255,255,255,.025);
  padding:14px;
}
.archive-locked-note p,
.archive-analysis-progress p{
  margin:0 0 8px;
  color:#9fb0d1;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.archive-locked-note span,
.archive-analysis-progress span,
.archive-source-hint{
  color:#c8d4ef;
  line-height:1.5;
  font-size:12px;
}
.archive-analysis-progress{
  border-color:rgba(245,199,92,.28);
  background:linear-gradient(180deg,rgba(245,199,92,.055),rgba(255,255,255,.022));
}
.archive-analysis-progress strong{
  display:block;
  color:#fff2c7;
  margin-bottom:10px;
}
.archive-progress{
  height:9px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(8,12,24,.82);
  border:1px solid rgba(245,199,92,.18);
  margin-bottom:8px;
}
.archive-progress i{
  display:block;
  height:100%;
  width:100%;
  transform-origin:left center;
  background:linear-gradient(90deg,#f5c75c,#a778ff,#6fa7ff);
  animation:archiveRecoverProgress 1.35s cubic-bezier(.24,.9,.23,1) both;
}
.archive-source-hint{
  color:#9fb0d1;
  border-style:dashed;
}
.archive-source-hint code{
  color:#d7c8ff;
  background:rgba(0,0,0,.24);
  border-radius:6px;
  padding:1px 5px;
}
@keyframes archiveRecoverProgress{
  0%{transform:scaleX(.03);filter:hue-rotate(0deg)}
  62%{transform:scaleX(.78);filter:hue-rotate(42deg)}
  100%{transform:scaleX(1);filter:hue-rotate(0deg)}
}
@keyframes archiveLockedScan{
  0%{transform:translateY(-18px);opacity:.65}
  50%{transform:translateY(12px);opacity:.25}
  100%{transform:translateY(28px);opacity:.6}
}
@media (max-width:1180px){
  .notebook-shell{grid-template-columns:260px 1fr;}
  .notebook-lab{grid-column:1 / -1;}
  .archive-shell{grid-template-columns:300px minmax(420px,1fr);}
  .archive-detail-grid{grid-template-columns:260px 1fr;}
}
@media (max-width:980px){
  .notebook-window,
  .archive-window{width:calc(100vw - 18px);height:calc(100vh - 18px);}
  .archive-shell{grid-template-columns:1fr;overflow:auto;}
  .archive-detail-grid{grid-template-columns:1fr;}
}


/* === v1.9.240 Selair forbidden Riva signal + unified modern scrollbars === */
.riva-key-flash{
  position:fixed;
  inset:0;
  z-index:10004;
  pointer-events:none;
  opacity:0;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 5px),
    radial-gradient(circle at 50% 50%,rgba(62,130,255,.10),transparent 44%),
    #000;
  mix-blend-mode:normal;
}
.riva-key-flash.is-active{
  animation:rivaKeyFlash .16s steps(2,end) both;
}
body.riva-ejection::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:10003;
  pointer-events:none;
  background:#000;
  animation:rivaEjectBlackout .82s steps(4,end) both;
}
body.riva-ejection .app-shell,
body.riva-ejection .milestone-rail,
body.riva-ejection .selair-channel-window{
  animation:godFrameJitter .08s steps(2,end) infinite;
}
@keyframes rivaKeyFlash{
  0%{opacity:0;clip-path:inset(50% 0 50% 0);filter:contrast(1)}
  18%{opacity:.86;clip-path:inset(0 0 0 0);transform:translateX(-16px);filter:contrast(2.2)}
  42%{opacity:.34;clip-path:inset(22% 0 56% 0);transform:translateX(24px)}
  70%{opacity:.74;clip-path:inset(0 0 0 0);transform:translateX(-8px)}
  100%{opacity:0;clip-path:inset(0 0 0 0);transform:translateX(0)}
}
@keyframes rivaEjectBlackout{
  0%{opacity:0;filter:contrast(1)}
  22%{opacity:.92;filter:contrast(2.6)}
  38%{opacity:.38;clip-path:inset(46% 0 12% 0)}
  56%{opacity:1;clip-path:inset(0 0 0 0)}
  100%{opacity:1;clip-path:inset(0 0 0 0)}
}

.app-shell,
.app-shell *,
.selair-channel-window,
.selair-channel-window *,
.archive-modal,
.archive-modal *,
.notebook-modal,
.notebook-modal *,
.sky-mini-panel-body{
  scrollbar-width:thin;
  scrollbar-color:rgba(150,164,194,.58) transparent;
}
.app-shell *::-webkit-scrollbar,
.selair-channel-window *::-webkit-scrollbar,
.archive-modal *::-webkit-scrollbar,
.notebook-modal *::-webkit-scrollbar,
.sky-mini-panel-body::-webkit-scrollbar{
  width:7px;
  height:7px;
}
.app-shell *::-webkit-scrollbar-track,
.selair-channel-window *::-webkit-scrollbar-track,
.archive-modal *::-webkit-scrollbar-track,
.notebook-modal *::-webkit-scrollbar-track,
.sky-mini-panel-body::-webkit-scrollbar-track{
  background:transparent;
}
.app-shell *::-webkit-scrollbar-thumb,
.selair-channel-window *::-webkit-scrollbar-thumb,
.archive-modal *::-webkit-scrollbar-thumb,
.notebook-modal *::-webkit-scrollbar-thumb,
.sky-mini-panel-body::-webkit-scrollbar-thumb{
  background:rgba(150,164,194,.50);
  border-radius:999px;
  border:0;
}
.app-shell *::-webkit-scrollbar-thumb:hover,
.selair-channel-window *::-webkit-scrollbar-thumb:hover,
.archive-modal *::-webkit-scrollbar-thumb:hover,
.notebook-modal *::-webkit-scrollbar-thumb:hover,
.sky-mini-panel-body::-webkit-scrollbar-thumb:hover{
  background:rgba(190,202,226,.72);
}
.app-shell *::-webkit-scrollbar-button,
.selair-channel-window *::-webkit-scrollbar-button,
.archive-modal *::-webkit-scrollbar-button,
.notebook-modal *::-webkit-scrollbar-button,
.sky-mini-panel-body::-webkit-scrollbar-button{
  width:0;
  height:0;
  display:none;
}


/* === v1.9.240 remote archive assets + list/grid view === */
.archive-remote-status{
  display:grid;
  gap:3px;
  margin:12px 0 0;
  padding:10px 11px;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.14);
  background:rgba(4,8,18,.48);
  position:relative;
}
.archive-remote-status span{
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.archive-remote-status em{
  color:#9fb0d1;
  font-size:11px;
  font-style:normal;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:210px;
}
.archive-remote-status button{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.72);
  color:#dce6ff;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.archive-list-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:16px;
  margin-bottom:10px;
}
.archive-list-toolbar .archive-filter-head{
  margin:0;
}
.archive-layout-switch{
  display:inline-flex;
  border:1px solid rgba(142,159,201,.16);
  border-radius:999px;
  overflow:hidden;
  background:rgba(8,12,24,.54);
}
.archive-layout-switch button{
  min-height:28px;
  padding:0 10px;
  border:0;
  border-right:1px solid rgba(142,159,201,.12);
  background:transparent;
  color:#9fb0d1;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.archive-layout-switch button:last-child{ border-right:0; }
.archive-layout-switch button.is-active{
  color:#08101e;
  background:linear-gradient(180deg,#f5c75c,#d79b2b);
}
.archive-list.is-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
}
.archive-list.is-grid .archive-entry{
  min-height:108px;
  grid-template-columns:1fr;
  gap:6px;
  padding:13px;
}
.archive-list.is-grid .archive-entry i{
  grid-row:auto;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(142,159,201,.12);
  font-size:18px;
}
.archive-list.is-grid .archive-entry em{
  position:static;
  justify-self:start;
  margin-top:2px;
}
.archive-list.is-grid .archive-entry span{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
@media (max-width:980px){
  .archive-list.is-grid{grid-template-columns:1fr;}
}

/* v1.9.240 — I.T.H.R.A.E.L. Archive Uplink */
.ithrael-upload-modal.hidden{display:none;}
.ithrael-upload-modal{position:fixed;inset:0;z-index:9700;display:grid;place-items:center;color:#eef3ff;}
.ithrael-upload-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 54% 30%,rgba(245,199,92,.13),transparent 34%),radial-gradient(circle at 35% 70%,rgba(167,120,255,.16),transparent 32%),rgba(1,3,9,.78);backdrop-filter:blur(13px);}
.ithrael-upload-window{position:relative;width:min(720px,calc(100vw - 32px));border:1px solid rgba(245,199,92,.28);border-radius:26px;background:linear-gradient(180deg,rgba(12,15,31,.98),rgba(5,8,18,.99));box-shadow:0 32px 120px rgba(0,0,0,.72),0 0 70px rgba(245,199,92,.12);overflow:hidden;}
.ithrael-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid rgba(142,159,201,.16);background:linear-gradient(90deg,rgba(245,199,92,.11),rgba(167,120,255,.07));}
.ithrael-upload-head p{margin:0 0 5px;color:#ffe29b;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.ithrael-upload-head h2{margin:0;color:#fff;font-size:25px;}
.ithrael-upload-head span{display:block;margin-top:5px;color:#aebde1;font-size:13px;line-height:1.45;}
.ithrael-upload-head code,.ithrael-upload-note code{color:#cbb7ff;background:rgba(0,0,0,.24);border:1px solid rgba(142,159,201,.14);border-radius:8px;padding:1px 5px;}
.ithrael-upload-head button{min-width:54px;height:38px;border-radius:14px;border:1px solid rgba(142,159,201,.22);background:rgba(8,12,24,.74);color:#dce6ff;font-weight:700;cursor:pointer;}
.ithrael-upload-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:18px 22px 14px;}
.ithrael-upload-form label{display:grid;gap:7px;}
.ithrael-upload-form .wide{grid-column:1 / -1;}
.ithrael-upload-form span{color:#9fb0d1;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.ithrael-upload-form input,.ithrael-upload-form select{min-height:42px;border-radius:14px;border:1px solid rgba(142,159,201,.18);background:rgba(4,8,18,.72);color:#eef3ff;padding:0 12px;font-weight:800;}
.ithrael-upload-form input[type="file"]{padding:10px 12px;height:auto;}
.ithrael-upload-form input:focus,.ithrael-upload-form select:focus{outline:none;border-color:rgba(245,199,92,.52);box-shadow:0 0 0 3px rgba(245,199,92,.09);}
.ithrael-upload-form button[type="submit"]{min-height:46px;border-radius:15px;border:1px solid rgba(245,199,92,.45);background:linear-gradient(180deg,rgba(245,199,92,.96),rgba(210,145,33,.96));color:#08101e;font-weight:700;cursor:pointer;box-shadow:0 0 22px rgba(245,199,92,.18);}
.ithrael-upload-form button:disabled,.ithrael-upload-form input:disabled,.ithrael-upload-form select:disabled{opacity:.55;cursor:wait;}
.ithrael-upload-result{min-height:42px;display:flex;align-items:center;padding:11px 13px;border-radius:15px;border:1px solid rgba(142,159,201,.16);background:rgba(255,255,255,.03);color:#c8d4ef;font-size:13px;line-height:1.45;}
.ithrael-upload-result.is-loading{border-color:rgba(245,199,92,.34);color:#ffe29b;}
.ithrael-upload-result.is-success{border-color:rgba(88,217,138,.36);color:#bfffd0;}
.ithrael-upload-result.is-error{border-color:rgba(255,92,92,.42);color:#ffb4b4;}
.ithrael-upload-note{margin:0;padding:0 22px 20px;color:#9fb0d1;font-size:12px;line-height:1.55;}
@media (max-width:680px){
  .ithrael-upload-window{width:calc(100vw - 20px);border-radius:22px;}
  .ithrael-upload-head{padding:18px 16px;}
  .ithrael-upload-form{grid-template-columns:1fr;padding:16px;}
  .ithrael-upload-note{padding:0 16px 18px;}
}

/* === v1.9.240 I.T.H.R.A.E.L. recovery inbox flow === */
.archive-filter-note{
  display:grid;
  gap:6px;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid rgba(245,199,92,.24);
  background:linear-gradient(180deg,rgba(245,199,92,.07),rgba(255,255,255,.025));
}
.archive-filter-note strong{
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.archive-filter-note span{
  color:#aebde1;
  font-size:12px;
  line-height:1.45;
}
.archive-detail-grid{
  grid-template-columns:minmax(420px,.82fr) minmax(380px,1fr);
}
.archive-image-frame,
.archive-glitch-thumb{
  min-height:360px;
}
.archive-image-frame img{
  object-fit:contain;
  background:rgba(2,5,12,.86);
}
.ithrael-upload-auto{
  display:grid;
  gap:5px;
  min-height:54px;
  padding:12px 13px;
  border-radius:15px;
  border:1px solid rgba(245,199,92,.25);
  background:linear-gradient(180deg,rgba(245,199,92,.075),rgba(255,255,255,.025));
}
.ithrael-upload-auto strong{
  color:#ffe29b;
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ithrael-upload-auto span{
  color:#c8d4ef;
  font-size:12px;
  line-height:1.45;
}
@media (max-width:1180px){
  .archive-detail-grid{grid-template-columns:1fr;}
  .archive-image-frame,.archive-glitch-thumb{min-height:340px;}
}
@media (max-width:720px){
  .archive-image-frame,.archive-glitch-thumb{min-height:280px;}
}


/* === v1.9.240 archive XL modal + image fullscreen preview === */
.archive-window{
  width:calc(100vw - 10vh);
  height:calc(100vh - 10vh);
  max-width:1680px;
  max-height:980px;
}
.notebook-window{
  width:calc(100vw - 10vh);
  height:calc(100vh - 10vh);
  max-width:1640px;
  max-height:960px;
}
.ithrael-upload-window{
  width:min(980px,calc(100vw - 10vh));
}
.archive-shell{
  grid-template-columns:minmax(420px,.9fr) minmax(620px,1.1fr);
  gap:18px;
}
.archive-sidebar{padding:16px 16px 14px;}
.archive-detail{padding:20px;}
.archive-detail-grid{
  grid-template-columns:420px 1fr;
  gap:18px;
}
.archive-image-frame,
.archive-glitch-thumb{
  min-height:360px;
}
.archive-image-frame{
  position:relative;
  padding:0;
  display:block;
  width:100%;
  border-radius:22px;
  cursor:zoom-in;
}
.archive-image-frame img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:radial-gradient(circle at 50% 40%,rgba(167,120,255,.10),transparent 46%),rgba(5,8,17,.92);
}
.archive-image-frame.is-clickable:hover{
  border-color:rgba(245,199,92,.34);
  box-shadow:0 0 24px rgba(245,199,92,.10);
}
.archive-image-expand{
  position:absolute;
  right:12px;
  bottom:12px;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(4,8,18,.82);
  border:1px solid rgba(245,199,92,.28);
  color:#ffe29b;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  pointer-events:none;
}
.archive-lightbox.hidden{display:none;}
.archive-lightbox{
  position:fixed;
  inset:0;
  z-index:9750;
  display:grid;
  place-items:center;
  color:#eef3ff;
}
.archive-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,3,9,.84);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.archive-lightbox-window{
  position:relative;
  width:calc(100vw - 10vh);
  height:calc(100vh - 10vh);
  max-width:1720px;
  max-height:1040px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(245,199,92,.24);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(8,12,26,.98),rgba(4,7,16,.99));
  box-shadow:0 36px 140px rgba(0,0,0,.78),0 0 80px rgba(167,120,255,.10);
  overflow:hidden;
}
.archive-lightbox-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  border-bottom:1px solid rgba(142,159,201,.16);
  background:linear-gradient(90deg,rgba(167,120,255,.10),rgba(245,199,92,.05));
}
.archive-lightbox-head p{margin:0 0 4px;color:#cbb7ff;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.archive-lightbox-head h2{margin:0;color:#fff;font-size:22px;}
.archive-lightbox-head button{min-width:54px;height:38px;border-radius:14px;border:1px solid rgba(142,159,201,.22);background:rgba(8,12,24,.74);color:#dce6ff;font-weight:700;cursor:pointer;}
.archive-lightbox-body{
  min-height:0;
  flex:1;
  display:grid;
  place-items:center;
  padding:18px;
  background:radial-gradient(circle at 50% 28%,rgba(167,120,255,.08),transparent 35%),rgba(3,6,14,.96);
}
.archive-lightbox-body img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 14px 48px rgba(0,0,0,.55);
}
@media (max-width:1180px){
  .archive-shell{grid-template-columns:minmax(320px,.92fr) minmax(360px,1.08fr);}
  .archive-detail-grid{grid-template-columns:1fr;}
}
@media (max-width:980px){
  .archive-window,
  .notebook-window,
  .archive-lightbox-window{width:calc(100vw - 18px);height:calc(100vh - 18px);}
  .ithrael-upload-window{width:calc(100vw - 18px);}
  .archive-shell{grid-template-columns:1fr;overflow:auto;}
}


/* === v1.9.240 archive recovery UX pass === */
.archive-list.is-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.archive-list.is-grid .archive-entry{
  min-height:118px;
}
.archive-list.is-grid .archive-entry strong{
  font-size:12px;
  line-height:1.28;
}
.archive-source,
.archive-source-hint{
  display:none;
}
.archive-metadata-panel{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.018));
}
.archive-metadata-panel p{
  margin:0 0 10px;
  color:#9fb0d1;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.archive-metadata-panel div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.archive-metadata-panel span{
  min-width:0;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(4,8,18,.62);
  border:1px solid rgba(142,159,201,.10);
}
.archive-metadata-panel em{
  display:block;
  margin-bottom:4px;
  color:#8fa1c7;
  font-style:normal;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.archive-metadata-panel strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#f5f7ff;
  font-size:12px;
  white-space:nowrap;
}
.archive-analysis-progress{
  position:relative;
  overflow:hidden;
  min-height:134px;
  border-color:rgba(245,199,92,.36);
  background:
    radial-gradient(circle at 18% 30%,rgba(245,199,92,.13),transparent 25%),
    radial-gradient(circle at 72% 60%,rgba(167,120,255,.15),transparent 28%),
    linear-gradient(180deg,rgba(245,199,92,.06),rgba(255,255,255,.022));
}
.archive-analysis-progress::before{
  content:'';
  position:absolute;
  inset:-35%;
  background:conic-gradient(from 90deg,transparent,rgba(245,199,92,.16),transparent,rgba(167,120,255,.14),transparent);
  animation:archiveScannerSweep 2.2s linear infinite;
  opacity:.65;
}
.archive-analysis-progress::after{
  content:'';
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(255,255,255,.035) 8px 9px);
  mix-blend-mode:screen;
  animation:archiveScanLines 1.1s steps(9,end) infinite;
}
.archive-analysis-progress > *{
  position:relative;
  z-index:1;
}
.archive-progress{
  height:12px;
  box-shadow:0 0 22px rgba(245,199,92,.10) inset;
}
.archive-progress i{
  background:linear-gradient(90deg,#f5c75c,#fff2bc,#a778ff,#6fa7ff);
  box-shadow:0 0 18px rgba(245,199,92,.34);
}
@keyframes archiveScannerSweep{
  from{transform:rotate(0deg) scale(1.05)}
  to{transform:rotate(360deg) scale(1.05)}
}
@keyframes archiveScanLines{
  0%{transform:translateY(-18px);opacity:.55}
  50%{opacity:.22}
  100%{transform:translateY(22px);opacity:.55}
}
.ithrael-upload-drop{
  display:grid;
  gap:7px;
  place-items:center;
  min-height:112px;
  padding:18px;
  border-radius:18px;
  border:1px dashed rgba(245,199,92,.34);
  background:radial-gradient(circle at 50% 45%,rgba(245,199,92,.10),transparent 48%),rgba(4,8,18,.64);
  color:#dce6ff;
  cursor:pointer;
  text-align:center;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.ithrael-upload-drop strong{
  color:#ffe29b;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ithrael-upload-drop span{
  max-width:560px;
  color:#9fb0d1;
  font-size:12px;
  line-height:1.45;
  text-transform:none;
  letter-spacing:0;
}
.ithrael-upload-drop.is-dragover{
  border-color:rgba(245,199,92,.78);
  background:radial-gradient(circle at 50% 45%,rgba(245,199,92,.20),transparent 54%),rgba(8,12,24,.78);
  box-shadow:0 0 36px rgba(245,199,92,.16);
  transform:translateY(-1px);
}
.ithrael-upload-drop.is-disabled{
  opacity:.55;
  cursor:wait;
}
.ithrael-upload-file-list{
  min-height:42px;
  padding:11px 13px;
  border-radius:15px;
  border:1px solid rgba(142,159,201,.16);
  background:rgba(255,255,255,.025);
  color:#9fb0d1;
  font-size:12px;
  line-height:1.45;
}
.ithrael-upload-file-list ul{
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.ithrael-upload-file-list li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 9px;
  border-radius:11px;
  background:rgba(4,8,18,.62);
  border:1px solid rgba(142,159,201,.10);
}
.ithrael-upload-file-list li strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#eef3ff;
}
.ithrael-upload-file-list li span{
  flex:0 0 auto;
  color:#9fb0d1;
}
.ithrael-upload-file-list li.is-ready span{color:#bfffd0;}
.ithrael-upload-file-list li.is-bad{border-color:rgba(255,92,92,.34);}
.ithrael-upload-file-list li.is-bad span{color:#ffb4b4;}
.ithrael-upload-errors{
  display:grid;
  gap:5px;
  margin-top:10px;
  color:#ffb4b4;
}
.ithrael-upload-errors p{margin:0;}
.ithrael-upload-result.is-warning{border-color:rgba(245,199,92,.42);color:#ffe29b;}
@media (max-width:1280px){
  .archive-list.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:980px){
  .archive-list.is-grid{grid-template-columns:1fr;}
  .archive-metadata-panel div{grid-template-columns:1fr;}
}


/* === v1.9.240 compact Archive Uplink cleanup === */
.ithrael-upload-window{
  width:min(760px,calc(100vw - 36px));
  border-radius:24px;
}
.ithrael-upload-head{padding:18px 20px 17px;}
.ithrael-upload-head h2{font-size:24px;}
.ithrael-upload-head span{font-size:12px;}
.ithrael-upload-form{
  grid-template-columns:1fr;
  gap:12px;
  padding:16px 20px 18px;
}
.ithrael-upload-native-input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
.ithrael-upload-drop{
  min-height:126px;
  border-radius:19px;
}
.ithrael-upload-file-list:empty,
.ithrael-upload-result:empty{
  display:none;
}
.ithrael-upload-result{
  min-height:0;
  padding:10px 12px;
}
.ithrael-upload-note,
.ithrael-upload-auto{display:none;}
.ithrael-upload-form input[type="file"]{display:none;}
@media (max-width:980px){
  .ithrael-upload-window{width:calc(100vw - 18px);}
}


/* === v1.9.240 archive preview alignment === */
.archive-layout-switch button{
  min-width:36px;
  width:36px;
  padding:0;
  display:inline-grid;
  place-items:center;
  font-size:15px;
  line-height:1;
}
.archive-layout-switch button span{
  display:block;
  transform:translateY(-.5px);
}
.archive-list.is-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.archive-image-frame,
.archive-glitch-thumb{
  aspect-ratio:1 / 1;
  min-height:0;
  height:auto;
}
.archive-glitch-thumb{
  align-self:start;
}
.archive-image-frame{
  align-self:start;
  min-height:0;
}
.archive-image-frame img{
  display:block;
}
.archive-image-frame::after{
  content:'⤢';
  position:absolute;
  right:12px;
  bottom:12px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(245,199,92,.26);
  background:rgba(4,8,18,.78);
  color:#ffe29b;
  font-size:15px;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .16s ease,transform .16s ease;
  pointer-events:none;
}
.archive-image-frame:hover::after{opacity:1;transform:translateY(0);}
.archive-image-expand{display:none;}
.archive-detail-top{
  align-items:flex-start;
}
.archive-detail-top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-left:auto;
}
.archive-detail-top-actions em{
  color:#9fb0d1;
  font-style:normal;
  font-size:12px;
  white-space:nowrap;
}
.archive-action.is-top{
  min-height:34px;
  padding:0 13px;
  border-radius:12px;
  white-space:nowrap;
}
.archive-actions-row{display:none;}
.archive-lightbox-window{
  width:calc(100vw - 6vh);
  height:calc(100vh - 6vh);
  max-width:none;
  max-height:none;
}
.archive-lightbox-body{
  padding:10px;
}
.archive-lightbox-body img{
  max-width:100%;
  max-height:100%;
  border-radius:14px;
}
@media (max-width:1480px){
  .archive-list.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1180px){
  .archive-list.is-grid{grid-template-columns:1fr;}
  .archive-detail-top-actions{align-items:flex-end;flex-direction:column;gap:8px;}
}


/* === v1.9.240 recovery chamber + corrupted inbox cleanup === */
.archive-modal.is-corrupted-view .archive-filter-head:not(.is-list),
.archive-modal.is-corrupted-view #archiveFilters{
  display:none;
}
.archive-modal.is-corrupted-view .archive-remote-status{
  margin-top:0;
}
.archive-recovery-modal.hidden{display:none;}
.archive-recovery-modal{
  position:fixed;
  inset:0;
  z-index:9780;
  display:grid;
  place-items:center;
  color:#eef3ff;
}
.archive-recovery-backdrop{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 55% 35%,rgba(245,199,92,.12),transparent 32%),radial-gradient(circle at 28% 66%,rgba(167,120,255,.14),transparent 30%),rgba(1,3,9,.82);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.archive-recovery-window{
  position:relative;
  width:calc(100vw - 8vh);
  height:calc(100vh - 8vh);
  max-width:1540px;
  max-height:900px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(245,199,92,.28);
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(8,12,26,.985),rgba(4,7,16,.995));
  box-shadow:0 40px 150px rgba(0,0,0,.78),0 0 90px rgba(245,199,92,.10),0 0 90px rgba(167,120,255,.08);
}
.archive-recovery-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:20px 24px;
  border-bottom:1px solid rgba(142,159,201,.16);
  background:linear-gradient(90deg,rgba(245,199,92,.12),rgba(167,120,255,.07));
}
.archive-recovery-head p{margin:0 0 5px;color:#ffe29b;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.archive-recovery-head h2{margin:0;color:#fff;font-size:27px;letter-spacing:.02em;}
.archive-recovery-head span{display:block;margin-top:5px;color:#aebde1;font-size:13px;line-height:1.45;}
.archive-recovery-head button{min-width:54px;height:38px;border-radius:14px;border:1px solid rgba(142,159,201,.22);background:rgba(8,12,24,.74);color:#dce6ff;font-weight:700;cursor:pointer;}
.archive-recovery-body{min-height:0;flex:1;padding:22px;overflow:auto;}
.archive-recovery-layout{display:grid;grid-template-columns:minmax(420px,1.18fr) minmax(360px,.82fr);gap:22px;min-height:100%;}
.archive-recovery-stage,.archive-recovery-result{min-width:0;border:1px solid rgba(142,159,201,.16);border-radius:24px;background:rgba(255,255,255,.025);}
.archive-recovery-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;padding:18px;}
.archive-recovery-assembly,.archive-recovery-media{position:relative;min-height:420px;border-radius:22px;border:1px solid rgba(142,159,201,.14);overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(167,120,255,.18),transparent 42%),rgba(3,6,14,.94);}
.archive-recovery-assembly{display:grid;place-items:center;color:#cbb7ff;font-size:13px;font-weight:700;letter-spacing:.13em;text-align:center;text-transform:uppercase;}
.archive-recovery-assembly span{position:relative;z-index:3;max-width:72%;}
.archive-recovery-assembly i,.archive-recovery-assembly b,.archive-recovery-media i{position:absolute;inset:0;pointer-events:none;}
.archive-recovery-assembly i,.archive-recovery-media i{background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 10px,transparent 10px 20px),linear-gradient(90deg,transparent,rgba(245,199,92,.12),transparent);mix-blend-mode:screen;animation:archiveRecoveryScan 1.28s steps(9,end) infinite;}
.archive-recovery-assembly b{background:linear-gradient(90deg,rgba(245,199,92,.06) 0 10%,transparent 10% 18%,rgba(167,120,255,.07) 18% 26%,transparent 26% 36%,rgba(111,167,255,.06) 36% 44%,transparent 44% 56%,rgba(245,199,92,.07) 56% 68%,transparent 68% 100%);transform:translateX(-100%);animation:archiveBlockReveal 2.6s cubic-bezier(.22,.85,.25,1) infinite;}
.archive-recovery-layout.is-complete .archive-recovery-media i{animation:archiveRecoveryReveal 1.2s ease-out both;background:linear-gradient(90deg,rgba(3,6,14,.92) 0 12%,transparent 12% 24%,rgba(3,6,14,.84) 24% 34%,transparent 34% 48%,rgba(3,6,14,.72) 48% 60%,transparent 60% 100%);}
.archive-recovery-media{display:grid;place-items:center;padding:0;cursor:zoom-in;}
.archive-recovery-media img{display:block;width:100%;height:100%;object-fit:contain;background:rgba(2,5,12,.9);}
.archive-recovery-media.is-text{display:block;padding:20px;overflow:auto;cursor:default;}
.archive-recovery-media pre{margin:0;white-space:pre-wrap;color:#f5f7ff;line-height:1.6;font-family:Inter,ui-sans-serif,system-ui;}
.archive-recovery-progress{padding:14px;border-radius:18px;border:1px solid rgba(245,199,92,.24);background:linear-gradient(180deg,rgba(245,199,92,.07),rgba(255,255,255,.022));}
.archive-recovery-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.archive-recovery-progress-head strong{color:#fff2c7;font-size:14px;}
.archive-recovery-progress-head em{color:#ffe29b;font-style:normal;font-size:12px;font-weight:700;}
.archive-recovery-bar{height:12px;border-radius:999px;overflow:hidden;background:rgba(4,8,18,.82);border:1px solid rgba(245,199,92,.18);}
.archive-recovery-bar i{display:block;height:100%;width:100%;transform-origin:left center;background:linear-gradient(90deg,#f5c75c,#fff2bc,#a778ff,#6fa7ff);box-shadow:0 0 20px rgba(245,199,92,.35);}
.archive-recovery-layout.is-running .archive-recovery-bar i{animation:archiveRecoverProgress 2.9s cubic-bezier(.24,.9,.23,1) infinite;}
.archive-recovery-layout.is-complete .archive-recovery-bar i{transform:scaleX(1);}
.archive-recovery-layout.is-failed .archive-recovery-bar i{transform:scaleX(.12);background:linear-gradient(90deg,#ff6b6b,#f5c75c);}
.archive-recovery-progress span{display:block;margin-top:8px;color:#9fb0d1;font-size:12px;line-height:1.45;}
.archive-recovery-result{padding:20px;align-self:stretch;}
.archive-recovery-result p{margin:0 0 10px;color:#9fb0d1;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.archive-recovery-result h3{margin:0 0 12px;color:#fff;font-size:26px;line-height:1.1;}
.archive-recovery-message{color:#c8d4ef;line-height:1.58;margin-bottom:16px;}
.archive-recovery-result dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;}
.archive-recovery-result dl div{min-width:0;padding:11px 12px;border-radius:14px;border:1px solid rgba(142,159,201,.12);background:rgba(4,8,18,.62);}
.archive-recovery-result dt{color:#8fa1c7;font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;}
.archive-recovery-result dd{margin:5px 0 0;color:#fff;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.archive-recovery-result blockquote{margin:16px 0 0;padding:13px 15px;border-left:2px solid #f5c75c;border-radius:12px;background:rgba(255,255,255,.03);color:#ffe9ad;line-height:1.55;}
@keyframes archiveRecoveryScan{0%{transform:translateY(-30px);opacity:.65}50%{opacity:.22}100%{transform:translateY(34px);opacity:.6}}
@keyframes archiveBlockReveal{0%{transform:translateX(-100%);opacity:.25}46%{opacity:.75}100%{transform:translateX(100%);opacity:.18}}
@keyframes archiveRecoveryReveal{0%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 0 100%);opacity:0}}
@media (max-width:1100px){.archive-recovery-layout{grid-template-columns:1fr}.archive-recovery-assembly,.archive-recovery-media{min-height:320px}.archive-recovery-result dl{grid-template-columns:1fr}}
@media (max-width:760px){.archive-recovery-window{width:calc(100vw - 18px);height:calc(100vh - 18px);border-radius:22px}.archive-recovery-body{padding:14px}.archive-recovery-head{padding:18px 16px}.archive-recovery-assembly,.archive-recovery-media{min-height:260px}}


/* === v1.9.240 archive recovery refinement === */
.archive-modal.is-corrupted-view .archive-sidebar > .archive-filter-head:first-child,
.archive-modal.is-corrupted-view #archiveFilters{
  display:none;
}
.archive-modal.is-corrupted-view .archive-remote-status{
  margin-top:0;
}
.archive-list{
  padding-top:2px;
}
.archive-list.is-grid{
  padding-top:2px;
  grid-auto-rows:auto;
}
.archive-entry{
  margin-top:1px;
}
.archive-entry:hover,
.archive-entry:focus-visible{
  transform:translateY(0);
}
.archive-detail-top-actions:empty{
  display:none;
}
.archive-detail-top-actions .archive-action:empty{
  display:none;
}
.archive-recovery-body{
  display:flex;
  flex-direction:column;
  gap:16px;
  overflow:hidden;
}
.archive-recovery-layout{
  min-height:0;
  flex:1;
  overflow:auto;
}
.archive-recovery-stage{
  display:block;
  padding:18px;
}
.archive-recovery-progress{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  margin:0;
  box-shadow:0 -18px 40px rgba(4,7,16,.72),0 0 28px rgba(245,199,92,.08);
}
.archive-recovery-media{
  cursor:zoom-in;
}
.archive-recovery-media em{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(245,199,92,.24);
  background:rgba(4,8,18,.78);
  color:#ffe29b;
  font-style:normal;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.82;
  pointer-events:none;
}
.archive-recovery-media.is-zoomed{
  display:block;
  overflow:auto;
  cursor:grab;
}
.archive-recovery-media.is-zoomed.is-dragging{
  cursor:grabbing;
  user-select:none;
}
.archive-recovery-media.is-zoomed img{
  display:block;
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  min-width:0;
  min-height:0;
  object-fit:unset;
  margin:0;
}
.archive-recovery-media.is-zoomed i{
  display:none;
}
.archive-recovery-media.is-zoomed em{
  content:'';
  opacity:.95;
}
.archive-recovery-media.is-zoomed em::before{
  content:'1:1 inspection · ';
}
@media (max-width:760px){
  .archive-recovery-body{gap:12px;}
  .archive-recovery-progress{border-radius:16px;}
}


/* === v1.9.240 archive server/local status + recovery zoom drag fix === */
.archive-remote-status{
  display:block;
  margin:12px 0 0;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.14);
  background:rgba(4,8,18,.48);
}
.archive-server-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-width:0;
}
.archive-server-main span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
}
.archive-server-main span i{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#8fa1c7;
  box-shadow:0 0 12px rgba(143,161,199,.38);
}
.archive-remote-status.is-online .archive-server-main span i,
.archive-remote-status.is-local .archive-server-main span i{
  background:#58d98a;
  box-shadow:0 0 14px rgba(88,217,138,.54);
}
.archive-remote-status.is-loading .archive-server-main span i{
  background:#f5c75c;
  box-shadow:0 0 14px rgba(245,199,92,.54);
}
.archive-remote-status.is-error .archive-server-main span i{
  background:#ff5a5a;
  box-shadow:0 0 14px rgba(255,90,90,.50);
}
.archive-server-main em{
  min-width:0;
  margin-left:auto;
  color:#9fb0d1;
  font-size:11px;
  font-style:normal;
  line-height:1.35;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.archive-remote-status button{display:none;}
.archive-modal.is-reconstructed-view .archive-remote-status{
  border-color:rgba(88,217,138,.16);
  background:linear-gradient(180deg,rgba(88,217,138,.035),rgba(255,255,255,.018));
}
.archive-recovery-media.is-zoomed{
  touch-action:none;
  overscroll-behavior:contain;
}
.archive-recovery-media.is-zoomed img{
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
}
.archive-recovery-media.is-zoomed em{
  opacity:.88;
}
.archive-recovery-media.is-zoomed em::before{
  content:'1:1 inspection · drag to pan';
}
.archive-recovery-media.is-zoomed em{
  font-size:0;
}
.archive-recovery-media.is-zoomed em::before{
  font-size:10px;
}


/* === v1.9.240 retro recovery chamber + stable 1:1 inspection === */
.archive-recovery-window{
  height:calc(100vh - 6vh);
  max-height:none;
}
.archive-recovery-body{
  min-height:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:16px;
  overflow:hidden;
}
.archive-recovery-layout{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
.archive-recovery-stage,
.archive-recovery-result{
  min-height:0;
  overflow:hidden;
}
.archive-recovery-result{
  overflow:auto;
}
.archive-recovery-stage{
  display:flex;
  flex-direction:column;
}
.archive-recovery-assembly,
.archive-recovery-media{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  max-height:100%;
}
.archive-recovery-progress{
  flex:0 0 auto;
  position:relative;
  bottom:auto;
  margin:0;
  z-index:5;
}
.archive-recovery-bar i{
  width:var(--recovery-progress,100%);
  transform:none;
  transition:width .24s linear;
}
.archive-recovery-layout.is-running .archive-recovery-bar i{
  animation:none;
}
.archive-recovery-assembly strong{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:4;
  color:#ffe29b;
  font-size:11px;
  letter-spacing:.08em;
  padding:6px 9px;
  border-radius:999px;
  border:1px solid rgba(245,199,92,.25);
  background:rgba(4,8,18,.72);
}
.archive-recovery-assembly.is-running::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(to bottom,transparent 0 var(--recovery-progress,0%),rgba(3,6,14,.88) var(--recovery-progress,0%) 100%);
  pointer-events:none;
  transition:background .24s linear;
}
.archive-recovery-layout.is-complete .archive-recovery-media::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(3,6,14,.92),rgba(3,6,14,.68),transparent);
  animation:archiveTopDownUnveil 1.65s cubic-bezier(.2,.8,.2,1) both;
}
.archive-recovery-media.is-zoomed{
  overflow:auto;
  cursor:grab;
  overscroll-behavior:contain;
  touch-action:none;
}
.archive-recovery-media.is-zoomed.is-dragging{cursor:grabbing;}
.archive-recovery-media.is-zoomed img{
  display:block;
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  object-fit:unset;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.archive-recovery-zoom-close{
  display:none;
  position:absolute;
  top:12px;
  right:12px;
  z-index:9;
  width:36px;
  height:36px;
  border-radius:14px;
  border:1px solid rgba(245,199,92,.34);
  background:rgba(4,8,18,.86);
  color:#ffe29b;
  font-size:22px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:0 0 18px rgba(0,0,0,.38);
}
.archive-recovery-media.is-zoomed .archive-recovery-zoom-close{display:grid;place-items:center;}
.archive-recovery-media.is-zoomed em{
  left:14px;
  right:auto;
  bottom:14px;
  font-size:10px;
  opacity:.92;
}
.archive-recovery-media.is-zoomed em::before{content:'';}
@keyframes archiveTopDownUnveil{
  0%{clip-path:inset(0 0 0 0);opacity:1;}
  100%{clip-path:inset(100% 0 0 0);opacity:0;}
}
@media (max-width:1100px){
  .archive-recovery-window{height:calc(100vh - 18px);}
  .archive-recovery-layout{grid-template-columns:1fr;}
  .archive-recovery-stage{min-height:0;}
}


/* === v1.9.240 recovery decision flow + archive trash === */
.archive-selection-actions{
  flex:0 0 auto;
  margin-top:14px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(142,159,201,.14);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
}
.archive-selection-actions:empty{display:none;}
.archive-selection-actions-label{
  margin-bottom:10px;
  color:#9fb0d1;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.archive-selection-actions-row,
.archive-recovery-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.archive-user-action{
  min-height:44px;
  padding:0 16px;
  border-radius:14px;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease;
}
.archive-user-action:hover:not(:disabled){transform:translateY(-1px);}
.archive-user-action:disabled{opacity:.48;cursor:not-allowed;transform:none;}
.archive-user-action.is-primary{
  border:1px solid rgba(245,199,92,.58);
  background:linear-gradient(180deg,rgba(245,199,92,.98),rgba(209,145,36,.98));
  color:#07101f;
  box-shadow:0 0 22px rgba(245,199,92,.18),inset 0 1px 0 rgba(255,255,255,.28);
}
.archive-user-action.is-primary:hover:not(:disabled){box-shadow:0 0 30px rgba(245,199,92,.28),inset 0 1px 0 rgba(255,255,255,.35);}
.archive-user-action.is-secondary{
  border:1px solid rgba(142,159,201,.18);
  background:rgba(6,10,22,.66);
  color:#9fb0d1;
}
.archive-user-action.is-secondary:hover:not(:disabled){border-color:rgba(255,90,90,.30);color:#ffb8b8;background:rgba(255,90,90,.055);}
.archive-modal.is-trash-view .archive-remote-status{
  border-color:rgba(255,90,90,.16);
  background:linear-gradient(180deg,rgba(255,90,90,.035),rgba(255,255,255,.018));
}
.archive-remote-status.is-trash .archive-server-main span{color:#ffb8b8;}
.archive-remote-status.is-trash .archive-server-main span i{
  background:#ff5a5a;
  box-shadow:0 0 14px rgba(255,90,90,.48);
}
.archive-modal.is-trash-view .archive-sidebar > .archive-filter-head:first-child,
.archive-modal.is-trash-view #archiveFilters{display:none;}
.archive-recovery-media-shell{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  height:100%;
  max-height:100%;
  display:flex;
}
.archive-recovery-media-shell .archive-recovery-media{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  max-height:100%;
}
.archive-recovery-media-shell .archive-recovery-zoom-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:12;
  display:none;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:0;
  text-align:center;
}
.archive-recovery-media-shell.is-zoomed .archive-recovery-zoom-close{display:flex;}
.archive-recovery-progress-main{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  gap:16px;
  align-items:end;
}
.archive-recovery-progress-track{min-width:0;}
.archive-recovery-actions{align-self:stretch;}
.archive-recovery-actions .archive-user-action{min-height:42px;}
.archive-recovery-layout.is-running .archive-recovery-actions .archive-user-action.is-secondary:hover:not(:disabled){color:#9fb0d1;border-color:rgba(142,159,201,.18);background:rgba(6,10,22,.66);}
.archive-detail-top-actions .archive-action{display:none;}
.archive-action.is-top{display:none;}
@media (max-width:980px){
  .archive-recovery-progress-main{grid-template-columns:1fr;}
  .archive-recovery-actions{justify-content:stretch;}
  .archive-recovery-actions .archive-user-action{flex:1 1 160px;}
}


/* === v1.9.240 recovery actions refinement + cache purge UI polish === */
.archive-sidebar{
  display:flex;
  flex-direction:column;
}
.archive-list{
  flex:1 1 auto;
  min-height:0;
  padding-top:2px;
  padding-bottom:12px;
}
.archive-selection-actions{
  flex:0 0 auto;
  margin-top:auto;
  position:sticky;
  bottom:0;
  z-index:8;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(13,18,34,.92),rgba(8,12,24,.98));
  box-shadow:0 -18px 32px rgba(3,6,14,.38);
}
.archive-selection-actions-row{
  justify-content:flex-end;
}
.archive-recovery-progress{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  padding:14px 16px 16px;
}
.archive-recovery-progress-main{
  display:block;
}
.archive-recovery-progress-track{
  min-width:0;
}
.archive-recovery-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding-top:12px;
  border-top:1px solid rgba(142,159,201,.12);
}
.archive-recovery-actions .archive-user-action{
  min-height:44px;
}
.archive-recovery-media-shell{
  position:relative;
  overflow:hidden;
}
.archive-recovery-media-shell .archive-recovery-zoom-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:30;
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:14px;
  display:none;
  place-items:center;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
  font-size:22px;
  font-weight:700;
  text-align:center;
  color:#ffe29b;
  background:rgba(5,8,18,.86);
  border:1px solid rgba(245,199,92,.42);
  box-shadow:0 12px 26px rgba(0,0,0,.42),0 0 18px rgba(245,199,92,.12);
  cursor:pointer;
}
.archive-recovery-media-shell.is-zoomed .archive-recovery-zoom-close{display:grid;}
.archive-recovery-inspection-hint{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:28;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(245,199,92,.28);
  background:rgba(5,8,18,.78);
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  pointer-events:none;
  box-shadow:0 10px 24px rgba(0,0,0,.34);
}
.archive-recovery-media-shell:not(.is-zoomed) .archive-recovery-inspection-hint{opacity:.78;}
.archive-recovery-media em{display:none;}
.archive-recovery-media.is-zoomed{
  scrollbar-width:thin;
  scrollbar-color:rgba(188,198,218,.72) rgba(8,12,24,.42);
}
.archive-recovery-media.is-zoomed::-webkit-scrollbar{
  width:6px;
  height:6px;
}
.archive-recovery-media.is-zoomed::-webkit-scrollbar-track{
  background:rgba(8,12,24,.42);
  border-radius:999px;
}
.archive-recovery-media.is-zoomed::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(222,229,242,.82),rgba(130,145,175,.72));
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
}
.archive-recovery-media.is-zoomed::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(245,248,255,.92),rgba(162,176,205,.84));
}
.archive-recovery-media.is-zoomed::-webkit-scrollbar-corner{background:transparent;}
.archive-recovery-media.is-zoomed::-webkit-scrollbar-button{width:0;height:0;display:none;}
@media (max-width:980px){
  .archive-recovery-actions{justify-content:stretch;}
  .archive-recovery-actions .archive-user-action{flex:1 1 160px;}
}


/* === v1.9.240 modal size parity + Selair top layer === */
.notebook-window,
.archive-window,
.archive-recovery-window{
  width:calc(100vw - 10vh);
  height:calc(100vh - 10vh);
  max-width:1640px;
  max-height:960px;
}
.archive-recovery-window{
  min-height:0;
}
.archive-recovery-body{
  min-height:0;
}
.selair-channel{
  z-index:99999;
}
.selair-channel-backdrop{
  z-index:0;
}
.selair-channel-window{
  z-index:1;
}
@media (max-width:980px){
  .notebook-window,
  .archive-window,
  .archive-recovery-window{
    width:calc(100vw - 18px);
    height:calc(100vh - 18px);
    max-width:none;
    max-height:none;
  }
}


/* === v1.9.240 verified modal geometry + cache-busted stack order === */
:root{
  --angol-modal-margin:10vh;
  --angol-modal-max-w:1640px;
  --angol-modal-max-h:960px;
}
.notebook-modal,
.archive-modal,
.archive-recovery-modal{
  display:grid;
  place-items:center;
}
.notebook-window,
.archive-window,
.archive-recovery-window{
  width:min(var(--angol-modal-max-w),calc(100vw - var(--angol-modal-margin)));
  height:min(var(--angol-modal-max-h),calc(100vh - var(--angol-modal-margin)));
  max-width:none;
  max-height:none;
  min-height:0;
  box-sizing:border-box;
}
.archive-recovery-window{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.archive-recovery-body{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:16px;
  overflow:hidden;
  padding:22px;
}
.archive-recovery-layout{
  min-height:0;
  height:100%;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(420px,1.18fr) minmax(360px,.82fr);
  gap:22px;
}
.archive-recovery-stage,
.archive-recovery-result{
  min-height:0;
  overflow:hidden;
}
.archive-recovery-result{
  overflow:auto;
}
.archive-recovery-stage{
  display:flex;
  flex-direction:column;
}
.archive-recovery-media-shell,
.archive-recovery-assembly,
.archive-recovery-media{
  min-height:0;
  height:100%;
  max-height:100%;
}
.archive-recovery-media-shell{
  flex:1 1 auto;
}
.archive-recovery-progress{
  grid-row:2;
  flex:0 0 auto;
  position:relative;
  bottom:auto;
  margin:0;
}
.selair-channel{
  position:fixed;
  inset:0;
  z-index:2147483000;
  isolation:isolate;
}
.selair-channel-backdrop{
  z-index:0;
}
.selair-channel-window{
  position:relative;
  z-index:1;
}
@media (max-width:1100px){
  .archive-recovery-layout{
    grid-template-columns:1fr;
  }
}
@media (max-width:980px){
  :root{--angol-modal-margin:18px;}
  .notebook-window,
  .archive-window,
  .archive-recovery-window{
    width:calc(100vw - var(--angol-modal-margin));
    height:calc(100vh - var(--angol-modal-margin));
  }
  .archive-recovery-body{padding:14px;}
}


/* === v1.9.240 recovery image fit + Selair trash repair === */
.archive-recovery-layout.is-complete .archive-recovery-media-shell:not(.is-zoomed) .archive-recovery-media{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:radial-gradient(circle at 50% 45%,rgba(167,120,255,.08),transparent 42%),rgba(1,4,10,.96);
}
.archive-recovery-layout.is-complete .archive-recovery-media-shell:not(.is-zoomed) .archive-recovery-media img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  margin:auto;
}
.archive-recovery-media-shell.is-zoomed .archive-recovery-media{
  display:block;
  align-items:initial;
  justify-content:initial;
}
.archive-recovery-media-shell.is-zoomed .archive-recovery-media img{
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  object-fit:unset;
  margin:0;
}
.archive-modal.is-trash-view .archive-entry.is-analyzed strong::after{
  content:' · repaired';
  color:#ffe29b;
  font-style:normal;
  opacity:.86;
}
.archive-modal.is-trash-view .archive-entry.is-analyzed{
  border-color:rgba(245,199,92,.32);
  box-shadow:0 0 18px rgba(245,199,92,.08);
}
.archive-modal.is-trash-view .archive-selection-actions-label::after{
  content:' // Selair can restore broken wrappers';
  color:#8fa1c7;
  font-weight:800;
  letter-spacing:.08em;
}


/* === v1.9.240 recovery terminal stream / 1987 processing feel === */
.archive-recovery-assembly.has-terminal-stream{
  display:block;
  place-items:unset;
  text-align:left;
  text-transform:none;
  letter-spacing:normal;
  padding:0;
  background:radial-gradient(circle at 50% 16%,rgba(245,199,92,.035),transparent 32%),rgba(2,5,11,.985);
}
.archive-recovery-assembly.has-terminal-stream::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 8px),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 18%,transparent 82%,rgba(0,0,0,.28));
  pointer-events:none;
  mix-blend-mode:screen;
}
.archive-recovery-terminal{
  position:absolute;
  left:18px;
  right:18px;
  top:18px;
  bottom:46px;
  z-index:3;
  margin:0;
  overflow:hidden;
  white-space:pre-wrap;
  word-break:break-word;
  color:rgba(247,249,255,.94);
  font-family:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:10px;
  line-height:1.42;
  font-weight:650;
  letter-spacing:.025em;
  text-shadow:0 0 6px rgba(240,246,255,.18),0 0 18px rgba(167,120,255,.10);
  opacity:.9;
  animation:archiveTerminalFlicker .22s steps(2,end) infinite;
}
.archive-recovery-terminal::after{
  content:' █';
  color:#fff;
  text-shadow:0 0 9px rgba(255,255,255,.52);
  animation:archiveTerminalCursor .55s steps(1,end) infinite;
}
.archive-recovery-assembly.has-terminal-stream b{
  z-index:4;
  background:linear-gradient(90deg,transparent 0 8%,rgba(255,255,255,.13) 9% 12%,transparent 13% 28%,rgba(245,199,92,.10) 29% 33%,transparent 34% 52%,rgba(167,120,255,.10) 53% 57%,transparent 58% 100%);
  mix-blend-mode:screen;
  opacity:.72;
}
.archive-recovery-assembly.has-terminal-stream i{
  z-index:5;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);
  animation:archiveRecoveryScan .9s steps(7,end) infinite;
}
.archive-recovery-assembly.has-terminal-stream::after{
  background:linear-gradient(to bottom,transparent 0 var(--recovery-progress,0%),rgba(3,6,14,.90) var(--recovery-progress,0%) 100%);
  z-index:6;
  mix-blend-mode:normal;
}
.archive-recovery-assembly.has-terminal-stream strong{
  z-index:8;
}
@keyframes archiveTerminalCursor{
  0%,49%{opacity:1}
  50%,100%{opacity:.12}
}
@keyframes archiveTerminalFlicker{
  0%{opacity:.86;filter:brightness(1)}
  100%{opacity:.96;filter:brightness(1.06)}
}
@media (min-width:1380px){
  .archive-recovery-terminal{font-size:10.5px;line-height:1.45;}
}


/* === v1.9.240 blended recovery terminal stream === */
.archive-recovery-assembly.has-terminal-stream{
  display:grid;
  place-items:center;
  text-align:left;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 36%,rgba(167,120,255,.16),transparent 42%),
    radial-gradient(circle at 18% 12%,rgba(245,199,92,.055),transparent 28%),
    rgba(3,6,14,.955);
}
.archive-recovery-assembly.has-terminal-stream::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px),
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 16%,transparent 84%,rgba(0,0,0,.25));
  pointer-events:none;
  mix-blend-mode:screen;
}
.archive-recovery-terminal{
  position:absolute;
  left:18px;
  right:18px;
  top:16px;
  bottom:auto;
  z-index:4;
  margin:0;
  overflow:visible;
  white-space:pre-wrap;
  word-break:break-word;
  color:rgba(248,250,255,.58);
  font-family:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:9.5px;
  line-height:1.42;
  font-weight:650;
  letter-spacing:.018em;
  text-shadow:0 0 7px rgba(255,255,255,.14),0 0 18px rgba(167,120,255,.10);
  opacity:.62;
  pointer-events:none;
  mix-blend-mode:screen;
  transform:translate3d(0, var(--terminal-offset, 0px), 0);
  transition:transform .18s linear, opacity .18s linear;
  will-change:transform;
  animation:none;
}
.archive-recovery-terminal::after{
  content:' █';
  color:rgba(255,255,255,.68);
  text-shadow:0 0 8px rgba(255,255,255,.42);
  animation:archiveTerminalCursor .62s steps(1,end) infinite;
}
.archive-recovery-assembly.has-terminal-stream b{
  z-index:5;
  background:
    linear-gradient(90deg,
      transparent 0 7%,rgba(245,199,92,.11) 8% 12%,transparent 13% 25%,
      rgba(167,120,255,.12) 26% 31%,transparent 32% 48%,
      rgba(111,167,255,.11) 49% 54%,transparent 55% 70%,
      rgba(255,255,255,.08) 71% 74%,transparent 75% 100%);
  mix-blend-mode:screen;
  opacity:.78;
  transform:translateX(-100%);
  animation:archiveBlockReveal 2.25s cubic-bezier(.22,.85,.25,1) infinite;
}
.archive-recovery-assembly.has-terminal-stream i{
  z-index:7;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 9px,transparent 9px 18px),
    linear-gradient(90deg,transparent,rgba(245,199,92,.12),rgba(167,120,255,.13),transparent);
  mix-blend-mode:screen;
  opacity:.9;
  animation:archiveRecoveryScan .82s steps(8,end) infinite;
}
.archive-recovery-assembly.has-terminal-stream::after{
  z-index:8;
  background:
    linear-gradient(to bottom,transparent 0 var(--recovery-progress,0%),rgba(3,6,14,.76) var(--recovery-progress,0%) 100%);
  mix-blend-mode:normal;
  pointer-events:none;
}
.archive-recovery-assembly.has-terminal-stream strong{
  z-index:10;
  opacity:.92;
}
@media (min-width:1380px){
  .archive-recovery-terminal{font-size:10px;line-height:1.44;}
}


/* === v1.9.240 compact archive action footer + Selair/Ithrael signal polish === */
.archive-sidebar{
  padding:16px 16px 0;
}
.archive-list{
  flex:1 1 auto;
  min-height:0;
  padding-bottom:14px;
}
.archive-selection-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:8px -16px 0;
  padding:10px 16px;
  min-height:58px;
  border:0;
  border-top:1px solid rgba(142,159,201,.16);
  border-radius:0 0 22px 22px;
  background:linear-gradient(180deg,rgba(9,13,26,.88),rgba(5,8,18,.98));
  box-shadow:0 -12px 28px rgba(3,6,14,.48);
}
.archive-selection-actions:empty{display:none;}
.archive-selection-actions-label{
  margin:0;
  min-width:0;
  color:#9fb0d1;
  font-size:9px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.archive-selection-actions-row{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
}
.archive-selection-actions .archive-user-action{
  min-height:36px;
  padding:0 14px;
  border-radius:13px;
  font-size:13px;
  white-space:nowrap;
}
.archive-selection-actions .archive-user-action.is-secondary{
  color:#8998b8;
  border-color:rgba(142,159,201,.16);
  background:rgba(6,10,22,.50);
}
.archive-selection-actions .archive-user-action.is-secondary.is-danger-soft,
.archive-selection-actions .archive-user-action.is-secondary:hover:not(:disabled){
  color:#aeb8cf;
}
.archive-selection-actions .archive-user-action.is-secondary.is-danger-soft:hover:not(:disabled),
.archive-selection-actions .archive-user-action.is-secondary:hover:not(:disabled){
  color:#ffb8b8;
  border-color:rgba(255,90,90,.32);
  background:rgba(255,90,90,.055);
}
.archive-selection-actions .archive-user-action.is-primary{
  min-width:96px;
  box-shadow:0 0 18px rgba(245,199,92,.18),inset 0 1px 0 rgba(255,255,255,.28);
}
.archive-modal.is-trash-view .archive-selection-actions-label::after{
  content:'';
}
@media (max-width:760px){
  .archive-selection-actions{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
    padding:10px 14px;
  }
  .archive-selection-actions-row{width:100%;}
  .archive-selection-actions .archive-user-action{flex:1 1 auto;}
}


/* === v1.9.240 archive lore dismiss + recovery modal polish === */
.archive-head,
.archive-recovery-head{
  padding:14px 20px;
  min-height:0;
}
.archive-head h2,
.archive-recovery-head h2{
  font-size:24px;
  line-height:1.05;
}
.archive-head span,
.archive-recovery-head span{
  margin-top:3px;
  font-size:12px;
  line-height:1.35;
}
.archive-kicker,
.archive-recovery-head p{
  margin-bottom:3px;
  font-size:10px;
  letter-spacing:.17em;
}
.archive-lore-strip{
  grid-template-columns:auto 1fr auto;
  padding:9px 20px;
  gap:12px;
  min-height:0;
}
.archive-lore-strip.is-hidden{display:none;}
.archive-lore-strip span{font-size:11px;}
.archive-lore-dismiss{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:10px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.70);
  color:#9fb0d1;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:border-color .16s ease,color .16s ease,background .16s ease,transform .16s ease;
}
.archive-lore-dismiss:hover,
.archive-lore-dismiss:focus-visible{
  color:#ffe29b;
  border-color:rgba(245,199,92,.38);
  background:rgba(245,199,92,.08);
  transform:translateY(-1px);
  outline:none;
}
.archive-recovery-window{
  width:min(1680px,calc(100vw - 10vh));
  height:min(960px,calc(100vh - 10vh));
  max-width:1680px;
  max-height:960px;
}
.archive-recovery-body{
  padding:18px 20px 0;
  gap:0;
}
.archive-recovery-layout{
  gap:18px;
}
.archive-recovery-stage,
.archive-recovery-result{
  border-radius:22px;
}
.archive-recovery-progress{
  margin:16px -20px 0;
  padding:14px 20px;
  border:0;
  border-top:1px solid rgba(142,159,201,.16);
  border-radius:0 0 28px 28px;
  background:linear-gradient(180deg,rgba(9,13,26,.88),rgba(5,8,18,.98));
  box-shadow:0 -14px 32px rgba(3,6,14,.52);
}
.archive-recovery-progress-track{
  padding:0;
}
.archive-recovery-actions{
  padding-top:12px;
  border-top:1px solid rgba(142,159,201,.12);
  margin-top:12px;
}
.archive-recovery-actions .archive-user-action{
  min-height:38px;
  border-radius:13px;
  padding:0 16px;
}
@media (max-width:980px){
  .archive-lore-strip{grid-template-columns:1fr auto;}
  .archive-lore-strip strong{grid-column:1 / 2;}
  .archive-lore-strip span{grid-column:1 / 2;}
  .archive-lore-dismiss{grid-column:2 / 3;grid-row:1 / span 2;align-self:start;}
  .archive-recovery-window{width:calc(100vw - 18px);height:calc(100vh - 18px);}
  .archive-recovery-progress{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;}
}


/* === v1.9.240 archive preview polish + reconstructed detail widening === */

/* Reconstructed detail: wider visual/data pair and contained media */
.archive-modal.is-reconstructed-view .archive-detail-grid{
  grid-template-columns:minmax(520px,.96fr) minmax(420px,1.04fr);
  gap:20px;
  align-items:stretch;
}

.archive-modal.is-reconstructed-view .archive-image-frame,
.archive-modal.is-reconstructed-view .archive-glitch-thumb{
  min-height:560px;
  height:100%;
  aspect-ratio:auto;
  align-self:stretch;
}

.archive-modal.is-reconstructed-view .archive-image-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  overflow:hidden;
}

.archive-modal.is-reconstructed-view .archive-image-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}

.archive-modal.is-reconstructed-view .archive-file-meta{
  min-height:560px;
  align-content:start;
}

/* Full image preview: title only, transparent chamber, blur backdrop, metadata overlay */
.archive-lightbox-backdrop{
  background:rgba(1,3,9,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.archive-lightbox-window{
  width:calc(100vw - 4vh);
  height:calc(100vh - 4vh);
  max-width:none;
  max-height:none;
  border:none;
  border-radius:24px;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}

.archive-lightbox-head{
  position:absolute;
  top:14px;
  left:18px;
  right:18px;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0;
  border:none;
  background:transparent;
}

.archive-lightbox-head p{
  display:none;
}

.archive-lightbox-head h2{
  margin:0;
  color:#ffffff;
  font-size:24px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-shadow:0 2px 18px rgba(0,0,0,.55);
}

.archive-lightbox-head button{
  min-width:54px;
  height:38px;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.22);
  background:rgba(8,12,24,.38);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:#dce6ff;
  font-weight:700;
  cursor:pointer;
}

.archive-lightbox-body{
  position:relative;
  min-height:0;
  flex:1;
  padding:62px 0 0;
  background:transparent;
  overflow:hidden;
}

.archive-lightbox-meta{
  position:absolute;
  top:74px;
  left:22px;
  z-index:5;
  display:grid;
  gap:3px;
  pointer-events:none;
  text-align:left;
}

.archive-lightbox-meta span{
  color:rgba(255,255,255,.66);
  font-size:11px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:.02em;
  text-shadow:0 1px 10px rgba(0,0,0,.45);
}

.archive-lightbox-meta b{
  color:#fff;
  font-weight:800;
}

.archive-lightbox-viewport{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  overflow:hidden;
  cursor:zoom-in;
}

.archive-lightbox-viewport::after{
  content:'click for 1:1 inspection';
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:4;
  min-height:30px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(245,199,92,.26);
  background:rgba(4,8,18,.58);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  pointer-events:none;
}

.archive-lightbox-viewport.is-zoomed::after{
  content:'1:1 inspection · drag to pan';
}

.archive-lightbox-body img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 14px 48px rgba(0,0,0,.55);
}

.archive-lightbox-viewport.is-zoomed{
  display:block;
  overflow:auto;
  cursor:grab;
  touch-action:none;
  overscroll-behavior:contain;
}

.archive-lightbox-viewport.is-zoomed.is-dragging{
  cursor:grabbing;
}

.archive-lightbox-viewport.is-zoomed img{
  max-width:none;
  max-height:none;
  width:auto;
  height:auto;
  object-fit:unset;
  margin:20px auto;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

@media (max-width:1280px){
  .archive-modal.is-reconstructed-view .archive-detail-grid{
    grid-template-columns:minmax(420px,.95fr) minmax(320px,1.05fr);
  }

  .archive-modal.is-reconstructed-view .archive-image-frame,
  .archive-modal.is-reconstructed-view .archive-glitch-thumb,
  .archive-modal.is-reconstructed-view .archive-file-meta{
    min-height:480px;
  }
}

@media (max-width:980px){
  .archive-modal.is-reconstructed-view .archive-detail-grid{
    grid-template-columns:1fr;
  }

  .archive-modal.is-reconstructed-view .archive-image-frame,
  .archive-modal.is-reconstructed-view .archive-glitch-thumb,
  .archive-modal.is-reconstructed-view .archive-file-meta{
    min-height:340px;
  }

  .archive-lightbox-window{
    width:calc(100vw - 18px);
    height:calc(100vh - 18px);
  }

  .archive-lightbox-head{
    top:10px;
    left:12px;
    right:12px;
  }

  .archive-lightbox-head h2{
    font-size:18px;
  }

  .archive-lightbox-meta{
    top:58px;
    left:14px;
  }

  .archive-lightbox-body{
    padding-top:52px;
  }
}


/* === v1.9.240 archive viewport constraint + fixed inspection chrome === */

/* Full preview: keep the picture fully inside the visible viewport in non-zoom mode. */
.archive-lightbox-window{
  width:100vw;
  height:100vh;
  border-radius:0;
  overflow:hidden;
}

.archive-lightbox-head{
  top:28px;
  left:34px;
  right:34px;
}

.archive-lightbox-head h2{
  font-size:22px;
  font-weight:800;
  letter-spacing:.035em;
  text-shadow:0 2px 18px rgba(0,0,0,.58);
}

.archive-lightbox-body{
  height:100vh;
  padding:82px 0 34px;
  box-sizing:border-box;
}

.archive-lightbox-viewport{
  height:100%;
  min-height:0;
  box-sizing:border-box;
  padding:0 8vw 0;
}

.archive-lightbox-viewport:not(.is-zoomed) img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}

/* The inspection hint is UI chrome, not image content: keep it fixed. */
.archive-lightbox-viewport::after{
  position:fixed;
  right:30px;
  bottom:26px;
  z-index:20;
}

/* 1:1 mode: only the viewport scrolls, with thin silver UI scrollbars. */
.archive-lightbox-viewport.is-zoomed{
  padding:0;
  scrollbar-width:thin;
  scrollbar-color:rgba(206,216,232,.72) rgba(255,255,255,.06);
}

.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar{
  width:7px;
  height:7px;
}

.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-track{
  background:rgba(255,255,255,.055);
  border-radius:999px;
}

.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(232,238,248,.82),rgba(140,153,178,.66));
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
}

.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-corner{
  background:transparent;
}

.archive-lightbox-viewport.is-zoomed img{
  margin:24px auto;
}

/* Reconstructed detail: two equal halves, no horizontal push/scroll from the image or metadata. */
.archive-modal.is-reconstructed-view .archive-detail{
  min-width:0;
  overflow-x:hidden;
}

.archive-modal.is-reconstructed-view .archive-detail-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  align-items:stretch;
  min-width:0;
  width:100%;
  height:clamp(420px, calc(100vh - 340px), 650px);
  min-height:0;
}

.archive-modal.is-reconstructed-view .archive-image-frame,
.archive-modal.is-reconstructed-view .archive-glitch-thumb{
  min-width:0;
  min-height:0;
  height:100%;
  max-height:100%;
  aspect-ratio:auto;
  align-self:stretch;
}

.archive-modal.is-reconstructed-view .archive-image-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  overflow:hidden;
}

.archive-modal.is-reconstructed-view .archive-image-frame img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
}

.archive-modal.is-reconstructed-view .archive-file-meta{
  min-width:0;
  min-height:0;
  height:100%;
  max-height:100%;
  overflow:auto;
  overscroll-behavior:contain;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(206,216,232,.62) rgba(255,255,255,.045);
}

.archive-modal.is-reconstructed-view .archive-file-meta::-webkit-scrollbar{
  width:6px;
  height:6px;
}

.archive-modal.is-reconstructed-view .archive-file-meta::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
  border-radius:999px;
}

.archive-modal.is-reconstructed-view .archive-file-meta::-webkit-scrollbar-thumb{
  background:rgba(206,216,232,.62);
  border-radius:999px;
}

.archive-modal.is-reconstructed-view .archive-meta-grid,
.archive-modal.is-reconstructed-view .archive-metadata-panel div{
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-width:0;
}

.archive-modal.is-reconstructed-view .archive-meta-grid > div,
.archive-modal.is-reconstructed-view .archive-metadata-panel span{
  min-width:0;
}

.archive-modal.is-reconstructed-view .archive-file-meta code,
.archive-modal.is-reconstructed-view .archive-file-meta strong,
.archive-modal.is-reconstructed-view .archive-file-meta p{
  min-width:0;
  overflow-wrap:anywhere;
}

/* Recovery process: lock header and body geometry so 1:1 inspection does not move the header. */
.archive-recovery-window{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.archive-recovery-head{
  flex:0 0 auto;
  position:relative;
  z-index:20;
}

.archive-recovery-body{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}

.archive-recovery-layout{
  height:100%;
  min-height:0;
  overflow:hidden;
}

.archive-recovery-stage,
.archive-recovery-result{
  min-height:0;
  overflow:hidden;
}

.archive-recovery-media-shell{
  min-height:0;
  height:100%;
  overflow:hidden;
}

.archive-recovery-media{
  min-height:0;
  height:100%;
  max-height:100%;
}

.archive-recovery-media.is-zoomed{
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(206,216,232,.72) rgba(255,255,255,.06);
}

.archive-recovery-media.is-zoomed::-webkit-scrollbar{
  width:7px;
  height:7px;
}

.archive-recovery-media.is-zoomed::-webkit-scrollbar-track{
  background:rgba(255,255,255,.055);
  border-radius:999px;
}

.archive-recovery-media.is-zoomed::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(232,238,248,.82),rgba(140,153,178,.66));
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
}

/* Keep recovery hint/close controls fixed to the stage, not dragged with image content. */
.archive-recovery-inspection-hint{
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:12;
  pointer-events:none;
}

.archive-recovery-zoom-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:14;
}

/* Responsive safety. */
@media (max-width:1180px){
  .archive-modal.is-reconstructed-view .archive-detail-grid{
    height:auto;
    min-height:0;
    grid-template-columns:1fr;
  }

  .archive-modal.is-reconstructed-view .archive-image-frame,
  .archive-modal.is-reconstructed-view .archive-glitch-thumb{
    height:clamp(320px, 56vh, 620px);
  }

  .archive-modal.is-reconstructed-view .archive-file-meta{
    height:auto;
    max-height:none;
    overflow:visible;
  }
}

@media (max-width:980px){
  .archive-lightbox-head{
    top:14px;
    left:16px;
    right:16px;
  }

  .archive-lightbox-head h2{
    font-size:18px;
  }

  .archive-lightbox-body{
    padding:62px 0 24px;
  }

  .archive-lightbox-viewport{
    padding:0 14px;
  }

  .archive-lightbox-meta{
    top:62px;
    left:16px;
  }

  .archive-lightbox-viewport::after{
    right:16px;
    bottom:16px;
  }
}


/* === v1.9.240 archive preview real-fit + reconstructed split fix === */

/* Full preview: title + metadata align as one top-left UI stack. */
.archive-lightbox-head{
  top:26px;
  left:36px;
  right:36px;
}

.archive-lightbox-head h2{
  font-size:21px;
  font-weight:760;
  letter-spacing:.032em;
}

.archive-lightbox-meta{
  top:62px;
  left:36px;
  gap:3px;
}

/* Non-zoom full preview: explicit visible-height math.
   The image gets a real viewport max-height, so portrait images keep their bottom radius visible. */
.archive-lightbox-body{
  position:absolute;
  inset:0;
  height:100vh;
  padding:82px 0 34px;
  box-sizing:border-box;
  display:block;
  overflow:hidden;
}

.archive-lightbox-viewport{
  height:calc(100vh - 116px);
  min-height:0;
  box-sizing:border-box;
  padding:0 8vw;
  overflow:hidden;
}

.archive-lightbox-viewport:not(.is-zoomed) img{
  max-height:calc(100vh - 124px);
  max-width:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}

/* 1:1 inspection: use the whole visible window. UI chrome remains overlay/fixed. */
.archive-lightbox.is-zoomed .archive-lightbox-body{
  padding:0;
}

.archive-lightbox.is-zoomed .archive-lightbox-viewport{
  height:100vh;
  width:100vw;
  padding:0;
}

/* Keep the bottom-right inspection badge as fixed UI chrome. */
.archive-lightbox-viewport::after{
  position:fixed;
  right:30px;
  bottom:24px;
  z-index:40;
}

/* Thin silver scrollbars in inspection mode. */
.archive-lightbox-viewport.is-zoomed{
  scrollbar-width:thin;
  scrollbar-color:rgba(214,222,236,.78) rgba(255,255,255,.045);
}
.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar{
  width:6px;
  height:6px;
}
.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-track{
  background:rgba(255,255,255,.045);
  border-radius:999px;
}
.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(238,242,249,.86),rgba(147,158,181,.70));
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
}
.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-corner{
  background:transparent;
}

/* Reconstructed detail:
   Do not let the picture define the row height.
   The right metadata column defines the target height, and the image fits inside that chamber. */
.archive-modal.is-reconstructed-view .archive-detail{
  min-width:0;
  overflow-x:hidden;
}

.archive-modal.is-reconstructed-view .archive-detail-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  align-items:start;
  width:100%;
  min-width:0;
  height:auto;
  min-height:0;
}

.archive-modal.is-reconstructed-view .archive-image-frame,
.archive-modal.is-reconstructed-view .archive-glitch-thumb{
  width:100%;
  min-width:0;
  min-height:0;
  height:var(--archive-reconstructed-meta-height, auto);
  max-height:min(var(--archive-reconstructed-meta-height, 620px), calc(100vh - 330px));
  aspect-ratio:auto;
  align-self:start;
}

.archive-modal.is-reconstructed-view .archive-image-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  overflow:hidden;
  background:rgba(4,7,16,.72);
}

.archive-modal.is-reconstructed-view .archive-image-frame img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  border-radius:18px;
}

.archive-modal.is-reconstructed-view .archive-file-meta{
  min-width:0;
  min-height:0;
  height:auto;
  max-height:none;
  overflow:visible;
  padding-right:0;
}

.archive-modal.is-reconstructed-view .archive-meta-grid,
.archive-modal.is-reconstructed-view .archive-metadata-panel div{
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-width:0;
}

.archive-modal.is-reconstructed-view .archive-meta-grid > div,
.archive-modal.is-reconstructed-view .archive-metadata-panel span{
  min-width:0;
}

.archive-modal.is-reconstructed-view .archive-file-meta code,
.archive-modal.is-reconstructed-view .archive-file-meta strong,
.archive-modal.is-reconstructed-view .archive-file-meta p{
  min-width:0;
  overflow-wrap:anywhere;
}

/* Recovery Process: keep header isolated from zoomed media overflow. */
.archive-recovery-window{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.archive-recovery-head{
  flex:0 0 auto;
  position:relative;
  z-index:30;
}

.archive-recovery-body{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}

.archive-recovery-layout{
  height:100%;
  min-height:0;
  overflow:hidden;
}

.archive-recovery-media-shell,
.archive-recovery-stage{
  min-height:0;
  overflow:hidden;
}

.archive-recovery-media.is-zoomed{
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(214,222,236,.78) rgba(255,255,255,.045);
}
.archive-recovery-media.is-zoomed::-webkit-scrollbar{
  width:6px;
  height:6px;
}
.archive-recovery-media.is-zoomed::-webkit-scrollbar-track{
  background:rgba(255,255,255,.045);
  border-radius:999px;
}
.archive-recovery-media.is-zoomed::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(238,242,249,.86),rgba(147,158,181,.70));
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
}

.archive-recovery-inspection-hint{
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:20;
  pointer-events:none;
}

@media (max-width:1180px){
  .archive-modal.is-reconstructed-view .archive-detail-grid{
    grid-template-columns:1fr;
  }

  .archive-modal.is-reconstructed-view .archive-image-frame,
  .archive-modal.is-reconstructed-view .archive-glitch-thumb{
    height:clamp(320px, 58vh, 620px);
    max-height:clamp(320px, 58vh, 620px);
  }
}

@media (max-width:980px){
  .archive-lightbox-head{
    top:14px;
    left:16px;
    right:16px;
  }

  .archive-lightbox-head h2{
    font-size:18px;
  }

  .archive-lightbox-meta{
    top:52px;
    left:16px;
  }

  .archive-lightbox-body{
    padding:72px 0 24px;
  }

  .archive-lightbox-viewport{
    height:calc(100vh - 96px);
    padding:0 14px;
  }

  .archive-lightbox-viewport:not(.is-zoomed) img{
    max-height:calc(100vh - 104px);
  }

  .archive-lightbox.is-zoomed .archive-lightbox-viewport{
    height:100vh;
    padding:0;
  }

  .archive-lightbox-viewport::after{
    right:16px;
    bottom:16px;
  }
}


/* === v1.9.240 archive nomenclature + detail micro-fixes === */

/* Archive tab/filter counts should stay quiet, not bold. */
.archive-tabs button span,
.archive-filters button span,
.archive-filter-count,
.archive-list-count,
.archive-server-main em,
.archive-remote-status em{
  font-weight:400;
}

/* Recovery process image hint: small left-aligned chip, never stretched across the media. */
.archive-recovery-inspection-hint{
  left:16px;
  right:auto;
  bottom:16px;
  width:max-content;
  max-width:calc(100% - 32px);
  min-width:0;
  justify-content:flex-start;
  text-align:left;
  display:inline-flex;
  align-items:center;
}

/* Reconstructed text/unknown placeholder: keep the damaged-sector signal circular.
   Image frames still use the specific contain behaviour; glitch thumbs stay square. */
.archive-modal.is-reconstructed-view .archive-glitch-thumb{
  aspect-ratio:1 / 1;
  width:min(100%, 520px);
  height:auto;
  max-height:none;
  min-height:0;
  align-self:start;
  justify-self:center;
}

/* Keep the circular signal inside the square placeholder. */
.archive-modal.is-reconstructed-view .archive-glitch-thumb::before,
.archive-modal.is-reconstructed-view .archive-glitch-thumb::after{
  border-radius:999px;
}

/* Reconstructed images still match the metadata side; only placeholders are square. */
.archive-modal.is-reconstructed-view .archive-image-frame{
  height:var(--archive-reconstructed-meta-height, auto);
  max-height:min(var(--archive-reconstructed-meta-height, 620px), calc(100vh - 330px));
}

/* Slightly tighter technical modal headline. */
.archive-head h2{
  letter-spacing:.035em;
}

.archive-head span{
  max-width:720px;
}

/* Full preview top-left stack: keep title and metadata visually related. */
.archive-lightbox-head{
  left:36px;
}

.archive-lightbox-meta{
  left:36px;
}


/* Thin silver scrollbar across the modern UI. */
:root{
  scrollbar-width:thin;
  scrollbar-color:rgba(214,222,236,.72) rgba(255,255,255,.045);
}
body *{
  scrollbar-width:thin;
  scrollbar-color:rgba(214,222,236,.72) rgba(255,255,255,.045);
}
body *::-webkit-scrollbar{
  width:6px;
  height:6px;
}
body *::-webkit-scrollbar-track{
  background:rgba(255,255,255,.045);
  border-radius:999px;
}
body *::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(238,242,249,.86),rgba(147,158,181,.70));
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
}
body *::-webkit-scrollbar-corner{background:transparent;}

/* Archive modal technical naming. */
.archive-head p,
.archive-head h2,
.archive-head span{font-weight:700;}
.archive-head h2{font-size:30px;letter-spacing:.035em;}
.archive-head span{max-width:860px;}

/* Recovery image hint: compact, left-aligned chip; never stretched. */
.archive-recovery-inspection-hint{
  left:16px;
  right:auto;
  bottom:16px;
  width:max-content;
  max-width:calc(100% - 32px);
  min-width:0;
  display:inline-flex;
  justify-content:flex-start;
  text-align:left;
  align-items:center;
  align-self:flex-start;
}

/* Reconstructed detail: no stale fixed height, no dead space after removing image summary. */
.archive-modal.is-reconstructed-view .archive-detail-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  height:auto;
  min-height:0;
}
.archive-modal.is-reconstructed-view .archive-image-frame{
  height:auto;
  max-height:calc(100vh - 330px);
  min-height:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.archive-modal.is-reconstructed-view .archive-image-frame img{
  width:100%;
  height:auto;
  max-width:100%;
  max-height:calc(100vh - 330px);
  object-fit:contain;
  object-position:center center;
}
.archive-modal.is-reconstructed-view .archive-glitch-thumb{
  width:min(100%, 520px);
  height:auto;
  aspect-ratio:1 / 1;
  min-height:0;
  max-height:none;
  justify-self:center;
  align-self:start;
}
.archive-modal.is-reconstructed-view .archive-glitch-thumb > span{max-width:72%;}
.archive-modal.is-reconstructed-view .archive-file-meta{
  gap:12px;
  min-width:0;
  height:auto;
  max-height:none;
  overflow:visible;
}
.archive-modal.is-reconstructed-view .archive-file-meta code,
.archive-modal.is-reconstructed-view .archive-file-meta p,
.archive-modal.is-reconstructed-view .archive-file-meta strong{
  overflow-wrap:anywhere;
}

/* Full preview: softer title and non-bold metadata. */
.archive-lightbox-head h2{font-weight:700;}
.archive-lightbox-meta span,
.archive-lightbox-meta b{font-weight:400;}
.archive-lightbox-meta b{color:rgba(255,255,255,.82);}

@media (max-width:1180px){
  .archive-modal.is-reconstructed-view .archive-detail-grid{grid-template-columns:1fr;}
  .archive-modal.is-reconstructed-view .archive-image-frame,
  .archive-modal.is-reconstructed-view .archive-image-frame img{max-height:58vh;}
}


/* === v1.9.240 transparent zoom-scrollbar patch === */
/* In 1:1 inspection / drag modes, hide scrollbar tracks and arrows.
   Keep only the thumb visible so the chrome feels lighter. */
.archive-lightbox-viewport.is-zoomed,
.archive-recovery-media.is-zoomed{
  scrollbar-width:thin;
  scrollbar-color:rgba(232,238,248,.78) transparent;
}

.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar,
.archive-recovery-media.is-zoomed::-webkit-scrollbar{
  width:8px;
  height:8px;
  background:transparent;
}

.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-track,
.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-track-piece,
.archive-recovery-media.is-zoomed::-webkit-scrollbar-track,
.archive-recovery-media.is-zoomed::-webkit-scrollbar-track-piece{
  background:transparent;
  border:none;
  box-shadow:none;
}

.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-thumb,
.archive-recovery-media.is-zoomed::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(238,242,249,.88),rgba(147,158,181,.74));
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none;
}

.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-button,
.archive-recovery-media.is-zoomed::-webkit-scrollbar-button,
.archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-corner,
.archive-recovery-media.is-zoomed::-webkit-scrollbar-corner,
.archive-lightbox-viewport.is-zoomed::-webkit-resizer,
.archive-recovery-media.is-zoomed::-webkit-resizer{
  display:none;
  width:0;
  height:0;
  background:transparent;
}


/* === v1.9.240 chromium transparent zoom-scrollbar + archive note cleanup === */

/* Chrome / Chromium does not always honor Firefox scrollbar-color rules.
   Use explicit WebKit pseudo-elements on every zoomed image scroller. */
.archive-lightbox .archive-lightbox-viewport.is-zoomed,
.archive-recovery-modal .archive-recovery-media.is-zoomed,
.archive-recovery-modal .archive-recovery-media-shell .archive-recovery-media.is-zoomed{
  scrollbar-width:thin;
  scrollbar-color:rgba(232,238,248,.78) transparent;
  overflow:auto;
}

/* The scrollbar box itself must be transparent in Chromium. */
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar{
  width:8px;
  height:8px;
  background-color:transparent;
  background:transparent;
}

/* Track and track pieces: fully invisible. */
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-track,
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-track-piece,
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-track-piece:start,
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-track-piece:end,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-track,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-track-piece,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-track-piece:start,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-track-piece:end{
  background-color:transparent;
  background:transparent;
  border:0;
  box-shadow:none;
}

/* Thumb only: thin silver handle. */
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-thumb,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-thumb{
  background-color:rgba(210,219,234,.76);
  background-image:linear-gradient(180deg,rgba(245,248,252,.90),rgba(145,158,181,.72));
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:none;
  min-height:38px;
  min-width:38px;
}

/* Hide the old arrow buttons in Chrome. display:none alone is unreliable, so also zero-size them. */
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-button,
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-button:single-button,
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-button:vertical,
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-button:horizontal,
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-button:decrement,
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-button:increment,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-button,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-button:single-button,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-button:vertical,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-button:horizontal,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-button:decrement,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-button:increment{
  width:0;
  height:0;
  display:none;
  opacity:0;
  background:transparent;
  border:0;
}

/* Hide lower-right scrollbar corner and resize handle. */
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-scrollbar-corner,
.archive-lightbox .archive-lightbox-viewport.is-zoomed::-webkit-resizer,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-scrollbar-corner,
.archive-recovery-modal .archive-recovery-media.is-zoomed::-webkit-resizer{
  width:0;
  height:0;
  display:none;
  opacity:0;
  background:transparent;
  border:0;
}

/* Remove the archive detail Selair-note chamber everywhere in case old markup is cached. */
.archive-selair-note{
  display:none;
}


/* === v1.9.240 modal header simplification + typography cleanup === */

/* Global button rhythm fix */
button{
  line-height:1;
}

/* Two-line modal headers: p/kicker is the headline; h2 line is gone. */
.archive-head h2,
.notebook-head h2,
.archive-recovery-head h2,
.ithrael-upload-head h2{
  display:none;
}

.archive-head .archive-kicker,
.notebook-head .notebook-kicker,
.archive-recovery-head p,
.ithrael-upload-head p{
  margin:0 0 6px;
  color:#ffffff;
  font-size:30px;
  line-height:1.08;
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.notebook-head .notebook-kicker{
  letter-spacing:.035em;
}

.archive-head span,
.notebook-head span,
.archive-recovery-head span,
.ithrael-upload-head span{
  display:block;
  margin:0;
  color:#bfd0ef;
  font-size:14px;
  line-height:1.35;
  font-weight:400;
}

/* Buttons/tabs may be semibold, but their numeric counters should be regular. */
.archive-tabs button,
.archive-filters button,
.notebook-type-filters button,
.archive-layout-switch button,
.archive-action,
button.archive-action{
  font-weight:700;
}

.archive-tabs button span,
.archive-filters button span,
.notebook-type-filters button span,
.archive-filter-count,
.archive-list-count,
.pill-count,
[data-count]{
  font-weight:400;
}

/* Archive detail labels / inspection chips: no border, calmer type. */
.archive-image-frame::after,
.archive-lightbox-viewport::after,
.archive-recovery-inspection-hint{
  border:0;
  font-weight:400;
  letter-spacing:.14em;
  box-shadow:none;
}

.archive-image-frame::after{
  background:rgba(4,8,18,.58);
  color:rgba(255,226,155,.92);
}

/* Remove summary paragraphs in reconstructed/trash detail even if cached markup exists. */
.archive-modal.is-reconstructed-view .archive-file-meta > p,
.archive-modal.is-trash-view .archive-file-meta > p{
  display:none;
}

/* Modern UI scrollbars: thin silver thumb, transparent track, no arrows/corners. */
.app-shell,
.app-shell *,
.archive-modal,
.archive-modal *,
.notebook-modal,
.notebook-modal *,
.archive-recovery-modal,
.archive-recovery-modal *,
.ithrael-upload-modal,
.ithrael-upload-modal *,
.selair-channel,
.selair-channel *{
  scrollbar-width:thin;
  scrollbar-color:rgba(216,224,238,.78) transparent;
}

.app-shell *::-webkit-scrollbar,
.archive-modal *::-webkit-scrollbar,
.notebook-modal *::-webkit-scrollbar,
.archive-recovery-modal *::-webkit-scrollbar,
.ithrael-upload-modal *::-webkit-scrollbar,
.selair-channel *::-webkit-scrollbar{
  width:6px;
  height:6px;
  background:transparent;
}

.app-shell *::-webkit-scrollbar-track,
.app-shell *::-webkit-scrollbar-track-piece,
.archive-modal *::-webkit-scrollbar-track,
.archive-modal *::-webkit-scrollbar-track-piece,
.notebook-modal *::-webkit-scrollbar-track,
.notebook-modal *::-webkit-scrollbar-track-piece,
.archive-recovery-modal *::-webkit-scrollbar-track,
.archive-recovery-modal *::-webkit-scrollbar-track-piece,
.ithrael-upload-modal *::-webkit-scrollbar-track,
.ithrael-upload-modal *::-webkit-scrollbar-track-piece,
.selair-channel *::-webkit-scrollbar-track,
.selair-channel *::-webkit-scrollbar-track-piece{
  background:transparent;
  border:0;
  box-shadow:none;
}

.app-shell *::-webkit-scrollbar-thumb,
.archive-modal *::-webkit-scrollbar-thumb,
.notebook-modal *::-webkit-scrollbar-thumb,
.archive-recovery-modal *::-webkit-scrollbar-thumb,
.ithrael-upload-modal *::-webkit-scrollbar-thumb,
.selair-channel *::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(245,248,252,.88),rgba(146,158,181,.70));
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none;
}

.app-shell *::-webkit-scrollbar-button,
.archive-modal *::-webkit-scrollbar-button,
.notebook-modal *::-webkit-scrollbar-button,
.archive-recovery-modal *::-webkit-scrollbar-button,
.ithrael-upload-modal *::-webkit-scrollbar-button,
.selair-channel *::-webkit-scrollbar-button,
.app-shell *::-webkit-scrollbar-corner,
.archive-modal *::-webkit-scrollbar-corner,
.notebook-modal *::-webkit-scrollbar-corner,
.archive-recovery-modal *::-webkit-scrollbar-corner,
.ithrael-upload-modal *::-webkit-scrollbar-corner,
.selair-channel *::-webkit-scrollbar-corner,
.app-shell *::-webkit-resizer,
.archive-modal *::-webkit-resizer,
.notebook-modal *::-webkit-resizer,
.archive-recovery-modal *::-webkit-resizer,
.ithrael-upload-modal *::-webkit-resizer,
.selair-channel *::-webkit-resizer{
  display:none;
  width:0;
  height:0;
  background:transparent;
  border:0;
}

/* Keep the repeated per-file Selair note gone. */
.archive-selair-note{
  display:none;
}

@media (max-width:980px){
  .archive-head .archive-kicker,
  .notebook-head .notebook-kicker,
  .archive-recovery-head p,
  .ithrael-upload-head p{
    font-size:22px;
  }
}


/* === v1.9.240 I.T.H.R.A.E.L. recovery game foundation === */
.archive-game-panel{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:minmax(150px,.65fr) minmax(220px,1fr) minmax(320px,1.6fr) minmax(150px,.7fr);
  gap:10px;
  margin:0 16px 16px;
  padding:10px;
  border:1px solid rgba(142,159,201,.14);
  border-radius:20px;
  background:
    radial-gradient(circle at 8% 20%,rgba(245,199,92,.08),transparent 32%),
    radial-gradient(circle at 80% 30%,rgba(167,120,255,.08),transparent 30%),
    rgba(4,8,18,.58);
}

.ithrael-game-card{
  min-width:0;
  display:grid;
  align-content:center;
  gap:6px;
  padding:10px 12px;
  border:1px solid rgba(142,159,201,.12);
  border-radius:16px;
  background:rgba(8,12,24,.62);
}

.ithrael-game-card p{
  margin:0;
  color:#9fb0d1;
  font-size:10px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:400;
}

.ithrael-game-card strong{
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:700;
}

.ithrael-game-card span,
.ithrael-game-card em{
  min-width:0;
  color:#bac8e8;
  font-size:11px;
  line-height:1.25;
  font-style:normal;
  font-weight:400;
}

.kobliha-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:7px;
  filter:drop-shadow(0 0 8px rgba(245,128,210,.24));
}

.ithrael-kobliha-reward{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#ffe29b;
}

.ithrael-kobliha-reward.is-muted{
  color:#9fb0d1;
}

.ithrael-game-line{
  display:flex;
  align-items:baseline;
  gap:6px;
}

.ithrael-game-line strong{
  font-size:16px;
}

.ithrael-game-line em{
  margin-left:auto;
  color:#ffe29b;
}

.ithrael-sector-progress{
  position:relative;
  overflow:hidden;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
}

.ithrael-sector-progress i{
  display:block;
  width:var(--sector-progress,0%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#f5c75c,#ffdfe8,#a778ff);
  box-shadow:0 0 14px rgba(245,199,92,.22);
}

.ithrael-story-scale{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#7f8dad;
  font-size:10px;
}

.ithrael-story-track{
  position:relative;
  height:18px;
  border-radius:999px;
  background:
    linear-gradient(90deg,rgba(245,199,92,.16),rgba(167,120,255,.14)),
    rgba(255,255,255,.04);
  box-shadow:0 0 0 1px rgba(142,159,201,.10) inset;
}

.ithrael-story-marker{
  position:absolute;
  top:50%;
  left:var(--story-pos,50%);
  width:4px;
  height:18px;
  padding:0;
  border:0;
  border-radius:999px;
  background:var(--story-color,#ffe29b);
  box-shadow:0 0 10px color-mix(in srgb,var(--story-color,#ffe29b) 55%,transparent);
  transform:translate(-50%,-50%);
  cursor:pointer;
}

.ithrael-story-empty{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#7f8dad;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ithrael-game-card.is-unlock{
  border-color:rgba(245,199,92,.18);
}

.ithrael-game-card.is-unlock.can-unlock{
  border-color:rgba(245,199,92,.42);
  background:linear-gradient(180deg,rgba(245,199,92,.10),rgba(8,12,24,.62));
}

.archive-window{
  container-type:inline-size;
}

@container (max-width: 1180px){
  .archive-game-panel{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:980px){
  .archive-game-panel{
    grid-template-columns:1fr;
  }
}


/* === v1.9.240 archive reward layout === */
.fullscreen-prompt{
  top:53%;
}

.help-trigger{
  position:relative;
}

.help-trigger.has-unlocks span{
  margin-left:8px;
  font-weight:400;
  opacity:.78;
}

.archive-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:12px 16px 0;
}

.archive-topbar .archive-tabs{
  margin:0;
  flex:1 1 auto;
}




.archive-sector-panel{
  margin:10px 0 14px;
  padding:12px 14px;
  border:1px solid rgba(142,159,201,.12);
  border-radius:18px;
  background:rgba(7,11,22,.62);
}

.archive-sector-panel.hidden{
  display:none;
}

.archive-sector-panel-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.archive-sector-panel-head p{
  margin:0;
  color:#a9b7d5;
  font-size:11px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.archive-sector-panel-head strong{
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:700;
}

.archive-sector-panel-head strong span{
  color:#9fb0d1;
  font-size:14px;
  font-weight:400;
}

.archive-sector-panel-head em{
  margin-left:auto;
  color:#ffe29b;
  font-size:16px;
  font-style:normal;
  line-height:1;
}

.archive-sector-progress{
  position:relative;
  overflow:hidden;
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  box-shadow:0 0 0 1px rgba(142,159,201,.08) inset;
}

.archive-sector-progress b{
  display:block;
  width:var(--sector-progress,0%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#f5c75c,#ffdfe8,#a778ff);
  box-shadow:0 0 14px rgba(245,199,92,.24);
}

.archive-sector-marker{
  position:absolute;
  top:50%;
  left:var(--sector-marker-pos,0%);
  width:4px;
  height:12px;
  border-radius:999px;
  background:var(--sector-marker-color,#6fa7ff);
  transform:translate(-50%,-50%);
  box-shadow:0 0 8px color-mix(in srgb,var(--sector-marker-color,#6fa7ff) 55%, transparent);
}

.archive-game-panel{
  margin:0 16px 16px;
  padding:12px 14px 14px;
  border:1px solid rgba(142,159,201,.14);
  border-radius:20px;
  background:
    radial-gradient(circle at 10% 20%,rgba(245,199,92,.08),transparent 28%),
    radial-gradient(circle at 85% 18%,rgba(167,120,255,.08),transparent 28%),
    rgba(4,8,18,.6);
}

.ithrael-chronology-card{
  display:grid;
  gap:10px;
}

.ithrael-chronology-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.ithrael-chronology-head p{
  margin:0;
  color:#dfe7ff;
  font-size:12px;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
}

.ithrael-chronology-head span{
  color:#9fb0d1;
  font-size:11px;
  line-height:1.25;
}

.ithrael-chronology-scale{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.ithrael-chronology-segment{
  display:grid;
  gap:2px;
  padding:0 4px;
}

.ithrael-chronology-segment strong{
  color:#fff;
  font-size:12px;
  line-height:1.15;
  font-weight:700;
}

.ithrael-chronology-segment span{
  color:#93a2c3;
  font-size:11px;
  line-height:1.15;
}

.ithrael-story-track{
  position:relative;
  overflow:hidden;
  height:26px;
  border-radius:999px;
  background:
    linear-gradient(90deg,
      rgba(245,199,92,.14) 0% 25%,
      rgba(115,213,255,.10) 25% 50%,
      rgba(167,120,255,.10) 50% 75%,
      rgba(255,158,208,.10) 75% 100%),
    rgba(255,255,255,.04);
  box-shadow:0 0 0 1px rgba(142,159,201,.10) inset;
}

.ithrael-story-track::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 24.8%, rgba(255,255,255,.08) 25%, transparent 25.2%, transparent 49.8%, rgba(255,255,255,.08) 50%, transparent 50.2%, transparent 74.8%, rgba(255,255,255,.08) 75%, transparent 75.2%);
  pointer-events:none;
}

.ithrael-story-marker{
  position:absolute;
  top:50%;
  left:var(--story-pos,50%);
  width:4px;
  height:26px;
  padding:0;
  border:0;
  border-radius:999px;
  background:var(--story-color,#ffe29b);
  box-shadow:0 0 10px color-mix(in srgb,var(--story-color,#ffe29b) 55%,transparent);
  transform:translate(-50%,-50%);
  cursor:pointer;
}

.ithrael-story-empty{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#93a2c3;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.app-toast-stack{
  position:fixed;
  left:50%;
  bottom:22px;
  z-index:230;
  display:grid;
  gap:8px;
  transform:translateX(-50%);
  pointer-events:none;
}

.app-toast{
  min-width:280px;
  max-width:min(560px, calc(100vw - 32px));
  padding:14px 18px;
  border:1px solid rgba(255,224,155,.25);
  border-radius:18px;
  background:rgba(6,10,20,.92);
  color:#f7fbff;
  box-shadow:0 16px 40px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.02) inset;
  opacity:0;
  transform:translateY(22px) scale(.96);
  transition:transform .28s ease, opacity .28s ease, box-shadow .28s ease;
}

.app-toast.is-reward{
  border-color:rgba(245,199,92,.34);
  box-shadow:0 16px 40px rgba(0,0,0,.42), 0 0 24px rgba(245,199,92,.18);
}

.app-toast.is-unlock{
  border-color:rgba(167,120,255,.34);
  box-shadow:0 16px 40px rgba(0,0,0,.42), 0 0 24px rgba(167,120,255,.18);
}

.app-toast.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

.help-modal{
  position:fixed;
  inset:0;
  z-index:190;
  display:grid;
  place-items:center;
}

.help-modal.hidden{
  display:none;
}

.help-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,7,14,.56);
  backdrop-filter:blur(18px);
}

.help-window{
  position:relative;
  width:min(920px, calc(100vw - 32px));
  max-height:min(80vh, 860px);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto 1fr;
  border:1px solid rgba(108,123,177,.32);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(15,22,44,.96), rgba(4,8,18,.96));
  box-shadow:0 22px 70px rgba(0,0,0,.5);
}

.help-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px 16px;
  border-bottom:1px solid rgba(142,159,201,.14);
}

.help-kicker{
  margin:0;
  color:#e7d6a2;
  font-size:24px;
  line-height:1;
  font-weight:700;
  letter-spacing:.04em;
}

.help-head span{
  display:block;
  margin-top:8px;
  color:#9fb0d1;
  font-size:13px;
  line-height:1.35;
}

.help-head button{
  flex:0 0 auto;
}

.help-shell{
  overflow:auto;
  display:grid;
  gap:14px;
  padding:18px 22px 22px;
}

.help-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border:1px solid rgba(142,159,201,.14);
  border-radius:18px;
  background:rgba(8,12,24,.62);
}

.help-status strong{
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:700;
}

.help-status span{
  color:#a9b7d5;
  font-size:13px;
  line-height:1.35;
}

.help-list{
  display:grid;
  gap:12px;
}

.help-card{
  display:grid;
  gap:10px;
  padding:16px;
  border:1px solid rgba(142,159,201,.12);
  border-radius:18px;
  background:rgba(8,12,24,.54);
}

.help-card.is-unlocked{
  border-color:rgba(88,217,138,.22);
  background:linear-gradient(180deg, rgba(88,217,138,.05), rgba(8,12,24,.58));
}

.help-card.is-locked{
  opacity:.82;
}

.help-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.help-card-top p{
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:1.2;
  font-weight:700;
}

.help-card-top span{
  flex:0 0 auto;
  color:#ffe29b;
  font-size:11px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.help-card strong{
  color:#9fdab6;
  font-size:12px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
}

.help-card.is-locked strong{
  color:#9fb0d1;
}

.help-card-copy{
  color:#d6deef;
  font-size:14px;
  line-height:1.45;
}

@media (max-width: 920px){
  .archive-topbar{
    flex-direction:column;
    align-items:stretch;
  }

  .archive-wallet{
    width:100%;
  }

  .ithrael-chronology-head,
  .help-status{
    grid-template-columns:1fr;
    display:grid;
  }

  .ithrael-chronology-scale{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .ithrael-chronology-scale{
    grid-template-columns:1fr;
  }

  .app-toast{
    min-width:0;
  }
}


/* === v1.9.240 recovery metrics + chronology width fix === */

/* The v1.9.240 panel used a multi-column card grid. v1.9.240 changed the
   contents to one chronology module, so explicitly reset the old grid layout. */
.archive-game-panel{
  display:block;
  grid-template-columns:none;
  width:auto;
}

.ithrael-chronology-card{
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:1fr;
}

.ithrael-chronology-head{
  width:100%;
}

.ithrael-chronology-scale,
.ithrael-story-track{
  width:100%;
}

/* Compact wallet: visible label removed, title/aria keep the meaning. */



/* Make the sector metric read as recovered/visible progress, not raw seed count. */
.archive-sector-panel-head strong span{
  font-size:12px;
  letter-spacing:.03em;
}

/* Keep Help button visually consistent when the missed HTML button is present. */
.help-trigger{
  min-height:38px;
}


/* === v1.9.240 progression unlock architecture + reward polish === */

/* Display mode check belongs lower inside the CRT frame. */
.secret-gate .fullscreen-prompt{
  top:62%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(620px, calc(100% - 56px));
}

/* Progression-gated topbar actions: truly invisible until unlocked. */
.notebook-trigger.is-progression-locked,
.playlist-link.is-progression-locked,
.help-trigger{
  display:none;
}

.notebook-trigger{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.notebook-unlock-badge{
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#73ffb2;
  color:#03110a;
  font-size:11px;
  line-height:1;
  font-weight:700;
  box-shadow:0 0 0 1px rgba(255,255,255,.22), 0 0 18px rgba(115,255,178,.62);
  animation:notebookBadgePulse 1.8s ease-in-out infinite;
}

@keyframes notebookBadgePulse{
  0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.22), 0 0 14px rgba(115,255,178,.46); transform:scale(1);}
  50%{box-shadow:0 0 0 1px rgba(255,255,255,.38), 0 0 30px rgba(115,255,178,.92); transform:scale(1.08);}
}

/* Reward toasts need to feel like a reward, not a footnote. */
.app-toast-stack{
  z-index:12000;
  bottom:34px;
}

.app-toast{
  min-width:360px;
  padding:17px 24px;
  border-radius:22px;
  text-align:center;
  font-size:16px;
  font-weight:700;
  letter-spacing:.025em;
  background:
    radial-gradient(circle at 50% 0%,rgba(245,199,92,.28),transparent 60%),
    rgba(6,10,20,.96);
  transform:translateY(34px) scale(.92);
  box-shadow:0 24px 70px rgba(0,0,0,.58), 0 0 0 1px rgba(255,255,255,.04) inset;
}

.app-toast.is-reward{
  color:#fff4c2;
  border-color:rgba(245,199,92,.72);
  box-shadow:0 24px 70px rgba(0,0,0,.58), 0 0 36px rgba(245,199,92,.45), 0 0 90px rgba(245,128,210,.18);
}

.app-toast.is-unlock,
.app-toast.is-unlock-major{
  color:#eafff2;
  border-color:rgba(115,255,178,.7);
  background:
    radial-gradient(circle at 50% 0%,rgba(115,255,178,.28),transparent 60%),
    radial-gradient(circle at 15% 100%,rgba(167,120,255,.22),transparent 52%),
    rgba(6,10,20,.96);
  box-shadow:0 24px 70px rgba(0,0,0,.58), 0 0 38px rgba(115,255,178,.42), 0 0 100px rgba(167,120,255,.20);
}

.app-toast.is-unlock-major{
  min-width:420px;
  font-size:18px;
  text-transform:uppercase;
  letter-spacing:.075em;
}

.app-toast.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  animation:rewardToastFlare 1.25s ease both;
}

@keyframes rewardToastFlare{
  0%{filter:brightness(.75);}
  22%{filter:brightness(1.9); transform:translateY(-6px) scale(1.035);}
  100%{filter:brightness(1); transform:translateY(0) scale(1);}
}

/* Help modal is retired; hints now live in Adam's Notebook. */
.help-modal{display:none;}


/* === v1.9.240 notebook unread hints + quick capture toggle === */
.secret-gate .fullscreen-prompt{
  top:68%;
}

.notebook-head-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.notebook-capture-toggle{
  min-height:38px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(245,199,92,.22);
  background:linear-gradient(180deg,rgba(245,199,92,.12),rgba(8,12,24,.72));
  color:#ffe8ad;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 0 18px rgba(245,199,92,.08);
}

.notebook-capture-toggle:hover,
.notebook-capture-toggle:focus{
  border-color:rgba(245,199,92,.48);
  box-shadow:0 0 24px rgba(245,199,92,.16);
}

.notebook-modal:not(.is-capture-open) .notebook-shell{
  grid-template-columns:300px minmax(520px,1fr);
}

.notebook-modal:not(.is-capture-open) .notebook-lab{
  display:none;
}

.notebook-modal.is-capture-open .notebook-shell{
  grid-template-columns:280px minmax(360px,1fr) 320px;
}

.notebook-entry.is-unread{
  border-color:rgba(115,255,178,.46);
  box-shadow:0 0 0 1px rgba(115,255,178,.12) inset, 0 0 26px rgba(115,255,178,.18), 0 0 42px rgba(245,199,92,.10);
  animation:notebookUnreadGlow 1.9s ease-in-out infinite;
}

.notebook-entry.is-unread strong{
  color:#ffffff;
}

@keyframes notebookUnreadGlow{
  0%,100%{ box-shadow:0 0 0 1px rgba(115,255,178,.10) inset, 0 0 18px rgba(115,255,178,.16), 0 0 34px rgba(245,199,92,.08); }
  50%{ box-shadow:0 0 0 1px rgba(115,255,178,.20) inset, 0 0 30px rgba(115,255,178,.26), 0 0 52px rgba(245,199,92,.16); }
}

.notebook-shortcut-hero{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 20px;
}

.notebook-shortcut-hero span{
  color:#ffe29b;
  font-size:20px;
  font-weight:700;
  line-height:1;
}

.notebook-shortcut-hero kbd{
  min-width:74px;
  padding:12px 18px;
  border-radius:14px;
  border:1px solid rgba(245,199,92,.62);
  background:
    linear-gradient(180deg,rgba(255,220,128,.18),rgba(255,179,67,.08)),
    rgba(10,14,28,.94);
  color:#ffffff;
  font-family:inherit;
  font-size:24px;
  font-weight:800;
  line-height:1;
  text-align:center;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 8px 24px rgba(0,0,0,.34),
    0 0 24px rgba(245,199,92,.20);
}

.notebook-shortcut-hero kbd:first-child{
  min-width:92px;
}

@media (max-width: 1080px){
  .notebook-modal:not(.is-capture-open) .notebook-shell,
  .notebook-modal.is-capture-open .notebook-shell{
    grid-template-columns:1fr;
  }
  .notebook-modal:not(.is-capture-open) .notebook-lab{
    display:none;
  }
  .notebook-modal.is-capture-open .notebook-lab{
    display:block;
  }
}


/* === v1.9.240 version labeling export marker ===
   Build: A.N.G.O.L. / Selair Cycle Engine v1.9.240
   Patch: Data-Driven Archive Patch
   Date: 2026-07-10
*/


/* === v1.9.240 archive repair + naming foundation === */
.archive-topbar{
  align-items:stretch;
}

.archive-topbar .archive-tabs{
  display:flex;
  align-items:stretch;
}

.archive-tabs button,





.archive-selection-actions-row .archive-user-action.is-primary{
  text-transform:uppercase;
  letter-spacing:.08em;
}

.archive-repair-panel,
.archive-guess-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(142,159,201,.16);
  background:rgba(255,255,255,.025);
}

.archive-repair-panel{
  border-color:rgba(245,199,92,.24);
  background:linear-gradient(180deg, rgba(245,199,92,.05), rgba(255,255,255,.02));
}

.archive-repair-panel.is-repaired{
  border-color:rgba(88,217,138,.26);
  background:linear-gradient(180deg, rgba(88,217,138,.06), rgba(255,255,255,.02));
}

.archive-repair-copy,
.archive-guess-head{
  display:grid;
  gap:6px;
}

.archive-repair-copy p,
.archive-guess-head p{
  margin:0;
  color:#9fb0d1;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.archive-repair-copy strong,
.archive-guess-head strong{
  color:#fff;
  font-size:16px;
  line-height:1.2;
}

.archive-repair-copy span,
.archive-guess-note{
  color:#c8d4ef;
  font-size:13px;
  line-height:1.45;
}

.archive-repair-state,
.archive-guess-success{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid rgba(88,217,138,.24);
  background:rgba(88,217,138,.10);
  color:#d9ffe4;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

.archive-guess-panel{
  display:grid;
  gap:10px;
}

.archive-guess-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}

.archive-guess-input{
  min-height:42px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(4,8,18,.75);
  color:#fff;
  font:inherit;
}

.archive-guess-input:focus{
  outline:none;
  border-color:rgba(245,199,92,.44);
  box-shadow:0 0 0 1px rgba(245,199,92,.24);
}

@media (max-width:980px){
  .archive-repair-panel,
  .archive-guess-row{
    grid-template-columns:1fr;
  }
}


/* === v1.9.240 archive chronology slot + character filters patch === */
.archive-topbar .archive-tabs{
  padding:0;
}





.archive-entity-filter{
  display:grid;
  gap:8px;
  flex:1 1 100%;
  padding-top:4px;
}

.archive-entity-filter label{
  color:#93a2c3;
  font-size:10px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.archive-entity-filter input{
  width:100%;
  min-height:34px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.76);
  color:#eef3ff;
}

.archive-entity-filter input:focus{
  outline:none;
  border-color:rgba(111,167,255,.55);
  box-shadow:0 0 0 1px rgba(111,167,255,.22);
}

.archive-entity-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.archive-sector-progress,
.ithrael-story-track{
  position:relative;
}

.archive-sector-marker{
  position:absolute;
  top:50%;
  left:var(--sector-marker-left,0%);
  width:var(--sector-marker-width,4%);
  min-width:4px;
  height:12px;
  border-radius:999px;
  background:var(--sector-marker-color,#6fa7ff);
  transform:translateY(-50%);
  box-shadow:0 0 8px color-mix(in srgb,var(--sector-marker-color,#6fa7ff) 40%, transparent);
}

.archive-sector-marker.is-pending{
  opacity:.55;
  box-shadow:none;
}

.archive-sector-marker.is-trash{
  opacity:.38;
}

.ithrael-story-marker{
  position:absolute;
  top:50%;
  left:var(--story-left,0%);
  width:var(--story-width,4%);
  min-width:4px;
  height:26px;
  padding:0;
  border:0;
  border-radius:999px;
  background:var(--story-color,#ffe29b);
  box-shadow:0 0 10px color-mix(in srgb,var(--story-color,#ffe29b) 55%,transparent);
  transform:translateY(-50%);
  cursor:pointer;
}


/* === v1.9.240 chronology inventory + stable hover/click patch === */
.ithrael-chronology-scale{
  display:none;
}

.ithrael-story-track.is-inventory{
  height:28px;
}

.ithrael-story-marker,
.archive-sector-marker{
  transform:translateY(-50%);
  transition:
    box-shadow .16s ease,
    filter .16s ease,
    opacity .16s ease,
    background .16s ease;
}

.ithrael-story-marker:hover,
.ithrael-story-marker:focus-visible,
.archive-sector-marker:hover,
.archive-sector-marker:focus-visible{
  transform:translateY(-50%);
  filter:brightness(1.18);
  z-index:3;
}

.ithrael-story-marker.is-corrupted,
.archive-sector-marker.is-pending{
  opacity:.48;
  background:
    linear-gradient(135deg, rgba(255,255,255,.11) 0 25%, transparent 25% 50%, rgba(255,255,255,.11) 50% 75%, transparent 75% 100%),
    rgba(255,255,255,.055);
  background-size:8px 8px;
  box-shadow:0 0 0 1px rgba(255,255,255,.07) inset;
}

.ithrael-story-marker.is-trash,
.archive-sector-marker.is-trash{
  opacity:.42;
  background:rgba(125,135,156,.32);
  box-shadow:0 0 0 1px rgba(125,135,156,.18) inset;
}

.ithrael-story-marker.is-reconstructed,
.archive-sector-marker.is-recovered{
  opacity:1;
}

.ithrael-story-marker.is-selected,
.archive-sector-marker.is-selected{
  opacity:1;
  box-shadow:
    0 0 0 1px rgba(255,226,155,.55) inset,
    0 0 18px rgba(255,226,155,.36),
    0 0 34px color-mix(in srgb,var(--story-color,var(--sector-marker-color,#6fa7ff)) 42%, transparent);
}

.archive-sector-marker{
  border:0;
  padding:0;
  cursor:pointer;
}

.archive-file-meta code{
  word-break:break-all;
}


/* === v1.9.240 wallet cleanup + repaired state + defrag pass foundation === */




.archive-entry.is-repaired{
  border-color:rgba(88,217,138,.46);
  box-shadow:0 0 0 1px rgba(88,217,138,.12) inset, 0 0 24px rgba(88,217,138,.10);
}

.archive-entry.is-repaired em{
  color:#9ff2bd;
}

.archive-detail-top.is-repaired span{
  border-color:rgba(88,217,138,.74);
  background:rgba(88,217,138,.14);
  color:#d9ffe4;
}

.archive-detail-top.is-repaired + .archive-detail-grid .archive-image-frame{
  border-color:rgba(88,217,138,.36);
  box-shadow:0 0 0 1px rgba(88,217,138,.08), 0 0 30px rgba(88,217,138,.10);
}

.archive-sector-panel-head p::after{
  content:'';
  color:#7f8dad;
  font-weight:400;
  letter-spacing:.08em;
}

.archive-sector-marker.is-empty{
  position:absolute;
  top:50%;
  left:var(--sector-marker-left,0%);
  width:var(--sector-marker-width,8.333%);
  min-width:3px;
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  transform:translateY(-50%);
  box-shadow:0 0 0 1px rgba(255,255,255,.045) inset;
  opacity:.55;
}


/* === v1.9.240 metadata notes + clean wallet/topbar defrag === */
.archive-topbar{
  align-items:stretch;
}

.archive-tabs{
  min-width:0;
}

.archive-defrag-badge,
.archive-wallet{
  flex:0 0 auto;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  border:1px solid rgba(142,159,201,.16);
  border-radius:14px;
  background:rgba(8,12,24,.66);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
  color:#eef3ff;
}

.archive-defrag-badge{
  gap:8px;
  padding:0 13px;
  white-space:nowrap;
}

.archive-defrag-badge span{
  color:#9fb0d1;
  font-size:10px;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.archive-defrag-badge strong{
  color:#ffe29b;
  font-size:14px;
  line-height:1;
  font-weight:800;
}

.archive-wallet{
  gap:0;
  min-width:72px;
  padding:0 12px 0 14px;
}

.archive-wallet strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
}

.archive-wallet-balance{
  display:inline-block;
  transform:translateY(.5px);
}

.archive-wallet .kobliha-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  font-size:18px;
  line-height:1;
  transform:translateY(.5px);
  filter:drop-shadow(0 0 8px rgba(245,128,210,.28));
}

.archive-metadata-panel > div{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.archive-fragment-note{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.archive-fragment-note span{
  color:#9fb0d1;
  font-size:10px;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:700;
}

.archive-fragment-note textarea{
  width:100%;
  min-height:96px;
  resize:vertical;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.16);
  background:rgba(4,8,18,.72);
  color:#eef3ff;
  font:inherit;
  line-height:1.45;
}

.archive-fragment-note textarea:focus{
  outline:none;
  border-color:rgba(245,199,92,.46);
  box-shadow:0 0 0 1px rgba(245,199,92,.18), 0 0 24px rgba(245,199,92,.10);
}

@media (max-width:920px){
  .archive-defrag-badge{
    order:2;
  }
  .archive-wallet{
    order:3;
  }
}


/* === v1.9.240 defrag batch rework === */
.archive-sector-progress.is-simple{
  overflow:hidden;
}

.archive-sector-progress.is-simple b{
  display:block;
  width:var(--sector-progress,0%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#f5c75c,#ffdfe8,#a778ff,#6fa7ff);
  box-shadow:0 0 16px rgba(245,199,92,.22);
}

.archive-sector-progress.is-simple .archive-sector-marker{
  display:none;
}

.archive-sector-panel-head p span{
  color:#8f9fc4;
  font-weight:400;
  letter-spacing:.08em;
}


/* === v1.9.240 archive naming + metadata layout cleanup === */
.archive-meta-grid span{
  margin-bottom:0;
}

.archive-metadata-panel{
  margin-top:14px;
  padding:14px 0 0;
  border:0;
  border-top:1px solid rgba(142,159,201,.16);
  border-radius:0;
  background:transparent;
}

.archive-metadata-panel p,
.archive-fragment-note span{
  display:block;
  margin:0 0 10px;
  color:#9fb0d1;
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.archive-metadata-panel > div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.archive-metadata-panel > div > span{
  display:block;
  min-width:0;
  padding:10px;
  border-radius:14px;
  background:rgba(4,8,18,.64);
  border:1px solid rgba(142,159,201,.12);
}

.archive-metadata-panel em{
  display:block;
  margin:0;
  color:#9fb0d1;
  font-style:normal;
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.archive-metadata-panel strong{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:13px;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

.archive-fragment-note{
  display:grid;
  gap:10px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(142,159,201,.16);
}

.archive-fragment-note textarea{
  min-height:96px;
  border-radius:14px;
  background:rgba(4,8,18,.72);
}

.archive-sector-panel-head p::after{
  content:none;
}

.archive-entry.is-repaired span,
.archive-entry.is-repaired em{
  color:#9ff2bd;
}


/* === v1.9.240 compact archive progress layout === */
.archive-topbar{
  display:flex;
  align-items:stretch;
  gap:8px;
}

.archive-topbar .archive-tabs{
  flex:0 0 auto;
  align-items:stretch;
  min-width:auto;
}

.archive-defrag-badge{
  flex:1 1 360px;
  min-width:260px;
  min-height:42px;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  align-self:stretch;
}

.archive-pass-progress{
  position:relative;
  width:100%;
  height:42px;
  min-height:42px;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.16);
  background:rgba(8,12,24,.66);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
}

.archive-pass-progress b{
  position:absolute;
  inset:0 auto 0 0;
  width:var(--pass-progress,0%);
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#f5c75c 0%,#ffe0ed 34%,#a778ff 66%,#6fa7ff 100%);
  box-shadow:0 0 18px rgba(111,167,255,.22);
  opacity:.95;
}

.archive-pass-copy{
  position:relative;
  z-index:1;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  padding:0 12px;
  color:#eef3ff;
}

.archive-pass-copy span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#c7d4ef;
  font-size:10px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.archive-pass-copy strong{
  color:#fff;
  font-size:18px;
  line-height:1;
  letter-spacing:.02em;
  white-space:nowrap;
}

.archive-pass-copy em{
  color:#ffe29b;
  font-style:normal;
  font-size:14px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.archive-wallet{
  flex:0 0 auto;
  align-self:stretch;
}

.archive-sector-panel{
  display:none;
}

.archive-game-panel{
  margin:6px 14px 10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.ithrael-chronology-card{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:grid;
  gap:4px;
}

.ithrael-chronology-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:14px;
  margin:0;
  padding:0;
}

.ithrael-chronology-head p{
  margin:0;
  color:#eef3ff;
  font-size:11px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ithrael-chronology-head span{
  margin:0;
  color:#9fb0d1;
  font-size:10px;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ithrael-story-track.is-inventory,
.ithrael-story-track{
  height:18px;
  min-height:18px;
  border-radius:999px;
  margin:0;
}

.ithrael-story-marker{
  height:18px;
}

@media (max-width:1100px){
  .archive-topbar{
    flex-wrap:wrap;
  }
  .archive-defrag-badge{
    order:3;
    flex-basis:100%;
  }
  .archive-wallet{ order:2; }
}

@media (max-width:720px){
  .archive-pass-copy{
    grid-template-columns:1fr auto;
  }
  .archive-pass-copy em{ display:none; }
  .ithrael-chronology-head span{ display:none; }
}


/* === v1.9.240 compact progress alignment + CSS cleanup === */

/* Archive top controls use the project spacing grid: 15px. */
.archive-topbar{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:15px;
  margin:15px 15px 0;
}

.archive-topbar .archive-tabs{
  flex:0 0 auto;
  display:flex;
  align-items:stretch;
  gap:15px;
  min-width:auto;
  margin:0;
  padding:0;
}

.archive-tabs button{
  min-height:42px;
}

/* Top progress aligns visually with the right detail column and stays readable. */
.archive-defrag-badge{
  flex:0 1 min(560px, 42vw);
  min-width:360px;
  max-width:560px;
  min-height:42px;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  align-self:stretch;
}

.archive-pass-progress{
  position:relative;
  width:100%;
  height:42px;
  min-height:42px;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.66);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
}

.archive-pass-progress b{
  position:absolute;
  inset:0 auto 0 0;
  width:var(--pass-progress,0%);
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#f5c75c 0%,#ffe0ed 34%,#a778ff 66%,#6fa7ff 100%);
  box-shadow:0 0 18px rgba(111,167,255,.22);
  opacity:.95;
}

.archive-pass-copy{
  position:relative;
  z-index:1;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:15px;
  padding:0 15px;
  color:#fff;
}

.archive-pass-copy span,
.archive-pass-copy em,
.archive-pass-copy strong{
  line-height:1;
  white-space:nowrap;
}

.archive-pass-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#fff;
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.archive-pass-count{
  display:inline-flex;
  align-items:baseline;
  gap:3px;
  color:#fff;
  font-size:17px;
}

.archive-pass-count strong{
  color:#fff;
  font-size:18px;
  font-weight:800;
}

.archive-pass-count em{
  color:#fff;
  font-style:normal;
  font-size:14px;
  font-weight:400;
  opacity:.92;
}

.archive-pass-percent{
  color:#ffe29b;
  font-size:14px;
  font-weight:800;
}

/* Wallet: compact, readable and vertically centered beside the top progress. */
.archive-wallet{
  flex:0 0 auto;
  align-self:stretch;
  min-width:74px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:14px;
  background:rgba(8,12,24,.66);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
}

.archive-wallet strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
}

.archive-wallet-balance{
  display:inline-flex;
  align-items:center;
  line-height:1;
}

.archive-wallet .kobliha-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  font-size:18px;
  line-height:1;
  transform:translateY(.5px);
  filter:drop-shadow(0 0 8px rgba(245,128,210,.28));
}

/* The old left Defrag panel is intentionally hidden; topbar is the active source. */
.archive-sector-panel{
  display:none;
}

/* Merged sector chronology: light, aligned, but the track keeps the same height as the Defrag progress. */
.archive-game-panel{
  margin:15px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:block;
}

.ithrael-chronology-card{
  display:grid;
  gap:8px;
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.ithrael-chronology-head{
  width:100%;
  min-height:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:0;
  padding:0;
}

.ithrael-chronology-head p{
  margin:0;
  color:#eef3ff;
  font-size:11px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ithrael-chronology-head span{
  min-width:0;
  margin:0;
  color:#9fb0d1;
  font-size:10px;
  line-height:1;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ithrael-chronology-scale{
  display:none;
}

.ithrael-story-track,
.ithrael-story-track.is-inventory{
  position:relative;
  overflow:hidden;
  width:100%;
  height:42px;
  min-height:42px;
  margin:0;
  border-radius:14px;
  background:
    linear-gradient(90deg,
      rgba(245,199,92,.14) 0% 25%,
      rgba(115,213,255,.10) 25% 50%,
      rgba(167,120,255,.10) 50% 75%,
      rgba(255,158,208,.10) 75% 100%),
    rgba(255,255,255,.04);
  box-shadow:0 0 0 1px rgba(142,159,201,.10) inset;
}

.ithrael-story-marker{
  position:absolute;
  top:50%;
  left:var(--story-left,0%);
  width:var(--story-width,4%);
  min-width:4px;
  height:42px;
  padding:0;
  border:0;
  border-radius:14px;
  background:var(--story-color,#ffe29b);
  transform:translateY(-50%);
  cursor:pointer;
  transition:box-shadow .16s ease, filter .16s ease, opacity .16s ease, background .16s ease;
}

.ithrael-story-marker:hover,
.ithrael-story-marker:focus-visible{
  transform:translateY(-50%);
  filter:brightness(1.16);
  z-index:3;
}

.archive-sector-marker{
  transform:translateY(-50%);
  transition:box-shadow .16s ease, filter .16s ease, opacity .16s ease, background .16s ease;
}

.archive-sector-marker:hover,
.archive-sector-marker:focus-visible{
  transform:translateY(-50%);
  filter:brightness(1.16);
  z-index:3;
}

.ithrael-story-marker.is-corrupted,
.archive-sector-marker.is-pending{
  opacity:.48;
  background:
    linear-gradient(135deg, rgba(255,255,255,.11) 0 25%, transparent 25% 50%, rgba(255,255,255,.11) 50% 75%, transparent 75% 100%),
    rgba(255,255,255,.055);
  background-size:8px 8px;
  box-shadow:0 0 0 1px rgba(255,255,255,.07) inset;
}

.ithrael-story-marker.is-trash,
.archive-sector-marker.is-trash{
  opacity:.42;
  background:rgba(125,135,156,.32);
  box-shadow:0 0 0 1px rgba(125,135,156,.18) inset;
}

.ithrael-story-marker.is-selected,
.archive-sector-marker.is-selected{
  opacity:1;
  box-shadow:
    0 0 0 1px rgba(255,226,155,.55) inset,
    0 0 18px rgba(255,226,155,.36),
    0 0 34px color-mix(in srgb,var(--story-color,var(--sector-marker-color,#6fa7ff)) 42%, transparent);
}

@media (max-width:1100px){
  .archive-topbar{
    flex-wrap:wrap;
  }

  .archive-defrag-badge{
    order:3;
    flex:1 1 100%;
    min-width:0;
    max-width:none;
  }

  .archive-wallet{
    order:2;
  }
}

@media (max-width:720px){
  .archive-pass-copy{
    grid-template-columns:1fr auto;
  }

  .archive-pass-percent{
    display:none;
  }

  .ithrael-chronology-head span{
    display:none;
  }
}


/* === v1.9.240 progress layout sanity pass === */

/* The modern Selair channel must never sit on top of the amber intro gate. */
body.auth-locked .selair-channel,
.secret-gate:not(.is-hidden) ~ .selair-channel{
  display:none;
}

/* Archive topbar: strict 15px rhythm. */
.archive-topbar{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:15px;
  margin:15px 15px 0;
}

.archive-topbar .archive-tabs{
  flex:0 0 auto;
  display:flex;
  align-items:stretch;
  gap:15px;
  min-width:auto;
  margin:0;
  padding:0;
}

.archive-tabs button{
  min-height:42px;
}

/* Defrag pass: use the whole available topbar space between tabs and wallet. */
.archive-defrag-badge{
  flex:1 1 auto;
  min-width:420px;
  max-width:none;
  min-height:42px;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  align-self:stretch;
}

.archive-pass-progress{
  position:relative;
  width:100%;
  height:42px;
  min-height:42px;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.66);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
}

.archive-pass-progress b{
  position:absolute;
  inset:0 auto 0 0;
  width:var(--pass-progress,0%);
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#f5c75c 0%,#ffe0ed 34%,#a778ff 66%,#6fa7ff 100%);
  box-shadow:0 0 18px rgba(111,167,255,.22);
  opacity:.95;
}

.archive-pass-copy{
  position:relative;
  z-index:1;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:15px;
  padding:0 15px;
  color:#fff;
}

.archive-pass-label,
.archive-pass-count,
.archive-pass-percent,
.archive-pass-copy span,
.archive-pass-copy em,
.archive-pass-copy strong{
  color:#fff;
  font-size:15px;
  line-height:1;
  white-space:nowrap;
}

.archive-pass-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:400;
}

.archive-pass-count{
  display:inline-flex;
  align-items:baseline;
  gap:3px;
  font-weight:400;
}

.archive-pass-count strong{
  font-weight:800;
}

.archive-pass-count em{
  font-style:normal;
  font-weight:400;
  opacity:.95;
}

.archive-pass-percent{
  color:#ffe29b;
  font-weight:800;
}

/* Wallet: same visual language as the pass pill. */
.archive-wallet{
  flex:0 0 auto;
  align-self:stretch;
  min-width:74px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:14px;
  background:rgba(8,12,24,.66);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
}

.archive-wallet strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
}

.archive-wallet-balance{
  display:inline-flex;
  align-items:center;
  line-height:1;
}

.archive-wallet .kobliha-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  font-size:18px;
  line-height:1;
  transform:translateY(.5px);
  filter:drop-shadow(0 0 8px rgba(245,128,210,.28));
}

/* Old left pass panel is intentionally replaced by the topbar pass. */
.archive-sector-panel{
  display:none;
}

/* Merged chronology: 15px vertical rhythm, track height equals Defrag pass. */
.archive-game-panel{
  margin:15px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:block;
}

.ithrael-chronology-card{
  display:grid;
  gap:15px;
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.ithrael-chronology-head{
  width:100%;
  min-height:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:0;
  padding:0;
}

.ithrael-chronology-head p{
  margin:0;
  color:#eef3ff;
  font-size:11px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ithrael-chronology-head span{
  min-width:0;
  margin:0;
  color:#9fb0d1;
  font-size:10px;
  line-height:1;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ithrael-chronology-scale{
  display:none;
}

.ithrael-story-track,
.ithrael-story-track.is-inventory{
  position:relative;
  overflow:hidden;
  width:100%;
  height:42px;
  min-height:42px;
  margin:0;
  border-radius:14px;
  background:
    linear-gradient(90deg,
      rgba(245,199,92,.14) 0% 25%,
      rgba(115,213,255,.10) 25% 50%,
      rgba(167,120,255,.10) 50% 75%,
      rgba(255,158,208,.10) 75% 100%),
    rgba(255,255,255,.04);
  box-shadow:0 0 0 1px rgba(142,159,201,.10) inset;
}

.ithrael-story-marker{
  position:absolute;
  top:50%;
  left:var(--story-left,0%);
  width:var(--story-width,4%);
  min-width:4px;
  height:42px;
  padding:0;
  border:0;
  border-radius:14px;
  background:var(--story-color,#ffe29b);
  transform:translateY(-50%);
  cursor:pointer;
  transition:box-shadow .16s ease, filter .16s ease, opacity .16s ease, background .16s ease;
}

.ithrael-story-marker:hover,
.ithrael-story-marker:focus-visible{
  transform:translateY(-50%);
  filter:brightness(1.16);
  z-index:3;
}

.archive-sector-marker{
  transform:translateY(-50%);
  transition:box-shadow .16s ease, filter .16s ease, opacity .16s ease, background .16s ease;
}

.archive-sector-marker:hover,
.archive-sector-marker:focus-visible{
  transform:translateY(-50%);
  filter:brightness(1.16);
  z-index:3;
}

.ithrael-story-marker.is-corrupted,
.archive-sector-marker.is-pending{
  opacity:.48;
  background:
    linear-gradient(135deg, rgba(255,255,255,.11) 0 25%, transparent 25% 50%, rgba(255,255,255,.11) 50% 75%, transparent 75% 100%),
    rgba(255,255,255,.055);
  background-size:8px 8px;
  box-shadow:0 0 0 1px rgba(255,255,255,.07) inset;
}

.ithrael-story-marker.is-trash,
.archive-sector-marker.is-trash{
  opacity:.42;
  background:rgba(125,135,156,.32);
  box-shadow:0 0 0 1px rgba(125,135,156,.18) inset;
}

.ithrael-story-marker.is-selected,
.archive-sector-marker.is-selected{
  opacity:1;
  box-shadow:
    0 0 0 1px rgba(255,226,155,.55) inset,
    0 0 18px rgba(255,226,155,.36),
    0 0 34px color-mix(in srgb,var(--story-color,var(--sector-marker-color,#6fa7ff)) 42%, transparent);
}

@media (max-width:1100px){
  .archive-topbar{
    flex-wrap:wrap;
  }

  .archive-defrag-badge{
    order:3;
    flex:1 1 100%;
    min-width:0;
    max-width:none;
  }

  .archive-wallet{
    order:2;
  }
}

@media (max-width:720px){
  .archive-pass-copy{
    grid-template-columns:1fr auto;
  }

  .archive-pass-percent{
    display:none;
  }

  .ithrael-chronology-head span{
    display:none;
  }
}


/* === v1.9.240 archive layout hotfix === */

/* The blue modern Selair channel is forbidden while the amber gate is alive. */
body.auth-locked #selairChannel,
#secretGate:not(.is-hidden) ~ #selairChannel{
  display:none;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
}

/* Topbar is aligned to the same two-column grid as archive content. */
.archive-topbar{
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr) auto;
  align-items:stretch;
  gap:15px;
  margin:15px 15px 0;
}

.archive-topbar .archive-tabs{
  grid-column:1;
  display:flex;
  align-items:stretch;
  gap:15px;
  min-width:0;
  margin:0;
  padding:0;
}

.archive-defrag-badge{
  grid-column:2;
  min-width:0;
  max-width:none;
  width:100%;
  min-height:42px;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  align-self:stretch;
}

.archive-wallet{
  grid-column:3;
  align-self:stretch;
  min-width:74px;
  min-height:42px;
}

/* Pass copy: one type size, weight-only hierarchy, no space in 6/18. */
.archive-pass-copy{
  position:relative;
  z-index:1;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:15px;
  padding:0 15px;
  color:#fff;
}

.archive-pass-label,
.archive-pass-count,
.archive-pass-percent,
.archive-pass-copy span,
.archive-pass-copy em,
.archive-pass-copy strong{
  color:#fff;
  font-size:11px;
  line-height:1;
  white-space:nowrap;
}

.archive-pass-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:400;
}

.archive-pass-count{
  display:inline-flex;
  align-items:baseline;
  gap:0;
  font-weight:400;
}

.archive-pass-count strong{
  font-weight:800;
}

.archive-pass-count em{
  font-style:normal;
  font-weight:400;
  opacity:.96;
}

.archive-pass-percent{
  color:#ffe29b;
  font-weight:800;
}

/* Chronology: no top margin, 15px internal rhythm, 11px right note. */
.archive-game-panel{
  margin:0 15px 15px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:block;
}

.ithrael-chronology-card{
  display:grid;
  gap:15px;
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.ithrael-chronology-head{
  width:100%;
  min-height:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:0;
  padding:0;
}

.ithrael-chronology-head p,
.ithrael-chronology-head span{
  font-size:11px;
  line-height:1;
}

.ithrael-chronology-head p{
  margin:0;
  color:#eef3ff;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ithrael-chronology-head span{
  min-width:0;
  margin:0;
  color:#9fb0d1;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Beat the generic button hover transform without using important. */
.archive-modal button.ithrael-story-marker:hover,
.archive-modal button.ithrael-story-marker:focus-visible,
.archive-modal button.archive-sector-marker:hover,
.archive-modal button.archive-sector-marker:focus-visible{
  transform:translateY(-50%);
  filter:brightness(1.16);
  z-index:3;
}

@media (max-width:1100px){
  .archive-topbar{
    grid-template-columns:1fr auto;
  }

  .archive-topbar .archive-tabs{
    grid-column:1 / -1;
  }

  .archive-defrag-badge{
    grid-column:1;
  }

  .archive-wallet{
    grid-column:2;
  }
}

@media (max-width:720px){
  .archive-topbar{
    grid-template-columns:1fr;
  }

  .archive-topbar .archive-tabs,
  .archive-defrag-badge,
  .archive-wallet{
    grid-column:1;
  }
}


/* === v1.9.240 intro + archive layout guard === */

/* Boot panel was leaking through because later .boot-panel/.ai-chat-panel rules override generic .hidden. */
#secretGate #bootPanel.hidden,
#secretGate #aiChatPanel.hidden,
#secretGate #bootPanel:not(.modern-chat-mode) #aiChatPanel,
body.auth-locked #selairChannel,
#secretGate:not(.is-hidden) ~ #selairChannel{
  display:none;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
}

/* Archive topbar: two real archive columns + wallet overlay inside the detail column. */
.archive-topbar{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(360px,1.08fr);
  align-items:stretch;
  gap:15px;
  margin:15px 15px 0;
}

.archive-topbar .archive-tabs{
  grid-column:1;
  display:flex;
  align-items:stretch;
  gap:15px;
  min-width:0;
  margin:0;
  padding:0;
}

.archive-tabs button{
  min-height:42px;
  font-size:13px;
  line-height:1;
}

.archive-defrag-badge{
  grid-column:2;
  justify-self:start;
  width:calc(100% - 89px);
  max-width:none;
  min-width:0;
  min-height:42px;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  align-self:stretch;
}

.archive-wallet{
  grid-column:2;
  justify-self:end;
  align-self:stretch;
  min-width:74px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:14px;
  background:rgba(8,12,24,.66);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
}

/* Defrag pass typography: 11px everywhere, weight-only hierarchy, yellow percent. */
.archive-pass-copy{
  position:relative;
  z-index:1;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:15px;
  padding:0 15px;
  color:#fff;
}

.archive-pass-label,
.archive-pass-count,
.archive-pass-percent,
.archive-pass-copy span,
.archive-pass-copy em,
.archive-pass-copy strong{
  color:#fff;
  font-size:11px;
  line-height:1;
  white-space:nowrap;
}

.archive-pass-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:400;
}

.archive-pass-label strong,
.archive-pass-count strong{
  font-weight:800;
}

.archive-pass-count{
  display:inline-flex;
  align-items:baseline;
  gap:0;
  font-weight:400;
}

.archive-pass-count em{
  font-style:normal;
  font-weight:400;
  opacity:.96;
}

.archive-pass-percent{
  color:#ffe29b;
  font-weight:800;
}

/* Sidebar ordering: status strip is first in every view where it exists. */
.archive-sidebar{
  display:flex;
  flex-direction:column;
}

.archive-remote-status{
  order:0;
}

.archive-sidebar > .archive-filter-head:first-child{
  order:1;
}

#archiveFilters{
  order:2;
}

.archive-list-toolbar{
  order:3;
}

#archiveList{
  order:4;
}

#archiveSelectionActions{
  order:5;
}

.archive-modal.is-corrupted-view .archive-remote-status,
.archive-modal.is-reconstructed-view .archive-remote-status,
.archive-modal.is-trash-view .archive-remote-status{
  margin-top:0;
}

.archive-modal.is-reconstructed-view .archive-sidebar > .archive-filter-head:first-child{
  margin-top:15px;
}

/* Reconstructed/local cache starts at the very top; Trash/discarded starts at the very top too. */
.archive-modal.is-reconstructed-view .archive-remote-status,
.archive-modal.is-trash-view .archive-remote-status{
  order:0;
}

/* Chronology spacing: no upper margin, 15px internal rhythm. */
.archive-game-panel{
  margin:0 15px 15px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:block;
}

.ithrael-chronology-card{
  display:grid;
  gap:15px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.ithrael-chronology-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:0;
  padding:0;
}

.ithrael-chronology-head p,
.ithrael-chronology-head span{
  font-size:11px;
  line-height:1;
}

.ithrael-story-track,
.ithrael-story-track.is-inventory{
  height:42px;
  min-height:42px;
}

/* Marker hover must never inherit the global button translate. */
.archive-modal button.ithrael-story-marker,
.archive-modal button.archive-sector-marker{
  transform:translateY(-50%);
}

.archive-modal button.ithrael-story-marker:hover,
.archive-modal button.ithrael-story-marker:focus-visible,
.archive-modal button.archive-sector-marker:hover,
.archive-modal button.archive-sector-marker:focus-visible{
  transform:translateY(-50%);
  filter:brightness(1.16);
  z-index:3;
}

@media (max-width:1100px){
  .archive-topbar{
    grid-template-columns:1fr auto;
  }

  .archive-topbar .archive-tabs{
    grid-column:1 / -1;
  }

  .archive-defrag-badge{
    grid-column:1;
    width:100%;
  }

  .archive-wallet{
    grid-column:2;
  }
}

@media (max-width:720px){
  .archive-topbar{
    grid-template-columns:1fr;
  }

  .archive-topbar .archive-tabs,
  .archive-defrag-badge,
  .archive-wallet{
    grid-column:1;
    width:100%;
  }
}


/* === v1.9.240 topbar right-flex + unified square previews === */

/* Topbar is a true two-column grid. The right column contains Defrag + wallet in one flex row. */
.archive-topbar{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(360px,1.08fr);
  align-items:stretch;
  gap:15px;
  margin:15px 15px 0;
}

.archive-topbar .archive-tabs{
  grid-column:1;
  display:flex;
  align-items:stretch;
  gap:15px;
  min-width:0;
  margin:0;
  padding:0;
}

.archive-topbar-right{
  grid-column:2;
  min-width:0;
  display:flex;
  align-items:stretch;
  gap:15px;
}

.archive-defrag-badge{
  flex:1 1 auto;
  min-width:0;
  width:auto;
  max-width:none;
  min-height:42px;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  align-self:stretch;
}

.archive-wallet{
  flex:0 0 auto;
  min-width:74px;
  min-height:42px;
  align-self:stretch;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:14px;
  background:rgba(8,12,24,.66);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
}

/* Detail preview: every archive state uses the same square inspection frame. */
.archive-detail-main .archive-image-frame,
.archive-detail-main .archive-glitch-thumb,
.archive-detail-main .archive-placeholder,
.archive-detail-main .archive-text-preview{
  width:100%;
  aspect-ratio:1 / 1;
  min-height:0;
  height:auto;
  max-height:none;
  box-sizing:border-box;
}

.archive-detail-main .archive-image-frame,
.archive-detail-main .archive-glitch-thumb{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:18px;
  background:rgba(4,7,16,.72);
}

.archive-detail-main .archive-image-frame img,
.archive-detail-main .archive-glitch-thumb img,
.archive-detail-main .archive-image-frame picture,
.archive-detail-main .archive-glitch-thumb picture{
  max-width:100%;
  max-height:100%;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

.archive-detail-main .archive-image-frame.is-clickable img,
.archive-detail-main .archive-glitch-thumb.is-clickable img{
  object-fit:contain;
}

/* Keep old view-specific frame rules from stretching Reconstructed differently. */
.archive-modal.is-reconstructed-view .archive-detail-main .archive-image-frame,
.archive-modal.is-reconstructed-view .archive-detail-main .archive-glitch-thumb,
.archive-modal.is-trash-view .archive-detail-main .archive-image-frame,
.archive-modal.is-trash-view .archive-detail-main .archive-glitch-thumb,
.archive-modal.is-corrupted-view .archive-detail-main .archive-image-frame,
.archive-modal.is-corrupted-view .archive-detail-main .archive-glitch-thumb{
  aspect-ratio:1 / 1;
  height:auto;
  min-height:0;
  max-height:none;
}

/* Responsive fallback keeps controls stacked cleanly without creating a surprise wallet row. */
@media (max-width:1100px){
  .archive-topbar{
    grid-template-columns:1fr;
  }

  .archive-topbar .archive-tabs,
  .archive-topbar-right{
    grid-column:1;
  }
}

@media (max-width:720px){
  .archive-topbar-right{
    flex-wrap:wrap;
  }

  .archive-defrag-badge{
    flex-basis:100%;
  }

  .archive-wallet{
    min-width:100%;
  }
}


/* === v1.9.240 final archive layout + living response integration === */
/* Keep the top controls in one row: tabs on the left, Defrag + wallet in a flex group on the right. */
.archive-topbar{
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(620px,1.1fr);
  align-items:stretch;
  gap:15px;
  margin:15px 15px 0;
}
.archive-shell{
  grid-template-columns:minmax(420px,.9fr) minmax(620px,1.1fr);
  gap:15px;
  padding:15px;
}
.archive-topbar .archive-tabs{
  grid-column:1;
  display:flex;
  align-items:stretch;
  gap:15px;
  min-width:0;
  margin:0;
  padding:0;
}
.archive-topbar-right{
  grid-column:2;
  min-width:0;
  display:flex;
  align-items:stretch;
  gap:15px;
}
.archive-defrag-badge{
  flex:1 1 auto;
  min-width:0;
  width:auto;
  max-width:none;
  align-self:stretch;
}
.archive-wallet{
  flex:0 0 auto;
  min-width:74px;
  align-self:stretch;
}
.archive-tabs button{
  font-size:13px;
  min-height:42px;
  line-height:1;
}
.archive-pass-copy{
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:15px;
  padding:0 15px;
}
.archive-pass-label,
.archive-pass-count,
.archive-pass-percent,
.archive-pass-copy span,
.archive-pass-copy em,
.archive-pass-copy strong{
  font-size:11px;
  line-height:1;
}
.archive-pass-count{gap:0;}
.archive-pass-percent{color:#ffe29b;}
/* Merged chronology: no extra top margin, 15px between label and track. */
.archive-game-panel{margin:0 15px 15px;padding:0;border:0;background:transparent;box-shadow:none;}
.ithrael-chronology-card{gap:15px;padding:0;border:0;background:transparent;box-shadow:none;}
.ithrael-chronology-head p,.ithrael-chronology-head span{font-size:11px;line-height:1;}
.ithrael-story-track,.ithrael-story-track.is-inventory{height:42px;min-height:42px;}
/* Every archive preview is a consistent square. */
.archive-detail-main .archive-image-frame,
.archive-detail-main .archive-glitch-thumb,
.archive-detail-main .archive-placeholder,
.archive-detail-main .archive-text-preview{
  aspect-ratio:1/1;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
}
.archive-detail-main .archive-image-frame img,
.archive-detail-main .archive-glitch-thumb img{width:100%;height:100%;object-fit:contain;object-position:center;}
/* Timeline markers must not inherit the generic button hover translate. */
.archive-modal button.ithrael-story-marker,
.archive-modal button.archive-sector-marker,
.archive-modal button.ithrael-story-marker:hover,
.archive-modal button.ithrael-story-marker:focus-visible,
.archive-modal button.archive-sector-marker:hover,
.archive-modal button.archive-sector-marker:focus-visible{transform:translateY(-50%);}
@media (max-width:1180px){
  .archive-topbar,.archive-shell{grid-template-columns:minmax(320px,.92fr) minmax(360px,1.08fr);}
}
@media (max-width:980px){
  .archive-topbar,.archive-shell{grid-template-columns:1fr;}
  .archive-topbar .archive-tabs,.archive-topbar-right{grid-column:1;}
}
@media (max-width:720px){
  .archive-topbar-right{flex-wrap:wrap;}
  .archive-defrag-badge{flex-basis:100%;}
  .archive-wallet{min-width:100%;}
}


/* === v1.9.240 visual repair placement + unified square previews === */

/* Media column: image preview and its Visual Repair panel belong together. */
.archive-media-stack{
  display:grid;
  align-content:start;
  gap:14px;
  width:100%;
  min-width:0;
}

/* Make every archive image preview use the same square frame. */
.archive-detail-grid{
  align-items:start;
}

.archive-detail-grid > .archive-media-stack > .archive-image-frame,
.archive-detail-grid > .archive-media-stack > .archive-glitch-thumb,
.archive-detail-grid > .archive-image-frame,
.archive-detail-grid > .archive-glitch-thumb{
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  min-height:0;
  max-height:none;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:18px;
  background:rgba(4,7,16,.72);
}

.archive-detail-grid > .archive-media-stack > .archive-image-frame img,
.archive-detail-grid > .archive-image-frame img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

/* Keep all archive states consistent; older view-specific image rules must not stretch Reconstructed differently. */
.archive-modal.is-reconstructed-view .archive-detail-grid > .archive-media-stack > .archive-image-frame,
.archive-modal.is-trash-view .archive-detail-grid > .archive-media-stack > .archive-image-frame,
.archive-modal.is-corrupted-view .archive-detail-grid > .archive-media-stack > .archive-image-frame,
.archive-modal.is-reconstructed-view .archive-detail-grid > .archive-media-stack > .archive-glitch-thumb,
.archive-modal.is-trash-view .archive-detail-grid > .archive-media-stack > .archive-glitch-thumb,
.archive-modal.is-corrupted-view .archive-detail-grid > .archive-media-stack > .archive-glitch-thumb{
  aspect-ratio:1 / 1;
  height:auto;
  min-height:0;
  max-height:none;
}

/* Visual Repair is directly under the photo and no longer repeats explanatory filler text. */
.archive-media-stack .archive-repair-panel{
  margin-top:0;
  width:100%;
}

.archive-repair-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.archive-repair-copy{
  display:grid;
  gap:6px;
}

.archive-repair-copy span{
  display:none;
}

.archive-repair-state{
  min-height:42px;
  padding:0 16px;
  white-space:nowrap;
}

/* Responsive: preserve the square media stack when detail columns collapse. */
@media (max-width:900px){
  .archive-detail-grid{
    grid-template-columns:1fr;
  }
}


/* === v1.9.240 repair panel + percentage polish === */

/* Visual Repair is now just the section label and the action/result pill. */
.archive-repair-panel{
  min-height:70px;
}

.archive-repair-copy{
  display:flex;
  align-items:center;
  min-width:0;
}

.archive-repair-copy p{
  margin:0;
}

.archive-repair-copy strong,
.archive-repair-copy span{
  display:none;
}

/* Defrag pass percentage matches the recovery-credit number size and stays yellow. */
.archive-pass-percent{
  color:#ffe29b;
  font-size:15px;
  font-weight:800;
  line-height:1;
}

/* Whole-archive processed percentage in Merged Sector Chronology is highlighted in the same yellow. */
.ithrael-chronology-percent{
  color:#ffe29b;
  background:transparent;
  padding:0;
  font:inherit;
  font-weight:800;
}


/* === v1.9.240 Cultural Index Matrix === */

.index-trigger{
  border:1px solid rgba(142,159,201,.25);
  background:rgba(8,12,24,.68);
  color:#dfe8ff;
  border-radius:14px;
  min-height:38px;
  padding:0 14px;
  font-size:13px;
  letter-spacing:.04em;
}

.index-trigger:hover{
  border-color:rgba(115,213,255,.45);
  box-shadow:0 0 18px rgba(115,213,255,.14);
}

.cultural-index-section{
  display:grid;
  gap:12px;
  border-top:1px solid rgba(142,159,201,.13);
  padding-top:14px;
  margin-top:14px;
}

.cultural-index-head{
  align-items:center;
}

.index-inline-trigger{
  min-width:38px;
}

.cultural-index-region{
  display:grid;
  gap:6px;
}

.cultural-index-region span{
  color:#aebbd8;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:700;
}

.cultural-index-region select,
.index-region-select select{
  width:100%;
  min-height:36px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:12px;
  background:rgba(4,7,16,.76);
  color:#eef3ff;
  padding:0 12px;
  font-weight:600;
}

.cultural-index-mini{
  display:grid;
  gap:10px;
}

.cultural-index-year{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  color:#aebbd8;
  font-size:11px;
}

.cultural-index-year strong{
  color:#eef3ff;
  font-size:12px;
}

.cultural-index-cards,
.index-kpi-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.index-kpi-row{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.cultural-index-card{
  --index-color:#f5c75c;
  display:grid;
  gap:8px;
  min-width:0;
  border:1px solid color-mix(in srgb,var(--index-color) 30%,rgba(142,159,201,.16));
  border-radius:16px;
  background:
    radial-gradient(circle at 0 0,color-mix(in srgb,var(--index-color) 16%,transparent),transparent 42%),
    rgba(8,12,24,.7);
  padding:12px;
}

.cultural-index-card.is-selair{
  --index-color:#a778ff;
}

.cultural-index-card-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}

.cultural-index-card-head span{
  color:#b9c7e8;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
}

.cultural-index-card-head strong{
  color:#fff;
  font-size:20px;
  line-height:1;
}

.cultural-index-card p{
  margin:0;
  color:#ccd6f3;
  font-size:11px;
  line-height:1.35;
}

.cultural-index-card em{
  color:#ffe29b;
  font-size:10px;
  line-height:1.25;
  font-style:normal;
  opacity:.9;
}

.cultural-index-bar{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.cultural-index-bar i{
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--index-color),#fff0c4);
  box-shadow:0 0 14px color-mix(in srgb,var(--index-color) 45%,transparent);
}

.cultural-index-note,
.cultural-index-loading,
.cultural-index-error{
  border:1px solid rgba(142,159,201,.14);
  border-radius:14px;
  background:rgba(4,7,16,.58);
  color:#cfd9f7;
  font-size:11px;
  line-height:1.4;
  padding:10px 12px;
}

.cultural-index-error{
  border-color:rgba(255,92,92,.34);
  color:#ffd0d0;
}

.index-modal.hidden{
  display:none;
}

.index-modal{
  position:fixed;
  inset:0;
  z-index:95;
}

.index-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,3,9,.72);
  backdrop-filter:blur(12px);
}

.index-window{
  position:relative;
  z-index:1;
  width:min(1180px,calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  margin:24px auto;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid rgba(99,168,255,.22);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(18,18,38,.96),rgba(5,8,17,.96)),
    rgba(5,8,17,.96);
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset,0 24px 80px rgba(0,0,0,.55);
}

.index-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  min-height:76px;
  padding:18px 22px;
  border-bottom:1px solid rgba(142,159,201,.14);
}

.index-kicker{
  margin:0;
  color:#ffe29b;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:800;
}

.index-head span{
  color:#bfcae8;
  font-size:13px;
}

#indexMatrixClose{
  min-width:54px;
  min-height:42px;
  border-radius:14px;
}

.index-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:15px 22px;
  border-bottom:1px solid rgba(142,159,201,.12);
}

.index-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.index-tabs button{
  min-height:38px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:14px;
  background:rgba(8,12,24,.62);
  color:#dfe8ff;
  padding:0 14px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.index-tabs button.is-active{
  border-color:rgba(115,213,255,.5);
  color:#fff;
  box-shadow:0 0 18px rgba(115,213,255,.14);
}

.index-region-select{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:260px;
}

.index-region-select span{
  color:#aebbd8;
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:800;
}

.index-body{
  min-height:0;
  overflow:auto;
  padding:22px;
}

.index-matrix-section{
  display:grid;
  gap:16px;
}

.index-section-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:14px;
}

.index-section-head p{
  margin:0;
  color:#fff;
  font-size:26px;
  font-weight:800;
}

.index-section-head span{
  color:#aebbd8;
  font-size:12px;
}

.index-definition{
  margin:0;
  color:#cfd9f7;
  font-size:14px;
  line-height:1.55;
}

.index-chart-wrap{
  border:1px solid rgba(142,159,201,.16);
  border-radius:18px;
  background:rgba(4,7,16,.66);
  padding:14px;
  overflow:hidden;
}

.index-chart{
  width:100%;
  display:block;
}

.index-chart-grid line{
  stroke:rgba(142,159,201,.12);
  stroke-width:1;
}

.index-chart-grid text,
.index-chart-years text{
  fill:#8fa1c6;
  font-size:10px;
  text-anchor:middle;
}

.index-chart-grid text{
  text-anchor:start;
}

.index-chart-line{
  fill:none;
  stroke:var(--index-color);
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 7px color-mix(in srgb,var(--index-color) 45%,transparent));
}

.index-chart-now{
  stroke:#ffe29b;
  stroke-width:1;
  stroke-dasharray:5 5;
  opacity:.8;
}

.index-chart-dot{
  fill:#fff;
  stroke-width:3;
}

.index-chart-dot.is-idea{ stroke:#73d5ff; }
.index-chart-dot.is-comet{ stroke:#f5c75c; }

.index-anchor-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}

.index-anchor-item{
  --index-color:#f5c75c;
  border:1px solid color-mix(in srgb,var(--index-color) 28%,rgba(142,159,201,.14));
  border-radius:16px;
  background:rgba(8,12,24,.72);
  padding:12px;
}

.index-anchor-item span{
  display:block;
  color:var(--index-color);
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:6px;
}

.index-anchor-item strong{
  color:#fff;
  font-size:14px;
}

.index-anchor-item p{
  margin:6px 0 0;
  color:#cfd9f7;
  font-size:12px;
  line-height:1.4;
}

.index-loading,
.index-error,
.index-empty{
  border:1px solid rgba(142,159,201,.16);
  border-radius:16px;
  background:rgba(4,7,16,.66);
  color:#cfd9f7;
  padding:18px;
}

@media (max-width:1000px){
  .index-kpi-row,
  .cultural-index-cards{
    grid-template-columns:1fr;
  }
  .index-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .index-region-select{
    min-width:0;
  }
}



/* === v1.9.240 Index Matrix + Halley polish === */

/* The ID rules for the year fields were overriding .hidden; this keeps only the active input visible. */
#calendarYearField.hidden,
#cosmicAgeField.hidden{
  display:none;
}

/* Index Matrix now sits under Měřítko cyklů, so it needs a calm lower-panel rhythm. */
.cycle-scale-panel-section + .cultural-index-section{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(142,159,201,.16);
}

/* Index Matrix ESC must stay a normal dark control, not a white browser-looking blob. */
.index-head #indexMatrixClose{
  appearance:none;
  width:auto;
  min-width:54px;
  height:42px;
  min-height:42px;
  padding:0 15px;
  border:1px solid rgba(142,159,201,.24);
  border-radius:14px;
  background:rgba(8,12,24,.82);
  color:#eef3ff;
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.index-head #indexMatrixClose:hover,
.index-head #indexMatrixClose:focus-visible{
  background:rgba(14,21,38,.95);
  color:#fff;
  border-color:rgba(142,159,201,.42);
  box-shadow:0 0 18px rgba(115,213,255,.14);
}

/* Halley's Focus receives the two cultural index readings for the passage year. */
.halley-index-strip{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 0;
}

.halley-index-strip span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.22);
  background:rgba(8,12,24,.66);
  color:#eef3ff;
  font-size:12px;
  line-height:1;
  font-weight:800;
}

.halley-index-strip span.is-idea{
  border-color:rgba(115,213,255,.42);
  box-shadow:0 0 14px rgba(115,213,255,.10);
}

.halley-index-strip span.is-comet{
  border-color:rgba(245,199,92,.42);
  box-shadow:0 0 14px rgba(245,199,92,.10);
}

.halley-index-strip b{
  color:#aebbd8;
  font-size:10px;
  letter-spacing:.14em;
}

.halley-index-strip em{
  color:#9fb0d1;
  font-size:11px;
  font-style:normal;
  line-height:1;
}


/* === v1.9.240 time controls + Index/Halley cleanup === */

/* The Big Bang/calendar switch is opt-in: hidden by default and visible only for cosmic age ranges. */
.time-ref-tabs.hidden,
#timeRefTabs.hidden,
#calendarYearField.hidden,
#cosmicAgeField.hidden{
  display:none;
}

/* No extra vertical drift between cycle scale and Index Matrix. */
.cycle-scale-panel-section{
  margin-bottom:0;
}

.cycle-scale-panel-section + .cultural-index-section{
  margin-top:0;
  padding-top:12px;
}

/* Halley focus: IPI/CBI belongs inside the passage-area card under local labels. */
.halley-location-copy .halley-index-strip{
  margin:10px 0 0;
}

.halley-location-copy .halley-index-strip em{
  display:none;
}

/* Remove residual spacing from the deleted explanation list. */
.halley-source-copy{
  margin-bottom:0;
}

.index-trigger{
  display:none;
}


/* === v1.9.240 right panel visibility + scale/header polish === */

/* Right column is now locked to three visible rows:
   1) scrollable cycle table
   2) cycle scale
   3) Index Matrix
   Only the cycle table is allowed to shrink/scroll. */
.results-column{
  min-height:0;
  overflow:hidden;
}

.results.wide-results,
.wide-results{
  height:100%;
  min-height:0;
  max-height:100%;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto;
  gap:12px;
  overflow:hidden;
  align-content:stretch;
}

.results.wide-results .cycles-section,
.wide-results .cycles-section,
.wide-results section:first-child{
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:10px;
  overflow:hidden;
}

.results.wide-results .cycles-section .results-head-inline,
.wide-results .cycles-section .results-head-inline{
  min-height:0;
}

.results.wide-results .table-wrap,
.wide-results .table-wrap{
  min-height:0;
  height:auto;
  max-height:none;
  overflow:auto;
}

/* Scale panel becomes compact and keeps its summary in the header line. */
.results.wide-results .cycle-scale-panel-section,
.wide-results .cycle-scale-panel-section,
.cycle-scale-panel-section{
  min-height:0;
  margin:0;
  padding:12px 0 0;
  border-top:1px solid rgba(142,159,201,.16);
}

.cycle-scale-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 8px;
}

.cycle-scale-head h2,
.results.wide-results .cycle-scale-panel-section h2,
.wide-results .cycle-scale-panel-section h2{
  margin:0;
}

.cycle-scale-head .cycle-scale-label{
  margin:0;
  color:#cfd9f7;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.02em;
  text-align:right;
  font-weight:700;
  max-width:58%;
}

.cycle-scale-panel-section .cycle-scale-field{
  display:grid;
  gap:4px;
  margin:0;
}

.cycle-scale-panel-section .double-range,
.cycle-scale-field .double-range{
  margin:0 0 4px;
}

.results .cycle-scale-ticks,
.cycle-scale-ticks{
  margin:0 14px;
}

/* Index Matrix must stay visible below the cycle scale. */
.cycle-scale-panel-section + .cultural-index-section,
.cultural-index-section{
  min-height:0;
  margin:0;
  padding-top:12px;
  border-top:1px solid rgba(142,159,201,.16);
  gap:10px;
}

.cultural-index-head{
  margin:0;
}

.cultural-index-region{
  gap:5px;
}

.cultural-index-region select{
  min-height:34px;
}

.cultural-index-mini{
  gap:8px;
}

.cultural-index-card{
  padding:10px;
}

.cultural-index-card-head strong{
  font-size:18px;
}

.cultural-index-note,
.cultural-index-loading,
.cultural-index-error{
  padding:9px 10px;
}

/* Defrag pass cleanup: no stacked strong weight rule; the whole label carries the intended weight. */
.archive-pass-label{
  font-weight:700;
}

.archive-pass-label strong{
  font-weight:inherit;
}

/* Softer Defrag pass fill. */
.archive-pass-progress b{
  opacity:.76;
}


/* === v1.9.240 compact Index Matrix right-panel UI === */

/* Save vertical space: right-column index shows only region picker + two index cards.
   Year/region/narrative live in context or the A.N.G.O.L. tooltip. */
.cultural-index-region > span:not(.sr-only),
.cultural-index-year,
.cultural-index-note{
  display:none;
}

.cultural-index-section{
  gap:8px;
}

.cultural-index-head{
  margin:0;
}

.native-index-region-select{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}

.cultural-index-region{
  position:relative;
  margin:0;
}

.cultural-index-picker{
  position:relative;
  z-index:5;
}

.cultural-index-picker-button{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 12px 0 14px;
  border:1px solid rgba(142,159,201,.18);
  border-radius:14px;
  background:
    radial-gradient(circle at 0 0, rgba(115,213,255,.10), transparent 38%),
    linear-gradient(180deg, rgba(11,18,33,.94), rgba(4,7,16,.92));
  color:#eef3ff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 0 1px rgba(0,0,0,.16);
  font-size:13px;
  font-weight:700;
  line-height:1;
  text-align:left;
}

.cultural-index-picker-button:hover,
.cultural-index-picker-button[aria-expanded="true"]{
  border-color:rgba(115,213,255,.38);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 18px rgba(115,213,255,.12);
}

.cultural-index-picker-button i{
  color:#ffe29b;
  font-style:normal;
  font-size:13px;
  line-height:1;
  transform:translateY(-1px);
}

.cultural-index-picker-list{
  position:absolute;
  z-index:120;
  left:0;
  right:0;
  top:calc(100% + 6px);
  display:grid;
  gap:4px;
  max-height:248px;
  overflow:auto;
  padding:7px;
  border:1px solid rgba(142,159,201,.28);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0, rgba(167,120,255,.16), transparent 45%),
    linear-gradient(180deg, rgba(15,24,43,.98), rgba(5,9,18,.98));
  box-shadow:
    0 18px 45px rgba(0,0,0,.46),
    0 0 0 1px rgba(255,255,255,.03) inset;
}

.cultural-index-picker-list.hidden{
  display:none;
}

.cultural-index-picker-list button{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:0 10px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#dfe8ff;
  font-size:13px;
  font-weight:600;
  line-height:1;
  text-align:left;
}

.cultural-index-picker-list button:hover{
  background:rgba(115,213,255,.10);
  border-color:rgba(115,213,255,.20);
  color:#fff;
}

.cultural-index-picker-list button.is-active{
  background:
    linear-gradient(90deg, rgba(115,213,255,.22), rgba(167,120,255,.15)),
    rgba(8,12,24,.72);
  border-color:rgba(115,213,255,.45);
  color:#fff;
  box-shadow:0 0 18px rgba(115,213,255,.12);
}

.cultural-index-picker-list button.is-active::after{
  content:'●';
  color:#ffe29b;
  font-size:8px;
  filter:drop-shadow(0 0 6px rgba(245,199,92,.45));
}

.cultural-index-cards{
  gap:8px;
}

.cultural-index-card.is-compact{
  min-height:64px;
  padding:10px;
  cursor:help;
}

.cultural-index-card.is-compact p,
.cultural-index-card.is-compact em{
  display:none;
}

.cultural-index-card.is-compact .cultural-index-card-head span{
  font-size:10px;
}

.cultural-index-card.is-compact .cultural-index-card-head strong{
  font-size:20px;
}

.cultural-index-card.is-compact .cultural-index-bar{
  height:6px;
}

/* Tooltip for IPI/CBI replaces the old always-visible narrative text. */
.app-tooltip .app-tooltip-extra{
  color:#cdd8f3;
  border-top:1px solid rgba(142,159,201,.14);
  margin-top:8px;
  padding-top:8px;
}


/* === v1.9.240 region select + Defrag pass bar correction === */

/* The compact Index Matrix keeps the actual region select visible.
   Only the label above it stays visually hidden. */
.cultural-index-section .cultural-index-region > span:not(.sr-only){
  display:none;
}

.cultural-index-section .cultural-index-region select,
.cultural-index-section #culturalIndexRegionSelect{
  position:static;
  inline-size:100%;
  block-size:auto;
  min-height:38px;
  opacity:1;
  pointer-events:auto;
  display:block;
}

.cultural-index-section .cultural-index-picker{
  display:none;
}

/* Defrag pass bar typography: one size, only controlled weights. */
.archive-defrag-badge,
.archive-pass-progress,
.archive-pass-copy,
.archive-pass-copy span,
.archive-pass-copy em,
.archive-pass-copy strong,
.archive-pass-label,
.archive-pass-label strong,
.archive-pass-count,
.archive-pass-percent{
  font-size:13px;
  line-height:1;
}

.archive-pass-label{
  font-weight:400;
  color:#fff;
}

.archive-pass-label strong{
  font-weight:700;
  color:#fff;
}

.archive-pass-copy em,
.archive-pass-count{
  font-weight:400;
  color:#fff;
  font-style:normal;
}

.archive-pass-percent{
  color:#ffe29b;
  font-weight:700;
}

.archive-pass-progress b{
  opacity:.76;
}


/* === v1.9.240 Index Matrix trigger + Visual Repair lightening === */

/* Index Matrix header: title and modal trigger share a clean centered axis. */
.cultural-index-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
}

.cultural-index-head h2{
  margin:0;
  line-height:1;
}

/* Make the Index Matrix opener the same compact circular control language as the cycle settings button. */
.index-inline-trigger{
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.24);
  background:
    radial-gradient(circle at 30% 20%, rgba(115,213,255,.14), transparent 48%),
    rgba(8,12,24,.72);
  color:#dfe8ff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 0 1px rgba(255,255,255,.02);
  line-height:1;
}

.index-inline-trigger:hover,
.index-inline-trigger:focus-visible{
  border-color:rgba(115,213,255,.44);
  background:
    radial-gradient(circle at 30% 20%, rgba(115,213,255,.22), transparent 52%),
    rgba(12,18,34,.9);
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 18px rgba(115,213,255,.14);
}

/* Visual Repair becomes a light action row, not a heavy alert panel. */
.archive-repair-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  min-height:42px;
  margin-top:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.archive-repair-panel.is-damaged,
.archive-repair-panel.is-repaired{
  border:0;
  background:transparent;
  box-shadow:none;
}

.archive-repair-copy{
  min-height:0;
}

.archive-repair-copy p{
  margin:0;
  color:#aebbd8;
  font-size:11px;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:700;
}

.archive-repair-state{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:13px;
  border:1px solid rgba(74,221,128,.36);
  background:rgba(17,58,45,.5);
  color:#dfffea;
  font-size:13px;
  font-weight:700;
  line-height:1;
}

/* Repair button now uses the updated -3 recovery credit price from JS. */
.archive-repair-panel .archive-user-action{
  min-height:38px;
  padding-inline:18px;
}


/* === v1.9.240 fragment note + shared signal gallery === */
.archive-fragment-note.is-inline-note{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(142,159,201,.16);
}
.archive-fragment-note.is-inline-note span{display:none;}
.archive-fragment-note.is-inline-note textarea{min-height:94px;}
.archive-signal-gallery-panel{display:grid;gap:12px;margin-top:6px;}
.archive-signal-gallery-divider{width:100%;height:1px;background:linear-gradient(90deg, rgba(142,159,201,0), rgba(142,159,201,.22) 18%, rgba(142,159,201,.22) 82%, rgba(142,159,201,0));}
.archive-signal-gallery-row{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.archive-signal-gallery-copy p{margin:0 0 5px;color:#aebbd8;font-size:11px;line-height:1;letter-spacing:.13em;text-transform:uppercase;font-weight:700;}
.archive-signal-gallery-copy span{color:#dce5f7;font-size:13px;line-height:1.35;}
.archive-signal-gallery-panel .archive-user-action[disabled]{opacity:.46;cursor:not-allowed;}
.archive-lightbox-body{position:relative;}
.archive-lightbox-gallery.hidden{display:none;}
.archive-lightbox-gallery{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:10px;max-width:min(78vw, 860px);padding:15px;border:none;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;overflow-x:auto;z-index:5;}
.archive-lightbox-thumb{width:78px;min-width:78px;height:78px;padding:0;border-radius:14px;border:none;background:transparent;overflow:hidden;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;}
.archive-lightbox-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.archive-lightbox-thumb:hover,.archive-lightbox-thumb:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(245,199,92,.18), 0 10px 24px rgba(0,0,0,.22);}
.archive-lightbox-thumb.is-active{box-shadow:0 0 0 1px rgba(245,199,92,.22), 0 0 22px rgba(245,199,92,.14);}

.archive-lightbox.is-zoomed .archive-lightbox-viewport{position:relative;z-index:7;}
.archive-lightbox.is-zoomed .archive-lightbox-gallery{z-index:2;}
.archive-lightbox.is-zoomed .archive-lightbox-label{z-index:8;}
@media (max-width: 920px){.archive-signal-gallery-row{flex-direction:column;align-items:flex-start;}.archive-lightbox-gallery{max-width:calc(100vw - 28px);bottom:16px;justify-content:flex-start;}}


/* === v1.9.240 variant-aware Merged Sector Chronology colors ===
   Chronology slots now follow fragment state, not just section:
   locked/discarded = muted, analyzed image = blue, unstable/repairable = violet, repaired = green, text = amber. */
.ithrael-story-marker.is-state-locked,
.ithrael-story-marker.is-state-discarded{
  opacity:.42;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10) 0 25%, transparent 25% 50%, rgba(255,255,255,.10) 50% 75%, transparent 75% 100%),
    rgba(125,135,156,.24);
  background-size:8px 8px;
  box-shadow:0 0 0 1px rgba(125,135,156,.16) inset;
}

.ithrael-story-marker.is-state-unstable,
.ithrael-story-marker.is-state-image,
.ithrael-story-marker.is-state-text,
.ithrael-story-marker.is-state-mixed,
.ithrael-story-marker.is-state-analyzed,
.ithrael-story-marker.is-state-processed,
.ithrael-story-marker.is-state-repaired{
  opacity:1;
  background:var(--story-color,#6fa7ff);
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--story-color,#6fa7ff) 38%, transparent) inset,
    0 0 14px color-mix(in srgb,var(--story-color,#6fa7ff) 36%, transparent);
}

.ithrael-story-marker.is-state-unstable{
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb,var(--story-color,#a778ff) 84%, #ffffff 10%), var(--story-color,#a778ff));
  box-shadow:
    0 0 0 1px rgba(167,120,255,.44) inset,
    0 0 18px rgba(167,120,255,.34);
}

.ithrael-story-marker.is-state-repaired{
  background:
    linear-gradient(135deg, color-mix(in srgb,var(--story-color,#58d98a) 88%, #ffffff 12%), var(--story-color,#58d98a));
  box-shadow:
    0 0 0 1px rgba(88,217,138,.44) inset,
    0 0 18px rgba(88,217,138,.34);
}

.ithrael-story-marker.is-state-text{
  box-shadow:
    0 0 0 1px rgba(255,226,155,.36) inset,
    0 0 14px rgba(255,226,155,.28);
}

.ithrael-story-marker.is-trash.is-state-unstable,
.ithrael-story-marker.is-trash.is-state-repaired,
.ithrael-story-marker.is-trash.is-state-image,
.ithrael-story-marker.is-trash.is-state-text,
.ithrael-story-marker.is-trash.is-state-mixed,
.ithrael-story-marker.is-trash.is-state-analyzed{
  opacity:.95;
}

.ithrael-story-marker.is-selected{
  opacity:1;
  box-shadow:
    0 0 0 1px rgba(255,226,155,.68) inset,
    0 0 18px rgba(255,226,155,.38),
    0 0 36px color-mix(in srgb,var(--story-color,#6fa7ff) 48%, transparent);
}


/* === v1.9.240 Propaganda Resonance Index === */
.cultural-index-cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.index-kpi-row{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.cultural-index-card.is-propaganda{
  --index-color:#c084fc;
}
.index-chart-dot.is-propaganda{
  stroke:#c084fc;
}
.halley-index-strip span.is-propaganda{
  border-color:rgba(192,132,252,.44);
  box-shadow:0 0 14px rgba(192,132,252,.12);
}
.cultural-index-card.is-compact.is-propaganda{
  background:
    radial-gradient(circle at 0 0, rgba(192,132,252,.18), transparent 44%),
    rgba(8,12,24,.7);
}
.index-tabs button[data-index-view="propaganda"].is-active{
  border-color:rgba(192,132,252,.55);
  box-shadow:0 0 18px rgba(192,132,252,.14);
}
@media (max-width:1300px){
  .index-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1000px){
  .cultural-index-cards,
  .index-kpi-row{grid-template-columns:1fr;}
}


/* v1.9.240: linked gallery cue inside reconstructed image preview */
.archive-image-frame.has-linked-gallery .archive-image-gallery-indicator{
  position:absolute;
  left:15px;
  bottom:15px;
  width:25px;
  height:22px;
  display:block;
  pointer-events:none;
  opacity:.68;
  filter:drop-shadow(0 0 10px rgba(245,199,92,.14));
}
.archive-image-frame.has-linked-gallery .archive-image-gallery-indicator i{
  position:absolute;
  display:block;
  width:14px;
  height:10px;
  border-radius:4px;
  border:1px solid rgba(245,199,92,.34);
  background:rgba(4,8,18,.36);
}
.archive-image-frame.has-linked-gallery .archive-image-gallery-indicator i:first-child{
  left:2px;
  top:9px;
  opacity:.62;
}
.archive-image-frame.has-linked-gallery .archive-image-gallery-indicator i:last-child{
  left:8px;
  top:4px;
}
.archive-image-frame:hover .archive-image-gallery-indicator{
  opacity:.9;
}

/* === v1.9.240 visual repair notice fade === */
.archive-repair-panel{
  max-height:70px;
  opacity:1;
  transform:translateY(0);
  overflow:hidden;
  transition:
    opacity .62s cubic-bezier(.22,.61,.36,1),
    transform .62s cubic-bezier(.22,.61,.36,1),
    max-height .62s cubic-bezier(.22,.61,.36,1),
    margin-top .62s cubic-bezier(.22,.61,.36,1);
}

.archive-repair-panel.is-fading-out{
  max-height:0;
  margin-top:0;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
}


/* === v1.9.240 chronology variant rule note ===
   Purple unstable slots are reserved for explicit __damaged variants.
   Normal corrupted/signal/clean inventory stays hatched until the user processes it. */


/* === v1.9.240 Recovery decision + repair-state cleanup === */
.archive-repair-panel{
  overflow:visible;
}
.archive-repair-panel.is-repaired,
.archive-repair-state{
  display:none;
}


/* === v1.9.240 damaged state + Selair defrag gate === */
.archive-entry.is-damaged{
  border-color:rgba(167,120,255,.54);
  box-shadow:0 0 0 1px rgba(167,120,255,.14) inset,0 0 24px rgba(167,120,255,.12);
}
.archive-entry.is-damaged em{
  color:#d7bdff;
}
.archive-detail-top:not(.is-repaired) span{
  border-color:color-mix(in srgb,var(--archive-accent,#9fb0d1) 60%,rgba(142,159,201,.22));
}
.archive-modal.is-trash-view .archive-entry.is-analyzed strong::after,
.archive-modal.is-trash-view .archive-entry.is-damaged strong::after{
  content:'';
}
.archive-modal.is-trash-view .archive-entry.is-analyzed,
.archive-modal.is-trash-view .archive-entry.is-damaged{
  border-color:var(--archive-accent,rgba(142,159,201,.32));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--archive-accent,#9fb0d1) 16%,transparent) inset,0 0 18px color-mix(in srgb,var(--archive-accent,#9fb0d1) 10%,transparent);
}
.archive-modal.is-trash-view .archive-selection-actions-label::after{
  content:'';
}
.archive-guess-panel.is-selair-refused{
  cursor:not-allowed;
  min-height:74px;
  border-color:rgba(167,120,255,.22);
  background:radial-gradient(circle at 50% 50%,rgba(167,120,255,.10),transparent 60%),rgba(255,255,255,.02);
}
.archive-guess-panel.is-selair-refused .archive-guess-note{
  min-height:1px;
}


/* === v1.9.240 trash card parity / stale asset distinction ===
   Trash is a gameplay location, not an error state. Cards in Trash now keep the
   same state colors as Reconstructed Files: analyzed blue, damaged purple,
   repaired green. The muted grey treatment is reserved for truly problematic
   stale/missing assets. */
.archive-modal.is-trash-view .archive-entry.is-analyzed,
.archive-modal.is-trash-view .archive-entry.is-damaged,
.archive-modal.is-trash-view .archive-entry.is-repaired{
  opacity:1;
  color:#e9efff;
  border-color:var(--archive-accent,rgba(142,159,201,.32));
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--archive-accent,#9fb0d1) 16%,transparent) inset,0 0 18px color-mix(in srgb,var(--archive-accent,#9fb0d1) 12%,transparent);
}
.archive-modal.is-trash-view .archive-entry.is-analyzed em,
.archive-modal.is-trash-view .archive-entry.is-damaged em,
.archive-modal.is-trash-view .archive-entry.is-repaired em{
  color:var(--archive-accent,#9fb0d1);
  opacity:.95;
}
.archive-modal.is-trash-view .archive-entry.is-problem,
.archive-entry.is-problem{
  opacity:.62;
  border-color:rgba(125,135,156,.30);
  background:linear-gradient(180deg,rgba(125,135,156,.07),rgba(8,12,24,.66));
  box-shadow:none;
}
.archive-modal.is-trash-view .archive-entry.is-problem i,
.archive-modal.is-trash-view .archive-entry.is-problem strong,
.archive-modal.is-trash-view .archive-entry.is-problem span,
.archive-modal.is-trash-view .archive-entry.is-problem em{
  color:#8f9bb8;
}

/* === v1.9.240 Archive Assets Manager === */
.ithrael-upload-window.is-assets-manager{
  width:min(1180px,calc(100vw - 32px));
  max-height:calc(100vh - 42px);
  display:flex;
  flex-direction:column;
}
.ithrael-upload-form.is-assets-manager{
  overflow:auto;
  grid-template-columns:1fr;
  gap:14px;
}
.ithrael-assets-manager-grid{
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr);
  gap:14px;
  min-height:min(62vh,680px);
}
.ithrael-assets-panel{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(142,159,201,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
}
.ithrael-assets-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.ithrael-assets-panel-head strong{
  display:block;
  color:#ffe29b;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ithrael-assets-panel-head span{
  display:block;
  margin-top:4px;
  color:#9fb0d1;
  font-size:12px;
  font-weight:400;
  letter-spacing:0;
  line-height:1.4;
  text-transform:none;
}
.ithrael-assets-panel-head code{color:#cbb7ff;background:rgba(0,0,0,.24);border:1px solid rgba(142,159,201,.14);border-radius:8px;padding:1px 5px;}
.ithrael-assets-panel-head em{
  flex:0 0 auto;
  color:#c8d4ef;
  font-size:11px;
  font-style:normal;
  white-space:nowrap;
}
.ithrael-upload-file-list{flex:1 1 auto;max-height:330px;overflow:auto;}
.ithrael-upload-queue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#c8d4ef;}
.ithrael-upload-queue-head strong{color:#ffe29b;font-size:11px;letter-spacing:.10em;text-transform:uppercase;}
.ithrael-upload-queue-head span{color:#9fb0d1;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;}
.ithrael-upload-file-list li{align-items:center;}
.ithrael-upload-file-list li div{min-width:0;display:grid;gap:3px;}
.ithrael-upload-file-list li button{flex:0 0 auto;width:28px;height:28px;min-height:0;padding:0;border-radius:10px;border:1px solid rgba(142,159,201,.18);background:rgba(8,12,24,.72);color:#dce6ff;font-size:18px;line-height:1;cursor:pointer;}
.ithrael-upload-file-list li button:hover{border-color:rgba(255,92,92,.45);color:#ffb4b4;}
.ithrael-upload-submit{min-height:46px;border-radius:15px;border:1px solid rgba(245,199,92,.45);background:linear-gradient(180deg,rgba(245,199,92,.96),rgba(210,145,33,.96));color:#08101e;font-weight:700;cursor:pointer;box-shadow:0 0 22px rgba(245,199,92,.18);}
.ithrael-assets-toolbar{display:grid;gap:9px;}
.ithrael-assets-toolbar input{width:100%;min-height:39px;border-radius:14px;border:1px solid rgba(142,159,201,.18);background:rgba(4,8,18,.72);color:#eef3ff;padding:0 12px;font-weight:700;}
.ithrael-assets-filters,.ithrael-assets-actions{display:flex;flex-wrap:wrap;gap:7px;}
.ithrael-assets-filters button,.ithrael-assets-actions button{min-height:31px;padding:0 10px;border-radius:11px;border:1px solid rgba(142,159,201,.16);background:rgba(8,12,24,.72);color:#dce6ff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.ithrael-assets-filters button:hover,.ithrael-assets-actions button:hover{border-color:rgba(245,199,92,.42);color:#ffe29b;}
.ithrael-assets-actions button.is-danger:hover{border-color:rgba(255,92,92,.46);color:#ffb4b4;}
.ithrael-assets-actions button:disabled{opacity:.48;cursor:wait;}
.ithrael-upload-inventory-list{flex:1 1 auto;min-height:260px;max-height:460px;overflow:auto;padding-right:4px;}
.ithrael-upload-inventory-list ul{display:grid;gap:7px;margin:0;padding:0;list-style:none;}
.ithrael-upload-inventory-list li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border-radius:13px;border:1px solid rgba(142,159,201,.10);background:rgba(4,8,18,.58);}
.ithrael-upload-inventory-list li.is-structured{border-color:rgba(88,217,138,.18);}
.ithrael-upload-inventory-list li.is-unindexed{border-color:rgba(245,199,92,.16);}
.ithrael-upload-inventory-list label{min-width:0;display:flex;align-items:center;gap:8px;}
.ithrael-upload-inventory-list input[type="checkbox"]{flex:0 0 auto;width:16px;height:16px;}
.ithrael-upload-inventory-list label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eef3ff;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;}
.assets-file-meta{display:flex;align-items:center;gap:6px;color:#9fb0d1;font-size:10px;white-space:nowrap;}
.assets-file-meta b{color:#c8d4ef;font-size:10px;text-transform:uppercase;}
.assets-file-meta em{font-style:normal;color:#ffe29b;}
.assets-file-meta small{color:#8f9fc3;font-size:10px;}
.assets-preview-card{position:absolute;right:14px;top:calc(100% + 8px);z-index:20;width:260px;display:none;padding:10px;border-radius:16px;border:1px solid rgba(245,199,92,.28);background:linear-gradient(180deg,rgba(10,14,29,.98),rgba(4,7,16,.98));box-shadow:0 18px 64px rgba(0,0,0,.55),0 0 34px rgba(245,199,92,.12);pointer-events:none;}
.ithrael-upload-inventory-list li:hover .assets-preview-card{display:grid;gap:7px;}
.assets-preview-card img{width:100%;max-height:180px;object-fit:contain;border-radius:11px;background:#02040b;border:1px solid rgba(142,159,201,.12);}
.assets-preview-card span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;color:#dce6ff;font-size:11px;white-space:nowrap;}
.assets-preview-card strong{color:#ffe29b;font-size:11px;letter-spacing:.12em;text-transform:uppercase;}
.assets-preview-card em{color:#9fb0d1;font-size:11px;font-style:normal;}
.ithrael-server-empty{margin:0;color:#9fb0d1;font-size:12px;}
.ithrael-server-empty.is-error{color:#ffb4b4;}
@media (max-width:980px){.ithrael-assets-manager-grid{grid-template-columns:1fr;}.ithrael-upload-inventory-list{max-height:360px;}.assets-preview-card{left:14px;right:auto;}}


/* === v1.9.240 Archive Assets Manager layout + native app tooltip preview === */
.ithrael-upload-window.is-assets-manager{
  width:min(1220px,calc(100vw - 36px));
  height:min(790px,calc(100vh - 36px));
  max-height:none;
}
.ithrael-upload-form.is-assets-manager{
  min-height:0;
  flex:1 1 auto;
  padding:16px;
  gap:12px;
}
.ithrael-assets-manager-grid{
  grid-template-columns:minmax(320px,.92fr) minmax(360px,1.08fr);
  gap:16px;
  min-height:0;
  flex:1 1 auto;
}
.ithrael-assets-panel{
  min-height:0;
  border-radius:22px;
}
.ithrael-assets-panel-head span{
  margin-top:3px;
}
.ithrael-assets-toolbar{
  gap:6px;
}
.ithrael-assets-toolbar input{
  min-height:37px;
}
.ithrael-assets-filters,
.ithrael-assets-actions{
  gap:5px;
}
.ithrael-assets-filters button,
.ithrael-assets-actions button{
  min-height:28px;
  padding:0 9px;
  border-radius:10px;
  font-size:9px;
  line-height:1;
}
.ithrael-upload-inventory-list{
  min-height:0;
  max-height:none;
}
.ithrael-upload-inventory-list li{
  padding:8px 10px;
}
.assets-preview-card{
  display:none;
}
.asset-tooltip-preview{
  display:grid;
  gap:8px;
  min-width:0;
}
.asset-tooltip-preview img{
  width:100%;
  max-height:220px;
  object-fit:contain;
  border-radius:13px;
  background:#02040b;
  border:1px solid rgba(142,159,201,.16);
  box-shadow:0 10px 28px rgba(0,0,0,.32);
}
.asset-tooltip-preview span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#dce6ff;
  font-size:11px;
}
.asset-tooltip-preview strong{
  color:#ffe29b;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.asset-tooltip-preview em{
  color:#9fb0d1;
  font-size:11px;
  font-style:normal;
}
@media (max-width:980px){
  .ithrael-upload-window.is-assets-manager{width:calc(100vw - 22px);height:calc(100vh - 22px);}
  .ithrael-assets-manager-grid{grid-template-columns:1fr;overflow:auto;}
  .ithrael-upload-inventory-list{max-height:360px;}
}


/* === v1.9.240 Metadata Gate / Asset Tagging === */
.assets-metadata-quickset,
.assets-metadata-editor{
  display:grid;
  gap:8px;
  padding:11px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.14);
  background:rgba(255,255,255,.025);
}
.assets-metadata-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.assets-metadata-title strong{
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.assets-metadata-title em,
.assets-metadata-status{
  color:#9fb0d1;
  font-size:10px;
  font-style:normal;
}
.assets-metadata-status.is-valid{color:#bfffd0;}
.assets-metadata-status.is-missing{color:#ffcf9b;}
.assets-metadata-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.assets-metadata-quickset input,
.assets-metadata-editor input{
  min-height:34px;
  border-radius:11px;
  border:1px solid rgba(142,159,201,.16);
  background:rgba(4,8,18,.72);
  color:#eef3ff;
  padding:0 10px;
  font-size:12px;
  font-weight:600;
}
.assets-metadata-quickset > input,
.assets-metadata-editor > input{
  width:100%;
}
.assets-metadata-editor button{
  min-height:34px;
  border-radius:12px;
  border:1px solid rgba(245,199,92,.42);
  background:rgba(245,199,92,.12);
  color:#ffe29b;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.ithrael-upload-inventory-list li.is-metadata-missing{
  border-color:rgba(142,159,201,.12);
  background:linear-gradient(135deg,rgba(125,135,156,.11),rgba(4,8,18,.52));
  filter:saturate(.68);
}
.ithrael-upload-inventory-list li.is-metadata-valid{
  border-color:rgba(88,217,138,.20);
}
.assets-file-meta button{
  min-height:24px;
  padding:0 8px;
  border-radius:9px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.72);
  color:#dce6ff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.assets-file-meta button:hover{
  border-color:rgba(245,199,92,.42);
  color:#ffe29b;
}
.archive-entry.is-metadata-missing{
  --archive-accent:#7d879c;
  border-color:rgba(125,135,156,.24);
  background:linear-gradient(135deg,rgba(125,135,156,.11),rgba(4,8,18,.62));
  filter:saturate(.62);
}
.archive-entry.is-metadata-missing strong,
.archive-entry.is-metadata-missing span{
  color:#9aa6bf;
}
.archive-entry.is-metadata-missing em{
  color:#b8c2d8;
}
@media (max-width:860px){
  .assets-metadata-grid{grid-template-columns:1fr;}
}


/* === v1.9.240 Asset Metadata Inspector === */
.ithrael-upload-window.is-assets-manager{
  width:min(1220px,calc(100vw - 36px));
  height:min(790px,calc(100vh - 36px));
}
.ithrael-assets-manager-grid{
  grid-template-columns:minmax(330px,.88fr) minmax(430px,1.12fr);
}
.ithrael-upload-inventory-list{
  min-height:0;
  max-height:none;
}
.assets-file-meta .assets-options-btn{
  width:30px;
  min-width:30px;
  height:26px;
  padding:0;
  border-radius:10px;
  font-size:16px;
  line-height:1;
  letter-spacing:0;
}
.asset-inspector-modal.hidden{display:none;}
.asset-inspector-modal{
  position:fixed;
  inset:0;
  z-index:9800;
  display:grid;
  place-items:center;
  color:#eef3ff;
}
.asset-inspector-backdrop{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 58% 34%,rgba(245,199,92,.14),transparent 34%),radial-gradient(circle at 34% 72%,rgba(121,93,255,.18),transparent 34%),rgba(1,3,9,.68);
  backdrop-filter:blur(10px);
}
.asset-inspector-window{
  position:relative;
  width:min(1040px,calc(100vw - 58px));
  height:min(690px,calc(100vh - 58px));
  display:flex;
  flex-direction:column;
  border:1px solid rgba(245,199,92,.28);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(11,15,30,.98),rgba(5,8,18,.99));
  box-shadow:0 32px 120px rgba(0,0,0,.74),0 0 70px rgba(245,199,92,.13);
  overflow:hidden;
}
.asset-inspector-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border-bottom:1px solid rgba(142,159,201,.16);
  background:linear-gradient(90deg,rgba(245,199,92,.11),rgba(167,120,255,.07));
}
.asset-inspector-head p{margin:0 0 5px;color:#ffe29b;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.asset-inspector-head span{display:block;color:#aebde1;font-size:13px;line-height:1.45;}
.asset-inspector-head button{min-width:54px;height:38px;border-radius:14px;border:1px solid rgba(142,159,201,.22);background:rgba(8,12,24,.74);color:#dce6ff;font-weight:700;cursor:pointer;}
.asset-inspector-body{
  min-height:0;
  flex:1 1 auto;
  display:grid;
  grid-template-columns:minmax(280px,.88fr) minmax(390px,1.12fr);
  gap:16px;
  padding:16px;
}
.asset-inspector-preview-panel,
.asset-inspector-form{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(142,159,201,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
}
.asset-inspector-preview-panel > strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#ffe29b;
  font-size:12px;
  letter-spacing:.05em;
}
.asset-inspector-preview{
  min-height:0;
  flex:1 1 auto;
  display:grid;
  place-items:center;
  gap:9px;
  border-radius:18px;
  border:1px solid rgba(142,159,201,.14);
  background:rgba(4,8,18,.66);
  overflow:hidden;
}
.asset-inspector-preview img{width:100%;height:100%;object-fit:contain;display:block;background:#02040b;}
.asset-inspector-preview > span{align-self:end;color:#9fb0d1;font-size:11px;padding:0 10px 10px;}
.asset-inspector-preview-panel p{margin:0;color:#9fb0d1;font-size:12px;line-height:1.5;}
.asset-inspector-file-preview{display:grid;place-items:center;gap:8px;color:#9fb0d1;text-align:center;padding:20px;}
.asset-inspector-file-preview strong{color:#ffe29b;font-size:12px;letter-spacing:.14em;text-transform:uppercase;}
.asset-inspector-file-preview span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dce6ff;}
.asset-inspector-file-preview em{font-style:normal;color:#9fb0d1;}
.asset-inspector-form{overflow:auto;}
.asset-inspector-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.asset-inspector-status-row strong{color:#ffe29b;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.asset-inspector-status{font-size:10px;font-style:normal;color:#ffcf9b;text-align:right;}
.asset-inspector-status.is-valid{color:#bfffd0;}
.asset-field{display:grid;gap:6px;}
.asset-field span,.asset-time-picker span{color:#9fb0d1;font-size:10px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;}
.asset-field input,.asset-field textarea,.asset-time-picker input,.asset-time-picker select{
  width:100%;
  min-height:36px;
  border-radius:12px;
  border:1px solid rgba(142,159,201,.16);
  background:rgba(4,8,18,.72);
  color:#eef3ff;
  padding:0 10px;
  font-size:12px;
  font-weight:600;
}
.asset-field textarea{min-height:74px;padding:10px;resize:vertical;line-height:1.45;}
.asset-field input:focus,.asset-field textarea:focus,.asset-time-picker input:focus,.asset-time-picker select:focus{outline:none;border-color:rgba(245,199,92,.52);box-shadow:0 0 0 3px rgba(245,199,92,.09);}
.asset-inspector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.asset-time-picker{display:grid;grid-template-columns:1.2fr repeat(4,.72fr) 1fr;gap:7px;align-items:end;}
.asset-time-picker label{display:grid;gap:6px;}
#assetInspectorSave{min-height:42px;border-radius:14px;border:1px solid rgba(245,199,92,.45);background:linear-gradient(180deg,rgba(245,199,92,.96),rgba(210,145,33,.96));color:#08101e;font-weight:700;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;}
@media (max-width:900px){
  .asset-inspector-window{width:calc(100vw - 22px);height:calc(100vh - 22px);border-radius:22px;}
  .asset-inspector-body{grid-template-columns:1fr;overflow:auto;}
  .asset-inspector-preview-panel{min-height:280px;}
  .asset-time-picker{grid-template-columns:repeat(2,minmax(0,1fr));}
  .asset-inspector-grid{grid-template-columns:1fr;}
}


/* === v1.9.242 Fragment Package Manager === */
.ithrael-upload-inventory-list li.is-package{
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:10px 11px;
}
.ithrael-upload-inventory-list li.is-package.is-metadata-valid{
  border-color:rgba(88,217,138,.22);
}
.ithrael-upload-inventory-list li.is-package.is-metadata-missing{
  border-color:rgba(142,159,201,.16);
}
.ithrael-upload-inventory-list li.is-package label{align-items:flex-start;gap:10px;}
.ithrael-upload-inventory-list li.is-package label > span{display:grid;gap:3px;align-content:start;}
.ithrael-upload-inventory-list li.is-package label strong{
  display:block;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#eef3ff;font-size:12px;font-weight:700;
}
.ithrael-upload-inventory-list li.is-package label em{
  display:block;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#8f9fc3;font-size:10px;font-style:normal;
}
.ithrael-upload-inventory-list li.is-package label small{
  display:flex;flex-wrap:wrap;gap:5px;align-items:center;color:#9fb0d1;font-size:10px;
}
.ithrael-assets-variant-pill{
  display:inline-flex;align-items:center;justify-content:center;min-height:19px;padding:0 7px;border-radius:999px;
  border:1px solid rgba(142,159,201,.18);background:rgba(8,12,24,.68);
  color:#dce6ff;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.ithrael-assets-variant-pill.is-clean{border-color:rgba(88,217,138,.35);color:#7ef0aa;}
.ithrael-assets-variant-pill.is-signal{border-color:rgba(124,161,255,.35);color:#9dbcff;}
.ithrael-assets-variant-pill.is-damaged{border-color:rgba(179,128,255,.35);color:#d3b5ff;}
.ithrael-assets-variant-pill.is-text{border-color:rgba(245,199,92,.32);color:#ffe29b;}
.ithrael-assets-package-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;justify-content:flex-end;min-width:0;}
.ithrael-assets-package-meta b{color:#c8d4ef;font-size:10px;text-transform:uppercase;}
.ithrael-assets-package-meta small{color:#8f9fc3;font-size:10px;}
.ithrael-assets-package-meta .assets-options-btn{margin-left:2px;}

.asset-inspector-preview{align-content:start;justify-items:stretch;padding:12px;overflow:auto;}
.asset-inspector-package-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px;}
.asset-inspector-package-tab{
  min-height:28px;padding:0 10px;border-radius:11px;border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.74);color:#dce6ff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
}
.asset-inspector-package-tab:hover{border-color:rgba(245,199,92,.42);color:#ffe29b;}
.asset-inspector-package-tab.is-active{border-color:rgba(245,199,92,.48);background:rgba(245,199,92,.14);color:#ffe29b;}
.asset-inspector-package-canvas{
  min-height:0;flex:1 1 auto;display:grid;place-items:center;gap:9px;border-radius:16px;border:1px solid rgba(142,159,201,.14);
  background:rgba(4,8,18,.72);overflow:hidden;padding:0;
}
.asset-inspector-package-canvas img{width:100%;height:100%;object-fit:contain;display:block;background:#02040b;}
.asset-inspector-package-caption{display:grid;gap:4px;}
.asset-inspector-package-caption strong{color:#dce6ff;font-size:11px;font-weight:700;}
.asset-inspector-package-caption span{color:#9fb0d1;font-size:11px;}
.asset-inspector-package-variants-line{display:flex;flex-wrap:wrap;gap:6px;}


/* === v1.9.242 Variant flow / missing variant upload === */
.asset-inspector-variant-control{
  display:grid;
  gap:10px;
  padding:11px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.14);
  background:rgba(255,255,255,.025);
}
.asset-inspector-variant-control-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.asset-inspector-variant-control-head strong{
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.asset-inspector-variant-control-head span{
  display:block;
  margin-top:3px;
  color:#9fb0d1;
  font-size:11px;
  line-height:1.35;
}
.asset-inspector-variant-control select{
  min-height:36px;
  border-radius:12px;
  border:1px solid rgba(142,159,201,.16);
  background:rgba(4,8,18,.72);
  color:#eef3ff;
  padding:0 10px;
  font-size:12px;
  font-weight:700;
}
.asset-inspector-missing-variants{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.asset-inspector-missing-variants button{
  min-height:30px;
  padding:0 10px;
  border-radius:11px;
  border:1px dashed rgba(245,199,92,.35);
  background:rgba(245,199,92,.08);
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.asset-inspector-missing-variants button:hover{
  background:rgba(245,199,92,.14);
  border-style:solid;
}
.asset-inspector-missing-variants em{
  color:#9fb0d1;
  font-size:11px;
  font-style:normal;
  align-self:center;
}
.asset-inspector-package-tab.is-missing{
  border-style:dashed;
  opacity:.68;
}
.asset-inspector-package-tab.is-preferred::after{
  content:' · flow';
  color:#ffe29b;
  font-size:9px;
}


/* === v1.9.244 Manager layout + variant tab polish === */
.ithrael-upload-modal .ithrael-upload-window.is-assets-manager{
  width:min(1220px,calc(100vw - 36px));
  height:min(790px,calc(100vh - 36px));
  max-width:none;
  max-height:none;
  display:flex;
  flex-direction:column;
}
.ithrael-upload-window.is-assets-manager .ithrael-upload-form.is-assets-manager{
  min-height:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.ithrael-upload-window.is-assets-manager .ithrael-assets-manager-grid{
  min-height:0;
  flex:1 1 auto;
}
.ithrael-assets-package-meta .assets-options-btn,
.ithrael-upload-inventory-list .assets-options-btn{
  width:30px;
  min-width:30px;
  height:26px;
  min-height:26px;
  padding:0;
  border-radius:10px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.72);
  color:#dce6ff;
  font-size:16px;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.ithrael-assets-package-meta .assets-options-btn:hover,
.ithrael-upload-inventory-list .assets-options-btn:hover{
  border-color:rgba(245,199,92,.42);
  color:#ffe29b;
  background:rgba(245,199,92,.10);
}
.asset-field.is-hidden{display:none;}
.asset-inspector-package-tabs{align-items:center;}
.asset-inspector-package-tab{
  transition:border-color .18s ease, background .18s ease, color .18s ease, opacity .18s ease;
}
.asset-inspector-package-tab.is-active{
  border-color:rgba(245,199,92,.58);
  background:rgba(245,199,92,.16);
  color:#ffe29b;
  box-shadow:0 0 0 1px rgba(245,199,92,.12) inset;
}
.asset-inspector-package-tab.is-missing{
  border-style:dashed;
  opacity:.72;
  background:rgba(245,199,92,.045);
}
.asset-inspector-package-tab.is-missing:hover{
  opacity:1;
  border-style:solid;
  background:rgba(245,199,92,.12);
}
.asset-inspector-package-tab.is-preferred::after{
  content:' · flow';
  color:#ffe29b;
  font-size:9px;
}
.asset-inspector-variant-control{
  border-color:rgba(245,199,92,.20);
}
.asset-inspector-package-canvas{
  min-height:260px;
}
.asset-inspector-package-canvas img{
  max-height:100%;
}
@media (max-width:980px){
  .ithrael-upload-modal .ithrael-upload-window.is-assets-manager{
    width:calc(100vw - 22px);
    height:calc(100vh - 22px);
  }
  .ithrael-upload-window.is-assets-manager .ithrael-upload-form.is-assets-manager{overflow:auto;}
}


/* === v1.9.244 verified manager hotfix === */
.ithrael-upload-modal:not(.hidden) .ithrael-upload-window.is-assets-manager{
  width:min(1220px,calc(100vw - 36px));
  height:min(790px,calc(100vh - 36px));
  max-width:none;
  max-height:none;
}
.ithrael-upload-inventory-list li.is-package .assets-options-btn,
.ithrael-assets-package-meta button.assets-options-btn,
.ithrael-upload-inventory-list button.assets-options-btn{
  display:inline-grid;
  place-items:center;
  width:30px;
  min-width:30px;
  height:26px;
  min-height:26px;
  padding:0;
  border-radius:10px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.72);
  color:#dce6ff;
  font:700 16px/1 inherit;
  letter-spacing:0;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
}
.ithrael-upload-inventory-list li.is-package .assets-options-btn:hover,
.ithrael-assets-package-meta button.assets-options-btn:hover,
.ithrael-upload-inventory-list button.assets-options-btn:hover{
  border-color:rgba(245,199,92,.42);
  background:rgba(245,199,92,.10);
  color:#ffe29b;
}
.asset-inspector-legacy-variant-field,
.asset-field.is-hidden{display:none;}
.asset-inspector-package-tab.is-missing::after{content:'';}


/* === v1.9.245 Final manager geometry + damaged flow cleanup === */
#ithraelUpload.ithrael-upload-modal.hidden{
  display:none;
}
#ithraelUpload.ithrael-upload-modal:not(.hidden){
  display:grid;
  place-items:center;
}
#ithraelUpload.ithrael-upload-modal:not(.hidden) > .ithrael-upload-window.is-assets-manager{
  width:min(var(--angol-modal-max-w,1640px),calc(100vw - var(--angol-modal-margin,10vh)));
  height:min(var(--angol-modal-max-h,960px),calc(100vh - var(--angol-modal-margin,10vh)));
  max-width:none;
  max-height:none;
  min-height:0;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
}
#ithraelUpload .ithrael-upload-form.is-assets-manager{
  min-height:0;
  flex:1 1 auto;
  overflow:hidden;
}
#ithraelUpload .ithrael-assets-manager-grid{
  min-height:0;
  flex:1 1 auto;
}
#ithraelUpload .ithrael-assets-panel{
  min-height:0;
}
#ithraelUpload .ithrael-upload-inventory-list,
#ithraelUpload .ithrael-upload-file-list{
  min-height:0;
}
#ithraelUpload .ithrael-upload-inventory-list li.is-package .assets-options-btn,
#ithraelUpload .ithrael-assets-package-meta > button.assets-options-btn,
#ithraelUpload button.assets-options-btn{
  display:inline-grid;
  place-items:center;
  width:30px;
  min-width:30px;
  max-width:30px;
  height:26px;
  min-height:26px;
  max-height:26px;
  padding:0;
  margin:0;
  border-radius:10px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.82);
  color:#dce6ff;
  font-size:16px;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
}
#ithraelUpload .ithrael-upload-inventory-list li.is-package .assets-options-btn:hover,
#ithraelUpload .ithrael-assets-package-meta > button.assets-options-btn:hover,
#ithraelUpload button.assets-options-btn:hover{
  border-color:rgba(245,199,92,.42);
  background:rgba(245,199,92,.10);
  color:#ffe29b;
}
#ithraelAssetInspector #assetInspectorMissingVariants,
#ithraelAssetInspector [data-upload-package-variant],
#ithraelAssetInspector .asset-inspector-package-tab.is-missing{
  display:none;
}
#ithraelAssetInspector .asset-inspector-package-tab[data-inspector-variant="damaged"]{
  display:none;
}
.asset-inspector-flow-note{
  color:#9fb0d1;
  font-size:11px;
}
@media (max-width:980px){
  #ithraelUpload.ithrael-upload-modal:not(.hidden) > .ithrael-upload-window.is-assets-manager{
    width:calc(100vw - 18px);
    height:calc(100vh - 18px);
  }
  #ithraelUpload .ithrael-upload-form.is-assets-manager{overflow:auto;}
}


/* === v1.9.246 Upload modal visibility + geometry hotfix === */
#ithraelUpload.ithrael-upload-modal.hidden{
  display:none;
}
#ithraelUpload.ithrael-upload-modal:not(.hidden){
  display:grid;
  place-items:center;
}
#ithraelUpload.ithrael-upload-modal:not(.hidden) > .ithrael-upload-window.is-assets-manager{
  width:min(1640px,calc(100vw - 36px));
  height:min(960px,calc(100vh - 36px));
  max-width:none;
  max-height:none;
}
@media (max-width:980px){
  #ithraelUpload.ithrael-upload-modal:not(.hidden) > .ithrael-upload-window.is-assets-manager{
    width:calc(100vw - 18px);
    height:calc(100vh - 18px);
  }
}


/* === v1.9.247 Upload Autofill + Signal Update UX === */
#ithraelUpload.ithrael-upload-modal.hidden,
#ithraelUpload.hidden{display:none !important;}
#ithraelUpload .ithrael-upload-window.is-assets-manager{
  width:min(1640px, calc(100vw - 36px)) !important;
  height:min(960px, calc(100vh - 36px)) !important;
  max-width:none !important;
  max-height:none !important;
}
#ithraelUpload .ithrael-assets-panel.is-upload .assets-metadata-quickset{order:3;}
#ithraelUpload .ithrael-assets-panel.is-upload #ithraelUploadDropZone{order:1;}
#ithraelUpload .ithrael-assets-panel.is-upload #ithraelUploadFileList{order:2;}
#ithraelUpload .ithrael-assets-panel.is-upload .ithrael-upload-submit{order:4;}
#ithraelUpload .assets-metadata-quickset.is-autofilled{
  border-color:rgba(88,217,138,.28);
  box-shadow:0 0 0 1px rgba(88,217,138,.10),0 0 28px rgba(88,217,138,.06);
}
#ithraelUpload .assets-metadata-quickset.is-autofilled .assets-metadata-title strong::after{
  content:' · filename parsed';
  color:#7ef0aa;
  font-weight:700;
  letter-spacing:.08em;
}
#ithraelUpload .ithrael-assets-package-meta .assets-options-btn,
#ithraelUpload button.assets-options-btn,
#ithraelUpload .assets-file-meta .assets-options-btn{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  width:30px;
  min-width:30px;
  height:26px;
  min-height:26px;
  padding:0;
  border-radius:10px;
  border:1px solid rgba(142,159,201,.22);
  background:rgba(8,12,24,.78);
  color:#dce6ff;
  font-size:16px;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none;
}
#ithraelUpload button.assets-options-btn:hover{
  border-color:rgba(245,199,92,.48);
  color:#ffe29b;
  background:rgba(245,199,92,.10);
}
#ithraelAssetInspector .asset-inspector-window{
  width:min(1460px, calc(100vw - 44px)) !important;
  height:min(900px, calc(100vh - 44px)) !important;
}
#ithraelAssetInspector .asset-inspector-body{
  grid-template-columns:minmax(420px,.94fr) minmax(520px,1.06fr);
}
#ithraelAssetInspector .asset-inspector-preview{align-content:start;gap:11px;}
#ithraelAssetInspector .asset-inspector-package-canvas{min-height:420px;}
#ithraelAssetInspector .asset-inspector-package-caption{
  width:100%;
  display:grid;
  gap:7px;
  padding:0 2px;
  line-height:1.35;
}
#ithraelAssetInspector .asset-inspector-package-caption strong,
#ithraelAssetInspector .asset-inspector-package-caption span{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.35;
}
#ithraelAssetInspector .asset-inspector-package-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px;}
#ithraelAssetInspector .asset-inspector-package-actions button,
#ithraelAssetInspector .asset-inspector-package-tab.is-upload-action{
  appearance:none;
  -webkit-appearance:none;
  min-height:30px;
  padding:0 11px;
  border-radius:11px;
  border:1px solid rgba(245,199,92,.36);
  background:rgba(245,199,92,.10);
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
#ithraelAssetInspector .asset-inspector-package-actions button:hover,
#ithraelAssetInspector .asset-inspector-package-tab.is-upload-action:hover{
  background:rgba(245,199,92,.16);
  border-color:rgba(245,199,92,.56);
}
#ithraelAssetInspector .asset-inspector-package-tab.is-upload-action::before,
#ithraelAssetInspector .asset-inspector-package-actions button[data-v247-upload-variant]::before{
  content:'↥';
  margin-right:6px;
}
#ithraelAssetInspector .asset-inspector-flow-note{color:#9fb0d1;font-size:11px;}
@media (max-width:980px){
  #ithraelAssetInspector .asset-inspector-body{grid-template-columns:1fr;}
  #ithraelAssetInspector .asset-inspector-package-canvas{min-height:300px;}
}

/* === v1.9.248 Asset Inspector preview + variant-label polish === */
#ithraelAssetInspector .asset-inspector-window{
  width:min(1500px,calc(100vw - 44px));
  height:min(920px,calc(100vh - 44px));
}
#ithraelAssetInspector .asset-inspector-body{
  grid-template-columns:minmax(430px,.86fr) minmax(540px,1.14fr);
}
#ithraelAssetInspector .asset-inspector-preview-panel > strong{
  min-width:0;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  line-height:1.28;
  word-break:normal;
  overflow-wrap:anywhere;
}
#ithraelAssetInspector .asset-inspector-preview{
  display:block;
  min-height:0;
  padding:14px;
  overflow:auto;
}
#ithraelAssetInspector .asset-inspector-package-canvas{
  width:100%;
  aspect-ratio:1 / 1;
  max-height:min(56vh,620px);
  min-height:0;
  display:grid;
  place-items:center;
  border-radius:18px;
  border:1px solid rgba(142,159,201,.14);
  background:#02040b;
  overflow:hidden;
}
#ithraelAssetInspector .asset-inspector-package-canvas img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#02040b;
}
#ithraelAssetInspector .asset-inspector-package-caption{
  display:grid;
  gap:6px;
  margin-top:11px;
  min-width:0;
  padding:0 2px 1px;
  color:#9fb0d1;
  line-height:1.32;
}
#ithraelAssetInspector .asset-inspector-package-caption strong,
#ithraelAssetInspector .asset-inspector-package-caption span{
  min-width:0;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  line-height:1.32;
  overflow-wrap:anywhere;
}
#ithraelAssetInspector .asset-inspector-package-caption strong{
  color:#dce6ff;
  font-size:11px;
  font-weight:700;
}
#ithraelAssetInspector .asset-inspector-package-caption span{
  color:#9fb0d1;
  font-size:11px;
}
#ithraelAssetInspector .asset-inspector-package-caption .asset-inspector-package-variants-line{
  display:none;
}
#ithraelAssetInspector .asset-inspector-variant-summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  padding:10px 11px;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.14);
  background:rgba(4,8,18,.46);
}
#ithraelAssetInspector .asset-inspector-variant-summary strong{
  flex:0 0 auto;
  color:#9fb0d1;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
#ithraelAssetInspector .asset-inspector-variant-summary .ithrael-assets-variant-pill{
  min-height:21px;
}
@media (max-width:900px){
  #ithraelAssetInspector .asset-inspector-window{width:calc(100vw - 22px);height:calc(100vh - 22px);}
  #ithraelAssetInspector .asset-inspector-body{grid-template-columns:1fr;}
  #ithraelAssetInspector .asset-inspector-package-canvas{max-height:none;}
}


/* === v1.9.249 Upload Queue Thumbnail + Metadata Reset === */
.ithrael-upload-file-list li.has-upload-preview{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 30px;
  align-items:center;
  gap:10px;
  min-height:70px;
}
.ithrael-upload-thumb{
  width:56px;
  height:56px;
  margin:0;
  border-radius:13px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(4,8,18,.72);
  overflow:hidden;
  display:grid;
  place-items:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.ithrael-upload-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.ithrael-upload-thumb.is-file{
  color:#9fb0d1;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ithrael-upload-file-list li.has-upload-preview div{
  min-width:0;
}
.ithrael-upload-file-list li.has-upload-preview strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}


/* === v1.9.250 Archive Assets Manager toolbar polish === */
#ithraelUpload .ithrael-assets-panel-head span{
  display:none;
}
#ithraelUpload .ithrael-assets-panel-head.is-server-head{
  align-items:center;
}
#ithraelUpload .ithrael-assets-server-head-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
#ithraelUpload .ithrael-assets-server-head-actions em{
  color:#c8d4ef;
  font-size:11px;
  font-style:normal;
  white-space:nowrap;
}
#ithraelUpload .ithrael-assets-server-head-actions button,
#ithraelUpload .ithrael-assets-actions button{
  min-height:28px;
  padding:0 9px;
  border-radius:10px;
  border:1px solid rgba(142,159,201,.16);
  background:rgba(8,12,24,.72);
  color:#dce6ff;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
#ithraelUpload .ithrael-assets-server-head-actions button:hover,
#ithraelUpload .ithrael-assets-actions button:hover{
  border-color:rgba(245,199,92,.42);
  color:#ffe29b;
}
#ithraelUpload .ithrael-assets-server-head-actions button:disabled,
#ithraelUpload .ithrael-assets-actions button:disabled{
  opacity:.46;
  cursor:wait;
}
#ithraelUpload .ithrael-assets-actions{
  padding-top:4px;
  border-top:1px solid rgba(142,159,201,.08);
}
#ithraelUploadDeleteSelected.has-selection{
  border-color:rgba(255,92,92,.44);
  color:#ffb4b4;
  opacity:1;
}


/* === v1.9.251 Inspector action feedback === */
#assetInspectorNotice{
  min-height:34px;
  display:flex;
  align-items:center;
  padding:9px 11px;
  border-radius:13px;
  border:1px solid rgba(142,159,201,.14);
  background:rgba(4,8,18,.58);
  color:#c8d4ef;
  font-size:12px;
  line-height:1.35;
}
#assetInspectorNotice[hidden]{display:none;}
#assetInspectorNotice.is-loading{border-color:rgba(245,199,92,.30);color:#ffe29b;}
#assetInspectorNotice.is-success{border-color:rgba(88,217,138,.30);color:#bfffd0;}
#assetInspectorNotice.is-warning{border-color:rgba(245,199,92,.38);color:#ffdf9b;}
#assetInspectorNotice.is-error{border-color:rgba(255,92,92,.36);color:#ffb4b4;}
#assetInspectorSave:disabled,
#ithraelAssetInspector [data-v251-replace-variant]:disabled,
#ithraelAssetInspector [data-v251-upload-variant]:disabled{
  opacity:.58;
  cursor:wait;
}


/* === v1.9.252 cache-token line === */
#ithraelAssetInspector .asset-inspector-flow-note{
  display:block;
  color:#9fb0d1;
  font-size:11px;
  line-height:1.35;
}


/* === v1.9.253 Inspector filename caption cleanup === */
#ithraelAssetInspector .asset-inspector-server-file{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
  color:#c8d4ef;
  font-size:11px;
  line-height:1.35;
  word-break:break-word;
  overflow-wrap:anywhere;
}
#ithraelAssetInspector .asset-inspector-server-file b{
  color:#ffe29b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
#ithraelAssetInspector .asset-inspector-package-caption .asset-inspector-flow-note:first-of-type:has(+ .asset-inspector-flow-note){
  display:none;
}


/* === v1.9.254 Damaged flow badge === */
.ithrael-assets-variant-pill.is-flow-damaged{
  border-color:rgba(167,120,255,.45);
  background:rgba(167,120,255,.12);
  color:#d7bcff;
}
.ithrael-assets-variant-pill.is-flow-clean{
  border-color:rgba(88,217,138,.38);
  background:rgba(88,217,138,.10);
  color:#a8ffc7;
}
.ithrael-assets-variant-pill.is-flow-signal{
  border-color:rgba(124,161,255,.35);
  background:rgba(124,161,255,.10);
  color:#b8ccff;
}


/* === v1.9.257 I.T.H.R.A.E.L. Codex Foundation === */
.codex-trigger{
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.76);
  color:#dce6ff;
  border-radius:13px;
  min-height:34px;
  padding:0 13px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  cursor:pointer;
}
.codex-trigger:hover{border-color:rgba(245,199,92,.42);color:#ffe29b;}
.codex-modal.hidden{display:none;}
.codex-modal{
  position:fixed;
  inset:0;
  z-index:9600;
  display:grid;
  place-items:center;
  color:#eef3ff;
}
.codex-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,4,11,.64);
  backdrop-filter:blur(9px);
}
.codex-window{
  position:relative;
  width:min(1640px, calc(100vw - 36px));
  height:min(960px, calc(100vh - 36px));
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(245,199,92,.24);
  background:linear-gradient(180deg, rgba(23,25,43,.98), rgba(7,10,20,.99));
  box-shadow:0 24px 90px rgba(0,0,0,.52), 0 0 0 1px rgba(124,92,255,.10) inset;
}
.codex-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px 30px 18px;
  border-bottom:1px solid rgba(142,159,201,.14);
}
.codex-head h2,.codex-head p{margin:0;}
.codex-kicker{
  margin:0 0 4px;
  color:#ffe29b;
  font-size:13px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.codex-head span{display:block;color:#c8d4ef;font-size:14px;}
#codexClose{
  min-width:52px;
  min-height:44px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.22);
  background:rgba(8,12,24,.78);
  color:#eef3ff;
  font-weight:800;
  cursor:pointer;
}
#codexClose:hover{border-color:rgba(245,199,92,.42);color:#ffe29b;}
.codex-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 30px;
  border-bottom:1px solid rgba(142,159,201,.12);
}
.codex-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.codex-tabs button{
  min-height:34px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(8,12,24,.74);
  color:#dce6ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.codex-tabs button.is-active{border-color:rgba(245,199,92,.55);background:linear-gradient(135deg,#f7c85c,#ba7eff);color:#07101e;}
.codex-summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.codex-summary span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.16);
  background:rgba(4,8,18,.64);
  color:#c8d4ef;
  font-size:11px;
}
.codex-summary b{color:#ffe29b;font-weight:800;}
.codex-shell{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(260px, .36fr) minmax(460px, .95fr) minmax(280px, .46fr);
  gap:16px;
  padding:18px 30px 24px;
}
.codex-sidebar,.codex-detail,.codex-evidence{
  min-height:0;
  overflow:auto;
  border:1px solid rgba(142,159,201,.13);
  border-radius:22px;
  background:rgba(8,12,24,.58);
}
.codex-sidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:16px;}
.codex-search{display:grid;gap:7px;}
.codex-search span,.codex-filter-head{
  color:#b9c7e9;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.codex-search input{
  width:100%;
  min-height:42px;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.16);
  background:#070b16;
  color:#eef3ff;
  padding:0 13px;
  font-weight:700;
}
.codex-entity-list{display:grid;align-content:start;gap:8px;overflow:auto;padding-right:4px;}
.codex-entity-btn{
  width:100%;
  text-align:left;
  display:grid;
  gap:4px;
  padding:11px 12px;
  border-radius:16px;
  border:1px solid rgba(142,159,201,.13);
  background:rgba(4,8,18,.58);
  color:#eef3ff;
  cursor:pointer;
}
.codex-entity-btn.is-active{border-color:rgba(245,199,92,.50);box-shadow:0 0 0 1px rgba(245,199,92,.10) inset;}
.codex-entity-btn strong{font-size:13px;font-weight:800;line-height:1.2;}
.codex-entity-btn span{display:flex;gap:6px;flex-wrap:wrap;color:#9fb0d1;font-size:11px;}
.codex-chip{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:0 7px;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.17);
  background:rgba(8,12,24,.76);
  color:#c8d4ef;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.codex-chip.is-character{border-color:rgba(124,161,255,.35);color:#b8ccff;}
.codex-chip.is-place,.codex-chip.is-city,.codex-chip.is-region,.codex-chip.is-realm{border-color:rgba(88,217,138,.35);color:#a8ffc7;}
.codex-chip.is-race,.codex-chip.is-bloodline{border-color:rgba(245,199,92,.32);color:#ffe29b;}
.codex-chip.is-artifact{border-color:rgba(167,120,255,.40);color:#d7bcff;}
.codex-chip.is-event{border-color:rgba(255,131,103,.34);color:#ffc1ae;}
.codex-detail{padding:20px;}
.codex-empty{display:grid;place-items:center;min-height:100%;color:#9fb0d1;text-align:center;font-size:15px;}
.codex-detail-head{display:grid;gap:10px;margin-bottom:18px;}
.codex-detail-head h2{margin:0;color:#fff;font-size:34px;line-height:1.06;letter-spacing:-.03em;}
.codex-detail-head p{margin:0;color:#c8d4ef;font-size:14px;line-height:1.45;max-width:70ch;}
.codex-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 20px;}
.codex-stat{
  min-height:76px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:11px 13px;
  border-radius:17px;
  border:1px solid rgba(142,159,201,.13);
  background:rgba(4,8,18,.56);
}
.codex-stat span{color:#9fb0d1;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.codex-stat strong{font-size:18px;color:#eef3ff;line-height:1.15;}
.codex-section{margin-top:18px;padding-top:16px;border-top:1px solid rgba(142,159,201,.12);}
.codex-section h3{margin:0 0 10px;color:#ffe29b;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;}
.codex-relation-list,.codex-fragment-list,.codex-evidence-list{display:grid;gap:8px;}
.codex-relation,.codex-fragment-card,.codex-evidence-card{
  padding:10px 12px;
  border-radius:15px;
  border:1px solid rgba(142,159,201,.12);
  background:rgba(8,12,24,.66);
}
.codex-relation strong,.codex-fragment-card strong,.codex-evidence-card strong{display:block;color:#eef3ff;font-size:13px;line-height:1.25;}
.codex-relation span,.codex-fragment-card span,.codex-evidence-card span{display:block;color:#9fb0d1;font-size:11px;line-height:1.35;margin-top:3px;}
.codex-evidence{padding:16px;}
.codex-evidence h3{margin:0 0 12px;color:#ffe29b;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;}
.codex-help{
  margin:0 0 13px;
  color:#c8d4ef;
  font-size:13px;
  line-height:1.45;
}
@media (max-width:1100px){
  .codex-shell{grid-template-columns:1fr;overflow:auto;}
  .codex-sidebar,.codex-detail,.codex-evidence{min-height:260px;}
  .codex-window{height:calc(100vh - 24px);width:calc(100vw - 24px);}
}


/* === v1.9.258 Data Codex progressive unlock === */
.archive-trigger,
.codex-trigger{
  min-height:38px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(167,120,255,.28);
  background:linear-gradient(180deg,rgba(23,18,38,.92),rgba(7,10,20,.94));
  color:#efe8ff;
  font-size:14px;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 0 18px rgba(167,120,255,.08);
}
.codex-trigger:hover{border-color:rgba(167,120,255,.52);box-shadow:0 0 24px rgba(167,120,255,.16);color:#efe8ff;}
.codex-trigger.is-codex-locked,
.codex-trigger[hidden]{display:none;}
.codex-trigger.is-codex-unlocked{display:inline-flex;align-items:center;justify-content:center;}
.codex-trigger.is-codex-unlock-pulse{animation:dataCodexUnlockPulse 1.45s ease both;}
@keyframes dataCodexUnlockPulse{
  0%{box-shadow:0 0 0 rgba(245,199,92,0),0 0 18px rgba(167,120,255,.08);transform:translateY(0)}
  35%{box-shadow:0 0 0 6px rgba(245,199,92,.16),0 0 42px rgba(245,199,92,.32);border-color:rgba(245,199,92,.72);transform:translateY(-1px)}
  100%{box-shadow:0 0 18px rgba(167,120,255,.08);transform:translateY(0)}
}
.codex-summary span:last-child:has(+ span){display:inline-flex;}
.codex-detail-head p{max-width:78ch;}
.codex-tabs button[data-data-codex-tab="unresolved"]{display:none;}


/* === v1.9.259 Asset intake entity UX === */
#ithraelUpload .assets-metadata-quickset .assets-metadata-title strong{
  letter-spacing:.09em;
}
#ithraelUpload .assets-intake-db-readout{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(142,159,201,.10);
}
#ithraelUpload .assets-intake-help{
  color:#8f9fc3;
  font-size:11px;
}
#ithraelUpload .assets-intake-chip{
  display:inline-grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  gap:6px;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid rgba(142,159,201,.18);
  background:rgba(6,10,22,.72);
  color:#c8d4ef;
  font-size:10px;
  line-height:1.2;
}
#ithraelUpload .assets-intake-chip b{
  color:#ffe29b;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#ithraelUpload .assets-intake-chip em{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#eef3ff;
  font-style:normal;
  font-weight:700;
}
#ithraelUpload .assets-intake-chip i{
  color:#9fb0d1;
  font-style:normal;
}
#ithraelUpload .assets-intake-chip.is-known{
  border-color:rgba(88,217,138,.32);
  background:rgba(88,217,138,.075);
}
#ithraelUpload .assets-intake-chip.is-known i{color:#bfffd0;}
#ithraelUpload .assets-intake-chip.is-new{
  border-color:rgba(245,199,92,.34);
  background:rgba(245,199,92,.075);
}
#ithraelUpload .assets-intake-chip.is-new i{color:#ffe29b;}


/* === v1.9.260 Inspector Codex Links + Data Codex UI polish === */
.asset-inspector-codex-links{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(142,159,201,.13);
  border-radius:18px;
  background:rgba(8,12,24,.44);
}
.asset-inspector-section-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}
.asset-inspector-section-title strong{
  color:#ffe29b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.asset-inspector-section-title span{
  color:#9fb0d1;
  font-size:11px;
  line-height:1.3;
}
.asset-inspector-grid.is-codex-links-grid{
  gap:8px;
}
.asset-inspector-db-readout{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-height:25px;
}
.asset-inspector-db-help{
  color:#8f9fc3;
  font-size:11px;
}
.asset-inspector-db-chip{
  display:grid;
  gap:2px;
  max-width:260px;
  padding:7px 9px;
  border-radius:12px;
  border:1px solid rgba(142,159,201,.14);
  background:rgba(4,8,18,.62);
}
.asset-inspector-db-chip b{
  color:#c8d4ef;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.asset-inspector-db-chip em{
  color:#eef3ff;
  font-size:12px;
  font-style:normal;
  font-weight:700;
  line-height:1.2;
}
.asset-inspector-db-chip i{
  color:#8f9fc3;
  font-size:10px;
  font-style:normal;
}
.asset-inspector-db-chip.is-known{border-color:rgba(88,217,138,.28);}
.asset-inspector-db-chip.is-known i{color:#bfffd0;}
.asset-inspector-db-chip.is-new{border-color:rgba(245,199,92,.30);}
.asset-inspector-db-chip.is-new i{color:#ffe29b;}

.codex-head{padding:22px 24px 16px;}
.codex-topbar{padding:12px 15px;}
.codex-shell{gap:15px;padding:15px;}
.codex-sidebar{padding:15px;}
.codex-detail{padding:18px;}
.codex-evidence{padding:15px;}
#ithraelCodex:not([data-codex-view="all"]) .codex-entity-btn .codex-chip{display:none;}
#ithraelCodex:not([data-codex-view="all"]) .codex-entity-btn span{gap:0;}


/* === v1.9.261 Category / creator intake polish === */
#ithraelUpload .assets-metadata-grid select,
#ithraelAssetInspector .asset-inspector-grid select{
  width:100%;
  min-height:38px;
  border:1px solid rgba(142,159,201,.20);
  border-radius:13px;
  background:rgba(4,8,18,.72);
  color:#eef3ff;
  padding:0 11px;
  font:inherit;
  font-size:12px;
  font-weight:700;
  appearance:auto;
}
#ithraelUpload .assets-metadata-grid select:focus,
#ithraelAssetInspector .asset-inspector-grid select:focus{
  outline:none;
  border-color:rgba(245,199,92,.55);
  box-shadow:0 0 0 3px rgba(245,199,92,.10);
}
#ithraelUpload .asset-creator-field[hidden],
#ithraelAssetInspector .asset-creator-field[hidden]{display:none;}
#ithraelUpload .assets-metadata-quickset.is-artifact-category #ithraelUploadMetaRace,
#ithraelAssetInspector .asset-inspector-form.is-artifact-category #assetInspectorRace{
  opacity:.45;
  filter:saturate(.35);
  pointer-events:none;
}
#ithraelUpload .assets-metadata-quickset.is-artifact-category #ithraelUploadMetaRace::placeholder,
#ithraelAssetInspector .asset-inspector-form.is-artifact-category #assetInspectorRace::placeholder{
  color:#6f7b96;
}
.v261-inline-readout{display:contents;}
.asset-inspector-db-chip b{white-space:normal;}


/* === v1.9.262 Data Codex unlock / unread badge === */
.codex-trigger{
  position:relative;
  min-height:43px;
  padding:0 18px;
  border-radius:17px;
  font-size:15px;
  font-weight:700;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.notebook-trigger,
.archive-trigger,
.codex-trigger{
  min-height:43px;
  font-size:15px;
  font-weight:700;
}
.codex-unread-badge{
  position:absolute;
  right:-7px;
  top:-7px;
  min-width:21px;
  height:21px;
  padding:0 6px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(88,217,138,.62);
  background:linear-gradient(135deg,#58d98a,#a8ffc7);
  color:#07101e;
  font-size:11px;
  font-weight:800;
  line-height:1;
  box-shadow:0 0 18px rgba(88,217,138,.32);
}
.codex-unread-badge[hidden]{display:none;}
.codex-trigger.has-codex-unread{border-color:rgba(88,217,138,.44);box-shadow:0 0 18px rgba(88,217,138,.16);}
.codex-entity-btn.is-codex-unread{border-color:rgba(88,217,138,.32);box-shadow:0 0 0 1px rgba(88,217,138,.08) inset;}
.codex-new-dot{
  width:8px;height:8px;min-width:8px;border-radius:999px;
  display:inline-block;margin-right:8px;vertical-align:middle;
  background:#58d98a;box-shadow:0 0 12px rgba(88,217,138,.72);
}
.codex-entity-btn strong{display:flex;align-items:center;min-width:0;}


/* === v1.9.263 Data Codex read pending cue === */
.codex-entity-btn.is-codex-read-pending .codex-new-dot{
  animation:codexReadPendingPulse .42s ease-in-out infinite alternate;
}
.codex-entity-btn.is-codex-read-pending{
  border-color:rgba(88,217,138,.46);
}
@keyframes codexReadPendingPulse{
  from{transform:scale(1);opacity:1;}
  to{transform:scale(.72);opacity:.45;}
}


/* === v1.9.264 Character profile autofill chips === */
#ithraelUploadMetaRace.is-profile-autofilled,
#assetInspectorRace.is-profile-autofilled{
  border-color:rgba(88,217,138,.42);
  box-shadow:0 0 0 1px rgba(88,217,138,.12), 0 0 18px rgba(88,217,138,.08);
}
.assets-intake-chip.is-profile-autofill-v264{
  border-color:rgba(88,217,138,.45);
  background:rgba(35,78,56,.16);
}
.assets-intake-chip.is-profile-autofill-v264 b{
  color:#c7ffd8;
}
.assets-intake-chip.is-profile-autofill-v264 i{
  color:#98e9b4;
}


/* === v1.9.265 Intake DB feedback + compact access panel === */
#ithraelUpload .ithrael-upload-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}
#ithraelUpload .ithrael-upload-key-toggle{
  width:42px;
  min-width:42px;
  height:42px;
  min-height:42px;
  padding:0;
  border-radius:14px;
  border:1px solid rgba(142,159,201,.20);
  background:rgba(8,12,24,.70);
  color:#ffe29b;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
}
#ithraelUpload .ithrael-upload-key-toggle:hover,
#ithraelUpload .ithrael-upload-key-toggle.is-active{
  border-color:rgba(245,199,92,.50);
  background:rgba(245,199,92,.12);
  box-shadow:0 0 18px rgba(245,199,92,.10);
}
#ithraelUpload .ithrael-upload-access-panel{
  display:none;
}
#ithraelUpload.is-access-open .ithrael-upload-access-panel{
  display:grid;
}
#ithraelUpload .ithrael-upload-form.is-assets-manager{
  gap:10px;
}
#ithraelUpload .ithrael-upload-drop{
  min-height:92px;
  padding:13px 16px;
  gap:3px;
  border-radius:17px;
}
#ithraelUpload .ithrael-upload-drop strong{
  font-size:13px;
}
#ithraelUpload .ithrael-upload-drop span{
  margin-top:0;
  line-height:1.25;
}
#ithraelUpload #ithraelUploadMetaTags,
#ithraelUpload #ithraelUploadMetaArtifacts{
  display:none;
}
#ithraelUpload .assets-intake-db-readout.is-empty,
#ithraelAssetInspector .assets-intake-db-readout.is-empty{
  display:none;
}
#ithraelUpload .assets-metadata-quickset input.is-db-known,
#ithraelUpload .assets-metadata-quickset select.is-db-known,
#ithraelAssetInspector input.is-db-known,
#ithraelAssetInspector select.is-db-known{
  border-color:rgba(88,217,138,.45);
  box-shadow:0 0 0 1px rgba(88,217,138,.12),0 0 18px rgba(88,217,138,.08);
}
#ithraelUpload .assets-metadata-quickset input.is-db-known:focus,
#ithraelUpload .assets-metadata-quickset select.is-db-known:focus,
#ithraelAssetInspector input.is-db-known:focus,
#ithraelAssetInspector select.is-db-known:focus{
  border-color:rgba(126,240,170,.70);
  box-shadow:0 0 0 1px rgba(126,240,170,.22),0 0 24px rgba(88,217,138,.13);
}
#ithraelUpload .assets-metadata-quickset input.is-db-new,
#ithraelAssetInspector input.is-db-new{
  border-color:rgba(245,199,92,.34);
}
#ithraelUpload .assets-intake-chip.is-known,
#ithraelUpload .assets-intake-chip.is-profile-autofill-v264,
#ithraelAssetInspector .assets-intake-chip.is-known,
#ithraelAssetInspector .assets-intake-chip.is-profile-autofill-v264{
  display:none;
}


/* === v1.9.267 Damaged-flow / Angol gate polish === */
.archive-card.is-damaged,
.archive-card[data-stage="damaged"]{
  --archive-accent:#a778ff;
}
.archive-glitch-thumb.is-unlocked{
  border-color:rgba(167,120,255,.32);
  box-shadow:inset 0 0 0 1px rgba(167,120,255,.10), 0 0 26px rgba(167,120,255,.08);
}


/* === v1.9.268 Merged Sector Chronology hidden future slots === */
.ithrael-story-marker.is-unloaded-slot{
  opacity:0;
  pointer-events:none;
  cursor:default;
  background:transparent;
  box-shadow:none;
  border:0;
  filter:none;
}
.ithrael-story-marker.is-unloaded-slot:hover,
.ithrael-story-marker.is-unloaded-slot:focus-visible{
  opacity:0;
  filter:none;
  box-shadow:none;
}

/* === v1.9.269 Beasts / Flora chips === */
.codex-chip.is-beast{
  border-color:rgba(255,155,83,.38);
  color:#ffc692;
}
.codex-chip.is-flora{
  border-color:rgba(88,217,138,.42);
  color:#bfffd0;
}
.ithrael-assets-variant-pill.is-beast,
.ithrael-assets-variant-pill.is-beasts{
  border-color:rgba(255,155,83,.38);
  background:rgba(255,155,83,.10);
  color:#ffc692;
}
.ithrael-assets-variant-pill.is-flora{
  border-color:rgba(88,217,138,.42);
  background:rgba(88,217,138,.10);
  color:#bfffd0;
}
