/* Razor content components build on the approved turquoise design tokens. */
.activity-card { text-decoration: none; }
.family-form { margin-bottom: 18px; }
.content-page { padding: 65px var(--page-gutter) 50px; min-height: 75vh; }
.content-page h1 { font-size: clamp(34px, 4vw, 58px); margin: 14px 0 20px; }
.page-intro { max-width: 660px; font-size: 20px; margin-bottom: 25px; }
.library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 30px; }
.library-card { display: flex; flex-direction: column; gap: 15px; text-decoration: none; padding: 20px; background: var(--sky); border: 1px solid #cbe5e6; border-radius: var(--radius-card); transition: transform .18s; }
.library-card:nth-child(3n + 2) { background: var(--apricot); border-color: var(--sand); }
.library-card:nth-child(3n + 3) { background: var(--sage); border-color: #d1ddc4; }
.library-card:hover { transform: translateY(-3px); }
.library-card img { border-radius: 18px; width: 100%; aspect-ratio: 1.25; object-fit: contain; }
.library-card h2 { font-size: 26px; overflow-wrap: anywhere; }
.library-card p { font-size: 16px; }
.library-card .card-link { margin-top: auto; padding-top: 14px; }
.gentle-note { border: 1px solid var(--sand); background: var(--apricot); padding: 18px 22px; border-radius: 18px; margin: 20px 0; max-width: 760px; }
.reader-cover { max-height: 370px; object-fit: contain; margin: 25px auto; }
.reading-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(20px,4vw,60px); }
.reading-pair h2 { font-size: 30px; margin: 10px 0 20px; }
.reading-pair p { font-size: 20px; line-height: 1.85; overflow-wrap: anywhere; }
.passage { padding: 24px 0; border-bottom: 1px solid var(--sand); }
.passage-art { max-width: 300px; margin: 20px auto; }
.reader-page > .button { margin: 8px 12px 8px 0; }
.editorial { max-width: 1000px; }
.editorial > img { max-height: 430px; object-fit: contain; mix-blend-mode: multiply; }
.editorial h2 { margin: 35px 0 15px; font-size: 32px; }
.editorial > p { margin-bottom: 24px; line-height: 1.8; }
.editorial .button { margin-top: 20px; }
[data-panel] p { margin-top: 20px; }
#favorite-list { padding-inline-start: 22px; } #favorite-list li { margin: 14px 0; }
[hidden] { display: none !important; }
@media(max-width:1190px) { .library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .library-grid,.reading-pair { grid-template-columns: 1fr; }.content-page { padding-top: 48px; }.reading-pair { gap: 20px; }.reading-pair > :nth-child(2) { padding-top: 18px; border-top: 1px dashed var(--sand); }.library-card h2 { font-size: 29px; } }
@media(prefers-reduced-motion:reduce) { .library-card { transition: none; } }

.published-drawing{display:block;width:100%;max-width:800px;height:auto;margin:24px auto;background:white}.drawing-languages{display:flex;gap:24px;flex-wrap:wrap}.drawing-languages section{flex:1;min-width:220px}.drawing-downloads,.drawing-pagination,.drawing-search{display:flex;gap:18px;margin:20px 0}.drawing-search input{min-width:0;flex:1;max-width:500px;padding:10px}.drawing-downloads a{padding:10px 18px;border:1px solid currentColor;border-radius:12px}

/* Coloring artwork sits on white paper; the surrounding frame is decorative UI. */
.library-card.coloring-card:nth-child(n){background:#fff;border:1px solid #e5e9e1;padding:12px;gap:14px;box-shadow:0 5px 20px #163c4610;border-radius:28px}
.coloring-card>h2,.coloring-card>p,.coloring-card>.card-link{margin-inline:10px}
.coloring-card>.card-link{padding-bottom:12px}
.sheet-frame{--frame-bg:#e3f5f9;--frame-ink:#3898ac;--frame-dot:#f5ba53;position:relative;isolation:isolate;display:block;padding:clamp(24px,2.8vw,34px);background:var(--frame-bg);border-radius:24px;overflow:hidden}
.sheet-paper{position:relative;z-index:1;background:#fff;border:1px solid #ffffff;border-radius:9px;padding:8px;box-shadow:0 4px 10px #203d4610}
.sheet-paper img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:3px;margin:0;mix-blend-mode:normal}
.sheet-sprinkles{position:absolute;inset:0;width:100%;height:100%;color:var(--frame-ink);pointer-events:none;z-index:0}
.sprinkle-stars,.sprinkle-flowers,.sprinkle-confetti{fill:var(--frame-ink);opacity:.65}
.sprinkle-flowers,.sprinkle-confetti{display:none}
.sprinkle-lines{stroke:var(--frame-ink);stroke-width:2.6;stroke-linecap:round;opacity:.65}
.sprinkle-dots{fill:var(--frame-dot)}
.sheet-theme-1{--frame-bg:#fff0db;--frame-ink:#d99739;--frame-dot:#e691a9;border-radius:38px 22px 38px 22px}
.sheet-theme-2{--frame-bg:#ede9fb;--frame-ink:#9780ca;--frame-dot:#edb450;border-radius:24px 42px 24px 42px}
.sheet-theme-3{--frame-bg:#e9f3e3;--frame-ink:#73a277;--frame-dot:#dca7ba;border-radius:38px 22px 38px 22px}
.sheet-theme-4{--frame-bg:#fce8ef;--frame-ink:#cc86a2;--frame-dot:#82bcae;border-radius:24px 42px 24px 42px}
.sheet-theme-5{--frame-bg:#e2f4ee;--frame-ink:#4d9a88;--frame-dot:#e5b65c;border-radius:34px}
.sheet-theme-1 .sprinkle-stars,.sheet-theme-4 .sprinkle-stars,.sheet-theme-2 .sprinkle-stars,.sheet-theme-5 .sprinkle-stars{display:none}
.sheet-theme-1 .sprinkle-flowers,.sheet-theme-4 .sprinkle-flowers{display:block}
.sheet-theme-2 .sprinkle-confetti,.sheet-theme-5 .sprinkle-confetti{display:block}
.sheet-theme-3 .sprinkle-stars{fill:none;stroke:var(--frame-ink);stroke-width:2}
.sheet-frame-large{max-width:800px;margin:26px auto;padding:clamp(28px,5vw,58px)}
.coloring-card:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
@media print{.sheet-frame{padding:0!important;background:#fff!important;border-radius:0;overflow:visible}.sheet-sprinkles{display:none!important}.sheet-paper{padding:0;border:0;border-radius:0;box-shadow:none}.library-card.coloring-card:nth-child(n){box-shadow:none}.sheet-paper img{background:#fff}}

/* Shared friendly panels: white interiors, translucent pastel rims and small charms. */
.friendly-panel{--panel-rim:rgb(81 180 182 / .26);--panel-charm:#5caeb0;position:relative;min-width:0;background:#fff;background-clip:padding-box;border:8px solid var(--panel-rim);border-radius:25px;padding:12px 14px;box-shadow:0 5px 18px #163c4608}
.friendly-panel-peach{--panel-rim:rgb(240 178 83 / .28);--panel-charm:#d8a04d}
.friendly-panel-decor{position:absolute;inset-block-start:-15px;inset-inline-end:18px;display:flex;align-items:center;gap:7px;color:var(--panel-charm);pointer-events:none;font-size:20px;line-height:1}
.friendly-panel-decor i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.65}
.friendly-panel-decor>span:last-child{font-size:15px;transform:rotate(12deg)}
.language-picker.friendly-panel{max-width:520px;width:100%;min-inline-size:0}
.picker-controls,.search-controls{display:flex;align-items:center;gap:10px;min-width:0}
.picker-controls .language-fields{flex:1;min-width:0;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:6px}
.friendly-panel .picker-title{display:block;margin:0 0 7px;font-size:12px;line-height:1.3}
.friendly-panel select,.search-controls input{height:44px;min-height:44px;font-size:14px}
.family-apply,.search-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;border:0;border-radius:12px;background:var(--teal-dark);color:#fff;cursor:pointer;font-weight:750;font-size:14px;padding:10px 15px;margin:0}
.family-apply{width:44px;padding:10px}
.family-apply:hover,.search-controls button:hover{background:var(--ink)}
.friendly-panel :is(button,input,select):focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.library-page{padding-top:36px}
.library-page h1{font-size:clamp(32px,3.4vw,46px);margin:10px 0}
.library-page .page-intro{font-size:18px;margin-bottom:22px}
.library-toolbar{display:flex;align-items:stretch;flex-wrap:wrap;gap:18px}
.library-toolbar>.family-form,.library-toolbar>.drawing-search{flex:1 1 360px;min-width:0;margin:0}
.library-toolbar .language-picker{max-width:none;height:100%}
.library-toolbar .drawing-search{display:block}
.search-controls input{flex:1;min-width:0;max-width:none;width:100%;padding:8px 11px;border:1px solid #dddcd5;border-radius:9px;background:#fbfaf8;color:var(--ink)}
.library-page .library-grid{margin-top:22px}
@media(max-width:620px){.library-page{padding-top:26px}.library-toolbar{gap:14px}.friendly-panel{padding:11px 10px;border-width:7px}.picker-controls,.search-controls{gap:7px}.friendly-panel select{font-size:16px;padding-inline-start:8px}.search-controls input{font-size:16px}.family-apply{width:40px}.library-page .page-intro{font-size:17px}}

/* Compact illustrated body header, using Pibra's dedicated magic-paintbrush artwork. */
.library-heading-illustrated{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,30vw,370px);align-items:center;gap:24px;min-height:210px;margin-top:-18px;margin-bottom:18px;position:relative}
.library-heading-copy{min-width:0;position:relative;z-index:1}
.library-heading-illustrated .page-intro{margin-bottom:0;max-width:620px}
.library-heading-art{height:220px;position:relative;pointer-events:none}
.library-heading-art::before{content:"";position:absolute;inset:22% 5% 8%;background:radial-gradient(ellipse,#ccefe966,transparent 70%);border-radius:50%}
.library-heading-art img{position:relative;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
@media(max-width:900px){.library-heading-illustrated{grid-template-columns:minmax(0,1fr) 240px;gap:12px}.library-heading-art{height:200px}}
@media(max-width:620px){.library-heading-illustrated{grid-template-columns:minmax(0,1fr) 128px;gap:4px;min-height:170px;margin-top:10px;margin-bottom:20px}.library-heading-art{height:170px;align-self:center}.library-heading-art img{object-fit:contain;object-position:center}.library-heading-illustrated .eyebrow{font-size:10px;letter-spacing:.11em}.library-heading-illustrated h1{font-size:32px;line-height:1.08}.library-heading-illustrated .page-intro{font-size:16px}}
@media(max-width:370px){.library-heading-illustrated{grid-template-columns:minmax(0,1fr) 104px}.library-heading-illustrated h1{font-size:29px}}

/* Align the desktop brand with the sidebar inset. */
@media(min-width:621px){.header-inner{padding-left:15px}}

/* Keep the complete portrait comfortably inside the badge at every breakpoint. */
.brand-mascot img{width:88%;height:88%;max-width:100%;object-fit:contain}
