/* The one-minute walkthrough (_partials/walkthrough.html, assets/js/walkthrough.js), on /demo and the home page.
   Self-contained: it relies on site.css only for the colour tokens, buttons (.btn), the lights (.lt), the logo
   (.mark) and icon sizing. Two desktop windows: the client's browser and your dashboard, side by side from 1180px.
   Narrower, one window shows at a time, drawn at 700 by 540 and scaled down whole, with a marker for whose it is. */

.tr{position:relative;--dev-h:clamp(500px,calc(100vh - 300px),640px);--s:1;--fh:52px}
.tr-stage{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:28px;align-items:start}
.anim .tr:not(.is-ready) .tr-stage{opacity:0}
.tr.is-jump *,.tr.is-jump *::before,.tr.is-jump *::after{transition:none!important}
:where(.tr) p{margin:0}
.tr-focus{display:none}
.tr-col{display:flex;flex-direction:column;min-width:0}
.tr-persona{display:flex;align-items:center;gap:11px;margin:0 0 14px 4px}
.tr-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:700;font-size:.8125rem;line-height:1}
.tr-av.client{background:var(--surface);border:1px solid var(--line-2);color:var(--ink-2)}
.tr-av.agency{background:var(--ink);color:var(--bg)}
.tr-ptxt{display:grid;gap:1px;min-width:0}
.tr-ptxt b{font-size:.9375rem;font-weight:600;line-height:1.25}
.tr-ptxt small{font-size:.8125rem;font-weight:500;color:var(--muted);line-height:1.3}
.tr-fit{position:relative}
.tr-win{position:relative;height:var(--dev-h)}
.tr-frame{position:relative;height:100%;display:flex;flex-direction:column;border-radius:14px;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--hi);overflow:hidden}
.tr-dots{display:inline-flex;gap:6px;flex:none}
.tr-dots i{width:10px;height:10px;border-radius:50%;background:var(--line-2)}
.tr .lt{display:inline-block;flex:none;width:12px;height:12px;border-radius:50%;border:2px solid var(--faint);transition:background-color .3s ease,border-color .3s ease}
.tr .lt.on{background:var(--acc);border-color:var(--acc)}
.tr .lt.wait{border-color:var(--acc)}
@media (prefers-reduced-motion:no-preference){.tr .lt.wait{animation:tr-blink 1.1s ease-in-out infinite}}
@keyframes tr-blink{50%{opacity:.25}}

/* The client's browser: tabs, the address, and what each tab shows */
.tr-chrome{position:relative;flex:none;background:var(--surface-2);border-bottom:1px solid var(--line)}
.tr-tabs{display:flex;align-items:flex-end;gap:4px;height:40px;padding:0 10px;overflow:hidden}
.tr-tabs .tr-dots{align-self:center;margin:0 10px 0 4px}
.tr-tab{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:190px;height:32px;padding:0 14px;border-radius:10px 10px 0 0;font-size:.75rem;font-weight:500;line-height:1;color:var(--muted);white-space:nowrap;overflow:hidden;transition:max-width .4s ease,padding .4s ease,opacity .3s ease,background-color .3s ease,color .3s ease}
.tr-tab>span:last-child{overflow:hidden;text-overflow:ellipsis}
.tr-tab .ico{width:14px;height:14px;flex:none}
.tr-tab.is-on{background:var(--surface);color:var(--ink)}
.tr-tab[data-tab=link]{max-width:0;padding:0;opacity:0}
.tr-tab[data-tab=link].is-open{max-width:190px;padding:0 14px;opacity:1}
.tr-fav{width:16px;height:16px;border-radius:4px;display:grid;place-items:center;flex:none;background:var(--ink);color:var(--surface);font:800 .625rem/1 var(--f-display);font-stretch:70%}
.tr-addr{padding:6px 10px 8px;background:var(--surface)}
.tr-addr-in{display:flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;background:var(--surface-2);font:400 .75rem/1 var(--f-mono);color:var(--muted);white-space:nowrap;overflow:hidden}
.tr-addr-in .ico{width:12px;height:12px;flex:none}
.tr-addr-in span{overflow:hidden;text-overflow:ellipsis}
.tr-load{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--acc);transform-origin:0 50%;transform:scaleX(var(--lp,0));opacity:0;transition:opacity .25s ease}
.tr-load.is-on{opacity:1}
.tr-viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--bg-alt)}
.tr-view{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s}
.tr-view.is-on{opacity:1;visibility:visible;transition:opacity .45s ease,visibility 0s linear 0s}

/* A plain webmail inbox, where the link arrives */
.tr-mail{display:grid;grid-template-columns:118px 200px minmax(0,1fr);background:var(--surface)}
.tr-mail-rail{display:flex;flex-direction:column;gap:2px;padding:14px 10px;border-right:1px solid var(--line);background:var(--surface-2)}
.tr-mail-brand{display:flex;align-items:center;gap:7px;padding:0 4px 10px;font-weight:700;font-size:.875rem}
.tr-mail-brand .ico{width:16px;height:16px;color:var(--acc)}
.tr-mail-compose{display:flex;justify-content:center;margin-bottom:10px;padding:7px 8px;border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm);font-size:.75rem;font-weight:600}
.tr-mail-folder{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:8px;font-size:.75rem;font-weight:500;color:var(--muted)}
.tr-mail-folder.is-on{background:var(--acc-soft-2);color:var(--ink);font-weight:600}
.tr-mail-folder b{font-size:.6875rem;color:var(--acc-text);opacity:0;transition:opacity .3s ease}
.tr-mail.has-new .tr-mail-folder b{opacity:1}
.tr-mail-list{min-width:0;border-right:1px solid var(--line)}
.tr-mail-search{display:flex;align-items:center;gap:7px;margin:10px;padding:7px 10px;border-radius:10px;background:var(--surface-2);font-size:.75rem;color:var(--faint)}
.tr-mail-search .ico{width:12px;height:12px}
.tr-mail-list ul{list-style:none;margin:0;padding:0}
.tr-mail-list li+li{border-top:1px solid var(--line)}
.tr-mail-slot{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.2,.8,.2,1)}
.tr-mail-slot.is-on{grid-template-rows:1fr}
.tr-clip{min-height:0;overflow:hidden}
.tr-mi{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:10px 12px 10px 16px;font-size:.75rem;line-height:1.35;color:var(--muted);transition:background-color .3s ease,box-shadow .3s ease}
.tr-mi-from{font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-mi time{font:400 .625rem/1.6 var(--f-mono);color:var(--faint)}
.tr-mi-subj,.tr-mi-prev{grid-column:1/-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-mi-subj{color:var(--ink-2)}
.tr-mi.is-new .tr-mi-from,.tr-mi.is-new .tr-mi-subj{color:var(--ink);font-weight:700}
.tr-mi.is-new::before{content:"";position:absolute;left:6px;top:15px;width:5px;height:5px;border-radius:50%;background:var(--acc)}
.tr-mi.is-sel{background:var(--acc-soft-2);box-shadow:inset 2px 0 0 var(--acc)}
.tr-mi.is-read::before{display:none}
.tr-mi.is-read .tr-mi-from,.tr-mi.is-read .tr-mi-subj{font-weight:600}
.tr-mail-read{position:relative;min-width:0;overflow:hidden}
.tr-mail-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--faint);font-size:.8125rem;transition:opacity .3s ease}
.tr-mail-empty .ico{width:18px;height:18px}
.tr-msg{position:absolute;inset:0;padding:18px 20px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s}
.tr-msg.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .35s ease,transform .35s ease,visibility 0s linear 0s}
.tr-mail-read.has-msg .tr-mail-empty{opacity:0}
.tr-msg-subj{font-weight:700;font-size:1.05rem;line-height:1.3}
.tr-msg-from{display:flex;align-items:center;gap:10px;margin-top:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.tr-msg-who{display:grid;min-width:0;flex:1;line-height:1.3}
.tr-msg-who b{font-size:.8125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-msg-who small{font-size:.75rem;color:var(--muted)}
.tr-msg-from time{font:400 .6875rem/1 var(--f-mono);color:var(--faint)}
.tr-msg-body{display:grid;gap:10px;margin-top:14px;font-size:.875rem;line-height:1.55;color:var(--ink-2)}
.tr-msg-link{font:400 .75rem/1.3 var(--f-mono);color:var(--acc-text);overflow-wrap:anywhere}
.tr-sq{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex:none;background:var(--ink);color:var(--surface);font:800 .875rem/1 var(--f-display);font-stretch:70%}

/* The setup page, as the client sees it in a desktop browser: one column, a card per step */
.tr-page{background:var(--bg-alt)}
.tr-scroll{position:absolute;inset:0;overflow:hidden}
.tr-cv{max-width:640px;margin:0 auto;padding:22px 18px 80px;font-size:15px;color:var(--ink)}
.tr-cv-agency{display:flex;align-items:center;gap:12px}
.tr-cv-av{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--ink);color:var(--surface);font:800 1rem/1 var(--f-display);font-stretch:70%}
.tr-cv-av.sm{width:24px;height:24px;border-radius:7px;font-size:.75rem}
.tr-cv-agency-txt{display:grid;min-width:0}
.tr-cv-agency-txt b{font-weight:600;font-size:.9375rem}
.tr-cv-agency-txt span{font-size:.8125rem;color:var(--muted)}
.tr-cv-title{margin-top:20px;font-family:var(--f-display);font-stretch:70%;font-weight:800;font-size:2.3rem;line-height:1.02;letter-spacing:-.004em;text-wrap:balance}
.tr-cv-lead{margin-top:12px;max-width:56ch;color:var(--muted);font-size:.9375rem;line-height:1.55}
.tr-cv-note{display:flex;gap:11px;align-items:flex-start;margin-top:16px;padding:13px 14px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--line)}
.tr-cv-note p{font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.tr-cv-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 2px 12px}
.tr-cv-count{flex:none;font-weight:500;color:var(--muted)}
.tr-cv-count b{color:var(--ink);font-weight:700}
.tr-lane{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.tr-lamp{--ls:30px;position:relative;display:inline-grid;place-items:center;flex:none;width:var(--ls);height:var(--ls);border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink);transition:background-color .35s ease,box-shadow .35s ease,color .35s ease}
.tr-lamp>.logo{width:46%;height:46%}
.tr-lamp.on{background:var(--acc);color:var(--acc-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.tr-lamp.on>.logo *{fill:currentColor!important;stroke:currentColor!important}
.tr-lamp.wait{box-shadow:inset 0 0 0 1.5px var(--acc);color:var(--acc-text)}
.tr-lamp.wait::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--acc);opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.tr-lamp.wait::after{animation:tr-ring 2.2s ease-out infinite}}
@keyframes tr-ring{0%{opacity:.75;transform:scale(.85)}100%{opacity:0;transform:scale(1.28)}}
.tr-cv-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tr-step{border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--line);transition:box-shadow .3s ease}
.tr-step.is-open{box-shadow:0 0 0 1.5px var(--acc),var(--shadow-md)}
.tr-step-head{display:grid;grid-template-columns:32px minmax(0,1fr) auto 14px;gap:12px;align-items:center;padding:12px 14px}
.tr-step-head .tr-lamp{--ls:32px}
.tr-step-txt{display:grid;gap:3px;min-width:0}
.tr-step-txt b{font-weight:600;font-size:.9375rem;line-height:1.3}
.tr-step[data-state=done] .tr-step-txt b{color:var(--ink-2)}
.tr-step-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;font-size:.8125rem;color:var(--muted)}
.tr-method{display:inline-flex;align-items:center;gap:5px}
.tr-method .ico{width:13px;height:13px}
.tr-state{font-size:.78rem;font-weight:600;color:var(--acc-text);white-space:nowrap}
.tr-caret{display:grid;place-items:center;color:var(--faint);transition:transform .3s ease}
.tr-caret .ico{width:14px;height:14px;rotate:90deg}
.tr-step.is-open .tr-caret{transform:rotate(180deg)}
.tr-step-body{display:grid;gap:13px;padding:0 16px 18px 58px}
.tr-step-body[hidden]{display:none}
.tr-p{color:var(--ink-2);font-size:.9375rem;line-height:1.55}
.tr-how{margin:0;padding-left:1.25em;display:grid;gap:5px;font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.tr-how li::marker{color:var(--faint)}
.tr-records{border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);overflow:hidden}
.tr-rec{display:grid;grid-template-columns:4rem 3rem minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px;font-size:.875rem}
.tr-rec+.tr-rec{border-top:1px solid var(--line)}
.tr-rec.head{background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:600}
.tr-rec code{font-family:var(--f-mono);font-size:.8125rem;overflow-wrap:anywhere}
.tr-rec-type{font-weight:600}
.tr-found{display:none;margin-top:3px;font:600 .75rem/1.2 var(--f-body);color:var(--acc-text)}
.tr-step[data-state=done] .tr-found{display:block}
.tr-invite{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:center;padding:12px;border-radius:12px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.tr-invite-lbl{font-size:.75rem;font-weight:600;color:var(--muted);white-space:nowrap}
.tr-invite b{font-weight:700;font-size:.9375rem}
.tr-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:4px 4px 4px 12px;border-radius:10px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font:400 .8125rem/1.3 var(--f-mono)}
.tr-pill>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-callout{padding:10px 12px;border-radius:12px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);font-size:.8125rem;line-height:1.5;color:var(--ink-2)}
.tr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.tr-hint{font-size:.8125rem;color:var(--muted)}
.tr-ok{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9375rem;color:var(--acc-text)}
.tr-ok .ico{width:16px;height:16px;flex:none}
.tr-wait{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-weight:500;font-size:.9375rem;line-height:1.45}
.tr-points{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.875rem;color:var(--muted)}
.tr-points li{display:flex;gap:8px;align-items:flex-start}
.tr-points .ico{width:15px;height:15px;flex:none;margin-top:2px;color:var(--acc-text)}
.tr-ask{display:inline-flex;align-items:center;gap:7px;font-size:.8125rem;font-weight:500;color:var(--muted)}
.tr [data-when]{display:none}
.tr-step[data-state=todo] [data-when~=todo],.tr-step[data-state=busy] [data-when~=busy],.tr-step[data-state=done] [data-when~=done]{display:flex}
.tr-cv-done{display:grid;justify-items:center;gap:8px;margin-top:16px;padding:26px 20px;border-radius:20px;background:var(--surface);box-shadow:0 0 0 1.5px var(--acc),var(--shadow-md);text-align:center}
.tr-cv-done[hidden]{display:none}
.tr-cv-done .mark{width:72px;color:var(--ink)}
.tr-cv-done-h{margin-top:6px;font-family:var(--f-display);font-stretch:70%;font-weight:800;font-size:1.65rem;line-height:1.1}
.tr-cv-done p:last-child{max-width:46ch;color:var(--muted);font-size:.9375rem}
.tr-cv-foot{display:grid;gap:8px;justify-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted);text-align:center}
.tr-cv-foot b{color:var(--ink);font-weight:600}
.tr-cv-trust{display:inline-flex;align-items:center;gap:6px}
.tr-cv-trust .ico{width:14px;height:14px;color:var(--acc-text)}
.tr-pav{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--acc-soft-2);color:var(--acc-text)}
.tr-pav svg{width:20px;height:20px;fill:currentColor}
.tr-porter-pill{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 7px;border-radius:999px;background:var(--ink);color:var(--bg);font-weight:600;font-size:.8125rem;box-shadow:var(--shadow-md)}
.tr-porter-pill .tr-pav{background:var(--acc);color:var(--acc-ink)}

/* Presses in the story: a ring to show where the next click goes, then the press */
.tr-fake{position:relative;pointer-events:none;user-select:none;cursor:default}
.tr-fake.is-cue{box-shadow:0 0 0 5px var(--acc-soft-2)}
.tr-fake.is-pressed{transform:scale(.94)}
.tr-fake.is-pressed::after{content:"";position:absolute;inset:-5px;border-radius:inherit;border:2px solid var(--acc);opacity:0;animation:tr-tap .45s ease-out}
@keyframes tr-tap{0%{opacity:.7;transform:scale(.92)}100%{opacity:0;transform:scale(1.12)}}
.tr-xs{min-height:28px;padding:0 .6rem;font-size:.75rem;font-weight:500;border-radius:8px}
.tr-oauth .logo{width:16px;height:16px}
.tr-oauth .logo *{fill:currentColor!important;stroke:currentColor!important}
.tr-oauth .ico{width:14px;height:14px;opacity:.75}
.tr-pl{display:inline-flex;gap:3px}
.tr-pl i{width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor;opacity:.55}
@media (prefers-reduced-motion:no-preference){.tr-pl i{animation:tr-pl 1.3s infinite}.tr-pl i:nth-child(2){animation-delay:.18s}.tr-pl i:nth-child(3){animation-delay:.36s}}
@keyframes tr-pl{0%,100%{background:transparent;opacity:.55}40%,60%{background:currentColor;opacity:1}}

/* One-click steps: the platform's own sign-in opens in a popup window over the client's browser */
.tr-popup{position:absolute;z-index:8;left:50%;top:50%;width:360px;translate:-50% -44%;border-radius:14px;background:var(--surface);border:1px solid var(--line-2);box-shadow:0 34px 90px -24px rgba(5,8,14,.6),var(--shadow-lg);overflow:hidden;opacity:0;visibility:hidden;transform:scale(.96) translateY(12px);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s}
.tr-popup.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}
.tr-popup-bar{display:flex;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.tr-popup-bar .tr-dots i{width:9px;height:9px}
.tr-popup-title{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:.75rem;font-weight:500;color:var(--muted);white-space:nowrap}
.tr-popup-title .ico{width:12px;height:12px}
.tr-popup-body{display:grid;justify-items:center;gap:9px;padding:18px 20px;text-align:center}
.tr-popup-pair{display:flex;align-items:center;gap:10px}
.tr-popup-pair i{width:26px;border-top:2px dashed var(--acc)}
.tr-popup-pair .tr-lamp{--ls:42px}
.tr-lamp-mark .mark{width:28px;height:auto}
.tr-popup-h{margin-top:4px;font-weight:650;font-size:1rem;line-height:1.3}
.tr-popup-who{font-size:.75rem;color:var(--muted)}
.tr-popup-scopes{list-style:none;margin:2px 0 0;padding:10px 12px;width:100%;display:grid;gap:7px;border-radius:12px;background:var(--surface-2);text-align:left;font-size:.8125rem;line-height:1.4;color:var(--ink-2)}
.tr-popup-scopes li{display:flex;gap:8px;align-items:flex-start}
.tr-popup-scopes .ico{width:14px;height:14px;flex:none;margin-top:2px;color:var(--acc)}
.tr-popup-note{display:flex;align-items:center;gap:7px;font-size:.75rem;color:var(--muted)}
.tr-popup-note .ico{width:13px;height:13px;flex:none}
.tr-popup-acts{display:flex;justify-content:flex-end;gap:8px;width:100%;margin-top:4px}

/* Your dashboard. Under 600px wide it drops the sidebar, as the console does on a narrow window. */
.tr-window{container:trdash/inline-size}
.tr-winbar{display:flex;align-items:center;gap:14px;flex:none;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.tr-url{flex:1;min-width:0;display:flex;align-items:center;padding:7px 12px;border-radius:9px;background:var(--bg);border:1px solid var(--line);color:var(--muted);font:400 .8125rem/1.2 var(--f-mono);white-space:nowrap;overflow:hidden}
.tr-url b{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.tr-app{flex:1;min-height:0;display:grid;grid-template-columns:164px minmax(0,1fr)}
.tr-side{display:flex;flex-direction:column;gap:18px;min-width:0;padding:16px 12px;border-right:1px solid var(--line);background:var(--surface-2)}
.tr-ws{display:flex;align-items:center;gap:9px;padding:0 4px;font-weight:600;font-size:.875rem;white-space:nowrap}
.tr-ws .tr-sq{width:26px;height:26px}
.tr-nav{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.tr-nav li{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border-radius:10px;font-size:.875rem;font-weight:500;color:var(--muted);white-space:nowrap;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}
.tr-nav li.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.tr-nav .ico{width:17px;height:17px;flex:none}
.tr-signed{margin-top:auto;display:flex;align-items:center;gap:9px;padding:0 4px;font-size:.8125rem;font-weight:500;color:var(--ink-2)}
.tr-signed .tr-av{width:24px;height:24px;font-size:.6875rem}
.tr-main{position:relative;min-width:0;min-height:0;overflow:hidden}
.tr-main>.tr-view{padding:20px 22px}
.tr-h{font-family:var(--f-display);font-weight:740;font-size:1.35rem;line-height:1.1;letter-spacing:-.03em}
.tr-subh{margin:16px 0 8px;font-weight:600;font-size:.8125rem;color:var(--ink-2)}
.tr-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.tr-field{display:grid;gap:4px;min-width:0;padding:9px 12px;border-radius:12px;border:1px solid var(--line-2);background:var(--bg)}
.tr-field small{font:600 .625rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tr-field span{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-picks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tr-pick{display:grid;grid-template-columns:20px 30px minmax(0,1fr);gap:10px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:var(--surface);transition:border-color .3s ease,background-color .3s ease}
.tr-box{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;border:1.5px solid var(--line-2);color:transparent;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.tr-box .ico{width:12px;height:12px}
.tr-pick.is-on{border-color:color-mix(in srgb,var(--acc) 32%,var(--line-2));background:var(--acc-soft)}
.tr-pick.is-on .tr-box{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.tr-tile{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-2);color:var(--ink)}
.tr-tile .logo{width:16px;height:16px}
.tr-pick-name{display:grid;min-width:0;line-height:1.25}
.tr-pick-name b{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-pick-name small{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-create{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px}
.tr-sent{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:.8125rem;opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease}
.tr-sent.is-on{opacity:1;transform:none}
.tr-sent .ico{width:16px;height:16px;flex:none;color:var(--acc)}
.tr-sent code{min-width:0;font:400 .75rem/1.2 var(--f-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-sent-to{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--acc-text);white-space:nowrap}
.tr-sent-to .lt{width:9px;height:9px}
.tr-wh{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tr-wh-t{min-width:0}
.tr-wh-sub{margin-top:4px;font-size:.8125rem;color:var(--muted)}
.tr-live{display:inline-flex;align-items:center;gap:6px;flex:none;padding:2px 8px;border-radius:999px;background:var(--acc-soft-2);color:var(--acc-text);font-size:.6875rem;font-weight:600;white-space:nowrap}
.tr-live i{width:6px;height:6px;border-radius:50%;background:currentColor}
@media (prefers-reduced-motion:no-preference){.tr-live:not(.is-all) i{animation:tr-blink 1.4s ease-in-out infinite}}
.tr-watch .tr-live{margin-top:3px}
.tr-prog{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:.875rem;font-weight:500}
.tr-lights{display:inline-flex;gap:6px}
.tr-lights .lt{border-color:var(--line-2)}
.tr-lights .lt.on{border-color:var(--acc)}
.tr-rows{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--line)}
.tr-row{position:relative;isolation:isolate;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:6px 2px;border-bottom:1px solid var(--line)}
.tr-row::before{content:"";position:absolute;z-index:-1;inset:2px -8px;border-radius:10px;background:var(--acc-soft-2);opacity:0;transition:opacity .7s ease}
.tr-row.is-new::before{opacity:1;transition:none}
.tr-row-name{min-width:0;line-height:1.25}
.tr-row-name b{display:block;font-size:.875rem;font-weight:600}
.tr-row-name small{display:block;font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-row-st{font-size:.8125rem;font-weight:500;color:var(--muted);white-space:nowrap}
.tr-row[data-state=busy] .tr-row-st{color:var(--ink-2)}
.tr-row[data-state=done] .tr-row-st{color:var(--acc-text)}
.tr-feed{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tr-feed li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:9px 10px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:.8125rem;line-height:1.45}
.tr-feed li[hidden]{display:none}
.tr-fico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-2);color:var(--acc)}
.tr-fico .ico{width:15px;height:15px}
.tr-feed li.is-done .tr-fico{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.tr-feed time{display:block;margin-top:2px;color:var(--muted);font-family:var(--f-mono);font-size:.75rem}
@container trdash (max-width:599px){
  .tr-app{grid-template-columns:minmax(0,1fr)}
  .tr-side{display:none}
  .tr-main>.tr-view{padding:18px}
  .tr-picks{gap:6px}
  .tr-pick{grid-template-columns:18px 26px minmax(0,1fr);gap:8px;padding:6px 8px}
  .tr-box{width:18px;height:18px}
  .tr-tile{width:26px;height:26px}
  .tr-tile .logo{width:14px;height:14px}
  .tr-pick-name b{font-size:.8125rem}
  .tr-pick-name small{font-size:.6875rem}
}

/* A finished step travels from the client's page to its row on your dashboard (side by side only) */
.tr-sync{position:absolute;inset:0;z-index:9;width:100%;height:100%;pointer-events:none;overflow:visible}
.tr-trail{fill:none;stroke:var(--acc);stroke-width:1.5;stroke-opacity:.45;stroke-dasharray:3 6}
.tr-beam{fill:none;stroke:var(--acc-hi);stroke-width:3.5;stroke-linecap:round;filter:url(#tr-glow)}
.tr-ring{fill:none;stroke:var(--acc);stroke-width:2}
.tr-chip{position:absolute;z-index:10;left:0;top:0;pointer-events:none;box-shadow:0 0 0 4px var(--acc-soft-2),0 10px 24px -8px var(--glow)}

/* The bar: play and pause, the chapter in words, and the chapter rail. It stays in view while the stage is. */
.tr-bar{position:sticky;bottom:14px;z-index:11;margin-top:22px;padding:12px 14px 8px;border-radius:20px;background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--line-2);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--hi)}
.tr-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}
.tr-play{min-width:112px}
.tr-i{width:14px;height:14px;flex:none;fill:currentColor}
.tr-i-pause,.tr[data-play=on] .tr-i-play{display:none}
.tr[data-play=on] .tr-i-pause{display:block}
.tr-cap{min-width:0}
.tr-cap-k{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;font-size:.8125rem;font-weight:600;line-height:1.3;color:var(--acc-text);white-space:nowrap}
.tr-cap-k i{width:4px;height:4px;flex:none;border-radius:50%;background:currentColor;opacity:.6}
.tr-cap-k [data-tr-label]{overflow:hidden;text-overflow:ellipsis}
.tr-cap-t{margin-top:3px;font-size:.9375rem;line-height:1.45;color:var(--ink);text-wrap:pretty}
.tr-restart .ico,.tr-next .ico{width:16px;height:16px}
.tr-next{display:none}
.tr[data-play=end] .tr-next{display:inline-flex}
.tr[data-play=end] .tr-restart{display:none}
.tr-chapters{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;counter-reset:ch}
.tr-chapters>li{position:relative;min-width:0}
.tc{all:unset;box-sizing:border-box;display:grid;gap:7px;width:100%;padding:6px 2px 4px;border-radius:8px;cursor:pointer}
.tc:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.tc-track{position:relative;display:block;height:3px;border-radius:3px;background:var(--line-2);overflow:hidden}
.tc-track i{position:absolute;inset:0;border-radius:inherit;background:var(--acc);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.tc-label{font-size:.75rem;font-weight:500;line-height:1.3;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}
.tc:hover .tc-label,.tc[aria-current=step] .tc-label{color:var(--ink)}
.tc-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.tr-note{margin-top:14px;text-align:center;font-size:.8125rem;color:var(--muted)}

/* Reduced motion, and no JavaScript: the chapters become a storyboard beside the still stage */
:is(.tr.is-static,html:not(.js) .tr) .tr-bar{position:relative;bottom:auto;padding:14px}
.tr.is-static .tr-cap{visibility:hidden}
html:not(.js) .tr-controls,html:not(.js) .tr-note{display:none}
:is(.tr.is-static,html:not(.js) .tr) .tr-chapters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
html:not(.js) .tr .tr-chapters{margin-top:0}
:is(.tr.is-static,html:not(.js) .tr) .tr-chapters>li{display:grid;align-content:start;gap:6px;padding:14px 16px;border-radius:14px;border:1px solid var(--line-2);background:var(--surface)}
.tr.is-static .tr-chapters>li:has(.tc[aria-current=step]){border-color:color-mix(in srgb,var(--acc) 55%,var(--line-2))}
:is(.tr.is-static,html:not(.js) .tr) .tc{padding:0}
:is(.tr.is-static,html:not(.js) .tr) .tc-track{display:none}
:is(.tr.is-static,html:not(.js) .tr) .tc-label{white-space:normal;font-size:.9375rem;font-weight:600;color:var(--ink)}
:is(.tr.is-static,html:not(.js) .tr) .tc-label::before{counter-increment:ch;content:counter(ch) ". ";color:var(--acc-text)}
:is(.tr.is-static,html:not(.js) .tr) .tc-text{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;font-size:.875rem;line-height:1.5;color:var(--muted)}

/* Shorter screens keep the new-link form inside its window */
@media (max-height:820px) and (min-width:1180px){.tr-fields{display:none}.tr-compose .tr-subh{margin-top:12px}}

/* Under 1180px: one window at a time, drawn at its desktop size and scaled to fit (the script sets --s) */
@media (max-width:1179px){
  .tr{--s:.48}
  .tr-stage{display:block;max-width:716px;margin:0 auto;height:calc(540px * var(--s) + var(--fh))}
  .tr-focus{display:flex;gap:4px;width:max-content;max-width:100%;height:38px;margin:0 auto 14px;padding:3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
  .tr-focus-opt{display:inline-flex;align-items:center;gap:7px;padding:0 12px 0 4px;border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--muted);transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}
  .tr-focus .tr-av{width:24px;height:24px;font-size:.625rem}
  .tr-stage[data-focus=client] [data-focus-opt=client],.tr-stage[data-focus=you] [data-focus-opt=you]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
  .tr-persona{display:none}
  .tr-col{position:absolute;top:var(--fh);left:0;right:0;transition:opacity .35s ease .18s,visibility 0s linear 0s}
  .tr-stage[data-focus=you] .tr-col-client,.tr-stage[data-focus=client] .tr-col-agency{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
  .tr-fit{height:calc(540px * var(--s));overflow:hidden}
  .tr-win{width:700px;height:540px;margin-left:calc((100% - 700px * var(--s)) / 2);transform:scale(var(--s));transform-origin:0 0}
  .tr-frame{box-shadow:var(--shadow-md),inset 0 1px 0 var(--hi)}
  .tr-sync{display:none}
  .tr-bar{bottom:10px;margin-top:16px;padding:10px 12px 6px;border-radius:18px}
  .tr-controls{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"play key end" "text text text";gap:6px 10px}
  .tr-play{grid-area:play;min-width:0}
  .tr-cap{display:contents}
  .tr-cap-k{grid-area:key}
  .tr-cap-t{grid-area:text;margin:0;padding:0 2px;font-size:.875rem}
  .tr-restart,.tr-next{grid-area:end}
  .tr[data-play=end] .tr-controls{grid-template-areas:"play end end" "text text text"}
  .tr[data-play=end] .tr-cap-k{display:none}
  .tr[data-play=end] .tr-next{justify-self:end}
  .tr .btn-sm{min-height:36px}
  .tr-restart{padding:0 .75rem}
  .tr-restart span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .tr-chapters{gap:5px;margin-top:8px}
  .tc{padding:6px 0}
  .tc-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  /* Still: both windows, one above the other */
  :is(.tr.is-static,html:not(.js) .tr) .tr-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;height:auto}
  :is(.tr.is-static,html:not(.js) .tr) .tr-focus{display:none}
  :is(.tr.is-static,html:not(.js) .tr) .tr-col{position:static;opacity:1;visibility:visible}
  :is(.tr.is-static,html:not(.js) .tr) .tr-persona{display:flex;margin-bottom:10px}
  .tr.is-static .tr-cap-k,.tr.is-static .tr-cap-t{display:none}
  :is(.tr.is-static,html:not(.js) .tr) .tr-chapters{grid-template-columns:minmax(0,1fr)}
  :is(.tr.is-static,html:not(.js) .tr) .tc-label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
}
@media (max-width:1179px) and (min-width:480px){.tr{--s:.62}}
@media (max-width:1179px) and (min-width:620px){.tr{--s:.82}}
@media (max-width:1179px) and (min-width:760px){.tr{--s:1}}
@media (prefers-reduced-motion:reduce){
  .tr-view,.tr-mail-slot,.tr-msg,.tr-mail-empty,.tr-tab,.tr-popup,.tr-sent,.tr-pick,.tr-box,.tr-lamp,.tr-row::before,.tr-col,.tr-load{transition:none}
  .tr-fake.is-pressed::after{animation:none}
}
.tr-fake.is-busy{opacity:.9}
