.rl-page { width:min(1160px,100%); box-sizing:border-box; margin:0 auto; padding:52px 28px 72px; color:#2f4235; }
.resources-page > .rl-page { padding:0; }
.rl-page *, .rl-page *::before, .rl-page *::after { box-sizing:border-box; }
.resources-page [hidden], .rl-page [hidden] { display:none !important; }
.rl-intro { max-width:790px; }
.rl-intro h1 { margin:0 0 22px; font-size:clamp(36px,5.7vw,64px); line-height:1.17; letter-spacing:-.045em; color:#354536; }
.rl-intro > p:not(.teacher-kicker) { max-width:680px; margin:0; color:#667064; line-height:1.9; font-size:15px; }
.rl-view-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.rl-view-links a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid #bacbb4; border-radius:10px; color:#3b5b44; background:#fffdf7; font-size:14px; font-weight:700; text-decoration:none; }
.rl-view-links a[aria-current="page"] { color:#fffdf7; background:#3e5b44; border-color:#3e5b44; }
.rl-view-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.rl-search { margin-top:38px; padding:28px; border:1px solid #d7ddcd; border-radius:20px; background:#fffdf7; box-shadow:0 9px 30px #3a46340a; }
.rl-search form > label { display:block; margin:0 0 12px; color:#354c3b; font-size:20px; font-weight:750; }
.rl-query-row { display:flex; gap:10px; align-items:stretch; }
.rl-query-row input { flex:1; min-width:0; min-height:52px; padding:12px 16px; border:1px solid #bbc7b5; border-radius:10px; background:#fff; color:#263a2d; font:inherit; font-size:16px; }
.rl-query-row input::placeholder { color:#859082; }
.rl-query-row button { flex:none; min-width:106px; border-radius:10px; box-shadow:none; cursor:pointer; }
.rl-controls { display:flex; flex-wrap:wrap; gap:16px; margin-top:18px; }
.rl-controls label { display:flex; flex-direction:column; gap:7px; min-width:180px; color:#647060; font-size:12px; font-weight:700; }
.rl-controls select { min-height:44px; padding:8px 12px; border:1px solid #cbd3c3; border-radius:9px; background:#fff; color:#344b3b; font:inherit; font-size:14px; cursor:pointer; }
.rl-results { margin-top:38px; }
.rl-results-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:5px 20px; padding-bottom:14px; border-bottom:1px solid #d5dccd; }
.resources-page .rl-results-heading h2 { margin:0; color:#354536; font-size:25px; letter-spacing:-.025em; }
.rl-results-heading p { margin:0; color:#6b7668; font-size:13px; line-height:1.7; }
.rl-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-top:18px; }
.rl-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid #dce0d2; border-radius:16px; background:#fffdf7; }
.rl-card-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; color:#778071; font-size:12px; }
.rl-type { display:inline-flex; padding:5px 9px; border:1px solid #c9d6c3; border-radius:99px; background:#eef3e9; color:#3d644b; font-size:11px; font-weight:700; }
.rl-card h3 { margin:16px 0 9px; color:#344b3c; font-size:20px; line-height:1.5; overflow-wrap:anywhere; }
.rl-card h3 a { text-decoration:none; }
.rl-card h3 a:hover, .rl-card-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.rl-card > p { flex:1; margin:0 0 20px; color:#697368; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.rl-card-footer { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:8px; padding-top:13px; border-top:1px solid #e5e7dc; font-size:12px; }
.rl-card-footer > span { min-width:0; max-width:78%; color:#7a8275; overflow-wrap:anywhere; }
.rl-card-footer > a { flex:none; color:#385d47; font-weight:750; text-decoration:none; }
.rl-tool-verification { padding:14px 16px; margin:0 0 20px; border-radius:10px; background:#eef2e7; }
.rl-tool-verification strong { font-size:13px; color:#3d5d43; }
.rl-tool-verification p { margin:5px 0 0; color:#65705f; font-size:12px; line-height:1.8; }
.rl-tool-view .rl-controls { display:none; }
.rl-tool-view .rl-search { margin-top:22px; padding:20px; }
.rl-tool-view .rl-results { margin-top:24px; }
.rl-tool-view:not(.rl-tool-reading) .rl-intro h1 { margin-bottom:16px; font-size:clamp(35px,4.5vw,52px); }
body:has(.rl-tool-view) .guide-launcher { position:static; width:auto; min-height:44px; margin:0 20px 20px auto; padding:10px 16px; border:1px solid #bdcdb7; border-radius:8px; background:#edf2e7; color:#304b36; }
body:has(.rl-tool-view) .guide-launcher .guide-portrait { display:none; }
body:has(.rl-tool-view) .guide-launcher::after { content:'问小P'; font-size:13px; font-weight:700; }
.rl-tool-reading .rl-list { display:block; padding-top:0; }
.rl-tool-reading .rl-results { margin-top:24px; }
.rl-tool-article { width:min(850px,100%); min-width:0; overflow-wrap:anywhere; }
.rl-tool-article > section { margin-top:30px; padding-top:28px; border-top:1px solid #d7ddcd; }
.rl-tool-article h2 { margin:0 0 14px; color:#354c3b; font-size:26px; line-height:1.4; }
.rl-tool-article p, .rl-tool-article li { color:#606e5e; font-size:15px; line-height:1.9; white-space:pre-line; }
.rl-tool-article p { margin:0 0 12px; }
.rl-tool-article ul, .rl-tool-article ol { margin:0; padding-left:23px; }
.rl-tool-article li + li { margin-top:8px; }
.rl-tool-article a { color:#365d43; text-underline-offset:4px; }
.rl-tool-back { display:inline-block; min-height:44px; padding:10px 0; font-size:14px; font-weight:700; }
.rl-tool-download-card { display:flex; align-items:flex-start; flex-wrap:wrap; gap:10px 14px; margin:0 0 20px; }
.rl-tool-download-card small { align-self:center; color:#65705f; font-size:12px; line-height:1.7; }
.rl-tool-article > .rl-tool-download { margin-top:16px; padding:26px; border:1px solid #bdcdb0; border-radius:16px; background:#eef3e7; }
.rl-tool-download-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; margin:18px 0 24px; }
.rl-tool-download-actions > span { min-width:0; color:#65705f; font-size:13px; }
.rl-tool-download .button, .rl-tool-download-card .button { min-width:0; max-width:100%; min-height:44px; padding:12px 18px; color:#fffdf7; white-space:normal; overflow-wrap:anywhere; text-align:center; text-decoration:none; border-radius:10px; box-shadow:none; }
.rl-tool-download h3 { margin:0 0 12px; color:#354c3b; font-size:18px; }
.rl-tool-download-check { min-width:0; margin-top:22px; padding-top:14px; border-top:1px solid #d0dbc5; }
.rl-tool-download-check summary { min-height:44px; padding:8px 0; color:#53684e; font-size:13px; cursor:pointer; }
.rl-tool-download-check p, .rl-tool-download-check a { font-size:12px; }
.rl-tool-download-check code, .rl-tool-download-check span { overflow-wrap:anywhere; white-space:normal; }
.rl-tool-download-check summary:focus-visible { outline:3px solid #b08328; outline-offset:3px; }
.rl-tool-step { margin-top:22px; padding:24px; border:1px solid #d7ddcd; border-radius:16px; background:#fffdf7; scroll-margin-top:120px; }
.rl-tool-step h3 { display:flex; align-items:baseline; gap:13px; margin:0 0 15px; font-size:20px; line-height:1.5; }
.rl-tool-step h3 > span { flex:none; color:#759065; font-size:14px; }
.rl-tool-step .rl-tool-step-result { font-size:13px; color:#3d654a; }
.rl-tool-step label { display:block; margin:19px 0 9px; color:#68755f; font-size:12px; font-weight:700; }
.rl-tool-step textarea { display:block; width:100%; min-width:0; max-width:100%; padding:14px; border:1px solid #cbd3c3; border-radius:10px; background:#f6f7ef; color:#40523e; font:inherit; font-size:14px; line-height:1.8; resize:vertical; }
.rl-tool-copy { display:flex; align-items:center; flex-wrap:wrap; gap:10px 15px; margin-top:12px; }
.rl-tool-copy button { flex:none; min-height:44px; padding:10px 16px; border:1px solid #9fb49e; border-radius:9px; background:#fffdf7; color:#365942; font:inherit; font-size:13px; font-weight:750; cursor:pointer; }
.rl-tool-copy [role="status"] { min-width:0; color:#65705f; font-size:12px; line-height:1.7; }
.rl-tool-trial { padding:24px; border:1px solid #d7ddcd; border-radius:16px; background:#eef2e7; }
.rl-tool-trial strong { display:block; margin:0 0 8px; color:#3d5d43; font-size:14px; }
.rl-tool-trial .rl-tool-date { margin:0; font-size:12px; color:#71806a; }
.rl-tool-related { margin:30px 0 16px; padding:24px; border:1px solid #d7ddcd; border-radius:16px; background:#f8f8ed; }
.rl-tool-related .button { max-width:100%; min-height:44px; margin-top:5px; color:#fffdf7; white-space:normal; }
.rl-empty, .rl-partial, .rl-more { grid-column:1/-1; }
.rl-empty { padding:34px 28px; border:1px dashed #bdc9b7; border-radius:15px; background:#f7f8ef; }
.rl-empty h3 { margin:0 0 8px; font-size:19px; }
.rl-empty p { margin:0 0 16px; color:#697568; line-height:1.8; }
.rl-empty-actions { display:flex; flex-wrap:wrap; gap:9px; }
.rl-empty button, .rl-partial button, .rl-more button { min-height:44px; padding:10px 16px; border:1px solid #9fb49e; border-radius:9px; background:#fffdf7; color:#365942; font:inherit; font-size:13px; font-weight:750; cursor:pointer; }
.rl-partial { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:14px 18px; border:1px solid #d7cba8; border-radius:11px; background:#fbf2d9; }
.rl-partial p { margin:0; font-size:13px; line-height:1.7; }
.rl-more { text-align:center; padding:8px 0 4px; }
.rl-more button { min-width:225px; }
.rl-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-top:48px; padding:26px; border:1px solid #d7ddcd; border-radius:17px; background:#eef2e7; }
.rl-foot .teacher-kicker { margin-bottom:8px; }
.resources-page .rl-foot h2 { margin:0 0 7px; font-size:21px; }
.rl-foot p { max-width:620px; margin:0; color:#687367; font-size:13px; line-height:1.8; }
.rl-foot .button { flex:none; border-radius:10px; box-shadow:none; }
.rl-page :is(input,select,button,a,textarea):focus-visible { outline:3px solid #b08328; outline-offset:3px; }
.resource-shortcuts { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px 22px; margin-bottom:24px; color:#3c5b43; font-size:13px; }
.resource-shortcuts a { padding:8px 0; text-underline-offset:5px; }
.resource-paths, .resource-site-directory { margin-top:50px; padding-top:34px; border-top:1px solid #ccd5c4; scroll-margin-top:120px; }
.resource-paths > p, .resource-site-directory > p { color:#667064; line-height:1.85; }
.resource-path-grid, .resource-directory-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.resource-path-grid article { min-width:0; padding:24px; border:1px solid #d7ddcd; border-radius:17px; background:#f9f8ee; }
.resource-path-grid h3, .resource-directory-groups h3 { margin:0 0 18px; font-size:20px; color:#354c3b; }
.resource-path-grid dl { margin:0; font-size:14px; line-height:1.85; }
.resource-path-grid dt { margin-top:12px; font-weight:700; color:#425f49; }
.resource-path-grid dd { margin:0; color:#65705f; }
.resource-path-grid article > p { margin:20px 0 0; line-height:2; font-size:14px; }
.resource-paths a, .resource-site-directory a { color:#365d43; text-underline-offset:4px; overflow-wrap:anywhere; }
.resource-directory-groups { margin-top:28px; gap:30px; }
.resource-directory-groups > section { min-width:0; }
.resource-directory-groups ul { list-style:none; margin:0; padding:0; }
.resource-directory-groups li { padding:12px 0; border-top:1px solid #e0e4d7; }
.resource-directory-groups a { display:block; padding:4px 0; font-weight:650; font-size:15px; text-decoration:none; }
.resource-directory-groups a:hover { text-decoration:underline; }
.resource-directory-groups li p { margin:3px 0 0; color:#697365; font-size:13px; line-height:1.8; }
.resource-admin { margin-top:32px; padding:18px 20px; border:1px solid #d5dccd; border-radius:12px; color:#667064; font-size:13px; }
.resource-admin summary { cursor:pointer; line-height:1.7; }
.resource-admin p { line-height:1.85; }
.resource-shortcuts a:focus-visible, .resource-paths a:focus-visible, .resource-site-directory :is(a,summary):focus-visible { outline:3px solid #b08328; outline-offset:3px; }
@media (max-width:720px) {
  .resource-shortcuts { justify-content:flex-start; gap:5px 18px; }
  .resource-path-grid, .resource-directory-groups { grid-template-columns:1fr; }
  .resource-path-grid article { padding:20px; }
  .rl-page { padding:32px 20px 52px; }
  .rl-search { margin-top:27px; padding:20px; }
  .rl-list { grid-template-columns:1fr; }
  .rl-card { padding:21px; }
  .rl-results-heading { display:block; }
  .rl-results-heading p { margin-top:6px; }
}
@media (max-width:420px) {
  .rl-page { padding-left:14px; padding-right:14px; }
  .rl-intro h1 { font-size:35px; }
  .rl-search { padding:16px; }
  .rl-query-row { flex-direction:column; }
  .rl-query-row button { width:100%; }
  .rl-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; }
  .rl-controls label { min-width:0; }
  .rl-controls select { width:100%; font-size:13px; }
  .rl-card-footer > span { max-width:100%; }
  .rl-view-links a { padding:10px 12px; font-size:13px; }
  .rl-tool-article h2 { font-size:23px; }
  .rl-tool-step, .rl-tool-trial, .rl-tool-related { padding:18px; }
  .rl-tool-article > .rl-tool-download { padding:18px; }
  .rl-tool-download-actions .button { width:100%; }
  .rl-tool-step h3 { gap:9px; font-size:18px; }
  .rl-tool-step textarea { padding:11px; font-size:13px; }
  .rl-foot { padding:20px; }
  .rl-foot .button { width:100%; }
}

.rl-list.rl-grouped{display:block}.rl-group{margin:0 0 32px}.rl-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.rl-group>header h3{margin:0;font-size:22px}.rl-group>header a{font-size:13px;color:#31553f}.rl-group-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rl-news-entry{padding:18px;border-top:1px solid #d8dece}.rl-group-cards .rl-card{min-width:0}@media(max-width:900px){.rl-group-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.rl-group-cards{grid-template-columns:1fr}.rl-group>header h3{font-size:19px}.rl-group>header a{flex-shrink:0}}
