@font-face{font-family:Alegreya Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/alegreya-sans-400-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/alegreya-sans-400-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/alegreya-sans-400-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/alegreya-sans-400-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/alegreya-sans-500-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/alegreya-sans-500-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/alegreya-sans-700-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/alegreya-sans-700-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-500-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-500-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-500-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-500-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/cormorant-garamond-700-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/cormorant-garamond-700-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans Fallback;src:local(Segoe UI),local(Roboto),local(Helvetica Neue),local(Arial);size-adjust:86%;ascent-override:93%;descent-override:23.3%;line-gap-override:0%}@font-face{font-family:Cormorant Garamond Fallback;src:local(Georgia);size-adjust:90%;ascent-override:102.2%;descent-override:32.2%;line-gap-override:0%}:root{--gm-bg:#0e1310;--gm-panel:#161d18;--gm-line:#2a3830;--gm-ink:#d9cfae;--gm-dim:#8a927f;--gm-verd:#5aa88c;--gm-copper:#c9913d;--gm-red:#b0523f;--gm-copper-soft:#c9913d1f;--gm-verd-glow:#5aa88c66;--gm-panel-veil:#161d18f2;--gm-on-accent:#0c1410;--gm-scrim:#0009;--gm-cell-clue-yes-bg:#26362e;--gm-cell-clue-yes-border:#4c6250;--gm-cell-clue-no-bg:#352e1e;--gm-cell-clue-no-border:#5a5133;--gm-cell-clue-empty-border:#4a5a41;--gm-cell-yes-bg:#0d1512;--gm-cell-yes-border:#33473d;--gm-cell-no-bg:#100d08;--gm-cell-no-border:#463d27;--gm-cell-err-bg:#3a1c17;--gm-cell-target-bg:#16241d;--gm-cell-evidence-bg:#241f14;--gm-cell-evidence-border:#8f6a30;--gm-cell-hint-bg:#33270f;--gm-cell-row-bg:#131b16;--gm-cell-row-border:#3c4c42;--gm-clue-bevel:inset 0 1px 0 #ffffff26, inset 0 -1px 0 #00000059, inset 0 0 0 1px #00000026;--gm-crosshair:#ddcd9e17;--gm-mark-no:#8b7f61;--gm-gold:#e8bd63;--gm-gold-glow:#e8bd6359;--gm-note-bg:#15140f;--gm-note-line:#2a241a;--gm-today-bg:#1e2a23;--gm-focus:#d9cfae;--gm-active-bg:#2a2113;--gm-shadow-sm:0 4px 14px #0008;--gm-shadow-lg:0 10px 34px #000b;--gm-note-yes:.62;--gm-note-no:.58}:root[data-theme=light]{--gm-bg:#d5d5cf;--gm-panel:#fff;--gm-line:#9aa094;--gm-ink:#0f1214;--gm-dim:#3d423c;--gm-verd:#0f5c40;--gm-copper:#6f4a0c;--gm-red:#8c2314;--gm-copper-soft:#6f4a0c26;--gm-verd-glow:#0f5c404d;--gm-panel-veil:#fffffff2;--gm-on-accent:#fff;--gm-scrim:#0f12147a;--gm-cell-clue-yes-bg:#d3e7da;--gm-cell-clue-yes-border:#5f9880;--gm-cell-clue-no-bg:#e9dfc2;--gm-cell-clue-no-border:#94855f;--gm-cell-clue-empty-border:#b6bdb1;--gm-cell-yes-bg:#9ed3b4;--gm-cell-yes-border:#2f6f55;--gm-cell-no-bg:#e3cd8f;--gm-cell-no-border:#7d6a32;--gm-cell-err-bg:#f7b3a3;--gm-cell-target-bg:#b6e3cb;--gm-cell-evidence-bg:#f0d9a0;--gm-cell-evidence-border:#a67f2b;--gm-cell-hint-bg:#f8d795;--gm-cell-row-bg:#eff1ec;--gm-cell-row-border:#a8afa3;--gm-clue-bevel:inset 0 1px 0 #fff, inset 0 -1px 0 #00000014, inset 0 0 0 1px #00000010;--gm-crosshair:#0f12141a;--gm-mark-no:#5c5535;--gm-gold:#8f6208;--gm-gold-glow:#c2891f8c;--gm-note-bg:#fdfaef;--gm-note-line:#c3bda6;--gm-today-bg:#bfe6d0;--gm-focus:#0f1214;--gm-active-bg:#f2d79a;--gm-shadow-sm:0 4px 14px #0f12142e;--gm-shadow-lg:0 10px 34px #0f121440;--gm-note-yes:.85;--gm-note-no:.8}*{box-sizing:border-box}html,body{background:var(--gm-bg);margin:0}#root{min-height:100vh}button:focus-visible{outline:2px solid var(--gm-verd)}.gm-cell{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:filter .12s}.gm-line-label{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.gm-cell:focus-visible{outline:2px solid var(--gm-focus);outline-offset:2px}@media (hover:hover) and (pointer:fine){.gm-cell-live:hover{filter:brightness(1.15)}}.gm-mark-ink path{stroke-dasharray:1;stroke-dashoffset:1px;animation:.16s ease-out forwards gm-ink}@keyframes gm-ink{to{stroke-dashoffset:0}}.gm-pip{transition:background-color .25s,border-color .25s}.gm-line-label{transition:opacity .25s}.gm-line-done{opacity:.45}.gm-board-solved .gm-mark-yes path{stroke:var(--gm-gold);stroke-width:3.1px;stroke-dasharray:none;stroke-dashoffset:0;animation:none}.gm-board-solved .gm-mark-no{opacity:.34}.gm-board-solved .gm-mark-yes{filter:drop-shadow(0 0 3px var(--gm-gold-glow));overflow:visible}.gm-board-gilding .gm-mark-yes path{animation:gm-gild .62s ease-out var(--gm-gild-d,0s) both}@keyframes gm-gild{0%{stroke:var(--gm-verd);stroke-width:2.6px}45%{stroke:var(--gm-gold);stroke-width:3.6px}to{stroke:var(--gm-gold);stroke-width:3.1px}}.gm-board-gilding .gm-mark-yes{animation:gm-gild-glow .62s ease-out var(--gm-gild-d,0s) both}@keyframes gm-gild-glow{0%{filter:drop-shadow(0 0 #0000)}45%{filter:drop-shadow(0 0 10px var(--gm-gold-glow))}to{filter:drop-shadow(0 0 3px var(--gm-gold-glow))}}.gm-panel-gilding{animation:1.5s ease-out both gm-seal}@keyframes gm-seal{0%{box-shadow:0 0 #0000}35%{box-shadow:0 0 30px 2px var(--gm-gold-glow)}to{box-shadow:0 0 #0000}}.gm-name-tag{animation:.2s ease-out both gm-name-in}@keyframes gm-name-in{0%{opacity:0}to{opacity:1}}.gm-mote{background:var(--gm-gold);pointer-events:none;opacity:0;width:3px;height:3px;animation:gm-mote 2.1s ease-out var(--gm-mote-d,0s) forwards;border-radius:50%;position:absolute;bottom:6%}@keyframes gm-mote{0%{opacity:0;transform:translate(0)scale(.5)}20%{opacity:.8}to{transform:translate(var(--gm-mote-x,0px), -150px) scale(1.15);opacity:0}}@media (prefers-reduced-motion:reduce){.gm-cell{transition:none}.gm-board-gilding .gm-mark-yes path,.gm-board-gilding .gm-mark-yes,.gm-panel-gilding,.gm-mote{animation:none}.gm-mote{display:none}.gm-mark-ink path{stroke-dashoffset:0;animation:none}.gm-name-tag{animation:none}.gm-pip,.gm-line-label{transition:none}}.grimorium-app{margin:0 auto}details.lore{margin:2px 0 8px}.gm-large details.lore{margin:0 0 4px}details.lore>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--gm-copper);padding:2px 0;font-size:clamp(16px,2.8vw,17.5px);font-weight:600;list-style:none}details.lore>summary::-webkit-details-marker{display:none}details.lore>summary:before{content:"▸";margin-right:6px;transition:transform .15s;display:inline-block}details.lore[open]>summary:before{transform:rotate(90deg)}
