.app{display:grid;grid-template-rows:56px 1fr;grid-template-columns:320px 1fr;grid-template-areas:"header header" "sidebar main";height:100vh;overflow:hidden}.header{grid-area:header;display:flex;align-items:center;gap:16px;padding:0 24px;background:linear-gradient(to right,#1f2937,#111827);border-bottom:1px solid rgb(75 85 99 / .5);z-index:100}.header-logo{font-size:20px;font-weight:700;color:var(--blue);letter-spacing:-.5px}.header-subtitle{font-size:14px;color:var(--muted)}.header-spacer{flex:1}.header-step-badge{font-size:13px;font-family:var(--mono);padding:3px 10px;border-radius:20px;background:var(--border);color:var(--muted);transition:all .3s}.header-step-badge.active{background:#1f3a1f;color:var(--green);border:1px solid var(--green)}.reset-btn{padding:5px 14px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-size:15px;transition:all .2s}.reset-btn:hover{border-color:var(--orange);color:var(--orange)}.sidebar{grid-area:sidebar;display:flex;flex-direction:column;gap:0;border-right:1px solid rgb(75 85 99 / .5);overflow-y:auto;background:linear-gradient(to bottom,#1f2937,#111827)}.main{grid-area:main;display:grid;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;grid-template-areas:"map merkle" "pool vcpanel";gap:8px;padding:8px;background:transparent;overflow:hidden}.panel{background:linear-gradient(to bottom right,#374151,#111827);border:1px solid rgb(75 85 99 / .5);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:.5rem .75rem;border-bottom:1px solid rgb(75 85 99 / .4);font-size:.75rem;font-weight:600;color:#cbd5e1;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.panel-dot{width:8px;height:8px;border-radius:50%}.panel-body{flex:1;overflow:auto;position:relative}.step-section{padding:16px;border-bottom:1px solid var(--border)}.step-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:12px}.step-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font-size:15px;font-family:var(--font);text-align:left;transition:all .2s;margin-bottom:6px}.step-btn:last-child{margin-bottom:0}.step-btn:hover:not(:disabled){border-color:var(--blue);background:#58a6ff14}.step-btn:disabled{opacity:.35;cursor:not-allowed}.step-btn.active{border-color:var(--blue);background:#58a6ff1a;color:var(--blue)}.step-btn.done{border-color:var(--green);background:#3fb95014;color:var(--green)}.step-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:1.5px solid currentColor;flex-shrink:0}.step-icon.done{background:var(--green);color:#000;border-color:var(--green)}.step-icon.active{background:var(--blue);color:#000;border-color:var(--blue)}.step-btn.loading{opacity:.7;cursor:wait}.step-btn.loading .step-icon:after{content:"";width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;display:block}@keyframes spin{to{transform:rotate(360deg)}}.pair-selector{display:flex;flex-direction:column;gap:6px}.pair-check{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;border:1px solid var(--border);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.pair-check:hover{border-color:var(--blue)}.pair-check.selected{border-color:var(--purple);background:#bc8cff14}.pair-check.verified{border-color:var(--green);background:#3fb95012}.pair-check input[type=checkbox]{accent-color:var(--purple);width:14px;height:14px;cursor:pointer}.pair-ev{font-size:14px;font-weight:600}.pair-meta{font-size:12px;color:var(--muted);margin-top:1px}.pair-badge{margin-left:auto;font-size:12px;padding:2px 7px;border-radius:10px;font-weight:700;text-transform:uppercase}.pair-badge.pq{background:#14532d66;color:var(--green);border:1px solid rgb(22 101 52 / .5)}.pair-badge.pool{background:#2e106566;color:var(--purple);border:1px solid rgb(59 7 100 / .5)}.pair-badge.verified{background:#7c2d1266;color:var(--orange);border:1px solid rgb(154 52 18 / .5)}.pool-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.pool-card{padding:12px;border-radius:var(--radius);border:1px solid rgb(75 85 99 / .5);background:linear-gradient(to bottom right,#374151,#1f2937);transition:all .3s}.pool-card.has-pq{border-color:var(--green)}.pool-card.has-baseline{border-color:var(--blue)}.pool-card.has-ist{border-color:var(--purple)}.pool-card.committed{border-color:var(--orange)}.pool-card-title{font-size:15px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:6px}.pool-card-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:3px}.pool-card-row span:last-child{color:var(--text);font-family:var(--mono)}.pool-card-vc-badges{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.vc-badge{font-size:12px;padding:2px 8px;border-radius:10px;font-weight:700;text-transform:uppercase;border:1px solid}.vc-badge.pq{color:var(--green);border-color:var(--green);background:#3fb9501a}.vc-badge.baseline{color:var(--blue);border-color:var(--blue);background:#58a6ff1a}.vc-badge.ist{color:var(--purple);border-color:var(--purple);background:#bc8cff1a}.vc-badge.merkle{color:var(--orange);border-color:var(--orange);background:#f781661a}.vc-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0}.vc-tab{padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;border:none;background:none;color:var(--muted);border-bottom:2px solid transparent;transition:all .15s}.vc-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.vc-tab:hover:not(.active){color:var(--text)}.vc-list{padding:10px;display:flex;flex-direction:column;gap:8px}.vc-item{background:linear-gradient(to bottom right,#374151,#1f2937);border:1px solid rgb(75 85 99 / .5);border-radius:var(--radius);overflow:hidden}.vc-item-header{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.vc-item-type{font-size:13px;font-weight:600;color:var(--blue)}.vc-item-issuer{font-size:12px;color:var(--muted);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.vc-item-chevron{color:var(--muted);font-size:12px;transition:transform .2s}.vc-item-chevron.open{transform:rotate(90deg)}.vc-item-body{padding:0 12px 10px;border-top:1px solid var(--border)}.json-view{font-family:var(--mono);font-size:12px;white-space:pre-wrap;word-break:break-all;color:var(--muted);line-height:1.6;max-height:200px;overflow-y:auto;padding-top:8px}.port-table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}.port-table th{text-align:left;padding:6px 10px;color:var(--muted);border-bottom:1px solid var(--border);font-weight:600}.port-table td{padding:6px 10px;border-bottom:1px solid rgba(48,54,61,.5)}.check-ok{color:var(--green);font-weight:700}.check-fail{color:var(--red);font-weight:700}.check-pending{color:var(--muted)}.merkle-panel{grid-area:merkle}.merkle-svg{width:100%;height:100%}.tree-node circle{transition:fill .4s,r .3s}.tree-node text{font-family:var(--mono);font-size:12px;fill:var(--text);pointer-events:none}.tree-link{fill:none;stroke:var(--border);stroke-width:1.5;transition:stroke .5s}.tree-link.active{stroke:var(--blue)}.merkle-root-hash{font-family:var(--mono);font-size:12px;fill:var(--orange);text-anchor:middle}.status-bar{margin-top:auto;padding:12px 16px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}.status-bar strong{color:var(--text);display:block;margin-bottom:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--muted);font-size:14px}.empty-state-icon{font-size:34px;opacity:.3}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 1s ease-in-out infinite}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.app3{display:grid;grid-template-rows:64px 1fr;height:100vh;overflow:hidden}.header3{display:flex;align-items:center;gap:16px;padding:0 20px;background:linear-gradient(to right,#1f2937,#111827);border-bottom:1px solid rgb(75 85 99 / .5);z-index:100;flex-shrink:0}.role-nav{display:flex;gap:6px;margin-left:16px}.role-nav-btn{display:flex;flex-direction:column;align-items:flex-start;padding:6px 14px;border-radius:var(--radius);border:1px solid rgb(75 85 99 / .5);background:transparent;color:var(--muted);cursor:pointer;font-family:var(--font);transition:all .2s;line-height:1.3;min-width:110px}.role-nav-btn:hover:not(.active){border-color:var(--text);color:var(--text)}.role-nav-btn.active{background:#58a6ff14}.role-nav-label{font-size:14px;font-weight:700;color:inherit}.role-nav-sub{font-size:12px;opacity:.6}.main3{overflow:hidden;display:flex;flex-direction:column}.role-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.role-banner{display:flex;align-items:center;gap:14px;padding:10px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.tso1-banner{background:#58a6ff1f;border-left:3px solid var(--blue)}.aggregator-banner{background:#f781661f;border-left:3px solid var(--orange)}.tso2-banner{background:#3fb9501f;border-left:3px solid var(--green)}.role-banner-icon{font-size:24px}.role-banner-title{font-size:16px;font-weight:700;color:#1e293b}.role-banner-sub{font-size:13px;color:#475569;margin-top:1px}.role-banner-note{margin-left:auto;font-size:13px;color:#475569;font-style:italic;text-align:right}.role-page-body{display:grid;grid-template-columns:380px 1fr;gap:12px;flex:1;overflow:hidden;background:transparent;padding:12px}.role-col{display:flex;flex-direction:column;overflow-y:auto;background:transparent;padding:16px;gap:14px}.role-card{background:linear-gradient(to bottom right,#374151,#1f2937);border:1px solid rgb(75 85 99 / .5);border-radius:var(--radius);padding:14px}.role-card-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:12px;display:flex;align-items:center;gap:6px}.info-card{border-color:#58a6ff33}.success-card{border-color:var(--green);background:#3fb9500d}.identity-row{display:flex;gap:8px;margin-bottom:5px;font-size:13px;align-items:baseline}.identity-label{color:var(--muted);min-width:80px;flex-shrink:0}.identity-value{color:var(--text);word-break:break-all}.identity-value.mono{font-family:var(--mono);font-size:12px;color:var(--muted)}.action-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:11px 16px;border-radius:var(--radius);border:1px solid;background:transparent;cursor:pointer;font-size:15px;font-family:var(--font);font-weight:600;transition:all .2s}.tso1-btn{color:var(--blue);border-color:var(--blue)}.tso1-btn:hover:not(:disabled){background:#58a6ff1a}.aggregator-btn{color:var(--orange);border-color:var(--orange)}.aggregator-btn:hover:not(:disabled){background:#f781661a}.tso2-btn{color:var(--green);border-color:var(--green)}.tso2-btn:hover:not(:disabled){background:#3fb9501a}.action-btn:disabled{opacity:.35;cursor:not-allowed}.action-btn.loading{opacity:.7;cursor:wait}.action-btn.done-btn{color:var(--green);border-color:var(--green);opacity:.7}.issued-note{font-size:14px;color:var(--muted);padding:8px 12px;background:#3fb9500f;border:1px solid rgba(63,185,80,.2);border-radius:var(--radius)}.error-msg{color:var(--red);font-size:13px;margin-top:8px}.proof-chain{display:flex;flex-direction:column;gap:8px}.proof-step{display:flex;gap:10px;align-items:flex-start;font-size:13px}.proof-num{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:1.5px solid;flex-shrink:0}.proof-step.done .proof-num{color:var(--green);border-color:var(--green);background:#3fb9501a}.proof-step.pending .proof-num{color:var(--muted);border-color:var(--border)}.proof-label{font-weight:600;color:var(--text);margin-bottom:2px}.proof-desc{color:var(--muted);font-size:12px}.leaf-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.leaf-badge{font-size:12px;padding:3px 10px;border-radius:10px;font-weight:700;text-transform:uppercase;border:1px solid}.baseline-leaf{color:var(--blue);border-color:var(--blue);background:#58a6ff1a}.ist-leaf{color:var(--purple);border-color:var(--purple);background:#bc8cff1a}.asset-verify-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);border:1px solid rgb(75 85 99 / .5);background:linear-gradient(to bottom right,#374151,#1f2937);transition:all .2s}.asset-verify-row.verified{border-color:var(--green);background:#3fb9500a}.success-checks{display:flex;flex-direction:column;gap:5px;margin-top:10px}.success-check{font-size:14px;color:var(--text);display:flex;gap:8px;align-items:center}.portability-banner{padding:8px 14px;background:#f7816614;border-top:1px solid var(--border);font-size:13px;color:var(--orange);font-weight:600}.wallet-section{border-bottom:1px solid rgb(75 85 99 / .4);background:linear-gradient(to bottom right,#374151,#1f2937);flex-shrink:0}.wallet-receipt{padding:8px 20px;background:#3fb9500f;border-bottom:1px solid rgba(63,185,80,.2);font-size:14px;color:var(--text);flex-shrink:0}.wallet-transfer{padding:14px 20px 12px;display:flex;flex-direction:column;gap:10px}.wallet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wallet-title{font-size:14px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.6px}.wallet-subtitle{font-size:13px;color:var(--muted);margin-top:2px}.wallet-reset-btn{padding:4px 12px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-size:13px;white-space:nowrap;transition:all .15s}.wallet-reset-btn:hover{border-color:var(--orange);color:var(--orange)}.wallet-body{display:flex;align-items:stretch;gap:0;min-height:150px}.wallet-panel{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.wallet-panel-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:6px}.wallet-panel-icon{font-size:16px}.wallet-panel-hint{margin-left:auto;font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:12px}.wallet-cards{display:flex;flex-direction:column;gap:8px}.wallet-card{display:flex;align-items:stretch;gap:0;background:linear-gradient(135deg,#1a2a4a,#1c2c3e);border:1px solid var(--blue);border-radius:10px;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .15s,box-shadow .15s,opacity .2s;box-shadow:0 2px 8px #0000004d}.wallet-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #58a6ff40}.wallet-card.dragging{opacity:.4;cursor:grabbing;transform:scale(.97)}.wallet-card-chip{width:28px;background:#58a6ff26;border-right:1px solid rgba(88,166,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chip-dot{width:14px;height:10px;border-radius:3px;background:linear-gradient(135deg,#d4a843,#f0c040);border:1px solid rgba(255,255,255,.2)}.wallet-card-body{padding:8px 10px;flex:1;min-width:0}.wallet-card-ev{font-size:14px;font-weight:700;color:var(--text)}.wallet-card-type{font-size:12px;color:var(--blue);font-weight:600;margin-top:1px}.wallet-card-issuer{font-size:12px;color:var(--muted);margin-top:2px}.wallet-card-cmt{font-size:12px;color:var(--muted);margin-top:3px}.wallet-card-drag-hint{padding:0 8px;display:flex;align-items:center;color:#58a6ff4d;font-size:18px;letter-spacing:-2px}.wallet-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 14px;gap:4px;flex-shrink:0;min-width:56px}.wallet-arrow-line{width:1px;flex:1;background:var(--border);max-height:30px}.wallet-arrow-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.wallet-arrow-tip{font-size:22px;color:var(--orange);line-height:1}.drop-zone{flex:1;border:2px dashed var(--border);border-radius:10px;padding:12px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .2s;background:transparent}.drop-zone.drag-over{border-color:var(--orange);background:#f781660f;box-shadow:0 0 0 3px #f7816626}.drop-zone.all-received{border-color:var(--green);border-style:solid;background:#3fb9500a}.drop-zone-hint{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:14px;text-align:center}.drop-zone-icon{font-size:26px;opacity:.3}.drop-zone-hint-inline{display:flex;align-items:center;gap:6px;padding:6px 0;justify-content:center}.intake-list{display:flex;flex-direction:column;gap:6px;width:100%}.intake-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:linear-gradient(to bottom right,#1f2937,#111827);border:1px solid var(--green);border-radius:8px;transition:all .3s}.intake-item.just-dropped{animation:dropPulse .6s ease-out}@keyframes dropPulse{0%{transform:scale(1.04);box-shadow:0 0 0 4px #3fb95059}to{transform:scale(1);box-shadow:none}}.intake-check{width:20px;height:20px;border-radius:50%;background:var(--green);color:#000;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.intake-ev{font-size:14px;font-weight:600;color:var(--text)}.intake-meta{font-size:12px;color:var(--green);margin-top:1px}.intake-cmt{font-size:12px;color:var(--muted);margin-top:2px}.wallet-empty{font-size:13px;color:var(--muted);padding:20px;text-align:center}.wallet-callout{padding:8px 12px;background:#f781660f;border:1px solid rgba(247,129,102,.2);border-radius:var(--radius);font-size:13px;color:var(--muted);line-height:1.5}.mono-sm{font-family:var(--mono);font-size:12px;color:var(--purple)}.app-shell{display:grid;grid-template-rows:48px 1fr;height:100vh;overflow:hidden}.site-header{display:flex;align-items:center;gap:0;padding:0 20px;background:linear-gradient(to right,#1f2937,#111827);border-bottom:1px solid rgb(75 85 99 / .5);z-index:100;flex-shrink:0;height:48px}.site-logo{font-size:18px;font-weight:700;color:var(--blue);background:none;border:none;cursor:pointer;font-family:var(--font);padding:0;letter-spacing:-.3px}.site-logo:hover{opacity:.8}.site-header-sep{color:var(--border);margin:0 6px;font-size:16px;-webkit-user-select:none;user-select:none}.site-header-route{font-size:20px;font-weight:700}.site-main{height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column}.landing{overflow-y:auto;height:100%;padding:40px 60px;box-sizing:border-box;background:transparent}.landing-hero{margin-bottom:36px}.landing-title{font-size:30px;font-weight:700;color:#1e293b;margin-bottom:10px;letter-spacing:-.5px}.landing-subtitle{font-size:17px;color:var(--muted);max-width:600px;line-height:1.6}.landing-flow{display:flex;align-items:center;gap:12px;margin-bottom:40px;padding:16px 20px;background:linear-gradient(to bottom right,#374151,#1f2937);border:1px solid rgb(75 85 99 / .5);border-radius:var(--radius);flex-wrap:wrap}.flow-step{font-size:15px;font-weight:600;color:var(--text)}.flow-arrow{color:var(--orange);font-size:20px;font-weight:300;line-height:1}.landing-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.role-card-lg{padding:24px;border-radius:12px;border:1px solid rgb(75 85 99 / .5);cursor:pointer;transition:all .2s;background:linear-gradient(to bottom right,#374151,#1f2937);-webkit-user-select:none;user-select:none}.role-card-lg:hover{border-color:var(--hover-color, var(--blue));background:color-mix(in srgb,var(--hover-color, var(--blue)) 5%,var(--surface));transform:translateY(-2px);box-shadow:0 4px 16px #0003}.role-card-lg-title{font-size:20px;font-weight:700;margin-bottom:4px}.role-card-lg-location{font-size:14px;color:var(--muted);margin-bottom:14px}.role-card-lg-desc{font-size:15px;color:var(--text);line-height:1.5;margin-bottom:16px}.role-card-lg-status{display:flex;align-items:center;gap:8px}.role-status-badge{font-size:13px;font-weight:700;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.role-status-badge.done{background:#3fb9501f;color:var(--green);border:1px solid rgba(63,185,80,.3)}.role-status-badge.ready{background:var(--border);color:var(--muted)}.landing-footer{margin-top:36px;text-align:center;font-size:14px;color:var(--muted)}.agg-asset-card{background:#58a6ff0d;border:1px solid rgba(88,166,255,.2);border-radius:var(--radius);padding:10px 12px}.agg-cp-card{background:#f781660d;border:1px solid rgba(247,129,102,.15);border-radius:var(--radius);padding:10px 12px}.agg-asset-header{display:flex;align-items:center;margin-bottom:5px;font-size:15px}.agg-asset-row{font-size:13px;color:var(--muted);margin-bottom:2px}.agg-asset-note{font-size:12px;color:var(--green);margin-top:4px;font-style:italic}.vc-verify-result{background:#64a0ff0f;border:1px solid rgba(100,160,255,.18);border-radius:var(--radius);padding:10px 12px}.vc-verify-ev-header{display:flex;align-items:center;font-size:13px;margin-bottom:8px}.vc-verify-steps{display:flex;flex-direction:column;gap:4px}.vc-verify-step{display:flex;align-items:center;gap:7px;font-size:11px}.vc-verify-check{font-size:12px;font-weight:700;min-width:14px;text-align:center}.vc-verify-check.ok{color:var(--green)}.vc-verify-check.fail{color:#e74c3c}.vc-verify-step-label{color:var(--muted)}.vc-verify-success{margin-top:10px;padding:9px 12px;background:#27ae601a;border:1px solid rgba(39,174,96,.25);border-radius:var(--radius);font-size:12px;color:var(--text);line-height:1.5}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--radius: .625rem;--background: oklch(1 0 0);--foreground: oklch(.141 .005 285.823);--card: oklch(1 0 0);--card-foreground: oklch(.141 .005 285.823);--popover: oklch(1 0 0);--popover-foreground: oklch(.141 .005 285.823);--primary: oklch(.21 .006 285.885);--primary-foreground: oklch(.985 0 0);--secondary: oklch(.967 .001 286.375);--secondary-foreground: oklch(.21 .006 285.885);--muted-token: oklch(.967 .001 286.375);--muted-foreground: oklch(.552 .016 285.938);--accent: oklch(.967 .001 286.375);--accent-foreground: oklch(.21 .006 285.885);--destructive: oklch(.577 .245 27.325);--input: oklch(.92 .004 286.32);--ring: oklch(.705 .015 286.067);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--bg: #111827;--surface: #1f2937;--border: #374151;--text: #e2e8f0;--muted: #94a3b8;--green: #3fb950;--blue: #58a6ff;--orange: #f78166;--purple: #bc8cff;--yellow: #e3b341;--red: #f85149;--font: "Inter", system-ui, sans-serif;--mono: "Cascadia Code", "Fira Code", monospace}html,body,#root{height:100%;margin:0;padding:0}body{background:linear-gradient(to bottom right,#f9fafb,#9ca3af);color:#e2e8f0;font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:#d1d5db}::-webkit-scrollbar-thumb{background:#6b7280;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#4b5563}.leaflet-container{background:#111827!important;font-family:Inter,sans-serif!important}.leaflet-tile{filter:brightness(.4) saturate(.3) hue-rotate(195deg)!important}.leaflet-control-zoom{border:1px solid #374151!important;background:#1f2937!important}.leaflet-control-zoom a{background:#1f2937!important;color:#94a3b8!important;border-bottom:1px solid #374151!important}.leaflet-control-zoom a:hover{background:#374151!important;color:#e2e8f0!important}.leaflet-popup-content-wrapper{background:#1f2937!important;border:1px solid #374151!important;border-radius:8px!important;color:#e2e8f0!important;box-shadow:0 8px 24px #0009!important}.leaflet-popup-tip{background:#1f2937!important}.leaflet-popup-content{margin:10px 14px!important}.recharts-cartesian-axis-tick text{fill:#94a3b8!important;font-size:10px!important}.recharts-cartesian-grid line{stroke:#374151!important}.recharts-tooltip-wrapper{outline:none!important}
