:root{color-scheme:light;--font-display: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--font-body: "Manrope", "Avenir Next", "Segoe UI", sans-serif;--bg-top: #f4f8ff;--bg-mid: #eef4ff;--bg-bottom: #e8efe7;--orb-1: rgba(52, 147, 255, .18);--orb-2: rgba(48, 198, 139, .2);--orb-3: rgba(255, 159, 84, .16);--surface: rgba(255, 255, 255, .72);--surface-strong: #ffffff;--surface-muted: rgba(245, 249, 255, .95);--border: rgba(11, 33, 67, .1);--text: #10203a;--text-muted: #40506a;--heading: #071225;--accent: #1168f7;--accent-strong: #0b53c8;--success: #13734c;--success-soft: rgba(19, 115, 76, .12);--danger: #b52f2f;--danger-soft: rgba(181, 47, 47, .12);--warning: #9f6703;--warning-soft: rgba(159, 103, 3, .12);--timeline-line: rgba(17, 104, 247, .22);--timeline-dot: #1168f7;--timeline-dot-ring: rgba(17, 104, 247, .2);--incoming: #0f8d56;--outgoing: #b5352e;--neutral: #314b70;--radius-lg: 22px;--radius-md: 14px;--radius-sm: 10px}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--bg-top: #080d15;--bg-mid: #121b2f;--bg-bottom: #0d1f1b;--orb-1: rgba(100, 170, 255, .22);--orb-2: rgba(71, 203, 161, .2);--orb-3: rgba(255, 177, 84, .17);--surface: rgba(14, 24, 39, .82);--surface-strong: rgba(13, 21, 35, .96);--surface-muted: rgba(22, 33, 52, .95);--border: rgba(157, 182, 219, .2);--text: #e3edf8;--text-muted: #a5b6ce;--heading: #f8fbff;--accent: #70b4ff;--accent-strong: #99c8ff;--success: #4cd49b;--success-soft: rgba(76, 212, 155, .14);--danger: #ff7f7a;--danger-soft: rgba(255, 127, 122, .16);--warning: #f1c069;--warning-soft: rgba(241, 192, 105, .16);--timeline-line: rgba(112, 180, 255, .35);--timeline-dot: #70b4ff;--timeline-dot-ring: rgba(112, 180, 255, .24);--incoming: #5ce3aa;--outgoing: #ff8f89;--neutral: #bad2f4}}*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%;height:100%}body{margin:0;min-width:320px;display:flex;justify-content:center;align-items:flex-start;font-family:var(--font-body);color:var(--text);background:linear-gradient(165deg,var(--bg-top) 0%,var(--bg-mid) 52%,var(--bg-bottom) 100%);position:relative;overflow:hidden}body:before,body:after{content:"";position:fixed;border-radius:999px;pointer-events:none;filter:blur(8px)}body:before{width:34rem;height:34rem;top:-10rem;left:-6rem;background:radial-gradient(circle at center,var(--orb-1) 0%,transparent 70%)}body:after{width:36rem;height:36rem;right:-12rem;bottom:-14rem;background:radial-gradient(circle at center,var(--orb-2) 0%,transparent 72%)}#app{width:min(980px,100%);height:100%;min-height:100vh;padding:1.25rem 1rem 1.5rem;position:relative;z-index:1}#app>div{height:100%;display:flex;flex-direction:column;min-height:0}#react{flex:1 1 auto;min-height:0}#error{margin:0 0 1rem;padding:.75rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--danger-soft);background:var(--danger-soft);color:var(--danger)}.scrollable{height:100%;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--timeline-line) transparent}.scrollable::-webkit-scrollbar{width:8px}.scrollable::-webkit-scrollbar-thumb{background:var(--timeline-line);border-radius:999px}.app-shell{display:grid;gap:.9rem;padding-bottom:1rem}.hero{border-radius:var(--radius-lg);padding:1.15rem 1.2rem;border:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-strong) 74%,transparent),color-mix(in srgb,var(--surface) 83%,transparent));text-align:center}.hero h1{margin:0;font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.1;letter-spacing:.01em;color:var(--heading)}.hero p{margin:.4rem 0 0;font-size:.95rem;color:var(--text-muted)}.panel{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);backdrop-filter:blur(12px);padding:.95rem}.panel-warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning-soft) 45%,var(--surface) 55%)}.panel-danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger-soft) 45%,var(--surface) 55%)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.section-heading h2{margin:0;font-family:var(--font-display);font-size:1.02rem;color:var(--heading)}.section-heading span{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.mxid-label{position:relative;display:inline-flex;align-items:center;max-width:100%;cursor:help;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,var(--text-muted) 52%,transparent);text-underline-offset:.13em}.mxid-label:after{content:attr(data-mxid);position:absolute;left:50%;bottom:calc(100% + .4rem);transform:translate(-50%) translateY(4px);border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);color:var(--heading);padding:.2rem .42rem;font-size:.72rem;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;z-index:40;transition:opacity .15s ease,transform .15s ease}.mxid-label:hover:after,.mxid-label:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.summary-chart{display:grid;gap:.4rem}.summary-chart-frame{border:none;background:transparent;overflow:visible}.summary-chart-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,1.8fr) minmax(0,1fr);gap:.65rem;padding:0 .5rem .32rem;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.summary-chart-header span:last-child{grid-column:3;justify-self:end}.summary-chart-rows{display:grid;margin:.5em .5em 1em}.summary-chart-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,1.8fr) minmax(0,1fr);align-items:center}.summary-chart-member,.settlement-chart-from,.settlement-chart-to{margin:0;font-size:1rem;color:var(--text-muted);line-height:1.25}.summary-chart-member{overflow-wrap:anywhere}.flow-participants{display:grid;align-content:center;gap:.16rem;min-height:100%}.flow-participant{display:block;line-height:1.25}.summary-chart-track{position:relative;height:1rem;border-radius:6px;background:linear-gradient(0deg,transparent calc(50% - 1px),color-mix(in srgb,var(--text-muted) 22%,transparent) calc(50% - 1px),color-mix(in srgb,var(--text-muted) 22%,transparent) calc(50% + 1px),transparent calc(50% + 1px));overflow:hidden;margin-top:.5em;margin-bottom:.5em}.summary-chart-axis{position:absolute;top:0;bottom:0;left:calc(50% - 1px);width:2px;background:color-mix(in srgb,var(--text-muted) 45%,transparent)}.summary-chart-bar{position:absolute;top:2px;bottom:2px;transition:width .42s cubic-bezier(.2,.86,.3,1)}.summary-chart-bar-positive{left:50%;width:var(--balance-positive-ratio, 0%);border-radius:0 999px 999px 0;background:linear-gradient(90deg,color-mix(in srgb,var(--success) 70%,transparent),var(--success))}.summary-chart-bar-negative{right:50%;width:var(--balance-negative-ratio, 0%);border-radius:999px 0 0 999px;background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 70%,transparent))}.summary-chart-value,.settlement-chart-amount{margin:0;font-family:var(--font-display);font-size:1rem;white-space:nowrap;font-variant-numeric:tabular-nums}.summary-chart-value{justify-self:end;text-align:right;color:var(--neutral)}.summary-chart-positive .summary-chart-value{color:var(--success)}.summary-chart-negative .summary-chart-value{color:var(--danger)}.summary-chart-neutral .summary-chart-value{color:var(--neutral)}.settlement-group+.settlement-group{margin-top:.8rem}.settlement-group h3{margin:1rem 0 1.5rem;font-size:.88rem;font-weight:700;color:var(--heading);text-align:center}.settlement-note{margin:.45rem 0 0;font-size:.82rem;color:var(--text-muted)}.success-text{margin:0;font-size:.86rem;color:var(--success)}.settlement-chart{display:grid;gap:.4rem;margin-bottom:.75rem}.settlement-chart-frame{--settlement-flow-width: 14rem;border:none;background:transparent;overflow:visible}.settlement-chart-header{display:grid;grid-template-columns:minmax(0,1fr) var(--settlement-flow-width) minmax(0,1fr);gap:.65rem;padding:0 .5rem .32rem;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.settlement-chart-header span:nth-child(2){justify-self:center}.settlement-chart-header span:first-child{justify-self:end}.settlement-chart-header span:last-child{justify-self:start}.settlement-chart-rows{display:grid;margin:.5em}.settlement-chart-row{display:grid;grid-template-columns:minmax(0,1fr) var(--settlement-flow-width) minmax(0,1fr);gap:.65rem;align-items:stretch;padding:.16rem .1rem}.settlement-chart-from,.settlement-chart-to{max-width:100%}.settlement-chart-from{justify-self:end;text-align:right;padding-right:.2rem;justify-items:end}.settlement-chart-to{justify-self:start;text-align:left;padding-left:.2rem;justify-items:start}.settlement-chart-flow{position:relative;display:grid;grid-template-columns:1fr;align-items:center;align-self:stretch;width:100%;justify-items:center}.settlement-chart-flow:before{content:"";position:absolute;left:0;right:.7rem;top:50%;transform:translateY(-50%);border-top:2px solid color-mix(in srgb,var(--text-muted) 22%,transparent)}.settlement-chart-flow:after{content:"";position:absolute;right:.5rem;top:50%;width:.38rem;height:.38rem;border-top:2px solid color-mix(in srgb,var(--text-muted) 22%,transparent);border-right:2px solid color-mix(in srgb,var(--text-muted) 22%,transparent);transform:translateY(-50%) rotate(45deg)}.settlement-chart-amount{position:relative;z-index:1;color:var(--heading);background:var(--surface);padding:0 .34rem}.settlement-transaction{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-strong);padding:.7rem .75rem}.settlement-transaction+.settlement-transaction{margin-top:.45rem}.settlement-copy-button{width:100%;display:flex;align-items:center;gap:.55rem;text-align:left;position:relative;cursor:pointer;transition:border-color .16s ease,transform .16s ease}.settlement-copy-button:hover,.settlement-copy-button:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));transform:translateY(-1px)}.settlement-copy-button:after{content:attr(data-tooltip);position:absolute;right:.5rem;bottom:calc(100% + .32rem);border:1px solid var(--border);border-radius:7px;background:var(--surface-strong);color:var(--heading);padding:.16rem .38rem;font-size:.7rem;line-height:1.2;opacity:0;pointer-events:none;transition:opacity .13s ease,transform .13s ease;transform:translateY(3px)}.settlement-copy-button:hover:after,.settlement-copy-button:focus-visible:after{opacity:1;transform:translateY(0)}.settlement-transaction code{font-family:IBM Plex Mono,Menlo,Consolas,monospace;font-size:.78rem;color:var(--heading);white-space:pre-wrap;word-break:break-word;flex:1}.settlement-copy-icon{flex:0 0 auto;font-size:.92rem;color:var(--text-muted)}.settlement-overview-list{display:grid;gap:.45rem}.settlement-overview-transaction{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-strong);padding:.62rem .7rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.settlement-overview-members{font-size:.82rem;color:var(--text-muted);overflow-wrap:anywhere}.settlement-overview-amount{flex:0 0 auto;font-family:var(--font-display);font-size:.94rem;color:var(--heading)}.failed-list{display:grid;gap:.45rem}.failed-transaction{border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));background:color-mix(in srgb,var(--danger-soft) 35%,var(--surface-strong));padding:.65rem .75rem}.failed-transaction-message{margin:0 0 .45rem;font-size:.83rem;color:var(--heading);word-break:break-word}.failed-transaction ul{margin:0;padding-left:1rem}.failed-transaction li{font-size:.8rem;color:var(--danger)}.upload-control{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);padding:.35rem .65rem;cursor:pointer;transition:transform .18s ease,border-color .18s ease}.upload-control:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.upload-control span{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);font-weight:700}.upload-control input{display:none}.empty-state{margin:0;font-size:.86rem;color:var(--text-muted)}.transaction-timeline{--timeline-side-gutter: 1.35rem;list-style:none;margin:0;padding:0 var(--timeline-side-gutter) 0 var(--timeline-side-gutter);position:relative;display:grid;gap:.72rem}.transaction-timeline:before{content:"";position:absolute;top:.2rem;bottom:.2rem;left:.3rem;width:2px;background:var(--timeline-line)}.timeline-item{position:relative;animation:timeline-enter .45s cubic-bezier(.2,.85,.27,1) both}.timeline-item:nth-child(2){animation-delay:30ms}.timeline-item:nth-child(3){animation-delay:55ms}.timeline-item:nth-child(4){animation-delay:80ms}.timeline-item:before{content:"";position:absolute;width:.74rem;height:.74rem;top:.94rem;left:-1.33rem;border-radius:999px;background:var(--timeline-dot);box-shadow:0 0 0 4px var(--timeline-dot-ring)}.timeline-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-strong);width:calc(100% + var(--timeline-side-gutter));margin-right:calc(var(--timeline-side-gutter) * -1);padding:.68rem calc(.72rem + var(--timeline-side-gutter)) .68rem .72rem}.timeline-head{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;width:calc(100% + var(--timeline-side-gutter));margin-bottom:.45rem}.timeline-description{margin:0;font-size:.92rem;font-weight:700;color:var(--heading)}.timeline-subheading{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.timeline-flow-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.65rem;align-items:stretch}.timeline-flow-from,.timeline-flow-to{margin:0;max-width:100%;font-size:1rem;color:var(--text-muted);line-height:1.25}.timeline-flow-from{justify-self:end;text-align:right;padding-right:.2rem;justify-items:end}.timeline-flow-to{justify-self:start;text-align:left;padding-left:.2rem;justify-items:start}.timeline-flow-center{--timeline-flow-width: 14rem;position:relative;display:grid;grid-template-columns:1fr;align-items:center;align-self:stretch;width:var(--timeline-flow-width);justify-items:center}.timeline-flow-center:before{content:"";position:absolute;left:0;right:.7rem;top:50%;transform:translateY(-50%);border-top:2px solid color-mix(in srgb,var(--text-muted) 22%,transparent)}.timeline-flow-center:after{content:"";position:absolute;right:.5rem;top:50%;width:.38rem;height:.38rem;border-top:2px solid color-mix(in srgb,var(--text-muted) 22%,transparent);border-right:2px solid color-mix(in srgb,var(--text-muted) 22%,transparent);transform:translateY(-50%) rotate(45deg)}.timeline-flow-amount{position:relative;z-index:1;margin:0;font-family:var(--font-display);font-size:1rem;font-variant-numeric:tabular-nums;color:var(--heading);background:var(--surface);padding:0 .34rem;white-space:nowrap}.timeline-flow-amount.timeline-tone-incoming{color:var(--success)}.timeline-flow-amount.timeline-tone-outgoing{color:var(--danger)}.timeline-flow-amount.timeline-tone-neutral{color:var(--neutral)}.timeline-incoming .timeline-flow-amount{color:var(--success)}.timeline-outgoing .timeline-flow-amount{color:var(--danger)}.timeline-neutral .timeline-flow-amount{color:var(--neutral)}.timeline-incoming:before{background:var(--incoming);box-shadow:0 0 0 4px color-mix(in srgb,var(--incoming) 28%,transparent)}.timeline-outgoing:before{background:var(--outgoing);box-shadow:0 0 0 4px color-mix(in srgb,var(--outgoing) 26%,transparent)}@keyframes timeline-enter{0%{opacity:0;transform:translateY(5px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes settlement-grow{0%{transform:scaleX(0);opacity:.5}to{transform:scaleX(1);opacity:1}}@media (max-width: 700px){#app{padding:.8rem .65rem 1.05rem}.panel,.hero{border-radius:16px}.section-heading{align-items:baseline;justify-content:space-between;flex-direction:row}.section-heading span{font-size:.72rem;margin-left:auto;text-align:right;white-space:nowrap}.summary-chart-header{grid-template-columns:minmax(0,1fr) minmax(8.25rem,1.05fr) minmax(0,1fr);gap:.45rem;padding:0 .25rem .25rem;font-size:.62rem}.summary-chart-header span{white-space:nowrap}.summary-chart-row{grid-template-columns:minmax(0,1fr) minmax(8.25rem,1.05fr) minmax(0,1fr);gap:.45rem}.summary-chart-value{justify-self:end;font-size:.94rem}.summary-chart-member,.settlement-chart-from,.settlement-chart-to{font-size:.94rem}.settlement-chart-header{grid-template-columns:minmax(0,1fr) var(--settlement-flow-width) minmax(0,1fr);gap:.45rem;padding:0 .25rem .25rem;font-size:.62rem}.settlement-chart-header span{white-space:nowrap}.settlement-chart-rows{margin:.4em .2em}.settlement-chart-row{grid-template-columns:minmax(0,1fr) var(--settlement-flow-width) minmax(0,1fr);gap:.45rem}.settlement-chart-frame{--settlement-flow-width: 9.2rem}.settlement-chart-amount{font-size:.94rem}.timeline-head{flex-direction:row;align-items:baseline;gap:.45rem;margin-bottom:.4rem}.timeline-description{font-size:.88rem}.timeline-subheading{font-size:.67rem}.timeline-flow-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.45rem}.timeline-flow-center{--timeline-flow-width: 11rem}.timeline-flow-amount,.timeline-flow-from,.timeline-flow-to{font-size:.94rem}.transaction-timeline{--timeline-side-gutter: 1.15rem}.transaction-timeline:before{left:.23rem}.timeline-item:before{left:-1.14rem}.settlement-overview-transaction{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
