/* Chosen Armor Academy 6.4 — Batch 2 immersive Kingdom Map.
   Student-only. All route destinations use existing action handlers and real subject completion. */
#caa2-root .caa2-kingdom-v64{font-family:Poppins,Arial,sans-serif;width:min(1360px,100%);margin:0 auto;padding:clamp(10px,2vw,25px) clamp(10px,2.5vw,28px) 105px;box-sizing:border-box;color:#183d7b}
#caa2-root .caa2-route-hero{position:relative;isolation:isolate;min-height:260px;overflow:hidden;border:3px solid #fff;border-radius:36px;box-shadow:0 18px 35px #15487845;background:linear-gradient(93deg,#f4fcfff2 1%,#e7f7ffde 47%,#eff8ff64 88%),url('kingdom-stage.webp') center 37% /cover;padding:clamp(22px,3vw,42px)}
#caa2-root .caa2-route-hero:before{content:"";position:absolute;inset:auto -20% -55% 20%;height:74%;background:radial-gradient(ellipse,#fffcdca6,transparent 70%);z-index:-1;pointer-events:none}
#caa2-root .caa2-route-back{position:relative;z-index:3;border:1.5px solid #c1defa;border-radius:14px;padding:10px 16px;min-height:40px;background:#fffc;color:#195497;font-size:12px;font-weight:900;box-shadow:0 2px 10px #315e8822;cursor:pointer}
#caa2-root .caa2-route-hero-copy{position:relative;z-index:2;max-width:67%;padding-top:17px}
#caa2-root .caa2-route-eyebrow{display:block;letter-spacing:.15em;font-size:10px;font-weight:900;color:#3675a8}
#caa2-root .caa2-route-hero h1{font:900 clamp(29px,3.6vw,48px)/1.08 Poppins,Arial,sans-serif;color:#143b7d!important;letter-spacing:-.04em;margin:7px 0 10px!important;text-shadow:0 2px 0 #fff9}
#caa2-root .caa2-route-hero p{font-size:clamp(12px,1.3vw,16px);line-height:1.55;font-weight:700;color:#47749a;max-width:590px;margin:0!important}
#caa2-root .caa2-route-hero-pill{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;margin-top:17px;border:1px solid #fff;border-radius:99px;background:#fffefde8;box-shadow:0 5px 17px #26558225;font-size:11px;color:#876219;font-weight:900}
#caa2-root .caa2-route-hero-pals{position:absolute;z-index:1;width:310px;height:278px;right:4%;bottom:-27px;display:grid;place-items:end center;filter:drop-shadow(0 9px 12px #214c7239)}
#caa2-root .caa2-route-hero-pals img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
#caa2-root .caa2-route-adventure{overflow:hidden;position:relative;isolation:isolate;margin:20px 0 22px;background:linear-gradient(180deg,#d5f2ffee,#e6f9eaca),url('kingdom-map-art-v64/kingdom-landscape.svg') center center / 100% 100% no-repeat;border:3px solid #fff;border-radius:38px;box-shadow:0 20px 39px #164f7c43}
#caa2-root .caa2-route-adventure:before{content:"";position:absolute;inset:0;background:url('kingdom-map-art-v64/kingdom-landscape.svg') center center / 100% 100% no-repeat;opacity:.96;pointer-events:none;z-index:-1}
#caa2-root .caa2-route-header{position:relative;z-index:2;margin:0 auto;padding:23px 18px 6px;max-width:740px;text-align:center}
#caa2-root .caa2-route-header>span{font-weight:950;letter-spacing:.21em;font-size:10px;color:#2474a1;text-shadow:0 1px 0 #fff}
#caa2-root .caa2-route-header h2{font:900 clamp(22px,3vw,34px)/1.2 Poppins,Arial,sans-serif;color:#153d7b!important;margin:5px 0!important;text-shadow:0 2px 0 #fff9}
#caa2-root .caa2-route-header p{margin:0!important;color:#386482;font-size:12px;font-weight:800;text-shadow:0 1px 0 #fff}
#caa2-root .caa2-route-legend{position:relative;z-index:2;display:flex;justify-content:center;flex-wrap:wrap;gap:11px;padding:12px}
#caa2-root .caa2-route-legend>span{background:#fffdf9d9;border:1px solid #fff8;border-radius:99px;padding:7px 14px;color:#235985;font-weight:850;font-size:10px;box-shadow:0 4px 10px #16598220}
#caa2-root .caa2-route-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#45b990;margin-right:6px}
#caa2-root .caa2-route-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,310px);column-gap:clamp(32px,11vw,170px);row-gap:50px;justify-items:center;align-items:center;padding:20px clamp(14px,6vw,76px) 70px}
#caa2-root .caa2-route-stop{--route-tone:#2aa2c8;--route-light:#d7f7ff;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:min(100%,390px);height:290px;min-width:0;padding:0 10px 9px;border:0;background:transparent;cursor:pointer;color:#16447a;text-align:center;transition:transform .22s ease;isolation:isolate;font-family:inherit;touch-action:manipulation}
#caa2-root .caa2-route-stop:hover{transform:translateY(-7px) scale(1.025)}
#caa2-root .caa2-route-stop:focus-visible{outline:4px solid #186ed9;outline-offset:4px;border-radius:27px}
/* The numbered route follows the S-curve: left → right → right → left → left → right. */
#caa2-root .caa2-route-stop-3{grid-column:2;grid-row:2}
#caa2-root .caa2-route-stop-4{grid-column:1;grid-row:2}
#caa2-root .caa2-route-stop-2,#caa2-root .caa2-route-stop-3,#caa2-root .caa2-route-stop-6{transform:translateY(20px)}
#caa2-root .caa2-route-stop-2:hover,#caa2-root .caa2-route-stop-3:hover,#caa2-root .caa2-route-stop-6:hover{transform:translateY(11px) scale(1.025)}
#caa2-root .caa2-route-number{position:absolute;z-index:5;top:8px;left:calc(50% - 156px);height:44px;width:44px;display:grid;place-items:center;border:4px solid #fff;box-shadow:0 5px 11px #1b4e7a44;border-radius:50%;background:linear-gradient(135deg,#ffd879,#dc993e);color:#643c1b;font-size:14px;font-weight:950}
#caa2-root .caa2-route-artwrap{position:absolute;inset:0 10px 35px;z-index:1;display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(0 9px 5px #134c6940)}
#caa2-root .caa2-route-landmark{width:100%;max-width:340px;height:230px;object-fit:contain;display:block;transition:transform .22s ease}
#caa2-root .caa2-route-stop:hover .caa2-route-landmark{transform:scale(1.07)}
#caa2-root .caa2-route-sign{display:flex;align-items:center;gap:8px;z-index:3;position:relative;width:100%;min-height:84px;padding:10px 9px 10px 10px;box-sizing:border-box;border:3px solid #fff;border-radius:18px;background:linear-gradient(135deg,#fffdf9 12%,var(--route-light) 90%);box-shadow:0 9px 21px #1a4c784f,0 2px 0 var(--route-tone);text-align:left}
#caa2-root .caa2-route-thumb{display:block;flex:0 0 69px;width:69px;height:61px;background:#fff;border-radius:12px;overflow:hidden;border:2px solid #fff;box-shadow:0 3px 8px #254a6b25}
#caa2-root .caa2-route-thumb img{width:100%;height:100%;object-fit:cover;object-position:center}
#caa2-root .caa2-route-name{min-width:0;display:grid;gap:2px;flex:1}
#caa2-root .caa2-route-name strong{font-size:clamp(15px,1.4vw,18px);line-height:1.15;color:#153e79;font-weight:950;letter-spacing:-.02em}
#caa2-root .caa2-route-name small{color:#52769a;font-size:10px;font-weight:700;line-height:1.35}
#caa2-root .caa2-route-arrow{font-size:25px;display:grid;place-items:center;color:#fff;background:var(--route-tone);height:31px;width:31px;border-radius:50%;flex:0 0 31px;box-shadow:0 4px 10px #224a7438}
#caa2-root .caa2-route-completion{position:relative;z-index:3;padding:6px 13px;margin-top:5px;font-size:10px;font-weight:900;color:#1a5684;border:1px solid #fffd;border-radius:99px;background:#fffc;box-shadow:0 4px 10px #124b6d25}
#caa2-root .caa2-route-forest{--route-tone:#20a976;--route-light:#daf7e5}
#caa2-root .caa2-route-mountain{--route-tone:#2689d8;--route-light:#d3efff}
#caa2-root .caa2-route-garden{--route-tone:#44a56c;--route-light:#e3f9d7}
#caa2-root .caa2-route-castle{--route-tone:#c68a2f;--route-light:#fff0c9}
#caa2-root .caa2-route-studio{--route-tone:#df73a6;--route-light:#ffe1f0}
#caa2-root .caa2-route-arcade{--route-tone:#8a60ca;--route-light:#eadbff}
#caa2-root .caa2-route-extras{border-radius:27px;border:2px solid #fff;background:linear-gradient(110deg,#fdfcf3ed,#e6f1ffed);box-shadow:0 11px 25px #23457b30;padding:22px clamp(12px,2.5vw,27px);margin-top:15px}
#caa2-root .caa2-route-extras-title{text-align:center;margin-bottom:17px}
#caa2-root .caa2-route-extras-title>span{font-size:10px;letter-spacing:.18em;font-weight:950;color:#2c79af}
#caa2-root .caa2-route-extras-title h2{margin:5px 0!important;color:#193f80!important;font:900 clamp(19px,2.5vw,27px)/1.2 Poppins,Arial,sans-serif}
#caa2-root .caa2-route-extra-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#caa2-root .caa2-route-extra-list button{display:flex;align-items:center;gap:10px;min-width:0;text-align:left;min-height:91px;padding:10px;border-radius:19px;border:2px solid #fff;background:linear-gradient(140deg,#fff,#e8f5ff);box-shadow:0 6px 13px #1e569b29;color:#1b447c;font-family:inherit;cursor:pointer}
#caa2-root .caa2-route-extra-list button:nth-child(2){background:linear-gradient(145deg,#fff,#e6f9eb)}
#caa2-root .caa2-route-extra-list button:nth-child(3){background:linear-gradient(145deg,#fff,#ffedf3)}
#caa2-root .caa2-route-extra-list button:hover{transform:translateY(-3px)}
#caa2-root .caa2-route-extra-image{width:73px;height:69px;flex:0 0 73px;background:#ddecfb;border-radius:13px;overflow:hidden}
#caa2-root .caa2-route-extra-image img{height:100%;width:100%;object-fit:cover}
#caa2-root .caa2-route-extra-list button>span:nth-child(2){min-width:0;flex:1}
#caa2-root .caa2-route-extra-list strong{display:block;font-size:13px;line-height:1.25;font-weight:950}
#caa2-root .caa2-route-extra-list small{display:block;color:#52779b;font-size:10px;line-height:1.3;margin-top:3px}
#caa2-root .caa2-route-extra-list b{font-size:22px;color:#268ad5}
#caa2-root .caa2-route-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:19px 10px;color:#3266a0;font-size:11px;font-weight:850}
#caa2-root .caa2-route-footer button{padding:11px 17px;border-radius:12px;background:#186bd0;border:2px solid #fff;color:#fff;font:900 12px Poppins,Arial,sans-serif;cursor:pointer}
@media (max-width:980px){
#caa2-root .caa2-route-hero{min-height:230px}#caa2-root .caa2-route-hero-pals{width:260px;height:242px}
#caa2-root .caa2-route-board{column-gap:25px;row-gap:30px;padding:17px 15px 60px;grid-template-rows:repeat(3,288px)}
#caa2-root .caa2-route-stop{height:275px}#caa2-root .caa2-route-landmark{height:215px}#caa2-root .caa2-route-number{left:calc(50% - 132px)}
#caa2-root .caa2-route-extra-list{gap:9px}#caa2-root .caa2-route-extra-image{width:58px;height:58px;flex-basis:58px}#caa2-root .caa2-route-extra-list button{gap:7px}
}
@media (max-width:640px){
#caa2-root .caa2-kingdom-v64{padding:10px 8px 100px}#caa2-root .caa2-route-hero{min-height:239px;border-radius:23px;padding:17px 16px;background-position:62% 35%}
#caa2-root .caa2-route-back{font-size:11px;padding:8px 11px}#caa2-root .caa2-route-hero-copy{max-width:76%;padding-top:16px}#caa2-root .caa2-route-eyebrow{font-size:8px;letter-spacing:.08em}
#caa2-root .caa2-route-hero h1{font-size:clamp(24px,6.5vw,33px);max-width:240px}#caa2-root .caa2-route-hero p{font-size:11px;line-height:1.35;max-width:210px}
#caa2-root .caa2-route-hero-pill{font-size:9px;padding:7px 10px;margin-top:9px;max-width:210px}
#caa2-root .caa2-route-hero-pals{width:148px;height:199px;right:-9px;bottom:-17px;opacity:.98}
#caa2-root .caa2-route-adventure{margin-top:14px;border-radius:25px;background:#b5e4d0}
#caa2-root .caa2-route-adventure:before{background-size:auto 100%;background-position:48% center;opacity:.92}
#caa2-root .caa2-route-header{padding:21px 10px 0}#caa2-root .caa2-route-header h2{font-size:24px}#caa2-root .caa2-route-legend{gap:4px;padding:12px 5px 0}#caa2-root .caa2-route-legend>span{font-size:9px;padding:6px 8px}
#caa2-root .caa2-route-board{display:flex;flex-direction:column;align-items:center;gap:17px;padding:24px 15px 30px;grid-template-rows:none}
#caa2-root .caa2-route-stop{height:264px;width:min(100%,330px);transform:none!important;padding:0 5px 8px}
#caa2-root .caa2-route-stop:nth-child(odd){align-self:flex-start;margin-left:0;margin-right:12px}#caa2-root .caa2-route-stop:nth-child(even){align-self:flex-end;margin-right:0;margin-left:12px}
#caa2-root .caa2-route-stop:hover{transform:translateY(-4px)!important}
#caa2-root .caa2-route-landmark{height:211px}#caa2-root .caa2-route-number{left:calc(50% - 127px);top:2px}
#caa2-root .caa2-route-sign{min-height:75px;padding:6px;gap:8px}#caa2-root .caa2-route-thumb{width:64px;height:58px;flex-basis:64px}#caa2-root .caa2-route-name strong{font-size:14px}#caa2-root .caa2-route-arrow{width:27px;height:27px;flex-basis:27px}#caa2-root .caa2-route-completion{font-size:9px}
#caa2-root .caa2-route-extra-list{grid-template-columns:1fr}#caa2-root .caa2-route-extra-list button{min-height:73px}
#caa2-root .caa2-route-extras{padding:18px 12px;border-radius:20px}#caa2-root .caa2-route-footer{justify-content:center;text-align:center;padding:18px 8px 7px}
}
@media(max-width:370px){#caa2-root .caa2-route-hero-copy{max-width:80%}#caa2-root .caa2-route-hero-pals{width:117px;right:-14px}#caa2-root .caa2-route-stop{height:252px}#caa2-root .caa2-route-landmark{height:193px}}
@media(prefers-reduced-motion:reduce){#caa2-root .caa2-route-stop,#caa2-root .caa2-route-landmark,#caa2-root .caa2-route-extra-list button{transition:none!important}}
