*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif;font-size:var(--type-subhead-size);line-height:var(--type-subhead-line)}#root{min-height:100vh;display:flex;flex-direction:column}.shell{display:flex;flex:1 1 auto}.sidebar{width:212px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:var(--space-xl) 0}.sidebar-logo{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-lg) var(--space-xl);font-weight:700;font-size:var(--type-subhead-size)}.sidebar-logo .dotmark{width:var(--space-sm);height:var(--space-sm);border-radius:var(--radius-pill);background:var(--color-accent);flex-shrink:0}.nav-list{list-style:none;margin:0;padding:0}.nav-item{display:flex;align-items:center;min-height:var(--touch-min);padding:var(--space-sm) var(--space-lg);font-size:var(--type-caption-size);color:var(--color-text-secondary);text-decoration:none;border-right:3px solid transparent}.nav-item:hover{color:var(--color-text-primary)}.nav-item[aria-current=page]{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface));border-right-color:var(--color-accent);font-weight:600}.sidebar-foot{margin-top:auto;padding:var(--space-lg);border-top:1px solid var(--color-border);font-size:var(--type-caption-size);color:var(--color-text-secondary)}.sidebar-foot .name{color:var(--color-text-primary);font-weight:600}.main{flex:1;min-width:0;max-width:1040px;margin:0 auto;padding:var(--space-xl)}.main-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-xl)}.page-h1{font-size:var(--type-title1-size);line-height:var(--type-title1-line);font-weight:var(--type-title1-weight);margin:0 0 var(--space-xs)}.card-h2{font-size:var(--type-title2-size);line-height:var(--type-title2-line);font-weight:var(--type-title2-weight);margin:0 0 var(--space-xs)}.page-sub{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0;max-width:60ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--touch-min);padding:0 var(--space-lg);border-radius:var(--radius-md);border:1px solid transparent;font:inherit;font-size:var(--type-caption-size);font-weight:600;cursor:pointer;white-space:nowrap;background:var(--color-accent);color:var(--color-on-accent);transition:background var(--motion-fast) linear}.btn:hover:not(:disabled){background:var(--color-accent-pressed)}.btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.btn[disabled]{background:var(--color-surface2);color:var(--color-text-disabled);border-color:var(--color-border);cursor:default}.btn.secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.btn.secondary:hover:not(:disabled){background:var(--color-surface2)}.btn.ghost{background:transparent;color:var(--color-accent)}.btn.ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.btn.danger{background:transparent;color:var(--color-danger)}.btn.small{min-height:var(--space-xxl);padding:0 var(--space-md)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-lg)}.card.narrow{max-width:520px}.card+.card{margin-top:var(--space-md)}.badge{display:inline-flex;align-items:center;font-size:var(--type-caption-size);font-weight:600;padding:var(--space-xxs) var(--space-sm);border-radius:var(--radius-pill);white-space:nowrap;background:var(--color-surface2);color:var(--color-text-secondary)}.badge.done{background:color-mix(in srgb,var(--color-success) 14%,var(--color-surface));color:var(--color-success)}.badge.partial{background:color-mix(in srgb,var(--color-warning) 16%,var(--color-surface));color:var(--color-warning)}.badge.missed{background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));color:var(--color-danger)}.badge.markedDone{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));color:var(--color-accent)}.badge.replaced{background:color-mix(in srgb,var(--color-text-secondary) 14%,var(--color-surface));color:var(--color-text-secondary)}.notice{border-radius:var(--radius-md);padding:var(--space-lg);font-size:var(--type-caption-size);line-height:var(--type-subhead-line);border:1px solid var(--color-border);background:var(--color-surface2);color:var(--color-text-primary);margin-bottom:var(--space-lg)}.notice.warn{background:color-mix(in srgb,var(--color-warning) 14%,var(--color-surface));border-color:color-mix(in srgb,var(--color-warning) 40%,var(--color-surface));color:var(--color-warning)}.error-line{color:var(--color-danger);font-size:var(--type-caption-size);margin:var(--space-sm) 0 0}.centered{display:flex;flex:1 1 auto;align-items:center;justify-content:center;padding:var(--space-lg);background:color-mix(in srgb,var(--color-accent) 5%,var(--color-bg))}.auth-shell{display:flex;flex-direction:column;align-items:center;width:100%;max-width:440px}.brand-mark-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.brand-mark{width:48px;height:48px;border-radius:var(--radius-md)}.brand-wordmark{font-size:var(--type-subhead-size);font-weight:700;color:var(--color-text-primary)}.auth-card{width:100%;max-width:440px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.auth-card h1{font-size:var(--type-title2-size);line-height:var(--type-title2-line);margin:0 0 var(--space-xs)}.auth-card .sub{font-size:var(--type-caption-size);color:var(--color-text-secondary);margin:0 0 var(--space-xl)}.field{margin-bottom:var(--space-md)}.field label{display:block;font-size:var(--type-caption-size);color:var(--color-text-secondary);font-weight:600;margin-bottom:var(--space-xs)}.field input{width:100%;min-height:var(--touch-min);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-md);font:inherit;color:var(--color-text-primary);background:var(--color-bg)}.field input:focus-visible{outline:3px solid var(--color-accent);outline-offset:1px}.wide{width:100%}.footnote{font-size:var(--type-caption-size);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-md)}.link-button{display:inline-flex;align-items:center;min-height:var(--touch-min);background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--color-accent);cursor:pointer;text-decoration:underline}.role-cards{display:flex;flex-direction:column;gap:var(--space-md);margin:0;padding:0;border:none}.role-card{display:flex;flex-direction:column;gap:var(--space-xxs);align-items:flex-start;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--color-surface);font:inherit;cursor:pointer;width:100%}.role-card:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.role-card[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.role-card .label{font-size:var(--type-subhead-size);font-weight:600}.role-card .desc{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.role-card[aria-pressed=true] .desc{color:var(--color-on-accent)}.roster-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;max-width:720px;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-bottom:var(--space-md);text-decoration:none;color:inherit}.roster-row.ended{opacity:.65}.roster-pending{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);width:100%;padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.roster-pending .footnote{margin:0;flex:1 1 16rem}.nav-item:focus-visible,.roster-row:focus-visible,.link-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.roster-id{display:flex;align-items:center;gap:var(--space-md);min-width:0}.avatar{width:var(--space-xxl);height:var(--space-xxl);border-radius:var(--radius-pill);background:var(--color-surface2);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-size:var(--type-caption-size);font-weight:700;flex-shrink:0}.roster-name{font-size:var(--type-subhead-size);font-weight:600;overflow-wrap:anywhere}.roster-meta{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.roster-oneline{font-size:var(--type-caption-size);color:var(--color-text-primary)}.roster-right{display:flex;align-items:center;gap:var(--space-md)}.empty-roster-card{max-width:620px;background:color-mix(in srgb,var(--color-accent) 4%,var(--color-surface))}.empty-roster-mark{width:40px;height:40px;border-radius:var(--radius-md);margin-bottom:var(--space-md)}.empty-roster-footnote{text-align:left;margin-left:0}.adherence-mini{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.adherence-mini b{color:var(--color-text-primary)}.rw-layout{display:flex;gap:var(--space-xl);align-items:flex-start}.rw-main{flex:1;min-width:0}.rw-side{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-md)}.week-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-sm)}.week-title{font-size:var(--type-caption-size);font-weight:700}.week-tag{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.week-steps{display:flex;gap:var(--space-xs);margin-left:auto}.session-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-md);margin-bottom:var(--space-sm)}.session-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.session-left{display:flex;align-items:center;gap:var(--space-md);min-width:0}.session-day{width:var(--space-xxxl);flex-shrink:0;font-size:var(--type-caption-size);text-transform:uppercase;font-weight:700;color:var(--color-text-secondary)}.session-title{font-size:var(--type-caption-size);font-weight:600}.session-desc{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.run-facts{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--color-border);font-size:var(--type-caption-size);color:var(--color-text-secondary);list-style:none}.run-facts b{color:var(--color-text-primary)}.effort-tag{border-radius:var(--radius-pill);padding:0 var(--space-sm);font-weight:600;background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface2));color:var(--color-text-primary)}.stat-big{font-size:var(--type-title1-size);line-height:var(--type-title1-line);font-weight:700}.stat-label{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.side-title{font-size:var(--type-title2-size);line-height:var(--type-title2-line);font-weight:var(--type-title2-weight);color:var(--color-text-primary);margin:0 0 var(--space-sm)}.roster-ended-heading{font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:700;color:var(--color-text-secondary);margin:var(--space-lg) 0 var(--space-sm)}.note-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);background:var(--color-bg);margin-bottom:var(--space-sm)}.note-card:last-child{margin-bottom:0}.note-provenance{font-size:var(--type-caption-size);color:var(--color-text-secondary);letter-spacing:.1px;font-weight:700;margin-bottom:var(--space-xs)}.note-text{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--color-text-primary);white-space:pre-wrap}.note-text:before{content:"“"}.note-text:after{content:"”"}.obs-list{list-style:none;margin:0;padding:0}.obs-item{font-size:var(--type-caption-size);color:var(--color-text-secondary);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.obs-item:last-child{border-bottom:none}.lib-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-bottom:var(--space-md)}.lib-name{font-size:var(--type-subhead-size);font-weight:600;overflow-wrap:anywhere}.lib-meta{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.lib-state{font-size:var(--type-caption-size);font-weight:600;color:var(--color-accent)}.row-list{list-style:none;margin:0;padding:0}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.row:last-child{border-bottom:none}.row-label{font-size:var(--type-caption-size)}.row-value{font-size:var(--type-caption-size);color:var(--color-text-secondary);overflow-wrap:anywhere}.scrim{position:fixed;inset:0;background:var(--color-scrim);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);z-index:30}.modal{width:100%;max-width:460px;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-xl);max-height:calc(100dvh - var(--space-xl) * 2);overflow-y:auto}.modal h2{font-size:var(--type-title2-size);line-height:var(--type-title2-line);margin:0 0 var(--space-xs);overflow-wrap:anywhere}.release-choices{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-lg) 0 0}.release-choices legend{font-weight:600;padding:0 var(--space-xs)}.release-choices>.footnote{text-align:left;margin-top:var(--space-xs)}.release-choice{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-sm);align-items:baseline;padding:var(--space-sm) 0;cursor:pointer}.release-choice .footnote{grid-column:2;text-align:left;margin-top:var(--space-xs)}.release-choice-label{font-weight:500}.release-weeks{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding-left:var(--space-lg)}.release-weeks input{width:5rem}.release-preview{margin:var(--space-lg) 0 0;padding:var(--space-md);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface));color:var(--color-text-primary);font-size:var(--type-caption-size)}.release-preview-label{font-weight:600;color:var(--color-text-secondary)}.send-state{margin-top:var(--space-md)}.send-state .footnote{margin-top:0;margin-bottom:var(--space-sm)}.fixture-banner{flex:0 0 auto;margin:0;background:color-mix(in srgb,var(--color-warning) 14%,var(--color-surface));color:var(--color-warning);border-bottom:1px solid color-mix(in srgb,var(--color-warning) 40%,var(--color-surface));font-size:var(--type-caption-size);padding:var(--space-sm) var(--space-lg);text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-sm);top:calc(var(--space-sm) * -10);background:var(--color-surface);color:var(--color-accent);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);z-index:40}.skip-link:focus{top:var(--space-sm)}.basics-form .footnote,.assistant-screen .footnote,.rw-side .footnote,.repeat-control .footnote,.side-sheet .footnote,.field .footnote{text-align:left;margin-top:var(--space-xs)}.desk-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.desk-topbar-title{min-width:0}.desk-rw-layout{align-items:stretch}.desk-rail-actions{display:flex;flex-direction:column;gap:var(--space-md);margin-top:auto}.desk-topbar-title .page-sub{max-width:none}.desk-eyebrow{font-size:var(--type-caption-size);font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-xxs)}.desk-exits{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0;flex-wrap:wrap}.exit-x{min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--type-subhead-size);cursor:pointer}.exit-x:hover{color:var(--color-text-primary)}.exit-x:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.start-doors{display:flex;gap:var(--space-lg);flex-wrap:wrap}.door-card{flex:1 1 280px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-xl);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm)}.door-icon{width:var(--space-xxl);height:var(--space-xxl);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));display:flex;align-items:center;justify-content:center;font-size:var(--type-title2-size)}.door-title{font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:600;margin:0}.door-body{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--color-text-secondary);margin:0}.quiet-link-wrap{text-align:center;margin-top:var(--space-lg)}.basics-form{display:flex;flex-direction:column;gap:var(--space-lg);max-width:720px}.goal-cards{display:flex;gap:var(--space-lg);flex-wrap:wrap}.goal-card{flex:1 1 280px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);font:inherit;color:inherit;text-align:left;cursor:pointer}.goal-card:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.goal-race-fields{display:flex;flex-direction:column;gap:var(--space-md)}.goal-card.selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 7%,var(--color-surface))}.goal-card-title{font-size:var(--type-subhead-size);font-weight:600;margin:0}.goal-card-suffix{font-weight:400;color:var(--color-text-secondary)}.goal-card-body{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--color-text-secondary);margin:0}.form-row{display:flex;gap:var(--space-lg);flex-wrap:wrap}.form-row .field{flex:1 1 200px}.chip-fieldset{border:none;margin:0;padding:0}.field-label{display:block;font-size:var(--type-caption-size);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.chip-row{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-sm)}.chip{min-height:var(--touch-min);padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--type-caption-size);cursor:pointer}.chip[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.pace-options{display:flex;flex-direction:column;gap:var(--space-sm)}.pace-option{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--touch-min);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--type-caption-size);text-align:left;cursor:pointer}.pace-option[aria-pressed=true]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 7%,var(--color-surface))}.pace-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.radio-dot{width:var(--space-md);height:var(--space-md);border-radius:var(--radius-pill);border:2px solid var(--color-border);flex-shrink:0}.pace-option[aria-pressed=true] .radio-dot{border-color:var(--color-accent);background:var(--color-accent)}.desk-weeknav{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.desk-grid{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-md)}.desk-days{list-style:none;margin:0;padding:0}.desk-day{display:flex;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.desk-day:last-child{border-bottom:none}.desk-day-name{width:var(--space-xxl);flex-shrink:0;font-size:var(--type-caption-size);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase}.desk-day-body{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.desk-day-empty{font-size:var(--type-caption-size);color:var(--color-text-disabled)}.desk-session{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xxs);min-height:var(--touch-min);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);text-align:left;cursor:pointer;max-width:100%}.desk-session:hover{border-color:var(--color-accent)}.desk-session.is-readonly{cursor:default}.desk-session.is-readonly:hover{border-color:var(--color-border)}.desk-session:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.desk-session-title{font-size:var(--type-caption-size);font-weight:600}.desk-session-sub{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.desk-session-note{font-size:var(--type-caption-size);color:var(--color-text-secondary);font-style:italic}.desk-session-mark{font-size:var(--type-caption-size);font-weight:600;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));border-radius:var(--radius-pill);padding:0 var(--space-sm)}.side-sheet{margin-left:auto;width:100%;max-width:480px;height:100%;overflow-y:auto;background:var(--color-surface);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.sheet-heading{font-size:var(--type-title2-size);line-height:var(--type-title2-line);margin:0}.sheet-footer{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:auto;padding-top:var(--space-lg)}.parts-editor{display:flex;flex-direction:column;gap:var(--space-sm)}.part-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.part-fields{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-sm)}.part-field{flex:0 0 auto;margin:0}.part-field.wide{flex:1 1 100%}.part-field.narrow{flex:0 0 64px}.part-aside{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);flex-shrink:0}.part-amount{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.part-amount input{width:72px}.part-preview{font-size:var(--type-caption-size);color:var(--color-text-secondary);margin:0}.note-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.note-counter{font-size:var(--type-caption-size);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.note-counter.over{color:var(--color-danger);font-weight:600}.note-textarea{width:100%;min-height:88px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);background:var(--color-bg);color:var(--color-text-primary);font:inherit;resize:vertical}.note-textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.note-preview{margin-top:var(--space-md)}.note-preview-caption{font-size:var(--type-caption-size);color:var(--color-text-secondary);margin:0 0 var(--space-xs)}.note-preview-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);background:var(--color-surface2)}.note-preview-attribution{margin:0 0 var(--space-xs);color:var(--color-text-secondary)}.note-preview-body{margin:0;color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.repeat-control{margin-top:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-lg)}.repeat-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-lg)}.repeat-card+.repeat-card,.repeat-card+.repeat-preview,.repeat-preview+.repeat-card{margin-top:var(--space-lg)}.repeat-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.repeat-label{font-size:var(--type-caption-size);font-weight:600}.repeat-ctrl{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.mini-input,.mini-select{min-height:var(--touch-min);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-sm);background:var(--color-bg);color:var(--color-text-primary);font:inherit}.mini-input{width:64px}.mini-select{max-width:220px}.repeat-preview{margin:var(--space-md) 0 0;padding:var(--space-md);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-accent) 7%,var(--color-surface));font-size:var(--type-caption-size);line-height:var(--type-caption-line)}button.lib-row{width:100%;text-align:left;color:var(--color-text-primary);cursor:pointer;font:inherit}button.lib-row:hover{border-color:var(--color-accent)}button.lib-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn.quiet-danger{background:transparent;color:var(--color-text-secondary)}.btn.quiet-danger:hover:not(:disabled),.btn.quiet-danger:focus-visible{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}.lib-actions-sep{width:1px;align-self:stretch;min-height:var(--space-lg);background:var(--color-border);margin:0 var(--space-xs)}.lib-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.lineage-line{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--color-text-secondary);margin:var(--space-xs) 0 var(--space-md);overflow-wrap:anywhere}button.lineage-link{display:inline;padding:0;border:0;background:none;font:inherit;text-align:left;color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}button.lineage-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.lineage-preview,.lib-copies-note{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--color-text-secondary);text-align:left;margin:var(--space-sm) 0 0;overflow-wrap:anywhere}.lib-copies-note{margin:0 0 var(--space-md)}.lib-second-header{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.field select,.part-field select{width:100%;min-height:var(--touch-min);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-sm);background:var(--color-bg);color:var(--color-text-primary);font:inherit}.side-danger{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.side-danger .footnote{margin:0 0 var(--space-sm)}.exit-menu-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-lg) 0 var(--space-md)}.autosave-status{align-self:center}.part-pace-line{margin:var(--space-xxs) 0 0;font-size:var(--type-caption-size);color:var(--color-text-secondary)}.release-control{margin:var(--space-md) 0 var(--space-lg);padding:var(--space-md) 0 var(--space-md) var(--space-md);border-left:2px solid var(--color-border)}.release-control-heading{font-size:var(--type-caption-size);font-weight:600;letter-spacing:.02em;color:var(--color-text-secondary);margin:0 0 var(--space-xs)}.release-control .page-sub{margin:0}.release-doors{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-top:var(--space-md)}.release-door{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);flex:1 1 14rem}.release-door .footnote{text-align:left;margin-top:0}.release-control,.release-door,.release-through{min-width:0}.release-door .footnote,.release-never,.release-control .page-sub{min-width:0;overflow-wrap:anywhere}.release-never{flex:1 1 100%;margin:0;text-align:left}.week-tag.not-released{background:transparent;border:1px dashed var(--color-border);color:var(--color-text-secondary)}.release-through{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:var(--space-sm)}.release-through label{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.release-through input{width:4.5rem}.release-through .footnote{grid-column:1 / -1}@media(max-width:720px){.shell{flex-direction:column}.release-door{flex:1 1 100%}.release-through{grid-template-columns:1fr;justify-items:start}.sidebar{width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);border-right:none;border-bottom:1px solid var(--color-border)}.sidebar-logo{padding:0}.nav-list{display:flex;gap:var(--space-xs)}.nav-item{border-right:none;border-bottom:3px solid transparent;padding:var(--space-sm)}.nav-item[aria-current=page]{border-right-color:transparent;border-bottom-color:var(--color-accent)}.sidebar-foot{margin-top:0;margin-left:auto;padding:0;border-top:none}.main{padding:var(--space-lg)}.rw-layout{flex-direction:column}.rw-side{width:100%}.side-sheet{max-width:100%;padding:var(--space-lg)}.desk-day{flex-direction:column;gap:var(--space-xs)}.desk-day-name{width:auto}.desk-topbar{flex-direction:column;align-items:stretch}.desk-exits{justify-content:flex-end}.start-doors,.goal-cards{flex-direction:column}}.fan-out-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-lg) 0 var(--space-md);max-height:40vh;overflow-y:auto}.fan-out-picker legend{font-weight:600;padding:0 var(--space-xs)}.fan-out-choice{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-sm);align-items:baseline;padding:var(--space-sm) 0;cursor:pointer}.fan-out-refusals{border:1px solid var(--color-border);border-left:3px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-md);margin:var(--space-md) 0}.fan-out-refusals>:last-child{margin-bottom:0}.fan-out-choice.waiting>span{color:var(--color-text-secondary)}.fan-out-choice.waiting>span>.lineage-preview{color:var(--color-text-secondary)}.fan-out-choice.waiting{cursor:default}.assistant-screen{display:flex;flex-direction:column;gap:var(--space-lg);max-width:720px}.assistant-brief-box,.assistant-understood,.assistant-refusal{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.assistant-understood-heading,.assistant-refusal-heading{font-size:var(--type-title2-size);line-height:var(--type-title2-line);font-weight:var(--type-title2-weight);color:var(--color-text-primary);margin:0}.assistant-lines{width:100%;min-height:7.5rem;resize:vertical;font:inherit;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary)}.assistant-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.assistant-field{display:flex;flex-direction:column;gap:var(--space-xs)}.assistant-field select,.assistant-inline input{width:100%;min-height:var(--touch-min);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-md);font:inherit;color:var(--color-text-primary);background:var(--color-bg)}.assistant-field select:focus-visible,.assistant-inline input:focus-visible{outline:3px solid var(--color-accent);outline-offset:1px}.assistant-inline input{max-width:10rem}.assistant-inline{display:flex;gap:var(--space-sm);align-items:center}.assistant-unit{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.assistant-question{margin:0;font-size:var(--type-caption-size);color:var(--color-accent)}.assistant-unreadable{margin:0;color:var(--color-text-secondary)}.assistant-refusal{border-color:var(--color-accent)}.desk-typeout{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-lg)}
