.account-page [hidden] { display:none !important; }
.character-guide { display:block; margin-block:1.5rem; }
.character-guide .points-orb { background:#142319; border-color:#a4956155; box-shadow:none; }
.guide-intro,.guide-explanation,.sheet-origin { color:var(--text-secondary); line-height:1.65; }
.guide-intro { margin-bottom:0; font-size:.9rem; }
.guide-progress { display:grid; gap:.6rem; margin-bottom:1.6rem; }
.guide-categories { display:flex; flex-wrap:wrap; gap:.4rem; list-style:none; margin:0 0 1rem; padding:0; }
.guide-categories li { padding:.4rem .65rem; border:1px solid #a495612b; border-radius:999px; color:var(--text-secondary); font-size:.75rem; }
.guide-categories li[aria-current="step"] { color:var(--accent-gold-light); background:#b6a36d15; border-color:#b6a36d88; }
.guide-progress span { color:var(--accent-gold); font-size:.8rem; letter-spacing:.06em; }
.guide-progress progress { appearance:none; width:100%; height:4px; border:0; border-radius:4px; background:#2d3224; }
.guide-progress progress::-webkit-progress-bar { background:#2d3224; border-radius:4px; }
.guide-progress progress::-webkit-progress-value { background:var(--accent-gold); border-radius:4px; transition:width .25s; }
.guide-progress progress::-moz-progress-bar { background:var(--accent-gold); }
.guide-step { min-width:0; padding:1.4rem; border:1px solid #a4956133; border-radius:.8rem; background:linear-gradient(135deg,#182217bb,#101710cc); animation:guide-arrive .22s ease-out; }
.guide-step h3 { margin:0; color:var(--accent-gold-light); font-family:var(--font-serif); font-size:1.75rem; line-height:1.2; }
.guide-step h3:focus { outline:none; }
.guide-explanation { margin:.8rem 0 1.5rem; font-size:.94rem; }
.guide-step label { font-size:.9rem; }
.guide-step select,.guide-step input,.guide-step textarea { background:#0d150ee6; }
.guide-choice-detail { margin-top:1rem; padding:1rem; border-left:2px solid #a4956170; background:#d8c99e08; line-height:1.65; overflow-wrap:anywhere; }
.guide-choice-detail strong { color:var(--accent-gold-light); }
.guide-choice-detail p { margin:.5rem 0 0; }
.guide-choice-detail:has(.choice-reading) { border-left:0; padding:0; background:none; }
.choice-browse { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; margin-top:.75rem; }
.choice-browse .secondary-btn { min-height:2.65rem; min-width:0; padding:.5rem .8rem; font-size:.85rem; }
.choice-browse>span { color:var(--text-secondary); font-size:.8rem; }
.choice-reading { padding:1.25rem; border:1px solid #b6a36d55; border-radius:.7rem; background:#101a12; }
.choice-reading>h4 { color:#efdfb4; font:700 1.95rem var(--font-serif); margin:.35rem 0 .8rem; line-height:1.2; }
.choice-reading p,.choice-reading li { color:#d2d4c7; font-size:1rem; line-height:1.8; overflow-wrap:anywhere; }
.choice-reading .eyebrow { color:var(--accent-gold); font-size:.75rem; }
.choice-reading .choice-concept { color:#bfae7c; font-style:italic; margin-top:0; }
.choice-reading-section { margin-top:1.35rem; padding-top:1.15rem; border-top:1px solid #a495612b; }
.choice-reading-section>h5 { margin:0 0 .7rem; color:#e5d5aa; font:700 1.35rem var(--font-serif); line-height:1.35; }
.choice-skill-list { display:grid; gap:.8rem; }
.choice-skill { padding:1rem; border:1px solid #a495613d; border-radius:.55rem; background:#18241a; }
.choice-skill h5 { color:#f2e4c3; font:700 1.2rem var(--font-serif); margin:0; line-height:1.4; }
.choice-reading .choice-skill-meta { color:#bcb690; font-size:.8rem; line-height:1.6; margin:.5rem 0; }
.choice-rule-text { white-space:pre-line; }
.choice-reading .choice-help { color:#acb6a3; font-size:.85rem; }
.choice-reading .choice-example { padding:.8rem 1rem; border-left:2px solid #b6a36d88; background:#b6a36d09; }
.choice-focus-list { padding-left:1.3rem; margin:.6rem 0; }
.choice-focus-list li+li { margin-top:.6rem; }
.choice-future,.choice-glossary { padding:.9rem 1rem; margin-top:1rem; border:1px solid #a4956144; border-radius:.5rem; }
.choice-future>summary,.choice-glossary>summary { color:#e5d5aa; cursor:pointer; font-size:.95rem; line-height:1.6; }
.choice-facts { display:flex; gap:2rem; flex-wrap:wrap; margin-bottom:0; }
.choice-facts dt { color:#aab59f; font-size:.8rem; }
.choice-facts dd { margin:.3rem 0 0; color:#f1e2b7; font-size:.95rem; text-transform:capitalize; }
.choice-effect { padding:1rem; border:1px solid #b6a36d55; background:#b6a36d09; border-radius:.5rem; }
.sheet-choice-readings { display:grid; gap:1rem; }
.party-directory-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:.75rem; margin:0; }
.party-directory-row { min-width:0; padding:.9rem 1rem; border:1px solid #a4956133; border-radius:.6rem; background:#142017; overflow-wrap:anywhere; }
.party-directory-row dt { color:var(--accent-gold-light); font:700 1.2rem var(--font-serif); }
.party-directory-row dd { margin:.4rem 0 0; color:var(--text-secondary); font-size:.88rem; line-height:1.5; }
.guide-rule { color:var(--text-secondary); font-size:.83rem; line-height:1.7; }
.path-attribute-advice { padding:1rem; margin:1rem 0; border:1px solid #a495614d; border-radius:.6rem; background:#c3b17f09; }
.path-attribute-advice p { margin:.4rem 0; color:var(--text-secondary); font-size:.88rem; line-height:1.6; }
.path-attribute-advice .advice-heading { color:var(--accent-gold-light); font-weight:600; }
.attribute-category-list { display:grid; gap:.9rem; }
.attribute-option { padding:1rem; border:1px solid #a495612b; border-radius:.6rem; background:#0e160fc2; }
.attribute-option.is-recommended { border-color:#b9a36b88; background:linear-gradient(120deg,#25332080,#111b14); }
.attribute-option-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; }
.attribute-option-heading h4 { margin:0; color:var(--accent-gold-light); font:700 1.45rem var(--font-serif); }
.attribute-recommended { color:#d9c78d; font-size:.7rem; border:1px solid #b9a36b66; border-radius:999px; padding:.3rem .5rem; }
.attribute-effect { color:var(--text-secondary); font-size:.88rem; line-height:1.6; margin:.65rem 0; }
.attribute-reason { color:#c8c9b2; font-size:.82rem; line-height:1.6; margin:.7rem 0; padding-left:.7rem; border-left:2px solid #b9a36b66; }
.attribute-option .guide-attribute { border-top:0; padding:.5rem 0 0; }
.attribute-option .guide-attribute>.attribute-value-label { font:400 .8rem var(--font-sans); color:var(--text-secondary); }
.guide-attribute { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding:1.3rem 0; }
.guide-attribute>span { color:var(--accent-gold-light); font-family:var(--font-serif); font-size:1.6rem; }
.guide-attribute .attr-controls { display:flex; align-items:center; gap:.8rem; }
.guide-attribute .attr-controls button { width:2.8rem; min-height:2.8rem; border-radius:.5rem; }
.guide-attribute output { min-width:2ch; color:var(--accent-gold-light); text-align:center; font-size:1.6rem; }
.guide-navigation { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.75rem; margin-top:1rem; }
.guide-navigation button { min-height:2.9rem; min-width:8rem; }
.guide-text-button,.danger-link { padding:.7rem 0; margin-top:.6rem; border:0; background:none; color:var(--text-secondary); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.guide-text-button:hover { color:var(--accent-gold-light); }
.guide-feedback { margin:.8rem 0 0; color:#edb29f; line-height:1.5; font-size:.9rem; }
.guide-feedback:empty { display:none; }
.guide-feedback[data-type="success"],.guide-budget-ok { color:#a5c29c; }
.guide-budget-error { color:#edb29f; }
.guide-review h4 { margin:.5rem 0; font:700 2rem var(--font-serif); color:var(--accent-gold-light); }
.guide-review p { line-height:1.6; overflow-wrap:anywhere; }
.guide-story { white-space:pre-wrap; overflow-wrap:anywhere; color:var(--text-secondary); line-height:1.7; }
.attribute-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:1rem 0; }
.attribute-summary div { padding:.7rem; border:1px solid #a495612e; border-radius:.45rem; }
.attribute-summary dt { color:var(--text-secondary); font-size:.75rem; }
.attribute-summary dd { margin:.3rem 0 0; color:var(--accent-gold-light); font:700 1.5rem var(--font-serif); }
.sheet-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:.6rem; }
.sheet-stats>div { padding:.9rem; background:#142017; border:1px solid #a495612b; border-radius:.5rem; }
.sheet-stats span { display:block; color:var(--text-secondary); font-size:.78rem; }
.sheet-stats strong { display:block; color:var(--accent-gold-light); margin-top:.3rem; font:700 1.6rem var(--font-serif); }
.sheet-stats small { color:#a9af9e; font-size:1rem; }
.sheet-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; margin-top:1rem; }
.danger-link { color:#dca18e; margin:0; font-size:.85rem; }
.danger-link:hover { color:#ffd0c0; }
.edit-menu { margin-top:1rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.edit-menu p { grid-column:1/-1; margin:.3rem 0; color:var(--text-secondary); }
.edit-menu button { border:1px solid #a495613d; background:#142017; color:var(--accent-gold-light); border-radius:.5rem; padding:.9rem; cursor:pointer; text-align:left; }
.edit-menu button:hover { border-color:var(--accent-gold); }
.guide-scale-label { max-width:7rem; }
.guide-scale-label input { min-height:0; padding:.4rem; }
.character-guide .edit-attributes { display:block; margin:0; }
.character-guide .edit-attributes input { max-width:10rem; }
.sheet-disclosure { margin:1rem 0; border:1px solid #a4956133; border-radius:.5rem; padding:.9rem; }
.sheet-disclosure summary { color:var(--accent-gold-light); cursor:pointer; font-size:.9rem; line-height:1.5; }
.sheet-disclosure[open]>summary { margin-bottom:1rem; }
.sheet-pending { border-left:2px solid var(--accent-gold); padding:.8rem 1rem; background:#b6a36d0d; }
.scale-control { flex-wrap:wrap; justify-content:flex-end; }
#spellForm { margin-top:1rem; padding:1rem; border:1px solid #a4956133; border-radius:.6rem; }
#spellShowcase:empty { display:none; }
#spellShowcase .card-tile { cursor:default; }
#spellShowcase .card-tile:hover { transform:none; }
.delete-character-dialog { width:min(32rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; border:1px solid #9e6b59; border-radius:.8rem; padding:1.5rem; color:var(--text-primary); background:#111b13; box-shadow:0 30px 100px #000b; }
.delete-character-dialog::backdrop { background:#030805d4; backdrop-filter:blur(5px); }
.delete-character-dialog h2 { margin:.5rem 0; color:var(--accent-gold-light); font:700 2rem var(--font-serif); }
.delete-character-dialog p { line-height:1.6; }
.delete-character-dialog strong { overflow-wrap:anywhere; }
.dialog-actions { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:flex-end; margin-top:1.2rem; }
.danger-btn { padding:.75rem 1rem; background:#793c32; border:1px solid #a66e5e; border-radius:.5rem; color:#fff2e7; cursor:pointer; }
.danger-btn:disabled { opacity:.5; cursor:wait; }
.character-guide button:disabled { opacity:.45; cursor:not-allowed; }
.character-guide button:focus-visible,.edit-menu button:focus-visible,.sheet-disclosure summary:focus-visible,.danger-link:focus-visible { outline:2px solid var(--accent-gold-light); outline-offset:4px; }
.form-message.is-visible { margin:0 0 1rem; }
@keyframes guide-arrive { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1024px) { .account-page .cadastro-shell { grid-template-columns:260px minmax(0,1fr); } .account-page .cadastro-hero { padding:1.5rem; } .account-page .hero-copy h1 { font-size:3.7rem; } }
@media(min-width:1000px) {
  .attribute-category-list { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
  .attribute-option { display:flex; flex-direction:column; }
  .attribute-option .guide-attribute,.attribute-option .edit-attributes { margin-top:auto; }
  .choice-skill-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .guide-step { padding:1rem; }
  .choice-reading { padding:1rem; }
  .choice-reading>h4 { font-size:1.7rem; }
  .guide-step h3 { font-size:1.5rem; }
  .guide-navigation { gap:.6rem; }
  .guide-navigation button { min-width:0; flex:1; padding:.75rem; }
  .guide-progress { margin-bottom:1rem; }
  .attribute-option { padding:.85rem; }
  .attribute-recommended { font-size:.65rem; }
  .edit-menu { grid-template-columns:1fr; }
  .sheet-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .attribute-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; }
  .attribute-summary div { padding:.55rem .4rem; }
  .attribute-summary dt { font-size:.7rem; }
  .character-guide .points-orb { display:flex; width:fit-content; aspect-ratio:auto; align-self:flex-start; gap:.4rem; padding:.55rem .8rem; border-radius:999px; }
  .character-guide .points-orb span { font-size:1.7rem; }
  .character-guide .points-orb small { white-space:nowrap; color:var(--text-secondary); }
  .character-guide .form-header h2 { font-size:2.1rem; }
  .scale-control { justify-content:flex-start; }
}
@media(prefers-reduced-motion:reduce) { .guide-step { animation:none; } .guide-progress progress::-webkit-progress-value { transition:none; } }
