[hidden]{display:none!important}
#syncLogin{max-width:480px;margin:8vh auto;padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:12px}
#syncLogin h1{font-size:24px;color:var(--gold-light);margin-bottom:12px}
#syncLogin p{color:var(--muted)}
#syncLogin button{width:100%;margin-top:12px}
#dmLoginForm{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}
#dmLoginForm label{display:block;margin-bottom:8px}
#loginError{color:#ff9b98;min-height:24px;margin-top:14px}
#syncBar{padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border)}
#syncBar .sync-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#syncStatus{color:var(--gold-light);font-size:13px}
.import-label{display:inline-block;cursor:pointer}
.collection{margin-top:16px;border-top:1px solid var(--border)}
.collection-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:14px 4px;background:transparent;color:var(--text);border:0;text-align:left;font-size:16px;font-weight:600}
.collection-toggle:hover{background:var(--panel2)}
.collection-toggle:focus-visible,.collection-pages :focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}
.collection-arrow{color:var(--gold-light);width:16px}
.collection-hint{margin-left:auto;color:var(--muted);font-size:13px;font-weight:400}
.collection-pages{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:13px}
.collection-pages label{display:flex;align-items:center;gap:6px;color:var(--muted)}
.collection-pages select{width:auto;padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel2);color:var(--text)}
.collection-range{margin-right:auto;color:var(--muted)}
.collection-pages button:disabled{opacity:.45;cursor:default}
.collection-body{padding-bottom:12px}
.cc-abs .av small{font-size:11px;font-weight:400;color:var(--text)}
.character-status{border-top:1px solid var(--border);margin:12px 0;padding-top:10px;font-size:12px;overflow-wrap:anywhere}
.character-health{display:flex;justify-content:space-between;gap:8px;color:var(--text);font-size:14px}
.character-status progress{width:100%;height:8px;accent-color:var(--success);margin:6px 0}
.character-skills{margin:12px 0;font-size:12px}
.character-skills summary{cursor:pointer;color:var(--gold-light);padding:6px 0}
.character-skills summary:focus-visible{outline:2px solid var(--gold-light)}
.skill-values{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-top:6px}
.skill-value{display:flex;align-items:center;justify-content:space-between;gap:4px;border-bottom:1px solid var(--border-soft);padding:3px 0}
.skill-trained{color:var(--gold-light);margin-left:4px;font-size:10px}
body[data-role=player] [data-tab=check],body[data-role=player] #view-check,
body[data-role=player] .cc-actions,body[data-role=player] .pc-actions,
body[data-role=player] #newPC,body[data-role=player] #newNPC,body[data-role=player] #newMON,
body[data-role=player] #newWeapon,body[data-role=player] #newSpell,body[data-role=player] #clearHist,
body[data-role=player] #modalSave,body[data-role=player] #addCustomBonus,
body[data-role=player] #customBonusEdit button,body[data-role=player] #presetGroupRecommend,body[data-role=player] .dm-only{display:none!important}
body[data-role=player] #modalMask :disabled{opacity:1;color:var(--text);-webkit-text-fill-color:var(--text)}
@media(max-width:540px){#syncLogin{margin:24px 12px;padding:20px}#syncBar{padding:10px 12px}}
