@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@700&family=Geist+Mono:wght@500;600&family=IBM+Plex+Sans:wght@400;700&display=swap";:root{--color-paper:oklch(96.5% .035 95);--color-paper-2:oklch(94% .045 95);--color-paper-3:oklch(89% .06 95);--color-surface:oklch(99.5% .008 95);--color-library-surface:oklch(96.5% .012 245);--color-library-panel:oklch(99.2% .006 245);--color-topbar:oklch(30% .1 255);--color-topbar-ink:oklch(98% .025 95);--color-rule:oklch(84% .05 95);--color-rule-2:oklch(52% .1 255);--color-neutral:oklch(52% .055 255);--color-muted:oklch(40% .06 255);--color-ink-2:oklch(30% .075 255);--color-ink:oklch(22% .07 255);--color-accent:oklch(46% .15 255);--color-accent-hover:oklch(39% .145 255);--color-accent-ink:oklch(99% .012 95);--color-accent-soft:oklch(91% .06 255);--color-focus:oklch(60% .16 80);--color-focus-soft:oklch(94% .06 80);--color-error:oklch(55% .19 25);--color-error-soft:oklch(94% .04 25);--color-success:oklch(55% .12 150);--color-success-soft:oklch(93% .035 150);--color-overlay:oklch(22% .07 255/.58);--color-shadow:oklch(22% .07 255/.09);--color-transparent:oklch(0% 0 0/0);--color-rink-ice:oklch(98% .008 220);--color-rink-board:oklch(27% .025 245);--color-rink-red:oklch(68% .065 25);--color-rink-blue:oklch(68% .055 235);--color-rink-crease:oklch(91% .025 220);--color-marker-cobalt:oklch(49% .19 263);--color-marker-green:oklch(49% .12 156);--color-marker-amber:oklch(72% .15 75);--color-marker-pink:oklch(66% .17 350);--font-display:"IBM Plex Sans", "Segoe UI", ui-sans-serif, sans-serif;--font-body:"IBM Plex Sans", "Segoe UI", ui-sans-serif, sans-serif;--font-wordmark:var(--font-display);--font-mono:"Geist Mono", "Cascadia Code", ui-monospace, monospace;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--text-xs:.72rem;--text-sm:.8rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-3xl:3.0518rem;--text-display:clamp(2.4rem, 5vw, 4.6rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-thin:1px;--rule-strong:2px;--radius-sm:.25rem;--radius-md:.625rem;--radius-lg:.875rem;--radius-round:999px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-paper);min-width:20rem;min-height:100%;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);margin:0;line-height:1.55;overflow-x:clip}body{min-height:100dvh}button,input,select{font:inherit}button{white-space:nowrap}button,label,a{-webkit-tap-highlight-color:var(--color-transparent)}button:focus-visible,input:focus-visible,select:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-2xs)}label:has(input:focus-visible){outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-2xs)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);font-style:normal;line-height:1.08}h1{font-size:clamp(var(--text-2xl), 4vw, var(--text-3xl));letter-spacing:-.035em;font-weight:700}h2{font-size:var(--text-lg);letter-spacing:-.02em;font-weight:700}h3{font-size:var(--text-md);font-weight:700}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.nav-edge{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:4.5rem;padding-inline:clamp(var(--space-md), 4vw, var(--space-xl));border-block-end:var(--rule-thin) solid var(--color-rule);background:var(--color-surface);color:var(--color-ink);display:flex}.wordmark{font-family:var(--font-wordmark);letter-spacing:-.025em;font-weight:700}.nav-edge .wordmark{font-size:var(--text-base);white-space:nowrap}.session-mark{align-items:center;gap:var(--space-xs);white-space:nowrap;color:var(--color-muted);font-size:var(--text-sm);display:flex}.session-mark span{width:var(--space-xs);height:var(--space-xs);border-radius:var(--radius-round);background:var(--color-success)}.drill-map{align-items:start;gap:var(--space-xl);width:min(100%,92rem);padding:var(--space-xl) clamp(var(--space-md), 4vw, var(--space-xl)) var(--space-3xl);flex:1;grid-template-columns:minmax(0,1fr);margin-inline:auto;display:grid}.drill-panel{min-width:0}.drill-heading{align-items:flex-start;gap:var(--space-lg);padding-block:var(--space-md) var(--space-xl);border-block-end:var(--rule-strong) solid var(--color-ink);flex-direction:column;display:flex}.drill-heading>div{gap:var(--space-sm);display:grid}.drill-heading>div>p:last-child{max-width:58ch;color:var(--color-muted)}.revision-chip,.material-state{min-height:2rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-round);white-space:nowrap;background:var(--color-surface);color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-xs);align-items:center;display:inline-flex}.supporting-material{gap:var(--space-lg);padding-block:var(--space-xl);display:grid}.section-heading{gap:var(--space-md);align-items:end;display:grid}.section-heading>div{gap:var(--space-xs);display:grid}.section-heading p{color:var(--color-muted)}.material-state{justify-self:start}.material-empty{align-items:center;gap:var(--space-md);min-height:12rem;padding:var(--space-lg);border-block:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink);display:flex}.material-empty>div{gap:var(--space-xs);min-width:0;display:grid}.material-empty p{color:var(--color-muted)}.diagram-preview{gap:var(--space-sm);display:grid}.diagram-preview img{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-rink-ice);width:100%;height:auto;color:var(--color-ink);display:block}.material-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.button,.tool-button,.revision-action{justify-content:center;align-items:center;gap:var(--space-xs);min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-round);white-space:nowrap;background:var(--color-surface);color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out);font-weight:700;text-decoration:none;display:inline-flex;position:relative}.button--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.button--primary:hover:not(:disabled){border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.button--quiet{background:var(--color-surface);color:var(--color-ink)}.button--danger{border-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error)}.button--danger:hover:not(:disabled){background:var(--color-error);color:var(--color-surface)}.button:active,.tool-button:active,.revision-action:active{transform:translateY(var(--space-3xs))}.button:disabled,.tool-button:disabled,.revision-action:disabled,.button[aria-disabled=true]{opacity:.52;cursor:not-allowed}.button[data-state=loading]:before{content:"";width:var(--space-sm);height:var(--space-sm);border:var(--rule-strong) solid var(--color-rule-2);border-block-start-color:var(--color-paper);border-radius:var(--radius-round);animation:spin var(--dur-long) linear infinite}.button[data-state=error]{border-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error)}.button[data-state=success]{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}@keyframes spin{to{transform:rotate(360deg)}}.revision-ledger{border-block-start:var(--rule-strong) solid var(--color-ink);min-width:0}.revision-ledger>header{gap:var(--space-sm);padding-block:var(--space-lg);align-items:flex-start;display:flex}.revision-ledger header div{gap:var(--space-2xs);display:grid}.revision-ledger header p{color:var(--color-muted);font-size:var(--text-sm)}.revision-ledger ol{margin:0;padding:0;list-style:none}.revision-ledger li{gap:var(--space-sm);padding-block:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.revision-ledger li.current{background:var(--color-accent-soft);color:var(--color-ink)}.revision-ledger li>div{gap:var(--space-2xs);min-width:0;padding-inline-start:var(--space-xs);display:grid}.practice-plan-revision__header{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.practice-plan-revision__summary,.practice-plan-revision__actions{gap:var(--space-2xs);display:grid}.practice-plan-revision__actions{justify-items:end}@media (width<=32rem){.practice-plan-revision__header{grid-template-columns:minmax(0,1fr)}.practice-plan-revision__actions{justify-items:start}}.revision-ledger li strong{overflow-wrap:anywhere;font-size:var(--text-sm)}.revision-notes{margin-top:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm)}.revision-ledger li span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.revision-action{min-height:2.5rem;padding-inline:var(--space-sm);border-color:var(--color-transparent);border-radius:var(--radius-md);font-size:var(--text-sm)}.current-marker{padding-inline-end:var(--space-xs);font-weight:600;color:var(--color-accent)!important}.foot-mast{gap:var(--space-xs);padding:var(--space-lg) clamp(var(--space-md), 4vw, var(--space-xl));border-block-start:var(--rule-thin) solid var(--color-rule);background:var(--color-surface);color:var(--color-muted);font-size:var(--text-sm);flex-direction:column;display:flex}.foot-mast .wordmark{color:var(--color-ink);font-size:var(--text-md)}.error-banner,.success-banner{z-index:var(--z-toast);inset-inline:var(--space-md);max-width:42rem;padding:var(--space-md);border:var(--rule-thin) solid var(--color-error);border-radius:var(--radius-md);background:var(--color-error-soft);color:var(--color-error);margin-inline-start:auto;position:fixed;inset-block-end:var(--space-md)}.success-banner{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.neutral-recovery-banner{align-items:center;gap:var(--space-md);justify-content:space-between;display:flex}.neutral-recovery-banner button{flex:none}.profile-page{width:min(100%,72rem);padding:var(--space-xl) clamp(var(--space-md), 4vw, var(--space-xl)) var(--space-3xl);margin-inline:auto}.profile-panel{gap:var(--space-xl);max-width:42rem;padding:clamp(var(--space-lg), 4vw, var(--space-2xl));border-block:var(--rule-strong) solid var(--color-ink);background:var(--color-surface);display:grid}.profile-panel>header,.profile-panel form{gap:var(--space-lg);display:grid}.profile-panel>header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.profile-close{color:var(--color-muted)}.profile-panel>header>div{gap:var(--space-xs);display:grid}.profile-panel>header>div>span,.profile-email{color:var(--color-muted);font-size:var(--text-sm)}.profile-panel h1{font-size:var(--text-xl)}.profile-panel p{max-width:60ch}.profile-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.loading-shell{gap:var(--space-lg);width:min(100%,92rem);padding:var(--space-xl);margin-inline:auto;display:grid}.loading-shell div{background:var(--color-paper-3);height:5rem}.loading-shell div:nth-child(2){height:24rem}.field{gap:var(--space-xs);font-weight:700;display:grid}.field input,.field select{min-height:2.75rem;padding-inline:var(--space-sm) var(--space-xl);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);outline:var(--rule-strong) solid var(--color-transparent);outline-offset:var(--rule-thin);background:var(--color-paper);color:var(--color-ink)}.field input:focus-visible,.field select:focus-visible{outline-color:var(--color-focus)}.field input:active,.field select:active{border-color:var(--color-focus)}.field input:disabled{opacity:.55;cursor:not-allowed}.field--range input{border-color:var(--color-transparent);background:var(--color-transparent);color:var(--color-ink);accent-color:var(--color-accent);padding-inline:0}.field input[aria-invalid=true]{border-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error)}.field input[data-state=success]{border-color:var(--color-success);background:var(--color-success-soft)}.field input[data-state=loading]{cursor:wait;background:var(--color-paper-3)}.field small{min-height:1lh;color:var(--color-muted);font-size:var(--text-sm);font-weight:400}dialog{z-index:var(--z-modal);width:min(34rem, calc(100% - var(--space-lg)));border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-lg);background:var(--color-surface);height:fit-content;max-height:min(80dvh,40rem);color:var(--color-ink);margin:auto;padding:0;position:fixed;inset:0}dialog::backdrop{background:var(--color-overlay)}.replacement-dialog{gap:var(--space-lg);padding:var(--space-lg);display:grid}.replacement-dialog>div{gap:var(--space-sm);display:grid}.replacement-dialog>div>p:last-child{color:var(--color-muted)}.replacement-dialog .plan-save-notice{padding:var(--space-sm);border:var(--rule-thin) solid var(--color-success);border-radius:var(--radius-md);background:var(--color-success-soft);color:var(--color-success);font-weight:700}.replacement-dialog footer{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.plan-checkout{gap:var(--space-md);min-width:0;padding-block:var(--space-sm);border-block:var(--rule-thin) solid var(--color-rule);display:grid}.plan-checkout>header,.plan-checkout__tray>header,.plan-snapshot-result,.plan-checkout__tray li{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.plan-checkout>header>div,.plan-snapshot-result__select>span{gap:var(--space-2xs);min-width:0;display:grid}.plan-checkout p,.plan-snapshot-result__select>span>span,.plan-checkout__tray>header span,.plan-checkout__tray>p{color:var(--color-muted);font-size:var(--text-sm)}.plan-checkout__controls{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.plan-checkout__controls>.drill-search{grid-column:1/-1}.plan-tag-filter{align-items:center;gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr);min-width:0;display:grid}.plan-tag-filter h3{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin:0}.plan-tag-filter>div{gap:var(--space-2xs);min-width:0;padding-block:var(--space-3xs);scrollbar-color:var(--color-ink-3) transparent;scrollbar-width:thin;display:flex;overflow-x:auto}.plan-tag-filter button{align-items:center;gap:var(--space-sm);min-height:2.75rem;padding:var(--space-xs) var(--space-sm);border:var(--rule-thin) solid transparent;border-radius:var(--radius-md);color:var(--color-ink-2);cursor:pointer;text-align:start;background:0 0;flex:none;display:flex}.plan-tag-filter button:hover,.plan-tag-filter button.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink)}.plan-tag-filter button span:last-child{font-family:var(--font-mono);font-size:var(--text-xs)}.plan-sort{align-items:center;gap:var(--space-xs);min-width:max-content;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:auto auto;display:grid}.plan-sort select{min-height:2.75rem;padding-inline:var(--space-xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:normal;text-transform:none}.plan-checkout__controls select,.plan-checkout__tray input{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);min-height:2.75rem;color:var(--color-ink)}.plan-checkout__body{gap:var(--space-md);grid-template-columns:1fr;min-width:0;display:grid}.practice-plan-picker{gap:var(--space-md);padding:var(--space-lg);display:grid}.practice-plan-picker>header{justify-content:space-between;align-items:start;gap:var(--space-md);display:flex}.practice-plan-picker>header>div{gap:var(--space-xs);display:grid}.practice-plan-picker>header span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.practice-plan-picker>header h2{font-size:var(--text-xl)}.practice-plan-picker>header p,.practice-plan-picker>footer>span,.practice-plan-picker__plans>p{color:var(--color-muted);font-size:var(--text-sm)}.practice-plan-picker__plans{border-block:var(--rule-thin) solid var(--color-rule);max-height:19rem;display:grid;overflow:auto}.practice-plan-picker__plans h3{padding:var(--space-sm) 0;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0}.practice-plan-picker__plans>button{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border:0;border-block-end:var(--rule-thin) solid var(--color-rule);color:var(--color-ink);text-align:start;cursor:pointer;background:0 0;display:flex}.practice-plan-picker__plans>button:last-child{border-block-end:0}.practice-plan-picker__plans>button:hover:not(:disabled){color:var(--color-accent)}.practice-plan-picker__plans>button>span{gap:var(--space-2xs);display:grid}.practice-plan-picker__plans small{color:var(--color-muted)}.practice-plan-picker__plans>p{padding-block:var(--space-md)}.practice-plan-picker>footer{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.plan-checkout__results,.plan-checkout__tray{align-content:start;gap:var(--space-sm);display:grid}.plan-checkout__results{border-block:var(--rule-thin) solid var(--color-rule);min-width:0;max-height:21rem;overflow:auto}.plan-checkout__pagination{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-block-start:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;flex-wrap:wrap;display:flex}.plan-checkout__pagination>div{gap:var(--space-2xs);display:flex}.plan-snapshot-result-group{border-block-end:var(--rule-thin) solid var(--color-rule);min-width:0}.plan-snapshot-result-group:last-child{border-block-end:0}.plan-snapshot-result{padding:var(--space-sm)}.plan-snapshot-result__select{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;color:var(--color-ink);cursor:pointer;text-align:start;background:0 0;border:0;flex:1;padding:0;display:flex}.plan-snapshot-result__chevron{transition:transform .16s var(--ease-out);flex:none}.plan-snapshot-result__chevron.expanded{transform:rotate(180deg)}.plan-snapshot-result .button{flex:none}.plan-snapshot-result.selected-plan-drill{background:var(--color-accent-soft);box-shadow:inset 0 0 0 var(--rule-thin) var(--color-accent)}.plan-drill-preview{gap:var(--space-sm);padding:0 var(--space-sm) var(--space-sm);background:var(--color-paper-2);display:grid}.plan-drill-preview figure{gap:var(--space-2xs);margin:0;display:grid}.plan-drill-preview img{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-rink-ice);width:min(100%,30rem);height:auto;display:block}.plan-drill-preview figcaption{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.plan-drill-preview__empty{align-items:center;gap:var(--space-sm);min-height:5rem;color:var(--color-muted);display:flex}.plan-drill-preview__empty>div{gap:var(--space-3xs);display:grid}.plan-drill-preview__empty strong{color:var(--color-ink)}.plan-drill-preview__empty span{font-size:var(--text-sm)}.plan-checkout__tray{padding:var(--space-sm);background:var(--color-paper-2)}.plan-checkout__tray h3{font-family:var(--font-body);font-size:var(--text-base)}.plan-checkout__tray ol{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.plan-checkout__tray li{border-block-start:var(--rule-thin) solid var(--color-rule);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;padding-block-start:var(--space-sm);display:grid}.plan-checkout__tray label{gap:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs);display:grid}.plan-checkout__tray input{width:4.5rem;min-height:2.25rem;padding-inline:var(--space-xs)}.plan-checkout__tray button:not(.button){padding:var(--space-xs);color:var(--color-error);cursor:pointer;background:0 0;border:0;font-weight:700}.plan-checkout__tray--editor li{grid-template-columns:minmax(0,1fr) auto;align-items:start}.plan-checkout__tray--editor .plan-item-actions,.plan-checkout__tray--editor li>p,.plan-checkout__tray--editor li>img{grid-column:1/-1}.plan-item-actions{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.plan-checkout__tray--editor li>img{border-radius:var(--radius-sm);width:min(100%,20rem);height:auto}.plan-edit-items{gap:var(--space-md);padding-block:var(--space-xl);display:grid}.plan-edit-items>header{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.plan-edit-items>header span,.plan-edit-item__number{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.plan-edit-items>ol{border-block:var(--rule-thin) solid var(--color-rule);margin:0;padding:0;list-style:none}.plan-edit-item{gap:var(--space-lg);padding:var(--space-lg) var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);grid-template-columns:3rem minmax(0,1fr) minmax(16rem,22rem);align-items:start;display:grid}.plan-edit-item:last-child{border-block-end:0}.plan-edit-item__content{gap:var(--space-sm);display:grid}.plan-edit-item__content>header{justify-content:space-between;align-items:start;gap:var(--space-md);display:flex}.plan-edit-item__content h3{font-family:var(--font-body);font-size:var(--text-lg)}.plan-edit-item__content>p{color:var(--color-ink-2)}.plan-edit-item__content label{gap:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs);display:grid}.plan-edit-item__content input{width:4.5rem;min-height:2.25rem;padding-inline:var(--space-xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink)}.plan-edit-item>img{border:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2);width:100%;height:auto}.plan-edit-item__material{color:var(--color-muted);font-size:var(--text-sm)}.plan-edit-item__notice{font-size:var(--text-sm);color:var(--color-muted)!important}.plan-edit-items>footer{justify-content:center;padding-block-start:var(--space-sm);display:flex}.plan-checkout:not(.plan-checkout--picking)>header,.plan-checkout:not(.plan-checkout--picking)>.plan-checkout__controls,.plan-checkout:not(.plan-checkout--picking) .plan-checkout__results{display:none}.plan-checkout--picking{flex-direction:column;display:flex}.plan-checkout--picking>header{order:2;margin-block-start:var(--space-lg)}.plan-checkout--picking>.plan-checkout__controls{order:3}.plan-checkout--picking>.plan-checkout__body{display:contents}.plan-checkout--picking .plan-edit-items{order:1}.plan-checkout--picking .plan-checkout__results{order:4}@media (width<=46rem){.plan-checkout__controls,.plan-checkout__body{grid-template-columns:1fr}.plan-checkout>header{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.plan-checkout>header>span{grid-column:1}.plan-checkout>header .button{grid-area:auto/1/auto/-1;justify-content:center;width:100%}.plan-checkout__results{max-height:none;overflow:visible}.plan-tag-filter{grid-template-columns:1fr}.plan-sort{grid-template-columns:minmax(0,1fr);min-width:0}.plan-sort select{width:100%}.plan-checkout__pagination>div{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.plan-checkout__pagination .button{width:100%;padding-inline:var(--space-xs);justify-content:center}.plan-snapshot-result{grid-template-columns:minmax(0,1fr);display:grid}.plan-snapshot-result .button{justify-content:center;width:100%}.plan-edit-item{grid-template-columns:2.25rem minmax(0,1fr)}.plan-edit-item>img,.plan-edit-item__material{grid-column:2;width:min(100%,22rem)}}dialog:has(.diagram-help){width:min(48rem, calc(100% - var(--space-lg)));overflow:auto}.diagram-help{gap:var(--space-lg);padding:var(--space-lg);display:grid}.diagram-help>header{justify-content:space-between;align-items:start;gap:var(--space-md);display:flex}.diagram-help>header>div,.diagram-help-grid,.diagram-help-grid section,.diagram-help-grid dl{gap:var(--space-sm);display:grid}.diagram-help>header span,.diagram-help h3{color:var(--color-muted);font-size:var(--text-xs)}.diagram-help h2{font-size:var(--text-lg)}.diagram-help>p{color:var(--color-muted);margin:0}.diagram-help-grid{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr))}.diagram-help-grid dl{margin:0}.diagram-help-grid dl>div{gap:var(--space-sm);grid-template-columns:minmax(7rem,auto) 1fr;align-items:baseline;display:grid}.diagram-help-grid dt{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-xs)}.diagram-help-grid dd{color:var(--color-muted);font-size:var(--text-sm);margin:0}.diagram-help footer{justify-content:flex-end;display:flex}@media (width<=40rem){.diagram-help-grid{grid-template-columns:1fr}}.administration-page{width:min(100%,76rem);padding:clamp(var(--space-xl), 5vw, var(--space-3xl)) clamp(var(--space-md), 3vw, var(--space-xl));margin-inline:auto}.administration-navigation{gap:var(--space-md);margin-block:var(--space-xl);display:flex}.administration-navigation a{color:var(--color-ink);font-weight:600}.administration-navigation a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.administration-page__header{justify-content:start;align-items:start;gap:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-2);padding-block-end:var(--space-xl);display:grid}.administration-page__header>div{gap:var(--space-xs);display:grid}.administration-page__header>.button{justify-self:start}.administration-page__header span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.administration-page__header h1{font-size:var(--text-2xl);text-wrap:balance}.administration-page__header p{max-width:65ch;color:var(--color-muted)}.coach-membership,.practice-settings{padding-block:var(--space-xl)}.membership-list li,.membership-invite,.membership-actions,.practice-settings__invite{align-items:center;gap:.75rem;display:flex}.membership-list li{justify-content:space-between}.coach-membership h3,.practice-settings h3{text-wrap:balance;margin:0}.coach-membership>section,.practice-settings>section{margin-top:1.5rem}.membership-invite,.practice-settings__invite{align-items:end;margin-top:1.25rem}.membership-invite .field,.practice-settings__invite .field{flex:1}.practice-defaults{grid-template-columns:minmax(12rem,1.3fr) minmax(10rem,.85fr) minmax(12rem,1fr) auto;align-items:end;gap:.75rem;margin-top:1.5rem;display:grid}.practice-defaults h3{grid-column:1/-1}.practice-defaults__help{color:var(--color-muted);grid-column:1/-1;margin:0}.practice-defaults .field{min-width:0}.practice-defaults .button{justify-self:start}@media (width<=56rem){.practice-defaults{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-defaults .button{grid-column:1/-1}}.membership-list{border-top:1px solid var(--color-rule);margin:.65rem 0 0;padding:0;list-style:none}.membership-list li{border-bottom:1px solid var(--color-rule);padding:.8rem 0}.membership-list strong,.membership-list span{display:block}.membership-list span,.membership-empty,.membership-loading,.practice-settings__loading{color:var(--color-muted);font-size:.88rem}.membership-empty,.membership-loading,.practice-settings__loading{margin:.65rem 0}.practice-settings__list{border-top:1px solid var(--color-rule);margin:.65rem 0 0;padding:0;list-style:none}.practice-settings__list li,.practice-settings__actions{align-items:center;gap:.75rem;display:flex}.practice-settings__list li{border-bottom:1px solid var(--color-rule);justify-content:space-between;padding:.8rem 0}.practice-settings__list strong,.practice-settings__list span{display:block}.practice-settings__list span,.practice-settings__empty{color:var(--color-muted);font-size:.88rem}.practice-settings__empty{margin:.65rem 0}.branding-settings{border:1px solid var(--color-rule);background:var(--color-paper-2);margin:0 0 2rem;padding:1.25rem;display:block}.branding-settings>div>p,.branding-settings fieldset>p{color:var(--color-muted);margin:.35rem 0 1rem;font-size:.9rem}.branding-settings form{gap:1rem;display:grid}.branding-settings__fields,.branding-settings__colors{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.branding-settings fieldset{border:1px solid var(--color-rule);gap:.55rem;padding:1rem;display:grid}.branding-settings legend{padding-inline:.35rem;font-weight:700}.branding-settings__color{gap:.35rem;display:grid}.branding-settings__color-inputs{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.branding-settings__color-inputs .color-text{min-width:0;min-height:2.4rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);flex:9.25rem}.branding-settings__preview{color:var(--color-topbar-ink);background:var(--color-topbar);align-items:center;gap:.75rem;padding:1rem;display:flex}.branding-settings__preview>span{block-size:2.5rem;inline-size:2.5rem;color:var(--color-accent-ink);background:var(--color-accent);border-radius:50%;place-items:center;font-weight:800;display:grid}.branding-settings__preview div{flex:1;display:grid}.branding-settings__preview small{opacity:.8}.branding-settings__preview button{color:var(--color-accent-ink);background:var(--color-accent);border:0;padding:.5rem .7rem}.logo-dropzone{border:1px dashed var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);min-height:5.25rem;color:var(--color-ink);cursor:pointer;align-items:center;gap:.8rem;padding:.9rem 1rem;transition:border-color .18s ease-out,background-color .18s ease-out;display:flex}.logo-dropzone>svg{color:var(--color-accent);flex:none}.logo-dropzone>div{flex:1;gap:.2rem;min-width:0;display:grid}.logo-dropzone strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logo-dropzone span{color:var(--color-muted);font-size:.85rem}.logo-dropzone--active{border-style:solid;border-color:var(--color-focus);background:var(--color-focus-soft)}.logo-dropzone:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-2xs)}.logo-dropzone .button{pointer-events:none;white-space:nowrap}.brand-mark img,.print-practice-plan__mark img{object-fit:contain;block-size:100%;inline-size:100%}@media (width<=620px){.branding-settings__fields,.branding-settings__colors{grid-template-columns:1fr}.branding-settings__preview,.logo-dropzone{flex-wrap:wrap;align-items:flex-start}.logo-dropzone .button{margin-inline-start:1.75rem}.administration-page__header,.membership-invite,.practice-settings__invite,.membership-list li,.practice-settings__list li{flex-direction:column;align-items:stretch}.administration-page__header .button{width:100%}.practice-defaults{grid-template-columns:1fr}.practice-defaults .button{width:100%}.membership-actions,.practice-settings__actions{flex-wrap:wrap}}.topbar-link{color:var(--color-topbar-ink)}.topbar-link.active,.topbar-link:active{background:var(--color-focus-soft);color:var(--color-ink)}.coach-avatar{border-color:color-mix(in oklch, var(--color-topbar-ink) 52%, transparent);color:var(--color-topbar-ink);background:0 0}@media (hover:hover) and (pointer:fine){.button:hover,.revision-action:hover{background:var(--color-paper-3);color:var(--color-ink)}.button--primary:hover{background:var(--color-ink-2);color:var(--color-paper)}.field input:hover{background:var(--color-paper-2);color:var(--color-ink)}}@media (width>=40rem){.nav-edge .wordmark{font-size:var(--text-md)}.section-heading{grid-template-columns:minmax(0,1fr) auto}.drill-heading{flex-direction:row;justify-content:space-between}.material-empty{gap:var(--space-lg);padding:var(--space-xl)}.material-state{justify-self:end}.foot-mast{flex-direction:row;justify-content:space-between;align-items:baseline}}@media (width>=60rem){.drill-map{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(20rem,.36fr)}.revision-ledger{position:sticky;inset-block-start:var(--space-xl)}}@media (pointer:coarse){.button,.revision-action,.field input{min-height:3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.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}.library-shell{background:var(--color-library-surface);min-height:100dvh}.topbar{z-index:var(--z-sticky);align-items:center;gap:var(--space-lg);min-height:4.25rem;padding-inline:clamp(var(--space-md), 3vw, var(--space-xl));border-block-end:var(--rule-strong) solid var(--color-focus);background:var(--color-topbar);color:var(--color-topbar-ink);grid-template-columns:auto auto minmax(14rem,34rem) auto;display:grid;position:sticky;inset-block-start:0}.brand-lockup,.topbar-routes,.topbar-actions,.command-search,.topbar-link{align-items:center;display:flex}.brand-lockup{gap:var(--space-sm);white-space:nowrap}.brand-lockup--return{color:inherit;cursor:pointer;text-align:start;background:0 0;border:0;padding:0}.brand-lockup--return:hover{opacity:.86}.brand-lockup>div,.brand-lockup--return>span:last-child{gap:var(--space-3xs);display:grid}.brand-lockup small{color:color-mix(in oklch, var(--color-topbar-ink) 76%, transparent);font-size:var(--text-xs)}.brand-mark{border:var(--rule-thin) solid color-mix(in oklch, var(--color-topbar-ink) 56%, transparent);border-radius:var(--radius-md);background:var(--color-topbar-ink);width:2.25rem;height:2.25rem;color:var(--color-topbar);place-items:center;display:grid}.brand-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.5rem;height:1.5rem}.command-search{gap:var(--space-sm);min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid color-mix(in oklch, var(--color-topbar-ink) 45%, transparent);border-radius:var(--radius-md);background:color-mix(in oklch, var(--color-topbar-ink) 12%, transparent)}.command-search:focus-within{outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-2xs)}.command-search input{min-width:0;color:var(--color-topbar-ink);background:0 0;border:0;outline:0;flex:1}.command-search input::placeholder,.drill-form textarea::placeholder{color:color-mix(in oklch, var(--color-topbar-ink) 72%, transparent);opacity:1}kbd{border:var(--rule-thin) solid color-mix(in oklch, var(--color-topbar-ink) 45%, transparent);border-radius:var(--radius-sm);background:color-mix(in oklch, var(--color-topbar-ink) 12%, transparent);color:var(--color-topbar-ink);font-family:var(--font-mono);font-size:var(--text-xs);padding:.1rem .35rem}.topbar-actions{justify-content:flex-end;gap:var(--space-sm)}.topbar-link{gap:var(--space-xs);min-height:2.5rem;padding-inline:var(--space-sm);border-radius:var(--radius-md);color:var(--color-ink);cursor:pointer;background:0 0;border:0}.topbar-link.active,.topbar-link:active{background:var(--color-accent-soft)}.topbar-link--recovery{color:color-mix(in oklch, var(--color-topbar-ink) 82%, transparent)}.coach-avatar{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-round);background:var(--color-paper-2);width:2.5rem;height:2.5rem;font-family:var(--font-mono);font-size:var(--text-xs);place-items:center;display:grid}.library-page{width:min(100%,94rem);padding:clamp(var(--space-lg), 4vw, var(--space-2xl)) clamp(var(--space-md), 3vw, var(--space-xl)) var(--space-3xl);margin-inline:auto}.topbar-routes{align-items:center;display:flex}.topbar-link__label--compact,.topbar-create__label--compact{display:none}.plan-page{width:min(100%,76rem);min-height:calc(100dvh - 5rem);padding:clamp(var(--space-lg), 4vw, var(--space-2xl)) clamp(var(--space-md), 3vw, var(--space-xl));margin-inline:auto}.plan-page__header{gap:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule-2);padding-block-end:var(--space-xl);display:grid}.plan-page__header>div{gap:var(--space-xs);display:grid}.plan-page__header-actions{justify-content:start;gap:var(--space-sm);flex-wrap:wrap;display:flex!important}.plan-page__header-actions .button{white-space:nowrap}.plan-page__header span,.plan-library-row__number,.saved-plan-item__number{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.plan-page__header h1{font-size:var(--text-2xl)}.plan-page__header p{max-width:56ch;color:var(--color-muted)}.plan-page__header .plan-save-notice{color:var(--color-success)}.plan-page--library>.plan-page__header{justify-content:space-between;align-items:end;display:flex}.plan-library-sort{align-items:center;gap:var(--space-xs);min-width:max-content;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:auto auto;display:grid}.plan-library-sort select{min-height:2.75rem;padding-inline:var(--space-xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:normal;text-transform:none}.plan-library-anchors{gap:var(--space-2xs);padding-block:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);scrollbar-width:thin;display:none;overflow-x:auto}.plan-library-anchors a{min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);color:var(--color-ink-2);font-size:var(--text-sm);flex:none;align-items:center;text-decoration:none;display:inline-flex}.plan-library-anchors a:hover,.plan-library-anchors a:focus-visible{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink)}.plan-library-workspace{border-block:var(--rule-thin) solid var(--color-rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.plan-library-list{min-width:0}.plan-library-list--organization{border-inline-end:var(--rule-thin) solid var(--color-rule)}.plan-library-list--deleted{border-block-start:var(--rule-thin) solid var(--color-rule);grid-column:1/-1}.plan-library-list__header{justify-content:space-between;align-items:start;gap:var(--space-md);padding:var(--space-lg) var(--space-md) var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);display:flex}.plan-library-list__header>div{gap:var(--space-2xs);display:grid}.plan-library-list__header h2{font-family:var(--font-body);font-size:var(--text-lg)}.plan-library-list__header p{color:var(--color-muted);font-size:var(--text-sm)}.plan-library-list__header>span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;flex:none}.plan-library-row{align-items:center;gap:var(--space-md);width:100%;min-height:5.75rem;padding:var(--space-md);border:0;border-block-end:var(--rule-thin) solid var(--color-rule);color:var(--color-ink);text-align:start;cursor:pointer;transition:background-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;grid-template-columns:3rem minmax(0,1fr) auto;display:grid}.plan-library-row>span:nth-child(2){gap:var(--space-2xs);display:grid}.plan-library-row--deleted{cursor:default;grid-template-columns:minmax(0,1fr) auto}.plan-library-row--deleted>span{gap:var(--space-2xs);display:grid}.plan-library-row small{color:var(--color-muted)}.plan-library-row:hover:not(.plan-library-row--deleted),.plan-library-row:focus-visible{background:var(--color-paper-2);color:var(--color-accent)}.plan-library-row.current{background:var(--color-accent-soft);box-shadow:inset 0 0 0 var(--rule-thin) var(--color-accent)}.plan-empty{gap:var(--space-xs);min-height:9rem;padding:var(--space-xl) var(--space-md);color:var(--color-muted);align-content:center;display:grid}.plan-library-pagination{gap:var(--space-sm);padding:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;display:grid}.plan-library-pagination>div{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.plan-page__footer{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-xl);color:var(--color-muted);font-size:var(--text-sm);display:flex}.plan-editor{gap:var(--space-xl);display:grid}.plan-editor__fields{gap:var(--space-md);padding-block:var(--space-xl) 0;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);display:grid}.plan-editor__schedule{gap:var(--space-md);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.saved-plan{padding-block:var(--space-xl)}.saved-plan__notes{max-width:65ch;color:var(--color-ink-2);font-size:var(--text-lg);margin-block-end:var(--space-xl)}.saved-plan ol{border-block:var(--rule-thin) solid var(--color-rule);margin:0;padding:0;list-style:none}.saved-plan-item{gap:var(--space-lg);padding:var(--space-lg) var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);grid-template-columns:3rem minmax(0,1fr) minmax(16rem,22rem);align-items:start;display:grid}.saved-plan-item:last-child{border-block-end:0}.saved-plan-item__content{gap:var(--space-sm);display:grid}.saved-plan-item__content header{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.saved-plan-item__content h2{font-family:var(--font-body);font-size:var(--text-lg)}.saved-plan-item__content header span{color:var(--color-muted);white-space:nowrap}.saved-plan-item__content>p{color:var(--color-ink-2)}.saved-plan-item>img{border:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2);width:100%;height:auto}.saved-plan-item__material{color:var(--color-muted);font-size:var(--text-sm)}@media (width<=48rem){.plan-page--library>.plan-page__header{align-items:start;display:grid}.plan-page--library .plan-page__header-actions{width:100%}.plan-page--library .plan-library-sort{grid-template-columns:auto minmax(0,1fr);width:100%}.plan-page--library .plan-library-sort select{width:100%}.plan-library-anchors{margin-inline:calc(var(--space-md) * -1);padding-inline:var(--space-md);display:flex}.plan-page--library .plan-page__header-actions .button{justify-content:center;width:100%}.plan-page__footer{flex-direction:column;align-items:stretch}.plan-page__footer .button{justify-content:center;width:100%}.plan-library-workspace{grid-template-columns:1fr}.plan-library-list--organization{border-inline-end:0;border-block-end:var(--rule-thin) solid var(--color-rule)}.plan-library-list--deleted{grid-column:auto}.plan-library-list__header,.plan-library-row,.plan-library-pagination{padding-inline:var(--space-sm)}.plan-library-pagination>div{grid-template-columns:minmax(0,1fr);display:grid}.plan-library-pagination .button{width:100%;padding-inline:var(--space-xs);justify-content:center}.saved-plan-item{grid-template-columns:2.25rem minmax(0,1fr)}.saved-plan-item>img,.saved-plan-item__material{grid-column:2;width:min(100%,22rem)}}.print-practice-plan{display:none}@page{size:A4 portrait;margin:0}@media print{html,body{color:#111;background:#fff;min-width:0;font-size:10pt}.app-shell>*{display:none!important}.app-shell>main.plan-page{width:auto;min-height:0;margin:0;padding:0;display:block!important}.plan-page>*{display:none!important}.plan-page>.print-practice-plan{display:block!important}.print-practice-plan__page{break-after:page;page-break-after:always;flex-direction:column;height:297mm;display:flex;overflow:hidden}.print-practice-plan__page:last-child{break-after:auto;page-break-after:auto}.print-practice-plan__header{border-block-end:.5pt solid #111;grid-template-columns:12mm minmax(0,1fr);align-items:center;column-gap:3mm;min-height:29.7mm;padding:5mm 7mm;display:grid}.print-practice-plan__mark{width:12mm;height:12mm;font:700 10pt/1 var(--font-mono);-webkit-print-color-adjust:economy;print-color-adjust:economy;border:1.25pt solid;border-radius:50%;place-items:center;display:grid}.print-practice-plan__mark img{filter:grayscale();opacity:.78}.print-practice-plan__header span:not(.print-practice-plan__mark){font:600 7pt/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.print-practice-plan__header h1{margin-top:1mm;font-size:18pt}.print-practice-plan__schedule{color:#333;overflow-wrap:anywhere;grid-column:2;grid-template-columns:auto minmax(0,1fr);gap:2mm;margin:2mm 0 0;font-size:8pt;line-height:1.35;display:grid}.print-practice-plan__schedule strong{font:600 7pt/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.print-practice-plan__notes{color:#333;padding:3mm 7mm 0}.print-practice-plan ol{flex:1;grid-template-rows:repeat(3,minmax(0,1fr));min-height:0;margin:0;padding:0 7mm;list-style:none;display:grid}.print-practice-plan__item{break-inside:avoid;page-break-inside:avoid;border-block-end:.5pt solid #111;grid-template-columns:minmax(0,1fr) 118mm;align-items:start;gap:7mm;min-height:85px;padding:2mm 0;display:grid}.print-practice-plan__item-header{grid-column:1/-1;grid-template-columns:auto 1fr auto;align-items:baseline;gap:3mm;display:grid}.print-practice-plan__item-header>span{font:600 8pt/1 var(--font-mono)}.print-practice-plan__item-header h2{font-size:12pt}.print-practice-plan__item-header strong{white-space:nowrap;font-size:9pt}.print-practice-plan__copy ul{margin:0;padding-inline-start:1.1rem}.print-practice-plan__copy li,.print-practice-plan__copy p{color:#333;margin:0}.print-practice-plan__visual{border:.5pt solid #555;place-items:center;width:118mm;height:70mm;display:grid}.print-practice-plan__visual img{object-fit:contain;width:118mm;height:70mm;display:block}.print-practice-plan__visual p{color:#444;padding:3mm;font-size:8pt;line-height:1.3}}.library-intro{justify-content:space-between;align-items:end;gap:var(--space-xl);margin-block-end:var(--space-xl);display:flex}.library-intro>div{gap:var(--space-xs);display:grid}.library-intro h1{font-size:var(--text-2xl)}.library-intro p{max-width:62ch;color:var(--color-muted)}.library-intro>.library-intro-actions{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.library-search-inline{align-items:center;gap:var(--space-xs);min-width:min(18rem,100%);min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-muted);display:flex}.library-search-inline input{width:100%;min-width:0;color:var(--color-ink);background:0 0;border:0;outline:0}.library-search-inline:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-soft)}.organization-recovery-context{gap:var(--space-xs);margin-block:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule);text-align:start;padding-block-start:var(--space-md);display:grid}.organization-recovery-context h2{font-family:var(--font-body);font-size:var(--text-base)}.organization-recovery-context ul{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.organization-recovery-context li{justify-content:space-between;gap:var(--space-xs) var(--space-md);padding-block:var(--space-xs);border-block-end:var(--rule-thin) solid var(--color-rule);flex-wrap:wrap;display:flex}.organization-recovery-context li span{color:var(--color-muted);font-size:var(--text-sm)}.organization-selection-frame{background:var(--color-paper);min-height:100dvh;color:var(--color-ink)}.organization-selection-frame .application-header{position:relative}.organization-selection{width:min(100%,72rem);min-height:calc(100dvh - 4.25rem);padding:clamp(var(--space-lg), 6vw, var(--space-3xl)) clamp(var(--space-md), 5vw, var(--space-xl));align-items:center}.organization-selection.loading-shell div{background:0 0;height:auto}.organization-selection__panel{gap:var(--space-xl);width:min(100%,42rem);padding:clamp(var(--space-lg), 5vw, var(--space-2xl));border:var(--rule-thin) solid var(--color-rule-2);border-block-start:.35rem solid var(--color-accent);background:var(--color-surface);margin-inline:auto;display:grid}.organization-selection__header{gap:var(--space-sm);display:grid}.organization-selection__header p,.organization-selection__recovery-copy{max-width:58ch;color:var(--color-muted)}.organization-selection__control{gap:var(--space-sm);border-block-start:var(--rule-thin) solid var(--color-rule);padding-block-start:var(--space-lg)}.organization-selection__control select{border-color:var(--color-rule-2);background:var(--color-paper);width:100%;min-height:3.25rem;font-size:var(--text-md)}.organization-selection__control small{margin-block-start:var(--space-2xs);display:block}.organization-selection__field-group{gap:var(--space-md);display:grid}.organization-selection__unknown-header{align-items:center;gap:var(--space-sm);min-height:4.25rem;padding-inline:clamp(var(--space-md), 3vw, var(--space-xl));border-block-end:var(--rule-strong) solid var(--color-focus);background:var(--color-topbar);color:var(--color-topbar-ink);display:flex}.organization-selection__unknown-mark{border:var(--rule-thin) solid color-mix(in oklch, var(--color-topbar-ink) 56%, transparent);border-radius:var(--radius-md);background:var(--color-topbar-ink);width:2.25rem;height:2.25rem;color:var(--color-topbar);place-items:center;font-weight:700;display:grid}.organization-selection__selection-error{gap:var(--space-sm);padding:var(--space-sm);border-inline-start:var(--rule-strong) solid var(--color-error);background:var(--color-error-soft);color:var(--color-error);display:grid}.organization-selection__selection-error .button{justify-self:start}.organization-selection__actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.organization-selection--error .organization-selection__panel{border-block-start-color:var(--color-error)}.organization-selection__loading{align-items:center;gap:var(--space-sm);color:var(--color-muted);font-weight:700;display:flex}.organization-selection__spinner{border:var(--rule-strong) solid var(--color-rule-2);border-block-start-color:var(--color-accent);border-radius:var(--radius-round);width:1.15rem;height:1.15rem;animation:spin var(--dur-long) linear infinite}@media (width<=38rem){.organization-selection{min-height:calc(100dvh - 7.75rem);padding-block:var(--space-xl);align-items:start}.organization-selection__panel{gap:var(--space-lg)}}.library-workspace{border:var(--rule-thin) solid var(--color-rule-2);background:var(--color-library-panel);grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr);align-items:start;min-height:38rem;display:grid}.tag-rail{align-items:center;gap:var(--space-md);padding:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);background:color-mix(in oklch, var(--color-library-surface) 72%, var(--color-library-panel));grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);display:grid}.tag-rail h2{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;margin:0}.tag-rail__options{gap:var(--space-xs);overscroll-behavior-inline:contain;min-width:0;padding-block-end:var(--space-2xs);display:flex;overflow-x:auto}.tag-rail button{justify-content:flex-start;align-items:center;gap:var(--space-sm);min-height:2.75rem;padding-inline:var(--space-sm);border-radius:var(--radius-md);color:var(--color-muted);cursor:pointer;text-align:start;background:0 0;border:0;flex:none;display:flex}.tag-rail button.active{background:var(--color-library-panel);color:var(--color-ink)}.tag-rail button span:last-child{font-family:var(--font-mono);font-size:var(--text-xs)}.drill-list{border-inline-end:var(--rule-thin) solid var(--color-rule);min-width:0;max-height:calc(100dvh - 7rem);overflow-y:auto}.topbar-create{min-width:max-content}.library-controls{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);background:color-mix(in oklch, var(--color-library-surface) 72%, var(--color-library-panel));flex-wrap:wrap;display:flex}.library-controls>div{gap:var(--space-3xs);margin-inline-end:auto;display:grid}.library-controls strong{font-size:var(--text-sm)}.library-controls>div span,.library-controls label>span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.library-controls label{align-items:center;gap:var(--space-xs);display:flex}.library-controls select{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);min-height:2.75rem;color:var(--color-topbar-ink)}.clear-controls{background:0 0;background:var(--color-topbar-ink);min-height:2.75rem;color:var(--color-topbar);cursor:pointer;border:0;font-weight:700}.drill-row{align-items:stretch;gap:var(--space-sm);padding:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);background:var(--color-library-panel);display:flex}.drill-row__select{align-items:start;gap:var(--space-sm);min-width:0;color:var(--color-ink);cursor:pointer;text-align:start;transition:border-color .15s var(--ease-out), transform .15s var(--ease-out);background:0 0;border:0;flex:1;grid-template-columns:5.25rem minmax(0,1fr) auto;padding:0;display:grid}.drill-row.selected{background:var(--color-accent-soft);box-shadow:inset 0 0 0 var(--rule-strong) var(--color-accent)}.drill-row.pending{background:color-mix(in oklch, var(--color-accent-soft) 58%, var(--color-library-panel));box-shadow:inset 0 0 0 var(--rule-thin) var(--color-accent)}.drill-row.pending .drill-row__select{cursor:wait}.drill-row__pending{color:var(--color-accent)}.drill-row__add{flex:none;align-self:center}.drill-row__quick-actions,.drill-row__quick-diagram{display:none}.drill-row__thumbnail{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-rink-ice);width:5.25rem;height:3.25rem;display:block;overflow:hidden}.drill-row__thumbnail>img{object-fit:contain;width:100%;height:100%;display:block}.drill-row__thumbnail--empty{color:var(--color-muted);place-items:center;display:grid}.drill-row__main,.drill-row__meta{min-width:0;display:grid}.drill-row__main{gap:var(--space-xs)}.drill-row__main>strong{overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--text-md);white-space:normal}.drill-row__main>span:not(.tag-row){color:var(--color-muted);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tag-row,.detail-tags{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tag-row i,.detail-tags span{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-round);background:var(--color-surface);font-size:var(--text-xs);padding:.25rem .65rem;font-style:normal}.drill-row__meta{align-content:start;justify-items:end;gap:var(--space-2xs);white-space:nowrap;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.library-empty,.detail-empty{align-content:center;place-items:center;gap:var(--space-xs);min-height:18rem;padding:var(--space-xl);color:var(--color-muted);text-align:center;display:grid}.detail-panel{min-width:0;top:calc(var(--space-md) + 4.5rem);background:var(--color-library-panel);max-height:calc(100dvh - 6rem);position:sticky;overflow-y:auto}.detail-skeleton{min-height:100%}.detail-skeleton .detail-header{align-content:start}.detail-skeleton__heading,.detail-skeleton__tags,.detail-skeleton__notes,.detail-skeleton__actions{gap:var(--space-xs);display:grid}.detail-skeleton__heading span,.detail-skeleton__heading strong,.detail-skeleton__tags span,.detail-skeleton__notes span,.detail-skeleton__actions span{border-radius:var(--radius-sm);background:var(--color-paper-3);height:.85rem;display:block}.detail-skeleton__heading span{width:7rem;height:.65rem}.detail-skeleton__heading strong{width:min(72%,18rem);height:1.55rem}.detail-skeleton__status{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;margin:0}.detail-skeleton__tags{grid-template-columns:repeat(2,minmax(4rem,7rem))}.detail-skeleton__tags span{border-radius:var(--radius-round);height:1.55rem}.detail-skeleton__material{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);min-height:clamp(12rem,26vw,20rem)}.detail-skeleton__notes span:first-child{width:8rem;height:.65rem}.detail-skeleton__notes span:nth-child(2){width:92%}.detail-skeleton__notes span:nth-child(3){width:68%}.detail-skeleton__actions{grid-template-columns:repeat(2,minmax(7rem,12rem))}.detail-skeleton__actions span{height:2.75rem}.detail-header{align-items:start;gap:var(--space-lg);min-height:9.5rem;padding:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr);display:grid}.detail-header>div:first-child{gap:var(--space-xs);min-width:0;display:grid}.detail-header>div:first-child>span,.drill-form header span,.revision-ledger>header span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.detail-header h2{font-size:var(--text-xl);overflow-wrap:anywhere}.detail-actions{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.detail-content{gap:var(--space-lg);padding:clamp(var(--space-md), 3vw, var(--space-lg));display:grid}.drill-status{align-items:center;gap:var(--space-sm);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.status-chip{align-items:center;gap:var(--space-2xs);border:var(--rule-thin) solid var(--color-accent);border-radius:var(--radius-round);background:var(--color-accent-soft);color:var(--color-accent);padding:.25rem .6rem;display:inline-flex}.detail-notes{gap:var(--space-xs);max-width:70ch;display:grid}.detail-notes h3{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.detail-notes .markdown-notes{color:var(--color-ink-2)}.markdown-notes{gap:var(--space-xs);display:grid}.markdown-notes p,.markdown-notes ul,.markdown-notes ol{margin:0}.markdown-notes ul,.markdown-notes ol{gap:.25rem;padding-inline-start:1.4rem;display:grid}.markdown-editor{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-canvas);overflow:hidden}.markdown-editor .ql-editor{font-style:normal;font-weight:400}.markdown-editor:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.markdown-editor__toolbar{border-bottom:1px solid var(--color-line);background:var(--color-library-surface);gap:.25rem;padding:.35rem;display:flex}.markdown-editor__toolbar button{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-ink);background:0 0;border:0;place-items:center;display:grid}.markdown-editor__toolbar button:hover{color:var(--color-accent)}.markdown-editor__toolbar button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.markdown-editor__toolbar button[aria-pressed=true],.markdown-editor__toolbar button.active,.markdown-editor__toolbar button:focus-visible[aria-pressed=true]{background:var(--color-accent);color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-ink) 18%, transparent)}.markdown-editor__surface{min-height:9rem;color:var(--color-ink);outline:none;padding:.75rem}.markdown-editor__surface:empty:before{content:attr(data-placeholder);color:var(--color-ink-3);pointer-events:none}.markdown-editor__surface p,.markdown-editor__surface ul,.markdown-editor__surface ol{margin:0 0 .75rem}.markdown-editor__surface>:last-child{margin-bottom:0}.detail-content .supporting-material{border:0;padding-block:0}.detail-content .material-empty{min-height:8rem}.drill-form{grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;display:grid}dialog:has(.drill-form){width:min(46rem,100vw - 2rem);height:min(52rem,100dvh - 2rem);max-height:calc(100dvh - 2rem);overflow:hidden}.drill-form>header,.revision-ledger>header{justify-content:space-between;align-items:start;gap:var(--space-lg);padding:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule);display:flex}.drill-form>header>div,.revision-ledger>header>div{gap:var(--space-xs);display:grid}.icon-button{border-radius:var(--radius-md);width:2.5rem;height:2.5rem;color:var(--color-ink);cursor:pointer;font-size:var(--text-lg);background:0 0;border:0;place-items:center;display:grid}.drill-form__body{align-content:start;gap:var(--space-lg);min-height:0;padding:var(--space-lg);overscroll-behavior:contain;display:grid;overflow-y:auto}.drill-form textarea{resize:vertical;width:100%;padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink)}.tag-editor{gap:var(--space-sm);padding:var(--space-lg) 0;border:0;border-block:var(--rule-thin) solid var(--color-rule);margin:0;display:grid}.tag-editor legend{padding:0;font-weight:700}.tag-editor>p,.tag-editor>small{color:var(--color-muted);font-size:var(--text-sm)}.tag-search,.selected-tags{gap:var(--space-xs);display:grid}.tag-search label,.selected-tags>span{gap:var(--space-xs);font-size:var(--text-sm);font-weight:700;display:grid}.tag-search input{min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink)}.tag-search ul,.selected-tags ul{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag-search li button,.selected-tags li{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-round);background:var(--color-paper);align-items:center;min-height:2.5rem;display:inline-flex}.tag-search li button{padding-inline:var(--space-sm);color:inherit;cursor:pointer}.tag-search li.active-result button,.tag-search li button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.tag-search li .tag-search__create{border-style:dashed;border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);font-weight:700}.selected-tags li{gap:var(--space-xs);padding-left:var(--space-sm)}.selected-tags li button{padding-inline:var(--space-sm);border:0;border-left:var(--rule-thin) solid var(--color-rule-2);border-radius:0 var(--radius-round) var(--radius-round) 0;color:var(--color-muted);cursor:pointer;background:0 0;align-self:stretch}.tag-editor .field-error{color:var(--color-error)}.form-material-summary{gap:var(--space-xs);padding-block:var(--space-lg);border-block:var(--rule-thin) solid var(--color-rule);display:grid}.form-material-summary>span{font-weight:700}.form-material-summary small{color:var(--color-muted)}.draft-material-actions{gap:var(--space-sm);flex-wrap:wrap;margin-block-start:var(--space-sm);display:flex}.drill-form>footer{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-block-start:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm);display:flex}.drill-form>footer>div{gap:var(--space-sm);display:flex}dialog:has(.revision-ledger){width:min(42rem, calc(100% - var(--space-lg)))}.revision-ledger{border:0}.revision-ledger ol{max-height:60dvh;padding-inline:var(--space-lg);overflow-y:auto}@media (hover:hover) and (pointer:fine){.topbar-link:hover,.icon-button:hover,.tag-rail button:hover{background:var(--color-paper-3)}.drill-row:hover{background:var(--color-paper-2);border-color:var(--color-accent);transform:translateY(-2px)}.drill-row.selected:hover{background:var(--color-accent-soft)}}@media (width<=64rem){.topbar{grid-template-columns:auto minmax(0,1fr) auto}.command-search{grid-area:2/1/auto/-1;margin-block-end:var(--space-sm)}}@media (width<=58rem){.topbar{grid-template-columns:auto minmax(0,1fr) auto}.command-search{grid-area:2/1/auto/-1;margin-block-end:var(--space-sm)}.library-intro{flex-direction:column;align-items:start}.library-intro>.library-intro-actions{justify-content:flex-start;width:100%}.library-workspace{grid-template-columns:minmax(20rem,1fr) minmax(0,1fr)}.detail-panel{top:calc(var(--space-md) + 4.5rem);border-block-start:0;grid-column:auto;max-height:calc(100dvh - 6rem);position:sticky;overflow-y:auto}.drill-list{max-height:calc(100dvh - 10.5rem);overflow-y:auto}}@media (width<=46rem){.topbar{gap:var(--space-sm);padding-inline:var(--space-sm)}.brand-lockup>div,.brand-lockup--return>span:last-child{display:none}.topbar-routes{min-width:0}.topbar-routes .topbar-link{gap:var(--space-2xs);padding-inline:var(--space-xs);font-size:var(--text-xs)}.topbar-link__label--full,.topbar-create__label--full{display:none}.topbar-link__label--compact,.topbar-create__label--compact{display:inline}.topbar-create{gap:var(--space-2xs);width:auto;min-width:0;padding-inline:var(--space-sm);font-size:var(--text-xs)}.topbar-actions{gap:var(--space-xs)}.library-workspace{display:block}.tag-rail{gap:var(--space-sm);grid-template-columns:1fr}.drill-list{border-inline-end:0;max-height:none;overflow:visible}.drill-row__quick-actions{gap:var(--space-sm);padding:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);background:var(--color-accent-soft);display:grid}.drill-row__quick-actions>div:first-child{gap:var(--space-3xs);display:grid}.drill-row__quick-actions span,.drill-row__quick-diagram figcaption{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.drill-row__quick-actions strong{overflow-wrap:anywhere}.drill-row__quick-diagram{gap:var(--space-2xs);min-width:0;display:grid}.drill-row__quick-diagram img{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-rink-ice);width:100%;height:auto;display:block}.drill-row__quick-actions-buttons{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.drill-row__quick-actions-buttons .button{min-height:2.75rem;padding-inline:var(--space-sm);justify-content:center}.detail-panel{grid-column:auto;max-height:none;position:static;overflow:visible}}@media (width<=40rem){.topbar{position:static}.library-page{padding-inline:var(--space-sm)}.plan-editor__fields,.plan-editor__schedule{grid-template-columns:1fr}.library-intro h1{font-size:var(--text-xl)}.tag-rail{gap:var(--space-sm)}.drill-row__select{grid-template-columns:4.25rem minmax(0,1fr)}.drill-row__thumbnail{width:4.25rem;height:3rem}.drill-row__meta{flex-wrap:wrap;grid-column:2;justify-content:start;display:flex}.detail-header,.detail-content{padding:var(--space-md)}.detail-actions,.detail-actions .button,.material-actions,.material-actions .button{width:100%}.drill-form>footer{padding:var(--space-md);flex-direction:column;align-items:stretch;padding-block-end:max(var(--space-md), env(safe-area-inset-bottom))}.drill-form>footer>div,.drill-form>footer .button,.draft-material-actions,.draft-material-actions .button{width:100%}dialog:has(.drill-form){width:calc(100vw - 1rem);height:calc(100dvh - 1rem);max-height:calc(100dvh - 1rem)}.drill-form>header,.drill-form__body{padding:var(--space-md)}}.diagram-editor{--diagram-tool-rail:clamp(6.25rem, 24vw, 7.25rem);background:var(--color-paper-2);flex-direction:column;height:100dvh;min-height:40rem;display:flex;position:relative;overflow:hidden}.editor-topbar{align-items:center;gap:var(--space-sm);min-height:4.25rem;padding-inline:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);background:var(--color-surface);grid-template-columns:auto auto minmax(10rem,auto) minmax(10rem,1fr) auto;padding-block-start:max(var(--space-sm), env(safe-area-inset-top));padding-inline-start:max(var(--space-md), env(safe-area-inset-left));padding-inline-end:max(var(--space-md), env(safe-area-inset-right));display:grid;position:relative}.editor-back,.icon-action{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-surface);width:2.75rem;height:2.75rem;color:var(--color-ink);cursor:pointer;place-items:center;padding:0;display:grid}.editor-back{border-color:#0000}.editor-context{min-width:0;display:grid}.editor-organization{align-items:center;gap:var(--space-xs);min-width:0;color:var(--color-ink-2);font-size:var(--text-xs);font-weight:700;display:flex}.editor-organization>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.editor-context>span{color:var(--color-muted);font-size:var(--text-xs)}.editor-context h1{font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-context strong{color:var(--color-ink-2);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.draft-state{justify-content:center;align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);display:flex}.draft-state>span{border-radius:var(--radius-round);background:var(--color-success);width:.5rem;height:.5rem}.draft-state.dirty>span{background:var(--color-accent)}.editor-actions{justify-content:flex-end;align-items:center;gap:var(--space-xs);display:flex}.history-actions{align-items:center;gap:var(--space-xs);display:flex}.history-actions--rail{display:none}.history-actions--rail .icon-action{flex:0 0 2.75rem}.icon-action:disabled{opacity:.4;cursor:not-allowed}.icon-action--danger{color:var(--color-error)}.editor-workspace{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.workspace-toolbar,.properties-panel{background:var(--color-surface);min-width:0}.workspace-toolbar{align-items:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);order:2;display:flex}.workspace-controls{align-items:center;gap:var(--space-xs);flex:none;order:2;margin-inline-start:auto;display:flex}.active-tool-indicator{align-items:center;gap:var(--space-xs);min-width:0;min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-ink);white-space:nowrap;display:flex}.active-tool-indicator>span{color:var(--color-muted);font-size:var(--text-xs)}.active-tool-indicator>strong{color:var(--color-accent);font-size:var(--text-xs);text-overflow:ellipsis;overflow:hidden}.template-control{align-items:center;gap:var(--space-xs);min-width:0;color:var(--color-muted);font-size:var(--text-xs);display:flex}.template-control select{max-width:16rem;min-height:2.4rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink)}.template-control--topbar{color:var(--color-ink-2)}.template-control--topbar select{width:9.5rem}.tool-toggle,.diagram-help-button{flex:none}.workspace-toolbar>header,.properties-panel>header{gap:var(--space-2xs);display:grid}.workspace-toolbar>header>span,.properties-panel>header>span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.workspace-toolbar h2,.properties-panel h2{font-family:var(--font-body);font-size:var(--text-md);letter-spacing:-.01em}.tool-groups{align-items:center;gap:var(--space-xs);flex-wrap:nowrap;flex:auto;order:1;min-width:0;display:flex}.tool-collection{position:relative}.tool-collection--edit{margin-inline-start:0}.tool-collection>summary{place-items:center;gap:var(--space-xs);min-width:4.25rem;min-height:3rem;padding:var(--space-xs);border:var(--rule-thin) solid transparent;border-radius:var(--radius-md);color:var(--color-ink);cursor:pointer;font-size:var(--text-xs);-webkit-user-select:none;user-select:none;list-style:none;display:grid}.tool-collection>summary::-webkit-details-marker{display:none}.marker-tool-letter{min-width:1.5rem;min-height:1.5rem;padding-inline:var(--space-2xs);border:var(--rule-thin) solid currentColor;border-radius:var(--radius-round);font-family:var(--font-mono);font-size:var(--text-xs);place-items:center;font-weight:700;line-height:1;display:grid}.tool-collection>summary:hover,.tool-collection:focus-within>summary,.tool-collection[open]>summary{border-color:var(--color-rule-2);background:var(--color-surface-2)}.tool-collection>summary.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);font-weight:700}.tool-collection-menu{z-index:var(--z-dropdown);gap:var(--space-xs);width:max-content;max-width:min(32rem, calc(100vw - var(--space-lg) * 2));padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 .5rem .5rem var(--color-shadow);grid-template-columns:repeat(auto-fit,minmax(3.75rem,1fr));display:none;position:absolute;bottom:100%;left:0}.tool-collection-menu--markers{width:min(32rem, calc(100vw - var(--space-lg) * 2))}.tool-collection-menu--end{left:auto;right:0}.tool-collection:hover>.tool-collection-menu,.tool-collection:focus-within>.tool-collection-menu,.tool-collection[open]>.tool-collection-menu{display:grid}.palette-tool{place-items:center;gap:var(--space-xs);min-width:3.25rem;min-height:3.5rem;padding:var(--space-xs);border:var(--rule-thin) solid transparent;border-radius:var(--radius-md);color:var(--color-ink);cursor:pointer;font-size:var(--text-xs);background:0 0;display:grid}.palette-tool.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.palette-tool:disabled{opacity:.38;cursor:not-allowed}.tool-collection>summary,.palette-tool,.workspace-controls button,.editor-actions button,.selection-tray button{touch-action:manipulation}.clear-diagram{margin-inline-start:auto}.edit-selection-trigger,.landscape-tool-exit{display:none}.editor-stage-row{flex:1;order:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:hidden}.canvas-workbench{min-width:0;min-height:0;padding:var(--space-md);background:var(--color-rink-crease);grid-row:1;overflow:auto}.canvas-stage{width:min(100%,96rem);margin-inline:auto}.canvas-surface{padding:var(--space-sm);background:var(--color-rink-crease)}.canvas-frame{min-width:0;min-height:0;position:relative}.canvas-frame canvas{position:relative}.canvas-surface canvas{background:var(--color-rink-ice);cursor:crosshair;touch-action:none;width:100%;height:auto;display:block}.canvas-surface canvas.dragging{cursor:grabbing}.canvas-surface canvas.previewing-marker{cursor:none}.properties-panel{z-index:var(--z-raised);inset:auto var(--space-md) var(--space-md);width:auto;max-height:min(24rem, calc(100% - var(--space-md) * 2));align-content:start;gap:var(--space-md);padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:0 8px 8px var(--color-shadow);opacity:0;pointer-events:none;transform:translateY(calc(100% + var(--space-md)));transition:transform var(--dur-short) var(--ease-out), opacity var(--dur-micro) linear;display:grid;position:absolute;overflow-y:auto}@media (width>=70.0625rem){.canvas-workbench{place-items:center;display:grid;overflow:auto}.canvas-stage{flex-direction:column;height:100%;max-height:100%;display:flex}.canvas-surface{flex:1;place-items:center;min-height:0;display:grid}.canvas-surface canvas{width:auto;max-width:100%;height:auto;max-height:100%}}.inspector-toggle,.properties-panel{display:none}.properties-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.selection-tray:not([hidden]){z-index:auto;align-items:center;gap:var(--space-sm);width:auto;max-height:none;padding:var(--space-sm) var(--space-md);border:0;border-block-start:var(--rule-thin) solid var(--color-rule);box-shadow:none;opacity:1;pointer-events:auto;border-radius:0;flex-wrap:wrap;grid-area:2/1;display:flex;position:static;overflow:visible;transform:none}.selection-tray>header{display:contents}.selection-tray>header>div:first-child{display:none}.selection-row-actions{gap:var(--space-2xs);order:3;margin-inline-start:auto;display:flex}.selection-tray>header h2{font-size:var(--text-sm)}.selection-tray>header span,.selection-tray>.selection-heading{display:none}.selection-tray .field,.selection-tray .field--range{gap:var(--space-2xs)}.selection-tray .field{flex:10rem;align-items:center;min-width:9rem;display:flex}.selection-tray .field>span{white-space:nowrap;flex:none}.selection-tray .field>input,.selection-tray .field>select{flex:auto;min-width:0;min-height:2.4rem}.color-picker{width:100%;min-height:2.4rem;padding:var(--space-3xs)}.properties-panel>header{justify-content:space-between;align-items:center;display:flex}.properties-panel select{width:100%;min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink)}.focus-notice{gap:var(--space-xs);padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-accent-soft);display:grid}.focus-notice span{color:var(--color-muted);font-size:var(--text-xs)}.focus-notice .button{width:100%}.selection-heading{align-items:center;gap:var(--space-sm);padding-block:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule);display:flex}.selection-heading>div{gap:var(--space-2xs);display:grid}.selection-heading span:not(.selection-icon){color:var(--color-muted);font-size:var(--text-xs)}.selection-heading h3{font-family:var(--font-body);font-size:var(--text-base)}.selection-icon{border-radius:var(--radius-round);background:var(--color-accent-soft);width:2.5rem;height:2.5rem;color:var(--color-accent);place-items:center;display:grid}.properties-panel fieldset{gap:var(--space-sm);padding:var(--space-md) 0 0;border:0;border-block-start:var(--rule-thin) solid var(--color-rule);margin:0;display:grid}.properties-panel legend{padding:0;font-weight:700}.properties-panel fieldset label{align-items:center;gap:var(--space-xs);min-height:2.5rem;display:flex}.properties-panel input[type=radio]{accent-color:var(--color-accent)}.selection-actions{align-items:center;gap:var(--space-2xs);border:0;flex-wrap:nowrap;flex:none;order:2;padding:0;display:flex}.selection-tray .icon-action{width:2.4rem;height:2.4rem}.text-action{align-items:center;gap:var(--space-xs);min-height:2.75rem;padding-inline:var(--space-sm);color:var(--color-error);cursor:pointer;background:0 0;border:0;display:inline-flex}.inspector-empty{gap:var(--space-sm);padding-block:var(--space-lg);border-block-start:var(--rule-thin) solid var(--color-rule);display:grid}.inspector-empty h3{font-family:var(--font-body);font-size:var(--text-base)}.inspector-empty p{color:var(--color-muted);font-size:var(--text-sm)}@media (hover:hover) and (pointer:fine){.editor-back:hover,.icon-action:hover,.palette-tool:hover,.text-action:hover{background:var(--color-paper-3)}}@media (width<=70rem){.diagram-editor{height:auto;overflow:visible}.editor-topbar{grid-template-columns:auto auto minmax(0,1fr) auto}.draft-state{display:none}.editor-actions{grid-column:1/-1;padding-block-end:var(--space-sm)}.editor-workspace{overflow:visible}.editor-stage-row{grid-template-columns:minmax(0,1fr)}.properties-panel{border-block-start:var(--rule-thin) solid var(--color-rule);border-inline-start:0}}@media (width<=48rem),(width<=70rem) and (height<=32rem) and (pointer:coarse),(width<=70rem) and (height<=32rem) and (hover:none){.editor-topbar{grid-template-columns:auto auto minmax(0,1fr) auto}.diagram-editor .editor-actions{grid-column:auto;justify-content:flex-end;min-width:0;padding-block-end:0;overflow:visible}.diagram-editor .history-actions--header{display:none}.diagram-editor .history-actions--rail{grid-column:1/-1;justify-content:center;display:flex}.editor-actions .button,.editor-actions .icon-action{flex:none}.editor-export{display:none}.diagram-editor{height:100dvh;min-height:0;overflow:visible}.diagram-editor .editor-workspace{grid-template-columns:var(--diagram-tool-rail) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);display:grid;overflow:visible}.diagram-editor .workspace-toolbar{order:initial;align-items:start;gap:var(--space-xs);height:100%;border-block-end:0;border-inline-end:var(--rule-thin) solid var(--color-rule);scrollbar-color:var(--color-rule-2) transparent;scrollbar-width:thin;flex-direction:column;grid-area:1/1;padding-block-start:calc(4.5rem + var(--space-xs) + env(safe-area-inset-top));padding-block-end:max(var(--space-xs), env(safe-area-inset-bottom));padding-inline-start:max(var(--space-xs), env(safe-area-inset-left));padding-inline-end:max(var(--space-xs), env(safe-area-inset-right));display:flex;overflow:clip auto}.diagram-editor .workspace-toolbar::-webkit-scrollbar{width:.375rem}.diagram-editor .workspace-toolbar::-webkit-scrollbar-thumb{border-radius:var(--radius-round);background:var(--color-rule-2)}.diagram-editor .tool-groups{align-items:stretch;gap:var(--space-2xs);flex-flow:column;flex:none;order:1;width:100%;display:flex}.diagram-editor .tool-collection,.diagram-editor .tool-collection>summary{width:100%}.diagram-editor .tool-collection-menu{top:max(var(--tool-menu-top,var(--space-md)), env(safe-area-inset-top));right:max(var(--space-sm), env(safe-area-inset-right));bottom:auto;left:calc(var(--diagram-tool-rail) - var(--space-sm) + env(safe-area-inset-left));width:auto;max-width:none;max-height:calc(100dvh - max(var(--tool-menu-top,var(--space-md)), env(safe-area-inset-top)) - max(var(--space-md), env(safe-area-inset-bottom)));position:fixed;overflow-y:auto}.diagram-editor .workspace-controls{align-items:center;gap:var(--space-2xs);order:2;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-inline-start:0;display:grid}.diagram-editor .active-tool-indicator{min-height:auto;padding:var(--space-xs);white-space:normal;grid-column:1/-1;gap:0;display:grid}.diagram-editor .workspace-controls .clear-diagram{grid-column:1/-1;justify-content:center;margin-inline-start:0}.diagram-editor .editor-stage-row{order:initial;grid-area:1/2;min-height:0;overflow:visible}.diagram-editor .canvas-workbench{min-height:0;padding:var(--space-sm);place-items:center;display:grid;overflow:auto}.diagram-editor .canvas-stage{flex-direction:column;width:100%;height:100%;max-height:100%;display:flex}.diagram-editor .canvas-surface{flex:1;place-items:center;min-height:0;display:grid}.diagram-editor .canvas-surface canvas{width:auto;max-width:100%;height:auto;max-height:100%}.diagram-editor .canvas-surface--portrait{width:100%;height:100%}.diagram-editor .canvas-frame--portrait{--diagram-rink-width:85;--diagram-rink-length:200;--diagram-portrait-canvas-scale:426.67%;width:auto;max-width:100%;height:100%;aspect-ratio:var(--diagram-rink-width) / var(--diagram-rink-length);overflow:hidden}.diagram-editor .canvas-frame--portrait canvas{width:var(--diagram-portrait-canvas-scale);max-width:none;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=30rem) and (orientation:portrait) and (pointer:coarse),(width<=30rem) and (orientation:portrait) and (hover:none){.diagram-editor .canvas-frame--presentation-portrait{aspect-ratio:3/5;width:min(100%,60dvh);overflow:hidden}.diagram-editor .canvas-frame--presentation-portrait canvas{transform-origin:50%;width:166.667%;max-width:none;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}}.diagram-editor .edit-selection-trigger{grid-column:1/-1;justify-self:center;width:2.75rem;height:2.75rem;display:grid}.diagram-editor:not(.inspector-open) .selection-tray:not([hidden]):not(.open){display:none}.diagram-editor .selection-tray:not([hidden]){z-index:var(--z-raised);right:max(var(--space-xs), env(safe-area-inset-right));bottom:max(var(--space-xs), env(safe-area-inset-bottom));left:max(var(--space-xs), env(safe-area-inset-left));max-height:48%;padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 .5rem .5rem var(--color-shadow);grid-row:auto;position:absolute;overflow-y:auto}.diagram-editor .template-control--topbar{z-index:var(--z-raised);width:var(--diagram-tool-rail);align-content:center;gap:var(--space-2xs);min-height:4.5rem;padding:var(--space-xs);border-inline-end:var(--rule-thin) solid var(--color-rule);background:var(--color-surface);display:grid;position:absolute;top:100%;left:0}.diagram-editor .template-control--topbar select{width:100%;min-width:0;padding-inline:var(--space-2xs);font-size:var(--text-xs)}}@media (pointer:coarse){.tool-collection>summary{min-height:3.5rem}.palette-tool{min-width:3.75rem;min-height:3.75rem}}@media (width<=48rem) and (pointer:coarse),(width<=48rem) and (hover:none),(width<=70rem) and (height<=32rem) and (pointer:coarse),(width<=70rem) and (height<=32rem) and (hover:none){.tool-collection-menu{z-index:var(--z-dropdown);top:auto;right:var(--space-md);bottom:var(--tool-menu-bottom,var(--space-md));left:var(--space-md);width:auto;max-width:none;max-height:calc(100dvh - var(--tool-menu-bottom,var(--space-md)) - var(--space-md));position:fixed;overflow-y:auto}.diagram-editor .tool-collection-menu{top:max(var(--tool-menu-top,var(--space-md)), env(safe-area-inset-top));right:max(var(--space-sm), env(safe-area-inset-right));bottom:auto;left:calc(var(--diagram-tool-rail) - var(--space-sm) + env(safe-area-inset-left));max-height:calc(100dvh - max(var(--tool-menu-top,var(--space-md)), env(safe-area-inset-top)) - max(var(--space-md), env(safe-area-inset-bottom)))}}@media (width<=70rem) and (height<=32rem) and (orientation:landscape) and (pointer:coarse),(width<=70rem) and (height<=32rem) and (orientation:landscape) and (hover:none){.diagram-editor .landscape-tool-exit{z-index:var(--z-raised);top:var(--space-sm);right:var(--space-sm);align-items:center;gap:var(--space-xs);min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 .5rem .5rem var(--color-shadow);color:var(--color-ink);cursor:pointer;touch-action:manipulation;font-weight:700;display:inline-flex;position:absolute}.diagram-editor .canvas-workbench{padding-inline-end:calc(var(--space-sm) + 11rem)}}@media (width<=28rem){.drill-row__quick-actions-buttons{grid-template-columns:minmax(0,1fr)}.editor-context strong,.editor-actions .button--quiet:nth-of-type(3){display:none}.editor-organization{max-width:8rem;font-size:.7rem}.editor-topbar{padding-inline:var(--space-sm);padding-block-start:max(var(--space-sm), env(safe-area-inset-top));padding-inline-start:max(var(--space-sm), env(safe-area-inset-left));padding-inline-end:max(var(--space-sm), env(safe-area-inset-right))}.editor-actions{gap:var(--space-2xs);width:100%}.editor-actions .button{padding-inline:var(--space-sm)}.editor-actions .button--primary{margin-inline-start:auto}}.topbar .topbar-link{color:var(--color-topbar-ink)}.topbar .topbar-link--recovery{color:color-mix(in oklch, var(--color-topbar-ink) 76%, transparent)}.topbar .topbar-link.active,.topbar .topbar-link:active{background:var(--color-focus-soft);color:var(--color-ink)}.topbar .coach-avatar{border-color:color-mix(in oklch, var(--color-topbar-ink) 52%, transparent);color:var(--color-topbar-ink);background:0 0}.library-controls select{color:var(--color-ink)}.clear-controls{color:var(--color-accent);background:0 0}@media (hover:hover) and (pointer:fine){.topbar .topbar-link:hover{background:color-mix(in oklch, var(--color-topbar-ink) 16%, transparent)}}
