.resource-main {padding-bottom:48px}
.resource-head.library-head {padding-top:32px;padding-bottom:20px}
.library-head h1 {font-size:clamp(38px,4.8vw,58px);margin-bottom:16px}
.library-promise {font-size:14px;line-height:1.7;color:#4c5f50}
.library-filters {display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) minmax(140px,.7fr) auto;gap:15px;align-items:end;padding:22px;background:#e8eee2;border:1px solid #c8d2c1;border-radius:8px}
.library-filters label {display:grid;gap:9px;font-size:13px;font-weight:600;min-width:0}
.library-filters input,.library-filters select {width:100%;min-width:0;min-height:44px;padding:10px;font:inherit;font-size:15px;border:1px solid #b8c7b2;background:white;color:#263b2d;border-radius:5px}
.library-filters button {min-height:44px;padding:10px 12px;background:#fff;border:1px solid #b8c7b2;border-radius:5px;font:inherit;font-size:13px;color:#263b2d}
.library-count {font-size:14px;color:#4c5f50;margin:18px 0}
.catalog-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.catalog-card {min-width:0;display:flex;flex-direction:column;border:1px solid #d0d9ca;border-radius:8px;overflow:hidden;background:white}
.catalog-card[hidden],.catalog-card [hidden],.library-filters[hidden],.library-empty[hidden] {display:none}
.catalog-preview {display:flex;align-items:center;justify-content:center;background:#e8ede2;padding:18px;min-height:210px;border-bottom:1px solid #d0d9ca}
.catalog-preview img {display:block;max-width:100%;width:auto;height:185px;object-fit:contain;box-shadow:0 2px 7px #23392326}
.catalog-preview:hover {background:#dfe7d8}
.catalog-copy {display:flex;flex:1;flex-direction:column;padding:22px}
.catalog-copy small {font-size:11px;font-weight:700;line-height:1.6;letter-spacing:.4px;color:#536d4c}
.catalog-copy h2 {font:27px/1.2 Georgia,serif;margin:11px 0 13px}
.catalog-copy p {font-size:14px;line-height:1.7;margin:0 0 15px;color:#45584b}
.catalog-copy .catalog-detail {font-size:12px;border-top:1px solid #dfe5d9;padding-top:14px;margin-top:auto}
.catalog-downloads {display:flex;gap:8px;flex-wrap:wrap}
.catalog-downloads .button {font-size:13px;padding:11px 14px;min-height:44px}
.catalog-customize {display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:13px;line-height:1.5;text-underline-offset:4px;color:#28452e}
.library-empty {padding:28px;background:#edf1e7;border:1px solid #c8d2c1;border-radius:7px;margin-bottom:24px}
.library-empty h2 {font:27px Georgia,serif;margin:0 0 12px}
.library-empty p {font-size:15px;line-height:1.7}
@media(max-width:1080px){.library-filters{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.library-filters,.catalog-grid{grid-template-columns:minmax(0,1fr)}.library-filters{padding:18px}.library-filters input,.library-filters select{font-size:16px}.catalog-copy{padding:20px}.catalog-preview{min-height:220px}.catalog-preview img{height:195px}}
@media(max-width:640px){.library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.library-filters label:nth-child(-n+2){grid-column:1/-1}.library-filters button{font-size:12px;line-height:1.35;padding-inline:7px}}
body:has(.practice-dialog[open]) {overflow:hidden}
.model-help,#model-status {font-size:13px;line-height:1.65;color:#4d6152}
#model-settings {display:grid;gap:18px}
#model-view,#break-view {background:white;max-width:610px;margin:auto;box-shadow:0 2px 9px #24372719;line-height:0}
#model-view svg,#break-view svg {width:100%;height:auto;display:block}
#break-settings {display:grid;gap:18px}
#break-status {font-size:13px;line-height:1.65;color:#4d6152}
#break-link {width:100%;min-width:0;padding:8px;margin-top:8px;font-size:14px}
#break-readable {font-size:15px;line-height:1.8}
#break-readable li {margin-bottom:14px}
#model-link {width:100%;padding:8px;margin-top:8px;font-size:14px}
#model-readable {font-size:15px;line-height:1.8}
#model-readable li {margin-bottom:14px}
.learning-guide {padding:24px;border:1px solid #cfd7c8;border-radius:8px;background:#e9eee3;margin-bottom:24px}
.learning-guide h2 {font:28px Georgia,serif;margin:0 0 20px}
.learning-guide ol {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0 0 0 20px;margin:0}
.learning-guide span {display:block;font-size:14px;line-height:1.6;margin-top:8px}
.learning-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.learning-card {display:flex;flex-direction:column;padding:26px;border:1px solid #d2dacd;border-radius:8px;text-decoration:none;background:#fff}
.learning-card:hover {background:#eff3e9;border-color:#769070}
.learning-card small {color:#556e4f;font-size:10px;letter-spacing:1.6px;font-weight:700}
.learning-card h2 {font:29px Georgia,serif;margin:14px 0}
.learning-card p {font-size:15px;line-height:1.7;margin:0 0 24px}
.learning-card span {font-size:12px;border-top:1px solid #e0e6db;padding-top:14px;margin-top:auto;line-height:1.5}
.learning-card b {float:right;font-size:17px}
.lesson-feature {display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;border-radius:9px;background:#e6ecdf;margin-top:34px;padding:36px}
.lesson-feature h2 {font:40px/1.15 Georgia,serif;margin:12px 0}
.lesson-feature p {line-height:1.7;max-width:520px}
.lesson-feature svg {display:block;width:100%;height:auto;max-width:300px;box-shadow:0 3px 12px #253c2520;margin:auto}
@media(max-width:760px){.learning-guide ol,.learning-grid,.lesson-feature{grid-template-columns:minmax(0,1fr)}.learning-guide ol{gap:20px}.lesson-feature{padding:24px;gap:24px}.lesson-feature h2{font-size:32px}}
.practice-entry {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid #c6d4c1;border-radius:6px;margin:0 0 12px;background:#f2f5ed}
.practice-entry b,.practice-entry span {display:block}.practice-entry span {margin-top:5px;font-size:13px;line-height:1.5}
.practice-entry button,.practice-dialog button:not(.button){min-height:44px;font:inherit;font-size:14px;border:1px solid #adc1ac;border-radius:5px;background:#fff;color:#274934;padding:8px 13px}
.practice-dialog {color:#25352e;max-width:540px;width:calc(100% - 24px);max-height:90dvh;overflow:auto;box-sizing:border-box;border:1px solid #c3cbbe;border-radius:12px;padding:clamp(16px,4vw,34px);background:#f8f9f3}
.practice-dialog::backdrop {background:#1d2c24a8}.practice-top,.practice-actions {display:flex;gap:10px;align-items:center;justify-content:space-between}
#round-strategy {padding:12px;background:#fff;border:1px solid #ccd8c5;border-radius:6px;margin:12px 0}
#round-strategy summary {font-size:15px;line-height:1.5;cursor:pointer;min-height:44px;padding-block:10px}
#strategy-body h4 {font:600 18px/1.4 Georgia,serif;margin:14px 0 12px}
#strategy-body ol {font-size:14px;line-height:1.65;padding-left:22px;margin-bottom:0}
#strategy-body li {margin-bottom:8px}.strategy-picture svg {display:block;max-width:100%;height:auto;margin:0 auto 14px}
.practice-actions {justify-content:flex-start;flex-wrap:wrap;margin-top:14px}.practice-top h2 {font:normal 28px Georgia,serif;margin:0}.practice-top .eyebrow {margin-bottom:6px}
.practice-dialog label,.practice-dialog small {display:block;font-size:13px;line-height:1.6}.practice-dialog small {margin-top:24px;color:#4f6153}
#round-question {font:600 clamp(30px,6vw,44px)/1.2 Georgia,serif;margin:15px 0}
#round-answer {width:100%;font-size:22px;min-height:48px;padding:8px 12px;border:1px solid #748776;border-radius:5px}
#round-feedback,#round-position {min-height:20px;font-size:15px;line-height:1.5}
#round-mistakes {columns:2;line-height:1.8}
.resource-head {padding:44px 0 28px}
.resource-head h1 {max-width:950px;margin-bottom:12px}
.deck {max-width:750px;color:#4d5c52;font-size:17px;line-height:1.65;margin:0 0 22px}
.ready {background:#e9eee3;border:1px solid #d5ddcf;border-radius:8px;padding:17px 21px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ready b,.ready span {display:block}.ready b,.share-block b {font-size:14px}
.ready span {color:#526252;font-size:13px;padding-top:5px}
.sample-links,.share-buttons {display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.sample-links a,.share-buttons button,.proof-heading button {font-family:inherit;font-size:13px;line-height:1.4;font-weight:600;display:inline-flex;align-items:center;min-height:44px;padding:8px 13px;border:1px solid #c7d0c3;background:#fafbf7;color:#273b30;border-radius:5px;text-decoration:none}
.sample-links a:hover,.share-buttons button:hover,.proof-heading button:hover {background:#dce7d5}
.tool-grid {display:grid;grid-template-columns:minmax(280px,345px) minmax(0,1fr);gap:clamp(20px,4vw,54px);align-items:start;scroll-margin-top:18px}
.controls {border:1px solid var(--line);border-radius:8px;background:white;padding:24px}
.controls .eyebrow,.proof-heading .eyebrow,.teacher-notes .eyebrow {margin:0 0 6px;color:#526557}
.controls h2,.proof h2,.teacher-notes h2 {font:400 clamp(24px,2.4vw,32px)/1.2 Georgia,serif;margin:0 0 16px;letter-spacing:-.6px}
#resource-settings {display:grid;gap:15px}
.controls fieldset {border:0;margin:0;padding:0;min-width:0}
.controls legend,.controls .field {font-weight:650;font-size:13px;color:#334639}
.controls select,.proof-nav select {min-height:44px;font-size:15px;padding-inline:9px;width:100%;color:var(--ink);background:white;border:1px solid #c5cec5;border-radius:5px}
.controls .field {margin:0;display:grid;gap:6px}
.chips {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:8px 0 2px}
.factor-chip {position:relative;cursor:pointer}
.factor-chip input {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
.factor-chip span {min-height:44px;display:grid;place-items:center;border:1px solid #d6dcd2;border-radius:5px;font-size:14px}
.factor-chip input:checked + span {background:#294d39;color:white;border-color:#294d39;font-weight:700}
.factor-chip input:focus-visible + span {outline:3px solid #ba522d;outline-offset:2px}
.checkline {min-height:40px;display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer}
.checkline input {width:18px;height:18px;accent-color:#365c41}
.exports {display:flex;gap:8px;margin:14px 0 1px;flex-wrap:wrap}.exports .button-primary {flex:1}
.plain-action {min-height:44px;border:0;background:none;text-decoration:underline;text-underline-offset:3px;padding:5px 0;font-size:13px}
.share-block {margin-top:15px;padding-top:16px;border-top:1px solid var(--line)}
.share-block p,#balance-note,#notice {font-size:13px;line-height:1.6;color:#536253}
.share-block p {margin:6px 0 9px}.share-buttons {gap:6px}
#share-output {width:100%;padding:8px;margin-top:8px;font-size:14px}
#notice {margin:8px 0 0}#notice:empty {display:none}
#tool-error {color:#913514;background:#fff2e9;padding:10px;font-size:14px}
.proof {min-width:0}.proof-heading,.proof-nav {display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.proof-heading h2 {margin:0}.proof-nav {margin-top:12px;margin-bottom:10px;font-size:13px}
.proof-nav label {display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.proof-nav select {width:auto;max-width:100%}.proof-nav>span {color:#57665b}
.proof-stage {background:#e5eae0;border-radius:8px;padding:clamp(12px,3vw,32px)}
#sheet-view {background:white;max-width:610px;margin:auto;box-shadow:0 2px 9px #24372719;line-height:0}
#sheet-view svg {width:100%;height:auto;display:block}
.text-version summary {font-size:13px;min-height:44px;padding:10px 0}
#readable-sheet {overflow:auto;font-size:14px;line-height:1.7}
#readable-sheet ol {columns:2}#readable-sheet td,#readable-sheet th {min-width:34px;padding:3px;text-align:center;border:1px solid var(--line)}
#quota-editor {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#quota-editor label {font-size:12px;font-weight:600}
#quota-editor input {display:block;width:100%;min-height:44px;margin-top:4px;border:1px solid #bdc7b9;border-radius:5px;padding:6px;font-size:16px}
.teacher-notes {margin-top:40px;border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:1fr 2fr;gap:25px}
.teacher-notes p {line-height:1.75;font-size:15px;margin-top:0}
.resource-library {padding-block:4px 32px}.resource-library h2 {font:400 29px Georgia,serif;margin:0 0 15px}
.library-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.resource-card {display:grid;gap:6px;padding:18px 20px;border:1px solid #d7ded2;border-radius:7px;background:#edf1e8;text-decoration:none;position:relative}
.resource-card:after {content:'↗';position:absolute;right:14px;top:12px;color:#42674d}
.resource-card:first-child {background:#294737;color:white}.resource-card:first-child:after {color:#dfeada}
.resource-card:hover {border-color:#6c866b}
.resource-card small {font-size:10px;letter-spacing:1.3px}.resource-card strong {font:400 24px Georgia,serif}.resource-card span {font-size:13px}
@media(max-width:760px){
  .resource-head {padding:28px 0 20px}.resource-head h1 {font-size:38px}.deck {font-size:15px}
  .ready {display:block;padding:14px}.sample-links {padding-top:10px;gap:6px}.sample-links a {padding:7px 9px}
  .tool-grid,.teacher-notes {grid-template-columns:minmax(0,1fr)}.controls {padding:18px}.chips {grid-template-columns:repeat(6,minmax(0,1fr))}
  .proof-nav label {font-size:12px;width:100%;max-width:100%;min-width:0}.proof-nav select {width:100%;min-width:0}.proof-nav select,.controls select {font-size:16px}
  .library-grid {grid-template-columns:minmax(0,1fr);gap:8px}.resource-card {padding:13px 16px;gap:3px}
  .resource-card strong {font-size:21px}.teacher-notes {gap:4px}
}
@media(max-width:420px){.chips {grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}}

#multi-settings{display:grid;gap:18px}#multi-view{background:white;max-width:610px;margin:auto;box-shadow:0 2px 9px #24372719;line-height:0}#multi-view svg{width:100%;height:auto;display:block}#multi-status{font-size:13px;line-height:1.65;color:#4d6152}#multi-link{width:100%;padding:8px;margin-top:8px;font-size:14px}#multi-readable{font-size:15px;line-height:1.8}#multi-readable li{margin-bottom:14px}

#single-link{width:100%;min-width:0;padding:8px;margin-top:8px;font-size:14px}#single-link-status{font-size:13px;line-height:1.65;color:#4d6152}
