@font-face{font-family:Alata;src:url(/CastLockVis/assets/Alata-Regular-Cu6_w5fP.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/CastLockVis/assets/PlayfairDisplay_wght_-TAkk4TxC.ttf) format("truetype");font-weight:400 900;font-style:normal;font-display:swap}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--app-min-width: 720px;--panel-min-width: 520px;--chart-min-height: 220px;--chart-mobile-min-height: 260px;--panel-state-min-height: 120px;--panel-toolbar-min-height: 20px;--panel-legend-min-height: 26px;--panel-mobile-row-min-height: 360px;--radius-sm: 1px;--radius-md: 2px;--border: 1.5px solid var(--color-border);--shadow-panel: 0 18px 48px rgba(0, 0, 0, .5);--motion-fast: .14s;--motion-normal: .18s;--motion-slow: 1.2s;--ease-standard: ease;--ease-enter: ease-out;--color-bg: #10100e;--color-surface: #171715;--color-surface-raised: #1c1c1c;--color-border: #f1dfba;--color-border-subtle: #d7c08e;--color-text: #f2ead9;--color-text-dim: #d7c8a9;--color-paper: #eed5af;--color-paper-deep: #d6c29e;--color-paper-text: #191815;--color-paper-dim: #695941;--color-ui-accent: #a43718;--color-ui-accent-strong: #8d2a11;--color-ui-accent-dark: #681c0d;--color-ui-rail: #151515;--color-ui-rail-soft: #222222;--color-accent: #eed5af;--color-control-fill: #d6c29e;--color-control-hover: #f4deb8;--color-chart-bg: #111210;--color-chart-grid: #302e29;--color-chart-axis: #7d735c;--color-entropy-line: #e6e8ea;--color-markov-cell: #4c8bf5;--color-markov-diag: #e0564f;--color-river-other: #6f91a0;--color-success: #3fb27f;--color-snapback: #e0564f;--genre-1: #a94f3d;--genre-2: #c08a3c;--genre-3: #9b8f4a;--genre-4: #b46a7c;--genre-5: #a06f3a;--genre-6: #8f4e78;--genre-7: #3f8a8e;--genre-8: #82a84c;--genre-9: #7667a8;--genre-10: #c15f34;--genre-11: #669a5a;--genre-12: #4f7fa4;--genre-13: #b07aa0;--genre-14: #5fa08d;--genre-15: #8a8674;--cluster-0: #b95f3e;--cluster-1: #b59a45;--cluster-2: #6b9b58;--cluster-3: #3e9188;--cluster-4: #557fa5;--cluster-5: #7b63a5;--cluster-6: #a25f7d;--font-sans: "Alata", "Avenir Next", "Trebuchet MS", "Gill Sans", sans-serif;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-label: "Alata", "Avenir Next", "Trebuchet MS", "Gill Sans", sans-serif;--font-mono: "DIN Alternate", "Roboto Mono", "SF Mono", ui-monospace, monospace;--font-numeric: var(--font-mono);--numeric-variant: tabular-nums lining-nums;--fs-xs: 10px;--fs-sm: 12px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 17px;--fs-2xl: 18px;--fs-3xl: 22px;--fs-display-sm: 36px;--fs-display-lg: 45px;--lh-tight: 1;--lh-snug: 1.2;--lh-normal: 1.4;--lh-relaxed: 1.5;--fw-regular: 400;--fw-semibold: 600;--fw-bold: 700}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:var(--app-min-width);overflow-x:auto;background:radial-gradient(circle at 18% 0%,rgba(166,59,42,.2),transparent 28rem),linear-gradient(180deg,#1d1712 0,var(--color-bg) 310px),var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:var(--fw-regular);line-height:var(--lh-normal)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(90deg,rgba(234,210,163,.035) 0 1px,transparent 1px 80px),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px);opacity:.7}.numeric{font-variant-numeric:var(--numeric-variant)}.numeric-mono{font-family:var(--font-numeric);font-variant-numeric:var(--numeric-variant)}@media (prefers-reduced-motion: reduce){:root{--motion-fast: 1ms;--motion-normal: 1ms;--motion-slow: 1ms}html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-delay:0ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0ms!important;transition-duration:1ms!important}.view-entropy-line{animation:none}}.details-panel{--details-panel-x: 0px;--details-panel-y: 0px;position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:20;display:grid;gap:calc(var(--space-4) * .85);width:min(536px,calc(100vw - var(--space-8)));max-height:min(90vh,1080px);overflow:auto;border:2px solid color-mix(in srgb,var(--color-border) 86%,#ffffff 10%);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface-raised) 82%,var(--color-paper) 8%),var(--color-surface));box-shadow:var(--shadow-panel);padding:calc(var(--space-6) * .85);transform:translate(var(--details-panel-x),var(--details-panel-y));transition:border-color var(--motion-normal) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.details-panel--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;transition:border-color var(--motion-normal) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard)}.details-panel:focus-within,.details-panel:hover{border-color:color-mix(in srgb,var(--color-control-hover) 72%,#ffffff 10%);box-shadow:var(--shadow-panel),0 0 0 1px color-mix(in srgb,var(--color-control-hover) 32%,transparent)}.details-panel__header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3);border-bottom:1.5px solid color-mix(in srgb,var(--color-border) 60%,var(--color-bg));padding-bottom:var(--space-3);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.details-panel--dragging .details-panel__header{cursor:grabbing}.details-panel__header>div{min-width:0}.details-panel__title,.details-panel__subtitle,.details-panel__section-title,.details-panel__neighbor{margin:0}.details-panel__title{font-family:var(--font-display);font-size:var(--fs-xl)}.details-panel__subtitle,.details-panel__empty,.details-panel__neighbor{color:var(--color-text-dim);font-size:var(--fs-lg)}.details-panel__neighbor{font-variant-numeric:var(--numeric-variant)}.details-panel__close{border:1.5px solid color-mix(in srgb,var(--color-border) 66%,var(--color-bg));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-paper) 8%,transparent);color:var(--color-text-dim);font:inherit;font-size:var(--fs-lg);padding:var(--space-2) var(--space-3);cursor:pointer;flex:0 0 auto}.details-panel__close:hover{border-color:var(--color-control-hover);color:var(--color-text)}.details-panel__section{display:grid;gap:var(--space-2)}.details-panel__section--compact{border-top:1.5px solid color-mix(in srgb,var(--color-border) 60%,var(--color-bg));padding-top:var(--space-3)}.details-panel__section-title{color:var(--color-text);font-family:var(--font-display);font-size:var(--fs-lg)}.details-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-1) var(--space-3);margin:0}.details-grid dt{color:var(--color-text-dim);font-size:var(--fs-lg)}.details-grid dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--color-text);font-size:var(--fs-lg)}.details-grid__value--code{font-family:var(--font-numeric);font-variant-numeric:var(--numeric-variant)}.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.signal-card{display:grid;gap:var(--space-1);border:1.5px solid color-mix(in srgb,var(--color-border) 62%,var(--color-bg));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-chart-bg) 76%,var(--color-surface));padding:var(--space-2);min-width:0}.signal-card__label,.signal-card__delta{color:var(--color-text-dim);font-size:var(--fs-lg)}.signal-card__delta{font-variant-numeric:var(--numeric-variant)}.signal-card__value{overflow-wrap:anywhere;color:var(--color-text);font-family:var(--font-numeric);font-size:var(--fs-xl);font-variant-numeric:var(--numeric-variant)}.signal-card__delta--up{color:var(--color-success)}.signal-card__delta--down{color:var(--color-snapback)}@media (max-width: 760px){.details-panel{right:var(--space-2);bottom:var(--space-2);left:var(--space-2);width:auto;max-height:min(80vh,840px);padding:calc(var(--space-3) * 1.5)}.signal-grid{grid-template-columns:1fr}}.interaction-guide{display:grid;gap:var(--space-2);width:100%;min-width:0}.interaction-guide__header{display:grid;grid-template-columns:max-content minmax(0,max-content);align-items:center;gap:var(--space-2);min-width:0}.interaction-guide__title-text{margin:0;color:var(--color-paper-text);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-bold);white-space:nowrap}.interaction-guide__summary-text{min-width:0;overflow:hidden;color:var(--color-paper-dim);font-family:var(--font-label);font-size:var(--fs-lg);font-variant-numeric:var(--numeric-variant);text-overflow:ellipsis;white-space:nowrap}.interaction-guide__toggle{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:var(--space-2);justify-self:start;min-width:0;max-width:100%;min-height:31px;padding:0;border:0;background:transparent;color:inherit;font-family:var(--font-label);font-size:var(--fs-lg);cursor:pointer}.interaction-guide__toggle:hover,.interaction-guide__toggle:focus-visible{color:var(--color-paper-text);outline:none}.interaction-guide__toggle:hover .interaction-guide__toggle-label,.interaction-guide__toggle:focus-visible .interaction-guide__toggle-label{border-color:var(--color-control-hover)}.interaction-guide__toggle-label{padding:2px var(--space-2);border:1.5px solid color-mix(in srgb,var(--color-control-fill) 55%,var(--color-paper-dim));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-control-fill) 18%,transparent);color:var(--color-paper-text)}.interaction-guide__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.interaction-guide__item{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:var(--space-2);min-width:0;border:1.5px solid color-mix(in srgb,var(--color-paper-dim) 68%,var(--color-paper-text));border-radius:var(--radius-sm);background:#ffffff1f;padding:var(--space-2) var(--space-3)}.interaction-guide__item.is-active{border-color:color-mix(in srgb,var(--color-control-fill) 86%,var(--color-paper-dim));background:color-mix(in srgb,var(--color-control-fill) 28%,rgba(255,255,255,.12))}.interaction-guide__title{color:var(--color-paper-text);font-family:var(--font-label);font-size:var(--fs-lg)}.interaction-guide__status,.interaction-guide__hint{min-width:0;overflow:hidden;color:var(--color-paper-dim);font-family:var(--font-label);font-size:var(--fs-lg);font-variant-numeric:var(--numeric-variant);text-overflow:ellipsis;white-space:nowrap}.interaction-guide__hint{color:color-mix(in srgb,var(--color-ui-accent-dark) 68%,var(--color-paper-text))}@media (max-width: 1100px){.interaction-guide__items{grid-template-columns:1fr}}@media (max-width: 760px){.interaction-guide__header{grid-template-columns:1fr}.interaction-guide__toggle{justify-self:stretch}.interaction-guide__item{grid-template-columns:max-content minmax(0,1fr)}.interaction-guide__hint{grid-column:2}}.view-panel{position:relative;display:grid;grid-template-rows:auto auto 1fr;min-width:0;min-height:0;border:2px solid color-mix(in srgb,var(--color-border) 88%,#ffffff 12%);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:inset 0 0 0 1px #ffffff0d,0 10px 28px #0000004d;overflow:hidden}.view-panel:before,.view-panel:after{content:"";position:absolute;top:0;bottom:0;z-index:1;width:14px;pointer-events:none;background:repeating-linear-gradient(180deg,var(--color-bg) 0 12px,transparent 12px 22px);opacity:.95}.view-panel:before{left:0;border-right:1.5px solid color-mix(in srgb,var(--color-border) 58%,transparent)}.view-panel:after{right:0;border-left:1.5px solid color-mix(in srgb,var(--color-border) 58%,transparent)}.view-panel__header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) calc(var(--space-4) + 14px);border-bottom:2px solid color-mix(in srgb,var(--color-border) 72%,var(--color-bg));background:var(--color-ui-rail)}.view-panel__title{min-width:280px;margin:0;color:var(--color-text);font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.view-panel__toolbar{display:flex;justify-content:flex-end;min-width:fit-content;min-height:var(--panel-toolbar-min-height);color:var(--color-text-dim);font-size:var(--fs-sm)}.view-panel__legend{position:relative;z-index:2;min-height:var(--panel-legend-min-height);padding:var(--space-2) calc(var(--space-4) + 14px);border-bottom:1.5px solid color-mix(in srgb,var(--color-border) 58%,var(--color-bg));background:color-mix(in srgb,var(--color-surface) 86%,var(--color-bg));color:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-lg)}.view-panel__content{position:relative;z-index:2;min-height:0;padding:var(--space-4) calc(var(--space-4) + 14px);overflow:hidden}.view-panel__state{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:var(--panel-state-min-height);border:1.5px dashed color-mix(in srgb,var(--color-border) 76%,var(--color-bg));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-chart-bg) 80%,var(--color-surface));color:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-sm)}.view-panel__state--error{color:var(--color-snapback)}@media (max-width: 1100px){.view-panel__content{min-height:var(--chart-mobile-min-height)}}@media (max-width: 760px){.view-panel__header,.view-panel__legend,.view-panel__content{padding-right:var(--space-3);padding-left:var(--space-3)}}.toggle{display:inline-flex;border:1.5px solid color-mix(in srgb,var(--color-border) 68%,var(--color-bg));border-radius:var(--radius-sm);background:var(--color-ui-rail);overflow:hidden}.toggle button{border:0;border-right:1.5px solid color-mix(in srgb,var(--color-border) 52%,var(--color-bg));background:transparent;color:var(--color-text-dim);font:inherit;font-family:var(--font-mono);min-height:42px;font-size:var(--fs-2xl);padding:var(--space-2) var(--space-3);cursor:pointer}.toggle button:last-child{border-right:0}.toggle button[data-active=true]{background:var(--color-control-fill);color:var(--color-paper-text)}.toggle button:hover,.toggle button:focus-visible{color:var(--color-text);outline:none}.toggle--stage button{width:58px;min-height:34px;padding:var(--space-1) var(--space-2);font-family:var(--font-label);font-size:var(--fs-lg);text-align:center}.chart-tooltip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);min-height:27px;margin:0;padding:0 var(--space-1);color:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-lg);font-variant-numeric:var(--numeric-variant);letter-spacing:0}.chart-tooltip__label{min-width:0;color:inherit;overflow-wrap:anywhere}.chart-tooltip__detail{min-width:0;margin-left:auto;overflow-wrap:anywhere;text-align:right}.chart-tooltip--active .chart-tooltip__label{color:var(--color-text)}.chart-tooltip--muted{opacity:.8}@media (max-width: 760px){.chart-tooltip{line-height:var(--lh-normal)}}.range-slider{display:flex;flex-direction:column;gap:2px;width:100%;min-width:132px}.range-slider__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-1)}.range-slider__label{color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--fs-2xl)}.range-slider__value{color:var(--color-text);font-family:var(--font-numeric);font-size:var(--fs-lg);font-variant-numeric:var(--numeric-variant)}.range-slider__inputs{display:grid;gap:0}.range-slider__inputs input[type=range]{--range-active-color: var(--color-control-fill);--range-groove-color: color-mix(in srgb, var(--color-chart-bg) 74%, var(--color-border));-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:21px;margin:0;background:transparent;accent-color:var(--range-active-color);cursor:pointer}.range-slider__inputs input[type=range]:hover,.range-slider__inputs input[type=range]:active{--range-active-color: var(--color-control-hover)}.range-slider__inputs input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--range-active-color) 78%,var(--color-chart-bg)) 0%,color-mix(in srgb,var(--range-active-color) 78%,var(--color-chart-bg)) var(--range-progress),var(--range-groove-color) var(--range-progress),var(--range-groove-color) 100%)}.range-slider__inputs input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:13px;margin-top:-4.5px;border:1px solid color-mix(in srgb,var(--range-active-color) 76%,var(--color-text));border-radius:2px;background:var(--range-active-color)}.range-slider__inputs input[type=range]::-moz-range-track{height:4px;border-radius:1px;background:var(--range-groove-color)}.range-slider__inputs input[type=range]::-moz-range-progress{height:4px;border-radius:1px;background:color-mix(in srgb,var(--range-active-color) 78%,var(--color-chart-bg))}.range-slider__inputs input[type=range]::-moz-range-thumb{width:12px;height:13px;border:1px solid color-mix(in srgb,var(--range-active-color) 76%,var(--color-text));border-radius:2px;background:var(--range-active-color)}.brush-layer__rect{fill:var(--color-accent);fill-opacity:.12;stroke:var(--color-accent);stroke-dasharray:4 3;stroke-width:1.2;pointer-events:none}.genre-legend-block{position:relative;border:2px solid color-mix(in srgb,var(--color-paper) 90%,#ffffff 10%);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--color-paper) 96%,#ffffff),var(--color-paper-deep));box-shadow:inset 0 0 0 1px #ffffff4d,0 14px 36px #00000038;font-family:var(--font-label);padding:var(--space-3) calc(var(--space-4) + 22px);overflow:hidden}.genre-legend-block:before,.genre-legend-block:after{content:"";position:absolute;top:var(--space-2);bottom:var(--space-2);width:12px;background:repeating-linear-gradient(180deg,var(--color-bg) 0 9px,transparent 9px 18px)}.genre-legend-block:before{left:var(--space-2)}.genre-legend-block:after{right:var(--space-2)}.genre-legend-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.actor-search{display:flex;align-items:center;gap:var(--space-2);flex:0 1 320px;min-width:180px}.actor-search__label{flex-shrink:0;color:var(--color-paper-text);font-family:var(--font-label);font-size:var(--fs-2xl)}.actor-search__control{position:relative;flex:1;min-width:0}.actor-search__input{width:100%;box-sizing:border-box;padding:6px var(--space-3);border:1.5px solid color-mix(in srgb,var(--color-paper-text) 30%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-paper) 92%,#ffffff);color:var(--color-paper-text);font-family:var(--font-label);font-size:var(--fs-md)}.actor-search__input::placeholder{color:var(--color-paper-dim)}.actor-search__input:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 35%,transparent)}.actor-search__list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;margin:0;padding:var(--space-1);list-style:none;max-height:248px;overflow-y:auto;border:1.5px solid color-mix(in srgb,var(--color-paper-text) 24%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-paper) 96%,#ffffff);box-shadow:0 12px 28px #00000047}.actor-search__option{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);width:100%;padding:5px var(--space-2);border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--color-paper-text);font-family:var(--font-label);font-size:var(--fs-md);text-align:left;cursor:pointer}.actor-search__option.is-active{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.actor-search__option.is-selected .actor-search__option-name{font-weight:var(--fw-bold)}.actor-search__option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actor-search__option-meta{flex-shrink:0;color:var(--color-paper-dim);font-family:var(--font-numeric);font-size:var(--fs-sm);font-variant-numeric:var(--numeric-variant)}.genre-legend-title{margin:0;color:var(--color-paper-text);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-bold)}.genre-legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(144px,1fr));gap:var(--space-1) var(--space-3)}.genre-legend-linked-queue{margin-top:var(--space-3)}.genre-legend-item{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.genre-legend-chip{width:14px;height:14px;border-radius:1px;border:1.5px solid color-mix(in srgb,var(--color-paper-text) 48%,transparent);flex-shrink:0}.genre-legend-name{color:var(--color-paper-dim);font-size:var(--fs-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);font-family:var(--font-label);font-size:var(--fs-lg)}.chart-legend__item{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--color-text-dim)}.legend-chip{width:13px;height:13px;border-radius:1px;border:1.5px solid color-mix(in srgb,var(--color-text) 32%,var(--color-bg));background:var(--color-border);flex-shrink:0}.legend-glyphs{width:82px;height:15px;flex-shrink:0;fill:color-mix(in srgb,var(--color-text) 70%,transparent)}.legend-chip--accent{background:var(--color-accent)}.legend-chip--snap{background:var(--color-snapback)}.legend-line{width:23px;border-top:2.5px solid var(--color-text);flex-shrink:0}.legend-line--success{border-color:var(--color-success)}.legend-line--snap{border-color:var(--color-snapback)}.legend-line--none{border-color:var(--color-text-dim);opacity:.6}.legend-river-band{width:23px;height:13px;border-radius:2px;background:linear-gradient(180deg,color-mix(in srgb,var(--genre-2) 86%,var(--color-chart-bg)),color-mix(in srgb,var(--genre-4) 86%,var(--color-chart-bg)));flex-shrink:0}.legend-river-other{width:13px;height:13px;border-radius:2px;background:var(--color-river-other);flex-shrink:0}.legend-dot-row{display:inline-flex;align-items:center;gap:7px}.legend-dot{border-radius:50%;background:color-mix(in srgb,var(--color-accent) 45%,transparent);border:1px solid color-mix(in srgb,var(--color-text) 82%,transparent);flex-shrink:0}.legend-dot--sm{width:8px;height:8px}.legend-dot--lg,.legend-dot--active{width:14px;height:14px}.legend-dot--active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 35%,transparent)}.legend-ramp{width:31px;height:13px;border-radius:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-markov-cell) 14%,var(--color-chart-bg)),color-mix(in srgb,var(--color-markov-cell) 88%,var(--color-chart-bg)));flex-shrink:0}.legend-vline{width:10px;height:15px;border-left:2.5px dashed var(--color-accent);flex-shrink:0}@media (max-width: 760px){.genre-legend-block{padding:var(--space-2) var(--space-3)}.genre-legend-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}.chart-legend{gap:var(--space-1) var(--space-2)}.chart-legend__item{flex:1 1 180px}}.app-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:var(--space-4);width:100%;min-width:var(--app-min-width);min-height:100vh;padding:var(--space-4);isolation:isolate}.app-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,max-content);align-items:center;gap:var(--space-4);border:1px solid color-mix(in srgb,var(--color-paper) 18%,var(--color-ui-accent-dark));border-radius:var(--radius-md);background:var(--color-ui-accent);background-image:linear-gradient(180deg,color-mix(in srgb,var(--color-ui-accent-strong) 84%,#ffffff 8%) 0%,var(--color-ui-accent) 54%,var(--color-ui-accent-dark) 100%);box-shadow:inset 0 -1px #0000008c,0 18px 48px #00000047;padding:var(--space-6) var(--space-6) var(--space-4);overflow:hidden}.app-header:before{content:"";position:absolute;inset:0 0 auto;height:12px;background:#ffffff14;pointer-events:none}.app-header:after{content:"";position:absolute;inset:auto var(--space-4) 0;height:5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.72) 0 34px,transparent 34px 47px);opacity:.2;pointer-events:none}.app-header__identity{position:relative;display:grid;gap:var(--space-2);min-width:0}.app-title{margin:0;color:#fff7e8;font-family:var(--font-display);font-size:var(--fs-display-lg);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:0;text-shadow:0 2px 0 rgba(0,0,0,.18)}.app-subtitle{margin:0;color:color-mix(in srgb,#fff5dc 82%,var(--color-ui-accent-dark));font-size:var(--fs-2xl);line-height:var(--lh-relaxed)}.app-meta{position:relative;display:grid;align-self:end;justify-items:end;gap:var(--space-2);min-width:0;color:color-mix(in srgb,#fff5dc 70%,var(--color-ui-accent-dark));font-size:var(--fs-sm);text-align:right}.app-meta__label{display:inline-flex;align-items:center;min-height:30px;padding:0 var(--space-3);border:1px solid rgba(255,245,220,.48);border-radius:var(--radius-sm);background:#fff5dc1a;color:#fff7e8;font-family:var(--font-numeric);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-variant-numeric:var(--numeric-variant);text-transform:uppercase}.app-meta__items{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1) var(--space-2);max-width:460px}.app-meta__item{display:inline-flex;align-items:baseline;gap:5px;padding:2px var(--space-2);border-left:3px solid rgba(255,245,220,.42);background:#0000001f;font-family:var(--font-numeric);font-variant-numeric:var(--numeric-variant);line-height:var(--lh-normal);white-space:nowrap}.app-meta__key{color:color-mix(in srgb,#fff5dc 65%,var(--color-ui-accent-dark))}.app-meta__item strong{color:#fff7e8;font-size:var(--fs-sm)}.app-grid{--layout-top-row: .92fr;--layout-bottom-row: 1.08fr;--layout-cluster-column: 1fr;--layout-river-column: 1fr;--layout-alignment-column: 1.25fr;--layout-markov-column: .75fr;--layout-cluster-column-min: var(--panel-min-width);--layout-river-column-min: var(--panel-min-width);--layout-alignment-column-min: var(--panel-min-width);--layout-markov-column-min: 420px;display:grid;grid-template-rows:minmax(0,var(--layout-top-row)) minmax(0,var(--layout-bottom-row));gap:var(--space-4);min-height:0}.app-grid__row{display:grid;gap:var(--space-4);min-width:0;min-height:0}.app-grid__row--top{grid-template-areas:"cluster river";grid-template-columns:minmax(var(--layout-cluster-column-min),var(--layout-cluster-column)) minmax(var(--layout-river-column-min),var(--layout-river-column))}.app-grid__row--bottom{grid-template-areas:"alignment markov";grid-template-columns:minmax(var(--layout-alignment-column-min),var(--layout-alignment-column)) minmax(var(--layout-markov-column-min),var(--layout-markov-column))}.view-panel--cluster{grid-area:cluster}.view-panel--river{grid-area:river}.view-panel--alignment{grid-area:alignment}.view-panel--markov{grid-area:markov}.status-text{color:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-sm)}@media (max-width: 1100px){.app-shell{padding:var(--space-3)}.app-header{grid-template-columns:1fr;align-items:start}.app-meta{justify-items:start;text-align:left}.app-meta__items{justify-content:flex-start;max-width:none}.app-grid{grid-template-rows:auto auto}.app-grid__row{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(var(--panel-mobile-row-min-height),1fr))}.app-grid__row--top{grid-template-areas:"cluster" "river"}.app-grid__row--bottom{grid-template-areas:"alignment" "markov"}}@media (max-width: 760px){.app-shell{gap:var(--space-3);padding:var(--space-2)}.app-header{padding:var(--space-3)}.app-title{font-size:var(--fs-display-sm)}.app-subtitle{font-size:var(--fs-xl)}}.view-chart{display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-2);height:100%;min-height:0;min-width:0;font-family:var(--font-label)}.view-chart--alignment{grid-template-rows:auto auto 1fr auto}.view-cluster-layout{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:var(--space-3);height:100%;min-height:0;min-width:0}.view-cluster-main{min-width:0;min-height:0}.cluster-composition{display:grid;gap:var(--space-2);min-width:0;min-height:0;padding:var(--space-2) var(--space-3);border:1.5px solid color-mix(in srgb,var(--color-border) 66%,var(--color-bg));border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--color-chart-bg) 82%,var(--color-surface)),var(--color-chart-bg))}.cluster-composition__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.cluster-composition__header>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);min-width:0;color:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-lg);font-variant-numeric:var(--numeric-variant)}.cluster-composition__header strong{color:var(--color-text);font-size:var(--fs-xl)}.cluster-composition__eyebrow{color:var(--color-accent)}.cluster-composition__back{min-height:36px;padding:var(--space-2) var(--space-3);border:1.5px solid color-mix(in srgb,var(--color-border) 72%,var(--color-bg));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-paper) 12%,var(--color-surface));color:var(--color-text);font-family:var(--font-label);font-size:var(--fs-lg);cursor:pointer}.cluster-composition__back:hover,.cluster-composition__back:focus-visible{border-color:var(--color-accent);outline:none}.cluster-composition__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));align-items:end;gap:var(--space-3);min-width:0;min-height:132px}.cluster-composition__row{display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;align-items:end;gap:var(--space-1);min-width:0;min-height:132px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.cluster-composition__row:hover,.cluster-composition__row:focus-visible,.cluster-composition__row.is-active{outline:none}.cluster-composition__row:hover .cluster-composition__bar-fill,.cluster-composition__row:focus-visible .cluster-composition__bar-fill,.cluster-composition__row.is-active .cluster-composition__bar-fill{box-shadow:0 0 0 1px var(--color-chart-bg),0 0 0 2px var(--color-accent)}.cluster-composition__row.is-active .cluster-composition__label{color:var(--color-accent)}.cluster-composition__label{color:var(--color-text);font-family:var(--font-label);font-size:var(--fs-lg);font-variant-numeric:var(--numeric-variant);text-align:center}.cluster-composition__bar{position:relative;display:flex;align-items:flex-end;justify-content:center;width:min(100%,30px);height:100%}.cluster-composition__bar-fill{display:block;width:100%;height:var(--cluster-bar-percent);border-radius:0;background:var(--cluster-color)}.cluster-composition__metric{display:grid;justify-items:center;gap:2px;color:var(--color-text-dim);font-family:var(--font-numeric);font-size:var(--fs-lg);font-variant-numeric:var(--numeric-variant);white-space:normal;text-align:center}.cluster-composition__metric strong{color:var(--color-text);font-size:var(--fs-xl)}.cluster-composition__detail{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2);min-width:0;min-height:132px}.cluster-composition__genre-list{display:grid;grid-template-columns:repeat(var(--genre-count),minmax(66px,1fr));align-items:end;gap:var(--space-2);min-width:0;min-height:100px;overflow-x:auto;overflow-y:hidden}.cluster-composition__genre-row{display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;align-items:end;gap:var(--space-1);min-width:0;min-height:100px;color:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-lg)}.cluster-composition__genre-label{max-width:100%;overflow:hidden;color:var(--color-text);text-align:center;text-overflow:ellipsis;white-space:nowrap}.cluster-composition__genre-bar{display:flex;align-items:flex-end;justify-content:center;width:min(100%,22px);height:100%}.cluster-composition__genre-bar-fill{display:block;width:100%;height:var(--genre-bar-percent);border-radius:0;background:var(--genre-color)}.cluster-composition__genre-metric{display:grid;justify-items:center;gap:2px;color:var(--color-text-dim);font-variant-numeric:var(--numeric-variant);text-align:center;white-space:normal}.cluster-composition__genre-metric strong{color:var(--color-text);font-size:var(--fs-xl)}.view-chart__controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);padding:0 var(--space-1)}.view-chart__toolbar{display:flex;flex-direction:column;gap:var(--space-1)}.view-chart__filters{display:grid;grid-template-columns:repeat(3,minmax(132px,1fr)) auto;align-items:flex-end;gap:var(--space-3);padding:0 var(--space-1)}.view-chart__controls-label{color:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-lg)}.view-axis-toggle{padding:var(--space-2) var(--space-3);border:1.5px solid color-mix(in srgb,var(--color-border) 68%,var(--color-bg));border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--color-surface-raised),var(--color-surface));color:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-lg);cursor:pointer}.view-axis-toggle.is-active{border-color:color-mix(in srgb,var(--color-control-fill) 78%,var(--color-border));background:var(--color-control-fill);color:var(--color-paper-text)}.view-chart svg{display:block;width:100%;height:100%;min-height:var(--chart-min-height);border:1.5px solid color-mix(in srgb,var(--color-border) 68%,var(--color-bg));border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 22%),var(--color-chart-bg);box-shadow:inset 0 0 0 1px #0000006b;overflow:hidden}.view-chart--cluster svg{cursor:crosshair;touch-action:none}.view-chart__empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:var(--panel-state-min-height);border:1.5px dashed color-mix(in srgb,var(--color-border) 72%,var(--color-bg));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-chart-bg) 78%,var(--color-surface));color:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-sm)}.view-chart .chart-tooltip{order:-1;padding:var(--space-2) var(--space-3);border:1.5px solid color-mix(in srgb,var(--color-border) 66%,var(--color-bg));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-paper) 10%,var(--color-chart-bg))}.view-chart:after{content:"";min-height:18px}.view-bg{fill:var(--color-chart-bg)}.view-grid{stroke:var(--color-chart-grid);stroke-width:1}.view-grid-layer{pointer-events:none}.view-grid-layer--alignment .view-grid{stroke-width:.65;opacity:.38}.view-axis{stroke:var(--color-chart-axis);stroke-width:1.15}.view-axis--subtle{stroke-opacity:.6}.view-axis-tick{fill:var(--color-text-dim);font-family:var(--font-numeric);font-size:var(--fs-xs);font-variant-numeric:var(--numeric-variant)}.view-axis-label{fill:var(--color-text-dim);font-family:var(--font-label);font-size:var(--fs-md);letter-spacing:.01em}.view-axis-label--river{font-family:var(--font-label);font-size:var(--fs-xs);letter-spacing:0}.view-hull{fill-opacity:.09;stroke-width:1.4;stroke-opacity:.65;stroke-linejoin:round;pointer-events:none}.view-point{opacity:.72;stroke:var(--color-chart-bg);stroke-width:.9;transition:opacity var(--motion-normal) var(--ease-standard),stroke-width var(--motion-normal) var(--ease-standard)}.view-point:hover,.view-point--active{opacity:1;stroke:var(--color-accent);stroke-width:1.4}.view-point--selected{opacity:1;stroke:var(--color-text);stroke-width:1.5}.view-point--dimmed{opacity:.18}.view-chart__brushable{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.view-river-band{opacity:.88;shape-rendering:geometricPrecision}.view-river-band--other{fill:var(--color-river-other);stroke:var(--color-river-other);stroke-width:.6}.view-entropy-line{fill:none;stroke:var(--color-entropy-line);stroke-width:2.1;stroke-linejoin:round;stroke-linecap:round;animation:entropy-glow var(--motion-slow) var(--ease-enter)}.view-film-dot{fill:var(--color-accent);fill-opacity:.32;stroke:var(--color-entropy-line);stroke-opacity:.82;stroke-width:.8}.view-film-dot--clickable{cursor:pointer}.view-film-dot--clickable:hover,.view-film-dot--clickable:focus-visible,.view-film-dot--active{fill-opacity:.7;stroke:var(--color-accent);stroke-width:1.4;outline:none}.view-peak-ring{fill:none;stroke:var(--color-accent);stroke-width:1;stroke-dasharray:2 2}.view-peak-ring--onset{stroke:var(--color-entropy-line);stroke-width:1.25;stroke-dasharray:none}.view-spike-hit{cursor:pointer;outline:none}.view-spike-hit:hover .view-peak-ring,.view-spike-hit:focus-visible .view-peak-ring,.view-peak-ring--active{stroke:var(--color-text);stroke-width:1.6;stroke-dasharray:none}.view-peak-core{fill:var(--color-accent);stroke:var(--color-chart-bg);stroke-width:.8}.view-peak-label{fill:var(--color-text);font-family:var(--font-label);font-size:var(--fs-sm);font-variant-numeric:var(--numeric-variant);pointer-events:none}.view-alignment-zone{opacity:.18}.view-alignment-zone--left{fill:var(--color-border)}.view-t0-axis{stroke:var(--color-accent);stroke-width:1.1;stroke-dasharray:4 3}.view-t0-label{fill:var(--color-accent);font-family:var(--font-label);font-size:var(--fs-sm);font-variant-numeric:var(--numeric-variant)}.view-track{fill:none;stroke-width:1.4;stroke-linecap:round;opacity:.4;transition:opacity var(--motion-normal) var(--ease-standard),stroke-width var(--motion-normal) var(--ease-standard)}.view-track--success{stroke:var(--color-success)}.view-track--snapback{stroke:var(--color-snapback);opacity:.72}.view-track--none{stroke:var(--color-text-dim);stroke-width:1;opacity:.25}.view-track--context-out{stroke:var(--color-text-dim);stroke-width:1;opacity:.12}.view-track--peer{opacity:.85}.view-track--selected{stroke:var(--color-accent);opacity:1;stroke-width:2.8}.view-selected-guide{stroke:var(--color-accent);stroke-width:1.4;stroke-dasharray:2 4;opacity:.75}.view-track--muted{opacity:.08}.view-track--peer{opacity:.78}.view-track--selected{opacity:1;stroke-width:3.8;filter:drop-shadow(0 0 2px var(--color-text)) drop-shadow(0 0 5px var(--color-accent))}.view-markov-cell{fill:var(--color-markov-cell);stroke:var(--color-chart-bg);stroke-width:.55;transition:opacity var(--motion-fast) var(--ease-standard)}.view-markov-cell:hover{opacity:1!important}.view-markov-cell-tooltip{pointer-events:none}.view-markov-cell-tooltip rect{fill:color-mix(in srgb,var(--color-ui-rail) 88%,var(--color-surface));stroke:color-mix(in srgb,var(--color-border) 86%,var(--color-bg));stroke-width:1.35;filter:drop-shadow(0 2px 4px rgba(0,0,0,.48))}.view-markov-cell-tooltip text{fill:var(--color-text);font-family:var(--font-label);font-size:var(--fs-xs);font-variant-numeric:var(--numeric-variant)}.view-markov-cell--diag{fill:var(--color-markov-diag)}.view-chart--markov-empty .view-markov-cell,.view-chart--markov-empty .view-markov-cell--diag{fill:var(--color-text-dim);stroke:var(--color-chart-bg)}.view-chart--markov-empty .view-markov-cell:hover{opacity:.28!important}.view-markov-empty-grid{filter:blur(1.4px);opacity:.74}.view-markov-empty-overlay{pointer-events:none}.view-markov-empty-overlay__text{fill:var(--color-text);font-family:var(--font-label);font-size:var(--fs-sm)}.view-matrix-label{fill:var(--color-text-dim);font-size:var(--fs-xs);font-family:var(--font-numeric);font-variant-numeric:var(--numeric-variant)}@keyframes entropy-glow{0%{stroke-opacity:0}to{stroke-opacity:1}}@media (max-width: 1100px){.view-chart svg{min-height:var(--chart-mobile-min-height)}}@media (max-width: 760px){.view-chart{gap:var(--space-1)}.cluster-composition{padding-right:var(--space-2);padding-left:var(--space-2)}.cluster-composition__list{gap:var(--space-2);min-height:116px}.cluster-composition__row{min-height:116px}.cluster-composition__bar{width:min(100%,24px)}.cluster-composition__metric{font-size:var(--fs-lg)}.cluster-composition__metric strong{font-size:var(--fs-xl)}.cluster-composition__genre-list{gap:var(--space-1);min-height:92px}.cluster-composition__genre-row{min-height:92px}.cluster-composition__genre-bar{width:min(100%,18px)}.cluster-composition__genre-metric{font-size:var(--fs-lg)}.cluster-composition__genre-metric strong{font-size:var(--fs-xl)}.view-chart__filters{grid-template-columns:repeat(2,minmax(150px,1fr));gap:var(--space-2)}.view-axis-toggle{min-height:42px}}
