*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{background:#101820;color:#eef5fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed;overflow:hidden}button,input{font:inherit}.viewport-blocker{display:grid;width:100%;min-height:100%;place-items:center;padding:24px;color:#eef5fb;background:linear-gradient(rgba(67,81,95,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(67,81,95,.14) 1px,transparent 1px),#101820;background-size:28px 28px}.viewport-blocker section{display:grid;gap:12px;width:min(520px,100%);padding:24px;border:1px solid rgba(177,199,218,.18);border-radius:8px;background:#0d1720db;box-shadow:0 24px 80px #0000005c;text-align:left}.viewport-blocker span{color:#9bd8c4;font-size:.74rem;font-weight:900;text-transform:uppercase}.viewport-blocker h1{margin:0;color:#fff;font-size:clamp(2rem,9vw,3.4rem);line-height:.98}.viewport-blocker p{margin:0;color:#c7d4df;font-size:1rem;line-height:1.55}.viewport-blocker small{color:#9fb4c9;font-size:.84rem;font-weight:800}.viewer-shell{position:relative;width:100%;height:100%;isolation:isolate;--right-rail-width: min(380px, calc(100vw - 430px) );--edge-gap: 24px;--viewer-panel-width: min(360px, calc(100vw - 48px) );--center-lane-left: calc(var(--edge-gap) + var(--viewer-panel-width) + 24px);--center-lane-right: calc(var(--edge-gap) + var(--right-rail-width) + 24px)}.embedding-canvas{width:100%;height:100%}.embedding-stats{position:fixed!important;top:auto!important;right:12px!important;bottom:12px!important;left:auto!important;z-index:20!important}.audio-control{position:absolute;top:13px;right:104px;z-index:24}.audio-control button{display:grid;width:72px;height:72px;place-items:center;padding:0;border:1px solid rgba(177,199,218,.22);border-radius:999px;color:#eef5fb;background:#0d1720c7;box-shadow:0 16px 42px #00000052;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.audio-control button:hover,.audio-control button.is-playing{border-color:#34d39970;background:#0a2d26d6;transform:translateY(-1px)}.audio-control span{color:#fff;font-size:1.8rem;font-weight:900;line-height:1}.audio-control button.is-playing span{font-size:1.1rem;letter-spacing:1px}.viewer-panel{position:absolute;left:var(--edge-gap);top:var(--edge-gap);z-index:10;width:var(--viewer-panel-width);display:grid;gap:18px;height:calc(100vh - 48px);max-height:calc(100vh - 48px);overflow-y:auto;padding:20px;border:1px solid rgba(177,199,218,.18);border-radius:8px;background:#0d1720c7;box-shadow:0 20px 70px #0000004d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel-kicker,.search-control span,.range-control span,.focus-readout span,.share-view-card span,.heatmap-card>div span,.neighborhood-card>div span,.analogy-card>span,.preset-drawer>span,.analogy-explanation span,.compare-neighbor-group>span,.loading-status{margin:0;color:#9fb4c9;font-size:.73rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.viewer-panel h1{margin:4px 0 8px;color:#f8fafc;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.05}.panel-copy{margin:0;color:#c7d4df;font-size:.93rem;line-height:1.55}.search-control,.range-control,.focus-readout{display:grid;gap:8px}.search-control input{width:100%;height:42px;border:1px solid rgba(177,199,218,.26);border-radius:6px;padding:0 12px;color:#f8fafc;background:#070d12b8;outline:none}.search-control input:focus{border-color:#76e4f7;box-shadow:0 0 0 3px #76e4f724}.range-control span{display:flex;justify-content:space-between;align-items:center}.range-control strong{color:#f8fafc;font-size:.83rem}.range-control input{accent-color:#76e4f7}.focus-readout{padding:14px;border:1px solid rgba(118,228,247,.18);border-radius:6px;background:#76e4f714}.heatmap-card,.neighborhood-card{display:grid;grid-template-columns:1fr auto;gap:10px 12px;align-items:center;padding:12px;border:1px solid rgba(177,199,218,.16);border-radius:6px;background:#070d126b}.heatmap-card.is-active,.neighborhood-card.is-active{border-color:#f6d65f57;background:linear-gradient(135deg,#76e4f714,#fb71851a),#070d127a}.heatmap-card>div,.neighborhood-card>div{display:grid;gap:4px;min-width:0}.heatmap-card strong,.neighborhood-card strong{min-width:0;overflow:hidden;color:#fff;font-size:.92rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.heatmap-card>button,.neighborhood-card>button{display:flex;width:clamp(58px,4.8vw,70px);height:34px;align-items:center;justify-content:space-between;gap:7px;padding:5px 8px;border:1px solid rgba(177,199,218,.2);border-radius:999px;color:#b7c7d6;background:#0f1720cc;cursor:pointer;font-size:.72rem;font-weight:900;transition:border-color .16s ease,background .16s ease,color .16s ease}.view-toggle-dock .heatmap-card,.view-toggle-dock .neighborhood-card{gap:8px}.heatmap-card>button[aria-checked=true],.neighborhood-card>button[aria-checked=true]{border-color:#34d39970;color:#dcfce7;background:#0a2d26d6}.heatmap-card>button span,.neighborhood-card>button span{width:18px;height:18px;border-radius:999px;background:#536170;box-shadow:0 0 0 1px #ffffff14 inset}.heatmap-card>button[aria-checked=true] span,.neighborhood-card>button[aria-checked=true] span{background:#86efac}.heatmap-gradient{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,#151f3a,#2563eb,#22c55e,#facc15,#ef4444)}.heatmap-card ol{display:grid;grid-column:1 / -1;gap:6px;margin:0;padding:0;list-style:none}.heatmap-card li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:6px;color:#eef5fb;background:#ffffff0a;font-size:.78rem;font-weight:900}.heatmap-card li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heatmap-card small,.neighborhood-card small{grid-column:1 / -1;color:#9fb4c9;font-size:.72rem;font-weight:800}.view-toggle-dock{position:absolute;left:var(--center-lane-left);right:var(--center-lane-right);bottom:24px;z-index:18;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;min-width:0;max-width:520px}.view-toggle-dock .heatmap-card,.view-toggle-dock .neighborhood-card{min-width:0;padding:clamp(8px,.7vw,10px);border-color:#b1c7da2e;background:#0d1720b8;box-shadow:0 18px 56px #00000052;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.view-toggle-dock .heatmap-card.is-active,.view-toggle-dock .neighborhood-card.is-active{border-color:#86efac57}.view-toggle-dock .heatmap-card strong,.view-toggle-dock .neighborhood-card strong{font-size:clamp(.68rem,.72vw,.78rem)}.view-toggle-dock .heatmap-gradient{height:6px}.neighborhood-halo-label{padding:5px 8px;border:1px solid rgba(134,239,172,.34);border-radius:999px;color:#dcfce7;background:#064e3bb8;box-shadow:0 10px 32px #00000052;font-size:.68rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.share-view-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:auto;padding:12px;border:1px solid rgba(177,199,218,.16);border-radius:6px;background:#070d126b}.share-view-card div{display:grid;gap:4px;min-width:0}.share-view-card strong{min-width:0;overflow:hidden;color:#dbe7f2;font-size:.86rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.share-view-card button{min-width:88px;height:36px;border:1px solid rgba(118,228,247,.28);border-radius:6px;color:#dff7ff;background:#0e749038;cursor:pointer;font-size:.78rem;font-weight:900;transition:border-color .16s ease,background .16s ease,transform .16s ease}.share-view-card button:hover{border-color:#76e4f780;background:#0e749057;transform:translateY(-1px)}.semantic-rail{position:absolute;top:116px;right:24px;z-index:11;display:grid;gap:12px;width:var(--right-rail-width)}.insight-panel{display:grid;gap:12px;max-height:min(520px,calc(100vh - 280px));overflow-y:auto;padding:16px;border:1px solid rgba(177,199,218,.18);border-radius:8px;color:#eaf2f8;background:#0d1720cc;box-shadow:0 22px 70px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:stage-rise .36s ease both}.insight-arithmetic{border-color:#34d39947}.insight-compare{border-color:#fbbf244d}.insight-path{border-color:#f472b64d}.insight-header{display:grid;gap:5px}.insight-header span,.insight-section span,.insight-note span{color:#9fb4c9;font-size:.72rem;font-weight:900;text-transform:uppercase}.insight-header strong{color:#fff;font-size:1.18rem;line-height:1.12}.insight-summary{margin:0;color:#dbe7f2;font-size:.9rem;font-weight:700;line-height:1.45}.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.insight-metric{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid rgba(177,199,218,.12);border-radius:6px;background:#070d1261}.insight-metric span{color:#9fb4c9;font-size:.68rem;font-weight:900;text-transform:uppercase}.insight-metric strong{min-width:0;overflow:hidden;color:#fff;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.insight-section,.insight-note{display:grid;gap:5px;padding-top:10px;border-top:1px solid rgba(177,199,218,.12)}.insight-section p,.insight-note p{margin:0;color:#c7d4df;font-size:.84rem;font-weight:650;line-height:1.45}.insight-note{padding:10px;border:1px solid rgba(177,199,218,.12);border-radius:6px;background:#b1c7da0f}.insight-note p{color:#aebfd0;font-size:.78rem}.tutorial-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 72% 18%,rgba(52,211,153,.12),transparent 26%),#070d1294;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;transition:background .18s ease,backdrop-filter .18s ease}.tutorial-backdrop.is-docked{top:16px;right:16px;bottom:auto;left:auto;display:block;width:72px;height:72px;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.tutorial-modal{width:min(520px,calc(100vw - 48px));min-height:430px;border:1px solid rgba(177,199,218,.22);border-radius:8px;padding:20px;color:#eef5fb;background:#0d1720eb;box-shadow:0 30px 90px #0000007a,0 0 0 1px #34d39914 inset;transform-origin:top right;transition:width .42s ease,min-height .42s ease,height .42s ease,border-radius .42s ease,padding .42s ease;will-change:opacity,transform}.tutorial-modal.is-collapsed{display:grid;width:72px;height:72px;min-height:72px;place-items:center;border-color:#34d39966;border-radius:999px;cursor:pointer;overflow:hidden;pointer-events:auto}.tutorial-modal.is-collapsed:focus-visible{outline:0;box-shadow:0 0 0 4px #34d39933,0 24px 60px #00000070}.tutorial-launch-glyph{display:grid;width:100%;height:100%;place-items:center;color:#052e25;background:#86efac;font-size:2rem;font-weight:900;line-height:1}.tutorial-modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.tutorial-modal-header span{color:#9fb4c9;font-size:.73rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.tutorial-close-button{display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(177,199,218,.24);border-radius:6px;color:#dbe7f2;background:#070d129e;cursor:pointer;font-size:.82rem;font-weight:900;line-height:1;transition:border-color .16s ease,color .16s ease,background .16s ease}.tutorial-close-button:hover{border-color:#f871717a;color:#fecaca;background:#450a0a6b}.tutorial-modal h2{margin:0 0 10px;color:#fff;font-size:clamp(1.55rem,3vw,2.3rem);line-height:1.03}.tutorial-copy small{display:block;margin-bottom:8px;color:#9bd8c4;font-size:.74rem;font-weight:900}.tutorial-modal p{margin:0;color:#c7d4df;font-size:.96rem;line-height:1.55}.tutorial-carousel{display:grid;gap:18px}.tutorial-preview{position:relative;min-height:178px;overflow:hidden;border:1px solid rgba(177,199,218,.18);border-radius:8px;background:linear-gradient(rgba(67,81,95,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(67,81,95,.16) 1px,transparent 1px),#070d12a3;background-size:24px 24px;box-shadow:0 18px 54px #00000047 inset}.preview-panel-line{position:absolute;left:18px;top:18px;right:18px;display:flex;justify-content:space-between;padding:10px;border:1px solid rgba(118,228,247,.16);border-radius:6px;color:#dbe7f2;background:#0d1720c2;font-size:.78rem;font-weight:800}.preview-panel-line strong{color:#fff}.preview-slider{position:absolute;left:32px;right:32px;top:76px;height:5px;border-radius:999px;background:#b1c7da42}.preview-slider span{display:block;width:62%;height:100%;border-radius:inherit;background:#76e4f7}.preview-cloud i,.preview-search-map i{position:absolute;width:9px;height:9px;border-radius:999px;background:#f6d65f;box-shadow:0 0 18px #f6d65f47}.preview-cloud i:nth-child(1){left:18%;top:66%}.preview-cloud i:nth-child(2){left:36%;top:54%}.preview-cloud i:nth-child(3){left:51%;top:72%}.preview-cloud i:nth-child(4){left:68%;top:48%}.preview-cloud i:nth-child(5){left:78%;top:68%}.preview-cloud i:nth-child(6){left:24%;top:42%}.preview-cloud .is-hovered{width:15px;height:15px;background:#76e4f7}.preview-cloud .is-selected{width:13px;height:13px;background:#fb7185}.preview-floating-label,.preview-focus-chip,.preview-result{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:6px;color:#fff;background:#080d14eb;box-shadow:0 14px 42px #00000059;font-weight:900}.preview-floating-label{left:58%;top:34%;padding:7px 9px;font-size:.84rem}.preview-focus-chip{left:18px;bottom:18px;padding:8px 10px;color:#d1fae5;font-size:.78rem;background:#041815c7}.preview-equation{position:absolute;left:18px;right:18px;top:18px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.preview-equation span{min-width:0;padding:9px 8px;border:1px solid rgba(177,199,218,.22);border-radius:6px;color:#fff;background:#070d12b8;font-size:.8rem;font-weight:900;text-align:center}.preview-equation b{color:#86efac}.preview-trail{position:absolute;left:45px;right:45px;top:96px;height:34px}.preview-trail:before{position:absolute;left:0;right:0;top:16px;height:2px;background:linear-gradient(90deg,#38bdf8,#fb7185,#34d399);content:""}.preview-trail i{position:absolute;top:9px;width:16px;height:16px;border-radius:999px;background:#38bdf8}.preview-trail i:nth-child(1){left:0}.preview-trail i:nth-child(2){left:48%;background:#fb7185}.preview-trail i:nth-child(3){right:0;background:#34d399}.preview-result{right:18px;bottom:18px;padding:10px 14px;color:#dcfce7;background:#054d3ae6;font-size:1.2rem}.preview-search-box{position:absolute;left:18px;top:18px;width:44%;padding:10px 12px;border:1px solid rgba(118,228,247,.26);border-radius:6px;color:#f8fafc;background:#070d12d1;font-weight:900}.preview-search-map i:nth-child(1){left:28%;top:66%}.preview-search-map i:nth-child(2){left:52%;top:55%}.preview-search-map i:nth-child(3){left:69%;top:44%}.preview-search-map i:nth-child(4){left:78%;top:70%}.preview-search-map .is-found{width:16px;height:16px;background:#a7f3d0;box-shadow:0 0 24px #a7f3d06b}.preview-mode-tabs{position:absolute;left:18px;right:18px;top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.preview-mode-tabs span,.preview-preset-grid span{min-width:0;overflow:hidden;border:1px solid rgba(177,199,218,.18);border-radius:6px;color:#dbe7f2;background:#070d12ad;font-size:.72rem;font-weight:900;text-align:center;text-overflow:ellipsis;white-space:nowrap}.preview-mode-tabs span{padding:9px 5px}.preview-mode-tabs .is-active{border-color:#34d3996b;color:#bbf7d0;background:#054d3a80}.preview-preset-grid{position:absolute;left:28px;right:28px;top:78px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preview-preset-grid span{padding:13px 8px;border-color:#76e4f72e;background:#0d1720d1}.preview-compare-words{position:absolute;left:18px;right:18px;top:22px;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.preview-compare-words span,.preview-compare-words b{min-width:0;padding:10px;border:1px solid rgba(251,191,36,.22);border-radius:6px;color:#fff;background:#070d12c2;font-size:.9rem;font-weight:900;text-align:center}.preview-compare-words b{color:#fde68a;background:#713f128c}.preview-venn i{position:absolute;top:80px;width:94px;height:70px;border:1px solid rgba(251,191,36,.3);border-radius:999px;background:#fbbf241f}.preview-venn i:nth-child(1){left:calc(50% - 88px)}.preview-venn i:nth-child(2){right:calc(50% - 88px)}.preview-venn strong{position:absolute;left:50%;top:104px;transform:translate(-50%);color:#fef3c7;font-size:.84rem;font-weight:900}.preview-path-line{position:absolute;left:30px;right:30px;top:72px;display:grid;grid-template-columns:auto 1fr 1fr auto;gap:10px;align-items:center}.preview-path-line:before{position:absolute;left:58px;right:44px;top:50%;height:2px;background:linear-gradient(90deg,#f472b6,#76e4f7);content:""}.preview-path-line span,.preview-path-line strong,.preview-path-labels span{position:relative;z-index:1;padding:8px 10px;border:1px solid rgba(244,114,182,.24);border-radius:6px;color:#fff;background:#070d12db;font-size:.82rem;font-weight:900}.preview-path-line i{position:relative;z-index:1;justify-self:center;width:14px;height:14px;border-radius:999px;background:#76e4f7;box-shadow:0 0 22px #76e4f74d}.preview-path-labels{position:absolute;left:38%;right:15%;bottom:28px;display:flex;justify-content:space-between}.preview-path-labels span{color:#fbcfe8;font-size:.72rem}.preview-timeline-card{position:absolute;left:18px;right:18px;top:18px;display:grid;gap:5px;padding:14px;border:1px solid rgba(52,211,153,.24);border-radius:8px;background:#08221dc7}.preview-timeline-card span{color:#9bd8c4;font-size:.68rem;font-weight:900;text-transform:uppercase}.preview-timeline-card strong{color:#fff;font-size:1rem}.preview-timeline-card p{color:#c7d4df;font-size:.78rem;font-weight:800}.preview-scrubber{position:absolute;left:32px;right:32px;bottom:30px;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.preview-scrubber:before{position:absolute;left:0;right:0;top:50%;height:2px;background:#b1c7da47;content:""}.preview-scrubber i{position:relative;z-index:1;justify-self:center;width:12px;height:12px;border:2px solid #0d1720;border-radius:999px;background:#9fb4c9}.preview-scrubber .is-active{width:18px;height:18px;margin-top:-3px;background:#86efac;box-shadow:0 0 28px #86efac61}.tutorial-steps{display:grid;gap:8px;margin:18px 0;padding:0;list-style:none}.tutorial-steps li{display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid rgba(52,211,153,.16);border-radius:6px;background:#34d39912}.tutorial-steps strong{color:#bbf7d0;font-size:.78rem;text-transform:uppercase}.tutorial-steps span{min-width:0;color:#dbe7f2;font-size:.88rem;line-height:1.35}.tutorial-primary-button{min-width:96px;height:42px;border:1px solid rgba(52,211,153,.38);border-radius:6px;color:#052e25;background:#86efac;cursor:pointer;font-weight:900;transition:transform .16s ease,box-shadow .16s ease}.tutorial-secondary-button{min-width:96px;height:42px;border:1px solid rgba(177,199,218,.26);border-radius:6px;color:#dbe7f2;background:#070d12b8;cursor:pointer;font-weight:900}.tutorial-carousel-controls{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:18px}.tutorial-dots{display:flex;justify-content:center;gap:8px}.tutorial-dots button{width:8px;height:8px;border:0;border-radius:999px;padding:0;background:#b1c7da52;cursor:pointer}.tutorial-dots button.is-active{background:#86efac}.tutorial-primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 30px #34d3992e}.analogy-stage-readout{position:absolute;right:24px;bottom:24px;z-index:12;display:grid;gap:6px;width:var(--right-rail-width);padding:16px 18px;border:1px solid rgba(52,211,153,.32);border-radius:8px;color:#dcfce7;background:#08221dd1;box-shadow:0 20px 70px #00000052;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:stage-rise .42s ease both}.analogy-stage-readout span{color:#9bd8c4;font-size:.82rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analogy-stage-readout strong{color:#fff;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1}.compare-stage-readout{border-color:#fbbf245c;color:#fef3c7;background:#2a1d07d1}.compare-stage-readout span{color:#fde68a}.path-stage-readout{border-color:#f472b65c;color:#fce7f3;background:#301223d1}.path-stage-readout span{color:#fbcfe8}.focus-readout strong{color:#fff;font-size:1.05rem;line-height:1.2;word-break:break-word}.analogy-card{display:grid;gap:10px;padding:14px;border:1px solid rgba(52,211,153,.22);border-radius:8px;background:#34d39914}.mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border:1px solid rgba(177,199,218,.16);border-radius:6px;background:#070d1275}.mode-tabs button{height:34px;border:0;border-radius:4px;color:#9fb4c9;background:transparent;cursor:pointer;font-size:.78rem;font-weight:900;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.mode-tabs button.is-active{color:#ecfdf5;background:#34d3992e;box-shadow:0 0 0 1px #34d3992e inset}.mode-tabs button:focus-visible{outline:0;box-shadow:0 0 0 3px #76e4f72e}.analogy-controls,.compare-controls{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.compare-controls{grid-template-columns:1fr auto 1fr}.analogy-controls input,.compare-controls input{min-width:0;height:38px;border:1px solid rgba(177,199,218,.26);border-radius:6px;padding:0 10px;color:#f8fafc;background:#070d12b8;outline:none}.analogy-controls input:focus,.compare-controls input:focus{border-color:#34d399;box-shadow:0 0 0 3px #34d39924}.compare-controls input:focus{border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf2424}.analogy-controls b,.compare-controls b{color:#86efac;font-size:1rem;line-height:1}.compare-controls b{color:#fbbf24;font-size:.8rem;font-weight:900}.analogy-validation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.compare-validation{grid-template-columns:repeat(2,minmax(0,1fr))}.analogy-validation small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 7px;border-radius:5px;font-size:.68rem;font-weight:800}.analogy-validation .is-valid{color:#bbf7d0;background:#34d3991f}.analogy-validation .is-missing{color:#fecaca;background:#f871711a}.preset-drawer{display:grid;gap:8px;padding:10px;border:1px solid rgba(177,199,218,.14);border-radius:6px;background:#070d1257}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.preset-grid button{display:grid;min-width:0;gap:3px;padding:9px 10px;border:1px solid rgba(177,199,218,.18);border-radius:6px;color:#dbe7f2;background:#0d1720b8;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease,opacity .16s ease}.preset-grid button:hover:not(:disabled){border-color:#76e4f775;background:#0c37516b;transform:translateY(-1px)}.preset-grid button.is-active{border-color:#34d39985;color:#ecfdf5;background:#054d3a6b;box-shadow:0 0 0 3px #34d39914}.path-preset-drawer .preset-grid button.is-active{border-color:#f472b685;color:#fdf2f8;background:#8318435c;box-shadow:0 0 0 3px #f472b614}.preset-grid button:disabled{cursor:not-allowed;opacity:.42}.preset-grid strong,.preset-grid small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-grid strong{color:inherit;font-size:.78rem;font-weight:900}.preset-grid small{color:#9fb4c9;font-size:.68rem;font-weight:800}.calculate-button{width:100%;height:42px;border:1px solid rgba(52,211,153,.38);border-radius:6px;color:#052e25;background:#86efac;cursor:pointer;font-weight:900;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.clear-button{width:100%;height:38px;border:1px solid rgba(177,199,218,.26);border-radius:6px;color:#dbe7f2;background:#070d12b8;cursor:pointer;font-weight:900;transition:border-color .16s ease,color .16s ease,background .16s ease}.clear-button:hover{border-color:#f871717a;color:#fecaca;background:#450a0a6b}.calculate-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 30px #34d3992e}.calculate-button:disabled{cursor:not-allowed;opacity:.45}.analogy-result{display:grid;gap:4px;padding:12px;border-radius:6px;background:#04181575}.analogy-result small{color:#9bd8c4;font-size:.75rem;font-weight:800}.analogy-result strong{color:#fff;font-size:1.45rem;line-height:1}.analogy-result em{color:#bbf7d0;font-size:.78rem;font-style:normal;font-weight:800}.compare-result{background:#2a1d076b}.compare-result small,.compare-explanation span{color:#fde68a}.compare-button{border-color:#fbbf2470;color:#2a1d07;background:#fbbf24}.compare-button:hover:not(:disabled){box-shadow:0 12px 30px #fbbf2429}.path-button{border-color:#f472b670;color:#3b1027;background:#f9a8d4}.path-button:hover:not(:disabled){box-shadow:0 12px 30px #f472b629}.path-result{background:#3012236b}.path-result small,.path-explanation span{color:#fbcfe8}.timeline-scrubber{display:grid;gap:9px;padding:10px;border:1px solid rgba(177,199,218,.14);border-radius:6px;background:#070d1257}.path-timeline{border-color:#f472b629;background:#30122347}.timeline-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.timeline-header span{color:#9fb4c9;font-size:.72rem;font-weight:900;text-transform:uppercase}.timeline-header strong{min-width:0;overflow:hidden;color:#fff;font-size:.8rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.timeline-controls{display:grid;grid-template-columns:auto 1fr auto auto;gap:7px;align-items:center}.timeline-controls button{height:30px;border:1px solid rgba(177,199,218,.18);border-radius:5px;padding:0 8px;color:#dbe7f2;background:#0d1720b8;cursor:pointer;font-size:.72rem;font-weight:900;transition:border-color .16s ease,color .16s ease,background .16s ease,opacity .16s ease}.timeline-controls button:hover:not(:disabled){border-color:#76e4f76b;color:#eef9ff;background:#0c37516b}.path-timeline .timeline-controls button:hover:not(:disabled){border-color:#f472b670;color:#fdf2f8;background:#8318435c}.timeline-controls button:disabled{cursor:not-allowed;opacity:.42}.timeline-controls input{min-width:0;accent-color:#76e4f7}.path-timeline .timeline-controls input{accent-color:#f9a8d4}.timeline-steps{display:grid;gap:5px;margin:0;padding:0;list-style:none}.timeline-steps li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:center;min-width:0;padding:5px 7px;border-radius:5px;color:#8fa3b8;background:#b1c7da0d;font-size:.74rem;font-weight:800}.timeline-steps li.is-active{color:#d1fae5;background:#34d3991a}.path-timeline .timeline-steps li.is-active{color:#fce7f3;background:#f472b61a}.timeline-steps span{display:grid;width:20px;height:20px;place-items:center;border-radius:999px;color:#0d1720;background:#9fb4c9;font-size:.65rem;font-weight:900}.timeline-steps li.is-active span{background:#86efac}.path-timeline .timeline-steps li.is-active span{background:#f9a8d4}.timeline-steps strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analogy-explanation{display:grid;gap:7px;padding:12px;border:1px solid rgba(118,228,247,.18);border-radius:6px;background:linear-gradient(135deg,#76e4f71a,#34d39914),#070d1261;animation:stage-rise .42s ease both}.analogy-explanation p{margin:0;color:#dbe7f2;font-size:.84rem;font-weight:700;line-height:1.45}.compare-explanation{border-color:#fbbf242e;background:linear-gradient(135deg,#fbbf241a,#76e4f714),#070d1261}.path-explanation{border-color:#f472b62e;background:linear-gradient(135deg,#f472b61a,#76e4f714),#070d1261}.path-steps{display:grid;gap:6px;margin:0;padding:0;list-style:none}.path-steps li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border-radius:6px;color:#fce7f3;background:#f472b617;font-size:.82rem;font-weight:800}.path-steps span{display:grid;width:22px;height:22px;place-items:center;border-radius:999px;color:#3b1027;background:#f9a8d4;font-size:.72rem;font-weight:900}.path-steps strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-steps small{color:#fbcfe8}.compare-neighborhoods{display:grid;gap:9px}.compare-neighbor-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compare-neighbor-group{display:grid;min-width:0;gap:6px;padding:9px;border:1px solid rgba(177,199,218,.12);border-radius:6px;background:#070d1247}.compare-neighbor-group p{margin:0;color:#9fb4c9;font-size:.78rem;font-weight:700}.compare-neighbor-group .analogy-candidates li{padding:5px 6px;font-size:.75rem}.compare-neighbor-group .candidate-switch{gap:6px}.compare-neighbor-group .candidate-switch-track{width:23px;height:14px}.compare-neighbor-group .candidate-switch-track:after{width:8px;height:8px}.compare-neighbor-group .candidate-switch[aria-checked=true] .candidate-switch-track{border-color:#fbbf24c7;background:#78350f8a}.compare-neighbor-group .candidate-switch[aria-checked=true] .candidate-switch-track:after{background:#fde68a;transform:translate(9px)}.analogy-candidates{display:grid;gap:5px;margin:0;padding:0;list-style:none}.analogy-candidates li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;border-radius:5px;color:#d1fae5;background:#34d39914;font-size:.82rem;font-weight:800}.analogy-candidates li.is-answer{color:#f0fdf4;background:#34d3992e}.analogy-candidates small{color:#95b8aa}.candidate-switch{display:flex;align-items:center;min-width:0;gap:8px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer}.candidate-switch-track{position:relative;width:26px;height:15px;flex:0 0 auto;border:1px solid rgba(177,199,218,.26);border-radius:999px;background:#070d12b8;transition:border-color .16s ease,background .16s ease}.candidate-switch-track:after{position:absolute;left:2px;top:2px;width:9px;height:9px;border-radius:999px;background:#6b7b8a;content:"";transition:background .16s ease,transform .16s ease}.candidate-switch[aria-checked=true] .candidate-switch-track{border-color:#c084fcbd;background:#581c877a}.candidate-switch[aria-checked=true] .candidate-switch-track:after{background:#d8b4fe;transform:translate(11px)}.candidate-switch:focus-visible .candidate-switch-track{box-shadow:0 0 0 3px #c084fc2e}.candidate-switch strong{min-width:0;overflow:hidden;color:#d1fae5;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.focus-readout small{color:#fca5a5}.word-label{pointer-events:none;padding:6px 9px;border:1px solid rgba(255,255,255,.26);border-radius:6px;color:#fff;background:#080d14eb;box-shadow:0 14px 42px #0000006b;font-size:12px;font-weight:800;line-height:1;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.8);animation:label-pop .36s cubic-bezier(.2,.9,.2,1.2) both}.analogy-input-label{padding:8px 11px;border-color:#7dd3fccc;color:#fff;background:#0c3751f5;box-shadow:0 0 0 3px #38bdf829,0 18px 54px #0000007a;font-size:15px;font-weight:900}.analogy-result-label{padding:7px 10px;border-color:#bbf7d0eb;color:#fff;background:#054d3af5;box-shadow:0 0 0 4px #34d39929,0 0 34px #34d39947,0 18px 54px #00000080;font-size:14px}.analogy-candidate-label{border-color:#d8b4fec2;color:#f5e8ff;background:#3b1c56e6;box-shadow:0 0 0 3px #c084fc21,0 14px 42px #0000006b}.compare-word-label{border-color:#fbbf24db;color:#fff7ed;background:#78350ff5;box-shadow:0 0 0 3px #fbbf2424,0 18px 54px #0000007a;font-size:15px;font-weight:900}.compare-neighbor-label{border-color:#76e4f7b8;color:#e0f7ff;background:#0c3751eb;box-shadow:0 0 0 3px #76e4f71f,0 14px 42px #0000006b}.path-word-label{border-color:#f472b6db;color:#fff7fb;background:#831843f5;box-shadow:0 0 0 3px #f472b624,0 18px 54px #0000007a;font-size:15px;font-weight:900}.arrow-label{pointer-events:none;padding:5px 8px;border:1px solid rgba(192,132,252,.35);border-radius:6px;color:#f5e8ff;background:#1e142ef0;box-shadow:0 12px 30px #0000003d;font-size:11px;font-weight:800;white-space:nowrap;animation:label-pop .32s ease both}.analogy-arrow-label{border-color:#bbf7d073;color:#dcfce7;background:#052e25f0}.loading-title{margin:0 0 8px;color:#fff;font-size:clamp(1.15rem,3vw,1.5rem);font-weight:800}.loading-status{min-width:240px;min-height:1rem}.error-banner{position:absolute;right:24px;bottom:24px;z-index:20;display:grid;gap:4px;width:min(420px,calc(100vw - 48px));padding:16px;border:1px solid rgba(248,113,113,.4);border-radius:8px;color:#fee2e2;background:#450a0ad9}@keyframes label-pop{0%{opacity:0;transform:translate3d(-50%,-40%,0) scale(.82)}to{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}}@keyframes stage-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1120px){.semantic-rail{width:var(--right-rail-width)}}@media (max-width: 1280px){.viewer-panel{height:calc(100vh - 48px);max-height:calc(100vh - 48px);gap:12px;padding:16px}.viewer-panel h1{font-size:clamp(1.9rem,3vw,2.6rem)}.panel-copy{font-size:.94rem;line-height:1.45}.analogy-card{gap:8px;padding:12px}.view-toggle-dock{grid-template-columns:minmax(0,1fr);gap:8px;bottom:28px}.view-toggle-dock .heatmap-card,.view-toggle-dock .neighborhood-card{gap:7px 9px;padding:8px}}@media (max-width: 700px){.viewer-panel{left:12px;top:12px;width:calc(100vw - 24px);height:calc(100vh - 24px);max-height:calc(100vh - 24px);gap:14px;padding:16px}.panel-copy{display:none}.semantic-rail{left:12px;right:12px;bottom:12px;width:auto;max-height:32vh;padding:12px}.insight-grid,.share-view-card{grid-template-columns:1fr}.share-view-card button{width:100%}.tutorial-backdrop{align-items:end;padding:12px}.tutorial-modal{width:100%;padding:16px}.tutorial-steps li{grid-template-columns:1fr;gap:4px}.analogy-stage-readout{left:12px;right:12px;bottom:84px;width:auto}.analogy-controls,.compare-controls{grid-template-columns:1fr}.analogy-controls b,.compare-controls b{display:none}.analogy-validation,.compare-validation,.compare-neighbor-columns,.preset-grid{grid-template-columns:1fr}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Poppins;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Fragment Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.top-0{top:0}.top-1\/2{top:50%}.z-50{z-index:50}.mb-6{margin-bottom:1.5rem}.flex{display:flex}.h-\[38vw\]{height:38vw}.h-full{height:100%}.max-h-\[420px\]{max-height:420px}.min-h-\[220px\]{min-height:220px}.w-\[38vw\]{width:38vw}.w-full{width:100%}.min-w-\[220px\]{min-width:220px}.max-w-\[420px\]{max-width:420px}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-16\%\]{--tw-translate-y: -16%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.bg-\[hsl\(210\,43\%\,10\%\)\]{--tw-bg-opacity: 1;background-color:hsl(210 43% 10% / var(--tw-bg-opacity, 1))}.text-center{text-align:center}.font-mono{font-family:Fragment Mono,monospace}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
