:root{--bg: #fafaf8;--surface: #ffffff;--surface-2: #f1f0ec;--text: #1c1c1a;--text-2: #5c5b56;--line: #e2e0da;--accent: #1f6f5a;--accent-ink: #ffffff;--accent-soft: #e4f1ec;--warn-soft: #fbf1dc;--warn-ink: #7a5a12;--radius: 12px;--shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 8px 24px -16px rgba(0, 0, 0, .2);--maxw: 1080px;--font: "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, system-ui, sans-serif;color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #141412;--surface: #1d1d1a;--surface-2: #262622;--text: #ecebe6;--text-2: #a5a49c;--line: #34342f;--accent: #5fc3a0;--accent-ink: #0f2a21;--accent-soft: #1d3a31;--warn-soft: #3a2f16;--warn-ink: #e6c272;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -16px rgba(0, 0, 0, .7)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.75;font-feature-settings:"palt"}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}h1,h2,h3{line-height:1.3;letter-spacing:.01em;margin:0 0 .5em}h1{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.2rem)}h2{font-size:clamp(1.25rem,1.05rem + .8vw,1.5rem)}h3{font-size:1.1rem}p{margin:0 0 1em}.container{max-width:var(--maxw);margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}.brand{font-weight:700;font-size:1.1rem;color:var(--text);letter-spacing:.04em}.brand:hover{text-decoration:none}.nav{display:flex;gap:20px;font-size:.95rem}.nav a{color:var(--text-2)}.nav a:hover{color:var(--text);text-decoration:none}.site-footer{border-top:1px solid var(--line);margin-top:64px;padding:32px 0 40px;color:var(--text-2);font-size:.875rem}.site-footer .links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}.site-footer a{color:var(--text-2)}.hero{padding:56px 0 24px}.hero p{color:var(--text-2);max-width:44em}.section{margin-top:40px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.section-head .count{color:var(--text-2);font-size:.875rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--text);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}.card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}.card .thumb{aspect-ratio:4 / 3;background:var(--surface-2);display:grid;place-items:center;overflow:hidden}.card .thumb img{width:100%;height:100%;object-fit:cover}.card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.card .name{font-weight:600;line-height:1.4}.card .summary{color:var(--text-2);font-size:.875rem;line-height:1.55;flex:1}.card .price{font-weight:600;margin-top:4px}.card .price small{font-weight:400;color:var(--text-2);margin-right:4px}.badge{display:inline-block;font-size:.75rem;line-height:1;padding:5px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;letter-spacing:.02em}.badge.muted{background:var(--surface-2);color:var(--text-2)}.badge.warn{background:var(--warn-soft);color:var(--warn-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-weight:600;border:0;cursor:pointer;min-height:44px}.btn:hover{text-decoration:none;filter:brightness(1.05)}.btn.secondary{background:var(--surface-2);color:var(--text)}.btn[aria-disabled=true]{background:var(--surface-2);color:var(--text-2);cursor:not-allowed;pointer-events:none}.product{display:grid;grid-template-columns:1fr;gap:32px;margin-top:32px}@media(min-width:820px){.product{grid-template-columns:1.1fr 1fr;gap:48px}}.product .gallery{display:flex;flex-direction:column;gap:12px}.product .gallery .main{aspect-ratio:4 / 3;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.product .gallery .main img,.product .gallery .main model-viewer{width:100%;height:100%;object-fit:cover}.product .gallery .thumbs{display:flex;gap:8px}.product .gallery .thumbs img{width:72px;height:54px;object-fit:cover;border:1px solid var(--line);border-radius:6px}.product .info .type,.product .info h1{margin-bottom:8px}.product .info .summary{color:var(--text-2)}.offers{display:flex;flex-direction:column;gap:12px;margin:20px 0}.offer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.offer .label{font-weight:600}.offer .amount{color:var(--text-2);font-size:.95rem}.offer .btn{flex-shrink:0}@media(max-width:480px){.offer{flex-direction:column;align-items:stretch}}.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.9rem;margin:16px 0}.facts dt{color:var(--text-2)}.facts dd{margin:0}.note{background:var(--surface-2);border-radius:var(--radius);padding:14px 16px;font-size:.9rem;color:var(--text-2);margin:16px 0}.note strong{color:var(--text)}.description{white-space:pre-line;margin-top:24px}.prose{max-width:720px;margin:40px auto 0}.prose h1{margin-bottom:24px}.prose h2{margin-top:40px;padding-bottom:6px;border-bottom:1px solid var(--line)}.prose table{width:100%;border-collapse:collapse;font-size:.95rem}.prose th,.prose td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}.prose th{width:30%;color:var(--text-2);font-weight:600}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.4em}.prose .updated{color:var(--text-2);font-size:.875rem}.center{text-align:center;padding:64px 0}.center .actions{margin-top:24px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
