:root{--de-nav-green:#809536;--de-nav-bg:#050704;--de-nav-panel:#0c0e09;--de-nav-hover:#202619;--de-nav-current:#30391e;--de-nav-line:#3a3a26;--de-nav-fg:#f1f2eb;--de-nav-dim:#9da294;--de-site-header-height:3.25rem}.de-site-header,.de-site-header *{box-sizing:border-box}.de-site-header{z-index:1000;width:100%;min-height:var(--de-site-header-height);border-bottom:1px solid var(--de-nav-line);color:var(--de-nav-fg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050704f5;flex:none;font-family:Verdana,Geneva,system-ui,sans-serif;position:sticky;top:0;box-shadow:0 5px 18px #0000004d}.de-site-bar{width:min(100%, var(--maxw,92rem));min-height:var(--de-site-header-height);justify-content:space-between;align-items:center;gap:clamp(.5rem,1.5vw,1rem);margin:0 auto;padding:.25rem clamp(.65rem,1.8vw,1rem);display:flex}.de-site-brand{min-width:0;color:var(--de-nav-green);align-items:center;text-decoration:none;display:inline-flex}.de-site-brand:hover,.de-site-brand:focus-visible{color:#a6c64a}.de-site-brand:focus-visible,.de-site-menu-button:focus-visible,.de-site-menu-panel a:focus-visible{outline:2px solid var(--de-nav-green);outline-offset:3px}.de-site-wordmark{color:currentColor;letter-spacing:.04em;text-shadow:0 0 .55rem #8095363d;white-space:nowrap;font:700 clamp(1.05rem,3.5vw,1.375rem)/1 Tempus Sans ITC,Trajan Pro,Palatino Linotype,Georgia,serif;display:inline-block}.de-site-menu{flex:none;position:relative}.de-site-menu-button{border:1px solid var(--de-nav-line);background:var(--de-nav-panel);min-width:5.5rem;min-height:2.75rem;color:var(--de-nav-fg);letter-spacing:.045em;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.25rem;justify-content:center;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.78rem;font-weight:700;line-height:1;list-style:none;display:inline-flex}.de-site-menu-button::-webkit-details-marker{display:none}.de-site-menu-button::marker{content:""}.de-site-menu-button:hover,.de-site-menu[open] .de-site-menu-button{border-color:var(--de-nav-green);background:#151a10}.de-site-menu-icon{color:var(--de-nav-green);font-size:1rem;font-weight:400;line-height:.8}.de-site-menu-panel{width:min(92vw,38rem);max-height:calc(100dvh - var(--de-site-header-height) - 1rem);border:1px solid var(--de-nav-line);background:#0c0e09fa;border-radius:.35rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:.85rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;overflow-y:auto;box-shadow:0 18px 48px #000000b8}.de-site-menu:not([open]) .de-site-menu-panel{display:none}.de-site-menu-group{align-content:start;gap:.12rem;display:grid}.de-site-menu-heading{color:var(--de-nav-dim);letter-spacing:.12em;text-transform:uppercase;margin:0;padding:.25rem .65rem .35rem;font-size:.65rem;font-weight:700;line-height:1.2}.de-site-menu-panel a{min-height:2.35rem;color:var(--de-nav-fg);border:1px solid #0000;border-radius:.2rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;font-size:.83rem;font-weight:700;line-height:1.25;text-decoration:none;display:flex}.de-site-menu-panel a:hover{background:var(--de-nav-hover);color:#fff;border-color:#313820}.de-site-menu-panel a[aria-current=page]{border-color:var(--de-nav-green);background:var(--de-nav-current);color:#fff}.de-site-skip{z-index:2000;border:1px solid var(--de-nav-green);background:var(--de-nav-bg);color:#fff;border-radius:.2rem;padding:.65rem .85rem;font:700 .8rem/1 Verdana,Geneva,system-ui,sans-serif;text-decoration:none;position:fixed;top:.5rem;left:.5rem;transform:translateY(-180%)}.de-site-skip:focus{transform:translateY(0)}@media (width<=36rem){.de-site-menu-panel{grid-template-columns:1fr;width:min(88vw,21rem)}}@media (width<=22rem){.de-site-bar{gap:.4rem;padding-inline:.5rem}.de-site-menu-button{min-width:2.75rem;padding-inline:.65rem}.de-site-menu-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){.de-site-skip{transition:none}}@media (forced-colors:active){.de-site-header,.de-site-menu-button,.de-site-menu-panel,.de-site-menu-panel a{color:canvastext;background:canvas;border-color:canvastext}}:root{color:#e8dfc8;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0e0d0b;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}html,#root{height:100%}body{background:radial-gradient(circle at top,#272218 0,#0000 34rem),#0e0d0b;min-width:20rem;height:100%;margin:0}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:500}h2{color:#d8b865;letter-spacing:.12em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}button{color:#f5edd9;min-width:2.75rem;min-height:2.75rem;font:inherit;cursor:pointer;background:#29241b;border:1px solid #74664a;border-radius:.25rem}button:hover{background:#393124}button:focus-visible{outline-offset:2px;outline:3px solid #d8b865}button:disabled{color:#93876d;cursor:not-allowed;background:#1d1913;border-color:#4a4132}button:disabled:hover{background:#1d1913}button.contextual{background:#40361e;border-color:#d8b865}kbd{border:1px solid #74664a;border-radius:.15rem;margin-left:.65rem;padding:.1rem .3rem;font:.75rem ui-monospace,SFMono-Regular,Consolas,monospace}.app-shell{background:#5d513b;border-inline:1px solid #5d513b;grid-template:"title title""scene side""log side"minmax(12rem,1fr)"commands commands"/minmax(0,2fr) minmax(17rem,1fr);gap:1px;width:min(100%,92rem);min-height:100vh;margin:0 auto;display:grid}.app-shell.has-actions{grid-template-rows:auto auto minmax(12rem,1fr) auto auto;grid-template-areas:"title title""scene side""log side""actions actions""commands commands"}.app-shell>*{background:#17140f;padding:clamp(1rem,2vw,1.6rem)}.app-shell>.side-column{background:#5d513b;flex-direction:column;grid-area:side;gap:1px;padding:0;display:flex}.side-column>*{background:#17140f;padding:clamp(1rem,2vw,1.6rem)}.side-column>:last-child{flex:1}.title-bar{grid-area:title;justify-content:space-between;align-items:end;display:flex}.eyebrow,.location{color:#a99b7a;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font:.75rem ui-monospace,SFMono-Regular,Consolas,monospace}.location{margin:0 0 .3rem 1rem}.scene-panel{grid-area:scene;align-content:center;justify-items:center;min-height:21rem;display:grid}.scene-art{color:#c9b77e;white-space:pre;max-width:100%;font:clamp(.62rem,1.15vw,.95rem)/1.12 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.scene-art-compact{display:none}.scene-caption{color:#c9b77e;margin:0 0 .7rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;display:none}.scene-description{max-width:62ch;margin:1.2rem auto 0;line-height:1.55}.narrative-panel{grid-area:dialogue}blockquote{border-left:2px solid #74664a;margin:0;padding-left:1rem;line-height:1.55}blockquote footer{color:#a99b7a}.status-panel{grid-area:status}.status-name{color:#f5edd9;margin:0 0 .35rem}.status-pools{color:#bfb398;margin:0;line-height:1.4}.party-panel{grid-area:party}.party-empty{color:#a99b7a;margin:0;font-size:.9rem}.party-panel h3{color:#d8b865;letter-spacing:.12em;text-transform:uppercase;margin:1.4rem 0 .6rem;font:.78rem ui-monospace,SFMono-Regular,Consolas,monospace}.enemy-list{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.enemy-name{color:#f5edd9}.enemy-meta{color:#bfb398;font-size:.85rem;line-height:1.4;display:block}.enemy-intent{color:#d8b865;margin-top:.2rem;line-height:1.4;display:block}dl,dl div{gap:.35rem;margin:0;display:grid}dl{gap:1rem}dt{color:#f5edd9}dd{color:#bfb398;margin:0;line-height:1.4}.log-panel{flex-direction:column;grid-area:log;display:flex;position:relative}.log-header{justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.log-header button{padding-inline:.8rem}.log-scroll{flex:1;min-height:8rem;overflow-y:auto}.log-empty{color:#6f6650;margin:0;font-style:italic}.log-panel ol{color:#bfb398;margin:0;padding-left:1.25rem;line-height:1.45}.log-panel li+li{margin-top:.5rem}.history-overlay{z-index:2;background:#17140f;border:1px solid #d8b865;padding:clamp(1rem,2vw,1.6rem);position:absolute;inset:0;overflow-y:auto}.history-header{justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.history-header h3{color:#d8b865;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .7rem;font:.82rem ui-monospace,SFMono-Regular,Consolas,monospace}.history-header button{padding-inline:.8rem}.combat-glyph{color:#d8b865}.journal-panel{grid-area:journal}.journal-panel ol{color:#cfc3a6;max-width:70ch;margin:0;padding:0;font-style:italic;line-height:1.55;list-style:none}.journal-panel li+li{margin-top:.6rem}.journal-empty{color:#a99b7a;margin:0;font-size:.9rem}.contextual-panel{border-inline-start:.35rem double #d8b865;grid-area:actions}.contextual-panel h2{margin-bottom:.7rem}.contextual-actions{flex-wrap:wrap;gap:.65rem;display:flex}.contextual-actions button{flex:0 auto;padding-inline:1rem}.contextual-glyph{color:#d8b865}.mana-cost{color:#a99b7a;margin-left:.6rem;font:.75rem ui-monospace,SFMono-Regular,Consolas,monospace}.ability-button{padding-inline:1rem}.gate-reason{color:#a99b7a;margin-top:.25rem;font-size:.8rem;display:block}.command-panel{z-index:1;flex-wrap:wrap;grid-area:commands;gap:.65rem;display:flex;position:sticky;bottom:0;box-shadow:0 -.5rem 1.5rem #0e0d0bcc}.command-panel button{flex:9rem}.title-aside{text-align:right;flex-direction:column;align-items:flex-end;gap:.7rem;display:flex}.save-panel{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.save-panel button{min-width:0;min-height:1.35rem;padding:.05rem .55rem;font-size:.78rem;line-height:1.15}.save-panel output{color:#a99b7a;font:.72rem ui-monospace,SFMono-Regular,Consolas,monospace}.save-panel button.recover{border-color:#d8b865}.update-prompt{border:1px dashed #74664a;border-radius:.25rem;align-items:center;gap:.5rem;margin-inline-start:auto;padding:.3rem .6rem;font-size:.85rem;display:flex}.update-prompt button{min-height:2.75rem;padding-inline:.7rem}.error-shell{background:#17140f;border:1px solid #5d513b;max-width:40rem;margin:4rem auto;padding:clamp(1rem,2vw,1.6rem)}.error-detail{color:#a99b7a;overflow-wrap:anywhere;font:.8rem ui-monospace,SFMono-Regular,Consolas,monospace}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.creation-shell{background:#5d513b;border-inline:1px solid #5d513b;grid-template-columns:1fr;grid-template-areas:"title""steps""leftcol""rightcol""nav""save";align-content:start;gap:1px;width:min(100%,92rem);min-height:100vh;margin:0 auto;display:grid}.creation-shell>*{background:#17140f;padding:clamp(1rem,2vw,1.6rem)}.creation-left,.creation-right{background:#5d513b;gap:1px;padding:0}.creation-left{flex-direction:column;grid-area:leftcol;display:flex}.creation-left>*{background:#17140f;padding:clamp(1rem,2vw,1.6rem)}.creation-right{grid-area:rightcol}.creation-shell .scene-panel{min-height:auto}.creation-steps{grid-area:steps}.creation-step-body{background:#5d513b;gap:1px;display:grid}.creation-step-body>*{background:#17140f;padding:clamp(1rem,2vw,1.6rem)}.creation-nav{grid-area:nav}.creation-steps ol{flex-wrap:wrap;gap:.6rem 1.1rem;margin:0;padding:0;list-style:none;display:flex}.step-dot{color:#a99b7a;letter-spacing:.04em;align-items:center;gap:.5rem;font:.82rem ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.step-dot .step-index{color:#bfb398;border:1px solid #74664a;border-radius:50%;justify-content:center;align-items:center;width:1.55rem;height:1.55rem;display:inline-flex}.step-dot.current{color:#f5edd9}.step-dot.current .step-index{color:#f5edd9;background:#40361e;border-color:#d8b865}.step-dot.done .step-index{color:#cdd6a8;border-color:#7f8a5c}.step-dot.done .step-index:after{content:"✓"}.step-dot.done .step-index{font-size:0}.step-dot.done .step-index:after{font-size:.9rem}.creation-nav-buttons{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.creation-back,.creation-next{min-height:2.75rem;padding-inline:1.4rem}.creation-next{margin-left:auto}.identity-panel,.race-panel,.lens-panel,.class-panel,.second-class-panel{grid-area:auto}.panel-head{flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;display:flex}.panel-note{text-transform:none;color:#a99b7a;letter-spacing:.03em;font:.72rem ui-monospace,SFMono-Regular,Consolas,monospace}.begin-panel{grid-area:auto}.card-metas{flex-wrap:wrap;gap:.4rem;display:flex}.card-meta{color:#b8c6de;letter-spacing:.03em;border:1px solid #6f7f9a;border-radius:.15rem;padding:.15rem .5rem;font:.72rem ui-monospace,SFMono-Regular,Consolas,monospace}.name-field{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.name-field label{color:#f5edd9}.name-field input{color:#f5edd9;min-width:min(100%,18rem);min-height:2.75rem;font:inherit;background:#29241b;border:1px solid #74664a;border-radius:.25rem;padding:.4rem .7rem}.name-field input:focus-visible{outline-offset:2px;outline:3px solid #d8b865}.field-error{color:#e0a17c;margin:.6rem 0 0;font:.8rem ui-monospace,SFMono-Regular,Consolas,monospace}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}button.choice-card{text-align:left;flex-direction:column;align-items:stretch;gap:.55rem;padding:.9rem 1rem;line-height:1.45;display:flex}.choice-card[aria-pressed=true]{background:#40361e;border-color:#d8b865}.card-head{align-items:baseline;gap:.6rem;display:flex}.card-head kbd{margin-left:auto}.card-name{color:#f5edd9;font-size:1.05rem}.card-badge{color:#d8b865;letter-spacing:.08em;text-transform:uppercase;border:1px solid #d8b865;border-radius:.15rem;padding:.1rem .4rem;font:.68rem ui-monospace,SFMono-Regular,Consolas,monospace}.card-summary{color:#bfb398}.card-abilities{gap:.45rem;display:grid}.card-ability{display:block}.ability-name{color:#f5edd9}.ability-flavor{color:#a99b7a;font-size:.9rem;font-style:italic;display:block}.card-chosen{color:#d8b865;letter-spacing:.08em;text-transform:uppercase;min-height:1.2em;font:.75rem ui-monospace,SFMono-Regular,Consolas,monospace}.creation-summary{flex-wrap:wrap;gap:1.2rem;margin:0 0 1rem;display:flex}.creation-summary div{gap:.2rem;display:grid}.creation-summary dt{color:#a99b7a;letter-spacing:.1em;text-transform:uppercase;font:.72rem ui-monospace,SFMono-Regular,Consolas,monospace}.creation-summary dd{color:#f5edd9;margin:0}.begin-button{padding-inline:1.4rem}.begin-hint{color:#a99b7a;margin:.7rem 0 0;font-size:.9rem}.calling-preview{color:#bfb398;margin:.9rem 0 0}.calling-preview-label{color:#a99b7a;letter-spacing:.1em;text-transform:uppercase;font:.72rem ui-monospace,SFMono-Regular,Consolas,monospace}.calling-preview-abilities{color:#f5edd9}@media (width<=52rem){.app-shell{grid-template-columns:1fr;grid-template-areas:"title""scene""status""log""dialogue""party""journal""commands"}.app-shell.has-actions{grid-template-areas:"title""scene""status""log""dialogue""party""journal""actions""commands"}.log-scroll{flex:none;height:14rem}.app-shell,.app-shell.has-actions{grid-template-rows:none}.app-shell>.side-column{display:contents}.scene-panel{min-height:auto}.scene-art-full{display:none}.scene-art-compact{font-size:clamp(.68rem,2.5vw,.9rem);display:block}}@media (width<=30rem){.title-bar{display:block}.location{margin:.5rem 0 0}.scene-art{display:none}.scene-caption{display:block}.command-panel{box-shadow:none;position:static}.command-panel button{flex-basis:calc(50% - .35rem)}}@media (width>52rem) and (height>=620px){.app-shell.viewport-fit{grid-template-rows:auto minmax(0,1.7fr) minmax(7rem,1fr) auto;height:100svh;min-height:0;overflow:clip}.app-shell.viewport-fit.has-actions{grid-template-rows:auto minmax(0,1.7fr) minmax(7rem,1fr) minmax(0,auto) auto}.viewport-fit>*,.viewport-fit .side-column>*{padding:clamp(.7rem,1.7vh,1.6rem)}.viewport-fit>.side-column{padding:0}.viewport-fit .scene-panel{flex-direction:column;justify-content:safe center;align-items:center;min-height:0;display:flex;overflow:hidden;container-type:size}.viewport-fit .scene-art{flex:none}.viewport-fit .scene-art-full{font-size:clamp(.5rem,min(1.15vw,1.55vh),.95rem)}@supports (font-size:1cqh){.viewport-fit .scene-art-full{font-size:clamp(.45rem,min(1.15vw,4.7cqh),.95rem)}}.viewport-fit .scene-description{flex:0 auto;min-height:0;max-height:100%;margin-block-start:.6rem;overflow-y:auto}.viewport-fit .side-column{min-height:0;overflow-y:auto}.viewport-fit .log-scroll{min-height:0}.viewport-fit .journal-panel{flex-direction:column;min-height:0;display:flex}.viewport-fit .journal-scroll{flex:1;min-height:4.5rem;max-height:clamp(4.5rem,14vh,10rem);overflow-y:auto}.viewport-fit .contextual-actions{max-height:6.5rem;overflow-y:auto}.creation-shell.viewport-fit{grid-template:"title title""steps steps""leftcol rightcol"minmax(0,1fr)"nav nav""save save"/minmax(0,1.2fr) minmax(0,1fr);height:100svh;min-height:0;overflow:clip}.viewport-fit .creation-left{min-height:0}.viewport-fit .creation-left .scene-panel{flex:1;min-height:0}.viewport-fit .creation-left .scene-art-full{font-size:clamp(.4rem,min(1.9cqw,4.7cqh),.95rem)}.viewport-fit .creation-step-body{min-height:0;overflow-y:auto}.viewport-fit .race-panel,.viewport-fit .lens-panel,.viewport-fit .class-panel,.viewport-fit .second-class-panel{flex-direction:column;min-height:0;display:flex}.viewport-fit .choice-grid{align-content:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto}}@media (forced-colors:active){button,button.contextual{border:1px solid buttontext}button:disabled{color:graytext;border-color:graytext}.choice-card[aria-pressed=true]{border-width:3px}.card-badge{border-color:canvastext}.contextual-panel{border-inline-start-color:canvastext}.history-overlay,.update-prompt{border-color:canvastext}}@media (width<=52rem) and (height>=660px){.app-shell{grid-template-rows:auto auto auto minmax(2.5rem,1fr) auto auto auto auto;height:100svh;min-height:0;overflow:clip}.app-shell.has-actions{grid-template-rows:auto auto auto minmax(2.5rem,1fr) auto auto auto auto auto}.app-shell .log-panel{flex-direction:column;min-height:0;display:flex}.app-shell .log-scroll{flex:1;min-height:2.5rem;overflow-y:auto}.app-shell .scene-panel{min-height:0;max-height:7rem;overflow:hidden}.app-shell .party-panel{max-height:7rem;overflow-y:auto}.app-shell .journal-scroll{max-height:4.5rem}.app-shell .contextual-actions{max-height:5rem;overflow-y:auto}.app-shell .command-panel{box-shadow:none;position:static}}.de-three-ages-page{flex-direction:column;display:flex}.de-three-ages-page #root{flex:auto;height:auto;min-height:0}.de-three-ages-page .app-shell,.de-three-ages-page .creation-shell{min-height:100%}.de-three-ages-page .app-shell.viewport-fit,.de-three-ages-page .creation-shell.viewport-fit{height:100%}
