/* Connect flow: choose a device, then one panel that shows the work. Paper, graphite and clay. */
.connect-page .page-head{gap:14px;margin-bottom:36px}.connect-page .page-title{font-size:clamp(44px,5vw,72px)}.connect-page .page-lead{max-width:36em}.connect-page .breadcrumb{margin-bottom:28px}
.connect-flow{max-width:900px;margin-bottom:clamp(48px,8vw,110px)}
.runtime-panel,.account-panel,.work-panel{min-width:0;scroll-margin-top:calc(var(--header) + 20px)}
.runtime-panel{animation:none}.runtime-panel .panel-title{margin-bottom:20px}

/* Step 1: choose */
.kind-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0}
.kind-choice{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px 14px;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-size:14px;transition:border-color .25s,background .25s}
.kind-choice:hover{border-color:var(--line-2)}
.kind-choice.selected{border-color:var(--clay);background:var(--clay-wash)}.kind-choice .icon{width:15px;flex:none}
.place-switch{display:flex;padding:4px;background:var(--paper-2);border-radius:12px;margin:24px 0;gap:4px}
.place-switch button{flex:1;background:transparent;border:0;border-radius:9px;padding:11px;font-size:13px;color:var(--muted);transition:background .25s,color .25s}
.place-switch button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 2px 7px #1e1d1a0b}
.start-note{display:flex;gap:12px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:13.5px;color:var(--muted)}
.start-note>span{color:var(--clay);padding-top:3px}.start-note strong{color:var(--ink);font-weight:500}
.runtime-panel .panel-bottom{gap:18px}
.onboarding-error{background:#f3dfd4;border-left:3px solid var(--clay);border-radius:0 10px 10px 0;padding:14px 18px;margin:18px 0;font-size:14px;overflow-wrap:anywhere}
.runtime-notice{border-left:2px solid var(--olive);padding-left:14px;margin:0 0 14px;font-size:14px;color:var(--muted)}
.runtime-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:20px}.runtime-actions .plain-button{font-size:13px}
.remote-guide{padding:10px 0}.remote-guide h3{font-size:30px;margin-bottom:8px}.remote-guide p{margin:12px 0;font-size:14px;color:var(--muted)}.connect-address{display:block;font:15px var(--sans);color:var(--clay-ink);overflow-wrap:anywhere;margin:16px 0}.remote-guide .text-link{margin-top:20px}
.device-name-option summary{cursor:pointer;font-size:14px}.device-name-option summary span{color:var(--muted)}.device-name-option[open] summary{margin-bottom:16px}

/* Step 2: the working panel */
.work-panel{display:flex;flex-direction:column;gap:22px;animation:none}
.work-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.work-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font:500 13px/1.3 var(--sans);color:var(--ink-2);white-space:nowrap}
.work-chip i{width:8px;height:8px;border-radius:50%;background:var(--faint)}
.work-chip[data-state=working] i{background:var(--clay);animation:work-pulse 1.9s var(--ease-in-out) infinite}
.work-chip[data-state=starting] i{background:var(--clay-2);animation:work-pulse 1.2s var(--ease-in-out) infinite}
.work-chip[data-state=paused]{color:var(--muted)}
@keyframes work-pulse{0%{box-shadow:0 0 0 0 rgba(196,97,63,.42)}70%{box-shadow:0 0 0 7px rgba(196,97,63,0)}100%{box-shadow:0 0 0 0 rgba(196,97,63,0)}}
.work-name{font:400 27px/1.1 var(--serif);letter-spacing:-.02em;min-width:0;overflow-wrap:anywhere}
.work-meta{display:flex;flex-wrap:wrap;gap:4px 0;margin-left:auto;font-size:13px;color:var(--muted)}
.work-meta span{white-space:nowrap}.work-meta span+span{margin-left:12px;padding-left:12px;border-left:1px solid var(--line-2)}

/* Stepper */
.work-steps{padding:16px 18px 12px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.work-stepper{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.work-stepper li{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;font:500 13px/1.3 var(--sans);color:var(--faint);white-space:nowrap;transition:color .35s}
.work-stepper li:not(:last-child)::after{content:"";flex:1 1 14px;min-width:10px;height:1px;margin:0 10px;background:var(--line-2);transition:background .35s}
.work-stepper li:last-child{flex:0 0 auto}
.step-dot{display:grid;place-items:center;flex:none;width:18px;height:18px;border-radius:50%;border:1px solid var(--line-2);background:var(--card);color:var(--paper);transition:background .35s,border-color .35s,box-shadow .35s}
.step-dot .icon{width:11px;height:11px}
.work-stepper .done{color:var(--olive)}.work-stepper .done .step-dot{border-color:var(--olive);background:var(--olive)}.work-stepper .done::after{background:var(--olive)}
.work-stepper .active{color:var(--ink)}.work-stepper .active .step-dot{border-color:var(--clay);background:var(--clay);box-shadow:0 0 0 4px var(--clay-wash)}
.step-text b{font-weight:500;color:var(--clay-ink);font-variant-numeric:tabular-nums}
.work-line{display:flex;align-items:center;gap:12px;min-height:20px;margin-top:10px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.work-bar{flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.work-bar i{display:block;height:100%;border-radius:inherit;background:var(--clay);transition:width .3s linear}

/* Task card */
.task-card{min-height:200px;padding:clamp(20px,3vw,30px);border:1px solid var(--line);border-radius:18px;background:var(--paper);overflow-wrap:anywhere}
.task-card>*{animation:task-in .5s var(--ease-out) both}
@keyframes task-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.task-source{font:500 13px/1.5 var(--sans);color:var(--muted)}
.task-source a{color:var(--clay-ink);text-decoration:underline;text-decoration-color:var(--clay-wash);text-underline-offset:3px;transition:text-decoration-color .3s}
.task-source a:hover{text-decoration-color:currentColor}
.task-source .icon{width:13px;height:13px;margin-left:3px;vertical-align:-2px}
.task-passage{margin:14px 0 0;padding-left:14px;border-left:2px solid var(--line-2);font:15px/1.6 var(--serif);color:var(--muted);max-width:44em}
.task-note{margin-top:22px;font:400 clamp(22px,2.3vw,27px)/1.38 var(--serif);letter-spacing:-.012em;color:var(--ink);max-width:30em}
.task-lead,.task-lead-only{color:var(--faint)}
.task-note.is-typing::after{content:"";display:inline-block;width:2px;height:.95em;margin-left:3px;vertical-align:-.12em;background:var(--clay);animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.task-thinking{display:flex;align-items:center;gap:7px;height:34px;margin-top:22px}
.task-thinking i{width:8px;height:8px;border-radius:50%;background:var(--line-2);transition:background .4s}
.task-thinking[data-on=true] i{background:var(--clay);animation:think 1.5s var(--ease-in-out) infinite}
.task-thinking[data-on=true] i:nth-child(2){animation-delay:.18s}.task-thinking[data-on=true] i:nth-child(3){animation-delay:.36s}
@keyframes think{0%,80%,100%{opacity:.28;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.task-skeleton{display:flex;flex-direction:column;gap:12px}
.task-skeleton i{display:block;height:11px;border-radius:6px;background:linear-gradient(90deg,var(--paper-2) 0%,var(--paper-3) 50%,var(--paper-2) 100%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}
.task-skeleton i:nth-child(1){width:42%}.task-skeleton i:nth-child(2){width:94%;margin-top:10px}.task-skeleton i:nth-child(3){width:72%}
@keyframes shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
.task-empty{color:var(--muted);font-size:15px}

/* Earlier notes */
.note-feed:empty{display:none}
.note-feed h3{font:500 13px/1.4 var(--sans);letter-spacing:0;color:var(--muted);margin-bottom:4px}
.note-feed ol{list-style:none;margin:0;padding:0}
.note-feed li{padding:12px 0;border-top:1px solid var(--line);opacity:calc(1 - var(--age,0) * .26);transition:opacity .5s}
.note-feed li:first-child{animation:task-in .5s var(--ease-out) both}
.note-feed p{font:17px/1.45 var(--serif);color:var(--ink-2);overflow-wrap:anywhere}
.note-feed span{display:block;margin-top:4px;font-size:12.5px;color:var(--muted)}
.note-feed a{color:inherit;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}.note-feed a:hover{color:var(--clay-ink)}

/* Counters */
.work-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.work-stats>div{min-width:0;padding:16px 0 14px 18px;border-left:1px solid var(--line)}
.work-stats>div:first-child{padding-left:0;border-left:0}
.work-stats dt{font:500 12.5px/1.4 var(--sans);color:var(--muted)}
.work-stats dd{margin:6px 0 0;font:400 34px/1.1 var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.work-stats dd small{margin-left:5px;font:500 12.5px var(--sans);letter-spacing:0;color:var(--muted)}

/* Controls */
.work-foot .panel-bottom{margin-top:0;padding-top:0;border-top:0}
.work-foot .onboarding-error{margin:0 0 16px}
.work-buttons{display:flex;align-items:center;gap:20px}
.work-buttons .button{min-width:124px}
.work-buttons .button .icon{width:14px;height:14px}.work-buttons .button:hover .icon{transform:none}

/* Account page (/pair) */
.paired-banner{display:flex;align-items:center;gap:20px;padding:24px 0;margin-top:22px;border-top:1px solid var(--line);color:var(--olive)}.paired-banner p{font-size:14px;color:var(--muted)}.paired-banner .icon{flex:none}
.account-panel{max-width:680px;margin:0 auto 80px;animation:none}.account-panel form .button{margin-top:20px}.account-panel .input-label{margin-top:20px}.account-panel .small-note{margin-top:14px}.pair-code-input{font-family:var(--sans);font-size:21px;letter-spacing:.04em}
.account-devices{border-top:1px solid var(--line);padding-top:24px;margin-top:36px}.account-device{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.account-device b{display:block;overflow-wrap:anywhere}.account-device small{display:block;color:var(--muted);font-size:12px;margin-top:4px}

@media(max-width:760px){
  .work-meta{margin-left:0;width:100%}
  .work-stepper{flex-direction:column;align-items:stretch;gap:10px}
  .work-stepper li::after{display:none}
  .work-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-stats>div:nth-child(3){padding-left:0;border-left:0}
  .work-stats>div:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:600px){
  .connect-page .page-lead{font-size:16px}.connect-page .page-head{margin-bottom:26px}
  .kind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .runtime-panel .panel-bottom,.work-foot .panel-bottom{flex-direction:column;align-items:stretch}
  .place-switch button{padding:10px 8px}
  .work-name{font-size:24px}
  .work-steps{padding:14px 16px 10px}
  .task-card{min-height:180px;border-radius:16px}
  .task-note{font-size:22px}
  .work-stats>div{padding:14px 0 12px 14px}
  .work-stats dd{font-size:28px}
  .work-buttons{justify-content:space-between}
  .work-buttons .button{flex:1}
  .account-panel{margin-bottom:30px}
}
@media(prefers-reduced-motion:reduce){
  .work-chip i,.task-thinking i,.task-skeleton i,.task-card>*,.note-feed li,.task-note.is-typing::after{animation:none!important}
}
