*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--font-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;line-height:1.5;overflow:hidden}button,a,[role=button]{touch-action:manipulation}body{font-size:var(--t-base)}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.app{top:var(--app-top,0px);height:var(--app-height,100%);background:var(--app-bg);flex-direction:row;display:flex;position:fixed;left:0;right:0;overflow:hidden}.main{min-width:0;margin:var(--s-2) var(--s-2) var(--s-2) 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.main:focus{outline:none}.app.rail-collapsed .main{margin-left:var(--s-2)}.skip-link{top:var(--s-2);left:var(--s-2);z-index:100;padding:var(--s-1) var(--s-3);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:var(--t-sm);font-weight:var(--w-medium);border:1px solid var(--line);translate:0 calc(-100% - var(--s-4));text-decoration:none;position:absolute}.skip-link:focus-visible{translate:0}@media (hover:none) and (pointer:coarse){.skip-link{display:none}}.topbar{align-items:center;gap:var(--s-2);min-height:44px;padding:var(--s-2) var(--s-3);z-index:30;transition:border-color var(--dur) var(--ease);border-bottom:1px solid #0000;flex:none;grid-template-columns:minmax(max-content,1fr) minmax(0,max-content) minmax(max-content,1fr);display:grid}.topbar.is-scrolled{border-bottom-color:#0000}.topbar-actions{flex:none;align-items:center;gap:2px;display:flex}.topbar-actions:empty{display:none}.topbar-left{align-items:center;gap:var(--s-1);justify-self:start;display:flex}.topbar-right{align-items:center;gap:var(--s-1);justify-self:end;display:flex}.brand{align-items:center;gap:var(--s-2);font-size:var(--t-sm);font-weight:var(--w-semibold);letter-spacing:-.005em;justify-self:center;display:flex}.brand svg{width:var(--icon-lg);height:var(--icon-lg);color:var(--brand)}.rail .brand svg{width:calc(var(--icon-lg) + 2px);height:calc(var(--icon-lg) + 2px);margin-left:-2px}.icon-btn{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-2);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;place-items:center;display:grid}.icon-btn:hover{background:var(--sunken);color:var(--ink)}.icon-btn svg{width:var(--icon-md);height:var(--icon-md)}.surface{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.thread{scrollbar-gutter:stable both-edges;flex:1;min-height:0;overflow-y:auto}.column{width:min(var(--column), 100% - var(--s-6));padding:var(--s-4) 0 var(--s-6);gap:var(--s-4);flex-direction:column;min-height:100%;margin:0 auto;display:flex}.column.is-empty{justify-content:center;padding-bottom:12vh}.turn-user-row{flex-direction:column;align-self:flex-end;align-items:flex-end;gap:2px;max-width:82%;display:flex}.turn-user-actions{opacity:0;transition:opacity var(--dur) var(--ease);display:flex}.turn-user-row:hover .turn-user-actions,.turn-user-row:focus-within .turn-user-actions{opacity:1}@media (hover:none){.turn-user-actions{opacity:1}}.turn-user{background:var(--sunken);border-radius:var(--r-lg);max-width:100%;padding:7px var(--s-3);white-space:pre-wrap;overflow-wrap:anywhere;text-wrap:balance;box-sizing:border-box;font-size:var(--t-chat);border-end-end-radius:var(--r-sm)}.turn-assistant{font-size:var(--t-chat);max-width:72ch;line-height:1.6}.turn-assistant>:first-child{margin-top:0}.turn-assistant>:last-child{margin-bottom:0}.turn-assistant p{margin:0 0 var(--s-4)}.turn-assistant h1,.turn-assistant h2,.turn-assistant h3{font-size:var(--t-sm);font-weight:var(--w-semibold);letter-spacing:.01em;text-transform:uppercase;color:var(--ink-2);margin:var(--s-5) 0 var(--s-2)}.turn-assistant ul,.turn-assistant ol{margin:0 0 var(--s-4);padding-left:1.25em}.turn-assistant li{margin-bottom:var(--s-2)}.turn-assistant strong{font-weight:var(--w-semibold)}.turn-assistant code{background:var(--sunken);border-radius:6px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.9em}.turn-assistant table{border-collapse:collapse;width:100%;margin:var(--s-2) 0 var(--s-4);font-size:var(--t-sm);line-height:1.45}.turn-assistant th{text-align:left;font-weight:var(--w-medium);color:var(--ink-2);padding:var(--s-2) var(--s-3) var(--s-2) 0;border-bottom:1px solid var(--line-strong);white-space:nowrap}.turn-assistant td{padding:var(--s-2) var(--s-3) var(--s-2) 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:top}.tool-line{align-items:baseline;column-gap:var(--s-2);font-size:var(--t-sm);color:var(--ink-3);flex-wrap:wrap;row-gap:0;display:flex}.tool-line>span{overflow-wrap:anywhere;min-width:0}.tool-line.change{column-gap:var(--s-3);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;display:grid}.tool-line.change>b{grid-area:1/1}.tool-line.change>span:not(.cannot){grid-area:2/1}.tool-line.change>.undo,.tool-line.change>.cannot{grid-area:1/2/span 2;align-self:center}.tool-line.change b{color:var(--ink)}.tool-line.change>span{color:var(--ink-2)}.undo{font:inherit;cursor:pointer;color:var(--ink-2);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);transition:color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease);background:0 0;border:0;padding:0}.undo:hover{color:var(--accent);text-decoration-color:currentColor}.tool-line .cannot{color:var(--ink-3)}.tool-line b{font-weight:var(--w-medium);color:var(--ink-2)}.tool-line:not(.change)>b+span:before{content:"·";margin-right:var(--s-2);color:var(--ink-3)}.activity{gap:var(--s-2);flex-direction:column;display:flex}.activity-head{align-self:flex-start;align-items:center;gap:var(--s-2);max-width:calc(100% + var(--s-4));margin:0 calc(var(--s-2) * -1);padding:2px var(--s-2);border-radius:var(--r-md);font:inherit;font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink-2);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;display:inline-flex}.activity-head:hover{background:var(--sunken);color:var(--ink)}.activity-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.activity-count{color:var(--ink-3);font-weight:var(--w-regular);font-variant-numeric:tabular-nums;flex:none}.activity-chevron{color:var(--ink-3);transition:rotate var(--dur) var(--ease);place-items:center;display:grid}.activity-chevron svg{width:12px;height:12px}.activity.open .activity-chevron{rotate:180deg}.activity-list{gap:var(--s-1);padding-left:var(--s-3);border-left:1px solid var(--line);font-size:var(--t-sm);color:var(--ink-3);font-variant-numeric:tabular-nums;animation:fade var(--dur) var(--ease);flex-direction:column;margin-left:3px;display:flex}.activity-list.solo{border-left:0;margin-left:0;padding-left:0;animation:none}.step{gap:var(--s-3);display:flex}.step>*{flex:1;min-width:0}.turn-origin{align-items:baseline;gap:var(--s-2);font-size:var(--t-sm);color:var(--ink-3);flex-wrap:wrap;margin:0;display:flex}.turn-origin b{font-weight:var(--w-medium);color:var(--ink-2)}.thinking{font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink);animation:glint 1.8s linear infinite, fade var(--dur) var(--ease);align-self:flex-start;-webkit-mask-image:linear-gradient(90deg,#0003 0% 35%,#000 50%,#0003 65% 100%);mask-image:linear-gradient(90deg,#0003 0% 35%,#000 50%,#0003 65% 100%);-webkit-mask-size:300% 100%;mask-size:300% 100%}@keyframes glint{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}.pip{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.empty{gap:var(--s-5);flex-direction:column;display:flex}.empty h2{font-size:var(--t-xl);font-weight:var(--w-semibold);letter-spacing:-.02em;margin:0}.openers{align-items:flex-start;gap:var(--s-2);flex-direction:column;display:flex}.next-steps{align-items:center;gap:var(--s-2);animation:fade var(--dur) var(--ease);flex-wrap:wrap;display:flex}.next-steps.expired>span{font-size:var(--t-sm);color:var(--ink-3)}.next-step{align-items:center;gap:var(--s-1);max-width:100%;min-height:32px;padding:5px var(--s-2) 5px var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-full);background:var(--surface);font:inherit;font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);display:inline-flex}.next-step svg{width:var(--icon-md);height:var(--icon-md);color:var(--ink-3);transition:color var(--dur) var(--ease), translate var(--dur) var(--ease);flex:none}.next-step:hover{border-color:var(--accent-line);background:var(--accent-wash);color:var(--accent)}.next-step:hover svg{color:var(--accent);translate:2px}.next-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.next-step:active{translate:0 1px}@media (prefers-reduced-motion:reduce){.next-step svg,.next-step:active{translate:none}}@media (pointer:coarse){.next-step{min-height:44px}}.opener{align-items:center;gap:var(--s-2);max-width:100%;color:var(--ink-2);border-radius:var(--r-sm);padding:6px var(--s-2);font:inherit;font-size:var(--t-base);cursor:pointer;text-align:left;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;display:inline-flex}.opener:hover{background:var(--sunken);color:var(--ink)}.opener:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.opener:active{translate:0 1px}@media (pointer:coarse){.opener{min-height:44px}}.dock{padding:0 0 var(--s-4);background:linear-gradient(to top, var(--paper) 62%, transparent);flex:none;position:relative}.jump-latest{z-index:5;left:50%;top:calc(-36px - var(--s-2));min-width:44px;height:36px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);color:var(--ink-2);box-shadow:var(--shadow-card);cursor:pointer;animation:rise var(--dur) var(--ease);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);place-items:center;display:grid;position:absolute;translate:-50%}.jump-latest:hover{background:var(--sunken);color:var(--ink)}.jump-latest:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jump-latest svg{width:var(--icon-md);height:var(--icon-md)}.jump-dots{align-items:center;gap:4px;height:16px;display:inline-flex;translate:0 1px}.jump-dots span{border-radius:var(--r-full);opacity:.4;background:currentColor;width:5px;height:5px;animation:1.3s infinite jump-typing}.jump-dots span:nth-child(2){animation-delay:.14s}.jump-dots span:nth-child(3){animation-delay:.28s}@keyframes jump-typing{0%{opacity:.4;animation-timing-function:cubic-bezier(.3,0,.4,1);translate:0;scale:.9}22%{opacity:1;animation-timing-function:cubic-bezier(.34,1.56,.64,1);translate:0 -3px;scale:1.05}48%{opacity:.75;translate:0;scale:1}to{opacity:.4;translate:0;scale:.9}}@media (prefers-reduced-motion:reduce){.jump-latest{animation:none}.jump-dots span{opacity:.7;animation:none}}.dock-inner{width:min(var(--column), 100% - var(--s-6));margin:0 auto}.composer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);gap:var(--s-1);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;display:flex}.composer-row{align-items:center;gap:var(--s-2);display:flex}.composer-row .spacer{flex:1}.composer-row .where{font-size:var(--t-xs);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.composer:focus-within{border-color:var(--line-strong)}.composer textarea{--rows:4;--leading:1.55;--pad-y:7px;resize:none;width:100%;padding:var(--pad-y) 0;line-height:var(--leading);max-height:calc(var(--rows) * var(--leading) * 1em + var(--pad-y) * 2);background:0 0;border:0;outline:0;flex:none}.composer textarea::placeholder{color:var(--ink-2)}.send{border-radius:var(--r-full);background:var(--accent-fill);width:32px;height:32px;color:var(--on-accent);cursor:pointer;transition:background var(--dur) var(--ease);border:0;flex:none;place-items:center;display:grid}.send:hover:not(:disabled){background:var(--accent-fill-hover)}.send:disabled{background:var(--sunken-2);color:var(--ink-3);cursor:default}.send svg{width:16px;height:16px}.send.is-stop{background:var(--ink);color:var(--paper)}.send.is-stop:hover{background:color-mix(in oklch, var(--ink) 82%, var(--paper))}.stop-square{background:currentColor;border-radius:2px;width:10px;height:10px}.send.voice-mode{background:var(--ink);color:var(--paper);position:relative}.send.voice-mode:hover:not(:disabled){background:color-mix(in oklch, var(--ink) 82%, var(--paper))}.send.voice-mode .tip{align-items:center;gap:var(--s-2);padding:3px 3px 3px var(--s-2);border-radius:var(--r-sm);background:var(--ink);color:var(--paper);font-size:var(--t-xs);font-weight:var(--w-medium);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s var(--ease), translate .12s var(--ease);z-index:30;line-height:1.4;display:inline-flex;position:absolute;bottom:calc(100% + 6px);right:0;translate:0 2px}.send.voice-mode .tip:not(:has(kbd)){padding-right:var(--s-2)}.send.voice-mode .tip kbd{font:inherit;padding:0 var(--s-1);border-radius:calc(var(--r-sm) - 2px);background:color-mix(in oklch, var(--paper) 22%, var(--ink));letter-spacing:.06em}.send.voice-mode:hover .tip,.send.voice-mode:focus-visible .tip{opacity:1;transition-delay:.3s;translate:0}@media (hover:none){.send.voice-mode .tip{display:none}}@media (prefers-reduced-motion:reduce){.send.voice-mode .tip{transition:none;translate:0}}.dock-meta{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4) 0;font-size:var(--t-xs);color:var(--ink-3);display:flex}.dock-meta .where{align-items:center;gap:var(--s-1);color:var(--ink-2);display:inline-flex}.dock-meta kbd{font:inherit;color:var(--ink-2)}.dock-meta .spacer{margin-left:auto}.approval{border:1px solid var(--accent-line);background:var(--accent-wash);border-radius:var(--r-lg);padding:var(--s-3);gap:var(--s-3);animation:rise var(--dur-slow) var(--ease);flex-direction:column;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.approval .eyebrow{align-items:center;gap:var(--s-2);font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2);display:flex}.approval .eyebrow svg{width:14px;height:14px;color:var(--accent)}.approval .what{font-size:var(--t-base);color:var(--ink);line-height:1.6}.approval .plan-view{gap:var(--s-3);flex-direction:column;display:flex}.approval .plan-headline{font-size:var(--t-lg);font-weight:var(--w-semibold);margin:0;line-height:1.35}.approval .plan-rows{gap:var(--s-3);flex-direction:column;margin:0;display:flex}.approval .plan-row{flex-direction:column;gap:2px;display:flex}.approval .plan-row dt{font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink-2)}.approval .plan-row dd{font-size:var(--t-base);margin:0;line-height:1.45}.approval .plan-note{font-size:var(--t-sm);color:var(--ink-2);margin:0;line-height:1.5}.approval .row{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.approval .row .spacer{margin-left:var(--s-2);font-size:var(--t-xs);color:var(--ink-2);flex:0 auto;min-width:0}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-md);padding:var(--s-2) var(--s-4);min-height:38px;font-size:var(--t-base);font-weight:var(--w-medium);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);flex:none}.btn:hover{background:var(--sunken)}.btn.primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.btn.small{min-height:30px;padding:4px var(--s-3);font-size:var(--t-sm)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--sunken);color:var(--ink)}.plan{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);margin-bottom:var(--s-2);animation:rise var(--dur-slow) var(--ease);position:relative;overflow:hidden}.plan-clear{z-index:1;border-radius:var(--r-md);width:26px;height:26px;color:var(--ink-3);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:5px;right:4px}.plan-clear:hover{background:var(--sunken-2);color:var(--ink)}.plan-clear svg{width:14px;height:14px}.plan-head{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2) 34px var(--s-2) var(--s-3);cursor:pointer;text-align:left;font:inherit;font-size:var(--t-sm);color:var(--ink);background:0 0;border:0;display:flex}.plan-head:hover{background:var(--sunken)}.plan-count{color:var(--ink-3);font-size:var(--t-xs);font-variant-numeric:tabular-nums;flex:none}.plan-now{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.plan-chevron{color:var(--ink-3);transition:rotate var(--dur) var(--ease);flex:none;place-items:center;display:grid}.plan-chevron svg{width:12px;height:12px}.plan.open .plan-chevron{rotate:180deg}.plan-list{padding:var(--s-1) var(--s-3) var(--s-3);flex-direction:column;gap:2px;max-height:40vh;margin:0;list-style:none;display:flex;overflow-y:auto}.plan-item{gap:var(--s-2);font-size:var(--t-sm);grid-template-columns:18px 1fr;align-items:start;line-height:1.45;display:grid}.plan-mark{height:20px;color:var(--ink-3);place-items:center;display:grid}.plan-mark svg{width:12px;height:12px}.plan-text{flex-direction:column;padding:1px 0;display:flex}.plan-note{color:var(--ink-3);font-size:var(--t-xs)}.plan-item.todo{color:var(--ink-3)}.plan-item.doing{color:var(--ink);font-weight:var(--w-medium)}.plan-item.queued .plan-mark:before{content:"";border:1px dashed var(--ink-3);border-radius:50%;width:9px;height:9px}.plan-item.done,.plan-item.skipped,.plan-item.done .plan-mark,.plan-item.skipped .plan-mark{color:var(--ink-3)}.plan-item.done .plan-title,.plan-item.skipped .plan-title{text-decoration:line-through}.plan-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite pulse}.plan-add{gap:var(--s-2);padding:var(--s-2) var(--s-3) var(--s-3);display:flex}.plan-add input{min-width:0;font:inherit;font-size:var(--t-sm);color:var(--ink);background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);flex:1}.plan-add input::placeholder{color:var(--ink-3)}.plan-add button{font:inherit;font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink);background:var(--sunken-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);cursor:pointer;flex:none}.plan-add button:hover:not(:disabled){background:var(--raised)}.plan-add button:disabled{opacity:.45;cursor:default}.asking{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-lg);padding:var(--s-3);gap:var(--s-3);box-shadow:var(--shadow-sm);animation:rise var(--dur-slow) var(--ease);flex-direction:column;display:flex}.asking .eyebrow{align-items:center;gap:var(--s-2);font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2);display:flex}.asking .eyebrow svg{width:14px;height:14px}.asking .what{font-size:var(--t-base);font-weight:var(--w-medium);margin:0;line-height:1.5}.asking .why{margin:calc(var(--s-2) * -1) 0 0;font-size:var(--t-sm);color:var(--ink-2)}.asking .row{align-items:center;gap:var(--s-2);flex-wrap:wrap;min-height:38px;display:flex}.asking .row .spacer{font-size:var(--t-xs);color:var(--ink-3);flex:0 auto;min-width:0;margin-left:auto}.asking .row .spacer kbd{font:inherit;font-weight:var(--w-semibold);color:var(--ink-2)}.choices{gap:var(--s-1);flex-direction:column;display:flex}.choice{align-items:start;gap:var(--s-3);text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--paper);border-radius:var(--r-md);width:100%;padding:var(--s-2) var(--s-3);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), transform var(--dur) var(--ease), opacity var(--dur) var(--ease);grid-template-columns:auto 1fr;display:grid}.choice:hover{border-color:var(--line-strong);background:var(--sunken)}.choice.dim{opacity:.5}.choice.dim:hover{opacity:1}.choice.custom{cursor:text}.choice.custom input{color:var(--ink);font:inherit;font-size:var(--t-sm);background:0 0;border:0;outline:none;width:100%;padding:0}.choice.custom input::placeholder{color:var(--ink-3)}.choice-key.done{border-color:var(--ink);background:var(--ink);color:var(--ink-inverse)}.choice-key svg{width:12px;height:12px}.choice:active{transform:translateY(1px)}.choice.on{border-color:var(--line-strong);background:var(--sunken-2)}.choice-text{flex-direction:column;gap:2px;min-width:0;display:flex}.choice-label{font-size:var(--t-base);font-weight:var(--w-medium);align-items:center;gap:var(--s-2);display:flex}.tab-hint{font:inherit;font-size:var(--t-xs);font-weight:var(--w-regular);color:var(--ink-3);border:1px solid var(--line);border-radius:5px;padding:0 5px;line-height:1.5}.choice-desc{font-size:var(--t-sm);color:var(--ink-2);line-height:1.4}.choice-key{border:1px solid var(--line-strong);background:var(--surface);width:22px;height:22px;color:var(--ink-3);font-size:var(--t-xs);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);border-bottom-width:2px;border-radius:6px;place-items:center;margin-top:1px;line-height:1;display:grid}.choice:hover .choice-key{border-color:var(--line-strong);color:var(--ink-2)}.choice.on .choice-key{border-color:var(--ink);background:var(--ink);color:var(--ink-inverse)}.browser{top:var(--s-3);right:var(--s-3);width:clamp(240px, (100% - var(--column)) / 2 - var(--s-4), var(--card-w));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);z-index:20;transform-origin:100% 0;animation:settle var(--dur-slow) var(--ease);transition:box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);will-change:transform;position:absolute;overflow:hidden}.browser.corner:hover{border-color:var(--line-strong)}.browser-restore{position:relative}.browser-restore .badge{border-radius:var(--r-full);background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 1.5px var(--paper);animation:1.2s ease-in-out infinite pulse;position:absolute;top:5px;right:5px}@media (pointer:coarse){.browser-restore .badge{top:9px;right:9px}}.browser-strip{align-items:center;gap:var(--s-2);min-height:32px;margin-bottom:var(--s-2);padding:0 var(--s-1) 0 var(--s-3);border-top:1px solid var(--line);background:var(--paper);font-size:var(--t-sm);color:var(--ink-2);display:flex}.browser-strip .dot{background:var(--ink-3);border-radius:50%;flex:none;width:7px;height:7px}.browser-strip .dot.live{background:var(--good)}.browser-strip .dot.busy{background:var(--accent);animation:1.2s ease-in-out infinite pulse}.browser-strip .path{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--w-medium);flex:1;overflow:hidden}.browser-strip .btn.small{min-height:28px}@keyframes settle{0%{opacity:0;transform:scale(.97)}}.browser{--browser-chrome:96px}.browser.focused{width:min(1120px, 92vw, (92dvh - var(--browser-chrome)) * 1.6);z-index:60;box-shadow:var(--shadow-float);position:fixed;inset:50% auto auto 50%;translate:-50% -50%}.browser.focused.from-button{top:var(--from-top);right:var(--from-right);width:min(1120px, 92vw, (100dvh - var(--from-top) - var(--s-3) - var(--browser-chrome)) * 1.6);left:auto;translate:none}.scrim{background:var(--scrim);z-index:50;animation:fade var(--dur-slow) var(--ease);border:0;padding:0;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.browser-bar.draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.browser-bar.draggable:active{cursor:grabbing}.browser-bar{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);border-bottom:1px solid var(--line);background:var(--raised);display:flex}.browser-bar .dot{background:var(--ink-3);border-radius:50%;flex:none;width:7px;height:7px}.browser-bar .dot.live{background:var(--good)}.browser-bar .dot.busy{background:var(--accent);animation:1.2s ease-in-out infinite pulse}.browser-bar .path{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink-2);flex:1;overflow:hidden}.shot-empty{justify-content:center;align-items:center;gap:var(--s-1);padding:var(--s-4);text-align:center;background:var(--sunken);color:var(--ink-2);font-size:var(--t-sm);flex-direction:column;display:flex;position:absolute;inset:0}.shot-empty b{color:var(--ink);font-weight:var(--w-semibold)}.browser-shot{aspect-ratio:1440/900;background:var(--sunken);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.browser-shot img{object-fit:cover;object-position:top left;width:100%;height:100%;display:block}.browser.focused .browser-shot{cursor:default}.browser.driving .browser-shot{cursor:crosshair}.browser.driving{border-color:var(--accent);box-shadow:var(--shadow-float), 0 0 0 3px var(--accent-wash)}.shot-hint{padding:var(--s-2) var(--s-3);font-size:var(--t-xs);color:var(--on-overlay);background:var(--overlay-ink);text-align:left;opacity:0;transition:opacity var(--dur) var(--ease);position:absolute;inset:auto 0 0}.browser.corner:hover .shot-hint{opacity:1}.browser-foot{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);white-space:nowrap;border-top:1px solid var(--line);background:var(--raised);font-size:var(--t-xs);color:var(--ink-3);display:flex}.browser-foot b{font-weight:var(--w-medium);color:var(--ink-2)}.browser-where{text-overflow:ellipsis;min-width:0;overflow:hidden}.browser-foot .spacer{margin-left:auto}.driving-note{color:var(--accent);font-weight:var(--w-medium)}.anchor{display:inline-flex;position:relative}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(-4px)}}.notice{color:var(--danger);font-size:var(--t-sm)}.voice{align-items:center;gap:var(--s-2);min-width:0;display:inline-flex}.voice-word{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;max-width:16rem;overflow:hidden}.voice.error .voice-word{color:var(--danger);white-space:normal;max-width:18rem;line-height:1.35}.voice-btn{border-radius:var(--r-full);width:32px;height:32px;color:var(--ink-2);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;border:0;flex:none;place-items:center;display:grid;position:relative}.voice-btn svg{width:16px;height:16px;position:relative}.voice-btn:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.voice-btn:disabled{opacity:.45;cursor:default}.voice.listening .voice-btn,.voice.speaking .voice-btn{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}.voice.error .voice-btn{color:var(--danger);border-color:var(--danger)}@media (pointer:coarse){.voice-btn{width:44px;height:44px}}.voice-btn.is-primary{color:var(--ink-2);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0}.voice-btn.is-primary:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.voice-btn.is-live,.voice-btn.is-live:hover:not(:disabled){background:var(--ink);color:var(--paper)}.voice-btn.is-live:disabled{opacity:1}.voice-dots{align-items:center;gap:3px;height:18px;display:inline-flex}.voice-dots span{width:4px;height:calc(4px + var(--v,0) * 14px);border-radius:var(--r-full);background:currentColor;transition:height 90ms cubic-bezier(.34,1.56,.64,1)}.voice-dots.is-thinking span{height:4px;animation:1.3s infinite jump-typing}.voice-dots.is-thinking span:nth-child(2){animation-delay:.14s}.voice-dots.is-thinking span:nth-child(3){animation-delay:.28s}@media (prefers-reduced-motion:reduce){.voice-dots span{transition:none}.voice-dots.is-thinking span{opacity:.7;animation:none}.pip,.plan-dot,.browser-restore .dot,.browser-bar .dot.busy{animation:none}.thinking{color:var(--ink-2);animation:none;-webkit-mask-image:none;mask-image:none}}@media (max-width:640px){:root{--t-base:1rem;--t-chat:1rem;--t-md:1rem;--t-sm:.875rem;--t-xs:.8125rem}}@media (pointer:coarse){:root{--icon-sm:14px;--icon-md:18px;--icon-lg:20px}.icon-btn svg,.rail-item svg,.reply-action svg,.feed-icon-btn svg,.feed-cta svg,.voice-btn svg,.alert-more svg,.rail-chat-more svg{width:var(--icon-lg);height:var(--icon-lg)}.send svg{width:20px;height:20px}.stop-square{width:12px;height:12px}.icon-btn,.send{width:44px;height:44px}.btn{min-height:44px}.auto-btn{min-height:44px;padding-inline:var(--s-3)}.browser-strip{min-height:44px}textarea,input:not([type=checkbox]):not([type=radio]),select{font-size:max(1rem, var(--t-base))}}@media (max-width:860px){.browser{width:min(var(--column), 100% - var(--s-6));transform-origin:top;max-width:none;margin:0;position:absolute;top:0;left:50%;translate:-50%}.browser.focused{width:min(94vw, (92dvh - var(--browser-chrome)) * 1.6);max-width:none;margin:0;position:fixed;top:50%;translate:-50% -50%}.thread{padding-top:var(--browser-h,0px);transition:padding-top var(--dur-slow) var(--ease)}.main,.app.rail-collapsed .main{border:0;border-radius:0;margin:0}}@media (max-width:900px){.turn-assistant{font-size:var(--t-base)}.topbar{padding:var(--s-2) var(--s-4)}}.turn-card{width:100%;margin-block:var(--s-2)}.turn-view{margin-top:var(--s-2);margin-bottom:var(--s-2)}.approval.as-message .msg{background:var(--surface)}.approval.as-message>.spacer{font-size:var(--t-xs);color:var(--ink-2)}.msg{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.msg-failed{border-color:var(--danger)}.msg-head{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);background:var(--sunken);border-bottom:1px solid var(--line);font-size:var(--t-sm);display:flex}.msg-icon{color:var(--ink-3);flex:none;place-items:center;display:grid}.msg-icon svg{width:14px;height:14px}.msg-failed .msg-icon{color:var(--danger)}.msg-to{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--w-medium);color:var(--ink);flex:1;overflow:hidden}.msg-to-label{color:var(--ink-3);font-weight:var(--w-regular)}.msg-pill{border-radius:var(--r-full);font-size:var(--t-xs);font-weight:var(--w-medium);background:var(--sunken-2);color:var(--ink-2);flex:none;padding:2px 9px}.msg-pill-sent{background:var(--good-wash);color:var(--good)}.msg-pill-failed{background:var(--danger-wash);color:var(--danger)}.msg-pill-already{background:var(--sunken-2);color:var(--ink-2)}.msg-body{padding:var(--s-3)}.msg-body p{font-size:var(--t-base);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.msg-body .msg-note{margin-top:var(--s-2);color:var(--ink-3);font-size:var(--t-xs)}.msg-body textarea{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;padding:var(--s-2);font:inherit;font-size:var(--t-base);resize:none;background:var(--surface);color:var(--ink);outline:none;line-height:1.5}.msg-body textarea:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-wash)}.msg-actions{gap:var(--s-2);padding:0 var(--s-3) var(--s-3);display:flex}.msg-actions .btn{align-items:center;gap:var(--s-2);min-height:34px;display:inline-flex}.msg-actions .btn svg{width:14px;height:14px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.view-card{gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;display:flex}.view-card.active{border-color:var(--accent-line)}.view-head{justify-content:space-between;align-items:flex-start;gap:var(--s-2);display:flex}.view-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.view-titles h3{font-size:var(--t-base);font-weight:var(--w-semibold);color:var(--ink);margin:0}.view-titles span{font-size:var(--t-sm);color:var(--ink-2)}.view-actions{align-items:center;gap:var(--s-1);flex:none;display:flex}.view-action svg{width:14px;height:14px}.btn.view-action{align-items:center;gap:var(--s-1);display:inline-flex}.stat-row{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(4.25rem,1fr));margin:0;display:grid}.stat{flex-direction:column;gap:2px;min-width:0;display:flex}.stat dt{font-size:var(--t-xs);color:var(--ink-2)}.stat dd{font-size:var(--t-lg);font-weight:var(--w-semibold);color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.day-strip{gap:var(--s-1);padding:var(--s-3) 0 0;border-top:1px solid var(--line);grid-template-columns:repeat(7,1fr);margin:0;list-style:none;display:grid}.day-strip li{flex-direction:column;align-items:center;gap:2px;display:flex}.day-strip .day{font-size:var(--t-xs);color:var(--ink-3)}.day-strip .count{font-size:var(--t-sm);font-weight:var(--w-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.view-lines{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.view-followup{color:var(--ink-2)}.view-lines li{justify-content:space-between;align-items:center;gap:var(--s-2);font-size:var(--t-sm);color:var(--ink);display:flex}.issue-pill{padding:2px var(--s-2);border-radius:var(--r-full);background:var(--warn-wash);color:var(--warn);font-size:var(--t-xs);font-weight:var(--w-medium);flex:none;align-items:center;gap:4px;display:inline-flex}.issue-pill svg{width:12px;height:12px}.timecard-rows{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timecard-row-head{justify-content:space-between;align-items:center;gap:var(--s-2);font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink);display:flex}.timecard-rows .kv-list>div:last-child{border-bottom:0}.view-empty,.view-note{font-size:var(--t-sm);color:var(--ink-2);margin:0}.view-unavailable{font-size:var(--t-sm);color:var(--ink-3);margin:0}.view-error{font-size:var(--t-xs);color:var(--ink-2)}.view-partial{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--sunken);font-size:var(--t-sm);color:var(--ink);margin:0}.workspace{flex:1;min-height:0;display:flex;position:relative}.workspace>.surface{flex:42%;min-width:0}.view-panel{background:var(--surface);flex-direction:column;min-height:0;display:flex}.artifact,.artifact-divider{display:none}.artifact:has(.view-panel){min-width:480px;margin:var(--s-2) var(--s-2) var(--s-2) 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);animation:panel-in var(--dur-slow) var(--ease);flex:auto;display:flex;overflow:hidden}.app:has(.artifact .view-panel) .main{flex:0 0 var(--chat-w,340px);min-width:240px;margin-right:0}.app:has(.artifact .view-panel) .artifact-divider{width:var(--s-2);margin:var(--s-2) 0;cursor:col-resize;touch-action:none;outline:none;flex:none;display:block}.artifact-divider:focus-visible{box-shadow:inset 2px 0 0 var(--accent), inset -2px 0 0 var(--accent)}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.view-panel.wide{background:var(--paper);flex:1;min-width:0}.view-panel.full{z-index:90;animation:panel-up var(--dur-slow) var(--ease);position:fixed;inset:0}@keyframes panel-in{0%{opacity:0;transform:translate(12px)}}@keyframes panel-up{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.artifact,.view-panel.full{animation:none}}.view-panel-head{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);flex:none;display:flex}.view-panel-head .view-titles{flex:1}.view-panel-head h2{font-size:var(--t-lg);font-weight:var(--w-semibold);color:var(--ink);outline:none;margin:0}.view-panel-head .view-titles>span{font-size:var(--t-sm);color:var(--ink-2)}.view-updated{color:var(--accent);font-weight:var(--w-medium)}.view-back{--size:34px;margin-top:calc((var(--t-lg) * 1.5 - var(--size)) / 2);margin-left:calc(var(--s-2) * -1);flex:none}@media (pointer:coarse){.view-back{--size:44px}}.view-panel-body{min-height:0;padding:var(--s-4);gap:var(--s-5);flex-direction:column;flex:1;display:flex;overflow:auto}.view-section{gap:var(--s-2);flex-direction:column;display:flex}.view-section h3{font-size:var(--t-base);font-weight:var(--w-semibold);color:var(--ink);margin:0}.view-filter{align-items:center;gap:var(--s-2);font-size:var(--t-sm);color:var(--ink);display:inline-flex}.data-table{border:1px solid var(--line);border-radius:var(--r-md);max-height:calc(100dvh - 220px);overflow:auto}.data-table table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--t-sm)}.data-table th,.data-table td{padding:var(--s-2) var(--s-3);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--ink)}.data-table thead th{z-index:1;background:var(--raised);font-size:var(--t-xs);font-weight:var(--w-semibold);color:var(--ink-2);position:sticky;top:0}.data-table th:first-child,.data-table td:first-child{background:var(--surface);position:sticky;left:0}.data-table thead th:first-child{z-index:2;background:var(--raised)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table th button{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.data-table th button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.data-table tbody tr:last-child td{border-bottom:0}.sort-mark{color:var(--ink-3);min-width:9px;font-size:9px}.week-grid{border:1px solid var(--line);border-radius:var(--r-md);max-height:calc(100dvh - 220px);overflow:auto}.week-grid table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--t-sm)}.week-grid th,.week-grid td{border-bottom:1px solid var(--line);padding:var(--s-2);vertical-align:top;min-width:5.5rem}.week-grid thead th{z-index:1;background:var(--raised);font-size:var(--t-xs);font-weight:var(--w-semibold);color:var(--ink-2);text-align:left;position:sticky;top:0}.week-grid .who{z-index:1;background:var(--surface);text-align:left;min-width:8rem;max-width:10rem;font-weight:var(--w-medium);color:var(--ink);position:sticky;left:0}.week-grid thead .who{z-index:2;background:var(--raised)}.week-grid .open-row .who{color:var(--ink-2)}.week-grid td{display:table-cell}.se-root{flex-direction:column;flex:1;min-height:0;display:flex;container-type:inline-size}.se{gap:var(--s-2);flex-direction:column;flex:1;min-height:0;display:flex}.se-impact{gap:var(--s-1) var(--s-4);font-size:var(--t-sm);color:var(--ink-2);flex-wrap:wrap;display:flex}.se-new-problem{color:var(--ink)}.view-tools{align-items:center;gap:var(--s-2);display:flex}.view-tools:empty{display:none}.view-panel[data-kind=schedule] .view-panel-body{padding:var(--s-3) var(--s-3) var(--sheet-pad,var(--s-3));gap:var(--s-3)}.se-summary{font-size:var(--t-sm);color:var(--ink-2);flex:none}.se-summary summary{cursor:pointer;padding:var(--s-1) 0;font-weight:var(--w-medium)}.se-summary[open] summary{margin-bottom:var(--s-2)}.se-summary .draft-list+.draft-list{margin-top:var(--s-2)}.se-change-line{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.se-short{display:none}.se-grid{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex:1;min-height:0;overflow:auto}.se-grid table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--t-sm);table-layout:fixed}.se-grid th,.se-grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:var(--s-1);vertical-align:top;text-align:left}.se-grid th:last-child,.se-grid td:last-child{border-right:0}.se-grid col,.se-grid thead th{width:7.5rem}.se-grid thead th{z-index:3;vertical-align:middle;background:var(--raised);text-align:center;height:48px;position:sticky;top:0}.se-grid thead th.past .se-day{color:var(--ink-3)}.se-day{height:28px;padding:0 var(--s-3);border-radius:var(--r-full);font-size:var(--t-sm);font-weight:var(--w-semibold);color:var(--ink);white-space:nowrap;align-items:center;display:inline-flex}.se-day.today{box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent)}.se-who{z-index:2;background:var(--surface);position:sticky;left:0}.se-grid .se-who,.se-grid thead th.se-who{width:12rem}.se-grid thead th.se-who{z-index:4;background:var(--raised);text-align:left;font-size:var(--t-xs);font-weight:var(--w-semibold);color:var(--ink-2);padding-left:var(--s-3);left:0}.se-person{align-items:center;gap:var(--s-2);padding:var(--s-1);display:flex}.se-person>span:last-child{flex-direction:column;min-width:0;display:flex}.se-person b{font-weight:var(--w-semibold);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.se-person b+span{font-size:var(--t-xs);color:var(--ink-2);font-weight:var(--w-regular)}.se-avatar{border-radius:var(--r-full);background:var(--sunken-2);width:28px;height:28px;color:var(--ink-2);font-size:var(--t-xs);font-weight:var(--w-semibold);flex:none;place-items:center;display:inline-grid}.se-open-row .se-who,.se-open-row td{background:var(--raised)}.se-grid tfoot th,.se-grid tfoot td{z-index:3;background:var(--raised);border-bottom:0;border-top:1px solid var(--line-strong);font-size:var(--t-xs);color:var(--ink-2);font-weight:var(--w-medium);padding:var(--s-2);position:sticky;bottom:0}.se-grid tfoot th{z-index:4;color:var(--ink);font-weight:var(--w-semibold);padding-left:var(--s-3);left:0}.se-grid tfoot th span{font-weight:var(--w-regular);color:var(--ink-2);display:block}.se-cell{height:64px;position:relative}.se-cell.past{background:var(--paper)}.se-cell.drop{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-wash)}.se-shift{--bg:var(--role-0-bg);--ink-c:var(--role-0-ink);--line-c:var(--role-0-line);width:100%;margin-bottom:var(--s-1);border-radius:var(--r-sm);background:var(--bg);color:var(--ink-c);font:inherit;text-align:left;border:1.5px solid #0000;flex-direction:column;gap:1px;padding:6px 8px;display:flex;position:relative}.se-shift.tint-1{--bg:var(--role-1-bg);--ink-c:var(--role-1-ink);--line-c:var(--role-1-line)}.se-shift.tint-2{--bg:var(--role-2-bg);--ink-c:var(--role-2-ink);--line-c:var(--role-2-line)}.se-shift.tint-3{--bg:var(--role-3-bg);--ink-c:var(--role-3-ink);--line-c:var(--role-3-line)}.se-shift.tint-4{--bg:var(--role-4-bg);--ink-c:var(--role-4-ink);--line-c:var(--role-4-line)}.se-shift.tint-5{--bg:var(--role-5-bg);--ink-c:var(--role-5-ink);--line-c:var(--role-5-line)}.se-shift.tint-6{--bg:var(--role-6-bg);--ink-c:var(--role-6-ink);--line-c:var(--role-6-line)}.se-shift.editable{cursor:pointer;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}.se-shift.editable:hover{border-color:var(--line-c);box-shadow:var(--shadow-sm)}.se-shift.editable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.se-shift.editable[draggable=true]{cursor:grab}.se-shift.unpublished{background:var(--surface);border:1.5px dashed var(--line-c)}.se-shift.open{background:var(--surface);border:1.5px solid var(--line);color:var(--ink)}.se-time{font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:var(--t-sm);align-items:center;gap:4px;display:flex}.se-role{font-size:var(--t-xs);opacity:.85;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.se-tag{border-radius:var(--r-full);background:var(--surface);color:var(--accent);font-size:11px;font-weight:var(--w-semibold);align-self:flex-start;margin-top:2px;padding:0 6px;line-height:18px}.se-shift.new,.se-shift.changed{box-shadow:0 0 0 2px var(--accent)}.se-shift.removed{opacity:.55;box-shadow:0 0 0 1.5px var(--line-strong)}.se-shift.removed .se-time,.se-shift.removed .se-role{text-decoration:line-through}.se-shift.removed .se-tag{color:var(--ink-2)}.se-shift.locked{background:var(--sunken);color:var(--ink-3);cursor:not-allowed;border-color:#0000}.se-shift.locked[data-tip]:hover:after{content:attr(data-tip);z-index:5;border-radius:var(--r-sm);background:var(--overlay-ink);width:max-content;max-width:220px;color:var(--on-overlay);font-size:var(--t-xs);font-weight:var(--w-medium);padding:6px 8px;position:absolute;bottom:calc(100% + 6px);left:0}@container (max-width:1000px){.se-grid .se-who,.se-grid thead th.se-who{width:6.75rem}.se-grid thead th{width:5.75rem}.se-grid .se-avatar{display:none}.se-person{padding:2px 0 2px 2px}.se-full{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.se-short{display:inline}.se-shift{padding:5px 6px}.se-day{padding:0 var(--s-2)}}.se-shift.moving-from{opacity:.35;border-style:dashed;border-color:var(--line-c)}.se-shift.ghost{background:var(--surface);border:1.5px dashed var(--accent);color:var(--ink-c);pointer-events:none;animation:1.1s ease-in-out infinite ghost-pulse}.se-shift.ghost.failed{border-color:var(--line-strong);color:var(--ink-2);animation:ghost-out 1.6s var(--ease) forwards}.se-shift.ghost.failed .se-tag{color:var(--ink-2)}.se-shift.settled{animation:settle-flash .9s var(--ease)}@keyframes ghost-pulse{50%{opacity:.55}}@keyframes ghost-out{0%,60%{opacity:1}to{opacity:0}}@keyframes settle-flash{0%{box-shadow:0 0 0 4px var(--accent-line)}}@media (prefers-reduced-motion:reduce){.se-shift.ghost,.se-shift.ghost.failed,.se-shift.settled{animation:none}}.se-add{inset:var(--s-1);border:1px dashed var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);cursor:pointer;opacity:0;transition:opacity .2s var(--ease);place-items:center;display:grid;position:absolute}.se-add.below{width:100%;height:22px;position:static}.se-cell:hover .se-add,.se-add:focus-visible{opacity:1}.se-add:hover{color:var(--accent);border-color:var(--accent)}.se-popover{z-index:120;gap:var(--s-3);padding:var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-float);animation:pop var(--dur) var(--ease);flex-direction:column;display:flex;position:fixed}.se-pop-head{align-items:center;gap:var(--s-2);display:flex}.se-pop-head .se-avatar{width:36px;height:36px;font-size:var(--t-sm)}.se-pop-titles{flex-direction:column;flex:1;min-width:0;display:flex}.se-pop-titles b{font-weight:var(--w-semibold);color:var(--ink)}.se-pop-titles span{font-size:var(--t-xs);color:var(--ink-2)}.se-fields{gap:var(--s-3);flex-direction:column;display:flex}.se-fields label{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2);flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.se-fields select,.se-fields input{width:100%;min-width:0;height:36px;padding:0 var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-sm)}.se-fields select:focus-visible,.se-fields input:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.se-times{align-items:flex-end;gap:var(--s-2);display:flex}.se-dash{color:var(--ink-2);padding-bottom:8px}.se-pop-note{font-size:var(--t-sm);color:var(--ink-2);margin:0}.se-problem{font-size:var(--t-sm);color:var(--ink);margin:0}.se-pop-foot{justify-content:flex-end;gap:var(--s-2);display:flex}.se-changes h3{margin:0 0 var(--s-2);font-size:var(--t-sm);font-weight:var(--w-semibold);color:var(--ink)}.se-review{gap:var(--s-3);flex-direction:column;display:flex}.se-review .draft-heading{font-size:var(--t-lg);font-weight:var(--w-semibold);margin:0}@media (prefers-reduced-motion:reduce){.se-add,.se-popover{transition:none;animation:none}}.shift-chip{margin-bottom:var(--s-1);padding:4px var(--s-2);border-radius:var(--r-sm);background:var(--accent-wash);color:var(--ink);border:1px solid #0000;flex-direction:column;gap:1px;display:flex}.shift-chip .t{font-weight:var(--w-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.shift-chip .r,.shift-chip .n{font-size:var(--t-xs);color:var(--ink-2)}.shift-chip.draft{background:var(--surface);border:1px dashed var(--accent-line)}.shift-chip.open{background:var(--sunken)}.shift-chip.ended{background:var(--sunken);color:var(--ink-3)}.shift-list{gap:var(--s-4);flex-direction:column;display:flex}.shift-list h3{margin:0 0 var(--s-2);font-size:var(--t-sm);font-weight:var(--w-semibold);color:var(--ink-2)}.shift-list ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.shift-row{gap:2px var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line);font-size:var(--t-sm);grid-template-columns:1fr auto;display:grid}.shift-row .who{font-weight:var(--w-medium);color:var(--ink)}.shift-row .when{font-variant-numeric:tabular-nums;color:var(--ink)}.shift-row .what{font-size:var(--t-xs);color:var(--ink-2);grid-column:1/-1}.shift-row.ended .who,.shift-row.ended .when{color:var(--ink-3)}.schedule-draft{gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line);flex-direction:column;display:flex}.draft-buttons{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.schedule-draft .btn:disabled,.se .btn:disabled{color:var(--ink-3);cursor:default}.schedule-draft .btn.primary:disabled,.se .btn.primary:disabled{background:var(--sunken);border-color:#0000}.draft-list{gap:var(--s-2);outline:none;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.draft-list li{gap:var(--s-1);font-size:var(--t-sm);color:var(--ink);flex-direction:column;display:flex}.draft-list .draft-buttons{margin-top:var(--s-1)}.draft-note{font-size:var(--t-xs);color:var(--ink-2)}.draft-mark{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2)}.draft-heading{font-size:var(--t-sm);font-weight:var(--w-semibold);color:var(--ink);outline:none;margin:0}.draft-error{font-size:var(--t-sm);color:var(--ink);margin:0}.findings{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.findings li{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.findings p{font-size:var(--t-sm);color:var(--ink);margin:4px 0 0}.findings .f-fix{color:var(--ink-2)}.findings .f-source{font-size:var(--t-xs);color:var(--ink-2)}.findings .f-source a{color:inherit}.f-head{gap:var(--s-2);align-items:baseline;display:flex}.f-rule{font-size:var(--t-sm);font-weight:var(--w-semibold);color:var(--ink);text-transform:capitalize}.f-sev{font-size:var(--t-xs);color:var(--ink-2)}.kv-list{flex-direction:column;margin:0;display:flex}.kv-list>div{justify-content:space-between;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line);font-size:var(--t-sm);display:flex}.kv-list dt{color:var(--ink-2)}.kv-list dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.hours-chart{margin:0}.hours-chart svg{width:100%;max-width:44rem;height:auto}.hc-name{fill:var(--ink);font-size:12px}.hc-value{fill:var(--ink-2);font-variant-numeric:tabular-nums;font-size:11px}.hc-bar{fill:var(--accent)}.hc-bar.over{fill:var(--warn)}.hc-limit{stroke:var(--ink-3);stroke-width:1px;stroke-dasharray:4 3}.hc-limit-label{fill:var(--ink-2);font-size:11px}@media (max-width:1023px){.data-table{border:0;max-height:none}.data-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.data-table table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{padding:var(--s-2) 0;border-bottom:1px solid var(--line)}.data-table td{justify-content:space-between;gap:var(--s-3);white-space:normal;text-align:right;background:0 0;border:0;padding:3px 0;display:flex;position:static}.data-table td:before{content:attr(data-label);color:var(--ink-2);text-align:left}.data-table td:first-child{font-weight:var(--w-semibold);position:static}.data-table td:first-child:before{content:none}.data-table td:empty{display:none}}.mem-panel{background:var(--surface);width:min(520px,100%);height:100%;padding:var(--s-5);gap:var(--s-5);box-shadow:var(--shadow-float);flex-direction:column;display:flex;overflow-y:auto}.mem-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.mem-head h2{font-size:var(--t-lg);font-weight:var(--w-semibold);outline:none;margin:0}.mem-head span{font-size:var(--t-sm);color:var(--ink-2)}.mem-group h3{margin:0 0 var(--s-2);font-size:var(--t-sm);font-weight:var(--w-semibold);color:var(--ink-2)}.mem-group ul{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.log-page{width:min(var(--column), 100% - var(--s-6));padding:var(--s-4) 0 var(--s-8);gap:var(--s-5);animation:fade var(--dur) var(--ease);flex-direction:column;margin:0 auto;display:flex}.log-page h2:focus{outline:none}.log-group h3{margin:0 0 var(--s-2);font-size:var(--t-sm);font-weight:var(--w-semibold);color:var(--ink-2)}.log-group ul{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.log-row{align-items:baseline;gap:var(--s-3);width:100%;padding:var(--s-2) 0;font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;display:flex}.log-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.log-summary{font-size:var(--t-base)}.log-subject,.log-time{font-size:var(--t-xs);color:var(--ink-3)}.log-time{font-variant-numeric:tabular-nums;flex:none}.log-detail{align-items:flex-start;gap:var(--s-2);padding:0 0 var(--s-3);flex-direction:column;display:flex}.log-note{font-size:var(--t-sm);color:var(--ink-2);margin:0}.log-fields{border-collapse:collapse;font-size:var(--t-sm)}.log-fields th,.log-fields td{padding:2px var(--s-4) 2px 0;text-align:left;vertical-align:top}.log-fields thead th{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-3)}.log-fields tbody th{font-weight:var(--w-medium);color:var(--ink-2)}.log-more{height:1px}.log-more-error{align-items:center;gap:var(--s-2);display:flex}.mem-row{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.mem-text{font-size:var(--t-base);color:var(--ink);flex-direction:column;gap:2px;display:flex}.mem-meta{font-size:var(--t-xs);color:var(--ink-3)}.mem-order{font-size:var(--t-sm);color:var(--ink-3);margin:0}.mem-actions{gap:var(--s-1);flex:none;display:flex}.mem-editor{gap:var(--s-3);margin-top:var(--s-3);flex-direction:column;display:flex}.mem-editor select,.mem-editor input[type=text],.mem-editor input[type=number]{font:inherit;font-size:var(--t-sm);padding:6px var(--s-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.mem-inline{align-items:center;gap:var(--s-2);font-size:var(--t-sm);color:var(--ink-2);display:inline-flex}.mem-choices{gap:var(--s-2) var(--s-4);font-size:var(--t-sm);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.mem-choices label{align-items:center;gap:var(--s-1);display:inline-flex}.mem-roles{gap:var(--s-2);flex-direction:column;display:flex}.mem-roles label{justify-content:space-between;align-items:center;gap:var(--s-3);font-size:var(--t-sm);display:flex}.mem-foot{padding-top:var(--s-3);border-top:1px solid var(--line);margin-top:auto}.interview-top{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.interview-count{font-size:var(--t-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none}.asking.interview.loading{color:var(--ink-2);font-size:var(--t-sm)}.mem-ask{align-items:center;gap:var(--s-3);font-size:var(--t-sm);color:var(--ink-2);display:flex}.mem-editor input[type=time]{font:inherit;font-size:var(--t-sm);padding:6px var(--s-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.mem-editor .mem-inline input[type=number]{width:5.5rem}.feed-page{width:min(var(--column), 100% - var(--s-6));padding:var(--s-4) 0 var(--s-8);animation:fade var(--dur) var(--ease);flex-direction:column;margin:0 auto;display:flex}.feed-page h2:focus{outline:none}.new-chat{justify-content:center;gap:var(--s-5);min-height:0;width:min(calc(var(--column) + 8px), 100% - var(--s-6) + 8px);padding:var(--s-6) 4px 14vh;flex-direction:column;flex:1;margin:0 auto;display:flex;overflow-y:auto}.new-chat h2{font-size:var(--t-xl);font-weight:var(--w-semibold);letter-spacing:-.02em;animation:fade var(--dur) var(--ease);margin:0}.new-chat h2:focus{outline:none}.new-chat-skel{align-items:center;min-height:34px;display:flex}.new-chat-openers{gap:2px;min-height:120px}.new-chat-openers-skel{gap:2px}.opener-skel{cursor:default;gap:0}.opener-skel:before{content:"​";width:0}.opener-skel:hover{background:0 0}.opener-skel:active{translate:none}.feed-list{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.feed-card{gap:var(--s-2);padding:var(--s-4) 0;animation:fade var(--dur) var(--ease);flex-direction:column;display:flex}.feed-meta{align-items:center;gap:var(--s-2);min-height:28px;margin:calc(var(--s-1) * -1) calc(var(--s-2) * -1) calc(var(--s-1) * -1) 0;font-size:var(--t-xs);color:var(--ink-3);display:flex}.feed-head{justify-content:space-between;align-items:baseline;gap:var(--s-4);display:flex}.feed-head .feed-title{flex:1;min-width:0}.feed-new{border-radius:var(--r-full);background:var(--accent);flex:none;width:6px;height:6px}.feed-when{align-items:center;gap:var(--s-2);font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap;flex:none;display:inline-flex}.feed-severity{align-items:center;gap:var(--s-1);font-weight:var(--w-medium);color:var(--ink-2);display:inline-flex}.feed-severity svg{color:var(--danger);flex:none}.feed-tools{flex:none;align-items:center;display:flex}.feed-menu-anchor{display:inline-flex;position:relative}.feed-icon-btn{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-3);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;place-items:center;display:grid}.feed-icon-btn:hover,.feed-icon-btn[aria-expanded=true]{background:var(--sunken);color:var(--ink)}.feed-title{font-size:var(--t-base);font-weight:var(--w-medium);color:var(--ink);text-wrap:pretty;margin:0;line-height:1.4}.feed-title:focus{outline:none}.feed-detail{gap:var(--s-2);font-size:var(--t-sm);color:var(--ink-2);flex-direction:column;line-height:1.45;display:flex}.feed-body,.feed-impact{text-wrap:pretty;margin:0}.feed-impact{color:var(--ink)}.feed-label{margin-right:var(--s-2);font-weight:var(--w-medium);color:var(--ink-3)}.feed-stats{gap:var(--s-1) var(--s-4);flex-wrap:wrap;margin:0;display:flex}.feed-stats div{gap:var(--s-1);display:inline-flex}.feed-stats dt{color:var(--ink-3)}.feed-stats dd{font-weight:var(--w-medium);color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.feed-lines{padding:0 0 0 var(--s-3);border-left:1px solid var(--line);flex-direction:column;gap:2px;margin:0;list-style:none;display:flex}.feed-lines li{column-gap:var(--s-2);flex-wrap:wrap;display:flex}.feed-line-note{color:var(--ink-3)}.feed-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.feed-foot{align-items:center;gap:var(--s-1);margin:var(--s-1) 0 0 calc(var(--s-2) * -1);flex-wrap:wrap;display:flex}.feed-foot .feed-cta{margin-left:0}.feed-foot .btn{white-space:normal;text-align:start;max-width:100%}.feed-acted{font-size:var(--t-xs);color:var(--ink-3)}.feed-text-btn{padding:5px var(--s-2);border-radius:var(--r-sm);font:inherit;font-size:var(--t-sm);color:var(--ink-3);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0}.feed-text-btn:hover{background:var(--sunken);color:var(--ink)}.feed-text-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (pointer:coarse){.feed-text-btn{min-height:44px}}.feed-more-cards{margin-top:var(--s-2);font-size:var(--t-sm);color:var(--ink-2);align-self:flex-start}.feed-hidden{justify-content:space-between;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-2) var(--s-1) var(--s-4);font-size:var(--t-sm);color:var(--ink-2);animation:fade var(--dur) var(--ease);display:flex}.feed-empty{font-size:var(--t-base);color:var(--ink-2);margin:0}.feed-error{align-items:center;gap:var(--s-2);font-size:var(--t-sm);color:var(--ink-2);flex-wrap:wrap;margin:0;display:flex}@media (pointer:coarse){.feed-icon-btn{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.feed-card,.feed-hidden{animation:none}}.rail{gap:var(--s-3);width:264px;padding:var(--s-2) var(--s-2) var(--s-3);background:0 0;flex-direction:column;flex:none;display:flex;overflow:hidden}.app.rail-collapsed .rail{display:none}.rail-head{justify-content:space-between;align-items:center;gap:var(--s-2);padding-left:var(--s-2);min-height:28px;display:flex}.rail-nav,.rail-chats ul{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.rail-chats ul{gap:2px}.rail-item{align-items:center;gap:var(--s-2);width:100%;min-height:28px;padding:4px var(--s-2);border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--t-sm);font-weight:var(--w-regular);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;display:flex}.rail-item svg{width:var(--icon-md);height:var(--icon-md);flex:none}.rail-item:hover{background:var(--rail-hover);color:var(--ink)}.rail-item[aria-current=page]{background:var(--sunken-2);color:var(--ink);font-weight:var(--w-medium)}.rail-label{flex:1;min-width:0}.rail-count{box-sizing:border-box;border-radius:var(--r-full);background:var(--accent-tint);min-width:18px;height:18px;color:var(--accent-ink);font-size:var(--t-xs);font-weight:var(--w-medium);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;line-height:1;display:inline-flex}.rail-chats{gap:var(--s-1);overscroll-behavior:contain;min-height:0;padding-bottom:var(--s-2);border-bottom:1px solid var(--line);flex-direction:column;flex:1;display:flex;overflow-y:auto}.rail-heading{padding:var(--s-2) var(--s-2) 0;font-size:var(--t-xs);font-weight:var(--w-medium);letter-spacing:0;text-transform:none;color:var(--ink-3);margin:0}.rail-empty{padding:0 var(--s-2);font-size:var(--t-sm);color:var(--ink-3);margin:0}.rail-chat{border-radius:var(--r-sm);transition:background var(--dur) var(--ease);align-items:center;display:flex;position:relative}.rail-chat:hover,.rail-chat.menu-open{background:var(--rail-hover)}.rail-chat.menu-open{z-index:20}.rail-chat:has([aria-current=page]){background:var(--sunken-2)}.rail-chat.is-pinned+.rail-chat:not(.is-pinned){margin-top:var(--s-3)}.rail-chat-main{align-items:center;gap:var(--s-2);min-width:0;min-height:32px;padding:6px var(--s-2);border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--t-sm);text-align:left;cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:0;flex:1;display:flex}.rail-chat:hover .rail-chat-main,.rail-chat.menu-open .rail-chat-main,.rail-chat-main:focus-visible{color:var(--ink)}.rail-chat-main[aria-current=page]{color:var(--ink);font-weight:var(--w-medium)}.rail-chat-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rail-pin{color:var(--ink-3);flex:none;display:inline-flex}.rail-pin svg{width:var(--icon-sm);height:var(--icon-sm)}.rail-chat-when{text-align:right;min-width:24px;font-size:var(--t-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none}.rail-chat-more-wrap{top:50%;right:var(--s-1);position:absolute;translate:0 -50%}.rail-chat-more{border-radius:var(--r-sm);width:24px;height:24px;color:var(--ink-2);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;border:0;place-items:center;display:grid}.rail-chat:hover .rail-chat-more,.rail-chat:focus-within .rail-chat-more,.rail-chat.menu-open .rail-chat-more{opacity:1;pointer-events:auto}.rail-chat:hover .rail-chat-when,.rail-chat:focus-within .rail-chat-when,.rail-chat.menu-open .rail-chat-when{visibility:hidden}.rail-chat-more:hover{background:var(--line);color:var(--ink)}.rail-chat-more svg{width:var(--icon-md);height:var(--icon-md)}@media (hover:none){.rail-chat .rail-chat-when,.rail-chat:hover .rail-chat-when,.rail-chat:focus-within .rail-chat-when,.rail-chat.menu-open .rail-chat-when{visibility:visible;margin-right:22px}.rail-chat-more{opacity:1;pointer-events:auto}}@media (hover:none) and (pointer:coarse){.rail-chat .rail-chat-when,.rail-chat:hover .rail-chat-when,.rail-chat:focus-within .rail-chat-when,.rail-chat.menu-open .rail-chat-when{min-width:0;margin-right:34px}}.rail-rename,.bar-title-input{min-width:0;font-size:var(--t-sm);padding:5px var(--s-2);border:1px solid var(--accent-line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.rail-rename{flex:1;margin:1px 0}.rail-rename:focus,.bar-title-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash);outline:none}.action-menu{z-index:90;min-width:168px;padding:var(--s-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-float);animation:pop var(--dur) var(--ease);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px)}.action-menu.align-end{transform-origin:100% 0;right:0}.action-menu.align-start{transform-origin:0 0;left:0}.action-menu.opens-up{top:auto;bottom:calc(100% + 4px)}.action-menu.opens-up.align-end{transform-origin:100% 100%}.action-menu.opens-up.align-start{transform-origin:0 100%}.action-menu button{border-radius:var(--r-sm);color:var(--ink);padding:7px var(--s-2);font-size:var(--t-sm);text-align:left;cursor:pointer;background:0 0;border:0}.action-menu button:hover,.action-menu button:focus-visible{background:var(--sunken);outline:none}.action-menu button[aria-current=page]{font-weight:var(--w-medium)}.rail-toggle.wide-hidden{display:none}.topbar-side{align-items:center;gap:2px;min-width:44px;display:flex}.topbar-side.is-end{justify-content:flex-end}.topbar-side .btn.small{align-items:center;gap:var(--s-1);display:inline-flex}.topbar-side .btn.small svg{width:var(--icon-md);height:var(--icon-md)}.bar-title{min-width:0;font:inherit;justify-content:center;margin:0;display:flex}.bar-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink);display:block;overflow:hidden}.bar-title.is-page .bar-title-text{font-size:var(--t-lg);font-weight:var(--w-semibold)}.bar-title-btn{border-radius:var(--r-sm);min-width:0;max-width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 6px 4px 10px;display:inline-flex}.bar-title-btn:hover,.bar-title-btn[aria-expanded=true]{background:var(--sunken)}.bar-title-btn svg{width:var(--icon-sm,14px);height:var(--icon-sm,14px);color:var(--ink-3);flex:none}.bar-title-input{text-align:center;width:min(28rem,100%);font-weight:var(--w-medium)}.action-menu.align-center{transform-origin:top;left:50%;translate:-50%}@media (pointer:coarse){.bar-title-btn{min-height:44px}}.page-scroll{scrollbar-gutter:stable both-edges;flex:1;min-height:0;overflow-y:auto}.mem-panel.page{width:min(var(--column), 100% - var(--s-6));height:auto;padding:var(--s-5) 0 var(--s-7);box-shadow:none;background:0 0;margin:0 auto;overflow:visible}.page-loading{font-size:var(--t-sm);color:var(--ink-3);margin:0}.page-error{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.field-error{font-size:var(--t-xs);color:var(--ink-2);flex-basis:100%;margin:0}.mem-panel .mem-item{padding:var(--s-2) 0}.mem-panel .mem-text{font-size:var(--t-sm)}.mem-panel .mem-text>span:first-child{font-size:var(--t-base)}.row-controls{align-items:center;gap:var(--s-2);flex:none;display:flex}.row-more{opacity:0;transition:opacity var(--dur) var(--ease), background var(--dur) var(--ease)}.mem-item:hover .row-more,.mem-item:focus-within .row-more,.row-more-wrap.menu-open .row-more{opacity:1}@media (hover:none){.row-more{opacity:1}}.row-confirm{align-items:center;gap:var(--s-2);margin-top:var(--s-2);font-size:var(--t-sm);color:var(--ink);flex-wrap:wrap;display:flex}.row-confirm span{margin-right:var(--s-1)}.auto-btn[aria-busy=true]{cursor:progress}.undo-bar:empty{display:none}.undo-bar{bottom:var(--s-4);align-items:center;gap:var(--s-2);width:fit-content;padding:var(--s-1) var(--s-1) var(--s-1) var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm);font-size:var(--t-sm);color:var(--ink);margin:0 auto;display:flex;position:sticky}.rail-scrim{display:none}@media (max-width:860px){.rail-hide{display:none}.rail-head{min-height:44px}.rail,.app.rail-collapsed .rail{z-index:70;background:var(--sunken);width:min(300px,86vw);box-shadow:var(--shadow-float);visibility:hidden;transition:transform var(--dur-slow) var(--ease), visibility 0s linear var(--dur-slow);display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.rail.is-open,.app.rail-collapsed .rail.is-open{visibility:visible;transition:transform var(--dur-slow) var(--ease);transform:none}.rail-scrim{z-index:65;background:color-mix(in oklch, var(--shade) 24%, transparent);animation:fade var(--dur) var(--ease);border:0;padding:0;display:block;position:fixed;inset:0}.rail-toggle.wide-hidden{display:grid}}@media (pointer:coarse){.rail-item,.rail-chat-main{min-height:44px}.rail-chat-more{width:40px;height:40px}.rail-chat-when{min-width:40px}.action-menu button{min-height:44px}}.alerts-page{width:min(820px, 100% - var(--s-6));padding:var(--s-6) 0 var(--s-8);gap:var(--s-3);flex-direction:column;margin:0 auto;display:flex;container-type:inline-size}.alerts-hint{margin:var(--s-4) 0 0;font-size:var(--t-sm);color:var(--ink-3)}.link-btn{font:inherit;color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.link-btn:hover{text-underline-offset:2px;text-decoration:underline}.link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.mem-reset{margin-top:var(--s-4)}.alerts-list{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.alerts-recos{gap:var(--s-3);flex-direction:column;display:flex}.alerts-label{font-size:var(--t-sm);line-height:16px;font-weight:var(--w-regular);color:var(--ink-2);margin:0}.alert-card{--alert-ease:cubic-bezier(.22, 1, .36, 1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-height:72px;transition:border-color .15s ease, background .15s ease, opacity var(--dur) var(--ease), transform var(--dur) var(--ease);align-items:center;display:flex;position:relative}.alert-card:hover{border-color:var(--line-strong)}.alert-card:has(.alert-card-main:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.alert-card.is-new{animation:alert-in .32s var(--alert-ease)}.alert-card.is-leaving{opacity:0;pointer-events:none;transform:translateY(-4px)}@keyframes alert-in{0%{opacity:0;transform:translateY(6px)}}.alert-card-main{align-items:center;gap:var(--s-3);min-width:0;padding:calc(var(--s-4) - 1px) var(--s-2) calc(var(--s-4) - 1px) calc(20px - 1px);border-radius:var(--r-lg);text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;flex:1;display:flex}.alert-card-main:focus-visible{outline:none}.alert-status{width:18px;color:var(--ink-3);flex:none;place-items:center;display:grid}.alert-dot{border-radius:var(--r-full);background:var(--accent);width:7px;height:7px}.alert-text{flex-direction:column;min-width:0;display:flex}.alert-name,.alert-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.alert-name{font-size:var(--t-base);font-weight:var(--w-medium);line-height:22px}.alert-meta{font-size:var(--t-sm);color:var(--ink-2);line-height:18px}.alert-more-wrap{padding-right:var(--s-3);flex:none}.alert-more{width:32px;height:32px;color:var(--ink)}.alert-more svg{width:var(--icon-lg);height:var(--icon-lg)}.alert-card.is-paused .alert-dot{background:var(--line-strong)}.alert-card.is-paused .alert-name{color:var(--ink-2)}.alert-card.is-paused .alert-meta,.alert-card.is-paused .alert-more{color:var(--ink-3)}.alert-card.is-auto-paused .alert-status{color:var(--ink-2)}.alert-card.is-running .alert-meta{color:var(--accent)}.alert-card.is-running .alert-dot{animation:1s ease-out infinite alert-pulse}@keyframes alert-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--accent) 45%, transparent)}to{box-shadow:0 0 0 6px color-mix(in oklch, var(--accent) 0%, transparent)}}.alert-card.is-error{background:var(--warn-wash);border-color:color-mix(in oklch, var(--warn) 40%, var(--warn-wash))}.alert-card.is-error:hover{border-color:color-mix(in oklch, var(--warn) 60%, var(--warn-wash))}.alert-card.is-error .alert-status,.alert-card.is-error .alert-meta{color:var(--warn)}.alert-card.is-error .alert-more:hover{background:color-mix(in oklch, var(--warn) 10%, transparent)}.alert-menu button{align-items:center;gap:var(--s-2);display:flex}.alert-menu button svg{color:var(--ink-2);flex:none}.alert-menu button.is-danger,.alert-menu button.is-danger svg{color:var(--danger)}.alert-menu button.is-danger:hover,.alert-menu button.is-danger:focus-visible{background:var(--danger-wash)}.reco-card{align-items:center;gap:var(--s-3);width:100%;min-height:72px;padding:calc(var(--s-4) - 1px) calc(20px - 1px);text-align:left;cursor:pointer;color:var(--ink);border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:0 0;transition:border-color .15s,background .15s,transform .15s;display:flex}.reco-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-lg)}.reco-chip{border-radius:var(--r-full);background:var(--sunken);width:32px;height:32px;color:var(--ink-3);flex:none;place-items:center;transition:background .15s,color .15s;display:grid}.reco-text{flex-direction:column;flex:1;min-width:0;display:flex}.reco-title{font-size:var(--t-base);font-weight:var(--w-medium);line-height:22px;transition:color .15s}.reco-desc{font-size:var(--t-sm);color:var(--ink-2);line-height:18px}.reco-kind{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);flex:none}.reco-card:hover{border-color:var(--accent);background:var(--accent-wash)}.reco-card:hover .reco-chip{background:var(--surface);color:var(--accent)}.reco-card:hover .reco-title{color:var(--accent)}@container (max-width:560px){.reco-kind{display:none}}.alerts-toast-slot{bottom:var(--s-4);pointer-events:none;margin-top:var(--s-4);justify-content:center;display:flex;position:sticky}.alerts-toast{padding:var(--s-2) var(--s-4);border-radius:var(--r-md);background:var(--ink);color:var(--ink-inverse);font-size:var(--t-sm);box-shadow:var(--shadow-card);animation:rise var(--dur) var(--ease)}.editor-layer,.confirm-layer{z-index:120;position:fixed;inset:0}.editor-scrim{cursor:default;background:color-mix(in oklch, var(--shade) 44%, transparent);animation:fade var(--dur-slow) ease;border:0;padding:0;position:absolute;inset:0}.editor-drawer{background:var(--surface);border-left:1px solid var(--line);width:min(440px,100vw);box-shadow:var(--shadow-float);outline:none;flex-direction:column;animation:.32s cubic-bezier(.22,1,.36,1) drawer-in;display:flex;position:absolute;top:0;bottom:0;right:0}@keyframes drawer-in{0%{transform:translate(100%)}}.editor-head{align-items:center;gap:var(--s-1);min-height:72px;padding:var(--s-4) 20px;border-bottom:1px solid var(--line);display:flex}.editor-heading{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.editor-heading h2{font-size:var(--t-lg);font-weight:var(--w-semibold);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.editor-eyebrow{font-size:11px;line-height:16px;font-weight:var(--w-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.editor-head .icon-btn{width:32px;height:32px}.editor-head .icon-btn svg{width:var(--icon-lg);height:var(--icon-lg)}.editor-body{min-height:0;padding:var(--s-5) 20px;flex-direction:column;flex:1;gap:28px;display:flex;overflow-y:auto}.editor-section{flex-direction:column;gap:10px;display:flex}.editor-caption-row{justify-content:space-between;align-items:center;gap:var(--s-2);height:16px;display:flex}.editor-caption{font-size:11px;line-height:16px;font-weight:var(--w-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0}.btn.editor-modify{min-height:24px;padding:2px var(--s-2);margin-right:calc(var(--s-2) * -1);color:var(--accent)}.btn.editor-modify:hover{color:var(--accent-hover);background:var(--accent-wash)}.editor-readout{padding:14px var(--s-4);background:var(--sunken);border-radius:var(--r-md);font-size:var(--t-sm);color:var(--ink);margin:0;line-height:1.55}.editor-rows{border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;display:flex}.editor-row{justify-content:space-between;align-items:center;gap:var(--s-3);min-height:64px;padding:0 var(--s-4);font-size:var(--t-base);color:var(--ink);display:flex}.editor-row+.editor-row,.editor-field-error+.editor-row{border-top:1px solid var(--line)}.editor-select{width:150px;height:40px;padding:0 var(--s-3);font:inherit;font-size:var(--t-base);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer}select.editor-select{appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23423f3b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 9.00005C18 9.00005 13.5811 15 12 15C10.4188 15 6 9 6 9'/%3E%3C/svg%3E") no-repeat right var(--s-3) center / 16px;padding-right:36px}.editor-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.editor-select:hover{border-color:var(--ink-3)}.editor-number{cursor:text}.editor-number[aria-invalid=true]{border-color:var(--danger)}.editor-value{font-size:var(--t-base);color:var(--ink)}.editor-field-error{margin:0 var(--s-4) var(--s-2);font-size:var(--t-xs);color:var(--danger);text-align:right}.channel-chips{gap:var(--s-1);flex-wrap:wrap;display:flex}.channel-chip{height:36px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-full);font-size:var(--t-sm);color:var(--ink-3);cursor:pointer;background:0 0;align-items:center;gap:6px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.channel-chip.is-on{background:var(--accent-wash);border-color:var(--accent-line);color:var(--accent)}.channel-chip[aria-disabled=true]{cursor:default}.editor-hint{font-size:var(--t-xs);color:var(--ink-3);margin:0}.editor-foot{min-height:72px;padding:var(--s-4) 20px;border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.editor-foot .btn{height:40px;min-height:40px;padding-block:0}.editor-foot .btn:not(.primary){background:var(--sunken);border-color:#0000}.editor-foot .btn:not(.primary):hover{background:var(--sunken-2)}.editor-foot .btn.primary:disabled{background:var(--sunken);color:var(--ink-3);cursor:default;border-color:#0000}.editor-error{font-size:var(--t-xs);color:var(--danger);text-align:right;flex-basis:100%;margin:0}.confirm-layer{padding:var(--s-4);place-items:center;display:grid}.confirm-dialog{width:min(400px,100%);padding:var(--s-5);gap:var(--s-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-float);animation:settle var(--dur) var(--ease);flex-direction:column;display:flex;position:relative}.confirm-dialog h2{font-size:var(--t-lg);font-weight:var(--w-semibold);margin:0}.confirm-dialog p{font-size:var(--t-sm);color:var(--ink-2);margin:0}.confirm-actions{justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-3);display:flex}.btn.danger{background:var(--danger-fill);border-color:var(--danger-fill);color:var(--on-accent)}.btn.danger:hover{background:color-mix(in oklch, var(--danger-fill) 88%, black)}@media (pointer:coarse){.alert-more,.editor-head .icon-btn{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.alert-card,.alert-card.is-new,.alert-card.is-running .alert-dot,.reco-card,.reco-chip,.reco-title,.channel-chip,.editor-drawer,.editor-scrim,.confirm-dialog,.alerts-toast{transition:none;animation:none}}.rail-account{align-items:center;gap:var(--s-3);width:100%;min-height:52px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background var(--dur) var(--ease);background:0 0;border:0;flex:none;display:flex;position:relative}.rail-account:hover,.rail-account[aria-current=page],.rail-account[aria-expanded=true]{background:var(--sunken-2)}.rail-account:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rail-account-wrap{flex:none;position:relative}.rail-account-wrap .action-menu{right:0}.rail-avatar{border-radius:var(--r-full);background:var(--accent-wash);width:30px;height:30px;color:var(--accent);font-size:var(--t-xs);font-weight:var(--w-semibold);letter-spacing:.02em;border:2px solid var(--surface);box-shadow:0 1px 3px color-mix(in oklch, var(--shade) 18%, transparent);flex:none;place-items:center;display:grid}.rail-account-text{flex-direction:column;gap:2px;min-width:0;line-height:1.3;display:flex}.rail-account-name{font-size:var(--t-sm);font-weight:var(--w-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rail-account-loc{font-size:var(--t-xs);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-page{width:min(480px, 100% - var(--s-6));padding:var(--s-6) 0;margin:0 auto}.profile-form{gap:var(--s-5);flex-direction:column;display:flex}.profile-field{gap:var(--s-1);flex-direction:column;display:flex}.profile-label{font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink)}.profile-static{font-size:var(--t-base);color:var(--ink-2)}.profile-hint{font-size:var(--t-xs);color:var(--ink-3)}.profile-field input,.profile-field select{font:inherit;font-size:var(--t-base);padding:8px var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.profile-field input:focus-visible,.profile-field select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.profile-actions{align-items:center;gap:var(--s-3);display:flex}.profile-saved{font-size:var(--t-sm);color:var(--ink-2)}.push-field{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line)}.push-row{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.notif-digest{gap:var(--s-5);flex-direction:column;display:flex}.notif-page h3.profile-label{margin:0}.notif-list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notif-list li{justify-content:space-between;align-items:baseline;gap:var(--s-3);font-size:var(--t-base);color:var(--ink-2);display:flex}.notif-list .profile-hint{flex:none}.push-error{align-items:flex-start;gap:var(--s-2);margin-top:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--danger-wash);color:var(--danger);font-size:var(--t-sm);line-height:20px;display:flex}.push-error svg{flex:none;margin-top:3px}.skel{background:var(--sunken-2);border-radius:4px;animation:1.4s ease-in-out infinite skel-pulse;display:block}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.skel-list{gap:var(--s-3);flex-direction:column;display:flex}.skel-card{align-items:center;gap:var(--s-4);min-height:72px;padding:0 var(--s-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);display:flex}.skel-stack{gap:var(--s-2);flex-direction:column;flex:1;display:flex}.skel-groups{gap:var(--s-6);flex-direction:column;display:flex}.skel-group{gap:var(--s-5);flex-direction:column;display:flex}.skel-row{gap:var(--s-2);flex-direction:column;display:flex}.skel-form{gap:var(--s-5);flex-direction:column;display:flex}.skel-field{gap:var(--s-2);flex-direction:column;display:flex}.skel-home{gap:var(--s-3);flex-direction:column;display:flex}.empty-state{text-align:center;align-items:center;gap:var(--s-2);padding:var(--s-7) var(--s-5);flex-direction:column;display:flex}.empty-state-icon{width:40px;height:40px;margin-bottom:var(--s-1);border-radius:var(--r-full);background:var(--sunken);color:var(--ink-2);place-items:center;display:grid}.empty-state-icon svg{width:var(--icon-lg);height:var(--icon-lg)}.empty-state.is-error .empty-state-icon{background:var(--warn-wash);color:var(--warn)}.empty-state-title{font-size:var(--t-base);font-weight:var(--w-semibold);color:var(--ink);margin:0}.empty-state-desc{max-width:36ch;font-size:var(--t-sm);color:var(--ink-2);margin:0}.empty-state-action{margin-top:var(--s-3)}.feed-cta{align-items:center;gap:var(--s-2);max-width:100%;margin-left:calc(var(--s-2) * -1);padding:5px var(--s-2);border-radius:var(--r-sm);font:inherit;font-size:var(--t-sm);font-weight:var(--w-regular);color:var(--accent-ink);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;display:inline-flex}.feed-cta svg{width:var(--icon-md);height:var(--icon-md);flex:none}.feed-cta:hover{background:var(--sunken);color:var(--accent-ink)}.feed-cta.is-secondary{color:var(--ink-2);font-weight:var(--w-regular);margin-left:0}.feed-cta.is-secondary:hover{background:var(--sunken);color:var(--ink)}.feed-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (pointer:coarse){.feed-cta{min-height:44px}}.feed-quiet{margin-left:var(--s-1);opacity:0;transition:opacity var(--dur) var(--ease);align-items:center;gap:2px;display:inline-flex}.feed-card:hover .feed-quiet,.feed-card:focus-within .feed-quiet{opacity:1}@media (hover:none){.feed-quiet{opacity:1}}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);padding:3px var(--s-2);border-radius:var(--r-sm);background:var(--ink);color:var(--paper);font-size:var(--t-xs);font-weight:var(--w-medium);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s var(--ease), translate .12s var(--ease);z-index:30;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50% 2px}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transition-delay:.3s;translate:-50%}@media (hover:none){[data-tip]:after{display:none}}@media (prefers-reduced-motion:reduce){[data-tip]:after{transition:none;translate:-50%}}.file-card{align-items:center;gap:var(--s-3);max-width:30rem;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card);animation:rise var(--dur) var(--ease);border:0;display:flex}a.file-card{color:inherit;cursor:pointer;transition:box-shadow var(--dur) var(--ease);text-decoration:none}a.file-card:hover{box-shadow:var(--shadow-float)}a.file-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.file-card:active{translate:0 1px}.file-card-cta{width:32px;height:32px;margin-right:var(--s-1);border-radius:var(--r-full);color:var(--ink-3);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);flex:none;place-items:center;display:grid}a.file-card:hover .file-card-cta,a.file-card:focus-visible .file-card-cta{color:var(--ink);background:var(--sunken)}.file-card-lead{border-radius:var(--r-sm);background:var(--sunken);width:36px;height:36px;color:var(--ink-2);flex:none;place-items:center;display:grid}.file-card.is-official .file-card-lead{background:var(--accent-tint);color:var(--accent-ink)}.file-card.is-failed .file-card-lead,.file-card.is-official.is-failed .file-card-lead{background:var(--sunken);color:var(--ink-2)}.file-card-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.file-card-spinner{animation:none}}.file-card-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-card-title{font-size:var(--t-base);font-weight:var(--w-semibold);color:var(--ink)}.file-card-meta{font-size:var(--t-sm);color:var(--ink-2);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.watch-card{align-items:center;gap:var(--s-3);max-width:34rem;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--r-lg);display:flex}.watch-dot{border-radius:var(--r-full);background:var(--ink-3);flex:none;width:8px;height:8px}.watch-dot.is-live{background:var(--accent);animation:1.6s ease-out infinite watch-pulse}@keyframes watch-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--accent) 45%, transparent)}to{box-shadow:0 0 0 7px #0000}}@media (prefers-reduced-motion:reduce){.watch-dot.is-live{animation:none}}.watch-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.watch-label{font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink)}.watch-status{font-size:var(--t-xs);color:var(--ink-3)}.watch-card.is-done .watch-dot{background:var(--ok,var(--ink-2))}.watches-section{gap:var(--s-2);margin-bottom:var(--s-5);flex-direction:column;display:flex}.rail-unread{width:6px;height:6px;margin-right:var(--s-1);border-radius:var(--r-full);background:var(--accent);flex:none}.rail-chat:has(.rail-unread) .rail-chat-title{font-weight:var(--w-medium);color:var(--ink)}.report-card{width:100%;max-width:760px}.report-tool{border-radius:var(--r-sm);color:#6f6a63;cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:28px;display:grid}.report-tool:hover{color:#2a2723;background:#f3f0eb}.report-tool:disabled{opacity:.5;cursor:default}.report-tool:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.report-tool svg{width:16px;height:16px}@media (pointer:coarse){.report-tool{width:40px;height:40px}}.report-next{margin:var(--s-3) 0 0;font-size:var(--t-sm);color:var(--ink-2)}.report-status{min-height:1.2em;font-size:var(--t-xs);color:var(--ink-3);margin:4px 2px 0}.msg-time{font-size:var(--t-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;padding:0 6px}.turn-user-actions{align-items:center}.time-divider{margin:var(--s-2) 0;justify-content:center;display:flex}.time-divider span{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-3)}.thread-tail{flex:none}.reply-actions-wrap{gap:var(--s-2);margin-top:calc(var(--s-3) * -1);flex-direction:column;display:flex}.reply-actions{align-items:center;gap:2px;margin-left:-6px;display:flex}.reply-action{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-3);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;place-items:center;padding:0;display:grid}.reply-action svg{width:var(--icon-md);height:var(--icon-md)}.reply-action:hover{background:var(--sunken);color:var(--ink)}.reply-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reply-action.is-on{color:var(--ink)}@media (pointer:coarse){.reply-action{width:40px;height:40px}}.reply-thanks{margin-left:var(--s-2);font-size:var(--t-xs);color:var(--ink-3)}.reply-why{gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);animation:rise var(--dur) var(--ease);flex-direction:column;display:flex}.reply-why-title{font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink);margin:0}.reply-why-chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.why-chip{padding:4px var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-full);font:inherit;font-size:var(--t-sm);color:var(--ink-2);cursor:pointer;background:0 0}.why-chip:hover{background:var(--sunken);color:var(--ink)}.why-chip.on{border-color:var(--ink);color:var(--ink);background:var(--sunken)}.why-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reply-why-note{font:inherit;font-size:var(--t-sm);padding:6px var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);resize:vertical}.reply-why-note:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reply-why-actions{justify-content:flex-end;gap:var(--s-2);display:flex}.tc-choice{gap:var(--s-3);padding:var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);animation:rise var(--dur) var(--ease);flex-direction:column;display:flex}.tc-title{font-size:var(--t-base);font-weight:var(--w-semibold);color:var(--ink);margin:0}.tc-sub{font-size:var(--t-sm);color:var(--ink-2);margin:0}.tc-cards{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:560px){.tc-cards{grid-template-columns:1fr}}.tc-card{gap:var(--s-1);padding:var(--s-3) var(--s-4) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);flex-direction:column;display:flex}.tc-card.is-suggested{border-color:var(--accent-line);background:var(--accent-wash)}.tc-card-head{justify-content:space-between;align-items:center;gap:var(--s-2);min-height:22px;display:flex}.tc-role{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2)}.tc-suggested{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--accent)}.tc-times{font-size:var(--t-lg);font-weight:var(--w-semibold);color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.tc-worked{font-size:var(--t-sm);color:var(--ink-2);margin:0}.tc-facts{margin:var(--s-1) 0 var(--s-2);font-size:var(--t-xs);color:var(--ink-3);flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.tc-why{margin:var(--s-1) 0 0;font-size:var(--t-xs);color:var(--ink-2)}.tc-card .btn{align-self:flex-start;margin-top:auto}.tc-foot{justify-content:flex-end;gap:var(--s-2);flex-wrap:wrap;display:flex}.rail-toggle{position:relative}.menu-dot{border-radius:var(--r-full);background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--paper);position:absolute;top:8px;right:7px}@media (pointer:coarse){.menu-dot{top:9px;right:9px}}.app{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.topbar{padding-top:max(var(--s-2), env(safe-area-inset-top))}.dock{padding-bottom:max(var(--s-4), calc(env(safe-area-inset-bottom) + var(--s-2)))}@media (max-width:640px) and (pointer:coarse){.dock{padding-bottom:max(14px, calc(env(safe-area-inset-bottom) - 10px))}.dock-inner{width:calc(100% - 20px)}.composer{border-radius:var(--r-lg);padding:12px 8px 8px 20px}.dock .composer{border-radius:30px}.composer textarea{padding-right:12px}}@media (max-width:860px){.rail,.app.rail-collapsed .rail{padding-top:max(var(--s-2), env(safe-area-inset-top));padding-bottom:max(var(--s-3), env(safe-area-inset-bottom));padding-left:max(var(--s-2), env(safe-area-inset-left))}}.page-scroll{padding-bottom:env(safe-area-inset-bottom)}@media (max-width:640px){.tool-line:not(.change){grid-template-columns:minmax(0,1fr);display:grid}.tool-line:not(.change)>b+span:before{content:none}.tool-line.change>.cannot{grid-area:3/1;align-self:start}}.composer-shell{border-radius:calc(var(--r-lg) + 4px)}.composer-shell.has-alert{background:var(--danger-wash);animation:rise var(--dur) var(--ease);margin:0 -4px -4px;padding:0 4px 4px}.composer-alert{align-items:center;gap:var(--s-1);min-height:36px;padding:2px var(--s-1) 2px var(--s-3);font-size:var(--t-sm);color:var(--ink);line-height:20px;display:flex}.composer-alert-row{align-items:flex-start;gap:var(--s-2);text-align:left;min-width:0;font:inherit;line-height:inherit;color:inherit;background:0 0;border:0;flex:1;margin:0;padding:6px 0;text-decoration:none;display:flex}button.composer-alert-row,a.composer-alert-row{cursor:pointer}.composer-alert-icon{height:20px;color:var(--danger);flex:none;place-items:center;display:grid}.composer-alert-icon svg{width:14px;height:14px;display:block}.composer-alert-text{min-width:0}.composer-shell.is-info .composer-alert-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.composer-alert-link{font-weight:var(--w-medium);white-space:nowrap;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px;-webkit-text-decoration-color:color-mix(in oklch, var(--danger) 55%, transparent);text-decoration-color:color-mix(in oklch, var(--danger) 55%, transparent)}.composer-shell.has-alert.is-info{background:var(--accent-wash)}.composer-shell.is-info .composer-alert-link{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.composer-alert-row:hover .composer-alert-link{text-decoration-color:currentColor}.composer-alert-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.composer-alert-close{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.composer-alert-close:hover{color:var(--ink);background:color-mix(in oklch, var(--ink) 8%, transparent)}.composer-alert-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.composer-alert-close svg{width:14px;height:14px}@media (pointer:coarse){.composer-alert-close{width:44px;height:44px;margin-block:-6px}}@media (max-width:640px) and (pointer:coarse){.composer-shell{border-radius:calc(var(--r-lg) + 4px)}.dock .composer-shell{border-radius:34px}.composer-alert{padding:2px 0 1px var(--s-4)}}.auto-btn{isolation:isolate;border-radius:var(--r-full);min-height:32px;font:inherit;font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink-2);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;align-items:center;padding:0 10px;display:inline-flex;position:relative;overflow:hidden}.auto-btn:hover{background:var(--sunken);color:var(--ink)}.auto-btn.is-on .auto-label{background:var(--auto-text);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.auto-btn.is-flash .auto-label{background-image:var(--auto-sweep), var(--auto-text);-webkit-text-fill-color:transparent;color:#0000;background-position:150% 0,0 0;background-repeat:no-repeat;background-size:300% 100%,100% 100%;-webkit-background-clip:text;background-clip:text;animation:.7s cubic-bezier(.45,0,.55,1) forwards auto-sweep}@keyframes auto-sweep{to{background-position:-50% 0,0 0}}@media (prefers-reduced-motion:reduce){.auto-btn.is-flash .auto-label{background-image:var(--auto-text);background-position:0 0;background-size:auto;animation:none}}.auto-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.composer-add{width:32px;height:32px;margin-left:calc(var(--s-2) * -1);border-radius:var(--r-full);color:var(--ink-2);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;flex:none;place-items:center;display:grid}.composer-add:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.composer-add:disabled{color:var(--ink-3);cursor:default}.composer-add[aria-busy=true]{cursor:progress}.composer-add:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.composer-add svg{width:var(--icon-md);height:var(--icon-md)}@media (pointer:coarse){.composer-add{width:44px;height:44px}}.composer-files{gap:var(--s-2);padding-top:var(--s-1);margin-left:calc(var(--s-2) * -1);flex-wrap:wrap;display:flex}.turn-files{justify-content:flex-end;gap:var(--s-2);margin-bottom:var(--s-1);flex-wrap:wrap;display:flex}.file-chip{align-items:center;gap:var(--s-2);max-width:min(100%,20rem);min-height:44px;padding:6px var(--s-1) 6px var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);animation:rise var(--dur) var(--ease);display:inline-flex}.turn-files .file-chip{padding-right:var(--s-3)}.file-chip-icon{border-radius:var(--r-sm);background:var(--sunken);width:28px;height:28px;color:var(--ink-2);flex:none;place-items:center;display:grid}.file-chip-icon svg{display:block}.file-chip-thumb{border-radius:var(--r-sm);object-fit:cover;background:var(--sunken);flex:none;width:28px;height:28px}.turn-image{border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);max-width:min(100%,20rem);animation:rise var(--dur) var(--ease);display:block;overflow:hidden}.turn-image img{object-fit:contain;width:100%;height:auto;max-height:18rem;display:block}.turn-image:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.file-chip-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.file-chip-name{font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-chip-meta{font-size:var(--t-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.file-chip[aria-busy=true] .file-chip-meta{color:var(--ink-2)}.file-chip-remove{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.file-chip-remove:hover{color:var(--ink);background:var(--sunken)}.file-chip-remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.file-chip-remove svg{width:14px;height:14px}@media (pointer:coarse){.file-chip-remove{width:44px;height:44px;margin-block:-8px}}@media (prefers-reduced-motion:reduce){.file-chip{animation:none}}.menu-setting{align-items:flex-start;gap:var(--s-2);text-align:left;display:flex}.menu-check{width:16px;height:18px;color:var(--accent);flex:none;place-items:center;display:grid}.menu-check svg{width:14px;height:14px}.menu-text{flex-direction:column;gap:2px;min-width:0;display:flex}.menu-hint{font-size:var(--t-xs);color:var(--ink-3);white-space:normal;text-wrap:balance;max-width:15rem}.switch{align-items:center;gap:var(--s-2);border-radius:var(--r-full);font:inherit;font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-3);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:0;flex:none;padding:4px 6px;display:inline-flex}.switch:hover{color:var(--ink-2)}.switch.on{color:var(--ink)}.switch-track{border-radius:var(--r-full);background:var(--switch-off);width:26px;height:16px;transition:background var(--dur) var(--ease);display:block;position:relative}.switch.on .switch-track{background:var(--accent)}.switch-knob{background:var(--switch-knob-off);width:12px;height:12px;box-shadow:var(--shadow-knob);transition:translate var(--dur) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch.on .switch-knob{background:var(--switch-knob);translate:10px}@media (pointer:coarse){.switch{min-height:44px;padding-inline:var(--s-2)}}.menu-icon{width:16px;height:18px;color:var(--ink-2);flex:none;place-items:center;display:grid}.menu-icon svg{width:14px;height:14px}.action-menu .menu-setting{align-items:center}.action-menu:has(.menu-hint){width:max-content;max-width:calc(100vw - 24px)}.action-menu .menu-setting:has(.menu-hint){align-items:flex-start}.menu-setting:has(.menu-hint) .menu-check{height:22px}.action-menu .menu-hint{max-width:11.5rem}.viewer{z-index:120;background:var(--sunken);animation:fade var(--dur) var(--ease);flex-direction:column;display:flex;position:fixed;inset:0}.viewer-bar,.viewer-tools{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--surface);flex:none;display:flex}.viewer-bar{padding-top:max(var(--s-2), env(safe-area-inset-top));border-bottom:1px solid var(--line)}.viewer-tools{padding-bottom:max(var(--s-2), env(safe-area-inset-bottom));border-top:1px solid var(--line);min-height:52px}.viewer-place{justify-content:center;align-items:center;gap:var(--s-2);min-width:0;font-size:var(--t-sm);font-weight:var(--w-medium);flex:1;display:flex}.viewer-place .path{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:1;min-height:0;position:relative;overflow:hidden}.viewer-page{transform-origin:0 0;will-change:transform;box-shadow:var(--shadow-float);background:var(--surface);position:absolute;top:0;left:0}.viewer-page img{pointer-events:none;width:100%;height:100%;display:block}.viewer-stage .shot-empty{color:var(--ink-2);font-size:var(--t-sm);place-items:center;display:grid;position:absolute;inset:0}.viewer-hint{text-align:center;min-width:0;color:var(--ink-2);font-size:var(--t-xs);flex:1}.viewer-ripple{border:2px solid var(--accent);pointer-events:none;width:36px;height:36px;animation:viewer-ripple .45s var(--ease) forwards;border-radius:50%;margin:-18px 0 0 -18px;position:absolute}@keyframes viewer-ripple{0%{opacity:1;scale:.4}to{opacity:0;scale:1.3}}@media (prefers-reduced-motion:reduce){.viewer{animation:none}.viewer-ripple{display:none}}.viewer-page img.viewer-tile{position:absolute}@media (min-width:861px){.topbar:has(>.bar-title.is-page){grid-template-columns:auto minmax(0,1fr) auto;column-gap:0}.topbar:has(>.bar-title.is-page)>.topbar-side:first-child{min-width:0}.topbar:has(>.bar-title.is-page)>.topbar-side:first-child:has(>:not(.wide-hidden)){margin-right:var(--s-2)}.topbar:has(>.bar-title.is-page)>.topbar-side.is-end{margin-left:var(--s-2)}.bar-title.is-page{justify-content:flex-start;padding-left:6px}.bar-title.is-page .bar-title-text{font-size:1rem}}@media (max-width:860px){.feed-quiet{margin-left:auto}.feed-head{align-items:flex-start;gap:var(--s-1);flex-direction:column-reverse}}.action-menu button.is-danger,.action-menu button.is-danger .menu-icon{color:var(--danger)}.action-menu button.is-danger:hover,.action-menu button.is-danger:focus-visible{background:var(--danger-wash)}@media (pointer:coarse){.choice-key,.tab-hint,.asking .row .spacer{display:none}.asking .row:not(:has(button)){display:none}}@media (max-width:640px) and (pointer:coarse){.dock .asking{border-radius:20px 20px 30px 30px;padding:14px}.dock .asking .choice{border-radius:16px}}@keyframes spin{to{transform:rotate(360deg)}}.browser-shot-wrap{position:relative}.tour-layer,.tour-ended{pointer-events:none;position:absolute;inset:0}.tour-dim{background:var(--scrim);animation:.16s ease-out tour-fade;position:absolute}.tour-ring{border-radius:var(--r-sm);box-shadow:0 0 0 2px var(--accent);animation:.16s ease-out tour-fade;position:absolute}.tour-ring.is-framed{box-shadow:0 0 0 2px var(--accent), 0 0 0 200vmax var(--scrim)}.viewer-stage .tour-layer{overflow:hidden}.tour-caption{margin-top:var(--s-3);max-width:280px;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--ink);color:var(--ink-inverse);font-size:var(--t-sm);gap:2px;display:grid;position:absolute}.tour-caption:not([style]){left:50%;top:var(--s-4);transform:translate(-50%)}.tour-scroll{opacity:.8}.tour-end,.tour-ended{pointer-events:auto}.tour-end{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:var(--t-sm);padding:var(--s-1) var(--s-3);cursor:pointer;top:var(--s-3);right:var(--s-3);position:absolute}.tour-ended{inset:auto var(--s-4) var(--s-4) auto;max-width:calc(100% - 2 * var(--s-4));width:320px;padding:var(--s-4);border-radius:var(--r-md);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-float)}.tour-ended button{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:var(--t-sm);padding:var(--s-1) var(--s-3);cursor:pointer}.tour-ended-actions{gap:var(--s-3);display:flex}@keyframes tour-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tour-dim,.tour-ring{animation:none}}.receipt-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:100%;box-shadow:var(--shadow-sm);animation:rise var(--dur) var(--ease)}.receipt-row{align-items:center;gap:var(--s-2);width:100%;min-height:40px;padding:var(--s-2) var(--s-3);border-radius:inherit;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur) var(--ease);background:0 0;border:0;grid-template-columns:20px minmax(0,1fr) auto 14px;display:grid}.receipt-row:hover:not(:disabled){background:var(--sunken)}.receipt-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.receipt-row:disabled{cursor:default;opacity:1}.receipt-card.is-live .receipt-row{grid-template-columns:20px minmax(0,1fr) auto}.receipt-card.is-open .receipt-row{border-radius:var(--r-md) var(--r-md) 0 0}.receipt-status{border-radius:var(--r-full);background:var(--sunken-2);width:20px;height:20px;color:var(--ink-2);place-items:center;display:grid}.receipt-card.is-done .receipt-status{background:var(--accent-tint);color:var(--accent-ink)}.receipt-card.is-live .receipt-status{background:0 0}.receipt-pulse{border-radius:var(--r-full);background:var(--accent);width:6px;height:6px;animation:1.2s ease-in-out infinite receipt-pulse}.receipt-headline{white-space:nowrap;text-overflow:ellipsis;font-size:var(--t-chat);font-weight:var(--w-medium);color:var(--ink);overflow:hidden}.receipt-card.is-live .receipt-headline{animation:receipt-tick var(--dur-slow) var(--ease)}.receipt-meta{white-space:nowrap;font-size:var(--t-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.receipt-chevron{color:var(--ink-3);transition:transform var(--dur) var(--ease)}.receipt-card.is-open .receipt-chevron{transform:rotate(180deg)}.receipt-detail{padding:var(--s-1) var(--s-1) var(--s-2);border-top:1px solid var(--line)}.receipt-lines{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.receipt-lines li{align-items:baseline;gap:var(--s-3);padding:var(--s-1) var(--s-2) var(--s-1) calc(20px + var(--s-4));border-radius:var(--r-sm);font-size:var(--t-sm);color:var(--ink-2);transition:background-color var(--dur) var(--ease);display:flex}.receipt-lines li:hover{background:var(--sunken)}.receipt-line-text{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.receipt-error{color:var(--ink)}.receipt-undo{font:inherit;font-weight:var(--w-medium);color:var(--accent);cursor:pointer;opacity:0;transition:opacity var(--dur) var(--ease);background:0 0;border:0;flex:none;padding:0}.receipt-lines li:hover .receipt-undo,.receipt-lines li:focus-within .receipt-undo{opacity:1}.receipt-undo:focus-visible,.receipt-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}@media (hover:none){.receipt-undo{opacity:1}}.receipt-actions{justify-content:flex-end;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-2) 0;display:flex}.receipt-link{font:inherit;font-size:var(--t-sm);color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:0}.receipt-link:hover{color:var(--accent)}.receipt-permanent{font-size:var(--t-sm);color:var(--ink-3);margin-right:auto}@keyframes receipt-tick{0%{opacity:0;transform:translateY(3px)}}@keyframes receipt-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.receipt-card.is-live .receipt-headline,.receipt-pulse{animation:none}}.tcr{max-width:34rem;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card);animation:rise var(--dur) var(--ease);outline:none;position:relative;overflow:hidden}.tcr:focus-visible{box-shadow:var(--shadow-card), 0 0 0 2px var(--accent-line)}.tcr p{margin:0}.tcr-head{justify-content:space-between;align-items:baseline;display:flex}.tcr-eyebrow{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2)}.tcr-count{font-size:var(--t-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.tcr-bar{height:4px;margin-top:var(--s-2);border-radius:var(--r-full);background:var(--sunken);overflow:hidden}.tcr-bar span{border-radius:inherit;background:var(--accent);height:100%;transition:width .4s var(--ease);display:block}.tcr-item{margin-top:var(--s-3);animation:tcr-in .22s var(--ease)}.tcr-who{align-items:center;gap:var(--s-3);display:flex}.tcr-avatar{border-radius:var(--r-full);background:var(--accent-wash);width:32px;height:32px;color:var(--accent-ink);font-size:var(--t-xs);font-weight:var(--w-semibold);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);flex:none;place-items:center;display:grid}.tcr-item.is-flash .tcr-avatar{background:var(--good);color:var(--on-accent);animation:tcr-pop .32s var(--ease)}.tcr-name{font-size:var(--t-base);font-weight:var(--w-semibold);color:var(--ink)}.tcr-when{font-size:var(--t-sm);color:var(--ink-2)}.tcr-facts{margin-top:var(--s-2);font-size:var(--t-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.tcr-note{margin-top:var(--s-2);font-size:var(--t-sm);color:var(--ink-3)}.tcr-saving{justify-content:space-between;align-items:center;gap:var(--s-2);margin-top:var(--s-3);font-size:var(--t-sm);color:var(--ink-2);display:flex}.tcr-outcome{margin-top:var(--s-1);font-size:var(--t-sm);color:var(--good)}.tcr-options{margin-top:var(--s-3);gap:6px;display:grid}.tcr-options.is-reasons{grid-template-columns:1fr 1fr}.tcr-options.is-reasons .is-wide{grid-column:1/-1}.tcr-option{align-items:center;gap:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-chat);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);padding:8px 10px;display:flex}.tcr-option:hover:not(:disabled){background:var(--sunken)}.tcr-option:disabled{cursor:default;color:var(--ink-3)}.tcr-option.is-suggested{border-color:var(--accent-line);background:var(--accent-wash)}.tcr-option kbd{background:var(--sunken);min-width:20px;height:20px;color:var(--ink-3);font:inherit;font-size:var(--t-xs);font-variant-numeric:tabular-nums;border-radius:6px;flex:none;place-items:center;display:grid}.tcr-option.is-suggested kbd{background:var(--accent-tint);color:var(--accent-ink)}.tcr-option-text{flex-direction:column;flex:1;min-width:0;display:flex}.tcr-option-text small{font-size:var(--t-xs);color:var(--ink-3)}.tcr-likely{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--accent-ink)}.tcr-foot{justify-content:space-between;align-items:center;gap:var(--s-2);margin-top:var(--s-3);font-size:var(--t-sm);color:var(--ink-3);display:flex}.tcr-keys{font-size:var(--t-xs)}.tcr-link{border-radius:var(--r-sm);color:var(--ink-2);font:inherit;font-size:var(--t-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.tcr-link:hover:not(:disabled){color:var(--ink);background:var(--sunken)}.tcr-link:disabled{color:var(--ink-3);cursor:default}.tcr-undo{align-items:center;gap:var(--s-1);color:var(--ink-2);display:inline-flex}.tcr-ask{gap:var(--s-2);margin-top:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));display:grid}.tcr-ask label{font-size:var(--t-xs);color:var(--ink-2);flex-direction:column;gap:4px;display:flex}.tcr-ask input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-chat);padding:6px 8px}.tcr-ask input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tcr-ask-actions{justify-content:flex-end;gap:var(--s-2);grid-column:1/-1;display:flex}.tcr.is-finished,.tcr.is-clear{align-items:flex-start;gap:var(--s-3);display:flex}.tcr-done-mark{border-radius:var(--r-full);background:var(--good-wash);width:32px;height:32px;color:var(--good);animation:tcr-pop .36s var(--ease);flex:none;place-items:center;display:grid}.tcr-finish{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.tcr-title{font-size:var(--t-base);font-weight:var(--w-semibold);color:var(--ink)}.tcr-sub{font-size:var(--t-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.tcr-streak{margin-top:var(--s-2);font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--warn);animation:tcr-in .32s var(--ease) .2s both;align-items:center;gap:6px;display:inline-flex}.tcr-streak.is-first{font-weight:var(--w-regular);color:var(--ink-2)}.tcr-failed{margin:var(--s-2) 0 0;padding-left:var(--s-4);font-size:var(--t-sm);color:var(--ink-2)}.tcr-finish .btn{margin-top:var(--s-2)}.tcr.is-finished{overflow:visible}.tcr-confetti{top:calc(var(--s-3) + 16px);left:calc(var(--s-4) + 16px);pointer-events:none;width:0;height:0;position:absolute}.tcr-confetti span{opacity:0;border-radius:2px;width:6px;height:9px;animation:1.1s cubic-bezier(.2,.7,.4,1) forwards tcr-burst;position:absolute}@keyframes tcr-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes tcr-pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes tcr-burst{0%{opacity:1;transform:translate(0)scale(.6)}70%{opacity:1}to{transform:translate(var(--dx), var(--dy)) rotate(var(--spin)) scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){.tcr,.tcr-item,.tcr-avatar,.tcr-done-mark,.tcr-streak{animation:none!important}.tcr-bar span{transition:none}}.tcr{--punch-paper:color-mix(in oklch, var(--surface), #f6e6c7 45%);--punch-rule:color-mix(in oklch, var(--line), transparent 35%);--punch-line:var(--line-strong);--punch-font:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}@supports (color:lab(0% 0 0)){.tcr{--punch-paper:color-mix(in oklch, var(--surface), lab(92.0322% 1.78027 17.5391) 45%)}}.tcr-punch{margin-top:var(--s-3);border:1px solid var(--punch-line);background-color:var(--punch-paper);background-image:repeating-linear-gradient(to bottom, transparent 0 27px, var(--punch-rule) 27px 28px);clip-path:polygon(14px 0,100% 0,100% 100%,0 100%,0 14px);font-family:var(--punch-font);font-variant-numeric:tabular-nums;color:var(--ink);background-position:0 22px;border-radius:6px;padding:7px 0 0 12px;position:relative}.tcr-punch:before{content:"";background:linear-gradient(135deg, transparent 0 9.4px, var(--punch-line) 9.4px 10.6px, transparent 10.6px);width:14px;height:14px;position:absolute;top:0;left:0}.tcr-punch-top{border-bottom:1px dashed var(--punch-line);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;margin-right:0;padding:0 12px 5px 10px;font-size:10px;display:flex}.tcr-punch-grid{font-size:var(--t-sm);grid-template-columns:3.6rem minmax(4.6rem,1fr) minmax(4.6rem,1fr) minmax(6.5rem,1.5fr);padding-bottom:3px;line-height:28px;display:grid}.tcr-punch-grid>[role=columnheader],.tcr-punch-grid>[role=rowheader]{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.tcr-punch-grid>[role=columnheader]{line-height:22px}.tcr-punch-grid>[role=columnheader]:not(:first-child),.tcr-punch-grid>[role=cell]{border-left:1px dotted var(--punch-line);padding-left:8px}.tcr-punch-grid>[role=cell]{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.tcr-punch-grid small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-left:1px;font-size:.72em}.tcr-punch-grid>.is-issue{background:color-mix(in oklch, var(--punch-paper), var(--warn) 14%)}.tcr-blank{color:var(--ink-3)}.tcr-breaks{flex-direction:column;display:flex}.tcr-span{white-space:nowrap}.tcr-hole{font-size:10px;font-weight:var(--w-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--warn);transition:color var(--dur) var(--ease);align-items:center;gap:5px;display:inline-flex}.tcr-hole svg{flex:none}.tcr-hole-check,.tcr-item.is-flash .tcr-hole-alert{display:none}.tcr-item.is-flash .tcr-hole-check{display:block}.tcr-item.is-flash .tcr-hole{color:var(--good)}.tcr-item.is-flash .tcr-hole svg{animation:tcr-pop .32s var(--ease)}@media (prefers-reduced-motion:reduce){.tcr-item.is-flash .tcr-hole svg{animation:none}}.tcr-punch-grid>.is-editable{padding-right:26px;position:relative}.tcr-pencil{width:20px;height:20px;color:var(--ink-3);cursor:pointer;opacity:0;transition:opacity var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid;position:absolute;top:4px;right:3px}.tcr-punch-grid>.is-editable:hover .tcr-pencil,.tcr-pencil:focus-visible,.tcr-punch-grid>.is-issue .tcr-pencil{opacity:1}.tcr-pencil:hover{color:var(--ink);background:color-mix(in oklch, var(--punch-paper), var(--ink) 8%)}.tcr-pencil:focus-visible{outline:2px solid var(--accent);outline-offset:0}@media (hover:none){.tcr-pencil{opacity:1}}.tcr-punch-grid>.is-edited{background:color-mix(in oklch, var(--punch-paper), var(--ink) 5%)}.tcr-edited{white-space:nowrap}.tcr-item.is-flash .tcr-edited sup,.tcr-item.is-flash .tcr-punch-legend{visibility:hidden}.tcr-edited sup{font-size:.85em;font-weight:var(--w-semibold);color:var(--warn);margin-left:2px}.tcr-punch-legend{border-top:1px dashed var(--punch-line);letter-spacing:.1em;text-transform:uppercase;text-align:right;color:var(--ink-3);padding:2px 12px 4px 0;font-size:10px}.tcr-option-icon{color:var(--ink-3);flex:none}.tcr-nobreak{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-size:10px}.tcr-outcome.is-skipped{color:var(--ink-3)}.tcr-outcome.is-failed{color:var(--warn)}.tcr.is-partial .tcr-done-mark{background:var(--sunken);color:var(--ink-2)}.tcr-done-count{font-size:10px;font-weight:var(--w-semibold);font-variant-numeric:tabular-nums}.tcr-open{margin:var(--s-2) 0 0;font-size:var(--t-sm);gap:2px;padding:0;list-style:none;display:grid}.tcr-open li{gap:0 var(--s-2);flex-wrap:wrap;display:flex}.tcr-open li span:first-child{color:var(--ink)}.tcr-open li span:last-child,.tcr-open-more{color:var(--ink-3)}@media (prefers-color-scheme:dark){.tcr{--punch-paper:color-mix(in oklch, var(--surface), #846e49 16%);--punch-rule:color-mix(in oklch, var(--line), transparent 30%);--punch-line:var(--line-strong)}@supports (color:lab(0% 0 0)){.tcr{--punch-paper:color-mix(in oklch, var(--surface), lab(47.8796% 5.11438 24.2892) 16%)}}}.tcr-punch{container-type:inline-size}@container (max-width:440px){.tcr-punch-grid{grid-template-columns:2.9rem 1fr 1fr 1.25fr;font-size:12.5px}.tcr-punch-grid>[role=columnheader]:not(:first-child),.tcr-punch-grid>[role=cell]{padding-left:5px}.tcr-punch-grid>[role=columnheader],.tcr-punch-grid>[role=rowheader]{letter-spacing:.08em}.tcr-punch-grid>.is-editable{padding-right:18px}.tcr-pencil{width:17px;right:1px}.tcr-hole{letter-spacing:.06em;gap:3px}.tcr-punch-top{letter-spacing:.1em}}@media (hover:none) and (pointer:coarse){.tcr-keys,.tcr kbd{display:none}.tcr-option{min-height:44px}.tcr-pencil{width:28px;height:28px;top:0}}.tcr{container:tcr/inline-size}.tcd{border-radius:var(--r-lg);background:var(--surface);width:min(27rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);box-shadow:var(--shadow-float);border:0;padding:0}.tcd[open]{animation:rise var(--dur) var(--ease)}.tcd::backdrop{background:var(--scrim)}.tcd form{gap:var(--s-4);padding:var(--s-4);display:grid}.tcd-head h2{font-size:var(--t-lg);font-weight:var(--w-semibold);margin:0}.tcd-head p{font-size:var(--t-sm);color:var(--ink-2);margin:2px 0 0}.tcd-ref{padding:var(--s-2) var(--s-3);border:1px dashed var(--line-strong);border-radius:var(--r-sm);background:color-mix(in oklch, var(--surface), #f6e6c7 45%);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--t-sm);font-variant-numeric:tabular-nums;gap:4px;margin:0;display:grid}@supports (color:lab(0% 0 0)){.tcd-ref{background:color-mix(in oklch, var(--surface), lab(92.0322% 1.78027 17.5391) 45%)}}.tcd-ref div{gap:var(--s-3);display:flex}.tcd-ref dt{letter-spacing:.14em;text-transform:uppercase;width:9rem;color:var(--ink-3);flex:none;font-size:10px;line-height:20px}.tcd-ref dd{color:var(--ink);margin:0}.tcd-group{gap:var(--s-2);border:0;min-width:0;margin:0;padding:0;display:grid}.tcd-group legend{margin-bottom:var(--s-2);font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink);padding:0}.tcd-times{align-items:flex-end;gap:var(--s-2);display:flex}.tcd-times label{min-width:0;font-size:var(--t-xs);color:var(--ink-2);flex-direction:column;flex:1;gap:4px;display:flex}.tcd-times input{box-sizing:border-box;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);width:100%;height:42px;color:var(--ink);font:inherit;font-size:var(--t-base);font-variant-numeric:tabular-nums;padding:0 10px}.tcd-times input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.tcd-dash{color:var(--ink-3);padding-bottom:11px}.tcd-quick{color:var(--accent-ink);font:inherit;font-size:var(--t-sm);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0}.tcd-quick:hover{text-decoration:underline}.tcd-choices{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.tcd-choice{align-items:center;gap:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);min-height:44px;font-size:var(--t-sm);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);padding:0 12px;display:flex}.tcd-choice:hover{border-color:var(--line-strong)}.tcd-choice.is-on{border-color:var(--accent-line);background:var(--accent-wash)}.tcd-choice input{accent-color:var(--accent);margin:0}.tcd-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.tcd-hint{font-size:var(--t-xs);color:var(--ink-3);margin:0}.tcd-error{border-radius:var(--r-sm);background:var(--warn-wash);color:var(--warn);font-size:var(--t-sm);margin:0;padding:8px 10px}.tcd-foot{align-items:center;gap:var(--s-2);display:flex}.tcd-foot .tcd-hint{flex:1}@media (prefers-color-scheme:dark){.tcd-ref{background:color-mix(in oklch, var(--surface), #846e49 16%)}@supports (color:lab(0% 0 0)){.tcd-ref{background:color-mix(in oklch, var(--surface), lab(47.8796% 5.11438 24.2892) 16%)}}}@media (max-width:480px){.tcd-choices{grid-template-columns:1fr}.tcd-ref dt{width:6.5rem}.tcd-foot{flex-wrap:wrap}.tcd-foot .tcd-hint{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.tcd[open]{animation:none}}.tcd-foot .btn:first-of-type{margin-left:auto}@media (max-width:640px){.action-bar{width:100%;justify-content:flex-start!important;align-items:stretch!important;gap:var(--s-2)!important;flex-flow:column!important;display:flex!important}.action-bar>.btn{width:100%;height:auto;min-height:48px;padding:0 var(--s-4);font-size:var(--t-base);justify-content:center;margin:0}.action-bar>.btn.primary,.action-bar>.btn.danger{order:-2}.action-bar>.btn:not(.primary):not(.danger){color:var(--ink);background:0 0;border-color:#0000;order:-1}.action-bar>.btn:not(.primary):not(.danger):hover,.action-bar>.btn:not(.primary):not(.danger):active{background:var(--sunken)}.action-bar>:not(.btn){text-align:center;order:0;align-self:center;margin:0}.action-bar>:not(.btn):first-child{order:-3}.action-bar>[role=alert]{text-align:left;order:-3;align-self:stretch}.action-bar>.spacer:has(kbd){display:none}.action-bar>.btn:only-of-type:not(.danger){background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}}
