.learning-page{max-width:1120px}.learning-filters{display:flex;flex-wrap:wrap;gap:0 .9rem}.learning-filters label{flex:1 1 175px;min-width:0}.learning-filters input{min-height:44px;width:100%;border:1px solid var(--line);border-radius:8px;background:#123758;color:inherit;font:inherit;padding:.5rem}.learning-metrics{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.learning-chart{margin:.9rem 0;border:1px solid var(--line);border-radius:10px;padding:.6rem;background:#0a233c}.learning-scroll{overflow-x:auto}.learning-chart svg{display:block;max-width:none}.learning-chart svg line{stroke:#437493}.learning-chart svg text{fill:var(--muted);font-size:11px}.learning-chart svg polyline{stroke:var(--blue);stroke-width:2;fill:none}.learning-chart svg circle{fill:var(--yellow);cursor:pointer}.learning-chart svg .learning-hit-target{fill:transparent}.learning-chart .set-picker{margin:.4rem 0}.learning-point{color:var(--muted)}.learning-table{min-width:490px}.learning-table button{min-height:44px;text-align:left;color:#e6f7ff;background:transparent;border:0;font:inherit;cursor:pointer}.learning-table button:hover{color:var(--yellow)}.learning-mastery{display:inline-block;padding:.15rem .4rem;border:1px solid currentColor;border-radius:6px;color:var(--muted)}.learning-mastery.mastery-1{color:#ffad99}.learning-mastery.mastery-2{color:#fd7}.learning-mastery.mastery-3{color:#9be3ff}.learning-mastery.mastery-4{color:#8ce6c2}.learning-word-detail>td{background:#123758;padding:.8rem}.learning-direction-summary{display:grid;gap:.2rem;margin-top:.35rem;color:var(--muted)}:root{font-family:Trebuchet MS,system-ui,sans-serif;color:#f5f9ff;background:#071c33;color-scheme:dark;--ink: #071c33;--muted: #b4d4e9;--blue: #6fc9ef;--yellow: #ffce42;--line: #3886ae}*{box-sizing:border-box}body{margin:0;min-width:300px;min-height:100vh;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E"),radial-gradient(ellipse at 55% 8%,#23668e,#0c3658 47%,#071a30 95%)}a{color:inherit;text-decoration:none}a,select{-webkit-tap-highlight-color:transparent}a:focus-visible,select:focus-visible{outline:3px solid #fff19a;outline-offset:4px}main:focus{outline:none}img{display:block;max-width:100%}.shell{width:min(92%,1360px);margin-inline:auto}.topbar{border-bottom:1px solid #458eb5;background:linear-gradient(105deg,#091d35,#0e2c49 65%,#081d35);box-shadow:0 4px 22px #061d344d}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:86px}.brand{display:flex;align-items:center;gap:.65rem;min-height:44px;font-size:clamp(1.45rem,3.7vw,2.8rem);font-weight:900;letter-spacing:-.065em}.brand>svg{color:var(--blue);width:1em;height:1em}.brand>span>span,.tagline b{color:var(--yellow)}.tagline,.eyebrow,.section-heading>span,footer{font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.tagline{font-size:.83rem}.header-tools{display:flex;gap:.55rem;align-items:center}.icon-link,.coins{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:99px}.icon-link{color:var(--blue)}.icon-link:hover{background:#244762}.coins{gap:.45rem;border:1px solid #eab94b;padding:.3rem .8rem;color:#ffe38c;font-weight:800;background:#101f31}.coins svg{width:19px}.hero{position:relative;display:grid;grid-template-columns:minmax(145px,23%) minmax(250px,1fr) auto;align-items:center;gap:clamp(.65rem,2vw,2rem);min-height:clamp(225px,22vw,300px);isolation:isolate}.hero:before{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";background:radial-gradient(ellipse at 17% 70%,#59b2e94d,transparent 45%)}.voco{width:100%;height:clamp(215px,22vw,295px);object-fit:contain;align-self:end;filter:drop-shadow(0 12px 14px #051a38aa)}.bubble{position:relative;padding:clamp(1rem,2vw,1.8rem);border-radius:23px;border:2px solid #8ecce8;background:linear-gradient(132deg,#102e4a,#0b233c);box-shadow:0 8px #071a2d50}.bubble:before{content:"";position:absolute;width:14px;height:14px;left:-9px;top:49%;transform:rotate(45deg);background:#102b45;border-left:2px solid #8ecce8;border-bottom:2px solid #8ecce8}.eyebrow span{display:inline-block;width:7px;height:7px;margin-right:.35rem;border-radius:50%;background:var(--yellow)}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4.1vw,4rem);line-height:1.05;letter-spacing:-.045em;margin:.4rem 0 .55rem}h1 em{color:var(--yellow)}.bubble p{font-size:clamp(.95rem,1.55vw,1.3rem);color:#e0effa}.start{display:inline-flex;justify-content:center;align-items:center;gap:.7rem;padding:.9rem clamp(.85rem,2vw,2rem);min-height:60px;color:var(--ink);background:repeating-linear-gradient(140deg,#ffffff16 0 2px,transparent 2px 7px),linear-gradient(170deg,#ffe474,#ffc126 75%);border:1px solid #ffeb93;border-radius:16px;font-size:clamp(1rem,1.85vw,1.65rem);font-weight:900;white-space:nowrap;box-shadow:0 5px #a96911,0 11px 25px #061b3190}.start:hover{filter:brightness(1.09)}.start svg{width:1em}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:.45rem 0 .85rem}.section-heading h2{font-size:clamp(1.2rem,2vw,1.65rem)}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1.15rem)}.game-card{position:relative;min-width:0;overflow:hidden;display:flex;flex-direction:column;border:2px solid var(--line);border-radius:22px;background:linear-gradient(165deg,#143959,#0b2742);box-shadow:0 8px 16px #061b3366;transition:transform .18s ease,border-color .18s ease,background .18s ease}.game-card:after{position:absolute;content:"";right:0;bottom:0;width:70px;height:46px;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 7px,#ffc83d 8px 13px,transparent 14px 20px);clip-path:polygon(100% 0,100% 100%,0 100%)}.game-card:hover,.shortcuts a:hover{transform:translateY(-3px);border-color:#a1e4ff}.game-art{position:relative;aspect-ratio:1.65;background:radial-gradient(ellipse,#245d84,#0b2946)}.game-art img{width:100%;height:100%;object-fit:cover}.game-art:after{content:"";position:absolute;top:65%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#143959)}.game-badge{display:flex;gap:.3rem;align-items:center;position:absolute;inset:.6rem auto auto .6rem;padding:.27rem .45rem;background:#081d35e8;color:#bdeaff;border:1px solid #639bb9;border-radius:7px;font-size:.72rem;font-weight:800}.game-copy{flex:1;padding:.8rem .85rem 2.15rem}.game-copy h3{font-size:clamp(1rem,2vw,1.65rem);letter-spacing:-.035em;margin-bottom:.4rem}.game-copy p{font-size:clamp(.87rem,1.18vw,1rem);line-height:1.38;color:var(--muted)}.game-arrow{position:absolute;bottom:.35rem;left:.85rem;color:var(--blue)}.shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.65rem,1.5vw,1.15rem);margin:1.35rem 0}.shortcuts a{display:flex;align-items:center;gap:.75rem;min-height:78px;padding:.6rem .8rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#163e60,#0c2b47);transition:transform .18s ease,border-color .18s ease}.shortcut-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;flex:none;background:#1c5275;color:var(--yellow)}.shortcuts strong,.shortcuts small{display:block}.shortcuts strong{font-size:clamp(.94rem,1.55vw,1.25rem)}.shortcuts small{margin-top:.23rem;color:var(--muted);font-size:.8rem}.shortcut-arrow{flex:none;width:18px;margin-left:auto;color:var(--blue)}footer{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #377292;padding:.8rem 0 1rem;font-size:.62rem}.interior{max-width:800px;min-height:69vh;margin:1.5rem auto}.back,.text-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:#bdeaff}.text-link{text-decoration:underline}.interior-panel{padding:clamp(1.1rem,4vw,2.4rem);border:1px solid var(--line);border-radius:22px;background:#0c2b47}.interior-panel p,.interior-panel h2{margin-top:.8rem}.preview-art{max-height:255px;width:100%;object-fit:cover;border-radius:12px;margin-top:1.2rem}.set-picker{display:grid;gap:.5rem;margin:1rem 0}select,.game-options a{min-height:44px;padding:.6rem .8rem;font:inherit;color:inherit;background:#18476a;border:1px solid var(--line);border-radius:8px}.game-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.game-options a{display:flex;align-items:center;gap:.5rem}.game-options a:hover{background:#235b83}table{border-collapse:collapse;margin-top:.8rem;width:100%}td,th{padding:.65rem .4rem;text-align:left;border-bottom:1px solid #377292}th{color:var(--blue)}@media(max-width:880px){.tagline{display:none}.header-inner{min-height:68px}.hero{grid-template-columns:minmax(115px,26%) 1fr;gap:.6rem 1rem;padding:1rem 0}.voco{grid-row:span 2;align-self:center;height:auto;max-height:220px}.start{justify-self:start;min-height:48px}}@media(max-width:760px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shortcuts{grid-template-columns:1fr}.shortcuts a{min-height:62px}}@media(max-width:420px){.header-tools{gap:.1rem}.coins{padding-inline:.4rem;font-size:.78rem}.coins svg{width:14px}.hero{grid-template-columns:minmax(85px,28%) 1fr;gap:.65rem}.bubble{padding:.75rem}.bubble .eyebrow{display:none}.bubble h1{font-size:1.6rem}.game-copy{padding-inline:.6rem}.game-options{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}@media(max-width:360px){.header-inner{gap:.35rem}.brand{font-size:1.25rem;gap:.35rem}.icon-link svg{width:20px}}.vocabulary-library{max-width:1100px}.set-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}.set-card{display:flex;flex-direction:column;aspect-ratio:1;min-width:0;padding:1rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#194666,#102e4a);overflow-wrap:anywhere}.set-card h2{font-size:1.25rem}.set-card p,.set-card ul{color:var(--muted)}.set-card ul{padding:0;list-style:none;font-size:.9rem}.set-card li{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.set-icon,.add-set{color:var(--yellow)}.add-set{align-items:center;justify-content:center;gap:.6rem;border-style:dashed;font-weight:800}.add-set:hover{background:#215779}.set-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.set-card .set-actions{margin-top:auto}.set-actions a,.set-actions button,.word-row button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:44px;min-height:44px;padding:.35rem .65rem;border:1px solid var(--line);border-radius:8px;color:inherit;background:#0c2b47;font:inherit;cursor:pointer}.set-actions a:hover,.set-actions button:hover,.word-row button:hover{border-color:var(--blue)}.set-actions .save-set{background:var(--yellow);color:var(--ink);font-weight:800}.set-form{display:grid;gap:1rem;margin-top:1.25rem}.set-form label{display:grid;gap:.35rem;min-width:0}.set-form input{width:100%;min-height:44px;padding:.55rem .75rem;border:1px solid var(--line);border-radius:8px;background:#081f36;color:inherit;font:inherit}.word-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:.5rem}.word-row button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #fff19a;outline-offset:3px}@media(max-width:850px){.set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.set-grid{grid-template-columns:1fr}.set-card{width:min(100%,340px)}}.shop-page{max-width:1100px}.shop-status{min-height:1.5em;color:var(--yellow)}.outfit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem;margin-top:.65rem}.outfit-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--line);border-radius:16px;background:radial-gradient(ellipse at 50% 25%,#225c80,#102d48 72%)}.outfit-card.is-equipped{border-color:var(--yellow)}.outfit-card img{width:100%;height:180px;object-fit:contain}.outfit-card h2{font-size:1.25rem}.outfit-card p{flex:1;color:var(--muted);margin:.35rem 0 1rem}.outfit-card small{color:var(--muted);margin-top:.45rem;text-align:center}.outfit-card button{display:flex;justify-content:center;align-items:center;gap:.45rem;min-height:44px;border:1px solid var(--yellow);border-radius:8px;color:var(--ink);background:var(--yellow);font:inherit;font-weight:800;cursor:pointer}.outfit-card button:disabled{color:var(--muted);border-color:var(--line);background:#0c2b47;cursor:default}.preview-voco{height:150px;width:150px;object-fit:contain;margin-top:.75rem}.stats-games{margin-top:1rem}.stats-games a{justify-content:space-between}.run-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.55rem}.run-metrics div{padding:.55rem;border:1px solid var(--line);border-radius:8px;background:#123758}.run-metrics dt{font-size:.82rem;color:var(--muted)}.run-metrics dd{margin:.15rem 0 0;font-size:1.24rem;font-weight:800}.run-details{margin-top:.6rem;padding:.3rem .65rem;border:1px solid var(--line);border-radius:8px}.run-details summary{min-height:44px;padding:.55rem 0;cursor:pointer}.run-encounters{padding-left:1.2rem}.run-encounters li{margin:.25rem 0}.run-details-more{margin-top:.75rem}.outfit-card.outfit-reward{border-color:#e4b857;background:radial-gradient(ellipse at 50% 25%,#3c547a,#102d48 72%)}.outfit-reward small{margin-bottom:.5rem;text-align:left}.trail-grid{margin-top:.75rem}.trail-grid svg{height:52px;width:100%}.trail-grid h3{margin-bottom:.75rem}.shop-category{border:1px solid var(--line);border-radius:12px;padding:.25rem .8rem .7rem;margin-bottom:.7rem}.shop-category summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;color:#ffe393;font-size:1.2rem;font-weight:800;cursor:pointer;list-style:none}.shop-category summary::-webkit-details-marker{display:none}.shop-category[open]>summary svg{transform:rotate(180deg)}.shop-category>.outfit-grid{margin-top:.5rem}.trail-grid article small{margin:.3rem 0 .6rem}.trail-grid article button{margin-top:auto}.outfit-card .trail-preview{display:grid;gap:.15rem;margin:0 0 .65rem;padding:.25rem;border-color:var(--line);background:#071d34;color:var(--muted);font-size:.78rem;font-weight:700}.trail-preview canvas{display:block;width:100%;height:auto}.outfit-card .trail-preview:hover{border-color:var(--blue);color:#e7f7ff}.outfit-card.outfit-prestige{border-color:#ffe19d;box-shadow:inset 0 0 25px #b389d432;background:radial-gradient(ellipse at 50% 25%,#4a497b,#102d48 74%)}.outfit-prestige .eyebrow{color:#ffe19d;margin-top:.35rem}
