:root{
  --bg:#080a09;--panel:#121613;--panel2:#171c18;--paper:#efe7d7;--muted:#aaa79b;
  --line:rgba(220,194,137,.16);--gold:#c7a25b;--gold2:#e4c47d;--green:#245443;--wine:#7b2837;
  --sidebar:260px;--shadow:0 24px 70px rgba(0,0,0,.38)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 78% 8%,rgba(111,53,31,.18),transparent 30rem),radial-gradient(circle at 16% 78%,rgba(29,78,61,.2),transparent 34rem),linear-gradient(135deg,#080a09,#0d100e 58%,#080908)}
body::after{content:"";position:fixed;inset:0;z-index:-2;opacity:.16;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.75' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
button,input,select{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}
.app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px 15px;background:rgba(8,10,9,.94);backdrop-filter:blur(18px);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:80}
.brand{display:flex;align-items:center;gap:12px;padding:7px 8px 20px}.seal{width:47px;height:47px;display:grid;place-items:center;transform:rotate(45deg);border:1px solid rgba(228,196,125,.42);background:linear-gradient(135deg,#2e200e,#8c672b);box-shadow:0 0 28px rgba(199,162,91,.13)}.seal span{transform:rotate(-45deg);font:700 20px Georgia,serif;color:#f2dda6}.brand-name{font:700 16px/1 Georgia,serif;letter-spacing:.08em;text-transform:uppercase}.brand-name small{display:block;color:var(--gold);font:700 9px/1.2 Inter,sans-serif;letter-spacing:.25em;margin-top:7px}
.nav-label{padding:14px 12px 6px;color:#71736b;font-size:9px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.nav{display:grid;gap:5px}.nav-btn{border:1px solid transparent;background:transparent;border-radius:13px;padding:11px 12px;display:flex;align-items:center;gap:11px;color:#aaa99e;text-align:left;transition:.18s}.nav-btn:hover{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.055);color:white}.nav-btn.active{color:#fff0c8;background:linear-gradient(90deg,rgba(78,57,28,.72),rgba(27,61,48,.22));border-color:rgba(228,196,125,.23);box-shadow:inset 3px 0 var(--gold)}.nav-icon{width:26px;height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;color:#d9bf7b;background:rgba(255,255,255,.02);font-size:11px;font-weight:900}.sidebar-bottom{margin-top:auto}.profile-mini{border:1px solid var(--line);border-radius:17px;padding:12px;background:rgba(255,255,255,.025)}.profile-line{display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2c5c4a,#141b17);border:1px solid rgba(199,162,91,.36);color:#f0dda7;font-size:11px;font-weight:900}.profile-mini strong{font-size:12px}.profile-mini small{display:block;color:#8e8e84;font-size:10px;margin-top:3px}.mini-bar,.xpbar{background:#282a26;border-radius:99px;overflow:hidden}.mini-bar{height:5px;margin-top:11px}.mini-bar i,.xpbar i{display:block;height:100%;background:linear-gradient(90deg,#7f5c2d,#e0bd68)}
.main{min-width:0}.topbar{position:sticky;top:0;height:72px;display:grid;grid-template-columns:minmax(260px,720px) 1fr auto;align-items:center;gap:16px;padding:12px 28px;background:rgba(8,10,9,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:70}.search{position:relative}.search input{width:100%;height:44px;border-radius:14px;border:1px solid rgba(228,196,125,.18);background:#101310;color:var(--paper);padding:0 52px 0 42px;outline:none}.search input:focus{border-color:rgba(228,196,125,.45);box-shadow:0 0 0 4px rgba(199,162,91,.07)}.search::before{content:"⌕";position:absolute;left:15px;top:8px;font-size:22px;color:#a18d61}.kbd{position:absolute;right:11px;top:11px;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:#77786f;font-size:9px;padding:4px 6px}.top-account{display:flex;align-items:center;gap:9px}.level-pill{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:14px;background:#111411;padding:7px 10px 7px 8px}.level-square{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#654825,#a47c3d);font:700 11px Georgia,serif}.level-pill b{font-size:11px}.level-pill small{display:block;color:#8e8b81;font-size:9px;margin-top:2px}
.content{padding:30px;max-width:1500px;margin:0 auto}.view{display:none;animation:fade .2s ease}.view.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(4px)}}.eyebrow{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.23em;text-transform:uppercase}.page-title{font:700 clamp(34px,4.3vw,60px)/1 Georgia,serif;letter-spacing:-.035em;margin:8px 0 10px}.page-lede{max-width:800px;margin:0;color:#aaa79c;line-height:1.65;font-size:14px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:30px 0 14px}.section-head h2{font:700 22px Georgia,serif;margin:0}.section-head p{margin:6px 0 0;color:#8f9086;font-size:12px}.text-btn{border:0;background:transparent;color:#d1b36c;font-size:11px;font-weight:900;padding:7px}
.hero{position:relative;overflow:hidden;min-height:332px;border:1px solid rgba(228,196,125,.18);border-radius:28px;padding:34px;background:linear-gradient(110deg,rgba(23,31,26,.97),rgba(24,20,14,.95) 52%,rgba(19,22,19,.85));box-shadow:var(--shadow)}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 45%,rgba(144,43,51,.17),transparent 18rem),radial-gradient(circle at 8% 0%,rgba(199,162,91,.11),transparent 24rem)}.hero::after{content:"";position:absolute;width:470px;height:470px;border-radius:50%;border:1px solid rgba(228,196,125,.08);right:-60px;top:-120px;box-shadow:0 0 0 55px rgba(228,196,125,.018),0 0 0 110px rgba(228,196,125,.012)}.hero-copy{position:relative;z-index:2;max-width:700px}.hero h1{font:700 clamp(40px,5.2vw,72px)/.98 Georgia,serif;letter-spacing:-.045em;margin:8px 0 14px}.hero h1 em{font-weight:400;color:#dabc75}.hero p{color:#b1aea2;line-height:1.65;max-width:640px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.btn{border:1px solid rgba(228,196,125,.22);background:#161a17;border-radius:12px;color:#eee3c9;padding:10px 14px;font-size:11px;font-weight:900;transition:.18s}.btn:hover{transform:translateY(-2px);border-color:rgba(228,196,125,.52)}.btn.primary{background:linear-gradient(135deg,#73552b,#a77e3e);border-color:#bd9850}.hero-stats{position:absolute;right:32px;bottom:28px;z-index:3;display:grid;grid-template-columns:repeat(3,95px);gap:9px}.hero-stat{border:1px solid rgba(255,255,255,.065);border-radius:14px;background:rgba(7,9,8,.58);padding:11px}.hero-stat strong{font:700 18px Georgia,serif;color:#eed8a3}.hero-stat span{display:block;color:#787970;font-size:8px;text-transform:uppercase;letter-spacing:.14em;margin-top:4px}
.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.portal{position:relative;text-align:left;min-height:150px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#131714,#0f120f);padding:19px;overflow:hidden;transition:.2s}.portal:hover{transform:translateY(-3px);border-color:rgba(228,196,125,.34)}.portal::after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-45px;bottom:-62px;background:var(--orb,rgba(199,162,91,.15));filter:blur(8px)}.portal-symbol{font:700 27px Georgia,serif;color:#e5cd90}.portal h3{font:700 18px Georgia,serif;margin:17px 0 5px}.portal p{margin:0;color:#85877f;font-size:11px;line-height:1.5}.portal.play{--orb:rgba(154,44,55,.26)}.portal.learn{--orb:rgba(38,95,74,.28)}.portal.files{--orb:rgba(199,162,91,.22)}
.grid3,.game-grid,.resource-grid,.learn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.dashboard{display:grid;grid-template-columns:1.65fr .85fr;gap:17px}.panel{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#141814,#0f120f);padding:19px}.quest-list{display:grid;gap:8px}.quest{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.05);border-radius:13px;padding:10px;background:rgba(255,255,255,.015)}.quest-mark{width:30px;height:30px;border-radius:9px;border:1px solid rgba(255,255,255,.07);display:grid;place-items:center;color:#d8bb72}.quest.done .quest-mark{background:#17362a;color:#8bc8aa}.quest strong{font-size:11px}.quest small{display:block;color:#777970;font-size:9px;margin-top:3px}.quest-xp{font-size:10px;font-weight:900;color:#d3b66d}.xpbar{height:9px;margin:12px 0}
.game-card{position:relative;overflow:hidden;min-height:262px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#151a16,#101310);padding:17px;display:flex;flex-direction:column;transition:.2s}.game-card:hover{transform:translateY(-4px);border-color:rgba(228,196,125,.33);box-shadow:0 18px 46px rgba(0,0,0,.25)}.game-card::before{content:"";position:absolute;width:250px;height:250px;right:-95px;bottom:-105px;border-radius:50%;background:var(--glow,rgba(199,162,91,.12));filter:blur(12px)}.game-kicker{position:relative;z-index:2;color:#929188;font-size:8px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.game-icon{position:relative;z-index:2;width:48px;height:48px;margin:13px 0;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#1b201c;display:grid;place-items:center;font:800 16px Georgia,serif;color:#e2c987}.game-card h3{position:relative;z-index:2;font:700 20px Georgia,serif;margin:2px 0 6px;max-width:70%}.game-desc{position:relative;z-index:2;color:#898b82;font-size:10px;line-height:1.55;max-width:72%;margin:0 0 12px}.game-card.has-art .game-desc{max-width:55%}.game-art{position:absolute;right:-5px;bottom:-5px;width:58%;height:92%;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 0 22px rgba(173,35,47,.25));opacity:.92}.tags{position:relative;z-index:3;display:flex;gap:5px;flex-wrap:wrap;margin-top:auto}.tag{border:1px solid rgba(255,255,255,.055);border-radius:99px;background:rgba(255,255,255,.02);padding:4px 7px;color:#92938b;font-size:8px}.card-bottom{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:11px}.play-btn{border:1px solid rgba(228,196,125,.18);border-radius:9px;background:#1a1e1b;color:#e8d5a5;padding:7px 9px;font-size:9px;font-weight:900}.xp-chip{font-size:8px;font-weight:900;color:#bca05f}.progress{height:4px;background:#292b27;border-radius:99px;overflow:hidden;margin-top:9px}.progress i{height:100%;display:block;background:linear-gradient(90deg,#82602f,#d6b45f)}
.accent-crimson{--glow:rgba(158,46,60,.2)}.accent-violet{--glow:rgba(107,75,147,.18)}.accent-gold{--glow:rgba(199,162,91,.17)}.accent-emerald,.accent-verdant{--glow:rgba(41,102,78,.2)}.accent-cyan{--glow:rgba(69,137,151,.18)}.accent-rose{--glow:rgba(132,53,72,.18)}.accent-blue{--glow:rgba(57,89,132,.18)}.accent-indigo{--glow:rgba(66,53,111,.2)}.accent-amber{--glow:rgba(165,110,38,.2)}
.boss-hall{position:relative;overflow:hidden;min-height:280px;border:1px solid rgba(163,49,59,.3);border-radius:25px;background:radial-gradient(circle at 77% 44%,rgba(163,45,53,.23),transparent 17rem),linear-gradient(110deg,#151411,#18100f);padding:27px;margin-top:27px}.boss-hall h2{font:700 31px Georgia,serif;margin:6px 0}.boss-hall p{max-width:560px;color:#98948a;line-height:1.6;font-size:12px}.boss-hall img{position:absolute;right:1%;bottom:-18%;height:128%;object-fit:contain;filter:drop-shadow(0 0 34px rgba(202,31,48,.26));opacity:.88}.boss-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.boss-pill{border:1px solid rgba(255,255,255,.07);background:#111312;border-radius:10px;padding:7px 9px;color:#8d8b83;font-size:9px}.boss-pill.live{border-color:rgba(169,58,66,.35);color:#dda0a4}
.filters{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 15px}.filter{border:1px solid var(--line);background:#111411;border-radius:99px;color:#8f9188;padding:7px 10px;font-size:9px;font-weight:900}.filter.active,.filter:hover{background:#211b11;border-color:rgba(228,196,125,.34);color:#f1dfb3}.toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0 0 15px}.toolbar input,.toolbar select{height:42px;border:1px solid var(--line);border-radius:11px;background:#101310;color:#bdb9ad;padding:0 12px;outline:none}
.resource-card,.learn-card{min-height:200px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#151815,#101310);padding:17px;display:flex;flex-direction:column;transition:.2s}.resource-card:hover,.learn-card:hover{transform:translateY(-3px);border-color:rgba(228,196,125,.32)}.file-badge{align-self:flex-start;border:1px solid rgba(228,196,125,.17);border-radius:8px;color:#d2b66d;padding:4px 7px;font-size:8px;font-weight:900}.resource-card h3,.learn-card h3{font:700 18px Georgia,serif;margin:14px 0 6px}.resource-card p,.learn-card p{color:#888a82;font-size:10px;line-height:1.55;margin:0}.resource-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;color:#74766f;font-size:8px}.download{font-weight:900;color:#d0b169}.learn-icon{width:45px;height:45px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#1a1f1b;display:grid;place-items:center;font:800 16px Georgia,serif;color:#dbc17b}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:22px}.stat{border:1px solid var(--line);border-radius:16px;background:#121512;padding:16px}.stat span{display:block;color:#7b7d75;font-size:8px;text-transform:uppercase;letter-spacing:.14em}.stat strong{display:block;font:700 28px Georgia,serif;color:#e6d29e;margin-top:7px}.profile-panel{display:grid;grid-template-columns:210px 1fr;gap:20px}.medallion{width:166px;height:166px;margin:auto;border-radius:50%;display:grid;place-items:center;text-align:center;border:1px solid rgba(228,196,125,.28);background:radial-gradient(circle,#392916 0 31%,#171a16 32% 52%,#8c6a33 53% 54%,#101310 55%)}.medallion strong{font:700 43px Georgia,serif}.medallion span{display:block;color:#bca46d;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.skills{display:grid;gap:9px}.skill{display:grid;grid-template-columns:140px 1fr 38px;align-items:center;gap:9px;font-size:10px}.skillbar{height:6px;background:#252824;border-radius:99px;overflow:hidden}.skillbar i{display:block;height:100%;background:#3f745f}.achievements{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.achievement{border:1px solid var(--line);border-radius:14px;background:#121512;padding:13px;text-align:center}.achievement-mark{width:44px;height:44px;margin:0 auto 9px;border-radius:50%;display:grid;place-items:center;background:#2b2114;border:1px solid rgba(228,196,125,.16);color:#d7ba71}.achievement strong{font-size:9px}.achievement small{display:block;color:#74766e;font-size:8px;margin-top:4px}.achievement.locked{opacity:.4;filter:grayscale(1)}
.class-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.class-card{border:1px solid var(--line);border-radius:18px;background:#121512;padding:17px}.class-top{display:flex;justify-content:space-between;gap:10px}.class-card h3{font:700 19px Georgia,serif;margin:0}.class-card p{color:#81837b;font-size:10px}.assignment{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:10px 0;border-top:1px solid rgba(255,255,255,.045);font-size:9px}.dot{width:7px;height:7px;border-radius:50%;background:#a78139}.assignment.done .dot{background:#428167}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.teacher-tool{min-height:145px;border:1px solid var(--line);border-radius:16px;background:#111411;padding:16px}.teacher-tool strong{font:700 17px Georgia,serif}.teacher-tool p{color:#7e8178;font-size:10px;line-height:1.5}
.search-modal{position:fixed;inset:0;z-index:200;display:none;place-items:start center;padding-top:95px;background:rgba(0,0,0,.68);backdrop-filter:blur(8px)}.search-modal.open{display:grid}.search-box{width:min(760px,calc(100% - 28px));max-height:72vh;overflow:auto;border:1px solid rgba(228,196,125,.24);border-radius:21px;background:#101310;box-shadow:0 30px 100px rgba(0,0,0,.5)}.search-head{position:sticky;top:0;background:#101310;border-bottom:1px solid var(--line);padding:13px;display:flex;gap:9px}.search-head input{flex:1;height:42px;border:0;border-radius:10px;background:#171b18;color:var(--paper);padding:0 12px;outline:none}.search-close{width:42px;border:1px solid var(--line);border-radius:10px;background:#171b18;color:#aaa}.results{padding:8px}.result{width:100%;border:0;background:transparent;color:inherit;text-align:left;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:12px}.result:hover{background:#171a17}.result-icon{width:39px;height:39px;border:1px solid rgba(255,255,255,.07);border-radius:10px;display:grid;place-items:center;color:#d7ba72;font:800 13px Georgia,serif}.result strong{font-size:11px}.result small{display:block;color:#76786f;font-size:8px;margin-top:3px}.result-type{font-size:8px;color:#9c8962;text-transform:uppercase;letter-spacing:.12em}.toasts{position:fixed;right:18px;top:84px;z-index:250;display:grid;gap:8px}.toast{width:min(340px,calc(100vw - 36px));border:1px solid rgba(228,196,125,.2);border-radius:13px;background:#151914;padding:11px 13px;box-shadow:0 14px 38px rgba(0,0,0,.38)}.toast strong{font-size:10px}.toast span{display:block;color:#8b8d84;font-size:9px;margin-top:3px}.mobile-nav{display:none}
@media(max-width:1050px){:root{--sidebar:215px}.grid3,.game-grid,.resource-grid,.learn-grid{grid-template-columns:repeat(2,1fr)}.hero-stats{display:none}.achievements{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app{display:block}.sidebar{display:none}.topbar{height:64px;padding:9px 12px;grid-template-columns:1fr auto}.level-pill{display:none}.content{padding:17px 13px 90px}.hero{padding:23px;min-height:305px}.hero h1{font-size:42px}.portal-grid,.dashboard,.grid3,.game-grid,.resource-grid,.learn-grid,.stat-grid,.profile-panel,.class-grid,.teacher-grid{grid-template-columns:1fr}.achievements{grid-template-columns:repeat(2,1fr)}.boss-hall{min-height:360px;padding:21px}.boss-hall img{height:78%;right:-13%;opacity:.52}.skill{grid-template-columns:95px 1fr 35px}.game-card h3,.game-desc,.game-card.has-art .game-desc{max-width:73%}.mobile-nav{position:fixed;left:9px;right:9px;bottom:9px;z-index:110;display:grid;grid-template-columns:repeat(5,1fr);padding:6px;border:1px solid rgba(228,196,125,.17);border-radius:17px;background:rgba(13,16,14,.95);backdrop-filter:blur(18px);box-shadow:0 15px 55px rgba(0,0,0,.4)}.mobile-nav button{border:0;background:transparent;color:#82847c;padding:7px 2px;font-size:8px;font-weight:900}.mobile-nav button.active{color:#e4c579}.mobile-nav b{display:block;font:800 12px Georgia,serif;margin-bottom:2px}}

/* =============================================================
   BRIGHT ATHENAEUM THEME
   Scholarly fantasy, but warm, inviting and colourful.
   ============================================================= */
:root{
  --bg:#f4efe3;
  --panel:#fffaf0;
  --panel2:#f7f0df;
  --paper:#24342d;
  --muted:#706f66;
  --line:rgba(87,74,48,.16);
  --gold:#b7832f;
  --gold2:#d7aa54;
  --green:#2f725a;
  --wine:#a43d55;
  --shadow:0 22px 60px rgba(72,58,35,.13)
}
body{background:var(--bg);color:var(--paper)}
body::before{background:
  radial-gradient(circle at 78% 7%,rgba(255,190,108,.24),transparent 27rem),
  radial-gradient(circle at 15% 75%,rgba(89,171,137,.18),transparent 31rem),
  radial-gradient(circle at 55% 38%,rgba(129,171,214,.10),transparent 34rem),
  linear-gradient(135deg,#f7f2e7,#efe7d4 58%,#f6efe1)}
body::after{opacity:.055;mix-blend-mode:multiply}

.sidebar{background:linear-gradient(180deg,rgba(29,72,59,.985),rgba(22,57,48,.985));border-right-color:rgba(255,237,191,.20);box-shadow:8px 0 32px rgba(45,63,53,.08)}
.brand-name{color:#fff9ea}.brand-name small{color:#f0cc78}.seal{border-color:rgba(255,226,152,.62);background:linear-gradient(135deg,#c2923e,#f1ca70);box-shadow:0 8px 24px rgba(0,0,0,.13)}.seal span{color:#264739}
.nav-label{color:#a9c9b9}.nav-btn{color:#d4e6dd}.nav-btn:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.11);color:#fff}.nav-btn.active{color:#173d31;background:linear-gradient(90deg,#f4d991,#f5e7bd);border-color:rgba(255,242,200,.75);box-shadow:inset 3px 0 #fff8dc,0 6px 16px rgba(0,0,0,.10)}.nav-icon{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#f7dc96}.nav-btn.active .nav-icon{background:rgba(255,255,255,.45);border-color:rgba(70,85,60,.12);color:#855d18}.profile-mini{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.07)}.profile-mini strong{color:#fff9eb}.profile-mini small{color:#c7ddd1}.mini-bar{background:rgba(0,0,0,.18)}
.avatar{background:linear-gradient(145deg,#f0ca6a,#d59a45);border-color:rgba(255,245,203,.8);color:#29493c;box-shadow:0 5px 14px rgba(0,0,0,.09)}

.topbar{background:rgba(255,251,242,.88);border-bottom-color:rgba(94,78,47,.13);box-shadow:0 8px 26px rgba(76,61,35,.06)}
.search input{border-color:rgba(102,84,48,.17);background:#fffdf8;color:#25392f;box-shadow:0 5px 17px rgba(74,60,37,.045)}.search input:focus{border-color:rgba(183,131,47,.5);box-shadow:0 0 0 4px rgba(215,170,84,.13)}.search::before{color:#a57528}.kbd{border-color:rgba(80,68,43,.12);background:#f7f0e2;color:#867e6c}.level-pill{border-color:rgba(96,78,44,.15);background:#fffaf1;box-shadow:0 4px 14px rgba(73,58,35,.05)}.level-square{background:linear-gradient(145deg,#e8bd61,#c98a32);color:#fff}.level-pill b{color:#2c4137}.level-pill small{color:#7f7a6e}

.eyebrow{color:#a86e18}.page-title{color:#213b31;text-shadow:0 1px #fff}.page-lede{color:#6f7068}.section-head h2{color:#2b4137}.section-head p{color:#77776f}.text-btn{color:#9c681a}.text-btn:hover{color:#6e4710}

.hero{border-color:rgba(165,121,43,.20);background:linear-gradient(112deg,#fffaf0 0%,#f9f1dc 52%,#e9f3e8 100%);box-shadow:var(--shadow)}
.hero::before{background:radial-gradient(circle at 82% 44%,rgba(195,66,84,.14),transparent 18rem),radial-gradient(circle at 12% 0%,rgba(229,183,82,.22),transparent 24rem),radial-gradient(circle at 63% 100%,rgba(57,133,104,.11),transparent 24rem)}
.hero::after{border-color:rgba(177,131,52,.13);box-shadow:0 0 0 55px rgba(207,163,76,.035),0 0 0 110px rgba(74,128,103,.025)}
.hero h1{color:#203a30}.hero h1 em{color:#b6732c}.hero p{color:#646a62;font-size:15px}.btn{border-color:rgba(125,96,45,.18);background:#fffaf1;color:#294337;box-shadow:0 5px 14px rgba(72,56,31,.06)}.btn:hover{border-color:rgba(183,131,47,.48);box-shadow:0 9px 20px rgba(72,56,31,.10)}.btn.primary{background:linear-gradient(135deg,#d49b3f,#edc768);border-color:#c38b30;color:#2d3e32;box-shadow:0 8px 22px rgba(177,122,38,.19)}
.hero-stat{border-color:rgba(79,69,48,.10);background:rgba(255,253,248,.72);box-shadow:0 5px 16px rgba(91,72,37,.06)}.hero-stat strong{color:#8b5c17}.hero-stat span{color:#74766c}

.portal{border-color:rgba(92,78,49,.13);background:linear-gradient(145deg,#fffdf7,#f7f0e1);box-shadow:0 9px 26px rgba(70,57,36,.06)}.portal:hover{border-color:rgba(183,131,47,.34);box-shadow:0 15px 34px rgba(70,57,36,.10)}.portal-symbol{color:#a66e1c}.portal h3{color:#294238}.portal p{color:#6e7169}.portal.play{--orb:rgba(213,82,101,.22)}.portal.learn{--orb:rgba(57,151,116,.20)}.portal.files{--orb:rgba(232,185,85,.24)}
.panel{border-color:rgba(89,74,45,.13);background:linear-gradient(145deg,#fffdf8,#f7f0e2);box-shadow:0 8px 24px rgba(73,58,35,.055)}.quest{border-color:rgba(85,74,53,.09);background:rgba(255,255,255,.5)}.quest-mark{border-color:rgba(91,77,52,.10);color:#a7741c;background:#fffaf0}.quest.done .quest-mark{background:#dff1e7;color:#2f7658}.quest strong{color:#2d4138}.quest small{color:#777870}.quest-xp{color:#9d6c1b}.xpbar,.skillbar{background:#e6ddca}.mini-bar i,.xpbar i{background:linear-gradient(90deg,#c78a2f,#efc96f)}

.game-card{border-color:rgba(87,73,46,.13);background:linear-gradient(145deg,#fffdf8,#f5efe2);box-shadow:0 8px 23px rgba(66,53,34,.055)}.game-card:hover{border-color:rgba(183,131,47,.31);box-shadow:0 17px 38px rgba(69,54,34,.11)}.game-kicker{color:#7d7b70}.game-icon{border-color:rgba(77,67,47,.10);background:#fff8e8;color:#9d6b1c;box-shadow:0 5px 15px rgba(78,61,34,.06)}.game-card h3{color:#284036}.game-desc{color:#6d7068}.tag{border-color:rgba(80,69,48,.10);background:rgba(255,255,255,.55);color:#727269}.play-btn{border-color:rgba(179,129,45,.22);background:#fff5d9;color:#8c5e16}.xp-chip{color:#9d6a17}.progress{background:#e5dcc9}.progress i{background:linear-gradient(90deg,#cc8f35,#ecc66c)}
.accent-crimson{--glow:rgba(218,73,95,.19)}.accent-violet{--glow:rgba(145,112,189,.16)}.accent-gold{--glow:rgba(233,184,80,.18)}.accent-emerald,.accent-verdant{--glow:rgba(68,161,124,.18)}.accent-cyan{--glow:rgba(72,160,184,.16)}.accent-rose{--glow:rgba(206,98,132,.16)}.accent-blue{--glow:rgba(84,137,193,.16)}.accent-indigo{--glow:rgba(106,93,164,.17)}.accent-amber{--glow:rgba(225,150,52,.19)}

/* Boss Hall deliberately keeps some drama, but with a brighter, jewel-toned treatment. */
.boss-hall{border-color:rgba(164,61,85,.28);background:radial-gradient(circle at 77% 44%,rgba(224,74,94,.28),transparent 18rem),linear-gradient(110deg,#3e2630,#263f37 63%,#335349);box-shadow:0 18px 45px rgba(76,45,51,.16)}.boss-hall h2{color:#fff5e5}.boss-hall p{color:#eaded0}.boss-hall .eyebrow{color:#f2c565}.boss-pill{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.09);color:#e4ded2}.boss-pill.live{border-color:rgba(255,218,119,.45);background:rgba(255,219,121,.12);color:#ffe5a2}

.filters{margin-top:25px}.filter{border-color:rgba(88,74,48,.13);background:#fffaf1;color:#6f7169;box-shadow:0 4px 12px rgba(71,56,34,.045)}.filter.active,.filter:hover{background:#f4d997;border-color:rgba(167,114,31,.32);color:#644313}.toolbar input,.toolbar select{border-color:rgba(91,77,52,.14);background:#fffdf8;color:#33473e;box-shadow:0 5px 16px rgba(71,56,34,.045)}
.resource-card,.learn-card{border-color:rgba(88,74,48,.13);background:linear-gradient(145deg,#fffdf8,#f5efe2);box-shadow:0 8px 23px rgba(66,53,34,.055)}.resource-card:hover,.learn-card:hover{border-color:rgba(183,131,47,.31);box-shadow:0 15px 34px rgba(69,54,34,.10)}.file-badge{border-color:rgba(174,124,42,.20);background:#fff3ce;color:#8b5c16}.resource-card h3,.learn-card h3{color:#294238}.resource-card p,.learn-card p{color:#6d7068}.resource-foot{color:#77786f}.download{color:#936219}.learn-icon{border-color:rgba(78,68,47,.10);background:#fff6de;color:#9d6b1c}
.stat{border-color:rgba(88,74,48,.13);background:#fffaf1;box-shadow:0 6px 18px rgba(66,53,34,.05)}.stat span{color:#7a796f}.stat strong{color:#95641b}.medallion{border-color:rgba(180,131,49,.28);background:radial-gradient(circle,#f7dc9a 0 31%,#fffaf0 32% 52%,#c99a49 53% 54%,#f3ead8 55%);box-shadow:0 10px 30px rgba(120,84,27,.10)}.medallion strong{color:#2b483b}.medallion span{color:#8f6017}.skillbar i{background:linear-gradient(90deg,#3d9270,#77b89d)}.achievement{border-color:rgba(88,74,48,.13);background:#fffaf2}.achievement-mark{background:#fff0c6;border-color:rgba(185,130,39,.18);color:#9c6818}.achievement strong{color:#2b4138}.achievement small{color:#76766d}
.class-card,.teacher-tool{border-color:rgba(88,74,48,.13);background:#fffaf2;box-shadow:0 7px 20px rgba(67,53,34,.05)}.class-card h3,.teacher-tool strong{color:#2b4138}.class-card p,.teacher-tool p{color:#6e7168}.assignment{border-top-color:rgba(88,74,48,.10)}

.search-modal{background:rgba(39,51,45,.34)}.search-box{border-color:rgba(154,111,40,.24);background:#fffaf1;box-shadow:0 30px 90px rgba(64,49,31,.24)}.search-head{background:#fffaf1;border-bottom-color:rgba(88,74,48,.11)}.search-head input{background:#fffdf8;color:#263b32}.search-close{border-color:rgba(88,74,48,.12);background:#f4ecdc;color:#6f6d63}.result:hover{background:#f4eddd}.result-icon{border-color:rgba(88,74,48,.11);background:#fff5dc;color:#9b6818}.result strong{color:#293f36}.result small{color:#74756d}.result-type{color:#9b6b20}.toast{border-color:rgba(173,123,42,.20);background:#fffaf1;box-shadow:0 14px 38px rgba(63,49,31,.17)}.toast strong{color:#2a4138}.toast span{color:#71736b}
.account-status{color:#7b786d!important}

@media(max-width:760px){
  .mobile-nav{border-color:rgba(87,73,46,.17);background:rgba(255,250,240,.96);box-shadow:0 14px 42px rgba(72,56,34,.16)}
  .mobile-nav button{color:#76786f}.mobile-nav button.active{color:#916019}
}

/* =============================================================
   THREE-STAGE REVISION FLOW — LEARN / PRACTISE / TEST
   ============================================================= */
.workflow-hero{min-height:350px;background:linear-gradient(120deg,#fffdf7 0%,#f6efd9 46%,#e6f2ea 100%)}
.workflow-hero::before{background:radial-gradient(circle at 78% 20%,rgba(215,170,84,.22),transparent 18rem),radial-gradient(circle at 72% 92%,rgba(62,143,108,.16),transparent 22rem),radial-gradient(circle at 15% 30%,rgba(185,98,122,.10),transparent 22rem)}
.workflow-hero .hero-stats{grid-template-columns:repeat(3,108px)}
.workflow-hero .hero-stat{padding:13px 12px}.workflow-hero .hero-stat strong{font-size:14px}.workflow-hero .hero-stat span{font-size:7px}

.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;position:relative}
.journey-grid::before{content:"";position:absolute;height:2px;left:15%;right:15%;top:37px;background:linear-gradient(90deg,#69a98e,#d0a24a,#8d3548);opacity:.35;z-index:0}
.journey-card{position:relative;z-index:1;border:1px solid rgba(86,71,45,.13);border-radius:23px;padding:22px;text-align:left;background:#fffaf1;box-shadow:0 10px 28px rgba(73,58,35,.07);transition:.2s;overflow:hidden;min-height:220px}
.journey-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(73,58,35,.12)}
.journey-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-75px;bottom:-95px;background:var(--stage-glow);filter:blur(4px)}
.journey-number{position:absolute;right:17px;top:15px;font:700 11px Georgia,serif;color:#998b72;border:1px solid rgba(83,72,51,.12);background:rgba(255,255,255,.6);width:28px;height:28px;border-radius:50%;display:grid;place-items:center}
.journey-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font:800 18px Georgia,serif;background:var(--stage-icon-bg);color:var(--stage-icon);border:1px solid rgba(255,255,255,.65);box-shadow:0 8px 19px rgba(61,49,31,.07)}
.journey-card h3{font:700 25px Georgia,serif;margin:18px 0 7px;color:#294238}.journey-card p{font-size:11px;line-height:1.65;color:#6e7169;margin:0;max-width:88%}.journey-link{display:inline-block;margin-top:16px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--stage-icon)}
.learn-stage{--stage-glow:rgba(63,151,112,.16);--stage-icon-bg:#e1f1e9;--stage-icon:#2e785a}.practise-stage{--stage-glow:rgba(224,174,71,.19);--stage-icon-bg:#fff0c8;--stage-icon:#9d6818}.test-stage{--stage-glow:rgba(150,48,69,.18);--stage-icon-bg:#f3dce1;--stage-icon:#8f2d43}

.learn-banner{display:flex;gap:18px;align-items:center;margin-top:24px;padding:18px 21px;border:1px solid rgba(50,125,94,.18);border-radius:18px;background:linear-gradient(110deg,#edf7f1,#fffaf0);box-shadow:0 8px 22px rgba(54,88,71,.06)}
.learn-banner-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#dbeee4;color:#2f7359;font:800 18px Georgia,serif}.learn-banner h2{font:700 20px Georgia,serif;margin:0 0 4px;color:#294238}.learn-banner p{margin:0;color:#6b7069;font-size:11px}

.flashcard-feature{position:relative;overflow:hidden;min-height:310px;margin-top:23px;border:1px solid rgba(184,135,48,.22);border-radius:26px;background:linear-gradient(120deg,#fff8e7,#f7edd3 52%,#e9f2e9);box-shadow:0 18px 44px rgba(81,63,34,.10);padding:34px;display:flex;align-items:center}
.flashcard-feature::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(50,133,102,.16),transparent 18rem),radial-gradient(circle at 10% 0%,rgba(235,187,83,.22),transparent 19rem);pointer-events:none}
.flashcard-feature-copy{position:relative;z-index:2;max-width:570px}.core-badge{display:inline-flex;padding:6px 9px;border-radius:99px;background:#e8c66d;color:#4e4129;font-size:8px;font-weight:950;letter-spacing:.13em}.flashcard-feature h2{font:700 clamp(33px,4vw,52px)/1 Georgia,serif;color:#244035;margin:13px 0 10px}.flashcard-feature p{color:#606b64;line-height:1.65;font-size:13px;max-width:530px}.flashcard-actions{display:flex;align-items:center;gap:13px;margin-top:20px}
.flashcard-stack{position:absolute;right:9%;top:48%;width:285px;height:205px;transform:translateY(-50%)}.fc-card{position:absolute;inset:0;border-radius:20px;border:1px solid rgba(97,80,48,.16);box-shadow:0 18px 42px rgba(67,52,29,.13)}.fc-card.back{transform:rotate(8deg) translate(18px,-5px);background:#dcece3}.fc-card.middle{transform:rotate(-5deg) translate(-13px,7px);background:#f0d98e}.fc-card.front{background:#fffdf7;padding:25px;display:flex;flex-direction:column;justify-content:center}.fc-card.front small{color:#a27427;font-size:8px;font-weight:900;letter-spacing:.16em}.fc-card.front strong{font:700 22px/1.25 Georgia,serif;color:#294238;margin:14px 0}.fc-card.front span{font-size:9px;color:#888277}
.practice-grid .game-card{min-height:240px}.practice-grid .game-card h3{max-width:100%}.practice-grid .game-desc{max-width:100%}

/* TEST deliberately becomes darker and more theatrical than the rest of the hub. */
.test-view{margin:-30px;padding:30px;min-height:calc(100vh - 72px);background:radial-gradient(circle at 82% 15%,rgba(126,23,43,.22),transparent 30rem),radial-gradient(circle at 15% 70%,rgba(79,47,104,.14),transparent 28rem),linear-gradient(135deg,#141215,#090a0c 60%,#111915);color:#f0e8da}
.test-shell{max-width:1500px;margin:0 auto}.test-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.test-header .page-title{color:#fff3dc;text-shadow:none}.test-header p{margin:0;color:#a8a096;font-size:12px}.test-header .eyebrow{color:#d58c73}.test-emblem{width:72px;height:72px;border:1px solid rgba(217,91,110,.24);border-radius:22px;background:radial-gradient(circle,rgba(181,42,61,.26),rgba(28,20,24,.8));display:grid;place-items:center;font-size:29px;box-shadow:0 0 35px rgba(181,42,61,.15)}
.test-boss-hall{min-height:340px;margin-top:0;background:radial-gradient(circle at 79% 44%,rgba(206,35,62,.30),transparent 19rem),radial-gradient(circle at 10% 80%,rgba(94,60,131,.15),transparent 20rem),linear-gradient(110deg,#21151a,#0d1011 64%,#151d18);border-color:rgba(207,63,85,.28);box-shadow:0 26px 68px rgba(0,0,0,.38)}.test-boss-hall h2{font-size:38px;color:#fff0db}.test-boss-hall p{color:#b9aea1;max-width:620px}.test-boss-hall img{height:137%;right:0;opacity:.95;filter:drop-shadow(0 0 38px rgba(216,32,58,.32))}.test-boss-hall .eyebrow{color:#e4a07d}.test-boss-hall .boss-pill{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.09);color:#aaa49c}.test-boss-hall .boss-pill.live{background:rgba(187,45,65,.14);border-color:rgba(229,83,104,.35);color:#f3c0c7}
.test-section-head h2{color:#f1e5d4}.boss-grid .game-card{background:linear-gradient(145deg,#1c191b,#101214);border-color:rgba(255,255,255,.08);box-shadow:0 15px 38px rgba(0,0,0,.23)}.boss-grid .game-card:hover{border-color:rgba(215,80,99,.30);box-shadow:0 22px 50px rgba(0,0,0,.35)}.boss-grid .game-card h3{color:#f4e8d9}.boss-grid .game-desc{color:#aaa39a}.boss-grid .game-kicker{color:#a78c84}.boss-grid .game-icon{background:#251b1e;border-color:rgba(219,85,104,.13);color:#e9b4a7}.boss-grid .tag{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.07);color:#9f9991}.boss-grid .play-btn{background:#29171b;border-color:rgba(218,79,99,.22);color:#f0b9bf}.boss-grid .xp-chip{color:#d49785}.boss-grid .progress{background:#292326}.boss-grid .progress i{background:linear-gradient(90deg,#7f2536,#dd5d70)}

@media(max-width:980px){.flashcard-stack{opacity:.38;right:-30px}.flashcard-feature-copy{max-width:65%}.journey-grid{grid-template-columns:1fr}.journey-grid::before{display:none}.journey-card{min-height:170px}.workflow-hero .hero-stats{display:none}}
@media(max-width:760px){.test-view{margin:-20px;padding:20px}.flashcard-feature{padding:24px;min-height:300px}.flashcard-feature-copy{max-width:100%}.flashcard-stack{opacity:.16;right:-95px}.test-boss-hall img{opacity:.33;right:-28%}.test-header{align-items:center}.test-emblem{width:55px;height:55px}.journey-card{padding:19px}.learn-banner{align-items:flex-start}}


/* Boss Battle registry integration: cards are sourced from the untouched Boss Battle manifest. */
.boss-registry-hero{display:flex;align-items:center;overflow:hidden}.boss-hero-copy{position:relative;z-index:2;max-width:680px}.boss-hall-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:22px 0 17px}.boss-hall-btn{background:linear-gradient(135deg,#8f263a,#541723)!important;border-color:rgba(241,126,145,.38)!important;color:#fff1e8!important;box-shadow:0 14px 34px rgba(89,11,31,.28)}.boss-count{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#c9bdb0}.boss-registry-card{position:relative;overflow:hidden;min-height:330px}.boss-registry-card.has-art{padding-right:39%}.boss-registry-art{position:absolute!important;right:-5%;bottom:0;width:46%!important;height:88%!important;object-fit:contain!important;object-position:center bottom!important;opacity:.78!important;filter:drop-shadow(0 10px 25px rgba(0,0,0,.55));pointer-events:none}.boss-registry-card>*:not(.game-art){position:relative;z-index:2}.boss-title{margin:-5px 0 9px;color:#d6b0a9;font:italic 600 12px Georgia,serif}.boss-play-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.boss-registry-empty{background:#171416!important;color:#cabfb4;border-color:rgba(255,255,255,.08)!important}.boss-registry-empty code{color:#f0b9bf}.boss-registry-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
@media(max-width:760px){.boss-registry-card.has-art{padding-right:24px}.boss-registry-art{opacity:.18!important;width:60%!important;right:-14%}.boss-hall-actions{align-items:flex-start}.boss-count{width:100%}}


/* =============================================================
   DIRECT BOSS DIFFICULTY SELECTOR
   ============================================================= */
.boss-difficulty-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:22px;background:rgba(5,6,7,.76);backdrop-filter:blur(13px);opacity:0;visibility:hidden;transition:.18s ease}
.boss-difficulty-modal.open{opacity:1;visibility:visible}.boss-difficulty-dialog{position:relative;width:min(850px,100%);border:1px solid rgba(230,103,125,.24);border-radius:27px;padding:29px;background:radial-gradient(circle at 87% 4%,rgba(177,43,66,.24),transparent 16rem),linear-gradient(145deg,#21181c,#0f1113 68%,#151b18);box-shadow:0 34px 100px rgba(0,0,0,.6);color:#f4e9db}.boss-difficulty-close{position:absolute;right:17px;top:15px;width:36px;height:36px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.04);color:#c7bdb2;font-size:21px;cursor:pointer}.boss-difficulty-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:7px 0 21px}.boss-difficulty-heading h2{font:700 34px Georgia,serif;margin:0 0 7px;color:#fff0df}.boss-difficulty-heading p{margin:0;color:#aa9f95;font-size:11px}.boss-difficulty-mark{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:rgba(143,38,58,.18);border:1px solid rgba(220,83,105,.2);font-size:26px}.boss-difficulty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.boss-difficulty-card{min-height:158px;text-align:left;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035);color:#eee5da;cursor:pointer;transition:.17s}.boss-difficulty-card:hover{transform:translateY(-2px);border-color:rgba(222,96,115,.28);background:rgba(147,42,61,.09)}.boss-difficulty-card.selected{border-color:rgba(231,101,122,.58);background:linear-gradient(145deg,rgba(141,35,54,.28),rgba(255,255,255,.035));box-shadow:inset 0 0 0 1px rgba(255,150,165,.07),0 12px 30px rgba(0,0,0,.17)}.difficulty-sigil{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;margin-bottom:15px;background:#2d2024;color:#e7a1ac;border:1px solid rgba(224,95,116,.18);font:700 12px Georgia,serif}.boss-difficulty-card strong{display:block;font:700 19px Georgia,serif}.boss-difficulty-card p{font-size:10px;color:#a9a097;line-height:1.55;margin:7px 0 0}.boss-difficulty-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:19px;border-top:1px solid rgba(255,255,255,.07);font-size:10px;color:#b3aaa0}.boss-start-btn{background:linear-gradient(135deg,#9a2e43,#611b29)!important;color:#fff2e8!important;border-color:rgba(240,119,139,.3)!important}

/* =============================================================
   ACCOUNT EQUIPMENT
   ============================================================= */
.top-account-button{appearance:none;font:inherit;cursor:pointer}.top-account-button:hover{transform:translateY(-1px);box-shadow:0 9px 25px rgba(59,47,30,.09)}
.equipment-view{--equip-ink:#233d33}.equipment-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.equipment-crest{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;font:700 30px Georgia,serif;color:#95691f;background:linear-gradient(145deg,#fff5d6,#e6cf8a);border:1px solid rgba(153,105,31,.17);box-shadow:0 13px 30px rgba(92,67,30,.1)}.equipment-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:17px;margin-top:23px}.equipment-panel{border:1px solid rgba(82,68,42,.12);background:linear-gradient(145deg,#fffdf8,#f8f2e4);border-radius:23px;padding:22px;box-shadow:0 12px 32px rgba(74,57,34,.07)}.equipment-level{font-size:9px;color:#8f897c}.equipment-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.equipment-slot{display:flex;align-items:center;gap:15px;min-height:96px;text-align:left;border:1px solid rgba(74,65,45,.12);border-radius:17px;padding:14px;background:rgba(255,255,255,.7);color:#4b514c}.equipment-slot:disabled{opacity:1}.equipment-slot-icon{flex:0 0 52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#f5e9c8,#e9f1e8);border:1px solid rgba(116,92,45,.1);color:#987128;font:700 21px Georgia,serif}.equipment-slot-copy{display:flex;flex-direction:column;min-width:0}.equipment-slot-copy small{font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#9b8e73}.equipment-slot-copy strong{font:700 17px Georgia,serif;color:var(--equip-ink);margin:4px 0 2px}.equipment-slot-copy em{font-size:9px;color:#98958c;font-style:normal}.equipment-side{display:grid;gap:17px;align-content:start}.equipment-side-title{font:700 24px Georgia,serif;color:var(--equip-ink);margin:7px 0 15px}.equipment-bonuses{display:grid;gap:8px}.equipment-bonus{display:flex;justify-content:space-between;gap:14px;padding:10px 11px;border-radius:12px;background:#f3ecdb;font-size:10px}.equipment-bonus b{color:#31765b}.equipment-no-bonus{border:1px dashed rgba(92,75,45,.18);border-radius:14px;padding:18px;text-align:center;color:#9a9385;font-size:10px}.equipment-inventory{min-height:170px}.equipment-empty{height:170px;display:grid;place-items:center;align-content:center;text-align:center;color:#989185}.equipment-empty span{font:700 31px Georgia,serif;color:#c3a75f}.equipment-empty strong{font:700 16px Georgia,serif;color:#59625b;margin:7px 0 3px}.equipment-empty p{font-size:9px;margin:0;max-width:210px;line-height:1.5}.equipment-item{display:flex;gap:10px;align-items:center;padding:10px;border-bottom:1px solid rgba(75,62,39,.08)}.equipment-item-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#f1e6c5}.equipment-item strong,.equipment-item small{display:block}.equipment-item strong{font:700 13px Georgia,serif;color:#364b41}.equipment-item small{font-size:8px;color:#989187;margin-top:2px}
@media(max-width:900px){.equipment-layout{grid-template-columns:1fr}.boss-difficulty-grid{grid-template-columns:1fr}.boss-difficulty-card{min-height:120px}.equipment-slots{grid-template-columns:1fr}}


/* Mordred first-clear rewards / interactive equipment */
.difficulty-reward{margin-top:13px;padding-top:11px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:3px}.difficulty-reward span{font-size:7px;letter-spacing:.14em;font-weight:900;color:#d78291}.difficulty-reward b{font:700 12px Georgia,serif;color:#ffe7dc}.difficulty-reward small{font-size:8px;color:#978d86}.equipment-slot.filled{cursor:pointer}.equipment-slot.filled:hover{border-color:rgba(156,86,54,.25);transform:translateY(-1px)}.equipment-item-rich{align-items:flex-start;border:1px solid rgba(75,62,39,.08);border-radius:15px;margin-bottom:9px;background:rgba(255,255,255,.55);padding:12px}.equipment-item-main{min-width:0;flex:1}.equipment-item-main p{font-size:9px;color:#776f63;line-height:1.45;margin:7px 0}.equipment-item-main ul{padding-left:16px;margin:5px 0 10px;color:#69665e;font-size:8px;line-height:1.55}.equipment-item-actions{display:flex;flex-wrap:wrap;gap:6px}.equipment-equip-btn{border:1px solid rgba(64,95,77,.16);background:#eaf2e8;color:#315747;border-radius:9px;padding:6px 8px;font-size:8px;font-weight:900;cursor:pointer}.equipment-equip-btn:hover{background:#dcebdc}.equipment-equip-btn.active{background:#314d41;color:#f8f2e4;border-color:#314d41}.equipment-active-effect{display:grid;gap:4px;padding:11px;border-radius:13px;background:linear-gradient(145deg,#f4ecda,#fffaf0);border:1px solid rgba(133,97,46,.1)}.equipment-active-effect strong{font:700 13px Georgia,serif;color:#4e493d}.equipment-active-effect span{font-size:8px;line-height:1.45;color:#747067}


/* =============================================================
   READABILITY PASS — larger hub typography
   ============================================================= */
html{font-size:17px}
body{font-size:1rem}
.nav-label{font-size:11px}.nav-btn{font-size:15px}.nav-icon{font-size:13px}
.profile-mini strong{font-size:14px}.profile-mini small{font-size:12px}.avatar{font-size:13px}
.search input{font-size:15px}.kbd{font-size:11px}.level-pill b{font-size:13px}.level-pill small{font-size:11px}
.eyebrow{font-size:11px}.page-lede{font-size:16px}.section-head p{font-size:14px}.text-btn,.btn{font-size:14px}
.hero-stat span{font-size:11px}.portal p{font-size:14px}.quest strong{font-size:14px}.quest small{font-size:12px}.quest-xp{font-size:12px}
.game-kicker{font-size:11px}.game-desc{font-size:14px;line-height:1.55}.tag{font-size:11px}.play-btn{font-size:12px}.xp-chip{font-size:11px}
.boss-hall p,.test-header p{font-size:14px}.boss-pill,.filter,.boss-count{font-size:12px}.boss-title{font-size:15px}
.file-badge{font-size:11px}.resource-card p,.learn-card p{font-size:14px;line-height:1.55}.resource-foot{font-size:11px}
.stat span,.medallion span{font-size:11px}.skill{font-size:13px}.achievement strong{font-size:13px}.achievement small{font-size:11px}
.class-card p,.teacher-tool p{font-size:14px}.assignment{font-size:12px}.result strong{font-size:13px}.result small,.result-type{font-size:11px}.toast strong{font-size:13px}.toast span{font-size:12px}
.journey-card p,.learn-banner p{font-size:14px}.journey-link{font-size:12px}.core-badge{font-size:11px}.flashcard-feature p{font-size:15px}.fc-card.front small,.fc-card.front span{font-size:11px}

/* Difficulty cards: rewards are deliberately prominent beneath each option. */
.boss-difficulty-dialog{width:min(980px,100%)}
.boss-difficulty-card{min-height:255px;padding:21px}
.boss-difficulty-card strong{font-size:22px}.boss-difficulty-card>p{font-size:14px;line-height:1.55}
.boss-difficulty-heading p{font-size:14px}.boss-difficulty-footer{font-size:13px}
.difficulty-reward{margin-top:15px;padding-top:13px;gap:5px}
.difficulty-reward span{font-size:10px}.difficulty-reward b{font-size:16px}.difficulty-reward small{font-size:12px}
.difficulty-reward-description{font-size:12px!important;line-height:1.45!important;color:#c6bbb2!important;margin:4px 0 0!important}

/* Equipment / inventory readability */
.equipment-level{font-size:12px}.equipment-slot-copy small{font-size:11px}.equipment-slot-copy strong{font-size:19px}.equipment-slot-copy em{font-size:12px}
.equipment-side-title{font-size:27px}.equipment-bonus,.equipment-no-bonus{font-size:14px}.equipment-empty strong{font-size:18px}.equipment-empty p{font-size:13px;max-width:310px}
.equipment-item{gap:14px;padding:14px}.equipment-item-icon{width:48px;height:48px;font-size:20px}
.equipment-item strong{font-size:18px}.equipment-item small{font-size:12px}
.equipment-item-rich{padding:16px;margin-bottom:12px}.equipment-item-main p{font-size:15px;line-height:1.6;margin:9px 0}.equipment-item-main ul{font-size:14px;line-height:1.6;margin:7px 0 13px}
.equipment-equip-btn{font-size:12px;padding:8px 11px}.equipment-active-effect strong{font-size:16px}.equipment-active-effect span{font-size:13px;line-height:1.55}
@media(max-width:900px){.boss-difficulty-card{min-height:auto}.boss-difficulty-dialog{max-height:90vh;overflow:auto}}

/* Integrated account + progress dashboard */
.home-account-zone{margin-top:18px}.account-dashboard-card{padding:22px 24px}.hub-auth-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:22px;align-items:center}.hub-auth-wrap h2,.account-dashboard-head h2{font:700 27px Georgia,serif;margin:7px 0}.hub-auth-wrap p,.account-dashboard-head p{color:#77746c;line-height:1.55;margin:0}.hub-auth-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hub-auth-form input{width:100%;border:1px solid #d8d0bf;background:#fffdf8;border-radius:13px;padding:13px 14px;font-size:14px}.hub-auth-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}.hub-auth-form .notice{grid-column:1/-1;margin:0;min-height:18px}.notice.good{color:#1b7b57}.notice.bad{color:#ad3346}.account-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.account-dashboard-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.account-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.account-detail-grid>div{border:1px solid #e4ddcf;background:#faf7ef;border-radius:15px;padding:11px 13px}.account-detail-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#8a857b;font-weight:800}.account-detail-grid strong{display:block;margin-top:3px;font-size:17px}.xpbar.large{height:11px;margin-top:15px}.home-progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.progress-summary-card{display:flex;flex-direction:column;min-height:260px}.summary-card-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}.summary-card-head h3{font:700 20px Georgia,serif;margin:2px 0}.summary-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#211f2b;color:#fff;font-weight:900;box-shadow:0 8px 24px rgba(31,28,43,.18)}.summary-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.summary-stat{border:1px solid #e6dfd2;background:#faf8f2;border-radius:14px;padding:12px}.summary-stat strong{display:block;font-size:22px}.summary-stat span{font-size:10px;color:#858178;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.summary-link{margin-top:auto;padding-top:14px;text-decoration:none;color:#5f49a9;font-weight:850}.activity-list{display:grid;gap:8px}.activity-row,.boss-progress-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;border:1px solid #e7e0d3;background:#fbf9f4;border-radius:13px}.activity-row span,.boss-progress-row span{min-width:0}.activity-row b,.boss-progress-row b{display:block;font-size:12px}.activity-row small,.boss-progress-row small{display:block;color:#817d74;font-size:10px;margin-top:2px;line-height:1.3}.activity-row>strong{font-size:11px;white-space:nowrap;color:#5e4aa2}.clear-dots{display:flex!important;gap:5px;flex:none}.clear-dots i{width:10px;height:10px;border-radius:50%;background:#d8d2c7;border:1px solid #c5beb0}.clear-dots i.cleared{background:#bd2b42;border-color:#991d32;box-shadow:0 0 8px rgba(189,43,66,.35)}.dashboard-empty{padding:14px;border:1px dashed #d7d0c3;border-radius:13px;color:#817d74;background:#faf8f3;font-size:11px;line-height:1.45}.progress-dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.boss-summary-card{background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(250,238,238,.96))}
@media(max-width:1050px){.home-progress-grid,.progress-dashboard-grid{grid-template-columns:1fr 1fr}.hub-auth-wrap{grid-template-columns:1fr}.account-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.home-progress-grid,.progress-dashboard-grid{grid-template-columns:1fr}.hub-auth-form{grid-template-columns:1fr}.account-dashboard-head{display:block}.account-dashboard-actions{justify-content:flex-start;margin-top:10px}.account-detail-grid{grid-template-columns:1fr 1fr}}
.activity-row.unplayed,.boss-progress-row.unplayed{opacity:.68}

/* =====================================================================
   ATHENAEUM VISUAL POLISH 2026
   A bright dark-academia interface with richer hierarchy, depth and motion.
   ===================================================================== */
:root{
  --polish-ink:#173b31;
  --polish-forest:#174b3b;
  --polish-forest-2:#0f382d;
  --polish-gold:#d8a13e;
  --polish-gold-2:#f2cf77;
  --polish-cream:#fffaf0;
  --polish-wine:#963c54;
  --polish-violet:#6554a3;
  --polish-line:rgba(83,69,43,.13);
  --polish-shadow:0 18px 55px rgba(61,49,29,.10),0 2px 8px rgba(61,49,29,.045);
  --polish-shadow-hover:0 28px 70px rgba(56,43,24,.16),0 8px 24px rgba(56,43,24,.08);
}
body{background:#f5efe2;color:#263e34}
body::before{
  animation:athenaeumAmbient 18s ease-in-out infinite alternate;
  background:
    radial-gradient(circle at 88% 9%,rgba(242,198,104,.27),transparent 29rem),
    radial-gradient(circle at 9% 76%,rgba(58,145,109,.20),transparent 33rem),
    radial-gradient(circle at 53% 41%,rgba(118,141,207,.10),transparent 35rem),
    linear-gradient(135deg,#fbf7ef 0%,#eee5d3 58%,#f6efe2 100%)
}
@keyframes athenaeumAmbient{0%{filter:hue-rotate(0deg);transform:scale(1)}100%{filter:hue-rotate(4deg);transform:scale(1.025)}}

/* Sidebar: a premium book-spine / guild-panel feeling. */
.sidebar{
  background:
    linear-gradient(180deg,rgba(18,67,52,.995),rgba(10,45,36,.995)),
    repeating-linear-gradient(90deg,transparent 0 7px,rgba(255,255,255,.01) 8px 9px);
  box-shadow:12px 0 50px rgba(29,52,42,.14);
  border-right:1px solid rgba(255,231,169,.21);
}
.sidebar::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 8%,rgba(244,208,126,.12),transparent 17rem),radial-gradient(circle at 120% 82%,rgba(95,171,139,.12),transparent 20rem)}
.brand,.nav,.nav-label,.sidebar-bottom{position:relative;z-index:1}
.brand{padding-top:11px}.seal{width:52px;height:52px;border-radius:7px;box-shadow:0 12px 30px rgba(3,24,18,.22),inset 0 1px rgba(255,255,255,.55)}
.brand-name{font-size:18px;letter-spacing:.06em;text-shadow:0 2px 12px rgba(0,0,0,.12)}
.brand-name small{font-size:10px;letter-spacing:.27em}
.nav-btn{min-height:48px;font-weight:750;letter-spacing:.01em;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.nav-btn:hover{transform:translateX(4px)}
.nav-btn.active{box-shadow:inset 4px 0 #fff6d7,0 10px 28px rgba(1,25,18,.18);transform:translateX(2px)}
.nav-btn.active .nav-icon{box-shadow:0 5px 12px rgba(73,48,14,.12)}
.profile-mini{box-shadow:inset 0 1px rgba(255,255,255,.08),0 10px 30px rgba(0,0,0,.09)}

/* Top account command centre. */
.topbar{
  min-height:88px;height:auto;
  grid-template-columns:minmax(260px,1fr) minmax(560px,760px);
  padding:11px 26px;
  background:rgba(255,252,246,.83);
  backdrop-filter:blur(26px) saturate(1.35);
  border-bottom:1px solid rgba(89,70,37,.12);
  box-shadow:0 10px 40px rgba(62,47,25,.075);
}
.search input{height:48px;border-radius:16px;padding-left:46px;background:rgba(255,255,255,.78);font-size:15px;box-shadow:inset 0 1px rgba(255,255,255,.9),0 8px 26px rgba(67,52,31,.055)}
.search::before{top:9px;font-size:24px}.kbd{top:12px}
.account-command{min-width:0;justify-self:stretch}
.top-guest-account,.top-signed-account{position:relative;min-height:62px;border-radius:20px;border:1px solid rgba(78,62,35,.12);box-shadow:0 9px 30px rgba(62,47,26,.075);overflow:hidden}
.top-guest-account{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;padding:9px 11px 9px 16px;background:linear-gradient(125deg,rgba(255,250,237,.96),rgba(246,238,218,.94))}
.top-guest-account::after{content:"";position:absolute;width:130px;height:130px;right:-65px;top:-72px;border-radius:50%;background:rgba(220,164,63,.14);pointer-events:none}
.top-guest-copy{position:relative;z-index:1;white-space:nowrap}.top-guest-copy span{display:block;color:#9a722d;font-size:9px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.top-guest-copy strong{display:block;margin-top:3px;font:700 16px Georgia,serif;color:#1d483a}
.top-auth-form{position:relative;z-index:1;display:grid;grid-template-columns:minmax(90px,1fr) minmax(90px,1fr) auto auto;gap:7px;align-items:center}
.top-auth-form input{min-width:0;height:40px;border:1px solid rgba(101,81,45,.16);border-radius:12px;background:rgba(255,255,255,.86);padding:0 11px;color:#234137;outline:none;font-size:12px;box-shadow:inset 0 1px 3px rgba(86,64,27,.025)}
.top-auth-form input:focus{border-color:rgba(188,135,43,.55);box-shadow:0 0 0 3px rgba(224,177,85,.13)}
.top-auth-submit,.top-auth-create,.top-signout{height:40px;border-radius:12px;font-size:11px;font-weight:900;white-space:nowrap;transition:.18s ease}
.top-auth-submit{border:1px solid #be872f;background:linear-gradient(135deg,#d39736,#edc96f);color:#213b30;padding:0 15px;box-shadow:0 7px 18px rgba(169,112,30,.17)}
.top-auth-create{border:1px solid rgba(37,82,64,.16);background:#edf5ef;color:#235442;padding:0 12px}
.top-auth-submit:hover,.top-auth-create:hover,.top-signout:hover{transform:translateY(-1px);filter:saturate(1.08)}
.top-auth-message{position:absolute;right:12px;bottom:2px;z-index:3;font-size:9px;font-weight:800;color:#a23d51;pointer-events:none}
.top-signed-account{display:flex;align-items:center;gap:8px;padding:7px;background:linear-gradient(120deg,#194d3d,#10372d 72%,#282d25);border-color:rgba(230,198,119,.24);box-shadow:0 12px 34px rgba(14,58,44,.20)}
.top-signed-account::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 82% 0%,rgba(239,202,113,.16),transparent 14rem),linear-gradient(90deg,transparent,rgba(255,255,255,.02),transparent);pointer-events:none}
.account-identity{position:relative;z-index:1;appearance:none;flex:1;min-width:0;border:0;background:transparent;display:grid;grid-template-columns:50px minmax(0,1fr);gap:12px;align-items:center;text-align:left;padding:2px 5px;color:#fff;cursor:pointer}
.account-avatar{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#f1d17d,#d89a39);border:1px solid rgba(255,246,209,.82);color:#153b30;font-size:14px;font-weight:950;box-shadow:0 8px 22px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.6)}
.account-identity-copy{min-width:0}.account-name-line{display:flex;align-items:center;gap:8px;min-width:0}.account-name-line strong{font:700 17px Georgia,serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fffaf0}.rank-badge{flex:none;border:1px solid rgba(242,211,132,.30);background:rgba(231,192,101,.12);border-radius:999px;padding:3px 7px;color:#f3d98e;font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.account-title-line{display:flex;gap:6px;align-items:center;min-width:0;margin-top:3px;color:#bdd3c8;font-size:9px;font-weight:700}.account-title-line>span:first-child{color:#f2d486;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-title-line i{opacity:.45;font-style:normal}.account-title-line b{font-weight:750;white-space:nowrap}
.account-xp-track{height:5px;margin-top:7px;border-radius:999px;background:rgba(0,0,0,.23);overflow:hidden}.account-xp-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d99b38,#f5da8d,#80c6a4);box-shadow:0 0 12px rgba(244,209,119,.45);transition:width .45s cubic-bezier(.2,.8,.2,1)}
.top-signout{position:relative;z-index:1;align-self:stretch;height:auto;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);color:#d8e6df;padding:0 11px}

.content{padding:38px clamp(20px,3vw,48px) 70px;max-width:1640px}
.view.active{animation:viewReveal .34s cubic-bezier(.2,.8,.2,1)}
@keyframes viewReveal{from{opacity:0;transform:translateY(10px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}

/* Stronger visual hierarchy and centred titles. */
.view>.eyebrow,.view>.page-title,.view>.page-lede{text-align:center;margin-left:auto;margin-right:auto}
.page-title{font-size:clamp(48px,5.5vw,82px);letter-spacing:-.055em;margin-top:10px;margin-bottom:18px;text-wrap:balance}
.view>.eyebrow{font-size:11px;letter-spacing:.28em}
.section-head{position:relative;justify-content:center;align-items:center;text-align:center;margin:42px 0 18px;min-height:42px}
.section-head>div{max-width:780px}.section-head h2{font-size:clamp(25px,2.2vw,34px);letter-spacing:-.025em;color:#1d493a;text-wrap:balance}.section-head p{font-size:14px;line-height:1.55;margin-top:7px;color:#7a766c}
.section-head>.text-btn,.section-head>a.text-btn,.section-head>button.text-btn,.section-head>.equipment-level,.section-head>.file-badge{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.text-btn{font-size:12px!important;letter-spacing:.02em;transition:.18s}.text-btn:hover{transform:translateY(-2px)}

/* Hero: centred, cinematic and interactive without losing the bright hub tone. */
.workflow-hero{min-height:430px;display:grid;place-items:center;padding:54px 38px 105px;border-radius:34px;background:linear-gradient(120deg,#fffdf8 0%,#f5ecd2 47%,#e5f2e9 100%);box-shadow:0 26px 75px rgba(73,55,28,.13),inset 0 1px rgba(255,255,255,.95)}
.workflow-hero::before{background:radial-gradient(circle at var(--mx,72%) var(--my,22%),rgba(233,190,92,.27),transparent 18rem),radial-gradient(circle at 79% 91%,rgba(59,145,110,.19),transparent 23rem),radial-gradient(circle at 13% 37%,rgba(183,93,123,.12),transparent 23rem);transition:background-position .15s ease}
.workflow-hero::after{width:520px;height:520px;right:-90px;top:-165px;border-color:rgba(170,125,48,.12);box-shadow:0 0 0 70px rgba(215,170,84,.035),0 0 0 145px rgba(68,134,105,.024);animation:heroOrbit 16s linear infinite}
@keyframes heroOrbit{to{transform:rotate(360deg)}}
.workflow-hero .hero-copy{max-width:900px;margin:0 auto;text-align:center}.workflow-hero .eyebrow{font-size:11px;letter-spacing:.28em}.workflow-hero h1{font-size:clamp(54px,6.3vw,92px);line-height:.92;max-width:960px;margin:12px auto 18px;text-wrap:balance;text-shadow:0 2px 0 rgba(255,255,255,.7)}
.workflow-hero h1 em{position:relative;color:#ae6725}.workflow-hero h1 em::after{content:"";position:absolute;left:8%;right:6%;bottom:-8px;height:5px;border-radius:999px;background:linear-gradient(90deg,transparent,#dba34a,#6ba687,transparent);opacity:.75;transform:rotate(-1deg)}
.workflow-hero p{font-size:18px;line-height:1.65;margin:0 auto;color:#5f685f;max-width:690px}.workflow-hero .actions{justify-content:center;margin-top:27px}.workflow-hero .btn{min-width:150px;padding:13px 20px;border-radius:14px;font-size:13px}
.workflow-hero .hero-stats{left:50%;right:auto;bottom:28px;transform:translateX(-50%);grid-template-columns:repeat(3,128px);gap:11px}.workflow-hero .hero-stat{text-align:center;padding:12px;border-radius:16px;background:rgba(255,253,246,.74);backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(74,56,29,.07)}.workflow-hero .hero-stat strong{font-size:16px}.workflow-hero .hero-stat span{font-size:9px;letter-spacing:.12em}

.btn,.play-btn,.download,.summary-link{position:relative;overflow:hidden;isolation:isolate}
.btn::after,.play-btn::after{content:"";position:absolute;top:-50%;bottom:-50%;width:35px;left:-60px;transform:rotate(20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transition:left .5s ease;pointer-events:none}.btn:hover::after,.play-btn:hover::after{left:calc(100% + 30px)}
.btn.primary{background:linear-gradient(135deg,#c98a30,#efcf77);box-shadow:0 10px 28px rgba(172,114,29,.19),inset 0 1px rgba(255,255,255,.52)}

/* Cards: sharper hierarchy, richer depth and subtle colour signatures. */
.panel,.game-card,.resource-card,.learn-card,.journey-card,.class-card,.teacher-tool,.equipment-panel{border-color:var(--polish-line);box-shadow:var(--polish-shadow);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s}
.panel{border-radius:24px;background:linear-gradient(145deg,rgba(255,254,250,.96),rgba(248,241,226,.94))}
.game-card,.resource-card,.learn-card{border-radius:24px;background:linear-gradient(145deg,#fffefa,#f7f0e3);min-height:290px;padding:21px}
.game-card::after,.resource-card::after,.learn-card::after,.journey-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.50),transparent 30%,transparent 70%,rgba(255,255,255,.23));opacity:.55}
.game-card:hover,.resource-card:hover,.learn-card:hover,.journey-card:hover,.class-card:hover,.teacher-tool:hover{transform:translateY(-7px);box-shadow:var(--polish-shadow-hover);border-color:rgba(188,136,46,.28)}
.game-card h3,.resource-card h3,.learn-card h3{font-size:25px;line-height:1.06;letter-spacing:-.025em;margin-top:7px}.game-desc,.resource-card p,.learn-card p{font-size:15px;line-height:1.62}.game-icon{width:56px;height:56px;border-radius:17px;font-size:17px;box-shadow:0 9px 22px rgba(81,61,30,.08)}
.game-kicker{font-size:10px!important;letter-spacing:.18em}.tag{font-size:10px!important;padding:5px 8px}.play-btn{padding:9px 14px;border-radius:10px;font-size:11px!important;font-weight:950;letter-spacing:.05em}

/* Journey cards become the visual bridge between the three pillars. */
.journey-grid{gap:18px;margin-top:4px}.journey-grid::before{height:2px;background:linear-gradient(90deg,transparent,rgba(194,142,49,.40),rgba(59,139,105,.36),rgba(153,60,78,.34),transparent)}
.journey-card{position:relative;overflow:hidden;min-height:235px;border-radius:28px;padding:28px 25px;text-align:center;background:linear-gradient(150deg,#fffefa,#f8f1e5);box-shadow:var(--polish-shadow)}
.journey-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--stage-gradient,linear-gradient(90deg,#d6a24d,#efcf83))}
.journey-card.learn-stage{--stage-gradient:linear-gradient(90deg,#3d9c76,#88c9aa)}.journey-card.practise-stage{--stage-gradient:linear-gradient(90deg,#d59b38,#f0ca6a)}.journey-card.test-stage{--stage-gradient:linear-gradient(90deg,#89364b,#d07182)}
.journey-icon{margin-left:auto;margin-right:auto;width:60px;height:60px;border-radius:19px;box-shadow:0 10px 28px rgba(64,49,27,.10)}.journey-card h3{font-size:29px;margin-top:15px}.journey-card p{font-size:15px!important;line-height:1.6;max-width:360px;margin-left:auto;margin-right:auto}.journey-link{font-size:12px!important}

/* Flashcards feature: keep its identity, make it feel like the flagship. */
.flashcard-feature{border-radius:30px;min-height:350px;padding:38px;background:radial-gradient(circle at 78% 36%,rgba(127,104,191,.20),transparent 22rem),linear-gradient(130deg,#fffdf7,#f4ebd4 58%,#e6eee7);box-shadow:0 24px 70px rgba(61,48,28,.12),inset 0 1px rgba(255,255,255,.92)}
.flashcard-feature h2{font-size:clamp(36px,4vw,58px);letter-spacing:-.04em}.flashcard-feature p{font-size:17px!important;line-height:1.65}.core-badge{font-size:10px!important;letter-spacing:.18em;padding:7px 10px;border-radius:999px}.fc-card{box-shadow:0 26px 60px rgba(60,43,22,.16)}.fc-card.front{transform:rotate(2deg)}.fc-card.middle{transform:translate(-18px,12px) rotate(-5deg)}.fc-card.back{transform:translate(-36px,24px) rotate(-10deg)}

/* Account showcase on Home: profile details are available, but sign-in lives at the top. */
.home-account-zone{margin-top:26px}.account-dashboard-card.account-showcase{position:relative;overflow:hidden;padding:30px;border-radius:28px;background:radial-gradient(circle at 92% 0%,rgba(234,191,93,.18),transparent 18rem),linear-gradient(135deg,#fffdf8,#f5ecd7 66%,#eaf2e8)}
.account-dashboard-card.account-showcase::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-120px;bottom:-145px;border:1px solid rgba(147,107,39,.13);box-shadow:0 0 0 44px rgba(207,158,72,.035),0 0 0 88px rgba(67,137,106,.025)}
.account-dashboard-head,.account-detail-grid,.account-showcase .xpbar{position:relative;z-index:1}.account-showcase-heading h2{font-size:38px!important;letter-spacing:-.03em}.account-showcase-heading p{font-size:14px}.profile-open-btn{background:linear-gradient(135deg,#1d5a46,#153f34)!important;color:#fff!important;border-color:rgba(23,73,58,.22)!important;box-shadow:0 10px 28px rgba(23,73,58,.17)!important}
.account-detail-grid{grid-template-columns:repeat(6,1fr);gap:11px}.account-detail-grid>div{min-height:76px;display:flex;flex-direction:column;justify-content:center;border-radius:17px;background:rgba(255,255,255,.66);border-color:rgba(95,75,42,.10);box-shadow:0 6px 18px rgba(72,55,31,.045)}.account-detail-grid strong{font-size:18px}.account-detail-grid span{font-size:9px}.xpbar.large{height:12px;border-radius:999px;box-shadow:inset 0 2px 4px rgba(69,54,31,.08)}.xpbar.large i{border-radius:inherit;background:linear-gradient(90deg,#c98a30,#efcf77 55%,#4fa27d);box-shadow:0 0 16px rgba(208,159,66,.28)}

/* Progress cards and statistics. */
.home-progress-grid,.progress-dashboard-grid{gap:18px}.progress-summary-card{min-height:300px;padding:24px}.summary-card-head{justify-content:center;text-align:center;flex-direction:column}.summary-card-head h3{font-size:25px}.summary-icon{width:58px;height:58px;border-radius:19px;background:linear-gradient(145deg,#224f40,#173b31);box-shadow:0 12px 28px rgba(23,61,49,.18)}.boss-summary-card .summary-icon{background:linear-gradient(145deg,#8d354a,#5c2030)}
.summary-stat{border-radius:17px;text-align:center;padding:16px 12px;background:rgba(255,255,255,.65)}.summary-stat strong{font-size:30px;color:#1f5744}.summary-stat span{font-size:9px}.activity-row,.boss-progress-row{padding:13px 14px;border-radius:15px;transition:.18s}.activity-row:hover,.boss-progress-row:hover{transform:translateX(3px);background:#fffdf8}.activity-row b,.boss-progress-row b{font-size:13px}.activity-row small,.boss-progress-row small{font-size:11px;line-height:1.45}.activity-row>strong{font-size:12px}.summary-link{text-align:center;font-size:13px;padding-top:18px}
.stat-grid{gap:14px}.stat{border-radius:20px;padding:18px;text-align:center}.stat strong{font-size:34px}.stat span{font-size:10px;letter-spacing:.13em}

/* Learn, resources and toolbar refinements. */
.learn-banner{border-radius:27px;box-shadow:var(--polish-shadow);padding:28px}.learn-banner h2{font-size:31px}.learn-banner p{font-size:15px!important}.learn-banner-icon{box-shadow:0 10px 26px rgba(34,90,69,.14)}
.toolbar{justify-content:center;gap:10px}.toolbar input{max-width:700px}.toolbar input,.toolbar select{height:48px;border-radius:15px;font-size:13px}.filters{justify-content:center}.filter{padding:9px 14px;border-radius:999px;font-size:11px!important}

/* Boss section remains the dramatic counterpoint. */
.test-header{position:relative;display:block;text-align:center;margin-bottom:28px}.test-header>div:first-child{text-align:center}.test-header .page-title{text-align:center;margin-left:auto;margin-right:auto;font-size:clamp(56px,6vw,86px)}.test-emblem{position:absolute;right:0;top:50%;transform:translateY(-50%);box-shadow:0 0 50px rgba(194,49,72,.18)}
.test-boss-hall{min-height:450px;border-radius:30px;box-shadow:0 28px 80px rgba(0,0,0,.42)}.test-boss-hall h2{font-size:clamp(40px,4.5vw,64px);letter-spacing:-.035em}.test-boss-hall .boss-hero-copy{max-width:720px}.boss-registry-card{border-radius:24px;min-height:365px}.boss-registry-card h3{font-size:29px!important}.boss-title{font-size:14px!important}.boss-registry-art{filter:drop-shadow(0 18px 35px rgba(0,0,0,.65))!important}.boss-hall-btn{padding:12px 17px!important}

/* Equipment / classes / teacher cards. */
.equipment-page-head{justify-content:center;position:relative;text-align:center}.equipment-page-head>div:first-child{text-align:center}.equipment-crest{position:absolute;right:0;top:50%;transform:translateY(-50%)}.equipment-panel{border-radius:27px}.equipment-slot{border-radius:19px}.class-grid,.teacher-grid{gap:18px}.class-card,.teacher-tool{border-radius:24px;padding:23px}.teacher-tool strong,.class-card h3{font-size:24px}

/* Modals and notifications. */
.search-modal,.boss-difficulty-modal{backdrop-filter:blur(18px) saturate(.9)}.search-box{border-radius:26px;overflow:hidden}.result{border-radius:14px;margin:4px 7px}.toast{border-radius:17px;box-shadow:0 20px 55px rgba(48,37,23,.20);animation:toastIn .35s cubic-bezier(.2,.9,.2,1)}@keyframes toastIn{from{opacity:0;transform:translateY(14px) scale(.96)}}
.boss-difficulty-dialog{border-radius:30px}.boss-difficulty-card{border-radius:21px}.boss-difficulty-card.selected{transform:translateY(-3px);box-shadow:0 17px 40px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,150,165,.07)}

/* Gentle load-in choreography within the active view. */
.view.active>.hero,.view.active>.section-head,.view.active>.journey-grid,.view.active>.grid3,.view.active>.home-account-zone,.view.active>.home-progress-grid,.view.active>.panel,.view.active>.learn-banner,.view.active>.flashcard-feature,.view.active>.filters,.view.active>.toolbar,.view.active>.game-grid,.view.active>.resource-grid,.view.active>.learn-grid,.view.active>.stat-grid,.view.active>.progress-dashboard-grid,.view.active>.equipment-layout,.view.active>.class-grid,.view.active>.teacher-grid{animation:contentRise .55s both cubic-bezier(.18,.8,.2,1)}
.view.active>.section-head{animation-delay:.04s}.view.active>.journey-grid,.view.active>.grid3,.view.active>.home-progress-grid,.view.active>.game-grid,.view.active>.resource-grid,.view.active>.learn-grid,.view.active>.progress-dashboard-grid{animation-delay:.08s}
@keyframes contentRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(max-width:1280px){
  .topbar{grid-template-columns:minmax(230px,.8fr) minmax(500px,1.2fr);padding-left:18px;padding-right:18px}
  .top-guest-copy{display:none}.top-guest-account{grid-template-columns:1fr;padding-left:10px}.account-detail-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:1050px){
  .topbar{grid-template-columns:1fr;gap:8px}.account-command{width:100%}.top-guest-copy{display:block}.top-guest-account{grid-template-columns:auto minmax(0,1fr)}
  .workflow-hero{min-height:400px}.account-detail-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  body::before{animation:none}.topbar{position:sticky;min-height:0;height:auto;padding:8px 10px 10px;gap:7px;background:rgba(255,252,246,.94)}
  .search input{height:43px}.kbd{display:none}.top-guest-account{grid-template-columns:1fr;padding:9px;border-radius:17px}.top-guest-copy{display:none}.top-auth-form{grid-template-columns:1fr 1fr auto}.top-auth-create{grid-column:1/-1;height:33px}.top-auth-message{bottom:3px}
  .top-signed-account{border-radius:17px;padding:5px}.account-identity{grid-template-columns:42px minmax(0,1fr);gap:9px}.account-avatar{width:42px;height:42px;border-radius:13px}.account-name-line strong{font-size:14px}.rank-badge{font-size:7px}.account-title-line{font-size:8px}.top-signout{font-size:9px;padding:0 8px}
  .content{padding:22px 12px 94px}.page-title{font-size:48px}.section-head{display:block;text-align:center;margin:34px 0 15px}.section-head>.text-btn,.section-head>a.text-btn,.section-head>button.text-btn,.section-head>.equipment-level,.section-head>.file-badge{position:static;display:inline-block;transform:none;margin-top:8px}.text-btn:hover{transform:none}
  .workflow-hero{min-height:430px;padding:36px 19px 112px;border-radius:26px}.workflow-hero h1{font-size:51px}.workflow-hero p{font-size:16px}.workflow-hero .hero-stats{grid-template-columns:repeat(3,92px);bottom:23px}.workflow-hero .hero-stat{padding:9px}.workflow-hero .hero-stat strong{font-size:13px}.workflow-hero .hero-stat span{font-size:7px}
  .journey-card{min-height:200px}.account-detail-grid{grid-template-columns:repeat(2,1fr)}.account-dashboard-head{display:block;text-align:center}.account-dashboard-actions{justify-content:center}.progress-summary-card{min-height:260px}
  .flashcard-feature{padding:25px;min-height:330px}.flashcard-feature h2{font-size:41px}.test-emblem,.equipment-crest{display:none}.test-boss-hall{min-height:390px}.test-boss-hall h2{font-size:40px}.boss-hall-actions{justify-content:center}.boss-hero-copy{text-align:center;margin:0 auto}.boss-pills{justify-content:center}
}
@media(max-width:430px){
  .top-auth-form{grid-template-columns:1fr 1fr}.top-auth-submit,.top-auth-create{height:34px}.top-auth-submit{grid-column:1/2}.top-auth-create{grid-column:2/3}.account-title-line i,.account-title-line b:last-child{display:none}.workflow-hero .hero-stats{grid-template-columns:repeat(3,82px)}.account-detail-grid{grid-template-columns:1fr}.summary-stat-grid{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}
.top-auth-message.good{color:#26755a}.top-auth-message.bad{color:#a43b50}
.top-account-loading{height:62px;border:1px solid rgba(78,62,35,.10);border-radius:20px;background:linear-gradient(120deg,#fffaf0,#f3ead7);display:flex;align-items:center;gap:12px;padding:8px 13px;overflow:hidden}.account-loading-avatar{width:44px;height:44px;border-radius:15px;background:#e8dcc4;animation:accountShimmer 1.25s ease-in-out infinite alternate}.account-loading-lines{display:grid;gap:8px;flex:1}.account-loading-lines i{display:block;height:9px;border-radius:99px;background:#e8dcc4}.account-loading-lines i:first-child{width:42%}.account-loading-lines i:last-child{width:70%}@keyframes accountShimmer{to{background:#f3e7cc;box-shadow:0 0 20px rgba(219,171,78,.15)}}
