:root{--bg: #f2f5ef;--panel: #fbf8ef;--text: #14281d;--muted: #4a5f54;--line: #c9d6c1;--accent: #0b6e4f;--accent-soft: #d7efe6;--warning: #9d2b25;--topbar-action-bg: #f8fbf5;--topbar-action-border: #b9ccc0;--topbar-action-text: #1d4838;--topbar-action-hover-bg: #e7f3eb;--topbar-action-hover-border: #8fb5a3;--topbar-action-focus: #7cab97}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{font-family:Space Grotesk,sans-serif;background:radial-gradient(circle at 90% 0%,#ddeacc 0%,var(--bg) 45%);color:var(--text)}a{color:var(--accent)}.app-shell{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 20px 10px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f7f6ef,#edf5e6)}.topbar-main{grid-column:1;justify-self:start;text-align:left}.topbar-link-row{margin-top:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topbar-nav-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--topbar-action-border);border-radius:10px;background:var(--topbar-action-bg);box-shadow:0 1px #14281d0a;color:var(--topbar-action-text);height:30px;padding:0 12px;font-size:.76rem;font-weight:500;letter-spacing:.01em;text-decoration:none}.topbar-nav-link:hover{border-color:var(--topbar-action-hover-border);background:var(--topbar-action-hover-bg);box-shadow:0 1px #14281d0d;color:var(--topbar-action-text);text-decoration:none}.topbar-icon-link{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--topbar-action-border);border-radius:10px;background:var(--topbar-action-bg);box-shadow:0 1px #14281d0a;color:var(--topbar-action-text);text-decoration:none;flex:0 0 auto}.topbar-icon-link:hover{border-color:var(--topbar-action-hover-border);background:var(--topbar-action-hover-bg);box-shadow:0 1px #14281d0d;color:var(--topbar-action-text);text-decoration:none}.topbar-icon-link svg{width:15px;height:15px;fill:currentColor}.topbar-nav-link:focus-visible,.topbar-icon-link:focus-visible{outline:2px solid var(--topbar-action-focus);outline-offset:1px;border-color:var(--topbar-action-focus);box-shadow:0 1px #14281d0d}.topbar h1{margin:0;font-size:1.2rem;font-weight:700}.topbar p{margin:4px 0 0;font-size:.84rem;color:var(--muted)}.dataset-chip{grid-column:2;justify-self:end;display:flex;align-items:center;gap:14px;font-family:IBM Plex Mono,monospace;font-size:.75rem}.dataset-item{display:inline-flex;align-items:center;gap:6px}.dataset-item span{color:var(--muted);font-size:.7rem;letter-spacing:.03em;text-transform:uppercase}.dataset-chip strong{background:#e8f3e7;border:1px solid #bad8b9;border-radius:999px;padding:2px 9px}.workspace{display:grid;grid-template-columns:minmax(56px,340px) minmax(0,1fr) 360px;min-height:0}.workspace.help-collapsed{grid-template-columns:56px minmax(0,1fr) 360px}.help-panel{border-right:1px solid var(--line);background:linear-gradient(180deg,#fcfbf4,#f4f7ef);min-height:0;display:grid;grid-template-rows:auto 1fr}.help-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 8px;border-bottom:1px solid var(--line)}.help-header h2{margin:0;font-size:.95rem}.help-toggle-btn{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);width:28px;height:28px;padding:0;display:inline-grid;place-items:center;font-size:.95rem;font-weight:700;line-height:1;cursor:pointer}.help-content{overflow:auto;padding:10px;display:grid;gap:8px}.help-card{border:1px solid #cddac7;border-radius:10px;background:#fefdf6;padding:8px 9px}.help-card.glow{border-color:#8bbf9d;box-shadow:0 0 0 2px #30a46c40;animation:help-glow-pulse 2s ease-out 1}@keyframes help-glow-pulse{0%{box-shadow:0 0 #30a46c73}55%{box-shadow:0 0 0 7px #30a46c24}to{box-shadow:0 0 #30a46c00}}.help-card h3{margin:0 0 6px;font-size:.77rem;text-transform:uppercase;letter-spacing:.03em;color:var(--accent)}.help-card p{margin:0 0 5px;font-size:.78rem;line-height:1.35;color:var(--text)}.help-card p:last-child{margin-bottom:0}.help-more{margin:0;border-radius:8px;background:#f1f7ea;border:1px solid #c8d8c0;padding:7px 8px;font-size:.75rem;color:var(--muted)}.help-panel.collapsed{border-right:1px solid var(--line);display:grid;place-items:center;padding:6px 4px}.help-rail-btn{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);width:36px;height:36px;padding:0;display:grid;place-items:center;font-size:1rem;font-weight:600;line-height:1;cursor:pointer}.map-section{position:relative;min-height:0}.load-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:10px;text-align:center;background:linear-gradient(135deg,#edf5e6,#f5f0e4);z-index:20;padding:20px}.error-text{color:var(--warning);font-family:IBM Plex Mono,monospace}.upload-btn{justify-self:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 12px;cursor:pointer}.upload-btn input{display:none}.map-stats{position:absolute;bottom:10px;left:12px;display:flex;gap:10px;flex-wrap:wrap;background:#f8f8f2d8;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:.72rem}.tooltip{position:absolute;max-width:280px;pointer-events:none;z-index:30;background:#fffef7f2;border:1px solid #d6dfcb;border-radius:10px;padding:8px 10px;box-shadow:0 8px 20px #14281d21;font-size:.8rem}.tooltip-title{font-family:IBM Plex Mono,monospace;font-weight:500}.tooltip-roles{display:flex;gap:7px;flex-wrap:wrap;margin-top:3px;color:var(--muted)}.tooltip-desc{margin:8px 0 0;padding:7px 8px 8px;border-radius:8px;border:1px solid #c9dbc0;background:linear-gradient(135deg,#ecf6e6,#fff7e6);color:#153126;font-weight:500;line-height:1.35}.tooltip-desc:before{content:"Description";display:block;margin-bottom:4px;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.side-panel{position:relative;border-left:1px solid var(--line);background:linear-gradient(180deg,#fcfbf4,#f4f7ef);min-height:0;display:grid;grid-template-rows:auto auto 1fr}.tab-row{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--line)}.tab-row button{border:0;padding:11px 8px;cursor:pointer;background:transparent;font-weight:500}.tab-row button.active{background:var(--accent-soft);color:var(--accent)}.panel-content{overflow:auto;padding:14px 14px 18px;font-size:.9rem}.panel-content h2{margin:0 0 8px;font-size:1rem}.panel-content h3{margin:14px 0 8px;font-size:.88rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.badge{display:inline-block;margin:0 0 10px;padding:3px 8px;border-radius:999px;border:1px solid #b8d8ca;background:#ddf1e9;font-family:IBM Plex Mono,monospace;font-size:.76rem}.field{display:grid;gap:6px;margin-bottom:10px}.field-label{display:inline-flex;align-items:center}.field-label.with-help{gap:6px}.inline-help-btn{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);width:18px;height:18px;padding:0;display:inline-grid;place-items:center;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.7rem;line-height:1}.inline-help-btn:hover{color:var(--accent);border-color:#9fc9af;background:#f8fcf8}.field select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 9px}.checkbox{display:flex;gap:8px;align-items:center;margin:8px 0 10px}.mini-bars{display:grid;gap:6px}.mini-bar-row{display:grid;grid-template-columns:70px 1fr 38px;align-items:center;gap:7px;font-family:IBM Plex Mono,monospace;font-size:.72rem}.mini-bar{height:10px;border-radius:10px;background:#dce7d6;overflow:hidden}.mini-bar-fill{height:100%;background:linear-gradient(90deg,#30a46c,#0f766e)}.neighbor-list{list-style:none;padding:0;margin:0;display:grid;gap:5px}.neighbor-list li button{width:100%;border:1px solid var(--line);border-radius:8px;background:#fffffc;display:flex;justify-content:space-between;align-items:center;font-family:IBM Plex Mono,monospace;padding:7px 8px;cursor:pointer}.neighbor-list li button:hover{border-color:#8db89f}.plain-list{list-style:none;padding:0;margin:0;display:grid;gap:4px}.plain-list li{display:flex;justify-content:space-between;border-bottom:1px dashed #ccd7c7;padding:4px 0;font-family:IBM Plex Mono,monospace;font-size:.78rem}.quality-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fdfaf0;display:grid;gap:8px}.quality-card p{margin:0}.quality-metric{font-size:.84rem}@media (max-width: 920px){.topbar{grid-template-columns:1fr;justify-items:stretch;gap:10px}.topbar-main{grid-column:1;justify-self:start;text-align:left}.dataset-chip{grid-column:1;justify-self:center;flex-wrap:wrap;justify-content:center}.dataset-item{justify-content:center}.workspace{grid-template-columns:1fr;grid-template-rows:minmax(320px,1fr) auto auto}.workspace.help-collapsed{grid-template-columns:1fr}.help-panel{border-right:0;border-top:1px solid var(--line);max-height:44vh}.help-panel.collapsed{display:block;padding:8px 10px;border-right:0;border-top:1px solid var(--line)}.help-rail-btn{width:36px;height:36px;margin:0 auto;border-radius:999px}.side-panel{border-left:0;border-top:1px solid var(--line);max-height:46vh}.side-panel.collapsed{width:100%}}.drift-view{--bg: #eef3f7;--panel: #f8fbff;--panel-strong: #eef4fb;--text: #15222b;--muted: #5a6975;--line: #cdd8e2;--line-soft: #cdd8e2;--line-strong: #33404c;--accent-1: #1b7f6c;--accent-2: #b53e58;--accent-3: #2f6eb7;--warning: #8a6a00;--error: #8f2226;--topbar-action-bg: #f5f9fd;--topbar-action-border: #b8c8d7;--topbar-action-text: #284e71;--topbar-action-hover-bg: #eaf2fb;--topbar-action-hover-border: #91acc7;--topbar-action-focus: #86a9ca}.drift-view *{box-sizing:border-box}.drift-view{width:100%;min-height:100%;margin:0}.drift-view{font-family:Space Grotesk,sans-serif;color:var(--text);background:radial-gradient(circle at 5% 0%,rgba(47,110,183,.15),transparent 44%),radial-gradient(circle at 95% 0%,rgba(181,62,88,.13),transparent 40%),linear-gradient(170deg,#eef3f7,#edf6f0)}.drift-view code,.drift-view .numeric,.drift-view .axis-label,.drift-view .turn-header span,.drift-view .turn-subline,.drift-view .meta-chip strong{font-family:IBM Plex Mono,monospace}.drift-view h1,.drift-view h2,.drift-view h3,.drift-view h4,.drift-view p{margin:0}.drift-view a{color:var(--accent-3);text-decoration:none}.drift-view a:hover{text-decoration:underline}.drift-view .drift-app-shell{min-height:100vh;display:flex;flex-direction:column}.drift-view .topbar{padding:14px 20px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border-bottom:1px solid var(--line-soft);background:radial-gradient(circle at 5% 0%,rgba(47,110,183,.12),transparent 56%),radial-gradient(circle at 95% 0%,rgba(181,62,88,.1),transparent 52%),linear-gradient(170deg,#eef3f7,#edf6f0)}.drift-view .topbar h1{font-size:1.2rem;font-weight:700;letter-spacing:.01em}.drift-view .topbar p{margin-top:4px;color:var(--muted);font-size:.88rem}.drift-view .topbar-actions{display:flex;align-items:center;gap:10px}.drift-view .nav-link,.drift-view .topbar-actions button{border:1px solid #b7c8d9;background:#fff;border-radius:10px;padding:8px 11px;font-size:.82rem;color:var(--text);cursor:pointer;line-height:1.2}.drift-view .nav-link{border-color:#a8bfd7}.drift-view .topbar-actions button:hover,.drift-view .nav-link:hover{background:#f2f7fd;text-decoration:none}.drift-view .run-meta-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 16px;border-bottom:1px solid var(--line-soft)}.drift-view .meta-chip{border:1px solid var(--line-soft);border-radius:12px;background:#ffffffb8;padding:8px 10px;display:grid;gap:2px}.drift-view .meta-chip span{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.drift-view .meta-chip strong{font-size:.75rem;word-break:break-word}.drift-view .status-row{padding:8px 16px 0;display:grid;gap:6px}.drift-view .warning-text,.drift-view .error-text{border-radius:8px;border:1px solid;padding:7px 10px;font-size:.82rem}.drift-view .warning-text{background:#fff8e2;border-color:#f0d89f;color:var(--warning)}.drift-view .error-text{background:#feeef0;border-color:#f2b0b4;color:var(--error)}.drift-view .drift-layout{flex:1;min-height:0;padding:12px;display:grid;grid-template-columns:minmax(300px,20vw) minmax(0,1fr);gap:12px}.drift-view .card{border:1px solid var(--line-soft);background:var(--panel);border-radius:14px;box-shadow:0 8px 22px #1a2a3a0f}.drift-view .left-column{min-height:0;overflow:visible;padding:12px;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}.drift-view .left-column h2{font-size:1rem}.drift-view .left-column h3{font-size:.92rem}.drift-view .left-column p{color:var(--muted);font-size:.84rem;line-height:1.35}.drift-view .run-picker-row{display:grid;gap:6px}.drift-view .run-picker-row label{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.drift-view .run-selector{border:1px solid #b7c8d9;background:#fff;border-radius:10px;padding:8px 9px;color:var(--text);font-size:.84rem}.drift-view .run-selector-wrap{display:flex;align-items:center;gap:8px}.drift-view .run-selector.sensitive{border-color:#d47f89;background:#fff3f4;color:#7f2434;font-weight:600}.drift-view .sensitive-flag-wrap{position:relative;display:inline-flex;align-items:center}.drift-view .sensitive-flag{width:18px;height:18px;border-radius:999px;border:1px solid #d47f89;background:#fff3f4;color:#b52a3d;font-family:IBM Plex Mono,monospace;font-size:.74rem;font-weight:700;line-height:1;display:inline-grid;place-items:center}.drift-view .sensitive-flag-tooltip{position:absolute;left:24px;top:50%;transform:translateY(-50%);border:1px solid #d47f89;border-radius:8px;background:#fff3f4;color:#7f2434;font-size:.72rem;line-height:1.25;white-space:nowrap;padding:5px 7px;box-shadow:0 6px 18px #5b172129;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;z-index:30;pointer-events:none}.drift-view .sensitive-flag-wrap:hover .sensitive-flag-tooltip{opacity:1;visibility:visible}.drift-view .turn-list{flex:1 1 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;overflow-y:auto;overflow-x:hidden;min-height:0;padding-right:4px;min-width:0}.drift-view .turn-button{flex:0 0 auto;width:100%;border:1px solid var(--line-soft);border-radius:10px;background:#fbfdff;padding:8px;text-align:left;cursor:pointer;display:grid;gap:5px;min-width:0}.drift-view .turn-button:hover{background:#eef5fc;border-color:#aac0d6}.drift-view .turn-button.active{border-color:#789fbe;box-shadow:0 0 0 2px #2f6eb733}.drift-view .turn-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.drift-view .turn-header strong{font-size:.82rem}.drift-view .turn-header span,.drift-view .turn-subline{font-size:.74rem;color:var(--muted)}.drift-view .turn-button p{font-size:.8rem;color:var(--text);overflow-wrap:anywhere;word-break:break-word}.drift-view .main-column{min-height:0;display:grid;grid-template-rows:auto auto auto;gap:12px}.drift-view .q1-card,.drift-view .q3-card,.drift-view .q2-card{padding:10px 12px;display:grid;gap:10px}.drift-view .feature-grid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.drift-view .card-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.drift-view .card-header-title{display:inline-flex;align-items:center;gap:6px}.drift-view .card-header h2{font-size:1rem}.drift-view .card-header span{color:var(--muted);font-size:.78rem}.drift-view .drift-help-wrap{position:relative;display:inline-flex;align-items:center}.drift-view .drift-help-tooltip{position:absolute;left:0;top:calc(100% + 8px);width:min(560px,70vw);border:1px solid #b8cce2;border-radius:10px;background:#f8fbff;color:#1a2e3f;padding:10px 11px;box-shadow:0 8px 24px #0e253a26;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;z-index:20;pointer-events:none}.drift-view .drift-help-tooltip p{margin:0;line-height:1.35;font-size:.76rem;color:#1a2e3f}.drift-view .drift-help-tooltip p+p{margin-top:7px}.drift-view .drift-help-metric+.drift-help-metric{margin-top:8px}.drift-view .drift-help-tooltip code{font-family:IBM Plex Mono,monospace;font-size:.75rem}.drift-view .drift-help-eq-block{border:1px solid #c8d9ea;border-radius:8px;background:#fff;padding:6px 9px;margin:5px 0;display:inline-flex;align-items:center}.drift-view .drift-help-eq-block code{font-size:.76rem}.drift-view .drift-help-eq-block sub{font-size:.68em}.drift-view .drift-help-wrap:hover .drift-help-tooltip,.drift-view .drift-help-wrap:focus-within .drift-help-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.drift-view .q1-card svg{width:100%;height:380px;border-radius:10px;border:1px solid var(--line-soft);background:linear-gradient(180deg,#fbfdff,#eef4fb)}.drift-view .axis-label{fill:#5d6f80;font-size:11px}.drift-view .segment{cursor:pointer;stroke-linecap:round;stroke-width:5;opacity:.7}.drift-view .segment.drop{stroke:#bb4a64}.drift-view .segment.rise{stroke:#22826f}.drift-view .segment.active{opacity:1;stroke-width:8}.drift-view .score-dot{cursor:pointer;fill:#5c7796}.drift-view .score-dot.active{fill:#0f2a44;stroke:#fff;stroke-width:2}.drift-view .feature-table-card h4{font-size:.84rem}.drift-view .token-heat{border:1px solid var(--line-soft);border-radius:10px;background:#f8fbfe;padding:8px;max-height:230px;overflow:auto;line-height:1.7}.drift-view .token-legend{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:8px;width:100%}.drift-view .token-legend-chip{font-size:.72rem;line-height:1.2;color:var(--muted);border:1px solid #d2dee9;background:#fff;border-radius:999px;padding:2px 8px;white-space:nowrap}.drift-view .token-legend-chip-left{color:#8f3347;border-color:#e7b2be;background:#fff4f6}.drift-view .token-legend-chip-right{color:#255885;border-color:#b2cde7;background:#f2f7fd}.drift-view .token-legend-bar-wrap{min-width:0}.drift-view .token-legend-bar{width:100%;height:12px;border-radius:999px;border:1px solid rgba(30,42,56,.24)}.drift-view .token-pill{display:inline-flex;align-items:center;margin:2px;border-radius:7px;padding:2px 6px;font-size:.78rem;white-space:nowrap;line-height:1.3;min-height:1.5em;vertical-align:middle}.drift-view .feature-table-card{border:1px solid var(--line-soft);border-radius:10px;background:#fbfdff;padding:8px;display:grid;gap:7px;align-content:start}.drift-view .feature-table-card header{display:flex;justify-content:space-between;align-items:baseline}.drift-view .feature-table-card header span{color:var(--muted);font-size:.74rem}.drift-view .feature-table-scroll{overflow-x:auto;overflow-y:visible;max-height:none}.drift-view .feature-table-card table{width:100%;border-collapse:collapse;font-size:.76rem;min-width:780px}.drift-view .feature-table-card th,.drift-view .feature-table-card td{border-bottom:1px solid #e2ebf5;text-align:left;padding:5px 6px;vertical-align:top}.drift-view .feature-table-card th{background:#f3f8ff;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.drift-view .feature-id{display:block;font-weight:600}.drift-view .feature-id-link{color:#1f5f9a;text-underline-offset:2px}.drift-view .feature-id-link:hover{color:#143f66}.drift-view .effect-pill{margin-top:3px;border-radius:999px;border:1px solid;display:inline-block;padding:1px 7px;font-size:.67rem;text-transform:uppercase;letter-spacing:.03em}.drift-view .effect-pill.away_from_assistant{color:#972f45;border-color:#e7b2be;background:#fff1f4}.drift-view .effect-pill.toward_assistant{color:#176354;border-color:#9fcbbe;background:#eefaf5}.drift-view .share-cell{min-width:110px;display:grid;gap:3px}.drift-view .share-cell span{font-size:.72rem;color:var(--muted)}.drift-view .share-bar-track{width:100%;height:7px;border-radius:999px;background:#edf2f7}.drift-view .share-bar{height:100%;border-radius:999px;background:var(--accent-2)}.drift-view .role-profile{max-width:220px;color:#2c4255}@media (max-width: 1680px){.drift-view .drift-layout{grid-template-columns:minmax(290px,24vw) minmax(0,1fr)}.drift-view .run-meta-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1280px){.drift-view .drift-layout{grid-template-columns:minmax(280px,32vw) minmax(0,1fr)}.drift-view .feature-grid{grid-template-columns:1fr}}@media (max-width: 980px){.drift-view .topbar{grid-template-columns:1fr}.drift-view .topbar-actions{justify-content:flex-start;flex-wrap:wrap}.drift-view .run-meta-row{grid-template-columns:repeat(2,minmax(0,1fr))}.drift-view .drift-layout{grid-template-columns:1fr}.drift-view .main-column{grid-template-rows:auto auto auto}.drift-view .q1-card svg{height:300px}.drift-view .token-legend{width:100%}}@media (max-width: 640px){.drift-view .run-meta-row{grid-template-columns:1fr}.drift-view .status-row,.drift-view .drift-layout,.drift-view .run-meta-row{padding-left:10px;padding-right:10px}.drift-view .topbar{padding:12px 10px}}
