:root{--paper:#f3f5f8;--surface:#fff;--ink:#172033;--muted:#5a6478;--rule:#d6dce6;--cue:#2f56d9;--cue-soft:#e4eafb;--drop:#0d7a57;--drop-soft:#e2f3ec;--focus:#2f56d9;--font:"IBM Plex Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--size-xs:.8125rem;--size-s:.875rem;--size-m:1rem;--size-l:1.25rem;--size-xl:1.75rem;--size-xxl:clamp(2rem, 5.2vw, 3.25rem);--wrap:1080px;--gutter:16px}@media (prefers-color-scheme:dark){:root{--paper:#10151f;--surface:#171e2b;--ink:#e8ecf3;--muted:#9aa4b8;--rule:#2b3445;--cue:#8aa4ff;--cue-soft:#1f2a4a;--drop:#4fd1a1;--drop-soft:#15342b;--focus:#8aa4ff}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--size-m);font-feature-settings:"palt" 1;margin:0;line-height:1.75}a{color:var(--cue);text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.wrap{max-width:var(--wrap);padding:0 var(--gutter);margin:0 auto}@media (min-width:720px){:root{--gutter:32px}}.num{font-variant-numeric:tabular-nums}.site-header{border-bottom:1px solid var(--rule)}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.logo{color:var(--ink);font-weight:700;font-size:var(--size-l);letter-spacing:.01em;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo svg{flex:none}.site-nav{font-size:var(--size-s);gap:20px;display:flex}.site-nav a{color:var(--muted);text-decoration:none}.site-nav a:hover{color:var(--ink)}.pr-note{font-size:var(--size-xs);color:var(--muted);border-bottom:1px solid var(--rule);padding:6px 0}.site-footer{border-top:1px solid var(--rule);font-size:var(--size-s);color:var(--muted);margin-top:96px;padding:32px 0 48px}.site-footer .wrap{gap:16px;display:grid}.footer-links{flex-wrap:wrap;gap:8px 24px;display:flex}.footer-links a{color:var(--muted)}.hero{padding:56px 0 40px}.hero-grid{align-items:end;gap:32px;display:grid}@media (min-width:880px){.hero-grid{grid-template-columns:1.05fr 1fr;gap:48px}}.hero h1{font-size:var(--size-xxl);letter-spacing:.01em;margin:0 0 20px;font-weight:700;line-height:1.3}.hero p{max-width:34em;color:var(--muted);margin:0 0 16px}.launch{border:1px solid var(--cue);color:var(--cue);font-size:var(--size-s);border-radius:999px;margin-top:8px;padding:6px 12px;font-weight:500;display:inline-block}.cue-figure{margin:0}.cue-figure svg{width:100%;height:auto;display:block}.cue-figure figcaption{font-size:var(--size-xs);color:var(--muted);margin-top:8px}.cue-line{stroke-dasharray:1200;stroke-dashoffset:1200px;animation:1.6s ease-out .2s forwards draw}.cue-mark{opacity:0;animation:.4s ease-out 1.6s forwards appear}@keyframes draw{to{stroke-dashoffset:0}}@keyframes appear{to{opacity:1}}@media (prefers-reduced-motion:reduce){.cue-line{stroke-dashoffset:0;animation:none}.cue-mark{opacity:1;animation:none}}.section{padding-top:48px}.section h2{font-size:var(--size-xl);margin:0 0 8px;line-height:1.4}.section-lead{color:var(--muted);font-size:var(--size-s);margin:0 0 24px}.filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip{appearance:none;border:1px solid var(--rule);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--size-s);cursor:pointer;border-radius:999px;padding:6px 14px}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.sort{font-size:var(--size-s);color:var(--muted);align-items:center;gap:8px;margin-left:auto;display:flex}.sort select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:4px 8px}.deals{background:var(--surface);border:1px solid var(--rule);border-radius:10px;margin:0;padding:0;list-style:none}.deal{border-top:1px solid var(--rule)}.deal:first-child{border-top:0}.deal a{color:inherit;grid-template-columns:1fr auto;gap:4px 16px;padding:14px 16px;text-decoration:none;display:grid}.deal a:hover .deal-name{color:var(--cue)}.deal-name{font-weight:700;line-height:1.5}.deal-maker{color:var(--muted);font-size:var(--size-s);margin-left:8px;font-weight:400}.deal-meta{font-size:var(--size-s);color:var(--muted);grid-column:1}.deal-off{text-align:right;grid-area:1/2/span 2;align-self:center}.off{font-weight:700;font-size:var(--size-l);color:var(--drop);font-variant-numeric:tabular-nums;display:inline-block}.off-free{font-size:var(--size-m);background:var(--drop-soft);border-radius:999px;padding:2px 10px}@media (min-width:720px){.deal a{grid-template-columns:1fr 12em 9em 6em;align-items:center;padding:14px 20px}.deal-meta{grid-column:auto}.deal-off{grid-area:auto}}.empty{color:var(--muted);padding:24px 20px}.as-of{font-size:var(--size-xs);color:var(--muted);margin-top:12px}.features{gap:24px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.features{grid-template-columns:repeat(3,1fr);gap:32px}}.features h3{font-size:var(--size-m);border-top:2px solid var(--cue);margin:0 0 6px;padding-top:12px}.features p{font-size:var(--size-s);color:var(--muted);margin:0}.crumbs{font-size:var(--size-s);color:var(--muted);padding-top:24px}.crumbs a{color:var(--muted)}.product-head{padding:24px 0 8px}.product-head .maker{color:var(--muted);margin:0}.product-head h1{font-size:var(--size-xxl);margin:4px 0 12px;line-height:1.25}.product-head .summary{max-width:36em;margin:0}.price-panel{background:var(--rule);border:1px solid var(--rule);border-radius:10px;gap:1px;margin-top:32px;display:grid;overflow:hidden}@media (min-width:720px){.price-panel{grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column}}.price-cell{background:var(--surface);padding:18px 20px}.price-cell dt{font-size:var(--size-s);color:var(--muted)}.price-cell dd{font-size:var(--size-xl);margin:4px 0 0;font-weight:700;line-height:1.3}.price-cell dd.off{font-size:var(--size-xl)}.notice{font-size:var(--size-xs);color:var(--muted);margin-top:12px}.history{border:1px dashed var(--rule);border-radius:10px;margin-top:40px;padding:24px 20px}.history h2{font-size:var(--size-l);margin:0 0 6px}.history p{color:var(--muted);font-size:var(--size-s);margin:0}.prose{max-width:40em;padding-top:40px}.prose h1{font-size:var(--size-xl);margin:0 0 24px}.prose h2{font-size:var(--size-l);margin:40px 0 8px}.prose p,.prose li{color:var(--ink)}.prose dl{grid-template-columns:8em 1fr;gap:12px 16px;margin:0;display:grid}.prose dt{color:var(--muted)}.prose dd{margin:0}.updated{font-size:var(--size-s);color:var(--muted);margin-top:40px}
