@font-face{font-family:__Playfair_Display_86bf0d;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/a4f49d278a78d11a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Playfair_Display_86bf0d;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/0c8c2cc6cb2a1e84-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Playfair_Display_86bf0d;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/975646e0361b97e6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Playfair_Display_86bf0d;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/2709857960ef4384-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Playfair_Display_86bf0d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c10e65354f31a966-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Playfair_Display_86bf0d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/18db5f711778bd55-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Playfair_Display_86bf0d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/02b79f0bd347001b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Playfair_Display_86bf0d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5c1dcbfbff27328a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Playfair_Display_Fallback_86bf0d;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_86bf0d{font-family:__Playfair_Display_86bf0d,__Playfair_Display_Fallback_86bf0d;font-weight:400}.__variable_86bf0d{--font-playfair:"__Playfair_Display_86bf0d","__Playfair_Display_Fallback_86bf0d"}@font-face{font-family:__Barlow_280b39;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/60725fd621283160-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Barlow_280b39;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/d1fc2dec6b9db1dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Barlow_280b39;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/1ba0a863e6af8aeb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Barlow_280b39;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/88e4012f2051f8b4-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Barlow_280b39;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0be08cad6fae8421-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Barlow_280b39;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/61d96c4884191721-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Barlow_280b39;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/cd5242d34e82716d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Barlow_280b39;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6662f7f4c6f2f062-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Barlow_280b39;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b0bb26939bb40fdb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Barlow_Fallback_280b39;src:local("Arial");ascent-override:103.43%;descent-override:20.69%;line-gap-override:0.00%;size-adjust:96.68%}.__className_280b39{font-family:__Barlow_280b39,__Barlow_Fallback_280b39;font-style:normal}.__variable_280b39{--font-barlow:"__Barlow_280b39","__Barlow_Fallback_280b39"}@font-face{font-family:__Space_Mono_55a229;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/77fb5eec12c66d49-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Mono_55a229;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/281dae1e814de8c6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Mono_55a229;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/806de4d605d3ad01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Mono_Fallback_55a229;src:local("Arial");ascent-override:81.58%;descent-override:26.30%;line-gap-override:0.00%;size-adjust:137.28%}.__className_55a229{font-family:__Space_Mono_55a229,__Space_Mono_Fallback_55a229;font-weight:700;font-style:normal}.__variable_55a229{--font-space-mono:"__Space_Mono_55a229","__Space_Mono_Fallback_55a229"}.portal-body{background:#fffcf9;color:#121212;font-family:var(--font-barlow),"Barlow",sans-serif;font-size:15px;line-height:1.6;min-height:100vh}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:56px;border-bottom:1.5px solid #121212;background:#fffcf9;position:sticky;top:0;z-index:10}.portal-header-left{display:flex;align-items:center;gap:20px}.portal-logo{display:block;line-height:0}.portal-logo img{display:block;height:24px;width:auto}.portal-header-label{font-family:var(--font-space-mono),"Space Mono",monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#757877}.portal-header-label-programme{display:inline}.portal-header-right{display:flex;align-items:center;gap:20px}.portal-user-email{font-size:13px;font-weight:400;color:#999}.portal-signout{font-family:var(--font-barlow),"Barlow",sans-serif;font-size:13px;font-weight:500;color:#757877;background:none;border:1px solid #d0d0ce;border-radius:4px;cursor:pointer;padding:5px 14px;transition:all .15s ease}.portal-signout:hover{color:#121212;border-color:#121212}.portal-spotlight{background:#fcff4c;border-bottom:1.5px solid #121212;padding:24px 32px}.portal-spotlight-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.portal-spotlight-text{flex:1 1 auto;min-width:0}.portal-spotlight-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#121212;margin-bottom:4px}.portal-spotlight-title{font-family:var(--font-playfair),"Playfair Display",Georgia,serif;font-size:24px;font-weight:400;line-height:1.2;color:#121212;letter-spacing:-.01em}.portal-spotlight-btn{display:inline-block;flex:0 0 auto;background:#121212;color:#fcff4c;border:1.5px solid #121212;padding:12px 24px;font-family:inherit;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease}.portal-spotlight-btn:hover:not(:disabled){background:#fff;color:#121212}.portal-spotlight-btn:disabled{opacity:.6;cursor:default}.portal-main{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 56px)}.portal-sidebar{padding:40px 32px;border-right:1px solid #e8e8e6;background:#faf9f6;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto}.portal-welcome-card{margin-bottom:32px}.portal-title{font-family:var(--font-playfair),"Playfair Display",Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;letter-spacing:-.01em;margin-bottom:6px}.portal-subtitle{font-size:14px;font-weight:300;color:#757877;margin-bottom:0;line-height:1.6}.portal-progress-ring-container{display:flex;justify-content:center;padding:24px 0 8px}.portal-progress-ring{width:120px;height:120px}.portal-progress-ring-bg{stroke:#e8e8e6}.portal-progress-ring-fill{stroke:#83ffb1;transition:stroke-dashoffset .6s ease}.portal-progress-ring-value{font-family:var(--font-space-mono),"Space Mono",monospace;font-size:28px;font-weight:700;fill:#121212}.portal-progress-ring-label{font-family:var(--font-barlow),"Barlow",sans-serif;font-size:12px;fill:#999}.portal-stats{display:flex;flex-direction:column;gap:12px}.portal-stat{display:flex;align-items:baseline;gap:10px;padding:14px 16px;border-radius:6px;border:1px solid #e8e8e6;background:#fffcf9}.portal-stat--green{border-left:3px solid #83ffb1}.portal-stat--lilac{border-left:3px solid #bcc2ff}.portal-stat-value{font-family:var(--font-space-mono),"Space Mono",monospace;font-size:18px;font-weight:700;color:#121212}.portal-stat-label{font-size:13px;font-weight:300;color:#757877}.portal-credential-card{margin-top:20px;padding:18px 16px 16px;border-radius:6px;display:flex;flex-direction:column;position:relative}.portal-credential-card--locked{border:1px dashed #d9d58f;background:#fffdf0;color:#757877}.portal-credential-card--unlocked{border:1.5px solid #000;background:#fcff4c;color:#121212}.portal-credential-lock{position:absolute;top:14px;right:14px;color:#b8b48a}.portal-credential-heading{font-family:var(--font-barlow),"Barlow",sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#757877;margin-bottom:6px}.portal-credential-card--unlocked .portal-credential-heading{color:#121212}.portal-credential-subtext{font-family:var(--font-space-mono),"Space Mono",monospace;font-size:14px;font-weight:400;color:#8a876a}.portal-credential-btn{display:block;text-align:center;font-family:var(--font-barlow),"Barlow",sans-serif;font-size:13px;font-weight:700;padding:10px;border-radius:4px;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.portal-credential-btn--primary{background:#121212;color:#fcff4c;border:1.5px solid #121212;margin-top:8px}.portal-credential-btn--primary:hover{background:#000}.portal-credential-btn--secondary{background:transparent;color:#121212;border:1.5px solid #121212;margin-top:8px;font-family:var(--font-barlow),"Barlow",sans-serif}.portal-credential-btn--secondary:hover{background:#121212;color:#fcff4c}.portal-content{padding:40px 48px 64px;max-width:800px}.portal-timeline+.portal-timeline{margin-top:56px}.portal-timeline-heading{font-family:var(--font-space-mono),"Space Mono",monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#757877;margin-bottom:20px}.portal-section-intro{margin:-8px 0 20px}.portal-section-empty,.portal-section-intro{font-family:var(--font-barlow),"Barlow",sans-serif;font-size:13px;color:#757877;line-height:1.5}.portal-section-empty{font-style:italic;padding:12px 0}.portal-lesson{display:flex;align-items:flex-start;gap:20px;padding:20px 0;border-bottom:1px solid #e8e8e6}.portal-lesson:last-child{border-bottom:none}.portal-lesson--locked{padding:14px 0}.portal-lesson-week{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-family:var(--font-space-mono),"Space Mono",monospace;font-size:13px;font-weight:700;border-radius:50%;border:1.5px solid #121212;background:#fffcf9}.portal-lesson-week--complete{background:#83ffb1;border-color:#121212}.portal-lesson-week--active{background:#fcff4c;border-color:#121212}.portal-lesson-week--locked{width:32px;height:32px;font-size:11px;background:#f0f0ee;border-color:#d0d0ce;color:#999}.portal-lesson-content{flex:1;min-width:0}.portal-lesson-title{font-family:var(--font-barlow),"Barlow",sans-serif;font-size:16px;font-weight:500;line-height:1.4;margin-bottom:4px}.portal-lesson-title--locked{color:#999;font-size:14px}.portal-lesson-status{font-family:var(--font-space-mono),"Space Mono",monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;display:inline-block;border-radius:2px}.portal-lesson-status--complete{background:#83ffb1;color:#121212}.portal-lesson-status--sent{background:#bcc2ff;color:#121212}.portal-lesson-status--locked{background:#f0f0ee;color:#999}.portal-lesson-actions{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap}.portal-lesson-link{font-family:var(--font-barlow),"Barlow",sans-serif;font-size:13px;font-weight:500;color:#016cf9;text-decoration:none}.portal-lesson-link:hover{text-decoration:underline}.portal-send-btn{font-family:var(--font-space-mono),"Space Mono",monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#fcff4c;color:#121212;border:1.5px solid #121212;padding:6px 14px;cursor:pointer;border-radius:2px}.portal-send-btn:hover{background:#e5e83b}.portal-send-btn:disabled{opacity:.6;cursor:not-allowed}.portal-send-btn--sent{background:#83ffb1;border-color:#121212;cursor:default}.portal-locked-section{margin-top:12px;padding-top:12px}.portal-locked-toggle{display:flex;align-items:center;gap:10px;padding:10px 0;background:none;border:none;cursor:pointer;font-family:var(--font-barlow),"Barlow",sans-serif}.portal-locked-toggle-text{font-size:14px;font-weight:500;color:#999}.portal-locked-toggle-arrow{font-size:12px;color:#999;transition:transform .2s ease;display:inline-block}.portal-locked-toggle-arrow--open{transform:rotate(180deg)}.portal-locked-toggle:hover .portal-locked-toggle-text{color:#666}.portal-locked-dots{display:flex;gap:8px;padding:8px 0 0;flex-wrap:wrap}.portal-locked-dot{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-family:var(--font-space-mono),"Space Mono",monospace;font-size:10px;font-weight:700;border-radius:50%;background:#f0f0ee;border:1px solid #d0d0ce;color:#bbb}.portal-locked-expanded{padding-top:4px}.portal-error{padding:64px 40px;max-width:440px}.portal-error-title{font-family:var(--font-playfair),"Playfair Display",Georgia,serif;font-size:28px;font-weight:400;margin-bottom:12px}.portal-error-desc{font-size:15px;font-weight:300;color:#757877;line-height:1.7}.portal-reactivate-link{display:inline-block;margin-top:20px;font-family:var(--font-space-mono),"Space Mono",monospace;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#121212;background:#fcff4c;border:1.5px solid #121212;padding:10px 20px;text-decoration:none}.portal-reactivate-link:hover{background:#e5e83b}@media (max-width:768px){.portal-main{grid-template-columns:1fr}.portal-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid #e8e8e6;padding:32px 24px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.portal-welcome-card{margin-bottom:0}.portal-progress-ring-container{padding:16px 0 0}.portal-progress-ring{width:100px;height:100px}.portal-stats{flex-direction:column;gap:10px;justify-content:flex-start}.portal-content{padding:32px 24px 48px}.portal-header{padding:0 20px}.portal-header-label-programme,.portal-user-email{display:none}.portal-lesson{gap:14px}}@media (max-width:480px){.portal-sidebar{grid-template-columns:1fr}}.portal-tabs-nav{display:flex;gap:8px;padding:0 24px;border-bottom:1px solid #e5e5e5;background:#fafafa}.portal-tab{padding:12px 18px;font-size:15px;font-weight:500;color:#555;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s}.portal-tab:hover{color:#121212}.portal-tab--active{color:#121212;border-bottom-color:#fcff4c}.portal-playbook{max-width:900px;margin:0 auto;padding:32px 24px;font-family:Arial,sans-serif;color:#121212}.portal-playbook-header{margin-bottom:36px}.portal-playbook-header-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.portal-playbook-title{font-family:Playfair Display,Georgia,serif;font-size:32px;font-weight:400;margin:0 0 8px}.portal-playbook-intro{margin:0;font-size:16px;color:#444;line-height:1.5}.portal-playbook-download-all{display:inline-block;padding:8px 16px;background:#121212;color:#fffcf9;font-family:var(--font-space-mono),"Space Mono",monospace;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border-radius:4px;transition:opacity .15s ease}.portal-playbook-download-all:hover{opacity:.85}.portal-playbook-content-actions{display:flex;align-items:center;gap:16px;margin-top:12px;flex-wrap:wrap}.portal-playbook-content-actions .portal-playbook-content{margin-top:0;flex:1;min-width:0}.portal-playbook-download-link{font-size:13px;color:#06c;text-decoration:none;white-space:nowrap;padding:4px 0}.portal-playbook-download-link:hover{text-decoration:underline}.portal-playbook-section{margin-bottom:48px}.portal-playbook-section-heading{font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:400;margin:0 0 8px;color:#121212}.portal-playbook-section-intro{margin:0 0 16px;font-size:14px;color:#555;line-height:1.5}.portal-playbook-empty{padding:16px;background:#f5f5f5;border-radius:6px;font-size:14px;color:#555}.portal-playbook-list{list-style:none;padding:0;margin:0}.portal-playbook-item{padding:16px;border:1px solid #e5e5e5;border-radius:6px;margin-bottom:12px;background:#fff}.portal-playbook-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.portal-playbook-item-title{font-size:16px;font-weight:600;margin:0 0 4px;color:#121212}.portal-playbook-item-title code{font-family:SF Mono,Consolas,monospace;font-size:14px;background:#f5f5f5;padding:2px 6px;border-radius:3px}.portal-playbook-item-desc{font-size:14px;color:#555;line-height:1.5;margin:0}.portal-playbook-item-desc code{font-family:SF Mono,Consolas,monospace;font-size:13px;color:#121212}.portal-playbook-item-meta{font-size:13px;color:#777;margin:4px 0}.portal-playbook-badge{display:inline-block;padding:3px 10px;font-size:12px;font-weight:600;border-radius:12px;white-space:nowrap;flex-shrink:0}.portal-playbook-badge--ok{background:#d4edda;color:#155724}.portal-playbook-badge--warn{background:#fff3cd;color:#856404}.portal-playbook-badge--muted{background:#f1f1f1;color:#666}.portal-playbook-content{margin-top:12px}.portal-playbook-content summary{cursor:pointer;font-size:14px;color:#06c;padding:6px 0;user-select:none}.portal-playbook-content summary:hover{text-decoration:underline}.portal-playbook-content-pre{background:#fafafa;border:1px solid #e5e5e5;border-radius:4px;padding:12px;margin:8px 0 0;overflow-x:auto;font-family:SF Mono,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.portal-playbook-pdf-link{font-size:14px;color:#06c;text-decoration:none;white-space:nowrap;align-self:center}.portal-playbook-pdf-link:hover{text-decoration:underline}.portal-playbook-kit-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-playbook-kit-item{padding:14px 16px;border:1px solid #e5e5e5;border-radius:6px;background:#fff;display:flex;flex-direction:column;gap:6px}.portal-playbook-kit-item-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.portal-playbook-kit-item-filename{font-family:SF Mono,Consolas,monospace;font-size:13px;background:#f5f5f5;padding:2px 6px;border-radius:3px;color:#121212}.portal-playbook-kit-item-title{font-size:15px;font-weight:600;color:#121212}.portal-playbook-kit-item-desc{font-size:13px;color:#555;line-height:1.45;margin:0}.portal-playbook-lesson-list{list-style:none;padding:0;margin:0;border-top:1px solid #e8e8e6}.portal-playbook-lesson-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 4px;border-bottom:1px solid #e8e8e6;flex-wrap:wrap}.portal-playbook-lesson-head{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.portal-playbook-lesson-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fcff4c;color:#121212;font-family:SF Mono,Consolas,monospace;font-size:13px;font-weight:700;flex-shrink:0}.portal-playbook-lesson-body{flex:1;min-width:0}.portal-playbook-lesson-title{font-size:15px;font-weight:600;color:#121212;line-height:1.35}.portal-playbook-lesson-skill{font-size:13px;color:#666;line-height:1.45;margin-top:2px}.portal-playbook-lesson-artefacts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-playbook-artefact{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid #d0d0ce;border-radius:4px;background:#fafafa;font-family:SF Mono,Consolas,monospace;font-size:12px;color:#121212;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.portal-playbook-artefact:hover{background:#fcff4c;border-color:#121212}@media (max-width:640px){.portal-playbook-kit-list{grid-template-columns:1fr}.portal-playbook-lesson-row{align-items:flex-start;gap:12px}.portal-playbook-lesson-artefacts{padding-left:42px}}.portal-footer{padding:24px 40px;border-top:1px solid #e8e8e6;font-family:var(--font-barlow),"Barlow",sans-serif;font-size:11px;line-height:1.7;color:#757877;text-align:center;background:#fffcf9}.portal-footer-link{color:#757877;text-decoration:none;transition:color .15s ease}.portal-footer-link:hover{color:#121212;text-decoration:underline}.portal-footer-sep{margin:0 6px;color:#b0b0ae}.portal-footer-legal{color:#757877}@media (max-width:640px){.portal-footer{padding:20px;font-size:10px}}.portal-lesson-locked-hint{font-size:12px;color:#888;margin-top:4px;line-height:1.4}.portal-lesson-error{font-size:12px;color:#b04040;background:#fdf0f0;border:1px solid #f4c8c8;border-radius:4px;padding:6px 10px;margin-top:8px;line-height:1.4;max-width:320px}.portal-tier-ladder{display:flex;flex-direction:column;gap:6px;margin:16px 0}.portal-tier-rung{padding:10px 14px;border:1px solid #e5e5e5;border-radius:6px;background:#fafafa;font-family:SF Mono,Consolas,monospace;transition:border-color .12s,background .12s}.portal-tier-rung--current{background:#fcff4c;border-color:#000}.portal-tier-rung-name{font-size:14px;font-weight:600;color:#121212}.portal-tier-rung-range{font-size:11px;color:#555;margin-top:2px}.portal-tier-rung--current .portal-tier-rung-range{color:#333}