*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#0d1117;--panel:#161b22;--green:#3fb950;--cyan:#58a6ff;--text:#c9d1d9;--mono:'JetBrains Mono',monospace;--sans:'Noto Sans JP',sans-serif}
body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px}
img{max-width:100%;object-fit:cover;display:block}
a{color:var(--cyan)}
.terminal-wrap{max-width:1100px;margin:0 auto;min-height:100vh;border-left:1px solid #30363d;border-right:1px solid #30363d}
.term-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--panel);border-bottom:1px solid #30363d;flex-wrap:wrap}
.dots{display:flex;gap:6px}
.dots i{width:10px;height:10px;border-radius:50%;background:#484f58;display:block}
.dots i:first-child{background:#ff5f57}.dots i:nth-child(2){background:#febc2e}.dots i:nth-child(3){background:#28c840}
.term-bar nav{margin-left:auto;display:flex;gap:1rem}
.term-bar nav a{color:var(--green);text-decoration:none}
.term-hero{padding:2rem 1.5rem;border-bottom:1px dashed #30363d}
.ascii{color:var(--green);margin-bottom:1rem}
.term-hero h1{font-family:var(--sans);font-size:clamp(1.5rem,4vw,2.2rem);color:#fff;margin-bottom:.5rem}
.prompt{color:var(--cyan)}
.catalog-split{display:grid;grid-template-columns:140px 1fr;min-height:400px}
.cat-nav{padding:1rem;border-right:1px solid #30363d;display:flex;flex-direction:column;gap:.5rem}
.cat-nav button{background:transparent;border:none;color:var(--text);text-align:left;padding:.5rem;cursor:pointer;font-family:inherit}
.cat-nav button.active,.cat-nav button:hover{color:var(--green);background:#21262d}
.line-item{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1rem;border-bottom:1px solid #21262d;align-items:center}
.line-item img{width:120px;height:90px;border:1px solid #30363d}
.line-item h3{font-family:var(--sans);color:#fff;font-size:1rem}
.sku{font-size:.75rem;opacity:.6}
.price{color:var(--green);font-weight:600;margin:.25rem 0}
.add{background:var(--green);color:#000;border:none;padding:.4rem .8rem;cursor:pointer;font-family:inherit;font-size:.8rem}
.add:hover{filter:brightness(1.1)}
.spec-block{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:2rem 1.5rem}
.spec-block ul{list-style:none;font-family:var(--sans)}
.spec-block li{margin-bottom:.5rem;padding-left:1rem;border-left:2px solid var(--green)}
.legal-term{padding:1.5rem;font-family:var(--sans);font-size:.85rem;border-top:1px solid #30363d}
.legal-term h3,.legal-term h4{color:var(--cyan);margin:1rem 0 .4rem}
.log{position:fixed;bottom:0;left:0;right:0;background:#010409;padding:.5rem 1rem;font-size:.8rem;color:var(--green);border-top:1px solid #30363d;min-height:2rem}
@media(max-width:640px){
  .catalog-split{grid-template-columns:1fr}
  .cat-nav{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid #30363d}
  .line-item{grid-template-columns:1fr}
  .spec-block{grid-template-columns:1fr}
}
