@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:#30332d;font-synthesis:none;--paper:#faf8f1;--ink:#30332d;--coral:#ee9a8c;--yellow:#f2cc66;--blue:#9dcddd;--sage:#b1c898;--line:2.5px solid var(--ink);background:#faf8f1;font-family:Nunito,PingFang TC,Microsoft JhengHei,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation;transition:background-color .16s,color .16s,border-color .16s,transform .16s}button:not(:disabled):active,a[href]:active{transform:translateY(1px)}button,a[href],summary,[role=button]{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}button{background:0 0;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #558597}input,select,textarea{background:var(--paper);border:2px solid var(--ink);border-radius:12px;max-width:100%;padding:10px 14px}input:not([type=checkbox]):not([type=file]){min-height:48px;font-size:16px;line-height:1.4}input[type=checkbox]{accent-color:var(--ink);width:21px;height:21px}textarea{resize:vertical;min-height:85px}select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg,#0000 42%,currentColor 42% 62%,#0000 62%),linear-gradient(-45deg,#0000 42%,currentColor 42% 62%,#0000 62%);background-position:right 21px center,right 15px center;background-repeat:no-repeat;background-size:7px 8px;min-height:48px;padding-right:42px;line-height:1.4}option{color:var(--ink);background-color:var(--paper)}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.3px;font-size:clamp(30px,3.2vw,46px);font-weight:900;line-height:1.16}h2{letter-spacing:-.6px;font-size:27px;font-weight:900;line-height:1.2}h3{font-size:20px;font-weight:800;line-height:1.3}small,.muted{color:#676960}small{font-size:13px}.subtitle{margin:10px 0 25px;font-size:19px}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:20;background:#edf4ee;border-right:1px solid #dce5dd;flex-direction:column;width:248px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{letter-spacing:-1.2px;flex-direction:row;justify-content:center;align-items:center;gap:4px;margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:700;line-height:1;display:flex}.brand-image{flex-shrink:0;width:64px;height:56px;display:block;position:relative;overflow:hidden}.brand-image img{object-fit:contain;width:100%;height:100%}.navigation-divider{background:#cad6cd;flex-shrink:0;height:1px;margin:0 8px 24px}.portal-navigation{flex-direction:column;gap:8px;display:flex}.portal-navigation a,.outline-link{border-radius:8px;align-items:center;gap:12px;padding:13px 12px;font-weight:600;display:flex}.portal-navigation a{gap:16px;min-height:48px;padding-inline:20px;font-size:16px}.portal-navigation a svg{stroke-width:1.8px;flex-shrink:0;width:22px;height:22px}.portal-navigation a:hover{background:#dfeae1}.portal-navigation a.active{background:var(--brand);color:#fff;font-weight:800}.portal-navigation a.active:hover{background:#244b36}.sidebar-bottom{border-top:1px solid #cad6cd;flex-direction:column;gap:4px;margin-top:auto;padding-top:16px;display:flex}.outline-link{white-space:nowrap;border:0;justify-content:flex-start;min-height:48px;padding:11px 12px;font-size:16px}.outline-link:hover{background:#dfeae1}.admin-caption{letter-spacing:1.3px;text-transform:uppercase;color:#637769;margin:-6px 20px 18px;font-size:11px;font-weight:700}.main-shell{flex-direction:column;width:calc(100% - 248px);min-width:0;min-height:100vh;margin-left:248px;display:flex}.navigation-language{display:block;position:relative}.navigation-language svg{pointer-events:none;color:#405749;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.navigation-language select{background-color:#f9fcf9;border:1px solid #c8cec8;border-radius:8px;width:100%;height:48px;padding:10px 36px 10px 42px;font-size:16px;font-weight:600}.mobile-topbar{display:none}.navigation-drawer{width:286px;max-width:calc(100vw - 56px);height:100dvh;max-height:100dvh;color:var(--ink);background:#edf4ee;border:0;margin:0;padding:24px 16px 20px;display:none;position:fixed;inset:0 auto 0 0;overflow-y:auto}.navigation-drawer[open]{flex-direction:column;animation:.18s ease-out drawer-enter;display:flex}.navigation-drawer::backdrop{background:#16251e80}.drawer-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:20px;display:flex}.drawer-header .brand{justify-content:flex-start;gap:6px;margin:0;font-size:33px}.drawer-header .brand-image{width:51px;height:48px}.drawer-close,.menu-toggle{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.drawer-close:hover{background:#dfeae1}.menu-toggle{background:#fff;border:1px solid #c8cec8}.menu-toggle:hover{background:#edf4ee}@keyframes drawer-enter{0%{transform:translate(-100%)}to{transform:translate(0)}}.main-shell main{flex:1;min-height:0;padding:32px 36px}footer{color:#74766d;padding:12px 28px;font-size:12px}.button{border:var(--line);border-radius:23px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:9px 19px;font-weight:800;line-height:1.3;transition:transform .12s,background .12s;display:inline-flex}.button:hover{background:var(--yellow);transform:translateY(-2px)}.primary{background:var(--coral)}.blue{background:var(--blue)}.sage{background:var(--sage)}.button.small{min-height:40px;padding:7px 12px;font-size:14px}.text-button{text-underline-offset:4px;padding:8px 0;font-weight:800;text-decoration:underline}.icon-button{border-radius:10px;padding:6px;display:inline-flex}.icon-button:hover{background:var(--yellow)}.page-heading,.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.page-heading{margin-bottom:27px}.page-heading .subtitle{margin-bottom:0}.section-heading{margin:22px 0}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-banner{border:var(--line);background:var(--paper);border-radius:28px;height:198px;margin:22px 0;position:relative;overflow:hidden}.hero-banner img{object-fit:cover;object-position:center 50%;width:100%;height:100%;display:block}.level-tabs{gap:12px;margin:20px 0;padding-bottom:4px;display:flex;overflow-x:auto}.level-tabs button{border:var(--line);white-space:nowrap;border-radius:24px;flex:1;min-width:112px;padding:10px 14px;font-weight:800}.subject-tabs{border-bottom:var(--line);gap:28px;padding:0 8px;display:flex;overflow-x:auto}.subject-tabs button{white-space:nowrap;padding:12px 2px 16px;font-weight:800;position:relative}.subject-tabs button.selected:after{content:"";background:var(--yellow);border-radius:9px;height:6px;position:absolute;bottom:5px;left:-5px;right:-5px}.search{border:var(--line);border-radius:24px;align-items:center;gap:8px;max-width:310px;height:48px;padding:0 12px;display:flex}.search input:not([type=checkbox]):not([type=file]){background:0 0;border:0;outline:none;width:100%;height:100%;min-height:0;padding:0}.search:focus-within{outline-offset:4px;outline:3px solid #558597}.library-body{border-top:1px solid var(--ink);grid-template-columns:180px 1fr;gap:15px;padding-top:22px;display:grid}.folder-nav{border-right:2px solid var(--ink);min-height:260px;padding-right:10px}.folder-nav button{text-align:left;border-radius:16px;align-items:center;gap:9px;width:100%;margin-bottom:6px;padding:11px 10px;font-weight:800;display:flex}.folder-nav button:hover,.folder-nav button.selected{background:var(--sage)}.exercise-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:15px;display:grid}.exercise-card{border:var(--line);border-radius:22px;flex-direction:column;min-width:0;padding:14px;display:flex}.exercise-card h3{margin:12px 0 7px;font-size:22px}.exercise-card .topic{min-height:36px;font-size:15px;line-height:1.4}.pdf-preview{aspect-ratio:1/1.02;border:2px solid var(--ink);background:#fff;border-radius:8px;flex-direction:column;width:80%;max-height:230px;margin:0 auto;padding:14px 13px;display:flex;position:relative;overflow:hidden}.pdf-preview .pdf-label{background:var(--coral);border:1.5px solid var(--ink);border-radius:5px;align-self:flex-start;margin-bottom:10px;padding:1px 6px;font-size:11px;font-weight:900}.pdf-preview strong{margin-bottom:12px;font-size:15px;line-height:1.2}.pdf-preview span.line{background:#c6c9c1;width:90%;height:2px;margin:8px 0}.pdf-preview svg{color:#74796d;align-self:center;margin-top:auto}.pdf-preview .preview-subtitle{color:#73776e;margin-top:5px;font-size:10px}.badge{background:var(--yellow);white-space:nowrap;border-radius:15px;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.badge.draft,.badge.archived,.badge.suspended{background:var(--coral)}.card-buttons{gap:7px;margin-top:auto;display:flex}.card-buttons button{flex:1;gap:4px;padding:7px;font-size:12px}.breadcrumb{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;font-size:14px;display:flex}.breadcrumb button{padding:4px 0;font-weight:700}.breadcrumb button:hover{text-decoration:underline}.notice{border:2px solid var(--ink);background:#f3e9c4;border-radius:14px;margin:0 0 18px;padding:13px 16px;line-height:1.5}.notice.error{background:#f7d9d2}.empty{text-align:center;color:#61675c;border:2px dashed #a7aaa0;border-radius:22px;grid-column:1/-1;padding:50px 22px}.empty svg{margin:0 0 16px}.empty p{margin-top:10px;max-width:440px;margin-inline:auto;line-height:1.6}.loading{text-align:center;color:#767b70;padding:45px 20px}.loading-indicator{color:#626b5e;justify-content:center;align-items:center;gap:12px;min-height:180px;display:flex}.loading-spinner{border:3px solid #dce5dd;border-top-color:currentColor;border-radius:50%;flex:0 0 24px;width:24px;height:24px;animation:.8s linear infinite loading-spin;display:inline-block}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.settings-card,.subscription-card{border:var(--line);border-radius:24px;max-width:640px;margin-top:25px;padding:28px}.settings-card h2,.subscription-card h2{margin-bottom:20px}.settings-page{max-width:1070px}.settings-page>h1{font-size:56px}.settings-page>.subtitle{margin:12px 0 36px;font-size:24px;line-height:1.4}.settings-page .settings-card{border-radius:28px;max-width:100%;margin-top:36px;padding:28px 36px}.settings-page .settings-card h2{font-size:36px}.settings-page .form-stack{gap:24px}.settings-page .form-stack h2{margin-bottom:6px}.settings-page .preference-field{grid-template-columns:185px minmax(0,1fr);align-items:center;gap:20px;max-width:865px;font-size:18px;display:grid}.form-stack input:not([type=checkbox]):not([type=file]),.form-stack select{width:100%;height:48px;min-height:48px;font-size:16px;font-weight:600;line-height:1.4}.form-stack input[readonly]{color:#65675f;background:#efeee8}.settings-page .button{min-height:62px;padding:12px 32px;font-size:23px}.settings-page .settings-card>p{font-size:19px;line-height:1.5}.form-stack{flex-direction:column;gap:18px;display:flex}.form-stack label{flex-direction:column;gap:7px;font-size:14px;font-weight:800;display:flex}.form-stack label small{font-weight:400}.form-stack .button{align-self:flex-start;min-width:150px}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.checkbox-label{align-items:center;flex-direction:row!important}.auth-layout{grid-template-columns:1fr 1fr;align-items:center;gap:7%;max-width:960px;margin:50px auto;display:grid}.auth-intro{padding:20px}.auth-intro h1{font-size:48px;line-height:1.15}.auth-intro p{max-width:330px;margin-top:20px;font-size:19px;line-height:1.6}.auth-intro .sun{color:#c78e30;font-size:70px}.book-stack{color:#776c55;justify-content:center;margin:35px 0;display:flex}.auth-panel{border:var(--line);background:#fffdf7;border-radius:28px;padding:30px}.auth-panel>p{color:#62675c;margin:12px 0 25px;line-height:1.6}.auth-panel .form-stack>.button{width:100%}.auth-links{flex-direction:column;gap:11px;margin-top:20px;font-size:13px;display:flex}.auth-links button{align-self:flex-start;font-weight:800;text-decoration:underline}.social-buttons{flex-direction:column;gap:12px;display:flex}.social-buttons>button{border:var(--line);border-radius:22px;padding:10px;font-weight:800}.provider-button{background:#fffdf8;justify-content:center;align-items:center;gap:12px;min-height:48px;display:inline-flex}.provider-logo{flex-shrink:0;width:22px;height:22px}.social-buttons>.provider-google:hover{background:#f0f3ed}.social-buttons>.provider-apple{color:#fff;background:#171a16}.social-buttons>.provider-apple:hover{background:#343a31}.settings-card .actions>.provider-button{border-radius:18px;flex:1;justify-content:center;gap:20px;min-width:200px}.settings-card .provider-logo{width:32px;height:32px}.or{text-align:center;color:#76796f;margin:7px 0 16px;font-size:12px}.modal-backdrop{z-index:100;background:#30332d70;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border:var(--line);border-radius:26px;width:620px;max-height:90vh;padding:25px;overflow:auto}.modal>header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.modal h2{font-size:26px}.modal .form-stack+.form-stack{margin-top:22px}.access-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.asset-panel{border-top:2px solid var(--ink);margin-top:18px;padding-top:18px}.asset-panel h3{margin-bottom:14px}.asset-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.asset-controls input[type=file]{width:100%;padding:9px;font-size:13px}.admin-workspace{border-top:var(--line);grid-template-columns:285px minmax(0,1fr);gap:20px;margin-top:15px;padding-top:20px;display:grid}.tree-panel{border-right:2px solid var(--ink);min-width:0;padding-right:14px}.admin-workspace>section{min-width:0}.tree-node{border-radius:12px;align-items:center;gap:2px;margin-top:5px;padding:0;display:flex;position:relative}.tree-node.selected .tree-open{background:var(--active)}.tree-node button{text-align:left;align-items:center;gap:7px;font-size:17px;font-weight:800;line-height:1.4;display:flex}.tree-node .tree-open{border-radius:14px;flex:1;min-width:0;min-height:44px;padding:8px 28px 8px 6px}.tree-node .tree-open:hover{background:#e9ecde}.tree-node.selected .tree-open:hover{background:var(--active)}.tree-toggle,.tree-toggle-spacer{justify-content:center;align-items:center;width:20px;min-width:20px;height:40px;display:flex}.tree-toggle:hover{background:#e9ecde;border-radius:8px}.tree-caret{border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:8px solid var(--ink);width:0;height:0}.tree-caret.expanded{transform:rotate(90deg)}.tree-folder{fill:#f4d78b;stroke-width:2px;flex-shrink:0}.tree-label{overflow-wrap:anywhere}.tree-slash{color:#76776c}.tree-node .edit{opacity:0;flex-shrink:0;margin-left:auto;padding:5px;position:absolute;right:2px}.tree-node:hover .edit,.tree-node:focus-within .edit{opacity:1}.tree-panel>.button{width:100%;min-height:48px;margin-bottom:12px}.table-wrap{border:var(--line);border-radius:20px;position:relative;overflow:auto}.section-heading .actions>.button{min-height:48px}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th{border-bottom:2px solid var(--ink);white-space:nowrap;padding:17px 15px;font-weight:900}td{border-bottom:1.5px solid #97998f;padding:22px 15px}tr:last-child td{border-bottom:0}.exercise-cell{align-items:center;gap:13px;min-width:190px;display:flex}.exercise-cell>svg{color:#8d655b;flex-shrink:0}.exercise-cell strong{font-size:15px;display:block}.exercise-cell small{margin-top:6px;font-size:12px;display:block}.table-note{color:#64685e;align-items:flex-start;gap:8px;margin:22px 0;font-size:13px;display:flex}.table-note svg{flex-shrink:0}.table-actions{align-items:center;gap:6px;display:flex}.users-heading{margin-bottom:25px}.users-search{max-width:450px;margin:25px 0}.user-details{grid-template-columns:1fr 1fr;gap:18px;margin:14px 0 20px;display:grid}.user-details small{margin-bottom:5px;display:block}.subscription-card{background:#f6efd9}.subscription-card p{margin:15px 0;line-height:1.7}.load-more{justify-content:center;margin:25px 0;display:flex}.tabs-actions{justify-content:flex-end;margin-bottom:18px;display:flex}.delete-section{border-top:1px solid #c8c8be;gap:16px;margin-top:28px;padding-top:20px;display:grid}.delete-section p{font-size:15px;line-height:1.6}.delete-section label{gap:8px;display:grid}.danger-text{color:#8b302d}.button.danger{color:#fff;background:#8b302d}.cleanup-jobs{margin:14px 0 20px}.cleanup-row{border-bottom:1px solid #d3d3c8;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.cleanup-row p{margin-top:5px;font-size:14px}.viewer-close{white-space:nowrap}.visually-hidden{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (min-width:1600px){.main-shell main{max-width:1500px;margin:auto;padding:34px 42px}.hero-banner{height:240px}.exercise-card h3{font-size:21px}}@media (max-width:1180px){.sidebar{width:216px;padding-inline:12px}.main-shell{width:calc(100% - 216px);margin-left:216px}.main-shell main{padding:23px 20px}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-body{grid-template-columns:150px 1fr}.admin-workspace{grid-template-columns:250px minmax(0,1fr);gap:15px}.section-heading{flex-wrap:wrap}.section-heading .search{margin-left:auto}.card-buttons button{font-size:12px}.auth-layout{gap:30px;margin:25px auto}.auth-panel{padding:23px}.auth-intro h1{font-size:38px}.page-heading{align-items:flex-start}.page-heading .button{flex-shrink:0}.level-tabs{gap:8px}.level-tabs button{min-width:110px}.hero-banner{height:180px}}@media (max-width:800px){.app-shell{display:block}.sidebar{display:none}.main-shell{width:100%;margin:0}.mobile-topbar{z-index:30;background:#fff;border-bottom:1px solid #d3d8d2;flex-shrink:0;align-items:center;height:64px;min-height:64px;padding:0 14px;display:flex;position:sticky;top:0}.mobile-navigation-header{grid-template-columns:44px minmax(0,1fr) 118px;align-items:center;gap:8px;width:100%;min-width:0;display:grid}.compact-brand{letter-spacing:-1px;grid-column:2;justify-self:center;gap:4px;margin:0;font-size:27px}.compact-brand .brand-image{width:35px;height:38px}.mobile-header-language{grid-column:3;justify-self:end;width:118px}.mobile-header-language select{background-color:#f9fcf9;border:1px solid #c8cec8;border-radius:8px;width:100%;height:48px;padding:10px 34px 10px 12px;font-size:16px;font-weight:700;display:block}.settings-page .settings-card{margin-top:24px;padding:22px 20px}.settings-page>h1{font-size:32px}.settings-page>.subtitle{margin-bottom:24px;font-size:16px}.settings-page .settings-card h2{font-size:26px}.settings-page .preference-field{grid-template-columns:1fr;gap:7px;font-size:14px}.settings-page .button{min-height:48px;padding:10px 20px;font-size:16px}.settings-page .settings-card>p{font-size:16px}.settings-card .provider-logo{width:24px;height:24px}.settings-card .actions>.provider-button{width:100%}.main-shell main{padding:23px 16px}h1{letter-spacing:-.8px;font-size:32px}.subtitle{margin:9px 0 20px;font-size:16px}.hero-banner{height:150px;margin:18px 0}.level-tabs{gap:8px;margin:16px 0}.level-tabs button{min-width:105px;padding:8px 11px;font-size:14px}.subject-tabs{gap:24px;font-size:14px}.section-heading{gap:12px;margin:20px 0}.section-heading h2{font-size:23px}.section-heading .search{width:100%;max-width:none;margin:0}.library-body{flex-direction:column;gap:17px;display:flex}.folder-nav{border-bottom:1.5px solid #989c8f;border-right:0;gap:8px;min-height:0;padding:0 0 10px;display:flex;overflow-x:auto}.folder-nav button{white-space:nowrap;width:auto;margin:0;padding:8px 10px;font-size:14px}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exercise-card{border-radius:18px;padding:12px}.exercise-card h3{font-size:16px}.exercise-card .topic{min-height:35px;font-size:12px}.card-buttons{flex-direction:column}.card-buttons button{width:100%;padding:8px;font-size:13px}.pdf-preview{aspect-ratio:1/1.1;width:90%;padding:10px}.pdf-preview strong{font-size:13px}.pdf-preview .preview-subtitle{font-size:8px}.pdf-preview span.line{margin:6px 0}.pdf-preview>svg{width:25px;height:25px}.badge{padding:3px 7px;font-size:10px}.auth-layout{grid-template-columns:1fr;max-width:480px;margin:4px auto 20px}.auth-intro{display:none}.auth-panel{padding:26px 22px}.auth-panel h2{font-size:29px}.settings-card,.subscription-card{margin-top:20px;padding:22px}.page-heading{flex-wrap:wrap;gap:17px;margin-bottom:20px}.page-heading .button{padding:8px 14px;font-size:13px}.admin-workspace{border-top:0;grid-template-columns:minmax(0,1fr);padding-top:0}.tree-panel{border-right:0;border-bottom:var(--line);padding:0 0 16px}.tree-node{max-width:100%}.tree-panel>.button{width:auto}.tree-panel>div{flex-wrap:wrap;gap:5px;display:flex}.tree-panel .tree-children{width:100%}.tree-node button{font-size:13px}.table-wrap{border-radius:16px}th,td{padding:14px 11px}.exercise-cell strong{font-size:14px}.modal{border-radius:20px;padding:22px 18px}.form-row,.access-row,.user-details{grid-template-columns:1fr}.table-note{font-size:12px}footer{padding-inline:16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.hero-banner picture{width:100%;height:100%;display:block}.hero-banner img{object-fit:cover;object-position:center 47%}@media (max-width:800px){.hero-banner img{object-fit:contain}}.pdf-preview{max-height:190px}.pdf-viewer{background:var(--paper);border:var(--line);border-radius:23px;flex-direction:column;width:min(1200px,96vw);height:92vh;padding:18px;display:flex;overflow:hidden}.pdf-viewer>header{justify-content:space-between;align-items:center;gap:18px;padding:0 0 16px;display:flex}.pdf-viewer h2{font-size:23px}.pdf-viewer header p{color:#676960;margin-top:5px;font-size:13px}.pdf-viewer iframe{background:#e4e6e0;border:1px solid #aaa;border-radius:10px;flex:1;width:100%;min-height:0}.pdf-viewer .notice{flex-shrink:0}@media (max-width:800px){.pdf-viewer{width:98vw;height:94vh;padding:14px}.pdf-viewer>header{align-items:flex-start;gap:10px}.pdf-viewer h2{font-size:17px}.pdf-viewer .button{white-space:nowrap;padding:7px 10px;font-size:12px}.pdf-viewer>header .actions{flex-wrap:nowrap;gap:4px}}.pdf-scroll{background:#e4e6e0;border:2px solid #9ba294;border-radius:12px;flex:1;min-height:0;padding:18px;overflow:auto}.pdf-page{width:min(100%,760px);min-height:400px;margin:0 auto 20px}.pdf-page-label{text-align:center;color:#626a5c;padding:5px 0 9px;font-size:12px}.pdf-page canvas{background:#fff;width:100%;height:auto;min-height:250px;display:block}.viewer-kind{background:var(--sage);border-radius:12px;font-weight:900;display:inline-flex;color:var(--ink)!important;padding:4px 10px!important}.viewer-kind.answer{background:var(--yellow)}.level-select{gap:8px;margin:20px 0;font-weight:800;display:none}.level-select.always{flex-direction:column;max-width:400px;display:flex}.hide-tabs{display:none}.card-buttons{flex-direction:column}.card-buttons button{padding:9px 7px;font-size:14px}.order-list{flex-direction:column;gap:10px;margin:20px 0;display:flex}.order-row{border:2px solid var(--ink);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.order-row small{display:block}.order-row .actions{flex-wrap:nowrap}.order-row .button{min-width:0;padding:5px 9px}@media (max-width:800px){.level-select{flex-direction:column;display:flex}.level-tabs{display:none}.pdf-scroll{padding:8px}.pdf-viewer>header{flex-wrap:wrap}.pdf-viewer>header>.actions{justify-content:space-between;width:100%}.pdf-viewer h2{font-size:18px}.card-buttons button{padding:9px 6px;font-size:12px}}.pdf-preview:has(.cover-image){aspect-ratio:auto;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:100%;height:264px;max-height:none;padding:0}.cover-image{border:1.5px solid var(--ink);object-fit:contain;object-position:top;background:#fff;border-radius:4px;width:auto;max-width:100%;height:100%}.locked-cover{text-align:center;background:#e4e6e0;border-radius:14px;flex:1;margin:0 0 18px;padding:15px;overflow:auto}.locked-cover img{max-width:100%;max-height:56vh;margin:auto;display:block}.locked-cover p{max-width:450px;margin:12px auto 0;font-size:13px}.exercise-card>small{margin:0 0 6px;font-size:13px}.pdf-viewer .actions:last-child{flex-shrink:0}:root{--brand:#315b45;--active:#c8d9bf;--yellow:#f4d78b}h1,h2,.brand{color:var(--brand)}.level-tabs button.selected{background:var(--active)}.primary,.card-buttons .blue,.pdf-viewer .blue{background:var(--brand);color:#fff}.primary:hover,.card-buttons .blue:hover,.pdf-viewer .blue:hover{color:#fff;background:#234633}.badge.public,.badge.published,.pdf-preview .pdf-label{background:#d5e5ca}.tabs-actions{align-items:center;gap:18px}@media (max-width:520px){.exercise-grid{grid-template-columns:1fr}.exercise-card{padding:18px}.exercise-card h3{font-size:22px}.exercise-card .topic{min-height:0;font-size:14px}.card-buttons button{padding:11px;font-size:15px}.pdf-viewer>header>.actions{flex-wrap:wrap;gap:8px}.pdf-viewer>header .button{padding:8px 12px;font-size:13px}}.card-buttons{gap:10px;margin-top:auto;padding-top:16px}.card-buttons .file-button{white-space:nowrap;height:48px;min-height:48px;color:var(--ink);background:#fffdf8;flex:none;gap:10px;padding:8px 10px;font-size:15px}.file-button.available{border-color:var(--brand)}.file-button.available svg{color:var(--brand)}.file-button.locked{border-color:#b18a32}.file-button.locked svg{color:#a57616}.card-buttons .file-button:hover{background:#f5f4eb;transform:translateY(-1px)}@media (min-width:801px) and (max-width:960px){.exercise-grid{grid-template-columns:1fr}}@media (max-width:360px){.mobile-topbar .compact-brand{gap:3px;font-size:clamp(21px,15vw - 27px,27px)}.mobile-topbar .compact-brand .brand-image{width:1.3em;height:1.4em}}
