@import"https://use.typekit.net/hqd2fpv.css";*{margin:0;padding:0;box-sizing:border-box}body{background:#fff;color:#000;font-family:helvetica-neue-lt-pro,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:.9375rem;line-height:1.45;-webkit-font-smoothing:antialiased}header{background:#000;color:#fff;padding:20px 28px;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:14px}.logo{height:17px;filter:invert(1)}header h1{font-size:1.25rem;font-weight:400}.header-right{display:flex;align-items:center;gap:16px}.header-tag{font-size:.75rem;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:#ffffff59}.sign-out-btn{background:none;border:1px solid rgba(255,255,255,.2);color:#ffffff80;font-family:inherit;font-size:.875rem;font-weight:400;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;cursor:pointer;transition:all .15s}.sign-out-btn:hover{border-color:#ffffff80;color:#fff}.app{display:grid;grid-template-columns:1fr 420px;height:calc(100vh - 56px)}.map-side{background:#fafafa;position:relative;overflow:hidden}.map-wrap{position:relative;width:100%;height:100%}svg.lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.layer-band{position:absolute;left:0;width:100%;z-index:0}.layer-band .lb-label{position:absolute;left:18px;top:8px;font-size:.75rem;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:#666}.layer-band .lb-desc{position:absolute;right:18px;top:8px;font-size:.75rem;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:#888}.add-node-btn{position:absolute;right:18px;bottom:6px;width:22px;height:22px;border-radius:50%;border:1px solid #ccc;background:#fff;color:#999;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:5}.add-node-btn:hover{border-color:#000;color:#000;background:#f5f5f5}.node{position:absolute;background:#fff;border:1px solid #ddd;border-left:4px solid #ddd;cursor:pointer;z-index:3;transition:all .25s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px 8px}.node:hover{border-color:#999;border-left-color:#999;box-shadow:0 2px 12px #0000000f}.node.active{border:2px solid #000;border-left:4px solid #000;box-shadow:0 3px 20px #0000001a;z-index:10}.node.dimmed{opacity:.35}.node.hl-up{border:1.5px solid #ffcc00;border-left:4px solid #ffcc00;background:#fffef8}.node.hl-down{border:1.5px solid #000;border-left:4px solid #000;background:#f7f7f7}.node.rated-red{border-left:5px solid #B63113;background:#fff8f6}.node.rated-yellow{border-left:5px solid #D4A017;background:#fffdf5}.node.rated-green{border-left:5px solid #2d6a2e;background:#f5faf5}.node.rated-red.active{border:2px solid #000;border-left:5px solid #B63113}.node.rated-yellow.active{border:2px solid #000;border-left:5px solid #D4A017}.node.rated-green.active{border:2px solid #000;border-left:5px solid #2d6a2e}.node .n-star{position:absolute;top:2px;right:4px;font-size:.75rem;color:#d4a017}.n-num{font-size:.75rem;font-weight:400;color:#999;letter-spacing:1.5px}.n-name{font-size:1.125rem;font-weight:400;color:#000;line-height:1.2;margin:2px 0 1px}.n-sub{font-size:.75rem;font-weight:400;color:#555;line-height:1.2;margin-top:1px}.map-legend{position:absolute;bottom:12px;left:18px;z-index:10;display:flex;gap:16px;align-items:center}.leg-item{display:flex;align-items:center;gap:5px;font-size:.875rem;font-weight:400;color:#888}.leg-sw{width:16px;height:0}.leg-sw.y{border-top:2.5px solid #ffcc00}.leg-sw.b{border-top:2px solid #000}.leg-sw.g{border-top:1px solid #ddd}.panel{border-left:1px solid #000;background:#fff;overflow-y:auto;display:flex;flex-direction:column}.panel-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 28px;text-align:center}.pe-text{font-size:.9375rem;color:#999;line-height:1.7;max-width:280px;font-weight:400}.pe-text strong{color:#666;font-weight:500}.panel-content{display:none;flex:1;overflow-y:auto}.panel-content.vis{display:block}.ph{background:#000;color:#fff;padding:18px 22px 14px;position:sticky;top:0;z-index:10}.ph::selection,.ph *::selection{background:#ffffff59!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.ph::-moz-selection,.ph *::-moz-selection{background:#ffffff59!important;color:#fff!important}.ph-num{font-size:.875rem;font-weight:400;letter-spacing:2px;color:#fff6;display:flex;align-items:center;gap:8px}.ph-star{background:none;border:none;font-size:1.125rem;cursor:pointer;padding:0 4px;line-height:1;color:#ffffff80;transition:transform .15s,color .15s}.ph-star:hover{transform:scale(1.2);color:#fc0}.layer-select{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;font-family:inherit;font-size:.75rem;padding:2px 6px;border-radius:3px;cursor:pointer;letter-spacing:1px;text-transform:uppercase}.layer-select:hover{border-color:#ffffff80;color:#fff}.ph .ef{margin-top:6px}.ph .ef:hover{background:#ffffff14}.ph .ef-val{color:#fff;font-size:1.625rem;font-weight:500;line-height:1.2;cursor:pointer}.ph .ef-val:hover{opacity:.8}.ph .ef+.ef .ef-val{font-size:.875rem;color:#ffffffa6;line-height:1.5}.ph .ef-actions{margin-top:2px}.ph .ef-btn{color:#ffffff59;border-color:#ffffff26}.ph .ef-btn:hover{color:#fff;border-color:#fff6}.ph .ef-input{background:#ffffff1a;color:#fff;border-color:#ffffff4d}.pb{padding:16px 22px 28px}.top-notes{margin-bottom:20px}.ef{position:relative;padding:8px 10px;margin-bottom:6px;border-radius:4px;transition:background .15s}.ef:hover{background:#fafafa}.ef-label{font-size:.75rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:#777;margin-bottom:3px}.ef-val{font-size:.875rem;font-weight:400;color:#111;line-height:1.5;cursor:pointer}.ef-val:hover{color:#000}.ef-actions{display:flex;gap:4px;margin-top:4px}.ef-btn{background:none;border:1px solid #e0e0e0;color:#999;font-size:.75rem;padding:2px 8px;border-radius:3px;cursor:pointer;font-family:inherit;transition:all .15s}.ef-btn:hover{border-color:#999;color:#333}.ef-btn.regen{font-size:.875rem}.ef-btn.regen:disabled{opacity:.4;cursor:wait}.ef-btn-sm{background:none;border:none;color:#bbb;font-size:.875rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.ef-btn-sm:hover{color:#b63113}.ef-input{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.875rem;font-weight:400;outline:none;background:#fff;color:#000;transition:border-color .15s}.ef-input:focus{border-color:#000}textarea.ef-input{resize:vertical;min-height:60px;line-height:1.5}.rat-top{margin-bottom:20px}.ro{display:flex;flex-direction:column;gap:4px}.rb{padding:9px 14px;background:#fff;border:1px solid #e0e0e0;color:#333;font-family:inherit;font-size:.875rem;font-weight:400;cursor:pointer;text-align:left;transition:all .15s}.rb:hover{border-color:#000;color:#000}.rb.s{font-weight:500}.rb.s.cr{background:#fff5f2;border-color:#b63113;color:#b63113}.rb.s.cy{background:#fffdf0;border-color:#d4a017;color:#8a6a10}.rb.s.cg{background:#f2f7f2;border-color:#2d6a2e;color:#2d6a2e}.sigs{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.diag-sec{margin-bottom:20px}.diag-l{font-size:.75rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#777;margin-bottom:8px;display:flex;align-items:center}.diag-p{display:flex;align-items:flex-start;gap:8px;padding:5px 0;border-bottom:1px solid #f5f5f5}.diag-p:last-child{border-bottom:none}.da{color:#ccc;font-weight:400;font-size:.75rem;margin-top:2px;flex-shrink:0}.dt{font-size:.875rem;font-weight:400;color:#222;line-height:1.5}.add-prompt-btn{background:none;border:1px dashed #ddd;color:#888;font-family:inherit;font-size:.75rem;padding:4px 10px;border-radius:4px;cursor:pointer;margin-top:6px;transition:all .15s}.add-prompt-btn:hover{border-color:#999;color:#333}.conn-sec{margin-bottom:16px}.conn-group{margin-bottom:12px}.conn-head{font-size:.75rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:#999;margin-bottom:4px;padding-left:2px}.conn-row{padding:6px 10px;transition:background .1s}.conn-row:hover{background:#f5f5f5}.conn-row.up{border-left:2px solid #ffcc00}.conn-row.dn{border-left:2px solid #000}.conn-top{display:flex;align-items:center;gap:6px;font-size:.875rem}.conn-name{font-weight:400;color:#111;cursor:pointer;flex:1}.conn-name:hover{text-decoration:underline}.conn-why{font-size:.75rem;color:#777;line-height:1.4;padding-left:2px;margin-top:1px}.add-conn-form{display:flex;gap:6px;margin-bottom:10px;align-items:center;flex-wrap:wrap}.conn-dir-select,.conn-target-select{padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.75rem;background:#fff}.conn-add-btn{padding:4px 12px;background:#000;color:#fff;border:none;border-radius:4px;font-family:inherit;font-size:.75rem;cursor:pointer}.conn-add-btn:disabled{background:#ddd;cursor:default}.note-sec{margin-top:8px}.note-box{width:100%;min-height:80px;padding:10px 12px;border:1px solid #e0e0e0;background:#fafafa;font-family:inherit;font-size:.875rem;font-weight:400;color:#111;line-height:1.5;resize:vertical;outline:none;transition:border-color .15s}.note-box:focus{border-color:#999;background:#fff}.note-box::placeholder{color:#bbb}.delete-sec{margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}.delete-node-btn{background:none;border:1px solid #e0e0e0;color:#bbb;font-family:inherit;font-size:.75rem;padding:6px 14px;border-radius:4px;cursor:pointer;transition:all .15s}.delete-node-btn:hover{border-color:#b63113;color:#b63113}.score-bar{background:#000;padding:12px 22px;display:flex;align-items:center;gap:12px;flex-shrink:0}.sb-l{font-size:.875rem;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:#ffffff59}.sb-tr{flex:1;height:3px;background:#ffffff14;overflow:hidden}.sb-f{height:100%;width:0%;transition:width .6s,background .6s;background:#fc0}.sb-p{font-size:.9375rem;font-weight:400;color:#fff;min-width:34px;text-align:right}.sb-c{font-size:.75rem;font-weight:400;color:#ffffff4d}@media(max-width:900px){.app{grid-template-columns:1fr;height:auto}.map-side{height:600px}.panel{border-left:none;border-top:1px solid #000}}@keyframes spin{to{transform:rotate(360deg)}}
