:root{color-scheme:light dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:#0f172a;color:#f8fafc}body,main{min-height:100vh}main{display:grid;place-items:center;padding:2rem}.container{max-width:640px;text-align:center}.badge{display:inline-block;margin-bottom:1rem;padding:.35rem .75rem;border-radius:999px;background:rgba(56,189,248,.15);color:#7dd3fc;font-size:.875rem;font-weight:600;letter-spacing:.02em}h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.75rem}p{color:#cbd5e1}.auth-card{width:min(100%,28rem);padding:2rem;border:1px solid rgba(148,163,184,.25);border-radius:1rem;background:rgba(15,23,42,.85);box-shadow:0 20px 45px rgba(2,6,23,.35);text-align:center}.auth-card h1{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:.5rem}.auth-card__description{margin-bottom:1.25rem}.auth-card__body{display:grid;grid-gap:1rem;gap:1rem}.auth-card--success{border-color:rgba(74,222,128,.45)}.auth-card--error{border-color:rgba(248,113,113,.45)}.auth-card--loading{border-color:rgba(56,189,248,.35)}.auth-status{font-size:1rem;line-height:1.6}.auth-status--success{color:#86efac}.auth-status--error{color:#fca5a5}.auth-status--loading{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;color:#bae6fd}.auth-spinner{width:1rem;height:1rem;border:2px solid rgba(186,230,253,.35);border-top-color:#38bdf8;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.auth-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1.1rem;border-radius:.65rem;border:1px solid transparent;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.auth-button:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}.auth-button--primary{background:#0284c7;color:#f8fafc}.auth-button--primary:hover{background:#0369a1}.auth-button--secondary{background:transparent;border-color:rgba(148,163,184,.45);color:#e2e8f0}.auth-button--secondary:hover{border-color:#94a3b8;color:#f8fafc}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-note{font-size:.925rem;color:#94a3b8}.auth-form{text-align:left}.auth-form,.auth-form__row{display:grid;grid-gap:1rem;gap:1rem}.auth-form__row{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-role-fieldset{border:0;margin:0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.auth-role-fieldset__legend{font-size:.925rem;font-weight:600;color:#e2e8f0;margin-bottom:.25rem}.auth-role-group{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.auth-role-option{display:grid;grid-gap:.25rem;gap:.25rem;padding:.85rem;border:1px solid rgba(148,163,184,.45);border-radius:.65rem;background:rgba(15,23,42,.45);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.auth-role-option--selected{border-color:#38bdf8;background:rgba(56,189,248,.08);box-shadow:inset 0 0 0 1px rgba(56,189,248,.35)}.auth-role-option:focus-within{outline:2px solid #38bdf8;outline-offset:2px}.auth-role-option__input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.auth-role-option__label{font-weight:700;color:#f8fafc}.auth-role-option__description{font-size:.875rem;color:#94a3b8}.auth-textarea{min-height:5.5rem;resize:vertical}.auth-form__hint{text-align:center}.auth-form__error{color:#fca5a5;font-size:.925rem}.auth-field{display:grid;grid-gap:.4rem;gap:.4rem}.auth-field__label{font-size:.925rem;font-weight:600;color:#e2e8f0}.auth-field__error{color:#fca5a5;font-size:.875rem}.auth-input{width:100%;min-height:2.75rem;padding:.65rem .85rem;border:1px solid rgba(148,163,184,.45);border-radius:.65rem;background:rgba(15,23,42,.65);color:#f8fafc;font:inherit}.auth-input:focus-visible{outline:2px solid #38bdf8;outline-offset:2px;border-color:#38bdf8}.auth-input:disabled{opacity:.7;cursor:not-allowed}.auth-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#cbd5e1 0),linear-gradient(135deg,#cbd5e1 50%,transparent 0);background-position:calc(100% - 1.1rem) calc(50% - .15rem),calc(100% - .85rem) calc(50% - .15rem);background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;padding-right:2rem}.auth-password-input{display:grid;grid-template-columns:1fr auto;grid-gap:.5rem;gap:.5rem;align-items:center}.auth-password-toggle{min-height:2.75rem;padding:.65rem .85rem;border:1px solid rgba(148,163,184,.45);border-radius:.65rem;background:transparent;color:#cbd5e1;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.auth-password-toggle:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}.auth-password-toggle:disabled{opacity:.7;cursor:not-allowed}.dashboard{width:min(100%,48rem);margin:0 auto}.dashboard__panel{width:100%;padding:2rem;border:1px solid rgba(148,163,184,.25);border-radius:1rem;background:rgba(15,23,42,.85);box-shadow:0 20px 45px rgba(2,6,23,.35);text-align:left}.dashboard__header{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.dashboard__header-actions{justify-content:flex-start}.dashboard__empty{padding:1.5rem;border:1px dashed rgba(148,163,184,.35);border-radius:.85rem;text-align:center}.dashboard__empty h2{font-size:1.25rem;margin-bottom:.5rem}.dashboard__message{margin-bottom:1rem;padding:1rem;border-radius:.75rem}.dashboard__message--success{border-color:rgba(74,222,128,.45);background:rgba(22,101,52,.25)}.dashboard__message--error{border:1px solid rgba(248,113,113,.45);background:rgba(127,29,29,.25)}.child-list{list-style:none;display:grid;grid-gap:.85rem;gap:.85rem}.child-card{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;padding:1rem 1.1rem;border:1px solid rgba(148,163,184,.25);border-radius:.85rem;background:rgba(15,23,42,.55)}.child-card__title{font-size:1.125rem;margin-bottom:.25rem}.child-card__meta{font-size:.925rem;color:#94a3b8}.child-card__actions{justify-content:flex-end}.child-selector{display:grid;grid-gap:.5rem;gap:.5rem;margin-bottom:1.25rem}.child-selector__label{font-size:.925rem;color:#cbd5e1}.child-selector__control{width:100%;min-height:2.75rem;padding:.65rem .85rem;border:1px solid rgba(148,163,184,.35);border-radius:.75rem;background:rgba(15,23,42,.75);color:#f8fafc;font:inherit}.child-selector__control:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}.progress-child-header{margin-bottom:1.25rem}.progress-child-header__name{font-size:1.35rem;margin-bottom:.25rem}.progress-child-header__meta{color:#94a3b8}.progress-dashboard{display:grid;grid-gap:1rem;gap:1rem}.progress-section{padding:1rem 1.1rem;border:1px solid rgba(148,163,184,.25);border-radius:.85rem;background:rgba(15,23,42,.55)}.progress-section h2{font-size:1.125rem;margin-bottom:.85rem}.progress-section h3{font-size:1rem;margin-bottom:.65rem}.progress-section__lead{margin-bottom:.75rem;color:#cbd5e1}.progress-section__empty{color:#94a3b8}.daily-practice-card__controls{display:grid;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}@media (min-width:640px){.daily-practice-card__controls{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.daily-practice-card__label{display:block;margin-bottom:.35rem;font-size:.9rem;color:#cbd5e1}.daily-practice-card__select{width:100%;min-height:2.75rem;padding:.65rem .85rem;border:1px solid rgba(148,163,184,.35);border-radius:.75rem;background:rgba(2,6,23,.45);color:#f8fafc}.daily-practice-card__save{min-height:2.75rem}.daily-practice-card__status{margin:0 0 .75rem;font-size:.95rem}.daily-practice-card__status--success{color:#86efac}.daily-practice-card__status--error{color:#fca5a5}.daily-practice-card__status-label{margin:0 0 .75rem;color:#e2e8f0;font-weight:600}.daily-practice-card__bar{overflow:hidden;height:.75rem;margin-bottom:.85rem;border-radius:999px;background:rgba(15,23,42,.85)}.daily-practice-card__bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#22c55e)}.daily-practice-card__metrics{margin-top:0}.progress-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));grid-gap:.75rem;gap:.75rem;margin:0}.progress-metric{padding:.75rem;border-radius:.75rem;background:rgba(2,6,23,.35)}.progress-metric__label{margin:0 0 .35rem;font-size:.85rem;color:#94a3b8}.progress-metric__value{margin:0;font-size:1.125rem;font-weight:600}.progress-subsection{margin-top:1rem}.progress-achievement-list,.progress-activity-list,.progress-mode-list{list-style:none;display:grid;grid-gap:.75rem;gap:.75rem}.progress-achievement-list__item,.progress-activity-list__item,.progress-mode-list__item{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-start;padding:.75rem;border-radius:.75rem;background:rgba(2,6,23,.35)}.progress-achievement-list__title,.progress-mode-list__title{font-weight:600}.progress-achievement-list__description,.progress-activity-list__summary,.progress-mode-list__meta{color:#94a3b8}.progress-activity-list__type{display:inline-block;margin-bottom:.25rem;font-size:.8rem;color:#38bdf8;text-transform:uppercase;letter-spacing:.04em}.progress-achievement-list__time,.progress-activity-list__time{color:#94a3b8;font-size:.875rem;white-space:nowrap}.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}.admin-section{margin-top:1.5rem}.admin-section h2,.admin-section h3{margin-bottom:.75rem;font-size:1.125rem}.admin-link-list{list-style:none;display:grid;grid-gap:.5rem;gap:.5rem}.admin-table{width:100%;margin-top:1rem;border-collapse:collapse;font-size:.9375rem}.admin-table td,.admin-table th{padding:.65rem .75rem;border-bottom:1px solid rgba(148,163,184,.2);text-align:left;vertical-align:top}.admin-table__actions{display:flex;flex-wrap:wrap;gap:.35rem}.admin-field{display:grid;grid-gap:.35rem;gap:.35rem;margin-top:.75rem;text-align:left}.admin-field__label{font-size:.875rem;color:#94a3b8}.admin-form{margin-top:.75rem;text-align:left}.admin-textarea{resize:vertical;min-height:4rem}.admin-textarea--tall{min-height:12rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem}.admin-checkbox{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;color:#cbd5e1}.admin-pagination{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.admin-ordered-list{margin:.75rem 0 1rem;padding-left:1.25rem;display:grid;grid-gap:.5rem;gap:.5rem}.admin-ordered-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center}.admin-word-pick-list{column-count:2}.admin-summary-list,.admin-word-pick-list{list-style:none;display:grid;grid-gap:.35rem;gap:.35rem}.admin-summary-list{margin-bottom:1rem}.admin-details{margin:.75rem 0;text-align:left}.admin-code{margin-top:.5rem;padding:.75rem;border-radius:.5rem;background:rgba(2,6,23,.45);overflow-x:auto;font-size:.8125rem}@media (max-width:480px){.auth-card{padding:1.5rem}.auth-form__row,.auth-role-group{grid-template-columns:1fr}.auth-actions{flex-direction:column;width:100%}.auth-button{width:100%}}