/* Resource directory and reusable app details. */
:root{--resource-muted:#526080}
.resource-nav{display:flex;gap:8px;flex-wrap:wrap;padding-block:24px 8px}.resource-nav a{padding:10px 18px;border:1px solid #eadfe7;border-radius:999px;color:var(--navy);text-decoration:none;font-weight:800;background:#fff}.resource-nav a[aria-current=page]{background:#fff0f5;border-color:#edb7cb;color:#a91f51}.resource-nav a:hover{border-color:#c92360}
.resource-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding-block:36px 28px}.resource-hero h1{margin:0 0 18px;font-size:clamp(38px,5vw,62px);line-height:1.08;letter-spacing:-.035em}.resource-lead{font-size:20px;color:var(--resource-muted);max-width:590px}.resource-hero>img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:28px;border:1px solid #f2d3df}
.platform-guide{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:linear-gradient(115deg,#fff2f7,#f0f9ff);padding:23px 28px;border:1px solid #eadfe7;border-radius:20px}.platform-guide p{margin:0;color:var(--resource-muted);font-size:15px}.platform-guide strong{display:block;margin-bottom:5px;color:var(--navy);font-size:17px}
.resource-section{padding-block:40px 12px}.resource-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.resource-section h2,.resource-section-heading h2{margin:0;font-size:30px;line-height:1.2}.resource-section-heading>p{margin:0;color:var(--resource-muted);font-size:14px}
.app-listing{border:1px solid #e7dbe6;border-radius:22px;background:#fff;box-shadow:0 8px 25px #17225208;overflow:hidden}.app-row{display:grid;grid-template-columns:64px minmax(160px,1.3fr) minmax(130px,.8fr) minmax(145px,.9fr) auto;gap:20px;align-items:center;padding:26px;text-decoration:none;color:var(--navy);transition:background .2s}.app-row:hover{background:#fff6f9}.app-icon{display:block;width:64px;height:64px;border-radius:17px;border:1px solid #f2c5d6;object-fit:cover}.app-row-name strong{display:block;font-size:21px;line-height:1.2;margin-bottom:7px}.app-row-name>span,.platform-status small{display:block;color:var(--resource-muted);font-size:13px;line-height:1.5}.platform-status>span{font-size:14px;font-weight:800}.platform-status b{color:#247249;margin-right:3px}.row-arrow{color:#ad2454;font-size:13px;font-weight:900}.app-row-bottom{border-top:1px solid #f1e5ed;background:#fffafd;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:13px 26px;font-size:13px}.app-row-bottom>span{color:var(--resource-muted)}.app-row-bottom a,.detail-addons a,.detail-footer a,.addon-app-heading>a,.printable-card a{color:#aa2455;font-weight:900;text-underline-offset:4px}.windows-row{grid-template-columns:64px 1.4fr 1fr auto}.windows-icon{display:grid;place-items:center;width:64px;height:64px;font-size:45px;line-height:1;border-radius:17px;color:#5e4d95;background:#f0ecf8}
.resource-note{margin-block:38px 64px}.resource-note p{max-width:820px}.printable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.printable-card{border:1px solid #eadfe7;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;background:#fff}.printable-card>img{width:100%;aspect-ratio:4;object-fit:cover}.printable-card>div{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:23px}.printable-card h3{font-size:22px;line-height:1.2;margin:15px 0 10px}.printable-card p{color:var(--resource-muted);margin:0 0 20px}.printable-card a{margin-top:auto}.resource-tag{display:inline-block;color:#246244;background:#edf7ef;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}
.addon-app-heading{display:flex;gap:20px;align-items:center;margin-bottom:28px}.addon-app-heading>a{margin-left:auto}.addon-app-heading p{margin-block:6px}.import-guide{padding:30px;border:1px solid #eadfe7;border-radius:24px;background:linear-gradient(120deg,#fff8fb,#f5fbff)}.import-guide ol{display:grid;grid-template-columns:1fr 1fr;gap:22px 45px;padding-left:24px;margin-block:26px}.import-guide li{padding-left:6px;color:var(--resource-muted)}.import-guide li::marker{color:#b1265b;font-weight:900}.import-guide li strong{display:block;color:var(--navy)}.import-help{font-size:14px}.detail-addons{display:flex;gap:24px;justify-content:space-between;align-items:center;background:#fff1f6;border:1px solid #f2cedd;border-radius:16px;padding:20px 24px;margin-block:28px}.detail-addons p{margin:4px 0 0;color:var(--resource-muted)}.detail-addons a{flex-shrink:0}.detail-addons h2{font-size:22px}
.app-dialog{width:min(960px,calc(100% - 40px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #ead2df;border-radius:26px;color:var(--navy);background:#fff;box-shadow:0 30px 100px #17225244;overflow:auto;overscroll-behavior:contain}.app-dialog::backdrop{background:#111831aa;backdrop-filter:blur(5px)}.app-dialog:not([open]){display:none}body.app-dialog-open{overflow:hidden}.dialog-toolbar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 24px;background:#fff;border-bottom:1px solid #efe3eb;font-size:12px;color:var(--resource-muted)}.dialog-toolbar button{font:inherit;font-size:14px;font-weight:800;color:var(--navy);border:1px solid #decfdc;background:#faf5f8;padding:9px 14px;border-radius:999px;cursor:pointer}.dialog-content{padding:30px}.detail-intro{display:flex;align-items:center;gap:20px}.detail-intro h2{margin:0;font-size:32px;line-height:1.12}.detail-intro p{margin:5px 0}.detail-intro .app-icon,.detail-intro .windows-icon{width:80px;height:80px;flex-shrink:0}.detail-description{font-size:17px;color:var(--resource-muted);margin:24px 0}.detail-features{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;margin:24px 0}.detail-features li{padding-left:15px;border-left:3px solid #edb4ca}.detail-features strong{display:block;font-size:15px}.detail-features span{display:block;color:var(--resource-muted);font-size:14px;margin-top:3px}.store-heading{font-size:23px;margin-bottom:0}.store-tabs{display:flex;gap:8px;padding:6px;border-radius:16px;background:#f2f2f8;margin:20px 0}.store-tabs button{flex:1;font:inherit;font-weight:900;border:1px solid transparent;padding:12px 16px;border-radius:12px;background:transparent;color:var(--resource-muted);cursor:pointer}.store-tabs button[aria-selected=true]{color:#a42352;background:#fff;border-color:#eed3df;box-shadow:0 3px 8px #1722520a}.store-tabs button span{font-size:12px;margin-left:8px}.store-release{display:flex;justify-content:space-between;align-items:center;gap:24px}.store-release h3{margin:0;font-size:21px}.store-release p{margin:5px 0;font-size:14px;color:var(--resource-muted)}.availability{color:#246244;font-weight:800}.preview-note-text{color:var(--resource-muted);font-size:12px;margin-block:18px}.gallery-controls{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:13px;color:var(--resource-muted)}.gallery-controls>div{display:flex;gap:6px}.gallery-controls button{border:1px solid #e0d3de;background:#fff;color:var(--navy);border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:20px}.gallery-controls button:disabled{opacity:.35;cursor:default}.screenshot-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 2px 18px;scrollbar-color:#d48baa #f4e9ef}.screenshot-gallery figure{flex:0 0 210px;margin:0;border:1px solid #e7dfe8;border-radius:16px;overflow:hidden;background:#faf8fc;scroll-snap-align:start}.screenshot-gallery img{display:block;width:100%;height:300px;object-fit:contain;background:#f6f3f8}.screenshot-gallery figcaption{padding:12px 10px;font-size:13px;font-weight:800;text-align:center}.detail-footer{display:flex;flex-wrap:wrap;gap:15px;align-items:center;justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid #ece2e9;font-size:13px}.detail-footer p{color:var(--resource-muted);margin:0}.standalone-detail{padding-bottom:64px;max-width:900px}
.resource-nav a:focus-visible,.app-row:focus-visible,.app-dialog :focus-visible,.printable-card a:focus-visible{outline:3px solid #8060b7;outline-offset:3px}.app-row:focus-visible{outline-offset:-4px}[hidden]{display:none!important}
@media(max-width:1050px){.app-row{grid-template-columns:64px 1fr 1fr;gap:18px}.app-row-name{grid-column:2/-1}.app-row>.platform-status{grid-column:2/-1}.row-arrow{grid-column:2/-1}.printable-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.resource-hero{grid-template-columns:1fr;gap:14px;padding-top:28px}.resource-hero>img{max-height:230px}.resource-lead{font-size:18px}.platform-guide{grid-template-columns:1fr;gap:16px;padding:22px}.resource-section-heading{display:block}.resource-section-heading>p,.resource-section-heading>.coming-tag{margin-top:12px}.printable-grid{grid-template-columns:1fr 1fr;gap:14px}.printable-card>div{padding:18px}.printable-card h3{font-size:20px}.detail-addons,.addon-app-heading{align-items:flex-start;flex-wrap:wrap;gap:14px}.addon-app-heading>a{margin-left:0}.import-guide ol{grid-template-columns:1fr}.app-row{grid-template-columns:52px 1fr 1fr;padding:20px;gap:14px}.app-row>.app-icon,.app-row>.windows-icon{width:52px;height:52px}.app-row-bottom{padding:15px 20px}.app-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:20px}.dialog-content{padding:22px}.dialog-toolbar{padding:12px 16px}.dialog-toolbar>span{max-width:150px}.detail-intro h2{font-size:27px}.detail-intro .app-icon{width:60px;height:60px}.detail-intro{gap:14px}.detail-intro .eyebrow{font-size:11px}.detail-features{grid-template-columns:1fr}.store-release{flex-wrap:wrap;gap:12px}.store-tabs button{padding:10px;font-size:14px}.store-tabs button span{display:block;margin:3px 0 0}.resource-note{margin-bottom:44px}}
@media(max-width:430px){.printable-grid{grid-template-columns:1fr}.resource-nav{gap:6px}.resource-nav a{padding:9px 12px;font-size:13px}.import-guide{padding:23px}.gallery-controls p{max-width:170px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.file-name .included-badge{display:table;margin:6px 0;padding:4px 8px;border-radius:8px;background:#edf7ef;color:#246244;font-size:11px;font-weight:800;line-height:1.4}

.story-search{margin:0 24px 24px;padding:20px;border-radius:16px;background:#f7f5fa}.story-search label{display:block;font-weight:900;margin-bottom:8px}.story-search>div{display:flex;gap:10px}.story-search input{min-width:0;flex:1;padding:12px;border:1px solid #bcafc1;border-radius:10px;font:inherit;color:var(--navy);background:#fff}.story-search button{padding:10px 15px;border:1px solid #bcafc1;border-radius:10px;font:inherit;background:#fff;color:var(--navy);cursor:pointer}.story-search p{font-size:13px;margin:10px 0 0;color:#526080}.story-search :focus-visible{outline:3px solid #8060b7;outline-offset:2px}

.detail-intro h1{margin:0;font-size:32px;line-height:1.12}

/* Growing addon directory: only available categories offer download links. */
.addon-directory{margin:34px 0 38px}.addon-directory-intro{max-width:840px;color:#526080;margin:0 0 24px}.addon-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.addon-category{display:flex;flex-direction:column;align-items:flex-start;padding:26px;border:1px solid #e7dbe6;border-radius:22px;background:#fff;box-shadow:0 5px 18px #17225205}.addon-category-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#fff0f5;color:#b42b60;margin-bottom:18px}.addon-category-icon svg{width:32px;height:32px}.icon-schedules,.icon-lessons{background:#edf7ff;color:#37658d}.icon-icons{background:#f0ecf8;color:#6b5099}.icon-calming{background:#edf7ef;color:#397453}.addon-category h3{font-size:23px;line-height:1.2;margin:15px 0 10px}.addon-category p{color:#526080;margin:0 0 20px}.addon-card-links{display:flex;flex-direction:column;gap:10px;margin-top:auto}.addon-card-links a{color:#aa2455;font-weight:800;text-underline-offset:4px}.addon-card-links a:focus-visible{outline:3px solid #8060b7;outline-offset:4px}.addon-pending{margin-top:auto;font-size:13px;color:#665970;padding-top:12px;border-top:1px solid #eee5ee;width:100%}.addon-more{background:linear-gradient(130deg,#fff6fa,#f1f9ff)}
@media(max-width:900px){.addon-category-grid{grid-template-columns:1fr 1fr}.detail-addons{flex-wrap:wrap}}
@media(max-width:560px){.addon-category-grid{grid-template-columns:1fr}.addon-category{padding:24px}}
