.dashboard { background: #10131f; }
.dashboard main { padding-block: 2.25rem 4rem; }
.dashboard h1 { font-size: clamp(3rem, 5vw, 5rem); }
.intro-line, .dashboard p { color: var(--muted); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,  .95fr) minmax(0, 1.65fr); gap: 1rem; margin-top: 2rem; }
.dashboard-column { display: grid; align-content: start; gap: 1rem; min-width: 0; }
.study-card, .dashboard .task-panel { background: #1a1e2d; border: 1px solid #303548; border-radius: 1rem; padding: clamp(1rem, 3vw, 1.75rem); overflow-wrap: anywhere; }
.dashboard .task-panel { margin: 0; }
.study-card h2 { font-size: clamp(1.9rem, 3.2vw, 2.65rem); margin-bottom: 1rem; }
.dashboard form > label { display: block; margin-bottom: .45rem; }
.dashboard form > label[hidden] { display: none; }
.dashboard input:not([type=radio],[type=checkbox]), .dashboard textarea { width: 100%; background: #111521; color: var(--cream); border: 1px solid #53576e; border-radius: .5rem; padding: .65rem; font: inherit; }
.dashboard fieldset { border: 0; padding: 0; margin: 1rem 0; display: flex; gap: .8rem; flex-wrap: wrap; }
.dashboard legend { margin-bottom: .4rem; }
.dashboard input { accent-color: #d0bcf6; }
.dashboard button { cursor: pointer; font: inherit; }
.dashboard button:focus-visible, .dashboard summary:focus-visible { outline: 2px solid #d0bcf6; outline-offset: 3px; }
.dashboard .button { border: 0; }
#focus-form .button { width: 100%; margin-top: .5rem; }
#countdown { font: 3.5rem/1 var(--serif); margin-block: 1rem; }
.session-actions { display: flex; gap: .55rem; flex-wrap: wrap; align-items: center; }
.text-button, .dashboard #task-list button { background: transparent; border: 0; color: #e0ccff; text-decoration: underline; }
.dashboard .task-entry button { background: #d0bcf6; color: #191326; }
.dashboard #task-status, .dashboard #task-list input:checked + span { color: var(--muted); }
.dashboard #task-list li { border-color: #45475c; }
#session-sky { position: relative; min-height: 13rem; background: radial-gradient(ellipse at 50% 55%, #654b883e, transparent 70%); }
#sky-lines { position: absolute; inset: 0; pointer-events: none; }
#sky-lines span { position: absolute; height: 1px; background: #d0bcf676; transform-origin: left; }
.sky-star { position: absolute; transform: translate(-50%,-50%); border: 0; background: transparent; color: #f5d49a; width: 2.5rem; height: 2.5rem; text-shadow: 0 0 .85rem #c7a3ff; }
.sky-star:hover, .sky-star[aria-pressed=true] { color: white; }
.dashboard summary { cursor: pointer; color: #e0ccff; }
.dashboard details + details { margin-top: .65rem; }
.dashboard progress { display: block; width: 100%; margin-top: .55rem; accent-color: #d0bcf6; }
.next-card { margin-top: 1rem; }
.next-card button { margin-top: .5rem; }
#session-status:empty, #note-status:empty, #star-detail:empty { display: none; }
@media (max-width: 760px) { .dashboard-grid { grid-template-columns: 1fr; } }

.account-card { margin-top: 1.5rem; }
.account-card [hidden] { display: none; }
