/* Printable practice center: scoped so it can live inside the existing family shell. */
.practice-upload-options{grid-column:1/-1}.practice-upload-options>summary{cursor:pointer;padding:10px 0;min-height:44px}.practice-upload-options[open] .practice-field{margin:12px 0}
.practice-more>summary{cursor:pointer;padding:16px 4px;font-weight:700;min-height:44px}.practice-more[open]{display:grid;gap:20px}.practice-camera:focus-within,.practice-drop:focus-within{outline:3px solid #416f91;outline-offset:3px}.practice-file-preview button{min-width:44px;min-height:44px}
#worksheets-screen{--practice-ink:#273b35;--practice-muted:#68756f;--practice-line:#dcded4;--practice-paper:#fffefa;--practice-cream:#f7f0dd;--practice-sage:#e8eee4;--practice-sun:#d99c35;--practice-coral:#d86750;--practice-blue:#416f91;color:var(--practice-ink)}
#worksheets-screen *{box-sizing:border-box}
.practice-center{display:grid;gap:22px;width:100%;max-width:1120px;margin:0 auto;padding-bottom:22px;font-size:15px;line-height:1.65}
.practice-center h1,.practice-center h2,.practice-center h3,.practice-center p{margin-top:0}
.practice-eyebrow{margin:0 0 6px;color:#8a7960;font-size:11px;font-weight:800;letter-spacing:.14em}
.practice-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;padding:30px 32px;border:1px solid #dce0d5;border-radius:24px;background:linear-gradient(125deg,#f7f1df 0%,#f7f1df 56%,#e9efe5 56%,#e9efe5 100%)}
.practice-hero:after{content:"";position:absolute;right:185px;bottom:-55px;width:145px;height:145px;border:20px solid rgba(255,255,255,.42);border-radius:50%}
.practice-hero>div:first-child{position:relative;z-index:1;max-width:650px}
.practice-hero h1{margin-bottom:10px;font-size:clamp(28px,4vw,43px);line-height:1.22;letter-spacing:-.035em}
.practice-hero p:not(.practice-eyebrow){max-width:620px;margin-bottom:0;color:#596b63}
.practice-hero-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));min-width:290px;border:1px solid rgba(51,74,64,.14);border-radius:18px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px)}
.practice-hero-stats span{display:grid;gap:2px;padding:17px 13px;text-align:center;border-right:1px solid rgba(51,74,64,.11)}
.practice-hero-stats span:last-child{border-right:0}.practice-hero-stats strong{font-size:25px;font-variant-numeric:tabular-nums}.practice-hero-stats small{color:var(--practice-muted);font-size:11px}
.practice-message{padding:12px 15px;border:1px solid #d7ded2;border-radius:11px;background:#f2f5ed;color:#3e5b46;font-size:13px}
.practice-message[data-tone=error]{border-color:#eccfc8;background:#fff2ee;color:#954431}.practice-message[data-tone=success]{border-color:#cfe1cf;background:#eef7ed;color:#38613a}
.practice-section-heading,.practice-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.practice-section-heading h2,.practice-panel-heading h2{margin:0;font-size:24px;line-height:1.35;letter-spacing:-.025em}
.practice-panel-heading>div>p:not(.practice-eyebrow){max-width:680px;margin:6px 0 0;color:var(--practice-muted);font-size:13px}
.practice-panel-number{color:#98a39c;font-size:28px;font-weight:300;line-height:1}
.practice-refresh{min-height:44px;padding:8px 4px;border:0;background:none;color:#5b6963;font:inherit;font-size:13px;cursor:pointer}.practice-refresh span{font-size:16px}.practice-refresh:focus-visible{outline:3px solid var(--practice-blue);outline-offset:3px}
.practice-daily-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.practice-daily-card{min-width:0;padding:23px;border:1px solid var(--practice-line);border-radius:20px}.practice-daily-card.math{background:var(--practice-sage)}.practice-daily-card.english{background:var(--practice-cream)}
.practice-card-top,.practice-submission-head,.practice-progress-title{display:flex;align-items:center;gap:12px}.practice-card-top>div,.practice-submission-head>div,.practice-progress-title>div{min-width:0;flex:1}
.practice-card-top small,.practice-submission-head small,.practice-progress-title small{display:block;color:var(--practice-muted);font-size:11px;font-weight:700}.practice-card-top h3,.practice-submission-head h3,.practice-progress-title h3{margin:2px 0 0;font-size:18px;line-height:1.4}
.practice-subject-mark{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid currentColor;border-radius:12px;color:#56725d;font-size:16px;font-weight:800}.english .practice-subject-mark{color:#8d7442}
.practice-status{flex:0 0 auto;padding:4px 8px;border-radius:5px;background:#f4ebcf;color:#8c671f;font-size:11px;font-weight:700;white-space:nowrap}.practice-status.done{background:#dcebd9;color:#376338}.practice-status.working{background:#dfeaf2;color:#315e7c}.practice-status.waiting{background:#f8e8cd;color:#865e1e}.practice-status.error{background:#f7dcd6;color:#984330}.practice-status.muted{background:#eceee9;color:#727b76}
.practice-daily-card>p{min-height:48px;margin:16px 0 12px;color:#5f6c66;font-size:13px}
.practice-sheet-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.practice-sheet-meta span{padding:4px 8px;border:1px solid rgba(51,68,58,.12);border-radius:20px;background:rgba(255,255,255,.45);color:#5e6a64;font-size:11px}
.practice-actions{display:flex;flex-wrap:wrap;gap:8px}.practice-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #cbd2c8;border-radius:9px;background:#fffefa;color:var(--practice-ink);font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}.practice-button.primary{border-color:#2d4a3d;background:#2d4a3d;color:#fff}.practice-button.secondary{background:#fffefa}.practice-button.quiet{border-color:transparent;background:rgba(255,255,255,.42);color:#5e6b65}.practice-button:hover{filter:brightness(1.03)}.practice-button:focus-visible,.practice-mini-action:focus-visible,.practice-filter-tabs button:focus-visible,.practice-text-action:focus-visible{outline:3px solid var(--practice-blue);outline-offset:3px}.practice-button:disabled{cursor:wait;opacity:.55}
.practice-text-action{min-height:44px;padding:6px 0;border:0;background:none;color:#405d4d;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.practice-card-note{display:block;color:#6b756f;font-size:12px}
.practice-panel{padding:27px;border:1px solid var(--practice-line);border-radius:20px;background:var(--practice-paper)}
.practice-generator-form{display:grid;grid-template-columns:1fr 1fr 1.3fr .65fr;gap:15px;align-items:end;margin-top:22px}.practice-generator-form fieldset{min-width:0;margin:0;padding:0;border:0}.practice-generator-form legend,.practice-field>span{display:block;margin-bottom:7px;color:#5f6b65;font-size:12px;font-weight:700}
.practice-segmented{display:grid;grid-template-columns:1fr 1fr;min-height:48px;padding:3px;border:1px solid #cdd4ca;border-radius:10px;background:#f1f3ed}.practice-segmented label{min-width:0}.practice-segmented input{position:absolute;opacity:0;pointer-events:none}.practice-segmented span{display:grid;place-items:center;height:40px;padding:0 8px;border-radius:7px;color:#66736c;font-size:12px;font-weight:700;cursor:pointer;text-align:center}.practice-segmented input:checked+span{background:#fffefa;color:#29483a;box-shadow:0 2px 7px rgba(40,58,49,.11)}.practice-segmented input:focus-visible+span{outline:3px solid var(--practice-blue);outline-offset:2px}
.practice-field{display:block;min-width:0}.practice-field input,.practice-field select{display:block;width:100%;min-height:48px;padding:10px 12px;border:1px solid #c6cfc3;border-radius:9px;background:#fffefa;color:var(--practice-ink);font:inherit}.practice-field small{display:block;margin-top:6px;color:#8a948e;font-size:10px;line-height:1.45}.practice-field.is-disabled{opacity:.55}.practice-field input:focus,.practice-field select:focus{outline:3px solid rgba(65,111,145,.2);border-color:var(--practice-blue)}
.practice-generate-button{min-height:48px}.practice-inline-status{min-height:20px;margin-top:12px;color:#5f6d65;font-size:12px}
.practice-upload{background:#f7f8f2}.practice-upload-fields{display:grid;grid-template-columns:.55fr 1.25fr .7fr;gap:14px;margin-top:22px}.practice-upload-pickers{display:grid;grid-template-columns:1.5fr .5fr;gap:12px;margin:15px 0}
.practice-drop,.practice-camera{position:relative;display:grid;min-height:116px;align-content:center;justify-items:center;gap:3px;padding:16px;border:1px dashed #b9c7b7;border-radius:14px;background:#fffefa;color:#53675b;text-align:center;cursor:pointer}.practice-camera{border-style:solid;background:#eaf0e6}.practice-drop input,.practice-camera input{position:absolute;width:1px;height:1px;opacity:0}.practice-drop>span,.practice-camera>span{display:grid;place-items:center;width:31px;height:31px;margin-bottom:3px;border-radius:50%;background:#dfe9dc;font-size:17px;font-weight:800}.practice-drop strong,.practice-camera strong{font-size:13px}.practice-drop small,.practice-camera small{color:#8c9790;font-size:10px}.practice-drop:focus-within,.practice-camera:focus-within{outline:3px solid var(--practice-blue);outline-offset:3px}
.practice-empty-files{margin:0 0 14px;padding:14px;border-radius:10px;background:#eef1e9;color:#6c7871;font-size:12px}.practice-file-preview{display:grid;gap:8px;margin-bottom:14px}.practice-file-preview article{display:grid;grid-template-columns:52px 1fr 38px;align-items:center;gap:11px;padding:8px;border:1px solid #d9dfd5;border-radius:10px;background:#fffefa}.practice-file-thumb{display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:7px;background:#edf0ea}.practice-file-thumb img{width:100%;height:100%;object-fit:cover}.practice-pdf-mark{color:#a75242;font-size:11px;font-weight:800}.practice-file-preview strong{display:block;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.practice-file-preview small{color:#8a948e;font-size:10px}.practice-file-preview button{width:36px;height:36px;border:0;border-radius:50%;background:none;color:#7d8982;font-size:20px;cursor:pointer}.practice-upload-button{min-width:210px}
.practice-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.practice-progress-column{min-width:0;padding:20px;border-radius:15px}.practice-progress-column.math{background:var(--practice-sage)}.practice-progress-column.english{background:var(--practice-cream)}
.practice-progress-list{display:grid;gap:2px;margin-top:15px}.practice-progress-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:12px 0;border-top:1px solid rgba(60,77,68,.12)}.practice-progress-list strong{font-size:13px}.practice-progress-list p{margin:3px 0 0;color:#6a756f;font-size:11px}.practice-mastery{padding:3px 7px;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap}.practice-mastery.mastered{background:#d3e7d2;color:#356036}.practice-mastery.review{background:#e0e9ef;color:#345f78}.practice-mastery.support{background:#f2ddc0;color:#835d24}.practice-mini-action{min-height:36px;padding:5px 8px;border:1px solid rgba(45,70,57,.2);border-radius:7px;background:rgba(255,255,255,.5);color:#3e5e4d;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.practice-filter-tabs{display:flex;gap:7px;margin:20px 0 12px}.practice-filter-tabs button{min-height:40px;padding:8px 15px;border:1px solid #d1d7ce;border-radius:9px;background:#fffefa;color:#6d7771;font:inherit;font-size:12px;cursor:pointer}.practice-filter-tabs button[aria-pressed=true]{border-color:#2f4d3f;background:#2f4d3f;color:#fff}
.practice-submission-list{display:grid;gap:12px}.practice-submission-card{padding:18px;border:1px solid var(--practice-line);border-left:4px solid #68836d;border-radius:13px;background:#fff}.practice-submission-card.english{border-left-color:#b4914b}
.practice-submission-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:13px 0;color:#748078;font-size:11px}.practice-submission-meta strong{color:#344f41;font-size:12px}.practice-submission-meta a{margin-left:auto;color:#426d89}.practice-review-summary{margin:12px 0;padding:15px 17px;border-radius:10px;background:#f1f4ec}.practice-review-summary>span{color:#6d7971;font-size:10px;font-weight:800;letter-spacing:.1em}.practice-review-summary p{margin:5px 0 2px;font-size:13px}.practice-review-summary small{color:#69746e;font-size:11px}
.practice-review-details{border-top:1px solid #e2e5de}.practice-review-details>summary{display:flex;justify-content:space-between;min-height:46px;align-items:center;cursor:pointer;font-size:12px;font-weight:700}.practice-review-details>summary span{color:#859087;font-weight:400}.practice-question-feedback{display:grid;grid-template-columns:29px minmax(0,1fr) auto;gap:10px;padding:12px 0;border-top:1px solid #eceee9}.practice-result-mark{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f2d8d1;color:#984735;font-size:12px;font-weight:800}.practice-question-feedback.correct .practice-result-mark{background:#d8ead6;color:#376538}.practice-question-feedback strong{display:block;font-size:12px}.practice-question-feedback small{display:block;margin-top:3px;color:#805047;font-size:11px}.practice-question-feedback p{margin:4px 0;color:#657169;font-size:11px}.practice-question-feedback em{display:inline-block;margin-top:3px;color:#7d6945;font-size:10px;font-style:normal}.practice-review-button{margin-top:12px}
.practice-confirm-form{display:grid;gap:12px;margin-top:13px;padding:15px;border:1px solid #ead6ad;border-radius:11px;background:#fff8e9}.practice-confirm-form>div:first-child strong{font-size:13px}.practice-confirm-form>div:first-child p{margin:3px 0 0;color:#7b6c50;font-size:11px}.practice-confirm-grid{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:8px}.practice-confirm-grid label{display:grid;gap:4px;color:#6c624f;font-size:10px;font-weight:700}.practice-confirm-grid select{width:100%;min-height:40px;padding:7px 9px;border:1px solid #d9c9a8;border-radius:8px;background:#fffefa;color:var(--practice-ink);font:inherit;font-size:11px}.practice-confirm-form>small{min-height:16px;color:#8d552f;font-size:10px}
.practice-empty{padding:23px;border:1px dashed #cfd6cc;border-radius:12px;color:#68746d;text-align:center}.practice-empty strong{color:#40564a;font-size:13px}.practice-empty p{max-width:520px;margin:6px auto 0;font-size:11px}.practice-footer-note{margin:0;color:#7d8881;font-size:11px;text-align:center}
.practice-loading,.practice-error{display:grid;justify-items:center;gap:7px;min-height:310px;align-content:center;padding:28px;border:1px solid var(--practice-line);border-radius:20px;background:#f7f4ea;text-align:center}.practice-loading span{width:28px;height:28px;border:3px solid #d6dfd2;border-top-color:#446351;border-radius:50%;animation:practice-spin .9s linear infinite}.practice-loading small,.practice-error p{color:var(--practice-muted);font-size:12px}.practice-error strong{font-size:18px}@keyframes practice-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.practice-hero{align-items:flex-start;flex-direction:column}.practice-hero-stats{width:100%}.practice-generator-form{grid-template-columns:1fr 1fr}.practice-generate-button{min-height:48px}.practice-progress-grid{grid-template-columns:1fr}}
@media(max-width:680px){.practice-center{gap:15px}.practice-hero{padding:22px 19px;border-radius:18px}.practice-hero:after{display:none}.practice-hero h1{font-size:28px}.practice-hero-stats{min-width:0}.practice-hero-stats span{padding:12px 7px}.practice-hero-stats strong{font-size:21px}.practice-daily-grid{grid-template-columns:1fr}.practice-daily-card,.practice-panel{padding:18px;border-radius:16px}.practice-section-heading h2,.practice-panel-heading h2{font-size:21px}.practice-panel-number{font-size:23px}.practice-generator-form,.practice-upload-fields,.practice-upload-pickers{grid-template-columns:1fr}.practice-upload-pickers{grid-template-columns:1.35fr .65fr}.practice-progress-column{padding:16px}.practice-progress-list article{grid-template-columns:minmax(0,1fr) auto}.practice-progress-list .practice-mini-action{grid-column:1/-1;justify-self:start}.practice-submission-head{align-items:flex-start}.practice-submission-head .practice-status{margin-left:auto}.practice-question-feedback{grid-template-columns:27px minmax(0,1fr)}.practice-question-feedback .practice-mini-action{grid-column:2;justify-self:start}.practice-submission-meta a{margin-left:0}.practice-upload-button{width:100%}.practice-confirm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.practice-hero-stats small{font-size:9px}.practice-card-top,.practice-submission-head{flex-wrap:wrap}.practice-card-top>div,.practice-submission-head>div{min-width:calc(100% - 56px)}.practice-card-top>.practice-status,.practice-submission-head>.practice-status{margin-left:54px}.practice-actions .practice-button{flex:1 1 calc(50% - 5px)}.practice-generator-form{grid-template-columns:1fr}.practice-upload-pickers{grid-template-columns:1fr 1fr}.practice-drop,.practice-camera{min-height:104px}.practice-filter-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.practice-filter-tabs button{padding-inline:8px}.practice-file-preview article{grid-template-columns:45px minmax(0,1fr) 36px}.practice-file-thumb{width:45px;height:45px}}
@media(prefers-reduced-motion:reduce){.practice-loading span{animation:none}.practice-center *{scroll-behavior:auto!important}}

/* Six parent destinations still fit on a narrow phone without horizontal scroll. */
#parent-nav{gap:clamp(7px,3.5vw,56px);padding-right:8px;padding-left:8px}
#student-nav{gap:clamp(16px,6vw,72px);padding-right:8px;padding-left:8px}
@media(max-width:430px){#parent-nav .nav-item{min-width:43px;font-size:10px}#parent-nav .nav-item span{font-size:17px}}
@media(max-width:340px){#parent-nav{gap:3px;padding-right:4px;padding-left:4px}#parent-nav .nav-item{min-width:36px;font-size:9px}}
