aside{width:238px;padding:26px 16px 18px;overflow:hidden}.shell{margin-left:238px}.brand{padding:0 10px;flex-shrink:0}.desktop-navigation{overflow-y:auto;overscroll-behavior:contain;margin:24px -5px 12px;padding:0 5px;scrollbar-width:thin;flex:1}.nav-label{margin:20px 12px 9px;font-size:9px;letter-spacing:1.4px}.nav-label:first-child{margin-top:0}.nav{font-size:11px;padding:10px 12px;margin:2px 0;gap:11px}.nav span{flex:1}.nav svg{flex-shrink:0;width:18px;height:18px}.nav-tag{font-size:8px;font-weight:700;background:#eaf1e4;color:#547446;padding:3px 4px;border-radius:4px}.side-bottom{margin-top:0;flex-shrink:0}.user{padding:15px 8px 0}.user strong{max-width:140px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-submenu{margin:2px 0 7px 38px;color:#6b7c72;font-size:10px}.practice-submenu summary{cursor:pointer;padding:5px 0}.practice-submenu button{display:flex;width:100%;gap:9px;align-items:center;font-size:10px;padding:8px 0;text-align:left}.practice-submenu svg{width:14px;height:14px}.practice-submenu button:hover{color:var(--green)}.mobile-navigation,.menu-drawer{display:none}.topbar{position:sticky;top:0;z-index:9;backdrop-filter:blur(14px);height:74px}.header-notice{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff}.header-notice svg{width:18px}.header-notice i{position:absolute;right:7px;top:6px;width:6px;height:6px;border:1px solid white;border-radius:50%;background:#c99a4b}.header-notice i[hidden]{display:none}#app:focus{outline:none}.btn svg{width:16px;height:16px}.local-note{color:#697d74;font-size:11px;line-height:1.8;margin:22px 0}.profile-banner{background:#174c3f;border-radius:20px;color:white;padding:30px;display:flex;align-items:center;gap:22px;margin-bottom:22px}.profile-avatar{background:#d5f68c;color:#234b34;font-size:34px;font-weight:700;width:84px;height:84px;display:grid;place-items:center;border-radius:26px;flex-shrink:0}.profile-banner p{color:#c6dace;font-size:12px;word-break:break-word;margin:8px 0 14px}.profile-banner .chip{background:#ffffff16;border-color:#ffffff22;color:#e4f2e9;font-size:10px}.profile-banner>.btn{margin-left:auto}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-stack{display:grid;gap:18px}.profile-stack h2{margin:12px 0}.goal-number{font-size:64px;font-weight:700;letter-spacing:-3px;color:var(--green);margin:26px 0}.goal-number span{font-size:12px;font-weight:400;color:var(--sub);letter-spacing:0;margin-left:15px}.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.target-grid>div{background:#f2f6f1;border-radius:12px;padding:17px}.target-grid span{display:block;color:#6b7f72;font-size:12px}.target-grid strong{display:block;font-size:23px;margin-top:9px}.profile-facts{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.profile-facts strong{display:block;font-size:25px;color:var(--green)}.profile-facts small{display:block;font-size:10px;color:var(--sub);margin-top:8px}.shortcut-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.shortcut{display:flex;align-items:center;gap:10px;padding:18px;font-size:11px;text-align:left}.shortcut svg{width:20px;height:20px;flex-shrink:0;color:var(--green)}.shortcut span{margin-left:auto}.shortcut:hover{border-color:#88ad92}.profile-form{max-width:850px}.profile-form>.panel{margin-bottom:20px}.profile-form label,.template-skeleton label,.worksheet label,.coach-chat label,.reminder-fields label{display:block;font-size:12px;color:#61786a;margin:22px 0 9px}.profile-form input,.profile-form select,.settings-panel select,.template-skeleton select,.reminder-fields select,.reminder-fields input{width:100%;border:1px solid #dce6de;border-radius:10px;padding:13px;background:#fff;color:var(--ink);font:inherit;font-size:13px}.profile-form .muted{margin-top:12px}.goal-fields{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.goal-fields input{margin-top:10px;font-size:22px;color:var(--green);font-weight:600}.form-actions{display:flex;justify-content:flex-end;gap:12px}.settings-panel{margin-bottom:20px;max-width:920px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:none;padding-bottom:0}.setting-row strong{font-size:13px}.setting-row p,.setting-description{font-size:12px;color:var(--sub);line-height:1.7;margin:7px 0 0;display:block}.setting-row select{max-width:170px}.setting-row input[type=checkbox]{appearance:none;width:46px;height:27px;border-radius:30px;background:#c8d5ce;position:relative;cursor:pointer;flex-shrink:0}.setting-row input[type=checkbox]:before{content:'';display:block;width:21px;height:21px;border-radius:50%;background:white;position:absolute;left:3px;top:3px;box-shadow:0 1px 4px #0002;transition:transform .15s}.setting-row input:checked{background:var(--green)}.setting-row input:checked:before{transform:translateX(19px)}.notice-card{display:flex;gap:20px;border-left:4px solid #799d55;margin-bottom:24px}.notice-card.read{border-left-color:#dce5df}.notice-card h2{margin:9px 0}.notice-card p{font-size:13px;color:#61756b}.reminder-panel{max-width:850px}.reminder-panel h2{margin:12px 0}.reminder-panel>p{font-size:13px;color:#64786e;max-width:670px}.reminder-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px;max-width:580px}.reminder-fields input,.reminder-fields select{display:block;margin-top:10px}.reminder-panel .muted{margin-top:18px}.achievement-banner{padding:26px;background:#edf3e7;border:1px solid #dbe6d0;border-radius:18px;display:flex;gap:20px;align-items:center;margin-bottom:23px}.achievement-banner p{font-size:12px;color:#71826b;margin:8px 0 0}.achievement-banner>.progress{width:170px;margin-left:auto}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.achievement-card{position:relative;overflow:hidden}.medal{display:grid;place-items:center;width:52px;height:52px;background:#f1f4f2;color:#97a79c;border-radius:17px;margin-bottom:22px}.medal svg{width:28px;height:28px}.achievement-status{position:absolute;right:18px;top:23px;color:#8a998d;font-size:9px}.achievement-card h2{font-size:15px}.achievement-card p{color:#7b8a80;font-size:11px;margin:10px 0 22px}.achievement-card small{display:block;font-size:10px;color:#71826d;text-align:right;margin-top:10px}.achievement-card.unlocked{border-color:#bad19d}.achievement-card.unlocked .medal{color:#316d3b;background:#dff0c9}.achievement-card.unlocked .achievement-status{color:#416f36}.guide-intro{background:#174c3f;color:white;padding:32px;border-radius:18px}.guide-intro h2{font-size:30px;margin:18px 0 12px}.guide-intro p{max-width:730px;color:#c5d9ca;font-size:13px}.guide-intro .chip{background:#ffffff10;color:#d5f68c;border-color:#ffffff25}.guide-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0}.guide-sections h2{margin:15px 0;font-size:18px}.guide-time{display:block;font-size:26px;color:var(--green);margin:22px 0}.guide-sections a,.guide-note a,.source-reference{color:var(--green);font-size:11px;text-underline-offset:4px}.guide-note li{font-size:13px;line-height:1.8;margin:12px 0;color:#566b61}.guide-note ul{padding-left:19px}.guide-task-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.guide-task-grid h2{display:flex;align-items:center;gap:10px}.guide-task-grid h2 svg{width:20px;height:20px}.guide-task{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:17px 0;border-top:1px solid var(--line);text-align:left}.guide-task strong{font-size:12px;font-weight:500}.guide-task small{display:block;font-size:10px;color:var(--sub);margin-top:7px}.guide-task:hover{color:var(--green)}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.template-card{text-align:left;position:relative;display:flex;align-items:flex-start;flex-direction:column;transition:.2s}.template-card:hover{border-color:#88ad92;transform:translateY(-3px)}.template-card>.chip{position:absolute;right:22px;top:24px;font-size:10px}.template-card h2{margin:23px 0 10px;font-size:20px}.template-card p{font-size:12px;color:#718479;max-width:420px}.template-card small{font-size:11px;color:#849187;margin:8px 0 22px}.template-open{font-size:12px;font-weight:600;color:var(--green);margin-top:auto;padding-top:18px;border-top:1px solid var(--line);width:100%}.template-detail{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}.template-detail .panel{margin-bottom:18px}.learning-steps{padding:0;list-style:none;counter-reset:step}.learning-steps li{display:flex;flex-direction:column;position:relative;padding:5px 0 5px 38px;margin:22px 0;line-height:1.7}.learning-steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:7px;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;background:#e8f1e0;color:#547640;font-size:11px;font-weight:700}.learning-steps strong{font-size:12px;margin-bottom:4px}.learning-steps span{font-size:12px;color:#6d8073}.template-skeleton pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f6ed;border:1px solid #dde8d1;border-radius:12px;padding:22px;line-height:1.95;font-size:13px;color:#345442;margin:22px 0;user-select:text}.template-check{font-size:12px;line-height:1.9;border-left:3px solid #b8cd94;padding-left:15px;color:#67795c}.worksheet{position:sticky;top:96px}.worksheet textarea,.coach-chat textarea{width:100%;min-height:350px;resize:vertical;border:1px solid #d9e4dc;border-radius:12px;padding:18px;line-height:1.9;font:inherit;font-size:13px;line-height:1.9}.worksheet-status{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#7e8c81;margin:12px 0 20px}.worksheet .btn{margin-top:18px}.source-reference{display:inline-block;margin:5px 0 20px}.back-link{margin-bottom:18px}.coach-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}.coach-plan h2{font-size:24px;margin:24px 0 14px;line-height:1.5}.coach-plan>p,.coach-chat>p{font-size:13px;color:#6f8178}.coach-chat{background:#eff3ed}.coach-chat h2{margin:22px 0 14px}.coach-chat textarea{min-height:120px;background:#f8faf6;color:#829086}.coach-chat button{margin-top:15px}.coach-chat .muted{font-size:11px;margin-top:20px}.reduced-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reduced-motion .btn:hover,.reduced-motion .template-card:hover{transform:none}body[data-reading-size=large] .template-skeleton pre,body[data-reading-size=large] .worksheet textarea,body[data-reading-size=large] .guide-note li,body[data-reading-size=large] .learning-steps span,body[data-reading-size=large] .passage{font-size:17px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #adc77e;outline-offset:3px}a{overflow-wrap:anywhere}
@media(max-width:1180px){aside{width:212px}.shell{margin-left:212px}.achievement-grid{grid-template-columns:repeat(2,1fr)}.shortcut-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr 1fr}.goal-fields{grid-template-columns:repeat(3,1fr)}.template-detail{grid-template-columns:1fr}.worksheet{position:static}.worksheet textarea{min-height:250px}.guide-sections{gap:12px}.guide-sections .panel{padding:18px}.guide-sections h2{font-size:16px}.guide-time{font-size:22px}.coach-layout{grid-template-columns:1fr}}
@media(max-width:950px){.profile-grid{grid-template-columns:1fr}.profile-stack{grid-template-columns:1fr 1fr}.profile-banner{padding:24px;flex-wrap:wrap}.guide-sections{grid-template-columns:1fr}.guide-sections .panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px 15px}.guide-sections h2{grid-column:1;grid-row:2;margin:0}.guide-time{grid-column:2;grid-row:1/3;margin:0;text-align:right}.guide-sections a{grid-column:1/3}.guide-task-grid{grid-template-columns:1fr}.template-grid{grid-template-columns:1fr}.achievement-banner{flex-wrap:wrap}.achievement-banner>.progress{width:100%;margin:0}}
@media(max-width:680px){aside{display:none}.shell{margin-left:0}.content{padding:24px 17px 110px}.topbar{height:64px;padding:0 17px}.top-right{gap:8px}.top-right .btn{font-size:10px;padding:10px 12px}.header-notice{width:34px;height:34px}.mobile-navigation{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(68px + env(safe-area-inset-bottom));padding:5px 8px calc(5px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(12px);z-index:20;border-top:1px solid var(--line);justify-content:space-around}.mobile-navigation button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;border-radius:12px;color:#819086}.mobile-navigation button.active{background:#eef4e9;color:#34613e;font-weight:600}.mobile-navigation svg{width:21px;height:21px}.menu-drawer[open]{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;margin:0;width:86%;max-width:340px;height:100dvh;max-height:100dvh;border:0;border-radius:0 20px 20px 0;padding:22px}.menu-drawer nav{overflow:auto;overscroll-behavior:contain;padding:20px 2px}.drawer-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}.drawer-heading strong{font-size:20px;letter-spacing:-.7px}.drawer-heading .btn{padding:8px 11px}.menu-drawer .nav-label{display:block;margin-top:18px;font-size:10px}.menu-drawer .nav{display:flex;flex-direction:row;text-align:left;gap:14px;font-size:13px;width:100%;padding:13px;margin:2px 0}.menu-drawer .nav span{flex:1}.menu-drawer .nav svg{width:20px;height:20px}.menu-drawer .practice-submenu{font-size:12px}.menu-drawer .practice-submenu button{font-size:12px;padding:10px 0}.profile-banner{gap:16px}.profile-avatar{width:64px;height:64px;border-radius:20px;font-size:28px}.profile-banner>div:nth-child(2){max-width:calc(100% - 80px)}.profile-banner h2{font-size:18px}.profile-banner p{font-size:10px}.profile-banner>.btn{margin:5px 0 0;width:100%}.profile-stack{grid-template-columns:1fr}.profile-grid .section-head{flex-wrap:wrap}.goal-number{font-size:58px}.target-grid>div{padding:15px}.shortcut-grid{gap:10px}.shortcut{padding:16px 12px;font-size:10px;gap:8px}.goal-fields{grid-template-columns:1fr 1fr}.goal-fields label:first-child{grid-column:1/3}.setting-row{gap:15px;flex-wrap:wrap}.setting-row select{max-width:100%}.setting-row input[type=checkbox]{margin-left:auto}.setting-row:has(input[type=checkbox]){flex-wrap:nowrap}.setting-row .chip{white-space:normal}.notice-card{padding:20px;gap:12px}.notice-card .iconbox{width:30px;height:30px}.notice-card h2{font-size:16px;line-height:1.5}.notice-card p{font-size:12px}.reminder-fields{grid-template-columns:1fr;gap:0}.achievement-grid{gap:10px}.achievement-card{padding:16px 13px}.achievement-status{position:static;display:block;font-size:8px;margin-bottom:12px}.achievement-card h2{font-size:13px;line-height:1.5}.achievement-card p{font-size:10px;min-height:34px;line-height:1.7;margin-bottom:14px}.medal{width:43px;height:43px;margin-bottom:12px;border-radius:14px}.achievement-banner{padding:22px;gap:14px}.achievement-banner>div{max-width:calc(100% - 65px)}.achievement-banner h2{font-size:18px}.guide-intro{padding:25px 23px}.guide-intro h2{font-size:24px}.guide-intro .chip{font-size:9px}.guide-intro p{font-size:12px}.guide-note li{font-size:12px}.template-card h2{font-size:18px}.template-detail{gap:6px}.template-skeleton pre{padding:18px;font-size:12px}.template-skeleton .btn{padding:9px 12px;font-size:10px}.template-skeleton .section-head h2,.worksheet .section-head h2{font-size:16px}.worksheet-status{font-size:9px}.coach-plan h2{font-size:21px}.coach-plan .hero-buttons{flex-wrap:wrap}.toast{bottom:90px;min-width:220px}.profile-form .muted{line-height:1.8}}
