:root{--bg:#120f0d;--panel:rgba(38,29,23,0.86);--panel-strong:rgba(56,40,31,0.96);--line:rgba(226,176,93,0.24);--gold:#d9a94a;--gold-bright:#f4cf7a;--ember:#ad472b;--moss:#5f7751;--ink:#f9edd6;--muted:#bca98e;--shadow:rgba(0,0,0,0.42)}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:var(--bg)}body{--heading-font:var(--font-heading),"Cinzel",Georgia,serif;--body-font:var(--font-body),"Cormorant Garamond",Georgia,serif;--play-text-font:Georgia,"Times New Roman",serif;color:var(--ink);background:radial-gradient(circle at 18% 12%,rgba(173,71,43,.26),transparent 28rem),radial-gradient(circle at 85% 18%,rgba(95,119,81,.24),transparent 25rem),linear-gradient(135deg,#100d0c,#211711 48%,#0d1210);font-family:var(--body-font)}body:has(.new-adventure-page){overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none}html:has(.new-adventure-page){scrollbar-width:none}body:has(.new-adventure-page)::-webkit-scrollbar,html:has(.new-adventure-page)::-webkit-scrollbar{width:0;height:0}a,button,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.landing-page{min-height:100dvh;overflow-x:hidden;color:#f2e8d5;background:#070503}.landing-hero{position:relative;display:flex;align-items:flex-start;justify-content:flex-end;min-height:100dvh;padding:96px clamp(24px,7vw,120px) 72px;overflow:hidden;isolation:isolate}.landing-background,.landing-scrim{position:absolute;inset:0;z-index:-2}.landing-background{width:100%;height:100%;object-fit:cover;object-position:12% center}.landing-scrim{z-index:-1;background:linear-gradient(270deg,rgba(7,5,3,.92),rgba(7,5,3,.55) 34%,rgba(7,5,3,.05) 58%),linear-gradient(180deg,rgba(7,5,3,.55),rgba(7,5,3,0) 22%,rgba(7,5,3,0) 72%,#070503)}.landing-nav{position:absolute;top:0;left:0;z-index:2;display:flex;align-items:center;justify-content:space-between;width:100%;padding:30px clamp(24px,7vw,120px)}.landing-brand{font-family:var(--heading-font);font-size:clamp(1.05rem,2vw,1.3rem);letter-spacing:.08em;color:#f2e8d5}.landing-nav nav{display:flex;align-items:center;gap:clamp(22px,3vw,40px)}.landing-nav nav a{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(242,232,213,.82);transition:color .18s ease}.landing-nav nav a:hover{color:#e8c98a}.landing-hero-copy{width:min(100%,520px);margin-top:clamp(0px,3.5vh,36px);margin-right:clamp(-56px,-3vw,-24px);text-align:right}.landing-author,.landing-kicker,.landing-pillar-label,.landing-scroll-cue,.landing-section-label{font-family:var(--body-font);font-weight:700;letter-spacing:.3em;text-transform:uppercase}.landing-kicker{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:0 0 28px;color:#c9a45c;font-size:.72rem}.landing-kicker:before{content:"";display:block;width:40px;height:1px;background:rgba(201,164,92,.6)}.landing-hero h1{margin:0 0 24px auto;max-width:15ch;color:#f7efdd;font-size:clamp(2.4rem,4.4vw,4.1rem);line-height:1.06;text-shadow:0 2px 40px rgba(0,0,0,.65)}.landing-hero h1 span{color:var(--gold-bright)}.landing-lede{margin:0 0 40px auto;max-width:42ch;color:rgba(233,220,194,.72);font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.75}.landing-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px}.landing-button{display:inline-flex;align-items:center;justify-content:center;min-width:190px;min-height:54px;padding:16px 32px;border-radius:2px;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-align:center;text-transform:uppercase;transition:border-color .18s ease,color .18s ease,transform .18s ease,background .18s ease,box-shadow .18s ease}.landing-button:hover{transform:translateY(-1px)}.landing-button-primary{border:1px solid rgba(232,201,138,.9);color:#16110a;background:linear-gradient(180deg,#e3c07e,#c9a45c);box-shadow:0 14px 40px rgba(0,0,0,.45)}.landing-button-primary:hover{background:linear-gradient(180deg,#eecd8e,#d5b069);box-shadow:0 18px 48px rgba(0,0,0,.5)}.landing-button-secondary{border:1px solid rgba(201,164,92,.4);color:rgba(232,201,138,.92);background:rgba(7,5,3,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-button-secondary:hover{border-color:rgba(232,201,138,.85);color:#eecd8e}.landing-scroll-cue{position:absolute;bottom:26px;left:50%;display:flex;flex-direction:column;align-items:center;gap:12px;color:rgba(242,232,213,.45);font-size:.62rem;transform:translateX(-50%)}.landing-scroll-cue:before{content:"";display:block;width:1px;height:34px;background:linear-gradient(180deg,transparent,rgba(201,164,92,.55))}.landing-section{width:min(100% - 48px,1120px);margin:0 auto;padding:clamp(80px,10vw,136px) 0}.landing-section+.landing-section{border-top:1px solid rgba(201,164,92,.12)}.landing-gameplay,.landing-scenarios{position:relative;background-repeat:no-repeat}.landing-gameplay{background-image:linear-gradient(90deg,#070503,rgba(7,5,3,.82) 34%,rgba(7,5,3,.08) 68%,#070503),linear-gradient(180deg,#070503,rgba(7,5,3,0) 20%,rgba(7,5,3,0) 72%,#070503),url(/landing/gameplay-d20-camp.jpg);background-position:right top clamp(52px,7vw,86px);background-size:min(660px,58vw) auto}.landing-scenarios{background-image:linear-gradient(90deg,#070503,rgba(7,5,3,.78) 35%,rgba(7,5,3,.16) 72%,#070503),linear-gradient(180deg,#070503,rgba(7,5,3,0) 24%,rgba(7,5,3,.04) 66%,#070503),url(/landing/rules-wizard-fire.jpg);background-position:right top clamp(40px,6vw,78px);background-size:min(720px,62vw) auto}.landing-section h2{margin:0 0 20px;max-width:22ch;color:#f2e8d5;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.12}.landing-section-lede{margin:0;max-width:62ch;color:rgba(233,220,194,.66);font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.75}.landing-section-label{display:flex;align-items:center;gap:16px;margin:0 0 24px;color:#c9a45c;font-size:.7rem}.landing-section-label:before{content:"";display:block;width:40px;height:1px;background:rgba(201,164,92,.5)}.landing-pillars,.landing-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:clamp(28px,4vw,48px);gap:clamp(28px,4vw,48px);margin-top:64px}.landing-pillars article,.landing-scenario-grid article{min-width:0;border-top:1px solid rgba(201,164,92,.3);padding-top:26px}.landing-pillar-label{margin:0 0 14px;color:rgba(201,164,92,.85);font-size:.64rem}.landing-pillars h3,.landing-scenario-grid h3{margin:0 0 12px;color:#f2e8d5;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.3}.landing-pillars p,.landing-scenario-grid p{margin:0;color:rgba(233,220,194,.62);font-family:var(--body-font);font-size:1rem;line-height:1.7}.landing-author{margin:0 0 12px;color:rgba(201,164,92,.85);font-size:.62rem}.landing-final{display:grid;justify-items:center;position:relative;isolation:isolate;width:min(100% - 48px,1120px);margin:0 auto;min-height:clamp(520px,54vw,680px);overflow:hidden;padding:clamp(250px,28vw,350px) 0 clamp(84px,9vw,128px);border-top:1px solid rgba(201,164,92,.12);text-align:center}.landing-final:after,.landing-final:before{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;background-position:top;background-size:min(1120px,110vw) auto}.landing-final:before{z-index:0;background-image:linear-gradient(90deg,#070503,rgba(7,5,3,.12) 26%,rgba(7,5,3,.08) 70%,#070503),linear-gradient(180deg,rgba(7,5,3,.08),rgba(7,5,3,.2) 58%,#070503),url(/landing/final-hooded-fire.jpg)}.landing-final:after{z-index:2;opacity:.58;background-image:url(/landing/final-hooded-fire.jpg);-webkit-mask-image:radial-gradient(ellipse 20% 20% at 32% 63%,#000 0,#000 36%,transparent 72%);mask-image:radial-gradient(ellipse 20% 20% at 32% 63%,#000 0,#000 36%,transparent 72%)}.landing-final h2{margin:0 0 36px;max-width:18ch;color:#f2e8d5;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.12;text-shadow:0 2px 24px rgba(0,0,0,.95),0 0 42px rgba(0,0,0,.9)}.landing-final .landing-button,.landing-final h2{position:relative;z-index:1;transform:translateX(clamp(0px,5vw,72px))}.landing-final .landing-button:hover{transform:translateX(clamp(0px,5vw,72px)) translateY(-1px)}.landing-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:min(100% - 48px,1120px);margin:0 auto;padding:30px 0 38px;border-top:1px solid rgba(201,164,92,.12);color:rgba(233,220,194,.42);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.table-page{position:fixed;inset:0;height:auto;overflow:hidden;padding:0}.table-page:before{inset:0;content:"";background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 78%);mask-image:radial-gradient(circle at center,black,transparent 78%)}.ambient,.table-page:before{position:absolute;pointer-events:none}.ambient{width:34rem;height:34rem;filter:blur(90px);opacity:.22}.ambient-one{left:-11rem;top:8rem;background:var(--ember)}.ambient-two{right:-13rem;bottom:-6rem;background:var(--moss)}.play-table{position:relative;z-index:1;display:flex;flex-direction:column;width:100vw;height:100dvh;margin:0;overflow:hidden;border:0;border-radius:0;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),var(--panel);box-shadow:inset 0 0 70px rgba(217,169,74,.06);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.message-icon{display:grid;place-items:center;border:1px solid var(--line);background:rgba(217,169,74,.1)}.eyebrow,.message-icon{color:var(--gold-bright)}.eyebrow{margin:0 0 4px;font-family:var(--body-font);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,h4,h5,h6{font-family:var(--heading-font);font-weight:500}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1}.auth-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-art-panel,.auth-page{min-height:100dvh;overflow:hidden;background:#070503}.auth-art-panel{position:relative;isolation:isolate}.auth-art-image{object-fit:cover;object-position:38% center;filter:saturate(.92) contrast(1.04)}.auth-art-panel:after{position:absolute;inset:0;z-index:1;pointer-events:none;content:"";background:linear-gradient(90deg,rgba(7,5,3,.12),rgba(7,5,3,0) 58%,rgba(7,5,3,.64)),linear-gradient(180deg,rgba(7,5,3,.12),rgba(7,5,3,0) 42%,rgba(7,5,3,.54))}.auth-form-panel{display:grid;min-height:100dvh;place-items:center;padding:clamp(28px,5vw,72px);background:radial-gradient(circle at 24% 18%,rgba(173,71,43,.25),transparent 22rem),radial-gradient(circle at 85% 74%,rgba(95,119,81,.2),transparent 24rem),linear-gradient(135deg,#100d0c,#211711 52%,#0d1210)}.auth-panel{width:min(100%,420px);padding:30px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.055),transparent 34%),var(--panel);box-shadow:0 26px 80px var(--shadow)}.auth-panel h1{margin-bottom:22px}.auth-form{display:grid;grid-gap:13px;gap:13px;font-family:var(--body-font)}.auth-form label{color:var(--gold-bright);font-size:.8rem;font-weight:800;text-transform:uppercase}.auth-input-row{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 13px;border:1px solid rgba(244,207,122,.28);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.56)}.auth-input-row input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font:inherit}.auth-form button{min-height:46px;border:1px solid rgba(244,207,122,.38);border-radius:8px;color:#140f0b;background:var(--gold-bright);font-weight:800}.auth-form .google-auth-button{gap:10px;min-height:46px;border:1px solid rgba(244,207,122,.38);border-radius:8px;color:var(--ink)}.auth-form .google-auth-button,.auth-local-link{display:inline-flex;align-items:center;justify-content:center;background:rgba(17,13,10,.58);font-weight:800}.auth-local-link{min-height:42px;border:1px solid rgba(244,207,122,.34);border-radius:8px;color:var(--gold-bright);text-decoration:none}.google-auth-button span{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;color:#4285f4;background:#ffffff;font-family:Arial,sans-serif;font-weight:800}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.auth-divider:after,.auth-divider:before{flex:1 1;height:1px;content:"";background:rgba(244,207,122,.2)}.auth-form button:disabled{cursor:wait;opacity:.68}.auth-error,.auth-note{margin-bottom:0;font-size:.88rem}.auth-note{color:var(--muted)}.auth-error{color:#ffb199}@media (max-width:820px){.auth-page{grid-template-columns:1fr;grid-template-rows:minmax(260px,38dvh) auto;min-height:100dvh;overflow:auto}.auth-art-panel{min-height:260px}.auth-art-image{object-position:center 22%}.auth-art-panel:after{background:linear-gradient(180deg,rgba(7,5,3,.04),rgba(7,5,3,.1) 42%,#120f0d),linear-gradient(90deg,rgba(7,5,3,.3),rgba(7,5,3,0))}.auth-form-panel{min-height:auto;align-items:start;padding:24px 18px calc(30px + env(safe-area-inset-bottom))}}.new-adventure-page{position:relative;isolation:isolate;display:grid;grid-template-rows:auto auto;align-content:start;justify-items:center;grid-gap:24px;gap:24px;min-height:100dvh;overflow:visible;overscroll-behavior:none;padding:clamp(82px,12vh,128px) clamp(18px,5vw,44px) calc(38px + env(safe-area-inset-bottom))}.new-adventure-page:before{z-index:-2;background-image:url(/new-adventure/flow-bg.webp);background-position:50%;background-size:cover;opacity:.32}.new-adventure-page:after,.new-adventure-page:before{position:fixed;inset:0;pointer-events:none;content:""}.new-adventure-page:after{z-index:-1;background:radial-gradient(circle at 50% 48%,rgba(18,15,13,.08) 0 28%,rgba(18,15,13,.62) 70%,rgba(18,15,13,.92) 100%),linear-gradient(90deg,rgba(18,15,13,.84),rgba(18,15,13,.2) 24%,rgba(18,15,13,.2) 76%,rgba(18,15,13,.84)),linear-gradient(180deg,rgba(18,15,13,.82),transparent 26%,transparent 70%,rgba(18,15,13,.78))}.new-adventure-form,.new-adventure-heading{position:relative;z-index:1}.new-adventure-form:after,.new-adventure-heading:before{position:fixed;right:0;left:0;z-index:2;height:2px;pointer-events:none;content:"";background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);opacity:.62}.new-adventure-heading:before{top:0}.new-adventure-form:after{bottom:0}.new-adventure-heading{display:grid;justify-items:center;text-align:center}.new-adventure-heading h1{max-width:18ch;margin-bottom:0;font-size:clamp(2rem,4.5vw,4rem);line-height:.98}.new-adventure-form{display:grid;align-content:start;grid-gap:20px;gap:20px;min-height:0;width:min(100%,760px);margin:0 auto;padding-top:10px;overflow:visible;overscroll-behavior:auto;font-family:var(--body-font)}.new-adventure-flow{display:grid;grid-gap:20px;gap:20px;width:100%;will-change:opacity,transform}.new-adventure-flow-exiting{pointer-events:none;animation:new-adventure-flow-exit .24s cubic-bezier(.4,0,.2,1) forwards}.new-adventure-flow-entering{pointer-events:none;animation:new-adventure-flow-enter .24s cubic-bezier(.16,1,.3,1) both}.new-adventure-form button{transition:border-color .32s ease,color .32s ease,background .32s ease,box-shadow .32s ease,transform .32s ease}.new-adventure-form button:not(:disabled):focus-visible,.new-adventure-form button:not(:disabled):hover{transform:translateY(-2px)}.new-adventure-form button:not(:disabled):active{transform:translateY(0)}.mode-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(18px,5vw,46px);gap:clamp(18px,5vw,46px);width:min(100%,600px);margin:0 auto}.mode-picker button{display:grid;justify-items:center;grid-gap:14px;gap:14px;min-height:210px;padding:18px;border:0;border-radius:8px;color:var(--ink);background:transparent;text-align:center}.mode-picker button.selected,.mode-picker button:focus-visible,.mode-picker button:hover{background:transparent}.mode-banner-frame{position:relative;display:block;width:clamp(86px,15vw,118px);aspect-ratio:451.92/1156.67;filter:drop-shadow(0 18px 34px rgba(0,0,0,.34));opacity:.74;transition:filter .32s ease,opacity .32s ease,transform .32s ease}.mode-banner-frame:after,.mode-banner-frame:before{position:absolute;content:""}.mode-banner-frame:before{inset:1.2% 2.8% 1%;background:linear-gradient(180deg,rgba(255,239,184,.08),rgba(14,10,7,.26)),var(--mode-banner-art-url,linear-gradient(180deg,var(--gold-bright),var(--gold)));background-position:50%;background-size:cover;-webkit-clip-path:polygon(50% 0,74% 9%,93% 24%,99% 33%,99% 100%,1% 100%,1% 33%,7% 24%,26% 9%);clip-path:polygon(50% 0,74% 9%,93% 24%,99% 33%,99% 100%,1% 100%,1% 33%,7% 24%,26% 9%)}.mode-banner-frame:after{inset:0;background:linear-gradient(180deg,rgba(255,239,184,.9),rgba(161,121,64,.72)),var(--gold-bright);-webkit-mask:url(/new-adventure/banner-frame-1.svg) center/contain no-repeat;mask:url(/new-adventure/banner-frame-1.svg) center/contain no-repeat}.mode-picker button.selected .mode-banner-frame,.mode-picker button:focus-visible .mode-banner-frame,.mode-picker button:hover .mode-banner-frame{filter:drop-shadow(0 18px 34px rgba(0,0,0,.38)) drop-shadow(0 0 12px rgba(244,207,122,.24));opacity:1;transform:translateY(-2px)}.mode-picker button>span:not(.mode-banner-frame),.new-adventure-form label{display:grid;grid-gap:11px;gap:11px;min-width:0}.mode-picker strong,.new-adventure-form label span{color:var(--gold-bright);font-size:.8rem;font-weight:900;text-transform:uppercase}.mode-picker strong{color:var(--ink);font-size:clamp(1.2rem,2.2vw,1.6rem);text-transform:none}.mode-picker small{color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.45}.multiplayer-intent-picker{display:grid;justify-items:center;width:100%;margin:0 auto}.multiplayer-intent-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;width:min(100%,600px)}.multiplayer-intent-picker button{align-content:center;justify-items:center;text-align:center}.multiplayer-intent-picker small{max-width:24ch;text-align:center}.genre-picker{min-width:0;width:min(100%,900px);margin:0;padding:0;border:0}.genre-picker legend,.option-picker legend{margin-bottom:12px;color:var(--gold-bright);font-size:.8rem;font-weight:900;text-transform:uppercase}.genre-picker>div{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px}.genre-picker button,.option-picker button{display:grid;grid-gap:5px;gap:5px;min-height:84px;padding:12px;border:1px solid rgba(244,207,122,.22);border-radius:8px;color:var(--ink);background:rgba(17,13,10,.48);text-align:left}.genre-picker button{position:relative;isolation:isolate;align-content:end;min-height:210px;overflow:hidden;padding:24px;background:linear-gradient(90deg,rgba(8,6,5,.82),rgba(8,6,5,.34) 58%,rgba(8,6,5,.18)),var(--genre-banner-url),rgba(17,13,10,.48);background-position:50%;background-size:cover}.genre-picker button:before{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 24%,rgba(3,2,2,.76)),radial-gradient(circle at 22% 78%,rgba(244,207,122,.14),transparent 38%);content:""}.genre-picker button:after{position:absolute;inset:10px;z-index:-1;border:1px solid rgba(244,207,122,.16);content:"";pointer-events:none}.genre-picker button.selected,.genre-picker button:focus-visible,.genre-picker button:hover{border-color:rgba(244,207,122,.72);background:linear-gradient(90deg,rgba(8,6,5,.82),rgba(8,6,5,.28) 58%,rgba(8,6,5,.12)),linear-gradient(90deg,rgba(173,71,43,.16),transparent),var(--genre-banner-url),rgba(255,255,255,.05);background-position:50%;background-size:cover;box-shadow:0 14px 32px rgba(0,0,0,.2)}.option-picker button.selected,.option-picker button:focus-visible,.option-picker button:hover{border-color:rgba(244,207,122,.72);background:linear-gradient(90deg,rgba(173,71,43,.16),transparent),rgba(255,255,255,.05);box-shadow:0 14px 32px rgba(0,0,0,.2)}.genre-picker button:disabled,.option-picker button:disabled{cursor:not-allowed;opacity:.46;transform:none}.genre-picker button:disabled:hover{border-color:rgba(244,207,122,.22);background:linear-gradient(90deg,rgba(8,6,5,.82),rgba(8,6,5,.34) 58%,rgba(8,6,5,.18)),var(--genre-banner-url),rgba(17,13,10,.48);background-position:50%;background-size:cover;box-shadow:none}.option-picker button:disabled:hover{border-color:rgba(244,207,122,.22);background:rgba(17,13,10,.48);box-shadow:none}.genre-picker strong,.option-picker strong{color:var(--ink);font-size:.92rem;font-weight:900}.genre-picker small,.option-picker small{color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.35}.genre-picker strong{max-width:24ch;color:var(--ink);font-size:1.34rem;text-shadow:0 2px 10px rgba(0,0,0,.92)}.genre-picker small{max-width:54ch;color:rgba(249,237,214,.82);font-size:.9rem;line-height:1.45;text-shadow:0 2px 8px rgba(0,0,0,.9)}.character-builder{display:grid;grid-gap:20px;gap:20px}.option-picker{min-width:0;margin:0;padding:0;border:0}.option-picker>div{display:grid;grid-gap:10px;gap:10px}.class-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.class-picker button{position:relative;align-content:end;min-height:188px;overflow:hidden;background:linear-gradient(180deg,rgba(8,6,4,.12),rgba(8,6,4,.82)),linear-gradient(90deg,rgba(8,6,4,.74),rgba(8,6,4,.18)),var(--class-art-url),rgba(17,13,10,.48);background-position:center 28%;background-size:cover;isolation:isolate}.class-picker button:before{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 16%,rgba(244,207,122,.18),transparent 36%),linear-gradient(180deg,transparent 34%,rgba(0,0,0,.46));content:"";opacity:.86;transition:opacity .16s ease}.class-picker button.selected,.class-picker button:focus-visible,.class-picker button:hover{background:linear-gradient(180deg,rgba(8,6,4,.04),rgba(8,6,4,.76)),linear-gradient(90deg,rgba(173,71,43,.32),rgba(8,6,4,.1)),var(--class-art-url),rgba(17,13,10,.48);background-position:center 28%;background-size:cover}.class-picker button.selected:before,.class-picker button:focus-visible:before,.class-picker button:hover:before{opacity:.68}.class-picker small,.class-picker strong{text-shadow:0 2px 8px rgba(0,0,0,.92)}.class-picker strong{color:#fff7df;font-size:1.05rem}.class-picker small{color:rgba(255,239,202,.84)}.compact-option-picker>div{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.compact-option-picker button{min-height:50px}.skill-picker>div,.tool-picker>div{grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}.art-option-card,.equipment-choice-options .art-option-card,.skill-picker button,.tool-picker button{position:relative;isolation:isolate;align-content:end;aspect-ratio:1;min-height:0;overflow:hidden;padding:12px;background:linear-gradient(180deg,rgba(8,6,4,.02),rgba(8,6,4,.82)),var(--option-art-url),rgba(17,13,10,.48);background-position:50%;background-size:cover}.art-option-card:before,.background-picker button:before,.equipment-choice-options .art-option-card:before,.equipment-modal-options .equipment-weapon-option:before,.skill-picker button:before,.tool-picker button:before{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 14%,rgba(255,249,225,.16),transparent 38%),linear-gradient(180deg,transparent 36%,rgba(0,0,0,.66));content:"";opacity:.82;transition:opacity .16s ease}.art-option-card.selected,.art-option-card:focus-visible,.art-option-card:hover,.equipment-choice-options .art-option-card.selected,.equipment-choice-options .art-option-card:focus-visible,.equipment-choice-options .art-option-card:hover,.skill-picker button.selected,.skill-picker button:focus-visible,.skill-picker button:hover,.tool-picker button.selected,.tool-picker button:focus-visible,.tool-picker button:hover{background:linear-gradient(180deg,rgba(8,6,4,.02),rgba(8,6,4,.76)),linear-gradient(90deg,rgba(173,71,43,.28),rgba(8,6,4,.08)),var(--option-art-url),rgba(17,13,10,.48);background-position:50%;background-size:cover}.art-option-card.selected:before,.art-option-card:focus-visible:before,.art-option-card:hover:before,.background-picker button.selected:before,.background-picker button:focus-visible:before,.background-picker button:hover:before,.equipment-choice-options .art-option-card.selected:before,.equipment-choice-options .art-option-card:focus-visible:before,.equipment-choice-options .art-option-card:hover:before,.equipment-modal-options .equipment-weapon-option:focus-visible:before,.equipment-modal-options .equipment-weapon-option:hover:before,.skill-picker button.selected:before,.skill-picker button:focus-visible:before,.skill-picker button:hover:before,.tool-picker button.selected:before,.tool-picker button:focus-visible:before,.tool-picker button:hover:before{opacity:.62}.art-option-card small,.art-option-card strong,.background-picker small,.background-picker strong,.equipment-choice-options .art-option-card small,.equipment-choice-options .art-option-card strong,.equipment-modal-options .equipment-weapon-option small,.equipment-modal-options .equipment-weapon-option strong,.skill-picker strong,.tool-picker strong{text-shadow:0 2px 8px rgba(0,0,0,.92)}.art-option-card strong,.background-picker strong,.equipment-choice-options .art-option-card strong,.equipment-modal-options .equipment-weapon-option strong,.skill-picker strong,.tool-picker strong{color:#fff7df}.background-picker>div{grid-template-columns:minmax(0,1fr)}.background-picker button{position:relative;isolation:isolate;align-content:end;aspect-ratio:auto;min-height:156px;overflow:hidden;padding:18px;background:linear-gradient(90deg,rgba(8,6,5,.86),rgba(8,6,5,.28) 64%,rgba(8,6,5,.12)),var(--option-art-url),rgba(17,13,10,.48);background-position:50%;background-size:cover}.background-picker button.selected,.background-picker button:focus-visible,.background-picker button:hover{background:linear-gradient(90deg,rgba(8,6,5,.84),rgba(8,6,5,.22) 64%,rgba(8,6,5,.1)),linear-gradient(90deg,rgba(173,71,43,.26),transparent),var(--option-art-url),rgba(17,13,10,.48);background-position:50%;background-size:cover}.background-picker small{color:rgba(255,239,202,.84)}.species-picker>div{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.species-picker button{position:relative;align-content:end;min-height:232px;overflow:hidden;background:linear-gradient(180deg,rgba(8,6,4,.04),rgba(8,6,4,.78)),linear-gradient(90deg,rgba(8,6,4,.62),rgba(8,6,4,.08)),var(--species-art-url),rgba(17,13,10,.48);background-position:center 22%;background-size:cover;isolation:isolate}.species-picker button:before{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 12%,rgba(255,249,225,.2),transparent 34%),linear-gradient(180deg,transparent 40%,rgba(0,0,0,.56));content:"";opacity:.84;transition:opacity .16s ease}.species-picker button.selected,.species-picker button:focus-visible,.species-picker button:hover{background:linear-gradient(180deg,rgba(8,6,4,.02),rgba(8,6,4,.72)),linear-gradient(90deg,rgba(173,71,43,.28),rgba(8,6,4,.08)),var(--species-art-url),rgba(17,13,10,.48);background-position:center 22%;background-size:cover}.species-picker button.selected:before,.species-picker button:focus-visible:before,.species-picker button:hover:before{opacity:.66}.species-picker small,.species-picker strong{text-shadow:0 2px 8px rgba(0,0,0,.92)}.species-picker strong{color:#fff7df;font-size:1.05rem}.species-picker small{color:rgba(255,239,202,.84)}.spell-picker{display:grid;grid-gap:12px;gap:12px}.spell-level-list{display:grid;grid-gap:16px;gap:16px}.spell-level-group{display:grid;grid-gap:10px;gap:10px;min-width:0}.spell-level-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding-bottom:6px;border-bottom:1px solid rgba(244,207,122,.16)}.spell-level-header>div{display:grid;grid-gap:3px;gap:3px;min-width:0}.spell-level-header h3{margin:0;color:var(--ink);font-size:.86rem;font-weight:900;text-transform:uppercase}.spell-level-header small{color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.new-adventure-form .spell-dlc-toggle{display:inline-flex;align-items:center;gap:8px;min-width:max-content;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.new-adventure-form .spell-dlc-toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;width:16px;height:16px;min-height:16px;padding:0;border:1px solid rgba(244,207,122,.38);border-radius:4px;background:linear-gradient(180deg,rgba(31,23,16,.96),rgba(12,9,8,.96));box-shadow:inset 0 0 0 1px rgba(0,0,0,.24),0 8px 18px rgba(0,0,0,.22)}.new-adventure-form .spell-dlc-toggle input:after{width:8px;height:8px;border-radius:2px;background:var(--gold-bright);opacity:0;content:""}.new-adventure-form .spell-dlc-toggle input:checked{border-color:rgba(244,207,122,.72);background:linear-gradient(180deg,rgba(64,43,21,.96),rgba(20,14,9,.96))}.new-adventure-form .spell-dlc-toggle input:checked:after{opacity:1}.new-adventure-form .spell-dlc-toggle span{color:inherit;font-size:inherit}.spell-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-auto-rows:156px;grid-gap:8px;gap:8px}.spell-option-card{position:relative;display:grid;height:156px;min-height:0;border:1px solid rgba(244,207,122,.22);border-radius:8px;background:rgba(17,13,10,.48);overflow:hidden;isolation:isolate}.spell-option-card:after,.spell-option-card:before{position:absolute;inset:0;content:"";pointer-events:none}.spell-option-card:before{z-index:-2;background-image:var(--spell-art-url);background-position:50%;background-size:cover;filter:saturate(1.08) contrast(1.08);opacity:.7;transform:scale(1.02)}.spell-option-card:after{z-index:-1;background:linear-gradient(180deg,rgba(10,7,5,.58),rgba(10,7,5,.84)),radial-gradient(circle at 50% 18%,rgba(255,237,179,.12),transparent 52%)}.spell-option-card.selected{border-color:rgba(244,207,122,.72);box-shadow:0 14px 32px rgba(0,0,0,.2)}.spell-option-card.selected:after{background:linear-gradient(90deg,rgba(173,71,43,.2),transparent),linear-gradient(180deg,rgba(10,7,5,.46),rgba(10,7,5,.78)),radial-gradient(circle at 50% 18%,rgba(255,237,179,.18),transparent 52%)}.spell-option-card.dlc-spell-option{border-color:rgba(137,189,183,.32)}.spell-option-card.dlc-spell-option.selected{border-color:rgba(244,207,122,.74)}.spell-option-card:has(.spell-select-button:disabled){opacity:.42}.spell-option-card:has(.spell-select-button:disabled):focus-within,.spell-option-card:has(.spell-select-button:disabled):hover{border-color:rgba(244,207,122,.22);box-shadow:none}.spell-option-grid .spell-select-button{display:grid;grid-template-rows:auto 1fr auto;align-content:center;justify-items:center;grid-gap:4px;gap:4px;width:100%;height:100%;min-height:0;padding:14px 34px 14px 12px;border:0;border-radius:0;background:transparent;text-align:center;box-shadow:none}.spell-option-grid .spell-select-button.selected,.spell-option-grid .spell-select-button:focus-visible,.spell-option-grid .spell-select-button:hover{border:0;background:transparent;box-shadow:none}.spell-option-grid .spell-select-button strong{color:#fff7df;line-height:1.18;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.92)}.spell-option-grid .spell-select-button span{align-self:center;color:rgba(255,239,202,.86);font-size:.72rem;font-weight:700;line-height:1.28;text-align:center;text-shadow:0 2px 7px rgba(0,0,0,.9)}.spell-option-grid .spell-select-button small{color:rgba(255,239,202,.78);font-size:.64rem;font-weight:900;line-height:1.18;text-align:center;text-shadow:0 2px 7px rgba(0,0,0,.9);text-transform:uppercase}.spell-option-grid .spell-select-button:disabled{cursor:not-allowed;transform:none;box-shadow:none}.spell-option-grid .spell-select-button:disabled:focus-visible,.spell-option-grid .spell-select-button:disabled:hover{transform:none}.spell-option-grid .spell-detail-button{position:absolute;right:6px;bottom:6px;width:26px;height:26px;min-height:0;padding:0;border:0;border-radius:0;background-color:transparent;background-image:url(/fantasygothicui/arrow8.png),url(/fantasygothicui/arrow4.png);background-position:50%;background-repeat:no-repeat;background-size:contain;box-shadow:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.55))}.spell-option-grid .spell-detail-button:focus-visible,.spell-option-grid .spell-detail-button:hover{border:0;background-color:transparent;background-image:url(/fantasygothicui/arrow8.png),url(/fantasygothicui/arrow4.png);background-position:50%;background-repeat:no-repeat;background-size:contain;box-shadow:none;transform:translate(1px,1px)}.build-mode-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.build-mode-picker button{min-height:136px;align-content:center}.equipment-choice-group{display:grid;grid-gap:12px;gap:12px}.equipment-choice-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:8px;gap:8px}.equipment-choice-options button{display:grid;align-content:end;grid-gap:4px;gap:4px;min-height:156px;padding:14px}.equipment-choice-options button small{color:rgba(255,239,202,.84);font-size:.68rem;font-weight:850;line-height:1.25;text-shadow:0 2px 7px rgba(0,0,0,.9)}.equipment-step-progress{display:flex;justify-content:flex-start}.equipment-step-progress span{display:inline-grid;min-height:28px;place-items:center;padding:0 10px;border:1px solid rgba(244,207,122,.2);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.025);font-size:.72rem;font-weight:900;text-transform:uppercase}.equipment-summary-panel{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid rgba(244,207,122,.16);border-radius:8px;background:rgba(255,255,255,.025)}.equipment-summary-panel h3{margin:0;color:var(--gold-bright);font-size:1.05rem;font-weight:900}.equipment-summary-panel ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.equipment-summary-panel li{min-height:38px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--muted);font-size:.82rem;line-height:1.35;background:rgba(0,0,0,.12)}.equipment-modal-backdrop{position:fixed;inset:0;z-index:25;display:grid;place-items:center;padding:22px;background:rgba(3,2,2,.72)}.equipment-modal{display:flex;flex-direction:column;width:min(640px,100%);max-height:min(720px,calc(100dvh - 44px));border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(26,19,15,.98);box-shadow:0 26px 90px rgba(0,0,0,.58)}.weapon-equipment-modal{width:min(940px,100%);max-height:min(820px,calc(100dvh - 44px))}.equipment-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.equipment-modal-header h2{margin:0;font-size:1.25rem}.equipment-modal-header>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.equipment-modal-header small{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.equipment-modal-header button{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(244,207,122,.32);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.equipment-modal-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:8px;gap:8px;min-height:0;padding:18px;overflow:auto}.weapon-equipment-modal-options{grid-template-columns:repeat(auto-fill,150px);grid-auto-rows:150px;align-items:stretch;justify-content:center;gap:12px}.equipment-modal-options button{min-height:54px;border:1px solid rgba(244,207,122,.22);border-radius:8px;color:var(--ink);background:rgba(255,255,255,.035)}.equipment-modal-options .equipment-weapon-option{position:relative;isolation:isolate;display:grid;align-content:end;justify-items:start;align-self:stretch;aspect-ratio:auto;width:100%;height:150px;min-height:150px;overflow:hidden;padding:12px;background:linear-gradient(180deg,rgba(8,6,4,.02),rgba(8,6,4,.84)),var(--option-art-url),rgba(17,13,10,.48);background-position:50%;background-size:cover}.equipment-modal-options .equipment-weapon-option:focus-visible,.equipment-modal-options .equipment-weapon-option:hover{border-color:rgba(244,207,122,.72);background:linear-gradient(180deg,rgba(8,6,4,.02),rgba(8,6,4,.78)),linear-gradient(90deg,rgba(173,71,43,.28),rgba(8,6,4,.08)),var(--option-art-url),rgba(17,13,10,.48);background-position:50%;background-size:cover}.equipment-modal-options .equipment-weapon-option.selected{border-color:rgba(244,207,122,.78);box-shadow:inset 0 0 0 2px rgba(244,207,122,.28),0 14px 32px rgba(0,0,0,.22)}.equipment-modal-options button:disabled{cursor:not-allowed;opacity:.42}.equipment-modal-options .equipment-weapon-option small{width:100%;color:rgba(255,239,202,.84);font-size:.68rem;font-weight:800;line-height:1.25}.equipment-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 18px;border-top:1px solid var(--line)}.equipment-modal-footer span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.equipment-modal-footer button{min-height:40px;padding:0 16px;border:1px solid rgba(244,207,122,.32);color:var(--gold-bright);background:rgba(17,13,10,.62);font-weight:900}.equipment-modal-footer button:disabled{cursor:not-allowed;opacity:.48}.spell-detail-modal-backdrop{position:fixed;inset:0;z-index:26;display:grid;place-items:center;padding:22px;background:rgba(3,2,2,.76)}.spell-detail-modal{position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);max-height:min(760px,calc(100dvh - 44px));border:1px solid rgba(244,207,122,.42);border-radius:8px;background:rgba(22,16,12,.98);box-shadow:0 30px 96px rgba(0,0,0,.64);overflow:hidden}.spell-detail-modal:after,.spell-detail-modal:before{position:absolute;inset:0;pointer-events:none;content:""}.spell-detail-modal:before{z-index:-2;background-image:var(--spell-art-url);background-position:50%;background-size:cover;opacity:.24;filter:saturate(1.08) contrast(1.08)}.spell-detail-modal:after{z-index:-1;background:radial-gradient(circle at center,rgba(16,10,8,.12) 0,rgba(10,6,5,.72) 68%,rgba(3,2,2,.92) 100%),linear-gradient(180deg,rgba(244,207,122,.12),transparent 34%),linear-gradient(90deg,rgba(173,71,43,.18),transparent 62%),rgba(22,16,12,.54)}.spell-detail-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid rgba(244,207,122,.18)}.spell-detail-modal-header>div{display:grid;grid-gap:5px;gap:5px;min-width:0}.spell-detail-modal-header span{color:var(--gold-bright);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.spell-detail-modal-header h2{margin:0;color:var(--ink);font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.05}.spell-detail-modal-header small{color:var(--ink-muted);font-size:.76rem;font-weight:800}.spell-detail-modal-header button{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid rgba(244,207,122,.32);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.spell-detail-modal-body{display:grid;grid-gap:18px;gap:18px;min-height:0;padding:22px 24px;overflow:auto}.spell-detail-modal-body p{margin:0;color:var(--ink);font-size:.98rem;line-height:1.6}.spell-detail-modal-body section{display:grid;grid-gap:8px;gap:8px;padding:14px;border:1px solid rgba(244,207,122,.16);border-radius:8px;background:rgba(0,0,0,.32)}.spell-detail-modal-body h3{margin:0;color:var(--gold-bright);font-size:.76rem;font-weight:900;text-transform:uppercase}.spell-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1px;gap:1px;margin:0;border-top:1px solid rgba(244,207,122,.18);background:rgba(244,207,122,.16)}.spell-detail-meta div{display:grid;align-content:start;grid-gap:6px;gap:6px;min-width:0;padding:14px;background:rgba(17,13,10,.72)}.spell-detail-meta dt{color:var(--gold-bright);font-size:.64rem;font-weight:900;text-transform:uppercase}.spell-detail-meta dd{margin:0;color:var(--ink);font-size:.82rem;font-weight:800;line-height:1.25}.spell-detail-meta a{color:var(--gold-bright);text-decoration:none}.spell-detail-meta a:hover{text-decoration:underline}@media (max-width:640px){.spell-detail-modal-backdrop{padding:14px}.spell-detail-modal-body,.spell-detail-modal-header{padding-inline:18px}.spell-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}.ability-score-panel{display:grid;grid-gap:14px;gap:14px}.ability-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.stat-roll-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.stat-mode-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.stat-mode-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid rgba(244,207,122,.28);border-radius:8px;background-color:rgba(17,13,10,.48);color:var(--gold-bright);font-size:.78rem;font-weight:900;text-transform:uppercase;box-shadow:0 14px 34px rgba(0,0,0,.18);transition:transform .42s cubic-bezier(.19,1,.22,1),border-color .42s cubic-bezier(.19,1,.22,1),background-color .42s cubic-bezier(.19,1,.22,1),color .42s cubic-bezier(.19,1,.22,1),box-shadow .42s cubic-bezier(.19,1,.22,1)}.stat-mode-button.selected,.stat-mode-button:focus-visible,.stat-mode-button:hover{transform:translateY(-3px);border-color:rgba(244,207,122,.74);background-color:var(--gold);color:var(--ink);box-shadow:0 20px 44px rgba(0,0,0,.26)}.stat-mode-button:disabled{cursor:wait;opacity:.55;transform:none}.stat-generation-body{animation:new-adventure-flow-enter .36s cubic-bezier(.2,.86,.22,1)}.stat-roll-pool{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.stat-roll-pool-card{position:relative;display:grid;grid-gap:6px;gap:6px;min-height:96px;padding:12px 46px 12px 12px;border:1px solid rgba(244,207,122,.18);border-radius:8px;background:rgba(17,13,10,.34)}.stat-roll-pool-card.assigned{border-color:rgba(112,209,132,.44);background:rgba(71,132,84,.12)}.stat-roll-pool-card small,.stat-roll-pool-card span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.stat-roll-pool-card strong{color:var(--cream);font-size:1.8rem;font-weight:900;line-height:1}.stat-roll-pool-button{position:absolute;top:10px;right:10px;display:inline-grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;border:1px solid rgba(244,207,122,.28);border-radius:8px;background-color:rgba(244,207,122,.08);color:var(--gold-bright);box-shadow:none}.stat-roll-pool-button:focus-visible,.stat-roll-pool-button:hover{border-color:rgba(244,207,122,.74);background-color:var(--gold);color:var(--ink)}.stat-roll-pool-button:disabled{cursor:wait;opacity:.55}.stat-roll-card{position:relative;display:grid;grid-gap:14px;gap:14px;min-height:148px;padding:16px;border:1px solid rgba(244,207,122,.18);border-radius:8px;background:rgba(17,13,10,.4);box-shadow:0 14px 34px rgba(0,0,0,.18);transition:transform .42s cubic-bezier(.19,1,.22,1),border-color .42s cubic-bezier(.19,1,.22,1),background-color .42s cubic-bezier(.19,1,.22,1),box-shadow .42s cubic-bezier(.19,1,.22,1)}.stat-roll-card:focus-within,.stat-roll-card:hover{transform:translateY(-5px);border-color:rgba(244,207,122,.48);background-color:rgba(27,20,13,.62);box-shadow:0 20px 44px rgba(0,0,0,.26)}.stat-roll-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--gold-bright);font-size:.82rem;font-weight:900;text-transform:uppercase}.stat-roll-button{display:inline-grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid rgba(244,207,122,.28);border-radius:999px;background-color:rgba(244,207,122,.08);color:var(--gold-bright);box-shadow:none;transition:transform .42s cubic-bezier(.19,1,.22,1),border-color .42s cubic-bezier(.19,1,.22,1),background-color .42s cubic-bezier(.19,1,.22,1),color .42s cubic-bezier(.19,1,.22,1)}.stat-roll-button:focus-visible,.stat-roll-button:hover{transform:translateY(-2px) scale(1.04);border-color:rgba(244,207,122,.74);background-color:var(--gold);color:var(--ink)}.stat-roll-button:disabled{cursor:wait;opacity:.55;transform:none}.stat-assignment-select{width:100%;min-width:0;height:48px;border:1px solid rgba(244,207,122,.28);border-radius:8px;background-color:rgba(244,207,122,.08);color:var(--gold-bright);font-size:1rem;font-weight:900;text-transform:uppercase}.stat-assignment-select:focus-visible{border-color:rgba(244,207,122,.74);outline:2px solid rgba(244,207,122,.28);outline-offset:2px}.stat-assignment-select:disabled{cursor:not-allowed;opacity:.52}.stat-adjust-controls{display:flex;align-items:center;gap:8px}.stat-adjust-button{display:inline-grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border:1px solid rgba(244,207,122,.28);border-radius:8px;background-color:rgba(244,207,122,.08);color:var(--gold-bright);box-shadow:none;transition:transform .42s cubic-bezier(.19,1,.22,1),border-color .42s cubic-bezier(.19,1,.22,1),background-color .42s cubic-bezier(.19,1,.22,1),color .42s cubic-bezier(.19,1,.22,1)}.stat-adjust-button:focus-visible,.stat-adjust-button:hover{transform:translateY(-2px) scale(1.04);border-color:rgba(244,207,122,.74);background-color:var(--gold);color:var(--ink)}.stat-adjust-button:disabled{cursor:not-allowed;opacity:.36;transform:none}.stat-roll-card strong{color:var(--cream);font-size:2.2rem;font-weight:900;line-height:1}.stat-roll-card small{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;color:var(--gold-bright);font-size:.82rem;font-weight:900}.stat-roll-bonus-source{color:var(--muted);font-size:.72rem;font-weight:600}.point-buy-remaining{display:flex;align-items:baseline;justify-content:center;gap:6px;min-height:22px;color:var(--muted);font-size:.84rem;font-weight:800}.point-buy-remaining strong{color:var(--gold-bright);font-size:1rem;font-weight:900}.character-step-note{display:grid;grid-gap:4px;gap:4px;margin:0;color:var(--muted);font-size:.8rem;font-weight:700;line-height:1.4}.character-step-note strong{color:var(--gold-bright);font-size:.78rem;font-weight:900;text-transform:uppercase}.character-builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-builder-grid,.character-builder-stack{display:grid;grid-gap:16px;gap:16px}.character-identity-fields,.identity-panel{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.identity-panel{align-items:start;padding-top:2px}.backstory-field{display:grid;grid-gap:8px;gap:8px}.backstory-field small{color:var(--muted);font-size:.8rem;font-weight:700;line-height:1.4}.new-adventure-form .backstory-field textarea{min-height:190px}.new-adventure-form .backstory-input-shell{position:relative;display:grid}.new-adventure-form .backstory-input-shell textarea[aria-busy=true]{padding-bottom:48px}.new-adventure-form .backstory-loader{position:absolute;right:14px;bottom:12px;max-width:calc(100% - 28px);padding:6px 8px;border-radius:6px;background:rgba(12,9,8,.86);font-size:.76rem;pointer-events:none}.new-adventure-form .backstory-actions{display:flex;flex-wrap:wrap;gap:10px;justify-self:start}.new-adventure-form .backstory-actions button{min-height:40px;padding:10px 14px;border:1px solid rgba(244,207,122,.3);border-radius:8px;background:linear-gradient(180deg,rgba(31,23,16,.9),rgba(12,9,8,.92));color:var(--gold-bright);font-size:.82rem;font-weight:850;letter-spacing:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 10px 20px rgba(0,0,0,.18)}.new-adventure-form .backstory-actions button:focus-visible,.new-adventure-form .backstory-actions button:hover{border-color:rgba(244,207,122,.58);background:linear-gradient(180deg,rgba(64,43,21,.94),rgba(20,14,9,.96))}.character-current-pick{display:grid;grid-gap:5px;gap:5px;min-width:0;padding:12px;border:1px solid rgba(244,207,122,.18);border-radius:8px;background:rgba(17,13,10,.4)}.character-current-pick span{color:var(--gold-bright);font-size:.68rem;font-weight:900;text-transform:uppercase}.character-current-pick strong{min-width:0;overflow:hidden;color:var(--ink);font-family:var(--body-font);font-size:1.02rem;text-overflow:ellipsis;white-space:nowrap}.custom-world-field{display:grid;grid-template-rows:0fr;margin-top:-20px;overflow:hidden;opacity:0;transform:translateY(-6px);transition:grid-template-rows .22s ease,opacity .18s ease,transform .22s ease}.custom-world-field.expanded{grid-template-rows:1fr;margin-top:0;opacity:1;transform:translateY(0)}.custom-world-field>label{min-height:0}.custom-world-field textarea{min-height:190px}.join-code-panel{display:grid;grid-gap:16px;gap:16px;width:min(100%,460px);margin:0 auto}.join-code-panel input{text-align:center;font-size:1.35rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.join-code-panel label,.join-preview{text-align:center}.join-preview{display:grid;grid-gap:6px;gap:6px;padding:14px;border:1px solid rgba(244,207,122,.26);border-radius:8px;background:rgba(17,13,10,.48)}.join-preview strong{color:var(--ink);font-size:1rem}.join-preview span{color:var(--muted);font-size:.82rem;font-weight:800}.new-adventure-form input,.new-adventure-form textarea{width:100%;border:1px solid rgba(244,207,122,.28);border-radius:8px;outline:0;color:var(--ink);background:rgba(17,13,10,.56);font:inherit}.new-adventure-form input{min-height:52px;padding:0 14px}.new-adventure-form textarea{min-height:150px;resize:vertical;padding:12px;line-height:1.5}.new-adventure-form input:focus,.new-adventure-form textarea:focus{border-color:rgba(244,207,122,.72)}.new-adventure-error{margin:0;color:#ffb199;font-size:.86rem;font-weight:800}.new-adventure-error-slot{min-height:0}.campaign-creation-screen{position:relative;display:grid;min-height:100dvh;overflow:hidden;place-items:center;padding:28px}.full-page-rune-loader{display:grid;width:min(100%,760px);min-height:210px;place-items:center;justify-items:center;text-align:center;will-change:opacity,transform}.full-page-rune-loader.exiting{animation:full-page-rune-loader-exit .52s cubic-bezier(.4,0,.2,1) forwards}.full-page-rune-loader .rune-loader{font-size:clamp(.9rem,1.8vw,1.08rem)}.campaign-prep-loader,.full-page-rune-loader-content{display:grid;justify-items:center;text-align:center;width:100%}.campaign-prep-loader-window,.rune-loader-window{position:relative;width:min(100%,620px);min-height:2rem;overflow:hidden}.campaign-prep-loader-message,.rune-loader-message{position:absolute;inset:0;align-items:center;justify-content:center;width:100%;line-height:1.3;text-align:center;white-space:nowrap}.campaign-prep-loader-message.entering,.rune-loader-message.entering{animation:rune-loader-pulse 1.6s ease-in-out infinite,campaign-prep-message-in .65s cubic-bezier(.22,1,.36,1)}.campaign-prep-loader-message.exiting,.rune-loader-message.exiting{animation:campaign-prep-message-out .65s cubic-bezier(.22,1,.36,1) forwards}.campaign-prep-loader-note,.rune-loader-note{margin:1.6rem 0 0;color:rgba(248,234,208,.72);font-size:.9rem;font-style:italic;line-height:1.5}.creation-review{display:grid;grid-gap:18px;gap:18px;justify-items:center;width:min(100%,540px);margin:0 auto;text-align:center}.creation-review>svg{color:var(--gold-bright)}.creation-review dl{display:grid;grid-gap:10px;gap:10px;width:100%;margin:0}.creation-review div{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:14px;gap:14px;min-height:44px;align-items:center;border-bottom:1px solid rgba(226,176,93,.16);text-align:left}.creation-review dt{color:var(--gold-bright);font-size:.74rem;font-weight:900;text-transform:uppercase}.creation-review dd{min-width:0;margin:0;overflow:hidden;color:var(--ink);font-family:var(--body-font);font-size:1.15rem;text-overflow:ellipsis;white-space:nowrap}.character-art-step{display:grid;grid-template-columns:minmax(190px,280px) minmax(0,1fr);grid-gap:clamp(18px,4vw,30px);gap:clamp(18px,4vw,30px);align-items:start;width:min(100%,760px);margin:0 auto}.portrait-final-step{display:grid;grid-gap:18px;gap:18px;justify-items:center;width:min(100%,460px);margin:0 auto;text-align:center}.generated-character-portrait{display:grid;place-items:center;width:min(280px,80vw);aspect-ratio:1;overflow:hidden;border:1px solid rgba(244,207,122,.38);border-radius:8px;color:rgba(249,237,214,.68);background:radial-gradient(circle at 50% 28%,rgba(244,207,122,.14),transparent 42%),rgba(12,9,7,.88);box-shadow:inset 0 0 46px rgba(0,0,0,.42),0 24px 70px rgba(0,0,0,.34)}.generated-character-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}.generated-character-portrait.empty{border-style:dashed}.portrait-placeholder{display:grid;align-content:center;justify-items:center;grid-gap:10px;gap:10px;width:100%;height:100%;padding:18px}.portrait-placeholder span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.portrait-placeholder .rune-loader{justify-content:center;text-align:center}.portrait-placeholder .campaign-prep-loader{width:min(100%,220px)}.portrait-placeholder .campaign-prep-loader-window{width:100%;min-height:2rem}.portrait-placeholder .campaign-prep-loader-message{color:var(--gold-bright);font-size:.72rem;text-shadow:0 0 18px rgba(244,207,122,.34)}.portrait-placeholder .rune-loader-dots span{color:inherit;font-size:inherit}.character-art-controls{display:grid;grid-gap:16px;gap:16px;min-width:0}.character-art-selectors{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-gap:14px;gap:14px}.new-adventure-form select{width:100%;min-height:52px;border:1px solid rgba(244,207,122,.28);border-radius:8px;outline:0;padding:0 38px 0 14px;color:var(--ink);background:linear-gradient(45deg,transparent 50%,rgba(244,207,122,.78) 0) calc(100% - 19px) 22px /7px 7px no-repeat,linear-gradient(135deg,rgba(244,207,122,.78) 50%,transparent 0) calc(100% - 14px) 22px /7px 7px no-repeat,rgba(17,13,10,.56);font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-adventure-form select:focus{border-color:rgba(244,207,122,.72)}.character-art-upload{border:1px dashed rgba(244,207,122,.3);border-radius:8px;padding:14px;background:rgba(12,9,7,.35)}.character-art-upload input{min-height:auto;padding:10px 0 0;border:0;background:transparent}.character-art-upload small{color:var(--muted);font-size:.78rem;font-weight:800}.character-art-regenerate{justify-self:start;display:inline-flex;min-height:42px;align-items:center;gap:8px;border:1px solid rgba(244,207,122,.28);border-radius:8px;padding:0 14px;color:var(--gold-bright);background:rgba(17,13,10,.54);font-weight:900}.portrait-final-copy{display:grid;grid-gap:7px;gap:7px}.portrait-final-copy strong{color:var(--gold-bright);font-family:var(--heading-font);font-size:1.36rem;font-weight:500}.portrait-final-copy span{color:var(--muted);font-family:var(--body-font);line-height:1.5}.creation-actions{display:flex;justify-content:center;gap:12px;width:100%;padding-top:4px}.creation-actions button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:148px;border:1px solid rgba(244,207,122,.28);border-radius:8px;padding:0 18px;color:var(--gold-bright);background:rgba(17,13,10,.54);font-weight:900;transition:border-color .36s ease,color .36s ease,box-shadow .36s ease,transform .36s ease}.fantasy-arrow-icon{display:inline-block;width:16px;height:20px;flex:0 0 auto;background:currentColor;-webkit-mask:url(/new-adventure/arrow3.svg) center/contain no-repeat;mask:url(/new-adventure/arrow3.svg) center/contain no-repeat}.fantasy-arrow-back{transform:rotate(-90deg)}.fantasy-arrow-forward{transform:rotate(90deg)}.creation-actions button:before{position:absolute;inset:0;z-index:-1;border-radius:inherit;content:"";background:linear-gradient(180deg,#f4cf7a,#c88731);opacity:0;transition:opacity .36s ease}.creation-actions button:not(:disabled):active,.creation-actions button:not(:disabled):focus-visible,.creation-actions button:not(:disabled):hover{border-color:rgba(244,207,122,.45);color:#1b120b;box-shadow:0 10px 28px rgba(0,0,0,.22)}.creation-actions button:not(:disabled):active:before,.creation-actions button:not(:disabled):focus-visible:before,.creation-actions button:not(:disabled):hover:before{opacity:1}.creation-actions button:not(:disabled):active{transform:translateY(1px)}.creation-actions button:disabled{cursor:wait;opacity:.68}.scroll-progress-slider{position:fixed;top:84px;right:clamp(10px,1.6vw,22px);bottom:84px;z-index:8;width:24px;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.scroll-progress-slider-visible{opacity:1;pointer-events:auto}.scroll-progress-slider-track{position:relative;width:100%;height:100%;cursor:pointer}.scroll-progress-slider-track:before{position:absolute;top:0;bottom:0;left:50%;width:2px;border-radius:999px;background:linear-gradient(180deg,transparent,rgba(244,207,122,.32),transparent),rgba(17,13,10,.68);box-shadow:0 0 0 1px rgba(244,207,122,.08);content:"";transform:translateX(-50%)}.scroll-progress-slider-thumb{position:absolute;top:var(--scroll-slider-thumb-top,0);left:50%;display:block;width:12px;height:var(--scroll-slider-thumb-height,58px);border:1px solid rgba(255,239,202,.72);border-radius:999px;background:linear-gradient(180deg,rgba(255,247,223,.96),rgba(244,207,122,.86) 44%,rgba(173,71,43,.86)),var(--gold);box-shadow:0 10px 24px rgba(0,0,0,.32),0 0 18px rgba(244,207,122,.22);transform:translateX(-50%);transition:box-shadow .18s ease,width .18s ease}.scroll-progress-slider:focus-visible .scroll-progress-slider-thumb,.scroll-progress-slider:hover .scroll-progress-slider-thumb{width:15px;box-shadow:0 12px 28px rgba(0,0,0,.38),0 0 22px rgba(244,207,122,.34)}.scroll-progress-slider:focus-visible{outline:0}.scroll-progress-slider:focus-visible .scroll-progress-slider-track:before{background:linear-gradient(180deg,transparent,rgba(255,247,223,.52),transparent),rgba(17,13,10,.8)}.character-art-wait-note{max-width:min(100%,560px);margin:2px auto 0;color:rgba(248,234,208,.58);font-family:var(--body-font);font-size:.86rem;font-style:italic;line-height:1.5;text-align:center}.campaign-creation-screen *,.campaign-creation-screen :after,.campaign-creation-screen :before,.equipment-modal-backdrop *,.equipment-modal-backdrop :after,.equipment-modal-backdrop :before,.new-adventure-page *,.new-adventure-page :after,.new-adventure-page :before{border-radius:0!important}@keyframes new-adventure-flow-exit{to{opacity:0;transform:translateY(14px) scale(.99)}}@keyframes new-adventure-flow-enter{0%{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:translateY(0)}}@keyframes full-page-rune-loader-exit{to{opacity:0;transform:translateY(22px)}}.table-grid{display:grid;grid-template-columns:292px minmax(0,1fr) 320px;flex:1 1;min-height:0;overflow:hidden}.table-grid.session-panel-collapsed{grid-template-columns:292px minmax(0,1fr)}.chat-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;padding:18px;overflow:hidden;border-right:1px solid var(--line);background:rgba(12,9,8,.32)}.chat-sidebar-actions,.chat-sidebar-history{display:flex;flex:1 1;flex-direction:column;min-height:0}.chat-sidebar-history{gap:14px;padding-bottom:14px;border-bottom:1px solid rgba(226,176,93,.18)}.chat-sidebar-actions{gap:10px;justify-content:flex-end;padding-top:14px}.player-resources-button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:0;border-radius:8px;padding:0 18px;color:var(--gold-bright);background:transparent;font-family:var(--body-font);font-size:.84rem;font-weight:900;letter-spacing:0;opacity:.48;text-shadow:0 1px 3px rgba(0,0,0,.86)}.player-resources-button:before{position:absolute;inset:0;z-index:-1;background:var(--gold-bright);content:"";-webkit-mask:url(/fantasygothicui/button9.png) center/100% 100% no-repeat;mask:url(/fantasygothicui/button9.png) center/100% 100% no-repeat}.player-resources-button:focus-visible,.player-resources-button:hover{opacity:1;filter:drop-shadow(0 0 8px rgba(244,207,122,.18))}.chat-sidebar-portrait{display:block;align-self:center;width:min(184px,100%);aspect-ratio:1;overflow:hidden;border:1px solid rgba(244,207,122,.38);border-radius:8px;padding:0;cursor:pointer;background:radial-gradient(circle at 50% 28%,rgba(244,207,122,.14),transparent 42%),rgba(12,9,7,.88);box-shadow:inset 0 0 34px rgba(0,0,0,.38),0 18px 48px rgba(0,0,0,.26)}.chat-sidebar-portrait:focus-visible,.chat-sidebar-portrait:hover{border-color:rgba(244,207,122,.68);box-shadow:inset 0 0 34px rgba(0,0,0,.38),0 0 0 2px rgba(244,207,122,.12),0 18px 48px rgba(0,0,0,.32)}.chat-sidebar-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}.chat-sidebar-portrait.pending{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;cursor:default;padding:12px 14px}.chat-sidebar-portrait.pending .rune-loader{color:var(--gold-bright);font-size:.68rem;line-height:1.25;text-align:center;white-space:normal}.chat-sidebar-portrait-note{margin:0;color:rgba(248,234,208,.58);font-family:var(--body-font);font-size:.66rem;font-style:italic;line-height:1.35;text-align:center}.portrait-viewer-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:clamp(18px,4vw,36px);background:rgba(3,2,2,.74);-webkit-backdrop-filter:blur(10px) saturate(1.04);backdrop-filter:blur(10px) saturate(1.04)}.portrait-viewer-modal{position:relative;display:grid;place-items:center;width:min(720px,calc(100vw - 36px));max-height:calc(100dvh - 36px);border:1px solid rgba(244,207,122,.46);border-radius:8px;overflow:hidden;background:radial-gradient(circle at 50% 28%,rgba(244,207,122,.12),transparent 40%),rgba(12,9,7,.96);box-shadow:inset 0 0 56px rgba(0,0,0,.42),0 30px 92px rgba(0,0,0,.62)}.portrait-viewer-modal img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:rgba(3,2,2,.72)}.portrait-viewer-close{position:absolute;top:12px;right:12px;z-index:1;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(244,207,122,.42);border-radius:8px;color:var(--gold-bright);background:rgba(10,8,7,.72);box-shadow:0 12px 28px rgba(0,0,0,.38)}.portrait-viewer-close:focus-visible,.portrait-viewer-close:hover{border-color:rgba(244,207,122,.74);background:rgba(24,18,13,.9)}.chat-sidebar-header{display:flex;align-items:center;gap:12px;justify-content:space-between}.chat-sidebar-header h2{margin-bottom:0;font-size:1.18rem}.chat-sidebar-header .adventures-title{margin-bottom:0;font-size:.72rem}.chat-list-item,.chat-list-row,.chat-search,.chat-sidebar-header button{border-radius:8px}.chat-sidebar-header button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(226,176,93,.22);color:var(--gold-bright);background:rgba(217,169,74,.1)}.chat-sidebar-header button:disabled{cursor:wait;opacity:.48}.chat-search{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;min-height:42px;padding:0 12px;border:1px solid rgba(226,176,93,.16);color:var(--muted);background:rgba(10,8,7,.5)}.chat-search input{min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-family:var(--body-font)}.chat-search input::placeholder{color:rgba(249,237,214,.44)}.chat-list{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow:auto}.chat-list-empty{margin:0;padding:10px 2px;color:var(--muted);font-family:var(--body-font);font-size:.82rem}.chat-list-row{position:relative;grid-template-columns:minmax(0,1fr) 30px;align-items:stretch;width:100%;min-height:72px;border:1px solid transparent;color:var(--ink)}.chat-list-item,.chat-list-row{display:grid;background:transparent}.chat-list-item{grid-template-columns:minmax(0,1fr);grid-gap:4px;gap:4px;align-items:flex-start;min-width:0;padding:12px 8px 12px 12px;border:0;color:inherit;text-align:left}.chat-list-row.active,.chat-list-row:hover{border-color:rgba(244,207,122,.68);background:linear-gradient(90deg,rgba(173,71,43,.22),transparent),rgba(255,255,255,.045)}.chat-list-item span{display:grid;grid-gap:4px;gap:4px;min-width:0}.chat-list-item em,.chat-list-item small,.chat-list-item strong{overflow:hidden;font-family:var(--body-font);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.chat-list-item strong{font-size:.92rem}.chat-list-item em,.chat-list-item small{color:var(--muted);font-size:.78rem;font-style:normal}.chat-list-item em{justify-self:end}.chat-row-actions{display:grid;grid-gap:6px;gap:6px;align-self:start;margin-top:8px;margin-right:8px}.chat-action-button{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(226,176,93,.16);border-radius:8px;color:var(--muted);background:rgba(10,8,7,.42);opacity:0}.chat-action-button:focus-visible,.chat-list-row:focus-within .chat-action-button,.chat-list-row:hover .chat-action-button{opacity:1}.chat-delete-button:hover{border-color:rgba(173,71,43,.7);color:var(--gold-bright);background:rgba(173,71,43,.24)}.chat-rename-button:hover{border-color:rgba(244,207,122,.62);color:var(--gold-bright);background:rgba(217,169,74,.16)}.story-column{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px}.table-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:11px 12px;border:1px solid rgba(173,71,43,.48);border-radius:8px;color:#f2b199;background:rgba(173,71,43,.16);font-family:var(--body-font);font-size:.84rem;font-weight:800;letter-spacing:0}.table-alert button{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border:1px solid rgba(244,207,122,.2);border-radius:8px;color:var(--gold-bright);background:rgba(10,8,7,.32)}.table-alert button:hover{border-color:rgba(244,207,122,.62);background:rgba(10,8,7,.52)}.character-sheet-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:clamp(14px,3vw,28px);background:rgba(18,15,13,.16);-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08)}.character-sheet-overlay-panel{display:flex;flex-direction:column;width:min(1040px,100%);height:min(760px,calc(100dvh - 56px));min-width:0;min-height:0;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(26,19,15,.98);box-shadow:0 22px 70px rgba(0,0,0,.42)}.dnd-sheet-header{display:flex;align-items:stretch;gap:14px;border-bottom:1px solid var(--line);padding:14px}.dnd-sheet-portrait{flex:0 0 118px;width:118px;aspect-ratio:1;overflow:hidden;border:1px solid rgba(226,176,93,.34);border-radius:8px;background:rgba(10,8,7,.4)}.dnd-sheet-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}.dnd-sheet-nameplate{display:grid;align-content:end;flex:1.15 1 260px;min-width:0;border:1px solid rgba(226,176,93,.3);border-radius:8px;padding:12px 14px;background:linear-gradient(180deg,rgba(244,207,122,.08),transparent),rgba(10,8,7,.3)}.dnd-sheet-box span,.dnd-sheet-lined-panel h3,.dnd-sheet-meta-grid span,.dnd-sheet-nameplate span{color:var(--muted);font-family:var(--body-font);font-size:.66rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.dnd-sheet-nameplate h2{margin:0;overflow:hidden;color:var(--ink);font-size:clamp(1.6rem,3vw,2.6rem);line-height:1;text-overflow:ellipsis;white-space:nowrap}.dnd-sheet-meta-grid{display:grid;flex:1 1 420px;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;min-width:0}.dnd-sheet-meta-grid div{display:grid;align-content:space-between;min-width:0;min-height:58px;border:1px solid rgba(226,176,93,.22);border-radius:8px;padding:9px 10px;background:rgba(10,8,7,.34)}.dnd-sheet-meta-grid strong{overflow:hidden;color:var(--ink);font-family:var(--body-font);font-size:.84rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.character-sheet-overlay-panel button{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(244,207,122,.32);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.character-sheet-overlay-panel button:focus-visible,.character-sheet-overlay-panel button:hover{border-color:rgba(244,207,122,.62);background:rgba(217,169,74,.14)}.player-resources-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.character-sheet-overlay-panel .player-resource-tab{width:auto;height:36px;min-width:136px;padding:0 14px;color:var(--muted);font-family:var(--body-font);font-size:.72rem;font-weight:900;text-transform:uppercase}.character-sheet-overlay-panel .player-resource-tab[aria-selected=true]{border-color:rgba(244,207,122,.68);color:var(--gold-bright);background:rgba(217,169,74,.14)}.character-sheet-overlay-panel .player-resources-close{margin-left:auto}.player-resource-panel{display:flex;flex:1 1;flex-direction:column;gap:14px;min-height:0;overflow:auto;padding:14px}.player-resource-grid{display:grid;flex:1 1;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;min-height:0}.player-weapons-spells-grid{grid-template-columns:minmax(300px,.95fr) minmax(340px,1.35fr)}.player-resource-grid .dnd-sheet-lined-panel{min-height:260px}.combat-cheat-sheet-panel{gap:10px}.character-sheet-overlay-panel .combat-cheat-sheet-generate{width:auto;height:38px;padding:0 12px;gap:8px;color:var(--gold-bright);font-family:var(--body-font);font-size:.76rem;font-weight:900;text-transform:uppercase}.character-sheet-overlay-panel .combat-cheat-sheet-generate:disabled{cursor:wait;opacity:.7}.combat-cheat-sheet-generate .spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.combat-cheat-sheet-meta{margin:-2px 0 4px;color:var(--muted);font-size:.76rem}.combat-cheat-sheet-copy{display:grid;grid-gap:10px;gap:10px;max-width:820px;color:var(--text);font-size:.98rem;line-height:1.62}.combat-cheat-sheet-copy p{margin:0;padding:12px 14px;border:1px solid rgba(244,207,122,.18);border-radius:8px;background:rgba(17,13,10,.34)}.combat-cheat-sheet-copy strong{color:var(--gold-bright);font-weight:900}.eldermere-lore-panel,.npc-cards-panel,.player-backstory-panel{display:flex;flex:1 1;flex-direction:column;gap:14px;min-height:0;overflow:auto;padding:14px}.player-backstory-copy{display:grid;grid-gap:1rem;gap:1rem;color:var(--ink);font-family:var(--play-text-font)}.player-backstory-copy p{margin:0;white-space:pre-wrap;line-height:1.6}.eldermere-lore-copy{display:grid;grid-gap:18px;gap:18px;color:var(--ink)}.eldermere-lore-copy p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}.eldermere-lore-section{display:grid;grid-gap:10px;gap:10px}.eldermere-lore-section>h3{margin:0;color:var(--ink);font-size:1rem;line-height:1.2}.eldermere-lore-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding-left:20px;color:var(--muted);font-size:.9rem;line-height:1.45}.eldermere-lore-list li::marker{color:var(--gold-bright)}.eldermere-lore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px}.eldermere-lore-grid article{border:1px solid rgba(244,207,122,.18);padding:12px;background:rgba(250,235,199,.08)}.eldermere-lore-grid h4{margin:0 0 6px;color:var(--gold-bright);font-size:1rem}.eldermere-lore-grid p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}.npc-cards-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid rgba(244,207,122,.16)}.npc-cards-header h2,.npc-detail-header h2{margin:0;color:var(--ink);font-size:1.7rem;line-height:1}.npc-cards-header span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.npc-cards-status{margin:0;color:var(--muted);font-size:.9rem}.npc-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:10px;gap:10px}.character-sheet-overlay-panel .npc-card{display:grid;grid-template-columns:74px minmax(0,1fr);grid-gap:12px;gap:12px;width:100%;height:auto;min-height:112px;padding:10px;text-align:left}.npc-card-portrait,.npc-detail-portrait{display:grid;place-items:center;border:1px dashed rgba(244,207,122,.32);color:rgba(244,207,122,.54);background:linear-gradient(180deg,rgba(255,248,220,.035),transparent),rgba(10,8,7,.36)}.npc-card-portrait{width:74px;height:92px}.npc-card-copy{display:grid;align-content:center;grid-gap:6px;gap:6px;min-width:0}.npc-card-copy small,.npc-card-copy span,.npc-card-copy strong{overflow:hidden;text-overflow:ellipsis}.npc-card-copy strong{color:var(--ink);font-size:1rem;white-space:nowrap}.npc-card-copy small{color:var(--gold-bright);font-size:.72rem;font-weight:900;text-transform:uppercase;white-space:nowrap}.npc-card-copy span{display:-webkit-box;color:var(--muted);font-size:.82rem;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.npc-detail-backdrop{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:18px;background:rgba(3,2,2,.68)}.npc-detail-modal{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-gap:14px;gap:14px;width:min(760px,100%);max-height:min(760px,calc(100dvh - 36px));min-height:0;border:1px solid var(--line);padding:16px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(26,19,15,.99);box-shadow:0 26px 90px rgba(0,0,0,.58)}.npc-detail-header{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:12px;min-width:0}.npc-detail-header h2{overflow:hidden;max-width:580px;text-overflow:ellipsis;white-space:nowrap}.npc-detail-header button{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(244,207,122,.32);color:var(--gold-bright);background:rgba(17,13,10,.48)}.npc-detail-portrait{width:150px;min-height:190px}.npc-detail-fields{display:grid;grid-gap:10px;gap:10px;min-height:0;overflow:auto;padding-right:4px}.npc-detail-fields label{display:grid;grid-gap:5px;gap:5px}.npc-detail-fields span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.npc-detail-fields input,.npc-detail-fields textarea{width:100%;border:1px solid rgba(244,207,122,.2);padding:9px 10px;color:var(--ink);background:rgba(10,8,7,.34);font:inherit}.npc-detail-fields textarea{min-height:82px;resize:vertical}.npc-detail-actions{display:flex;grid-column:2;align-items:center;justify-content:flex-end;gap:12px}.npc-detail-actions span{color:var(--muted);font-size:.78rem;font-weight:900}.npc-detail-actions button{min-width:150px;min-height:40px;border:1px solid rgba(244,207,122,.34);color:var(--gold-bright);background:rgba(17,13,10,.58);font-weight:900}.npc-detail-actions button:disabled{cursor:not-allowed;opacity:.58}.backstory-intro-backdrop{position:fixed;inset:0;z-index:48;display:grid;place-items:center;padding:22px;background:rgba(3,2,2,.78);-webkit-backdrop-filter:blur(12px) saturate(1.05);backdrop-filter:blur(12px) saturate(1.05)}.backstory-intro-modal{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:16px;gap:16px;width:min(680px,100%);max-height:min(760px,calc(100vh - 44px));border:1px solid rgba(244,207,122,.28);padding:18px;background:linear-gradient(180deg,rgba(255,248,220,.055),transparent 32%),rgba(26,19,15,.98);box-shadow:0 26px 90px rgba(0,0,0,.62)}.backstory-intro-scroll{min-height:0;overflow:auto;padding-right:4px}.backstory-intro-modal h2{margin:0 0 14px;color:var(--gold-bright);font-size:1.7rem;line-height:1}.backstory-intro-copy{display:grid;grid-gap:1rem;gap:1rem;color:var(--ink);font-family:var(--play-text-font)}.backstory-intro-copy p{margin:0;white-space:pre-wrap;line-height:1.6}.backstory-intro-continue{justify-self:end;min-width:150px;min-height:42px;border:1px solid rgba(244,207,122,.36);padding:0 18px;color:var(--gold-bright);font-family:var(--body-font);font-size:.82rem;font-weight:900;background:rgba(17,13,10,.54)}.backstory-intro-continue:disabled{cursor:wait;color:rgba(244,207,122,.54);border-color:rgba(244,207,122,.18);background:rgba(17,13,10,.36)}.dnd-sheet-body{display:grid;flex:1 1;grid-template-columns:minmax(210px,.82fr) minmax(260px,1fr) minmax(260px,1fr);grid-gap:12px;gap:12px;min-height:0;overflow:auto;padding:14px}.dnd-sheet-center,.dnd-sheet-left,.dnd-sheet-right{display:grid;align-content:start;grid-gap:10px;gap:10px;min-width:0}.dnd-ability-card,.dnd-sheet-box,.dnd-sheet-lined-panel{border:1px solid rgba(226,176,93,.22);border-radius:8px;background:linear-gradient(180deg,rgba(244,207,122,.055),transparent),rgba(10,8,7,.38)}.dnd-sheet-box{display:grid;place-items:center;min-height:66px;padding:10px;text-align:center}.dnd-sheet-box strong{color:var(--gold-bright);font-family:var(--body-font);font-size:1.28rem;font-weight:900;line-height:1}.dnd-ability-list{display:grid;grid-gap:8px;gap:8px}.dnd-ability-card{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:1fr 1fr;grid-gap:8px;gap:8px;min-height:82px;padding:6px 8px}.dnd-ability-score{display:grid;align-self:stretch;grid-row:1/-1;place-items:center;border:1px solid rgba(244,207,122,.32);border-radius:8px;margin:2px 0;background:rgba(217,169,74,.08)}.dnd-ability-score strong{color:var(--ink);font-family:var(--body-font);font-size:1.55rem;font-weight:900;line-height:1}.dnd-ability-card h3,.dnd-ability-card p{margin:0;min-width:0;font-family:var(--body-font)}.dnd-ability-card h3{align-self:end;color:var(--ink);font-size:.82rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.dnd-ability-card p{align-self:start;grid-column:2;color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.35}.dnd-combat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.dnd-combat-grid .dnd-sheet-box{grid-column:span 2}.dnd-combat-grid .dnd-sheet-box:nth-child(n+4){grid-column:span 3}.dnd-sheet-lined-panel{display:flex;flex-direction:column;min-height:128px;overflow:hidden}.dnd-sheet-lined-content{flex:1 1;min-height:0;margin:0;overflow:auto;padding:10px 12px;color:var(--ink);font-family:var(--body-font);font-size:.82rem;line-height:1.46;background-image:linear-gradient(rgba(226,176,93,.12) 1px,transparent 0);background-size:100% 1.9rem}.dnd-sheet-lined-content p{margin:0 0 .38rem}.dnd-sheet-lined-panel h3{margin:0;border-top:1px solid rgba(226,176,93,.18);padding:7px 10px;text-align:center}.dnd-spell-panel .dnd-sheet-lined-content{display:grid;align-content:start;grid-gap:12px;gap:12px}.dnd-spell-groups{display:grid;grid-gap:13px;gap:13px}.dnd-spell-group{display:grid;grid-gap:6px;gap:6px}.dnd-spell-group h4{margin:0;color:var(--gold-bright);font-size:.72rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.dnd-sheet-table-wrap{width:100%;overflow-x:auto}.dnd-sheet-table{width:100%;min-width:520px;border-collapse:collapse;color:var(--ink);font-family:var(--body-font);font-size:.75rem;line-height:1.25}.dnd-sheet-table td,.dnd-sheet-table th{border:1px solid rgba(226,176,93,.18);padding:7px 8px;text-align:left;vertical-align:top}.dnd-sheet-table th{color:var(--gold-bright);background:rgba(217,169,74,.09);font-size:.65rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.dnd-sheet-table td{background:rgba(17,12,8,.34);font-weight:750}.dnd-sheet-table td:first-child,.dnd-sheet-table th:first-child{width:30%;font-weight:900}.dnd-sheet-table td:nth-child(2),.dnd-sheet-table td:nth-child(3),.dnd-sheet-table th:nth-child(2),.dnd-sheet-table th:nth-child(3){width:17%}.dnd-sheet-table button.dnd-sheet-table-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline;padding:0;border:0;border-radius:0;color:var(--gold-bright);background:transparent;box-shadow:none;cursor:pointer;font:inherit;font-weight:inherit;line-height:inherit;min-width:0;text-align:left;text-decoration:underline;-webkit-text-decoration-color:rgba(244,207,122,.42);text-decoration-color:rgba(244,207,122,.42);text-underline-offset:3px}.dnd-sheet-table button.dnd-sheet-table-action:focus-visible,.dnd-sheet-table button.dnd-sheet-table-action:hover{color:var(--gold-bright);background:transparent;box-shadow:none;outline:1px solid rgba(244,207,122,.4);outline-offset:3px;-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.dnd-spell-details{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:.76rem}.dnd-sheet-right .dnd-sheet-lined-panel:nth-child(-n+4){min-height:94px}.dnd-sheet-center .dnd-sheet-lined-panel:nth-child(2),.dnd-sheet-center .dnd-sheet-lined-panel:nth-child(3),.dnd-sheet-center .dnd-sheet-lined-panel:nth-child(4),.dnd-sheet-right .dnd-sheet-lined-panel:nth-child(5){min-height:210px}.begin-adventure-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px;border:1px solid rgba(226,176,93,.18);border-radius:8px;background:rgba(10,8,7,.5)}.begin-adventure-panel p{margin:0;color:var(--muted);font-family:var(--body-font);font-size:.86rem;font-weight:800;letter-spacing:0}.game-code-callout{display:grid;grid-gap:2px;gap:2px;min-width:112px;padding:8px 10px;border:1px solid rgba(244,207,122,.24);border-radius:8px;background:rgba(0,0,0,.28)}.game-code-callout span{color:var(--muted);font-family:var(--body-font);font-size:.62rem;font-weight:900;text-transform:uppercase}.game-code-callout strong{color:var(--gold-bright);font-family:var(--body-font);font-size:1rem;letter-spacing:.08em}.invite-link-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.begin-adventure-panel .invite-link-controls .secondary-action{min-height:34px;border-color:rgba(188,169,142,.34);color:var(--ink);background:rgba(255,255,255,.06)}.begin-adventure-panel .invite-link-controls .secondary-action:hover:not(:disabled){border-color:rgba(244,207,122,.45);background:rgba(244,207,122,.12)}.invite-error-inline,.invite-status{font-size:.76rem;font-weight:900}.invite-status{color:#a8d9a2}.invite-error-inline{color:#ffb19f}.begin-adventure-panel button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;white-space:nowrap;border:1px solid rgba(244,207,122,.45);border-radius:8px;color:#1b120b;background:linear-gradient(180deg,#f4cf7a,#c88731);font-family:var(--body-font);font-size:.82rem;font-weight:900}.begin-adventure-panel button:disabled{cursor:not-allowed;opacity:.46}.death-choice-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px;border:1px solid rgba(231,88,66,.3);border-radius:8px;background:rgba(18,7,8,.68)}.death-choice-panel strong{display:block;margin-bottom:4px;color:#ffd2c8;font-family:var(--body-font);font-size:.9rem;font-weight:900}.death-choice-panel p{margin:0;color:var(--muted);font-family:var(--body-font);font-size:.82rem;font-weight:800;letter-spacing:0}.death-choice-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.death-choice-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;white-space:nowrap;border:1px solid rgba(244,207,122,.45);border-radius:8px;color:#1b120b;background:linear-gradient(180deg,#f4cf7a,#c88731);font-family:var(--body-font);font-size:.82rem;font-weight:900}.death-choice-actions .secondary-action{color:var(--ink);border-color:rgba(188,169,142,.34);background:rgba(255,255,255,.06)}.death-choice-actions button:disabled{cursor:not-allowed;opacity:.46}.death-choice-actions .secondary-action:hover:not(:disabled){border-color:rgba(244,207,122,.45);background:rgba(244,207,122,.12)}.message-log{display:flex;flex:1 1;flex-direction:column;gap:14px;min-height:0;margin:0 0 18px;overflow:auto;padding-right:6px}.message-card{display:grid;grid-template-columns:38px minmax(0,1fr);grid-gap:12px;gap:12px;width:100%}.message-content{min-width:0;padding:15px 22px;border:1px solid rgba(226,176,93,.18);border-radius:8px;background:rgba(20,15,12,.58)}.message-player .message-content{background:rgba(95,119,81,.22)}.message-ask-dm-answer .message-content,.message-ask-dm-question .message-content{border-color:rgba(129,184,166,.32);background:rgba(35,74,70,.2)}.message-system{color:var(--muted)}.message-system .message-content{background:rgba(217,169,74,.08)}.message-inventory-update{color:var(--muted);font-style:italic}.message-semantic-narration{color:var(--semantic-narration-color,var(--gold-bright))}.message-semantic-narration-npc{--semantic-narration-color:#e8b86c}.message-semantic-narration-place{--semantic-narration-color:#87c7dc}.message-semantic-narration-clue{--semantic-narration-color:#b8d978}.message-semantic-narration-danger{--semantic-narration-color:#ee8b73}.message-semantic-narration-faction{--semantic-narration-color:#c8a7f0}.message-semantic-narration-object{--semantic-narration-color:#d8c077}.message-waiting{color:var(--muted)}.message-waiting .message-content{border-style:dashed;background:rgba(95,119,81,.12)}.message-icon{width:38px;height:38px;border-radius:8px;overflow:hidden}.message-avatar-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}.message-resource-card{display:grid;grid-gap:10px;gap:10px}.message-resource{display:grid;grid-template-columns:minmax(0,1fr);padding-left:48px}.message-resource-card img{display:block;width:45%;height:auto;border:1px solid rgba(244,207,122,.24);object-fit:contain;object-position:50% 50%}.message-resource-actions{display:flex;flex-wrap:wrap;gap:8px}.message-resource-actions button{min-height:36px;border:1px solid rgba(244,207,122,.3);padding:0 12px;color:var(--gold-bright);font-family:var(--body-font);font-size:.76rem;font-weight:900;background:rgba(17,13,10,.46);box-shadow:0 0 0 rgba(217,169,74,0);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.message-resource-actions button:focus-visible,.message-resource-actions button:hover{border-color:rgba(244,207,122,.68);background:rgba(217,169,74,.16);box-shadow:0 10px 28px rgba(217,169,74,.16);transform:translateY(-2px)}.message-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;margin-bottom:6px}.message-label-stack{display:grid;grid-gap:6px;gap:6px;min-width:0}.message-label{margin-bottom:0;color:var(--gold-bright);font-family:var(--body-font);font-size:.78rem;font-weight:800}.message-location-label{margin:0;color:rgba(235,230,220,.78);font-family:var(--body-font);font-size:.72rem;font-weight:600;line-height:1.25}.message-dm .message-label,.message-dm .message-location-label{font-size:.96rem}.message-label-detail{color:var(--muted);font-size:.72rem;font-weight:700}.message-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.message-action-button{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border:1px solid rgba(244,207,122,.28);border-radius:8px;color:var(--muted);background:rgba(17,13,10,.42)}.message-action-button:focus-visible,.message-action-button:hover{color:var(--gold-bright);border-color:rgba(244,207,122,.58);background:rgba(217,169,74,.12)}.message-action-button:disabled{cursor:wait;opacity:.48}.message-pressure-badge{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border:1px solid rgba(104,189,149,.38);border-radius:8px;color:#8ddab4;background:rgba(34,73,56,.28)}.message-body{display:grid;grid-gap:1.15rem;gap:1.15rem;font-family:var(--play-text-font)}.message-body p{margin-bottom:0;font-size:.94rem;white-space:pre-wrap;line-height:1.5}.message-body strong{color:var(--gold-bright);font-weight:900}.message-dm .message-body{gap:1.45rem}.message-dm .message-body p{font-size:.96rem;line-height:1.58}.debug-modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:22px;background:rgba(3,2,2,.76)}.debug-modal{display:flex;flex-direction:column;width:min(980px,100%);max-height:min(820px,calc(100dvh - 44px));border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(21,16,13,.98);box-shadow:0 26px 90px rgba(0,0,0,.58)}.debug-modal-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid var(--line)}.debug-modal-content h3,.debug-modal-header h2,.debug-modal-header p{margin-bottom:0}.debug-modal-header h2{font-size:1.35rem}.debug-modal-header p{margin-top:4px;color:var(--muted);font-family:var(--body-font);font-size:.82rem}.debug-modal-header button{display:grid;flex:0 0 auto;width:40px;height:40px;place-items:center;border:1px solid rgba(244,207,122,.32);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.debug-modal-content{display:grid;grid-gap:16px;gap:16px;min-height:0;overflow:auto;padding:16px}.debug-modal-content section{display:grid;grid-gap:8px;gap:8px}.debug-modal-content h3{color:var(--gold-bright);font-family:var(--body-font);font-size:.82rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.debug-modal-content pre{max-height:42dvh;margin:0;overflow:auto;border:1px solid rgba(226,176,93,.18);border-radius:8px;padding:12px;color:#f8ead0;background:rgba(5,4,4,.52);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.rune-loader{display:inline-flex;align-items:baseline;margin:0;color:var(--gold-bright);font-family:var(--body-font);font-size:.94rem;font-weight:900;letter-spacing:0;text-transform:uppercase;animation:rune-loader-pulse 1.6s ease-in-out infinite}.rune-loader-dots{display:inline-grid;grid-template-columns:repeat(3,.42em);margin-left:.12em}.rune-loader-dots span{animation:rune-loader-dot 1.2s infinite;opacity:.18}.rune-loader-dots span:nth-child(2){animation-delay:.18s}.rune-loader-dots span:nth-child(3){animation-delay:.36s}@keyframes rune-loader-pulse{0%,to{opacity:.68;text-shadow:0 0 0 rgba(244,207,122,0)}50%{opacity:1;text-shadow:0 0 16px rgba(244,207,122,.28)}}@keyframes rune-loader-dot{0%,20%{opacity:.18;transform:translateY(0)}45%{opacity:1;transform:translateY(-1px)}75%,to{opacity:.18;transform:translateY(0)}}@keyframes campaign-prep-message-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes campaign-prep-message-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.campaign-prep-loader-message.entering,.campaign-prep-loader-message.exiting,.rune-loader-message.entering,.rune-loader-message.exiting{animation:none}.campaign-prep-loader-message.exiting,.rune-loader-message.exiting{opacity:0}}.turn-form{display:grid;grid-gap:10px;gap:10px;padding:0;border:0;background:transparent}.turn-form-warning{filter:drop-shadow(0 0 10px rgba(244,207,122,.16))}.turn-form-submitted{background:transparent}.turn-form-attention{animation:turn-form-attention .72s ease}.turn-form-validation{grid-column:1/-1;margin:0;color:var(--gold-bright);font-family:var(--body-font);font-size:.82rem;font-weight:900;letter-spacing:0;animation:turn-validation-appear .38s ease}.turn-form-input-wrap{position:relative;min-width:0;padding:0 58px 18px 18px}.turn-form-input-wrap:before{position:absolute;right:0;bottom:0;left:0;height:8px;background:url(/fantasygothicui/line1.png) bottom/100% 100% no-repeat;content:"";opacity:.32;pointer-events:none}.turn-form-input-wrap textarea{width:100%;min-height:76px;resize:none;border:0;outline:0;color:var(--ink);background:transparent;font-family:var(--play-text-font);line-height:1.45}.turn-form .turn-submit-arrow{position:absolute;right:12px;bottom:22px;z-index:2;display:block;width:32px;height:38px;min-height:0;border:0;padding:0;background:rgba(255,255,255,.78);opacity:.46;-webkit-mask:url(/fantasygothicui/arrow4.png) center/contain no-repeat;mask:url(/fantasygothicui/arrow4.png) center/contain no-repeat;transform:rotate(90deg);transition:background .18s ease,opacity .18s ease,filter .18s ease}.turn-form-has-retry .turn-submit-arrow{right:54px}.turn-form .turn-retry-button{position:absolute;right:10px;bottom:24px;z-index:3;display:grid;width:36px;height:36px;min-height:0;place-items:center;border:1px solid rgba(244,207,122,.34);border-radius:6px;padding:0;color:var(--gold-bright);background:rgba(18,13,10,.82);box-shadow:0 0 12px rgba(0,0,0,.24);transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.turn-form .turn-retry-button:focus-visible,.turn-form .turn-retry-button:hover{border-color:rgba(244,207,122,.72);color:var(--ink);background:var(--gold-bright);transform:translateY(-1px)}.turn-form .turn-submit-arrow:not(:disabled):focus-visible,.turn-form .turn-submit-arrow:not(:disabled):hover{background:var(--gold-bright);opacity:1;filter:drop-shadow(0 0 8px rgba(244,207,122,.24))}.turn-form .turn-submit-arrow:disabled{cursor:not-allowed;opacity:.24}.turn-form-submitted .turn-form-input-wrap:after{position:absolute;inset:0 0 18px;background:rgba(0,0,0,.44);content:"";pointer-events:none}.turn-form-submitted textarea{color:rgba(249,237,214,.36);opacity:.64}.turn-form-submitted-label{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding:0 14px;color:var(--gold-bright);font-family:var(--body-font);font-size:.88rem;font-weight:900;letter-spacing:0;text-align:center;text-transform:uppercase;pointer-events:none;animation:turn-submitted-appear .28s ease}.turn-form-input-wrap textarea::placeholder{color:rgba(249,237,214,.44)}.turn-action-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.input-mode-toggle{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:8px;min-width:min(100%,260px)}.turn-form .input-mode-button{min-height:34px;padding:0 12px;font-size:.72rem}.turn-form .map-button,.turn-form .model-settings-button{--toolbar-button-image:url(/fantasygothicui/square9.png);width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.turn-form .map-button svg,.turn-form .model-settings-button svg{width:15px;height:15px;color:currentColor}.dice-roll-control{position:relative;flex:0 0 auto}.turn-form .dice-roll-button{display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:38px;min-height:38px;padding:0 16px;--toolbar-button-image:url(/fantasygothicui/button12.png)}.dice-picker-popover{position:absolute;bottom:calc(100% + 10px);right:0;z-index:8;display:grid;grid-gap:10px;gap:10px;width:228px;padding:10px;border:1px solid rgba(244,207,122,.42);border-radius:8px;background:rgba(20,14,10,.98);box-shadow:0 18px 46px rgba(0,0,0,.44);animation:dice-picker-appear .18s ease}.dice-picker-popover:after{position:absolute;bottom:-6px;right:27px;width:10px;height:10px;border-right:1px solid rgba(244,207,122,.42);border-bottom:1px solid rgba(244,207,122,.42);background:rgba(20,14,10,.98);content:"";transform:rotate(45deg)}.dice-picker-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.turn-form .dice-picker-option{position:relative;display:grid;width:58px;min-width:58px;height:58px;min-height:58px;place-items:center;justify-self:center;border:0;padding:0;color:var(--gold-bright);background:transparent;text-shadow:0 1px 3px rgba(0,0,0,.86)}.turn-form .dice-picker-option:before{position:absolute;inset:0;z-index:-1;background:var(--gold-bright);content:"";-webkit-mask:url(/fantasygothicui/square3.png) center/100% 100% no-repeat;mask:url(/fantasygothicui/square3.png) center/100% 100% no-repeat}.turn-form .dice-picker-option:focus-visible,.turn-form .dice-picker-option:hover{filter:drop-shadow(0 0 8px rgba(244,207,122,.18))}.dice-picker-option strong{position:absolute;top:-4px;right:-4px;display:grid;min-width:20px;height:20px;place-items:center;padding:0 6px;border:1px solid rgba(244,207,122,.72);border-radius:999px;color:#1b120b;background:var(--gold-bright);font-family:var(--body-font);font-size:.68rem;line-height:1}.dice-picker-actions{display:grid;grid-template-columns:74px minmax(0,1fr);grid-gap:8px;gap:8px}.turn-form .dice-picker-clear,.turn-form .dice-picker-roll{min-height:42px}.turn-form button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid rgba(244,207,122,.45);border-radius:8px;color:var(--gold-bright);background:transparent;font-family:var(--body-font);font-weight:900}.turn-action-bar button{--toolbar-button-image:url(/fantasygothicui/button4.png);min-width:82px;border:0;padding:0 18px;color:var(--gold-bright);opacity:.48;text-shadow:0 1px 3px rgba(0,0,0,.86)}.turn-action-bar button:before{position:absolute;inset:0;z-index:-1;background:var(--gold-bright);content:"";-webkit-mask:var(--toolbar-button-image) center /100% 100% no-repeat;mask:var(--toolbar-button-image) center /100% 100% no-repeat}.turn-action-bar .dice-roll-button:not(:disabled),.turn-action-bar .input-mode-button.active,.turn-action-bar .map-button.active,.turn-action-bar .model-settings-button.active,.turn-action-bar button:focus-visible,.turn-action-bar button:hover,.turn-form-actions button:not(:disabled){opacity:1;filter:drop-shadow(0 0 8px rgba(244,207,122,.18))}.turn-form button:disabled{cursor:not-allowed;opacity:.32}.turn-form-actions{display:flex;flex:0 0 auto;gap:8px}.turn-form .turn-form-skip{min-height:38px}.turn-form .turn-form-skip,.turn-form-actions button{--toolbar-button-image:url(/fantasygothicui/button12.png)}.turn-form .dice-picker-clear{color:var(--gold-bright);background:rgba(217,169,74,.08)}.model-settings-backdrop{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:22px;background:rgba(3,2,2,.72)}.model-settings-modal{display:grid;grid-gap:16px;gap:16px;width:min(560px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;border:1px solid var(--line);padding:16px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(26,19,15,.98);box-shadow:0 26px 90px rgba(0,0,0,.58)}.model-settings-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.model-settings-header h2{margin:0;color:var(--gold-bright);font-size:1.2rem}.turn-form .model-settings-header button{min-height:34px;border:1px solid rgba(244,207,122,.24);padding:0 12px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.model-settings-options{display:grid;grid-gap:10px;gap:10px}.model-settings-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.turn-form .model-settings-tabs button{min-height:38px;border:1px solid rgba(244,207,122,.2);color:var(--muted);background:rgba(17,13,10,.42)}.turn-form .model-settings-tabs button.active,.turn-form .model-settings-tabs button:focus-visible,.turn-form .model-settings-tabs button:hover:not(:disabled){color:var(--gold-bright);border-color:rgba(244,207,122,.58);background:rgba(217,169,74,.12)}.turn-form .model-settings-option{justify-content:center;min-height:44px;border:1px solid rgba(244,207,122,.24);color:var(--gold-bright);background:rgba(17,13,10,.48);opacity:.52}.turn-form .model-settings-option.active,.turn-form .model-settings-option:focus-visible,.turn-form .model-settings-option:hover{opacity:1;border-color:rgba(244,207,122,.58);background:rgba(217,169,74,.12)}.restart-settings-panel{display:grid;grid-gap:12px;gap:12px}.restart-settings-panel p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.restart-settings-panel label{display:grid;grid-gap:7px;gap:7px;color:var(--gold-bright);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.restart-settings-panel textarea{min-height:180px;resize:vertical;border:1px solid rgba(244,207,122,.24);padding:12px;color:var(--text);background:rgba(11,8,7,.68)}.restart-settings-panel textarea:focus{outline:none;border-color:rgba(244,207,122,.62);box-shadow:0 0 0 2px rgba(217,169,74,.14)}.restart-settings-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.turn-form .restart-settings-actions button,.turn-form .restart-settings-submit{min-height:40px;border:1px solid rgba(244,207,122,.24);color:var(--gold-bright);background:rgba(17,13,10,.48)}.turn-form .restart-settings-actions button:focus-visible,.turn-form .restart-settings-actions button:hover:not(:disabled),.turn-form .restart-settings-submit:focus-visible,.turn-form .restart-settings-submit:hover:not(:disabled){border-color:rgba(244,207,122,.58);background:rgba(217,169,74,.12)}.turn-form .restart-settings-submit{justify-content:center;color:#ffd0c0;border-color:rgba(255,151,111,.34);background:rgba(95,27,19,.36)}.restart-settings-status{color:var(--gold-bright)}.restart-settings-error{color:#ffb4a2}@media (max-width:560px){.restart-settings-actions{grid-template-columns:1fr}}.eldermere-map-backdrop{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:22px;background:rgba(3,2,2,.76)}.eldermere-map-modal{display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:14px;gap:14px;width:min(980px,100%);max-height:min(860px,calc(100vh - 44px));border:1px solid var(--line);padding:16px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(26,19,15,.98);box-shadow:0 26px 90px rgba(0,0,0,.58)}.eldermere-map-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.eldermere-map-header h2{margin:0;color:var(--gold-bright);font-size:1.2rem}.eldermere-map-header button{min-height:34px;border:1px solid rgba(244,207,122,.24);padding:0 12px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.eldermere-map-frame{min-height:0;overflow:auto;border:1px solid rgba(244,207,122,.24);background:rgba(250,235,199,.08)}.eldermere-map-frame img,.eldermere-map-frame object{display:block;width:100%;min-width:420px;height:auto;aspect-ratio:3/2;object-fit:contain}@keyframes dice-picker-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.dice-reveal-backdrop{position:fixed;inset:0;z-index:40;background:radial-gradient(circle at 50% 48%,rgba(244,207,122,.08),transparent 34rem),rgba(5,4,3,.72);pointer-events:none;animation:dice-reveal-backdrop-appear .18s ease}.dice-reveal-panel{position:absolute;inset:0;overflow:hidden}.dice-reveal-canvas{position:absolute;inset:0;width:100%;height:100%}.dice-reveal-canvas canvas{display:block;width:100%!important;height:100%!important}.dice-reveal-fallback{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.dice-reveal-fallback-die{display:grid;width:clamp(78px,14vw,148px);height:clamp(78px,14vw,148px);place-items:center;border:2px solid rgba(244,207,122,.62);border-radius:22px;color:#1b120b;background:linear-gradient(145deg,rgba(255,244,210,.98),rgba(196,159,93,.92));box-shadow:0 24px 80px rgba(0,0,0,.5),inset 0 2px 12px rgba(255,255,255,.55);font-family:var(--body-font);font-size:clamp(1.6rem,5vw,3.3rem);font-weight:900;transform:rotate(12deg);animation:dice-reveal-fallback-roll .58s ease-in-out infinite alternate}.dice-reveal-fallback-die:empty:after{color:rgba(27,18,11,.72);content:"?"}.dice-reveal-summary{position:absolute;right:clamp(18px,4vw,48px);bottom:clamp(18px,4vw,48px);left:clamp(18px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:560px;margin:0 auto;padding:14px 16px;border:1px solid rgba(244,207,122,.34);border-radius:8px;background:rgba(12,8,6,.78);box-shadow:0 18px 48px rgba(0,0,0,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--body-font)}.dice-reveal-summary span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.dice-reveal-summary strong{color:var(--gold-bright);font-size:1.35rem;letter-spacing:0}@keyframes dice-reveal-backdrop-appear{0%{opacity:0}to{opacity:1}}@keyframes dice-reveal-fallback-roll{0%{transform:translate(-8px,4px) rotate(-14deg) scale(.96)}to{transform:translate(8px,-4px) rotate(14deg) scale(1.04)}}@keyframes turn-submitted-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes turn-form-attention{0%,to{transform:translateX(0);box-shadow:0 0 0 1px rgba(244,207,122,.12)}18%{transform:translateX(-4px);box-shadow:0 0 0 2px rgba(244,207,122,.28)}36%{transform:translateX(4px)}54%{transform:translateX(-3px)}72%{transform:translateX(2px)}}@keyframes turn-validation-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.session-panel{display:flex;flex-direction:column;gap:18px;min-height:0;overflow:auto;padding:20px;border-left:1px solid var(--line);background:rgba(16,12,10,.34)}.session-panel section{padding-bottom:18px;border-bottom:1px solid rgba(226,176,93,.14)}.session-panel section:last-child{padding-bottom:0;border-bottom:0}.session-panel h3{margin-bottom:0;font-size:1.16rem;line-height:1.25}.player-panel{gap:16px}.player-card{display:grid;justify-items:center;grid-gap:12px;gap:12px}.character-portrait{display:grid;place-items:center;width:min(180px,100%);aspect-ratio:1;border:1px solid rgba(244,207,122,.3);border-radius:8px;color:rgba(249,237,214,.56);background:radial-gradient(circle at 50% 35%,rgba(244,207,122,.12),transparent 34%),#111;box-shadow:inset 0 0 45px rgba(0,0,0,.55)}.player-fields{display:grid;grid-gap:12px;gap:12px}.player-fields label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-family:var(--body-font);font-size:.78rem;font-weight:800;text-transform:uppercase}.player-fields input,.sheet-modal textarea{width:100%;border:1px solid rgba(226,176,93,.18);border-radius:8px;outline:0;color:var(--ink);background:rgba(10,8,7,.5);font:inherit}.player-fields input{min-height:42px;padding:0 12px;font-family:var(--body-font);font-size:1rem;text-transform:none}.player-fields input:focus,.sheet-modal textarea:focus{border-color:rgba(244,207,122,.68);box-shadow:0 0 0 3px rgba(217,169,74,.08)}.profile-update-button,.sheet-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;border:1px solid rgba(244,207,122,.36);border-radius:8px;color:var(--gold-bright);background:rgba(217,169,74,.1);font-family:var(--body-font);font-weight:900}.profile-update-button{margin-top:10px;color:#1b120b;background:linear-gradient(180deg,#f4cf7a,#c88731)}.sheet-button:hover{border-color:rgba(244,207,122,.68);background:rgba(173,71,43,.22)}.profile-update-button:hover{border-color:rgba(244,207,122,.72);background:linear-gradient(180deg,#ffe09a,#d49743)}.sheet-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:rgba(3,2,2,.72)}.sheet-modal{display:flex;flex-direction:column;width:min(720px,100%);height:min(720px,calc(100dvh - 44px));border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(26,19,15,.98);box-shadow:0 26px 90px rgba(0,0,0,.58)}.sheet-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.sheet-modal-header h2{margin-bottom:0;font-size:1.5rem}.sheet-modal-header button{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(244,207,122,.32);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.sheet-modal textarea{flex:1 1;min-height:0;resize:none;border-width:0;border-radius:0 0 8px 8px;padding:18px;line-height:1.55}.stat-row{display:flex;align-items:center;min-height:32px;font-family:var(--body-font)}.clue-box,.stat-row{gap:10px;color:var(--muted)}.clue-box{display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:10px}.clue-box p{margin-bottom:0;line-height:1.45}.mini-map{display:grid;place-items:center;height:150px;border:1px solid rgba(226,176,93,.18);border-radius:8px;color:var(--gold-bright);background:linear-gradient(45deg,rgba(244,207,122,.05) 25%,transparent 0),linear-gradient(-45deg,rgba(244,207,122,.05) 25%,transparent 0),rgba(95,119,81,.13);background-size:28px 28px}.floating-send{display:none}.table-page .character-sheet-overlay *,.table-page .character-sheet-overlay :after,.table-page .character-sheet-overlay :before,.table-page .dice-reveal-backdrop *,.table-page .dice-reveal-backdrop :after,.table-page .dice-reveal-backdrop :before,.table-page .floating-send,.table-page .play-table *,.table-page .play-table :after,.table-page .play-table :before{border-radius:0!important}h1,h2,h3,h4,h5,h6{font-family:var(--heading-font)!important;font-weight:500!important}@media (max-width:1040px){.landing-pillars,.landing-scenario-grid{grid-template-columns:1fr}.character-sheet-overlay-panel{width:min(860px,100%)}.dnd-sheet-header{flex-wrap:wrap}.dnd-sheet-header>button{margin-left:auto}.dnd-sheet-body{grid-template-columns:minmax(210px,.8fr) minmax(0,1fr)}.dnd-sheet-right{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.table-grid,.table-grid.session-panel-collapsed{grid-template-columns:252px minmax(0,1fr)}.new-adventure-heading h1{max-width:16ch}.character-art-step{grid-template-columns:1fr;justify-items:center}.character-art-controls{width:min(100%,520px)}.session-panel{display:none}}@media (max-width:720px){.landing-hero{align-items:flex-end;justify-content:flex-start;min-height:100dvh;padding:88px 20px 84px}.landing-background{object-position:32% center}.landing-scrim{background:linear-gradient(180deg,rgba(7,5,3,.6),rgba(7,5,3,.1) 26%,rgba(7,5,3,.55) 58%,#070503 96%)}.landing-nav{padding:20px}.landing-hero-copy{width:100%;margin-top:0;margin-right:0;text-align:left}.landing-kicker{justify-content:flex-start}.landing-hero h1{margin-left:0;max-width:14ch}.landing-lede{margin-left:0}.landing-actions{width:100%;justify-content:flex-start}.landing-button{width:min(100%,340px)}.landing-final,.landing-footer,.landing-section{width:min(100% - 40px,1120px)}.landing-final .landing-button,.landing-final .landing-button:hover,.landing-final h2{transform:none}.table-page{padding:0}.play-table{height:100dvh;border-width:0;border-radius:0}.new-adventure-page{padding:66px 18px calc(32px + env(safe-area-inset-bottom))}.ability-score-grid,.build-mode-picker>div,.character-builder-grid,.class-picker>div,.genre-picker>div,.mode-picker,.multiplayer-intent-picker>div,.stat-roll-pool{grid-template-columns:1fr}.stat-roll-panel-header{align-items:stretch;flex-direction:column}.stat-mode-actions{justify-content:stretch}.stat-mode-button{flex:1 1}.character-sheet-overlay{padding:10px}.character-sheet-overlay-panel{height:calc(100dvh - 20px)}.player-resources-tabs{padding:8px 10px}.character-sheet-overlay-panel .player-resource-tab{min-width:0;flex:1 1;padding:0 8px;font-size:.66rem}.character-sheet-overlay-panel .player-resources-close{flex:0 0 38px;width:38px;height:38px}.dnd-sheet-header{gap:10px;padding:10px}.dnd-sheet-meta-grid,.dnd-sheet-nameplate{flex-basis:100%}.dnd-sheet-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dnd-sheet-body{padding:10px}.dnd-sheet-body,.player-resource-grid,.player-weapons-spells-grid{grid-template-columns:1fr}.player-resource-grid .dnd-sheet-lined-panel{min-height:180px}.dnd-combat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dnd-combat-grid .dnd-sheet-box,.dnd-combat-grid .dnd-sheet-box:nth-child(n+4){grid-column:auto}.dnd-sheet-right{grid-column:auto;grid-template-columns:1fr}.npc-detail-modal{grid-template-columns:1fr;overflow:auto}.npc-detail-portrait{width:100%;min-height:150px}.npc-detail-actions{grid-column:1;justify-content:stretch}.npc-detail-actions button{flex:1 1}.table-grid,.table-grid.session-panel-collapsed{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.chat-sidebar{max-height:320px;border-right:0;border-bottom:1px solid var(--line);padding:14px}.chat-sidebar-history{flex:1 1 65%;padding-bottom:10px}.chat-sidebar-actions{flex:0 0 auto;padding-top:10px}.chat-sidebar-portrait{width:96px}.player-resources-button{min-height:42px}.chat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto}.chat-list-item{min-height:84px}.chat-list-item em{display:none}.story-column{padding:14px}.message-log{min-height:0}.turn-form{grid-template-columns:1fr}.turn-action-bar{justify-content:flex-start}.input-mode-toggle{flex:1 1 100%}.turn-form .dice-roll-button,.turn-form button{min-height:38px}.turn-form-input-wrap{grid-column:1/-1}.turn-form-actions{grid-column:auto}}.loading-table{display:grid;place-items:center}