:root { --bg:#F4F3F1; --surface:#FFFFFF; --line:#E3E0DC; --muted:#67625F; --ink:#2A2829; --accent:#8E5476; --accent-soft:#F1E7EC; }
* { box-sizing:border-box; }
html { color-scheme: light; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:"Noto Sans JP",-apple-system,"Hiragino Sans",system-ui,sans-serif; line-height:1.85; font-size:16px; }
.wrap { max-width:720px; margin:0 auto; padding:40px 16px 72px; }
header.brand { display:flex; align-items:center; gap:14px; margin-bottom:28px; }
header.brand img { width:56px; height:56px; border-radius:14px; }
header.brand .name { font-family:"Playfair Display",Georgia,serif; font-size:1.5rem; line-height:1.2; }
header.brand .tag { font-family:"Playfair Display",Georgia,serif; color:var(--muted); font-size:.9rem; }
nav.lang { font-size:.85rem; color:var(--muted); margin-bottom:24px; }
nav.lang a { color:var(--accent); }
h1 { font-family:"Playfair Display",Georgia,serif; font-weight:500; font-size:1.7rem; line-height:1.3; margin:0 0 6px; }
h2 { font-size:1.1rem; margin:36px 0 8px; padding-top:18px; border-top:1px solid var(--line); }
.meta { color:var(--muted); font-size:.85rem; margin-bottom:24px; }
.box { border:1px solid var(--line); background:var(--surface); border-radius:14px; padding:16px 18px; margin:16px 0; overflow-wrap:anywhere; }
.box.accent { background:var(--accent-soft); border-color:transparent; }
ul { padding-left:1.2em; }
li { margin:4px 0; }
a { color:var(--accent); }
strong { font-weight:700; }
details { border:1px solid var(--line); background:var(--surface); border-radius:14px; padding:12px 18px; margin:10px 0; }
summary { cursor:pointer; font-weight:500; }
details p { margin:8px 0 4px; color:var(--muted); }
footer { margin-top:48px; color:var(--muted); font-size:.8rem; border-top:1px solid var(--line); padding-top:18px; }
.en { margin-top:64px; }

.browser-entry { margin:28px 0; padding:22px; }
.browser-entry h2 { margin:0; padding:0; border:0; font-size:1.25rem; }
.browser-entry p { margin:12px 0 18px; }
.browser-entry .entry-help { color:var(--muted); font-size:.9rem; margin:16px 0 0; }
a.primary-link { display:inline-block; padding:11px 20px; border-radius:999px; background:var(--ink); color:var(--surface); font-weight:700; text-decoration:none; }
a.primary-link:hover { background:var(--accent); }
a.primary-link:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }

.entry-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 20px; }
a.secondary-link { font-weight:500; text-underline-offset:4px; }
[hidden] { display:none !important; }
@media (max-width:480px) { .entry-actions { align-items:flex-start; flex-direction:column; } }

.sales-table { width:100%; border-collapse:collapse; margin:24px 0; }
.sales-table th, .sales-table td { border-top:1px solid var(--line); padding:16px 8px; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.sales-table th { width:30%; font-weight:600; }
@media (max-width:480px) { .sales-table th { width:32%; } .sales-table th, .sales-table td { padding:14px 5px; } }
