:root{color:#2d3936;font-synthesis:none;--ink:#254a40;--accent:#ad673a;--border:#d9dfd7;background:#f6f3ec;font-family:Noto Sans JP,sans-serif;font-weight:400;line-height:1.8}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #b47742}button{transition:background .18s,transform .18s}button:not(:disabled):hover{filter:brightness(.95)}.masthead{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;max-width:1280px;margin:auto;padding:25px 48px;display:flex}.brand{align-items:center;gap:12px;font-family:Noto Serif JP,serif;font-size:22px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--ink);color:#fff;border-radius:2px;padding:0 7px;font-size:23px;transform:rotate(-5deg)}.brand-sub{letter-spacing:2px;margin-left:8px;font:9px sans-serif}.header-note{letter-spacing:1px;color:#68756c;font-size:11px}main{max-width:1190px;margin:auto;padding:0 30px 60px}.intro{padding:58px 0 34px}.eyebrow{letter-spacing:3px;color:var(--accent);font-size:10px;font-weight:700}.intro h1{letter-spacing:.07em;margin:15px 0;font-family:Noto Serif JP,serif;font-size:38px;font-weight:600;line-height:1.6}.intro>p:last-child{color:#647168;max-width:750px;font-size:14px}.panel{border:1px solid var(--border);background:#fffefa;border-radius:9px;padding:30px}.section-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.section-heading h2{letter-spacing:.03em;margin:0;font-size:19px}.step{color:#a07855;margin-right:14px;font-family:Georgia,serif;font-size:15px;font-weight:400}.counter{color:var(--ink);font-size:14px}.muted{color:#707b72;font-size:12px}.chosen{grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 30px;display:grid}.chosen-slot{color:#7e897f;border:1px dashed #b7c6bc;border-radius:5px;align-items:center;gap:12px;min-height:73px;padding:12px;font-size:13px;display:flex}.chosen-slot.filled{color:var(--ink);background:#edf3ed;border:1px solid #a4b8a9}.chosen-slot button{color:var(--ink);background:0 0;border:0;margin-left:auto;font-size:23px}.slot-number{color:#899f90;font-family:Georgia,serif}.search-label,label,legend{font-size:13px;font-weight:600}.search-box{border:1px solid #bbc9bf;border-radius:5px;align-items:center;gap:10px;margin-top:7px;padding:9px 15px;display:flex}.search-box>span{color:#768a7c;font-size:26px}.search-box input{background:0 0;border:0;outline:none;width:100%;font-size:14px}.catalog-note{color:#778376;font-size:11px}.search-results{grid-template-columns:repeat(3,1fr);gap:9px;max-height:325px;padding:3px;display:grid;overflow:auto}.work-option{text-align:left;color:#334c40;background:#fffefa;border:1px solid #e1e5dd;border-radius:5px;align-items:center;gap:12px;padding:12px;display:flex}.work-option.selected{background:#edf3ed;border-color:#527663}.work-option strong{font-size:13px;display:block}.work-option small{color:#7c867b;font-size:10px;display:block}.mini-book{background:#e5e4d7;border-left:3px solid #b8c4b4;flex-shrink:0;place-items:center;width:33px;height:47px;font-family:serif;display:grid}.work-option:nth-child(3n+2) .mini-book{background:#eadecf;border-color:#c5a789}.work-option:nth-child(3n) .mini-book{background:#dce6e7;border-color:#a0b3b5}.plus{color:#6e8a78;margin-left:auto}.selection-bottom{border-top:1px solid #e4e7df;justify-content:space-between;align-items:center;gap:18px;margin-top:30px;padding-top:23px;display:flex}.selection-bottom>span{color:#798477;font-family:Noto Serif JP,serif;font-size:13px}.primary,.secondary,.trial-link{text-align:center;border-radius:4px;padding:12px 22px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.primary{background:var(--ink);color:#fff;border:1px solid var(--ink)}.secondary{color:var(--ink);background:0 0;border:1px solid #b7c3b9;padding:9px 17px}.text-button{text-underline-offset:4px;color:#5f7365;background:0 0;border:0;font-size:12px;text-decoration:underline}.input-summary{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:32px;font-size:12px;display:flex}.input-summary>span:first-child{color:#7c8479;margin-right:5px;font-size:11px}.pill{color:#53654e;background:#e7ecdf;border-radius:30px;padding:5px 12px;font-size:11px}.results-heading{margin-bottom:22px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.recommendation{background:#fffefa;border:1px solid #c9d3c5;border-radius:7px;flex-direction:column;display:flex;overflow:hidden}.card-label{color:#4c6956;letter-spacing:1px;background:#e8eee3;justify-content:space-between;padding:10px 18px;font-size:11px;display:flex}.surprise{border-color:#ddcbb9}.surprise .card-label{color:#a16c41;background:#f0e5d6}.cover-area{background:radial-gradient(#eef0e6,#f7f6ee);justify-content:center;align-items:center;height:228px;display:flex}.surprise .cover-area{background:radial-gradient(#f0e6d7,#faf4e9)}.cover-area img{object-fit:contain;max-width:145px;max-height:192px;box-shadow:4px 5px 9px #28382222}.book-placeholder{color:#36523f;background:#dbe3d3;border-left:5px solid #839b84;flex-direction:column;width:131px;height:185px;padding:12px 11px;display:flex;box-shadow:4px 5px 9px #28382220}.book-placeholder>span:first-child{letter-spacing:2px;font-size:8px}.book-placeholder strong{margin:auto 0;font-family:Noto Serif JP,serif;font-size:18px;line-height:1.7}.book-placeholder small{font-size:7px}.book-placeholder .cover-note{opacity:.6;margin-top:7px;font-size:7px}.surprise .book-placeholder{color:#715939;background:#eadbc7;border-color:#b49976}.card-content{flex-direction:column;flex:1;padding:21px;display:flex}.card-content h3{margin:0 0 5px;font-family:Noto Serif JP,serif;font-size:22px;font-weight:600;line-height:1.5}.authors{color:#7f877e;margin:0 0 14px;font-size:10px}.description{margin:0 0 18px;font-size:12px;line-height:1.95}.entry{border-left:3px solid #d38e55;margin:0 0 16px;padding:2px 0 2px 12px}.entry>span{color:#9c5627;letter-spacing:1px;font-size:10px;font-weight:700}.entry p{margin:5px 0 0;font-family:Noto Serif JP,serif;font-size:14px;line-height:1.75}.reason{border-top:1px solid #e0e5dc;padding-top:13px}.reason>span{letter-spacing:1px;color:#59705c;font-size:10px;font-weight:700}.reason p{margin:7px 0;font-size:12px;line-height:1.95}.sources{color:#7a8579;margin:10px 0 20px;font-size:10px}.sources p{font-size:11px}.book-actions{margin-top:auto}.trial-link{background:var(--ink);color:#fff;width:100%;padding:11px 6px;font-size:12px}.trial-link.disabled{color:#7a887b;background:#e6e9df;font-size:10px}.stores{justify-content:center;gap:14px;margin:10px 0;font-size:10px;display:flex}.replace-actions{border-top:1px solid #e3e6df;justify-content:space-between;gap:8px;margin-top:16px;padding-top:12px;display:flex}.replace-actions button{color:#697b6b;background:0 0;border:0;padding:6px 0;font-size:11px}.result-controls{justify-content:space-between;align-items:center;gap:20px;margin-top:19px;display:flex}.conditions{margin-top:35px}.optional{color:#7f8c7b;border:1px solid #d8dfd3;border-radius:3px;padding:1px 9px;font-size:10px}fieldset{border:0;margin:20px 0;padding:0}.chips{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.chip{color:#6c7965;background:0 0;border:1px solid #d7dfd1;border-radius:30px;padding:6px 15px;font-size:12px}.chip.active{color:#33513b;background:#e1ebdc;border-color:#7d997d}textarea,select{color:#3a5140;background:#fffefa;border:1px solid #cbd5c5;border-radius:4px;width:100%;margin-top:7px;padding:12px;font-size:13px;display:block}textarea{resize:vertical}textarea::placeholder,input::placeholder{color:#9da59a;font-size:12px}.privacy-note{color:#8b9586;font-size:10px}.condition-actions{align-items:center;gap:20px;margin-top:20px;display:flex}.applied{color:#73806c;background:#f1f4ed;margin-top:25px;padding:12px 16px;font-size:11px}.applied p{margin:4px 0}.feedback{color:#65765e;border-top:1px solid #d8dfd1;margin:35px 0 0;padding-top:20px;font-size:12px}.feedback form{max-width:650px}.feedback label{margin-top:15px;display:block}.feedback button{margin-top:15px}summary{cursor:pointer}footer{color:#7b8575;border-top:1px solid #d8dfd1;justify-content:space-between;align-items:flex-start;gap:35px;max-width:1280px;margin:auto;padding:28px 48px;font-size:10px;display:flex}footer strong{color:#5c6b55;font-family:Noto Serif JP,serif;font-size:16px}footer details{max-width:540px}footer p{font-size:10px}.error{background:#f6e5d9;border:1px solid #dcbaa3;border-radius:5px;justify-content:space-between;gap:10px;margin-bottom:20px;padding:15px 20px;font-size:13px;display:flex}.loading{color:#647c5f;padding:15px;font-size:13px}.demo-banner{background:#ece2b9;border-radius:4px;padding:8px 14px;font-size:12px}.empty,.empty-card{color:#7c8874;padding:35px 18px;font-size:13px}.empty-card>span{font-size:50px}.empty-card h3{font-size:17px}.empty-card{min-height:400px}@media (width<=850px){.masthead{padding:20px 24px}.header-note,.brand-sub{display:none}.intro h1{font-size:29px}.cards{gap:12px}.card-content{padding:15px}.card-content h3{font-size:18px}.search-results{grid-template-columns:repeat(2,1fr)}footer{flex-wrap:wrap;padding:25px}.results-heading>.muted{display:none}}@media (width<=620px){main{padding:0 17px 35px}.intro{padding:32px 0 20px}.intro h1{font-size:26px}.intro>p:last-child{font-size:12px}.panel{padding:20px 16px}.section-heading h2{font-size:16px}.chosen{grid-template-columns:1fr;gap:8px;margin:18px 0}.chosen-slot{min-height:48px;padding:7px 12px}.search-results{grid-template-columns:1fr;max-height:300px}.selection-bottom{flex-direction:column;align-items:stretch}.selection-bottom>span{text-align:center}.cards{grid-template-columns:1fr;gap:20px}.cover-area{height:215px}.card-content{padding:22px}.card-content h3{font-size:23px}.description,.entry p,.reason p{font-size:13px}.result-controls{flex-direction:column;align-items:flex-start;gap:5px}.input-summary{margin-bottom:20px}.condition-actions{flex-direction:column;align-items:stretch;gap:15px}.condition-actions button{width:100%}.conditions{margin-top:25px}.brand{font-size:19px}footer{flex-direction:column;gap:20px}.empty-card{min-height:200px}.eyebrow{font-size:8px}.replace-actions button{min-height:40px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
