.sheet{--ink:#3b2a18;--ink-soft:#6b5640;--rule:#8a6d3b;--rule-soft:#c4a86a;--box:#f3ead0;--box-2:#efe2c0;width:100%;min-height:100dvh;color:var(--ink);background-color:#efe2c4;background-image:radial-gradient(circle at 30% 15%,#ffffff59,#0000 55%),radial-gradient(circle at 80% 90%,#0000000f,#0000 60%),url(/images/parchment.webp);background-size:cover;background-attachment:fixed;padding:2rem 1rem 3rem;font-family:Georgia,Times New Roman,serif;line-height:1.45}h1,.pill-title,.ab-label,.lvl-num,.intro-text:first-letter{font-family:MedievalSharp,Georgia,serif;font-weight:400}#character-dice canvas{width:100%;height:100%;position:absolute;inset:0}.sheet-paper{border:3px double var(--rule);background:#fffcf459;border-radius:18px;max-width:64rem;margin-inline:auto;padding:1.5rem 1.5rem 1.75rem;box-shadow:0 6px 24px #3b2a182e,inset 0 0 80px #785a3233}.sheet-header{text-align:center;margin-bottom:1.5rem;position:relative}.sheet h1{letter-spacing:.03em;text-transform:uppercase;text-shadow:0 1px #fffcf499,0 2px 3px #3b2a182e;margin:0;font-size:clamp(2rem,6vw,3.25rem)}.sheet-class{color:var(--ink-soft);margin-top:.25rem}.sheet-hint{color:var(--ink-soft);margin-top:.5rem;font-size:.85rem;font-style:italic}.hint-icon{fill:currentColor;vertical-align:-.18em;width:1.15rem;height:1.15rem;margin-right:.35rem;display:inline-block}.level-shield{width:3.6rem;height:4.25rem;position:absolute;top:-.25rem;right:0}.level-shield svg{width:100%;height:100%;display:block}.level-text{text-align:center;position:absolute;top:.9rem;left:0;right:0}.lvl-label{letter-spacing:.08em;color:var(--ink-soft);font-size:.5rem}.lvl-num{font-size:1.5rem;line-height:1}.divider{max-width:22rem;color:var(--rule);align-items:center;gap:.6rem;margin:.6rem auto 0;display:flex}.divider:before,.divider:after{content:"";background:var(--rule-soft);flex:1;height:1px}.divider span{font-size:.85rem}.body{align-items:flex-start;gap:1.1rem;display:flex}.rail{width:30%}.main{width:70%}.ab{border:2px solid var(--rule);background:var(--box);text-align:center;width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:14px;margin-bottom:1.75rem;padding:.7rem .5rem 1.9rem;transition:transform .15s,background .15s,box-shadow .15s;display:block;position:relative;box-shadow:inset 0 1px #ffffff80,0 1px 3px #3b2a181f}.ab:hover,.ab:focus-visible{background:#f7efd8;outline:none;transform:translateY(-2px);box-shadow:0 5px 14px #3b2a1838}.ab-icon{fill:currentColor;width:1.9rem;height:1.9rem;color:var(--ink-soft);margin:0 auto .15rem;display:block}.ab-label{font-size:.95rem;display:block}.ab-score{text-shadow:0 1px #fff9;margin-top:.1rem;font-size:2.1rem;font-weight:700;line-height:1;display:block}.ab-src{color:var(--ink-soft);margin-top:.2rem;font-size:.62rem;display:block}.ab-mod{border:2px solid var(--rule);background:#fffdf6;border-radius:50%;width:2.6rem;height:2.6rem;font-size:1rem;font-weight:700;line-height:2.35rem;position:absolute;bottom:-1.25rem;left:50%;transform:translate(-50%);box-shadow:0 2px 5px #3b2a1840}.panel{border:2px solid var(--rule);background:#fffdf780;border-radius:14px;margin-bottom:1.4rem;padding:1.3rem 1rem .9rem;position:relative;box-shadow:inset 0 1px #ffffff80,0 1px 3px #3b2a181a}.pill-title{background:var(--box-2);border:2px solid var(--rule);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;margin:0;padding:.18rem 1rem;font-size:.95rem;position:absolute;top:-.9rem;left:1.1rem;box-shadow:0 1px 3px #3b2a1826}.pill-title:before,.pill-title:after{content:"❖";color:var(--rule-soft);vertical-align:.12em;font-size:.5rem}.pill-title:before{margin-right:.45rem}.pill-title:after{margin-left:.45rem}.group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);border-bottom:1px solid var(--rule-soft);margin:.7rem 0 .45rem;padding-bottom:.2rem;font-size:.72rem;font-weight:400}.group-label:first-of-type{margin-top:.1rem}.chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.3rem;display:flex}.chip{border:1.5px solid var(--rule-soft);background:var(--box);font:inherit;color:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;padding:.22rem .75rem;font-size:.8rem;transition:transform .12s,background .12s,box-shadow .12s}.chip:hover,.chip:focus-visible{background:#fff;outline:none;transform:translateY(-1px);box-shadow:0 3px 8px #3b2a1833}.chip b{font-weight:700}.log-row{border-bottom:1px dashed var(--rule-soft);padding:.28rem 0;font-size:.85rem;display:flex}.log-row:last-child{border-bottom:0}.log-date{width:32%;color:var(--ink-soft);flex-shrink:0}.lang-row{border-bottom:1px dashed var(--rule-soft);justify-content:space-between;padding:.28rem 0;font-size:.85rem;display:flex}.lang-row:last-child{border-bottom:0}.lang-lvl{color:var(--ink-soft)}.intro-text{margin:0;font-size:.85rem;line-height:1.6}.intro-text:first-letter{float:left;color:var(--rule);margin:.25rem .5rem 0 0;font-size:2.9rem;line-height:.8}.sheet-footer{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.75rem;font-size:.9rem;display:flex}.sheet-footer:before{content:"⚜";text-align:center;color:var(--rule-soft);flex-basis:100%;margin-bottom:.1rem;font-size:1rem}.sheet-footer a{color:var(--ink);text-decoration:underline}.sheet-credit{text-align:center;color:var(--ink-soft);margin-top:1rem;font-size:.7rem}.sheet-credit a{color:inherit;text-decoration:underline}.dice-overlay{pointer-events:none;z-index:50;position:fixed;inset:0}.roll-result{z-index:60;text-align:center;color:var(--ink);pointer-events:none;font-size:1.35rem;font-weight:700;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.roll-result.roll-result-shown{border:2px solid var(--rule);background:#f4ecd6f0;border-radius:9999px;padding:.5rem 1.5rem;box-shadow:0 6px 20px #3b2a1859}.roll-result.crit-success{color:#15803d}.roll-result.crit-fail{color:#b91c1c}@media (width<=720px){.body{flex-direction:column}.rail,.main{width:100%}.rail{grid-template-columns:repeat(2,1fr);gap:2.4rem 1rem;display:grid}.ab{margin-bottom:0}.level-shield{width:3rem;height:3.5rem;margin:0 auto .5rem;position:relative;top:auto;right:auto}.lvl-num{font-size:1.2rem}.level-text{top:.7rem}}@media (prefers-reduced-motion:reduce){.ab,.chip{transition:none}}@media print{.sheet{background:#fff;padding:0}.sheet-paper{box-shadow:none}.dice-overlay,.roll-result,.sheet-hint{display:none!important}.ab,.chip{cursor:default}}
