:root{font-family:Noto Sans JP,Yu Gothic,sans-serif;color:#ddf6df;background:#101613;font-synthesis:none;line-height:1.7}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;padding:16px 5vw;border-bottom:1px solid #405349;color:#9baa9c;font-size:13px;letter-spacing:.15em}main{max-width:1040px;margin:30px auto;padding:0 24px}h1{font-size:27px;letter-spacing:.2em;font-weight:500}h2{font-size:clamp(21px,3vw,31px);font-weight:500;margin:40px 0 18px}#terminal{background:#0a1610;border:8px solid #38423b;border-radius:22px;padding:30px;min-height:480px;box-shadow:0 15px 40px #0008;overflow-wrap:anywhere}#terminal:focus{outline:2px solid #87b998;outline-offset:5px}.terminal-head{border-bottom:1px solid #48634e;padding-bottom:12px;color:#a5c9ad}.reading{font-size:21px;letter-spacing:.08em}mark{background:transparent;color:#74bb8b;text-decoration:underline}.typed{font-family:monospace;font-size:20px;color:#a8edbe;min-height:34px}button,select{font:inherit;background:#233d2e;color:#e4f9e7;border:1px solid #779c82;padding:10px 18px;border-radius:4px;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible{outline:3px solid #efdc92}.muted{color:#a8b8ab;font-size:14px}p[role=status]{min-height:28px}.hud{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0;padding:16px;border:1px solid #4b6052}.choices,.products{display:grid;gap:16px}.choices{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{text-align:left;padding:20px}.card strong{font-size:20px}.card p{margin:8px 0}.sub{color:#ffe4b1!important;background:#1c170c!important}.selected{outline:3px solid #e8c37c}aside{border-top:1px solid #48634e;margin-top:30px;padding-top:15px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.warning{color:#ffd08f}progress{width:160px;accent-color:#8dcca0}small{font-size:14px}#hud{position:sticky;top:0;z-index:2;background:#101613}.products{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.products .card{padding:14px}.products .card p{font-size:15px}.sub button{background:#332914;border-color:#a58a53;color:#ffe4b1}.sub .terminal-head{color:#ffe4b1;border-color:#85713f}@media(max-width:600px){main{padding:0 12px;margin-top:16px}#terminal{padding:18px;border-width:5px}.hud{gap:10px;font-size:14px}.products{grid-template-columns:1fr}h2{margin-top:22px}}
