:root{--bg:#fff;--bg-gradient:linear-gradient(180deg, #f9f9fc 0%, #fffcf7 52%, #fbf7f2 100%);--surface:#ffffffb8;--surface-strong:#ffffffe6;--surface-muted:#f5f5f8;--ink:#122d45;--ink-2:#334155;--muted:#6b6580;--subtle:#726c82;--border:#122d451f;--border-strong:#19354d80;--accent:#122d45;--accent-hover:#1061a6;--focus:#85b1ed;--success:#1a8047;--danger:#ba2b4c;--spectral:linear-gradient(90deg, #5fbeff, #af8ff4, #f05c6b, #ffcd83, #7ef1b3);--radius:16px;--radius-sm:12px;--radius-xs:8px;--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--font-display:"Space Grotesk", "DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", Menlo, monospace;--tap:44px;--ease:cubic-bezier(.22, 1, .36, 1);--header-h:69px;--shadow-card:0 4px 24px #122d4512, inset 0 1px 0 #ffffff8c;--shadow-pop:0 8px 32px #122d4524}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg-gradient);min-height:100dvh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;font-size:15px;line-height:1.55}#root{min-height:100dvh}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-weight:700;line-height:1.1}p{margin:0}a{color:var(--accent-hover);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}code{font-family:var(--font-mono);background:var(--surface-muted);border-radius:var(--radius-xs);color:var(--ink-2);padding:2px 6px;font-size:.88em}.app{width:100%;max-width:896px;padding:var(--header-h) 20px 96px;margin:0 auto}@media (width>=900px){.app{padding-top:var(--header-h)}}.stack{gap:16px;display:grid}.page-narrow{max-width:672px;margin:0 auto}.section-gap{margin-top:24px}.header{z-index:40;border-bottom:1px solid var(--border);background:#fff;width:100%;position:fixed;top:0;left:0;right:0}.header-inner{max-width:896px;padding:12px 20px;padding-top:calc(12px + env(safe-area-inset-top,0px));justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.brand{cursor:pointer;color:var(--accent);background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:17px;font-weight:700}.header-actions{align-items:center;gap:10px;display:flex}.hero{text-align:center;padding:64px 0 8px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;background:var(--surface-muted);color:var(--muted);border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:11px;font-weight:600;display:inline-flex}.hero h1{letter-spacing:-.03em;margin-bottom:16px;font-size:clamp(34px,8vw,48px)}.hero h1 em{background:var(--spectral);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.hero p{max-width:460px;color:var(--muted);margin:0 auto 24px;font-size:16px;line-height:1.55}.hero-actions{flex-direction:column;align-items:center;gap:10px;display:flex}@media (width>=480px){.hero-actions{flex-direction:row;justify-content:center}}.feature-line{max-width:540px;color:var(--subtle);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:18px auto 0;font-size:13px;display:flex}.feature-line svg{color:var(--accent-hover);flex:none}.home-pact{text-align:left;cursor:pointer;width:100%;transition:transform .15s var(--ease), box-shadow .15s ease;font-family:inherit;display:block}.home-pact:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px)}.home-pact:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.home-pact-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.home-pact-label{letter-spacing:.07em;text-transform:uppercase;color:var(--subtle);font-size:11px;font-weight:600}.home-pact h3{text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;font-size:17px;overflow:hidden}.home-pact-amount{font-family:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.home-pact-unit{color:var(--muted);margin-left:6px;font-size:14px;font-weight:500}.home-pact-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin:12px 0 14px;font-size:13px;display:flex}.home-pact-meta b{font-family:var(--font-mono);color:var(--ink);font-size:12px;font-weight:600}.home-pact-avatars{align-items:center;margin-bottom:14px;display:flex}.home-pact-avatars .avatar{border:2px solid #fff;margin-right:-8px}.home-pact-avatars .avatar-more{font-family:var(--font-mono);color:var(--muted);margin-left:10px;font-size:12px}.home-pact-cta{color:var(--accent-hover);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.spectral{background:var(--spectral);border-radius:999px;width:220px;max-width:100%;height:2px;margin:28px auto}.spectral-sm{background:var(--spectral);border-radius:999px;width:48px;height:1px;margin:0 auto 20px}.card{background:var(--surface);-webkit-backdrop-filter:blur(24px)saturate(180%);border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid #ffffffad;padding:22px}.card-pad-lg{padding:28px}.card-title{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:11px;font-weight:600}.subheading{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:600}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-head .card-title{margin-bottom:0}.tabs{background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;gap:4px;padding:3px;display:inline-flex}.tab{cursor:pointer;font-family:var(--font-body);color:var(--muted);background:0 0;border:none;border-radius:999px;min-height:32px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #122d451f}.pact-list{gap:10px;display:grid}.pact-row{text-align:left;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:border-color .15s ease, transform .12s var(--ease), box-shadow .15s ease;padding:14px 16px;font-family:inherit;display:block}.pact-row:hover{border-color:var(--border-strong);box-shadow:0 2px 10px #122d4514}.pact-row:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pact-row-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.pact-row-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.pact-row-meta{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.pact-row-meta b{font-family:var(--font-mono);color:var(--ink);font-size:12px;font-weight:600}.pact-row-cta{color:var(--accent-hover);align-items:center;gap:5px;margin-top:10px;font-size:13px;font-weight:600;display:inline-flex}.btn{min-height:var(--tap);border-radius:var(--radius-sm);font-family:var(--font-body);letter-spacing:-.01em;cursor:pointer;transition:background .15s ease, border-color .15s ease, transform .12s var(--ease), box-shadow .15s ease;-webkit-tap-highlight-color:transparent;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);text-decoration:none}.btn-ghost{background:var(--surface-muted);color:var(--ink);border-color:var(--border)}.btn-ghost:hover:not(:disabled){border-color:var(--border-strong);text-decoration:none}.btn-danger{color:var(--danger);background:#ba2b4c14;border-color:#ba2b4c40}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{min-height:var(--tap);padding:0 14px;font-size:13px}.field{margin-bottom:16px}.field:last-child{margin-bottom:0}.label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.input,.select{width:100%;min-height:var(--tap);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-body);appearance:none;padding:0 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--subtle)}.input:focus,.select:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px #85b1ed47}.input:disabled,.select:disabled{opacity:.6}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b6580' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.input-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hint{color:var(--subtle);font-size:13px;line-height:1.5}.chip{letter-spacing:.02em;background:var(--surface-muted);min-height:26px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:600;display:inline-flex}.chip-open{color:#2b6cb0;background:#5fbeff24}.chip-live{color:var(--success);background:#1a80471f}.chip-ended,.chip-settled{background:var(--surface-muted);color:var(--muted)}.chip-joined{color:#2b6cb0;background:#5fbeff24}.chip-checked{color:var(--success);background:#1a80471f}.chip-noshow{color:var(--danger);background:#ba2b4c1a}.steps{gap:16px;display:grid}.step{align-items:flex-start;gap:14px;display:flex}.step-num{background:var(--accent);color:#fff;width:26px;height:26px;font-family:var(--font-mono);border-radius:999px;flex:none;place-items:center;margin-top:1px;font-size:12px;font-weight:600;display:grid}.step-title{color:var(--ink);margin-bottom:3px;font-size:15px;font-weight:600}.step-desc{color:var(--muted);font-size:14px;line-height:1.5}.back-link{color:var(--muted);font-family:var(--font-body);cursor:pointer;scroll-margin-top:calc(var(--header-h) + 12px);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:8px;padding:8px 0;font-size:14px;font-weight:500;display:inline-flex}.back-link:hover{color:var(--ink)}.session-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.session-title{letter-spacing:-.03em;margin-bottom:6px;font-size:clamp(24px,6vw,32px)}.session-meta{font-family:var(--font-mono);color:var(--subtle);font-size:12px}.pool{text-align:center;padding:30px 22px}.pool-label{letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);margin-bottom:12px;font-size:11px;font-weight:600}.pool-amount{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:14px;font-size:clamp(36px,10vw,50px);font-weight:700;line-height:1}.pool-amount span{color:var(--muted);letter-spacing:0;margin-left:5px;font-size:.4em;font-weight:500}.pool-sub{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;font-size:14px;display:flex}.pool-sub b{color:var(--ink);font-family:var(--font-mono);font-size:13px;font-weight:600}.countdown{font-family:var(--font-mono);color:var(--accent-hover);font-size:13px;font-weight:600}.participants{gap:2px;display:grid}.participant{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.participant:last-child{border-bottom:none}.avatar{background:var(--surface-muted);width:32px;height:32px;color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;border:1px solid var(--border);border-radius:999px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.participant-name{min-width:0;font-family:var(--font-mono);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.participant-you{font-family:var(--font-body);color:var(--subtle);margin-left:6px;font-size:11px}.payout{gap:2px;display:grid}.payout-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.payout-row:last-child{border-bottom:none}.payout-name{font-family:var(--font-mono);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.payout-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.payout-amount.gain{color:var(--success)}.payout-amount.loss{color:var(--danger)}.payout-amount.neutral{color:var(--muted)}.stepper{gap:0;margin:16px 0;display:grid}.stepper-item{gap:12px;padding-bottom:18px;display:flex;position:relative}.stepper-item:last-child{padding-bottom:0}.stepper-item:before{content:"";background:var(--border);width:2px;position:absolute;top:26px;bottom:0;left:12px}.stepper-item:last-child:before{display:none}.stepper-item.done:before{background:var(--success)}.stepper-dot{background:var(--surface-muted);border:1px solid var(--border);width:26px;height:26px;font-family:var(--font-mono);color:var(--muted);z-index:1;border-radius:999px;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.stepper-item.active .stepper-dot{border-color:var(--accent);color:#fff;background:var(--accent)}.stepper-item.done .stepper-dot{background:var(--success);border-color:var(--success);color:#fff}.stepper-title{color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:600}.stepper-desc{color:var(--muted);font-size:13px;line-height:1.5}.collapse-toggle{width:100%;color:var(--ink);font-family:var(--font-body);cursor:pointer;min-height:var(--tap);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;font-size:15px;font-weight:600;display:flex}.collapse-caret{transition:transform .2s var(--ease);color:var(--muted);flex:none}.collapse-toggle[aria-expanded=true] .collapse-caret{transform:rotate(180deg)}.toast-wrap{z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed;bottom:20px;left:0;right:0}.toast{background:var(--surface-strong);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);width:100%;max-width:480px;box-shadow:var(--shadow-pop);animation:toast-in .22s var(--ease);pointer-events:auto;padding:12px 16px;font-size:14px}.toast-success{border-color:#1a804759}.toast-error{color:var(--danger);border-color:#ba2b4c59}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.skeleton{background:var(--surface-muted);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.empty{text-align:center;color:var(--muted);padding:28px 20px}.empty-icon{color:var(--subtle);justify-content:center;margin-bottom:10px;display:flex}.empty-title{font-family:var(--font-display);color:var(--ink);margin-bottom:6px;font-size:16px;font-weight:600}.error-box{border-radius:var(--radius-sm);color:var(--danger);background:#ba2b4c12;border:1px solid #ba2b4c33;padding:14px 16px;font-size:14px}.info-box{border-radius:var(--radius-sm);color:var(--ink-2);background:#5fbeff0f;border:1px solid #5fbeff2e;padding:14px 16px;font-size:14px}.tx-link{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.tx-link:hover{color:var(--accent-hover)}.mono{font-family:var(--font-mono)}.muted{color:var(--muted)}.center{text-align:center}.divider{background:var(--border);border:none;height:1px;margin:18px 0}.badge{background:var(--surface-muted);height:22px;color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-preview{color:#7c5cd6;background:#af8ff41f;border-color:#af8ff459}.unwrap-row{align-items:stretch;gap:8px;display:flex}.unwrap-row .input{flex:1;min-width:0}.fade-in{animation:fade-in .28s var(--ease)}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
