.library-notebook { --accent: #155a92; --wash: #eef5f7; --edge: #d3e1e7; }
.library-notebook .service-hero-grid { grid-template-columns: 1.05fr 1fr; }
.library-notebook .service-hero h1 { font-size: clamp(34px,4.2vw,58px); }
.notebook-cover { background: #fff; padding: clamp(20px,3vw,38px); border: 1px solid var(--edge); }
.notebook-cover img { display: block; margin: 24px 0 0; border-radius: 0; }
.cover-label { color: var(--accent); font-size: 12px; letter-spacing: .05em; }
.notebook-meta { margin: 25px 0 0; font-size: 12px; line-height: 1.9; color: var(--muted); }
.learning-promise { margin: 38px 0 0; padding: 23px 28px; border-left: 3px solid var(--accent); background: var(--wash); }
.learning-promise strong { font-size: 14px; }
.learning-promise p { margin: 8px 0 0; font-size: 14px; line-height: 1.9; color: var(--muted); }
.reading-routes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin-top: 26px; }
.reading-routes a { padding: 16px 0; border-bottom: 1px solid var(--edge); font-size: 13px; text-decoration: none; line-height: 1.8; }
.reading-routes span { display: block; font-size: 11px; color: var(--accent); }
.library-notebook .service-toc a { padding: 8px 0; }
.library-notebook .service-content { width: 100%; max-width: 860px; }
.library-notebook .service-chapter { scroll-margin-top: 110px; }
.library-notebook .service-chapter a { text-underline-offset: 4px; }
.notebook-two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 27px 0; }
.notebook-two>div { border-top: 2px solid var(--accent); padding: 17px 0 0; min-width: 0; }
.notebook-two h3 { margin: 0 0 12px; font-size: 17px; }
.notebook-two p { font-size: 15px; }
.book-journey { list-style: none; counter-reset: journey; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 0; margin: 30px 0; }
.book-journey li { counter-increment: journey; padding: 20px; background: var(--wash); }
.book-journey li::before { content: "0" counter(journey); display: block; color: var(--accent); font-size: 12px; margin-bottom: 20px; }
.book-journey b { display: block; font-size: 16px; margin-bottom: 9px; }
.book-journey span { font-size: 13px; line-height: 1.8; color: var(--muted); }
.field-note { margin: 28px 0; padding: 24px 28px; border: 1px solid var(--edge); border-left: 3px solid var(--accent); }
.field-note>strong { font-size: 14px; color: var(--accent); }
.field-note p { font-size: 15px; margin: 10px 0 0; }
.notebook-table { max-width: 100%; overflow-x: auto; margin: 28px 0; border: 1px solid var(--edge); }
.notebook-table table { width: 100%; min-width: 540px; border-collapse: collapse; font-size: 14px; line-height: 1.85; }
.notebook-table caption { text-align: left; padding: 16px 20px; font-weight: 700; color: var(--accent); }
.notebook-table th,.notebook-table td { padding: 17px 20px; text-align: left; vertical-align: top; border-top: 1px solid var(--edge); }
.notebook-table thead { background: var(--wash); }
.notebook-table tbody th { min-width: 105px; }
.notebook-table td { color: var(--muted); }
.study-check { margin: 16px 0; padding: 0 22px; border: 1px solid var(--edge); background: #fff; }
.study-check summary { cursor: pointer; padding: 20px 0; font-size: 14px; font-weight: 700; line-height: 1.9; }
.study-check p { font-size: 15px; padding-bottom: 22px; }
.character-help { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 28px; align-items: center; background: var(--wash); padding: 28px; margin: 30px 0; }
.character-help img { width: 100%; height: auto; display: block; }
.character-help strong { color: var(--accent); font-size: 15px; }
.character-help p { margin: 12px 0 0; font-size: 15px; }
.kdc-map { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 30px 0; border-left: 1px solid var(--edge); border-top: 1px solid var(--edge); }
.kdc-map>div { padding: 19px 15px; border-bottom: 1px solid var(--edge); border-right: 1px solid var(--edge); }
.kdc-map b { display: block; font: 500 27px/1.3 Georgia,serif; color: var(--accent); margin-bottom: 17px; }
.kdc-map strong { font-size: 14px; display: block; }
.kdc-map span { display: block; font-size: 12px; color: var(--muted); line-height: 1.8; margin-top: 8px; }
.callnumber-figure { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 25px; padding: 28px; background: var(--wash); align-items: center; }
.spine-label { background: white; border: 2px solid var(--accent); text-align: center; padding: 18px 8px; border-radius: 5px; }
.spine-label span,.spine-label b { display: block; font-size: 18px; line-height: 1.9; }
.spine-label b { font-size: 23px; }
.callnumber-figure dl { margin: 0; }
.callnumber-figure dl>div+div { margin-top: 15px; }
.callnumber-figure dt { font-size: 14px; font-weight: 700; }
.callnumber-figure dd { margin: 5px 0 0; font-size: 13px; line-height: 1.8; color: var(--muted); }
.callnumber-figure figcaption { grid-column: 1/-1; margin: 0; }
.work-steps { padding-left: 25px; margin: 27px 0; }
.work-steps li { padding: 0 0 22px 9px; color: var(--muted); font-size: 15px; line-height: 2; }
.work-steps li::marker { color: var(--accent); font-weight: 700; }
.work-steps strong { display: block; color: var(--ink); font-size: 16px; margin-bottom: 6px; }
.shelf-demo { background: var(--wash); padding: 28px; }
.shelf-books { display: flex; justify-content: center; align-items: end; gap: 9px; border-bottom: 10px solid var(--accent); padding: 15px 6px 0; }
.shelf-books span { display: flex; align-items: end; justify-content: center; width: 21%; max-width: 110px; height: 150px; background: white; border: 1px solid var(--edge); padding: 15px 4px; font: 700 16px/1.4 Georgia,serif; color: var(--accent); }
.shelf-books span:nth-child(even) { height: 175px; }
.notebook-list { padding-left: 22px; color: var(--muted); font-size: 15px; line-height: 2; }
.identity-chain { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 22px; background: var(--wash); margin: 25px 0; font-size: 14px; line-height: 1.9; }
.inventory-example { padding: 28px; background: var(--wash); }
.inventory-example figcaption { margin: 0; }
.inventory-counts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.inventory-counts b { display: block; font: 500 clamp(24px,3vw,36px)/1.4 Georgia,serif; color: var(--accent); }
.inventory-counts span { display: block; font-size: 12px; line-height: 1.9; color: var(--muted); margin-top: 5px; }
.inventory-example p { font-size: 15px; }
.scenario-notes { border-top: 1px solid var(--edge); margin-top: 30px; }
.scenario-notes details { border-bottom: 1px solid var(--edge); padding: 0 22px; }
.scenario-notes summary { cursor: pointer; font-size: 16px; font-weight: 700; padding: 24px 0; line-height: 1.8; }
.scenario-notes summary span { color: var(--accent); font-size: 12px; padding-right: 12px; }
.scenario-notes details[open] { background: var(--wash); }
.scenario-notes p { font-size: 15px; }
.scenario-notes details p:last-child { padding-bottom: 25px; }
.scenario-notes p strong { display: block; color: var(--ink); font-size: 13px; margin-bottom: 6px; }
.checklist-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 30px 0; }
.checklist-board>div { border-top: 3px solid var(--accent); }
.checklist-board h3 { font-size: 17px; margin-top: 17px; }
.checklist-board ul { list-style: none; margin: 0; padding: 0; }
.checklist-board li { position: relative; padding: 10px 0 10px 22px; font-size: 14px; line-height: 1.9; color: var(--muted); }
.checklist-board li::before { content: "□"; position: absolute; left: 0; color: var(--accent); }
.notebook-download { display: block; width: fit-content; max-width: 100%; padding: 17px 24px; border: 1px solid var(--accent); text-decoration: none; font-weight: 700; font-size: 15px; }
.notebook-download span { display: block; font-size: 12px; font-weight: 400; }
.notebook-glossary { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
.notebook-glossary>div { border-top: 1px solid var(--edge); padding: 18px 0; }
.notebook-glossary dt { font-weight: 700; font-size: 14px; }
.notebook-glossary dd { margin: 8px 0 0; font-size: 14px; color: var(--muted); line-height: 1.9; }
.source-list { padding-left: 22px; }
.source-list li { font-size: 14px; line-height: 1.9; padding: 9px 0 9px 5px; overflow-wrap: anywhere; }
.source-list span { display: block; font-size: 12px; color: var(--muted); }
.notebook-next { border-top: 1px solid var(--edge); margin-top: 35px; padding-top: 25px; }
.notebook-next>span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 13px; }
.notebook-next a { display: block; width: fit-content; font-size: 15px; padding: 9px 0; }
.library-notebook :is(summary,a,[tabindex]):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.library-notebook h4 { font-size: 16px; line-height: 1.7; margin: 0 0 12px; }
.library-notebook .notebook-list strong { color: var(--ink); margin-right: .35em; }
.learning-days { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0; }
.learning-days li { padding: 22px; border: 1px solid var(--edge); background: #fff; }
.learning-days b { display: block; font-size: 15px; color: var(--accent); margin-bottom: 10px; }
.learning-days span { font-size: 14px; line-height: 1.95; color: var(--muted); }
.lesson-scene { margin: 30px 0; padding: 26px 30px; background: #f8f4e9; border-left: 3px solid #97743b; }
.lesson-label { font-size: 12px; color: #705728; }
.lesson-scene h3 { margin-top: 12px; }
.lesson-scene p { font-size: 15px; }
.spine-label .label-zone { color: var(--accent); background: var(--wash); margin: -8px 0 8px; }
.decision-trail { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 30px 0; }
.decision-trail>div { min-width: 0; border-top: 3px solid var(--accent); padding: 16px 10px; background: var(--wash); }
.decision-trail small,.decision-trail b,.decision-trail span { display: block; }
.decision-trail small { font-size: 11px; color: var(--accent); }
.decision-trail b { font-size: 16px; margin: 14px 0 10px; line-height: 1.7; }
.decision-trail span { font-size: 12px; color: var(--muted); line-height: 1.8; }
.decimal-board { margin: 30px 0; padding: 25px 28px; background: #fff; border: 1px solid var(--edge); }
.decimal-board>div { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; padding: 12px 0; border-bottom: 1px solid var(--edge); }
.decimal-board code { font: 600 25px/1.6 Consolas,monospace; color: var(--ink); }
.decimal-board em { font-style: normal; color: var(--accent); background: #e0edf4; padding: 2px; }
.decimal-board span { font-size: 13px; color: var(--muted); }
.decimal-board p { font-size: 13px; margin-top: 18px; }
.full-shelf { border: 1px solid var(--edge); padding: 24px; background: #fff; }
.full-shelf figcaption { margin-top: 0; }
.full-shelf figcaption strong { color: var(--ink); font-size: 16px; }
.spine-row { list-style: none; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; align-items: end; padding: 20px 0 0; margin: 15px 0 22px; border-bottom: 9px solid var(--accent); }
.spine-row li { min-width: 0; height: 185px; display: flex; flex-direction: column; justify-content: end; align-items: center; background: var(--wash); border: 1px solid var(--edge); padding: 12px 3px; text-align: center; gap: 9px; }
.spine-row b { font: 700 17px/1.6 Consolas,monospace; }
.spine-row span { font-size: 13px; }
.spine-row small { font: 12px/1.7 Consolas,monospace; }
.spine-row .target-spine { height: 212px; background: var(--accent); color: #fff; border-color: var(--accent); }
.full-shelf p { font-size: 14px; }
.shelf-map { padding: 25px 28px; margin: 30px 0; background: var(--wash); }
.shelf-map>div { display: grid; grid-template-columns: 65px 1fr; gap: 15px; padding: 16px 0; border-bottom: 5px solid var(--accent); font-size: 15px; line-height: 1.8; }
.shelf-map>div+div { margin-top: 15px; }
.shelf-map p { font-size: 13px; margin-top: 20px; }
.concept-grid,.business-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; margin: 30px 0; }
.concept-grid>div,.business-metrics>div { min-width: 0; padding: 24px 20px; background: var(--wash); border-top: 3px solid var(--accent); }
.concept-grid>div>span { font-size: 11px; color: var(--accent); }
.concept-grid h3 { margin: 15px 0 12px; font-size: 17px; }
.concept-grid p,.business-metrics p { font-size: 14px; }
.record-map { background: var(--wash); padding: 28px; }
.record-main { background: #fff; border: 2px solid var(--accent); padding: 22px; text-align: center; }
.record-main h3 { margin: 10px 0; font-size: 17px; }
.record-main p { font-size: 13px; }
.record-map small { font-size: 12px; color: var(--accent); }
.record-copies { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.record-copies>div { position: relative; margin-top: 26px; padding: 20px; border: 1px solid var(--edge); background: #fff; text-align: center; }
.record-copies>div::before { content: ''; position: absolute; height: 26px; width: 2px; background: var(--accent); left: 50%; top: -27px; }
.record-copies b,.record-copies span { display: block; }
.record-copies b { margin: 12px 0; font-size: 18px; }
.record-copies span { color: var(--muted); font-size: 13px; line-height: 1.9; }
.marc-anatomy { padding: 26px; border: 1px solid var(--edge); background: #fff; }
.marc-parts { display: grid; grid-template-columns: .75fr 1fr .75fr 1.5fr; gap: 10px; }
.marc-parts>div { min-width: 0; padding: 16px 8px; background: var(--wash); text-align: center; border-bottom: 3px solid var(--accent); }
.marc-parts b { display: block; font-size: 20px; color: var(--accent); line-height: 1.8; }
.marc-parts span { display: block; font-size: 12px; line-height: 1.8; margin-top: 12px; color: var(--muted); }
.marc-sample { max-width: 100%; overflow-x: auto; margin: 26px 0; padding: 26px; color: #fff; background: #17384b; }
.marc-sample pre { margin: 0; }
.marc-sample code { font: 14px/2.1 Consolas,"Malgun Gothic",monospace; }
.quality-batch { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 25px 0; border: 1px solid var(--edge); }
.quality-batch>div { min-width: 0; padding: 22px 12px; text-align: center; background: #fff; }
.quality-batch>div:first-child { background: var(--wash); }
.quality-batch b { display: block; font: 500 36px/1.4 Georgia,serif; color: var(--accent); margin-bottom: 10px; }
.quality-batch span { font-size: 12px; color: var(--muted); line-height: 1.8; }
.database-board { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.database-board>div { min-width: 0; padding: 25px; border: 1px solid var(--edge); border-top: 3px solid var(--accent); background: #fff; }
.database-board>div:nth-child(2),.database-board>div:nth-child(3) { background: var(--wash); }
.database-board span { font-size: 12px; color: var(--accent); }
.database-board h4 { margin-top: 16px; font-size: 18px; }
.database-board p { font-size: 14px; }
.database-board figcaption { grid-column: 1/-1; margin-top: 0; }
.delivery-flow { counter-reset: delivery; list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 30px 0; }
.delivery-flow li { counter-increment: delivery; padding: 22px; min-width: 0; background: var(--wash); }
.delivery-flow li::before { content: '0' counter(delivery); display: block; font: 24px/1.5 Georgia,serif; color: var(--accent); margin-bottom: 16px; }
.delivery-flow b { display: block; font-size: 15px; margin-bottom: 10px; }
.delivery-flow span { font-size: 13px; color: var(--muted); line-height: 1.9; }
.return-routing { margin: 30px 0; padding: 25px; background: var(--wash); }
.return-routing h3 { margin-top: 0; }
.return-routing ol { padding-left: 24px; margin-bottom: 0; }
.return-routing li { padding: 9px 0 9px 6px; font-size: 14px; line-height: 1.9; }
.return-routing span { display: block; color: var(--muted); }
.lesson-quiz { margin: 30px 0 16px; padding: 26px; background: #fff; border: 2px solid var(--accent); }
.lesson-quiz fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.lesson-quiz legend { padding: 0 0 15px; font-size: 17px; font-weight: 700; line-height: 1.8; color: var(--accent); }
.lesson-quiz fieldset p { font-size: 14px; }
.lesson-quiz label { display: flex; gap: 12px; align-items: baseline; padding: 13px 0; font-size: 15px; line-height: 1.9; cursor: pointer; }
.lesson-quiz input { flex: 0 0 auto; accent-color: var(--accent); }
.lesson-quiz button { font: inherit; font-size: 14px; font-weight: 700; padding: 14px 20px; color: #fff; background: var(--accent); border: 0; cursor: pointer; margin: 15px 0 0; }
.lesson-quiz .quiz-result { margin: 18px 0 0; font-size: 15px; border-top: 1px solid var(--edge); padding-top: 16px; }
.lesson-quiz .quiz-result:empty { display: none; }
.lesson-quiz .quiz-result[data-correct='true'] { color: #205e46; }
.lesson-quiz .quiz-result[data-correct='false'] { color: #8a411d; }
.lesson-quiz :is(input,button):focus-visible { outline: 3px solid #a06b19; outline-offset: 4px; }
@media (max-width: 1100px) {
  .concept-grid,.business-metrics { grid-template-columns: 1fr; }
  .decision-trail { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .learning-days,.record-copies,.database-board,.delivery-flow { grid-template-columns: 1fr; }
  .lesson-scene,.decimal-board,.record-map,.marc-anatomy,.shelf-map,.lesson-quiz { padding: 20px 16px; }
  .marc-parts,.quality-batch { grid-template-columns: 1fr 1fr; }
  .marc-sample { padding: 20px 14px; }
  .marc-sample code { font-size: 12px; }
  .full-shelf { padding: 18px 10px; }
  .spine-row { gap: 3px; }
  .spine-row li { height: 152px; padding: 9px 1px; gap: 8px; }
  .spine-row .target-spine { height: 178px; }
  .spine-row b { font-size: 12px; }
  .spine-row span { font-size: 10px; }
  .spine-row small { font-size: 10px; }
  .record-main { padding: 20px 12px; }
  .shelf-map>div { grid-template-columns: 40px 1fr; gap: 8px; font-size: 13px; }
}
@media print {
  .lesson-quiz button { display: none !important; }
  .marc-sample { overflow: visible; background: white; color: black; padding: 12px; border: 1px solid #aaa; }
  .marc-sample pre { white-space: pre-wrap; overflow-wrap: anywhere; }
  .learning-days li,.delivery-flow li,.database-board>div,.lesson-quiz { break-inside: avoid; }
  .library-notebook .record-map,.library-notebook .database-board,.library-notebook .callnumber-figure { break-inside: auto; }
}
@media (max-width: 1000px) {
  .kdc-map { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .checklist-board { grid-template-columns: 1fr; gap: 10px; }
  .library-notebook .service-hero-grid { grid-template-columns: 1fr; }
  .notebook-cover { max-width: 550px; }
}
@media (max-width: 600px) {
  .reading-routes,.book-journey { grid-template-columns: 1fr 1fr; gap: 12px; }
  .notebook-two,.notebook-glossary { grid-template-columns: 1fr; }
  .character-help { grid-template-columns: 65px minmax(0,1fr); padding: 20px 16px; gap: 16px; align-items: start; }
  .character-help p { font-size: 14px; }
  .callnumber-figure { grid-template-columns: 1fr; padding: 22px; }
  .spine-label { max-width: 150px; width: 100%; margin: 0 auto; }
  .inventory-counts { grid-template-columns: 1fr; gap: 14px; }
  .inventory-counts>div { display: flex; align-items: center; gap: 18px; }
  .inventory-counts b { min-width: 105px; }
  .inventory-counts span { margin: 0; }
  .field-note,.inventory-example,.learning-promise { padding: 21px; }
  .shelf-demo { padding: 20px 12px; }
  .shelf-books span { font-size: 13px; }
  .book-journey li { padding: 16px; }
  .book-journey b { font-size: 14px; }
  .scenario-notes details,.study-check { padding-left: 15px; padding-right: 15px; }
  .notebook-download { padding: 16px; }
}
@media print {
  .library-notebook .service-toc,.library-notebook .reading-routes,.library-notebook .site-header,.library-notebook .floating-top,.notebook-download { display: none !important; }
  .library-notebook .service-reader,.library-notebook .service-hero-grid { display: block; }
  .library-notebook .page-shell,.library-notebook .service-content { width: 100%; max-width: none; padding: 0; margin: 0; }
  .notebook-cover { max-width: 240px; margin: 20px auto; }
  .character-help img { max-width: 75px; }
  .library-notebook .service-chapter { break-inside: auto; margin-bottom: 25px; padding-bottom: 25px; }
  .notebook-table { overflow: visible; }
  .notebook-table table { min-width: 0; }
  .library-notebook .service-chapter p { font-size: 11pt; line-height: 1.65; }
  .library-notebook h2,.library-notebook h3 { break-after: avoid; }
  .scenario-notes details,.study-check { break-inside: avoid; }
}
