:root{--paper:#f8f6ef;--ink:#22251f;--muted:#6c6d62;--line:#d8d7cc;--yellow:#f6ce42;--green:#294539;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b06b16;outline-offset:5px}button{border-radius:0}img{display:block;max-width:100%;height:auto}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;left:20px;top:-100px;z-index:20;background:var(--yellow);padding:10px}.skip:focus{top:10px}.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:28px;border-bottom:1px solid var(--line)}.brand{font-size:19px;font-weight:900;line-height:1;letter-spacing:-1px}.brand span{color:#b77627}.site-header nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:600}.nav-cta{border:1px solid var(--ink);padding:12px 18px}.nav-cta span{margin-left:22px}.hero{display:grid;grid-template-columns:1.18fr 1fr;gap:35px;min-height:660px;align-items:center;padding-block:62px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 30px}.mini-rule{height:2px;width:32px;background:var(--ink)}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-weight:400;font-size:clamp(49px,4.7vw,70px);line-height:1.09;letter-spacing:-2.8px;margin-bottom:28px}.circled{position:relative;isolation:isolate;white-space:nowrap}.circled:before{content:'';position:absolute;z-index:-1;background:var(--yellow);left:-7px;right:-10px;top:15%;bottom:0;transform:rotate(-2deg);border-radius:40% 28% 30% 15%/10% 18% 13% 24%}.hero-description{color:#5d6056;font-size:15px;line-height:1.8;margin-bottom:26px}.hero-actions{display:flex;gap:27px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:51px;padding:14px 22px;font-size:12px;font-weight:700;border:1px solid var(--ink);transition:background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.button.dark{color:var(--paper);background:var(--ink)}.button.dark:hover{background:#3d4739}.button.light{background:transparent}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:4px}.text-link span{margin-left:10px}.small-note{font-size:11px;color:var(--muted);margin-top:21px;line-height:1.6}.hero-art{height:510px;position:relative;display:grid;place-items:center}.art-grid{position:absolute;inset:42px 0 15px;background-color:#eae8dc;background-image:linear-gradient(#d9d8cb 1px,transparent 1px),linear-gradient(90deg,#d9d8cb 1px,transparent 1px);background-size:30px 30px;clip-path:polygon(2% 0,100% 3%,96% 100%,0 97%)}.hero-book{width:255px;transform:rotate(-8deg);position:relative;box-shadow:17px 21px 0 #22251f15,5px 9px 13px #22251f35;border-left:7px solid #8b7046;border-radius:2px}.hero-book img{width:100%;height:auto}.hand-note{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.25;position:absolute;right:0;top:4px;transform:rotate(8deg);z-index:2}.hand-note span{display:block;font-size:40px;margin-left:15px;font-style:normal}.available-sticker{width:113px;height:113px;background:var(--yellow);border:1px solid var(--ink);border-radius:50%;position:absolute;bottom:37px;right:12px;transform:rotate(10deg);font-size:27px;font-weight:900;line-height:.96;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:3px 4px 0 var(--ink)}.available-sticker span:first-child{font-size:8px;letter-spacing:1px;margin-bottom:7px}.available-sticker span:last-child{position:absolute;right:16px;bottom:14px;font-size:19px}.art-footnote{position:absolute;left:10px;bottom:4px;font-size:8px;letter-spacing:1.4px}.series-strip{background:var(--ink);color:var(--paper)}.series-strip .wrap{display:flex;align-items:center;justify-content:space-between;min-height:65px;font-size:10px;letter-spacing:2px;font-weight:700}.series-strip span:nth-child(even){color:var(--yellow);font-size:27px;font-weight:400}.section{padding-block:90px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:18px}h2{font-family:var(--serif);font-weight:400;font-size:clamp(35px,3.2vw,48px);line-height:1.12;letter-spacing:-1.5px;margin-bottom:0}.section-heading>p{color:var(--muted);font-size:13px;margin-bottom:3px;padding-right:60px}.catalog-toolbar{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-top:22px;margin-bottom:30px}.filter-group{display:flex;gap:8px}.filter{font-size:11px;border:1px solid var(--line);padding:8px 12px;background:transparent}.filter span{font-size:9px;margin-left:8px;opacity:.65}.filter.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.catalog-note{font-size:10px;color:var(--muted)}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 28px}.book{display:flex;flex-direction:column;min-width:0}.book[hidden]{display:none}.jacket{border:0;display:flex;align-items:center;justify-content:center;padding:25px;background:#eae8df;margin-bottom:18px;aspect-ratio:1/.99;width:100%;transition:background .2s}.jacket:hover{background:#e1dfd3}.jacket>img,.jacket>.placeholder-cover{width:59%;box-shadow:5px 6px 7px #22251f25;transform:rotate(-3deg);transition:transform .2s}.jacket:hover>img,.jacket:hover>.placeholder-cover{transform:rotate(0deg) translateY(-3px)}.book-meta{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;font-weight:700;margin-bottom:9px}.status{font-size:8px;letter-spacing:.2px;font-weight:400}.status.available{color:#395c36}.status.available:before{content:'●';margin-right:5px;font-size:7px}.book h3{font-family:var(--serif);font-size:21px;line-height:1.2;font-weight:400;margin-bottom:10px;letter-spacing:-.4px}.book h3 button{background:none;border:0;padding:0;font:inherit;text-align:left}.book p{font-size:11px;line-height:1.65;color:var(--muted);margin-bottom:15px}.book-action{font-size:10px;letter-spacing:.1px;border:0;border-top:1px solid var(--line);background:none;padding:12px 0 0;display:flex;justify-content:space-between;margin-top:auto;text-align:left;font-weight:600}.book-action:hover{text-decoration:underline}.placeholder-cover{aspect-ratio:2/3;background:var(--jacket);padding:10px 9px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;color:#282a22}.placeholder-cover>span:first-child{font-size:4px;letter-spacing:.5px}.placeholder-cover strong{font-size:clamp(14px,2.1vw,30px);line-height:.95;font-weight:900;letter-spacing:-1px}.cover-dot{color:#fff}.placeholder-cover em{font-style:normal;font-size:7px;font-weight:700;line-height:1.25}.placeholder-cover>span:last-child{font-size:6px;line-height:1.6;letter-spacing:.6px}.placeholder-cover small{font-size:4px;letter-spacing:0}.inside{background:#eaece4;padding-block:85px;border-block:1px solid var(--line)}.inside-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.inside h2{margin:20px 0 28px}.inside p:not(.eyebrow):not(.small-note):not(.situation){font-size:13px;color:#5d6056;max-width:350px;line-height:1.85}.script-example{background:#fcfaf4;box-shadow:7px 8px 0 #d7d9ce;border:1px solid #cbcdbf;transform:rotate(1.4deg);padding:25px}.example-top,.example-bottom{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;font-weight:700}.example-top{padding-bottom:18px;border-bottom:1px solid var(--line);gap:10px}.situation{font-size:12px;margin:18px 0}.want{background:var(--ink);color:var(--paper);padding:19px}.want .eyebrow{color:var(--yellow);font-size:8px}.script-example blockquote{font-family:var(--serif);font-size:21px;line-height:1.35;letter-spacing:-.3px;margin:10px 0 0}.instead{padding:20px 4px}.instead .eyebrow{font-size:8px;color:var(--green)}.instead blockquote{font-size:16px}.example-bottom{padding-top:16px;border-top:1px solid var(--line);font-size:7px}.story-section{position:relative;padding-block:95px 70px}.story-section h2{font-size:clamp(54px,6.8vw,96px);line-height:1;letter-spacing:-3px;margin:25px 0 30px}.story-section h2 em{font-weight:400;text-decoration:underline;text-decoration-color:#dbac26;text-underline-offset:9px;text-decoration-thickness:3px}.story-bottom{display:flex;align-items:flex-end;justify-content:space-between}.story-bottom p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.story-guidelines{border-top:1px solid var(--line);display:flex;gap:55px;margin-top:40px;padding-top:20px;font-size:10px}.story-guidelines span:before{content:'↳';margin-right:9px}.author{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:45px}.author h2{font-size:28px}.author p:not(.eyebrow){max-width:550px;font-size:12px;color:var(--muted);line-height:1.85;margin-block:15px}.signature{font-family:var(--serif);font-style:italic;font-size:28px}.site-footer{display:flex;justify-content:space-between;gap:35px;padding-block:45px}.site-footer .brand{font-size:15px}.site-footer p{font-size:11px;margin-bottom:12px}.site-footer small{font-size:9px;color:var(--muted)}.site-footer nav{display:flex;gap:25px;font-size:10px;align-items:flex-start}dialog{width:min(850px,calc(100% - 32px));max-height:90vh;background:var(--paper);color:var(--ink);border:1px solid;padding:50px;overflow:auto}dialog::backdrop{background:#22251fcc}.dialog-close{position:absolute;right:15px;top:8px;font-size:30px;border:0;background:none}.dialog-layout{display:grid;grid-template-columns:200px 1fr;gap:35px}.dialog-layout img{box-shadow:7px 9px 0 #22251f18}.dialog-layout .placeholder-cover{width:200px}.dialog-layout .placeholder-cover strong{font-size:35px}.dialog-layout .placeholder-cover em{font-size:13px}.dialog-layout h2{font-size:36px;margin:10px 0 20px}.dialog-layout p{font-size:13px;color:var(--muted)}.dialog-sample{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.dialog-sample h3{font:24px var(--serif)}.dialog-sample blockquote{font:20px/1.45 var(--serif);margin:12px 0 24px}.dialog-sample .want{padding:20px;margin-block:15px}.badge{font-size:10px;display:inline-block;padding:5px 9px;background:var(--yellow)}.page-main{max-width:890px;padding-block:65px}.page-main h1{font-size:58px;margin-top:22px}.page-intro{max-width:630px;color:var(--muted);font-size:15px}.notice{padding:20px 24px;border-left:4px solid #bc8823;background:#efe8d2;font-size:13px;margin-block:28px}.notice p:last-child{margin-bottom:0}.notice.success{border-color:var(--green);background:#e4ecdf}.form-section{border:0;border-top:1px solid var(--line);margin:32px 0 0;padding:28px 0 0;min-width:0}.form-section legend{font:28px var(--serif);padding-right:20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:24px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.field input,.field select,.field textarea,.admin-controls input,.admin-controls select{width:100%;background:#fdfcf7;border:1px solid #babdaf;padding:12px;min-height:47px}.field textarea{resize:vertical;min-height:120px}.field-hint{font-size:11px;color:var(--muted);margin:7px 0}.optional{font-weight:400;color:var(--muted)}.checkbox{display:flex;align-items:flex-start;gap:12px;font-size:12px;margin:18px 0}.checkbox input{margin-top:4px;flex-shrink:0;width:17px;height:17px;accent-color:var(--ink)}.checkbox a{text-decoration:underline}.error{color:#8a2f25;font-size:13px}.field-error{color:#8a2f25;font-size:11px;margin:7px 0}.submission-feedback{margin-top:20px}.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.faq{margin:45px 0}.faq details{padding:16px 0;border-top:1px solid var(--line);font-size:13px}.faq summary{font-weight:700;cursor:pointer}.faq details p{margin:15px 0 0;color:var(--muted)}.legal-main{max-width:740px;min-height:65vh}.legal-main p{font-size:14px}.legal-main a{text-decoration:underline}.admin-main{padding-block:45px}.admin-controls{display:flex;gap:14px;align-items:end;margin-block:25px}.admin-controls label{font-size:11px;flex:1}.inbox-layout{display:grid;grid-template-columns:320px 1fr;gap:30px}.inbox-list{max-height:75vh;overflow:auto}.story-row{display:block;text-align:left;width:100%;padding:18px;border:1px solid var(--line);border-bottom:0;background:none}.story-row:last-child{border-bottom:1px solid var(--line)}.story-row:hover,.story-row.selected{background:#eae8dc}.story-row strong{display:block;font-family:var(--serif);font-size:18px}.story-row small{font-size:10px;color:var(--muted)}.story-detail{min-width:0;background:#fdfcf7;padding:26px;border:1px solid var(--line)}.story-detail h2{font-size:32px;margin-bottom:20px}.story-detail h3{font-size:10px;letter-spacing:1px;margin-top:25px}.story-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-block:18px}.danger{color:#8a2f25;border:1px solid #8a2f25;background:transparent;padding:10px 15px;font-size:12px}.admin-status{font-size:12px}.pagination{display:flex;gap:15px;align-items:center;margin-top:22px;font-size:12px}[hidden]{display:none!important}
@media(min-width:1450px){.hero{min-height:700px}.hero-art{height:550px}.hero-book{width:280px}.available-sticker{right:20px;bottom:42px}.jacket{padding:28px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:20px}.hero-actions{gap:15px}.hero-description br{display:none}.hero-book{width:215px}.hero-art{height:470px}.hand-note{font-size:12px}.available-sticker{width:95px;height:95px;right:0;font-size:24px}.inside-grid{gap:40px}.book-grid{gap:30px 20px}.jacket{padding:18px}.jacket>img,.jacket>.placeholder-cover{width:72%}.book h3{font-size:20px}.catalog-note{display:none}.section-heading>p{padding-right:0}.site-footer nav{gap:15px}.site-footer{gap:20px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{padding-block:22px}.brand{font-size:16px}.site-header nav{gap:18px;font-size:11px}.site-header nav>a:nth-child(2){display:none}.nav-cta{padding:10px 12px}.nav-cta span{margin-left:12px}.hero{grid-template-columns:1fr;padding-block:45px 30px;gap:15px;min-height:auto}h1{font-size:clamp(43px,8.7vw,64px);letter-spacing:-2.1px}.hero .eyebrow{font-size:9px;margin-bottom:25px}.hero-description{font-size:14px;max-width:400px}.hero-actions{gap:25px}.hero-art{height:450px;width:min(470px,100%);margin-inline:auto}.hero-book{width:220px}.hand-note{right:5px;top:5px;font-size:14px}.available-sticker{right:12px;bottom:25px;width:102px;height:102px}.series-strip .wrap{font-size:8px;letter-spacing:1px;min-height:55px}.series-strip span:nth-child(even){font-size:18px}.section{padding-block:60px}.section-heading{align-items:start;gap:20px}.section-heading>p{display:none}h2{font-size:39px}.section-heading{margin-bottom:28px}.filter{font-size:10px;padding:8px 10px}.filter-group{gap:5px}.filter span{margin-left:5px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 18px}.jacket{padding:22px 14px}.jacket>img,.jacket>.placeholder-cover{width:68%}.book-meta{font-size:7px;letter-spacing:.5px}.status{font-size:7px}.book h3{font-size:21px}.book p{font-size:11px}.placeholder-cover strong{font-size:clamp(17px,5vw,28px)}.placeholder-cover>span:first-child{font-size:3.5px}.placeholder-cover em{font-size:6px}.inside{padding-block:55px}.inside-grid{grid-template-columns:1fr;gap:35px}.inside-grid>div:first-child{max-width:480px}.script-example{padding:20px;max-width:480px}.story-section h2{font-size:70px}.story-bottom{align-items:start;gap:25px;flex-direction:column}.story-guidelines{gap:20px;font-size:9px;justify-content:space-between}.story-guidelines span:before{display:none}.author{grid-template-columns:1fr;gap:15px;padding-block:35px}.author .eyebrow{margin-bottom:0}.author h2{font-size:28px}.site-footer{flex-wrap:wrap;padding-block:35px}.site-footer>div{flex:1;min-width:200px}.site-footer nav{width:100%;padding-top:10px;gap:25px}.dialog-layout{grid-template-columns:1fr;gap:25px}.dialog-layout>img,.dialog-layout>.placeholder-cover{width:145px}dialog{padding:35px 24px}.dialog-layout h2{font-size:32px}.page-main{padding-block:40px}.page-main h1{font-size:46px}.field-grid{grid-template-columns:1fr;gap:0}.field{margin-bottom:20px}.admin-controls{flex-wrap:wrap}.admin-controls label{min-width:140px}.inbox-layout{grid-template-columns:1fr}.inbox-list{max-height:300px}.story-detail{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

#story-fields{border:0;padding:0;margin:35px 0 0}

.kindle-banner{display:flex;align-items:center;gap:24px;background:#e9ede3;border:1px solid var(--line);padding:23px 26px;margin:0 0 30px}.kindle-device{fill:none;stroke:var(--green);stroke-width:1.4;flex-shrink:0}.kindle-banner .eyebrow{font-size:8px;letter-spacing:1.4px;color:var(--green);margin-bottom:6px}.kindle-banner h3{font:25px/1.2 var(--serif);letter-spacing:-.4px;margin-bottom:7px}.kindle-banner p:last-child{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.book .kindle-format,.kindle-format{display:flex;flex-wrap:wrap;gap:3px 8px;align-items:center;font-size:9px;line-height:1.5;color:var(--green);margin:0 0 12px}.kindle-format strong{font-size:9px;font-weight:600;background:#e6eadf;padding:3px 6px}.kindle-format[href] span{text-decoration:underline;text-underline-offset:3px}.kindle-detail{display:flex;flex-direction:column;gap:5px;background:#e9ede3;border-left:2px solid var(--green);padding:12px 15px;margin-block:20px;font-size:12px}.kindle-detail strong{font-size:12px}.kindle-detail span{color:var(--muted);font-size:11px}.kindle-detail .text-link{align-self:flex-start}
@media(max-width:760px){.kindle-banner{align-items:flex-start;gap:17px;padding:20px}.kindle-banner h3{font-size:23px}.kindle-device{width:26px;height:35px}.book .kindle-format{font-size:9px;gap:5px}}

.book-review-button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:1px solid var(--line);padding:10px 12px;margin:0 0 16px;text-align:left;font-size:11px;font-weight:600;min-height:40px}.book-review-button:hover{background:var(--yellow);border-color:var(--ink)}.book-review-button span{font-size:18px;line-height:1}.dialog-review-actions,.review-feed-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 25px}.dialog-review-actions{margin-block:20px}.review-feed-actions{margin-block:22px}.review-feed-actions .button{margin-left:auto}.review-dialog{width:min(780px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:30px;overscroll-behavior:contain}.review-dialog-close{position:absolute;right:14px;top:8px;width:40px;height:40px;font-size:30px;line-height:1;background:transparent;border:0}.review-dialog-heading{display:flex;align-items:center;gap:22px;margin:8px 28px 24px 0}.review-dialog-heading img{width:64px;height:96px;object-fit:cover;box-shadow:3px 4px 0 #22251f18}.review-dialog-heading .eyebrow{margin-bottom:10px}.review-dialog-heading h2{font-size:36px;letter-spacing:-1px}.review-dialog .review-write{padding:0;background:transparent;border:0}.review-dialog #review-dialog-title:focus{outline:0}.review-dialog-open{overflow:hidden;scrollbar-gutter:stable}
@media(max-width:760px){.review-feed-actions{align-items:flex-start;gap:20px}.review-feed-actions .button{margin-left:0}.review-dialog{padding:25px 20px}.review-dialog-heading{gap:16px;margin-right:16px}.review-dialog-heading h2{font-size:30px}.review-dialog-heading .eyebrow{font-size:9px}.review-dialog-heading img{width:52px;height:78px}}

/* Reader reviews use the catalog's paper, rules, and small yellow accents. */
.book-rating{align-self:flex-start;background:transparent;border:0;border-bottom:1px solid var(--line);padding:0 0 4px;margin:0 0 12px;font-size:10px;text-align:left;color:var(--green)}

/* Reviews are a single visual showcase across every edition and source. */
.review-showcase .section-heading{align-items:flex-end;gap:28px}
.showcase-intro{flex-shrink:0}.showcase-intro p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:18px}
.review-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.review-showcase-grid:empty{display:none}.review-showcase #reviews-message:empty{display:none}
.reader-review.showcase-review{display:flex;flex-direction:column;min-width:0;min-height:300px;padding:28px;border:1px solid var(--line);background:#fdfbf4}
.showcase-review:first-child{grid-column:span 2;background:#f1ebd5}.showcase-review:nth-child(3n+2){background:#e9ede3}
.showcase-review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:45px;margin-bottom:14px}
.showcase-quote-mark{font:80px/.8 var(--serif);color:#a47715;height:43px}.showcase-review .review-source-badge{background:transparent;padding:3px 0;font-size:9px;letter-spacing:1px;text-transform:uppercase}
.showcase-review .review-stars{font-size:18px;margin-bottom:14px}.showcase-review h3{font-size:26px;line-height:1.2;letter-spacing:-.5px;margin-bottom:14px}
.showcase-review .showcase-quote{font:20px/1.55 var(--serif);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.showcase-review:first-child .showcase-quote{font-size:25px}.showcase-review.has-long-review:not(.is-expanded) .showcase-quote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}
.review-expand{align-self:flex-start;font-size:11px;font-weight:600;padding:4px 0;border:0;border-bottom:1px solid;background:none;margin-top:16px;min-height:28px}
.showcase-amazon-title{font:29px/1.2 var(--serif);letter-spacing:-.5px;margin-bottom:16px}.showcase-amazon-note{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:18px;max-width:380px}.showcase-original{align-self:flex-start}
.showcase-byline{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:24px}.showcase-byline img{width:32px;height:48px;object-fit:cover;box-shadow:2px 3px 0 #22251f15}
.showcase-byline .review-author{font-size:12px;margin:0}.showcase-edition{font-size:10px;line-height:1.5;color:var(--muted);margin:4px 0 0}
.review-showcase-empty{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:28px;padding:32px;border:1px solid var(--line);background:#eeece3;margin-top:28px}
.empty-quote{display:block;font:150px/.8 var(--serif);color:#a47715;height:90px}.review-showcase-empty .eyebrow{margin-bottom:12px}.review-showcase-empty h3{font:32px/1.15 var(--serif);letter-spacing:-.5px;margin-bottom:12px}.review-showcase-empty p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);max-width:650px;margin-bottom:18px}
.review-showcase #reviews-more{margin-top:28px}
@media(max-width:1050px){.review-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.review-showcase .section-heading{flex-direction:column;align-items:flex-start;gap:20px}.showcase-intro p{margin-bottom:12px}.showcase-intro p br{display:none}.review-showcase-grid{grid-template-columns:minmax(0,1fr);gap:16px}.showcase-review:first-child{grid-column:auto}.reader-review.showcase-review{padding:24px;min-height:0}.showcase-review:first-child .showcase-quote{font-size:23px}.review-showcase-empty{grid-template-columns:1fr;gap:10px;padding:26px}.empty-quote{font-size:105px;height:55px}.review-showcase-empty h3{font-size:28px}}
.reader-reviews{border-top:1px solid var(--line)}.review-controls{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:22px}.review-controls .field{margin-bottom:0}.reviews-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}.reviews-feed,.review-write{min-width:0}.review-summary{display:flex;align-items:baseline;gap:18px;border-top:3px solid var(--ink);padding-top:20px}.review-summary strong{font:30px var(--serif)}.review-summary>span{font-size:11px;color:var(--muted)}.reviews-feed>.field-hint{max-width:850px;line-height:1.8;margin-block:15px}.review-write{background:#eeece3;border:1px solid var(--line);padding:32px}.review-write>h3{font:30px var(--serif);letter-spacing:-.5px;margin-bottom:14px}.review-write>.field-hint{max-width:880px;line-height:1.8}.review-write fieldset#reader-review-fields{border:0;padding:20px 0 0;margin:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.review-write #reader-review-fields> :not(.field),.review-write #reader-review-fields>.review-full{grid-column:1/-1}.review-write #send-review{justify-self:start}.reviews-feed #reviews-message:not(:empty){max-width:none;margin:20px 0 0;background:#eeece3;border-left:3px solid var(--yellow);padding:14px 18px;font-size:12px}.review-write fieldset:disabled{opacity:.62}.review-write .checkbox{line-height:1.8}.review-write .field input,.review-write .field textarea{font-size:14px}.review-write .required{font-weight:400}.review-availability{font-size:12px;border-block:1px solid var(--line);padding-block:14px;margin:20px 0}.review-write .field-hint{overflow-wrap:anywhere}.star-choice{border:0;padding:0;min-width:0}.star-choice legend{font-size:12px;font-weight:700;margin-bottom:10px}.star-options{display:flex;gap:8px}.star-options label{position:relative;cursor:pointer;margin:0}.star-options input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.star-options label>span[aria-hidden]{display:grid;place-items:center;border:1px solid #96998a;color:#696d5f;background:#fdfcf7;font-size:25px;width:44px;height:44px}.star-options label.is-filled>span[aria-hidden]{background:var(--yellow);color:var(--ink);border-color:var(--ink)}.star-options input:focus-visible+span{outline:3px solid #b06b16;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.reader-review{padding-block:26px;border-top:1px solid var(--line);overflow-wrap:anywhere}.review-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.review-head .field-hint{margin:0}.review-source-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.5px;background:#e4e7db;padding:4px 8px}.reader-review[data-source="amazon"] .review-source-badge{background:#eee2b4}.review-stars{display:block;color:#765810;font-size:21px;letter-spacing:2px;margin-bottom:10px}.reader-review h3{font:25px/1.3 var(--serif);margin-bottom:12px}.review-body{white-space:pre-wrap;font-size:14px;line-height:1.85}.review-author{font-size:12px;font-weight:700;margin-bottom:0}.reviews-feed #reviews-more{margin-top:16px}.review-moderation{margin-top:65px;padding-top:40px;border-top:2px solid var(--ink)}.review-moderation h2{font-size:38px;margin-bottom:20px}.moderation-card{border:1px solid var(--line);padding:25px;background:#fdfcf7;margin-bottom:20px;overflow-wrap:anywhere}.moderation-card h3{font:26px var(--serif);margin-bottom:12px}.moderation-card p{font-size:13px;line-height:1.8}.moderation-card textarea{width:100%;min-height:80px;resize:vertical;padding:10px;border:1px solid var(--line);background:var(--paper)}.moderation-card summary,.amazon-link-panel summary{cursor:pointer;font-size:13px;font-weight:700}.moderation-card details{margin-block:20px}.moderation-card .admin-actions{margin-bottom:0}.amazon-link-panel{border:1px solid var(--line);padding:25px;margin-block:30px;max-width:760px}.amazon-link-panel form{margin-top:24px}
@media(max-width:1050px){.reviews-grid{gap:26px}.review-write{padding:22px}.review-summary{flex-wrap:wrap;gap:5px 15px}}
@media(max-width:760px){.reviews-grid{grid-template-columns:1fr;gap:35px}.review-controls{grid-template-columns:1fr;gap:16px}.review-write{padding:22px 18px}.review-write fieldset#reader-review-fields{grid-template-columns:minmax(0,1fr);column-gap:0}.reader-reviews .section-heading h2{font-size:36px}.review-head{align-items:flex-start}.star-options{gap:10px}.review-moderation h2{font-size:32px}.moderation-card{padding:18px}.amazon-link-panel{padding:20px}.review-summary strong{font-size:28px}}


/* Shared approved legal content follows the established paper-and-ink design. */
.footer-legal{max-width:920px;flex:1}.site-footer .footer-legal nav{display:block;font-size:12px;margin-bottom:16px;padding-top:0}.footer-legal nav a{text-decoration:underline;text-underline-offset:3px}.site-footer .copyright{font-size:11px;margin-bottom:12px}.site-footer .footer-disclaimer{font-size:11px;line-height:1.7;color:var(--muted);margin:0;max-width:900px}.legal-main h1{font-size:48px;line-height:1.12;margin:0 0 30px}.legal-main h2{font:400 27px/1.25 var(--serif);letter-spacing:-.5px;margin:38px 0 16px}.legal-main p,.legal-main li{font-size:14px;line-height:1.85;overflow-wrap:anywhere}.legal-main p{margin-bottom:18px}.legal-main ul,.legal-main ol{padding-left:25px;margin:15px 0 22px}.legal-main li{padding-left:3px;margin-bottom:10px}.legal-main a,.faq a,.notice.success a{text-decoration:underline;text-underline-offset:3px}.book .book-notice,.book-notice{font-size:10px;line-height:1.65;color:var(--muted);margin-top:5px}.affiliate-disclosure{font-size:10px;line-height:1.6;color:var(--muted);margin-top:8px}.consent-checkbox{margin-bottom:16px}#consent-error{margin:-6px 0 16px}#submission-small-print{margin:8px 0 12px}
@media(max-width:760px){.site-footer .footer-legal{min-width:0;flex-basis:100%}.legal-main h1{font-size:38px;letter-spacing:-1px}.legal-main h2{font-size:25px}.site-footer .footer-legal nav{line-height:2}.site-footer .footer-disclaimer{font-size:11px}}

/* Printed-page asides: a pencil note, a map, and a server's guest check. */
.excerpt-sampler { padding-top: 56px; }
.excerpt-section-heading { display: flex; align-items: baseline; gap: 24px; margin-bottom: 28px; }
.excerpt-section-heading .eyebrow { margin: 0; }
.excerpt-section-heading h2 { font-size: 27px; letter-spacing: -.7px; font-style: italic; }
.excerpt-doodle { margin-left: auto; font: 42px/1 var(--serif); transform: rotate(-12deg); }
.excerpt-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: start; }
.excerpt-card { position: relative; min-width: 0; margin: 0; padding: 28px 32px 22px; border: 1px solid var(--ink); box-shadow: 5px 6px 0 #22251f15; }
.excerpt-heading { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-bottom: 20px; }
.excerpt-stamp { font-size: 8px; font-weight: 700; letter-spacing: 1.8px; border: 1px solid currentColor; padding: 4px 7px; }
.excerpt-number { font: 10px/1.4 'Courier New', monospace; letter-spacing: 1px; }
.excerpt-setup h3 { font: 700 12px/1.5 var(--sans); margin-bottom: 5px; }
.excerpt-setup > p { font-size: 11px; line-height: 1.7; margin-bottom: 20px; max-width: 45em; }
.excerpt-voice .eyebrow { font-size: 8px; letter-spacing: 1.4px; margin-bottom: 9px; }
.excerpt-voice blockquote { margin: 0; font: 400 clamp(23px, 2.25vw, 31px)/1.28 var(--serif); letter-spacing: -.65px; text-wrap: pretty; }
.excerpt-voice mark { color: inherit; background: transparent; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; text-decoration-color: currentColor; }
.excerpt-card figcaption { margin-top: 24px; border-top: 1px solid currentColor; padding-top: 11px; }
.excerpt-source { display: flex; justify-content: space-between; align-items: center; gap: 18px; width: 100%; min-height: 38px; border: 0; padding: 4px 0; background: transparent; color: inherit; text-align: left; font-size: 10px; font-weight: 700; }
.excerpt-source cite { font-style: normal; }
.excerpt-source > span { white-space: nowrap; font-weight: 400; }
.excerpt-source > span span { display: inline-block; margin-left: 8px; font-size: 17px; }
.excerpt-source:hover cite { text-decoration: underline; text-underline-offset: 3px; }
.excerpt-source:focus-visible { outline-color: currentColor; }
.excerpt-card[data-edition="teachers"] { background: #f9e18a; transform: rotate(-.8deg); }
.excerpt-card[data-edition="teachers"]::before { content: ''; position: absolute; width: 90px; height: 24px; top: -12px; left: calc(50% - 45px); background: #d4cdb69c; transform: rotate(-5deg); }
.excerpt-card[data-edition="gis"] { background-color: var(--green); color: var(--paper); border-color: var(--green); background-image: repeating-radial-gradient(ellipse at 100% 0, transparent 0 23px, #f8f6ef08 24px 25px, transparent 26px 49px); transform: rotate(.6deg); }
.excerpt-card[data-edition="gis"] .excerpt-voice .eyebrow { color: var(--yellow); }
.excerpt-card[data-edition="gis"] .excerpt-voice mark { text-decoration-color: var(--yellow); }
.excerpt-card[data-edition="servers"] { background: #f0e4db; border-top: 2px solid var(--ink); border-bottom: 2px dashed #8d7968; }
.excerpt-card[data-edition="servers"] .excerpt-heading { font-family: 'Courier New', monospace; border-bottom: 1px dashed #8d7968; padding-bottom: 14px; }
.excerpt-card[data-edition="servers"] .excerpt-voice blockquote { font-style: italic; }
.excerpt-card[data-edition="servers"] .excerpt-voice mark { text-decoration-color: #a64028; }
.excerpt-card[data-edition="servers"]::after { content: 'THANK YOU · PLEASE COME AGAIN'; display: block; font: 8px/1.5 'Courier New', monospace; letter-spacing: 1px; text-align: center; margin-top: 12px; }
.excerpt-duo > .excerpt-card:nth-child(2) { margin-top: 24px; }
.catalog-excerpt { grid-column: 1 / -1; min-width: 0; padding-block: 10px; }
.catalog-excerpt[hidden] { display: none; }
.excerpt-card--wide { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.7fr); gap: 0 48px; padding: 28px 38px 22px; }
.excerpt-card--wide .excerpt-heading { grid-column: 1; margin-bottom: 14px; }
.excerpt-card--wide .excerpt-setup { grid-column: 1; }
.excerpt-card--wide .excerpt-setup > p { margin-bottom: 4px; }
.excerpt-card--wide .excerpt-voice { grid-column: 2; grid-row: 1 / 4; align-self: center; }
.excerpt-card--wide .excerpt-voice blockquote { font-size: clamp(25px, 2.6vw, 36px); }
.excerpt-card--wide figcaption { grid-column: 1; margin-top: 14px; }
.excerpt-card--wide[data-edition="servers"]::after { grid-column: 2; margin-top: 16px; }
.excerpt-card--wide[data-edition="gis"] { transform: none; }
.excerpt-afterthoughts { padding-top: 62px; }
.excerpt-afterthoughts > .eyebrow { margin-bottom: 28px; }
@media(max-width:1050px) {
  .excerpt-duo { gap: 24px; }
  .excerpt-card { padding: 25px; }
  .excerpt-card--wide { gap: 0 32px; }
}
@media(max-width:760px) {
  .excerpt-sampler { padding-top: 38px; }
  .excerpt-section-heading { display: block; position: relative; padding-right: 26px; margin-bottom: 28px; }
  .excerpt-section-heading .eyebrow { margin-bottom: 12px; }
  .excerpt-section-heading h2 { font-size: 25px; }
  .excerpt-doodle { position: absolute; right: 0; bottom: -8px; font-size: 32px; }
  .excerpt-duo { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .excerpt-duo > .excerpt-card:nth-child(2) { margin-top: 0; }
  .excerpt-card { padding: 24px; }
  .excerpt-card[data-edition="teachers"], .excerpt-card[data-edition="gis"] { transform: none; }
  .excerpt-heading { margin-bottom: 16px; }
  .excerpt-voice blockquote, .excerpt-card--wide .excerpt-voice blockquote { font-size: 26px; letter-spacing: -.5px; }
  .excerpt-card--wide { display: block; }
  .excerpt-card--wide .excerpt-setup > p { margin-bottom: 20px; }
  .excerpt-card--wide figcaption { margin-top: 24px; }
  .excerpt-afterthoughts { padding-top: 40px; }
  .excerpt-afterthoughts > .eyebrow { max-width: 30em; }
}

/* Purchase links use the series yellow and a larger, full-width target. */
.book a.book-action,
.dialog-layout a.button.dark {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 54px;
  padding: 14px;
  border: 2px solid var(--ink);
  background: var(--yellow);
  color: var(--ink);
  box-shadow: 3px 3px 0 var(--ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  transition: background .15s, color .15s, box-shadow .15s, transform .15s;
}
.book a.book-action span {
  flex-shrink: 0;
  font-size: 21px;
  line-height: 1;
}
.book a.book-action:hover,
.dialog-layout a.button.dark:hover {
  background: var(--ink);
  color: var(--yellow);
  text-decoration: none;
}
.book a.book-action:active,
.dialog-layout a.button.dark:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 var(--ink);
}
.book a.book-action:focus-visible,
.dialog-layout a.button.dark:focus-visible {
  outline: 3px solid var(--ink);
  outline-offset: 5px;
}
@media(max-width:480px) {
  .book a.book-action {
    gap: 8px;
    padding: 13px 10px;
    font-size: 12px;
  }
}
