.school-today,.school-family,.school-management,.school-students,.school-calendar,.school-attendance,.school-preparation,.school-reports{min-width:0;margin-block:24px 32px}.school-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px;margin-block:20px;display:grid}.school-cards>.panel{min-width:0;margin:0}.school-session h3{margin-block:16px 10px;font-size:1.2rem}.school-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.school-card-head h2,.school-card-head h3{margin:0}.school-status{color:#325b50;background:#edf1e7;border-radius:20px;padding:5px 11px;font-size:.8rem}.school-status.cancelled{color:#865738;background:#f6e8dd}.school-status.closed{color:#2f6359;background:#e5edeb}.school-block{color:#5f7168;margin-top:5px;line-height:1.55;display:block}.school-cancelled{border-left:3px solid #a77845;padding-left:12px}.school-actions{flex-wrap:wrap;gap:12px;margin-block:16px;display:flex}.school-actions .btn{flex:1;min-width:min(100%,150px)}.school-form{margin-block:20px}.school-form>label{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.school-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;margin-block:16px;display:grid}.school-form-grid>label{min-width:0}.school-form input,.school-form textarea,.school-form select,.school-form-grid input,.school-form-grid select,.school-attendance select,.school-calendar select,.school-child-picker select,.school-preparation select{width:100%;max-width:100%;min-height:48px;font-size:16px}.school-form-grid label{flex-direction:column;gap:8px;display:flex}.school-form-grid .school-checkbox,.school-form .school-checkbox,.school-checkbox{cursor:pointer;flex-direction:row;align-items:center;gap:12px;min-height:48px;display:flex}.school-checkbox input[type=checkbox]{flex:none;width:24px;height:24px;min-height:24px}.school-checks{border:1px solid #dce4da;border-radius:12px;min-width:0;margin-bottom:18px;padding:16px}.school-checks legend{padding-inline:6px;font-weight:600}.school-footnote{color:#5d7067;margin-block:16px;font-size:.83rem;line-height:1.7}.school-id{color:#607268;overflow-wrap:anywhere;font-size:.8rem}.school-totals{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:12px;margin-block:18px;display:grid}.school-totals>div{background:#eaf0e7;border:1px solid #dae4d7;border-radius:16px;flex-direction:column;gap:7px;padding:18px;display:flex}.school-totals strong{color:#305e52;font-size:1.8rem}.school-totals span{color:#526a5e;font-size:.85rem;line-height:1.5}.school-next{border-top:4px solid #4d7661}.school-week-controls{justify-content:space-between;align-items:center;gap:12px;margin-block:24px;display:flex}.school-week-controls h3{margin:0;font-size:1rem}.school-week-controls .btn{min-width:48px;padding:8px}.school-history-row{border-bottom:1px solid #e1e7df;justify-content:space-between;align-items:flex-start;gap:20px;padding-block:16px;font-size:.9rem;display:flex}.school-history-row:last-child{border-bottom:0}.school-history-row>span{min-width:0}.school-history-row>strong{text-align:right;max-width:48%}.school-history summary,.school-cancel summary,.school-person summary,.school-group summary,.school-legacy summary{cursor:pointer;min-height:48px;padding-block:12px;font-weight:600;line-height:1.5}.school-history li,.school-group li{line-height:1.8}.school-cancel{border-top:1px solid #e0e6dc;margin-top:14px}.school-cancel label{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.school-cancel input,.school-cancel select{width:100%;min-height:48px;font-size:16px}.school-calendar-controls>.form-row{flex-wrap:wrap;align-items:end;gap:12px}.school-calendar-controls .form-row>label{flex:1;min-width:130px}.school-calendar-controls>label{flex-direction:column;gap:8px;margin-block:16px;display:flex}.school-calendar-controls input{width:100%;min-height:48px;font-size:16px}.school-roster{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px;margin-block:20px;display:grid}.school-person.panel{margin:0}.school-person h3{margin:0;font-size:1.25rem}.school-current-status{color:#326353;font-weight:600}.school-attendance-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.school-attendance-buttons>.btn{white-space:normal;min-height:48px;padding:10px 8px;font-size:.85rem;line-height:1.35}.school-attendance-buttons>.btn:last-child{grid-column:1/-1}.school-attendance-buttons>.school-selected{color:#fff;background:#305e52;border-color:#305e52}.school-close{width:100%;min-height:52px}.school-person details{margin-top:12px}.school-person ol{padding-left:18px;font-size:.85rem;line-height:1.7}.school-person li{margin-block:10px}.school-legacy{border-top:2px solid #d6e1d3;margin-top:48px;padding-top:20px}.school-legacy .page-title h1{font-size:1.4rem}.mydojo-root[data-view] .workspace :is(button,a,input,select,summary){min-width:44px;min-height:44px}.mydojo-root[data-view] a.wordmark{min-height:44px}.mydojo-root[data-view] .topbar .icon-button{width:44px;min-width:44px;height:44px;min-height:44px}.mydojo-root[data-view] :is(input,select,textarea){font-size:16px}@media (width<=600px){.school-cards,.school-roster,.school-form-grid{grid-template-columns:minmax(0,1fr)}.school-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.school-history-row{flex-wrap:wrap;gap:10px}.school-history-row>strong{text-align:left;max-width:100%}.school-family .school-session,.school-next{padding:20px}.school-calendar-controls .form-row{grid-template-columns:48px minmax(0,1fr) 48px;display:grid}.school-calendar-controls .form-row>label{min-width:0}.school-calendar-controls .form-row>.btn{min-width:48px;padding:8px}.app-shell.clubAdmin+nav.mobile-nav{justify-content:flex-start;overflow-x:auto}.app-shell.clubAdmin+nav.mobile-nav>button{flex:1;min-width:76px}.school-child-picker{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}}.mydojo-root .skip-link:focus:not(:focus-visible){top:-100px}.academy{gap:20px;min-width:0;display:grid}.academy h2,.academy h3{line-height:1.3}.academy p,.academy small,.academy strong{overflow-wrap:anywhere}.academy-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin:16px 0;display:grid}.academy-card{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.academy-card p{margin:0}.academy-library-item{text-align:left;background:var(--surface,#fff);cursor:pointer;border:1px solid #dae1dc;border-radius:12px;gap:10px;min-height:120px;padding:18px;display:grid}.academy-library-item span,.academy-library-item small{color:#53635e;font-size:13px}.academy-reader{scroll-margin-top:30px}.academy-body{white-space:pre-wrap;line-height:1.8}.academy-image,.academy-video video{aspect-ratio:16/9;background:#152e2b;border-radius:12px;width:100%;max-width:900px;height:auto;margin:18px auto;display:block}.academy-video{max-width:900px}.academy-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.academy-fields{border:0;gap:16px;min-width:0;padding:0;display:grid}.academy-check,.academy-question label{align-items:center;gap:12px;min-height:44px;margin:8px 0;display:flex}.academy-check input,.academy-question input[type=radio]{accent-color:#174e45;width:44px;min-width:44px;height:44px;margin:0}.academy-question{border:1px solid #cddbd3;border-radius:12px;min-width:0;margin:16px 0;padding:16px}.academy-question label:has(input:not([type=checkbox]):not([type=radio])){display:grid}.academy-question legend{overflow-wrap:anywhere;max-width:100%;padding:0 8px}.academy-review{border-top:1px solid #dae3dd;padding:20px 0}.academy-state{background:#edf4ef;border-radius:10px;padding:10px 14px;font-size:14px}.academy-state small{margin-top:6px;display:block}.academy-state.pending{background:#fff4da}.academy-state.rejected{background:#ffeded}.academy-milestones{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.academy-milestones>div{text-align:center;background:#edf4ef;border-radius:16px;gap:8px;padding:18px 10px;display:grid}.academy-milestones b{color:#185748;font-size:30px}.academy-milestones span{font-size:13px}.academy-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.academy-week span{text-align:center;border:1px solid #d8e4dc;border-radius:12px;gap:8px;padding:14px 0;font-size:12px;display:grid}.academy-week b{font-size:22px}.academy-week .done{color:#185a3e;background:#d9f0e0}.academy-today{justify-content:space-between;align-items:center;gap:16px;display:flex}.academy details>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.academy form>label{margin:14px 0;display:grid}.academy select,.academy input,.academy textarea{min-width:0;max-width:100%}.academy .school-actions{flex-wrap:wrap}.academy .panel .panel{box-shadow:none}.academy button{white-space:normal}@media (width<=700px){.academy-form-grid{grid-template-columns:1fr}.academy-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}.academy .panel{padding:18px}.academy-today{display:grid}.academy .school-card-head{flex-wrap:wrap}.academy .school-actions>.btn{flex:160px}.academy-reader .form-row{flex-wrap:wrap}.academy-reader .form-row>label{flex-basis:160px}}.guided-practice{gap:22px;min-width:0;display:grid}.guided-practice .panel{min-width:0}.guided-practice p,.guided-practice h2,.guided-practice h3,.guided-practice legend,.jp-audio{overflow-wrap:anywhere}.practice-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;display:grid}.practice-task{flex-direction:column;gap:12px;display:flex}.practice-task p{margin:0}.practice-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.practice-numbers>div{text-align:center;background:#eaf3ec;border-radius:14px;gap:8px;padding:18px 10px;display:grid}.practice-numbers b{color:#28564d;font-size:30px}.practice-numbers span{font-size:13px}.practice-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.practice-week>div{text-align:center;border:1px solid #d7e3da;border-radius:10px;gap:10px;padding:14px 2px;font-size:12px;display:grid}.practice-week b{font-size:22px}.practice-week .practiced{color:#1b5c43;background:#dceee1}.practice-milestones{gap:12px;padding-left:24px;display:grid}.practice-milestones li{border:1px solid #d7e3da;border-radius:10px;padding:10px}.practice-milestones .reached{background:#e2f1e6}.practice-save,.practice-state{background:#eaf2e9;border-radius:10px;margin:16px 0;padding:12px 16px}.practice-network{background:#fff6df;border:1px solid #d6c18e;border-radius:12px;margin:16px 0;padding:18px}.practice-network button{margin:4px}.practice-step-nav{max-width:100%;margin:22px 0;overflow-x:auto}.practice-step-nav ol{gap:8px;margin:0;padding:0;list-style:none;display:flex}.practice-step-nav li{text-align:center;background:#eff3ed;border-radius:10px;flex:0 0 100px;gap:8px;padding:12px 8px;font-size:12px;display:grid}.practice-step-nav li[aria-current]{color:#fff;background:#28564d}.practice-step-nav span{font-size:20px;font-weight:700}.practice-step-title{scroll-margin-top:28px}.practice-step-title:focus{outline-offset:6px;outline:2px solid #28564d}.practice-check{align-items:center;gap:12px;min-height:44px;margin:14px 0;display:flex!important}.practice-check input[type=checkbox],.practice-check input[type=radio]{accent-color:#28564d;width:44px;min-width:44px;height:44px;margin:0}.practice-question{border:1px solid #d2dfd5;border-radius:12px;min-width:0;margin:18px 0;padding:18px}.practice-question legend{max-width:100%;padding:0 6px;font-weight:700}.practice-question fieldset{border:0;min-width:0;padding:12px 0}.practice-question label,.practice-workflow>div>label{margin:14px 0;display:grid}.practice-step-actions{flex-wrap:wrap;gap:12px;margin:24px 0;display:flex}.guided-practice button,.jp-audio button{white-space:normal;min-width:44px;min-height:44px}.guided-practice input,.guided-practice select,.guided-practice textarea,.jp-audio input{max-width:100%;min-height:44px;font-size:16px}.guided-practice details>summary,.jp-audio summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}.practice-media img,.practice-media video,.practice-exercise-image{aspect-ratio:16/9;object-fit:contain;border-radius:12px;max-width:100%;height:auto;margin:20px 0;display:block}.practice-media video{background:#142f28;width:100%}.practice-exercise-image{max-height:280px}.practice-feedback{white-space:pre-wrap;background:#edf3ed;border-left:4px solid #28564d;border-radius:8px;padding:16px}.practice-review-row{border-top:1px solid #d7e1d7;padding:22px 0}.jp-audio{border:1px solid #d3dfd5;border-radius:12px;min-width:0;margin:18px 0;padding:18px}.jp-term{margin:8px 0;font-family:Yu Gothic,Meiryo,system-ui,sans-serif;font-size:24px;line-height:1.6}.jp-controls{flex-wrap:wrap;gap:10px;display:flex}.jp-controls button{flex:140px;justify-content:center;align-items:center;gap:10px;display:flex}.jp-audio>label{gap:8px;margin:18px 0;display:grid}.jp-status{background:#e5f1e6;border-radius:10px;padding:12px}.jp-status.unavailable{background:#fff4db}.practice-submitted{padding:20px 0;position:relative;overflow:hidden}.practice-celebration{justify-content:center;gap:18px;height:38px;display:flex}.practice-celebration i{background:#739d70;border-radius:50%;width:12px;height:12px;animation:.65s ease-out practice-cheer}.practice-celebration i:nth-child(2n){background:#d2945e;animation-delay:80ms}.practice-celebration i:nth-child(3){animation-delay:.15s}@keyframes practice-cheer{0%{opacity:.1;transform:translateY(20px)scale(.5)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=700px){.practice-numbers{grid-template-columns:1fr}.practice-numbers>div{text-align:left;grid-template-columns:60px 1fr;align-items:center}.practice-workflow,.guided-practice .panel{padding:18px}.practice-step-actions>.btn{flex:150px}.jp-audio{padding:14px}.practice-question{padding:12px}.practice-card-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.practice-celebration i{animation:none}.guided-practice *,.jp-audio *{scroll-behavior:auto!important;transition:none!important}}:root{color:#263b37;font-synthesis:none;--green:#28564d;--green-dark:#21473f;--muted:#64756e;--line:#e1e7e0;--orange:#c4663c;--paper:#fff;--radius:18px;background:#f6f7f4;font-family:Segoe UI,Arial,sans-serif;font-size:15px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a,button{color:inherit}button,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #ca7144}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.2px;margin-bottom:11px;font-size:clamp(28px,3vw,38px);font-weight:700;line-height:1.16}h2{letter-spacing:-.55px;margin-bottom:14px;font-size:22px;line-height:1.3}h3{letter-spacing:-.3px;margin-bottom:10px;font-size:18px;line-height:1.35}p{line-height:1.65}small{font-size:12px}button{transition:background .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}.muted{color:var(--muted);font-size:14px}.eyebrow{color:#6b7d73;letter-spacing:1.7px;margin-bottom:10px;font-size:10px;font-weight:700;line-height:1.6}.demo-strip{color:#4c6557;letter-spacing:.6px;z-index:50;background:#e9eee7;border-bottom:1px solid #dbe3da;justify-content:space-between;align-items:center;height:31px;padding:0 34px;font-size:10px;font-weight:600;display:flex;position:relative}.demo-strip>span{align-items:center;gap:7px;display:flex}.demo-detail{letter-spacing:.25px;font-weight:400}.demo-dot{background:#65825a;border-radius:50%;width:6px;height:6px}.demo-switch{position:relative}.demo-switch summary{cursor:pointer;align-items:center;gap:7px;min-height:26px;list-style:none;display:flex}.demo-switch summary:after{content:"⌄";font-size:15px}.demo-popover{border:1px solid var(--line);letter-spacing:0;background:#fff;border-radius:14px;width:290px;padding:22px;font-size:13px;position:absolute;top:30px;right:0;box-shadow:0 12px 40px #203e3320}.demo-popover p{color:var(--muted);margin:10px 0;font-weight:400}.demo-popover label:last-child{margin-bottom:0}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:88px;padding:0 36px;display:flex;position:relative}.wordmark{letter-spacing:-1px;color:var(--green-dark);font-size:26px;font-weight:850;line-height:1;text-decoration:none;display:block}.wordmark>span{font-weight:350}.wordmark small{letter-spacing:3.25px;color:#74837b;margin-top:8px;font-size:8px;font-weight:600;display:block}.header-right{align-items:center;gap:22px;display:flex}.club-name{color:#5c6d63;border-right:1px solid var(--line);padding-right:24px;font-size:13px;font-weight:600}.avatar{color:#74583d;background:#eee4d3;border:3px solid #fff;border-radius:50%;outline:1px solid #e4e7df;justify-content:center;align-items:center;width:37px;height:37px;font-size:14px;font-weight:700;display:flex}.icon-button{background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;min-width:42px;min-height:42px;display:inline-flex;position:relative}.icon-button:hover{background:#edf2ed}.icon-button i{background:var(--orange);border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:9px}.app-shell{grid-template-columns:225px minmax(0,1fr);max-width:1600px;margin:auto;display:grid}.sidebar{border-right:1px solid var(--line);background:#f6f7f3;flex-direction:column;min-height:calc(100vh - 119px);padding:36px 20px 20px 22px;display:flex}.nav-heading{letter-spacing:1.6px;text-transform:uppercase;color:#849086;margin-bottom:19px;padding-left:16px;font-size:10px;font-weight:700}.sidebar nav{flex-direction:column;gap:8px;display:flex}.nav-item{text-align:left;color:#5b6c63;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;width:100%;min-height:49px;padding:14px 15px;font-size:14px;font-weight:500;display:flex}.nav-item:hover{background:#e8eee6}.nav-item.active{color:var(--green-dark);background:#e2ece4;font-weight:650}.nav-count{background:#fff;border-radius:6px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;font-size:11px;display:flex}.sidebar-note{color:#738069;margin-top:60px;padding:20px 15px 14px;position:relative}.sidebar-note:before{content:"";background:#ccd7ca;width:35px;height:1px;position:absolute;top:0;left:15px}.sidebar-note svg{color:#6d8863;margin-bottom:13px}.sidebar-note strong{font-size:12px;line-height:1.8;display:block}.sidebar-note p{color:#7b897a;margin-top:6px;font-size:12px;line-height:1.8}.sidebar-foot{letter-spacing:1.8px;color:#71816d;margin-top:auto;padding:75px 12px 0;font-size:8px;line-height:2.3}.sidebar-foot span{letter-spacing:0;color:#8b9687;font-size:10px}main{min-width:0;padding:39px 43px 0}.workspace{border:0;min-width:0;margin:0;padding:0}.page-title{margin-bottom:29px}.page-title .muted{margin-bottom:0;font-size:14px}.student-grid{grid-template-columns:minmax(0,1fr) 288px;align-items:start;gap:27px;display:grid}.primary-column,.secondary-column{min-width:0}.secondary-column{flex-direction:column;gap:21px;display:flex}.journey-banner{isolation:isolate;color:#fff;background:#28564d;border-radius:21px;min-height:284px;display:flex;position:relative;overflow:hidden}.journey-content{z-index:3;max-width:100%;padding:26px 29px 27px;position:relative}.journey-content h2{letter-spacing:-.8px;margin:17px 0 13px;font-size:30px;font-weight:650;line-height:1.22}.journey-content p{color:#d0ded4;margin-bottom:20px;font-size:12px;line-height:1.7}.journey-content .btn{gap:10px;min-height:38px;padding:10px 14px;font-size:11px}.pill{color:#61725c;background:#eef2eb;border-radius:6px;align-items:center;gap:6px;max-width:100%;padding:6px 10px;font-size:10px;font-weight:600;line-height:1.3;display:inline-flex}.pill.light{color:#f3f5e8;background:#ffffff17;border:1px solid #ffffff18;padding:5px 9px;font-size:10px}.belt{vertical-align:middle;background:#fafafa;border:1px solid #d0d8ce;border-radius:2px;width:22px;min-width:22px;height:8px;display:inline-block;position:relative}.belt:after{content:"";background:inherit;border-radius:1px;width:4px;height:13px;position:absolute;top:-3px;right:5px;transform:rotate(12deg)}.belt-1{background:#d99245;border-color:#b57531}.belt-2{background:#5484ab;border-color:#437294}.belt-3{background:#dcb640;border-color:#b49226}.belt-4{background:#648762;border-color:#4e704c}.belt-label{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.journey-art{z-index:1;pointer-events:none;width:46%;height:100%;position:absolute;top:0;right:0;overflow:hidden}.art-sun{background:#e5bc77;border-radius:50%;width:118px;height:118px;position:absolute;top:43px;right:31px;box-shadow:0 0 0 19px #dfc38b08,0 0 0 38px #dfc38b06}.art-hill{border-radius:50% 50% 0 0;position:absolute}.art-hill.back{background:#446d58;width:300px;height:260px;bottom:-133px;right:-170px;transform:rotate(-34deg)}.art-hill.front{background:#71906d;width:310px;height:140px;bottom:-60px;right:-98px;transform:rotate(-28deg)}.art-path{background:#b5b287;border-radius:45% 45% 0 0;width:54px;height:240px;position:absolute;top:192px;right:72px;transform:rotate(44deg)}.art-spark{color:#d3dfc0;position:absolute}.s1{font-size:23px;top:37px;left:21px}.s2{font-size:17px;top:131px;right:27px}.art-step{background:#dbcda4;border-radius:40%;width:12px;height:20px;position:absolute;transform:rotate(42deg)}.art-step.one{bottom:22px;right:46px}.art-step.two{bottom:53px;right:27px}.art-step.three{bottom:78px;right:45px}.btn{background:var(--green);color:#fff;white-space:normal;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 17px;font-size:13px;font-weight:600;line-height:1.35;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--green-dark)}.btn.cream{color:#345345;background:#f2edda}.btn.cream:hover{background:#fff8e7}.btn.secondary{color:var(--green);background:#f0f4ee;border-color:#dce5d9}.btn.secondary:hover{background:#e3ece0}.btn.small{min-height:36px;padding:8px 11px;font-size:11px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:20px;padding:24px}.secondary-column .panel{margin-bottom:0;padding:23px 21px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.section-heading h2,.section-heading h3{margin-bottom:0}.section-heading .eyebrow{letter-spacing:1.3px;margin-bottom:6px;font-size:9px}.primary-column>.section-heading{margin:28px 0 16px}.counter{color:#63735b;white-space:nowrap;background:#e9eee5;border-radius:20px;padding:7px 11px;font-size:11px;font-weight:600}.task-card{border:1px solid var(--line);background:#fff;border-radius:15px;gap:16px;margin-bottom:13px;padding:21px;display:flex}.task-card.completed{background:#f8fbf5;border-color:#d5e2d0}.task-icon{border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;display:flex}.color-0{color:#af7b35;background:#f8eddb}.color-1{color:#6a8557;background:#eaf0e4}.color-2{color:#66819b;background:#e8eef3}.completed .task-icon{color:#477336;background:#dcebd5}.task-body{flex:1;min-width:0}.task-meta{color:#7b897d;letter-spacing:.3px;justify-content:space-between;align-items:center;gap:8px;margin:1px 0 7px;font-size:9px;font-weight:500;display:flex}.task-meta>span:last-child{white-space:nowrap;align-items:center;gap:4px;display:flex}.task-body h3{margin-bottom:6px;font-size:16px}.task-body>p{color:#6f7e72;margin-bottom:12px;font-size:12px;line-height:1.7}.task-status{flex-wrap:wrap;gap:6px;margin-bottom:13px;display:flex}.subtle-label{color:#7d8a7e;font-size:10px}.complete-button{letter-spacing:.3px;color:#4a6841;background:#edf3e9;border:1px solid #dde7d7;width:100%;min-height:43px;font-size:11px}.complete-button:hover:not(:disabled){background:#dfead7}.complete-button.done{opacity:1;color:#4d6f3f;background:#e1edda;border-color:#d3e4ca}.pill.success{color:#466d38;background:#e5f0dd}.pill.pending{color:#84602b;background:#fff1d8}.add-task{color:#6e8063;background:0 0;border:1px dashed #cbd7c5;border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;margin:20px 0 14px;font-size:12px;display:flex}.add-task:hover{background:#eef3e9}.support-note{color:#7c897c;align-items:flex-start;gap:7px;margin:14px 0 23px;font-size:10px;line-height:1.7;display:flex}.support-note svg{flex-shrink:0;margin-top:1px}.week-panel h3{font-size:15px}.week-panel .section-heading>svg{color:#83907e}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:20px 0;display:grid}.week-strip button{background:0 0;border:0;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:74px;padding:8px 1px;display:flex;position:relative}.week-strip button>span{color:#7f8c7c;font-size:10px}.week-strip button strong{font-size:14px;font-weight:600}.week-strip button.selected{color:#fff;background:#2f594d}.week-strip button.selected span{color:#d8e6d8}.week-strip button.is-today:not(.selected){background:#e9efe4}.week-strip i,.month-grid i,.calendar-legend i{border-radius:50%;width:4px;height:4px;min-height:4px;display:inline-block}.has-task{background:#b4c1a8}.has-done{background:#a27740}.selected .has-task{background:#dce4c7}.selected .has-done{background:#ecd195}.weekly-total{border-top:1px solid #edf0e8;align-items:center;gap:10px;padding-top:17px;display:flex}.round-icon{color:#668156;background:#edf3e7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:37px;height:37px;display:inline-flex}.round-icon.sand{color:#b08f5b;background:#f7efdf}.weekly-total strong{font-size:11px;font-weight:600}.weekly-total p{color:#84907f;margin:4px 0 0;font-size:10px}.text-button{color:var(--green);text-align:left;background:0 0;border:0;align-items:center;gap:9px;min-height:40px;padding:0;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.text-button:hover{color:#b06e37}.week-panel>.text-button{margin-top:13px;font-size:11px}.word-panel{background:#f0f1e7;border-color:#e0e4d6;position:relative;overflow:hidden}.word-panel .eyebrow{color:#7b886c;font-size:9px}.word-panel h3{margin-top:18px;margin-bottom:12px;font-size:24px;position:relative}.word-panel h3 span{color:#8c947b;font-size:12px;font-weight:400}.word-panel>strong{font-size:12px;font-weight:600;position:relative}.word-panel>p{color:#7c866e;max-width:185px;margin:9px 0 14px;font-size:11px;line-height:1.85;position:relative}.word-kanji{color:#dce1cc;font-family:serif;font-size:91px;line-height:1;position:absolute;top:40px;right:12px}.word-panel .text-button{font-size:11px}.message-preview h3{margin:16px 0 8px;font-size:15px}.message-preview p{color:#7c8675;margin-bottom:10px;font-size:11px;line-height:1.85}.message-preview .text-button{font-size:11px}.main-footer{border-top:1px solid var(--line);color:#8e9988;justify-content:space-between;gap:15px;margin-top:30px;padding:32px 0 22px;font-size:9px;line-height:1.8;display:flex}.mobile-nav{display:none}.info-banner{color:#62745c;background:#edf2e9;border:1px solid #dbe4d5;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:25px;padding:16px 18px;font-size:12px;line-height:1.7;display:flex}.info-banner svg{flex-shrink:0}.form-row{align-items:flex-end;gap:18px;margin:14px 0;display:flex}.grow{flex:1;min-width:0}label{color:#65725f;margin-bottom:16px;font-size:12px;font-weight:600;line-height:1.5;display:block}label input,label select,label textarea{margin-top:7px;display:block}input,select,textarea{color:#344b3d;background:#fff;border:1px solid #d8e1d3;border-radius:9px;width:100%;min-width:0;min-height:45px;padding:10px 12px}select{padding-right:30px}textarea{resize:vertical}input[type=date]{width:auto;max-width:100%}.form-row label{margin-bottom:0}.generator-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:18px;display:flex}.generator-row p{color:var(--muted);max-width:350px;margin:0;font-size:12px}.empty{text-align:center;color:#7a8d70;flex-direction:column;align-items:center;gap:15px;padding:35px;display:flex}.empty p{max-width:450px;margin:0;font-size:14px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.segmented{background:#f0f3ec;border-radius:10px;flex-shrink:0;align-items:center;gap:3px;padding:4px;display:inline-flex}.segmented button{color:#73816b;background:0 0;border:0;border-radius:7px;min-height:36px;padding:9px 16px;font-size:12px}.segmented button.active{color:var(--green);background:#fff;font-weight:650;box-shadow:0 1px 4px #21382610}.segmented button.absent{color:#95583f;background:#f4e5df}.date-controls{align-items:center;gap:2px;display:flex}.date-controls label{margin-bottom:0}.date-controls input{background:0 0;border:0;margin-top:0;padding:8px 3px;font-size:12px}.calendar-panel>.week-strip{max-width:650px}.calendar-panel>h3{text-transform:capitalize;margin:20px 0;font-size:18px}.calendar-legend{color:var(--muted);gap:17px;margin-top:16px;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:7px;display:flex}.calendar-legend i{width:6px;height:6px}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;max-width:720px;display:grid}.month-grid>span{text-align:center;color:var(--muted);padding:10px;font-size:12px}.month-grid button{background:#fafbf8;border:1px solid #eff2eb;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:7px;height:60px;font-size:13px;display:flex}.month-grid button.selected{background:var(--green);color:#fff}.month-grid button.other-month{color:#a2ad9b;background:#fff}.search-field{align-items:center;max-width:650px;margin:24px 0 20px;display:flex;position:relative}.search-field svg{color:#86937d;position:absolute;left:15px}.search-field input{background:#fff;min-height:50px;padding-left:46px}.filter-chips{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.filter-chips button{background:0 0;border:1px solid #e0e7db;border-radius:20px;min-height:38px;padding:9px 14px;font-size:12px}.filter-chips button.active{color:#fff;background:var(--green);border-color:var(--green)}.dictionary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.dictionary-card{min-height:230px;margin-bottom:0;position:relative;overflow:hidden}.dictionary-card .section-heading{z-index:2;position:relative}.dictionary-card h2{margin:20px 0 10px;font-size:21px;position:relative}.dictionary-card strong{font-size:13px;position:relative}.dictionary-card p{color:var(--muted);margin:10px 0;font-size:12px;position:relative}.dictionary-kanji{letter-spacing:-4px;color:#f0f2e8;font-family:serif;font-size:48px;position:absolute;top:63px;right:8px}.speech-note{color:#836a3f;background:#f6efdf;border-radius:9px;padding:14px;font-size:12px}.message-card .message-body{white-space:pre-wrap;color:#65755d;font-size:14px;line-height:1.8}.message-receipts{color:#7c8c71;gap:18px;font-size:11px;display:flex}.message-card h2{margin-top:14px;font-size:20px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:18px;display:grid}.stats-grid .panel{padding:22px 20px}.stats-grid span{color:#77866d;min-height:27px;font-size:10px;display:block}.stats-grid strong{letter-spacing:-1px;margin-bottom:5px;font-size:35px;font-weight:600;display:block}.stats-grid em{color:#98a38f;font-size:17px;font-style:normal;font-weight:400}.stats-grid small{color:#8a977f;font-size:10px}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:12px}th{text-transform:uppercase;letter-spacing:.8px;color:#8c9880;border-bottom:1px solid #dde5d5;padding:12px 14px;font-size:9px;font-weight:600}td{border-bottom:1px solid #edf1e8;padding:15px 14px;font-size:12px}tr:last-child td{border-bottom:0}td small{color:#98a48b;margin-top:5px;font-size:9px;display:block}.date-label{align-items:center;gap:15px;display:flex}.date-label input{margin-top:0;font-size:12px}.plan-row{align-items:center;gap:12px;display:flex}.plan-row label{margin-bottom:12px}.plan-number{color:#9aa68c;margin-right:3px;font-size:10px}.minutes-input{flex-shrink:0;align-items:center;gap:8px;width:107px;display:flex}.minutes-input input{width:65px}.minutes-input span:last-child{font-size:11px;font-weight:400}.validation{color:#a45335;font-size:12px}.attendance-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:18px 0;display:flex}.attendance-row:last-child{border:0}.attendance-row strong{font-size:13px}.attendance-row small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.alert{color:#994b32;background:#fff1eb;border:1px solid #e1bcb1;border-radius:10px;margin-bottom:20px;padding:16px;font-size:13px}.toast{color:#fff;z-index:100;background:#28564d;border-radius:12px;max-width:calc(100vw - 36px);padding:17px 23px;font-size:13px;line-height:1.6;position:fixed;bottom:28px;right:28px;box-shadow:0 5px 30px #183a3728}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.advanced .sidebar{padding-top:30px}.advanced .nav-item{min-height:43px;padding:11px 13px;font-size:12px}.advanced .sidebar nav{gap:4px}.advanced .sidebar-note{margin-top:35px}.advanced .sidebar-foot{padding-top:35px}@media (width>=1450px){main{padding:44px 55px 0}.student-grid{grid-template-columns:minmax(0,1fr) 310px;gap:33px}.journey-banner{min-height:300px}.journey-content{padding:30px 34px}.journey-content h2{font-size:34px}.task-card{padding:23px}.task-body h3{font-size:18px}.task-body>p{font-size:13px}}@media (width<=1180px){.app-shell{grid-template-columns:195px minmax(0,1fr)}main{padding:30px 28px 0}.sidebar{padding-left:14px;padding-right:14px}.student-grid{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.journey-content{padding:24px}.journey-content h2{font-size:26px}.journey-art{opacity:.7;width:40%}.secondary-column .panel{padding:20px 16px}.task-card{gap:12px;padding:18px}.task-icon{border-radius:10px;width:38px;height:38px}.task-meta{font-size:8px}.dictionary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stats-grid .panel{margin-bottom:0}.stats-grid{margin-bottom:28px}.week-strip{gap:2px}.week-strip button>span{font-size:9px}.task-body h3{font-size:15px}.task-body>p{font-size:11px}}@media (width<=960px){.student-grid{grid-template-columns:minmax(0,1fr)}.secondary-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.secondary-column .message-preview{grid-column:1/-1}.journey-art{opacity:1;width:46%}.journey-content h2{font-size:30px}.journey-content p{font-size:13px}.task-body h3{font-size:17px}.task-body>p{font-size:13px}.task-meta{font-size:10px}.task-icon{width:43px;height:43px}.task-card{padding:21px}.complete-button{min-height:47px}.calendar-toolbar{flex-direction:column;align-items:flex-start}.dictionary-grid{gap:14px}.panel{padding:22px}.generator-row{flex-direction:column;align-items:flex-start}.section-heading h2{font-size:20px}}@media (width<=700px){:root{font-size:16px}.demo-strip{height:31px;padding:0 18px;font-size:9px}.demo-detail{display:none}.demo-popover{width:270px;padding:20px;top:28px;right:0}.topbar{height:75px;padding:0 20px}.wordmark{font-size:24px}.wordmark small{margin-top:7px;font-size:7px}.header-right{gap:10px}.club-name{padding-right:10px;font-size:10px}.avatar{width:32px;height:32px;font-size:12px}.app-shell{display:block}.sidebar{display:none}main{padding:27px 20px 0}.page-title{margin-bottom:25px}.page-title .eyebrow{letter-spacing:1.3px;margin-bottom:10px;font-size:9px}.page-title h1{letter-spacing:-1px;margin-bottom:10px;font-size:31px}.page-title .muted{max-width:330px;font-size:13px;line-height:1.7}.journey-banner{border-radius:18px;min-height:266px}.journey-content{padding:23px}.journey-content h2{font-size:28px;line-height:1.23}.journey-content p{font-size:11px;line-height:1.7}.journey-content .btn{min-height:42px;padding:10px 12px;font-size:10px}.journey-art{width:40%}.art-sun{width:89px;height:89px;top:52px;right:8px}.art-hill.front{right:-160px}.art-hill.back{right:-218px}.art-path{right:8px}.s1{font-size:16px;top:36px;left:6px}.s2{top:155px;right:15px}.art-step.one{right:16px}.art-step.two{right:1px}.art-step.three{right:8px}.primary-column>.section-heading{margin-top:27px}.section-heading .eyebrow{letter-spacing:1.3px;font-size:8px}.section-heading h2{font-size:19px}.counter{padding:6px 9px;font-size:10px}.task-card{border-radius:14px;gap:11px;padding:18px 15px}.task-icon{border-radius:10px;width:36px;height:36px}.task-icon svg{width:20px}.task-meta{letter-spacing:0;margin-bottom:8px;font-size:8px}.task-meta>span:last-child{gap:3px}.task-meta svg{width:11px}.task-body h3{font-size:16px;line-height:1.4}.task-body>p{font-size:12px;line-height:1.75}.subtle-label,.task-status .pill{font-size:9px}.task-status{margin-bottom:13px}.complete-button{gap:6px;min-height:47px;padding:10px 9px;font-size:10px}.support-note{font-size:10px;line-height:1.7}.add-task{min-height:49px;font-size:12px}.secondary-column{grid-template-columns:1fr;gap:18px}.secondary-column .panel{padding:22px}.secondary-column .message-preview{grid-column:auto}.week-panel h3{font-size:17px}.week-strip button{gap:10px;min-height:78px}.week-strip button>span{font-size:11px}.week-strip button strong{font-size:15px}.weekly-total strong{font-size:13px}.weekly-total p{font-size:11px}.week-panel>.text-button{font-size:12px}.word-panel{min-height:244px}.word-panel .eyebrow{font-size:10px}.word-panel h3{font-size:28px}.word-panel>strong{font-size:13px}.word-panel>p{max-width:240px;font-size:12px}.word-kanji{font-size:110px;right:20px}.word-panel .text-button,.message-preview p{font-size:12px}.message-preview h3{font-size:17px}.message-preview .text-button{font-size:12px}.mobile-nav{min-height:75px;padding:8px 8px max(10px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40;background:#fffffff5;border-top:1px solid #dfe6db;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 20px #213b2810}.mobile-nav button{color:#88937f;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:55px;padding:7px 2px;font-size:9px;display:flex}.mobile-nav button.active{color:var(--green);background:#edf3e7;border-radius:12px;font-weight:650}.mobile-nav button span{line-height:1.3}.main-footer{flex-direction:column;gap:4px;margin-top:29px;padding-bottom:105px;font-size:8px}.panel{margin-bottom:18px;padding:20px 17px}.info-banner{margin-bottom:23px;padding:14px;font-size:11px}.form-row{flex-direction:column;align-items:stretch;gap:12px}.form-row .btn{align-self:flex-start}.form-row>span{margin:0 0 5px}.calendar-toolbar{gap:12px}.date-controls{justify-content:space-between;width:100%}.date-controls input{font-size:14px}.calendar-panel>h3{font-size:17px}.date-label{flex-direction:column;align-items:flex-start;gap:2px}.calendar-panel{padding:20px 13px}.calendar-panel .week-strip{gap:2px}.calendar-panel .week-strip button{min-height:74px}.month-grid{gap:3px}.month-grid button{height:48px;font-size:12px}.month-grid>span{padding:7px 2px;font-size:10px}.calendar-legend{font-size:10px}.dictionary-grid{grid-template-columns:1fr;gap:14px}.dictionary-card{min-height:230px;margin:0;padding:23px}.dictionary-card strong{font-size:14px}.dictionary-card p{font-size:13px}.filter-chips{gap:7px}.filter-chips button{min-height:40px;padding:8px 12px;font-size:11px}.search-field input{font-size:13px}.message-card .section-heading .muted{font-size:10px}.message-card .message-body{font-size:13px}.message-receipts{flex-wrap:wrap;gap:8px;font-size:10px}.stats-grid{gap:10px}.stats-grid .panel{border-radius:13px;padding:18px 14px}.stats-grid strong{font-size:29px}.stats-grid span{min-height:28px;font-size:9px;line-height:1.6}.stats-grid small{font-size:9px}.stats-grid em{font-size:14px}.section-heading>.btn{min-height:40px;padding:9px 10px;font-size:10px}.plan-row{gap:8px}.plan-number{margin:0;font-size:9px}.plan-row input{min-height:43px;padding:9px;font-size:11px}.minutes-input{gap:5px;width:88px}.minutes-input input{width:56px}.minutes-input span:last-child{font-size:9px}.attendance-row{gap:10px}.attendance-row strong{font-size:12px}.attendance-row .segmented button{padding:7px 10px;font-size:11px}.toast{padding:15px 18px;font-size:12px;bottom:91px;left:18px;right:18px}.advanced .mobile-nav,.advanced~.mobile-nav{justify-content:flex-start;overflow-x:auto}.advanced~.mobile-nav button{flex:0 0 77px;min-width:77px}.basic~.mobile-nav button{font-size:8px}.alert{font-size:12px}.support-note{margin-bottom:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.skip-link{z-index:200;background:#fff;border:2px solid #28564d;border-radius:9px;padding:15px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.support-note,.subtle-label{color:#65765f}.task-meta{color:#687961}@media (width<=700px){.student .task-body h3{font-size:18px}.student .task-body>p{font-size:14px;line-height:1.75}.student .task-meta{font-size:10px}.student .complete-button{font-size:12px}.student .subtle-label{font-size:10px}.student .page-title .muted{font-size:14px}.mobile-nav button{font-size:10px}}.connection-state{border:1px solid var(--line);color:var(--green-dark);background:#edf3e9;border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin-bottom:22px;padding:12px 14px;font-size:12px;display:flex}.connection-state span{font-weight:400}.calendar-scroller{overscroll-behavior-x:contain;min-width:0;max-width:100%;padding-bottom:6px;overflow-x:auto}.calendar-scroll-hint{display:none}[data-view=student] .secondary-column{grid-template-columns:minmax(0,1fr)}[data-view=student] .secondary-column>.panel{min-width:0;max-width:100%}[data-view=student] .journey-content>p{font-size:14px;line-height:1.6}[data-view=student] .icon-button{min-width:44px;min-height:44px}[data-view=student] .wordmark{flex-wrap:wrap;align-content:center;max-width:135px;min-height:44px;display:flex}[data-view=student] .wordmark small{letter-spacing:1px;width:100%;margin-top:7px;font-size:12px}[data-view=student] .demo-strip{height:auto;min-height:48px;font-size:12px}[data-view=student] .demo-switch summary{min-width:44px;min-height:44px;font-size:12px}[data-view=student] .demo-popover{top:46px}[data-view=student] :is(button,input,select,textarea){min-width:44px;min-height:44px}[data-view=student] :is(.btn,.btn.small,.text-button,.complete-button){min-width:44px;min-height:44px;font-size:14px}[data-view=student] :is(label,input,select,textarea){font-size:14px}[data-view=student] :is(.eyebrow,.pill,.counter,.subtle-label,.task-meta,.support-note,.calendar-legend,.main-footer,.sidebar-foot,.nav-heading){letter-spacing:.3px;font-size:12px}[data-view=student] .sidebar-foot span{font-size:12px}[data-view=student] .task-body>p{font-size:16px;line-height:1.65}[data-view=student] .task-meta{flex-wrap:wrap;row-gap:5px}[data-view=student] .week-strip{overscroll-behavior-x:contain;grid-template-columns:repeat(7,minmax(44px,1fr));min-width:0;max-width:100%;padding-block:4px;overflow-x:auto}[data-view=student] .week-strip button{min-width:44px}[data-view=student] .week-strip button>span{font-size:12px}[data-view=student] .week-strip button strong{font-size:16px}[data-view=student] .month-grid{grid-template-columns:repeat(7,minmax(44px,1fr));min-width:338px}[data-view=student] .month-grid button{min-width:44px;min-height:48px;font-size:16px}[data-view=student] .month-grid>span{font-size:12px}[data-view=student] :is(.weekly-total strong,.weekly-total p,.word-panel .eyebrow,.word-panel h3 span,.word-panel>strong,.word-panel>p,.message-preview p,.calendar-summary){font-size:14px}[data-view=student] .word-panel>p{max-width:78%;font-size:15px}[data-view=student] .message-preview p{line-height:1.7}[data-view=student] .message-card .muted{font-size:12px}[data-view=student] button:focus-visible,[data-view=student] a:focus-visible,[data-view=student] .calendar-scroller:focus-visible{outline-offset:3px;outline:3px solid #a27637}[data-view=student] .complete-button.done{border-width:2px}@media (width<=700px){[data-view=student] .demo-strip{gap:6px;padding-inline:12px}[data-view=student] .demo-strip>span{font-size:12px}[data-view=student] .topbar{gap:8px;padding-inline:16px}[data-view=student] .header-right{gap:8px}[data-view=student] .club-name{white-space:normal;max-width:50px;font-size:12px;line-height:1.3}[data-view=student] .wordmark{flex-shrink:0;max-width:112px;font-size:24px}[data-view=student] .mobile-nav button{min-width:44px;min-height:60px;font-size:12px;line-height:1.25}[data-view=student] .mobile-nav button span{white-space:normal}[data-view=student] .task-card{gap:10px;padding:16px}[data-view=student] .task-body h3{font-size:20px;line-height:1.35}[data-view=student] .journey-content .btn{max-width:100%;font-size:14px}[data-view=student] .section-heading,[data-view=student] .calendar-legend{flex-wrap:wrap}[data-view=student] .date-controls input{width:100%;min-width:0;font-size:16px}[data-view=student] .date-controls label{flex:1;min-width:0}[data-view=student] .date-controls{gap:4px}[data-view=student] .filter-chips button{min-height:44px;font-size:14px}[data-view=student] .main-footer{font-size:12px}}@media (width<=440px){[data-view=student] .calendar-scroll-hint{color:var(--muted);margin:4px 0 12px;font-size:12px;display:block}}.auth-screen{background:var(--paper);min-height:100vh;color:var(--green-dark)}.auth-header{justify-content:space-between;align-items:center;gap:14px;max-width:1050px;margin:auto;padding:28px;display:flex}.auth-main{max-width:540px;margin:20px auto;padding:0 20px 40px}.auth-intro{margin-bottom:24px}.auth-intro>svg{color:var(--green)}.auth-intro .eyebrow{letter-spacing:1px;margin:16px 0 10px;font-size:12px}.auth-intro h1{margin:0 0 12px;font-size:34px}.auth-intro>p:last-child{font-size:16px;line-height:1.7}.auth-card{padding:26px}.auth-tabs{gap:8px;margin-bottom:24px;display:flex}.auth-tabs button{border:1px solid var(--line);color:var(--green);background:#f5f7f0;border-radius:9px;flex:1;min-width:44px;min-height:48px;padding:12px 8px;font-size:15px}.auth-tabs button[aria-pressed=true]{background:var(--green);color:#fff;font-weight:650}.auth-fields{border:0;min-width:0;margin:0;padding:0}.auth-fields label{font-size:15px}.auth-fields input{width:100%;min-height:48px;font-size:16px}.auth-submit{width:100%;min-height:50px;margin-top:5px;font-size:16px}.auth-error{color:#9b352c;min-height:44px;margin:14px 0;font-size:15px}.auth-card>p{font-size:14px;line-height:1.7}.auth-screen :is(button,a){min-width:44px;min-height:44px}.auth-screen .support-note{font-size:12px}.session-controls{align-items:center;gap:10px;display:flex}.session-controls button{min-width:44px;min-height:44px;font-size:13px}.session-profile{font-size:12px}.guardian-tools input,.admin-tools input,.admin-tools select{min-height:44px;font-size:16px}.guardian-tools button,.admin-tools button{min-width:44px;min-height:44px}.activation-code{overflow-wrap:anywhere;border:1px solid var(--line);background:#edf3e9;border-radius:10px;padding:16px;font-family:monospace;font-size:20px}.admin-user{border-bottom:1px solid var(--line);padding:18px 0}.group-checks{flex-wrap:wrap;gap:10px;display:flex}.group-checks label{align-items:center;gap:8px;min-height:44px;margin:0;display:flex}.group-checks input{flex:none;width:22px;min-height:22px}.admin-tools .muted,.guardian-tools .muted{font-size:13px}@media (width<=440px){.auth-header{padding:22px 16px}.auth-header>.pill{white-space:normal;max-width:125px;font-size:11px}.auth-main{padding-inline:16px}.auth-card{padding:20px}.auth-intro h1{font-size:30px}.session-controls{gap:6px}.session-profile{max-width:160px;font-size:12px}.session-controls button{padding-inline:10px}}.group-checks input,.consent-check input{flex:none;width:44px;min-width:44px;min-height:44px}.consent-check{align-items:center;gap:10px;display:flex}.activation-result output{overflow-wrap:anywhere;background:#edf3e9;padding:18px;font:22px monospace;display:block}.guardian-child{border-bottom:1px solid var(--line);padding:18px 0}.guardian-child button{margin:6px 8px 6px 0}.session-controls label{align-items:center;gap:8px;margin:0;display:flex}.session-controls select{min-height:44px}.admin-tools form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.demo-strip:has(.session-controls){flex-wrap:wrap;gap:8px;height:auto;min-height:52px;padding-block:6px;font-size:12px}.session-controls{flex-wrap:wrap}.session-controls button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px}.session-controls select{max-width:145px}.topbar{gap:16px}.header-right{min-width:0}.club-name{overflow-wrap:anywhere;white-space:normal;min-width:0}.header-right .icon-button,.header-right .avatar{flex-shrink:0}.mydojo-root :is(.nav-heading,.sidebar-note,.sidebar-note p,.counter,.task-body>p,.add-task,.week-strip button>span,.weekly-total p,.word-panel .eyebrow,.word-panel h3 span,.word-panel>p,.word-kanji,.message-preview p,.info-banner,label,.stats-grid span,.stats-grid em,.stats-grid small,th,td small,.plan-number){color:var(--muted)}.mydojo-root .mobile-nav button{color:var(--muted);font-size:12px}.mydojo-root .mobile-nav button.active{color:var(--green-dark)}.mydojo-root .week-strip button.selected>span{color:#fff}.home-opening{gap:16px;margin-bottom:26px;display:grid}.home-opening>.btn{justify-self:start}.home-opening .academy-today{gap:14px;margin:0;padding:18px}.home-opening .academy-today h2{margin-bottom:8px;font-size:19px}.home-opening .academy-today p{margin-bottom:0}:root{--muted:#52665d;--preview-ink:#21473f;--preview-paper:#f6f7f4;--preview-soft:#e6eee7;--preview-accent:#c4663c}:is(.mydojo-root,.auth-screen,.release-hub) :is(h1,h2,h3,h4,p,legend,td,th,dd,dt){overflow-wrap:anywhere}:is(.mydojo-root,.auth-screen,.release-hub) :is(button,input,select,textarea,a.btn,summary){min-width:44px;min-height:44px}:is(.mydojo-root,.auth-screen,.release-hub) :is(input,select,textarea){font-size:16px}:is(.mydojo-root,.auth-screen,.release-hub) :is(.eyebrow,.subtle-label,.school-footnote,.school-id,.support-note,.pill,small){font-size:12px}.eyebrow,.subtle-label,.school-footnote,.school-id,.support-note,.sidebar-foot,.sidebar-foot span,.mydojo-root footer,.mydojo-root footer span{color:var(--muted)}.jp-controls .btn{overflow-wrap:normal;word-break:normal;flex-basis:180px}.practice-step-nav li[aria-current]{outline:2px solid var(--green-dark);outline-offset:-2px}.mobile-nav button{font-size:12px}.mobile-nav button span{overflow-wrap:normal}.page-back{margin-bottom:18px}.auth-loading{color:#21473f;background:#edf3e9;border-radius:8px;padding:12px}.preview-logo{width:174px;max-width:100%;height:auto;display:block}.brand-toolbar{z-index:18;border-bottom:1px solid var(--line);background:#fff;padding:6px 30px;font-size:13px;position:relative}.brand-toolbar details{max-width:1180px;margin:auto}.brand-toolbar summary{cursor:pointer;justify-content:flex-end;align-items:center;gap:8px;font-weight:600;display:flex}.brand-toolbar summary:after{content:"⌄";margin-left:8px}.brand-tools{grid-template-columns:minmax(180px,300px) 1fr auto;align-items:end;gap:14px;padding:12px 0 18px;display:grid}.brand-tools p,.brand-tools label{margin:0}.brand-tools .btn{max-width:100%}[data-preview-brand=A]{--green:#171b20;--green-dark:#171b20;--muted:#50545a;--line:#d9d7d3;--radius:10px;--preview-ink:#171b20;--preview-paper:#f8f7f3;--preview-soft:#f8e7e3;--preview-accent:#d73d32}[data-preview-brand=B]{--green:#282921;--green-dark:#282921;--muted:#59574e;--line:#dcd4c7;--radius:6px;--preview-ink:#282921;--preview-paper:#f3eee4;--preview-soft:#eee2d2;--preview-accent:#ad443a}[data-preview-brand=C]{--green:#204f4b;--green-dark:#173a38;--muted:#49635c;--line:#d6e3dd;--radius:24px;--preview-ink:#204f4b;--preview-paper:#f7f4eb;--preview-soft:#e2eee6;--preview-accent:#dea054}[data-preview-brand] body,[data-preview-brand] .mydojo-root,[data-preview-brand] .auth-screen{background:var(--preview-paper);color:var(--preview-ink)}[data-preview-brand] :is(.btn,.complete-button){background:var(--green);color:#fff}[data-preview-brand] .btn.secondary{background:var(--preview-soft);color:var(--preview-ink);border-color:var(--line)}[data-preview-brand] :is(.panel,.academy-card,.school-session,.jp-audio){border-radius:var(--radius)}[data-preview-brand] :is(.nav-item.active,.mobile-nav button.active,.practice-numbers>div,.practice-save,.practice-milestones .reached){background:var(--preview-soft);color:var(--preview-ink)}[data-preview-brand] .nav-item.active{box-shadow:inset 4px 0 var(--preview-accent)}[data-preview-brand] .journey-banner{background:var(--green-dark)}[data-preview-brand] :is(.topbar,.auth-header,.brand-toolbar,.mobile-nav){border-color:var(--line);background:#fff}[data-preview-brand=B] :is(h1,h2,h3){letter-spacing:-.4px;font-family:Georgia,Times New Roman,serif}[data-preview-brand=A] .panel{border-top:3px solid var(--line)}[data-preview-brand=C] .practice-numbers b{color:#204f4b}.release-hub{background:var(--preview-paper);color:var(--preview-ink);min-height:100vh}.release-header{justify-content:space-between;align-items:center;gap:20px;max-width:1320px;margin:auto;padding:24px 30px;display:flex}.release-header .wordmark{flex-wrap:wrap;align-items:center;min-height:44px;display:flex}.release-header .wordmark small{width:100%}.release-nav{flex-wrap:wrap;gap:8px;max-width:1320px;margin:auto;padding:14px 30px;display:flex}.release-nav a{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;min-height:44px;padding:10px 16px;text-decoration:none;display:flex}.release-nav a[aria-current]{background:var(--green);color:#fff}.release-hub main{gap:28px;max-width:1260px;margin:auto;padding:24px 30px 48px;display:grid}.release-status{border:1px solid var(--line);background:#fff;border-radius:12px;gap:8px;padding:18px 22px;display:grid}.release-status span{color:var(--muted);font-size:14px}.release-hero{max-width:840px;padding:40px 0 20px}.release-hero h1{font-size:clamp(30px,4vw,52px);line-height:1.12}.release-hero p{max-width:760px}.release-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.release-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.release-brand-grid>article{flex-direction:column;gap:12px;display:flex}.release-brand-grid img{object-fit:contain;object-position:left center;width:210px;max-width:100%;height:64px;margin:10px 0 18px}.release-brand-grid .btn{margin-top:auto}.release-steps{gap:16px;margin:0;padding:0;list-style:none;display:grid}.release-steps>li{grid-template-columns:60px 1fr;gap:22px;display:grid}.release-step-number{color:var(--green);font-size:28px;font-weight:700}.release-steps h2{font-size:22px}.release-steps p{margin:0}.review-controls{gap:14px;display:grid}.review-import{gap:8px;max-width:100%;display:grid}.review-import input{width:320px;max-width:100%}.review-blocks{gap:24px;display:grid}.review-block label{gap:10px;margin:22px 0 0;display:grid}.review-block textarea{resize:vertical;min-height:100px}.review-block dl{grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:14px 24px;line-height:1.6;display:grid}.review-block dt{font-weight:700}.review-block dd{margin:0}.review-block td,.review-block th{vertical-align:top;white-space:normal;font-size:14px}.release-footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0 0;font-size:13px}.release-footer p{margin:0 0 8px}@media (width<=700px){.brand-toolbar{padding:4px 20px}.brand-tools{grid-template-columns:minmax(0,1fr)}.brand-toolbar summary{justify-content:flex-start}.release-header{flex-wrap:wrap;align-items:flex-start;padding:20px}.release-nav{padding:8px 20px}.release-nav a{flex:150px;font-size:14px}.release-hub main{gap:22px;padding:20px}.release-hero{padding:14px 0}.release-brand-grid{grid-template-columns:minmax(0,1fr)}.release-steps>li{grid-template-columns:42px minmax(0,1fr);gap:12px}.release-hub .panel{padding:20px}.review-block dl{grid-template-columns:minmax(0,1fr);gap:6px}.review-block dd{margin-bottom:12px}.release-actions>.btn{flex:220px}.review-import,.review-import input{width:100%}.release-status{padding:16px}.mydojo-root .wordmark{min-width:110px}.mydojo-root .preview-logo{width:135px}}@media (prefers-reduced-motion:reduce){.release-hub *,.mydojo-root *,.auth-screen *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.public-demo-controls{width:100%;min-width:0}.public-demo-controls fieldset{border:0;min-width:0;padding:0}.public-demo-controls legend{margin-bottom:12px;font-weight:700}.public-demo-roles{flex-wrap:wrap;gap:10px;margin:10px 0;display:flex}.public-demo-roles .btn{min-height:44px}.public-demo-home main{max-width:1240px;margin:auto}.public-demo-home .release-hero{max-width:850px}.public-demo-home li{margin-bottom:8px;line-height:1.7}.public-demo-home section{margin-bottom:28px}.demo-strip:has(.public-demo-controls){align-items:flex-start;gap:16px;height:auto;min-height:32px}.demo-strip .public-demo-controls{max-width:900px}.demo-strip .public-demo-controls p:empty{display:none}.demo-strip .public-demo-controls .btn{font-size:14px}.public-demo-home img{max-width:100%}@media (width<=700px){.demo-strip:has(.public-demo-controls){flex-direction:column}.public-demo-roles{grid-template-columns:1fr 1fr;display:grid}.public-demo-controls{overflow-wrap:anywhere}.public-demo-home main{padding:20px}.public-demo-home h1{font-size:clamp(28px,8vw,40px)}}.ux-demo-compact,.ux-demo-status:empty{display:none}.demo-strip .ux-demo-desktop{align-items:center;gap:6px;display:flex}.demo-strip .ux-demo-desktop legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.demo-strip .public-demo-roles{gap:4px}.demo-strip .public-demo-controls .btn{min-height:36px;padding:6px 9px;font-size:12px}.public-demo-roles button[aria-pressed=true]{background:var(--green,#285448);color:#fff;border-color:var(--green,#285448)}.public-demo-roles small{display:none}.ux-overlay-open{overflow:hidden}.ux-drawer{color:#263c35;overscroll-behavior:contain;background:#fcfbf7;border:0;width:min(420px,100vw - 24px);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0;overflow:hidden;box-shadow:-10px 0 40px #132d3833}.ux-drawer[open]{flex-direction:column;animation:.16s ease-out ux-slide;display:flex}.ux-drawer::backdrop{background:#142f3bc2}.ux-drawer-header{border-bottom:1px solid #dce3dc;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.ux-drawer-header h2{overflow-wrap:anywhere;margin:0;font-size:20px;line-height:1.3}.ux-drawer .icon-button{flex-shrink:0;min-width:44px;min-height:44px}.ux-drawer-body{overscroll-behavior:contain;min-height:0;padding:18px;padding-bottom:max(24px,env(safe-area-inset-bottom));overflow-wrap:anywhere;font-size:16px;line-height:1.6;overflow:auto}.ux-drawer fieldset{border:0;min-width:0;margin:0;padding:0}.ux-drawer legend{margin:10px 0;font-weight:700}.ux-menu-note{color:#52665e;margin:0 0 16px;font-size:14px}.ux-menu-list{flex-direction:column;gap:8px;display:flex}.ux-menu-list button{color:#294a3c;text-align:left;background:#fff;border:1px solid #d4ded6;border-radius:12px;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-width:0;min-height:48px;padding:10px 12px;font-size:15px;line-height:1.4;display:flex}.ux-menu-list svg{flex-shrink:0}.ux-menu-list .active,.ux-menu-list [aria-pressed=true]{background:#e7f0e8;border-color:#285448;font-weight:700}.ux-menu-list small{color:#285448;margin-left:auto}.ux-demo-reset{width:100%;margin-top:20px}.ux-drawer .btn{white-space:normal;min-height:44px}.ux-guide-role{margin-top:0;font-size:20px;font-weight:750}.ux-context-help{background:#e8f1e8;border-radius:12px;padding:14px}.ux-context-help h3{margin:0}.ux-context-help p{margin-bottom:0}.ux-guide-topic{border-top:1px solid #dae2da;margin-top:18px;padding:18px 0}.ux-guide-topic h3{font-size:18px;line-height:1.4}.ux-guide-topic li{margin:10px 0}.ux-guide-topic ol,.ux-guide-topic ul{padding-left:22px}.ux-guide-note{background:#f4eddb;border-radius:8px;padding:12px;font-size:14px}.ux-guide-topic summary{cursor:pointer;min-height:44px;font-weight:700}.ux-tour-actions{flex-direction:column;gap:12px;margin-top:30px;display:flex}.ux-screen-tools{color:#52665e;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 10px;font-size:13px;display:flex}.ux-screen-tools .icon-button{min-width:44px;min-height:44px}.ux-welcome{background:#f1f5ed;border:1px solid #d8e2d7;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;padding:14px 16px;display:flex}.ux-welcome p{margin:4px 0 0;font-size:14px}.ux-welcome-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.ux-welcome .btn,.ux-welcome .text-button{min-height:44px}.ux-drawer button:focus-visible,.ux-demo-compact button:focus-visible{outline-offset:3px;outline:3px solid #b37d19}.demo-strip .public-demo-controls .btn{min-height:44px}.demo-strip .public-demo-controls .ux-drawer .btn{min-height:48px;padding:10px 12px;font-size:15px}.demo-strip .ux-drawer{text-align:left;letter-spacing:normal;font-size:16px}.demo-strip .ux-drawer .muted{font-size:14px}@keyframes ux-slide{0%{opacity:.5;transform:translate(25px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.ux-drawer[open]{animation:none}}@media (width<=1100px) and (width>=701px){.demo-strip:has(.public-demo-controls){flex-direction:column;align-items:flex-start}.demo-strip .public-demo-controls{margin-left:0}.demo-strip .ux-demo-desktop{flex-wrap:wrap}}@media (width<=700px){.mydojo-root,.app-shell,main,.primary-column,.secondary-column,.panel,.form-row,.grow{min-width:0}.demo-strip:has(.public-demo-controls){flex-flow:row;justify-content:space-between;align-items:center;gap:6px;height:auto;min-height:52px;padding:2px 12px;font-size:12px;display:flex}.demo-strip .demo-detail{display:none}.demo-strip .public-demo-controls{width:auto;min-width:0;margin:0}.demo-strip .demo-dot{display:none}.demo-strip>.public-demo-controls{flex:1}.demo-strip>span{flex-shrink:0}.public-demo-controls .ux-demo-desktop{display:none}.ux-demo-compact{justify-content:flex-end;align-items:center;gap:6px;min-height:48px;display:flex}.ux-demo-compact>span{text-align:right;font-size:12px;font-weight:700;line-height:1.3}.ux-demo-compact .icon-button{min-width:44px;min-height:44px;color:inherit}.public-demo-controls.initial-demo-controls .ux-demo-compact{background:#fff;border:1px solid #cbd9cc;border-radius:12px;justify-content:space-between;padding:4px 10px}.topbar{gap:8px;padding-left:12px;padding-right:12px}.header-right{gap:4px;min-width:0}.header-right .club-name{display:none}.header-right .icon-button{min-width:44px;min-height:44px}.header-right .avatar{display:none}.wordmark{min-width:0}.brand-toolbar{padding:4px 12px}.brand-toolbar summary{min-height:44px}.mydojo-root .mobile-nav{min-height:72px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:40;background:#fcfcf8;border-top:1px solid #d6e0d7;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;align-items:stretch;gap:2px;display:grid;overflow:visible}.mydojo-root .mobile-nav button{flex:initial;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:auto;min-width:0;max-width:100%;min-height:58px;padding:4px 2px;font-size:12px;line-height:1.3;display:flex}.mydojo-root .mobile-nav button span{white-space:normal;overflow-wrap:anywhere;max-width:100%}.mydojo-root .mobile-nav svg{flex-shrink:0;width:22px;height:22px}.mydojo-root .mobile-nav button.active{color:#174c37;background:#e4eee5;font-weight:750;box-shadow:inset 0 3px #285448}.mydojo-root #main-content{padding:14px 12px calc(90px + env(safe-area-inset-bottom));min-width:0}.mydojo-root .main-footer{padding-bottom:16px;line-height:1.6}.ux-screen-tools{margin:0 0 8px}.ux-welcome{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:16px;padding:12px}.ux-welcome-actions{justify-content:space-between;gap:8px}.ux-welcome-actions .btn,.ux-welcome .text-button{font-size:13px}.connection-state{flex-wrap:wrap;padding:8px 10px;font-size:12px}.connection-state span{font-size:12px}.page-title h1{overflow-wrap:anywhere;font-size:clamp(25px,7.5vw,32px)}.page-title{margin-top:8px}.btn{white-space:normal;min-height:44px}.panel,.school-person,.academy-card{overflow-wrap:anywhere}.form-row{flex-wrap:wrap}.form-row>.grow{flex-basis:100%}input,select,textarea{min-width:0;max-width:100%;font-size:16px}.school-actions,.academy-actions{flex-wrap:wrap}.section-heading,.school-card-head{flex-wrap:wrap;gap:10px}.school-card-head>*,.school-form-grid>*{min-width:0}.table-wrap{max-width:100%;overflow-x:auto}.ux-drawer-body .info-banner{display:block}}
