:root{--sky:#bfe3ff;--sky2:#e8f6ff;--ink:#2a3b4d;--accent:#ff7a59;--card:#fff;--shadow:0 8px 24px rgba(42,59,77,.14);--navy:#24337f}*{box-sizing:border-box}body{margin:0;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:linear-gradient(180deg,var(--sky) 0,var(--sky2) 38%,#fff 100%);min-height:100vh}.alpha-bar{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:14px 22px 0}.alpha-bar img.alpha-logo{height:46px;width:auto;border-radius:10px;display:block}.alpha-bar .alpha-cap{font-family:Nunito,sans-serif;font-weight:800;font-size:13px;color:var(--ink);opacity:.6;letter-spacing:.5px}.alpha-mark{font-family:Lilita One,cursive;font-size:18px;color:var(--ink);opacity:.55;letter-spacing:1px;text-decoration:none}.alpha-mark span{font-weight:700;font-size:11px;opacity:.8}.alpha-mark span,.signout{font-family:Nunito,sans-serif}.signout{background:none;border:none;cursor:pointer;font-weight:800;font-size:13px;color:var(--ink);opacity:.55;padding:6px 10px;border-radius:8px}.signout:hover{opacity:.85;background:hsla(0,0%,100%,.5)}header{text-align:center;padding:16px 20px 8px}header img.logo{width:min(340px,72vw);height:auto;display:block;margin:0 auto}header p{margin:14px 0 0;font-size:clamp(15px,2.4vw,20px);font-weight:700;opacity:.7}.grades{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:24px 16px 8px}.grades button{font-family:Nunito,sans-serif;font-weight:800;font-size:16px;cursor:pointer;border:none;border-radius:999px;padding:10px 22px;color:var(--ink);background:#fff;box-shadow:var(--shadow);transition:transform .12s,background .12s,color .12s}.grades button:hover{transform:translateY(-2px)}.grades button.active{background:var(--accent);color:#fff}main{max-width:1480px;margin:0 auto;padding:16px 20px 64px}.group h2{font-family:Lilita One,cursive;font-weight:400;font-size:28px;margin:32px 0 4px;color:var(--ink)}.group .badge{display:inline-block;background:#fff;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:800;opacity:.65;box-shadow:var(--shadow);vertical-align:middle;margin-left:8px}.grid{display:grid;grid-gap:18px;gap:18px;margin-top:18px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.card{background:var(--card);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .15s}.card:hover{transform:translateY(-4px)}.card .cover{display:block;aspect-ratio:4/3;background:#eef4f9;overflow:hidden}.card .cover img{width:100%;height:100%;object-fit:contain;display:block}.card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1 1}.card .title{font-family:Lilita One,cursive;font-size:20px;line-height:1.15}.card .title-es{font-size:14px;font-weight:700;opacity:.6}.card .links{display:flex;gap:8px;margin-top:auto;padding-top:12px}.card .links a{flex:1 1;text-align:center;text-decoration:none;font-weight:800;font-size:14px;border-radius:12px;padding:9px 0;transition:filter .12s}.card .links a:hover{filter:brightness(.95)}.links .en{background:var(--accent);color:#fff}.links .es{background:#eef4f9;color:var(--ink)}.card.soon{box-shadow:0 4px 14px rgba(42,59,77,.08)}.card.soon:hover{transform:none}.card .soon-cover{position:relative;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#eef4f9,#eef4f9 14px,#e6eef5 0,#e6eef5 28px)}.card .soon-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.soon-badge{position:relative;z-index:1;font-family:Lilita One,cursive;font-size:22px;color:var(--accent);background:#fff;padding:8px 18px;border-radius:999px;box-shadow:var(--shadow)}.card.soon .body{opacity:.7}.card.soon .title{font-size:18px}footer{text-align:center;font-size:13px;font-weight:700;opacity:.5;padding:24px}.shelf-page{min-height:100vh}.shelf-page .topbar{max-width:1140px;margin:0 auto;padding:14px 0 6px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;grid-column-gap:16px;column-gap:16px}.shelf-page .shelf-logo{grid-column:1;justify-self:start;width:min(230px,60vw);height:auto;display:block;margin:0}.shelf-page .shelf-h1{grid-column:2;align-self:end;margin:0 0 10px;text-align:center;font-family:Lilita One,cursive;font-weight:400;color:var(--ink);font-size:clamp(26px,5vw,40px)}.shelf-page .shelf-signout{grid-column:3;justify-self:end;align-self:start;background:none;border:none;font-family:Nunito,sans-serif;font-weight:800;font-size:13px;color:var(--ink);opacity:.55;padding:6px 10px;cursor:pointer}.shelf-page .shelf-signout:hover{opacity:.85}.shelf-page .settings{max-width:1140px;margin:16px auto 0;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:16px}.shelf-page .settings-title{font-family:Lilita One,cursive;font-weight:400;font-size:26px;text-align:center;margin-bottom:14px;color:var(--ink)}.shelf-page .filter-row{display:flex;flex-wrap:wrap;align-items:flex-start}.shelf-page .filter-row.two{position:relative;align-items:center;gap:20px}.shelf-page .filter-row.two .filter-group.level{margin-left:auto}.shelf-page .filter-row.one{justify-content:center;margin-top:12px}.shelf-page .filter-group{display:flex;flex-direction:column;gap:10px;align-items:center}.shelf-page .filter-label{font-weight:800;font-size:12px;opacity:.6;text-transform:uppercase;letter-spacing:.5px;text-align:center}.shelf-page .filter-label .pickany{opacity:.75}.shelf-page .chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.shelf-page .chip{font-family:Nunito,sans-serif;font-weight:800;font-size:14px;cursor:pointer;border:2px solid #e2e8f0;background:#fff;color:var(--ink);border-radius:999px;padding:8px 16px;transition:background .12s,border-color .12s,color .12s}.shelf-page .chip:hover{border-color:#c3ccdb}.shelf-page .chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.shelf-page .chip.lvlchip{min-width:44px;text-align:center;padding:8px 12px}.shelf-page .chip.lvlchip.active{background:var(--navy);border-color:var(--navy)}.shelf-page .chip.subj{border-color:var(--sc);color:var(--sc)}.shelf-page .chip.subj.active{background:var(--sc);border-color:var(--sc);color:#fff}.shelf-page .settings-note{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;max-width:270px;margin:0;font-weight:800;font-size:13px;opacity:.65}.shelf-page .grid{max-width:1180px;margin:0 auto;padding:22px 20px 90px;display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}@media (max-width:640px){.shelf-page .grid{grid-template-columns:1fr}}.shelf-page .card{position:relative;z-index:1;overflow:visible;background:#fff;border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .15s}.shelf-page .card:hover{transform:translateY(-4px)}.shelf-page .card.menu-open{z-index:100}.shelf-page .card .cover{display:block;aspect-ratio:4/3;background:#eef4f9;overflow:hidden;border-radius:20px 20px 0 0}.shelf-page .card .cover img{width:100%;height:100%;object-fit:cover;display:block}.shelf-page .card .body{padding:12px 16px 16px;display:grid;grid-template-columns:1fr auto;align-items:start;grid-column-gap:10px;column-gap:10px;grid-row-gap:10px;row-gap:10px}.shelf-page .c-titlewrap{align-self:center;word-spacing:4px}.shelf-page .c-title{font-family:Lilita One,cursive;font-size:21px;line-height:1.25;word-spacing:normal}.shelf-page .say{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:none;color:#fff;background:var(--accent);box-shadow:0 2px 6px rgba(42,59,77,.2);cursor:pointer;transition:transform .12s}.shelf-page .say:hover{transform:scale(1.08)}.shelf-page .say-off{background:#c3ccdb;cursor:default}.shelf-page .say-off:hover{transform:none}.shelf-page .pennant{position:relative;display:inline-flex;align-items:center;background:var(--sc);padding:6px 22px 6px 8px;-webkit-clip-path:polygon(0 0,100% 0,84% 50%,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,84% 50%,100% 100%,0 100%);border-radius:5px 0 0 5px;justify-self:end;border:none;cursor:default}.shelf-page .grade-btn{cursor:pointer}.shelf-page .pennant-field{background:#fff;color:var(--navy);border-radius:6px;padding:3px 10px;font-weight:800;font-size:13px;white-space:nowrap}.shelf-page .pennant-field .chev{font-size:10px;opacity:.7}.shelf-page .grade-select{position:relative;justify-self:end}.shelf-page .controls{display:flex;align-items:center;gap:10px}.shelf-page .lang-select,.shelf-page .level-select{position:relative}.shelf-page .lang-btn,.shelf-page .lang-pill{display:inline-flex;align-items:center;gap:6px;background:#eef4f9;border:none;border-radius:999px;padding:7px 12px;font-family:Nunito,sans-serif;font-weight:800;font-size:14px;color:var(--ink)}.shelf-page .lang-btn{cursor:pointer}.shelf-page .lang-btn img,.shelf-page .lang-pill img{width:22px;height:22px;object-fit:contain}.shelf-page .chev{font-size:11px;opacity:.6}.shelf-page .chev.nav{color:var(--navy);opacity:.6}.shelf-page .ll-cluster{display:flex;align-items:center;gap:8px;justify-self:end;align-self:end}.shelf-page .ll-cap{font-size:12px;font-weight:800;opacity:.6;line-height:1.05;text-align:right}.shelf-page .level-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer}.shelf-page .ll{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Lilita One,cursive;font-size:19px;flex:0 0 auto;box-shadow:0 2px 6px rgba(36,51,127,.35)}.shelf-page .ll-none{background:#c3ccdb}.shelf-page .dd-menu{position:absolute;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border-radius:14px;box-shadow:0 10px 26px rgba(42,59,77,.22);z-index:30;min-width:132px}.shelf-page .lang-menu{left:0}.shelf-page .grade-menu,.shelf-page .level-menu{right:0}.shelf-page .dd-menu li{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;font-weight:800;font-size:15px;cursor:pointer;white-space:nowrap}.shelf-page .dd-menu li:hover{background:#eef4f9}.shelf-page .dd-menu .flag{font-size:18px}.shelf-page .dd-menu li.soon{opacity:.5;cursor:default}.shelf-page .dd-menu li.soon:hover{background:none}.shelf-page .dd-menu .tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;background:#eef4f9;color:#6b7a90;padding:1px 6px;border-radius:6px;margin-left:auto}.shelf-page .lvl-dot{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:Lilita One;font-size:13px;flex:0 0 auto}.shelf-page .lvl-dot.soon{background:#c3ccdb}.shelf-page .no-results{text-align:center;font-family:Lilita One,cursive;font-size:22px;color:var(--ink);opacity:.6;padding:40px 20px}.signin-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;text-align:center}.signin-wrap img.logo{width:min(300px,70vw);height:auto}.signin-wrap h1{font-family:Lilita One,cursive;font-weight:400;font-size:26px;margin:0}.signin-wrap p{margin:0;font-weight:700;opacity:.65;max-width:420px}.google-btn{display:inline-flex;align-items:center;gap:12px;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:999px;padding:12px 24px;font-family:Nunito,sans-serif;font-weight:800;font-size:16px;color:#3c4043;box-shadow:var(--shadow);transition:transform .12s}.google-btn:hover{transform:translateY(-2px)}.signin-note{font-size:13px;opacity:.5;font-weight:700}