﻿@layer generic, elements, components, utilities;@layer components{.character-sheet{display:flex;flex-direction:column;gap:2rem;margin:0 auto;padding:1rem 0;min-width:0}.character-sheet>*{min-width:0}.character-avatar{margin:0}.character-avatar img{margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;display:block;object-fit:cover;border:1px solid var(--rule);border-radius:10px}.character-avatar img:hover{transform:none}.character-avatar--sheet{flex:0 0 clamp(8rem,16.666%,15rem);align-self:flex-start}.character-avatar--sheet img{width:100%;height:auto}.character-avatar--preview img{max-width:14rem;max-height:14rem}.campaign-illustration--page{margin:0 0 1rem}.campaign-illustration--page img{margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;display:block;max-width:100%;max-height:20rem;object-fit:cover;border:1px solid var(--rule);border-radius:10px}.campaign-illustration--page img:hover{transform:none}.sheet-header{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.5rem;border-bottom:2px double var(--gold)}.sheet-header>.sheet-topbar{position:absolute;top:0;right:0;display:flex;align-items:flex-start;gap:.6rem}.sheet-header>.sheet-topbar .sheet-discord-link{text-align:right}.sheet-header>.sheet-topbar .sheet-discord-alt{margin:.4rem 0 0}@media(max-width: 720px){.sheet-header>.sheet-topbar{position:static;order:-1;justify-content:flex-end;width:100%}}.sheet-header .sheet-identity{flex:1 1 18rem;min-width:14rem}.sheet-header .sheet-name{margin:0 0 .25rem;font-family:var(--font-display);font-size:2.5rem;line-height:1.1;color:var(--ink-heading)}.sheet-header .sheet-title{margin:0 0 .15rem;font-family:var(--font-display);font-variant:small-caps;font-style:italic;letter-spacing:.03em;color:var(--gold-text)}.sheet-header .sheet-subtitle{margin:0;font-size:1.0625rem;color:var(--ink);font-style:italic}.sheet-header .sheet-byline{margin:.25rem 0 0;font-size:.9rem;color:var(--ink-muted)}.badge-private,.badge-unclaimed{display:inline-block;padding:.05rem .4rem;margin-left:.25rem;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--bg);background:var(--rouge);border-radius:.2rem}.badge-unclaimed{color:var(--ink-on-gold);background:var(--gold-text)}.claim-banner{margin:0 0 1.5rem;padding:1rem 1.25rem;border:1px solid var(--gold-text);border-radius:.35rem;background:color-mix(in srgb, var(--gold-text) 8%, transparent)}.claim-banner__title{margin:0 0 .4rem;font-size:1.15rem;color:var(--gold-text)}.claim-banner__lede{margin:0 0 .85rem;color:var(--ink)}.claim-banner__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.claim-banner__recovery{margin:.85rem 0 0;font-size:.85rem;color:var(--ink-muted)}.claim-banner__recovery label{display:block;margin-bottom:.25rem}.claim-banner__recovery-input{width:100%;font-family:var(--font-mono, monospace);font-size:.9rem}.sheet-chips{display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));gap:.5rem;width:100%;margin:0;padding:0;list-style:none}@media(max-width: 1199px){.sheet-chips{grid-template-columns:repeat(6, minmax(0, 1fr))}}@media(max-width: 900px){.sheet-chips{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(max-width: 480px){.sheet-chips{grid-template-columns:repeat(2, minmax(0, 1fr))}}.chip{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.4rem .5rem;background:var(--bg-deep);border:1px solid var(--rule);border-radius:.3rem;box-shadow:inset 0 0 0 1px var(--gold-a18),0 2px 10px var(--shadow);line-height:1.1}.chip .chip-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.chip .chip-value{margin-top:.15rem;font-family:var(--font-display);font-size:1.25rem;color:var(--ink-heading)}.sheet-actions{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.25rem;margin-top:.75rem}.sheet-actions>p,.sheet-actions>div{margin:0}.sheet-actions>.sheet-levelup-hint,.sheet-actions>.sheet-levelup-cap{align-self:center}.sheet-main{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 3fr);gap:1.5rem;align-items:start}@media(min-width: 901px){.sheet-main .abilities-frame{grid-template-columns:1fr}}@media(max-width: 900px){.sheet-main{grid-template-columns:1fr}}.sheet-main__content{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.sheet-main__content .capacities{margin-top:0}.sheet-main__content .capacities .capacities-grid{grid-template-columns:1fr}.abilities-frame{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(11rem, 100%), 1fr));gap:1rem}.ability-tile{display:flex;flex-direction:column;padding:.85rem .9rem 1rem;background:var(--bg-deep);border:1px solid var(--rule);border-radius:.35rem;box-shadow:inset 0 0 0 1px var(--gold-a18),0 2px 10px var(--shadow)}.ability-tile .ability-head{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name code" "mod  score";align-items:baseline;padding-bottom:.5rem;border-bottom:1px solid var(--rule)}.ability-tile .ability-name{grid-area:name;font-family:var(--font-display);font-size:.95rem;color:var(--ink-heading);font-variant:small-caps}.ability-tile .ability-code{grid-area:code;font-size:.7rem;letter-spacing:.1em;color:var(--ink-muted)}.ability-tile .ability-mod{grid-area:mod;font-family:var(--font-display);font-size:2.4rem;line-height:1;color:var(--gold-text)}.ability-tile .ability-score{grid-area:score;font-size:1rem;color:var(--ink-muted);text-align:right;align-self:end}.ability-tile .save-row{display:flex;align-items:center;gap:.4rem;margin:.6rem 0 .5rem;font-size:.85rem;color:var(--ink-muted)}.ability-tile .save-row.is-prof{color:var(--ink-heading)}.ability-tile .save-row.is-prof .dot{background:var(--accent);border-color:var(--accent)}.ability-tile .save-row .save-label{flex:1}.ability-tile .save-row .save-bonus{font-family:var(--font-mono);color:var(--ink)}.ability-tile .skill-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.ability-tile .skill-row{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--ink-muted);line-height:1.3}.ability-tile .skill-row .skill-name{flex:1;text-transform:capitalize}.ability-tile .skill-row .skill-bonus{font-family:var(--font-mono)}.ability-tile .skill-row.is-prof{color:var(--ink)}.ability-tile .skill-row.is-prof .dot{background:var(--accent);border-color:var(--accent)}.ability-tile .skill-row.is-expert .dot{box-shadow:0 0 0 2px var(--accent-bright),inset 0 0 0 2px var(--bg-deep)}.dot{display:inline-block;width:.55rem;height:.55rem;background:rgba(0,0,0,0);border:1px solid var(--rule);border-radius:50%;flex-shrink:0}.actions{padding:.9rem 1.1rem .4rem;background:var(--bg-deep);border:1px solid var(--rule);border-radius:10px;box-shadow:inset 0 0 0 1px var(--gold-a18),0 2px 10px var(--shadow)}.actions h2{margin:0 0 .6rem;font-family:var(--font-display);font-size:1.6rem;color:var(--ink-heading);border-bottom:1px solid var(--rule);padding-bottom:.25rem}.actions-wrapper{overflow-x:auto}.actions-table{width:100%;border-collapse:collapse;font-size:.95rem}.actions-table thead th{padding:.4rem .75rem;text-align:left;border-bottom:1px solid var(--rule);font-family:var(--font-display);font-size:.85rem;letter-spacing:.04em;font-variant:small-caps;color:var(--ink-heading)}.actions-table th,.actions-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--rule)}.actions-table .action-group-head th{padding:.75rem .75rem .25rem;border-bottom:2px solid var(--gold);font-family:var(--font-display);font-size:1.0625rem;font-variant:small-caps;letter-spacing:.04em;color:var(--gold-text)}.actions-table tbody th[scope=row]{font-weight:600;text-transform:capitalize;color:var(--ink-heading)}.actions-table .action-row:nth-of-type(even) td,.actions-table .action-row:nth-of-type(even) th{background:color-mix(in srgb, var(--ink) 4%, transparent)}.actions-table .mono{font-family:var(--font-mono);white-space:nowrap}.actions-table .action-type{display:inline-flex;align-items:baseline;gap:.25rem;white-space:nowrap;font-size:.85rem;color:var(--ink-muted)}.actions-table .action-glyph{font-size:.95rem;color:var(--ink-muted)}.actions-table .action--weapon .action-glyph{color:var(--ink-heading)}.actions-table .action--spell-attack .action-glyph{color:var(--rouge)}.actions-table .action--spell-save .action-glyph{color:var(--accent)}.actions-table .action--spell-auto .action-glyph{color:var(--gold-bright)}.actions-table .action--heal .action-glyph{color:#5a9e6f}.grimoire h2{margin:0 0 .25rem;font-family:var(--font-display);font-size:1.5rem;color:var(--ink-heading);border-bottom:1px solid var(--rule);padding-bottom:.25rem}.grimoire h3{margin:.9rem 0 .4rem;font-size:.95rem;color:var(--ink-muted);font-variant:small-caps;letter-spacing:.04em}.grimoire .section-hint{margin:0 0 .5rem;font-size:.9rem;font-style:italic;color:var(--ink-muted)}.grimoire-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.grimoire-list .grimoire-entry{background:var(--bg-deep);border-left:3px solid var(--gold);border-radius:0 var(--field-radius) var(--field-radius) 0}.grimoire-list .grimoire-entry::marker{content:""}.grimoire-list summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.4rem .6rem;cursor:pointer;list-style:none}.grimoire-list summary::after{content:"+";margin-left:auto;font-family:var(--font-display);font-size:1.1rem;line-height:1;color:var(--gold-text)}.grimoire-list summary::-webkit-details-marker{display:none}.grimoire-list details[open]>summary::after{content:"−"}.grimoire-list .spell-name{font-weight:600;text-transform:capitalize;color:var(--ink-heading)}.grimoire-list .spell-meta{flex:1;font-size:.85rem;color:var(--ink-muted)}.grimoire-list .grimoire-body{padding:0 .6rem .6rem;font-size:.9rem;line-height:1.5}.grimoire-list .grimoire-stats{margin:.25rem 0 .4rem;font-size:.9rem;color:var(--ink-muted)}.grimoire-list .grimoire-stats span{font-variant:small-caps}.grimoire-list .grimoire-desc{margin:0}.grimoire-list .badge{padding:.05rem .4rem;font-size:.7rem;background:var(--gold);color:var(--ink-on-gold);border-radius:.2rem}.grimoire-list .tag{padding:.05rem .4rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);border:1px solid var(--rule);border-radius:.2rem}.ability-origin{font-size:.62rem;letter-spacing:.04em;color:var(--gold-text)}.capacities{margin-top:1.5rem}.capacities h2{margin-bottom:.75rem}.capacities .capacities-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(16rem, 100%), 1fr));gap:1.25rem}.capacities .capacity-col{padding:.85rem 1rem;background:var(--bg-deep);border:1px solid var(--rule);border-radius:10px;box-shadow:inset 0 0 0 1px var(--gold-a18),0 2px 10px var(--shadow)}.capacities .capacity-col h3{margin:0 0 .5rem;color:var(--gold-text)}.capacities .capacity-col h4{margin:.75rem 0 .4rem;font-size:.85rem;color:var(--ink-heading)}.capacities .capacity-meta{list-style:none;margin:0 0 .5rem;padding:0 0 0 1.15em;font-size:.9rem}.capacities .capacity-meta>li{padding:.15rem 0}.capacities .capacity-meta span{display:inline-block;min-width:9rem;color:var(--ink-muted)}.capacities .trait-list{list-style:none;margin:0;padding:0 0 0 1.15em;font-size:.9rem;color:var(--ink-muted)}.capacities .trait-list>li{padding:.25rem 0}.capacities .trait-list strong{color:var(--ink-heading)}.sheet-footer{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(15rem, 100%), 1fr));gap:1.5rem;padding-top:1rem;border-top:2px double var(--gold)}.sheet-footer h2{margin:0 0 .4rem;font-family:var(--font-display);font-size:1.3rem;color:var(--ink-heading)}.sheet-footer h3{margin:.75rem 0 .25rem;font-size:.95rem;color:var(--ink-muted);font-variant:small-caps;letter-spacing:.04em}.plain-list{list-style:none;margin:0;padding:0 0 0 1.15em}.plain-list li{padding:.15rem 0;text-transform:capitalize}.plain-list .muted{color:var(--ink-muted);font-size:.85rem;text-transform:none}.notes{margin:0;font-size:.95rem;line-height:1.55}@media(max-width: 720px){.sheet-header{flex-direction:column;align-items:stretch}.sheet-chips{width:100%}.abilities-frame{grid-template-columns:repeat(2, minmax(0, 1fr))}.ability-tile .ability-mod{font-size:2rem}}@media(max-width: 480px){.abilities-frame{grid-template-columns:1fr}}@media(max-width: 600px){.actions{padding:.75rem .75rem}.actions-table{display:block}.actions-table thead{display:none}.actions-table .action-group{display:block}.actions-table .action-group-head{display:block}.actions-table .action-group-head th{display:block;padding:.75rem 0 .25rem;border-bottom:1px solid var(--gold)}.actions-table .action-row{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:.5rem;row-gap:.15rem;margin:.6rem 0;padding:.6rem .75rem;background:var(--bg-deep);border:1px solid var(--rule);border-radius:5px;box-shadow:inset 0 0 0 1px var(--gold-a18),0 2px 10px var(--shadow)}.actions-table .action-row:nth-of-type(even) th,.actions-table .action-row:nth-of-type(even) td{background:none}.actions-table .action-row>th,.actions-table .action-row>td{border:0;padding:0}.actions-table .action-row>td[data-label=Type]{grid-column:1;grid-row:1}.actions-table .action-row>th[scope=row]{grid-column:2;grid-row:1;font-size:1.0625rem;color:var(--ink-heading);padding-bottom:.4rem;margin-bottom:.15rem;border-bottom:1px solid var(--rule)}.actions-table .action-type{gap:0}.actions-table .action-type-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.actions-table .action-glyph{font-size:1.25rem}.actions-table .action-row>td:not([data-label=Type]){grid-column:2;display:grid;grid-template-columns:7rem 1fr;column-gap:.5rem;white-space:normal}.actions-table .action-row>td:not([data-label=Type])::before{content:attr(data-label);color:var(--ink-muted);font-family:var(--font-display);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.actions-table .mono{white-space:normal}.capacities .capacities-grid{grid-template-columns:1fr}}@media print{.character-sheet{gap:1rem}.ability-tile,.action-row,.grimoire-entry,.sheet-footer .sheet-column{page-break-inside:avoid;box-shadow:none}.sheet-chips,.chip,.ability-tile,.actions,.actions-table thead th,.actions-table .action-group-head th{background:#fff !important}.grimoire details{display:block}.grimoire details>summary{list-style:none}.grimoire .grimoire-body{display:block !important}.original-badge{print-color-adjust:exact}}}
