:root{--navy:#0b1423;--blue:#2563eb;--line:#dbe3ef;--bg:#f1f5f9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#111827;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}a{color:inherit;text-decoration:none}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;background:var(--navy);color:#fff}header nav,footer nav{display:flex;gap:20px;flex-wrap:wrap}.brand{font-size:20px;font-weight:900;letter-spacing:.08em}.brand b{color:#3b82f6}main{max-width:1200px;margin:auto;padding:42px 24px;min-height:70vh}.hero{padding:65px 0}.hero h1{font-size:48px;max-width:720px}.button,button{display:inline-block;border:0;padding:13px 20px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}.secondary{background:#e8eef8;color:#111827}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card,.panel{background:#fff;border:1px solid var(--line);padding:20px}.price{font-size:22px;font-weight:900}.detail{display:grid;grid-template-columns:1fr 1fr;gap:35px}.visual{display:grid;place-items:center;min-height:380px;background:#fff;font-size:100px}.cart-row{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:18px;background:#fff;border-bottom:1px solid var(--line)}label{display:grid;gap:7px;font-weight:700;margin-bottom:14px}input,textarea,select{width:100%;padding:12px;border:1px solid #cbd5e1;font:inherit}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.flash{max-width:1100px;margin:12px auto;padding:14px;background:#dcfce7}.flash.error{background:#fee2e2}footer{padding:34px 5%;background:var(--navy);color:#cbd5e1;display:grid;gap:20px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.status{padding:5px 9px;background:#eaf1ff;color:#174fbd}@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr)}.detail{grid-template-columns:1fr}header{align-items:flex-start;gap:15px;flex-direction:column}.hero h1{font-size:36px}}@media(max-width:480px){.grid{grid-template-columns:1fr}}
