/* First polish pass: presentation only. No domain state is encoded here. */
.topbar{align-items:flex-end;margin-bottom:34px;padding-bottom:22px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.topbar>.page-header-copy{min-width:0}.topbar h1{overflow-wrap:break-word}
.sidebar-navigation{display:contents}
.mobile-schedule-shortcut{display:none}

.auth-brand-pair{display:flex;align-items:center;gap:15px;margin-bottom:27px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.auth-brand-pair .brand{min-width:0;margin:0;padding:0}.auth-brand-pair .brand-logo{width:43px}.auth-brand-divider{align-self:stretch;width:1px;min-height:38px;background:var(--line)}
.auth-den-logo{display:block;width:82px;max-width:28%;height:42px;object-fit:contain;object-position:left center}

.library-view-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}.library-view-row .library-meta{margin:0}
.library-view-toggle{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.library-view-toggle button{min-height:34px;padding:6px 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font:700 10px Manrope}
.library-view-toggle button.active{background:var(--surface-muted);color:var(--text)}

.game-grid,.class-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.game-card,.class-card{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:15px;min-height:246px;padding:21px;border:1px solid transparent;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.game-card:hover,.class-card:hover{border-color:color-mix(in srgb,var(--accent) 46%,var(--line));transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.18)}
.library-card-media{display:grid;align-content:center;justify-items:center;align-self:start;width:64px;aspect-ratio:1;border:1px dashed color-mix(in srgb,var(--accent,var(--accent-blue)) 48%,var(--line));border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent,var(--accent-blue)) 11%,transparent),var(--surface));color:var(--accent,var(--accent-blue))}
.library-card-media>span{font:700 24px 'DM Mono';line-height:1}.library-card-media>small{margin-top:6px;color:var(--muted);font:600 8px 'DM Mono';letter-spacing:.55px;text-transform:uppercase}
.library-card-body{min-width:0}.game-card h2,.class-card h2{margin:2px 0 7px;font-size:20px;line-height:1.05}.game-card p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.game-card .tag-row,.class-card .tenet-badge-row{margin:14px 0 0}.game-card footer,.class-card footer{grid-column:1/-1;margin-top:18px;padding-top:14px}
.class-card .library-card-media{margin-top:8px}.class-card-heading{margin:0}.class-card .tenet-badge-row{margin:0}.class-card-classification{margin:9px 0 0!important}.class-card-facts{margin-top:10px;line-height:1.45}.class-card-facts span+span:before{margin-right:10px}.class-card h2{margin-top:12px}.lesson-card-media{--accent:var(--accent-blue)}

.game-list{display:grid;gap:8px}.game-list-row{display:grid;grid-template-columns:48px minmax(180px,1.25fr) minmax(220px,1fr) auto;align-items:center;gap:13px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised)}
.game-list-row:hover{border-color:var(--accent-blue)}.game-list-row .library-card-media{width:48px;border-radius:9px}.game-list-row .library-card-media>span{font-size:18px}.game-list-row .library-card-media>small{display:none}.game-list-copy{min-width:0}.game-list-copy h2{overflow:hidden;margin:0 0 4px;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.game-list-copy p{overflow:hidden;margin:0;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.game-list-row .tag-row{margin:0}.game-list-row>.card-link{white-space:nowrap;color:var(--text)}

.library-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0 0}.library-pagination>div{display:flex;gap:5px}.library-pagination button{min-width:40px;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;font:700 11px Manrope}.library-pagination button:hover:not(:disabled),.library-pagination button.active{border-color:var(--accent-blue);background:var(--accent-blue-wash);color:var(--text)}.library-pagination button:disabled{cursor:not-allowed;opacity:.35}

@media(max-width:900px){.sidebar{display:grid;grid-template-columns:auto minmax(220px,1fr);align-items:center}.sidebar>.brand{grid-row:1;grid-column:1}.sidebar-account{grid-row:1;grid-column:2;justify-self:end}.sidebar-navigation{display:flex;grid-row:2;grid-column:1/-1;gap:5px;min-width:0;overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin}.sidebar-navigation .nav-group{display:flex;flex:0 0 auto;gap:3px}.topbar{align-items:flex-end}.game-list-row{grid-template-columns:48px minmax(0,1fr) auto}.game-list-row>.tag-row{grid-column:2/-1}.game-list-row>.card-link{grid-column:3;grid-row:1}.game-list-copy{grid-column:2}.library-pagination{justify-content:space-between}.library-pagination>div button:nth-child(n+4):not(:last-child){display:none}}
@media(max-width:620px){.sidebar{grid-template-columns:minmax(0,1fr) auto}.sidebar>.brand{grid-row:1;grid-column:1;min-width:0}.mobile-schedule-shortcut{display:inline-flex;grid-row:1;grid-column:2;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--accent-blue) 46%,var(--line));border-radius:9px;background:var(--accent-blue-wash);color:var(--accent-blue-soft);font:800 11px Manrope;text-decoration:none;white-space:nowrap}.mobile-schedule-shortcut:hover,.mobile-schedule-shortcut:focus-visible{border-color:var(--accent-blue);color:var(--text);outline:none;box-shadow:0 0 0 3px var(--accent-blue-wash)}.sidebar-navigation{grid-row:2;grid-column:1/-1}.sidebar-account{grid-row:3;grid-column:1/-1;justify-self:stretch}.topbar{align-items:flex-start;padding-bottom:18px}.topbar .top-action{align-self:flex-end;min-height:40px}.library-view-row{align-items:flex-start;flex-direction:column}.library-view-toggle{width:100%}.library-view-toggle button{flex:1}.game-grid,.class-grid{grid-template-columns:1fr}.game-card,.class-card{grid-template-columns:52px minmax(0,1fr);min-height:218px;padding:18px}.library-card-media{width:52px}.library-card-media>span{font-size:20px}.game-list-row{grid-template-columns:42px minmax(0,1fr) auto;gap:10px}.game-list-row .library-card-media{width:42px}.game-list-row>.tag-row{grid-column:1/-1}.game-list-row>.card-link{font-size:11px}.library-pagination{gap:7px}.library-pagination>div{display:none}.library-pagination>button{flex:1}.auth-brand-pair{gap:11px}.auth-brand-pair .brand-logo{width:38px}.auth-brand-pair .brand>span{font-size:19px}.auth-den-logo{width:68px;max-width:25%}}
@media(max-width:420px){.topbar #page-title{font-size:24px}}

/* Personal Lesson Library: lessons are planning cards, not shared media. */
.personal-lesson-card{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;min-height:218px}.personal-lesson-card .library-card-body{padding-right:0}.personal-lesson-card h2{margin:5px 0 12px;font-size:22px;line-height:1.14}.personal-lesson-card .class-card-heading{margin:0}.personal-lesson-card .class-card-classification{margin-top:13px!important}.personal-lesson-card footer{grid-column:1}.lesson-environment-coverage{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.lesson-environment-coverage .environment-tag{font-size:9px}
@media(max-width:620px){.personal-lesson-card{grid-template-columns:minmax(0,1fr);min-height:0}.personal-lesson-card footer{align-items:flex-start;gap:10px}.lesson-environment-coverage{margin-top:12px}}
