/* Player dashboard: classroom actions, assigned work, learning, then group play. */
#hub{max-width:1160px;padding-top:28px}
#hub>.welcome{max-width:none;margin:8px 0 26px}
#hub .welcome h1{font-size:clamp(32px,4vw,46px);letter-spacing:-1.6px;margin:12px 0}
#hub .welcome p{margin:0;font-size:14px}
.dashboard-welcome{position:relative;padding-right:165px}
.dashboard-welcome .board-open{position:absolute;right:0;bottom:0;margin:0;font-size:13px}
.dashboard-classroom{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px}
#hub .dashboard-join{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:20px 22px;border-radius:16px;background:#141e30;border-color:#ffffff18}
#hub .dashboard-join .eyebrow{display:none}
#hub .dashboard-join h2{font-size:18px;margin:0 0 6px}
#hub .dashboard-join p{font-size:12px;line-height:1.5;margin:0;max-width:240px}
#hub .dashboard-join button,#hub .dashboard-join a{font-size:13px;padding:12px 16px;white-space:nowrap;text-decoration:none;flex-shrink:0}
#hub #my-assignments{padding:22px;margin:0 0 30px;max-width:none;border-radius:16px;background:#111c2b;border-color:#d3f88c30}
#hub #my-assignments h2{font-size:20px}
#hub .assignment-list{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0}
#hub .my-assignment-card{padding:18px;background:#192537}
#hub .my-assignment-card p{margin-bottom:10px}
.dashboard-section-title,#hub .section-heading h2,.dashboard-together>h2{font-size:21px;letter-spacing:-.5px;margin:0 0 16px}
#hub .section-heading{margin:0 0 16px;align-items:center;flex-direction:row}
#hub .section-heading h2{margin:0}
#hub .section-heading button{font-size:12px;padding:10px 14px}
#hub .level-grid{gap:16px}
#hub .level-card{min-height:210px;padding:24px;border-radius:18px;gap:12px}
#hub .level-card h2{font-size:29px}
#hub .level-card p{font-size:13px}
#hub .game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#hub .game-card{padding:25px;border-radius:18px}
#hub .game-icon{width:45px;height:45px;font-size:27px;border-radius:12px;margin-bottom:18px}
#hub .game-card h2{font-size:26px}
#hub .game-card p{font-size:14px;min-height:48px}
#hub .game-progress{padding:16px 0}
#hub .game-bottom{margin-top:16px;padding-top:14px}
.dashboard-together{margin-top:34px;padding-top:26px;border-top:1px solid #ffffff15}
.dashboard-together>h2{margin-bottom:6px}
.dashboard-together>p{font-size:13px;margin:0 0 18px}
.dashboard-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#hub .dashboard-party-grid .spy-entry,#hub .dashboard-party-grid .game-card{margin:0;padding:22px;background:#141e30;border:1px solid #ffffff18;border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
#hub .dashboard-party-grid .game-icon,#hub .dashboard-party-grid .eyebrow{display:none}
#hub .dashboard-party-grid h2{font-size:21px;margin:0 0 8px}
#hub .dashboard-party-grid p{font-size:13px;min-height:0;margin:0 0 16px}
#hub .dashboard-party-grid button,#hub .dashboard-party-grid .spy-play{font-size:13px;padding:11px 16px;margin-top:auto;background:#ffffff08;color:#e4eaff;border:1px solid #ffffff25}
#hub .dashboard-party-grid .game-bottom{display:none}
.player-signed-in>header>a[href="tests/index.html"]{display:none}
.player-signed-in #cloud-panel{max-width:1104px;margin:18px auto 0;padding:14px 20px;border-radius:14px}
@media(max-width:700px){
 #hub{padding:22px 18px 42px}
 .dashboard-welcome{padding-right:0}
 .dashboard-welcome .board-open{position:static;margin-top:16px}
 .dashboard-classroom,#hub .assignment-list,#hub .game-grid,.dashboard-party-grid{grid-template-columns:1fr}
 #hub .dashboard-join{padding:18px;gap:14px}
 #hub .dashboard-join p{max-width:220px}
 #hub .dashboard-join button,#hub .dashboard-join a{font-size:12px;padding:12px}
 #hub .level-card{min-height:175px}
 .player-signed-in #cloud-panel{margin:12px 18px 0}
}
@media(prefers-reduced-motion:reduce){#hub .game-card:hover{transform:none}}

.assignment-heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.kognity-link{font-size:12px;padding:10px 14px;border:1px solid #ffffff25;border-radius:10px;text-decoration:none}.kognity-link:focus-visible{outline:3px solid #a5b8ff;outline-offset:3px}@media(max-width:500px){.my-assignments-heading{flex-wrap:wrap}}

.dashboard-welcome{padding-right:320px}.dashboard-welcome-tools{position:absolute;right:0;bottom:0;display:flex;gap:10px;flex-wrap:wrap}.dashboard-welcome-tools .board-open{position:static}.dashboard-welcome-tools button{font-size:13px;padding:12px 15px}@media(max-width:700px){.dashboard-welcome{padding-right:0}.dashboard-welcome-tools{position:static;margin-top:16px}.dashboard-welcome-tools .board-open{margin-top:0}}

.my-assignment-card{position:relative;padding-bottom:54px}.assignment-course{position:absolute;right:20px;bottom:16px;border:1px solid #6e8550;background:#c7f56b12;color:#d3f88c;border-radius:99px;padding:4px 12px;font-size:12px;font-weight:750}

#hub #my-assignments{padding:20px 22px;border:1px solid #ffffff1c;background:linear-gradient(120deg,#152235,#101b2b);box-shadow:0 8px 28px #00000015}
#hub .my-assignments-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
#hub #my-assignments h2{font-size:19px;margin:0}
#hub #my-assignments p{font-size:13px;line-height:1.6;margin:12px 0}
#hub .assignment-heading-actions button,#hub .kognity-link{font-size:12px;min-height:36px;padding:8px 12px;border-radius:10px}
#hub .assignment-feedback-link{display:inline-block;margin:8px 10px 0 0!important}
#hub .assignment-feedback-link a{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid #d3f88c35;border-radius:9px;background:#d3f88c0b;color:#d3f88c;text-decoration:none;font-size:12px;font-weight:650}
#hub .completed-homework{display:inline-block;vertical-align:middle;font-size:12px;padding:10px 0}
#hub .completed-homework summary{font-size:12px;color:#b8c6d9;cursor:pointer}
#hub #my-assignments .assignment-help{font-size:11px;color:#8e9fb5;border-top:1px solid #ffffff12;padding-top:12px;margin-bottom:0}

/* Assignment clarity refresh */
#hub #my-assignments{border-color:#34465b;background:linear-gradient(130deg,#142334,#111c2b);padding:22px 24px;box-shadow:0 12px 30px #0001}
#hub .my-assignments-heading{gap:16px;padding-bottom:16px;border-bottom:1px solid #ffffff10}
#hub .my-assignments-heading h2{font-size:19px;margin:0;letter-spacing:-.4px}
#hub .assignment-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#hub .assignment-heading-actions>*{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:9px 12px;font-size:12px;border-radius:9px;text-decoration:none}
#hub .assignment-list:has(>p:only-child){margin:16px 0;padding:12px 0}
#hub .assignment-list>p:only-child{margin:0;font-size:14px;display:flex;gap:12px;align-items:center;color:#c6d5e7}
#hub .assignment-list>p:only-child:before{content:'✓';display:grid;place-items:center;background:#d3f88c14;color:#d3f88c;flex:0 0 32px;width:32px;height:32px;border-radius:50%;font-weight:800}
#hub .assignment-feedback-link{margin:14px 0 0}
#hub .assignment-feedback-link a{display:inline-flex;align-items:center;padding:10px 13px;background:#203448;border:1px solid #3f566f;color:#d8e9fa;border-radius:9px;text-decoration:none;font-size:13px;font-weight:600}
#hub .assignment-feedback-link a:hover{border-color:#d3f88c}
#hub .completed-homework{margin:15px 0 0;padding-top:14px;border-top:1px solid #ffffff10;font-size:13px}
#hub .completed-homework summary{cursor:pointer;font-size:13px;color:#bbcee2}
#hub .assignment-help{font-size:11px;color:#8fa5c0;margin:16px 0 0;line-height:1.6}
#hub .my-assignment-card{position:relative;border:1px solid #34465d;border-radius:12px;padding:18px 18px 44px}
#hub .my-assignment-card .assignment-course{position:absolute;bottom:14px;right:16px;font-size:10px;letter-spacing:.5px;border-radius:6px;padding:5px 7px;background:#263b44;color:#cce6b8}
#hub .my-assignment-card h3{font-size:15px;line-height:1.5;margin-bottom:10px}
#hub .assignment-meta{font-size:11px;gap:12px}#hub .my-assignment-card button{font-size:12px;min-height:38px;padding:10px 13px}
@media(max-width:600px){#hub #my-assignments{padding:18px}#hub .my-assignments-heading{align-items:start;flex-wrap:wrap}#hub .assignment-heading-actions{width:100%}#hub .assignment-list{grid-template-columns:1fr}}

/* Compact classroom work tray and playful party game badges. */
.assignments-open{display:inline-flex;align-items:center;gap:.6rem}.assignment-count{background:#d3f88c;color:#17221b;min-width:1.5rem;border-radius:99px;padding:.1rem .35rem;font-size:.8em}
.assignments-open.has-work{animation:assignment-glow 3.5s ease-in-out infinite}@keyframes assignment-glow{50%{box-shadow:0 0 0 4px #b5df6b33;border-color:#b5df6b}}
.assignments-dialog{width:min(900px,calc(100vw - 32px));max-height:85dvh;padding:0;border:1px solid #52647c;border-radius:22px;background:#121e2e;color:#edf3ff;box-shadow:0 24px 100px #0008}.assignments-dialog::backdrop{background:#060c18aa;backdrop-filter:blur(5px)}
.assignments-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid #52647c55;position:sticky;top:0;background:inherit;z-index:1}.assignments-dialog #my-assignments{margin:0;border:0;border-radius:0;padding:1.4rem}.assignments-dialog .assignment-history-button{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;list-style:none;padding:14px 20px;border:1px solid #52647c;border-radius:12px;background:#203247;color:#dceafd;font-weight:700}.assignment-history-button::-webkit-details-marker{display:none}.assignment-history-button:focus-visible{outline:3px solid #a5b8ff;outline-offset:3px}
.party-game-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#a8b6ff33,#d3f88c18);font-size:2rem;flex-shrink:0;border:1px solid #a5b8ff44}#hub .dashboard-party-grid .spy-entry{flex-wrap:nowrap;min-width:0;gap:16px}#hub .dashboard-party-grid .spy-entry>div:not(.party-game-icon){flex:0 1 auto;min-width:0;width:100%}#hub .dashboard-party-grid .spy-entry>a{flex:0 0 auto;max-width:100%;box-sizing:border-box;white-space:normal}#hub .dashboard-party-grid .party-game-icon{margin-bottom:4px}
html[data-theme="light"] .assignments-dialog,html[data-theme="day"] .assignments-dialog{background:#f7fafc;color:#182b3e}
@media(prefers-reduced-motion:reduce){.assignments-open.has-work{animation:none;border-color:#b5df6b}}

.learning-hub-subject-hidden { display: none !important; }
.learning-hub-nav .actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.learning-hub-nav [aria-pressed="true"] { outline: 2px solid currentColor; }
