/* Recover the complete illustrated folio. Original artwork and sheet surfaces
   live in sheet-original.css; this file adapts the six-class game controls. */
.recovered-sheet .page{height:auto;min-height:11in;overflow:visible;scroll-margin-top:125px}
.recovered-sheet .front-page{padding-bottom:48px}
.recovered-sheet .mast-copy{max-width:none}
.recovered-sheet .identity-grid{grid-template-columns:1fr .65fr 1fr .75fr}
.recovered-sheet .identity-from{grid-column:1/-1}
.recovered-sheet .identity-from textarea{min-height:28px}
.theme-note{font-size:10px;line-height:1.4;margin:8px 0!important}
.theme-flavor{font:italic 12px/1.5 Georgia,serif;color:var(--accentDark);padding-top:8px;border-top:1px dotted var(--line2);margin:7px 0 0}
.recovered-sheet .vitals{grid-template-columns:1fr 1fr}
.recovered-sheet .vital{padding:7px 3px}
.recovered-sheet .vital .value{gap:2px}
.recovered-sheet .vital input{width:38px;font-size:23px;padding:0;-moz-appearance:textfield}
.recovered-sheet .vital input::-webkit-inner-spin-button{display:none}
.recovered-sheet .stepper{width:26px;height:28px;flex-shrink:0;font-size:17px}
.recovered-sheet .hp-rules{display:block}
.recovered-sheet .hp-rules p{font-size:11px;line-height:1.4;margin:6px 0 0}
/* A numeric threshold is inline prose, not an HP-rule heading. */
.recovered-sheet .hp-rules p strong{display:inline;font-size:inherit}
.recovered-sheet .zero-state{font-size:11px;padding:8px 10px}
.recovered-sheet .zero-state p{margin:3px 0 0}
.recovered-sheet .recovery-note{font-size:10px;line-height:1.45;margin:7px 0 0}
.sheet-actions{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 0}
.sheet-actions button,.sheet-actions select,.learning-notes button,.ability button,.dose-slot button,.ability-search-row button,dialog button{border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:7px;background:linear-gradient(135deg,#fff9ed,var(--accentSoft));color:var(--accentDark);padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer}
button:disabled{opacity:.48;cursor:default}
.sheet button:focus-visible,.sheet a:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
.recovered-sheet .weapon-table .weapon-damage{width:100%;max-width:48px;min-height:42px;padding:3px;text-align:center;font:800 24px Georgia,serif;color:var(--accentDark);border:1px solid var(--line);border-radius:8px;background:linear-gradient(#fffdf6,var(--accentSoft));-moz-appearance:textfield}
.weapon-damage::-webkit-inner-spin-button{display:none}
.recovered-sheet .weapon-table textarea{font-size:13px;line-height:1.4;min-height:45px;height:auto;padding:6px 3px;resize:vertical}
.weapon-footnote{font-size:10px;line-height:1.4;color:#705840;margin:8px 0 0}
.recovered-sheet .knack-grid textarea{font-size:13px;line-height:1.4;min-height:44px}
.recovered-sheet .card-sub{line-height:1.45}
.recovered-sheet .d20-display{min-height:290px}
.recovered-sheet .prism-d20{max-width:300px}
.recovered-sheet #rollResult{display:block;min-height:16px;font-size:11px;font-weight:800;line-height:1.5;margin:7px 0 0;color:var(--accentDark)}
.calling-progress{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin:9px 0}
.calling-track{display:grid;grid-template-columns:1fr auto;gap:4px;text-decoration:none;color:var(--ink);padding:5px 0;border-bottom:1px dotted var(--line)}
.calling-track>span:first-child{font:700 12px Georgia,serif}
.calling-track>b{grid-column:2;grid-row:1/3;font:800 20px Georgia,serif;align-self:center;color:var(--accentDark)}
.tier-pips{display:flex;gap:4px}
.tier-pips i{display:block;width:9px;height:5px;border:1px solid #ac9b82;border-radius:2px;background:#ece5d8}
.tier-pips i.lit{background:var(--accent);border-color:var(--accent)}
.folio-link{display:block;text-align:right;font-size:11px;font-weight:800;color:var(--accentDark);margin:5px 0 0}
.folio-index{max-width:816px;margin:6px auto 12px;display:flex;justify-content:center;gap:6px}
.folio-index a{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 20px;border:1px solid #80623e;border-bottom:2px solid #cda865;border-radius:7px 7px 2px 2px;background:linear-gradient(145deg,#493625,#271d13);color:#f0dfbe;font:700 12px Georgia,serif;text-decoration:none}
.folio-index a span{color:#c7a161}
.folio-index a:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
/* Learned cards remain the main surface. The library folds away during play. */
.recovered-sheet .abilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.recovered-sheet .ability{position:relative;display:flex;flex-direction:column;min-width:0;padding:0 12px 12px!important;min-height:190px;border:1px solid #bca77f;border-top:3px solid var(--accent);border-radius:10px;background:linear-gradient(145deg,#fffef9,color-mix(in srgb,var(--accentSoft) 30%,#fff9ed));box-shadow:0 4px 12px #51321a15,inset 0 0 0 3px #fcf7ea;overflow:hidden}
.recovered-sheet .ability:before{display:none!important}
.ability-ribbon{display:flex;justify-content:space-between;gap:6px;margin:0 -12px 10px;padding:7px 11px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accentSoft) 60%,#f1e8d3);font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:850;color:var(--accentDark)}
.ability-ribbon span{letter-spacing:.02em;text-align:right}
.ability-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ability h3{font:700 21px/1.15 Georgia,serif;color:var(--accentDark);margin:0}
.ap-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:48px;border:1px solid #b59b65;border-radius:8px 8px 17px 17px;background:linear-gradient(#fcf4d8,#e7d4a3);color:#624923;box-shadow:inset 0 0 0 3px #fff6de99}
.ap-seal b{font:800 23px/1 Georgia,serif}.ap-seal small{font-size:8px;font-weight:900;letter-spacing:.14em;margin-top:3px}
.ability p{font-size:12px;line-height:1.55;margin:0 0 12px;flex:1}
.ability .row{display:flex;gap:6px;flex-wrap:wrap}
.ability .why{font-size:10px;line-height:1.45;color:#735b43;margin:8px 0 0;flex:0}
.ability.empty-ability{padding:20px!important;min-height:185px;border-style:dashed;justify-content:center;background:linear-gradient(145deg,#fffdf4,#f1ebdb);box-shadow:inset 0 0 0 4px #fffaf0}
.empty-ability h3{font-size:18px;margin:8px 0}.empty-ability p{font-size:12px;flex:0}
.ability-section-head{flex-wrap:wrap}.ability-section-head h2{font-size:18px}.ability-section-head p{font-size:12px}
#knownCount{font:700 12px var(--body);color:#80694c;margin-left:4px}
.prepared-card{margin-top:14px;font-size:12px;line-height:1.5}
.prepared-card summary{font-family:var(--display);font-size:15px;font-weight:800;cursor:pointer}
#doseCount{float:right;font:700 12px var(--body);padding:2px 8px;background:var(--accentSoft);border-radius:8px}
#doses{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dose-slot{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fffcf3}
.dose-slot b{font-family:var(--display)}.dose-slot span{font-size:11px}.dose-slot.empty{border-style:dashed;color:#87755c}
.learning-book{border:1px solid #a88c60;border-radius:10px;background:#f6eddb;margin-top:16px;scroll-margin-top:130px;overflow:hidden}
.learning-book>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:15px 16px;background:linear-gradient(115deg,var(--walnut2),var(--themeDeep));color:#f4e7c6;list-style:none}
.learning-book>summary::-webkit-details-marker{display:none}
.learning-book>summary>span:first-child{font:700 20px Georgia,serif}.learning-book>summary>span:first-child:before{content:'＋';font:400 17px var(--body);margin-right:9px}
.learning-book[open]>summary>span:first-child:before{content:'−'}
#learningCredits{font-size:11px;color:#e4d2a9}
.learning-book-content{padding:14px}
.learning-book-content .ability-section-head{margin-top:0}.learning-book-content .ability-section-head a{font-size:11px;color:var(--accentDark)}
.ability-search-row{display:grid;grid-template-columns:1fr auto;gap:6px;margin-bottom:14px}
.ability-search-row label{grid-column:1/-1;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#705537}
.ability-search-row input{width:100%;min-width:0;height:39px;padding:8px 10px;border:1px solid #bca884;border-radius:6px;background:#fffdf5;font-size:13px}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.pillar{padding:8px;border:1px solid var(--line);border-radius:8px;background:#fffaf1}
.pillar .eyebrow{font:700 12px Georgia,serif;color:var(--accentDark);text-transform:uppercase;letter-spacing:.12em}
.tree{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;margin-top:7px;padding:9px 7px;border:1px solid var(--line);border-radius:6px;background:#fffdf8;cursor:pointer;color:var(--ink)}
.tree b{font:700 14px Georgia,serif}.tree span{font-size:9px}.tree[aria-pressed=true]{background:var(--accentSoft);border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
.tier-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}
.tier-tabs button{border:1px solid #ad9873;border-radius:5px;padding:8px;background:#fffaf0;font-size:10px;font-weight:800;cursor:pointer}
.tier-tabs button[aria-pressed=true]{background:var(--accentDark);border-color:var(--accentDark);color:white}
.learning-notes{font-size:12px;line-height:1.5;margin-top:17px}.learning-notes summary{cursor:pointer;font-weight:800}
.recovered-sheet .profile-item textarea,.recovered-sheet .note-box textarea{font-size:13px;line-height:1.5;min-height:64px;resize:vertical}
.recovered-sheet .story-page .note-box textarea{min-height:100px}
.recovered-sheet .story-page .card{overflow:visible}
.recovered-sheet .story-page{padding-bottom:44px}
.recovered-sheet .trial-tracker{gap:7px}
.recovered-sheet .session-actions{flex-wrap:wrap}.session-actions>span{font-size:12px}
.recovered-sheet .session-card p{font-size:12px;line-height:1.5}
.hearth-vignette{margin:12px auto 6px;text-align:center;break-inside:avoid;max-width:650px}
.hearth-vignette img{display:block;width:100%;height:auto}
.hearth-vignette figcaption{font:italic 12px/1.5 Georgia,serif;color:#795b35;max-width:440px;margin:6px auto}
.crumb-button{border:0;border-bottom:1px dotted #957244;background:transparent;color:#745126;padding:4px 2px;cursor:pointer;font:italic 12px Georgia,serif}
.hearth-note{font:11px/1.5 Georgia,serif;color:#80684e;margin:7px auto 0}
.import-label{color:#fff;font-weight:800;font-size:12px;display:block;padding:8px}.toolbar .import-label input[type=file]{display:block;max-width:100%;font-size:11px;margin-top:6px}.more-menu-panel a{color:#f0d992;padding:6px 8px}
.recovered-sheet dialog{max-width:480px;width:calc(100% - 28px);border:2px solid var(--gold);border-radius:12px;background:var(--paper);padding:24px;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:#100a07bf}.recovered-sheet dialog h2{font-family:var(--display)}
@media(max-width:760px){
 .recovered-sheet .page{padding:22px 19px 42px;scroll-margin-top:12px}
 .recovered-sheet .hero-head{grid-template-columns:1fr}
 .recovered-sheet .grid2{grid-template-columns:1fr}
 .recovered-sheet .role-wrap{display:block}
 .recovered-sheet .vital input{width:46px;font-size:27px}
 .recovered-sheet .stepper{width:32px;height:34px}
 .recovered-sheet .vital .value{gap:3px}
 .recovered-sheet .abilities{grid-template-columns:1fr}
 .recovered-sheet .toolbar{position:static}
 .recovered-sheet .profile-grid,.recovered-sheet .inventory{grid-template-columns:1fr}
 .recovered-sheet .profile-item textarea,.recovered-sheet .note-box textarea,.recovered-sheet .weapon-table textarea,.recovered-sheet .knack-grid textarea,.ability-search-row input{font-size:16px}
 .folio-index{gap:5px}.folio-index a{padding:9px 7px;font-size:11px;flex:1;gap:5px}
 .pillars{gap:5px}.pillar{padding:6px}.pillar .eyebrow{font-size:10px}.tree{padding:8px 5px}.tree b{font-size:12px}.tree span{font-size:9px;line-height:1.3}
 .learning-book-content{padding:10px}.learning-book>summary{padding:12px;flex-wrap:wrap;gap:5px}.learning-book>summary>span:first-child{font-size:18px}.learning-book{scroll-margin-top:12px}
 .recovered-sheet .ability p{font-size:14px}.ability-ribbon{font-size:10px}.ability .why{font-size:12px}
 .sheet-actions button,.ability button,.dose-slot button{min-height:40px;font-size:12px}
 .recovered-sheet .card-sub,.recovered-sheet .hp-rules p,.recovered-sheet .recovery-note{font-size:12px}
 #doses{grid-template-columns:1fr}
}
@media(max-width:380px){.recovered-sheet .page{padding-left:15px;padding-right:15px}.recovered-sheet .vital input{width:34px;font-size:22px}.recovered-sheet .stepper{width:26px;height:30px}.recovered-sheet .identity-grid{grid-template-columns:1fr 1fr}}
@media print{
 .recovered-sheet .toolbar,.recovered-sheet .draft-restore,.recovered-sheet .no-print,.recovered-sheet .sheet-actions,.recovered-sheet button,.recovered-sheet dialog,.recovered-sheet .site-footer,.folio-index,.crumb-button,.hearth-note,.folio-link{display:none!important}
 .recovered-sheet .page{zoom:1!important;width:100%!important;height:auto!important;min-height:0!important;padding:.3in!important;overflow:visible!important;break-after:page}
 .recovered-sheet .sheet{width:100%!important;max-width:none!important}
 .recovered-sheet .front-page{zoom:.88!important;width:113.6%!important}
 .recovered-sheet .grid2{grid-template-columns:1fr 1fr!important}
 .recovered-sheet .ability,.recovered-sheet .card,.recovered-sheet .profile-item,.recovered-sheet .note-box{break-inside:avoid!important}
 .recovered-sheet .abilities{grid-template-columns:1fr 1fr!important}
 .recovered-sheet .d20-display{min-height:220px}.recovered-sheet .prism-d20{width:220px;height:220px}
 .recovered-sheet textarea{resize:none;overflow:visible}.recovered-sheet .page:last-child{break-after:auto}
 .recovered-sheet .theme-note{display:none}.recovered-sheet .page-number{display:none!important}
 .recovered-sheet .story-grid{display:block!important}.recovered-sheet .profile-grid,.recovered-sheet .inventory{display:grid!important;grid-template-columns:1fr 1fr!important}
 .hearth-vignette{max-width:5in}.hearth-vignette img{max-height:1.8in;object-fit:contain}
 .recovered-sheet .prepared-card:not([hidden]){display:block!important}.recovered-sheet .prepared-card>div{display:grid!important}
}

.weapon-attack{border:1px solid var(--line);border-radius:5px;background:var(--accentSoft);padding:5px 7px;font-size:10px;font-weight:800;color:var(--accentDark);cursor:pointer}
.weapon-table .weapon-attack{margin:1px 0 5px;width:100%;font-size:9px;white-space:normal}
.weapon-roll-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:9px 0 0}.weapon-roll-actions>span{font-size:10px;color:#705840}
#attackResult:not(:empty){display:block;border:1px solid var(--line);border-radius:7px;padding:9px;margin-top:9px;background:#fff7df;font-size:12px;font-weight:700;line-height:1.5}
@media(max-width:760px){.weapon-attack,.weapon-table .weapon-attack{min-height:36px;font-size:11px}}
@media print{#attackResult{display:none!important}}

@media print{.recovered-sheet textarea.has-print-mirror{display:none!important}.recovered-sheet .print-mirror{display:block!important;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.45;min-height:22px}.recovered-sheet .story-page .card,.recovered-sheet .story-page .note-box,.recovered-sheet .story-page .profile-item{break-inside:auto!important}.recovered-sheet .story-page .card-title,.recovered-sheet .story-page .micro{break-after:avoid}}


/* Responsive QC: preserve the folio, give writing and touch controls room. */
@media screen {
 .recovered-sheet .grid2 > div,.recovered-sheet .story-grid > div,
 .recovered-sheet .hero-head > div,.recovered-sheet .vital{min-width:0}
 .recovered-sheet .vitals{grid-template-columns:minmax(0,1fr)}
 .recovered-sheet .vitals-card .vital .stepper{width:44px;height:44px;flex:0 0 44px}
 .recovered-sheet .vitals-card .vital input{width:48px;min-height:44px;font-size:26px}
 .recovered-sheet .vital .value{gap:5px}
 .recovered-sheet .profile-item textarea,.recovered-sheet .note-box textarea,
 .recovered-sheet .weapon-table textarea,.recovered-sheet .knack-grid textarea{font-size:14px;line-height:1.5}
 .recovered-sheet .identity-from textarea{min-height:44px}
 .recovered-sheet textarea{overflow-y:hidden;overflow-wrap:anywhere}
 .recovered-sheet .weapon-attack,.recovered-sheet .weapon-table .weapon-attack{min-height:44px;font-size:12px;line-height:1.35;padding:8px}
 .recovered-sheet .sheet-actions button,.recovered-sheet .ability button,
 .recovered-sheet .dose-slot button,.recovered-sheet .tier-tabs button,
 .recovered-sheet .ability-search-row button,.recovered-sheet .trial-clear,
 .recovered-sheet .crumb-button,.recovered-sheet .folio-index a{min-height:44px;font-size:12px}
 .recovered-sheet .ability-search-row input{min-height:44px}
 .recovered-sheet .adventure-card .profile-item:has(#consumables){grid-column:1/-1}
 .recovered-sheet .trial-group{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
 .recovered-sheet .trial-group > span{grid-column:1/-1;min-width:0;margin-bottom:3px}
 .recovered-sheet .trial-check{min-width:0}
 .recovered-sheet .trial-check span{width:100%;min-height:44px}
 .recovered-sheet .tree,.recovered-sheet .calling-track{min-height:44px}
 .recovered-sheet .ability p{font-size:14px}
}
@media screen and (max-width:760px){
 .recovered-sheet .identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .recovered-sheet .fieldbox input,.recovered-sheet .fieldbox textarea,
 .recovered-sheet .profile-item input,.recovered-sheet .profile-item textarea,
 .recovered-sheet .note-box textarea,.recovered-sheet .weapon-table textarea,
 .recovered-sheet .knack-grid textarea,.recovered-sheet .ability-search-row input{font-size:16px;min-height:44px}
 .recovered-sheet .d20-display{min-height:180px}
 .recovered-sheet .prism-d20{width:min(46vw,180px)}
 .recovered-sheet .page{min-height:0}
 .recovered-sheet .app{padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .recovered-sheet .pillars{grid-template-columns:minmax(0,1fr)}
 .recovered-sheet .pillar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}
 .recovered-sheet .pillar .eyebrow{grid-column:1/-1;font-size:12px}
 .recovered-sheet .tree{margin-top:0;padding:9px}
 .recovered-sheet .tree b{font-size:14px}
 .recovered-sheet .tree span{font-size:11px}
 .recovered-sheet .more-menu-panel{width:min(250px,calc(100vw - 24px))}
}

/* Print QC: use the printable paper width, never the fixed screen canvas. */
@media print {
 html:has(.recovered-sheet),body.recovered-sheet{width:auto!important;min-width:0!important;margin:0!important;background:#fff!important}
 .recovered-sheet .app,.recovered-sheet .sheet{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 .recovered-sheet .page,.recovered-sheet .front-page{box-sizing:border-box!important;zoom:1!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:12px!important;overflow:visible!important;border-width:1px!important}
 .recovered-sheet .page{break-after:page!important;page-break-after:always!important}
 .recovered-sheet .page:last-child{break-after:auto!important;page-break-after:auto!important}
 .recovered-sheet .front-page .grid2{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:9px!important}
 .recovered-sheet .front-page .grid2>div{min-width:0!important}
 .recovered-sheet .front-page .card{padding:9px!important;margin-bottom:7px!important}
 .recovered-sheet .front-page .mast{min-height:60px!important;padding:8px!important;margin-bottom:8px!important}
 .recovered-sheet .front-page .hero-head{margin-bottom:9px!important;gap:9px!important}
 .recovered-sheet .front-page .hero-name{font-size:24px!important}
 .recovered-sheet .front-page .card-title{font-size:12px!important;margin-bottom:7px!important}
 .recovered-sheet .front-page .calling-progress{margin:5px 0;gap:3px 8px}
 .recovered-sheet .front-page .d20-display{min-height:130px!important;height:130px!important}
 .recovered-sheet .front-page .prism-d20{width:125px!important;height:125px!important}
 .recovered-sheet .front-page .distance{min-height:42px!important;padding:5px!important}
 .recovered-sheet .front-page .knack-grid textarea{min-height:30px!important}
 .recovered-sheet .front-page input,.recovered-sheet .front-page select{max-width:100%;min-width:0}
 .recovered-sheet .front-page .print-mirror{font-size:11px;line-height:1.35;min-height:18px}
 .recovered-sheet .weapon-table{table-layout:fixed;width:100%!important}
 .recovered-sheet .weapon-table td,.recovered-sheet .weapon-table th{overflow-wrap:anywhere}
 .recovered-sheet .story-page .profile-item,.recovered-sheet .story-page .note-box,.recovered-sheet .trial-tracker,.recovered-sheet .trial-progress,.recovered-sheet .trial-group{break-inside:avoid!important}
 .recovered-sheet .story-page .profile-item:has(#notes){break-inside:auto!important}
 .recovered-sheet .story-page .profile-item:has(.print-mirror){overflow:visible!important}
 .recovered-sheet .story-page .card-title,.recovered-sheet .story-page .micro{break-after:avoid-page!important}
 .recovered-sheet .story-page .hearth-vignette{break-inside:avoid!important}
}
@media print {
 .recovered-sheet .front-page{zoom:.78!important;width:100%!important}
 .recovered-sheet .story-page .profile-item:has(.trial-tracker){break-inside:avoid!important}
 .recovered-sheet .story-page .card:not(.adventure-card){break-inside:avoid!important}
}
@media print{@page{size:auto;margin:.25in;background:#fff}html:has(.recovered-sheet),body.recovered-sheet{color-scheme:light!important}}


@media print{.recovered-sheet .story-page .hearth-vignette{display:none!important}}


/* Folio polish: natural screen flow and predictable paper fragmentation. */
.recovered-sheet [hidden]{display:none!important}
.recovered-sheet .growth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-bottom:16px}
.recovered-sheet .growth-grid>.card{margin:0;min-width:0}
.recovered-sheet .mark-pips{display:flex;gap:9px;margin:12px 0}
.mark-pips span{font-size:25px;line-height:1;color:#c7bca5}
.mark-pips .class-mark + .story-mark{margin-left:14px}
.mark-pips .earned{color:var(--accentDark);text-shadow:0 1px 0 #fff}
.recovered-sheet .session-card .marks-intro{font:italic 14px Georgia,serif}
#marksProgress{font-weight:800;color:var(--accentDark)}
.recovered-sheet .session-actions{display:flex;gap:8px;margin-top:14px}
.recovered-sheet .session-actions button{min-height:44px;white-space:normal}
.recovered-sheet .marks-award{background:var(--accentDark);color:#fff;flex:1 0 100%;font-size:15px}
.recovered-sheet .reward-history{margin-top:12px}
.recovered-sheet .session-card summary{cursor:pointer;min-height:32px;font-size:12px;font-weight:700}
#sessionDialog input,#sessionDialog textarea{box-sizing:border-box;font-size:16px}
#sessionDialog .sheet-actions{display:flex;flex-wrap:wrap;gap:8px}
#sessionDialog button{min-height:44px}
#rewardPreview{padding:12px;background:var(--accentSoft);border-radius:8px;line-height:1.5;font-weight:700}
#trialMode{width:100%;min-height:44px;font-size:14px;margin:8px 0}
#trialOutcome{font-size:12px;line-height:1.5;grid-column:1/-1}
.recovered-sheet .trial-group{grid-template-columns:repeat(5,minmax(0,1fr))}
@media screen{
 .recovered-sheet .sheet,.recovered-sheet .folio-index{width:100%;max-width:1040px}
 .recovered-sheet .page{width:100%;min-height:0;height:auto;margin-bottom:24px;overflow:visible}
 .recovered-sheet .play-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
 .recovered-sheet .play-grid>div{display:contents}
 .recovered-sheet .play-grid .card{margin:0;min-width:0}
 .recovered-sheet .play-grid .vitals-card{grid-column:1;grid-row:1}
 .recovered-sheet .play-grid .weapons-card{grid-column:2;grid-row:1}
 .recovered-sheet .play-grid .knacks-card{grid-column:1;grid-row:2}
 .recovered-sheet .play-grid .conflict-card{grid-column:2;grid-row:2}
 .recovered-sheet .play-grid .roll-card{grid-column:1;grid-row:3}
 .recovered-sheet .play-grid .distance-card{grid-column:2;grid-row:3}
 .recovered-sheet .play-grid .d20-display{grid-column:1/-1;min-height:160px;height:160px;margin:0}
 .recovered-sheet .prism-d20{max-height:160px;width:160px}
 .recovered-sheet .story-grid{align-items:start}
 /* Leave the parchment and glow in place without perpetual repaints. */
 .recovered-sheet .mast:after,.recovered-sheet .brand,.recovered-sheet .brand:after,
 .recovered-sheet .emblem,.recovered-sheet .emblem:before,.recovered-sheet .emblem:after,
 .recovered-sheet .prism-d20,.recovered-sheet .prism-d20 .spark,
 .recovered-sheet .ability-grimoire-sigil,.recovered-sheet .roll.triumph:after{animation:none!important;will-change:auto}
 .recovered-sheet button{transition:background-color .14s,color .14s,transform .14s}
 .recovered-sheet button:active:not(:disabled){transform:translateY(1px)}
}
@media screen and (max-width:760px){
 .recovered-sheet .growth-grid,.recovered-sheet .play-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .recovered-sheet .play-grid .card,.recovered-sheet .play-grid .d20-display{grid-column:auto;grid-row:auto}
 .recovered-sheet .play-grid .weapons-card{order:1}
 .recovered-sheet .play-grid .knacks-card{order:2}
 .recovered-sheet .play-grid .roll-card{order:3}
 .recovered-sheet .play-grid .distance-card{order:4}
 .recovered-sheet .play-grid .conflict-card{order:5}
 .recovered-sheet .play-grid .d20-display{order:6}
 .recovered-sheet .growth-grid .session-card{margin-bottom:0}
 #trialMode{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.recovered-sheet *,.recovered-sheet *:before,.recovered-sheet *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{
 .recovered-sheet .front-page{zoom:1!important}
 .recovered-sheet .page{border:0!important;padding:0!important;box-shadow:none!important}
 .recovered-sheet .play-grid,.recovered-sheet .front-page .grid2{display:block!important}
 .recovered-sheet .play-grid>div{display:contents!important}
 .recovered-sheet .growth-grid{display:block!important}
 .recovered-sheet .growth-grid>.card,.recovered-sheet .play-grid .card{margin:0 0 10px!important}
 .recovered-sheet .card,.recovered-sheet .ability{break-inside:avoid-page!important;page-break-inside:avoid!important}
 .recovered-sheet .card-title,.recovered-sheet .micro{break-after:avoid-page!important}
 .recovered-sheet .d20-display,.recovered-sheet .session-actions,.recovered-sheet #sessionState,.recovered-sheet .session-card details{display:none!important}
 .recovered-sheet .front-page .card:has(.print-mirror),.recovered-sheet .story-page .card:has(.print-mirror){break-inside:auto!important}
 .recovered-sheet .profile-grid,.recovered-sheet .inventory{display:block!important}
 .recovered-sheet .print-mirror{orphans:3;widows:3}
 .recovered-sheet .page:before,.recovered-sheet .page:after{display:none!important}
}
@media screen and (min-width:761px){
 .recovered-sheet .growth-grid{align-items:stretch}
 .recovered-sheet .growth-grid .calling-card{display:flex;flex-direction:column}
 .recovered-sheet .growth-grid .calling-progress{flex:1;align-content:space-evenly}
 .recovered-sheet .growth-grid .calling-track{align-content:center;min-height:66px}
 .recovered-sheet .growth-grid .calling-track>span:first-child{font-size:15px}
 .recovered-sheet .growth-grid .tier-pips i{width:13px;height:7px}
}
@media screen{
 .recovered-sheet .story-grid>div{display:contents}
 .recovered-sheet .story-grid .adventure-card{grid-column:1/-1}
 .recovered-sheet .story-grid .card{margin-bottom:0;min-width:0}
 .recovered-sheet .adventure-card .profile-item:has(#notes){grid-column:1/-1}
 .recovered-sheet .toolbar .save-guidance,.recovered-sheet .toolbar #status{grid-column:1/-1}
}
@media print{.recovered-sheet .card{overflow:visible!important}.recovered-sheet .print-mirror{max-width:100%;overflow-wrap:anywhere}}

/* Marks are immediate; the Hearth is the shared advancement window. */
.mark-awards{border-top:1px solid var(--line);margin-top:12px;padding-top:6px}
.mark-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.recovered-sheet .mark-buttons button{min-height:48px;padding:8px;border:1px solid var(--accentDark);border-radius:8px;background:var(--accentSoft);color:var(--accentDark);font-weight:800;cursor:pointer}
.recovered-sheet .mark-awards input{box-sizing:border-box;width:100%;font-size:16px;min-height:44px;padding:8px}
.mark-awards label{display:block;font-size:12px;margin:8px 0}
#classAllowance{font-size:11px}#awardLog{max-height:180px;overflow:auto;padding-left:22px;font-size:12px;line-height:1.6}
#advancementReady{font-weight:800;color:var(--accentDark);border-left:3px solid var(--accent);padding:8px 10px;background:var(--accentSoft);border-radius:0 6px 6px 0}
#undoMark{min-height:44px}#sessionDialog li{margin-bottom:12px;line-height:1.5}
.hearth-invitation{font:italic 17px/1.5 Georgia,serif}

#hearthOccasion{box-sizing:border-box;width:100%;min-height:44px;font-size:16px;margin:8px 0 12px}#sessionDialog #partyAgreementRow{display:flex;gap:10px;align-items:flex-start;line-height:1.5}#sessionDialog #partyAgreement{width:22px;min-width:22px;height:22px;min-height:22px;margin-top:3px}

/* Three folios: play at hand, a dedicated grimoire, and the hero's story. */
.recovered-sheet .play-name{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 16px;margin:0 0 16px}
.play-name>.micro{grid-column:1}.play-name>.hero-name{grid-column:1;width:100%;min-width:0}.play-name>.folio-link{grid-column:2;grid-row:1/3}
.recovered-sheet .combat-dashboard,.recovered-sheet .table-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;align-items:start}
.recovered-sheet .combat-dashboard{align-items:stretch}
.recovered-sheet .combat-dashboard>.card,.recovered-sheet .table-tools>.card,.recovered-sheet .reference-stack>.card{margin:0;min-width:0}
.recovered-sheet .combat-dashboard>.card{height:100%}
.recovered-sheet .table-tools{display:grid;gap:16px;min-width:0}
.recovered-sheet .game-reference{display:flex;flex-direction:column;min-width:0;align-self:start}
.section-caption{font:700 18px/1.3 Georgia,serif;color:var(--accentDark);margin:0 0 12px}
.recovered-sheet .reference-stack{display:grid;grid-template-rows:repeat(3,1fr);gap:16px;flex:1}
.recovered-sheet .reference-stack>.card{display:flex;flex-direction:column;justify-content:center;padding:18px;min-height:240px}
.recovered-sheet .reference-stack .card-title{margin-bottom:16px}
.recovered-sheet .reference-stack .conflict{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.recovered-sheet .reference-stack .conflict>div{padding:12px 6px;min-height:64px;display:flex;flex-direction:column;justify-content:center}
.recovered-sheet .reference-stack .conflict b{font-size:14px}.recovered-sheet .reference-stack .conflict small{font-size:12px}
.recovered-sheet .reference-stack .distance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.recovered-sheet .reference-stack .distance{min-height:66px}
.recovered-sheet .reference-stack .roll span{font-size:9px}
.recovered-sheet .reference-stack .sheet-actions{margin-top:14px}
.recovered-sheet .reference-stack #rollMode{font-size:14px;min-width:0;max-width:100%;min-height:44px}
.recovered-sheet .trial-card .trial-tracker{margin-top:8px}.recovered-sheet .trial-card .profile-item{border:0;padding:0;background:transparent}
.recovered-sheet .table-tools .pack-card .inventory{grid-template-columns:1fr}
.recovered-sheet .table-tools .pack-card textarea{min-height:58px}
.recovered-sheet .table-tools .pack-card .quick-list{font-size:11px}
.recovered-sheet .story-art{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;align-items:center;margin-top:20px}
.recovered-sheet .story-art .d20-display{min-height:160px;margin:0}.recovered-sheet .story-art .prism-d20{width:160px;max-height:160px}
.recovered-sheet .story-page .hero-head{margin-bottom:18px}
.recovered-sheet .story-grid .clues-card{grid-column:1/-1}
@media screen and (max-width:760px){
 .recovered-sheet .combat-dashboard,.recovered-sheet .table-dashboard{grid-template-columns:minmax(0,1fr);gap:14px}
 .recovered-sheet .combat-dashboard>.card{height:auto}
 .recovered-sheet .play-name{grid-template-columns:1fr}.play-name>.folio-link{grid-column:1;grid-row:auto;text-align:left}
 .recovered-sheet .reference-stack{grid-template-rows:repeat(3,1fr);gap:14px}
 .recovered-sheet .reference-stack>.card{min-height:260px;padding:16px}
 .recovered-sheet .story-art{grid-template-columns:1fr}.recovered-sheet .story-art .d20-display{display:none}
 .recovered-sheet .reference-stack #rollMode{font-size:16px}
}
@media print{
 .recovered-sheet .play-name>.folio-link{display:none}
 .recovered-sheet .combat-dashboard,.recovered-sheet .table-dashboard{display:block}
 .recovered-sheet .combat-dashboard>.card,.recovered-sheet .table-tools>.card,.recovered-sheet .reference-stack>.card{height:auto;margin-bottom:10px!important}
 .recovered-sheet .table-tools,.recovered-sheet .game-reference,.recovered-sheet .reference-stack{display:block}
 .recovered-sheet .reference-stack>.card{min-height:0;padding:10px}
 .recovered-sheet .section-caption{break-after:avoid-page}
 .recovered-sheet .story-art{display:none}
}
