:root{color-scheme:light;--paper:#fffaf4;--cream:#f4eee7;--cabernet:#0e3359;--deep:#0a2444;--cherry:#a4552f;--gold:#e3a470;--ink:#2b2928;--muted:#6d625d;--line:#e0d6cb;--sans:"Avenir Next",Avenir,Aptos,"Segoe UI",Arial,sans-serif;--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:18px}
*{box-sizing:border-box}body{margin:0;background:#ebe7e1;color:var(--ink);font:1rem/1.75 var(--sans)}a{color:var(--cabernet);text-underline-offset:4px;overflow-wrap:anywhere}a:hover{color:var(--cherry)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--cherry);outline-offset:5px}button,summary{font:inherit}img{max-width:100%;height:auto}p{margin:0 0 1.4rem}li{margin:.65rem 0}ul,ol{padding-left:1.6rem;margin:1.25rem 0 1.8rem}h1,h2,h3{font-family:var(--serif);font-weight:650;line-height:1.2;color:var(--cabernet)}h1{font-size:clamp(2.25rem,4.5vw,3.5rem);letter-spacing:-.035em;margin:0 0 1.5rem}h2{font-size:2rem;margin:0 0 1.5rem}h3{font-size:1.5rem;margin:0 0 1.1rem}h4{font-size:1.1rem;margin:2rem 0 1rem}.site{max-width:1440px;margin:auto;background:var(--paper);box-shadow:0 14px 70px #0a244415}.skip-link{position:absolute;left:16px;top:8px;transform:translateY(-200%);padding:12px 18px;background:white;z-index:10}.skip-link:focus{transform:none}
.masthead{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 38px;border-top:8px solid var(--cherry)}.brand{display:flex;align-items:center;gap:26px;text-decoration:none}.brand img{width:165px}.brand>span{border-left:1px solid var(--line);padding-left:26px;font-size:.88rem;line-height:1.5}.brand strong{font-weight:550}.course-home{font-size:.9rem;max-width:260px;white-space:normal;text-align:right}.preview-label{font-size:.72rem;color:var(--muted);padding:3px 6px;margin-left:6px;border:1px solid var(--line);border-radius:4px}
.course-nav{display:flex;gap:8px;flex-wrap:wrap;background:var(--deep);padding:12px 30px}.course-nav a{color:#eadfd7;text-decoration:none;padding:10px 16px;border-radius:4px;font-size:.95rem;font-weight:600}.course-nav a[aria-current]{background:var(--gold);color:var(--deep)}.course-nav a:hover{background:#ffffff15;color:white}.course-nav a[aria-current]:hover{background:#efbd92;color:var(--deep)}.course-nav a:focus-visible{outline-color:var(--gold)}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:start}.sidebar{position:sticky;top:20px;padding:30px 18px 36px;max-height:calc(100vh - 40px);overflow-y:auto}.menu>summary{display:none}.menu-label{color:var(--cabernet);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:4px 12px 18px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav a{font-size:.95rem;line-height:1.5;display:block;padding:12px 13px;border-left:4px solid transparent;text-decoration:none;border-radius:0 5px 5px 0}.sidebar nav a[aria-current]{background:#e9e1d6;border-left-color:var(--cherry);font-weight:750;color:var(--deep)}.sidebar nav a:hover{background:var(--cream)}.menu-note{border-top:1px solid var(--line);margin:28px 12px 0;padding-top:24px;font-size:.83rem;color:var(--muted)}.menu-note p{margin:8px 0 18px}.menu-note a{font-size:.83rem}
main{min-width:0;border-left:1px solid var(--line)}main:focus{outline:none}.hero{padding:62px 6% 64px;background:var(--deep);color:#fffaf4;position:relative;overflow:hidden}.hero h1{color:#fffaf4;max-width:850px}.eyebrow{font-family:var(--sans);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;line-height:1.5;color:var(--cabernet);margin:0 0 20px}.hero .eyebrow{color:var(--gold)}.subtitle{font-size:1.18rem;line-height:1.65;color:#eadfd7;max-width:720px;margin:0}.session-meta{display:flex;gap:2px;flex-wrap:wrap;margin:36px 0 0}.session-meta>div{flex:1 1 170px;background:#ffffff12;padding:17px 20px}.session-meta dt{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#eadfd7}.session-meta dd{font-size:.95rem;line-height:1.5;margin:6px 0 0}.session-meta>div:first-child{background:var(--gold);color:var(--deep)}.session-meta>div:first-child dt{color:var(--deep)}
.reading{padding:54px 6% 68px}.reading> :first-child{margin-top:0}.lead{font-size:1.3rem;line-height:1.65;color:var(--deep);max-width:760px;margin-bottom:30px}.lesson-section{margin:72px 0 0}.lesson-section+ .lesson-section{border-top:1px solid var(--line);padding-top:62px}.lesson-section>h3{margin-top:56px}.lesson-section> :last-child{margin-bottom:0}.reading> .lesson-section:first-child{margin-top:0}.content-block{padding:32px 34px;margin:38px 0;background:#fff;border:1px solid var(--line);border-top:5px solid var(--cabernet)}.content-block> :last-child{margin-bottom:0}.content-block--try-it,.content-block--promise{background:#fbefe2;border-color:#e6c3a0;border-top-color:var(--gold)}.content-block--warning{background:#fff7df;border-top-color:#8a4a2a}.content-block--artifact{color:#fffaf4;background:var(--deep);border-left:6px solid var(--gold);border-top:0}.content-block--artifact h3{color:var(--gold)}.content-block--human-checkpoint,.content-block--three-d{background:#f3f6f8;border-top-color:var(--gold)}.content-block--resources{background:var(--cream);border-top-color:var(--cherry)}.content-block--prompt{background:#fbf7f3;border-top-color:var(--gold)}.content-block--tool-card{box-shadow:0 8px 22px #0a244408}.content-block--tool-card li{margin-bottom:1rem}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:32px 0}.feature-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:5px solid var(--cabernet);padding:30px;text-decoration:none;color:var(--ink)}.feature-card .eyebrow{margin-bottom:15px}.feature-card p{margin-bottom:24px}.feature-card:hover{background:var(--cream);color:var(--ink)}.card-action{margin-top:auto;color:var(--cabernet);font-weight:750}.action-link{display:inline-block;font-weight:750;margin-top:8px}.sample-note{font-size:.95rem;color:var(--muted);padding-left:20px;border-left:3px solid var(--line);margin-top:38px}.page-links{display:flex;justify-content:space-between;gap:28px;border-top:1px solid var(--line);margin-top:64px;padding-top:32px}.page-links>a{max-width:48%;font-weight:650;text-decoration:none}.page-links span{display:block;color:var(--muted);font-size:.82rem;font-weight:500;margin-bottom:6px}.page-links>a:last-child{text-align:right}figure{margin:42px 0}figure img{display:block;width:100%;border:1px solid var(--line);border-radius:5px}figcaption{font-size:.92rem;color:var(--muted);margin-top:14px}
.code-block{position:relative;margin:28px 0 0}.code-block pre{font: .95rem/1.8 Consolas,"Cascadia Mono",monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden;background:#0c1b2e;color:#fff7f0;border-left:6px solid var(--gold);border-radius:5px;padding:70px 28px 30px;margin:0}.code-block code{font:inherit;color:inherit;background:none;white-space:inherit}.copy-code{position:absolute;top:14px;right:14px;background:#fffaf4;color:var(--deep);padding:7px 14px;border:0;border-radius:4px;font-size:.9rem;cursor:pointer;min-height:40px;font-weight:700}.copy-code:focus-visible{outline-color:var(--gold)}.copy-status{display:block;margin:12px 0 0;color:var(--muted);font-size:.86rem}.copy-status:empty{display:none}.footer{padding:38px 6%;background:var(--deep);color:#eadfd7}.footer>strong{color:var(--gold);letter-spacing:.08em}.footer p{font-size:.9rem;margin:8px 0 20px}.footer>span{font:1.15rem/1.5 var(--serif)}section[id],h3[id]{scroll-margin-top:28px}
@media(max-width:1000px){.masthead{padding:24px}.brand>span{display:none}.layout{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding-inline:12px}.card-grid{grid-template-columns:1fr}.hero{padding:48px 6%}.content-block{padding:28px}.course-nav{padding:10px 16px;gap:0}.course-nav a{padding:10px 12px}.reading{padding-top:42px}}
@media(max-width:760px){.layout{display:block}.sidebar{position:static;max-height:none;padding:16px 20px;border-bottom:1px solid var(--line)}.menu>summary{display:list-item;cursor:pointer;color:var(--cabernet);font-weight:750;padding:10px 0}.menu-body{padding:18px 0 12px}.menu-note{display:none}.menu-label{display:none}main{border-left:0}.masthead{gap:14px;padding:20px}.brand img{width:140px}.course-home{font-size:.85rem}.preview-label{display:none}.course-nav a{font-size:.85rem;padding:10px}.hero{padding:42px 24px 46px}h1{font-size:2.25rem}h2{font-size:1.8rem}h3{font-size:1.4rem}.subtitle{font-size:1.12rem}.reading{padding:38px 24px 48px}.content-block{padding:26px 22px;margin:32px 0}.lesson-section{margin-top:54px}.lesson-section+ .lesson-section{padding-top:46px}.feature-card{padding:26px}.card-grid{gap:24px}.code-block pre{font-size:.95rem;padding:70px 20px 26px}.page-links{gap:18px;margin-top:48px;padding-top:28px}.page-links a{font-size:.95rem}.footer{padding:30px 24px}}
@media print{body{background:white}.site{box-shadow:none;max-width:none}.masthead,.course-nav,.sidebar,.page-links,.copy-code,.skip-link{display:none}.layout{display:block}main{border:0}.hero,.footer,.code-block pre,.content-block--artifact{background:white;color:#222}.hero h1,.hero .eyebrow,.subtitle,.content-block--artifact h3{color:#222}.hero,.reading{padding:20px 0}.card-grid{display:block}.feature-card{margin:20px 0}.copy-status{display:none}}

.session-nav{padding:24px 6%;background:var(--cream);border-bottom:1px solid var(--line)}.session-nav>p{margin:0 0 12px;color:var(--cabernet);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.session-nav-links{display:flex;flex-wrap:wrap;gap:10px}.session-nav a{display:block;padding:9px 16px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font-size:1rem;line-height:1.5;text-decoration:none}.session-nav a:hover{background:#e9e1d6}.session-nav a[aria-current="page"]{background:var(--gold);color:var(--deep);border-color:var(--gold);font-weight:750;box-shadow:inset 0 -3px 0 var(--cabernet)}
@media(max-width:760px){.session-nav{padding:22px 24px}.session-nav a{padding:9px 13px}}
@media print{.session-nav{display:none}}

/* Decorative O matches the Brightspace hero; it never covers text or captures clicks. */
.hero{isolation:isolate}.hero::after{content:"";position:absolute;right:-150px;top:-205px;width:480px;height:480px;box-sizing:content-box;border:74px solid rgba(227,164,112,.18);border-radius:50%;pointer-events:none;z-index:0}.hero>*{position:relative;z-index:1}
@media(max-width:760px){.hero::after{right:-260px;top:-175px}}
@media print{.hero::after{display:none}}

.preview-notice{padding:12px 38px;background:#fbefe2;border-block:1px solid var(--gold);font-weight:650}.schedule-item{margin:30px 0;padding:28px 30px;background:#fff;border:1px solid var(--line);border-top:5px solid var(--cabernet)}.schedule-item ul{margin-bottom:0}.content-block--artifact h2,.content-block--artifact strong{color:var(--gold)}.session-meta dt{text-transform:uppercase}
@media(max-width:760px){.preview-notice{padding:12px 24px}}
@media print{.preview-notice{display:none}}

/* Course pages remain visible; sessions and studios share one native disclosure. */
.sessions-group>summary{display:list-item;cursor:pointer;padding:12px 13px;border-left:4px solid transparent;border-radius:0 5px 5px 0;color:var(--cabernet);font-size:.95rem;line-height:1.5;font-weight:650;min-height:48px}.sessions-group>summary:hover{background:var(--cream)}.sessions-group[data-current]>summary{border-left-color:var(--cherry);background:#e9e1d6;color:var(--deep);font-weight:750}.sessions-links{display:flex;flex-direction:column;gap:4px;margin:10px 0 10px 10px;padding-left:6px;border-left:1px solid var(--line)}.sidebar .sessions-links a{padding:10px 9px;font-size:.9rem}

/* Licence: in the footer, right-hand column on wide screens, stacked below on phones. */
.footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,31rem);column-gap:56px;align-items:start}
.footer>:not(.licence){grid-column:1}
.footer>.licence{grid-column:2;grid-row:1 / span 6;color:#e2d6cf;font-size:.84rem;line-height:1.6}
.footer .licence p{margin:0 0 .65rem;font-size:inherit;line-height:inherit;text-align:left}
.footer .licence p:last-child{margin-bottom:0}
.footer .licence-text p+p{font-size:.76rem;opacity:.8}
.footer .licence a{color:#fffaf4;text-decoration-color:var(--gold);text-underline-offset:3px}
.footer .licence a.licence-badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:3px 12px 3px 3px;border:1.5px solid var(--gold);border-radius:999px;color:var(--gold);font-size:.8rem;font-weight:750;text-decoration:none;line-height:1.3}
.footer .licence a.licence-badge:hover{background:#ffffff14}
.licence-cc{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:var(--deep);font-size:.72rem;font-weight:800;letter-spacing:-.02em}
@media(max-width:760px){.footer{display:block}.footer>.licence{margin-top:24px;padding-top:20px;border-top:1px solid #ffffff26}}
@media print{.footer .licence,.footer .licence a{color:#222}.footer .licence a.licence-badge{color:#222;border-color:#222}.licence-cc{background:#222;color:#fff}}

/* ---- OKAI GO theme overrides (appended to the recoloured Moodle stylesheet) ---- */
:root{--clay:#724c43}
.masthead{border-top-color:var(--clay)}
.brand{gap:20px}.brand img{width:auto;height:44px}
.brand>span{border-left:0;padding-left:0;display:flex;flex-direction:column;line-height:1.25}
.brand .tagline{font-size:.82rem;color:var(--muted)}
/* The decorative O is the logo mark (open ring + arrow), placed so the arrow stays visible. */
.hero::after{border:0;border-radius:0;width:500px;height:500px;right:40px;top:-30px;background:url(okai-go-hero-o.svg) center/contain no-repeat}
@media(max-width:1000px){.brand>span{display:flex}.brand .tagline{display:none}}
@media(max-width:760px){.brand img{width:auto;height:36px}}
@media(max-width:760px){.hero::after{width:300px;height:300px;right:-20px;top:-40px}}
.code-block+p{margin-top:1.6rem}
/* Site navigation in the masthead (Learn, Newsletter). */
.masthead{justify-content:space-between}
.site-nav{display:flex;gap:6px}.site-nav a{padding:8px 14px;border-radius:999px;font-weight:650;text-decoration:none;color:var(--cabernet)}
.site-nav a:hover{background:var(--cream)}
@media(max-width:520px){.masthead{flex-wrap:wrap}.site-nav a{padding:6px 10px}}
/* Lessons that are not built yet: a note inside the header block. */
.hero-status{display:inline-block;margin:28px 0 0;padding:12px 18px;border:2px solid var(--gold);border-radius:8px;background:#ffffff12;color:#fffaf4;font-size:1rem;line-height:1.5;max-width:720px}
.hero-status strong{color:var(--gold)}
