@font-face{font-family:Inter;src:url('assets/fonts/Inter-VariableFont_opsz,wght.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url('assets/fonts/Inter-Italic-VariableFont_opsz,wght.ttf') format('truetype');font-weight:100 900;font-style:italic;font-display:swap}
:root{--gold:#d6a561;--ink:#202521;--muted:#737970;--paper:#f6f6f1;--line:#e1e4db;--green:#315746}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px Inter,Arial,sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #997339;outline-offset:4px}h1,h2,h3{font-family:Inter,Arial,sans-serif;letter-spacing:-.04em}h1{font-size:42px;line-height:1.15;margin:10px 0 18px}h2{font-size:26px;margin:0 0 12px}h3{font-size:19px;margin:0 0 10px}p{line-height:1.75}a{color:var(--green)}button{border:0}.shell{display:grid;grid-template-columns:242px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#fff;padding:34px 22px;position:fixed;inset:0 auto 0 0;width:242px;display:flex;flex-direction:column}.brand{font-size:29px;font-weight:800;letter-spacing:-1.5px;display:flex;align-items:center;gap:10px}.brand span{color:var(--gold);font-size:11px;letter-spacing:2px;border-left:1px solid #676d60;padding-left:12px}.brand-sub{color:#b7bcae;font-size:11px;margin:12px 0 42px;letter-spacing:.4px}.nav{display:grid;gap:7px}.nav button{background:none;color:#b8beb4;text-align:left;padding:14px 15px;border-radius:7px;display:flex;gap:14px;align-items:center}.nav button.active{color:#f2d5aa;background:#383f34}.nav button:hover{background:#333a30;color:#fff}.nav-icon{font-size:19px;width:23px}.side-bottom{margin-top:auto;padding-top:30px}.side-note{font-size:12px;color:#bac2b5;line-height:1.6;border-top:1px solid #444b40;padding-top:18px}.main{grid-column:2;min-width:0}.topbar{height:85px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fbfcf8}.topbar small{color:var(--muted)}.account{display:flex;align-items:center;gap:12px}.avatar{background:#e4e9df;color:var(--green);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:12px;font-weight:700}.role{background:transparent;border:1px solid var(--line);padding:8px;border-radius:6px;max-width:180px}.content{max-width:1400px;margin:auto;padding:37px 42px 50px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:var(--muted)}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.intro p{margin:0;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;border-radius:30px;padding:7px 12px;background:#e9ede4;color:#48613c}.pill.gold{background:#f3e5d0;color:#775b2f}.pill.gray{background:#eceee8;color:#677064}.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;border-radius:12px;display:grid;grid-template-columns:1.4fr 1fr;min-height:265px;margin-bottom:28px}.hero-copy{padding:32px 35px;position:relative;z-index:1}.hero h2{font-size:32px;margin:10px 0}.hero p{color:#bbc4b5;font-size:13px;max-width:440px;line-height:1.65}.hero .eyebrow{color:#d6a561}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#4b513a 0%,#202521 70%)}.orbit{width:185px;height:185px;border:1px solid #b6915255;border-radius:50%;position:relative;box-shadow:0 0 0 35px #b6915210,0 0 0 70px #b6915208}.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid #d6a561;border-radius:50%;inset:30px;transform:rotate(-25deg) scaleX(.5)}.orbit:after{transform:rotate(25deg) scaleX(.5)}.orbit-center{position:absolute;inset:0;display:grid;place-items:center;font-size:65px;color:#edc88e}.orbit-dot{position:absolute;top:12px;right:26px;background:var(--gold);width:10px;height:10px;border-radius:50%;box-shadow:0 0 20px var(--gold)}.btn{background:var(--gold);color:#28291e;border-radius:7px;padding:12px 19px;display:inline-flex;align-items:center;gap:14px;font-weight:700;font-size:13px}.btn:hover{background:#e2b777}.btn.secondary{background:white;border:1px solid var(--line);color:var(--ink)}.btn.dark{background:var(--ink);color:#fff}.btn:disabled{opacity:.5;cursor:default}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0 32px}.stat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px 23px}.stat-label{font-size:12px;color:var(--muted)}.stat-number{font-size:29px;font-weight:700;margin:8px 0 4px}.stat small{color:var(--muted);font-size:11px}.section-top{display:flex;justify-content:space-between;align-items:center;margin:27px 0 17px}.section-top h2{font-size:21px;margin:0}.link-button{background:none;color:var(--green);font-weight:700;font-size:12px;padding:8px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.cover{height:108px;position:relative;background:linear-gradient(120deg,var(--cover),#ebece5);overflow:hidden;padding:20px}.cover:after{content:'';position:absolute;width:190px;height:190px;border:1px solid #ffffff66;right:-20px;top:-65px;border-radius:50%;box-shadow:0 0 0 30px #ffffff20,0 0 0 60px #ffffff10}.cover-symbol{font-size:41px;color:#fff;position:relative;z-index:1}.cover-number{position:absolute;right:18px;bottom:14px;color:#ffffffaa;font-size:11px;letter-spacing:2px;z-index:1}.card-body{padding:20px;display:flex;flex-direction:column;flex:1}.card h3{font-size:17px;line-height:1.4;min-height:46px}.card-meta{font-size:11px;color:var(--muted);display:flex;gap:13px;margin-bottom:18px}.bar{height:5px;border-radius:8px;background:#e9ece4;overflow:hidden;margin:15px 0 10px}.bar span{height:100%;display:block;background:var(--gold)}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:11px;color:var(--muted)}.card-footer button{background:none;font-size:20px;color:var(--green);padding:4px 8px}.bottom-panels{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:25px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:25px}.panel p{font-size:13px;color:var(--muted)}.notice{padding:14px 18px;background:#f3ecdF;border:1px solid #e6d8be;border-radius:8px;color:#735b37;font-size:12px;line-height:1.6;margin:20px 0}.breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:25px;color:var(--muted);font-size:12px}.breadcrumbs button{background:none;color:var(--green);padding:0}.lesson-layout{display:grid;grid-template-columns:260px 1fr;gap:25px}.lesson-nav{align-self:start;position:sticky;top:20px}.lesson-nav button{background:none;border:1px solid var(--line);padding:15px;width:100%;text-align:left;border-radius:7px;margin-bottom:8px;font-size:12px;color:var(--muted)}.lesson-nav button.current{border-color:#9b8159;background:#f5ecdd;color:var(--ink)}.reading{max-width:780px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:35px}.reading p{font-size:16px;color:#485047}.reading h1{font-size:31px}.reading .activity p{font-size:15px}.audio-row{display:flex;align-items:center;gap:10px;margin:20px 0 28px;flex-wrap:wrap}.audio-row small{font-size:11px;color:var(--muted)}.activity{background:#f6f7f2;border:1px solid var(--line);border-radius:9px;padding:22px;margin:30px 0}.choices{display:grid;gap:9px;margin:18px 0}.choice{background:#fff;border:1px solid #d9ded4;padding:15px;text-align:left;border-radius:7px;line-height:1.55;display:flex;gap:12px;color:var(--ink)}.choice.selected{border-color:#ad884d;background:#f7efdf}.choice.correct{border-color:#639378;background:#edf5ee}.choice.wrong{border-color:#b38075;background:#fcf0eb}.choice-letter{font-size:12px;background:#f0f2eb;border-radius:4px;padding:3px 7px;height:24px}.feedback{background:#e9f1e7;padding:16px;border-radius:7px;line-height:1.6;font-size:13px}.feedback.wrong{background:#f7ebe4}.lesson-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:12px}.assessment{max-width:850px;margin:0 auto}.question{padding:24px;background:white;border:1px solid var(--line);border-radius:9px;margin:16px 0}.question h3{font-size:17px;line-height:1.55;letter-spacing:-.02em}.result{text-align:center;padding:40px}.result-symbol{width:85px;height:85px;border-radius:50%;background:#f6ebd8;display:grid;place-items:center;font-size:42px;margin:0 auto 20px;color:#a17938}.result-score{font-size:60px;font-weight:800;letter-spacing:-3px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:#fff}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;background:#f0f3ec;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:16px}td{padding:17px;border-top:1px solid var(--line)}.search{width:100%;padding:15px 17px;border:1px solid var(--line);background:#fff;border-radius:8px;margin:14px 0 23px}.catalogue{display:grid;grid-template-columns:1fr 1fr;gap:12px}.catalogue-item{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px}.catalogue-item h3{font-size:15px}.catalogue-item p{font-size:12px;color:var(--muted);margin:4px 0}.badges{display:flex;gap:14px;flex-wrap:wrap}.badge{width:135px;text-align:center;border:1px solid var(--line);border-radius:10px;padding:20px 12px;opacity:.48;background:#fff}.badge.earned{opacity:1;background:#fbf1dd;border-color:#d8bd89}.badge span{display:block;font-size:29px;color:#a47b38;margin-bottom:10px}.badge small{font-size:11px}.arena{background:var(--ink);color:white;padding:35px;border-radius:12px}.arena p{color:#c3cabc}.arena h1{color:#fff}.arena .choices{color:var(--ink)}.arena-head{display:flex;justify-content:space-between;align-items:center}.timer{font-size:26px;color:var(--gold);font-variant-numeric:tabular-nums}.message-card{background:#fff;color:var(--ink);border-radius:9px;padding:25px;margin:25px 0}.message-from{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:15px}.message-card p{color:var(--ink)}.empty{text-align:center;padding:35px;color:var(--muted)}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.switch-row{display:flex;align-items:center;gap:10px;font-size:13px}.footer{font-size:11px;color:var(--muted);line-height:1.7;margin-top:34px;border-top:1px solid var(--line);padding-top:20px}#toast{position:fixed;bottom:25px;right:25px;background:var(--ink);color:white;border-radius:8px;padding:15px 20px;display:none;z-index:20;font-size:13px}.mobile-brand{display:none}.draft{border:1px dashed #c9cfc0;padding:20px;border-radius:8px}.source-link{font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1450px){.content{padding-top:45px}.cards{grid-template-columns:repeat(5,1fr)}.card h3{min-height:70px}}
@media(max-width:1100px){.sidebar{width:205px;padding:28px 16px}.shell{grid-template-columns:205px 1fr}.topbar{padding:0 25px}.content{padding:28px 25px}.cards{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:200px 1fr}.reading{padding:25px}.split{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:68px;padding:4px 8px;z-index:10;border-top:1px solid #41473d}.sidebar .brand,.brand-sub,.side-bottom{display:none}.nav{display:flex;justify-content:space-around;gap:0}.nav button{flex-direction:column;gap:2px;font-size:9px;padding:7px 5px;border-radius:5px}.nav-icon{font-size:18px;width:auto}.main{padding-bottom:68px}.topbar{height:74px;padding:0 18px}.topbar>div:first-child{display:none}.mobile-brand{display:block;font-weight:800;font-size:20px}.mobile-brand span{color:#98723f;font-size:11px}.account small,.avatar{display:none}.role{font-size:11px;width:155px}.content{padding:24px 18px}.intro{display:block}.intro>.pill{margin-top:14px}h1{font-size:31px}.hero{grid-template-columns:1fr}.hero-copy{padding:27px}.hero-art{display:none}.hero h2{font-size:26px}.stats{gap:8px;margin:20px 0}.stat{padding:14px 10px}.stat-number{font-size:23px}.stat-label,.stat small{font-size:10px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card-body{padding:14px}.card h3{font-size:14px;min-height:58px}.cover{height:80px;padding:12px}.cover-symbol{font-size:32px}.card-meta{font-size:10px;gap:6px;flex-wrap:wrap}.bottom-panels,.catalogue,.lesson-layout{grid-template-columns:1fr}.lesson-nav{position:static;display:flex;gap:7px;overflow-x:auto}.lesson-nav button{min-width:155px}.reading{padding:23px 18px}.reading h1{font-size:27px}.reading p{font-size:15px}.arena{padding:22px 18px}.arena h1{font-size:29px}.panel{padding:20px}.question{padding:18px}.intro p{font-size:13px}.lesson-bottom{flex-wrap:wrap}.section-top h2{font-size:19px}.result{padding:25px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.hero{background:#202521 url('assets/learning-banner.png') center 58%/cover no-repeat;min-height:300px}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#181d19f5 0%,#181d19d9 35%,#181d1920 76%)}.hero-art{background:none}.hero-copy{padding:36px}.hero h2{max-width:400px}.hero .btn{box-shadow:0 3px 20px #0004}.hero-art:after{content:'';width:90%;height:2px;position:absolute;background:linear-gradient(90deg,transparent,#f1ce9866,transparent);transform:rotate(-35deg);animation:trail 7s ease-in-out infinite}.arena-banner{position:relative;background:#202521 url('assets/challenge-banner.png') right center/cover no-repeat;isolation:isolate}.arena-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#181d19ed 20%,#181d19b3 70%,#181d1940);z-index:-1;border-radius:12px}.arena-banner p{max-width:430px}.content{animation:pageEnter .32s ease-out}.btn{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 14px #20252117}.btn:active{transform:translateY(0)}.card{transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #20252112}.bar span{transition:width .7s cubic-bezier(.2,.8,.3,1)}.cover-symbol{transition:transform .3s}.card:hover .cover-symbol{transform:translateY(-3px)}.badge.earned{animation:badgeReveal .45s ease-out}.visual-explainer{padding:22px;border:1px solid #e5d6bb;border-radius:10px;background:#fcf9f2;margin:28px 0}.visual-explainer h3{margin:12px 0}.visual-explainer svg{width:100%;height:auto}.flow-line{stroke-dasharray:6 5;animation:flowDash 2s linear infinite}.diagram-tabs{display:flex;gap:8px;flex-wrap:wrap}.diagram-tabs .btn{font-size:11px;padding:9px 12px}.reading .visual-explainer p{font-size:13px;margin-bottom:0}.review-flow{display:flex;align-items:center;gap:14px;margin-top:20px}.review-flow div{flex:1;background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}.review-flow span{font-size:11px;color:#96713c;display:block;margin-bottom:8px}.review-flow strong{font-size:12px;display:block}.review-flow small{font-size:10px;color:var(--muted);display:block;margin-top:8px}.review-flow b{color:#a98447}.audio-speed{font-size:11px;color:var(--muted)}.audio-speed select{border:1px solid var(--line);border-radius:5px;padding:6px;background:#fff}.reading p.speaking{background:#fbf0dc;border-radius:5px;box-shadow:-7px 0 0 #d6a561;padding:8px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.editor-field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#555e52}.editor-field:has(textarea){grid-column:1/-1}.editor-field input,.editor-field textarea,.editor-field select{border:1px solid var(--line);border-radius:7px;padding:12px;background:#fff;color:var(--ink);font:14px Inter,Arial,sans-serif}.editor-field textarea{resize:vertical;line-height:1.75;min-height:120px}.studio-tabs{display:flex;gap:8px;flex-wrap:wrap}.studio-tabs .btn{font-size:12px}.reading .audio-row .btn{font-size:11px;padding:10px 12px}@keyframes pageEnter{from{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes trail{0%,100%{opacity:.1;transform:translateX(-12px) rotate(-35deg)}50%{opacity:.7;transform:translateX(12px) rotate(-35deg)}}@keyframes flowDash{to{stroke-dashoffset:-22}}@keyframes badgeReveal{from{transform:scale(.96);opacity:.6}to{transform:scale(1);opacity:1}}@media(max-width:760px){.hero{background-position:60% center;min-height:285px}.hero-copy{padding:27px}.hero:before{background:linear-gradient(90deg,#181d19ef,#181d19ad)}.editor-grid{grid-template-columns:1fr}.editor-field:has(textarea){grid-column:auto}.review-flow{gap:6px}.review-flow div{padding:10px 7px}.review-flow b{font-size:12px}.visual-explainer{padding:16px}.studio-tabs .btn{padding:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Official supplied assets. Academy is a separate app label. */
.brand{display:block;letter-spacing:normal}.brand img{display:block;width:166px;height:auto}.brand span{display:block;margin-top:17px;border:0;padding:0;font-size:11px;letter-spacing:3px;font-weight:600}.brand-sub{margin:9px 0 32px;line-height:1.7}.mobile-brand img{display:block;width:84px;height:auto}.mobile-brand span{display:block;font-size:9px;letter-spacing:1.8px;margin-top:5px;color:var(--ink)}
.cover.photo-cover{padding:0}.photo-cover img{width:100%;height:100%;object-fit:cover;object-position:center 70%}.cover.photo-cover:after{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(0deg,#111b16a6,transparent 60%)}.photo-cover .cover-number{color:#fff}
.ffs-world{margin:32px 0}.ffs-world .section-top{margin-bottom:16px}.ffs-world .section-top p{font-size:12px;color:var(--muted);margin:0}.photo-stories{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.photo-story{margin:0;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.photo-story img{width:100%;height:210px;object-fit:cover;display:block}.photo-story:first-child img{object-position:center 65%}.photo-story:last-child img{object-position:center 60%}.photo-story figcaption{padding:18px 21px;font-size:12px;color:#586054;line-height:1.65}.photo-story strong{display:block;font-size:15px;color:var(--ink);margin-bottom:4px}.photo-story small{display:block;font-size:10px;color:#737970;margin-top:7px}
@media(max-width:760px){.photo-stories{grid-template-columns:1fr}.photo-story img{height:190px}.ffs-world .section-top{align-items:start;flex-direction:column;gap:8px}.mobile-brand{min-width:86px}.mobile-brand span{font-size:8px}}

.studio-entry{text-decoration:none;white-space:nowrap}.studio-entry-icon{display:none}@media(max-width:760px){.studio-entry-label{display:none}.studio-entry-icon{display:inline;font-size:20px}.studio-entry{padding:6px;min-width:27px}}
