:root{--paper: #FDFDFB;--card: #ffffff;--ink: #262D5C;--ink-brand: #000068;--ink-soft: #4A5175;--pencil: #82879A;--rule-blue: #D9E2F2;--rule-blue-strong: #C0CEE6;--margin: #D85020;--margin-deep: #A93A12;--check: #1E7A4D;--check-soft: #E7F2EC;--danger: #B3261E;--danger-soft: #FDECEB;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--shadow: 0 1px 2px rgba(0, 0, 104, .05), 0 10px 24px -18px rgba(0, 0, 104, .25);--font-display: "Zilla Slab", Georgia, serif;--font-body: "Hanken Grotesk", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--muted: var(--pencil);--line: var(--rule-blue);--line-strong: var(--rule-blue-strong);--color-error: var(--danger);--color-accent: var(--margin-deep);--color-border: var(--rule-blue-strong)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--margin-deep)}.mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:.02em}.brandbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1.25rem,4vw,2.5rem);background:var(--card);border-bottom:1px solid var(--rule-blue)}.brandbar a{display:inline-flex}.brandbar img{height:34px;display:block}.brandbar .ctx{font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--pencil)}.landing{max-width:680px;margin:0 auto;padding:clamp(2.5rem,7vw,5rem) 1.5rem}.landing h1{font-family:var(--font-display);font-weight:600;color:var(--ink-brand);font-size:clamp(2rem,5vw,2.6rem);line-height:1.12;margin:0 0 .6rem}.landing p{color:var(--ink-soft)}.landing ul{padding:0;list-style:none;margin-top:2.25rem}.landing li a{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.05rem;text-decoration:none;color:var(--ink)}.landing li a:hover{color:var(--margin-deep)}.landing li{border-bottom:1px solid var(--rule-blue);padding:.8rem 0}.landing li.primary a{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--ink-brand)}.landing li.primary a:hover{color:var(--margin-deep)}.enrol{max-width:1120px;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) clamp(1.25rem,4vw,2.5rem) 4rem;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}@media(max-width:880px){.enrol{grid-template-columns:minmax(0,1fr)}}.prospectus,.card{min-width:0}.eyebrow{font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--margin-deep);margin:0 0 1rem}.prospectus h1{font-family:var(--font-display);font-weight:600;color:var(--ink-brand);font-size:clamp(2.4rem,5.5vw,3.4rem);line-height:1.05;letter-spacing:-.01em;margin:0 0 1rem;overflow-wrap:break-word}.prospectus .lede{font-size:1.18rem;color:var(--ink-soft);max-width:34ch;margin:0 0 2.5rem}.facts{border-top:1px solid var(--rule-blue-strong);margin:0}.facts>div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--rule-blue)}.facts dt{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--pencil);padding-top:.2rem}.facts dd{margin:0;font-weight:500}.priceline{display:flex;align-items:baseline;gap:.6rem;margin-top:2.25rem}.priceline .amt{font-family:var(--font-display);font-weight:600;font-size:2.1rem;color:var(--ink-brand)}.priceline .gst{color:var(--pencil);font-size:.95rem}.card{position:relative;background:var(--card);border:1px solid var(--rule-blue-strong);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:clamp(1.5rem,3.5vw,2.25rem);overflow:hidden}@media(min-width:881px){.card{position:sticky;top:2rem}}.seats{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;color:var(--check);background:var(--check-soft);border-radius:999px;padding:.3rem .7rem;margin-bottom:1.1rem}.seats .dot{width:7px;height:7px;border-radius:50%;background:var(--check)}.card h2{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin:0 0 .35rem;color:var(--ink-brand)}.card .sub{color:var(--pencil);font-size:.95rem;margin:0 0 1.5rem}.steps{display:flex;gap:.5rem;margin-bottom:1.75rem;list-style:none;padding:0}.steps li{flex:1;display:flex;flex-direction:column;gap:.4rem;font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--pencil)}.steps li .bar{height:3px;border-radius:2px;background:var(--rule-blue-strong)}.steps li.done .bar{background:var(--check)}.steps li.active .bar{background:var(--margin)}.steps li.active{color:var(--ink)}.steps li.done{color:var(--check)}label.field{display:block;margin-bottom:1rem}label.field .lbl{display:block;font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-bottom:.35rem}.input{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule-blue-strong);border-radius:var(--r-sm);padding:.7rem .8rem;transition:border-color .15s,box-shadow .15s}.input:focus-visible{outline:none;border-color:var(--margin);box-shadow:0 0 0 3px #d8502038}.row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.consent{display:flex;gap:.65rem;align-items:flex-start;background:none;border:0;border-top:1px solid var(--rule-blue-strong);border-bottom:2px solid var(--ink-soft);border-radius:0;padding:.9rem .25rem;margin:.25rem 0 1.25rem;font-size:.9rem;color:var(--ink-soft);line-height:1.45}.consent input{margin-top:.2rem;width:1.05rem;height:1.05rem;accent-color:var(--ink-brand);flex:none}.sign-line{display:inline-block;min-width:12ch;border-bottom:1.5px solid var(--ink-soft);font-family:var(--font-display);font-size:1.1rem;padding:0 .35rem .1rem}.btn{width:100%;font:inherit;font-weight:600;font-size:1.02rem;color:#fff;background:var(--ink-brand);border:0;border-radius:var(--r-sm);padding:.85rem 1rem;cursor:pointer;transition:transform .08s,background .15s}.btn:hover{background:var(--ink)}.btn:active{transform:translateY(1px)}.btn.pay{background:var(--margin-deep)}.btn.pay:hover{background:#8f300e}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:3px solid rgba(216,80,32,.45);outline-offset:2px}.btn.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn.btn-danger:hover{background:#f9dbd8}.btn-ghost{background:none;border:0;color:var(--margin-deep);font:inherit;font-weight:600;font-size:.88rem;cursor:pointer;padding:0;margin-top:.9rem}.btn-ghost:focus-visible{outline:3px solid rgba(216,80,32,.45);outline-offset:2px}.btn-google{width:100%;font:inherit;font-weight:600;font-size:1.02rem;color:var(--ink);background:#fff;border:1px solid var(--rule-blue-strong);border-radius:var(--r-sm);padding:.8rem 1rem;cursor:pointer;transition:background .15s,box-shadow .15s}.btn-google:hover{background:#f7f8fa;box-shadow:0 1px 3px #262d5c26}.btn-google:disabled{opacity:.55;cursor:not-allowed}.btn-google:focus-visible{outline:3px solid rgba(216,80,32,.45);outline-offset:2px}.oauth-or{display:flex;align-items:center;text-align:center;color:var(--pencil);font-size:.82rem;margin:.9rem 0 .6rem}.oauth-or:before,.oauth-or:after{content:"";flex:1;height:1px;background:var(--rule-blue)}.oauth-or span{padding:0 .7rem}.muted{color:var(--pencil);font-size:.85rem}.center{text-align:center}.mt{margin-top:1rem}.alert{border-radius:var(--r-sm);padding:.7rem .85rem;margin-bottom:1rem;font-size:.9rem;border:1px solid}.alert.err{color:var(--danger);background:var(--danger-soft);border-color:#f3c9c6}.who{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--pencil);margin-bottom:1.25rem}.who b{color:var(--ink);font-weight:600}.done{text-align:center;padding:1rem 0}.done .check{width:56px;height:56px;border-radius:50%;margin:0 auto 1.1rem;background:var(--check-soft);color:var(--check);display:grid;place-items:center;font-size:1.7rem;animation:tick-pop .3s ease-out both}.done h2{margin:0 0 .4rem}.receipt{text-align:left;background:var(--paper);border:1px solid var(--rule-blue);border-radius:var(--r-md);padding:1rem 1.1rem;margin-top:1.5rem}.receipt div{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.92rem}.receipt div span:first-child{color:var(--pencil)}.receipt div.total{border-top:1px solid var(--rule-blue);margin-top:.4rem;padding-top:.6rem;font-weight:600}.tick{animation:tick-pop .3s ease-out both;color:var(--check)}@keyframes tick-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.tag{display:inline-block;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--margin-deep);background:#d850201a;padding:.2rem .55rem;border-radius:999px}.entry{padding:.9rem 0;border-bottom:1px solid var(--rule-blue)}.entry .entry-date{display:block;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--pencil);margin-bottom:.25rem}.entry h3,.entry h4{margin:0 0 .25rem;font-family:var(--font-display);font-weight:600}.entry p{margin:.25rem 0 0;color:var(--ink-soft);font-size:.95rem}.badge-card .badge-band{background:var(--margin);color:#fff;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-align:center;padding:.55rem 1rem;margin:calc(-1*clamp(1.5rem,3.5vw,2.25rem)) calc(-1*clamp(1.5rem,3.5vw,2.25rem)) 1.4rem}.runsheet{width:100%;border-collapse:collapse;font-size:.92rem}.runsheet th{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--pencil);text-align:left;padding:.5rem .6rem;border-bottom:2px solid var(--rule-blue-strong)}.runsheet td{padding:.55rem .6rem;border-bottom:1px solid var(--rule-blue);vertical-align:top}.runsheet .num{font-family:var(--font-mono);font-size:.8rem;color:var(--pencil)}.ruled{position:relative;padding-left:1.6rem;min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px)}.ruled:before{content:"";position:absolute;top:0;bottom:0;left:.6rem;width:2px;background:var(--margin);transform-origin:top;animation:rule-draw .45s ease-out both}@media(min-width:981px){.ruled{padding-left:5.5rem}.ruled:before{left:4.5rem}}@keyframes rule-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.margin-note{display:block;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--pencil);margin-bottom:.3rem}@media(min-width:981px){.noted{position:relative}.card.noted{overflow:visible}.noted>.margin-note{position:absolute;top:.35em;right:calc(100% + 1.9rem);width:8rem;text-align:right;margin-bottom:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.markdown{font-size:.95rem;color:var(--ink-soft);overflow-x:auto}.markdown h1,.markdown h2,.markdown h3,.markdown h4{font-family:var(--font-display);color:var(--ink);line-height:1.2;margin:1rem 0 .4rem}.markdown h1{font-size:1.3rem}.markdown h2{font-size:1.12rem}.markdown h3{font-size:1rem}.markdown h4{font-size:.92rem}.markdown p,.markdown li{line-height:1.55}.markdown ul,.markdown ol{padding-left:1.2rem}.markdown code{font-family:var(--font-mono);background:var(--paper);border:1px solid var(--rule-blue);border-radius:4px;padding:.05rem .3rem;font-size:.88em}.markdown pre{background:var(--paper);border:1px solid var(--rule-blue);border-radius:var(--r-sm);padding:.8rem;overflow-x:auto}.markdown table{border-collapse:collapse;width:100%;font-size:.88rem;margin:.6rem 0}.markdown th,.markdown td{border:1px solid var(--rule-blue);padding:.4rem .6rem;text-align:left}.markdown th{background:var(--paper)}.markdown blockquote{border-left:3px solid var(--margin);margin:.6rem 0;padding-left:.8rem;color:var(--pencil)}.markdown a{color:var(--margin-deep)}.markdown .ws-check{width:1.05rem;height:1.05rem;accent-color:var(--ink-brand);vertical-align:middle}.markdown textarea.input{display:block;width:100%;margin:.3rem 0;font-size:.92rem;resize:vertical}.markdown input.ws-cell{font-size:.9rem;padding:.3rem .5rem;min-width:7rem;width:100%}.materials{margin-top:1rem;border-top:1px solid var(--line);padding-top:1rem;display:flex;flex-direction:column;gap:.75rem}.sm{font-size:.85rem}.mat{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);padding:.9rem 1.1rem}.mat.editing{border-color:var(--color-accent);box-shadow:0 0 0 3px #a93a1214}.mat-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.mat-title{font-weight:600;color:var(--ink-brand);flex:1 1 auto;min-width:0}.mat-actions{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto}.mat-body{margin-top:.6rem}.mat-link{color:var(--color-accent);word-break:break-all;font-size:.9rem}.md{color:var(--ink);line-height:1.6}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3{font-family:var(--font-display);color:var(--ink-brand);margin:.8rem 0 .4rem}.md ul,.md ol{padding-left:1.3rem}.md code{font-family:var(--font-mono);font-size:.9em;background:var(--check-soft);padding:.05em .35em;border-radius:4px}.md pre{background:#f6f7fb;padding:.8rem;border-radius:var(--r-sm);overflow-x:auto}.md pre code{background:none}.vis-pill{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.03em;padding:.2rem .6rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.vis-student{background:var(--check-soft);color:var(--check);border-color:#1e7a4d40}.vis-instructor{background:#fbf0e6;color:var(--margin-deep);border-color:#a93a1240}.vis-toggle{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;flex-wrap:wrap}.vis-label{font-size:.8rem;color:var(--ink-soft);font-weight:600}.vis-toggle .vis-pill{cursor:pointer;opacity:.5;background:transparent;border-color:var(--line);color:var(--ink-soft)}.vis-toggle .vis-pill.on{opacity:1}.vis-toggle .vis-pill.vis-student.on{background:var(--check-soft);color:var(--check);border-color:#1e7a4d73}.vis-toggle .vis-pill.vis-instructor.on{background:#fbf0e6;color:var(--margin-deep);border-color:#a93a1273}.icon-btn{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);border-radius:var(--r-sm);width:26px;height:26px;line-height:1;cursor:pointer;font-size:.7rem}.icon-btn:disabled{opacity:.35;cursor:default}.btn.sm,.btn-ghost.sm,.btn-danger.sm{width:auto;padding:.35rem .9rem;font-size:.85rem}.mat-editrow{display:flex;gap:.5rem}.mat-editrow .input{flex:1 1 auto;min-width:0}.kind-select{flex:0 0 108px!important}.editor{margin-top:.6rem}.editor-tabs{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-bottom:.4rem}.editor-tabs button{border:none;background:var(--card);color:var(--ink-soft);padding:.3rem .95rem;font-size:.8rem;cursor:pointer}.editor-tabs button.on{background:var(--ink-brand);color:#fff}.mono{font-family:var(--font-mono);font-size:.85rem;line-height:1.5}.preview-pane{border:1px solid var(--line);border-radius:var(--r-sm);padding:.9rem 1.1rem;min-height:6rem;background:var(--paper)}.mat-editactions{display:flex;gap:.5rem;margin-top:.75rem}.add-mat{border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:.9rem 1.1rem;background:#00006804}.add-mat-label{margin:0 0 .6rem;font-weight:600;color:var(--ink-soft);font-size:.85rem}.add-mat .mat.editing{border:none;box-shadow:none;padding:0;background:transparent}.chev{border:none;background:none;cursor:pointer;color:var(--ink-soft);font-size:.8rem;padding:0 .15rem;flex:0 0 auto}.mat-title.as-link{border:none;background:none;text-align:left;cursor:pointer;font:inherit;font-weight:600;color:var(--ink-brand);padding:0}.mat-title.as-link:hover{text-decoration:underline}.mat.open{border-color:var(--line-strong)}.lessons-list{grid-column:1 / -1;display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.ws-hint{font-size:.8rem;color:var(--check);background:var(--check-soft);border-radius:var(--r-sm);padding:.4rem .7rem;margin:0 0 .7rem}.editor-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;flex-wrap:wrap}.editor-bar .editor-tabs{margin-bottom:0}.editor-bar .btn-ghost.sm{margin-left:auto}.embed-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--r-sm);overflow:hidden;background:#000}.embed-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.embed-video{width:100%;max-height:70vh;border-radius:var(--r-sm);background:#000}.embed-pdf{display:flex;flex-direction:column;gap:.4rem}.embed-pdf iframe{width:100%;height:70vh;border:1px solid var(--line);border-radius:var(--r-sm)}.ws-textarea{display:block}.ws-ai{display:block;margin-top:.4rem}.ws-ai-btn{font-size:.85rem;padding:.25rem .6rem;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;cursor:pointer}.ws-ai-btn:disabled{opacity:.5;cursor:not-allowed}.ws-feedback{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem;padding:.6rem .75rem;border-left:3px solid var(--brand, #4f46e5);background:#4f46e50f;border-radius:var(--r-sm);font-size:.9rem}.ai-consent-row{display:flex;align-items:center;gap:.5rem;margin-top:.4rem}
