:root{--ink:#23372f;--paper:#f7f5ef;--muted:#68736b;--line:#dcded4;--accent:#a65e38}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic',Meiryo,sans-serif;font-size:15px;line-height:1.8}a{color:inherit;text-underline-offset:5px}.preview{text-align:center;background:#23372f;color:#f5f2e8;font-size:12px;letter-spacing:.1em;padding:8px 16px}header,main,footer{max-width:1120px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:28px 30px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:30px;text-decoration:none;letter-spacing:.025em}.brand span{font-size:19px}.brand i{font-weight:normal;font-size:23px;margin-left:9px}nav{display:flex;gap:28px;font-size:13px}nav a{text-decoration:none}main{padding:0 30px}.hero{padding:76px 0 80px;position:relative;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;color:var(--accent)}h1,h2,h3{font-family:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;font-weight:500}h1{font-size:clamp(32px,4.4vw,52px);line-height:1.6;letter-spacing:.055em;margin:25px 0}.lead{color:var(--muted);font-size:14px;line-height:2.1;margin-bottom:32px}.primary{background:var(--ink);color:white;border:0;padding:13px 26px;display:inline-flex;justify-content:space-between;gap:42px;font-size:13px;text-decoration:none;border-radius:2px;cursor:pointer}.primary:disabled{background:#758279;cursor:not-allowed}.hero-note{position:absolute;right:20px;bottom:90px;font:italic 24px/1.7 Georgia,serif;color:#8a988c;transform:rotate(-5deg)}#books{padding:58px 0}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.section-title h2{margin:5px 0;font-size:29px}.section-title>p{font-size:12px;color:var(--muted)}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:28px}.book{border:1px solid var(--line);background:#fffdf8;overflow:hidden}.book-art{height:340px;background:#e9ece2;display:grid;place-items:center;padding:28px}.book:nth-child(2) .book-art{background:#ede5dc}.book-art img{height:282px;max-width:100%;object-fit:contain;box-shadow:6px 9px 18px #26362b22;transform:rotate(-2deg)}.book:nth-child(2) img{transform:rotate(2deg)}.book-body{padding:26px}.tag{font-size:10px;letter-spacing:.08em;color:var(--accent)}h3{font-size:23px;line-height:1.55;margin:10px 0}.subtitle{font-size:12px;color:var(--muted);min-height:42px}.description{font-size:13px;min-height:70px}.price{font:25px Georgia,serif;margin-bottom:0}.price small{font:11px 'Yu Gothic',sans-serif;margin-left:8px;color:var(--muted)}.source,.note{font-size:11px;color:var(--muted)}.actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:20px}.actions a{font-size:12px}.actions button{font:inherit;font-size:12px}.guide{border-top:1px solid var(--line);padding:40px 0;max-width:780px;margin:auto}.guide h2{font-size:28px}details{padding:16px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:14px}details p{color:var(--muted);font-size:13px}.author{padding:35px 0 60px;text-align:center}.author h2{font-size:28px}.author p:last-child{font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:25px 30px;display:flex;gap:20px;justify-content:space-between;font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);width:min(540px,92vw);padding:28px;color:var(--ink);background:var(--paper);max-height:90vh}dialog::backdrop{background:#172d2666}.close{float:right;font-size:26px;background:none;border:0;cursor:pointer}.notice{padding:12px;background:#ebe5d9;font-size:12px}dl{display:grid;grid-template-columns:1fr 1.3fr;font-size:12px}dt,dd{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.back{background:none;border:0;text-decoration:underline;cursor:pointer;padding:16px;font:inherit;font-size:12px}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.legal{max-width:800px;padding-top:40px;padding-bottom:60px}@media(max-width:650px){header{padding:18px 20px}nav{gap:15px;font-size:11px}.brand{font-size:23px}.brand span{font-size:14px}.brand i{font-size:18px}main{padding:0 20px}.hero{padding:45px 0}.hero-note{display:none}.section-title{display:block}.catalog{grid-template-columns:1fr}.book-art{height:320px}.description,.subtitle{min-height:0}footer{flex-direction:column}.section-title>p{margin-top:12px}h1{font-size:30px}}
