:root{--paper:#f3ecda;--paper-deep:#ebe0c6;--surface:#fdfaf2;--surface-2:#f6efe0;--ink:#232a1d;--ink-soft:#54593f;--ink-faint:#8b8a6f;--moss:#46583a;--moss-deep:#2f3d27;--leaf:#6f8a4f;--sage:#9bab83;--terracotta:#c2643c;--terracotta-deep:#a64f2c;--honey:#d9a23f;--honey-deep:#c2882a;--border:#ddd2b4;--border-soft:#e7ddc6;--danger:#b1442f;--success:#5d7a3c;--bg:var(--paper);--text:var(--ink);--primary:var(--moss);--accent:var(--terracotta);--font-display:"Fraunces","Iowan Old Style",Georgia,serif;--font-body:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,sans-serif;--fs-display:clamp(2.4rem,5vw,4rem);--fs-h1:clamp(1.9rem,3.4vw,2.8rem);--fs-h2:clamp(1.45rem,2.2vw,1.9rem);--fs-h3:1.2rem;--fs-body:1rem;--fs-sm:0.85rem;--fs-xs:0.74rem;--sp-1:0.25rem;--sp-2:0.5rem;--sp-3:0.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-8:3rem;--sp-10:4.5rem;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:26px;--r-pill:999px;--shadow-sm:0 1px 2px #2f3d270f,0 2px 6px #2f3d270d;--shadow-md:0 4px 12px #2f3d2714,0 10px 28px #2f3d2712;--shadow-lg:0 12px 34px #2f3d2724,0 28px 70px #2f3d271a;--ring:0 0 0 3px #6f8a4f52;--ease:cubic-bezier(0.22,0.61,0.36,1)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;background-attachment:fixed;background-color:#f3ecda;background-color:var(--paper);background-image:radial-gradient(1200px 620px at 78% -8%,#d9a23f38,#0000 60%),radial-gradient(980px 540px at 6% 4%,#6f8a4f29,#0000 55%),linear-gradient(180deg,#f5eede,#f3ecda 38%,#efe6cf);background-image:radial-gradient(1200px 620px at 78% -8%,#d9a23f38,#0000 60%),radial-gradient(980px 540px at 6% 4%,#6f8a4f29,#0000 55%),linear-gradient(180deg,#f5eede 0,var(--paper) 38%,#efe6cf 100%);color:#232a1d;color:var(--text);font-family:Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:1rem;font-size:var(--fs-body);line-height:1.6;margin:0;min-height:100vh;text-rendering:optimizeLegibility}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");content:"";inset:0;mix-blend-mode:multiply;opacity:.05;pointer-events:none;position:fixed;z-index:0}#root{position:relative;z-index:1}h1,h2,h3,h4,h5{color:#2f3d27;color:var(--moss-deep);font-family:Fraunces,Iowan Old Style,Georgia,serif;font-family:var(--font-display);font-optical-sizing:auto;font-weight:600;letter-spacing:-.01em;line-height:1.1;margin:0 0 .5em}h1{font-size:clamp(1.9rem,3.4vw,2.8rem);font-size:var(--fs-h1)}h2{font-size:clamp(1.45rem,2.2vw,1.9rem);font-size:var(--fs-h2)}h3{font-size:1.2rem;font-size:var(--fs-h3);font-weight:600}p{margin:0 0 1em}a{color:#a64f2c;color:var(--terracotta-deep);text-decoration:none;transition:color .2s cubic-bezier(.22,.61,.36,1);transition:color .2s var(--ease)}a:hover{color:#c2643c;color:var(--terracotta)}::selection{background:#c2643c3d;color:#2f3d27;color:var(--moss-deep)}.eyebrow{color:#a64f2c;color:var(--terracotta-deep);font-size:.74rem;font-size:var(--fs-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase}.btn,.eyebrow,button.btn{font-family:Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;font-family:var(--font-body)}.btn,button.btn{align-items:center;border:1px solid #0000;border-radius:999px;border-radius:var(--r-pill);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5em;justify-content:center;line-height:1;padding:.72em 1.25em;text-decoration:none;transition:transform .18s cubic-bezier(.22,.61,.36,1),box-shadow .18s cubic-bezier(.22,.61,.36,1),background-color .18s cubic-bezier(.22,.61,.36,1),border-color .18s cubic-bezier(.22,.61,.36,1);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease),border-color .18s var(--ease)}.btn:active{transform:translateY(1px)}.btn:focus-visible{box-shadow:0 0 0 3px #6f8a4f52;box-shadow:var(--ring);outline:none}.btn-primary{background:#46583a;background:var(--moss);box-shadow:0 1px 2px #2f3d270f,0 2px 6px #2f3d270d;box-shadow:var(--shadow-sm);color:#f7f4e8}.btn-primary:hover{background:#2f3d27;background:var(--moss-deep);box-shadow:0 4px 12px #2f3d2714,0 10px 28px #2f3d2712;box-shadow:var(--shadow-md);color:#fff;transform:translateY(-1px)}.btn-accent{background:#c2643c;background:var(--terracotta);box-shadow:0 1px 2px #2f3d270f,0 2px 6px #2f3d270d;box-shadow:var(--shadow-sm);color:#fff7ef}.btn-accent:hover{background:#a64f2c;background:var(--terracotta-deep);box-shadow:0 4px 12px #2f3d2714,0 10px 28px #2f3d2712;box-shadow:var(--shadow-md);color:#fff;transform:translateY(-1px)}.btn-ghost{background:#0000;border-color:#ddd2b4;border-color:var(--border);color:#2f3d27;color:var(--moss-deep)}.btn-ghost:hover{background:#f6efe0;background:var(--surface-2);border-color:#9bab83;border-color:var(--sage)}.btn-block{display:flex;width:100%}.card{background:#fdfaf2;background:var(--surface);border:1px solid #e7ddc6;border:1px solid var(--border-soft);border-radius:18px;border-radius:var(--r-lg);box-shadow:0 1px 2px #2f3d270f,0 2px 6px #2f3d270d;box-shadow:var(--shadow-sm);transition:transform .2s cubic-bezier(.22,.61,.36,1),box-shadow .2s cubic-bezier(.22,.61,.36,1);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.card-hover:hover{box-shadow:0 4px 12px #2f3d2714,0 10px 28px #2f3d2712;box-shadow:var(--shadow-md);transform:translateY(-3px)}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{background:#fdfaf2;background:var(--surface);border:1px solid #ddd2b4;border:1px solid var(--border);border-radius:8px;border-radius:var(--r-sm);color:#232a1d;color:var(--ink);font-family:Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:.95rem;padding:.65em .85em;transition:border-color .2s cubic-bezier(.22,.61,.36,1),box-shadow .2s cubic-bezier(.22,.61,.36,1);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);width:100%}input::placeholder,textarea::placeholder{color:#8b8a6f;color:var(--ink-faint)}input:focus,select:focus,textarea:focus{border-color:#6f8a4f;border-color:var(--leaf);box-shadow:0 0 0 3px #6f8a4f52;box-shadow:var(--ring);outline:none}label{color:#54593f;color:var(--ink-soft);font-size:.85rem;font-size:var(--fs-sm);font-weight:600}.pill{align-items:center;background:#f6efe0;background:var(--surface-2);border:1px solid #ddd2b4;border:1px solid var(--border);border-radius:999px;border-radius:var(--r-pill);display:inline-flex;font-size:.74rem;font-size:var(--fs-xs);font-weight:700;gap:.4em;letter-spacing:.04em;padding:.32em .7em}.pill,.pill-leaf{color:#2f3d27;color:var(--moss-deep)}.pill-leaf{background:#6f8a4f29;border-color:#6f8a4f57}.pill-clay{background:#c2643c24;border-color:#c2643c4d;color:#a64f2c;color:var(--terracotta-deep)}.pill-honey{background:#d9a23f2e;border-color:#d9a23f66;color:#c2882a;color:var(--honey-deep)}*{scrollbar-color:#9bab83 #0000;scrollbar-color:var(--sage) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:#9bab83;background:var(--sage);background-clip:content-box;border:2px solid #0000;border-radius:999px;border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:#6f8a4f;background:var(--leaf);background-clip:content-box}@keyframes ts-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.ts-rise{animation:ts-rise .6s cubic-bezier(.22,.61,.36,1) both;animation:ts-rise .6s var(--ease) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-container{display:flex;flex-direction:column;min-height:100vh}.detail-card{animation:ts-rise .5s var(--ease) both;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:2em 2.2em 2.4em}.detail-card h1{font-size:clamp(1.8rem,3vw,2.6rem);margin:.2em 0 .3em}.detail-meta{color:var(--ink-soft);font-size:.95rem;margin:0 0 1em}.detail-meta a{font-weight:600}.detail-description{color:var(--ink-soft);font-size:1.08rem;line-height:1.7;max-width:60ch}.detail-values{display:flex;flex-wrap:wrap;gap:.45em;margin:1.2em 0 0}.detail-values span{background:#d9a23f29;border:1px solid #d9a23f5c;border-radius:var(--r-pill);color:var(--honey-deep);font-size:.8rem;font-weight:600;padding:.28em .7em}.detail-grid{grid-gap:1.6em;display:grid;gap:1.6em;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:2em}.detail-section h2{border-bottom:1px solid var(--border-soft);color:var(--ink-faint);font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.12em;margin-bottom:.7em;padding-bottom:.5em;text-transform:uppercase}.detail-list{display:flex;flex-direction:column;gap:.35em;list-style:none;margin:0;padding:0}.detail-list li{font-size:.95rem}.detail-list a{border-radius:var(--r-sm);color:var(--moss-deep);display:inline-block;font-weight:500;padding:.35em .6em;transition:background-color .2s var(--ease),transform .2s var(--ease)}.detail-list a:hover{background:#6f8a4f1f;transform:translateX(3px)}.detail-list .muted{color:var(--ink-faint);font-style:italic;padding:.35em .6em}.user-profile-header{align-items:center;display:flex;gap:1.4em;margin-bottom:1.5em}.user-avatar{border:3px solid var(--surface);border-radius:var(--r-pill);box-shadow:var(--shadow-md);height:96px;object-fit:cover;width:96px}.trust-list li{background:var(--surface-2);border:1px solid var(--border-soft);border-left:3px solid var(--leaf);border-radius:var(--r-md);display:flex;flex-direction:column;gap:.25em;padding:.9em 1.1em}.trust-meta{color:var(--ink-faint);font-size:.85rem}.trust-quote{color:var(--ink-soft);font-style:italic;margin:.4em 0 0}.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-lg);color:var(--ink-soft);font-size:1.05rem;line-height:1.6;padding:2.5em 2em;text-align:center}.route-loading{color:var(--ink-faint);font-family:var(--font-display);font-size:1.2rem;justify-content:center;min-height:50vh}.route-loading,header{align-items:center;display:flex}header{backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);background:#faf6ebd1;border-bottom:1px solid var(--border);box-shadow:0 1px 0 #ffffff80 inset,var(--shadow-sm);gap:var(--sp-5);padding:.7em clamp(1em,4vw,2.5em);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.brand{margin-right:auto}.brand,.brand a{align-items:center;display:inline-flex;gap:.55em}.brand a{color:var(--moss-deep);font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.brand a:hover{color:var(--moss)}.brand-mark{color:var(--terracotta);filter:drop-shadow(0 1px 1px rgba(47,61,39,.18));flex:none;height:30px;transition:transform .5s var(--ease);width:30px}.brand a:hover .brand-mark{transform:rotate(28deg)}.brand b{color:var(--terracotta-deep);font-weight:700}nav,nav ul{align-items:center;display:flex}nav ul{gap:.15em;list-style:none;margin:0;padding:0}.nav-primary a{border-radius:var(--r-sm);color:var(--ink-soft);display:inline-block;font-size:.95rem;font-weight:600;padding:.5em .85em;position:relative;transition:color .2s var(--ease),background-color .2s var(--ease)}.nav-primary a:after{background:var(--terracotta);border-radius:2px;bottom:.32em;content:"";height:2px;left:.85em;position:absolute;right:.85em;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.nav-primary a:hover{background:#6f8a4f1a;color:var(--moss-deep)}.nav-primary a:hover:after{transform:scaleX(1)}.nav-actions{align-items:center;display:flex;gap:.6em;margin-left:.4em}.donate-link{background:#d9a23f29;border:1px solid #d9a23f73;border-radius:var(--r-pill);color:var(--honey-deep);font-size:.85rem;font-weight:700;padding:.5em .95em;transition:background-color .2s var(--ease),transform .2s var(--ease)}.donate-link:hover{background:#d9a23f47;color:var(--honey-deep);transform:translateY(-1px)}.notification-icon{display:flex;position:relative}#notification-bell{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;display:inline-flex;font-size:1.05rem;height:40px;justify-content:center;transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);width:40px}#notification-bell:hover{background:var(--surface-2);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.account{position:relative}.account-toggle{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--moss-deep);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.9rem;font-weight:600;gap:.5em;padding:.32em .75em .32em .4em;transition:background-color .2s var(--ease),box-shadow .2s var(--ease)}.account-toggle:hover{background:var(--surface-2);box-shadow:var(--shadow-sm)}.account-avatar{align-items:center;background:radial-gradient(circle at 30% 25%,var(--leaf),var(--moss));border-radius:var(--r-pill);color:#f7f4e8;display:inline-flex;font-size:.8rem;font-weight:700;height:28px;justify-content:center;width:28px}.account-caret{color:var(--ink-faint);font-size:.7rem}.account-menu{animation:ts-rise .18s var(--ease) both;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1px;min-width:200px;padding:.4em;position:absolute;right:0;top:calc(100% + .55em)}.account-menu a,.account-menu button{background:none;border:none;border-radius:var(--r-sm);color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);font-size:.92rem;font-weight:600;padding:.6em .7em;text-align:left;transition:background-color .15s var(--ease),color .15s var(--ease);width:100%}.account-menu a:hover,.account-menu button:hover{background:#6f8a4f1f;color:var(--moss-deep)}.account-menu .menu-divider{background:var(--border-soft);height:1px;margin:.3em .2em}.auth-action{background:var(--moss);border:1px solid #0000;border-radius:var(--r-pill);color:#f7f4e8;cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:700;padding:.55em 1.1em;transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.auth-action:hover{background:var(--moss-deep);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-1px)}.notification-panel{animation:ts-rise .2s var(--ease) both;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);color:var(--ink);max-height:480px;overflow-y:auto;padding:1em;position:absolute;right:0;top:calc(100% + .6em);width:380px;z-index:1001}.notification-panel h4{color:var(--moss-deep);font-family:var(--font-display);margin:0 0 .6em}.notification-list{list-style:none;margin:0;padding:0}.notification-list li{align-items:center;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);display:flex;gap:.7em;margin-bottom:.5em;padding:.6em;transition:background-color .2s var(--ease)}.notification-list li:hover{background:var(--paper-deep)}.notification-list li img.notification-avatar{border-radius:var(--r-pill);height:42px;object-fit:cover;width:42px}.notification-list li a{color:var(--ink);flex-grow:1;font-weight:500}.notification-list li a:hover{color:var(--terracotta-deep)}.notification-time{color:var(--ink-faint);font-size:var(--fs-xs)}.container{box-sizing:border-box;display:flex;gap:var(--sp-6);justify-content:center;margin:var(--sp-8) auto var(--sp-10);max-width:1240px;padding:0 clamp(1em,4vw,2.5em);width:100%}aside{align-self:flex-start;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex:0 0 250px;max-width:250px;padding:1.4em;position:-webkit-sticky;position:sticky;top:90px}aside h3{color:var(--ink-faint);font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.14em;margin:0 0 .7em;text-transform:uppercase}aside h3:not(:first-child){margin-top:1.4em}main{flex:1 1 auto;max-width:760px;min-width:0}aside .btn-orange,aside .btn-purple{border:1px solid #0000;border-radius:var(--r-pill);cursor:pointer;display:block;font-family:var(--font-body);font-size:.92rem;font-weight:600;margin-bottom:1em;padding:.7em 1em;text-align:center;transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);width:100%}aside .btn-orange{background:var(--terracotta);box-shadow:var(--shadow-sm);color:#fff7ef}aside .btn-orange:hover{background:var(--terracotta-deep);box-shadow:var(--shadow-md);transform:translateY(-1px)}aside .btn-purple{background:var(--moss);box-shadow:var(--shadow-sm);color:#f7f4e8}aside .btn-purple:hover{background:var(--moss-deep);box-shadow:var(--shadow-md);transform:translateY(-1px)}aside .search-box{margin-bottom:1em}.filters{display:flex;flex-direction:column;gap:.45em}.filters button{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--ink-soft);cursor:pointer;display:block;font-family:var(--font-body);font-size:.9rem;font-weight:600;padding:.6em .85em;text-align:left;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);width:100%}.filters button:hover{background:#6f8a4f24;border-color:var(--sage);color:var(--moss-deep)}.filters button.active{background:var(--moss);border-color:var(--moss);color:#f7f4e8}.opening-sphere-filter{margin-top:.9em}.opening-sphere-filter label{color:var(--ink-faint);display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:.4em;text-transform:uppercase}.opening-sphere-filter select{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);font-size:.88rem;font-weight:600;padding:.55em .7em;width:100%}aside .active-needs,aside .active-offers,aside .sphere-list{list-style:none;margin:0;padding:0}aside .active-needs li,aside .active-offers li,aside .sphere-list li{margin:.35em 0}aside .active-needs a,aside .active-offers a,aside .sphere-list a{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--moss-deep);display:block;font-weight:500;padding:.6em .8em;transition:background-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}aside .active-needs a:hover,aside .active-offers a:hover,aside .sphere-list a:hover{background:var(--moss);color:#f7f4e8;transform:translateX(3px)}.selector-buttons{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-pill);display:flex;gap:.4em;margin-bottom:var(--sp-5);padding:.35em}.selector-buttons .btn-selector{background:#0000;border:none;border-radius:var(--r-pill);color:var(--ink-soft);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:.92rem;font-weight:700;padding:.65em 1em;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.selector-buttons .btn-selector:hover{color:var(--moss-deep)}.selector-buttons .btn-selector.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--moss-deep)}footer{background:var(--moss-deep);border-top:3px solid var(--terracotta);color:#e7e3cf;margin-top:auto;padding:1.6em 1em;text-align:center}footer ul{display:flex;flex-wrap:wrap;gap:.5em 1.8em;justify-content:center;list-style:none;margin:0;padding:0}footer ul li a{color:#d8e0c4;font-size:.92rem;font-weight:500;transition:color .2s var(--ease)}footer ul li a:hover{color:var(--honey)}.like-btn{background:none;border:none;cursor:pointer;font-size:1.2em;transition:transform .15s var(--ease)}.like-btn:hover{transform:scale(1.18)}.like-timestamp{width:70px}.like-btn-disabled{color:var(--ink-faint);cursor:pointer}.like-btn.clicked{color:var(--terracotta);cursor:default}.likes-count{color:var(--ink-soft);font-size:.8em}.time{font-size:.72em}.white{color:#f7f4e8}.highlight{animation:highlightFade 2s ease-in-out;border:2px solid var(--terracotta)}@keyframes highlightFade{0%{border-color:var(--terracotta)}to{border-color:#0000}}.sphere-banner{align-items:center;background:linear-gradient(135deg,var(--surface-2),var(--paper-deep));border-radius:var(--r-lg);box-shadow:var(--shadow-sm);display:flex;height:220px;justify-content:center;margin-bottom:2em;overflow:hidden;position:relative;width:100%}.sphere-banner:hover .set-image-btn{opacity:1}@media (max-width:900px){.container{align-items:stretch;flex-direction:column}aside{flex-basis:auto;position:static}aside,main{max-width:none}.nav-primary{display:none}}.ab-page{--ab-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;--ab-measure:64ch;margin:0 auto;max-width:1000px;overflow:hidden;padding:clamp(2rem,5vw,4.5rem) clamp(1.1rem,4vw,2.5rem) 6rem}.ab-page.is-armed .ab-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform}.ab-page.is-armed .ab-reveal.is-visible{opacity:1;transform:none}.ab-hero{margin-bottom:clamp(2rem,4vw,3.5rem);padding:clamp(1.5rem,5vw,3.5rem) 0 clamp(2.5rem,5vw,4rem);position:relative}.ab-hero-graph{height:360px;inset:-8% -12% auto auto;-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000 100%);mask-image:radial-gradient(closest-side,#000 55%,#0000 100%);opacity:.5;pointer-events:none;position:absolute;width:min(560px,80%)}.ab-hero-graph svg{height:100%;width:100%}.ab-graph-edges line{stroke:var(--sage);stroke-width:1.2;opacity:.6}.ab-graph-nodes circle{fill:var(--leaf);animation:ab-pulse 5s var(--ease) infinite}.ab-graph-nodes circle:nth-child(2){fill:var(--honey);animation-delay:.6s}.ab-graph-nodes circle:nth-child(4){fill:var(--terracotta);animation-delay:1.2s}.ab-graph-nodes circle:nth-child(5){fill:var(--honey-deep);animation-delay:1.8s}@keyframes ab-pulse{0%,to{opacity:.45;transform:scale(1);transform-box:fill-box;transform-origin:center}50%{opacity:1;transform:scale(1.18);transform-box:fill-box;transform-origin:center}}.ab-eyebrow{color:var(--terracotta-deep);font-family:var(--font-body);font-size:var(--fs-xs);font-weight:700;letter-spacing:.18em;margin:0 0 1.1rem;text-transform:uppercase}.ab-hero-title{color:var(--moss-deep);font-family:var(--font-display);font-size:clamp(2.6rem,7vw,5rem);font-weight:600;letter-spacing:-.02em;line-height:.98;margin:0 0 1.4rem;position:relative}.ab-hero-title em{color:var(--terracotta);font-style:italic}.ab-lead{color:var(--ink-soft);font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.5;margin:0;max-width:56ch}.ab-lead:first-letter{color:var(--leaf);float:left;font-family:var(--font-display);font-size:3.4em;font-weight:600;line-height:.72;padding:.06em .12em 0 0}.ab-section{border-top:1px solid var(--border-soft);padding:clamp(2.2rem,5vw,3.6rem) 0;position:relative}.ab-section-head{align-items:baseline;display:flex;gap:1rem;margin-bottom:1.6rem}.ab-num{color:var(--honey-deep);flex:none;font-family:var(--ab-mono);font-size:.92rem;font-weight:600;letter-spacing:.05em;padding-top:.2em}.ab-section-head h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.04;margin:0}.ab-prose{max-width:var(--ab-measure)}.ab-prose p{color:var(--ink-soft);font-size:1.08rem;line-height:1.7}.ab-prose strong{color:var(--moss-deep);font-weight:700}.ab-prose em{color:var(--ink);font-style:italic}.ab-prose--center{margin-left:auto;margin-right:auto;text-align:center}.ab-collapse{grid-gap:1.2rem;align-items:stretch;display:grid;gap:1.2rem;grid-template-columns:1fr auto 1fr;margin-top:2rem}.ab-collapse-side{border-radius:var(--r-lg);display:flex;flex-direction:column;gap:.9rem;padding:1.4rem 1.5rem}.ab-collapse-thin{background:var(--paper-deep);border:1px dashed var(--border)}.ab-collapse-thick{background:var(--surface);border:1px solid var(--border-soft);border-left:4px solid var(--leaf);box-shadow:var(--shadow-sm)}.ab-collapse-tag{color:var(--ink-faint);font-family:var(--ab-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase}.ab-collapse-tag--thick{color:var(--leaf)}.ab-metrics{display:flex;flex-wrap:wrap;gap:.5rem}.ab-metric{background:#8b8a6f1f;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink-faint);font-family:var(--ab-mono);font-size:.92rem;padding:.3em .6em}.ab-collapse-note{color:var(--ink-faint);font-size:var(--fs-sm);font-style:italic;margin:auto 0 0}.ab-thick-line{color:var(--ink);font-size:1.05rem;line-height:1.55;margin:0}.ab-thick-line strong{color:var(--moss-deep)}.ab-thick-line em{color:var(--terracotta-deep);font-style:italic}.ab-collapse-arrow{align-items:center;color:var(--ink-faint);display:flex;flex-direction:column;gap:.45rem;justify-content:center}.ab-collapse-arrow span{font-family:var(--ab-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}.ab-collapse-arrow svg path{stroke:var(--honey-deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ab-preserves{grid-gap:1px;background:var(--border-soft);border:1px solid var(--border-soft);border-radius:var(--r-lg);display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));list-style:none;margin:2rem 0 0;overflow:hidden;padding:0}.ab-preserve{background:var(--surface);padding:1.3rem 1.4rem;transition:background-color .25s var(--ease)}.ab-preserve:hover{background:var(--surface-2)}.ab-preserve h3{color:var(--moss-deep);font-size:1.12rem;margin:0 0 .4rem}.ab-preserve h3:before{background:var(--leaf);border-radius:var(--r-pill);content:"";display:inline-block;height:.5em;margin-right:.55em;vertical-align:middle;width:.5em}.ab-preserve p{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.55;margin:0}.ab-ladder-caption{color:var(--ink-faint);font-size:var(--fs-sm);font-style:italic;margin:2.2rem 0 .9rem}.ab-ladder{counter-reset:rung;display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;max-width:var(--ab-measure);padding:0}.ab-ladder li{align-items:baseline;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-md);counter-increment:rung;display:flex;gap:1rem;padding:.85rem 1.2rem;position:relative}.ab-ladder li:before{color:var(--ink-faint);content:counter(rung);flex:none;font-family:var(--ab-mono);font-size:var(--fs-xs)}.ab-ladder .ab-rung-k{color:var(--moss-deep);font-family:var(--font-display);font-size:1.05rem;font-weight:600;min-width:9.5em}.ab-ladder .ab-rung-d{color:var(--ink-soft);font-size:var(--fs-sm)}.ab-ladder .ab-rung-top{background:#6f8a4f14;border-color:#6f8a4f73;border-left:4px solid var(--leaf)}.ab-ladder .ab-rung-top .ab-rung-k{color:var(--moss)}.ab-card-row{grid-gap:1.8rem;align-items:start;display:grid;gap:1.8rem;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);margin-top:2rem}.ab-valuecard{background:repeating-linear-gradient(to bottom,#0000 0,#0000 2.55rem,#9bab832e 2.55rem,#9bab832e calc(2.55rem + 1px)),var(--surface);border:1px solid var(--border);border-radius:var(--r-md);border-top:6px solid var(--honey);box-shadow:var(--shadow-md);padding:1.6rem 1.6rem 1.7rem;position:relative;transform:rotate(-.5deg);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.ab-valuecard:hover{box-shadow:var(--shadow-lg);transform:rotate(0deg) translateY(-2px)}.ab-valuecard-punch{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-pill);height:14px;left:50%;position:absolute;top:-3px;transform:translateX(-50%);width:46px}.ab-vc-field{margin-bottom:.95rem}.ab-vc-field:last-child{margin-bottom:0}.ab-vc-label{color:var(--honey-deep);display:block;font-family:var(--ab-mono);font-size:.68rem;letter-spacing:.12em;margin-bottom:.25rem;text-transform:uppercase}.ab-vc-field p{color:var(--ink);font-size:.98rem;line-height:1.45;margin:0}.ab-vc-drift .ab-vc-label{color:var(--terracotta-deep)}.ab-vc-drift p{color:var(--ink-soft)}.ab-vc-never .ab-vc-label{color:var(--danger)}.ab-vc-never p{color:var(--moss-deep);font-weight:600}.ab-clear{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:1.5rem 1.5rem 1.6rem}.ab-clear-title{color:var(--moss-deep);font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:.02em;margin:0 0 1rem}.ab-clear ul{display:flex;flex-direction:column;gap:.85rem;list-style:none;margin:0;padding:0}.ab-clear li{align-items:baseline;display:flex;gap:.85rem}.ab-clear-letter{align-items:center;background:var(--leaf);border-radius:var(--r-sm);color:#fff7ef;display:inline-flex;flex:none;font-family:var(--font-display);font-size:.95rem;font-weight:600;height:1.7em;justify-content:center;width:1.7em}.ab-clear-text{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.45}.ab-clear-text strong{color:var(--moss-deep)}.ab-modes{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:2rem}.ab-mode{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1.6rem 1.5rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.ab-mode:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.ab-mode-glyph{align-items:center;background:#d9a23f29;border-radius:var(--r-pill);color:var(--honey-deep);display:inline-flex;font-size:1.3rem;height:2.4em;justify-content:center;margin-bottom:.9rem;width:2.4em}.ab-mode:nth-child(2) .ab-mode-glyph{background:#6f8a4f29;color:var(--moss)}.ab-mode:nth-child(3) .ab-mode-glyph{background:#c2643c24;color:var(--terracotta-deep)}.ab-mode h3{font-size:1.25rem;margin:0 0 .2rem}.ab-mode-gloss{color:var(--ink-faint);font-family:var(--ab-mono);font-size:var(--fs-xs);letter-spacing:.04em;margin:0 0 .9rem;text-transform:lowercase}.ab-mode-ex{color:var(--ink-soft);font-family:var(--font-display);font-size:1.02rem;font-style:italic;line-height:1.45;margin:0}.ab-mapping{display:flex;flex-direction:column;gap:.8rem;list-style:none;margin:2rem 0 0;padding:0}.ab-map-row{grid-gap:.8rem 1rem;align-items:center;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-md);display:grid;gap:.8rem 1rem;grid-template-columns:minmax(0,11em) auto minmax(0,13em) minmax(0,2fr);padding:1.05rem 1.3rem;transition:border-color .25s var(--ease),transform .25s var(--ease)}.ab-map-row:hover{border-color:var(--sage);transform:translateX(3px)}.ab-map-from{color:var(--ink-faint);font-family:var(--ab-mono);font-size:var(--fs-sm);text-decoration:line-through;-webkit-text-decoration-color:var(--terracotta);text-decoration-color:var(--terracotta);text-decoration-thickness:1.5px}.ab-map-arrow{color:var(--honey-deep);font-weight:700}.ab-map-to{color:var(--moss-deep);font-family:var(--font-display);font-size:1.12rem;font-weight:600}.ab-map-d{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.5;margin:0}.ab-section--quote{text-align:center}.ab-quote{margin:0 auto 1.6rem;max-width:18ch}.ab-quote p{color:var(--moss-deep);font-family:var(--font-display);font-size:clamp(1.7rem,4.5vw,3rem);font-style:italic;font-weight:600;line-height:1.12;margin:0;position:relative}.ab-quote p:before{background:var(--honey);border-radius:var(--r-pill);content:"";display:block;height:4px;margin:0 auto 1.4rem;width:2.6rem}.ab-join{background:radial-gradient(720px 320px at 50% -10%,#d9a23f2e,#0000 65%),var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);margin-top:clamp(2.5rem,5vw,4rem);padding:clamp(2.4rem,5vw,3.6rem) clamp(1.2rem,4vw,2.5rem);text-align:center}.ab-join h2{font-size:clamp(1.7rem,3.6vw,2.6rem);margin:.6rem auto 1rem;max-width:16ch}.ab-join .ab-prose--center{margin-bottom:1.8rem}.ab-join-actions{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center}.ab-btn-lg{font-size:1rem;padding:.85em 1.7em}@media (max-width:760px){.ab-collapse{grid-template-columns:1fr}.ab-collapse-arrow{flex-direction:row;padding:.2rem 0}.ab-collapse-arrow svg{transform:rotate(90deg)}.ab-card-row{grid-template-columns:1fr}.ab-valuecard{transform:none}.ab-map-row{grid-template-columns:1fr auto 1fr}.ab-map-d{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.ab-graph-nodes circle{animation:none}.ab-valuecard{transform:none}}.exchange{animation:ts-rise .35s var(--ease) both;background:var(--surface);border:1px solid var(--border-soft);border-left:4px solid var(--sage);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:.6em;overflow:hidden;transition:box-shadow .2s var(--ease),border-color .2s var(--ease)}.exchange.collapsed{cursor:pointer}.exchange.collapsed:hover,.exchange.expanded{box-shadow:var(--shadow-md)}.exchange.offer{border-left-color:var(--terracotta)}.exchange.need{border-left-color:var(--honey)}.exchange.completed{border-left-color:var(--leaf)}.xc-summary{align-items:center;cursor:pointer;display:flex;gap:.6em;min-height:52px;padding:.7em .9em;-webkit-user-select:none;user-select:none}.type-pill{flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.25em .55em;text-transform:uppercase}.xc-title-col{display:flex;flex:1 1;flex-direction:column;gap:.1em;min-width:0;overflow:hidden}.xc-title{color:var(--moss-deep);display:block;font-family:var(--font-display);font-size:.97rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exchange.expanded .xc-summary .xc-title{font-size:1.12rem;overflow:visible;text-overflow:clip;white-space:normal}.xc-title-link{color:var(--moss-deep);text-decoration:none;transition:color .15s var(--ease)}.xc-title-link:hover{color:var(--terracotta-deep);text-decoration:underline;-webkit-text-decoration-color:var(--terracotta);text-decoration-color:var(--terracotta);text-underline-offset:3px}.xc-participants-inline{color:var(--ink-faint);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xc-participants-inline a{color:var(--terracotta-deep);font-weight:600;text-decoration:none}.xc-participants-inline a:hover{text-decoration:underline}.xc-summary-meta{align-items:center;display:flex;flex-shrink:0;gap:.45em}.xc-date{color:var(--ink-faint);font-size:.76rem;white-space:nowrap}.xc-expand-btn{background:none;border:none;border-radius:var(--r-sm);color:var(--ink-faint);cursor:pointer;flex-shrink:0;font-size:.68rem;line-height:1;padding:.3em .45em;transition:color .15s var(--ease),background .15s var(--ease)}.xc-expand-btn:hover{background:var(--surface-2);color:var(--moss)}.xc-body{animation:ts-rise .22s var(--ease) both;border-top:1px solid var(--border-soft);padding:0 .9em 1em}.xc-context{align-items:center;display:flex;flex-wrap:wrap;font-size:.86rem;gap:.45em;padding:.65em 0 .55em}.xc-context .participants{color:var(--ink-soft)}.xc-context .participants a,.xc-context a{color:var(--terracotta-deep);font-weight:600;text-decoration:none}.xc-context a:hover{text-decoration:underline}.xc-sphere-pill{font-size:.73rem}.xc-project-ref{color:var(--ink-soft);font-size:.83rem}.xc-project-ref a{color:var(--moss-deep);font-weight:600}.description-container{align-items:flex-start;display:flex;gap:1em;margin:.3em 0 .9em}.exchange-image{border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-shrink:0;height:96px;object-fit:cover;width:96px}.description{color:var(--ink-soft);flex:1 1;font-size:.9rem;line-height:1.55;margin:0}.status{margin-bottom:.75em}.xc-section{border-top:1px solid var(--border-soft);margin-top:.8em;padding-top:.8em}.xc-section-label{align-items:baseline;display:flex;gap:.45em;margin-bottom:.6em}.xc-section-label>span:first-child{font-family:var(--font-body);font-size:.77rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.xc-section-hint{color:var(--ink-faint);font-size:.74rem;font-weight:400;letter-spacing:0;text-transform:none}.xc-section-receipt>span:first-child{color:var(--leaf)}.xc-section-acknowledgement>span:first-child{color:var(--honey-deep)}.xc-empty-section{color:var(--ink-faint);font-size:.83rem;font-style:italic;margin:0 0 .45em}.acknowledgement,.receipt{align-items:flex-start;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-md);display:flex;gap:.75em;justify-content:space-between;margin-bottom:.55em;padding:.65em .8em}.receipt{border-left:3px solid var(--leaf)}.acknowledgement{border-left:3px solid var(--honey)}.tf-content{flex:1 1}.tf-content p{color:var(--ink-soft);font-size:.88rem;line-height:1.5;margin:0}.tf-content p strong{color:var(--ink);font-weight:600}.xc-add-btn{align-items:center;border:1px solid;border-radius:var(--r-pill);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.8rem;font-weight:600;gap:.3em;margin-top:.35em;padding:.38em .8em;transition:background .18s var(--ease),color .18s var(--ease)}.xc-add-receipt{background:#6f8a4f17;border-color:var(--leaf);color:var(--moss-deep)}.xc-add-receipt:hover{background:var(--leaf);color:#f7f4e8}.xc-add-acknowledgement{background:#d9a23f1a;border-color:var(--honey);color:var(--honey-deep)}.xc-add-acknowledgement:hover{background:var(--honey);color:var(--moss-deep)}#cancel-acknowledgement-btn,#save-acknowledgement-btn{border:none;border-radius:var(--r-pill);color:#f7f4e8;cursor:pointer;font-family:var(--font-body);font-weight:600;margin-top:.5em;padding:.6em;transition:background-color .2s var(--ease);width:100%}#save-acknowledgement-btn{background:var(--moss)}#save-acknowledgement-btn:hover{background:var(--moss-deep)}#cancel-acknowledgement-btn{background:var(--ink-faint)}#cancel-acknowledgement-btn:hover{background:var(--ink-soft)}#acknowledgement-entry{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-md);margin-top:.5em;padding:.9em}#cancel-receipt-btn,#save-receipt-btn{border:none;border-radius:var(--r-pill);color:#f7f4e8;cursor:pointer;font-family:var(--font-body);font-weight:600;margin-top:.5em;padding:.6em;transition:background-color .2s var(--ease);width:100%}#save-receipt-btn{background:var(--leaf)}#save-receipt-btn:hover{background:var(--moss)}#cancel-receipt-btn{background:var(--ink-faint)}#cancel-receipt-btn:hover{background:var(--ink-soft)}#receipt-entry{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-md);margin-top:.5em;padding:.9em}.exchange,.service,.service-card{animation:ts-rise .5s var(--ease) both;background:var(--surface);border:1px solid var(--border-soft);border-left:4px solid var(--sage);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:1.6em;padding:1.2em 1.3em;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.exchange:hover,.service-card:hover,.service:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.exchange.offer,.service-card.offer,.service.offer{border-left-color:var(--leaf)}.exchange.need,.service-card.need,.service.need{border-left-color:var(--terracotta)}.exchange.completed{border-left-color:var(--moss)}.exchange-header,.service .exchange-header,.service-card .exchange-header{align-items:flex-start;display:flex;gap:1em;justify-content:space-between}.exchange-header .left,.service .exchange-header .left,.service-card .exchange-header .left{display:flex;flex:2 1;flex-direction:column;gap:.2em}.exchange-header .right,.service .exchange-header .right,.service-card .exchange-header .right{align-items:flex-start;display:flex;flex:0 0 80px;justify-content:flex-end}.exchange-header h3{font-size:1.18rem;margin:0}.exchange-header small{color:var(--ink-faint);margin:0}.like-timestamp{align-items:center;display:flex;flex-direction:column;text-align:center}.description-container,.service .description-container,.service-card .description-container{align-items:flex-start;display:flex;gap:1em;justify-content:space-between;margin-top:1em}.exchange-image,.service .exchange-image,.service-card .exchange-image{border-radius:var(--r-md);box-shadow:var(--shadow-sm);height:110px;margin-right:1em;object-fit:cover;width:110px}.project-link a,.service .project-link a,.service-card .project-link a{border:1px solid var(--moss);border-radius:var(--r-pill);color:var(--moss-deep);display:inline-block;font-size:.82rem;font-weight:600;padding:.45em .7em;transition:background-color .25s var(--ease),color .25s var(--ease)}.project-link a:hover,.service .project-link a:hover,.service-card .project-link a:hover{background:var(--moss);color:#f7f4e8}.service-project{align-self:center;color:var(--ink-soft);flex:0 0 auto;font-size:.85rem;line-height:1.4;max-width:26%}.service-project a{color:var(--moss-deep);font-weight:600}.service-project .muted{color:var(--ink-faint);font-style:italic}.service-project-name{color:var(--moss-deep);font-weight:600}.service .service-exchanges{margin-top:1em}.service .exchange-summary{margin-top:.5em}.service .exchange-summary a{color:var(--terracotta-deep);font-weight:600}.service .exchange-summary a:hover{text-decoration:underline}.cadence-badge{border-radius:var(--r-pill);display:inline-block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.65rem;font-weight:700;letter-spacing:.06em;margin-left:.55em;padding:.2em .55em;text-transform:uppercase;vertical-align:middle}.cadence-badge--perpetual{background:#6f8a4f1f;border:1px solid var(--leaf);color:var(--moss-deep)}.accepted-by-note{color:var(--ink-faint);font-size:.78rem;font-style:italic;margin-top:.15em}.service-accept-cta{margin-top:1em}.service-accept-btn{background:var(--leaf);border:none;border-radius:var(--r-pill);color:#f7f4e8;cursor:pointer;font-family:var(--font-body);font-size:.92rem;font-weight:700;padding:.7em 1em;transition:background-color .18s var(--ease),transform .15s var(--ease);width:100%}.service-accept-btn:hover:not(:disabled){background:var(--moss);transform:translateY(-1px)}.service-accept-btn:disabled{cursor:not-allowed;opacity:.6}.service-awaiting{background:var(--surface-2);border:1px dashed var(--border-soft);border-radius:var(--r-pill);color:var(--ink-soft);display:block;font-family:var(--font-body);font-size:.86rem;font-weight:700;padding:.6em 1em;text-align:center}.service-view-exchange{background:var(--honey);color:var(--ink)}.service-view-exchange:hover:not(:disabled){background:var(--terracotta);color:#f7f4e8}.service-pending{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-md);margin-top:1em;padding:.8em .9em}.service-pending-label{color:var(--ink-faint);display:block;font-size:.74rem;font-weight:700;letter-spacing:.04em;margin-bottom:.6em;text-transform:uppercase}.service-pending-row{align-items:center;display:flex;gap:.6em;justify-content:space-between;padding:.35em 0}.service-pending-row+.service-pending-row{border-top:1px solid var(--border-soft)}.service-pending-name{font-size:.9rem;font-weight:600}.service-pending-actions{align-items:center;display:flex;gap:.4em}.service-confirm-btn{background:var(--leaf);border:none;border-radius:var(--r-pill);color:#f7f4e8;cursor:pointer;font-family:var(--font-body);font-size:.82rem;font-weight:700;padding:.5em .9em;transition:background-color .18s var(--ease),transform .15s var(--ease);white-space:nowrap}.service-confirm-btn:hover:not(:disabled){background:var(--moss);transform:translateY(-1px)}.service-confirm-btn:disabled{cursor:not-allowed;opacity:.6}.service-reject-btn{background:#0000;border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--terracotta);cursor:pointer;font-family:var(--font-body);font-size:.82rem;font-weight:700;padding:.5em .8em;transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);white-space:nowrap}.service-reject-btn:hover:not(:disabled){background:var(--terracotta);border-color:var(--terracotta);color:#f7f4e8}.service-reject-btn:disabled{cursor:not-allowed;opacity:.6}.service-header-pipe{color:var(--border-soft);margin:0 .3em}.service-title-link{color:inherit;text-decoration:none}.service-title-link:hover{text-decoration:underline}#service-form{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:2em;padding:1.4em}#service-form.hidden{display:none}#service-form h3{margin-top:0}#service-form input[type=text],#service-form select,#service-form textarea{margin-top:.5em;width:100%}#service-form button[type=submit]{background:var(--terracotta);border:none;border-radius:var(--r-pill);box-shadow:var(--shadow-sm);color:#fff7ef;cursor:pointer;font-family:var(--font-body);font-weight:600;margin-top:1em;padding:.75em;transition:background-color .2s var(--ease),transform .2s var(--ease);width:100%}#service-form button[type=submit]:hover{background:var(--terracotta-deep);transform:translateY(-1px)}.status{margin-top:1.1em}.progress{display:flex;gap:.4em;margin-top:1em}.step{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--ink-soft);flex:1 1;font-size:.82em;font-weight:600;padding:.5em .3em;text-align:center}.step.completed{background:var(--moss);border-color:var(--moss);color:#f7f4e8}.step.in-progress{background:var(--terracotta);border-color:var(--terracotta);color:#fff7ef}.on-behalf-of{color:#8a8f80;color:var(--text-soft,#8a8f80);font-style:italic;font-weight:400}.vc-chip{align-items:center;background:var(--surface);border-left:1px solid var(--chip-accent,var(--honey));border:1px solid var(--chip-accent,var(--honey));border-left-width:3px;border-radius:var(--r-pill);color:var(--moss-deep);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.78rem;font-weight:600;gap:.3em;line-height:1.2;max-width:200px;overflow:hidden;padding:.28em .7em .28em .5em;text-align:left;text-overflow:ellipsis;transition:background .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);white-space:nowrap}.vc-chip:hover{background:var(--surface-2);box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.vc-chip-glyph{color:var(--honey);color:var(--chip-accent,var(--honey));flex-shrink:0;font-size:.68rem;line-height:1}.vc-chip-title{overflow:hidden;text-overflow:ellipsis}.vc-chips-row{display:flex;flex-wrap:wrap;gap:.4em}.user-value-chips{border-top:1px solid var(--border-soft);margin-top:.8em;padding-top:.8em;text-align:left;width:100%}.user-value-chips-label{color:var(--ink-faint);display:block;font-family:var(--font-body);font-size:.66rem;font-weight:700;letter-spacing:.1em;margin-bottom:.5em;text-transform:uppercase}.cvg-manage-link{color:var(--moss);display:inline-block;font-size:.78rem;font-weight:600;margin-top:.7em;text-decoration:none}.cvg-manage-link:hover{color:var(--moss-deep);text-decoration:underline}.vc-chip-backdrop{align-items:center;animation:vc-chip-fade .18s var(--ease) both;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e281473;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes vc-chip-fade{0%{opacity:0}to{opacity:1}}.vc-chip-modal{animation:vc-chip-rise .22s var(--ease) both;background:repeating-linear-gradient(to bottom,#0000 0,#0000 2.4rem,#9bab8329 2.4rem,#9bab8329 calc(2.4rem + 1px)),var(--surface);border:1px solid var(--border);border-radius:var(--r-md);border-top:5px solid var(--vc-accent,var(--honey));box-shadow:0 12px 48px #00000038;max-height:82vh;overflow-y:auto;padding:1.6rem 1.5rem 1.4rem;position:relative;width:min(480px,90vw)}@keyframes vc-chip-rise{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.vc-chip-close{align-items:center;background:none;border:1px solid var(--border);border-radius:50%;color:var(--ink-faint);cursor:pointer;display:flex;font-size:.72rem;height:26px;justify-content:center;line-height:1;padding:0;position:absolute;right:.75rem;top:.65rem;transition:border-color .15s var(--ease),color .15s var(--ease);width:26px}.vc-chip-close:hover{border-color:var(--terracotta);color:var(--terracotta)}.vc-picker{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-md);margin-top:.65em;padding:.6em .75em}.vc-picker-label{color:var(--ink-faint);display:block;font-family:var(--font-body);font-size:.64rem;font-weight:700;letter-spacing:.12em;margin-bottom:.45em;text-transform:uppercase}.vc-picker-chips{display:flex;flex-wrap:wrap;gap:.35em}.vc-picker-chip{align-items:center;background:var(--surface);border:1px solid var(--border-soft);border-left:3px solid var(--chip-accent,var(--honey));border-radius:var(--r-pill);color:var(--ink-soft);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.75rem;font-weight:500;gap:.28em;line-height:1.2;max-width:200px;overflow:hidden;padding:.22em .6em .22em .42em;text-overflow:ellipsis;transition:background .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease);white-space:nowrap}.vc-picker-chip:hover{background:var(--surface-2);color:var(--moss-deep)}.vc-picker-chip--on{background:color-mix(in srgb,var(--honey) 14%,var(--surface));background:color-mix(in srgb,var(--chip-accent,var(--honey)) 14%,var(--surface));border-color:var(--chip-accent,var(--honey));box-shadow:inset 0 0 0 1px var(--honey);box-shadow:inset 0 0 0 1px var(--chip-accent,var(--honey));color:var(--moss-deep);font-weight:700}.vc-picker-chip--on:hover{background:color-mix(in srgb,var(--honey) 22%,var(--surface));background:color-mix(in srgb,var(--chip-accent,var(--honey)) 22%,var(--surface))}.vc-picker-check{color:var(--honey);color:var(--chip-accent,var(--honey));flex-shrink:0;font-size:.65rem;margin-left:.1em}.comment-value-chips{align-items:center;border-top:1px dashed color-mix(in srgb,var(--leaf) 45%,var(--border-soft));display:flex;flex-wrap:wrap;gap:.28em .35em;margin-top:.6em;padding-top:.5em;position:relative}.comment-value-chips--ack{border-top-color:color-mix(in srgb,var(--honey) 45%,var(--border-soft))}.comment-vc-label{align-self:center;background:color-mix(in srgb,var(--leaf) 8%,#0000);border:1px solid color-mix(in srgb,var(--leaf) 35%,#0000);border-radius:var(--r-pill);color:var(--moss);flex-shrink:0;font-family:var(--font-body);font-size:.58rem;font-weight:800;letter-spacing:.14em;line-height:1.4;margin-right:.1em;opacity:.65;padding:.12em .38em;text-transform:uppercase;white-space:nowrap}.comment-value-chips--ack .comment-vc-label{background:color-mix(in srgb,var(--honey) 10%,#0000);border-color:color-mix(in srgb,var(--honey) 40%,#0000);color:var(--honey-deep)}.comment-value-chips .vc-chip{animation:comment-chip-in .18s var(--ease) both;font-size:.73rem;padding:.22em .6em .22em .42em}.comment-value-chips .vc-chip:nth-child(2){animation-delay:0s}.comment-value-chips .vc-chip:nth-child(3){animation-delay:45ms}.comment-value-chips .vc-chip:nth-child(4){animation-delay:.09s}.comment-value-chips .vc-chip:nth-child(5){animation-delay:.135s}@keyframes comment-chip-in{0%{opacity:0;transform:translateY(4px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.status-progression{align-items:stretch;display:flex;font-family:var(--font-body);margin-top:1.1em}.status-progression .phase{align-items:center;-webkit-clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%);display:flex;flex:1 1;flex-direction:column;font-size:.82rem;font-weight:700;gap:.15em;justify-content:center;line-height:1.1;margin-right:-12px;min-width:0;padding:.6em .5em .6em 1.4em;position:relative;text-align:center}.status-progression .phase:first-child{-webkit-clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);padding-left:.7em}.status-progression .phase:last-child{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%);margin-right:0;padding-right:.7em}.status-progression .phase:only-child{-webkit-clip-path:none;clip-path:none}.phase-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-time{font-size:.68rem;font-weight:600;opacity:.85}.status-progression .phase-pending{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-soft);color:var(--ink-faint)}.status-progression .phase-done{background:var(--leaf);color:#f4f7ec}.status-progression .phase-active{background:var(--terracotta);box-shadow:0 2px 8px #c2643c4d;color:#fff7ef}.status-progression .phase-cancelled{background:var(--danger);color:#fff}@media (max-width:520px){.status-progression{flex-direction:column}.status-progression .phase,.status-progression .phase:first-child,.status-progression .phase:last-child{border-radius:var(--r-sm);-webkit-clip-path:none;clip-path:none;margin:0 0 3px;padding:.5em}}.seg-tabs{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-pill);display:flex;gap:.4em;margin-bottom:1.5rem;margin-bottom:var(--sp-5,1.5rem);padding:.35em}.seg-tab{align-items:center;background:#0000;border:none;border-radius:var(--r-pill);color:var(--ink-soft);cursor:pointer;display:inline-flex;flex:1 1;font-family:var(--font-body);font-size:.92rem;font-weight:700;gap:.45em;justify-content:center;padding:.65em 1em;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease);white-space:nowrap}.seg-tab.is-active,.seg-tab:hover{color:var(--moss-deep)}.seg-tab.is-active{background:var(--surface);box-shadow:var(--shadow-sm)}.seg-tab-icon{font-size:1.05em;line-height:1}@media (max-width:560px){.seg-tabs{flex-wrap:wrap}.seg-tab{flex:1 1 40%}}:root{--vc-mono:ui-monospace,"JetBrains Mono","SF Mono",Menlo,Consolas,monospace}.pf-loading{align-items:center;color:var(--ink-faint);display:flex;font-family:var(--font-display);font-size:1.4rem;font-style:italic;justify-content:center;min-height:40vh}.pf-page{animation:ts-rise .5s var(--ease) both;margin:0 auto;max-width:1100px;padding:0 clamp(1rem,3vw,2rem) 5rem}.pf-error-banner{background:#b1442f1a;border:1px solid var(--danger);border-radius:var(--r-sm);color:var(--danger);font-size:var(--fs-sm);margin-top:.8rem;padding:.55em 1em}.pf-hero{border-bottom:1px solid var(--border-soft);margin-bottom:2.5rem;padding:clamp(2rem,4vw,3.5rem) 0 clamp(1.5rem,3vw,2.5rem);position:relative}.pf-hero:before{background:radial-gradient(900px 280px at 60% -30%,#d9a23f1f,#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.pf-hero-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1.8rem}.pf-avatar-wrap{flex:none}.pf-avatar{border:3px solid var(--border-soft);border-radius:50%;box-shadow:var(--shadow-md);height:clamp(80px,12vw,110px);object-fit:cover;width:clamp(80px,12vw,110px)}.pf-avatar--initials{align-items:center;background:var(--moss);color:#f7f4e8;display:flex;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.4rem);font-weight:600;justify-content:center;letter-spacing:-.02em}.pf-hero-text{flex:1 1;min-width:200px}.pf-eyebrow{color:var(--terracotta-deep);font-family:var(--font-body);font-size:var(--fs-xs);font-weight:700;letter-spacing:.16em;margin:0 0 .4rem;text-transform:uppercase}.pf-name{color:var(--moss-deep);font-family:var(--font-display);font-size:clamp(1.9rem,4.5vw,3rem);font-weight:600;letter-spacing:-.02em;line-height:1;margin:0 0 .5rem}.pf-location{color:var(--ink-faint);font-size:var(--fs-sm);margin:0}.pf-hero-actions{flex:none;margin-left:auto}.pf-edit-btn{font-size:var(--fs-sm)}.pf-edit-section{animation:ts-rise .35s var(--ease) both;background:var(--surface);border:1px solid var(--border-soft);border-left:4px solid var(--honey);border-radius:var(--r-lg);margin-bottom:2.5rem;padding:1.5rem 1.8rem}.pf-edit-form h3{font-size:1.2rem;margin:0 0 1.2rem}.pf-edit-row{margin-bottom:.9rem}.pf-edit-row label{color:var(--ink-soft);display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:.3rem}.pf-edit-actions{margin-top:1.2rem}.pf-body{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:220px 1fr}@media (max-width:700px){.pf-body{grid-template-columns:1fr}}.pf-sidebar-section{margin-bottom:1.8rem}.pf-sidebar-section h4{color:var(--ink-faint);font-family:var(--font-body);font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;margin:0 0 .75rem;text-transform:uppercase}.pf-conn-list{display:flex;flex-direction:column;gap:.45rem;list-style:none;margin:0;padding:0}.pf-conn-pill{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--moss-deep);display:block;font-size:var(--fs-sm);overflow:hidden;padding:.5em .85em;text-decoration:none;text-overflow:ellipsis;transition:background-color .2s var(--ease),border-color .2s var(--ease);white-space:nowrap}.pf-conn-pill:hover{background:var(--surface-2);border-color:var(--sage);color:var(--moss)}.pf-sidebar-section--muted .pf-sidebar-hint{color:var(--ink-faint);font-size:var(--fs-xs);font-style:italic;line-height:1.55;margin:0}.pf-section-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.6rem}.pf-section-title{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 .3rem}.pf-section-sub{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.5;margin:0;max-width:50ch}.pf-add-card-btn{flex:none;font-size:var(--fs-sm);white-space:nowrap}.pf-empty-cards{background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-xl);padding:3rem 2.5rem;text-align:center}.pf-empty-heading{color:var(--moss-deep);font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin:0 0 .6rem}.pf-empty-body{color:var(--ink-soft);font-size:.97rem;line-height:1.6;margin:0 auto 1.5rem;max-width:40ch}.pf-cards-grid{grid-gap:1.4rem;align-items:start;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.vc-card{background:repeating-linear-gradient(to bottom,#0000 0,#0000 2.4rem,#9bab8329 2.4rem,#9bab8329 calc(2.4rem + 1px)),var(--surface);border:1px solid var(--border);border-radius:var(--r-md);border-top:5px solid var(--vc-accent,var(--honey));box-shadow:var(--shadow-sm);cursor:pointer;padding:1.45rem 1.4rem 1rem;position:relative;transform:rotate(0deg);transform:rotate(var(--vc-rot,0deg));transform-origin:center top;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.vc-card:hover{box-shadow:var(--shadow-md);transform:rotate(0deg) translateY(-3px)}.vc-card--expanded{grid-column:span 2;transform:rotate(0deg)}@media (max-width:640px){.vc-card--expanded{grid-column:span 1}}.vc-punch{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-pill);height:12px;left:50%;position:absolute;top:-3px;transform:translateX(-50%);width:44px}.vc-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:.85rem}.vc-mode-badge{align-items:center;color:var(--ink-faint);display:inline-flex;font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--vc-mono);font-size:.68rem;gap:.35em;letter-spacing:.06em;text-transform:uppercase}.vc-mode-glyph{font-size:.75rem}.vc-delete{border:1px solid var(--border);font-size:.85rem;transition:border-color .2s var(--ease),color .2s var(--ease)}.vc-delete:hover{border-color:var(--danger);color:var(--danger)}.vc-delete-confirm{gap:.4em;margin-left:auto}.vc-delete-prompt{color:#b94040;color:var(--danger,#b94040);font-size:.72rem}.vc-delete-no,.vc-delete-yes{font-size:.7rem;padding:.2em .55em;transition:background-color .15s,color .15s}.vc-title{color:var(--moss-deep);font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.2;margin:0 0 1rem}.vc-field{margin-bottom:.85rem}.vc-label{color:var(--honey-deep);color:var(--vc-accent,var(--honey-deep));display:block;font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--vc-mono);font-size:.64rem;letter-spacing:.14em;margin-bottom:.22rem;opacity:.85;text-transform:uppercase}.vc-field p{color:var(--ink);font-size:.96rem;line-height:1.45;margin:0}.vc-list{list-style:none;margin:0;padding:0}.vc-list li{color:var(--ink-soft);font-size:.93rem;line-height:1.4;padding:.2em 0 .2em 1em;position:relative}.vc-list li:before{color:var(--honey);color:var(--vc-accent,var(--honey));content:"·";left:.2em;position:absolute}.vc-field--drift .vc-label{color:var(--terracotta-deep);opacity:1}.vc-field--drift p{color:var(--ink-soft);font-style:italic}.vc-field--never .vc-label{color:var(--danger);opacity:1}.vc-field--never p{color:var(--moss-deep);font-weight:600}.vc-toggle{background:none;border:none;border-top:1px solid var(--border-soft);color:var(--ink-faint);cursor:pointer;display:block;font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--vc-mono);font-size:.68rem;letter-spacing:.08em;margin-top:.9rem;padding:.55em 0 0;text-align:center;transition:color .2s var(--ease);width:100%}.vc-toggle:hover{color:var(--ink-soft)}.vc-new-form{border-left:4px solid var(--terracotta);margin-bottom:1.8rem;padding:1.6rem 1.8rem}.vc-new-heading{font-size:1.3rem;margin:0 0 1.1rem}.vc-form-row label{font-size:var(--fs-sm)}.vc-form-two-col{grid-gap:1rem;gap:1rem;margin-bottom:.8rem}.vc-error{color:var(--danger);font-size:var(--fs-sm);margin:0 0 .7rem}.pf-frankl-legend{border-top:1px solid var(--border-soft);display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;padding-top:1.2rem}.pf-legend-item{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--ink-faint);font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-family:var(--vc-mono);font-size:.7rem;letter-spacing:.04em;padding:.35em .75em}.pf-legend--creative{border-color:#d9a23f66;color:var(--honey-deep)}.pf-legend--experiential{border-color:#6f8a4f66;color:var(--leaf)}.pf-legend--attitudinal{border-color:#c2643c66;color:var(--terracotta-deep)}.sphere-card{animation:ts-rise .5s var(--ease) both;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:1.5em;overflow:hidden;padding:1.5em 1.6em;position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.sphere-card:before{background:linear-gradient(180deg,var(--leaf),var(--moss));bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease);width:4px}.sphere-card:hover{border-color:var(--border);box-shadow:var(--shadow-md);transform:translateY(-4px)}.sphere-card:hover:before{transform:scaleY(1)}.sphere-card-header{align-items:flex-start;display:flex;gap:1em;justify-content:space-between}.sphere-card-left{display:flex;flex:2 1;flex-direction:column;gap:.35em}.sphere-card-right{align-items:flex-start;display:flex;flex:0 0 auto;justify-content:flex-end}.sphere-card-header h3{font-size:1.35rem;margin:0}.sphere-card-participants{color:var(--ink-soft);font-size:.92rem;margin-top:.15em}.sphere-card-participants span{display:inline;margin-right:.5em}.sphere-card-participants a{color:var(--terracotta-deep);font-weight:600}.sphere-card-participants a:hover{text-decoration:underline}.sphere-card-description-container{margin-top:1em}.sphere-card-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--ink-soft);display:-webkit-box;line-height:1.62;margin:0;overflow:hidden}.sphere-card-project-link{align-items:center;display:flex;flex-wrap:wrap;gap:.5em;margin-top:1.1em}.sphere-card-project-link .btn-status{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--moss-deep);cursor:pointer;display:inline-block;font-size:.82rem;font-weight:600;padding:.38em .8em;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}.sphere-card-project-link .btn-status:hover{background:var(--moss);border-color:var(--moss);color:#f7f4e8}.btn-orange:hover:not(:disabled){background:var(--terracotta-deep);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-orange:disabled{cursor:not-allowed;opacity:.7}.sphere-card-joined{align-items:center;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--moss-deep);display:inline-flex;font-family:var(--font-body);font-size:.85rem;font-weight:700;padding:.5em 1em}.btn-blue{color:#f7f4e8}.sphere-card-values{display:flex;flex-wrap:wrap;gap:.45em;margin-top:1.2em}.sphere-card-values span{background:#d9a23f29;border:1px solid #d9a23f5c;border-radius:var(--r-pill);color:var(--honey-deep);display:inline-block;font-size:.8rem;font-weight:600;padding:.28em .7em}#sphere-form{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:2em;padding:1.5em}#sphere-form.hidden{display:none}#sphere-form h3{margin-top:0}#sphere-form input[type=text],#sphere-form select,#sphere-form textarea{margin-top:.5em;width:100%}.ep-loading{align-items:center;display:flex;font-size:1.4rem;justify-content:center;min-height:40vh}.ep-loading,.ep-not-found{color:var(--ink-faint);font-family:var(--font-display);font-style:italic}.ep-not-found{padding:4rem 2rem;text-align:center}.ep-page{animation:ts-rise .45s var(--ease) both;margin:0 auto;max-width:1000px;padding:0 clamp(1rem,3vw,2rem) 5rem}.ep-hero{border-bottom:1px solid var(--border-soft);margin-bottom:3rem;overflow:hidden;padding:clamp(2.5rem,5vw,4rem) 0 clamp(2rem,3.5vw,3rem);position:relative}.ep-hero:before{content:"";inset:0;pointer-events:none;position:absolute}.ep-hero--alliance:before,.ep-page--alliance .ep-hero:before{background:radial-gradient(800px 300px at 70% -20%,#46583a1a,#0000 65%)}.ep-hero--project:before,.ep-page--project .ep-hero:before{background:radial-gradient(800px 300px at 30% -20%,#6f8a4f1a,#0000 65%)}.ep-hero--sphere:before,.ep-page--sphere .ep-hero:before{background:radial-gradient(800px 300px at 50% -20%,#d9a23f17,#0000 65%)}.ep-hero-inner{position:relative}.ep-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.9rem}.ep-eyebrow{color:var(--ink-faint);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.ep-location-chip,.ep-sphere-chip{background:#46583a0f;border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--moss);display:inline-block;font-family:var(--font-body);font-size:.72rem;font-weight:600;padding:.22em .7em;text-decoration:none;transition:background-color .15s,color .15s}.ep-sphere-chip:hover{background:var(--moss);color:#f7f4e8}.ep-location-chip{color:var(--ink-soft)}.ep-status-badge{border:1px solid;border-radius:var(--r-sm);display:inline-block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem;font-weight:700;letter-spacing:.1em;padding:.2em .65em;text-transform:uppercase}.status--initiated{background:#d9a23f14;border-color:var(--honey);color:var(--honey)}.status--in-progress{background:#6f8a4f14;border-color:var(--leaf);color:var(--leaf)}.status--completed{background:#46583a14;border-color:var(--moss);color:var(--moss)}.status--paused{background:#0000;border-color:var(--border);color:var(--ink-faint)}.ep-title{color:var(--moss-deep);font-family:var(--font-display);font-size:clamp(2rem,5vw,3.2rem);font-weight:600;letter-spacing:-.01em;line-height:1.1;margin:0 0 .6rem}.ep-lead-alliance{color:var(--ink-soft);font-size:.9rem;margin:0 0 .7rem}.ep-alliance-link{color:var(--moss);font-weight:600;text-decoration:none}.ep-alliance-link:hover{text-decoration:underline}.ep-description{color:var(--ink);font-size:1.05rem;line-height:1.7;margin:0 0 1.2rem;max-width:700px}.ep-tags{display:flex;flex-wrap:wrap;gap:.45em}.ep-tag{background:#9bab831f;border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--ink-faint);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.72rem;padding:.2em .65em}.ep-body{display:flex;flex-direction:column;gap:3rem}.ep-layout{align-items:flex-start;display:flex;gap:2rem;gap:var(--sp-6,2rem)}.ep-aside{align-self:flex-start;display:flex;flex:0 0 280px;flex-direction:column;gap:2rem;max-width:280px;position:-webkit-sticky;position:sticky;top:90px}.ep-aside-section h4{color:var(--ink-faint);font-family:var(--font-body);font-size:.68rem;font-weight:700;letter-spacing:.14em;margin:0 0 .75rem;text-transform:uppercase}.ep-main{flex:1 1 auto;min-width:0}.ep-manage-form-toggle{margin:1.2rem 0}@media (max-width:860px){.ep-layout{flex-direction:column}.ep-aside{flex:1 1 auto;max-width:none;position:static;width:100%}}.ep-section{position:relative}.ep-section-title{align-items:baseline;border-bottom:1px solid var(--border-soft);color:var(--moss-deep);display:flex;font-family:var(--font-display);font-size:1.1rem;font-weight:600;gap:.5em;letter-spacing:-.01em;margin:0 0 1.4rem;padding-bottom:.65rem}.ep-section-glyph{color:var(--leaf);font-size:.85em;font-style:normal}.ep-section-sub{font-family:var(--font-body);font-size:.78rem;font-weight:400;margin-left:.4em}.ep-empty,.ep-section-sub{color:var(--ink-faint);font-style:italic}.ep-empty{font-size:.9rem}.ep-role-tier{align-items:flex-start;display:flex;gap:1.2rem;margin-bottom:1.1rem}.ep-role-label{border:1px solid;border-radius:var(--r-sm);display:inline-block;flex-shrink:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.65rem;font-weight:700;letter-spacing:.14em;margin-top:.35rem;padding:.28em .7em;text-transform:uppercase;white-space:nowrap}.role--admin{background:#46583a1a;border-color:var(--moss);color:var(--moss-deep)}.role--steward{background:#6f8a4f14;border-color:var(--leaf);color:var(--leaf)}.role--member{background:#0000;border-color:var(--border-soft);color:var(--ink-soft)}.ep-roster{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.ep-roster--single .ep-member-pill{min-width:160px}.ep-member-pill{align-items:center;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);color:var(--ink);display:inline-flex;font-size:.875rem;font-weight:500;gap:.5em;padding:.35em .85em .35em .4em;text-decoration:none;transition:border-color .15s,background-color .15s,transform .15s}.ep-member-pill:hover{background:#6f8a4f12;border-color:var(--leaf);transform:translateY(-1px)}.ep-member-pill--admin{background:#46583a0a;border-color:#46583a59}.ep-member-pill--admin:hover{border-color:var(--moss)}.ep-member-pill--steward{border-color:#6f8a4f59}.ep-member-initial{align-items:center;background:var(--moss);border-radius:50%;color:#f7f4e8;display:inline-flex;flex-shrink:0;font-family:var(--font-display);font-size:.7rem;font-weight:700;height:26px;justify-content:center;width:26px}.ep-member-pill--steward .ep-member-initial{background:var(--leaf)}.ep-member-pill--admin .ep-member-initial{background:var(--moss-deep)}.ep-member-name{font-family:var(--font-body)}.ep-project-list{display:flex;flex-direction:column;gap:0;list-style:none;margin:0;padding:0}.ep-project-link{align-items:center;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-md);box-shadow:var(--shadow-sm);color:var(--ink);display:flex;font-size:.95rem;font-weight:500;justify-content:space-between;margin-bottom:.45rem;padding:.75rem .9rem;text-decoration:none;transition:border-color .15s,background-color .15s,transform .15s}.ep-project-link:hover{background:#6f8a4f0d;border-color:var(--leaf);transform:translateX(3px)}.ep-project-arrow{color:var(--leaf);font-size:1rem;transition:transform .15s}.ep-project-link:hover .ep-project-arrow{transform:translateX(3px)}.ep-cards-grid{grid-gap:1.4rem;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.evc-card{background:var(--paper);background-image:repeating-linear-gradient(180deg,#0000 0,#0000 2.4rem,#9bab8324 0,#9bab8324 calc(2.4rem + 1px));background-position:0 3.6rem;background-size:100% 2.4rem;border-radius:var(--r-lg);border-top:3px solid var(--evc-accent,var(--moss));box-shadow:var(--shadow-sm);cursor:pointer;padding:1.4rem 1.4rem 1.1rem;position:relative;transform:rotate(0deg);transform:rotate(var(--evc-rot,0deg));transform-origin:center top;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.evc-card--expanded,.evc-card:hover{box-shadow:var(--shadow-md);transform:rotate(0deg) translateY(-2px)}.evc-punch{background:var(--paper);border:1px solid var(--border-soft);border-radius:50%;box-shadow:inset 0 1px 2px #00000014;height:18px;left:1.6rem;position:absolute;top:-1px;width:18px}.evc-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:.7rem;padding-top:.1rem}.evc-mode{color:var(--moss);color:var(--evc-accent,var(--moss));font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.evc-toggle-hint{color:var(--ink-faint);font-size:.65rem}.evc-title{color:var(--moss-deep);font-family:var(--font-display);font-size:1.05rem;font-weight:600;line-height:1.25;margin:0 0 1rem}.evc-field{margin-bottom:.75rem}.evc-label{color:var(--ink-faint);display:block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.6rem;font-weight:700;letter-spacing:.14em;margin-bottom:.25rem;text-transform:uppercase}.evc-field p{color:var(--ink);font-size:.875rem;line-height:1.6;margin:0}.evc-field--drift .evc-label,.evc-field--drift p{color:var(--terracotta)}.evc-field--drift p{font-style:italic}.evc-field--never .evc-label{color:#b94040;color:var(--danger,#b94040)}.evc-field--never p{color:var(--ink);font-size:.85rem;font-weight:600}.evc-list{display:flex;flex-direction:column;gap:.3em;list-style:none;margin:0;padding:0}.evc-list li{color:var(--ink);font-size:.85rem;line-height:1.5;padding-left:1em;position:relative}.evc-list li:before{color:var(--leaf);color:var(--evc-accent,var(--leaf));content:"–";left:0;position:absolute}.vc-delete{align-items:center;background:none;border:1px solid var(--border-soft);border-radius:50%;color:var(--ink-faint);cursor:pointer;display:flex;flex-shrink:0;font-size:.7rem;height:22px;justify-content:center;line-height:1;padding:0;transition:border-color .15s var(--ease),color .15s var(--ease);width:22px}.vc-delete:hover{border-color:#b94040;border-color:var(--danger,#b94040);color:#b94040;color:var(--danger,#b94040)}.vc-delete-confirm{align-items:center;display:flex;gap:.35em}.vc-delete-prompt{color:var(--ink-faint);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem;white-space:nowrap}.vc-delete-no,.vc-delete-yes{border:1px solid;border-radius:var(--r-sm);cursor:pointer;font-family:var(--font-body);font-size:.68rem;font-weight:600;padding:.15em .5em;transition:background-color .12s,color .12s}.vc-delete-yes{background:#b94040;background:var(--danger,#b94040);border-color:#b94040;border-color:var(--danger,#b94040);color:#fff}.vc-delete-yes:hover{background:#8c2020;border-color:#8c2020}.vc-delete-no{background:#0000;border-color:var(--border-soft);color:var(--moss)}.vc-delete-no:hover{background:var(--moss);border-color:var(--moss);color:#f7f4e8}.vc-new-form{animation:ts-rise .35s var(--ease) both;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:1.5rem 1.6rem}.vc-new-heading{color:var(--moss-deep);font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:0 0 1rem}.vc-form-row{margin-bottom:.8rem}.vc-form-row label{color:var(--ink-soft);display:block;font-size:.82rem;font-weight:600;margin-bottom:.3rem}.vc-form-two-col{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:1fr 1fr}@media (max-width:560px){.vc-form-two-col{grid-template-columns:1fr}}.vc-form-actions{display:flex;gap:.7rem;margin-top:1.3rem}.vc-error{color:#b94040;color:var(--danger,#b94040);font-size:.82rem;margin:0 0 .8rem}@media (max-width:640px){.ep-role-tier{flex-direction:column;gap:.5rem}.ep-role-label{margin-top:0}.ep-cards-grid{grid-template-columns:1fr}.evc-card{transform:none!important}}.ep-banner{align-items:flex-end;border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:var(--shadow-md);display:flex;margin-bottom:2.4rem;min-height:clamp(220px,32vw,320px);overflow:hidden;position:relative;width:100%}.ep-banner-img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.ep-banner-fallback{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.ep-banner--sphere .ep-banner-fallback{background:linear-gradient(135deg,var(--honey) 0,var(--terracotta) 55%,var(--moss-deep) 130%)}.ep-banner--alliance .ep-banner-fallback{background:linear-gradient(135deg,var(--moss) 0,var(--moss-deep) 60%,#26311e 130%)}.ep-banner--project .ep-banner-fallback{background:linear-gradient(135deg,var(--leaf) 0,var(--moss) 65%,var(--moss-deep) 130%)}.ep-banner--opening .ep-banner-fallback{background:linear-gradient(135deg,var(--terracotta) 0,var(--honey) 60%,var(--moss-deep) 130%)}.ep-banner-glyph{color:#f7f4e829;font-family:var(--font-display);font-size:clamp(6rem,16vw,11rem);line-height:1;transform:translateY(-.35em);-webkit-user-select:none;user-select:none}.ep-banner-scrim{background:linear-gradient(180deg,#14180e00 35%,#14180e9e);inset:0;position:absolute}.ep-banner-content{color:#f7f4e8;padding:clamp(1.4rem,3vw,2.2rem) clamp(1.2rem,3.5vw,2.6rem);position:relative;width:100%;z-index:1}.ep-banner-content .ep-eyebrow{color:#f7f4e8c7}.ep-banner-content .ep-title{color:#fdfaf2;text-shadow:0 2px 12px #00000059}.ep-banner-content .ep-description{color:#f7f4e8eb;text-shadow:0 1px 6px #0000004d}.ep-banner-content .ep-location-chip,.ep-banner-content .ep-sphere-chip{background:#f7f4e824;border-color:#f7f4e84d;color:#fdfaf2}.ep-banner-content .ep-sphere-chip:hover{background:#fdfaf2;color:var(--moss-deep)}.ep-banner-content .xc-page-title{color:#fdfaf2;text-shadow:0 2px 12px #00000059}.ep-banner-content .xc-page-breadcrumb,.ep-banner-content .xc-page-meta{color:#f7f4e8d1}.ep-banner-content .xc-page-breadcrumb a,.ep-banner-content .xc-page-meta strong{color:#fdfaf2}.ep-banner-content .xc-page-meta a{color:#fdfaf2;font-weight:600;text-decoration:none}.ep-banner-content .xc-page-meta a:hover{text-decoration:underline}.ep-banner-upload{align-items:flex-end;display:flex;flex-direction:column;gap:.4em;position:absolute;right:clamp(1rem,2.5vw,1.6rem);top:clamp(1rem,2.5vw,1.6rem);z-index:2}.ep-banner-upload-btn{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14180e73;border:1px solid #f7f4e873;border-radius:var(--r-pill);color:#fdfaf2;cursor:pointer;font-family:var(--font-body);font-size:.8rem;font-weight:700;padding:.5em 1em;transition:background-color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}.ep-banner-upload-btn:hover:not(:disabled){background:#14180ea6;border-color:#fdfaf2;transform:translateY(-1px)}.ep-banner-upload-btn:disabled{cursor:not-allowed;opacity:.7}.ep-banner-upload-error{background:#14180e8c;border-radius:var(--r-sm);color:#ffd7d7;font-size:.72rem;font-weight:600;padding:.25em .7em}@media (max-width:640px){.ep-banner{border-radius:0 0 var(--r-md) var(--r-md)}}.management-sidebar{background-color:var(--surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1em;width:20%}.management-sidebar h2{margin-bottom:1em}.management-sidebar h3,.management-sidebar p{cursor:pointer}.management-sidebar .hidden{display:none}.management-sidebar .btn-orange{margin-top:1em}.policy-section{margin-top:2em}.policy-section h3{margin-bottom:.5em}.policy-section ul{list-style-type:none;padding:0}.policy-section ul li{margin-bottom:.5em}.management-section{background-color:var(--surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2em;padding:2em}.management-section h3{margin-bottom:1em}.management-section .form-group{align-items:center;display:flex;justify-content:space-between;margin-bottom:1em}.management-section .form-group label{margin-bottom:.5em;width:50%}.management-section .form-group input[type=text],.management-section .form-group select,.management-section .form-group textarea{border:1px solid #ccc;border-radius:4px;padding:.5em;width:50%}.management-section .form-group textarea{height:100px;resize:vertical}.management-section .btn-orange{background-color:var(--terracotta);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5em 1em;transition:background-color .3s}.management-section .btn-orange:hover{background-color:var(--terracotta-deep)}.management-section .btn-remove{background-color:red;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-left:1em;padding:.2em .5em;transition:background-color .3s}.management-section .btn-remove:hover{background-color:darkred}.management-section-sub{color:var(--ink-soft);font-size:.92rem;line-height:1.5;margin:-.4em 0 1.4em;max-width:60ch}.tab-content.hidden{display:none}.checkbox-group{align-items:center;display:flex;margin-bottom:.5em}.checkbox-group label{margin-left:.5em}.member-list,.project-list{list-style-type:none;padding:0}.member-list li,.project-list li{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5em}.alliance-card{animation:ts-rise .5s var(--ease) both;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:1.5em;overflow:hidden;padding:1.5em 1.6em;position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.alliance-card:before{background:linear-gradient(180deg,var(--honey),var(--terracotta));bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease);width:4px}.alliance-card:hover{border-color:var(--border);box-shadow:var(--shadow-md);transform:translateY(-4px)}.alliance-card:hover:before{transform:scaleY(1)}.alliance-card-header{align-items:flex-start;display:flex;gap:1em;justify-content:space-between}.alliance-card-left{display:flex;flex:2 1;flex-direction:column;gap:.35em}.alliance-card-right{align-items:flex-start;display:flex;flex:0 0 auto;justify-content:flex-end}.alliance-card-header h3{font-size:1.35rem;margin:0}.alliance-card-participants{color:var(--ink-soft);font-size:.92rem;margin-top:.15em}.alliance-card-participants span{display:inline;margin-right:.5em}.alliance-card-participants a{color:var(--terracotta-deep);font-weight:600}.alliance-card-participants a:hover{text-decoration:underline}.alliance-card-description-container{margin-top:1em}.alliance-card-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--ink-soft);display:-webkit-box;line-height:1.62;margin:0;overflow:hidden}.alliance-card-project-link{align-items:center;display:flex;flex-wrap:wrap;gap:.5em;margin-top:1.1em}.alliance-card-project-link .btn-status{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--moss-deep);cursor:pointer;display:inline-block;font-size:.82rem;font-weight:600;padding:.38em .8em;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}.alliance-card-project-link .btn-status:hover{background:var(--moss);border-color:var(--moss);color:#f7f4e8}.btn-blue,.btn-orange{border:1px solid #0000;border-radius:var(--r-pill);box-shadow:var(--shadow-sm);color:#fff7ef;cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:600;padding:.62em 1.15em;transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.btn-orange:hover{box-shadow:var(--shadow-md)}.btn-blue{background:var(--moss)}.btn-blue:hover{background:var(--moss-deep);box-shadow:var(--shadow-md);transform:translateY(-1px)}.uc-member-badge{border-radius:var(--r-sm);font-size:.7rem;padding:.3em .75em}.alliance-card-values{display:flex;flex-wrap:wrap;gap:.45em;margin-top:1.2em}.alliance-card-values span{background:#d9a23f29;border:1px solid #d9a23f5c;border-radius:var(--r-pill);color:var(--honey-deep);display:inline-block;font-size:.8rem;font-weight:600;padding:.28em .7em}#alliance-form{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:2em;padding:1.5em}#alliance-form.hidden{display:none}#alliance-form h3{margin-top:0}#alliance-form input[type=text],#alliance-form select,#alliance-form textarea{margin-top:.5em;width:100%}.user-profile-aside{align-items:center;display:flex;flex-direction:column;gap:.5em;padding:1.2em .5em;text-align:center}.user-avatar-lg{border:3px solid var(--surface);border-radius:var(--r-pill);box-shadow:var(--shadow-md);height:88px;margin-bottom:.4em;object-fit:cover;width:88px}.user-aside-name{color:var(--moss-deep);font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin:0}.user-aside-meta{color:var(--ink-faint);font-size:.83rem;margin:0}.user-aside-stats{border-top:1px solid var(--border-soft);display:flex;gap:1.5em;justify-content:center;margin-top:.75em;padding-top:.75em;width:100%}.user-stat{align-items:center;display:flex;flex-direction:column;gap:.1em}.user-stat-count{color:var(--moss-deep);font-family:var(--font-display);font-size:1.4rem;font-weight:700;line-height:1}.user-stat-label{color:var(--ink-faint);font-size:.73rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.user-profile{background-color:var(--surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2em;padding:1em}.profile-header{align-items:center;display:flex;flex-direction:column;text-align:center}.user-avatar{border-radius:50%;height:100px;margin-bottom:1em;width:100px}.user-info{display:flex;flex:1 1;flex-direction:column;justify-content:center}.user-info h2{margin:0}.user-bio{color:#666;font-size:14px;margin:.5em 0}.exchange-buttons{display:flex;flex-direction:column;gap:1em;margin-top:10px}.exchange-buttons button{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5em;width:100%}.btn-blue,.btn-purple{background-color:var(--moss)}.user-meaning-trail{margin-top:2em}.hidden{display:none}.sphere-list{list-style:none;padding:0}.sphere-list li{margin-bottom:10px}.sphere-list a{color:var(--moss);text-decoration:none}.sphere-list a:hover{text-decoration:underline}.service-exchanges{margin-top:1em}.exchange-summary{margin-top:.5em}.exchange-summary a{color:var(--moss);text-decoration:none}.exchange-summary a:hover{text-decoration:underline}.xc-page{margin:0 auto;max-width:940px;padding:2em 1.2em 4em}.xc-page-hero{background:linear-gradient(135deg,var(--paper),var(--surface-2) 80%);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:1.4em;overflow:hidden;padding:2em 2.4em 1.8em;position:relative}.xc-page-hero:before{background:linear-gradient(180deg,var(--leaf),var(--moss));bottom:0;content:"";left:0;position:absolute;top:0;width:5px}.xc-page-breadcrumb{align-items:center;color:var(--ink-faint);display:flex;font-size:.78rem;gap:.4em;margin-bottom:1em}.xc-page-breadcrumb a{color:var(--terracotta-deep);font-weight:600;text-decoration:none}.xc-page-breadcrumb a:hover{text-decoration:underline}.xc-page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75em;margin-bottom:.65em}.xc-page-title{color:var(--moss-deep);flex:1 1;font-family:var(--font-display);font-size:1.85rem;font-weight:700;line-height:1.2;margin:0;min-width:200px}.xc-page-meta{align-items:center;color:var(--ink-faint);display:flex;flex-wrap:wrap;font-size:.83rem;gap:.5em}.xc-page-meta strong{color:var(--ink-soft);font-weight:600}.xc-cancelled-banner{background:#bf5a3c1a;border:1px solid #bf5a3c4d;border-radius:var(--r-md);color:var(--terracotta-deep);font-size:.82rem;font-weight:600;margin-top:.8em;padding:.5em .85em}.xc-page-timeline{margin-bottom:1.6em}.xc-page-body{grid-gap:1.4em;align-items:start;display:grid;gap:1.4em;grid-template-columns:1fr 288px}@media (max-width:680px){.xc-page-body{grid-template-columns:1fr}.xc-page-sidebar{order:-1}.xc-page-title{font-size:1.45rem}.xc-page-hero{padding:1.4em 1.4em 1.2em}}.xc-page-main{display:flex;flex-direction:column;gap:1.2em}.xc-page-section{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1.4em 1.6em}.xc-page-section-heading{color:var(--ink-faint);font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.09em;margin:0 0 1em;text-transform:uppercase}.xc-about-text{color:var(--ink-soft);font-size:.95rem;line-height:1.62;margin:0 0 .75em}.xc-page-sidebar{display:flex;flex-direction:column;gap:1em;position:-webkit-sticky;position:sticky;top:1.4em}.xc-sidebar-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1.1em 1.3em}.xc-sidebar-heading{color:var(--ink-faint);font-size:.72rem;font-weight:700;letter-spacing:.09em;margin:0 0 .8em;text-transform:uppercase}.xc-action-btn{border:none;border-radius:var(--r-pill);cursor:pointer;display:block;font-family:var(--font-body);font-size:.87rem;font-weight:600;margin-bottom:.5em;padding:.68em 1em;text-align:center;transition:background .18s var(--ease),transform .15s var(--ease),color .15s;width:100%}.xc-action-btn:last-child{margin-bottom:0}.xc-action-advance{background:var(--moss);color:#f7f4e8}.xc-action-advance:hover{background:var(--moss-deep);transform:translateY(-1px)}.xc-action-secondary{background:#0000;border:1px solid var(--border);color:var(--ink-soft)}.xc-action-secondary:hover{border-color:var(--terracotta);color:var(--terracotta-deep)}.xc-participants-list{display:flex;flex-direction:column;gap:.65em}.xc-participant{align-items:center;display:flex;font-size:.88rem;gap:.45em}.xc-participant a{color:var(--terracotta-deep);font-weight:600;text-decoration:none}.xc-participant a:hover{text-decoration:underline}.xc-participant-you{color:var(--moss-deep);font-weight:700}.xc-participant-role{border:1px solid var(--border-soft);border-radius:4px;color:var(--ink-faint);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem;font-weight:700;letter-spacing:.06em;margin-left:auto;padding:.18em .5em;text-transform:uppercase}.xc-detail-rows{display:flex;flex-direction:column;gap:.65em}.xc-detail-row{font-size:.84rem}.xc-detail-label{color:var(--ink-faint);display:block;font-size:.72rem;font-weight:600;letter-spacing:.05em;margin-bottom:.12em;text-transform:uppercase}.xc-detail-value{color:var(--ink-soft);font-weight:500}.xc-detail-value a{color:var(--terracotta-deep);font-weight:600;text-decoration:none}.xc-detail-value a:hover{text-decoration:underline}.xc-detail-mono{color:var(--ink-faint);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem;word-break:break-all}.xc-status-value{color:var(--moss-deep);font-weight:700}.xc-comment-area{border-top:1px solid var(--border-soft);margin-top:.9em;padding-top:.9em}.xc-comment-label{color:var(--ink-faint);display:block;font-size:.75rem;font-weight:600;letter-spacing:.06em;margin-bottom:.5em;text-transform:uppercase}.xc-comment-input{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-md);box-sizing:border-box;color:var(--ink);display:block;font-family:var(--font-body);font-size:.88rem;margin-bottom:.55em;min-height:76px;padding:.65em .85em;resize:vertical;transition:border-color .15s;width:100%}.xc-comment-input:focus{border-color:var(--leaf);outline:none}.xc-comment-input::placeholder{color:var(--ink-faint)}.xc-comment-submit{border:none;border-radius:var(--r-pill);cursor:pointer;font-family:var(--font-body);font-size:.83rem;font-weight:600;padding:.48em 1.15em;transition:background .15s,transform .15s}.xc-comment-submit:disabled{cursor:not-allowed;opacity:.5}.xc-submit-receipt{background:var(--leaf);color:#f7f4e8}.xc-submit-receipt:not(:disabled):hover{background:var(--moss);transform:translateY(-1px)}.xc-submit-acknowledgement{background:var(--honey);color:var(--moss-deep)}.xc-submit-acknowledgement:not(:disabled):hover{background:var(--honey-deep);transform:translateY(-1px)}.xc-followups{border-top:1px dashed var(--border-soft);margin-top:1.1em;padding-top:.85em}.xc-followups-label{color:var(--ink-faint);display:block;font-size:.68rem;font-weight:700;letter-spacing:.06em;margin-bottom:.55em;text-transform:uppercase}.xc-followup{color:var(--ink-soft);font-size:.84rem;line-height:1.5;padding:.3em 0}.xc-followup strong{color:var(--ink);font-weight:700}.xc-followup-date{color:var(--ink-faint);display:block;font-size:.7rem;margin-top:.1em}.xc-followup-add{margin-top:.5em}.xc-followup-input{background:#0000;border:1px solid var(--border-soft);border-radius:var(--r-md);color:var(--ink);font-family:var(--font-body);font-size:.83rem;min-height:48px;padding:.5em .7em;resize:vertical;width:100%}.xc-followup-input:focus{border-color:var(--ink-faint);outline:none}.xc-followup-input::placeholder{color:var(--ink-faint)}.xc-followup-submit{background:#0000;border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);font-size:.78rem;font-weight:600;margin-top:.4em;padding:.36em .9em;transition:background .15s,color .15s,border-color .15s}.xc-followup-submit:not(:disabled):hover{background:var(--moss);border-color:var(--moss);color:#f7f4e8}.xc-followup-submit:disabled{cursor:not-allowed;opacity:.5}.xc-error-state,.xc-loading{font-size:1rem;font-style:italic;padding:5em 2em;text-align:center}.xc-loading{color:var(--ink-faint)}.xc-error-state{color:var(--terracotta-deep)}.settings-sidebar{background-color:var(--surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1em;width:20%}.settings-sidebar h2{margin-bottom:1em}.settings-main{flex:1 1 auto}.settings-list{background-color:var(--surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:2em auto;padding:2em;width:90%}.settings-list .form-group,.settings-list h3{margin-bottom:1em}.settings-list .form-group label{display:block;margin-bottom:.5em}.settings-list .form-group input[type=email],.settings-list .form-group input[type=password],.settings-list .form-group input[type=text],.settings-list .form-group select{border:1px solid #ccc;border-radius:4px;padding:.5em;width:100%}.settings-list .form-group input[type=checkbox]{margin-right:.5em}.btn-orange{background-color:var(--terracotta);border-radius:4px;color:#fff;padding:.5em 1em;transition:background-color .3s}.btn-orange:hover{background-color:var(--terracotta-deep)}.project{animation:ts-rise .5s var(--ease) both;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:1.5em;overflow:hidden;padding:1.5em 1.6em;position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.project:before{background:linear-gradient(180deg,var(--leaf),var(--moss));bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease);width:4px}.project:hover{border-color:var(--border);box-shadow:var(--shadow-md);transform:translateY(-4px)}.project:hover:before{transform:scaleY(1)}.project-header{align-items:flex-start;display:flex;gap:1em;justify-content:space-between}.project-left{display:flex;flex:2 1;flex-direction:column;gap:.3em}.project-right{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;gap:.2em;justify-content:flex-end}.project-header h3{font-size:1.35rem;margin:0}.project-owner,.project-participants{color:var(--ink-soft);font-size:.92rem}.project-owner span,.project-participants span{display:inline;margin-right:.5em}.project-owner a,.project-participants a{color:var(--terracotta-deep);font-weight:600}.project-owner a:hover,.project-participants a:hover{text-decoration:underline}.project-description-container{margin-top:1em}.project-description{color:var(--ink-soft);line-height:1.62;margin:0}.project-exchanges{display:flex;flex-direction:column;gap:.6em;margin-top:1.1em}.project .exchange{background:var(--surface-2);border:1px solid var(--border-soft);border-left:3px solid var(--sage);border-radius:var(--r-md);box-shadow:none;margin:0;padding:.85em 1em;transition:background-color .25s var(--ease),border-color .25s var(--ease)}.project .exchange:hover{background:var(--paper-deep);border-left-color:var(--leaf)}.project .exchange-header{align-items:center;display:flex;gap:.6em;justify-content:space-between}.project .exchange h4{font-size:1rem;margin:0}.project .exchange p{color:var(--ink-soft);font-size:.92rem;margin:.4em 0 0}.exchange-status-btn{background:var(--moss);border:none;border-radius:var(--r-pill);color:#f7f4e8;cursor:pointer;font-size:.78rem;font-weight:600;padding:.3em .75em;transition:background-color .25s var(--ease);white-space:nowrap}.exchange-status-btn:hover{background:var(--moss-deep)}.exchange-participants{color:var(--ink-soft);font-size:.88rem;font-style:italic;margin-top:.5em}.exchange-participants a{color:var(--terracotta-deep);font-style:normal;font-weight:600}.exchange-participants a:hover{text-decoration:underline}.project-status-buttons{display:flex;flex-wrap:wrap;gap:.5em;margin-top:1.1em}.project-status-buttons [class^=btn-status]{border:1px solid #0000;border-radius:var(--r-pill);cursor:pointer;display:inline-block;font-family:var(--font-body);font-size:.82rem;font-weight:600;padding:.5em 1em;transition:filter .2s var(--ease),transform .2s var(--ease)}.project-status-buttons [class^=btn-status]:hover{filter:brightness(.96);transform:translateY(-1px)}.project-status-buttons .btn-status-initiated{background:var(--surface-2);border-color:var(--border);color:var(--ink-soft)}.project-status-buttons .btn-status-in-progress{background:var(--honey);color:#3a2c0c}.project-status-buttons .btn-status-completed{background:var(--leaf);color:#f7f4e8}.project-status-buttons .btn-status-receipted{background:var(--terracotta);color:#fff7ef}.project-values{display:flex;flex-wrap:wrap;gap:.45em;margin-top:1.2em}.project-values span{background:#d9a23f29;border:1px solid #d9a23f5c;border-radius:var(--r-pill);color:var(--honey-deep);display:inline-block;font-size:.8rem;font-weight:600;padding:.28em .7em}.hr,hr{background:var(--border-soft);border:none;height:1px;margin:1.2em 0}.project-acknowledgements{display:flex;flex-direction:column;gap:.8em;margin-top:1.1em}.acknowledgement{align-items:center;background:#d9a23f1f;border:1px solid #d9a23f4d;border-radius:var(--r-md);display:flex;gap:1em;justify-content:space-between;padding:1em 1.1em}.acknowledgement p{color:var(--ink);margin:0}.acknowledgement p a{color:var(--terracotta-deep);font-weight:600}.time{color:var(--ink-faint);font-size:.78em}.btn-orange{background:var(--terracotta);border:none;border-radius:var(--r-pill);box-shadow:var(--shadow-sm);color:#fff7ef;cursor:pointer;font-family:var(--font-body);font-weight:600;padding:.62em 1.15em;transition:background-color .2s var(--ease),transform .2s var(--ease)}.btn-orange:hover{background:var(--terracotta-deep);transform:translateY(-1px)}#project-form{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:2em;padding:1.5em}#project-form.hidden{display:none}#project-form h3{margin-top:0}#project-form input[type=text],#project-form select,#project-form textarea{margin-top:.5em;width:100%}.project-banner{align-items:center;background:linear-gradient(135deg,var(--surface-2),var(--paper-deep));border-radius:var(--r-lg);box-shadow:var(--shadow-sm);display:flex;height:220px;justify-content:center;margin-bottom:2em;overflow:hidden;position:relative;width:100%}.banner-image{height:100%;object-fit:cover;width:100%}.set-image-btn{background:#fdfaf2d9;border:1px solid var(--border);border-radius:var(--r-pill);color:var(--moss-deep);cursor:pointer;font-weight:600;opacity:0;padding:.55em 1.1em;position:absolute;transition:opacity .3s var(--ease),background-color .2s var(--ease)}.project-banner:hover .set-image-btn{opacity:1}.set-image-btn:hover{background:#fff}.form-buttons{display:flex;gap:1em;justify-content:center;margin-top:1.2em}.join-btn,.like-btn{background:#0000;border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--ink-soft);cursor:pointer;font-size:.82rem;font-weight:600;padding:.3em .8em;transition:border-color .15s,background-color .15s,color .15s}.join-btn{border-color:var(--leaf);color:var(--leaf)}.join-btn:hover{background:var(--leaf);color:#f7f4e8}.uc-member-badge{background:#6f8a4f14;border:1px solid var(--leaf);border-radius:4px;color:var(--leaf);display:inline-block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem;font-weight:700;letter-spacing:.1em;padding:.25em .7em;text-transform:uppercase}.entity-card-breadcrumb{color:#6b7a5e;color:var(--moss,#6b7a5e);font-size:.72rem;font-weight:600;letter-spacing:.02em;margin-bottom:.15em;text-transform:uppercase}.entity-card-breadcrumb a{color:#6b7a5e;color:var(--moss,#6b7a5e);text-decoration:none}.entity-card-breadcrumb a:hover{text-decoration:underline}.entity-card-breadcrumb .breadcrumb-pipe{color:#cbd2c0;color:var(--border-soft,#cbd2c0);font-weight:400;margin:0 .3em}.login-form{align-items:stretch;animation:ts-rise .5s var(--ease) both;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1.1rem;margin:3rem auto;max-width:420px;padding:2.5rem 2.25rem 2.75rem}.login-form h1,.login-form h2{font-size:1.9rem;margin:0 0 .6rem;text-align:center}.login-form input[type=email],.login-form input[type=password]{font-size:1rem;padding:.8rem .9rem;width:100%}.login-form button{background:var(--moss);border:none;border-radius:var(--r-pill);box-shadow:var(--shadow-sm);color:#f7f4e8;cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:700;margin-top:.4rem;padding:.85rem;transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);width:100%}.login-form button:hover{background:var(--moss-deep);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-form button:active{transform:translateY(0)}.auth-error{background:#b9404014;border:1px solid #b9404059;border-radius:var(--r-md);color:#b94040;color:var(--danger,#b94040);font-size:.88rem;font-weight:600;margin:0 0 .3rem;padding:.6em .8em;text-align:center}.auth-alt{color:var(--ink-soft);font-size:.9rem;margin:.2rem 0 0;text-align:center}.auth-alt a{color:var(--moss);font-weight:700;text-decoration:none}.auth-alt a:hover{color:var(--moss-deep);text-decoration:underline}.login-form input[type=text]{font-size:1rem;padding:.8rem .9rem;width:100%}
/*# sourceMappingURL=main.3df07466.css.map*/