:root { color-scheme: dark; --ink:#eee5d3; --muted:#b7aa93; --bg:#111312; --panel:#1c1a17; --line:#62584b; --gold:#d3b46e; --teal:#64a49a; --wine:#d27082; --green:#88b877; --shadow:0 16px 36px rgba(0,0,0,.35); }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:radial-gradient(circle at 12% 0,rgba(120,86,47,.2),transparent 32%),radial-gradient(circle at 88% 4%,rgba(44,111,101,.17),transparent 27%),repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 5px),var(--bg); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input,select { font:inherit; } button { cursor:pointer; }
.copilot-shell { width:min(1440px,100%); margin:auto; padding:18px; }
.copilot-header,.hero,.option-panel,.effects-panel,.turn-summary { border:1px solid var(--line); box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.03); }
.copilot-header { position:sticky; top:10px; z-index:5; display:flex; justify-content:space-between; gap:14px; align-items:center; padding:7px 10px; background:linear-gradient(150deg,rgba(49,44,37,.98),rgba(23,23,20,.98)); }
.brand { display:flex; align-items:center; gap:9px; color:var(--ink); text-decoration:none; min-width:max-content; }.brand-die { display:grid; place-items:center; width:38px; height:38px; border:2px solid #d5b46f; background:#2d3030; clip-path:polygon(50% 0,94% 24%,94% 76%,50% 100%,6% 76%,6% 24%); color:#f8e7bd; font-weight:900; font-size:.8rem; }.brand span:last-child{display:grid;gap:1px}.brand small,.eyebrow { color:#c3ac79; font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; }.brand strong { color:#e8d3a1; font:600 1.22rem Georgia,serif; }
.copilot-logo-frame { display:grid; place-items:center; width:44px; height:44px; overflow:hidden; border:1px solid #d6b65e; border-radius:12px; background:radial-gradient(circle,rgba(224,181,76,.3),rgba(12,20,19,.9) 68%); box-shadow:inset 0 0 12px rgba(238,199,99,.14),0 3px 10px rgba(0,0,0,.35); }.copilot-logo { width:71px; height:71px; max-width:none; object-fit:cover; transform:scale(1.18); }.brand span:last-child { display:grid; gap:1px; }.copilot-header { backdrop-filter:blur(18px); border-color:rgba(195,158,81,.74); box-shadow:inset 0 1px rgba(255,239,193,.08),var(--shadow); }.copilot-header .brand strong { background:linear-gradient(90deg,#fff0bd,#d5a956 56%,#f4dea0); -webkit-background-clip:text; background-clip:text; color:transparent; }.hero { border-color:rgba(172,138,76,.74); box-shadow:var(--shadow),inset 0 1px rgba(255,246,212,.05); }.combat-dashboard,.option-panel,.effects-panel,.modifier-reference { border-color:rgba(119,105,79,.9); box-shadow:var(--shadow),inset 0 1px rgba(255,244,207,.04); }.button { border-radius:6px; box-shadow:inset 0 1px rgba(255,245,213,.08),0 2px 0 rgba(0,0,0,.32); }.button:hover,.button:focus-visible { box-shadow:inset 0 1px rgba(255,248,218,.16),0 0 0 1px rgba(225,191,108,.32),0 5px 14px rgba(0,0,0,.25); transform:translateY(-1px); }.option-card { box-shadow:inset 0 1px rgba(255,246,215,.035); }
.header-actions { display:flex; align-items:end; justify-content:flex-end; gap:7px; flex-wrap:wrap; }.character-picker { display:grid; gap:3px; color:var(--muted); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }.character-picker select { min-width:190px; }
.combat-character-controls { display:flex; align-items:end; gap:8px; margin-top:14px; }.combat-character-controls label { display:grid; gap:4px; color:var(--muted); font-size:.62rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.combat-character-controls select { min-width:210px; }.combat-character-controls .button { min-height:36px; }
.button,select,input { border:1px solid #756955; border-radius:2px; background:#26231f; color:var(--ink); min-height:36px; padding:7px 10px; }.button { display:inline-flex; align-items:center; justify-content:center; color:var(--ink); text-decoration:none; font-size:.78rem; font-weight:800; letter-spacing:.04em; }.button:hover,.button:focus-visible { border-color:#e2c77f; outline:none; }.button-primary { background:linear-gradient(180deg,#725c34,#49361e); border-color:#c5a45e; color:#fff0c5; }.button-quiet { background:#292722; }
.hero { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:14px; padding:16px 20px; background:radial-gradient(circle at 6% 50%,rgba(183,126,73,.22),transparent 33%),linear-gradient(110deg,#2b2721,#171b1a 72%); }.hero-copy { flex:0 1 300px; min-width:0; }.hero h1 { margin:3px 0 8px; font:600 clamp(1.55rem,2.7vw,2.6rem)/.98 Georgia,serif; color:#f1dfb4; overflow-wrap:anywhere; }.hero p { margin:0; color:var(--muted); }.turn-controls { position:relative; display:grid; grid-template-columns:auto minmax(126px,1fr) auto; grid-template-areas:"round next rest" "round end rest" "status status status"; gap:7px; align-items:stretch; min-width:360px; }.round-readout { grid-area:round; display:flex; flex-direction:column; justify-content:center; min-height:50px; padding:5px 14px; border:1px solid #71634d; background:#171714; text-align:center; }.round-readout span { color:var(--muted); font-size:.63rem; letter-spacing:.12em; text-transform:uppercase; }.round-readout strong { color:#f2d692; font:600 1.7rem Georgia,serif; }.turn-advance-actions { grid-row:1 / 3; grid-column:2; display:grid; grid-template-rows:1fr 1fr; gap:7px; }.rest-menu { position:relative; grid-area:rest; min-width:112px; }.rest-menu > summary { display:flex; align-items:center; justify-content:center; gap:7px; height:100%; min-height:50px; padding-inline:12px; list-style:none; }.rest-menu > summary::-webkit-details-marker { display:none; }.rest-menu > summary:focus-visible { outline:2px solid #e2c77f; outline-offset:2px; }.campfire-icon { position:relative; display:inline-block; width:1.1rem; height:1.15rem; flex:0 0 1.1rem; }.campfire-icon::before { content:""; position:absolute; left:50%; top:1px; width:.72rem; height:.82rem; border-radius:65% 35% 55% 45%; background:linear-gradient(145deg,#ffe39a 10%,#e28d47 52%,#a74735 100%); box-shadow:0 0 7px rgba(239,154,73,.45); transform:translateX(-50%) rotate(5deg); clip-path:polygon(50% 0,78% 25%,100% 50%,82% 48%,88% 73%,64% 100%,33% 84%,15% 100%,18% 67%,0 72%,23% 37%); }.campfire-icon::after { content:""; position:absolute; left:50%; bottom:0; width:1.1rem; height:.28rem; border-radius:999px; background:#9b6845; box-shadow:-.33rem .1rem 0 -.04rem #6c4938,.33rem .1rem 0 -.04rem #6c4938; transform:translateX(-50%) rotate(-10deg); }.rest-chevron { width:7px; height:7px; margin-left:2px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); }.rest-menu[open] .rest-chevron { transform:rotate(225deg) translate(-1px,-1px); }.rest-menu-options { position:absolute; top:calc(100% + 6px); right:0; z-index:20; display:grid; gap:5px; min-width:154px; padding:6px; border:1px solid #756955; border-radius:4px; background:#211f1b; box-shadow:var(--shadow); }.rest-menu-options .button { width:100%; justify-content:flex-start; white-space:nowrap; }.turn-controls p { grid-area:status; margin:0; font-size:.78rem; text-align:right; }
.turn-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:14px 0; background:#615747; }.economy-card { display:flex; align-items:center; gap:10px; padding:11px; background:#211e1a; }.economy-card.is-used { background:linear-gradient(135deg,#3b252b,#281c20); }.economy-card.is-used strong { color:#f49ca9; }.economy-icon { display:grid; place-items:center; width:32px; height:32px; border:1px solid #95805d; background:#343027; color:#ecd493; font-weight:900; }.economy-card small { display:block; color:var(--muted); font-size:.65rem; letter-spacing:.09em; text-transform:uppercase; }.economy-card strong { color:#a9d49a; font-size:.82rem; }
.mobile-combat-tabs { display:none; }.combat-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:14px; align-items:start; }.option-panel,.effects-panel { background:linear-gradient(145deg,rgba(38,35,30,.98),rgba(23,25,23,.98)); padding:14px; }.action-panel { border-top:3px solid #d0ad66; }.bonus-panel { border-top:3px solid #75a99b; }.reaction-panel { border-top:3px solid #ba7181; }.panel-heading { display:flex; justify-content:space-between; align-items:start; gap:10px; padding-bottom:11px; border-bottom:1px solid rgba(160,143,110,.4); }.panel-heading h2 { margin:3px 0 0; color:#e2ce9c; font:600 1.36rem Georgia,serif; }.panel-heading p:not(.eyebrow) { margin:7px 0 0; color:var(--muted); max-width:620px; font-size:.84rem; line-height:1.45; }.option-count { flex:0 0 auto; padding:4px 7px; border:1px solid #71634f; background:#1b1a17; color:#cdbb91; font-size:.67rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.option-list { display:grid; gap:12px; margin-top:12px; }.option-group { display:grid; gap:6px; }.option-group h3 { margin:0; color:#aaa08e; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }.option-card { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 10px; width:100%; padding:11px; text-align:left; border:1px solid #5e574c; background:linear-gradient(135deg,#292622,#211f1c); color:var(--ink); }.option-card:hover:not(:disabled),.option-card:focus-visible:not(:disabled) { border-color:#d8bb74; background:#332d26; outline:none; }.option-card.is-selected { border-color:#bd7180; background:linear-gradient(135deg,#44272e,#2b2020); }.option-card:disabled { cursor:not-allowed; opacity:.48; }.option-card strong { color:#f0ddae; font-size:.9rem; }.option-card .tag { align-self:start; color:#d2bf93; font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; }.option-card p { grid-column:1/-1; margin:0; color:#b8ae9b; font-size:.75rem; line-height:1.38; }.option-card .taken-mark { color:#f7abb2; font-size:.68rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.effects-panel { margin-top:14px; border-top:3px solid #a880ca; }.effects-heading { align-items:center; }.concentration-summary { margin:12px 0 0; padding:10px 12px; border:1px solid #a880ca; background:linear-gradient(135deg,#322440,#211d28); color:#ebd8fb; font-size:.8rem; }.concentration-summary strong { color:#f1dc9b; }.effect-summary { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }.effect-summary button { border:1px solid #62596b; background:#29242f; color:#e5d8ed; min-height:29px; padding:4px 8px; font-size:.7rem; }.effects-ledger { margin-top:12px; border:1px solid rgba(141,120,162,.46); background:rgba(25,22,29,.58); }.effects-ledger summary { cursor:pointer; padding:11px 12px; color:#d9c8e8; font-size:.78rem; font-weight:800; }.effects-ledger[open] summary { border-bottom:1px solid rgba(141,120,162,.46); }.effects-ledger > :not(summary) { margin-left:12px; margin-right:12px; }.effects-ledger .effects-list { margin-bottom:12px; }.effect-presets { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }.preset { border:1px solid #6c5f77; background:#2e2933; color:#ded1ed; min-height:30px; padding:4px 8px; font-size:.72rem; font-weight:750; }.preset:hover,.preset:focus-visible { border-color:#c5a7e7; outline:none; }.effect-form { display:grid; grid-template-columns:1.2fr 1fr 1fr .8fr 1.7fr auto auto auto; gap:8px; padding:12px; border:1px solid rgba(141,120,162,.46); background:rgba(25,22,29,.58); }.effect-form label { display:grid; gap:4px; color:#c9b8d7; font-size:.62rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.effect-form input,.effect-form select { min-width:0; background:#1f1d20; border-color:#675c6d; }.check-label { display:flex!important; align-items:center; gap:6px!important; align-self:end; min-height:36px; font-size:.64rem!important; }.check-label input { min-height:auto; }.effects-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(255px,1fr)); gap:8px; margin-top:12px; }.effect-card { position:relative; display:grid; gap:6px; padding:11px; border:1px solid #66576c; background:#26212a; }.effect-card.is-benefit { border-left:4px solid #7bb16f; }.effect-card.is-penalty { border-left:4px solid #d16779; }.effect-card.is-condition { border-left:4px solid #d2a557; }.effect-card header { display:flex; gap:8px; align-items:start; justify-content:space-between; }.effect-card strong { color:#eee0fa; }.effect-card small,.effect-card p { margin:0; color:#c6b8ca; font-size:.75rem; line-height:1.35; }.effect-card .effect-meta { display:flex; gap:5px; flex-wrap:wrap; }.effect-card .badge { padding:2px 5px; border:1px solid #786884; font-size:.59rem; letter-spacing:.06em; text-transform:uppercase; }.remove-effect { position:absolute; right:8px; bottom:8px; border:0; background:transparent; color:#d898a3; font-size:.75rem; text-decoration:underline; }.empty-effects { grid-column:1/-1; margin:2px 0 0; color:var(--muted); font-size:.84rem; }.rules-note { margin:16px 0 0; color:#968d7d; font-size:.72rem; line-height:1.5; text-align:center; }
.copilot-paywall { max-width:680px; margin:clamp(40px,10vh,100px) auto; padding:clamp(22px,5vw,42px); border:1px solid #7c6847; border-top:4px solid #d3b46e; background:radial-gradient(circle at 10% 0,rgba(172,129,55,.2),transparent 36%),linear-gradient(145deg,#2a2721,#171817); box-shadow:var(--shadow); }.copilot-paywall h2 { margin:6px 0 10px; color:#f1dfb4; font:600 clamp(2rem,5vw,3.3rem)/.98 Georgia,serif; }.copilot-paywall p,.copilot-paywall li { color:#c5baaa; line-height:1.5; }.copilot-paywall ul { display:grid; gap:8px; margin:22px 0; padding-left:20px; }.copilot-paypal { max-width:360px; margin:18px 0 8px; }.paywall-message { color:#d8b6b9!important; font-size:.82rem; }.paywall-message.is-success { color:#a7d599!important; }
.paywall-account-actions { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 8px; }
.paywall-account-actions .button { min-height:40px; }
.tracker-showcase,.tracker-bottom-cta { margin-top:14px; padding:22px; border:1px solid rgba(226,211,173,.14); border-radius:16px; background:linear-gradient(145deg,rgba(38,35,30,.98),rgba(21,29,28,.98)); box-shadow:0 12px 28px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.045); }
.tracker-showcase-heading h2,.tracker-bottom-cta h2 { margin:4px 0 8px; color:#f1dfb4; font:600 clamp(1.45rem,2.6vw,2.15rem)/1.05 Georgia,serif; }
.tracker-showcase-heading p:not(.eyebrow),.tracker-bottom-cta p:not(.eyebrow) { max-width:820px; margin:0; color:#c7bead; line-height:1.55; }
.tracker-screenshot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.tracker-screenshot-card { margin:0; overflow:hidden; border:1px solid rgba(226,211,173,.15); border-radius:12px; background:#141b1a; }
.tracker-screenshot-card img { display:block; width:100%; height:auto; }
.tracker-screenshot-card figcaption { display:grid; gap:4px; padding:11px 12px 13px; }
.tracker-screenshot-card figcaption strong { color:#e6d19c; font-size:.8rem; }
.tracker-screenshot-card figcaption span { color:#bdb4a4; font-size:.7rem; line-height:1.4; }
.tracker-bottom-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; background:linear-gradient(135deg,rgba(34,67,59,.92),rgba(48,40,29,.96)); border-color:rgba(160,222,194,.34); }
.tracker-bottom-cta .button { white-space:nowrap; }
@media (max-width:1060px){.combat-grid{grid-template-columns:1fr 1fr}.action-panel{grid-column:1/-1}.effect-form{grid-template-columns:repeat(3,1fr)}.effect-notes-label{grid-column:span 2}}@media(max-width:720px){.copilot-shell{padding:10px}.copilot-header,.hero{position:static;align-items:stretch;flex-direction:column}.header-actions{justify-content:stretch}.header-actions>*{flex:1}.character-picker select{width:100%}.combat-character-controls{align-items:stretch;flex-direction:column}.combat-character-controls select,.combat-character-controls .button{width:100%}.turn-summary{grid-template-columns:repeat(3,1fr);gap:1px}.economy-card{padding:9px 7px;gap:6px}.economy-icon{width:26px;height:26px}.economy-card strong{font-size:.7rem}.mobile-combat-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:14px 0}.mobile-combat-tabs button{border:1px solid #655b4c;background:#282520;color:#cabc9f;min-height:40px;padding:5px;font-size:.67rem;font-weight:900;line-height:1.1;text-transform:uppercase}.mobile-combat-tabs button span{display:block;color:#e0c681;font-size:.6rem}.mobile-combat-tabs button.is-active{border-color:#d1ad66;background:#3a3022;color:#f4dfad}.combat-grid{display:block}.option-panel{display:none;padding:12px}.option-panel.is-mobile-active{display:grid}.option-panel .panel-heading{padding-bottom:8px}.option-list{gap:9px;margin-top:9px}.option-card{padding:9px}.option-card p{font-size:.71rem}.option-card strong{font-size:.84rem}.hero{padding:22px 16px}.hero h1{font-size:2.35rem}.turn-controls{grid-template-columns:1fr 1fr;grid-template-areas:"round next" "round end" "rest rest" "status status";min-width:0}.rest-menu{min-width:0}.rest-menu > summary{height:auto;min-height:42px}.rest-menu-options{left:0;right:0}.effect-form{grid-template-columns:1fr}.effect-notes-label{grid-column:auto}.effects-list{grid-template-columns:1fr}.effects-heading p{display:none}.effect-summary{max-height:72px;overflow:auto}.effects-ledger summary{min-height:42px;display:flex;align-items:center}.copilot-paywall{margin:28px auto;padding:24px 18px}}
@media(max-width:900px){.tracker-screenshot-grid{grid-template-columns:1fr 1fr}.tracker-screenshot-card:last-child{grid-column:1/-1;max-width:calc(50% - 6px)}}
@media(max-width:720px){.tracker-showcase,.tracker-bottom-cta{padding:18px 16px;border-radius:12px}.tracker-screenshot-grid{grid-template-columns:1fr}.tracker-screenshot-card:last-child{grid-column:auto;max-width:none}.tracker-bottom-cta{grid-template-columns:1fr}.tracker-bottom-cta .button{justify-self:start}.paywall-account-actions{display:grid}.paywall-account-actions .button{width:100%}}

/* Desktop-wide layout: let the page read as one surface, with dividers carrying
   the hierarchy that opaque floating cards used to provide. */
@media(min-width:721px){
  .copilot-shell{width:100%;max-width:none;margin:0;padding:0}
  .copilot-header{top:0;border-left:0;border-radius:0;border-right:0;padding-left:clamp(18px,4vw,64px);padding-right:clamp(18px,4vw,64px)}
  .copilot-content{width:100%}
  .copilot-content > .hero,
  .copilot-content > .combat-dashboard,
  .copilot-content > .combat-grid,
  .copilot-content > .effects-panel,
  .copilot-content > .modifier-reference,
  .copilot-content > .tracker-showcase,
  .copilot-content > .tracker-bottom-cta,
  .copilot-content > .tracker-seo-intro,
  .copilot-content > .tracker-seo-faq{margin-left:0;margin-right:0;border-left:0;border-radius:0;border-right:0;box-shadow:none;padding-left:clamp(18px,4vw,64px);padding-right:clamp(18px,4vw,64px)}
  .copilot-content > .hero,
  .copilot-content > .combat-dashboard,
  .copilot-content > .combat-grid,
  .copilot-content > .effects-panel,
  .copilot-content > .modifier-reference,
  .copilot-content > .tracker-showcase,
  .copilot-content > .tracker-bottom-cta,
  .copilot-content > .tracker-seo-intro,
  .copilot-content > .tracker-seo-faq{background:transparent}
  .copilot-content > .hero:first-child{margin-top:0}
  .combat-grid{gap:0;border-top:1px solid rgba(226,211,173,.14);border-bottom:1px solid rgba(226,211,173,.14)}
  .option-panel{background:transparent;box-shadow:none;border-top:0;border-bottom:0;border-radius:0}
  .option-panel + .option-panel{border-left:1px solid rgba(226,211,173,.14)}
  .combat-dashboard,.effects-panel,.modifier-reference,.tracker-showcase,.tracker-bottom-cta,.tracker-seo-intro,.tracker-seo-faq{border-top:1px solid rgba(226,211,173,.14);border-bottom:1px solid rgba(226,211,173,.14)}
  .dashboard-section,.resource-card,.option-group,.option-card,.effect-card,.tracker-screenshot-card,.tracker-seo-faq-grid article{background:transparent;border-radius:0;box-shadow:none}
  .dashboard-section{border:0;border-top:1px solid rgba(112,124,112,.4);padding-left:0;padding-right:0}
  .dashboard-section + .dashboard-section{border-left:1px solid rgba(112,124,112,.35);padding-left:14px}
  .resource-card,.option-card,.effect-card{border-left:0;border-right:0;border-top:1px solid rgba(226,211,173,.14)}
  .option-group{border-left:0;border-right:0;border-top:1px solid rgba(226,211,173,.14)}
  .tracker-screenshot-card{border:0;border-top:1px solid rgba(226,211,173,.14)}
}

@media(min-width:721px){
  .copilot-shell > .tracker-seo-intro,
  .copilot-shell > .tracker-seo-faq,
  .copilot-shell > .tracker-showcase,
  .copilot-shell > .tracker-bottom-cta,
  .copilot-shell > .copilot-paywall{
    margin-left:0;
    margin-right:0;
    border-left:0;
    border-radius:0;
    border-right:0;
    box-shadow:none;
    background:transparent;
    border-top:1px solid rgba(226,211,173,.14);
    border-bottom:1px solid rgba(226,211,173,.14);
    padding-left:clamp(18px,4vw,64px);
    padding-right:clamp(18px,4vw,64px);
  }
  .copilot-shell > .copilot-paywall{max-width:none}
}

/* Combat Copilot, revision 2: each choice is also its availability indicator. */
.spell-tracker { margin-top:14px; padding:14px; border:1px solid var(--line); border-top:3px solid #5d9e9d; background:linear-gradient(145deg,rgba(38,35,30,.98),rgba(23,25,23,.98)); box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.03); }
.spell-slots-list,.spells-cast-list { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.slot-chip,.cast-chip { padding:7px 9px; border:1px solid #526c69; background:#1d2a29; color:#cbe5df; font-size:.73rem; }
.slot-chip.is-empty { border-color:#8b5962; background:#2d2023; color:#efb8bf; }
.cast-chip { border-color:#66576c; background:#29242f; color:#e5d8ed; }
.spell-empty { margin:12px 0 0; color:var(--muted); font-size:.8rem; }
.create-effect { margin-top:12px; }
.effect-form[hidden] { display:none; }
.effect-form .effect-presets { grid-column:1/-1; }
@media(max-width:720px){.turn-controls{grid-template-columns:1fr 1fr}.turn-controls .button{min-height:42px}.spell-tracker{padding:12px}.spell-slots-list,.spells-cast-list{gap:5px}}

/* Dashboard and folded option categories. */
.combat-dashboard { margin:14px 0; padding:14px; border:1px solid var(--line); border-top:3px solid #5d9e9d; background:linear-gradient(145deg,rgba(38,35,30,.98),rgba(23,25,23,.98)); box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.03); }
.dashboard-grid { display:grid; grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr); gap:12px; margin-top:12px; }
.dashboard-section { min-width:0; padding:11px; border:1px solid rgba(112,124,112,.46); background:rgba(19,27,26,.68); }
.dashboard-section h3 { margin:0; color:#b9d7ce; font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; }
.dashboard-section-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.dashboard-fold-button { display:inline-flex; align-items:center; gap:5px; min-height:26px; padding:4px 7px; border:1px solid rgba(129,157,145,.5); border-radius:5px; background:rgba(35,48,45,.82); color:#c5dfd5; font-size:.61rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.dashboard-fold-button:hover,.dashboard-fold-button:focus-visible { border-color:#8dc2af; background:#30463f; outline:none; }
.dashboard-fold-icon { width:9px; height:9px; border-bottom:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .16s ease; }
.dashboard-section.is-folded { align-self:start; }
.dashboard-section.is-folded .dashboard-section-content { display:none; }
.dashboard-section.is-folded .dashboard-fold-icon { transform:rotate(-135deg) translate(-2px,2px); }
.dashboard-casts { display:grid; gap:7px; margin-top:12px; }
.class-resources-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:12px; }
.resource-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 9px; align-items:center; padding:8px; border:1px solid #665d4d; background:#24221e; }
.resource-card strong { color:#ebd9ac; font-size:.79rem; }.resource-card small { color:var(--muted); font-size:.67rem; }
.resource-card .resource-count { display:inline-block; margin-left:4px; white-space:nowrap; }
.resource-card .resource-more-info { grid-column:1/-1; margin:2px 0 0; padding:8px 9px; border-left:3px solid #7aa69a; background:#18201e; color:#d5cebd; font-size:.68rem; line-height:1.4; }
.resource-card .resource-more-info[hidden] { display:none; }
.resource-actions .resource-info-toggle { align-items:center; border-color:#8d7a56; border-radius:50%; display:inline-flex; font:700 .72rem Georgia,serif; height:28px; justify-content:center; padding:0; width:28px; }
.resource-card.is-spent { border-color:#855861; background:#302126; }.resource-card.is-spent strong { color:#efb1ba; }
.resource-actions { display:flex; gap:5px; }.resource-actions button { min-height:28px; padding:4px 7px; border:1px solid #71634f; background:#312d27; color:#e4d4af; font-size:.65rem; font-weight:800; }
.resource-actions button:disabled { cursor:not-allowed; opacity:.42; }
.resource-actions .resource-amount { align-items:center; color:var(--muted); display:flex; font-size:.64rem; font-weight:800; gap:3px; }
.resource-actions .resource-amount input { background:#171614; border:1px solid #71634f; color:#f3e5c4; font:inherit; min-height:28px; padding:3px 4px; width:48px; }
.dashboard-active-spells { margin-top:12px; padding:11px; border:1px solid rgba(112,124,112,.46); background:rgba(19,27,26,.68); }.dashboard-active-spells h3,.effects-area-effects h3 { margin:0; color:#b9d7ce; font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; }.effects-area-effects { margin-top:12px; padding-top:11px; border-top:1px solid rgba(141,120,162,.46); }.effects-area-effects > p { margin:5px 0 0; color:var(--muted); font-size:.72rem; line-height:1.35; }.area-effects-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:7px; margin-top:10px; }.area-effect-card { display:grid; gap:6px; padding:9px; border:1px solid #5c6e67; border-left:3px solid #72ad9c; background:#18201e; }.area-effect-card header,.area-effect-card footer { display:flex; align-items:start; justify-content:space-between; gap:8px; }.area-effect-card strong { color:#d8eadf; font-size:.76rem; }.area-effect-card header span { color:#a9d4c5; font-size:.62rem; font-weight:800; text-align:right; }.area-effect-card p { margin:0; color:#cbd5c9; font-size:.7rem; line-height:1.38; }.area-effect-card footer { padding-top:5px; border-top:1px solid rgba(112,139,128,.35); color:#9db9ad; font-size:.59rem; line-height:1.3; }
.option-group { border:1px solid rgba(112,99,77,.62); background:rgba(25,23,20,.56); }
.option-group summary { display:flex; justify-content:space-between; gap:10px; cursor:pointer; padding:10px; color:#d7c79f; font-size:.7rem; font-weight:900; letter-spacing:.1em; list-style:none; text-transform:uppercase; }
.option-group summary::-webkit-details-marker { display:none; }.option-group summary::after { content:"+"; color:#e7c97f; font-size:.95rem; line-height:.7; }.option-group[open] summary::after { content:"−"; }
.option-group .option-card { margin:0 8px 8px; width:calc(100% - 16px); }
.option-card .concentration-warning { color:#efb5c0; font-size:.67rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.option-card .multiattack-mark { display:block; color:#9bcfc2; font-size:.68rem; font-weight:800; line-height:1.35; }
.action-addons { display:grid; gap:6px; margin:0 9px 9px; padding:9px; border:1px solid rgba(211,180,110,.34); border-radius:8px; background:linear-gradient(145deg,rgba(53,46,32,.82),rgba(26,29,27,.9)); }
.action-addons header { display:flex; justify-content:space-between; gap:8px; color:#f0d694; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.action-addons header span { color:#a99b82; font-size:.61rem; font-weight:700; letter-spacing:.04em; }
.action-addon { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; width:100%; padding:8px; border:1px solid rgba(226,211,173,.16); border-radius:7px; background:rgba(20,24,23,.82); color:var(--ink); text-align:left; }
.action-addon:hover:not(:disabled),.action-addon:focus-visible { border-color:#d8bb74; background:#332d26; outline:none; }
.action-addon.is-selected { border-color:#79a99c; background:linear-gradient(135deg,#243b36,#1d2a28); }
.action-addon:disabled { cursor:not-allowed; opacity:.48; }
.action-addon strong { color:#eeddae; font-size:.76rem; }
.action-addon small { display:block; color:#a99c84; font-size:.57rem; letter-spacing:.06em; text-transform:uppercase; }
.action-addon-status { align-self:start; color:#a9d4c5; font-size:.6rem; font-weight:900; letter-spacing:.04em; text-align:right; text-transform:uppercase; }
.action-addon p { grid-column:1/-1; margin:2px 0 0; color:#b8ae9b; font-size:.69rem; line-height:1.35; }
@media(max-width:980px){.class-resources-list{grid-template-columns:1fr}}
@media(max-width:720px){.hero{justify-content:flex-start;gap:7px;padding:12px}.hero-copy{flex:0 0 auto}.combat-character-controls{margin-top:8px}.combat-dashboard{padding:12px}.dashboard-grid{grid-template-columns:1fr}.dashboard-section,.dashboard-active-spells{padding:10px}.effects-area-effects{padding-top:10px}.area-effects-list{grid-template-columns:1fr}.resource-card{grid-template-columns:1fr}.resource-actions{justify-content:flex-end}.option-group summary{min-height:42px;align-items:center}.option-group .option-card{margin:0 6px 6px;width:calc(100% - 12px)}}

/* Active-spell dashboard, compact health, and expandable action guidance. */
.copilot-health { display:grid; grid-template-columns:126px minmax(145px,1fr) auto; align-items:center; gap:10px; min-width:0; padding:0; border:0; background:transparent; }
.copilot-health-character { display:flex; align-items:center; justify-content:flex-start; gap:5px; min-width:0; }
.copilot-avatar { width:87px; height:99px; object-fit:contain; image-rendering:pixelated; filter:drop-shadow(0 3px 0 rgba(0,0,0,.38)); }
.copilot-ac-badge { display:grid; justify-items:center; gap:1px; flex:0 0 34px; color:#cdbb91; font-size:.55rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.copilot-ac-shield { position:relative; display:grid; place-items:center; width:32px; height:36px; color:#f8e7b6; filter:drop-shadow(1px 2px 0 rgba(0,0,0,.5)); }
.copilot-ac-shield::before { content:""; position:absolute; inset:0; background:#604d2e; clip-path:polygon(50% 0,88% 12%,88% 60%,74% 80%,50% 100%,26% 80%,12% 60%,12% 12%); }
.copilot-ac-shield::after { content:""; position:absolute; inset:4px; background:#b89a59; clip-path:polygon(50% 0,88% 12%,88% 60%,74% 80%,50% 100%,26% 80%,12% 60%,12% 12%); }
.copilot-ac-shield strong { position:relative; z-index:1; margin-top:-2px; color:#171513; font:900 .78rem/1 Georgia,serif; text-shadow:1px 1px 0 rgba(255,239,180,.32); }
.copilot-ac-badge small { color:#c3ac79; font-size:.52rem; }
.copilot-health-readout { display:grid; gap:3px; min-width:0; }.copilot-health-readout > span { color:var(--muted); font-size:.61rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }.copilot-health-readout strong { color:#f1dfb4; font:600 1.15rem Georgia,serif; }.copilot-health-readout small { color:#81c4e9; font-size:.63rem; font-weight:800; }.copilot-hp-bar { height:7px; overflow:hidden; border:1px solid #4c3d36; background:#271d1b; }.copilot-hp-bar span { display:block; width:0; height:100%; background:linear-gradient(90deg,#ce6b72,#ed9a85); transition:width 180ms ease; }
.copilot-health-actions { display:grid; grid-template-columns:38px 58px 38px 38px; gap:4px; align-items:end; }.copilot-health-actions .hp-button { position:relative; display:grid; place-items:center; min-height:38px; padding:0; border:1px solid #8b7659; box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),inset 0 -3px 0 rgba(0,0,0,.32),0 2px 0 #090909; }.copilot-health-actions .damage-button { background:#512835; border-color:#a56772; }.copilot-health-actions .heal-button { background:#243d31; border-color:#67836d; }.copilot-health-actions .temporary-hp-button { background:#173c59; border-color:#4f98c6; }.copilot-health-actions .hp-button-icon,.copilot-health-actions .hp-button-icon::before,.copilot-health-actions .hp-button-icon::after { position:absolute; display:block; }.copilot-health-actions .hp-button-icon { width:24px; height:24px; left:50%; top:50%; transform:translate(-50%,-50%) scale(.8); filter:drop-shadow(1px 2px 0 rgba(0,0,0,.5)); }.copilot-health-actions .hp-button-icon::before,.copilot-health-actions .hp-button-icon::after { content:""; width:4px; height:4px; }.copilot-health-actions .heal-button .hp-button-icon::before { left:2px; top:2px; background:#8dc692; box-shadow:4px 0 #c5e4a8,12px 0 #c5e4a8,16px 0 #8dc692,-4px 4px #416e51,0 4px #70a97a,4px 4px #a8d99c,8px 4px #70a97a,12px 4px #a8d99c,16px 4px #70a97a,20px 4px #416e51,-4px 8px #416e51,0 8px #70a97a,4px 8px #a8d99c,8px 8px #a8d99c,12px 8px #a8d99c,16px 8px #70a97a,20px 8px #416e51,0 12px #416e51,4px 12px #70a97a,8px 12px #a8d99c,12px 12px #70a97a,16px 12px #416e51,4px 16px #416e51,8px 16px #70a97a,12px 16px #416e51,8px 20px #294634; }.copilot-health-actions .heal-button .hp-button-icon::after { left:10px; top:6px; background:#f0f4cf; box-shadow:-4px 4px #f0f4cf,4px 4px #f0f4cf,0 8px #f0f4cf; }.copilot-health-actions .damage-button .hp-button-icon::before { left:2px; top:2px; background:#c56671; box-shadow:4px 0 #e18a88,12px 0 #e18a88,16px 0 #c56671,-4px 4px #743140,0 4px #b74e62,4px 4px #d86c75,8px 4px #743140,12px 4px #d86c75,16px 4px #b74e62,20px 4px #743140,-4px 8px #743140,0 8px #b74e62,4px 8px #d86c75,8px 8px #743140,12px 8px #d86c75,16px 8px #b74e62,20px 8px #743140,0 12px #743140,4px 12px #b74e62,8px 12px #743140,12px 12px #b74e62,16px 12px #743140,4px 16px #743140,8px 16px #b74e62,12px 16px #743140,8px 20px #3f1c25; }.copilot-health-actions .damage-button .hp-button-icon::after { left:14px; top:6px; background:#28141a; box-shadow:-4px 4px #28141a,0 8px #28141a,-4px 12px #28141a; }.copilot-health-actions .temporary-hp-button .hp-button-icon::before { left:4px; top:0; background:#a9e5ff; box-shadow:4px 0 #d8f4ff,8px 0 #d8f4ff,12px 0 #a9e5ff,-4px 4px #4f9bd0,0 4px #79c5e8,4px 4px #b7edff,8px 4px #b7edff,12px 4px #79c5e8,16px 4px #4f9bd0,-4px 8px #4f9bd0,0 8px #79c5e8,4px 8px #b7edff,8px 8px #b7edff,12px 8px #79c5e8,16px 8px #4f9bd0,0 12px #3a76ad,4px 12px #79c5e8,8px 12px #79c5e8,12px 12px #3a76ad,4px 16px #3a76ad,8px 16px #3a76ad; }.copilot-health-actions .temporary-hp-button .hp-button-icon::after { left:8px; top:5px; background:#ffffff; box-shadow:0 4px #ffffff,-4px 8px #ffffff,0 8px #ffffff,4px 8px #ffffff,0 12px #ffffff; }.copilot-health-actions .hp-button:hover:not(:disabled) .hp-button-icon { transform:translate(-50%,-50%) scale(.9); filter:drop-shadow(0 0 4px currentColor) drop-shadow(1px 2px 0 rgba(0,0,0,.5)); }.copilot-health-actions .hp-button:active:not(:disabled) .hp-button-icon { transform:translate(-50%,-50%) scale(.7); }.copilot-health-amount { display:grid; gap:3px; color:var(--muted); font-size:.56rem; font-weight:900; letter-spacing:.08em; text-align:center; text-transform:uppercase; }.copilot-health-amount input { width:58px; min-height:38px; padding:4px; border-color:#8b7659; color:#f1dfb4; font:700 .96rem Georgia,serif; text-align:center; }.copilot-health.is-damage .copilot-avatar { animation:health-shake .32s steps(3); }.copilot-health.is-heal .copilot-avatar { animation:health-glow .5s steps(4); }.copilot-health.is-temporary .copilot-avatar { animation:health-glow .5s steps(4); filter:drop-shadow(0 0 7px #66bce9); }
.option-card { position:relative; display:block; width:100%; border:1px solid #5e574c; background:#25221e; color:var(--ink); }.option-card.is-selected { border-color:#bd7180; background:#35242a; }.option-use { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 10px; width:100%; min-height:0; padding:11px 40px 11px 11px; border:0; background:transparent; color:var(--ink); text-align:left; }.option-use:hover:not(:disabled),.option-use:focus-visible:not(:disabled) { background:#332d26; outline:1px solid #d8bb74; outline-offset:-1px; }.option-use:disabled { cursor:not-allowed; opacity:.48; }.option-card .tag { align-self:start; color:#d2bf93; font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; }.option-card p { grid-column:1/-1; margin:0; color:#b8ae9b; font-size:.75rem; line-height:1.38; }.spell-slot-picker { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 10px 10px; padding:7px 8px; border:1px solid #526c69; background:#1d2a29; color:#cbe5df; font-size:.7rem; }.spell-slot-picker span { font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.spell-slot-picker select { max-width:70%; padding:4px 24px 4px 7px; border:1px solid #779890; border-radius:3px; background:#131c1a; color:#e5f1ed; font:inherit; }.spell-slot-picker select:focus-visible { outline:2px solid #e4c77d; outline-offset:2px; }.option-info-toggle { position:absolute; top:9px; right:9px; display:grid; place-items:center; width:24px; min-height:24px; padding:0; border:1px solid #8d7a56; border-radius:50%; background:#201e1a; color:#f0dba2; font:700 .76rem Georgia,serif; }.option-info-toggle:hover,.option-info-toggle:focus-visible { border-color:#e4c77d; background:#393025; outline:none; }.option-more-info { display:block; clear:both; width:100%; margin:0; padding:11px; border-top:1px solid #5d665c; border-left:3px solid #799e98; background:#18201e; color:#d5cebd; font-size:.73rem; line-height:1.42; }.option-more-info[hidden] { display:none; }.spell-info-intro strong { color:#e8d7a9; font-size:.75rem; }.spell-info-intro p { margin:4px 0 9px; color:#d5cdbb; }.spell-casting-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0; }.spell-casting-grid > div { min-width:0; padding:6px 7px; background:#111816; border:1px solid #42514d; }.spell-casting-grid dt { color:#8fb5ad; font-size:.61rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.spell-casting-grid dd { margin:2px 0 0; color:#e0d8c6; line-height:1.35; }.spell-casting-grid .spell-concentration { grid-column:1/-1; border-left:2px solid #a882c9; }
.spell-metamagic-info { margin-top:10px; padding:9px 10px; border-left:3px solid #c7a05b; background:#211d18; color:#e4d7b9; font-size:.72rem; line-height:1.4; }.spell-metamagic-info strong { color:#f0d69b; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }.spell-metamagic-info p { margin:5px 0 0; }
.active-spell-chip { display:flex; justify-content:space-between; gap:8px; align-items:center; min-width:185px; padding:8px; border:1px solid #66576c; background:#29242f; color:#e5d8ed; }.active-spell-chip.is-concentration { border-color:#ad82cf; background:linear-gradient(135deg,#382442,#28202e); }.active-spell-chip span { display:grid; gap:2px; }.active-spell-chip strong { font-size:.76rem; }.active-spell-chip small { color:#cfc0da; font-size:.62rem; }.active-spell-chip button { width:25px; min-height:25px; padding:0; border:1px solid #96606b; background:#42272d; color:#ffd1d7; font-size:1.05rem; line-height:1; }
.modifier-reference { margin-top:14px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(38,35,30,.98),rgba(23,25,23,.98)); box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.03); }.modifier-reference-actions { display:flex; flex-wrap:wrap; gap:7px; padding:11px; }.modifier-reference-actions .button { flex:1 1 180px; }.modifier-reference-actions .button[aria-expanded="true"] { border-color:#d2af67; background:#463722; color:#f5dfaa; }.modifier-reference-panels { border-top:1px solid rgba(112,99,77,.62); }.modifier-reference-panel { padding:12px; background:#1d1c19; }.modifier-reference-panel h3 { margin:0 0 10px; color:#e4d09a; font:600 1.08rem Georgia,serif; }.modifier-reference-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:7px; }.modifier-reference-grid article { display:grid; gap:3px; padding:8px; border:1px solid #5d564a; background:#282520; }.modifier-reference-grid strong { color:#ecdbad; font-size:.74rem; }.modifier-reference-grid span { color:#b9ccb8; font-size:.7rem; line-height:1.35; }
@keyframes health-shake { 0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)} } @keyframes health-glow { 0%,100%{filter:drop-shadow(0 3px 0 rgba(0,0,0,.38))}50%{filter:drop-shadow(0 0 7px #9fda8c)} }
@media(max-width:720px){.copilot-health{width:100%;min-width:0;grid-template-columns:104px minmax(0,1fr);grid-template-areas:"character readout" "actions actions";gap:8px}.copilot-health-character{grid-area:character}.copilot-health-readout{grid-area:readout}.copilot-health-actions{grid-area:actions;grid-template-columns:36px 54px 36px 36px;justify-content:end}.copilot-avatar{width:68px;height:77px}.copilot-health-amount input{width:54px}.option-use{padding:9px 38px 9px 9px}.spell-casting-grid{grid-template-columns:1fr}.spell-casting-grid .spell-concentration{grid-column:auto}.active-spell-chip{min-width:100%}.modifier-reference-actions{display:grid;grid-template-columns:1fr}.modifier-reference-actions .button{width:100%}.modifier-reference-grid{grid-template-columns:1fr 1fr}}

/* Modern fantasy refresh: let the logo breathe and make the combat table easier to scan. */
.copilot-logo-frame { width:46px; height:46px; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.copilot-logo { width:46px; height:46px; max-width:100%; object-fit:contain; transform:none; filter:drop-shadow(0 5px 12px rgba(0,0,0,.38)); }
body { background:radial-gradient(ellipse at 12% -10%,rgba(202,152,79,.18),transparent 40%),radial-gradient(ellipse at 88% 6%,rgba(58,135,119,.14),transparent 32%),linear-gradient(145deg,#111514,#1c1b1a 50%,#101715); }
.copilot-header { border-color:rgba(224,192,123,.24); border-radius:16px; padding:9px 12px; box-shadow:0 14px 32px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.07); }
.hero,.combat-dashboard,.option-panel,.effects-panel,.spell-tracker,.modifier-reference { border-color:rgba(226,211,173,.14); border-radius:16px; box-shadow:0 12px 28px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.045); }
.hero { background:radial-gradient(circle at 6% 50%,rgba(214,164,85,.2),transparent 34%),linear-gradient(115deg,rgba(48,43,35,.97),rgba(21,29,28,.98) 72%); }
.turn-summary { border:1px solid rgba(226,211,173,.14); border-radius:14px; overflow:hidden; background:rgba(226,211,173,.1); box-shadow:0 10px 24px rgba(0,0,0,.18); }
.economy-card { background:linear-gradient(145deg,rgba(42,39,34,.94),rgba(24,29,28,.95)); }
.button,select,input { border-radius:9px; }
.option-group { border-color:rgba(226,211,173,.14); border-radius:10px; overflow:hidden; background:rgba(19,24,23,.62); }
.option-card { border-color:rgba(226,211,173,.16); border-radius:10px; overflow:hidden; }
.option-group .option-card { border-radius:9px; }
.dashboard-section,.resource-card,.modifier-reference-grid article { border-color:rgba(226,211,173,.14); border-radius:10px; }
@media(max-width:720px){.copilot-header{border-radius:12px;padding:8px}.copilot-logo-frame,.copilot-logo{width:40px;height:40px}.hero,.combat-dashboard,.option-panel,.effects-panel,.spell-tracker,.modifier-reference{border-radius:12px}}

.rest-icon { width:1.28rem; height:1.28rem; flex:0 0 1.28rem; overflow:visible; }.rest-icon-flame { fill:#ec944d; stroke:#ffdc82; stroke-width:.7; stroke-linejoin:round; }.rest-icon-ember { fill:#fff0a3; }.rest-icon-log { fill:none; stroke:#9d6848; stroke-width:2.15; stroke-linecap:round; }
.rest-dialog { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:14px; visibility:hidden; opacity:0; pointer-events:none; background:rgba(4,7,6,.74); backdrop-filter:blur(3px); transition:opacity .16s ease,visibility .16s ease; }.rest-dialog[hidden] { display:grid; }.rest-dialog.is-open { visibility:visible; opacity:1; pointer-events:auto; }
.rest-dialog-panel { position:relative; width:min(430px,100%); padding:22px; border:1px solid #b08b4e; border-top:3px solid #e0bd6c; border-radius:14px; background:linear-gradient(145deg,#332d24,#171b1a); color:var(--ink); box-shadow:0 20px 60px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.05); }
.rest-dialog h2 { margin:4px 0 8px; color:#f1dfb4; font:600 1.65rem/1.05 Georgia,serif; }.rest-dialog-close { position:absolute; top:10px; right:10px; width:28px; min-height:28px; padding:0; border:1px solid #866b4d; border-radius:50%; background:#2a251e; color:#eed7a4; font-size:1.25rem; line-height:1; }.rest-dialog-close:hover,.rest-dialog-close:focus-visible { border-color:#e2c77f; background:#443728; outline:none; }
.rest-dialog-panel > p:not(.eyebrow) { margin:0; color:#c9bdab; font-size:.8rem; line-height:1.5; }
.rest-hit-dice-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:16px; }
.rest-hit-dice-fields label { display:grid; gap:5px; color:#cdbd9c; font-size:.62rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.rest-hit-dice-fields input,.rest-hit-dice-fields select { min-width:0; background:#171b19; }
.rest-dialog-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; margin-top:18px; }
.rest-dialog-actions .button { min-height:40px; }
@media(max-width:720px){.rest-dialog-panel{padding:20px 16px}.rest-hit-dice-fields{grid-template-columns:1fr}.rest-dialog-actions{display:grid}.rest-dialog-actions .button{width:100%}}

.turn-controls p:empty { display:none; }
@media(max-width:720px){.hero h1{font-size:1.9rem}}

.tracker-seo-intro { margin:0 0 14px; padding:20px 22px; border:1px solid rgba(226,211,173,.14); border-radius:16px; background:linear-gradient(135deg,rgba(48,43,35,.94),rgba(21,29,28,.96)); box-shadow:0 12px 28px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.045); }
.tracker-seo-intro h1 { margin:4px 0 8px; color:#f1dfb4; font:600 clamp(1.8rem,3.2vw,2.75rem)/1 Georgia,serif; }
.tracker-seo-intro > p:not(.eyebrow) { max-width:900px; margin:0; color:#c7bead; line-height:1.55; }
.tracker-seo-points { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.tracker-seo-points span { padding:6px 8px; border:1px solid rgba(226,211,173,.2); border-radius:8px; background:rgba(18,26,24,.72); color:#d8c593; font-size:.68rem; font-weight:800; letter-spacing:.04em; }
.tracker-seo-faq { margin:0 0 14px; padding:18px 22px; border:1px solid rgba(226,211,173,.11); border-radius:16px; background:rgba(22,29,27,.76); }
.tracker-seo-faq h2 { margin:4px 0 12px; color:#ead7a8; font:600 clamp(1.25rem,2.4vw,1.75rem)/1.08 Georgia,serif; }
.tracker-seo-faq-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tracker-seo-faq-grid article { padding:11px; border:1px solid rgba(226,211,173,.12); border-radius:10px; background:rgba(16,23,22,.72); }
.tracker-seo-faq-grid h3 { margin:0 0 5px; color:#d8c593; font-size:.75rem; }
.tracker-seo-faq-grid p,.tracker-seo-faq-link { margin:0; color:#bdb4a4; font-size:.73rem; line-height:1.5; }
.tracker-seo-faq-link { margin-top:12px; }
.tracker-seo-faq a { color:#e1c477; font-weight:800; }
.hero h2 { margin:3px 0 8px; color:#f1dfb4; font:600 clamp(1.35rem,2.4vw,2.2rem)/.98 Georgia,serif; overflow-wrap:anywhere; }
@media(max-width:720px){.tracker-seo-intro,.tracker-seo-faq{padding:18px 16px;border-radius:12px}.tracker-seo-intro h1{font-size:1.9rem}.tracker-seo-points{gap:5px}.tracker-seo-points span{font-size:.62rem}.tracker-seo-faq-grid{grid-template-columns:1fr}.hero h2{font-size:1.7rem}}

/* Final desktop surface overrides, kept last so the page-level refresh rules
   above cannot restore the boxed treatment. */
@media(min-width:721px){
  .copilot-shell{width:100%;max-width:none;margin:0;padding:0}
  .copilot-header{top:0;border-left:0;border-radius:0;border-right:0;padding-left:clamp(18px,4vw,64px);padding-right:clamp(18px,4vw,64px)}
  .copilot-content > .hero,
  .copilot-content > .combat-dashboard,
  .copilot-content > .combat-grid,
  .copilot-content > .effects-panel,
  .copilot-content > .modifier-reference,
  .copilot-shell > .copilot-paywall,
  .copilot-shell > .tracker-seo-intro,
  .copilot-shell > .tracker-seo-faq,
  .copilot-shell > .tracker-showcase,
  .copilot-shell > .tracker-bottom-cta{margin-left:0;margin-right:0;border-left:0;border-radius:0;border-right:0;box-shadow:none;background:transparent;border-top:1px solid rgba(226,211,173,.14);border-bottom:1px solid rgba(226,211,173,.14);padding-left:clamp(18px,4vw,64px);padding-right:clamp(18px,4vw,64px)}
  .copilot-shell > .copilot-paywall{max-width:none}
  .copilot-content > .hero:first-child{margin-top:0}
  .combat-grid{gap:0}
  .option-panel{background:transparent;box-shadow:none;border-radius:0;border-bottom:0}
  .option-panel + .option-panel{border-left:1px solid rgba(226,211,173,.14)}
  .dashboard-section,.resource-card,.option-group,.option-card,.effect-card,.tracker-screenshot-card,.tracker-seo-faq-grid article{background:transparent;border-radius:0;box-shadow:none}
  .dashboard-section{border:0;border-top:1px solid rgba(112,124,112,.4);padding-left:0;padding-right:0}
  .dashboard-section + .dashboard-section{border-left:1px solid rgba(112,124,112,.35);padding-left:14px}
  .resource-card,.option-card,.effect-card,.option-group,.tracker-screenshot-card,.tracker-seo-faq-grid article{border-left:0;border-right:0;border-top:1px solid rgba(226,211,173,.14)}
}
