:root{--ink: #1c1c1e;--muted: #6e6e73;--line: #e5e5ea;--bg: #ffffff;--accent: #b8440f;--maxw: 1080px}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;line-height:1.65}a{color:inherit}img{max-width:100%;height:auto}.site-header{display:flex;align-items:center;gap:1.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--line)}.site-header nav{display:flex;gap:1.25rem;margin-left:auto;align-items:center}.site-header nav a{text-decoration:none;font-size:.95rem;display:inline-flex;align-items:center;gap:.35rem}.site-header nav a:hover{color:var(--accent)}.nav-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--accent);color:#fff;border-radius:999px;padding:.1rem .4rem;line-height:1.4}.announcement-banner{border:1px solid #e8a920;background:linear-gradient(135deg,#fff8e1,#ffefc0 45%,#ffe29a);border-radius:12px;padding:1rem 1.3rem;margin-bottom:2rem;box-shadow:0 2px 10px #e8a92040}.announcement-banner p{margin:0;font-size:.95rem;color:#5c4300}.announcement-banner strong{color:#b07700}.announcement-banner a{font-weight:700;color:#b8440f}.announcement-banner a:hover{text-decoration:none}.announcement-emoji{margin-right:.15rem}.brand{font-weight:700;text-decoration:none;font-size:1.05rem;display:inline-flex;align-items:center}.brand-logo{height:44px;width:auto;display:block}@media(max-width:640px){.brand-logo{height:34px}}.cart-placeholder{background:none;border:1px solid var(--line);border-radius:8px;padding:.35rem .6rem;cursor:not-allowed;opacity:.6}main{max-width:var(--maxw);margin:0 auto;padding:2rem 1.5rem 4rem}.site-footer{border-top:1px solid var(--line);padding:1.5rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem}.site-footer nav{display:flex;gap:1.25rem}.site-footer a{color:var(--muted)}.page-title{font-size:2rem;margin:0 0 .5rem}.page-sub{color:var(--muted);margin:0 0 2rem}.prose h2{font-size:1.35rem;margin-top:2rem}.prose img{border-radius:8px}.prose blockquote{border-left:3px solid var(--line);margin-left:0;padding-left:1rem;color:var(--muted)}.chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:center;margin:3rem 0}.chapter--reverse .chapter__media{order:2}.chapter__media img{width:100%;height:auto;display:block;border-radius:10px}.chapter__year{letter-spacing:.22em;text-transform:uppercase;font-size:.8rem;font-weight:600;color:var(--muted);margin:0 0 .3rem}.chapter__text h2{margin:0 0 1rem}@media(max-width:750px){.chapter{grid-template-columns:1fr;gap:1.25rem;margin:2.25rem 0}.chapter--reverse .chapter__media{order:0}}.placeholder-note{border:1px dashed var(--line);border-radius:10px;padding:1rem 1.25rem;color:var(--muted);background:#fafafa;margin:1.5rem 0}.product-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem}@media(max-width:760px){.product-main{grid-template-columns:1fr}}.gallery{display:grid;gap:.75rem}.gallery img{width:100%;border-radius:10px;border:1px solid var(--line)}.product-info .price{font-size:1.4rem;font-weight:600;margin:.25rem 0 1rem}.product-info .oos{color:var(--muted)}.buy-box{margin:1.25rem 0 1.5rem}.buy-button{display:inline-block;background:var(--ink);color:#fff;padding:.85rem 2.2rem;border-radius:10px;text-decoration:none;font-weight:600;font-size:1.05rem;transition:background .15s}.buy-button:hover{background:var(--accent)}.buy-note{color:var(--muted);font-size:.85rem;margin:.5rem 0 0}.featured{margin:2rem 0 3rem}.section-title{font-size:1.4rem;margin:2.5rem 0 1rem}.featured__title{font-size:1.4rem;margin:0 0 1rem}.see-all{text-align:right;margin:1rem 0 0}.see-all a{color:var(--accent);text-decoration:none}.see-all a:hover{text-decoration:underline}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.card{text-decoration:none}.card .thumb{aspect-ratio:1;border-radius:10px;background:#f4f4f6;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;overflow:hidden}.card .thumb img{width:100%;height:100%;object-fit:cover}.card .label{margin-top:.6rem;font-size:.95rem}
