
.wgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:8px; }
.wp { background:var(--panel); border:1px solid var(--line); border-radius:10px; display:grid; grid-template-columns:96px minmax(0,1fr); gap:10px; padding:8px; scroll-margin-top:20px; }
.wp:target { outline:2px solid var(--accent2); }
.wp .t { width:96px; height:96px; border-radius:8px; background:radial-gradient(circle at 50% 40%, #332a47, var(--tile) 70%); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:11px; text-align:center; }
.wp .t span { padding:6px; }
.wp img { width:100%; height:100%; object-fit:contain; display:block; }
.wp h2 { font-size:16px; margin:0; line-height:1.3; }
.wp .f { font-size:13px; color:var(--muted); margin:2px 0 6px; }
.wp .b { display:flex; flex-wrap:wrap; gap:5px; }
.wp button { font:inherit; font-size:13px; padding:4px 8px; border-radius:7px; border:1px solid var(--line); background:var(--bg); color:var(--text); cursor:pointer; }
.wp button.primary { background:var(--accent); border-color:var(--accent); color:#fff; }
.wp button.on { background:#2f6b3a; border-color:#2f6b3a; color:#fff; }
.wp button:disabled { cursor:default; opacity:.85; }
.prefmsg { display:block; width:100%; font-size:12px; color:#8fd18f; } .prefmsg.bad { color:#f08a8a; } .prefmsg:empty { display:none; }
.bar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:6px 0 14px; }
.bar input, .bar select { font:inherit; padding:9px 11px; border-radius:8px; border:1px solid var(--line); background:var(--panel); color:var(--text); }
.bar input { flex:1 1 240px; max-width:420px; }
.bar button { font:inherit; font-size:14px; padding:8px 12px; border-radius:8px; border:1px solid var(--line); background:var(--panel); color:var(--text); cursor:pointer; }
.note { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:8px 12px; color:var(--muted); font-size:14px; margin:0 0 14px; }
table.sp { border-collapse:collapse; font-size:15px; } table.sp td, table.sp th { padding:5px 12px 5px 0; border-bottom:1px solid var(--line); text-align:left; }
@media (max-width: 600px) { .wgrid { grid-template-columns:1fr; } }
