.portal-home{max-width:1180px;margin:auto;padding:24px 30px 30px}.portal-intro{border-bottom:1px solid #adc7e02b;grid-template-columns:1.2fr 1fr;align-items:center;gap:20px;margin-bottom:30px;padding:14px 0 28px;display:grid;position:relative}.portal-intro h1{letter-spacing:-1.5px;margin:16px 0;font:clamp(36px,4vw,54px)/1.06 Georgia}.portal-intro h1 em{color:#bcb5ff}.portal-intro p{color:#c9d5e5;max-width:480px;margin:12px 0;font-size:16px;line-height:1.7}.portal-new-label{letter-spacing:.3px;color:#c3b6ff;align-items:center;gap:7px;font-size:13px;display:inline-flex}.portal-login-link{color:#ffe2a2;align-items:center;gap:12px;min-height:44px;font-size:15px;font-weight:700;display:inline-flex}.portal-cast{background:radial-gradient(at 50% 70%,#7d60cf42,#0000 67%);height:255px;position:relative}.portal-cast img{filter:drop-shadow(0 12px 15px #0007);object-fit:contain;width:140px;height:205px;animation:5s ease-in-out infinite portal-float;position:absolute;bottom:36px}.portal-cast .cast-center{z-index:2;height:243px;margin-left:-70px;animation-delay:-1s;left:50%}.portal-cast .cast-left{animation-delay:-2s;left:5%;transform:rotate(-8deg)}.portal-cast .cast-right{animation-delay:-3s;right:5%;transform:rotate(9deg)}.cast-chip{white-space:nowrap;color:#e3dbff;z-index:3;background:#182b45ed;border:1px solid #b4a1ff5c;border-radius:30px;justify-content:center;align-items:center;gap:8px;padding:9px 17px;font-size:12px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.cast-chip svg{color:#bcb5ff}.gallery-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;display:flex}.gallery-heading .eyebrow{color:#9eebd3;letter-spacing:1.8px;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;display:flex}.gallery-heading h2{letter-spacing:-.5px;margin:0;font:32px/1.2 Georgia}.gallery-count{color:#b8c9df;padding-bottom:4px;font-size:13px}.game-filters{flex-wrap:wrap;gap:9px;margin-bottom:25px;display:flex}.game-filters button{color:#cdd9ed;background:#142640;border:1px solid #b4c8e42f;border-radius:25px;align-items:center;gap:7px;min-height:42px;padding:9px 16px;font-size:14px;display:flex}.game-filters button[aria-pressed=true]{color:#221938;background:#d7cff9;border-color:#d7cff9}.game-filters small{opacity:.7;font-size:12px}.portal-game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.portal-game-card{--card-color:#c1afff;background:#13253cf5;border:1px solid #b8c8e035;border-radius:20px;flex-direction:column;min-width:0;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.portal-game-card:hover{border-color:var(--card-color);transform:translateY(-5px);box-shadow:0 15px 35px #030c2455}.game-card-art{background:radial-gradient(ellipse at 74% 80%,color-mix(in srgb,var(--card-color) 35%,transparent),transparent 70%),linear-gradient(120deg,#243249,#1a2c43);border-bottom:1px solid #b8c8e020;height:150px;position:relative;overflow:hidden}.game-card-icon{width:58px;height:58px;color:var(--card-color);border:1px solid color-mix(in srgb,var(--card-color) 35%,transparent);background:#07162966;border-radius:18px;place-items:center;display:grid;position:absolute;top:22px;left:24px;transform:rotate(-6deg)}.game-card-art>img{object-fit:contain;filter:drop-shadow(0 5px 8px #040b2666);width:112px;height:151px;transition:transform .2s;position:absolute;bottom:-5px;right:20px}.portal-game-card:hover .game-card-art>img{transform:scale(1.06)rotate(3deg)}.game-new{letter-spacing:.6px;color:#122736;background:var(--card-color);z-index:2;border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:700;display:flex;position:absolute;top:12px;right:12px}.game-art-label{color:var(--card-color);font-size:13px;font-weight:600;position:absolute;bottom:19px;left:24px}.game-card-copy{flex-direction:column;flex:1;padding:21px 22px 17px;display:flex}.game-card-copy h3{letter-spacing:-.35px;margin:0 0 10px;font:23px/1.18 Georgia}.game-card-copy p{color:#bacbe0;flex:1;margin:0 0 21px;font-size:15px;line-height:1.55}.game-card-footer{border-top:1px solid #aebee12b;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;font-size:13px;display:flex}.game-card-footer>span{color:#aabcda;align-items:center;gap:5px;display:flex}.game-card-footer strong{color:var(--card-color);align-items:center;gap:8px;font-size:14px;display:flex}.gallery-showing{text-align:center;color:#b9cbe2;margin:22px 0;font-size:13px}.portal-account{border-top:1px solid #a9bce433;grid-template-columns:1fr 1fr;align-items:center;gap:50px;margin-top:55px;padding-top:40px;scroll-margin-top:20px;display:grid}.portal-account h2{color:#efd6a0;margin:0 0 16px;font:34px Georgia}.portal-account p{color:#bed0e3;max-width:390px;font-size:17px}.portal-account .auth-card{padding:28px}.portal-account-note{color:#b0ebd3;align-items:center;gap:10px;margin-top:22px;font-size:14px;display:flex}.student-dashboard .game-gallery{margin:28px 0 35px}.student-dashboard .dashboard-intro h1{font-size:36px}.student-dashboard .dashboard-intro{gap:20px}.student-dashboard .journey-overview{margin-top:25px}.student-dashboard .resume-card{min-height:190px}.student-dashboard .resume-card h2{font-size:28px}.portal-dashboard-welcome{color:#d3e1ef;background:#16363f;border:1px solid #a1e3d03d;border-radius:14px;align-items:center;gap:12px;margin-top:22px;padding:14px 18px;font-size:15px;display:flex}.portal-dashboard-welcome svg{color:#9ce1d4;flex-shrink:0}@keyframes portal-float{0%,to{translate:0}50%{translate:0 -7px}}@media (max-width:900px){.portal-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-cast{height:230px}.portal-cast .cast-left{left:-5%}.portal-cast .cast-right{right:-5%}.gallery-count{display:none}.portal-account{gap:25px}.student-dashboard{padding-left:24px;padding-right:24px}}@media (max-width:600px){.portal-home{padding:18px 16px 24px}.portal-intro{min-height:232px;margin-bottom:25px;padding:0 0 20px;display:block}.portal-intro h1{max-width:235px;margin:15px 0;font-size:36px}.portal-intro p{max-width:235px;font-size:15px;line-height:1.5}.portal-new-label{gap:6px;font-size:12px}.portal-cast{pointer-events:none;width:120px;height:176px;position:absolute;top:27px;right:-7px}.portal-cast img{width:70px;height:99px;bottom:15px}.portal-cast .cast-center{width:110px;height:154px;margin-left:-55px}.portal-cast .cast-left{z-index:3;bottom:-2px;left:-17px}.portal-cast .cast-right{z-index:3;bottom:-2px;right:-4px}.cast-chip{display:none}.portal-login-link{margin-top:3px;font-size:14px}.gallery-heading{margin-bottom:18px}.gallery-heading h2{max-width:300px;font-size:27px}.gallery-heading .eyebrow{letter-spacing:1.5px;font-size:11px}.game-filters{gap:7px;margin-bottom:18px}.game-filters button{min-height:40px;padding:8px 12px;font-size:13px}.portal-game-grid{gap:12px}.game-card-art{height:116px}.game-card-icon{z-index:1;border-radius:12px;width:40px;height:40px;top:17px;left:12px}.game-card-icon svg{width:25px;height:25px}.game-card-art>img{width:80px;height:106px;bottom:0;right:0}.game-art-label{z-index:2;max-width:75px;font-size:11px;line-height:1.2;bottom:10px;left:11px}.game-new{padding:2px 4px;font-size:9px;top:7px;right:7px}.game-new svg{width:10px}.game-card-copy{padding:14px 12px 12px}.game-card-copy h3{overflow-wrap:anywhere;margin-bottom:8px;font-size:20px;line-height:1.2}.game-card-copy p{margin-bottom:15px;font-size:14px;line-height:1.45}.game-card-footer{flex-wrap:wrap;gap:7px;padding-top:11px;font-size:12px}.game-card-footer strong{font-size:13px}.game-card-footer>span{font-size:12px}.portal-game-card{border-radius:15px}.portal-account{grid-template-columns:1fr;gap:20px;margin-top:32px;padding-top:26px}.portal-account h2{font-size:28px}.portal-account p{font-size:16px}.portal-account .auth-card{padding:23px}.student-dashboard{padding:24px 16px!important}.student-dashboard .dashboard-intro h1{font-size:31px}.portal-dashboard-welcome{font-size:14px}.student-dashboard .resume-card{padding:22px}.student-dashboard .resume-card h2{font-size:25px}.student-dashboard .journey-overview{grid-template-columns:1fr}.student-dashboard .stat-card{grid-template-columns:1fr 1fr;gap:4px 16px;display:grid}.student-dashboard .stat-card strong:nth-of-type(2){grid-area:1/2}.student-dashboard .stat-card span:nth-of-type(2){grid-area:2/2}.student-dashboard .topic-grid{grid-template-columns:1fr}}@media (max-width:360px){.portal-game-grid{grid-template-columns:1fr}.portal-cast{display:none}.portal-intro h1,.portal-intro p{max-width:none}.game-card-art{height:130px}.game-card-art>img{height:130px;right:30px}.game-card-icon{width:54px;height:54px;left:24px}.game-art-label{max-width:none;font-size:13px;left:24px}.game-card-copy h3{font-size:23px}}@media (prefers-reduced-motion:reduce){.portal-cast img{animation:none}.portal-game-card,.game-card-art>img{transition:none}}@media (max-width:600px){.portal-intro{min-height:0;overflow:clip}.portal-intro h1{max-width:245px;font-size:31px;line-height:1.08}.portal-intro p{max-width:none;margin-top:14px}.portal-cast{width:95px;height:115px;top:22px;right:2px}.portal-cast .cast-center{width:86px;height:120px;margin-left:-43px;bottom:0}.portal-cast .cast-left,.portal-cast .cast-right{display:none}.portal-new-label{font-size:12px}.portal-login-link{margin-top:0}.gallery-heading h2{max-width:none;font-size:25px}.gallery-heading{margin-bottom:14px}.gallery-heading .eyebrow{margin-bottom:8px}.game-filters{margin-bottom:16px}}.portal-top-access{color:#b9cbd1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 22px;max-width:1240px;margin:0 auto;padding:10px 35px 4px;font-size:12px;line-height:1.5;display:flex}.portal-top-access nav{flex-wrap:wrap;align-items:center;gap:0 18px;display:flex}.portal-top-access nav a{min-height:40px;color:inherit;align-items:center;gap:5px;font-size:12px;display:inline-flex}.portal-top-access nav a:hover{color:#efd9a4;text-underline-offset:4px;text-decoration:underline}.portal-top-access .footer-app-download{opacity:1;background:0 0;border:0;margin:0;padding:0}.portal-top-access .footer-app-download svg{flex-shrink:0;width:15px;height:15px}.portal-account.portal-account-top{border-top:0;border-bottom:1px solid #ffffff20;align-items:center;margin-top:0;padding-top:22px;padding-bottom:28px}.portal-account-top .auth-card{width:100%;margin:0}@media (max-width:600px){.portal-top-access{gap:3px;padding:8px 16px 0}.portal-credit{font-size:11px}.portal-top-access nav{gap:0 14px}.portal-top-access nav a{min-height:40px;font-size:11px}.portal-account.portal-account-top{flex-direction:column;gap:0;padding-top:16px;padding-bottom:24px;display:flex}.portal-account-top>div:first-child{display:none}.portal-account-top .auth-card{padding:20px}.portal-account-top .auth-card h2{font-size:26px}.portal-account-top .auth-tabs{margin-top:0}}.portal-developer-credit{text-align:center;color:#b9cbd1;padding:28px 20px 90px;font-size:12px;line-height:1.6}.portal-access-notice{color:#183b4b;box-sizing:border-box;background:#e3f1f4;border:1px solid #aacdd5;border-left:5px solid #328496;border-radius:14px;align-items:center;gap:16px;max-width:1170px;margin:12px auto 8px;padding:18px 22px;display:flex}.portal-access-notice>svg{color:#226577;flex-shrink:0}.portal-access-notice p{color:#183b4b;flex:1;margin:0;font-size:16px;line-height:1.5}.portal-access-notice strong{color:#153b49}.portal-access-notice a{color:#16495b;background:#fff;border:1px solid #8ab6c2;border-radius:9px;flex-shrink:0;align-items:center;min-height:44px;padding:0 14px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.portal-access-notice a:hover{background:#cce5eb;text-decoration:underline}.portal-access-notice a:focus-visible{outline-offset:3px;outline:3px solid #206e86}@media (max-width:1240px){.portal-access-notice{margin-left:35px;margin-right:35px}}@media (max-width:600px){.portal-access-notice{flex-wrap:wrap;gap:10px;margin:10px 16px 4px;padding:15px}.portal-access-notice>svg{align-self:flex-start;width:22px;margin-top:3px}.portal-access-notice p{flex-basis:calc(100% - 36px)}.portal-access-notice a{margin-left:32px}}.portal-top-access nav{flex-wrap:wrap;align-items:center;gap:12px;padding:12px;display:flex}.portal-top-access nav>a{color:#153f55;background:#eaf4f8;border:1px solid #aac8d6;border-radius:14px;justify-content:center;align-items:center;min-height:50px;padding:12px 18px;font-size:1rem;font-weight:700;display:flex}.portal-top-access nav>a:first-child{color:#fff;background:#17556b}.portal-account-top{gap:24px}.portal-account-note,.portal-dashboard-welcome,.gallery-count,.game-card-copy>p{display:none}.game-card-copy h3{font-size:1.2rem}.game-card-footer strong{color:#fff;background:#17556b;border-radius:12px;min-height:48px;padding:12px 18px}.game-filters button{min-height:48px;font-size:1rem}.portal-game-card:hover{transform:translateY(-3px)}.account-actions{flex-wrap:wrap;gap:12px}.account-actions>a,.account-actions>button{min-height:50px;padding:12px 18px;font-size:1rem}.portal-access-notice{font-size:1rem}@media (max-width:600px){.portal-top-access nav{grid-template-columns:1fr 1fr;display:grid}.portal-top-access nav>a{padding:12px 10px}.portal-account-top>div:first-child{display:none}.portal-game-grid{gap:14px}.portal-account-top{padding:16px}.game-card-copy{padding:14px}.portal-game-card .game-card-art{height:125px}.portal-game-card .game-card-art img{height:115px}.account-actions{grid-template-columns:1fr 1fr;display:grid}.account-actions>*{text-align:center;justify-content:center}.portal-access-notice{flex-wrap:wrap}.portal-access-notice>a{min-height:48px;padding:12px}}
