/* さとLabo データベース（site.css の色を使う） */
.db-head{display:grid;gap:6px}
.db-head h1{font-size:24px;margin:0;line-height:1.3}
.db-head .sub{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 14px}
.db-head .sub b{color:var(--fg)}

.thpick{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px}
.thpick .lab{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.throw{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.throw button{min-width:0;font:700 13px/1 var(--f-num);padding:9px 0;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer}
.throw button[aria-pressed="true"]{background:var(--fg);color:var(--panel);border-color:var(--fg)}
.thnote{font-size:14px;margin:0}
.thnote b{font:700 16px var(--f-num)}

.info{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin:0}
.info div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}
.info dt{font-size:11px;font-weight:700;color:var(--muted)}
.info .grp{grid-column:1/-1;background:none;border:0;padding:4px 2px 0;font-size:13px;font-weight:700}
.info dd{margin:2px 0 0;font-size:14px;font-weight:700;overflow-wrap:anywhere}

.tabs{display:flex;flex-wrap:wrap;gap:6px}
.tabs button{font:700 13px var(--f-body);padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--fg);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--zap);border-color:var(--zap);color:var(--panel)}

.tblwrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px}
table.lv{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
table.lv th,table.lv td{padding:7px 6px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;font-size:13px}
table.lv th{font-size:11px;line-height:1.3;white-space:normal;color:var(--muted);font-weight:700;text-align:right;position:sticky;top:0;background:var(--panel)}
table.lv th:first-child,table.lv td:first-child{text-align:left;padding-left:12px}
table.lv td:first-child{font:700 13px var(--f-num)}
table.lv tbody tr{cursor:pointer}
table.lv tbody tr:hover td{background:var(--zap-soft)}
table.lv tr.max td{background:var(--zap-soft);font-weight:700}
table.lv tr.max td:first-child::after{content:"最大";font:700 10px var(--f-body);color:var(--panel);background:var(--zap);border-radius:4px;padding:1px 4px;margin-left:6px;vertical-align:1px}
table.lv tr.over td{color:var(--muted);opacity:.55}
table.lv tr.detail td{background:var(--bg);white-space:normal;text-align:left;cursor:default}
table.lv tr.detail dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0;font-size:13px}
table.lv tr.detail dt{color:var(--muted)}
table.lv tr.detail dd{margin:0;font-weight:700}
.res{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:1px}
.res.gold{background:#E7B416}.res.elixir{background:#C548D8}.res.dark{background:#3A2A3F;box-shadow:0 0 0 1px var(--line)}
table.lv td.ores{white-space:normal}.ores>span{display:inline-block;margin-left:8px}.ores>span:first-child{margin-left:0}
.res.shiny{background:#3F8FE0}.res.glowy{background:#9B4FD6}.res.starry{background:#F2C230;border-radius:2px;transform:rotate(45deg)}
.showall{justify-self:start;font:700 13px var(--f-body);background:none;border:0;color:var(--zap);cursor:pointer;padding:2px 0;text-decoration:underline;text-underline-offset:3px}

.calc{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:8px}
.calc label{font-size:13px;font-weight:700;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.calc select{font:500 15px var(--f-body);padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}
.calc .out{font-size:14px;margin:0}
.calc .out b{font:700 16px var(--f-num)}

.dbsearch input{font:400 16px var(--f-body);width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--fg)}
.dbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.dbgrid a{display:grid;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-decoration:none;color:var(--fg)}
.dbgrid a:hover{border-color:var(--zap)}
.dbgrid a b{font-size:14px}
.dbgrid a span{font-size:12px;color:var(--muted)}
.dbsec{display:grid;gap:8px}
.dbsec h2{margin:0}
.src{font-size:12px;color:var(--muted);margin:0}

/* 画像（Supercell ファンキット） */
.db-head.has-img{grid-template-columns:1fr auto;align-items:center}
.db-head.has-img .pic{grid-column:2;grid-row:1/span 2;width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}
.db-head.has-img h1,.db-head.has-img .sub{grid-column:1}
.dbgrid a{grid-template-columns:44px 1fr;column-gap:10px;align-items:center}
.dbgrid a img,.dbgrid a i{grid-row:1/span 2;width:44px;height:44px;object-fit:contain}
.dbgrid a{grid-template-columns:36px minmax(0,1fr)}
.dbgrid a img,.dbgrid a i{width:36px;height:36px}
.dbgrid a b{min-width:0;overflow-wrap:anywhere;line-height:1.35}
.desc{margin:0;font-size:14px;line-height:1.8;max-width:65ch}
/* 一覧のカード：画像を上、名前を下にして、名前が言葉の途中で折れないようにする */
.dbgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.dbgrid a{grid-template-columns:1fr;justify-items:center;text-align:center;row-gap:4px;padding:12px 8px}
.dbgrid a img,.dbgrid a i{grid-row:auto;width:56px;height:56px}
.dbgrid a b{overflow-wrap:normal;word-break:auto-phrase;font-size:14px}
.thnote .nw,.nw{white-space:nowrap}
/* 改行：最後の行に1語だけ残らないようにする */
.desc,.thnote,.info dd{text-wrap:pretty}
@media (max-width:420px){.db-head h1{font-size:22px}.db-head.has-img .pic{width:80px;height:80px}}
.desc .s{display:block}
