/* Verse Arcade: bright game cabinets inside the castle; big targets, calm motion. */
.va-arcade{--va-sky:#dff3ff;--va-gold:#ffd34c;--va-paper:#fff9e8;--va-green:#d6edce;--va-shadow:#c1dce8;max-width:1100px;margin:0 auto}
.va-arcade h2{font-size:clamp(1.7rem,3vw,2.4rem)}.va-arcade h3{font-size:1.3rem}
.va-kicker{display:block;font-size:12px;font-weight:900;letter-spacing:1.4px;color:#815222;margin-bottom:8px}
.va-tag{display:inline-block;font-size:13px;font-weight:900;color:#355c70;background:#e7f4fb;border-radius:8px;padding:2px 9px;line-height:1.6}
.va-small{font-size:14px;line-height:1.6!important;color:#3e6073}.va-note{font-size:15px;line-height:1.6!important;background:#fff4cf;border:2px dashed #d8b356;border-radius:13px;padding:12px 16px}
.va-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.va-icon{width:44px;height:44px;flex-shrink:0}
.va-hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:end;background:var(--va-sky);border:3px solid var(--ink);border-radius:28px;box-shadow:7px 8px 0 var(--va-shadow);overflow:hidden}
.va-hero-copy{padding:34px 10px 30px 38px}.va-hero h1 em{font-style:normal;color:#b9562f}.va-hero p{font-size:18px;max-width:520px}
.va-hero img{width:100%;height:290px;object-fit:contain;object-position:bottom;background:radial-gradient(ellipse at 50% 80%,#ffe592 0 55%,transparent 56%)}
.va-stats{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}.va-stats li{background:white;border:2px solid var(--ink);border-radius:12px;padding:6px 12px;font-size:15px}.va-stats strong{font-size:20px}
.va-panel{margin-top:38px;background:white;border:3px solid var(--ink);border-radius:23px;padding:26px 28px;box-shadow:6px 7px 0 var(--va-shadow)}
.va-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.va-level{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:44px;padding:16px;text-align:left;background:#f4fbff;border:3px solid #b6d1de;border-radius:17px}
.va-level[aria-pressed=true]{background:var(--va-gold);border-color:var(--ink);box-shadow:4px 5px 0 var(--ink)}
.va-level-name{font:600 1.45rem/1.1 var(--display)}.va-level-ages{font-size:14px;font-weight:900;color:#355c70}.va-level[aria-pressed=true] .va-level-ages{color:var(--ink)}.va-level-blurb{font-size:14px;line-height:1.5}
.va-toggles{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 10px}
.va-toggle{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:8px 16px;border:2px solid var(--ink);border-radius:13px;background:white;font-size:16px;font-weight:900}
.va-toggle[aria-pressed=true]{background:#e2f3fb}.va-toggle[aria-pressed=false]{background:#f1f1f1;color:#4a5a64}.va-toggle .va-icon{width:26px;height:26px}
.va-today{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:38px}
.va-card{background:var(--va-paper);border:3px solid var(--ink);border-radius:21px;padding:22px 24px;box-shadow:5px 6px 0 #e4bf75}.va-polish{background:#eef9ea;box-shadow:5px 6px 0 #b8d9ad}.va-card h2{font-size:1.7rem;margin-bottom:8px}
.va-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 16px}
.va-tab{min-height:48px;padding:8px 18px;border:2px solid #b6d1de;border-radius:999px;background:#f4fbff;font-size:16px;font-weight:900}.va-tab[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}
.va-pack-name{margin-bottom:6px!important}
.va-chips{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.va-chip{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:52px;min-width:44px;padding:7px 14px;border:2px solid #b6d1de;border-radius:14px;background:white;font-size:15px;line-height:1.3;text-align:left}
.va-chip small{font-size:12px;color:#5c584b}.va-chip[aria-pressed=true]{border-color:var(--ink);background:#fff1b9;box-shadow:3px 3px 0 var(--ink)}.va-mini{color:#cfd8de;letter-spacing:1px;font-size:14px}.va-mini .on{color:#d99a00}
.va-shuffle{background:#e7f4fb}.va-add{border-style:dashed;background:#fffdf7}
.va-missing{margin-top:22px;border-top:2px dashed #b6d1de;padding-top:16px}.va-missing p{font-size:15px;line-height:1.6}
.va-my-form{margin-top:18px;background:#f4fbff;border:2px solid #b6d1de;border-radius:17px;padding:18px}
.va-my-form label{display:flex;flex-direction:column;gap:6px;font-weight:900;margin-bottom:12px}.va-form-row{display:grid;grid-template-columns:2fr 1fr;gap:14px}
.va-arcade input,.va-arcade textarea{font:inherit;font-weight:700;color:var(--ink);min-height:48px;padding:10px 12px;border:2px solid var(--ink);border-radius:11px;background:white;width:100%;box-sizing:border-box}
.va-arcade textarea{resize:vertical;line-height:1.6}.va-form-error:empty{display:none}.va-form-error{color:#9b2c12;font-size:15px}
.va-my-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}.va-my-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;border:2px solid #dbe9f0;border-radius:14px;padding:10px 14px}.va-my-list p{margin:4px 0 0!important;font-size:15px}
.va-playing{font-size:17px}
.va-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.va-game{display:flex;flex-direction:column;gap:6px;min-height:44px;padding:18px;border:3px solid var(--ink);border-radius:19px;background:#f4fbff;color:var(--ink);text-decoration:none;box-shadow:4px 5px 0 var(--ink);transition:transform .15s}
.va-game:hover{transform:translateY(-3px);background:#e2f3fb}.va-game[aria-disabled=true]{opacity:.55;box-shadow:none;cursor:not-allowed}
.va-game .va-icon{width:52px;height:52px;color:#b9562f}.va-game-name{font:600 1.35rem/1.15 var(--display)}.va-game-blurb{font-size:15px;line-height:1.5;flex:1}.va-best{font-size:13px;font-weight:900;color:#355c70}
.va-game-builder{background:#fff6dc}.va-game-disappear{background:#eef0ff}.va-game-letters{background:#fff0ea}.va-game-catch{background:#e7f6ff}.va-game-match{background:#f1fbe9}.va-game-drill{background:#fff4f4}.va-game-echo{background:#f6efff}
.va-stars{display:inline-flex;gap:2px;color:#cfd8de;font-size:1.1em;line-height:1}.va-stars .on{color:#e8a400;text-shadow:0 1px 0 #8a5a00}
.va-badges{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.va-badges li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 10px;border:2px dashed #c5d5dd;border-radius:16px;color:#5f7380;font-size:14px;line-height:1.4}
.va-badges li.va-got{border:2px solid var(--ink);background:#fff4cf;color:var(--ink)}.va-badge-art{width:48px;height:48px;color:#a9b9c2}.va-got .va-badge-art,.va-new-badges .va-badge-art{color:#c48000;fill:#ffd34c}
.va-grownups{margin-top:38px;font-size:15px}.va-grownups h2{font-size:1.5rem}.va-grownups p{line-height:1.6}
/* Playing */
.va-head{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:6px 0 14px}
.va-back{min-height:48px;display:inline-flex;align-items:center;font-weight:900;color:var(--ink)}.va-title h1{font-size:clamp(1.8rem,3.4vw,2.7rem);margin:4px 0!important}.va-ref{margin:0!important;font-weight:900;font-size:17px}
.va-tools{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.va-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-weight:900;font-size:16px;margin-bottom:10px;min-height:28px}
.va-timer{flex:1 1 220px;display:flex;align-items:center;gap:10px}.va-timer[hidden]{display:none}.va-timer span{display:block;height:12px;border-radius:9px;background:linear-gradient(90deg,#7bc96f,#ffd34c);border:2px solid var(--ink);min-width:6px;transition:width .25s linear}
.va-timer em{font-style:normal;font-size:13px;color:#3e6073;white-space:nowrap}.va-timer.va-late span{background:#c5d5dd}
.va-stage{background:white;border:3px solid var(--ink);border-radius:23px;padding:26px 28px;box-shadow:6px 7px 0 var(--va-shadow);min-height:300px}
.va-instr{font-size:17px;max-width:720px}.scripture-game .va-step:focus,.scripture-game .va-step:focus-visible{outline:none;box-shadow:none}
.va-parchment{background:var(--va-paper);border:2px solid #b9944e;border-top:9px solid #e4bf75;border-bottom:9px solid #e4bf75;border-radius:16px;padding:20px 24px;margin:16px 0}
.scripture-game .va-verse{font:700 clamp(1.2rem,2.2vw,1.55rem)/1.9 var(--sans);margin:0;color:#153951}.va-ref-line{font-weight:900;margin:10px 0 0!important}
.va-blank{display:inline-block;width:var(--w,5em);max-width:100%;height:1.2em;vertical-align:-.15em;border-bottom:3px solid var(--ink);background:#dbeef8;border-radius:7px}
.va-current{background:#ffe38a!important;outline:3px solid #e8a400;outline-offset:1px}.va-cue.va-current{border-radius:6px;padding:0 4px}
.va-filled{background:var(--va-green);border-radius:6px;padding:0 3px}
.va-letters .va-cue{letter-spacing:.06em;color:#355c70}
.va-choices{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
.va-pick{display:inline-flex;align-items:stretch;gap:6px}
.va-choice,.va-piece{min-height:56px;min-width:56px;padding:10px 18px;border:3px solid var(--ink);border-radius:14px;background:white;box-shadow:3px 4px 0 var(--ink);font-size:18px;font-weight:900;line-height:1.35;text-align:left;color:var(--ink)}
.va-choice:hover,.va-piece:hover{background:#e2f3fb}.va-choice b{color:#b9562f}.va-right{background:var(--va-green)!important}
.va-hear{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:2px solid #b6d1de;border-radius:12px;background:#f4fbff;color:var(--ink)}.va-hear .va-icon{width:28px;height:28px}
.sq-button .va-icon{width:24px;height:24px}
.va-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}
.va-type{margin:16px 0}.va-type label{display:block;font-weight:900;margin-bottom:8px}.va-type div{display:flex;gap:10px}.va-type input{max-width:420px;font-size:20px}
.va-letter-box{display:flex;flex-direction:column;gap:8px;font-weight:900;margin:16px 0;max-width:380px}.va-letter-box input{font-size:28px;text-align:center;letter-spacing:.2em}
.va-recall{display:flex;flex-direction:column;gap:8px;font-weight:900}.va-recall textarea{font-size:19px}
/* Builder tower: bricks stack upward from the door. */
.va-build{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:end}
.va-tower{position:relative;background:linear-gradient(#cfe9f6,#eaf7ff);border:3px solid var(--ink);border-radius:16px 16px 6px 6px;padding:34px 12px 46px;min-height:240px}
.va-tower-top{position:absolute;top:-3px;left:-3px;right:-3px;height:22px;background:repeating-linear-gradient(90deg,var(--ink) 0 22px,transparent 22px 36px);border-radius:8px 8px 0 0;opacity:.85}
.va-tower-door{position:absolute;bottom:0;left:50%;width:46px;height:38px;margin-left:-23px;background:#8a5a2b;border:3px solid var(--ink);border-bottom:0;border-radius:23px 23px 0 0}
.va-bricks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap-reverse;gap:6px;justify-content:center}
.va-brick{background:#f2d9a6;border:2px solid #8a5a2b;border-radius:6px;padding:6px 10px;font-weight:900;font-size:17px;box-shadow:inset 0 -3px 0 #d8b675;animation:va-drop .3s ease-out}
.va-brick.va-next{background:white;border-style:dashed;color:#355c70;animation:none}
.va-bank{display:flex;flex-wrap:wrap;gap:12px;align-content:flex-end}.va-piece{touch-action:none;cursor:grab;background:#f2d9a6;border-color:#8a5a2b;box-shadow:3px 4px 0 #8a5a2b}
.va-dragging{position:relative;z-index:5;cursor:grabbing;box-shadow:6px 10px 18px #13395155}
.va-glow{outline:4px solid #e8a400;outline-offset:3px;background:#ffe38a}
@keyframes va-drop{from{transform:translateY(-14px);opacity:.3}to{transform:none;opacity:1}}
@keyframes va-wobble{0%,100%{transform:none}20%{transform:translateX(-7px) rotate(-3deg)}40%{transform:translateX(6px) rotate(2deg)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.va-wobble{animation:va-wobble .45s ease}
/* Word Catch */
.va-built{min-height:2.2em;font-size:19px;font-weight:900;line-height:1.7;margin-bottom:10px}
.va-canvas-wrap{position:relative;border:3px solid var(--ink);border-radius:16px;overflow:hidden}.va-canvas-wrap canvas{display:block;width:100%;touch-action:none}
.va-pad{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:14px}
.va-move{min-width:84px;min-height:64px;font-size:30px;font-weight:900;border:3px solid var(--ink);border-radius:16px;background:var(--va-gold);box-shadow:3px 4px 0 var(--ink);touch-action:none;user-select:none;-webkit-user-select:none}
/* Reference Match */
.va-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.va-cards-6{grid-template-columns:repeat(3,minmax(0,1fr))}
.va-card-flip{min-height:118px;padding:12px;border:3px solid var(--ink);border-radius:16px;background:#355c70;color:white;font-size:16px;font-weight:900;line-height:1.4;box-shadow:3px 4px 0 var(--ink)}
.va-card-flip>span{display:block}.va-card-flip:not(.va-open)>span{font-size:30px;color:var(--va-gold)}
.va-card-flip.va-open{background:var(--va-paper);color:var(--ink);animation:va-flip .25s ease}.va-card-flip.va-open.va-k-ref{background:#fff1b9;font-size:19px}.va-card-flip.va-matched{background:var(--va-green);border-color:#3f7a35}
@keyframes va-flip{from{transform:rotateY(90deg)}to{transform:none}}
/* Sword Drill */
.va-drill-ready{text-align:center;padding:20px 0}.va-draw{font-size:22px;min-height:70px;padding:14px 30px}
.va-drill-ref{display:flex;align-items:center;gap:12px;font:600 clamp(2rem,5vw,3.2rem)/1.1 var(--display);margin:0 0 10px!important}
.va-drill-verse{margin:0 0 10px;padding:16px 20px;background:var(--va-paper);border-left:6px solid #e4bf75;border-radius:10px;font-size:19px;line-height:1.7}
.va-drill-choices{flex-direction:column}.va-drill-choices .va-pick{width:100%}.va-drill-choices .va-choice{flex:1}
/* Echo Chant */
.va-echo{text-align:center}.va-echo-chunk{font:600 clamp(1.6rem,4vw,2.4rem)/1.5 var(--display);margin:10px 0 18px!important}.va-echo-chunk span{border-radius:8px;padding:0 4px;transition:background .15s}.va-echo-chunk .va-lit{background:#ffe38a}
.va-echo .va-actions{justify-content:center}
.va-drum{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:170px;height:170px;border-radius:50%;border:4px solid var(--ink);background:radial-gradient(circle at 50% 40%,#ffb7a4,#e8826a);box-shadow:4px 6px 0 var(--ink);font-size:20px;font-weight:900;color:var(--ink)}
.va-drum:active{transform:translateY(3px);box-shadow:2px 3px 0 var(--ink)}.va-drum-art{width:84px;height:84px}
.va-dots{display:flex;justify-content:center;gap:8px;list-style:none;padding:0;margin:16px 0 0}.va-dots li{width:16px;height:16px;border-radius:50%;border:2px solid var(--ink);background:white}.va-dots li.on{background:var(--va-gold)}
.va-echo-choices{flex-direction:column;align-items:stretch}.va-echo-choices .va-choice{flex:1}
/* Results */
.va-results{text-align:center}.va-results>.va-stars{font-size:64px;gap:8px;margin:6px 0 10px}.va-results .va-actions{justify-content:center}.va-results .va-parchment{text-align:left;max-width:760px;margin:16px auto}
.va-new-badges{display:inline-block;background:#fff4cf;border:2px solid var(--ink);border-radius:16px;padding:12px 22px;margin:6px 0}.va-new-badges p{display:flex;align-items:center;gap:8px;margin:0!important}
.va-empty{text-align:center;padding:30px 0}
.va-feedback:empty{display:none}.va-feedback{position:sticky;bottom:14px;width:fit-content;max-width:min(100%,900px);margin:18px auto 0;padding:12px 20px;background:#163c53;color:#fff;border:2px solid white;outline:2px solid #163c53;border-radius:13px;font-size:16px;line-height:1.6;z-index:3}
.va-catching .va-feedback{position:static}.va-label{font-size:13px;color:#3e6073;margin-top:14px}
.va-arcade button{cursor:pointer;font-family:inherit}
@media(max-width:800px){.va-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.va-today{grid-template-columns:1fr}.va-build{grid-template-columns:1fr}.va-head{grid-template-columns:1fr}.va-tools{justify-content:flex-start}.va-cards,.va-cards-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.va-play{display:flex;flex-direction:column}.va-play .va-feedback{order:1;position:static;margin:0 0 10px;width:auto;font-size:15px;padding:9px 14px}.va-play .va-stage{order:2}.va-play .va-label{order:3}.va-hero{grid-template-columns:1fr 120px}.va-hero-copy{padding:22px 4px 20px 20px}.va-hero img{height:190px}.va-hero p{font-size:16px}
 .va-panel,.va-stage{padding:18px 16px;border-radius:19px}.va-levels{gap:10px}.va-level{padding:12px}.va-level-blurb{font-size:13px}.va-form-row{grid-template-columns:1fr}
 .va-cards,.va-cards-6{grid-template-columns:repeat(2,minmax(0,1fr))}.va-cards-12,.va-cards-16{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.va-card-flip{min-height:96px;font-size:15px}.va-cards-12 .va-card-flip,.va-cards-16 .va-card-flip{min-height:88px;padding:8px 6px;font-size:13px}.va-choice,.va-piece{font-size:17px;padding:10px 14px}
 .va-stats li{font-size:13px}.va-stats strong{font-size:17px}.va-my-list li{flex-direction:column;align-items:stretch}.va-type div{flex-direction:column}.va-drum{width:150px;height:150px}}
@media(prefers-reduced-motion:reduce){.va-arcade *{animation:none!important;transition:none!important}.va-game:hover{transform:none}}
/* Knight Rank and the King's Scroll (knight-rank.js): the rank banner, its progress bar, and today's three steps. */
.va-rank{display:flex;gap:18px;align-items:center;margin-top:28px;background:var(--va-green);border:3px solid var(--ink);border-radius:21px;padding:18px 22px;box-shadow:5px 6px 0 var(--va-shadow)}
.va-rank h2{margin:0 0 4px;font-size:clamp(1.6rem,3vw,2.2rem)}.va-rank p{margin:4px 0}
.va-rank-art{width:64px;height:64px;flex-shrink:0;color:#173d50}
.va-rank-bar{height:14px;margin:8px 0;background:#fff;border:2px solid var(--ink);border-radius:999px;overflow:hidden}.va-rank-bar span{display:block;height:100%;background:var(--va-gold);border-radius:999px;min-width:6px}
.va-scroll{grid-column:1/-1;background:#fff4cf}
.va-steps{list-style:none;margin:10px 0 6px;padding:0;display:grid;gap:10px}
.va-steps li{display:flex;align-items:center;gap:12px;background:#fffdf5;border:2px solid #e4bf75;border-radius:14px;padding:10px 12px}
.va-steps li>b{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--va-gold);border:2px solid var(--ink);font-size:17px}
.va-steps li>div{display:grid;gap:2px;flex:1;min-width:0}.va-steps li span{font-size:14px;opacity:.85}
.va-steps li.va-done{opacity:.75}.va-steps li.va-done>b{background:#9fd49a}
.va-steps .sq-button{flex-shrink:0;margin:0}
.va-new-rank{display:inline-block;background:#e8f6e3;border:2px solid var(--ink);border-radius:16px;padding:12px 22px;margin:6px 0}
@media(max-width:560px){.va-rank{flex-direction:column;align-items:flex-start;gap:8px}.va-rank-art{width:44px;height:44px}.va-steps li{flex-wrap:wrap}.va-steps .sq-button{width:100%;text-align:center}}
