[v-cloak]{display:none}.portal-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:3rem;padding:3.5rem 0 2.5rem;align-items:end}.portal-hero h1{font-size:clamp(3rem,6vw,5.4rem);line-height:.99;max-width:13ch}.portal-hero em{font-family:Georgia,serif;font-weight:400;color:var(--lab-accent)}.lede{font-size:1.15rem;max-width:52ch}.text-link{display:inline-block;margin-top:.7rem;font-weight:700}.hero-contract{border-left:3px solid var(--lab-accent);padding:1.3rem 1.6rem;background:var(--lab-surface)}.hero-contract p{font-size:.9rem}.badge{display:inline-block;padding:.35rem .6rem;border:1px solid var(--lab-line);border-radius:3rem;font:600 .68rem/1.2 var(--lab-font);letter-spacing:.05em;text-transform:uppercase;color:var(--lab-ink)}.workflow-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--lab-line);border-bottom:1px solid var(--lab-line);padding:1.2rem 0}.workflow-bar ol{list-style:none;display:flex;gap:1rem;padding:0;margin:0;flex-wrap:wrap}.workflow-bar li{display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--lab-muted)}.workflow-bar li span{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--lab-line);border-radius:50%;font-size:.75rem}.workflow-bar li.done span{background:var(--lab-acid);border-color:#718e2c;color:#171d0b}.role-control{font-size:.8rem;min-width:240px}.role-control select{width:100%}.portal-notices{margin:1rem 0;min-height:3.25rem}.portal-notices p{margin:.5rem 0}.portal-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:var(--lab-gap);align-items:start}.portal-workspace .panel{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-heading h2{margin:.25rem 0 1rem}.section-heading>label{min-width:150px}.section-heading select{width:100%}.catalog-panel .table-controls label{min-width:110px}.product-picker{border-top:1px solid var(--lab-line);padding-top:1.2rem;margin-top:1.2rem}.product-picker>label select{width:100%}.product-selection{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin-top:1rem}.product-selection>div{flex:1 1 200px}.product-selection h3{font-size:1.2rem;margin:.4rem 0}.product-selection p{font-size:.8rem;margin:0}.product-selection input{width:6rem}.product-selection label{font-size:.8rem}.quote-panel h2{margin:.4rem 0 1rem}.cart-lines{list-style:none;padding:0;margin:0}.cart-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .6rem;border-bottom:1px solid var(--lab-line);padding:.85rem 0;font-size:.9rem}.cart-lines small{display:block}.cart-lines button{grid-column:1/-1;justify-self:start;padding:.2rem 0;border:0;min-height:32px;background:transparent;font-size:.75rem;text-decoration:underline;color:var(--lab-accent)}.quote-total{display:flex;justify-content:space-between;gap:1rem;padding-top:1.1rem;font-size:1rem}.quote-total strong{font-size:1.6rem;letter-spacing:-.03em}.quote-panel .muted{font-size:.8rem}.wide{width:100%;display:block}.quote-record{padding:1.1rem 0 0;margin-top:1.2rem;border-top:1px solid var(--lab-line)}.record-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.quote-record p{font-size:.9rem}.checkbox-label{display:flex;align-items:start;gap:.5rem;font-size:.85rem}.checkbox-label input{margin-top:.3rem;flex-shrink:0}.order-receipt{background:var(--lab-paper);border:1px solid var(--lab-accent);border-radius:var(--lab-radius);padding:1rem;margin-top:1rem}.order-receipt h3{margin:.5rem 0}.reset-button{margin-top:1.2rem}.empty-state{padding:1rem;background:var(--lab-paper);border:1px dashed var(--lab-line);color:var(--lab-muted)}.audit-panel{margin-top:var(--lab-gap)}.audit-list{padding:0;list-style:none;display:grid;gap:.6rem}.audit-list li{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;border-top:1px solid var(--lab-line);padding-top:.7rem;font-size:.85rem}.audit-list code{font-size:.8rem}.audit-list time{color:var(--lab-muted);font-variant-numeric:tabular-nums}.evidence-section{padding:3rem 0 1rem}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lab-gap)}.evidence-number{font:600 .8rem/1 var(--lab-font);color:var(--lab-accent)}.evidence-grid h3{font-size:1.2rem}.evidence-grid p{font-size:.9rem}.boundary-note{font-size:.85rem;color:var(--lab-muted);max-width:none;margin-top:1.5rem}.tutorial-content{max-width:900px;margin:0 auto}.tutorial-content section{margin:2rem 0;padding:1.5rem;border:1px solid var(--lab-line);border-radius:var(--lab-radius);background:var(--lab-surface)}.tutorial-content h2{font-size:1.75rem}.tutorial-content h3{font-size:1.1rem}.tutorial-content pre{overflow:auto;padding:1rem;background:var(--lab-paper);border:1px solid var(--lab-line);border-radius:var(--lab-radius);font-size:.82rem}.tutorial-content code{overflow-wrap:anywhere}.tutorial-content table{border-collapse:collapse;width:100%;font-size:.86rem}.tutorial-content td,.tutorial-content th{text-align:left;border-bottom:1px solid var(--lab-line);padding:.7rem;vertical-align:top}.tutorial-content svg{width:100%;height:auto;color:var(--lab-ink)}@media(max-width:1050px){.portal-workspace{grid-template-columns:minmax(0,1fr)}.quote-panel{max-width:none}.evidence-grid{grid-template-columns:1fr}.workflow-bar{align-items:start;flex-direction:column}.role-control{width:100%;max-width:420px}}@media(max-width:700px){.portal-hero{grid-template-columns:1fr;gap:1rem;padding:2rem 0}.portal-hero h1{font-size:3.3rem}.hero-contract{padding:1rem}.workflow-bar ol{gap:.5rem}.workflow-bar li{font-size:.75rem}.workflow-bar li span{width:1.7rem;height:1.7rem}.section-heading{align-items:start;flex-direction:column}.section-heading>label{width:100%}.audit-list li{grid-template-columns:1fr auto}.audit-list time{grid-column:1/-1}.tutorial-content section{padding:1rem}.tutorial-content table{font-size:.78rem}}

/* Route-owned lesson navigation and readable recording preparation. */
.scene-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.scene-nav a{font-size:.85rem;padding:.55rem .8rem;border:1px solid var(--lab-control-line);border-radius:var(--lab-radius);background:var(--lab-surface)}.scene-nav a[aria-current]{border:2px solid var(--lab-accent);font-weight:700}.scene-objective{max-width:none}.scene-objective strong{display:block}.recording-entry{margin:1rem 0}.portal-recording-guide{width:min(1120px,calc(100% - 3rem));margin:0 auto;padding:2rem 0}.portal-recording-guide h1{font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.05}.portal-recording-guide h1 em{font-family:Georgia,serif;font-weight:400;color:var(--lab-accent)}.recording-chapter,.recording-boundary{border:1px solid var(--lab-line);border-radius:var(--lab-radius);background:var(--lab-surface);padding:1.5rem;margin:2rem 0}.recording-chapter h2{font-size:1.9rem}.recording-chapter h3{font-size:1rem;margin-top:1.5rem}.recording-chapter p{max-width:78ch}.recording-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.portal-recording-guide nav li{margin:.65rem 0}.portal-recording-guide a{overflow-wrap:anywhere}#catalog-title,#quote-title,#audit-title,#evidence-title{scroll-margin-top:1.5rem}#portal-recording-tools{margin-top:2rem}@media(max-width:600px){.portal-recording-guide{width:calc(100% - 2rem)}.recording-chapter,.recording-boundary{padding:1rem}.scene-nav{display:grid}.scene-nav a{width:100%}}
.implementation-card pre,.benchmark-card pre,#local-backend-proof pre{white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;font:16px/1.5 Consolas,monospace;background:var(--lab-paper);border:1px solid var(--lab-control-line);border-radius:var(--lab-radius);padding:1rem;max-height:44rem;overflow:auto}.implementation-card .source-hash,.benchmark-card .source-hash{font-size:.8rem;overflow-wrap:anywhere;color:var(--lab-muted)}.implementation-card h3{margin-bottom:.25rem}.benchmark-card table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1rem 0}.benchmark-card th,.benchmark-card td{text-align:left;border-bottom:1px solid var(--lab-line);padding:.7rem .5rem}.benchmark-card h4{font-size:1rem;margin:.9rem 0 .3rem}@media(max-width:600px){.implementation-card pre,.benchmark-card pre,#local-backend-proof pre{font-size:14px;padding:.7rem}.benchmark-card th,.benchmark-card td{font-size:.8rem;padding:.5rem .3rem}}

.recording-chapter{min-width:0}.recording-chapter p{overflow-wrap:anywhere}

#retry-contract-result{overflow-wrap:anywhere;background:var(--lab-paper);border:1px solid var(--lab-control-line);padding:1rem}#retry-contract-result table{width:100%;border-collapse:collapse}#retry-contract-result th,#retry-contract-result td{text-align:left;border-bottom:1px solid var(--lab-line);padding:.5rem;font-size:.95rem}#retry-contract-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.5 Consolas,monospace;max-height:30rem;overflow:auto}#retry-contract-check [hidden]{display:none}@media(max-width:600px){#retry-contract-result{padding:.7rem}#retry-contract-result pre{font-size:14px}#retry-contract-result th,#retry-contract-result td{padding:.5rem .3rem;font-size:.85rem}}
