/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}}:root{--ink:#203a37;--muted:#62716f;--brand:#155e54;--line:#dfe7e4;--surface:#f5f7f6;--gold:#805914;--radius:14px}*{box-sizing:border-box}body{background:var(--surface);color:var(--ink);margin:0;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}input,textarea{caret-color:var(--brand)}::selection{color:#123c36;background:#d0e8dc}:focus-visible{outline-offset:4px;outline:3px solid #61a494}button{color:inherit;background:0 0;border:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.025em;font-size:34px;line-height:1.45}h1,h2{font-weight:650}h2{font-size:21px}h3{font-size:17px;font-weight:600}.site-header{border-bottom:1px solid var(--line);background:#fff;gap:68px;height:82px;padding:0 36px}.brand,.site-header{align-items:center;display:flex}.brand{white-space:nowrap;gap:12px;font-size:20px;font-weight:650;line-height:1.35}.brand small{letter-spacing:.15em;color:var(--muted);margin-top:4px;font-size:11px;font-weight:400;display:block}.brand-mark{background:var(--brand);color:#fff;border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.site-header nav{gap:32px;height:100%;display:flex}.site-header nav a{color:var(--muted);align-items:center;display:flex;position:relative}.site-header nav a.active{color:var(--brand);font-weight:600}.site-header nav a.active:after{content:"";background:var(--brand);height:3px;position:absolute;bottom:0;left:0;right:0}.header-actions{align-items:center;gap:22px;margin-left:auto;font-size:14px;display:flex}.header-actions a{align-items:center;gap:7px;display:flex}.membership-link{color:var(--gold)}.login-link{border:1px solid var(--line);border-radius:8px;padding:7px 16px}.admin-link{color:var(--muted)}.app-shell{grid-template-columns:218px minmax(0,1fr);max-width:1700px;margin:auto;display:grid}.sidebar{border-right:1px solid var(--line);background:#fafcfb;padding:32px 20px}.sidebar h2{color:var(--muted);margin:0 12px 14px;font-size:12px}.subject{color:#526762;text-align:left;border-radius:9px;align-items:center;gap:11px;width:100%;margin:4px 0;padding:12px;display:flex}.subject small{font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.subject.active{color:var(--brand);background:#e3eee8;font-weight:600}.subject:hover{background:#edf2ee}.sidebar-note{border-top:1px solid var(--line);color:var(--brand);margin:36px 9px 25px;padding-top:25px}.sidebar-note h3{margin-top:9px;font-size:14px}.sidebar-note p{color:var(--muted);margin:8px 0 13px;font-size:12px;line-height:1.85}.sidebar-note button{padding:0}.curriculum-entry,.sidebar-note button{align-items:center;gap:8px;font-size:12px;display:flex}.curriculum-entry{color:#45605a;margin:25px 8px}.curriculum-entry small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.curriculum-entry>svg:last-child{margin-left:auto}.library-main{min-width:0;padding:30px 38px 0}.intro{background:#eaf1ec;border-radius:16px;grid-template-columns:1fr 380px;align-items:center;min-height:230px;padding:25px 34px;display:grid;overflow:hidden}.intro h1{color:#214f43;font-size:32px;line-height:1.55}.intro p{color:#546d63;margin-top:12px;font-size:14px;line-height:1.85}.featured{background:#fff;border-radius:12px;margin-left:18px;display:block;position:relative;overflow:hidden}.featured img{object-fit:contain;width:100%;height:180px}.featured span{color:var(--brand);align-items:center;gap:7px;font-size:11px;display:flex;position:absolute;bottom:9px;right:16px}.catalog-area{margin-top:29px}.search-box,.search-row{display:flex}.search-box{color:#6c8079;background:#fff;border:1px solid #cddbd5;border-radius:11px;align-items:center;gap:12px;width:100%;height:51px;padding:0 16px}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.search-box input::placeholder{color:#6a7a74}.search-box button{padding:5px;display:flex}.search-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px #dceae3}.filters{gap:23px;padding:18px 0 23px;font-size:13px}.filters,.filters label{align-items:center;display:flex}.filters label{gap:10px}.filters label>span{color:var(--muted)}select{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;max-width:100%;min-height:36px;padding:5px 30px 5px 10px}.checkbox{white-space:nowrap;align-items:center;display:flex;gap:8px!important}.checkbox input{accent-color:var(--brand);width:15px;height:15px}.results-title{justify-content:space-between;align-items:center;margin:5px 0 17px;display:flex}.results-title h2{font-size:19px}.results-title h2 span{margin-left:13px;font-weight:400}.results-title h2 span,.results-title>span{color:var(--muted);font-size:12px}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px;display:grid}.asset-card{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.asset-card:hover{border-color:#a4c1b4}.artwork{aspect-ratio:16/9;background:#fff;border-bottom:1px solid #eef2ef;display:block;position:relative}.artwork img{object-fit:contain;width:100%;height:100%;display:block}.play-cue{color:var(--brand);opacity:0;background:#eef5f0;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;transition:opacity .15s;display:flex;position:absolute;inset:auto auto 12px 12px}.artwork:focus .play-cue,.artwork:hover .play-cue{opacity:1}.duration{color:#66776e;background:#f3f6f4;border-radius:4px;padding:2px 6px;font-size:10px;position:absolute;bottom:10px;right:10px}.asset-copy{padding:15px 17px 18px}.asset-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.asset-copy h3{margin-top:8px;font-size:17px}.asset-copy p{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.8}.free-label{color:#287253}.free-label,.paid-label{white-space:nowrap;font-size:11px}.paid-label{color:var(--gold)}.pending-label{color:#7a612f;background:#f7f1e5;border-radius:5px;padding:2px 8px;font-size:11px;display:inline-block}.footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:18px;margin-top:45px;padding:26px 0;font-size:11px;display:flex}.footer a:hover{text-decoration:underline}.primary,.secondary{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:9px 18px;font-size:14px;font-weight:500;display:inline-flex}.primary{background:var(--brand);color:#fff}.primary:hover:not(:disabled){background:#104d43}.secondary{background:#fff;border:1px solid #cad8d0}.secondary:hover:not(:disabled){background:#edf4ef}.full{width:100%}.empty{text-align:center;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:16px;padding:70px 20px;display:flex}.empty>svg{color:#8aa599}.empty p{color:var(--muted);font-size:14px}.empty a{color:var(--brand);text-decoration:underline}.page-content{max-width:1240px;margin:0 auto;padding:32px 38px 0}.back{color:var(--muted);align-items:center;gap:5px;margin-bottom:24px;font-size:13px;display:inline-flex}.reverse{transform:rotate(180deg)}.detail-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.detail-heading h1{margin:5px 0 10px}.detail-heading p{color:var(--muted)}.detail-grid{grid-template-columns:minmax(0,1fr) 300px;gap:30px;display:grid}.player{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.player img{aspect-ratio:16/9;object-fit:contain;width:100%;height:auto;display:block}.player-tools{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:20px;padding:12px 18px;font-size:12px;display:flex}.player-tools button{color:var(--brand);align-items:center;gap:7px;padding:5px;display:flex}.download-panel{border:1px solid var(--line);background:#fff;border-radius:14px;height:fit-content;padding:24px}.download-panel h2{font-size:19px}.download-panel dl{margin:20px 0 24px;font-size:13px}.download-panel dl div{justify-content:space-between;padding:7px 0;display:flex}.download-panel dt{color:var(--muted)}.download-panel dd{margin:0}.small-copy{color:var(--muted);margin-top:14px;font-size:12px;line-height:1.9}.mapping{border-top:1px solid var(--line);margin-top:24px;padding-top:21px}.mapping h3{margin-bottom:14px;font-size:15px}.mapping p{color:var(--muted);margin:9px 0;font-size:12px}.mapping strong{margin-bottom:10px;font-size:12px;font-weight:500;display:block}.mapping a{color:var(--brand);align-items:center;gap:6px;margin-top:18px;font-size:12px;display:flex}.teaching-note{padding:28px 0}.teaching-note h2{margin-bottom:18px}.teaching-note h3{margin:20px 0 7px;font-size:14px}.teaching-note p{color:#5b6e66;max-width:70ch;font-size:14px;line-height:1.95}.teaching-note a{color:var(--brand);align-items:center;gap:5px;margin-top:20px;font-size:12px;display:inline-flex}.section-heading{margin:15px 0 30px}.admin-heading p,.section-heading p{color:var(--muted);margin-top:12px;font-size:14px}.curriculum-layout{grid-template-columns:260px minmax(0,1fr);gap:32px;display:grid}.edition-list{flex-direction:column;gap:10px;display:flex}.edition-list>.checkbox{margin-bottom:12px;font-size:13px}.edition-option{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:5px;padding:17px;display:flex}.edition-option.selected{background:#e5f0e9;border-color:#93b8a5}.edition-option>span{color:var(--muted);font-size:12px}.edition-option strong{font-size:15px;font-weight:550}.edition-option small{color:var(--muted);font-size:11px}.chapter-list{border:1px solid var(--line);background:#fff;border-radius:14px;padding:28px}.chapter-heading{border-bottom:1px solid var(--line);padding-bottom:23px}.chapter-heading h2{font-size:20px}.chapter-heading p{color:var(--muted);margin-top:9px;font-size:13px}.chapter{margin-top:24px}.chapter>h3{font-size:15px}.chapter-asset{border-bottom:1px solid #edf1ee;align-items:center;gap:16px;margin-top:12px;padding:12px 0;display:flex}.chapter-asset:hover{color:var(--brand)}.chapter-asset img{aspect-ratio:16/9;object-fit:contain;border:1px solid var(--line);border-radius:6px;width:128px}.chapter-asset span{flex-direction:column;gap:7px;display:flex}.chapter-asset strong{font-size:14px}.chapter-asset small{color:var(--muted);font-size:11px}.chapter-asset>svg{flex-shrink:0;margin-left:auto}.edition-explanation{color:var(--muted);margin-top:30px;font-size:12px;line-height:1.9}.membership-page>h1{margin:18px 0 12px}.membership-page>p{color:var(--muted)}.membership-grid{grid-template-columns:1fr 1fr;gap:26px;margin-top:35px;display:grid}.membership-grid>section{border:1px solid var(--line);background:#fff;border-radius:14px;padding:34px}.membership-grid svg{color:var(--brand)}.membership-grid h2{margin:14px 0}.membership-grid p{color:var(--muted);font-size:14px}.membership-grid ul{margin:20px 0 28px;padding-left:20px;font-size:14px;line-height:2.4}.membership-grid a svg{color:#fff}.membership-grid .membership-paid{background:#f3f1e9}.access-page{flex-direction:column;align-items:flex-start;gap:24px;max-width:650px;margin:15vh auto;padding:30px;display:flex}.access-page p{color:var(--muted)}.admin-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-heading .back{margin-bottom:12px}.save-status{color:var(--muted);justify-content:space-between;padding:20px 0;font-size:12px;display:flex}.save-status button{color:var(--brand);text-decoration:underline}.admin-editor{border:1px solid var(--line);background:#fff;border-radius:14px;padding:25px}.editor-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.editor-toolbar h2{font-size:19px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:35px;display:grid}.add-link-label,.chapter-fields label,.form-grid label,.link-editor label{color:var(--muted);flex-direction:column;gap:7px;font-size:12px;display:flex}.form-grid .wide{grid-column:1/-1}.chapter-fields input,.form-grid input,.form-grid textarea,.link-editor input,.link-editor textarea{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #cad8d0;border-radius:7px;padding:8px 10px;font-size:14px}.form-grid textarea,.link-editor textarea{resize:vertical;min-height:80px}.chapter-editor{border-top:1px solid var(--line);padding:24px 0}.chapter-fields{grid-template-columns:75px 1fr;gap:15px;display:grid}.link-editor{background:#f5f8f6;border-radius:10px;flex-direction:column;gap:13px;margin-top:20px;padding:16px;display:flex}.link-heading{justify-content:space-between;gap:12px}.link-heading,.link-heading a{align-items:center;display:flex}.link-heading a{gap:5px;font-size:14px}.link-heading select,.text-danger{font-size:12px}.text-danger{color:#9a4141;text-align:left;width:fit-content;padding:0}.add-link-label{margin-top:20px}.notice{background:#f7f0e2;border-radius:8px;margin-bottom:18px;padding:13px 16px;font-size:13px}.error{color:#9a4141}.success{color:var(--brand);background:#e4f0e8}@media (min-width:1500px){.library-main{padding-left:48px;padding-right:48px}.intro{grid-template-columns:1fr 430px}.featured img{height:195px}}@media (max-width:1100px){.site-header{gap:30px;padding:0 24px}.header-actions{gap:14px}.admin-link{font-size:0}.app-shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:25px 12px}.library-main{padding:25px 24px 0}.intro{grid-template-columns:1fr 270px;padding:23px}.intro h1{font-size:27px}.featured img{height:160px}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{flex-wrap:wrap;gap:15px}.page-content{padding-left:25px;padding-right:25px}.detail-grid{grid-template-columns:minmax(0,1fr) 270px}.curriculum-layout{grid-template-columns:225px minmax(0,1fr);gap:24px}}@media (max-width:760px){.site-header{flex-wrap:wrap;gap:20px;height:72px;padding:0 18px}.brand{font-size:17px}.brand-mark{border-radius:9px;width:35px;height:35px}.brand small{font-size:9px}.site-header nav{gap:18px;margin-left:auto;font-size:13px}.header-actions{display:none}.app-shell{display:block}.sidebar{white-space:nowrap;border:0;gap:6px;padding:12px 16px;display:flex;overflow:auto}.curriculum-entry,.sidebar h2,.sidebar-note{display:none}.subject{flex-shrink:0;gap:7px;width:auto;padding:8px 12px;font-size:13px}.subject svg{width:15px}.subject small{margin-left:0}.library-main{padding:16px 16px 0}.intro{grid-template-columns:1fr;gap:18px;padding:23px}.intro h1{font-size:27px}.intro h1 br{display:none}.intro p{margin-top:9px;font-size:13px}.desktop-only{display:none}.featured{max-width:none;margin:0}.featured img{width:100%;height:auto;max-height:190px}.catalog-area{margin-top:21px}.search-box{padding:0 12px}.search-box input{font-size:12px}.filters{gap:12px;padding-bottom:18px}.filters label:nth-child(2){max-width:100%}.filters select{max-width:230px;font-size:12px}.filters .checkbox{margin-left:0}.results-title>span{display:none}.results-title h2{font-size:17px}.asset-grid{grid-template-columns:1fr;gap:16px}.asset-copy{padding:17px}.asset-copy h3{font-size:19px}.asset-copy p{font-size:13px}.asset-meta{font-size:12px}.play-cue{opacity:1}.footer{gap:12px;margin-top:30px;padding:23px 0}.footer>span{width:100%}.page-content{padding:23px 18px 0}.detail-heading h1{font-size:29px}.detail-heading p{font-size:14px}.curriculum-layout,.detail-grid,.membership-grid{grid-template-columns:1fr}.download-panel{grid-row:1}.download-panel dl{gap:16px;margin:12px 0 20px;display:flex}.download-panel dl div{display:block}.download-panel dd,.download-panel dt{font-size:11px}.mapping{display:none}.download-panel h2{font-size:17px}.player-tools,.small-copy{font-size:11px}.player-tools{gap:12px;padding:10px}.admin-heading h1,.membership-page h1,.section-heading h1{font-size:27px}.edition-list{grid-template-columns:1fr 1fr;gap:9px;display:grid}.edition-list>.checkbox,.edition-list>.full{grid-column:1/-1}.edition-option{padding:12px}.edition-option strong{font-size:13px}.edition-option small{font-size:10px}.chapter-list{padding:20px}.chapter-asset img{width:95px}.chapter-heading h2{font-size:18px}.membership-grid{gap:18px}.membership-grid>section{padding:25px}.admin-heading{flex-direction:column;align-items:flex-start}.admin-heading .primary{width:100%}.admin-editor{padding:17px}.form-grid{gap:12px}.editor-toolbar .secondary{padding:7px 10px;font-size:12px}.link-heading{align-items:flex-start}.link-heading a{font-size:13px}.access-page{margin-top:50px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}