:root{--navy:#202b43;--navy2:#152033;--gold:#e9bd66;--cream:#fbf4e7;--ink:#263149;--red:#d7584e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at top,#fff6e7 0,#e9e0d6 78%);color:var(--ink);font-family:Nunito,Arial,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e5ad45;outline-offset:3px}.masthead{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 8px 35px #17233a33}.topline{max-width:1220px;margin:auto;padding:14px 22px 11px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{color:white;text-decoration:none;display:flex;align-items:center;gap:12px}.brand-symbol{height:49px;width:49px;border:2px solid #f5dca3;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#af483f,#da795c);font-size:29px;box-shadow:inset 0 0 0 3px #ffffff26}.logo b{display:block;font:700 25px/1 Fredoka,sans-serif;letter-spacing:1px}.logo .accent{color:#f4c676}.logo small{display:block;margin-top:4px;color:#c2c4cf;font-size:9px;letter-spacing:1.6px;font-weight:900}.stats{display:flex;align-items:center;gap:9px}.stat-pill{border:1px solid #ffffff30;background:#ffffff0e;padding:9px 14px;border-radius:12px;font-size:12px;font-weight:900;white-space:nowrap}.stat-pill.xp{color:#f4d58e}.streak{color:#ffb3a8}.sound{color:#fff;border:1px solid #ffffff34;border-radius:12px;background:#ffffff12;width:37px;height:37px}.navigation{max-width:1040px;margin:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:0 16px 12px}.navigation button{border:1px solid transparent;border-radius:13px;background:transparent;color:#cbd2dd;padding:8px 4px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:1px}.nav-icon{font-size:19px;color:var(--gold)}.navigation button.active,.navigation button:hover{background:linear-gradient(90deg,#f4c77f24,#fff2d115);border-color:#f1cf865e;color:#fff}.xp-track{height:3px;background:#283750}.xp-track>div{width:0;height:100%;background:linear-gradient(90deg,#bd6b49,#ffe5a0);transition:width .4s}main{max-width:1192px;margin:26px auto;padding:0 16px}.hero{border:6px solid #fff4df;box-shadow:0 14px 38px #6a473b38;position:relative;min-height:430px;border-radius:24px;background:url('assets/dojo-courtyard.jpg') center 55%/cover;overflow:hidden;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,28,50,.93),rgba(29,35,50,.67) 37%,rgba(0,0,0,.08) 80%)}.hero-overlay{position:relative;z-index:1;padding:35px 50px;color:white;max-width:650px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:2.2px;color:#ffd68b}.hero h1{font:700 clamp(38px,5.5vw,70px)/1.05 Fredoka,sans-serif;margin:22px 0 12px;letter-spacing:1px;text-shadow:0 5px 20px #111a31}.hero h1 em{font-style:normal;color:#f7ca79}.hero p{font-size:16px;color:#f8e8d7;max-width:410px;font-weight:700}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.primary,.secondary{border-radius:12px;padding:14px 18px;font-size:12px;letter-spacing:1px;font-weight:900}.primary{background:linear-gradient(#f1c77e,#dea55b);color:#242a39;border:2px solid #fee1a8;box-shadow:0 4px 0 #b1783e}.primary span{margin-left:20px}.secondary{background:#ffffff25;border:1px solid #f9e8cb90;color:white}.hero-tag{position:absolute;right:16px;bottom:15px;color:#fffce8;font-size:9px;letter-spacing:2px;font-weight:900;text-shadow:0 2px 8px #222}.sectionline{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:30px 4px 16px}.sectionline small,.engine-heading small{font-size:11px;color:#a97942;font-weight:900;letter-spacing:2px}.sectionline h2,.engine-heading h2{font:700 29px Fredoka;margin:3px 0}.sectionline p{font-size:13px;color:#816d5c;font-weight:800}.zones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.zone{min-height:130px;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #e5d1b7;border-radius:17px;padding:16px 12px;background:linear-gradient(135deg,#fffdf7,#f3e8d9);box-shadow:0 7px 18px #62503b12;transition:transform .2s,box-shadow .2s}.zone:hover{transform:translateY(-4px);box-shadow:0 12px 26px #62503b2b}.zone-emblem{flex:none;width:45px;height:51px;display:grid;place-items:center;border:2px solid #fff7e1;box-shadow:0 2px 8px #3332;border-radius:14px;color:white;font-size:27px}.wisdom{background:#618d9d}.scrolls{background:#c28d51}.memory{background:#769d77}.arena{background:#ca6e66}.zone b{font-size:11px;letter-spacing:.3px;display:block}.zone small{font-size:10px;color:#89766e;display:block;margin-top:6px;line-height:1.5;font-weight:800}.zone .arrow{margin-left:auto;align-self:flex-start;color:#b48d64}.engine{margin-top:30px;background:linear-gradient(#fffaf2,#f7f1e9);border:1px solid #e4d3bb;border-radius:20px;box-shadow:0 10px 32px #5d473515;overflow:hidden}.engine-heading{display:flex;align-items:center;gap:15px;padding:18px 28px;background:linear-gradient(90deg,#f8ead5,#fffdf8);border-bottom:1px solid #e9dbc7}.engine-heading>span{width:46px;height:46px;display:grid;place-items:center;background:#233552;color:#eac481;border-radius:14px;font-size:27px}.engine-heading h2{font-size:25px}.back-btn{margin-left:auto;border:1px solid #ddcbb3;color:#70604c;background:#fffdf9;border-radius:10px;font-weight:900;font-size:10px;padding:11px 13px;letter-spacing:.4px}.iframe-holder{position:relative}.iframe-holder iframe{width:100%;height:800px;border:0;display:block;background:transparent}.missing{margin:25px;background:#fff0da;padding:30px;border:1px solid #e5caa9;border-radius:12px;text-align:center}.missing h2{font-family:Fredoka}footer{max-width:1192px;margin:20px auto 35px;padding:20px 22px;border-top:1px solid #d8c9b8;display:flex;justify-content:space-between;gap:10px;color:#927b62;font-size:11px;font-weight:900;letter-spacing:.6px}footer i{color:#ca6652}.petals{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.petals i{position:absolute;left:12%;top:-40px;width:10px;height:13px;border-radius:100% 0 100% 0;background:#efb2bc9c;animation:petal 18s linear infinite}.petals i:nth-child(2){left:43%;animation-delay:-8s}.petals i:nth-child(3){left:72%;animation-delay:-13s}.petals i:nth-child(4){left:91%;animation-delay:-4s}.petals i:nth-child(5){left:29%;animation-delay:-16s}@keyframes petal{to{transform:translate(90px,110vh) rotate(480deg)}}@media(max-width:900px){.zones{grid-template-columns:1fr 1fr}.zone{min-height:96px}.hero{min-height:360px}.hero-overlay{padding:25px}.navigation button{font-size:9px;gap:4px}.navigation{padding:0 8px 9px}}@media(max-width:620px){.topline{padding:11px 14px}.logo b{font-size:18px}.brand-symbol{width:39px;height:39px;font-size:23px}.logo small{font-size:7px}.stat-pill{padding:7px;font-size:10px}.stats .level{display:none}.stats .streak{display:none}.navigation button{flex-direction:column;gap:1px;font-size:8px}.nav-icon{font-size:20px}.navigation{gap:1px}.hero{min-height:390px;background-position:56% center}.hero:before{background:linear-gradient(90deg,#18223fe8,#24304eaa 60%,#2333512b)}.hero-overlay{padding:20px}.hero p{font-size:13px}.hero h1{font-size:39px}.hero-tag{display:none}.sectionline p{display:none}.zones{gap:9px}.zone{padding:12px 8px;gap:7px;min-height:103px}.zone-emblem{width:33px;height:40px;font-size:20px}.zone b{font-size:9px}.zone small{font-size:9px}.zone .arrow{display:none}.engine-heading{padding:12px;gap:9px}.engine-heading h2{font-size:19px}.engine-heading>span{width:35px;height:38px;font-size:21px}.back-btn{font-size:0;padding:10px}.back-btn:first-letter{font-size:15px}footer{flex-direction:column;align-items:center}.hero-buttons button{padding:11px;font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}


/* V3 Anime Dojo Adventure: premium navigation and lively hub */
.navigation button{position:relative;isolation:isolate;transition:transform .2s ease,background .2s ease,color .2s ease}
.navigation button:hover{transform:translateY(-3px)}
.navigation button.active:after{content:"";position:absolute;bottom:1px;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,#ffdda0,transparent)}
.navigation .nav-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(160deg,#fff3d92a,#e6b25c20);border:1px solid #f8d88d35;color:#fbe2aa;text-shadow:0 2px 8px #f3c37477;font-size:23px;transition:transform .25s ease,box-shadow .25s ease}
.navigation button:hover .nav-icon,.navigation button.active .nav-icon{transform:scale(1.1);box-shadow:0 0 18px #f4d48350}
.hero{border:3px solid #cda467;box-shadow:0 10px 0 #64422e15,0 25px 55px #352c3140}
.zone{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.zone:before{content:"";pointer-events:none;position:absolute;inset:-60%;background:linear-gradient(115deg,transparent 42%,#ffffff60 50%,transparent 58%);transform:translateX(-65%) rotate(-7deg);transition:transform .6s ease}
.zone:hover:before{transform:translateX(65%) rotate(-7deg)}
.zone:hover{transform:translateY(-5px);box-shadow:0 13px 24px #332a2530;border-color:#d0a45d}
.zone-emblem{box-shadow:inset 0 2px 7px #fff8e7a6,0 4px 10px #45322440;border:1px solid #bf9155}
.sensei-card{margin:22px 0 8px;padding:15px 20px;display:flex;gap:18px;align-items:center;background:linear-gradient(115deg,#243450,#304969 55%,#4b5864);border:2px solid #e5bd79;border-radius:18px;color:#fff5e3;box-shadow:0 10px 25px #29213b2c;position:relative;overflow:hidden}
.sensei-card:after{content:"✿";position:absolute;right:17px;top:-42px;font-size:165px;opacity:.06;pointer-events:none}
.sensei-avatar{width:84px;height:84px;flex:none;background:radial-gradient(circle at 50% 12%,#fff3d4,#d9a96c);border:3px solid #f2d28c;border-radius:50%;display:grid;place-items:center;box-shadow:0 5px 14px #080f2355}
.sensei-avatar svg{width:78px;height:78px;overflow:visible}
.sensei-copy{position:relative;z-index:1}.sensei-copy small{display:block;color:#edc886;font-size:11px;font-weight:900;letter-spacing:1.8px}.sensei-copy strong{display:block;font:700 22px Fredoka,Nunito,sans-serif;margin:3px 0 4px}.sensei-copy p{margin:0;color:#efe8db;font-size:13px;line-height:1.55}.sensei-cta{white-space:nowrap;margin-left:auto;align-self:center;background:#f2cc83;color:#27364a;border:1px solid #fff0c9;border-radius:10px;font-weight:900;padding:10px 14px;cursor:pointer;z-index:1}
.sensei-cta:hover{background:#fff0c9}
@media(max-width:620px){.navigation .nav-icon{width:27px;height:27px;font-size:18px;border-radius:9px}.sensei-card{padding:12px;gap:10px;flex-wrap:wrap}.sensei-avatar{width:60px;height:60px}.sensei-avatar svg{width:54px;height:54px}.sensei-copy{flex:1;min-width:190px}.sensei-copy strong{font-size:18px}.sensei-cta{width:100%;margin:0}.zone{min-height:105px}}

/* V3 — Daily quest board */
.daily-panel{margin:24px 0 10px;padding:23px;border-radius:22px;border:2px solid #d4ad75;background:linear-gradient(145deg,#fffaf0,#f3e5ce);box-shadow:0 12px 32px #4a382821}
.daily-head{display:flex;justify-content:space-between;gap:18px;align-items:center}
.daily-head small{color:#a46e3b;font-size:11px;letter-spacing:1.8px;font-weight:900}
.daily-head h2{font:700 30px Fredoka,sans-serif;margin:5px 0}
.daily-head p{margin:0;font-size:13px;color:#766452;font-weight:700}
.daily-count{min-width:88px;text-align:center;padding:9px;border:1px solid #e0bd82;border-radius:14px;background:#fff8e6}
.daily-count strong{display:block;font:700 28px Fredoka,sans-serif;color:#a36638}
.daily-count span{font-size:9px;letter-spacing:1px;font-weight:900}
.daily-progress{height:9px;margin:18px 0;background:#e7d7bf;border-radius:99px;overflow:hidden}
.daily-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c9e79,#c2b965);transition:width .3s}
.daily-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.daily-step{display:flex;align-items:center;gap:10px;padding:14px 12px;border:1px solid #e0cdb0;border-radius:15px;background:#fffdf7;min-width:0}
.daily-step.is-done{border-color:#a1bb97;background:#f4faed}
.daily-step-icon{flex:none;display:grid;place-items:center;font-size:24px;background:#283a56;color:#f7d48d;border-radius:13px;width:43px;height:48px}
.daily-step-copy{flex:1;min-width:0}
.daily-step-copy small{display:block;color:#ae885b;font-size:9px;font-weight:900}
.daily-step-copy strong{display:block;font-size:12px;font-weight:900}
.daily-step-copy span{display:block;font-size:10px;color:#85766c}
.daily-open{border:0;border-radius:9px;background:#e9c47d;padding:10px 9px;font-size:10px;font-weight:900;color:#243046}
.daily-check{display:flex;gap:4px;align-items:center;font-size:10px;font-weight:900;cursor:pointer}
.daily-check input{accent-color:#5e9565;width:17px;height:17px}
.daily-finish{font-weight:900;color:#478052;text-align:center}
.daily-hint{font-size:11px;color:#8b7865;margin:13px 0 0}
[hidden]{display:none!important}
@media(max-width:760px){.daily-grid{grid-template-columns:1fr}}
@media(max-width:420px){.daily-panel{padding:14px}.daily-head h2{font-size:23px}.daily-step{gap:7px;padding:10px 8px}.daily-step-icon{width:34px;height:40px;font-size:19px}.daily-check span{display:none}}

/* V4: Verb Dojo Z training-world design. Keep original gameplay inside iframe. */
:root{--navy:#132c57;--navy2:#0e1e3f;--gold:#ffc33b;--cream:#fff9e9;--ink:#24304c;--red:#e63e35}
body{background:linear-gradient(180deg,#b5e1ff 0,#fff2ca 310px,#f7e1bc 100%);background-attachment:fixed}
.masthead{background:linear-gradient(105deg,#112248,#1b4381 60%,#132c57);border-bottom:3px solid #fbc149}
.brand-symbol{background:linear-gradient(150deg,#ffca34,#f26a20 75%);border:2px solid #fff2c0;color:#592513;box-shadow:0 3px 0 #a34723;font-weight:900}
.logo .accent{color:#ffc43a}
.stat-pill{border-color:#ffd87664;background:#09224969}
.stat-pill.xp{color:#ffd344}
.navigation button.active,.navigation button:hover{background:#ffca3a25;border-color:#ffcf56;color:white}
.navigation .nav-icon{background:linear-gradient(135deg,#2a60ab,#143463)!important;border-color:#5ba1ee!important;color:#ffe18b!important}
main{max-width:1250px}
.hero{min-height:480px;border:5px solid #ffe0a0;box-shadow:0 12px 0 #d96e2d,0 23px 42px #583b2757;border-radius:23px;background-position:center 49%}
.hero:before{background:linear-gradient(90deg,#0e2756f2 0%,#133b7bc9 42%,#185ab923 100%)}
.v4-edition{display:inline-block;border:1px solid #ffdb68;background:#e96d24;color:white;font-weight:900;font-size:11px;letter-spacing:1.2px;border-radius:99px;padding:7px 13px;box-shadow:0 4px 0 #923c24}
.hero h1{font-size:clamp(43px,6.3vw,84px);font-weight:700;letter-spacing:-1.7px;text-transform:uppercase;transform:skew(-4deg);text-shadow:4px 5px 0 #0c203f,0 8px 24px #000a}
.hero h1 em{color:#ffd234;text-shadow:3px 5px 0 #ba4b1d,0 9px 18px #000a}
.hero p{font-size:17px;color:#fff9df}
.primary{background:linear-gradient(#ffdc4c,#ff9629);border:2px solid #fff2af;box-shadow:0 5px 0 #a84c17;color:#402014}
.secondary{background:#16447ca8;border:2px solid #dceeff}
.v4-energy{position:absolute;inset:0;pointer-events:none;overflow:hidden}.v4-energy i{position:absolute;width:3px;height:85px;background:linear-gradient(transparent,#ffe595,transparent);transform:rotate(27deg);right:14%;top:5%;animation:v4zap 4s ease-in-out infinite}.v4-energy i:nth-child(2){right:24%;top:49%;height:130px;animation-delay:1.2s}.v4-energy i:nth-child(3){right:7%;top:59%;animation-delay:2.5s}@keyframes v4zap{0%,100%{opacity:0;transform:translateY(20px) rotate(27deg)}40%{opacity:.95;transform:translateY(-28px) rotate(27deg)}}
.clan-section{margin:36px 0 10px}.clan-intro{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px}.clan-intro small{font-size:11px;font-weight:900;color:#bf5121;letter-spacing:2px}.clan-intro h2{font:700 31px Fredoka,sans-serif;margin:3px 0;color:#163d71}.clan-intro p{color:#715a4d;margin:0;font-weight:800;font-size:13px}.clan-explore{background:#183f75;color:white;border:2px solid #7aafe4;border-radius:13px;padding:12px 17px;font-size:11px;font-weight:900;white-space:nowrap}
.clan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.clan-card{position:relative;min-height:222px;padding:16px 12px;overflow:hidden;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border:3px solid #ffecbe;border-radius:18px;color:white;box-shadow:0 6px 0 #1c243843,0 12px 22px #24345442;isolation:isolate}
.clan-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#ffffff45,transparent 60%);z-index:-1}
.clan-stable{background:linear-gradient(145deg,#287949,#0d473c)}.clan-twin{background:linear-gradient(145deg,#3a85e7,#154490)}.clan-evolve{background:linear-gradient(145deg,#ff973c,#b63819)}.clan-wild{background:linear-gradient(145deg,#8452bc,#392566)}
.clan-number{font-size:10px;font-weight:900;letter-spacing:1.4px;opacity:.9}.clan-sigil{width:75px;height:75px;border-radius:50%;display:grid;place-items:center;border:3px solid #ffffffaf;background:#ffffff25;box-shadow:0 0 0 7px #ffffff16,inset 0 0 22px #fff6;font-size:43px;text-shadow:0 3px 7px #132d6277;transition:transform .3s}
.clan-card:hover .clan-sigil{transform:scale(1.12) rotate(-10deg)}.clan-card h3{font:700 17px Fredoka,sans-serif;margin:0}.clan-card p{font-size:11px;margin:0;opacity:.9;font-weight:800}.clan-card strong{font-size:12px;background:#0003;padding:5px 9px;border-radius:99px}
.sectionline h2{color:#16457a}.zones.v4-locations{gap:15px}
.v4-locations .zone{min-height:167px;display:flex;flex-direction:column;align-items:flex-start;justify-content:end;border:3px solid #ffe1a1;box-shadow:0 6px 0 #895a31,0 15px 26px #503d3940;background:linear-gradient(180deg,#1a5d9a34,#132c58e8 70%),url('assets/dojo-courtyard.jpg') center/cover;color:white}
.v4-locations .zone:nth-child(2){background-position:65% center}.v4-locations .zone:nth-child(3){background-position:85% center}.v4-locations .zone:nth-child(4){background-position:15% center}
.v4-locations .zone-emblem{position:absolute;top:13px;left:13px;width:49px;height:49px;border:2px solid #ffe6a2;background:linear-gradient(145deg,#fbc54b,#dd6028);color:#26395a}
.v4-locations .zone b{font:700 17px Fredoka,sans-serif;text-shadow:0 2px 5px #001b}.v4-locations .zone small{color:#fff1d1;font-size:11px}.v4-locations .zone .arrow{position:absolute;right:14px;top:12px;color:#ffd36d;font-size:20px}
.sensei-card{background:linear-gradient(105deg,#143968,#1d5ba2,#103365);border:3px solid #ffc24c}
.daily-panel{border:3px solid #e99f42;box-shadow:0 7px 0 #be7534,0 18px 30px #57432e2c}.daily-head h2{color:#194b83}.daily-open{background:linear-gradient(#ffd651,#ff9e24)}
.engine{border:3px solid #df9b48;box-shadow:0 7px 0 #ae7438,0 20px 34px #55432926}.engine-heading{background:linear-gradient(90deg,#f8d687,#fff6da)}.engine-heading>span{background:#164e90;color:#ffe17a}
@media(max-width:920px){.clan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clan-card{min-height:190px}.v4-locations .zone{min-height:145px}}
@media(max-width:620px){.hero{min-height:390px}.hero h1{font-size:42px}.clan-grid{gap:9px}.clan-card{min-height:160px;padding:10px 6px}.clan-sigil{width:51px;height:51px;font-size:29px}.clan-card h3{font-size:12px}.clan-card p,.clan-card strong{font-size:9px}.clan-intro{align-items:flex-start;flex-direction:column}.v4-locations .zone{min-height:135px;padding:11px}.v4-locations .zone b{font-size:12px}.v4-locations .zone small{font-size:9px}.v4-locations .zone-emblem{width:39px;height:39px;font-size:21px}}
@media(prefers-reduced-motion:reduce){.v4-energy i{animation:none!important}}

/* V5: original anime heroes and illustrated clan cards */
.hero{isolation:isolate}.hero-overlay{max-width:58%;z-index:4}.hero-overlay h1{font-size:clamp(38px,5.6vw,74px)}.hero-overlay p{max-width:380px}
.v5-hero-cast{position:absolute;right:0;bottom:0;top:15px;width:45%;z-index:2;display:flex;align-items:flex-end;justify-content:center;gap:0;pointer-events:none}
.v5-cast{display:flex;flex-direction:column;align-items:center;position:relative;filter:drop-shadow(5px 10px 1px #142744a0)}
.v5-cast .v5-character{width:clamp(155px,18vw,255px);height:auto}.v5-cast-main{z-index:2;margin-right:-35px}.v5-cast-mentor{z-index:1;transform:scale(.86) translateY(9px)}
.v5-cast-label{position:absolute;bottom:12px;white-space:nowrap;border:2px solid #ffe38d;background:#0b2b63d9;color:#ffe38d;padding:4px 10px;font-size:10px;letter-spacing:1px;font-weight:900;border-radius:10px}
.v5-character{display:block;overflow:visible;filter:drop-shadow(0 4px 3px #0005)}
.clan-card{min-height:288px}.clan-card .clan-sigil{position:absolute;width:120px;height:120px;top:36px;opacity:.28}
.v5-clan-portrait{display:block;height:125px;width:100%;display:flex;justify-content:center;align-items:flex-end;z-index:1}
.v5-clan-portrait .v5-character{height:132px;width:auto}.clan-card h3,.clan-card p,.clan-card strong,.clan-number{position:relative;z-index:2}
.v5-battle{position:relative;min-height:240px;display:flex;justify-content:center;align-items:end;overflow:hidden;gap:30px;padding:30px 22px 22px;background:radial-gradient(circle at 50% 75%,#fcd786 0%,#e88d41 21%,#224f94 55%,#0c2850 100%);border-bottom:5px solid #ffcb53}
.v5-battle:before,.v5-battle:after{content:"";position:absolute;inset:-50%;background:repeating-conic-gradient(from 0deg at 50% 80%,transparent 0deg 16deg,#ffffff10 17deg 18deg);pointer-events:none}
.v5-arena-title{position:absolute;top:10px;left:15px;font:700 21px Fredoka,sans-serif;color:#ffde7b;text-shadow:2px 2px #153262;z-index:2}.v5-arena-title small{display:block;font:900 9px Nunito,sans-serif;letter-spacing:2px;color:white}
.v5-fighter{z-index:2;width:125px;display:flex;flex-direction:column;align-items:center}.v5-fighter .v5-character{height:165px;width:auto}.v5-opponent .v5-character{transform:scaleX(-1)}.v5-fighter-name{background:#132b53;color:#fff;border:2px solid #ffd065;border-radius:8px;text-align:center;padding:4px 7px;font-size:11px;font-weight:900;white-space:nowrap}.v5-fighter-name span{display:block;color:#f5c66c;font-size:8px}
.v5-versus{z-index:2;align-self:center;color:#ffe55a;font:900 57px Fredoka,sans-serif;text-shadow:4px 5px 0 #e85630,-3px -2px #fff;transform:rotate(-8deg)}
.v5-arena-note{position:absolute;right:12px;bottom:7px;font-size:10px;color:white;font-weight:800;z-index:2}
@media(max-width:800px){.v5-hero-cast{width:39%}.hero-overlay{max-width:66%}.v5-cast-mentor{display:none}.clan-card{min-height:240px}}
@media(max-width:620px){.hero-overlay{max-width:88%}.v5-hero-cast{right:-15px;width:35%;opacity:.47}.v5-cast .v5-character{width:140px}.hero-overlay h1{font-size:39px}.clan-card{min-height:215px}.v5-clan-portrait{height:86px}.v5-clan-portrait .v5-character{height:97px}.v5-battle{gap:9px;min-height:205px}.v5-fighter{width:85px}.v5-fighter .v5-character{height:125px}.v5-versus{font-size:39px}.v5-arena-note{display:none}}

/* V6 characters: transparent PNG overlay with safe SVG fallback until images load */
.v6-portrait{display:block;position:relative;width:100%;height:100%;min-width:0;min-height:0}
.v6-portrait>img,.v6-portrait>.v6-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.v6-portrait>img{opacity:0;transition:opacity .2s ease;z-index:2}
.v6-portrait.v6-loaded>img{opacity:1}
.v6-portrait.v6-loaded>.v6-fallback{visibility:hidden}
.v6-fallback{display:flex;justify-content:center;align-items:end}
.v6-fallback svg{width:100%;height:100%}
.v5-cast .v6-portrait{width:clamp(155px,18vw,255px);height:310px}
.v5-clan-portrait .v6-portrait{width:115px;height:132px}
.v5-fighter .v6-portrait{width:135px;height:165px}
.v5-opponent .v6-portrait{transform:scaleX(-1)}
@media(max-width:800px){.v5-cast .v6-portrait{height:245px;width:175px}}
@media(max-width:620px){.v5-cast .v6-portrait{height:180px;width:140px}.v5-clan-portrait .v6-portrait{height:97px;width:92px}.v5-fighter .v6-portrait{height:125px;width:100px}}


/* V6.1 — precise hero layout fix: text and original PNG characters never overlap */
.hero{position:relative;isolation:isolate}
.hero-overlay{position:relative;z-index:5;max-width:61%;width:61%;padding:40px 26px 58px 46px}
.v4-edition{display:inline-flex;align-items:center;margin:0 0 12px 0;vertical-align:top}
.hero .eyebrow{display:block;line-height:1.5;margin:0 0 21px 2px;clear:both}
.hero-overlay h1{font-size:clamp(37px,5.2vw,67px);line-height:1.09;margin:12px 0 15px}
.v5-hero-cast{position:absolute;inset:auto 12px 15px auto;width:36%;height:84%;display:flex;align-items:flex-end;justify-content:flex-end;gap:0;z-index:3;pointer-events:none}
.v5-cast{position:relative;display:flex;align-items:end;justify-content:center}
.v5-cast-main{margin:0 -8px 0 0;z-index:2;transform:none}
.v5-cast-mentor{z-index:1;transform:scale(.86);transform-origin:bottom right}
.v5-cast .v6-portrait{height:clamp(175px,23vw,300px);width:clamp(130px,16vw,215px)}
.v5-cast .v5-character{width:100%;height:100%}
.v5-cast-label{display:none!important}
.hero-tag{right:15px;bottom:9px;z-index:6}
@media(max-width:900px){
.hero-overlay{max-width:65%;width:65%;padding:32px 20px 48px 28px}
.hero-overlay h1{font-size:clamp(34px,5.1vw,53px)}
.v5-hero-cast{width:33%;right:7px}
.v5-cast .v6-portrait{width:clamp(110px,15vw,160px);height:clamp(155px,24vw,230px)}
}
@media(max-width:620px){
.hero-overlay{max-width:100%;width:100%;padding:24px 20px 38px}
.hero-overlay h1{font-size:clamp(34px,9vw,42px)}
.hero .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:17px}
.v5-hero-cast{width:36%;right:-8px;bottom:0;height:48%;opacity:.24}
.v5-cast-main{margin:0}.v5-cast-mentor{display:none}
.v5-cast .v6-portrait{width:125px;height:160px}
.hero-tag{display:none}
}

/* V6.2 — strict, non-overlapping hero layout. No absolute-positioned characters. */
.hero{
  display:grid!important;
  grid-template-columns:minmax(0, 1.25fr) minmax(0, .85fr)!important;
  align-items:center!important;
  min-height:470px!important;
  height:auto!important;
  padding:0!important;
}
.hero-overlay{
  grid-column:1!important;
  grid-row:1!important;
  max-width:none!important;
  width:100%!important;
  padding:38px 12px 42px 42px!important;
  min-width:0!important;
}
.hero-overlay h1{
  font-size:clamp(34px,4.8vw,63px)!important;
  overflow-wrap:normal;
}
.v5-hero-cast{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:flex-end!important;
  align-self:stretch!important;
  overflow:hidden!important;
  padding:24px 10px 27px 0!important;
}
.v5-cast-main{margin:0 -10px 0 0!important;flex:0 1 54%;min-width:0}
.v5-cast-mentor{flex:0 1 46%;min-width:0;transform:none!important}
.v5-cast .v6-portrait{
  width:100%!important;
  max-width:190px!important;
  height:260px!important;
}
.hero-tag{display:none!important}
@media(max-width:900px){
  .hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)!important}
  .hero-overlay{padding:26px 8px 32px 25px!important}
  .hero-overlay h1{font-size:clamp(32px,5vw,48px)!important}
  .v5-cast .v6-portrait{height:205px!important}
  .v5-cast-mentor{display:none!important}
  .v5-cast-main{flex:0 1 100%;margin:0!important}
}
@media(max-width:620px){
  .hero{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    min-height:0!important;
  }
  .hero-overlay{
    grid-column:1!important;grid-row:1!important;
    padding:23px 20px 8px!important;
    max-width:none!important;width:100%!important;
  }
  .hero-overlay h1{font-size:clamp(34px,9vw,46px)!important}
  .v5-hero-cast{
    grid-column:1!important;grid-row:2!important;
    opacity:1!important;
    width:100%!important;height:160px!important;
    justify-content:flex-end!important;
    padding:0 18px 4px!important;
    right:auto!important;bottom:auto!important;
  }
  .v5-cast-main{flex:0 0 125px!important}
  .v5-cast .v6-portrait{height:155px!important;max-width:125px!important}
}

/* V7 PNG icon pack with vector glyph fallback until assets are uploaded */
.nav-icon,.zone-emblem,.clan-sigil,.daily-step-icon,.brand-symbol,.engine-heading>span{position:relative;isolation:isolate;overflow:visible}
.v7-icon{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;z-index:2;filter:drop-shadow(0 3px 3px #172a4244)}
.v7-icon-ready>.v7-icon{opacity:1}
.v7-icon-ready{font-size:0!important;text-shadow:none!important}
.navigation .nav-icon{width:49px;height:49px;background:none!important;border:0!important}
.v4-locations .zone-emblem{width:66px;height:66px;background:none!important;border:0!important;box-shadow:none!important}
.v4-locations .zone{padding-top:81px}
.daily-step-icon{width:50px;height:53px;background:transparent}
.clan-card .clan-sigil{opacity:1;z-index:2;width:88px;height:88px;top:34px;border:0;background:transparent;box-shadow:none}
.brand-symbol{overflow:visible}
.engine-heading>span{overflow:visible}
@media(max-width:620px){.navigation .nav-icon{width:32px;height:32px}.v4-locations .zone-emblem{width:42px;height:42px}.v4-locations .zone{padding-top:57px}}

/* V7.1 — controlled icon slots, centralized PNG art, responsive spacing */
.navigation button{min-width:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important}
.navigation .nav-icon{position:relative!important;display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;line-height:1!important;padding:0!important;margin:0 auto!important;transform:none!important}
.navigation button:hover .nav-icon,.navigation button.active .nav-icon{transform:none!important}
.v7-icon{inset:0!important;display:block!important;object-fit:contain!important;object-position:center center!important;margin:auto!important;padding:2px!important;max-width:100%!important;max-height:100%!important}
.zone .zone-emblem{position:relative!important;left:auto!important;top:auto!important;flex:0 0 58px!important;width:58px!important;height:58px!important;display:grid!important;place-items:center!important;margin:0 auto 9px!important;transform:none!important;box-shadow:none!important}
.v4-locations .zone{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;text-align:center!important;gap:7px!important;padding:16px 10px!important;min-height:184px!important}
.v4-locations .zone>span:nth-child(2){display:block!important;width:100%!important;min-width:0!important}
.v4-locations .zone .arrow{position:absolute!important;top:10px!important;right:12px!important}
.daily-step-icon{flex:0 0 48px!important;width:48px!important;height:48px!important;display:grid!important;place-items:center!important;padding:0!important}
.clan-card .clan-sigil{position:relative!important;top:auto!important;left:auto!important;flex:0 0 62px!important;width:62px!important;height:62px!important;margin:8px auto 0!important;opacity:1!important}
.clan-card .v5-clan-portrait{margin-top:-10px}
.brand-symbol{flex-shrink:0!important}
.engine-heading>span{flex-shrink:0!important;position:relative!important}
.sensei-avatar{width:100px!important;height:100px!important;flex:0 0 100px!important;border-radius:50%!important;overflow:hidden!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important}
.sensei-avatar .v6-portrait{width:100%!important;height:100%!important;display:block!important}
.sensei-avatar .v6-portrait>img,.sensei-avatar .v6-fallback{object-fit:contain!important;object-position:center center!important}
.sensei-avatar .v6-fallback svg{width:100%!important;height:100%!important}
#hero #v5HeroCast{justify-content:center!important}
#hero #v5HeroCast .v5-cast-main{flex:0 1 230px!important;margin:0!important}
@media(max-width:620px){
.navigation .nav-icon{flex-basis:31px!important;width:31px!important;height:31px!important}
.v4-locations .zone{min-height:148px!important;padding:12px 7px!important}
.zone .zone-emblem{flex-basis:43px!important;width:43px!important;height:43px!important;margin-bottom:5px!important}
.clan-card .clan-sigil{flex-basis:46px!important;width:46px!important;height:46px!important}
.sensei-avatar{width:72px!important;height:72px!important;flex-basis:72px!important}
}

/* V7.2 — accurately centered six individual menu illustrations */
.navigation .nav-icon,.v4-locations .zone-emblem{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;overflow:visible!important}
.navigation .nav-icon{flex:0 0 48px!important;width:48px!important;height:48px!important}
.v4-locations .zone-emblem{flex:0 0 62px!important;width:62px!important;height:62px!important;margin-inline:auto!important}
.navigation .nav-icon .v7-icon,.v4-locations .zone-emblem .v7-icon{position:absolute!important;width:100%!important;height:100%!important;inset:0!important;object-fit:contain!important;object-position:50% 50%!important;padding:0!important;margin:0!important;transform:none!important}
.navigation button{min-width:0!important}
@media(max-width:620px){.navigation .nav-icon{flex-basis:34px!important;width:34px!important;height:34px!important}.v4-locations .zone-emblem{flex-basis:45px!important;width:45px!important;height:45px!important}}

/* V8: precise Lot B and Lot C asset placement */
.clan-card .clan-sigil{position:relative!important;top:auto!important;left:auto!important;margin:7px auto 0!important;width:76px!important;height:76px!important;flex:0 0 76px!important;background:none!important;border:0!important;box-shadow:none!important;opacity:1!important;overflow:visible!important}
.clan-card .clan-sigil .v7-icon{padding:0!important;width:100%!important;height:100%!important;object-fit:contain!important}
.sound{position:relative!important;overflow:visible!important}
.sound .v7-icon{inset:3px!important;width:calc(100% - 6px)!important;height:calc(100% - 6px)!important;padding:0!important}
.stat-pill.level,.stat-pill.xp,.daily-count,.daily-head{position:relative}
.stat-pill.level .v7-icon,.stat-pill.xp .v7-icon{left:4px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important;height:18px!important;padding:0!important}
.stat-pill.level.v7-icon-ready,.stat-pill.xp.v7-icon-ready{font-size:12px!important;padding-left:25px!important}
.daily-head>.v7-icon{inset:auto 110px auto auto!important;top:0!important;width:45px!important;height:45px!important}
.daily-head.v7-icon-ready{font-size:inherit!important}
.daily-count>.v7-icon{inset:auto!important;right:-8px!important;top:-8px!important;width:24px!important;height:24px!important}
.daily-count.v7-icon-ready{font-size:inherit!important}
.daily-finish{position:relative;padding-left:35px}
.daily-finish .v7-icon{inset:0 auto auto 0!important;width:28px!important;height:28px!important}
.daily-finish.v7-icon-ready{font-size:inherit!important}
@media(max-width:620px){.clan-card .clan-sigil{width:51px!important;height:51px!important;flex-basis:51px!important}.daily-head>.v7-icon{display:none!important}}

/* V8.1: clan crest and character are independent, never overlaid */
.clan-grid .clan-card{
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:22px 78px 135px auto auto auto!important;
 justify-items:center!important;
 align-content:start!important;
 align-items:center!important;
 gap:5px!important;
 min-height:345px!important;
 padding:12px 10px 16px!important;
 overflow:hidden!important;
}
.clan-grid .clan-card .clan-number{grid-row:1!important;align-self:center!important;margin:0!important}
.clan-grid .clan-card .clan-sigil{
 grid-row:2!important;
 position:relative!important;
 inset:auto!important;
 top:auto!important;
 left:auto!important;
 right:auto!important;
 bottom:auto!important;
 display:block!important;
 width:72px!important;
 height:72px!important;
 flex:none!important;
 margin:0!important;
 padding:0!important;
 opacity:1!important;
 transform:none!important;
 border:0!important;
 background:none!important;
 box-shadow:none!important;
 z-index:2!important;
 overflow:hidden!important;
}
.clan-grid .clan-card .clan-sigil .v7-icon{
 position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;
 display:block!important;object-fit:contain!important;
 object-position:center!important;padding:0!important;
 margin:0!important;transform:none!important;
}
.clan-grid .clan-card .v5-clan-portrait{
 grid-row:3!important;
 display:flex!important;
 align-items:flex-end!important;
 justify-content:center!important;
 position:relative!important;
 width:100%!important;
 height:135px!important;
 min-height:0!important;
 margin:0!important;
 overflow:hidden!important;
 z-index:1!important;
}
.clan-grid .clan-card .v5-clan-portrait .v6-portrait{
 position:relative!important;
 display:block!important;
 width:128px!important;
 height:135px!important;
 margin:0 auto!important;
}
.clan-grid .clan-card .v5-clan-portrait .v5-character{
 height:100%!important;width:100%!important;
}
.clan-grid .clan-card h3{grid-row:4!important;margin:2px 0 0!important;text-align:center!important}
.clan-grid .clan-card p{grid-row:5!important;margin:0!important;text-align:center!important}
.clan-grid .clan-card>strong{grid-row:6!important;margin:4px 0 0!important;text-align:center!important}
@media(max-width:620px){
 .clan-grid .clan-card{grid-template-rows:18px 53px 93px auto auto auto!important;min-height:265px!important;gap:4px!important;padding:9px 5px 12px!important}
 .clan-grid .clan-card .clan-sigil{width:51px!important;height:51px!important}
 .clan-grid .clan-card .v5-clan-portrait{height:93px!important}
 .clan-grid .clan-card .v5-clan-portrait .v6-portrait{height:93px!important;width:88px!important}
}

/* V8.2 — simple logo-only clan cards, overrides old layered character rules */
.clan-grid .clan-card{
 display:flex!important;flex-direction:column!important;align-items:center!important;
 justify-content:flex-start!important;gap:9px!important;
 min-height:255px!important;padding:18px 12px!important;overflow:hidden!important
}
.clan-grid .clan-card .v5-clan-portrait{display:none!important}
.clan-grid .clan-card .clan-number{order:0!important;align-self:center!important}
.clan-grid .clan-card .clan-sigil{
 order:1!important;position:relative!important;inset:auto!important;
 display:grid!important;place-items:center!important;align-self:center!important;
 width:132px!important;height:132px!important;flex:0 0 132px!important;
 margin:1px auto 2px!important;padding:0!important;
 background:none!important;border:0!important;box-shadow:none!important;opacity:1!important;
 overflow:hidden!important;transform:none!important
}
.clan-grid .clan-card .clan-sigil .v7-icon{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 display:block!important;object-fit:contain!important;object-position:center!important;
 margin:0!important;padding:0!important;transform:none!important
}
.clan-grid .clan-card h3{order:2!important;margin:0!important;text-align:center!important}
.clan-grid .clan-card p{order:3!important;margin:0!important;text-align:center!important}
.clan-grid .clan-card>strong{order:4!important;margin-top:3px!important;text-align:center!important}
@media(max-width:620px){
 .clan-grid .clan-card{min-height:223px!important;padding:12px 7px!important;gap:7px!important}
 .clan-grid .clan-card .clan-sigil{width:88px!important;height:88px!important;flex-basis:88px!important}
}

/* V9.5 clickable clan cards and clean self-contained Sensei illustration */
button.clan-card{font:inherit;color:inherit;cursor:pointer;text-align:center;border-style:solid}
button.clan-card:hover{filter:brightness(1.045);box-shadow:0 11px 24px #43280d33}
button.clan-card:focus-visible{outline:4px solid #fbc759;outline-offset:4px}
.sensei-avatar>.v5-character{display:block!important;width:100%!important;height:100%!important;max-height:100%!important;overflow:hidden!important}
@media(prefers-reduced-motion:reduce){button.clan-card{transition:none!important}}

/* V9.6 — sensei medallion replaces SVG */
.sensei-avatar{background:#123c79!important;overflow:hidden!important;border-color:#e8b85d!important}
.sensei-avatar .sensei-medallion{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}
.sensei-avatar.sensei-image-missing:after{content:'✦';color:#ffe0a0;font-size:38px;position:absolute;inset:0;display:grid;place-items:center}
