:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#101820;color:#eee7d7;--gold:#e4c58a;--muted:#b9c9ca;--edge:#615a48;--panel:#18252b;--glow:#2a4145}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 65% 9%,#293b41 0%,#101820 63%)}.shell{width:min(1050px,calc(100% - 36px));margin:0 auto;padding:clamp(28px,5vw,64px) 0}.eyebrow,.chapter{font-size:.72rem;letter-spacing:.2em;color:#d6b878;font-weight:700}h1{font:clamp(2.3rem,6vw,4.6rem)/1.08 Georgia,serif;letter-spacing:-.035em;margin:17px 0 16px}p{line-height:1.6;color:#c9d0cd}.lead{max-width:70ch;margin-bottom:34px}.lead strong{color:#eee7d7}.forge,.status{border:1px solid var(--edge);background:linear-gradient(145deg,#1b2a2e,#142027);border-radius:12px;box-shadow:0 18px 55px #0005}.forge{padding:clamp(14px,3vw,28px)}.forge-header{display:flex;gap:18px;align-items:end;justify-content:space-between;border-bottom:1px solid #56605a;padding-bottom:20px}.forge h2,.status h2{font:clamp(1.45rem,3vw,2rem) Georgia,serif;color:var(--gold);margin:10px 0 0}.forge-actions{display:flex;flex-wrap:wrap;gap:8px}.action{font:600 .88rem system-ui,sans-serif;border:1px solid #b39b65;background:#443925;color:#f5e5bd;padding:10px 14px;border-radius:6px;cursor:pointer;min-height:44px}.action:hover{background:#5a4929}.action-muted{background:transparent;border-color:#657271;color:#dbe3e0}.action-muted:hover{background:#2a3e44}.action:focus-visible,.party-tabs button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f5d587;outline-offset:2px}.party-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:21px 0}.party-tabs button{color:#c7d6d0;text-align:left;border:1px solid #41575a;background:#152126;border-radius:8px;min-height:76px;padding:12px;cursor:pointer}.party-tabs button[aria-selected="true"]{background:#2b3c3d;border-color:#ddbd7b;box-shadow:inset 0 0 0 1px #967d4e}.party-tabs b,.party-tabs span{display:block}.party-tabs b{font:1.12rem Georgia,serif;color:#f3e7ce;overflow-wrap:anywhere}.party-tabs span{font-size:.78rem;margin-top:7px;color:#bacac7}.character-sheet{min-height:260px}.sheet-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 20px}.sheet-top h3{font:1.4rem Georgia,serif;color:#f1d79a;margin:0}.sheet-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-grid label{font-size:.82rem;color:#cbd7d3}.field-grid input,.field-grid select{display:block;width:100%;padding:10px;margin-top:7px;color:#f5f2e8;border:1px solid #526567;border-radius:6px;background:#101e24;font:inherit;min-height:42px}.stats{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 11px;border:1px solid #405457;background:#122026;border-radius:6px}.stat dt{font-size:.76rem;color:#c8d6d4}.stat dd{margin:0;color:#f0d48f;font-weight:800;font-variant-numeric:tabular-nums}.stat small{color:#afc3c2;margin-left:4px;font-size:.72rem}.derived{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.derived span{border:1px solid #5c624e;border-radius:30px;padding:7px 12px;color:#e0d3aa;font-size:.79rem}.character-details{margin-top:16px;color:#cbd7d3;font-size:.85rem;line-height:1.5}.forge-message{min-height:27px;margin:17px 0 0;color:#e5d399;font-size:.87rem}.forge-message.error{color:#ffc4ac}.privacy{margin:8px 0 0;font-size:.76rem;color:#91aaa8}.status{margin:30px 0 20px;padding:22px 26px}.status h2{font-size:1.35rem;margin:0}.status p{margin-bottom:0}footer{color:#96a7a9;font-size:.78rem}@media(max-width:720px){.forge-header{align-items:start;flex-direction:column}.sheet-grid{grid-template-columns:1fr}.party-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{width:min(100% - 24px,1050px)}.field-grid{grid-template-columns:1fr 1fr}}@media(max-width:390px){.field-grid{grid-template-columns:1fr}.forge-actions{width:100%}.action{flex:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* The first independent, authored Chronicles exploration slice. */
.crypt-preview{margin-bottom:28px}
.crypt-intro{max-width:75ch;margin:20px 0;color:#cbd7d3;font-size:.94rem}
.crypt-intro strong{color:#f3ddac}
.crypt-layout{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(16px,3vw,32px);align-items:start}
.crypt-map-frame{min-width:0}
.crypt-map{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));aspect-ratio:1/1;border:4px ridge #7e6848;border-radius:7px;background:#091518;box-shadow:inset 0 0 30px #000a,0 14px 35px #0006;overflow:hidden}
.crypt-cell{display:grid;place-items:center;font:800 clamp(.9rem,2.6vw,1.6rem)/1 Georgia,serif;color:#9bb3ad;border:1px solid #324346;background:radial-gradient(circle at 40% 30%,#263336,#172329);min-width:0;min-height:0}
.crypt-cell.crypt-wall{background:linear-gradient(135deg,#3e4b50,#273238);border-color:#556367;box-shadow:inset 2px 2px 5px #0008}
.crypt-cell.crypt-gate{color:#e3bf76;background:#283035}
.crypt-cell.crypt-sigil{color:#e7d29d;background:#39402c}
.crypt-cell.crypt-lever{color:#d1bb91}
.crypt-cell.crypt-enemy{color:#fa9286;text-shadow:0 0 12px #dd5d58}
.crypt-cell.crypt-party{color:#fff4d9;background:radial-gradient(circle,#576a69,#34484b);text-shadow:0 0 11px #f7e2b7;box-shadow:inset 0 0 0 2px #efd38a}
.crypt-legend{font-size:.72rem;line-height:1.5;margin:9px 0 0;color:#b2c6c3}
.crypt-controls{min-width:0}
.crypt-readout{font:600 .84rem system-ui,sans-serif;color:#edd395;border-bottom:1px solid #526463;padding-bottom:13px;margin:0}
.crypt-message{font:1.06rem/1.55 Georgia,serif;color:#f0e9d9;min-height:65px;margin:16px 0}
.crypt-interaction{font-size:.82rem;color:#aebfbc;min-height:38px}
.crypt-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.crypt-pad button{border:1px solid #71817b;background:#21353a;color:#f0e7d0;border-radius:7px;padding:11px 6px;min-height:54px;font:600 .79rem/1.25 system-ui,sans-serif;cursor:pointer}
.crypt-pad button:hover{background:#36545a;border-color:#e1c58c}
.crypt-interact-button{margin:11px 0 0;width:100%}
.crypt-preview:focus-visible,.crypt-pad button:focus-visible,.crypt-interact-button:focus-visible{outline:3px solid #f6cf86;outline-offset:3px}
.crypt-controls .privacy{line-height:1.5;margin-top:14px}
@media(max-width:780px){.crypt-layout{grid-template-columns:1fr}.crypt-map-frame{max-width:440px;margin-inline:auto;width:100%}.crypt-pad button{min-height:50px}}
@media(max-width:390px){.crypt-pad button{font-size:.73rem;padding:9px 4px}.crypt-cell{font-size:1.13rem}}
