@keyframes portal-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes portal-skeleton-pulse{0%,to{opacity:.45}50%{opacity:1}}.portal-waiting{display:grid;grid-gap:1rem;gap:1rem;padding:1.1rem 1.2rem 1.2rem;border:1px solid var(--warn-line);background:var(--warn-tint);animation:portal-fade-up .45s cubic-bezier(.22,1,.36,1) both}.portal-waiting--clear{border-color:var(--ok-line);background:var(--ok-tint)}.portal-waiting__header h2{margin-top:.3rem;font-size:clamp(1.3rem,2.2vw,1.8rem)}.portal-waiting__items{display:grid;grid-gap:.5rem;gap:.5rem}.portal-waiting__item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:.9rem;gap:.9rem;align-items:center;padding:.7rem .85rem;border:1px solid var(--line);background:var(--sheet-55);color:inherit;text-decoration:none;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.portal-waiting__item:hover{background:#fff;transform:translateY(-1px);box-shadow:0 8px 22px var(--ink-08)}.portal-waiting__item>span:first-child{display:grid;grid-gap:.15rem;gap:.15rem}.portal-waiting__item em{color:var(--muted);font-size:var(--fs-sm);font-style:normal}.portal-waiting__action{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:.25em}.portal-waiting__clear{display:grid;grid-gap:.25rem;gap:.25rem}.portal-waiting__clear span{color:var(--muted);font-size:var(--fs-md)}.portal-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.4rem;gap:.4rem;margin:.9rem 0 1.1rem;padding:0;list-style:none}.portal-timeline__stage{position:relative;display:grid;grid-gap:.2rem;gap:.2rem;padding-top:.75rem;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}.portal-timeline__stage:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--ink-16);transition:background-color .2s ease}.portal-timeline__stage--done:before{background:var(--ok-line)}.portal-timeline__stage--current:before{background:var(--earth,var(--earth))}.portal-timeline__stage--current span{font-weight:600}.portal-timeline__stage--upcoming{color:var(--muted)}.portal-timeline__stage em{color:var(--muted);font-size:var(--fs-xs);font-style:normal;letter-spacing:0;text-transform:none}.portal-deliverable-review.is-landed{animation:portal-target-flash 1.8s ease-out 1}@keyframes portal-target-flash{0%{background:var(--earth-tint)}to{background:transparent}}.portal-photo-browser__skeleton{display:grid;grid-gap:.75rem;gap:.75rem}.portal-photo-browser__skeleton-note{color:var(--muted);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase}.portal-photo-skeleton{display:block;width:100%;aspect-ratio:4/5;border:1px solid var(--ink-12);background:var(--ink-08);animation:portal-skeleton-pulse 1.4s ease-in-out infinite both}.portal-photo-thumb{animation:portal-fade-up .45s cubic-bezier(.22,1,.36,1) backwards}.portal-photo-thumb img{transition:border-color .18s ease,filter .22s ease,transform .22s ease}.portal-photo-thumb:focus-visible img,.portal-photo-thumb:hover img{filter:brightness(1.04);transform:translateY(-2px)}.portal-photo-modal__backdrop{animation:portal-fade-in .22s ease both}.portal-photo-modal__panel{animation:portal-fade-up .3s cubic-bezier(.22,1,.36,1) both}.portal-finals{display:grid;grid-gap:1rem;gap:1rem;margin-top:2.4rem}.portal-finals__header{display:grid;grid-template-columns:var(--portal-columns);grid-gap:1rem;gap:1rem;align-items:start}.portal-finals>.portal-studio-details,.portal-finals__header>div,.portal-finals__header>p,.portal-finals__items{padding:var(--panel-pad);border:1px solid var(--ok-line);background:var(--ok-tint)}.portal-finals__header h2{margin-top:.3rem;font-size:clamp(1.4rem,2.4vw,2rem)}.portal-finals__header>p{margin:0;color:var(--muted);font-size:var(--fs-md)}.portal-finals__items{display:grid;grid-gap:.5rem;gap:.5rem}.portal-finals__item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.9rem;gap:.9rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--line);background:var(--sheet-62)}.portal-finals__item>span{display:grid;grid-gap:.2rem;gap:.2rem}.portal-finals__item em{color:var(--muted);font-size:var(--fs-sm);font-style:normal}@media (max-width:980px){.portal-waiting__item{grid-template-columns:minmax(0,1fr) auto}.portal-waiting__action{display:none}.portal-timeline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:.9rem}.portal-finals__header,.portal-finals__item{grid-template-columns:1fr}.portal-finals__item{justify-items:start}.portal-project-row,.portal-project-summary{padding:1rem}}@media (prefers-reduced-motion:reduce){.portal-deliverable-review.is-landed,.portal-photo-modal__backdrop,.portal-photo-modal__panel,.portal-photo-thumb,.portal-waiting{animation:none}.portal-photo-skeleton{animation:none;opacity:.6}.portal-photo-thumb img,.portal-waiting__item{transition:none}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.site-footer{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 1.5rem;padding:2rem clamp(1.25rem,4vw,2rem);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--muted)}.site-footer p{margin:0}.site-footer__links{display:flex;flex-wrap:wrap;gap:1.2rem}@media (max-width:640px){.site-footer{flex-direction:column;align-items:flex-start}}.home-carousel__stage:focus-visible{outline:2px solid var(--ink-62);outline-offset:-2px}.button--approve{background:var(--ok);border-color:var(--ok);color:#f8f8f4}.button--approve:hover{background:var(--ok-strong);border-color:var(--ok-strong)}.button--quiet{background:transparent;border-color:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:.25em}.button--quiet:hover{color:var(--text);background:transparent}@media (max-width:980px){.portal-main{order:-1}.portal-sidebar{gap:.75rem}.portal-sidebar h1{font-size:var(--fs-xl)}.portal-sidebar__identity{grid-template-columns:40px minmax(0,1fr);padding-top:.6rem}.portal-sidebar__avatar{width:40px}.portal-note,.portal-sidebar__meta{display:none}.portal-sidebar-menu{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem}.portal-feedback__actions{display:grid;grid-gap:.6rem;gap:.6rem}.portal-feedback__actions .button{width:100%;min-height:48px}}.portal-review-bar{display:none}.portal-review-bar__label{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.portal-review-bar__label span{font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.portal-review-bar__label strong{font-size:var(--fs-md);line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-review-bar__actions{display:flex;gap:.5rem;flex-shrink:0}.portal-review-bar__actions form{margin:0}.portal-review-bar__actions .button{min-height:44px;padding:0 .9rem;white-space:nowrap}@media (max-width:980px){.portal-review{padding-bottom:9rem}.portal-review-bar{position:fixed;left:0;right:0;bottom:var(--tabbar-h,0);z-index:70;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1rem;background:var(--cream-96);border-top:1px solid var(--line);box-shadow:0 -8px 24px var(--ink-08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}@media (prefers-reduced-transparency:reduce){.portal-review-bar{background:var(--cream-96);backdrop-filter:none;-webkit-backdrop-filter:none}}.portal-deliverable-review>summary.portal-deliverable-review__header{cursor:pointer;list-style:none;grid-template-columns:minmax(0,1fr) auto 18px}.portal-deliverable-review>summary::-webkit-details-marker{display:none}.portal-deliverable-review>summary:after{content:"";align-self:center;justify-self:end;width:8px;height:8px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);transition:transform .2s ease}.portal-deliverable-review[open]>summary:after{transform:rotate(-135deg)}.portal-deliverable-review>summary:focus-visible{outline:2px solid var(--ink-48);outline-offset:-2px}.site-header__context{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase}.portal-app{--tabbar-h:calc(86px + env(safe-area-inset-bottom));position:relative;min-height:100vh;padding-bottom:var(--tabbar-h)}body:has(.portal-app.has-view-as){padding-top:2.25rem}body:has(.portal-app.has-view-as) .site-header{top:2.25rem}.view-as{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:center;gap:.6rem;height:2.25rem;padding:0 .9rem;border-bottom:1px solid var(--line);background:var(--bg);font-family:var(--font-sans);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.view-as--active{border-bottom-color:var(--text);background:var(--text);color:var(--bg)}.view-as__label strong{color:inherit;font-weight:600}.view-as__select{padding:.15rem .4rem;border:1px solid var(--line);color:var(--text)}.view-as__exit,.view-as__select{background:transparent;font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit}.view-as__exit{padding:.15rem .5rem;border:1px solid;color:inherit;cursor:pointer}.view-as__exit:hover{background:var(--bg);color:var(--text)}.portal-tab-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(.7rem + env(safe-area-inset-bottom));z-index:50;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.1rem;gap:.1rem;width:min(430px,calc(100% - 1.6rem));padding:.4rem;border-radius:26px}.portal-tab{display:grid;grid-gap:.2rem;gap:.2rem;place-items:center;padding:.45rem .2rem;border-radius:19px;color:var(--muted);text-decoration:none;font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;text-align:center;transition:color .2s ease,background-color .2s ease,transform .2s ease}.portal-tab:hover{color:var(--text)}.portal-tab.is-active{color:var(--text);background:var(--ink-16);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(24,22,19,.05)}.portal-tab:active{transform:scale(.95)}.portal-tab__icon{position:relative;display:grid;place-items:center;height:24px}.portal-tab__icon svg{display:block}.portal-tab__badge{position:absolute;top:-5px;left:calc(50% + 7px);min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--alert-bright);color:#fff;font-size:var(--fs-2xs);font-weight:600;letter-spacing:0;line-height:1;box-shadow:0 0 0 2px var(--cream-86)}.portal-tab__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-3xs);letter-spacing:.05em}@media (max-width:420px){.portal-tab{padding-inline:.1rem}.portal-tab__label{font-size:var(--fs-3xs);letter-spacing:.01em}}.portal-tab.is-active .portal-tab__icon svg{stroke-width:1.9}.portal-tab-bar .portal-tab__pill{position:absolute;left:0;top:0;z-index:3;display:none;border-radius:19px;background:var(--ink-16);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(24,22,19,.05);pointer-events:none;transition:transform .22s cubic-bezier(.22,1,.36,1),width .22s cubic-bezier(.22,1,.36,1),height .2s ease}@media (max-width:640px){.portal-tab-bar{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.portal-tab-bar .portal-tab__pill{display:block}.portal-tab-bar[data-pill=on] .portal-tab.is-active{background:transparent;box-shadow:none}.portal-tab{gap:0}.portal-tab__label{height:0;opacity:0;transform:translateY(-3px);transition:height .2s ease,opacity .15s ease,transform .2s ease}.portal-tab-bar[data-scrubbing=true] .portal-tab{gap:.2rem}.portal-tab-bar[data-scrubbing=true] .portal-tab__label{height:.72rem;opacity:1;transform:none}.portal-tab-bar[data-scrubbing=true]{transform:translateX(-50%) scale(1.015)}.portal-tab-bar{transition:transform .2s cubic-bezier(.22,1,.36,1)}.portal-tab-bar[data-scrubbing=true] .portal-tab:active{transform:none}}@media (prefers-reduced-motion:reduce){.portal-tab-bar,.portal-tab-bar .portal-tab__pill,.portal-tab__label{transition:none}.portal-tab-bar[data-scrubbing=true]{transform:translateX(-50%)}}.portal-placeholder{display:grid;grid-gap:1rem;gap:1rem;max-width:38rem;padding:clamp(3rem,12vh,7rem) 0}.portal-placeholder h1{margin:.3rem 0 0;font-family:var(--font-display);font-size:clamp(2.2rem,7vw,3.6rem);line-height:1;letter-spacing:-.02em}.portal-placeholder p{color:var(--muted);line-height:1.6}.portal-placeholder__note{font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}@media (prefers-reduced-motion:reduce){.portal-tab,.portal-tab:active{transition:none;transform:none}}.timecode-chip{justify-self:start;min-height:0;margin-bottom:.35rem;padding:.15rem .4rem;border:1px solid var(--info-line);border-radius:0;background:var(--info-tint);color:var(--info);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-2xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1.4;transition:background-color .14s ease,border-color .14s ease}.timecode-chip--active,.timecode-chip:hover{background:var(--info);border-color:var(--info);color:var(--bg)}.timecode-chip--active{margin-bottom:0}.timecode-pin{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:26px}.timecode-pin__clear,.timecode-pin__hint{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase}.timecode-pin__clear{padding:0;border:0;background:none;cursor:pointer;text-decoration:underline;text-underline-offset:.25em}.timecode-pin__clear:hover{color:var(--text)}.review-form .timecode-pin{margin-top:-.2rem}.review-thread .timecode-chip{margin-bottom:.45rem}.project-schedule{display:grid;grid-gap:.6rem;gap:.6rem;margin:.9rem 0 1.1rem}.project-schedule__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.project-schedule__shoot{font-family:var(--font-sans);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.project-schedule__shoot--on-axis{display:none}.schedule-axis{margin-bottom:.2rem}.schedule-axis__scale{position:relative;display:block;height:3.2rem;border-bottom:1px solid var(--line)}.schedule-axis__tick{position:absolute;bottom:0;display:grid;grid-gap:.05rem;gap:.05rem;justify-items:center;transform:translateX(-50%);white-space:nowrap}.schedule-axis__tick:after{content:"";inline-size:1px;block-size:.3rem;margin-top:.1rem;background:var(--ink-34)}.schedule-axis__tick b{font-family:var(--font-sans);font-weight:700;letter-spacing:.08em}.schedule-axis__tick b,.schedule-axis__tick em{font-size:var(--fs-3xs);text-transform:uppercase}.schedule-axis__tick em{color:var(--faint);font-style:normal;letter-spacing:.1em}.schedule-axis__tick.is-first{transform:none;justify-items:start}.schedule-axis__tick.is-first:after{-webkit-margin-end:auto;margin-inline-end:auto}.schedule-axis__tick.is-last{transform:translateX(-100%);justify-items:end}.schedule-axis__tick.is-last:after{-webkit-margin-start:auto;margin-inline-start:auto}.schedule-axis__tick.is-shoot b{color:var(--text)}.schedule-axis__tick.is-shoot:after{block-size:.5rem;background:var(--text)}.schedule-axis__now{position:absolute;top:0;bottom:0;display:grid;grid-template-rows:auto 1fr;justify-items:center;transform:translateX(-50%);pointer-events:none}.schedule-axis__now span{color:var(--alert);font-family:var(--font-sans);font-size:var(--fs-3xs);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.schedule-axis__now i{grid-row:2;inline-size:0;block-size:100%;border-left:1px dashed var(--alert-line)}.schedule-track{display:grid;grid-row-gap:.7rem;row-gap:.7rem;margin:0;padding:0;list-style:none}.schedule-lane{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,auto) auto;align-items:center;grid-column-gap:.9rem;column-gap:.9rem;grid-row-gap:.1rem;row-gap:.1rem}.schedule-lane__label{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.schedule-lane__label strong{overflow:hidden;font-size:var(--fs-md);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.schedule-lane__label em{color:var(--muted);font-size:var(--fs-2xs);font-style:normal;letter-spacing:.06em}.schedule-lane__next{font-size:var(--fs-sm);line-height:1.3}.schedule-lane__next.is-late{color:var(--alert);font-weight:600}.schedule-lane__next.is-done{color:var(--muted)}.schedule-lane.is-rush .schedule-lane__next{color:var(--earth)}.schedule-lane__rail{position:relative;grid-column:1/-1;block-size:.75rem;margin-top:.1rem}.schedule-lane__now{position:absolute;top:0;bottom:0;inline-size:0;border-left:1px dashed var(--alert-line);transform:translateX(-50%);pointer-events:none}.schedule-lane__rail:before{content:"";position:absolute;inset-inline:0;top:50%;block-size:1px;background:var(--line-soft)}.schedule-lane__left{position:absolute;top:50%;block-size:3px;min-inline-size:2px;border-radius:1.5px;background:var(--ok);transform:translateY(-50%)}.schedule-lane__left.is-late{background:var(--alert)}.schedule-lane__dot{position:absolute;top:50%;inline-size:.45rem;block-size:.45rem;border:1px solid var(--ink-34);border-radius:50%;background:var(--bg);box-shadow:0 0 0 2px var(--bg);transform:translate(-50%,-50%)}.schedule-lane__dot.is-hit{background:var(--ink-34)}.schedule-lane__dot.is-due{inline-size:.55rem;block-size:.55rem;border-color:var(--text)}.schedule-lane__dot.is-due.is-hit{background:var(--text)}.schedule-lane__dot.is-early{border-color:var(--ok);background:var(--ok)}.schedule-lane__dot.is-missed{inline-size:.55rem;block-size:.55rem;border-width:2px;border-color:var(--alert);background:var(--bg)}.schedule-lane.is-rush .schedule-lane__dot.is-due{border-color:var(--earth)}.schedule-lane.is-rush .schedule-lane__dot.is-due.is-hit{background:var(--earth)}.schedule-lane.is-late .schedule-lane__dot.is-due{border-color:var(--alert);background:var(--alert)}.schedule-lane.is-settled .schedule-lane__dot,.schedule-lane.is-settled .schedule-lane__dot.is-due{border-color:var(--ink-24);border-style:solid;background:var(--ink-24)}.schedule-undated{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}@media (max-width:720px){.schedule-lane{grid-template-columns:minmax(0,1fr) auto;column-gap:.6rem;row-gap:.15rem}.schedule-lane__label{grid-column:1;grid-row:1}.schedule-lane>.status-pill{grid-column:2;grid-row:1}.schedule-lane__next{grid-column:1/-1;grid-row:2}.schedule-lane__rail{grid-column:1/-1;grid-row:3}}.shoot-direction{display:grid;grid-gap:.6rem;gap:.6rem;margin:1.2rem 0;padding:.9rem 1rem;border:1px solid var(--line);background:var(--sheet-45)}.shoot-direction__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.shoot-direction__rest{color:var(--faint);font-family:var(--font-sans);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase}.shoot-direction__note{margin:0;font-size:var(--fs-lg);line-height:1.5}.shoot-direction__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));grid-gap:.5rem;gap:.5rem;margin:0;padding:0;list-style:none}.shoot-reference{display:grid;grid-gap:.15rem;gap:.15rem;min-height:3.25rem;padding:.55rem .7rem;border:1px solid var(--line);border-left-width:3px;background:var(--sheet-90);color:inherit;text-decoration:none}.shoot-reference:focus-visible,.shoot-reference:hover{border-color:var(--text)}.shoot-reference.is-video{border-left-color:var(--earth)}.shoot-reference.is-moodboard,.shoot-reference.is-pinterest{border-left-color:var(--info-line)}.shoot-reference.is-canva{border-left-color:var(--pending-line)}.shoot-reference__kind{color:var(--muted);font-family:var(--font-sans);font-size:var(--fs-3xs);letter-spacing:.14em;text-transform:uppercase}.shoot-reference strong{overflow-wrap:anywhere;font-size:var(--fs-md);font-weight:500}.shoot-reference em{color:var(--muted);font-size:var(--fs-sm);font-style:normal}.overview-card--drafts{border-style:dashed}.capture-item__answer{display:grid;grid-gap:.1rem;gap:.1rem;margin-top:.25rem;padding-left:.5rem;border-left:2px solid var(--earth-line);color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.capture-item__answer em{color:var(--earth);font-family:var(--font-sans);font-size:var(--fs-3xs);font-style:normal;letter-spacing:.14em;text-transform:uppercase}.notify-prefs{display:grid;grid-gap:.6rem;gap:.6rem}.notify-prefs__list{display:grid;grid-gap:.4rem;gap:.4rem;margin:0;padding:0;list-style:none}.notify-pref{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.55rem .7rem;border:1px solid var(--line-soft);background:var(--sheet-45)}.notify-pref__what{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.notify-pref__what strong{font-size:var(--fs-md);font-weight:500}.notify-pref__what em{color:var(--muted);font-size:var(--fs-sm);font-style:normal;line-height:1.45}.notify-pref__choices{display:flex;gap:.25rem}.notify-choice{padding:.3rem .55rem;border:1px solid var(--line);color:var(--muted);font-family:var(--font-sans);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease}.notify-choice input{position:absolute;width:1px;height:1px;opacity:0}.notify-choice:hover{border-color:var(--text);color:var(--text)}.notify-choice.is-on{border-color:var(--text);background:var(--text);color:var(--bg)}.notify-choice:focus-within{box-shadow:var(--focus-ring)}.notify-scope{display:grid;grid-gap:.4rem;gap:.4rem;padding-top:.4rem}.notify-scope__option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:.6rem;gap:.6rem;padding:.55rem .7rem;border:1px solid var(--line-soft);cursor:pointer}.notify-scope__option.is-on{border-color:var(--text);background:var(--sheet-90)}.notify-scope__option span{display:grid;grid-gap:.15rem;gap:.15rem}.notify-scope__option strong{font-size:var(--fs-md);font-weight:500}.notify-scope__option em{color:var(--muted);font-size:var(--fs-sm);font-style:normal;line-height:1.45}.notify-readout{display:grid;grid-gap:.2rem;gap:.2rem;margin:0}.notify-readout>div{display:flex;justify-content:space-between;gap:.75rem;font-size:var(--fs-sm)}.notify-readout dt{color:var(--muted)}.notify-readout dd{margin:0;font-family:var(--font-sans);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase}.notify-readout dd.is-off{color:var(--faint)}.notified{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line-soft)}.notified__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.notified__count{color:var(--muted);font-family:var(--font-sans);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase}.notified__list{display:grid;grid-gap:.3rem;gap:.3rem;margin:0;padding:0;list-style:none}.notified__person{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;border:1px solid var(--line-soft);background:var(--sheet-45)}.notified__who{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.notified__who strong{display:flex;align-items:baseline;gap:.4rem;font-size:var(--fs-md);font-weight:500}.notified__who em{font-style:normal}.notified__who em,.notified__you{color:var(--muted);font-family:var(--font-sans);font-size:var(--fs-3xs);letter-spacing:.12em;text-transform:uppercase}.notified__you{padding:.05rem .3rem;border:1px solid var(--line);font-weight:400}.notified__add,.notified__muted{display:grid;grid-gap:.35rem;gap:.35rem;padding-top:.5rem;border-top:1px dashed var(--line-soft)}.notified__muted-label{color:var(--muted);font-family:var(--font-sans);font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase}.notified__muted ul{display:grid;grid-gap:.25rem;gap:.25rem;margin:0;padding:0;list-style:none}.notified__muted li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:var(--fs-sm)}.notified__add .segment-chips{display:flex;flex-wrap:wrap;gap:.35rem}.notified__fixed{color:var(--faint);font-family:var(--font-sans);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase}.portal-app{--chrome-top:var(--sticky-top)}body:has(.portal-app.has-view-as) .portal-app{--chrome-top:calc(2.25rem + var(--sticky-top))}.outbound-held{position:-webkit-sticky;position:sticky;top:var(--chrome-top);z-index:60;margin:0;padding:.5rem 1rem;border-bottom:1px solid var(--warn-line);background:linear-gradient(var(--warn-tint),var(--warn-tint)),var(--bg);color:var(--warn-strong);font-family:var(--font-sans);font-size:var(--fs-sm);line-height:1.45;text-align:center}.outbound-held code{padding:.05rem .25rem;background:var(--sheet-75);font-size:var(--fs-xs)}.notified__silent{margin-left:.45rem;padding:.05rem .3rem;border:1px solid var(--warn-line);color:var(--warn)}.contingency{display:grid;grid-gap:1rem;gap:1rem;margin-top:2.6rem;padding:var(--panel-pad);border:1px solid var(--line);background:var(--ink-02)}.contingency__head{display:grid;grid-gap:.4rem;gap:.4rem;max-width:62ch}.contingency__head h2{margin:.2rem 0 0;font-size:clamp(1.3rem,2.2vw,1.8rem)}.contingency__head p{margin:0;color:var(--muted);font-size:var(--fs-md);line-height:1.55}.contingency__closed{margin:0;padding:.75rem .9rem;border:1px solid var(--alert-line);background:var(--alert-tint);color:var(--alert);font-size:var(--fs-md)}.contingency__buttons{display:flex;flex-wrap:wrap;gap:.6rem}.contingency__button{flex:1 1 12rem}.contingency__button--stop:hover{border-color:var(--alert-line);color:var(--alert)}.contingency__audit.is-open{border-color:var(--warn-line);background:var(--warn);color:#ffffff}.contingency__audit.is-complete{border-color:var(--ok-line);background:var(--ok);color:#ffffff}.contingency__audit-note{margin:0;max-width:68ch;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.contingency__audit-note strong{color:var(--text)}.contingency-change{display:grid;grid-gap:.9rem;gap:.9rem;padding:1rem;border:1px solid var(--warn-line);background:var(--warn-tint)}.contingency-change.is-cancellation{border-color:var(--alert-line);background:var(--alert-tint)}.contingency-change__head{display:grid;grid-gap:.3rem;gap:.3rem}.contingency-change__kind{color:var(--muted);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.contingency-change__head strong{font-size:var(--fs-xl);line-height:1.25}.contingency-change__head em{color:var(--muted);font-size:var(--fs-sm);font-style:normal}.contingency-change__facts{display:grid;grid-gap:.7rem;gap:.7rem;margin:0}.contingency-change__facts>div{display:grid;grid-gap:.2rem;gap:.2rem}.contingency-change__facts dt{color:var(--muted);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.contingency-change__facts dd{margin:0;font-size:var(--fs-md);line-height:1.5}.contingency-change__prose{white-space:pre-wrap}.contingency-change__settlement ul{display:grid;grid-gap:.35rem;gap:.35rem;margin:0;padding:0;list-style:none}.contingency-change__settlement li,.contingency-change__settlement p{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:baseline;margin:0}.contingency-change__settlement li em{display:block;color:var(--muted);font-size:var(--fs-xs);font-style:normal}.contingency-change__settlement p{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--line);font-weight:700}.contingency-change__waiting{margin:0;color:var(--muted);font-size:var(--fs-md)}.contingency-change__actions{display:flex;flex-wrap:wrap;gap:.6rem}.contingency-change__withdraw{padding-top:.6rem;border-top:1px solid var(--line)}.contingency-panel{display:grid;grid-gap:.9rem;gap:.9rem;padding:1rem;border:1px solid var(--line);background:var(--bg)}.contingency-panel--stop{border-color:var(--alert-line)}.contingency-panel__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.contingency-panel__head h3{margin:0;font-size:var(--fs-xl)}.contingency-panel__lede{margin:0;max-width:68ch;font-size:var(--fs-md);line-height:1.6}.contingency-fieldset{display:grid;grid-gap:.7rem;gap:.7rem;margin:0;padding:.9rem;border:1px solid var(--line-soft);background:var(--ink-02)}.contingency-fieldset legend{padding:0 .4rem;color:var(--muted);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.contingency-field{display:grid;grid-gap:.3rem;gap:.3rem;color:var(--muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.contingency-field input,.contingency-field select,.contingency-field textarea{color:var(--text);font-size:var(--fs-md);font-weight:400;letter-spacing:0;text-transform:none}.contingency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));grid-gap:.75rem;gap:.75rem}.contingency-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));grid-gap:.5rem;gap:.5rem}.contingency-area{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.6rem;gap:.6rem;align-items:start;padding:.6rem .7rem;border:1px solid var(--line-soft);background:var(--bg);cursor:pointer}.contingency-area:hover{border-color:var(--ink-24)}.contingency-area input{margin-top:.2rem}.contingency-area strong{display:block;font-size:var(--fs-md)}.contingency-area em{display:block;margin-top:.2rem;color:var(--muted);font-size:var(--fs-xs);font-style:normal;line-height:1.45}.contingency-deliverables{display:grid;grid-gap:.55rem;gap:.55rem}.contingency-deliverable{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(9rem,1fr));grid-gap:.7rem;gap:.7rem;align-items:end;padding:.6rem .7rem;border:1px solid var(--line-soft);background:var(--bg)}.contingency-deliverable>span{font-size:var(--fs-md);font-weight:600}.contingency-toggle{display:flex;flex-wrap:wrap;gap:.5rem}.contingency-toggle label{display:flex;gap:.5rem;align-items:center;padding:.55rem .8rem;border:1px solid var(--line);background:var(--bg);font-size:var(--fs-md);white-space:nowrap;cursor:pointer}.contingency-toggle label:has(input:checked){border-color:var(--ink-48);background:var(--ink-04);font-weight:600}.contingency-settlement{display:grid;grid-gap:.5rem;gap:.5rem}.contingency-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(7rem,auto);grid-gap:.75rem;gap:.75rem;align-items:start;padding:.6rem .7rem;border:1px solid var(--line-soft);background:var(--bg)}.contingency-line--fee{border-color:var(--alert-line);background:var(--alert-tint)}.contingency-line__toggle{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.6rem;gap:.6rem;align-items:start}.contingency-line--fee .contingency-line__toggle{grid-template-columns:minmax(0,1fr)}.contingency-line__toggle input{margin-top:.25rem}.contingency-line__toggle strong{display:block;font-size:var(--fs-md)}.contingency-line__toggle em{display:block;margin-top:.15rem;color:var(--muted);font-size:var(--fs-xs);font-style:normal;line-height:1.45}.contingency-line__amount input{width:100%;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.contingency__history{border-top-color:var(--line)}.contingency__history-list{display:grid;grid-gap:.9rem;gap:.9rem}.contingency-past{display:grid;grid-gap:.7rem;gap:.7rem;padding:.85rem;border:1px solid var(--line-soft);background:var(--bg)}.contingency-past header{display:grid;grid-gap:.3rem;gap:.3rem}.contingency-past header strong{font-size:var(--fs-lg)}.contingency-past header em{color:var(--muted);font-size:var(--fs-xs);font-style:normal}.contingency-past__note{margin:0;padding-top:.6rem;border-top:1px solid var(--line-soft);color:var(--muted);font-size:var(--fs-sm);white-space:pre-wrap}@media (max-width:720px){.contingency-deliverable,.contingency-line{grid-template-columns:minmax(0,1fr)}.contingency-line__amount input{text-align:left}}.on-behalf{margin-top:.9rem;padding:.6rem .75rem;border:1px dashed var(--line);background:var(--ink-02)}.on-behalf>summary{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer}.on-behalf>summary:hover{color:var(--text)}.on-behalf__lede{margin:.6rem 0 .8rem;font-size:var(--fs-sm);line-height:1.5;color:var(--muted)}.on-behalf__form{display:grid;grid-gap:.7rem;gap:.7rem}.on-behalf__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));grid-gap:.7rem;gap:.7rem}.on-behalf__form label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.on-behalf__form input,.on-behalf__form select,.on-behalf__form textarea{padding:.45rem .55rem;border:1px solid var(--line);background:var(--bg);font-family:var(--font-sans);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;color:var(--text)}.on-behalf__swap{justify-self:start;padding:0;border:0;background:none;font-size:var(--fs-2xs);letter-spacing:.04em;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.on-behalf__swap:hover{color:var(--text)}.on-behalf__actions{display:flex;flex-wrap:wrap;gap:.5rem}.instruction-log{display:grid;grid-gap:.5rem;gap:.5rem;padding:1.1rem 1.2rem;border:1px solid var(--line);background:var(--sheet-45)}.instruction-log ul{display:grid;grid-gap:.7rem;gap:.7rem;margin:0;padding:0;list-style:none}.instruction-log li{display:grid;grid-gap:.2rem;gap:.2rem;padding-left:.7rem;border-left:2px solid var(--earth-line)}.instruction-log__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.instruction-log__head strong{font-weight:500}.instruction-log__via{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.instruction-log li p{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--text-soft)}.brief-shell,.briefs-inbox{display:grid;grid-gap:1.5rem;gap:1.5rem;padding:clamp(2.5rem,9vh,5rem) 0 2rem}.brief-shell__head h1,.briefs-inbox__head h1{margin:.3rem 0 0;font-family:var(--font-display);font-size:clamp(2.2rem,7vw,3.4rem);line-height:1;letter-spacing:-.02em}.brief-shell__lede{margin:.6rem 0 0;max-width:38ch;color:var(--muted);line-height:1.6}.brief-form{display:grid;grid-gap:1.2rem;gap:1.2rem}.brief-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.2rem;gap:1.2rem}.brief-form__req{margin-left:.5rem;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.brief-shell__done{display:grid;grid-gap:.4rem;gap:.4rem;padding:1.6rem;border:1px solid var(--ok-line);background:var(--ok-tint)}.brief-shell__done h2{margin:.2rem 0 0;font-family:var(--font-display);font-size:clamp(1.4rem,4vw,1.9rem);line-height:1.1}.brief-shell__done p,.briefs-inbox__empty{color:var(--muted)}.briefs-inbox__list{display:grid;grid-gap:1rem;gap:1rem;margin:0;padding:0;list-style:none}.brief-card{display:grid;grid-gap:.6rem;gap:.6rem;padding:1.1rem 1.2rem;border:1px solid var(--line);background:var(--sheet-45)}.brief-card__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brief-card__head strong{font-size:var(--fs-lg)}.brief-card__from{font-size:var(--fs-sm);color:var(--muted)}.brief-card__desc{line-height:1.55}.brief-card__meta{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:0}.brief-card__meta div{display:grid;grid-gap:.1rem;gap:.1rem}.brief-card__meta dt{font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.brief-card__meta dd{margin:0;font-size:var(--fs-md)}.brief-card__refs{font-size:var(--fs-md);color:var(--muted);word-break:break-word}.brief-form__attachments{display:grid;grid-gap:.35rem;gap:.35rem;min-width:0}.brief-form__attachments-label{font-size:var(--fs-sm);font-weight:600}.brief-form__attachments-hint{margin:0;font-size:var(--fs-sm);color:var(--muted)}.brief-dropzone{display:grid;grid-gap:.2rem;gap:.2rem;place-items:center;padding:1.4rem 1rem;margin-top:.2rem;text-align:center;border:1.5px dashed var(--line);border-radius:12px;background:var(--ink-02);color:var(--text);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.brief-dropzone:focus-visible,.brief-dropzone:hover{border-color:var(--ink-48);background:var(--ink-04);outline:none}.brief-dropzone.is-active{border-color:#181613;background:var(--ink-06)}.brief-dropzone__primary{font-weight:600}.brief-dropzone__hint{font-size:var(--fs-xs);color:var(--muted)}.brief-files{list-style:none;margin:.4rem 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.35rem;gap:.35rem;min-width:0}.brief-files__item{display:flex;align-items:center;gap:.6rem;padding:.45rem .65rem;border:1px solid var(--line);border-radius:9px;background:var(--sheet-62);min-width:0}.brief-files__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md)}.brief-files__size{flex:0 0 auto;font-size:var(--fs-xs);color:var(--muted)}.brief-files__remove{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--ink-08);color:var(--text);font-size:var(--fs-lg);line-height:1;cursor:pointer}.brief-files__remove:hover{background:var(--alert-bright-tint);color:var(--alert)}.brief-card__attachments{display:grid;grid-gap:.25rem;gap:.25rem}.brief-card__attachments-label{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.brief-card__attachments ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:.2rem;gap:.2rem}.brief-card__attachments li{font-size:var(--fs-md)}@media (max-width:640px){.brief-form__grid{grid-template-columns:1fr}}.projects-index__head{padding:clamp(3rem,10vh,7rem) 0 clamp(1.5rem,4vh,3rem)}.projects-index__head h1{margin:.4rem 0 0;font-size:clamp(2.6rem,8vw,6rem);letter-spacing:-.03em}.projects-index__empty{color:var(--muted);padding-bottom:4rem}.projects-index__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(1rem,3vw,2.4rem);gap:clamp(1rem,3vw,2.4rem);margin:0;padding:0 0 clamp(3rem,8vh,6rem);list-style:none}.projects-index__card{display:grid;grid-gap:.9rem;gap:.9rem;color:inherit;text-decoration:none}.projects-index__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink-06)}.projects-index__media img{transition:transform .6s cubic-bezier(.22,1,.36,1)}.projects-index__card:hover .projects-index__media img{transform:scale(1.04)}.projects-index__meta{display:grid;grid-gap:.2rem;gap:.2rem}.projects-index__meta span{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.projects-index__meta strong{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:600}.projects-index__meta em{font-style:normal;font-size:var(--fs-sm);color:var(--muted)}@media (max-width:640px){.projects-index__grid{grid-template-columns:1fr}}.briefs-inbox__log{border:1px solid var(--line);background:var(--sheet-45)}.briefs-inbox__log>summary{padding:.85rem 1.1rem;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text);cursor:pointer;list-style:none}.briefs-inbox__log>summary::-webkit-details-marker{display:none}.briefs-inbox__log>summary:before{content:"+ ";color:var(--muted)}.briefs-inbox__log[open]>summary:before{content:"− "}.briefs-inbox__log[open]>summary{border-bottom:1px solid var(--line)}.briefs-inbox__log-note{margin:0;padding:.9rem 1.1rem 0;color:var(--muted);font-size:var(--fs-md)}.briefs-inbox__log .brief-form{padding:1.1rem}.on-behalf--brief{margin-top:1rem}.brief-agree__behalf{font-style:normal;font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.kit-framing{margin:.6rem 0 0;padding:.6rem .75rem;border-left:2px solid var(--earth-line);background:var(--earth-tint);font-size:var(--fs-sm);line-height:1.5;color:var(--text-soft)}.kit-framing strong{color:var(--text);font-weight:500}.kit-field__conflict{margin:.4rem 0 0;font-size:var(--fs-xs);line-height:1.5;color:var(--earth)}.kit-field__why{margin-top:.5rem}.agreed-capture-why{display:block;margin-top:.15rem;font-size:var(--fs-xs);line-height:1.45;color:var(--muted)}.chat-list{display:grid;grid-gap:1.2rem;gap:1.2rem;padding:clamp(2rem,8vh,4rem) 0 2rem}.chat-list__head h1{margin:.3rem 0 0;font-family:var(--font-display);font-size:clamp(2rem,7vw,3.2rem);line-height:1;letter-spacing:-.02em}.chat-list__items{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.chat-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem .4rem;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;transition:background-color .16s ease}.chat-row:hover{background:var(--ink-04)}.chat-row__label{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.chat-row__label strong{font-size:var(--fs-lg)}.chat-row.is-unread .chat-row__label strong{font-weight:700}.chat-row__label em{font-style:normal;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.chat-row__meta{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:var(--fs-sm)}.chat-row__dot{width:8px;height:8px;border-radius:50%;background:var(--warn-strong)}.chat-list__start{display:grid;grid-gap:.7rem;gap:.7rem}.chat-list__start-grid{display:flex;flex-wrap:wrap;gap:.5rem}.chat-start{padding:.5rem .9rem;border:1px solid var(--line);background:var(--sheet-45);color:var(--text);font:inherit;font-size:var(--fs-md);cursor:pointer;transition:background-color .16s ease}.chat-start:hover{background:#fff}.chat-page{display:flex;flex-direction:column;min-height:calc(100dvh - 57px - var(--tabbar-h));background:radial-gradient(130% 85% at 50% -10%,var(--sheet-75),rgba(255,255,255,0) 58%),linear-gradient(180deg,var(--bg-sunk) 0,var(--bg-sunk) 100%)}.chat-thread__topbar{position:-webkit-sticky;position:sticky;top:57px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;background:rgba(236,234,226,.72);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--ink-12)}.chat-thread__title{display:grid;justify-items:end;grid-gap:.1rem;gap:.1rem;font-family:var(--font-display);font-weight:600;text-align:right}.chat-thread__title em{font-style:normal;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.chat-thread{flex:1 1 auto;min-height:0}.chat-thread,.chat-thread__stream{display:flex;flex-direction:column}.chat-thread__stream{gap:.6rem;padding:1rem 0 calc(76px + .8rem)}.chat-thread__empty{color:var(--muted);padding:2rem 0;text-align:center}.chat-bubble{max-width:82%;align-self:flex-start;display:grid;grid-gap:.2rem;gap:.2rem;padding:.6rem .85rem;border:1px solid var(--sheet-75);border-radius:16px 16px 16px 5px;background:var(--sheet-62);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);box-shadow:0 6px 18px var(--ink-06)}.chat-bubble--mine{align-self:flex-end;border-color:var(--ink-90);border-radius:16px 16px 5px 16px;background:var(--text);color:var(--bg);box-shadow:0 8px 22px var(--ink-24)}.chat-bubble__author{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.chat-bubble__body{margin:0;color:var(--text);line-height:1.45;white-space:pre-wrap;word-break:break-word}.chat-bubble--mine .chat-bubble__body{color:#f8f8f4}.chat-bubble__time{font-size:var(--fs-2xs);color:var(--muted);justify-self:end}.chat-bubble--mine .chat-bubble__time{color:var(--cream-60)}.chat-composer{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--tabbar-h) + .45rem);z-index:45;display:flex;align-items:flex-end;gap:.5rem;width:min(620px,calc(100% - 1.4rem));padding:.4rem .4rem .4rem .9rem;border-radius:26px}.chat-composer textarea{flex:1 1 auto;min-height:36px;max-height:132px;padding:.5rem .1rem;resize:none;border:none;background:transparent;font:inherit;color:var(--text);line-height:1.4}.chat-composer textarea:focus{outline:none}.chat-composer:focus-within{box-shadow:inset 0 1.5px 0 var(--lens-rim),inset 0 -1px 0 var(--lens-rim-under),inset 0 0 22px var(--lens-inner),0 0 0 1px var(--focus),var(--lens-cast)}.chat-composer textarea::placeholder{color:var(--ink-48)}.chat-composer__send{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--ink-90);border-radius:50%;background:var(--text);color:var(--bg);cursor:pointer;transition:transform .16s ease,opacity .16s ease,background-color .16s ease}.chat-composer__send svg{display:block}.chat-composer__send:hover:not(:disabled){background:#000}.chat-composer__send:active:not(:disabled){transform:scale(.92)}.chat-composer__send:disabled{opacity:.4;cursor:default}@media (prefers-reduced-transparency:reduce){.chat-bubble,.chat-composer,.chat-thread__topbar{backdrop-filter:none;-webkit-backdrop-filter:none}.chat-bubble{background:var(--sheet-90)}.chat-thread__topbar{background:rgb(236,234,226)}}.push-optin{display:grid;grid-gap:.6rem;gap:.6rem;justify-items:start}.push-optin__lede{margin:0;color:var(--muted);max-width:46ch}.push-optin__hint{margin:0;color:var(--muted);font-size:var(--fs-md);max-width:52ch}.push-optin__on{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.push-optin__badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;background:var(--ok-tint);color:var(--ok);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}