.requests-page{--ink:#183c2d;--paper:#f5f2e9;--orange:#ff9900;max-width:1240px;margin:auto;padding:32px 28px 100px;color:var(--ink);font:16px/1.75 system-ui,-apple-system,'Yu Gothic',sans-serif}.requests-page *{box-sizing:border-box}.requests-page a{color:inherit}.requests-page h1,.requests-page h2,.requests-page h3{line-height:1.45;overflow-wrap:anywhere}.requests-page button,.requests-page a,.requests-page input,.requests-page textarea{touch-action:manipulation}.requests-page input,.requests-page textarea{font:inherit;font-size:16px;width:100%;min-width:0;border:1px solid #8e9b8d;padding:12px;background:#fffdf7;border-radius:6px}.requests-page button{font:inherit;cursor:pointer}.request-hero{display:grid;grid-template-columns:1fr 1.15fr;gap:38px;align-items:center;margin-bottom:60px}.request-intro h1{font-size:clamp(30px,4vw,49px);letter-spacing:.02em;margin:12px 0 20px}.request-kicker{font-size:13px;font-weight:800;letter-spacing:.1em}.request-panel{position:relative;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:#fffdf5;padding:24px 28px;border-radius:3px 24px 3px 3px}.request-panel h2{font-size:28px;margin:6px 0 12px}.request-panel p{margin:8px 0 16px}.request-panel label{display:block;font-size:14px;font-weight:800;margin:14px 0 6px}.request-panel label span{font-size:11px;background:#e5ebdf;padding:3px 8px;border-radius:3px}.request-panel label small{font-weight:400}.request-submit{display:block;width:100%;margin-top:16px;min-height:52px;border:2px solid #ce7c00;border-radius:8px;background:var(--orange);color:#171b12;font-weight:800!important;box-shadow:0 3px 0 #cfb481;padding:10px 14px;white-space:normal}.request-submit:disabled{opacity:.7;cursor:wait}.requests-page .request-note,.request-disclosure{font-size:12px;color:#617064;line-height:1.8}.request-trap{position:absolute;left:-10000px;width:1px;overflow:hidden}.request-outline{display:inline-block;padding:10px 18px;border:2px solid var(--ink);border-radius:5px;text-decoration:none;font-weight:800;margin:16px 0}.request-text-link{display:block;margin:14px 0;font-weight:700;text-decoration:none}.request-shelf{scroll-margin-top:24px}.request-shelf-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;border-top:3px solid var(--ink);padding-top:24px}.request-shelf h2{font-size:25px;margin:6px 0}.request-shelf h2 span{font-size:14px;font-weight:500;white-space:nowrap}.request-search{display:flex;gap:8px;max-width:400px}.request-search button{flex-shrink:0;padding:8px 16px;background:var(--ink);border:0;border-radius:5px;color:white;font-weight:700}.request-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 20px}.request-book{border:2px solid var(--ink);background:#fffdf7;box-shadow:3px 3px 0 var(--ink);padding:9px;display:flex;flex-direction:column;min-width:0}.request-cover{display:block;aspect-ratio:2/3;background:#eeeadd;overflow:hidden}.request-cover img{display:block;width:100%;height:100%;object-fit:contain}.request-book-body{display:flex;flex-direction:column;flex:1;padding:4px}.request-book h3{font-size:15px;line-height:1.6;margin:10px 0 4px}.request-book h3 a{text-decoration:none}.request-author{color:#5c6b60;font-size:13px;overflow-wrap:anywhere;margin:4px 0 12px}.request-buy{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px}.requests-page .buy{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;border-radius:6px;font-weight:800;text-decoration:none;font-size:14px;line-height:1.6;text-align:center}.requests-page .buy.amazon{background:var(--orange);color:#171b12;border:2px solid #d88200;box-shadow:0 3px 0 #dbbf88}.requests-page .buy.dmm{background:#29352e;color:white;border:2px solid #29352e}.request-book .buy{width:100%;font-size:12px;padding:7px}.request-this{font-size:12px;margin-top:14px;text-align:center;text-decoration:none;font-weight:700}.request-pager{display:flex;gap:26px;align-items:center;justify-content:center;margin:32px 0;font-weight:700}.request-disclosure{margin-top:30px;border-top:1px solid #d4d9ce;padding-top:18px}.request-empty{padding:40px 20px;border:1px solid #d4d9ce}.request-detail{display:grid;grid-template-columns:240px minmax(0,1fr);gap:44px;margin:30px 0}.request-detail-cover img{width:100%;height:auto;box-shadow:5px 5px 0 #d4d9ce}.request-detail h1{font-size:clamp(24px,3vw,36px);margin:8px 0 18px}.request-preparing{border:2px solid var(--ink);border-radius:3px 20px 3px 3px;padding:18px 22px;background:#fffdf5;margin:24px 0}.request-preparing h2{font-size:20px;margin:0 0 8px}.request-preparing p{margin:0}.request-thanks{max-width:820px;margin:30px auto}.request-thanks h1{font-size:32px}.request-gift{margin:28px 0;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:28px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;background:#fffdf5;animation:request-enter .5s ease-out}.request-gift img{width:100%;height:auto;object-fit:contain}.request-gift h2{font-size:25px;margin:8px 0}.request-gift .buy{margin-top:18px}.request-catch{font-weight:700}.request-error{color:#8e291e;background:#fff1eb;border:1px solid #ba6b57;padding:12px}.request-table{overflow:auto;border:1px solid #d4d9ce;background:white;margin:20px 0 40px}.request-table table{width:100%;border-collapse:collapse}.request-table th,.request-table td{padding:12px 16px;border-bottom:1px solid #d4d9ce;text-align:left;vertical-align:top}.request-table th{background:#e5ebdf;white-space:nowrap}.request-message{white-space:pre-wrap;min-width:240px;overflow-wrap:anywhere}.request-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.requests-page :focus-visible{outline:3px solid #226b9c;outline-offset:4px}@keyframes request-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.request-gift{animation:none}}
@media(max-width:1000px){.request-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.request-hero{gap:24px}.request-panel{padding:22px}.request-shelf-head{align-items:flex-start}}
@media(max-width:700px){.requests-page{padding:20px 20px 100px}.request-hero{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.request-intro h1{font-size:34px}.request-intro p{font-size:14px}.request-intro .request-outline{margin:6px 0}.request-panel{padding:18px;box-shadow:4px 4px 0 var(--ink)}.request-panel h2{font-size:25px}.request-submit{font-size:14px!important}.request-shelf-head{display:block}.request-search{max-width:none;margin-top:16px}.request-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.request-book{padding:6px}.request-book h3{font-size:13px}.request-book .request-author{font-size:11px}.request-book .buy{font-size:11px;padding:6px 2px}.request-this{font-size:11px;line-height:1.7}.request-detail{grid-template-columns:1fr;gap:24px}.request-detail-cover{max-width:190px;margin:auto}.request-detail h1{font-size:25px}.request-detail .request-buy{display:grid;grid-template-columns:1fr}.request-gift{grid-template-columns:1fr;padding:20px;gap:18px}.request-gift>a{max-width:160px;margin:auto}.request-gift h2{font-size:22px}.request-thanks h1{font-size:27px}.request-shelf h2{font-size:22px}}
.requests-page{--tone:radial-gradient(circle,#183c2d30 .8px,transparent 1px)}
.request-intro{position:relative;isolation:isolate;min-width:0;padding:24px 20px;border:2px solid var(--ink);background:var(--tone),#eeeadd;background-size:5px 5px;box-shadow:5px 5px 0 var(--ink)}
.request-intro>p,.request-intro>.request-text-link{position:relative;background:#fffdf5;padding:8px 12px;width:fit-content;max-width:100%;border:1px solid var(--ink)}
.request-intro>.request-kicker{transform:rotate(-2deg);font-weight:900}
.request-intro .request-outline{background:#fffdf5;box-shadow:3px 3px 0 var(--ink)}
.request-intro h1.request-burst{--burst:polygon(50% 0%,57% 8%,68% 1%,70% 12%,84% 7%,83% 20%,97% 18%,91% 32%,100% 39%,93% 49%,100% 61%,89% 66%,96% 81%,81% 80%,82% 94%,68% 89%,61% 100%,51% 92%,39% 100%,34% 90%,18% 96%,20% 81%,5% 84%,11% 68%,0% 62%,8% 50%,0% 39%,10% 32%,3% 18%,18% 20%,16% 6%,31% 12%,34% 1%,44% 8%);position:relative;isolation:isolate;padding:56px 26px;margin:20px -4px 26px;text-align:center;font-size:clamp(28px,3.3vw,42px);font-weight:950;line-height:1.35;letter-spacing:.025em;filter:drop-shadow(3px 5px 0 #183c2d35);animation:request-burst-pop .75s cubic-bezier(.2,.8,.25,1) both;transform-origin:center}
.request-burst::before,.request-burst::after{content:"";position:absolute;inset:0;z-index:-2;background:var(--ink);clip-path:var(--burst);pointer-events:none}
.request-burst::after{inset:5px;background:#fffdf5;z-index:-1}
.request-burst span{display:block}
.request-burst span:last-child{color:#183c2d;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:6px;text-underline-offset:5px}
.request-panel{border-radius:2px;box-shadow:6px 6px 0 var(--ink)}
.request-panel::before{content:"";display:block;height:12px;margin:-24px -28px 24px;background:var(--tone),#e4e8da;background-size:4px 4px;border-bottom:2px solid var(--ink)}
.request-panel h2{border-left:6px solid var(--ink);padding-left:14px;font-weight:900}
.request-shelf-head{border:2px solid var(--ink);padding:20px;background:var(--tone),#eeeadd;background-size:5px 5px;box-shadow:4px 4px 0 var(--ink)}
.request-shelf-head>div{background:#fffdf5;padding:8px 12px;border:1px solid var(--ink)}
.request-book{position:relative;border-radius:0;box-shadow:4px 5px 0 var(--ink)}
.request-book-body{border-top:2px solid var(--ink);margin-top:9px}
.request-this{background:var(--tone),#f2f1e7;background-size:5px 5px;padding:9px 4px;border-top:1px solid var(--ink)}
.request-preparing,.request-gift{border-radius:0;border-width:3px;box-shadow:5px 5px 0 var(--ink)}
.request-detail-cover{padding:14px;background:var(--tone),#eeeadd;background-size:5px 5px;border:2px solid var(--ink)}
@keyframes request-burst-pop{0%{opacity:0;transform:scale(.78) rotate(-6deg)}65%{opacity:1;transform:scale(1.025) rotate(1deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:1000px){.request-panel::before{margin:-22px -22px 20px}.request-intro{padding:20px 14px}.request-intro h1.request-burst{font-size:30px;padding:50px 22px}}
@media(max-width:700px){.request-intro{padding:18px 14px}.request-intro h1.request-burst{max-width:380px;margin:16px auto 22px;font-size:clamp(27px,8vw,36px);padding:48px 22px}.request-panel::before{margin:-18px -18px 20px}.request-shelf-head{padding:14px}.request-shelf-head>div{padding:8px}.request-shelf h2 span{display:block;margin-top:4px}.request-detail-cover{padding:10px}}
@media(prefers-reduced-motion:reduce){.request-intro h1.request-burst{animation:none}}

