:root{color-scheme:dark;--bg:#101114;--fg:#e9e9ed;--fg-secondary:#92959e;--ui-chrome:#2b2d35;--font-family-sans:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:#101114;color:#e9e9ed;font:14px/1.5 system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,select{border:1px solid #34363f;background:#1b1d23;color:#e6e7ee;border-radius:8px;min-height:44px;padding:8px 14px;cursor:pointer}button:hover,select:hover{border-color:#858a9c}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #a3c8ff;outline-offset:3px}a{color:#d5d6e0;text-decoration:none}a:hover{color:white}.map-header{height:72px;border-bottom:1px solid #24262b;display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.brand{font-weight:750;letter-spacing:1px;font-size:20px}.brand span{font-size:10px;font-weight:500;letter-spacing:2px;margin-left:18px;color:#8b8e9b}.preview{font-size:10px;letter-spacing:2px;color:#b5b8c4;border:1px solid #3a3c47;padding:5px 10px;border-radius:20px}main{max-width:1500px;margin:auto;padding:30px 4vw}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:#9195a3;margin:0 0 5px}h1{font-size:40px;line-height:1.15;font-weight:550;letter-spacing:-1.7px;margin:8px 0 10px}h1 span{color:#acbaf5}.subtitle{color:#999da8;font-size:14px;margin:0}.lexicon{font-size:12px;border-bottom:1px solid #626675;padding-bottom:6px}.toolbar{display:flex;align-items:center;gap:12px;margin:0 0 14px}.search{display:flex;gap:12px;align-items:center;border:1px solid #30323b;border-radius:8px;padding:0 14px;background:#17191e;flex:1;max-width:420px}.search span{font-size:26px;color:#7e8392}.search input{min-height:44px;width:100%;background:none;border:0;color:#ddd;outline-offset:0}.level-label{display:flex;gap:9px;align-items:center;color:#8e929f;font-size:12px;margin-left:auto}.level-label select{font-size:12px}.toolbar>button{font-size:12px}#stage{height:calc(100dvh - 370px);min-height:380px;max-height:840px;position:relative;background:#0a0b0e;border:1px solid #292c35;border-radius:13px;overflow:hidden}#map{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#map:active{cursor:grabbing}.stage-caption{position:absolute;top:20px;left:20px;font-size:11px;color:#9499a9;display:flex;align-items:center;gap:8px;pointer-events:none}.live-dot{width:5px;height:5px;border-radius:50%;background:#b9d8c9;box-shadow:0 0 9px #b9d8c9}.controls{position:absolute;right:16px;top:16px;display:flex;flex-direction:column;gap:6px}.controls button{width:40px;min-height:40px;padding:0;font-size:20px;background:#14161ddb}.stage-guide{pointer-events:none;position:absolute;bottom:17px;left:20px;font-size:8px;letter-spacing:1.7px;color:#606574}.stage-guide span{margin:0 8px}#tooltip{position:absolute;pointer-events:none;padding:8px 12px;border-radius:8px;background:#252831eb;border:1px solid #4a5061;font-size:12px;max-width:230px}.map-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#737988;font-size:10px;margin:15px 0}.legend{display:flex;gap:14px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px}.legend i{display:block;width:6px;height:6px;border-radius:50%}.footnote{border-top:1px solid #252832;color:#777d8d;font-size:11px;padding-top:10px;max-width:900px}.footnote button{font-size:11px;margin-top:12px}.footnote details{max-width:680px}summary{cursor:pointer;min-height:32px}.muted-panel{font-size:11px;color:#959aa8;margin:8px 0}.muted-panel button{margin:4px;min-height:36px;font-size:11px}#selection{position:absolute;bottom:40px;left:20px;width:min(380px,calc(100% - 40px));padding:18px;border-radius:12px;background:#1b1e27f2;border:1px solid #3a4050;box-shadow:0 10px 50px #0009}#selection h2{font-size:22px;font-weight:500;margin:4px 0 8px}#selection p:not(.eyebrow){font-size:11px;color:#a5adbe}#selection>button{float:right;background:none;border:0;font-size:24px;padding:0;width:30px;min-height:30px}#selection div{display:flex;gap:8px}#selection div button{font-size:11px}#open-sense{background:#d3daf3;color:#11131b;border-color:#d3daf3}.search-results{position:absolute;z-index:10;max-height:300px;overflow:auto;background:#20232c;max-width:420px;width:calc(100% - 8vw);border:1px solid #505568;border-radius:10px;box-shadow:0 12px 35px #0008}.search-results button{display:block;text-align:left;width:100%;border:0;background:transparent;border-radius:0}.sense-tree-bar,.sense-index-row{border-color:#333742}.sense-tree-title{font-size:18px}.sense-tree{--bg:#14161c;--fg:#e9e9ed}.sense-tree-step{display:flex}.sense-index-row{cursor:pointer}.sense-dot{fill:#ae9cff}.sense-root{fill:#91bafb}.sense-edge{stroke:#45495b}.sense-dot-label,.sense-root-label{fill:#cfd3e0}.sense-tree a{padding:8px}.sense-verses{font-size:12px}.sense-index{background:#14161c!important;color:#e9e9ed!important}
@media(max-width:600px){.map-header{height:55px;padding:0 18px}.brand{font-size:18px}.brand span{font-size:8px;letter-spacing:1.3px;margin-left:10px}.preview{font-size:8px}main{padding:23px 16px}.intro{margin-bottom:20px}.eyebrow{font-size:8px}h1{font-size:32px;margin-top:6px}.subtitle{font-size:11px}.lexicon{font-size:10px;align-self:flex-end;white-space:nowrap;margin-bottom:3px}.toolbar{flex-wrap:wrap;gap:10px}.search{max-width:none;flex-basis:100%}.level-label{margin:0;flex:1;font-size:10px}.level-label select{flex:1;font-size:11px;padding-left:8px}.toolbar>button{font-size:11px}#stage{min-height:380px;height:53dvh;border-radius:10px}.stage-caption{font-size:9px;left:14px;top:16px;max-width:230px}.controls{right:9px;top:38px;gap:4px}.controls button{width:36px;min-height:40px}.stage-guide{font-size:7px;letter-spacing:1px;left:14px}.map-footer{font-size:9px;align-items:flex-start}.legend{gap:8px;max-width:210px}.footnote{font-size:10px}.sense-tree-bar{flex-wrap:wrap}.sense-tree-step{margin-left:auto}.sense-tree-bar button{font-size:11px;padding:6px}.sense-tree-title{font-size:16px}#selection{left:12px;bottom:36px;width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
