:root{--ink:#143642;--ink-2:#224d5b;--paper:#f5f2e9;--card:#fffdf8;--line:#d9ded8;--mint:#bfe3d0;--mint-strong:#2d8a6e;--violet:#7456a6;--coral:#ef795f;--sun:#f3c969;--muted:#65767a;--danger:#b9413c;--shadow:0 20px 55px rgba(20,54,66,.12);--radius:26px;--topbar-height:calc(76px + env(safe-area-inset-top));--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper);scroll-behavior:smooth}body{min-height:100vh;margin:0;overflow-x:hidden;color:var(--ink);background:radial-gradient(circle at 15% -10%,#d5ede0 0,transparent 32%),radial-gradient(circle at 100% 15%,#e3daf2 0,transparent 28%),var(--paper);font-family:var(--font);line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.ambient span{position:absolute;border:1px solid rgba(45,138,110,.13);border-radius:999px}.ambient span:nth-child(1){width:420px;height:420px;left:-270px;top:26%}.ambient span:nth-child(2){width:560px;height:560px;right:-380px;top:40%}.ambient span:nth-child(3){width:190px;height:190px;right:12%;bottom:-130px}
.topbar{height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-left)) 10px;padding-right:max(18px,env(safe-area-inset-right));position:sticky;top:0;z-index:30;background:rgba(245,242,233,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,54,66,.08)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand>span:last-child{display:grid;line-height:1.08}.brand strong{font-size:1.05rem;letter-spacing:-.02em}.brand small{font-size:.69rem;color:var(--muted);margin-top:4px}.brand-knot,.knot-large{position:relative;display:block;width:42px;height:42px}.brand-knot i,.knot-large i{position:absolute;width:25px;height:33px;border:5px solid var(--ink);border-radius:999px;transform:rotate(43deg);left:3px;top:4px}.brand-knot i+ i,.knot-large i+i{left:14px;transform:rotate(-43deg);border-color:var(--mint-strong)}.top-actions{display:flex;align-items:center;gap:8px}.account-button,.icon-button{border:1px solid rgba(20,54,66,.14);background:rgba(255,253,248,.75);border-radius:999px;text-decoration:none;font-weight:750;font-size:.82rem;padding:9px 13px}.icon-button{width:42px;height:42px;padding:0;font-size:1rem}
.state-view{min-height:calc(100vh - 76px);display:grid;place-content:center;text-align:center;padding:30px 18px}.state-view>p{max-width:520px;color:var(--muted);margin:5px auto}.state-view h1{font-size:clamp(2rem,6vw,3.7rem);letter-spacing:-.055em;line-height:.98;margin:12px 0}.state-card{max-width:520px;padding:clamp(28px,7vw,58px);background:rgba(255,253,248,.9);border:1px solid rgba(20,54,66,.1);border-radius:34px;box-shadow:var(--shadow)}.state-card>p:not(.eyebrow){color:var(--muted);margin-bottom:24px}.state-symbol,.dialog-symbol{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 20px;border-radius:24px;background:var(--mint);font-size:2.2rem}.loader{width:46px;height:46px;border:4px solid rgba(45,138,110,.18);border-top-color:var(--mint-strong);border-radius:50%;margin:0 auto 18px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}
.app-layout{min-height:calc(100vh - var(--topbar-height))}.sidebar{padding:18px;display:flex;flex-direction:column;gap:8px;background:rgba(255,253,248,.72);border-bottom:1px solid rgba(20,54,66,.09)}.profile{display:none;align-items:center;gap:10px;padding:10px;margin-bottom:12px}.profile>span:last-child{display:grid}.profile small{color:var(--muted);font-size:.7rem}.avatar{width:42px;height:42px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:15px;background:var(--ink);color:#fff;font-weight:850;font-size:.77rem}.nav-button,.group-nav button{width:100%;border:0;background:transparent;border-radius:14px;text-align:left;padding:11px 12px;font-weight:750}.nav-button{display:none}.nav-button.is-active,.group-nav button.is-active{background:var(--mint);color:var(--ink)}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:850;color:var(--muted);padding:6px 10px}.sidebar-heading button{width:30px;height:30px;border:0;border-radius:10px;background:var(--ink);color:white}.group-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.group-nav button{white-space:nowrap;background:rgba(255,255,255,.55);width:auto}.sidebar-actions{display:none;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.workspace{padding:20px max(16px,env(safe-area-inset-left)) calc(90px + env(safe-area-inset-bottom));max-width:1450px;margin:auto}.page-view{animation:rise .25s ease-out}@keyframes rise{from{opacity:0;transform:translateY(8px)}}
.eyebrow{margin:0 0 8px;text-transform:uppercase;font-weight:900;letter-spacing:.15em;color:var(--mint-strong);font-size:.69rem}.muted,.form-help{color:var(--muted)}.hero-card{min-height:430px;display:grid;align-items:center;overflow:hidden;position:relative;padding:clamp(28px,7vw,74px);border-radius:34px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}.hero-card .eyebrow{color:#91d4b3}.hero-card h1{font-size:clamp(2.8rem,9vw,6.7rem);letter-spacing:-.075em;line-height:.85;margin:12px 0 24px;max-width:760px}.hero-card h1 em{font-family:Georgia,serif;font-weight:400;color:var(--sun)}.hero-card p:not(.eyebrow){max-width:590px;color:#d9e5e4;font-size:1.05rem}.hero-card .ghost-button{color:#fff;border-color:rgba(255,255,255,.35)}.hero-visual{display:none;position:relative;min-height:330px}.knot-large{position:absolute;width:180px;height:180px;left:50%;top:50%;transform:translate(-50%,-50%)}.knot-large i{width:100px;height:142px;border-width:18px;left:4px;top:18px;border-color:#fff}.knot-large i+i{left:72px;border-color:#91d4b3}.orbit{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%;inset:20px}.orbit-two{inset:-38px}.float-card{position:absolute;display:grid;background:#fff;color:var(--ink);padding:14px 18px;border-radius:18px;box-shadow:0 18px 42px rgba(0,0,0,.2);transform:rotate(-5deg)}.float-card b{font-size:1.15rem}.float-card small{color:var(--muted)}.card-a{left:-10px;top:32px}.card-b{right:-18px;bottom:40px;transform:rotate(5deg)}
.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.primary-button,.secondary-button,.ghost-button,.danger-button,.text-button{min-height:44px;border-radius:14px;padding:10px 16px;font-weight:850;border:1px solid transparent}.primary-button{background:var(--mint-strong);color:white;box-shadow:0 10px 24px rgba(45,138,110,.2)}.secondary-button{background:var(--mint);color:var(--ink)}.ghost-button{background:transparent;border-color:rgba(20,54,66,.2)}.danger-button{background:#fff0ed;border-color:#f1c0ba;color:var(--danger)}.text-button{border:0;background:transparent;color:var(--mint-strong)}.wide{width:100%}.section-heading,.group-header,.poll-header,.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading{margin:46px 2px 20px;align-items:end}.section-heading h2,.panel-heading h2{margin:0;letter-spacing:-.035em}.summary-pill,.pill,.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.65);border:1px solid rgba(20,54,66,.1);font-size:.73rem;font-weight:800}.group-grid{display:grid;gap:14px}.group-card{position:relative;text-align:left;border:1px solid rgba(20,54,66,.1);background:rgba(255,253,248,.9);padding:24px;border-radius:24px;box-shadow:0 10px 30px rgba(20,54,66,.07);transition:.2s transform,.2s box-shadow}.group-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.group-card .card-index{font-family:Georgia,serif;color:var(--violet);font-size:1.8rem}.group-card h3{font-size:1.25rem;margin:30px 0 4px}.group-card p{color:var(--muted);margin:0}.group-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.group-card .arrow{position:absolute;right:20px;top:20px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white}.principles{display:grid;gap:12px;margin-top:18px}.principles article{padding:22px;border-top:1px solid var(--line)}.principles span{font-family:Georgia,serif;color:var(--violet);font-size:1.4rem}.principles h3{margin:15px 0 6px}.principles p{color:var(--muted);margin:0}
.back-link{border:0;background:transparent;padding:8px 0;color:var(--muted);font-weight:800;margin-bottom:18px}.group-header,.poll-header{align-items:flex-end;margin-bottom:24px}.group-header h1,.poll-header h1{font-size:clamp(2.35rem,7vw,5rem);letter-spacing:-.065em;line-height:.9;margin:8px 0 12px}.group-header .button-row,.poll-header .button-row{margin:0}.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.stat-card{background:var(--card);border:1px solid rgba(20,54,66,.1);border-radius:20px;padding:18px}.stat-card b{display:block;font-size:1.6rem;line-height:1}.stat-card small{color:var(--muted)}.content-grid,.poll-layout{display:grid;gap:16px}.panel,.progress-card{background:rgba(255,253,248,.92);border:1px solid rgba(20,54,66,.1);border-radius:var(--radius);box-shadow:0 12px 35px rgba(20,54,66,.06);padding:clamp(18px,4vw,28px)}.panel-heading{align-items:center;margin-bottom:18px}.panel-heading h2{font-size:1.35rem}.side-stack{display:grid;align-content:start;gap:16px}.segmented{display:flex;padding:3px;background:#e8e8df;border-radius:12px}.segmented button{border:0;background:transparent;padding:7px 10px;border-radius:9px;font-size:.75rem;font-weight:800}.segmented button.is-active{background:#fff;box-shadow:0 4px 10px rgba(20,54,66,.09)}.poll-list{display:grid;gap:10px}.poll-card{width:100%;display:grid;grid-template-columns:1fr auto;gap:12px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px}.poll-card:hover{border-color:var(--mint-strong)}.poll-card h3{margin:0 0 4px;font-size:1rem}.poll-card p{margin:0;color:var(--muted);font-size:.82rem}.poll-card .mini-progress{grid-column:1/-1;height:7px;background:#e8ebe6;border-radius:10px;overflow:hidden}.poll-card .mini-progress span{display:block;height:100%;background:var(--mint-strong);border-radius:inherit}.poll-status{align-self:start}.member-list,.audit-list,.compact-list,.comment-list{display:grid;gap:9px}.member-row,.audit-row,.compact-row,.comment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.member-row:last-child,.audit-row:last-child,.compact-row:last-child,.comment-row:last-child{border:0}.member-main{display:flex;align-items:center;gap:10px;min-width:0}.member-main>span:last-child{display:grid;min-width:0}.member-main strong{overflow:hidden;text-overflow:ellipsis}.member-main small,.audit-row small,.compact-row small,.comment-row small{color:var(--muted)}.role-pill{padding:5px 8px;border-radius:999px;background:#ece6f5;font-size:.69rem;font-weight:850}.audit-row{align-items:flex-start;justify-content:flex-start}.audit-dot{width:9px;height:9px;border-radius:50%;margin-top:7px;background:var(--mint-strong);flex:0 0 auto}.audit-row p{margin:0}.audit-row small{display:block}.empty{border:1px dashed #c7cec9;border-radius:18px;padding:24px;text-align:center;color:var(--muted)}
.badge-row{display:flex;gap:7px;flex-wrap:wrap}.badge.is-open{background:#d9f0e4;color:#17694f}.badge.is-closed{background:#e8e8e1;color:#4d5b5d}.badge.is-anonymous{background:#ece6f5;color:#5c3c8d}.poll-description{max-width:750px;font-size:1.05rem;white-space:pre-line}.progress-card{margin-bottom:16px}.progress-copy{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.progress-copy span{display:grid}.progress-copy b{font-size:1.15rem}.progress-copy small{color:var(--muted);font-size:.7rem}.progress-track{height:11px;background:#e5e8e2;border-radius:999px;overflow:hidden;margin-top:17px}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--mint-strong),#74b994);border-radius:inherit;transition:width .35s}.pending-members{margin-top:12px;color:var(--muted);font-size:.78rem}.poll-main{display:grid;gap:16px;align-content:start}.vote-options{display:grid;gap:10px}.choice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:17px;padding:14px;background:#fff;transition:.15s}.choice:has(input:checked){border-color:var(--mint-strong);background:#eff8f2;box-shadow:inset 0 0 0 1px var(--mint-strong)}.choice input{width:20px;height:20px;accent-color:var(--mint-strong)}.choice b{flex:1}.privacy-note,.notice{border-radius:15px;padding:12px 14px;background:#f0eee6;color:var(--muted);font-size:.8rem;margin:14px 0}.ranking-list{display:grid;gap:8px;counter-reset:rank}.rank-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:16px;padding:10px;background:white}.rank-row:before{counter-increment:rank;content:counter(rank);width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--ink);color:white;font-weight:850}.rank-actions{display:flex;gap:4px}.rank-actions button{width:34px;height:34px;border:0;border-radius:9px;background:#e9eee9}.result-list{display:grid;gap:14px}.result-row{display:grid;grid-template-columns:1fr auto;gap:7px}.result-row header{display:flex;justify-content:space-between;gap:8px}.result-row .result-bar{grid-column:1/-1;height:10px;background:#e4e8e2;border-radius:999px;overflow:hidden}.result-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),#a48bc8)}.result-row.is-winner .result-bar span{background:linear-gradient(90deg,var(--mint-strong),#71b895)}.tie-card,.quorum-card{margin-top:18px;padding:16px;border-radius:17px;background:#f4eede;border:1px solid #ead9a7}.tie-card.is-random{background:#eee9f6;border-color:#d6c8ea}.ballot-list{display:grid;gap:8px;margin-top:18px}.ballot{padding:10px 12px;border-radius:13px;background:#f1f2ed;font-size:.78rem}.decision-card{padding:24px;border-radius:var(--radius);background:linear-gradient(135deg,var(--ink),var(--ink-2));color:white}.decision-card .eyebrow{color:#91d4b3}.decision-card h2{margin:0 0 8px}.decision-card p{white-space:pre-line}.decision-card small{color:#cad9d8}.suggestion-state{font-size:.68rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.compact-form{display:flex;gap:8px}.compact-form input{min-width:0;flex:1}.comment-row{align-items:flex-start;justify-content:flex-start}.comment-row .avatar{width:36px;height:36px;border-radius:12px}.comment-body{min-width:0}.comment-body p{margin:2px 0;white-space:pre-wrap;overflow-wrap:anywhere}.comment-actions{margin-left:auto}.mini-button{border:0;background:#edf0ec;border-radius:9px;padding:6px 8px;font-size:.7rem;font-weight:850}.mini-button.is-danger{color:var(--danger);background:#fff0ed}
label{display:grid;gap:7px;font-weight:800;font-size:.83rem}input,select,textarea{width:100%;border:1px solid #cbd1cc;background:#fff;border-radius:13px;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--mint-strong);box-shadow:0 0 0 3px rgba(45,138,110,.14)}textarea{resize:vertical}select[multiple]{padding:6px;min-height:78px}form{display:grid;gap:14px}.form-grid{display:grid;gap:14px}.span-two{grid-column:1/-1}.toggle-grid,.notification-types{border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:8px}.toggle-grid legend,.notification-types legend{font-weight:850;padding:0 6px}.toggle-grid label,.channel-grid label{display:flex;align-items:start;gap:10px;background:#f4f5ef;border-radius:14px;padding:12px}.toggle-grid input,.channel-grid input,.notification-types input{width:18px;height:18px;accent-color:var(--mint-strong);flex:0 0 auto}.toggle-grid span,.channel-grid span{display:grid}.toggle-grid small,.channel-grid small{font-weight:500;color:var(--muted)}.field-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.option-inputs{display:grid;gap:8px}.option-input-row{display:grid;grid-template-columns:1fr auto;gap:7px}.option-input-row button{width:42px;border:0;border-radius:12px;background:#fff0ed;color:var(--danger)}.channel-grid{display:grid;gap:10px}.notification-types label{display:flex;align-items:center;gap:8px;font-weight:650}.device-push{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f1f2ed;padding:12px;border-radius:15px}.device-push p{margin:0;font-size:.78rem}
dialog{width:min(92vw,520px);max-height:min(90vh,900px);border:0;border-radius:28px;padding:0;background:var(--card);box-shadow:0 28px 90px rgba(13,37,46,.32);color:var(--ink)}dialog.wide-dialog{width:min(94vw,760px)}dialog::backdrop{background:rgba(11,33,41,.55);backdrop-filter:blur(5px)}dialog>form,.dialog-body{padding:clamp(22px,5vw,38px);overflow:auto;max-height:90vh}.dialog-body{display:grid;gap:14px}.dialog-symbol{width:58px;height:58px;margin:0;border-radius:18px;font-size:1.6rem}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.invite-code{border:1px dashed var(--mint-strong);background:#eff8f2;border-radius:20px;padding:18px;font-size:clamp(1.6rem,8vw,2.5rem);font-weight:950;letter-spacing:.16em}.danger-zone{border-top:1px solid var(--line);margin-top:10px;padding-top:18px;display:grid;gap:10px}.danger-zone h3{margin:0}.toast{position:fixed;z-index:100;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(90vw,460px);padding:13px 17px;background:var(--ink);color:#fff;border-radius:15px;box-shadow:var(--shadow);text-align:center;font-weight:750}.toast.is-error{background:#8c2f31}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
progress{-webkit-appearance:none;appearance:none;border:0;border-radius:999px;overflow:hidden;background:#e5e8e2}progress::-webkit-progress-bar{background:#e5e8e2;border-radius:999px}progress::-webkit-progress-value{background:linear-gradient(90deg,var(--mint-strong),#74b994);border-radius:999px}progress::-moz-progress-bar{background:linear-gradient(90deg,var(--mint-strong),#74b994);border-radius:999px}.progress-track{display:block;width:100%;height:11px}.poll-card .mini-progress{grid-column:1/-1;width:100%;height:7px}.result-row .result-bar{grid-column:1/-1;width:100%;height:10px}.result-row:not(.is-winner) progress::-webkit-progress-value{background:linear-gradient(90deg,var(--violet),#a48bc8)}.result-row:not(.is-winner) progress::-moz-progress-bar{background:linear-gradient(90deg,var(--violet),#a48bc8)}
@media(min-width:680px){.group-grid{grid-template-columns:repeat(2,1fr)}.principles{grid-template-columns:repeat(3,1fr)}.stat-row{grid-template-columns:repeat(4,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.channel-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.app-layout{display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:var(--topbar-height);height:calc(100vh - var(--topbar-height));border-right:1px solid rgba(20,54,66,.09);border-bottom:0;padding:22px 16px}.profile{display:flex}.nav-button{display:block}.group-nav{display:grid;overflow:visible}.group-nav button{width:100%}.sidebar-actions{display:grid}.workspace{padding:32px 34px 80px;width:100%}.hero-card{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}.hero-visual{display:block}.group-grid{grid-template-columns:repeat(3,1fr)}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr)}.poll-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr)}.poll-header{align-items:end}}
@media(max-width:720px){:root{--topbar-height:calc(66px + env(safe-area-inset-top))}.account-button{max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace{padding-top:14px}.hero-card{min-height:410px}.hero-card h1{font-size:3.15rem}.group-header,.poll-header{display:block}.group-header .button-row,.poll-header .button-row{margin-top:18px}.group-header .button-row>*,.poll-header .button-row>*{flex:1}.section-heading{margin-top:30px}.progress-copy b{font-size:.98rem}.segmented{width:100%}.segmented button{flex:1}.panel-heading:has(.segmented){display:grid}.compact-form{display:grid}.device-push{align-items:stretch;display:grid}.dialog-actions>*{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
