*{box-sizing:border-box}body{font-family:system-ui,sans-serif;margin:0;color:#1d2433;line-height:1.55}header,footer{background:#14213d;color:#fff;padding:1rem}header a,footer a{color:#fca311;margin-right:1rem;text-decoration:none}main{max-width:960px;margin:auto;padding:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.card{border:1px solid #ddd;border-radius:8px;padding:1rem}.tag{font-size:.75rem;background:#eef;padding:2px 6px;border-radius:4px}.sp{background:#fca311;color:#000;font-weight:bold;padding:2px 6px;border-radius:4px}.cta{display:block;background:#fff4e0;border:1px solid #fca311;padding:1rem;border-radius:8px;margin:1rem 0}.warn{color:#a00;font-size:.85rem}table{width:100%;border-collapse:collapse}td,th{border:1px solid #ddd;padding:.5rem;text-align:left}input,textarea,select{width:100%;padding:.5rem;margin:.25rem 0 1rem}.featured{border:2px solid #fca311}.badge{background:#14213d;color:#fca311;padding:2px 6px;border-radius:4px;font-size:.75rem}.spslot{background:#fffaf0;border-style:dashed}button{background:#14213d;color:#fff;border:0;padding:.6rem 1rem;border-radius:6px;cursor:pointer}.out{background:#f4f6fb;padding:1rem;border-radius:8px;margin-top:1rem}