:root{--page: #f4efe6;--panel: #fbf8f2;--raise: #f0e9dd;--raise-hi: #e8dfcf;--line: #ddd3c4;--line-hi: #cabda8;--text: #2b1a1d;--dim: #7a6a62;--faint: #9c8d82;--team: #6e1f2a;--on-team: #fbf8f2;--team-hi: #59171f;--client: #35566b;--on-client: #ffffff;--amber: #96601c;--red: #a32e22;--green: #3f6b45;--font-display: "Fraunces", ui-serif, Georgia, serif;--font-body: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs: 11px;--text-sm: 12.5px;--text-base: 14px;--text-md: 15px;--text-lg: 18px;--text-xl: 22px;--leading-tight: 1.25;--leading-body: 1.6;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--s10: 40px;--r-sm: 4px;--r-md: 7px;--r-lg: 10px;--r-pill: 999px;--shadow-pill: 0 8px 30px rgba(64, 42, 30, .18);--shadow-panel: 0 16px 48px rgba(64, 42, 30, .16);--ease: cubic-bezier(.23, 1, .32, 1);--fast: .15s;--slow: .22s;--z-base: 1;--z-float: 10;--z-panel: 20;--z-modal: 30;--z-toast: 40;color-scheme:light}@media(prefers-reduced-motion:reduce){:root{--fast: 0ms;--slow: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--text);font:var(--text-base) / var(--leading-body) var(--font-body);-webkit-font-smoothing:antialiased}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--team);outline-offset:2px;border-radius:var(--r-sm)}.mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--raise);color:var(--text);font:500 var(--text-sm) / 1 var(--font-body);cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.btn:hover:not(:disabled){background:var(--raise-hi);border-color:var(--line-hi)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--team);border-color:var(--team);color:var(--on-team);font-weight:600}.btn--primary:hover:not(:disabled){background:var(--team-hi);border-color:var(--team-hi)}.btn--quiet{background:transparent;border-color:transparent;color:var(--dim)}.btn--quiet:hover:not(:disabled){background:var(--raise);color:var(--text)}.btn--danger:hover:not(:disabled){border-color:var(--red);color:var(--red)}.icon{width:15px;height:15px;stroke-width:1.75;flex:none}.field{width:100%;padding:var(--s2) var(--s3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--page);color:var(--text);font:var(--text-base) / var(--leading-body) var(--font-body)}.field::placeholder{color:var(--faint)}.field:-webkit-autofill,.field:-webkit-autofill:hover,.field:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--page) inset;caret-color:var(--text);transition:background-color 100000s ease-in-out 0s}textarea.field{min-height:76px;resize:vertical}.chip{display:inline-flex;align-items:center;gap:var(--s1);padding:3px var(--s2);border-radius:var(--r-sm);border:1px solid var(--line);color:var(--dim);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.chip--team{color:var(--team);border-color:color-mix(in srgb,var(--team) 45%,transparent)}.chip--client{color:var(--client);border-color:color-mix(in srgb,var(--client) 45%,transparent)}.chip--open{color:var(--team);border-color:color-mix(in srgb,var(--team) 45%,transparent)}.chip--in_progress{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent)}.chip--resolved,.chip--approved{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent)}.chip--declined{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,transparent)}.notice{padding:var(--s3);border-radius:var(--r-md);font-size:var(--text-sm);border:1px solid var(--line);color:var(--dim)}.notice--warn{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 35%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}.notice--error{color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,transparent);background:color-mix(in srgb,var(--red) 10%,transparent)}.empty{color:var(--dim);font-size:var(--text-sm);padding:var(--s4) var(--s3)}.spinner{width:14px;height:14px;border:2px solid var(--line-hi);border-top-color:var(--team);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-hi) transparent}.scroll::-webkit-scrollbar{width:9px}.scroll::-webkit-scrollbar-thumb{background:var(--line-hi);border-radius:var(--r-pill);border:2px solid transparent;background-clip:content-box}.scroll::-webkit-scrollbar-track{background:transparent}.boot,.centered{height:100%;display:grid;place-items:center;gap:var(--s3);align-content:center;color:var(--dim);padding:var(--s6)}.card{width:min(400px,100%);display:grid;gap:var(--s4);padding:var(--s6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel)}.card__title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;line-height:var(--leading-tight)}.card__sub{margin:calc(var(--s3) * -1) 0 0;color:var(--dim);font-size:var(--text-sm)}.stack{display:grid;gap:var(--s2)}.stack .mono{color:var(--dim)}.btn--wide{justify-content:center;width:100%;padding:var(--s3)}.btn--google{gap:var(--s3)}.icon--brand{width:17px;height:17px;stroke-width:0}.auth__or{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s3);color:var(--faint);font-size:var(--text-sm)}.auth__or:before,.auth__or:after{content:"";height:1px;background:var(--line)}.stack--form{gap:var(--s4)}.btn--icon{padding:var(--s2)}.page{max-width:900px;margin:0 auto;padding:var(--s10) var(--s6) var(--s10);display:grid;gap:var(--s6);align-content:start}.page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}.page__title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.015em;line-height:var(--leading-tight)}.page__sub{margin:var(--s1) 0 0;color:var(--dim);font-size:var(--text-sm)}.newproject{display:grid;grid-template-columns:2fr 1fr auto;gap:var(--s2)}@media(max-width:680px){.newproject{grid-template-columns:1fr}}.projects{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.swipe{position:relative;margin-bottom:var(--s2);max-height:480px;overflow:hidden;transition:max-height var(--slow) var(--ease),opacity var(--slow) var(--ease),margin-bottom var(--slow) var(--ease)}.swipe:last-child{margin-bottom:0}.swipe[data-leaving]{max-height:0;opacity:0;margin-bottom:0;pointer-events:none}.swipe__track{position:relative;overflow:hidden;border-radius:var(--r-md)}.swipe__row{display:flex;width:100%;touch-action:pan-y;transform:translateZ(0);will-change:transform}.swipe__surface{flex:0 0 100%;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md)}.swipe__surface:hover,.swipe[data-open] .swipe__surface{border-color:var(--line-hi)}.swipe__delete{flex:0 0 96px;display:flex;background:var(--red)}.swipe__delete-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:#fff;font:inherit;font-size:var(--text-sm);cursor:pointer;transition:transform var(--fast) var(--ease)}.swipe__delete-btn:active{transform:scale(.94)}.swipe__delete-btn .icon{width:18px;height:18px}.project{display:grid;grid-template-columns:1fr auto;gap:var(--s3);align-items:center;padding:var(--s4)}.project__main{display:grid;gap:2px;min-width:0}.project__name{color:var(--text);text-decoration:none;font-weight:600;font-size:var(--text-md)}.project__name:hover{color:var(--team)}.project__url,.project__count{color:var(--dim)}.project__actions{display:flex;align-items:center;gap:var(--s2)}@media(max-width:680px){.project{grid-template-columns:1fr}.project__actions{flex-wrap:wrap}}.swipe__footer{margin-top:-1px}.sharebox{padding:var(--s4);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r-md) var(--r-md);background:var(--panel);display:grid;gap:var(--s3)}.sharebox__head{display:flex;align-items:center;justify-content:space-between;color:var(--dim)}.sharebox__mint{display:grid;grid-template-columns:1fr auto;gap:var(--s2)}.minted{display:grid;gap:var(--s2);padding:var(--s3);border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--team) 40%,transparent);background:color-mix(in srgb,var(--team) 8%,transparent)}.minted__warn{margin:0;color:var(--team)}.minted__row{display:flex;align-items:center;gap:var(--s2)}.minted__row code{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-all;color:var(--text)}.sharelist{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}.sharelist li{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0;font-size:var(--text-sm);border-bottom:1px solid var(--line)}.review{height:100%;display:grid;grid-template-columns:1fr 380px;grid-template-rows:1fr auto;grid-template-areas:"stage aside" "status status"}.review__stage{grid-area:stage;position:relative;min-width:0;background:var(--page)}.frame-scaler{width:100%;height:100%;overflow:hidden}.proxy-frame{width:100%;height:100%;border:0;display:block;background:#fff;transform-origin:0 0}.review__aside{grid-area:aside;border-left:1px solid var(--line);background:var(--panel);display:grid;grid-template-rows:auto auto auto 1fr;min-height:0}.statusbar{grid-area:status;display:flex;align-items:center;gap:var(--s4);padding:var(--s2) var(--s4);border-top:1px solid var(--line);background:var(--panel);color:var(--dim)}.statusbar__live{display:inline-flex;align-items:center;gap:var(--s2);color:var(--team)}.statusbar .dot{width:7px;height:7px;border-radius:50%;background:var(--team)}.statusbar__url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.review{grid-template-columns:1fr;grid-template-rows:1fr 46vh auto;grid-template-areas:"stage" "aside" "status"}.review__aside{border-left:0;border-top:1px solid var(--line)}}.pill{position:absolute;left:50%;bottom:var(--s6);transform:translate(-50%);z-index:var(--z-float);display:flex;align-items:center;gap:var(--s1);padding:5px;border-radius:var(--r-pill);background:#fbf8f2f7;border:1px solid var(--line-hi);box-shadow:0 1px 2px #2b1a1d1f,0 10px 32px #2b1a1d38;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pill__btn{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border:0;border-radius:var(--r-pill);background:transparent;color:var(--text);font:500 var(--text-sm) / 1 var(--font-body);cursor:pointer;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.pill__btn:hover{background:var(--raise)}.pill__btn.is-armed{background:var(--team);color:var(--on-team);font-weight:600}.pill__sep{width:1px;height:20px;background:var(--line)}.pill__count{display:inline-flex;align-items:center;gap:var(--s2);padding:0 var(--s3) 0 var(--s2);color:var(--dim)}.stage-banner{position:absolute;top:var(--s3);left:var(--s3);right:var(--s3);z-index:var(--z-float);display:flex;align-items:flex-start;gap:var(--s2);background:#fbf8f2f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aside__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line)}.aside__title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.aside__back{padding-left:var(--s1)}.aside__lead{display:grid;gap:2px}.aside__who{color:var(--faint);text-transform:none;letter-spacing:0}.aside__error{margin:var(--s3) var(--s4) 0}.aside__body{min-height:0}.sidebar__inner{display:grid;gap:var(--s3);align-content:start;padding:var(--s3) var(--s3) var(--s8)}.sidebar__controls{display:grid;gap:var(--s2)}.field--sm{padding:var(--s2) var(--s3);font-size:var(--text-sm)}.field--select{cursor:pointer}.segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--page)}.segmented__item{padding:var(--s2) 2px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--dim);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.segmented__item:hover{color:var(--text)}.segmented__item.is-on{background:var(--raise-hi);color:var(--text)}.sidebar__meta{color:var(--faint);padding:0 var(--s1)}.rows{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}.row{width:100%;display:grid;grid-template-columns:22px 1fr;gap:var(--s3);padding:var(--s3);text-align:left;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.row:hover{background:var(--raise);border-color:var(--line)}.row.is-active{background:var(--raise);border-color:var(--line-hi)}.row__pin{width:22px;height:22px;border-radius:50% 50% 50% 3px;display:grid;place-items:center;font:700 var(--text-xs) / 1 var(--font-mono)}.row__pin--team{background:var(--team);color:var(--on-team)}.row__pin--client{background:var(--client);color:var(--on-client)}.row.is-done .row__pin{opacity:.45}.row.is-done .row__body{color:var(--dim)}.row__main{display:grid;gap:var(--s2);min-width:0}.row__body{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--text-sm)}.row__meta{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.row__who{font-weight:600;font-size:var(--text-sm);max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__replies,.row__offpage{color:var(--faint)}.row__flag{display:inline-flex;align-items:center;gap:var(--s1);padding:4px var(--s2);border-radius:var(--r-sm);font-size:var(--text-sm);color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent)}.row__flag .icon{width:13px;height:13px}.composer{display:grid;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);background:var(--raise)}.composer__label{color:var(--team)}.composer__actions,.reply__actions{display:flex;gap:var(--s2)}.thread{display:grid;gap:var(--s3);align-content:start;padding:var(--s3) var(--s3) var(--s8)}.thread__top{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.thread__orphan{display:flex;align-items:flex-start;gap:var(--s2)}.msgs{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}.msg{padding:var(--s3);border-radius:var(--r-md);border-left:3px solid var(--line);background:var(--raise)}.msg--team{border-left-color:var(--team);background:color-mix(in srgb,var(--team) 9%,var(--raise))}.msg--client{border-left-color:var(--client);background:color-mix(in srgb,var(--client) 9%,var(--raise))}.msg__head{display:flex;align-items:baseline;gap:var(--s2);margin-bottom:var(--s1)}.msg__who{font-weight:600;font-size:var(--text-sm)}.msg__time,.msg__edited{color:var(--faint);font-size:var(--text-sm)}.msg__edited{font-style:italic}.msg__body{margin:0;font-size:var(--text-sm);white-space:pre-wrap}.reply,.decline{display:grid;gap:var(--s2)}.thread__actions{display:grid;gap:var(--s2);padding-top:var(--s2);border-top:1px solid var(--line)}.verdict{display:flex;gap:var(--s2)}.verdict-done{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);font-size:var(--text-sm);color:var(--dim)}.activity{border-top:1px solid var(--line);padding-top:var(--s2)}.activity summary{cursor:pointer;color:var(--dim)}.activity summary:hover{color:var(--text)}.activity ol{list-style:none;margin:var(--s2) 0 0;padding:0;display:grid;gap:var(--s1)}.activity li{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--text-sm);color:var(--dim)}
