/* D100 optional feature layer: each module can be disabled without changing a book. */
.lab-page{padding-block:24px 70px;color:#103457}.lab-page *{box-sizing:border-box}.lab-breadcrumb{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.lab-breadcrumb a{display:inline-flex;gap:8px;align-items:center;font-size:14px;text-decoration:none}.lab-breadcrumb .s93-icon{width:26px;height:28px;flex:none}.lab-hero{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;min-height:330px;gap:35px;padding:25px 10px 15px}.lab-hero h1{font-size:clamp(34px,4.2vw,64px);line-height:1.35;margin:10px 0 16px}.lab-hero p{max-width:650px;font-size:19px;line-height:1.95;color:#52637a}.lab-hero-art{position:relative;text-align:center;max-width:280px;justify-self:center}.lab-hero-art img{width:100%;height:250px;object-fit:contain;filter:drop-shadow(0 20px 28px #ba8a1622)}.lab-hero-art>span{position:absolute;inset-block-start:25px;inset-inline-end:20px;color:#e5ab16;font-size:35px;animation:lab-glimmer 3.4s ease-in-out infinite}.lab-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.lab-button,.lab-page .btn{gap:9px;min-height:45px;font-size:15px;padding:11px 18px;line-height:1.55}.lab-button .s93-icon,.lab-page .btn .s93-icon{width:30px;height:31px;flex:none}.lab-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px}.lab-feature-card{border:1px solid #ddd4be;border-radius:29px;background:linear-gradient(145deg,#fffefa,#fff5d7);padding:24px;box-shadow:0 7px 0 #e3d8b63d;display:flex;flex-direction:column}.lab-feature-card:nth-child(3n+2){background:linear-gradient(145deg,#fffefa,#efebfc)}.lab-feature-card:nth-child(3n){background:linear-gradient(145deg,#fffefa,#edf3df)}.lab-feature-card header{display:flex;gap:10px;align-items:center}.lab-feature-card header>.s93-icon{width:55px;height:55px;flex:none}.lab-feature-card header>span:not(.s93-icon){font-size:12px;letter-spacing:1px;color:#7a6a43}.lab-feature-card h2{font-size:24px;margin:22px 0 8px}.lab-feature-card>p{font-size:16px;line-height:1.9;color:#53657c;flex:1;margin:0 0 22px}.lab-try{font-weight:700;text-decoration:none;display:flex;justify-content:space-between;border-top:1px solid #cfc2a04f;padding-top:14px}.lab-switch{margin-inline-start:auto;display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:#596575;padding:5px;min-height:44px;cursor:pointer;font-family:inherit}.lab-switch i{display:inline-block;width:36px;height:22px;border-radius:20px;background:#aaa;position:relative;box-shadow:inset 0 2px 3px #0002}.lab-switch i:after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;top:3px;left:3px;background:#fff;transition:transform .2s}.lab-switch[aria-checked=true] i{background:#103457}.lab-switch[aria-checked=true] i:after{background:#ffd02b;transform:translateX(14px)}.lab-switch b{font-size:12px}.lab-switch:focus-visible,.lab-chip-row button:focus-visible,.lab-try:focus-visible{outline:3px solid #32799a;outline-offset:5px}.lab-signin{display:flex;align-items:center;gap:16px;border:1px solid #e0cf9d;background:#fff0b6;padding:18px 22px;border-radius:22px}.lab-signin>.s93-icon{flex:none;width:40px;height:40px}.lab-signin p{flex:1;line-height:1.8;margin:0}.lab-saving,.lab-error{padding:14px 18px;border-radius:15px;background:#fff2ba;line-height:1.8}.lab-error{background:#fff0e6;border:1px solid #d27d4b}.lab-error button{margin-inline-start:10px}.lab-sources{margin-top:42px;border-top:1px solid #ddcfb3;padding-top:20px;line-height:1.9}.lab-sources h2{display:flex;gap:10px;align-items:center;font-size:21px}.lab-sources h2 .s93-icon{width:35px;height:35px}.lab-sources>a{display:inline-block;margin-inline-end:24px;font-size:14px}.lab-shelf-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0 22px}.lab-shelf-tabs a{display:flex;gap:12px;align-items:center;justify-content:center;border:1px solid #ded3b9;background:#fffdf6;border-radius:20px;padding:14px;text-decoration:none;min-height:75px;font-weight:600}.lab-shelf-tabs .s93-icon{width:40px;height:40px;flex:none}.lab-shelf-tabs [aria-current]{background:#fff0b5;border-color:#e3ad21;box-shadow:0 4px 0 #d8a51f33}.lab-shelf-hint{line-height:1.8;color:#596c80}.lab-shelf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.lab-shelf-card{border:1px solid #e1d5bd;background:#fffdf8;border-radius:25px;overflow:hidden;display:grid;grid-template-columns:145px minmax(0,1fr);gap:20px;padding:18px}.lab-shelf-cover{border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#e8dffc,#ffe7a2);height:190px}.lab-shelf-cover img{width:100%;height:100%;object-fit:cover}.lab-painted-cover .s93-icon{width:100px;height:115px}.lab-shelf-card h2{font-size:22px;line-height:1.6;margin:12px 0}.lab-shelf-card small,.lab-shelf-card p{color:#596a7e;line-height:1.7}.lab-shelf-card .lab-actions{gap:7px}.lab-shelf-card .btn{padding:8px 10px;font-size:14px}.lab-order{display:flex;gap:9px;margin-top:12px}.lab-order .btn{min-height:40px;padding:5px 12px}.lab-empty{background:#fffdf7;border:1px dashed #c7b77c;border-radius:26px;text-align:center;padding:38px 24px;max-width:700px;margin:24px auto}.lab-empty>.s93-icon{width:85px;height:85px}.lab-empty h2{font-size:26px;margin:18px 0 12px}.lab-empty p{line-height:1.9;color:#596a7e}.lab-card-actions{display:flex;gap:10px;padding:0 20px 20px;flex-wrap:wrap}.lab-card-actions .btn{flex:1;font-size:13px;padding:8px 10px;min-height:42px;white-space:normal}.lab-card-actions .s93-icon{width:26px;height:28px}.lab-card-actions [aria-pressed=true]{box-shadow:inset 0 0 0 2px #d7a02a;background:#fff0ad}.j-book-card[hidden]{display:none!important}.lab-duration{font-size:13px!important;line-height:1.6!important;color:#6e6a51!important;margin:6px 0!important}.lab-discovery{background:linear-gradient(115deg,#fffefa,#f1edfd);padding:24px;border:1px solid #ded4ec;border-radius:27px;margin:24px 0}.lab-discovery header,.lab-ideas header{display:flex;gap:16px;align-items:center}.lab-discovery header>.s93-icon,.lab-ideas header>.s93-icon{width:60px;height:60px;flex:none}.lab-discovery h2,.lab-ideas h2{font-size:23px;margin:0 0 7px}.lab-discovery header p,.lab-ideas header p{margin:0;font-size:15px;line-height:1.8;color:#5c6a7c}.lab-discovery fieldset{border:0;padding:0;margin:20px 0 0;min-width:0}.lab-discovery legend{font-weight:600;font-size:15px;margin-bottom:10px}.lab-chip-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.lab-chip-row button{display:inline-flex;align-items:center;gap:7px;background:#fffdf8;border:1px solid #dccdb0;border-radius:16px;padding:10px 15px;font:inherit;font-size:14px;color:#143958;cursor:pointer;min-height:44px}.lab-chip-row button[aria-pressed=true]{background:#12365d;color:#fff;border-color:#12365d;box-shadow:0 4px 0 #c5a02638}.lab-chip-row .s93-icon{width:27px;height:28px;flex:none}.lab-discovery-bottom{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:end}.lab-discovery-bottom>label{font-size:15px;font-weight:600;display:block}.lab-discovery-bottom>label>.s93-icon{width:24px;height:24px;vertical-align:middle;margin-inline-end:7px}.lab-discovery input{display:block;width:100%;padding:13px 17px;border:1px solid #c9bda8;background:#fffefa;border-radius:15px;color:#15375b;font:inherit;font-size:15px;margin-top:8px}.lab-results{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:18px}.lab-results p{font-size:14px;margin:0;line-height:1.8}.lab-results button{font:inherit;font-size:13px;color:#274f72;background:none;border:0;text-decoration:underline;cursor:pointer;padding:10px;min-height:44px}.lab-dialog{border:1px solid #dbcb9f;border-radius:28px;background:#fffaf0;color:#14365b;padding:0;width:min(730px,calc(100vw - 28px));max-width:730px;max-height:90dvh;overflow:auto;box-shadow:0 25px 100px #071b4840}.lab-dialog::backdrop{background:#0821439c;backdrop-filter:blur(7px)}.lab-dialog>header{position:sticky;top:0;z-index:1;background:#fff7e6ed;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 24px;border-bottom:1px solid #e5d7b8}.lab-dialog>header h2{display:flex;gap:10px;align-items:center;font-size:22px;margin:0}.lab-dialog>header .s93-icon{width:40px;height:40px;flex:none}.lab-dialog>header>button{width:44px;height:44px;padding:4px;font-size:25px;border-radius:50%}.lab-dialog-body{padding:23px}.lab-reader-intro{display:flex;gap:20px;align-items:center}.lab-reader-intro>img{width:100px;height:110px;object-fit:contain;flex:none}.lab-reader-intro h3{font-size:23px;margin:7px 0}.lab-reader-intro p{font-size:15px;margin:0;line-height:1.8}.lab-reader-intro small{color:#82652e}.lab-reading-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.lab-reader-section{padding:21px 0;border-top:1px solid #ddd1b8}.lab-reader-section>h3{display:flex;align-items:center;gap:10px;font-size:20px;margin:0 0 12px}.lab-reader-section>h3 .s93-icon{width:35px;height:38px;flex:none}.lab-reader-section p{line-height:1.9;margin:10px 0 16px}.lab-reader-section>.btn+.btn{margin-inline-start:8px}.lab-question-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lab-question-cards>div{background:#f0ebfa;border-radius:20px;padding:18px}.lab-question-cards>div:nth-child(2){background:#fff0bd}.lab-question-cards .s93-icon{width:36px;height:36px}.lab-question-cards p{margin:8px 0 0;font-size:16px}.lab-little-activity{display:flex;gap:14px;background:#eef0dc;border-radius:20px;padding:18px;margin:15px 0}.lab-little-activity>.s93-icon{width:43px;height:43px;flex:none}.lab-little-activity h4{margin:0;font-size:18px}.lab-little-activity p{margin:7px 0 0}.lab-small,.lab-together>small{font-size:13px;line-height:1.85;color:#647282}.lab-dialog-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:22px}.lab-dialog-links a{display:flex;gap:8px;align-items:center;font-size:14px}.lab-dialog-links .s93-icon{width:25px;height:25px}.lab-next-story{width:100%;white-space:normal}.lab-ideas{background:linear-gradient(130deg,#f1eafa,#fff4ce);border:1px solid #dfd0b1;padding:22px;border-radius:26px;margin:20px 0 28px}.lab-ideas>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.lab-ideas>div>button{display:flex;flex-direction:column;text-align:start;gap:10px;padding:20px 16px;border:1px solid #dfd4bf;border-radius:23px;background:#fffdf7;font:inherit;cursor:pointer;color:#12365a;transition:transform .2s,box-shadow .2s}.lab-ideas>div>button:hover{transform:translateY(-4px);box-shadow:0 10px 20px #b3973020}.lab-ideas>div>button:focus-visible{outline:3px solid #347591;outline-offset:4px}.lab-ideas .s93-icon{width:52px;height:55px}.lab-ideas strong{font-size:19px}.lab-ideas button span:not(.s93-icon){font-size:14px;line-height:1.8;color:#5a6c81}.lab-ideas button b{font-size:13px;margin-top:auto}.lab-idea-preview p{line-height:1.9}.lab-idea-preview h3{font-size:19px;margin:20px 0 8px}.lab-reading-night #main-content :is(.j-public-reader,.f-world,.j-page,.i-reader){background:#142e47;color:#fff3d8}.lab-reading-night #main-content :is(.j-reader-copy,.f-reading-spread>div,.j-written-story,.i-reader-spread>div){background:#142e47;color:#fff3d8}.lab-reading-night #main-content :is(.j-reader-copy h1,.j-reader-copy p,.f-reading-spread h2,.f-reading-spread p,.j-written-story h2,.j-written-story p,.i-reader-spread h2,.i-reader-spread p){color:#fff3d8}.lab-reading-large #main-content :is(.j-story-text,.f-reading-spread>div,.j-written-story>div,.i-reader-spread>div){overflow-y:auto;min-height:0}.lab-reading-large #main-content :is(.j-story-text p,.f-reading-spread>div>p,.j-written-story>div>p,.i-reader-spread>div>p){font-size:clamp(20px,2.1vw,30px)!important;line-height:1.9!important}.lab-button[disabled]{opacity:.6;cursor:wait}.lab-button[data-lab=reader-tools]{white-space:nowrap;font-size:13px;padding:7px 12px;min-height:40px}.lab-button[data-lab=reader-tools] .s93-icon{width:26px;height:26px}.f-nav>a[data-lab-entry]{display:inline-flex;align-items:center;gap:5px}.f-nav>a[data-lab-entry] .s93-icon{width:25px;height:27px}
@keyframes lab-glimmer{0%,100%{transform:scale(.85) rotate(-12deg);opacity:.55}50%{transform:scale(1.1) rotate(12deg);opacity:1}}
@media(max-width:1000px){.lab-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-shelf-grid{grid-template-columns:1fr}.lab-shelf-card{grid-template-columns:160px minmax(0,1fr)}.lab-shelf-tabs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.lab-page{padding-top:20px}.lab-hero{grid-template-columns:1fr;gap:0;min-height:0;padding:10px 0 20px}.lab-hero>div:first-child{order:2}.lab-hero-art{max-width:150px;order:1;justify-self:end;height:130px;margin-bottom:-22px;pointer-events:none}.lab-hero-art img{height:135px}.lab-hero h1{font-size:34px;max-width:270px}.lab-hero p{font-size:16px}.lab-hero .lab-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lab-hero .lab-actions .btn{font-size:13px;padding:10px 7px;white-space:normal}.lab-hero .lab-actions .s93-icon{width:25px;height:28px}.lab-feature-grid{grid-template-columns:1fr;gap:17px}.lab-feature-card{padding:22px}.lab-feature-card h2{margin-top:13px}.lab-signin{flex-wrap:wrap;gap:9px;padding:16px}.lab-signin p{font-size:14px}.lab-signin .btn{margin-inline-start:auto}.lab-shelf-tabs{gap:8px}.lab-shelf-tabs a{padding:10px 8px;font-size:13px;gap:6px;min-height:64px}.lab-shelf-tabs .s93-icon{width:31px;height:33px}.lab-shelf-card{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:14px;border-radius:21px}.lab-shelf-cover{height:145px}.lab-shelf-card h2{font-size:19px;margin:7px 0}.lab-shelf-card small{font-size:11px}.lab-shelf-card p{font-size:13px}.lab-shelf-card .lab-actions{display:grid}.lab-shelf-card .btn{font-size:12px;padding:7px}.lab-painted-cover .s93-icon{width:70px;height:80px}.lab-order .btn{min-height:38px}.lab-card-actions{gap:8px;padding:0 15px 17px}.lab-card-actions .btn{font-size:12px;gap:6px;padding:8px}.lab-discovery{padding:18px}.lab-discovery header{gap:11px}.lab-discovery header>.s93-icon{width:43px;height:48px}.lab-discovery h2,.lab-ideas h2{font-size:19px}.lab-discovery header p{font-size:13px}.lab-discovery-bottom{grid-template-columns:1fr;gap:18px}.lab-discovery-bottom>label{margin-top:18px}.lab-discovery fieldset{margin-top:17px}.lab-chip-row{gap:7px}.lab-chip-row button{padding:8px 11px;font-size:12px}.lab-results{align-items:start;gap:8px}.lab-results p{font-size:12px;flex:1}.lab-results button{font-size:12px;max-width:120px}.lab-dialog>header{padding:14px 16px}.lab-dialog>header h2{font-size:19px}.lab-dialog-body{padding:17px}.lab-reader-intro{gap:12px}.lab-reader-intro>img{width:75px;height:85px}.lab-reader-intro h3{font-size:19px}.lab-reading-actions{gap:8px}.lab-reading-actions .btn{font-size:13px;padding:10px;white-space:normal}.lab-question-cards{grid-template-columns:1fr}.lab-reader-section>.btn+.btn{margin:8px 0 0}.lab-reader-section>.btn{width:100%}.lab-ideas{padding:17px}.lab-ideas header>.s93-icon{width:43px;height:48px}.lab-ideas header p{font-size:13px}.lab-ideas>div{grid-template-columns:1fr}.lab-ideas>div>button{display:grid;grid-template-columns:48px 1fr;gap:6px 13px;padding:16px}.lab-ideas button>.s93-icon{grid-row:1/4;width:48px;height:52px}.lab-ideas strong{font-size:17px}.lab-ideas button span:not(.s93-icon){font-size:13px}.lab-button[data-lab=reader-tools]{font-size:11px;padding:6px 9px;min-height:36px}.lab-button[data-lab=reader-tools] .s93-icon{width:22px;height:22px}.j-reader-top{flex-wrap:wrap}.j-reader-top>.lab-button{margin-inline-start:auto}.i-reader-head>.lab-button[data-lab=reader-tools]{position:absolute;inset-inline-start:70px;bottom:3px;font-size:0;padding:4px;width:30px;height:30px;min-height:30px}.i-reader-head{position:relative}.lab-breadcrumb{font-size:13px;gap:12px}}
@media(prefers-reduced-motion:reduce){.lab-hero-art>span{animation:none}.lab-ideas>div>button,.lab-switch i:after{transition:none}.lab-ideas>div>button:hover{transform:none}}
@media print{.lab-discovery,.lab-card-actions,[data-lab=reader-tools],.lab-ideas,.lab-breadcrumb{display:none!important}}

.lab-reader-save{font-size:10px;font-weight:400;opacity:.85;display:block}.paused .lab-hero-art>span{animation:none}.lab-button[data-lab=reader-tools]{flex-wrap:wrap}.lab-reader-save:empty{display:none}

.lab-filter-details{margin-top:18px}.lab-filter-details>summary{display:flex;gap:10px;align-items:center;list-style:none;background:#fff0bb;border:1px solid #e6ce82;padding:13px 16px;border-radius:17px;font-weight:600;cursor:pointer;min-height:48px}.lab-filter-details>summary::-webkit-details-marker{display:none}.lab-filter-details>summary .s93-icon{width:29px;height:31px;flex:none}.lab-filter-details>summary>span:last-child{margin-inline-start:auto;font-size:23px}.lab-filter-details[open]>summary>span:last-child{transform:rotate(45deg)}.lab-filter-details>summary:focus-visible{outline:3px solid #347591;outline-offset:4px}
@media(max-width:600px){
 .s93-reading .j-reader-top{display:grid;grid-template-columns:minmax(0,1fr) auto 36px;gap:6px;align-items:center;flex-wrap:nowrap}
 .s93-reading .j-reader-top>a{font-size:11px;white-space:nowrap}
 .s93-reading .j-reader-top .j-language button{padding:4px 7px;font-size:11px}
 .s93-reading .j-reader-top>.lab-button[data-lab=reader-tools]{width:36px;height:36px;min-height:36px;padding:5px;font-size:0;gap:0;margin:0;flex-wrap:nowrap;position:static}
 .s93-reading .j-reader-top>.lab-button[data-lab=reader-tools] .s93-icon{width:25px;height:25px;flex:0 0 25px}
 .s93-reading .j-reader-top>.lab-button .lab-reader-save{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .lab-button[data-lab=reader-tools][aria-busy=true]{box-shadow:0 0 0 3px #e6b73b;animation:lab-save-light .8s ease-in-out infinite alternate}
}
@keyframes lab-save-light{to{box-shadow:0 0 0 5px #e6b73b44}}
@media(prefers-reduced-motion:reduce){.lab-button[data-lab=reader-tools][aria-busy=true]{animation:none}}


@media(max-width:600px){.s93-generated-top>.lab-button[data-lab=reader-tools],.f-reader-top>.lab-button[data-lab=reader-tools]{width:36px;min-width:36px;height:36px;min-height:36px;padding:5px;font-size:0;gap:0;flex-wrap:nowrap}.s93-generated-top>.lab-button[data-lab=reader-tools] .s93-icon,.f-reader-top>.lab-button[data-lab=reader-tools] .s93-icon{width:24px;height:24px;flex:0 0 24px}.s93-generated-top .lab-reader-save,.f-reader-top>.lab-button .lab-reader-save{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
