:root{--wine:#72222a;--wine-dark:#3a0b0d;--gold:#d88b35;--copper:#c36930;--parchment:#faf9d9;--vellum:#ffe9a9;--ink:#1c0919;--good:#80b85b;--bad:#c85d4d;--text:#faf9d9;--muted:#e4b279;--line:#d88b355c;--panel:#120705c2;--panel-strong:#060000e0;--card:#0000003d;--field:#faf9d914;--shadow:#0000009e;--scrollbar-thumb:#e4b279ad;--scrollbar-thumb-hover:#ffe9a9e0;--app-content-max-width:1180px;--color-primary:var(--gold);--color-secondary:var(--copper);--color-tertiary:var(--wine);--color-quaternary:var(--wine-dark);--color-quinary:#040101;--color-sexagenary:#fff;color:var(--text);background:var(--light-canvas,var(--app-bg,#040101));font-family:Georgia,Times New Roman,serif}:root:has(.landing-page){--landing-stone:#100f0d;background:var(--landing-stone)}:root[data-theme=light]:has(.landing-page){--landing-stone:#f2eadb}:root[data-theme] body:has(.landing-page){background:var(--landing-stone)}.landing-page{--landing-surface:#1a1813;--landing-line:color-mix(in srgb, var(--gold) 26%, transparent);--landing-accent:var(--gold);--landing-radius:6px;--landing-font-copy:Arial, sans-serif;--landing-font-heading:Georgia, serif;--landing-glow:color-mix(in srgb, var(--gold) 16%, transparent);min-height:100vh;color:var(--text);background:var(--landing-stone);overflow:clip}.landing-page main{display:block}.landing-page [id]{scroll-margin-top:110px}.landing-wrap{width:min(1180px,100% - 112px);margin-inline:auto}.landing-page p{text-wrap:pretty}.landing-page h1,.landing-page h2,.landing-page h3{text-wrap:balance}.landing-reveal.reveal-ready{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(18px)}.landing-reveal.reveal-ready.visible{opacity:1;transform:none}.landing-header.app-header{z-index:1000;border:1px solid var(--landing-line);border-radius:var(--landing-radius);background:color-mix(in srgb, var(--landing-stone) 92%, transparent);width:min(1280px,100% - 48px);min-height:66px;box-shadow:0 12px 40px var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-wrap:nowrap;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.landing-brand{letter-spacing:.1em;text-transform:uppercase;flex:none;font-size:14px;font-weight:700}.landing-header-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.landing-header .landing-login-button{white-space:nowrap;flex-shrink:0;min-height:40px;padding-inline:22px}.landing-page .ui-button{border-radius:var(--landing-radius)}.landing-hero{isolation:isolate;padding:178px 0 30px;position:relative}.landing-hero:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 44%, var(--landing-glow), transparent 60%);position:absolute;inset:0}.landing-hero-grid{grid-template-columns:1fr 1fr;align-items:center;min-height:490px;display:grid;position:relative}.landing-hero-copy{z-index:2;padding-block:40px;position:relative}.landing-section-number{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0;font:700 11px/1.5 Arial,sans-serif}.landing-hero-eyebrow{align-items:center;gap:12px;max-width:420px;display:flex}.landing-hero-eyebrow span{background:var(--gold);flex-shrink:0;width:22px;height:1px}.landing-hero h1{letter-spacing:-.045em;margin:24px 0;font:400 clamp(48px,5.5vw,78px)/1.06 Georgia,serif}.landing-hero h1 span,.landing-final-card h2 span{color:var(--gold);font-style:normal;font-weight:700;display:block}.landing-hero-description{max-width:460px;color:var(--muted);margin:0;font:16px/1.8 Arial,sans-serif}.landing-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.landing-actions .ui-button,.landing-final-card .ui-button{min-height:48px;padding-inline:22px;font-size:14px}.landing-hero-art{z-index:0;width:82%;position:absolute;top:-60px;bottom:-25px;right:-9%}.landing-hero-illustration{object-fit:cover;object-position:65% center;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 35% 92%,#0000),linear-gradient(#0000,#000 10% 88%,#0000);mask-image:linear-gradient(90deg,#0000 0%,#000 35% 92%,#0000),linear-gradient(#0000,#000 10% 88%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.landing-hero-caption{border:1px solid var(--landing-line);background:var(--landing-surface);width:174px;box-shadow:0 8px 24px var(--shadow);color:var(--landing-hero-caption-ink);white-space:pre-line;border-radius:28px;margin:0;padding:14px 18px;font-size:14px;font-style:normal;font-weight:700;line-height:1.5;position:absolute;top:33%;right:calc(38% + 18px)}.landing-hero-caption:after{content:"";border-right:1px solid var(--landing-line);border-top:1px solid var(--landing-line);background:var(--landing-surface);width:12px;height:12px;position:absolute;top:50%;right:-7px;transform:translateY(-50%)rotate(45deg)}.landing-hero-bottom{color:var(--muted);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:18px;padding-top:30px;font:11px/1.6 Arial,sans-serif;display:flex;position:relative}.landing-motion-button{color:var(--muted);border:0;border-bottom:1px solid var(--landing-line);font:inherit;cursor:pointer;background:0 0;padding:10px 0}.landing-motion-button:hover{color:var(--text)}.landing-audiences{padding:45px 0 64px;position:relative}.landing-path-intro{border-bottom:1px solid var(--landing-line);justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;display:flex}.landing-path-intro p{color:var(--muted);margin:0;font-size:14px}.landing-audience-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.landing-audience-card{border-bottom:1px solid var(--landing-line);border-right:1px solid var(--landing-line);grid-template-columns:1fr auto;align-content:start;min-width:0;padding:26px 22px;transition:background .2s;display:grid}.landing-audience-card:first-child{border-left:1px solid var(--landing-line)}.landing-audience-card:hover,.landing-audience-card:focus-visible{background:var(--landing-glow)}.landing-audience-card small,.landing-audience-card>svg{color:var(--gold);font-size:11px}.landing-audience-card>svg{width:17px;height:17px}.landing-audience-card h2{grid-column:1/-1;margin:24px 0 8px;font-size:21px;font-weight:400}.landing-audience-card p{color:var(--muted);grid-column:1/-1;margin:0;font:12px/1.65 Arial,sans-serif}.landing-session{padding-bottom:80px}.landing-session-heading{justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.landing-session-heading>span:last-child{color:var(--muted);font-size:13px;font-style:normal;font-weight:700}.landing-hero-media,.landing-showcase-media{border:1px solid var(--landing-line);border-radius:var(--landing-radius);background:var(--landing-surface);min-width:0;box-shadow:0 16px 40px var(--shadow);aspect-ratio:16/9;position:relative;overflow:hidden}.landing-hero-media{max-width:940px;margin-inline:auto}.landing-hero-media video,.landing-showcase-media video{object-fit:contain;width:100%;height:100%;display:block}.landing-section{border-top:1px solid var(--landing-line);background:radial-gradient(ellipse at 6% 15%, var(--landing-glow), transparent 38%);padding:84px 0;position:relative}.landing-section:after{content:"";pointer-events:none;background:linear-gradient(var(--gold), var(--landing-line) 65%, transparent);opacity:.5;width:1px;position:absolute;top:170px;bottom:-84px;left:max(38px,50% - 561px)}.landing-section-header{align-items:center;gap:30px;margin-bottom:44px;display:flex;position:relative}.landing-section-header>div:last-child{max-width:740px}.landing-section-header h2,.landing-basics-header h2{letter-spacing:-.025em;margin:12px 0 14px;font:400 clamp(32px,3.8vw,49px)/1.15 Georgia,serif}.landing-section-header>div>p:last-child,.landing-basics-header>p{max-width:640px;color:var(--muted);margin:0;font:14px/1.8 Arial,sans-serif}.landing-chapter-beacon{flex-direction:column;flex:0 0 60px;align-items:center;gap:14px;display:flex}.landing-torch{--torch-width:128px;width:var(--torch-width);height:calc(var(--torch-width) * 1.5);isolation:isolate;perspective:600px;flex-shrink:0;display:inline-block;position:relative}.landing-torch-metal{z-index:2;object-fit:contain;width:100%;height:100%;filter:drop-shadow(8px 12px 6px var(--shadow));position:absolute;inset:0}.landing-torch-sigil{z-index:-1;aspect-ratio:1;border:1px solid var(--landing-line);width:100%;box-shadow:0 0 0 8px var(--landing-stone), 0 0 0 9px var(--landing-line);background:repeating-conic-gradient(from 15deg, var(--landing-line) 0deg 1deg, transparent 1deg 30deg);border-radius:50%;position:absolute;top:24%;left:0;transform:rotateX(15deg);-webkit-mask-image:radial-gradient(circle,#0000 60%,#000 61%);mask-image:radial-gradient(circle,#0000 60%,#000 61%)}.landing-torch-halo{z-index:-1;pointer-events:none;background:radial-gradient(ellipse, var(--fire-aura) 0%, var(--fire-haze) 25%, transparent 65%);border-radius:50%;width:340%;height:230%;position:absolute;top:-83%;left:-120%}.landing-torch-reflection{z-index:3;background:radial-gradient(ellipse at top, var(--fire-aura), transparent 70%);mix-blend-mode:screen;pointer-events:none;border-radius:50%;position:absolute;inset:28% 20%}.landing-torch-fire{z-index:1;transform-origin:50% 100%;width:40%;height:30%;filter:drop-shadow(0 0 7px var(--fire-middle)) drop-shadow(0 0 18px var(--fire-haze));position:absolute;bottom:68%;left:35%}.landing-torch-flame{transform-origin:50% 100%;background:linear-gradient(0deg, var(--fire-middle) 5%, var(--fire-edge) 65%, transparent 100%);border-radius:78% 12% 62% 38%/75% 30% 70% 25%;position:absolute;bottom:0}.landing-torch-filter{pointer-events:none;width:0;height:0;position:absolute}.landing-torch-distortion{position:absolute;inset:0}.flame-outer{filter:blur(1px);width:82%;height:96%;left:9%;transform:rotate(-9deg)}.flame-left{width:55%;height:68%;left:0;transform:rotate(-23deg)}.flame-right{border-radius:15% 85% 30% 70%;width:48%;height:77%;right:0;transform:rotate(20deg)}.flame-heart{background:linear-gradient(0deg, var(--fire-core), var(--fire-middle) 70%, transparent);width:59%;height:76%;left:22%;transform:rotate(6deg)}.flame-core{background:linear-gradient(0deg, var(--fire-core), var(--fire-hot));filter:blur(.7px);width:32%;height:42%;left:36%}.torch-moving .flame-outer{animation:3.4s ease-in-out infinite alternate landing-fire-sway}.torch-moving .flame-left{animation:2.2s ease-in-out -.8s infinite alternate landing-fire-tongue}.torch-moving .flame-right{animation:2.8s ease-in-out -1.8s infinite alternate-reverse landing-fire-tongue}.torch-moving .flame-heart{animation:1.7s ease-in-out -1s infinite alternate-reverse landing-fire-sway}.torch-moving .flame-core{animation:1.2s ease-in-out infinite alternate landing-fire-core}.landing-torch-embers{position:absolute;inset:0}.landing-torch-embers i{background:var(--fire-hot);width:3px;height:5px;box-shadow:0 0 5px var(--fire-edge);opacity:0;border-radius:50%;position:absolute;bottom:10%;left:45%}.torch-moving .landing-torch-embers i{animation:5.2s ease-out infinite landing-ember}.landing-torch-embers i:nth-child(2){animation-duration:4.2s;animation-delay:-1.4s;left:25%}.landing-torch-embers i:nth-child(3){animation-duration:6s;animation-delay:-2.8s;left:70%}.landing-torch-embers i:nth-child(4){animation-duration:4.6s;animation-delay:-4s;left:38%}.landing-torch-embers i:nth-child(5){animation-duration:5.6s;animation-delay:-.6s;left:60%}.landing-torch-embers i:nth-child(6){animation-duration:6.4s;animation-delay:-3.6s;left:17%}.landing-torch-smoke{opacity:0;pointer-events:none;filter:blur(9px);background:radial-gradient(ellipse, var(--fire-smoke), transparent 65%);transform-origin:bottom;width:40%;height:42%;position:absolute;bottom:62%;left:30%}@keyframes landing-fire-sway{0%{transform:rotate(-12deg)scale(.92,.88)}55%{transform:rotate(4deg)scale(1.04,1.13)}to{transform:rotate(-3deg)scale(.87,1.02)}}@keyframes landing-fire-tongue{0%{opacity:.7;transform:rotate(-22deg)scale(.8,1.08)}to{opacity:1;transform:rotate(18deg)scale(1.13,.84)}}@keyframes landing-fire-core{0%{opacity:.8;transform:scale(.9,.85)}to{opacity:1;transform:scale(1.1,1.12)}}@keyframes landing-ember{0%{opacity:0;transform:translate(0)scale(.3)}15%{opacity:1}60%{opacity:.7}to{opacity:0;transform:translate(24px,-145px)scale(0)}}.landing-showcase,.landing-double,.landing-showcase-stack{z-index:1;position:relative}.landing-showcase{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:42px;margin-left:90px;display:grid}.landing-showcase.reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.landing-showcase.reverse .landing-showcase-media{order:2}.landing-showcase-copy{padding:24px 0}.landing-feature-mark{color:var(--gold);width:30px;height:30px}.landing-feature-mark svg{width:100%;height:100%}.landing-showcase-copy h3{margin:20px 0 14px;font:400 clamp(25px,2.5vw,34px)/1.2 Georgia,serif}.landing-showcase-copy p{color:var(--muted);margin:0;font:14px/1.8 Arial,sans-serif}.landing-double{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-left:90px;display:grid}.landing-showcase.compact{flex-direction:column;align-items:stretch;gap:0;margin:0;display:flex}.landing-showcase.compact .landing-showcase-copy{flex:1}.landing-showcase-stack{gap:56px;display:grid}.landing-guide-rest{justify-content:center;align-items:center;gap:40px;padding-block:35px 65px;display:flex;position:relative}.landing-guide-rest img{width:150px;height:auto}.landing-guide-rest>div{max-width:440px}.landing-guide-rest>div>p:last-child{margin-bottom:0;font-size:27px;font-style:normal;font-weight:700;line-height:1.4}.landing-basics{padding:72px 0}.landing-basics-card{border:1px solid var(--landing-line);border-radius:var(--landing-radius);background:var(--landing-surface);padding:44px}.landing-basics-header{display:block}.landing-basics-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:36px;display:grid}.landing-basics-grid article{border-top:1px solid var(--landing-line);flex-direction:column;padding:24px 16px;display:flex}.landing-basics-grid svg{color:var(--gold)}.landing-basics-grid b{margin-top:18px;font-size:15px}.landing-basics-grid small{color:var(--muted);margin-top:7px;font:11px/1.6 Arial,sans-serif}.landing-final{padding:50px 0 110px}.landing-final-card{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(30px,6vw,90px);padding:20px 4% 40px;display:grid;position:relative}.landing-portal-scene{aspect-ratio:2/3;isolation:isolate;width:100%;max-width:420px;margin-inline:auto;position:relative}.landing-portal-stone{filter:brightness(.68)saturate(.7);width:100%;height:auto;display:block}:root[data-theme=light] .landing-portal-stone{filter:brightness(1.5)saturate(.55)sepia(.2)}.landing-portal-scene .landing-mascot-button{width:68%;filter:drop-shadow(0 8px 10px var(--shadow));margin:0;position:absolute;bottom:9%;left:17%}.landing-portal-scene .landing-mascot-button:before{content:"";z-index:-1;background:radial-gradient(ellipse, var(--shadow), transparent 70%);pointer-events:none;border-radius:50%;width:52%;height:7%;position:absolute;bottom:3%;left:24%}.portal-sconce{position:absolute;top:43%;left:78%}.portal-sconce-left{left:auto;right:78%;transform:scaleX(-1)}.portal-sconce .landing-torch{--torch-width:clamp(68px, 9vw, 105px)}.portal-sconce .landing-torch-sigil{display:none}.landing-final-mascot{justify-self:center;width:100%;max-width:310px;height:auto}.landing-final-copy{padding-block:20px;position:relative}.landing-final-card h2{letter-spacing:-.03em;margin:18px 0 20px;font:400 clamp(36px,4.2vw,58px)/1.15 Georgia,serif}.landing-final-description{color:var(--muted);margin-bottom:25px;font-size:15px}.landing-journey{z-index:900;flex-direction:column;display:flex;position:fixed;top:50%;right:15px;transform:translateY(-50%)}.landing-journey:before{content:"";background:var(--landing-line);width:1px;position:absolute;top:20px;bottom:20px;left:50%}.landing-journey a{justify-content:center;align-items:center;width:30px;height:40px;display:flex;position:relative}.landing-journey-dot{border:1px solid var(--gold);background:var(--landing-stone);width:6px;height:6px;transform:rotate(45deg)}.landing-journey a.active .landing-journey-dot{background:var(--gold);box-shadow:0 0 14px var(--gold)}.landing-journey-label{color:var(--muted);background:var(--landing-stone);white-space:nowrap;opacity:0;pointer-events:none;padding:4px 8px;font-size:11px;transition:opacity .15s;position:absolute;right:32px}.landing-journey a:focus-visible .landing-journey-label,.landing-journey a.active .landing-journey-label{opacity:1}.landing-still .landing-torch-flame,.landing-still .landing-torch-halo{animation:none}@media (width>=1600px){.landing-hero-art{width:95%;right:-14%}}@media (width<=1100px){.landing-hero h1{font-size:clamp(44px,6.4vw,70px)}.landing-hero-grid{grid-template-columns:1.1fr 1fr}.landing-hero-art{opacity:.8;width:88%;right:-12%}.landing-hero-description{max-width:390px}.landing-hero-caption{width:150px;font-size:12px;right:calc(38% + 18px)}.landing-showcase,.landing-showcase.reverse{gap:26px;margin-left:60px}.landing-double{margin-left:60px}.landing-audience-grid,.landing-basics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-audience-card:nth-child(3){border-left:1px solid var(--landing-line)}.landing-final-card{padding-inline:0}}@media (width<=760px){.landing-wrap{width:calc(100% - 40px)}.landing-header.app-header{gap:9px;width:calc(100% - 24px);min-height:58px;padding:8px 10px;top:10px}.landing-header .app-sigil{width:34px;height:34px}.landing-brand{max-width:110px;font-size:10px;line-height:1.5}.landing-header-actions{gap:7px}.landing-header .landing-login-button{min-height:36px;padding-inline:12px;font-size:12px}.landing-header .theme-toggle.compact{width:34px;min-width:34px;height:34px;min-height:34px}.landing-journey{display:none}.landing-hero{padding:105px 0 20px}.landing-hero-grid{flex-direction:column;align-items:stretch;display:flex}.landing-hero-copy{padding-block:20px}.landing-hero h1{max-width:570px;font-size:clamp(44px,9.5vw,65px)}.landing-hero-description{max-width:520px;font-size:14px}.landing-hero-eyebrow{font-size:9px}.landing-actions{gap:10px;margin-top:24px}.landing-actions .ui-button{min-height:44px;padding-inline:14px;font-size:12px}.landing-hero-art{opacity:1;width:calc(100% + 40px);height:360px;margin:-15px -20px 0;position:relative;inset:auto}.landing-hero-illustration{object-position:70% center;-webkit-mask-image:linear-gradient(#0000,#000 15% 85%,#0000);mask-image:linear-gradient(#0000,#000 15% 85%,#0000)}.landing-hero-caption{width:138px;padding-inline:12px;top:35%;right:calc(56% + 12px)}.landing-hero-bottom{text-align:center;flex-wrap:wrap;justify-content:center;gap:8px;padding-top:0;font-size:10px}.landing-path-intro{flex-direction:column;align-items:start;gap:12px}.landing-audiences{padding-block:30px 45px}.landing-audience-card{padding:20px 14px}.landing-audience-card h2{font-size:19px}.landing-session{padding-bottom:50px}.landing-session-heading{flex-wrap:wrap;gap:8px}.landing-section{padding:55px 0}.landing-section:after{opacity:.3;top:190px;bottom:-55px;left:39px}.landing-section-header{align-items:start;gap:18px;margin-bottom:30px}.landing-chapter-beacon{flex-basis:40px}.landing-section-number{font-size:9px}.landing-section-header h2,.landing-basics-header h2{font-size:32px}.landing-section-header>div>p:last-child{font-size:13px}.landing-showcase,.landing-showcase.reverse{grid-template-columns:minmax(0,1fr);gap:0;margin-left:0}.landing-showcase.reverse .landing-showcase-media{order:initial}.landing-showcase-copy{background:var(--landing-stone);padding:24px 20px}.landing-showcase-copy h3{font-size:28px}.landing-double{grid-template-columns:minmax(0,1fr);gap:28px;margin:0}.landing-showcase-stack{gap:30px}.landing-guide-rest{gap:20px;padding-block:25px 45px}.landing-guide-rest img{width:100px}.landing-guide-rest>div>p:last-child{font-size:21px}.landing-basics{padding-block:45px}.landing-basics-card{padding:25px 18px}.landing-basics-header{grid-template-columns:minmax(0,1fr);gap:12px}.landing-basics-grid article{padding:22px 10px}.landing-final{padding:35px 0 60px}.landing-final-card{text-align:center;flex-direction:column;gap:0;padding:0 10px 30px;display:flex}.landing-portal-scene{max-width:300px}.portal-sconce .landing-torch{--torch-width:76px}.landing-final-mascot{width:180px}.landing-final-card h2{font-size:clamp(28px,6vw,37px)}}@media (width<=360px){.landing-brand{max-width:90px;font-size:9px}.landing-audience-grid{grid-template-columns:minmax(0,1fr)}.landing-audience-card{border-left:1px solid var(--landing-line)}}@media (prefers-reduced-motion:reduce){.landing-reveal.reveal-ready,.landing-reveal.reveal-ready.visible{opacity:1;transition:none;transform:none}.landing-torch-flame,.landing-torch-halo{animation:none}.landing-audience-card,.landing-journey-label{transition:none}}.landing-page{--fire-edge:#ff650d;--fire-middle:#ffb82e;--fire-hot:#ffe599;--fire-core:#fff9da;--fire-aura:#e46a234d;--fire-haze:#e46a231c;--fire-smoke:#b8ada8;--landing-stone-edge:#0000004d;--landing-stone-highlight:#f9dfaa08;--landing-hero-caption-ink:#fff1cf;background-image:radial-gradient(ellipse at 0 30%, var(--fire-haze), transparent 45%)}.landing-section{background:radial-gradient(ellipse at 6% 16%, var(--fire-haze), transparent 40%), linear-gradient(180deg, var(--landing-stone-edge), transparent 60px)}.landing-section:before{content:"";pointer-events:none;opacity:.55;background:repeating-linear-gradient(0deg, transparent 0 79px, var(--landing-stone-edge) 80px 82px, var(--landing-stone-highlight) 83px 84px), repeating-linear-gradient(90deg, transparent 0 159px, var(--landing-stone-edge) 160px 162px, var(--landing-stone-highlight) 163px 164px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 19% 81%,#000);mask-image:linear-gradient(90deg,#000,#0000 19% 81%,#000)}.landing-section-header{gap:28px;min-height:220px;margin-bottom:25px}.landing-chapter-beacon{flex-basis:128px;gap:0}.landing-section:after{top:310px;left:max(64px,50% - 526px)}.landing-hero-stone-layer{filter:brightness(.2)saturate(.75)}.landing-hero-mascot-layer{filter:brightness(.9)saturate(1.08)}.landing-hero-flame-layer{filter:hue-rotate(45deg)saturate(1.3)brightness(1.45)}.landing-hero-caption{color:var(--landing-hero-caption-ink)}.landing-mascot-button{cursor:pointer;isolation:isolate;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50% 50% 15% 15%;justify-self:center;width:100%;max-width:310px;padding:0;position:relative}.landing-mascot-button:focus-visible{outline:2px solid var(--gold);outline-offset:8px}.landing-mascot-button .landing-final-mascot{width:100%;max-width:none;transition:filter .25s;display:block;-webkit-mask-image:url(../../../images/landing/confident-guide-display-mask.webp);mask-image:url(../../../images/landing/confident-guide-display-mask.webp);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-source-type:luminance;mask-mode:luminance}.landing-mascot-button:hover .landing-final-mascot{filter:drop-shadow(0 0 12px var(--fire-haze))}.landing-mascot-button:active{transform:translateY(2px)}.landing-mascot-face{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.cat-revealed .landing-mascot-face{opacity:1}:root[data-theme=light] .landing-page{--landing-surface:#e7dbc7;--landing-line:#85694b59;--landing-stone-edge:#7e66431c;--landing-stone-highlight:#fffdf480;--landing-hero-caption-ink:#54281f;--gold:#9d382c;--muted:#665141;--text:#33271e;--landing-glow:#c2453612;--fire-edge:#c41c32;--fire-middle:#f24042;--fire-hot:#ff9382;--fire-core:#fff0d9;--fire-aura:#c8212936;--fire-haze:#b6212812;--fire-smoke:#716056}:root[data-theme=light] .landing-hero-stone-layer{filter:none}:root[data-theme=light] .landing-hero-mascot-layer,:root[data-theme=light] .landing-hero-flame-layer{display:none}:root[data-theme=light] .landing-hero-art{opacity:1}:root[data-theme=light] .landing-hero-caption{color:var(--landing-hero-caption-ink)}:root[data-theme=light] .landing-torch-metal{filter:drop-shadow(5px 8px 4px var(--shadow))}:root[data-theme=light] .landing-torch-reflection{mix-blend-mode:multiply}:root[data-theme=light] .landing-page .ui-button.primary{color:#fff4de;border-color:var(--wine-dark);background:linear-gradient(#a95140, var(--wine-dark))}:root[data-theme=light] .landing-page .ui-button.ghost{color:var(--text);border-color:var(--landing-line);background:#fff8ea99}@media (width<=760px){.landing-chapter-beacon{flex-basis:82px}.landing-chapter-beacon .landing-torch{--torch-width:92px}.landing-section-header{gap:12px;min-height:155px}.landing-section-header h2{font-size:clamp(26px,5vw,32px)}.landing-section:after{top:230px;left:61px}.landing-mascot-button{width:200px;margin-bottom:28px}.landing-torch-halo{width:280%;left:-90%}}@media (prefers-reduced-motion:reduce){.landing-mascot-face,.landing-mascot-button .landing-final-mascot{transition:none}.landing-torch .landing-torch-flame,.landing-torch .landing-torch-embers i{animation:none}.landing-mascot-button:active{transform:none}}.landing-still .landing-mascot-face,.landing-still .landing-mascot-button .landing-final-mascot{transition:none}.character-template-page,.npc-module-editor-page,.character-template-workspace,.npc-module-editor-workspace,.interior-editor-workspace{height:100%;min-height:0;overflow:hidden}.character-template-sheet,.npc-module-editor-sheet,.interior-editor-board-column{min-width:0;min-height:0;position:relative;overflow:hidden}.game-board-column.character-template-sheet,.game-board-column.npc-module-editor-sheet{overscroll-behavior:contain;height:100%;overflow:hidden auto}.npc-module-editor-sheet>.character-module-drop-zone{min-height:100%}.npc-module-editor-sheet .campaign-npc-sheet{border:0;border-radius:0;min-height:100%}.npc-module-tool-panel,.npc-module-preview-panel{padding:.85rem}.npc-module-editor-side .game-side-content,.character-template-side-column .game-side-content,.character-template-side-scroll,.npc-module-editor-scroll{min-height:0}.game-side-scroll.character-template-side-scroll,.game-side-scroll.npc-module-editor-scroll{overscroll-behavior:contain;overflow:hidden auto}.npc-module-tool-panel,.npc-module-ability-generator{gap:.9rem;display:grid}.npc-module-ability-generator{border-top:1px solid var(--line);width:100%;min-width:0;max-width:100%;margin-top:.25rem;padding-top:1rem;overflow:hidden}.npc-module-ability-generator>*,.npc-module-ability-generator .character-creation-ability-control{min-width:0;max-width:100%}.npc-module-ability-generator .character-creation-methods{grid-template-columns:minmax(0,1fr)}.npc-module-ability-generator .character-creation-methods>button{min-width:0}.npc-module-ability-generator .character-creation-methods strong,.npc-module-ability-generator .character-creation-methods small{overflow-wrap:anywhere}.npc-module-ability-generator .character-creation-rolls,.npc-module-ability-generator .character-creation-standard-values{grid-template-columns:repeat(3,minmax(0,1fr))}.npc-module-ability-generator .character-creation-roll-card,.npc-module-ability-generator .character-creation-standard-value{box-sizing:border-box;width:100%;min-width:0}.npc-module-ability-generator .character-creation-ability-row{grid-template-columns:minmax(0,1fr)}.npc-module-ability-generator .character-creation-roll-toolbar,.npc-module-ability-generator .character-creation-abilities-heading,.npc-module-ability-generator .character-creation-ability-footer{flex-direction:column;align-items:stretch}.npc-module-ability-generator .character-creation-roll-toolbar .ui-button,.npc-module-ability-generator .character-creation-ability-footer .ui-button{width:100%}.npc-module-ability-generator .character-creation-ability-footer{background:0 0;margin:0;padding:.9rem 0 0;position:static}.character-template-sheet .character-sheet-embedded{border:0;border-radius:0;height:100%;min-height:0}.character-template-export-stack,.character-template-campaign-export,.interior-generation-actions{gap:.75rem;display:grid}.interior-asset-tool-actions{gap:.5rem;display:flex}.map-editor-tools-scroll.interior-assets-panel{align-content:start;gap:12px;padding-block:20px;display:grid}.map-editor-tools-scroll.interior-assets-panel>.game-side-heading,.map-editor-tools-scroll.interior-assets-panel>.map-editor-generation-assets-label,.map-editor-tools-scroll.interior-assets-panel>.muted{margin-bottom:0}.interior-asset-tool-actions .ui-button{width:40px;min-width:40px;height:40px;padding:0}.interior-editor-canvas{touch-action:none;cursor:grab;background:#17130f;outline:none;position:absolute;inset:0;overflow:hidden}.interior-editor-canvas:active{cursor:grabbing}.interior-editor-canvas-empty{background:0 0}.interior-editor-canvas canvas{width:100%;height:100%;display:block}.interior-asset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.75rem;display:grid}.interior-asset-grid button{border:1px solid var(--line);background:var(--card);min-height:58px;color:var(--text);cursor:pointer;border-radius:12px;padding:0;overflow:hidden}.interior-asset-grid button img{object-fit:contain;background:#00000042;width:100%;height:58px;display:block}:root[data-theme=light] .interior-asset-grid button,:root[data-theme=light] .interior-asset-grid button img{background:#fffdeff0}.interior-selected-asset{margin-top:.85rem}.character-template-page .map-editor-project-preview svg,.interior-editor-page .map-editor-project-preview svg{width:28px;height:28px;color:var(--gold)}.character-template-project-preview:has(.character-avatar-token){background:0 0;border:0;overflow:visible}.character-template-project-preview .character-avatar-token.small{--avatar-size:32px}.interior-asset-grid button:hover{border-color:var(--gold);background:var(--panel)}.interior-asset-grid button.active{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#72222aad}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}html,body{min-height:100%}body{background:#040101;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{stroke-width:2px;pointer-events:none;width:18px;height:18px}:focus-visible{outline-offset:2px;outline:3px solid #d88b358c}.app-shell{background:radial-gradient(at 15% 105%,#d2521c80,#0000 55%),linear-gradient(#2d140b,#190907 48%,#040101);min-height:100vh;position:relative;overflow-x:hidden}.app-page{z-index:1;flex-direction:column;min-height:100vh;padding:18px;display:flex;position:relative}.app-page-content{flex:auto;min-width:0;min-height:0}.app-page:not(.game-app-page)>:is(.app-header,.app-page-content,.commerce-footer){width:100%;max-width:var(--app-content-max-width);margin-inline:auto}.payment-public-shell:has(>.legal-terms-page)>:is(.payment-public-header,.legal-terms-page,.commerce-footer){width:100%;max-width:var(--app-content-max-width);margin-inline:auto}.app-support-footer{border-top:1px solid var(--line);min-height:48px;color:var(--muted);justify-content:center;align-items:center;gap:10px;margin-top:18px;font-size:13px;display:flex}.app-support-link{color:var(--text);align-items:center;gap:6px;font-weight:700;display:inline-flex}.app-support-link:hover{color:var(--gold)}.app-support-link svg{width:16px;height:16px}.app-shell.game-shell{width:100vw;height:100dvh;min-height:0;overflow:hidden}.app-page.game-app-page{grid-template-columns:minmax(0,1fr);width:100%;height:100%;min-height:0;padding:0;display:grid;overflow:hidden}.game-app-page>.app-page-content{height:100%;overflow:hidden}.app-support-panel{gap:16px;display:grid}.app-support-panel>p{color:var(--muted);margin:0;line-height:1.55}.app-support-panel-link{border:1px solid var(--line);border-radius:var(--radius-md,12px);background:color-mix(in srgb, var(--panel-soft) 82%, transparent);color:var(--text);align-items:center;gap:12px;padding:14px;display:flex}.app-support-panel-link:hover,.app-support-panel-link:focus-visible{border-color:color-mix(in srgb, var(--gold) 60%, var(--line));background:color-mix(in srgb, var(--gold) 10%, var(--panel-soft))}.app-support-panel-link>svg{width:22px;height:22px;color:var(--gold);flex:none}.app-support-panel-link span{gap:3px;min-width:0;display:grid}.app-support-panel-link small{color:var(--muted)}.app-support-panel-link strong{overflow-wrap:anywhere}.app-shell.game-shell:has(.character-mobile-page){height:100dvh;min-height:0;overflow:hidden}.app-page.game-app-page:has(.character-mobile-page){height:100%;min-height:0;overflow:hidden}.ember-field{pointer-events:none;position:fixed;inset:0;overflow:hidden}.ember-field:before{content:"";filter:blur(12px);background:radial-gradient(at 50% 100%,#ffab3d66,#af311438 38%,#0000 72%);height:42vh;position:absolute;bottom:-16vh;left:-8vw;right:-8vw}.ember{left:var(--ember-x);width:var(--ember-size);height:calc(var(--ember-size) * 3);animation:ember-rise var(--ember-duration) ease-out infinite;animation-delay:var(--ember-delay);background:#ffd36b;border-radius:99px;position:absolute;bottom:2%;box-shadow:0 0 14px #ff9138}@keyframes ember-rise{0%{opacity:0;transform:translateY(0)scale(.4)}15%{opacity:.9}to{opacity:0;transform:translateY(-280px)translate(35px)scale(.1)}}.app-header,.panel{border:1px solid var(--line);background:linear-gradient(180deg, var(--panel), var(--panel-strong));box-shadow:0 20px 64px var(--shadow), inset 0 0 0 1px #ffe9a90d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header{z-index:100;isolation:isolate;border-radius:24px;align-items:center;gap:14px;min-height:66px;padding:12px 16px;display:flex;position:relative}.app-sigil{width:46px;height:46px;box-shadow:none;background:0 0;flex:none;place-items:center;text-decoration:none;display:grid}.app-sigil img{object-fit:contain;filter:drop-shadow(0 0 10px #d88b3542);width:100%;height:100%;display:block}.app-brand{pointer-events:none;min-width:0;max-width:min(420px,34vw);overflow:hidden}.app-brand-title{letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.app-brand-subtitle,.muted{color:var(--muted);font-size:13px;line-height:1.4}.app-brand-subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-navigation{z-index:2;flex:none;align-items:center;gap:8px;margin-left:auto;display:flex;position:relative}.nav-link,.ui-button,.icon-button,.tab,.chip{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#0003;transition:transform .14s,background .14s,border-color .14s,box-shadow .14s}.nav-link{z-index:2;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 12px;line-height:1;display:inline-flex;position:relative}.nav-link.compact{justify-content:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0}.nav-unread-badge{border:1px solid var(--vellum);min-width:18px;height:18px;color:var(--vellum);background:linear-gradient(180deg, var(--gold), var(--wine));box-shadow:0 0 0 2px var(--ink), 0 4px 10px #0000005c;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-4px;right:-4px}.nav-link.active,.ui-button.primary,.tab.active,.chip.active,.pill.active{color:var(--vellum);border-color:var(--gold);background:linear-gradient(180deg, #8c372c, var(--wine) 48%, var(--wine-dark));box-shadow:inset 0 2px #ffffff29,0 8px 20px #00000038}.ui-button:hover,.icon-button:hover,.nav-link:hover,.tab:hover,.chip:hover{border-color:var(--gold);background-color:#d88b3533}.ui-button:active,.icon-button:active,.nav-link:active,.tab:active,.chip:active{transform:translateY(2px)scale(.98)}.ui-button{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 13px;display:inline-flex}.ui-button.small{min-height:30px;padding:6px 10px;font-size:12px}.ui-button.ghost{border-color:var(--line);box-shadow:none;background:#ffffff0a}.icon-button{z-index:2;border-radius:50%;flex:none;place-items:center;width:42px;min-width:42px;height:42px;min-height:42px;line-height:1;display:inline-grid;position:relative}.icon-button.danger,.ui-button.danger{color:#ffd8cf;border-color:#c85d4d99}.full-width{width:100%}.page-content{gap:16px;margin-top:16px;display:grid}.panel{border-radius:28px;overflow:hidden}.panel-content{padding:18px}.panel-header{border-bottom:1px solid #d88b3533;padding:14px 16px}.hero-panel{grid-template-columns:1fr auto;align-items:center;gap:18px;padding:22px;display:grid}.hero-panel h1,.section-heading h1,.section-heading h2{margin:0}.hero-panel h1{font-size:clamp(32px,4vw,52px);line-height:1}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:12px}.hero-actions,.card-actions,.meta-row,.price-row,.modal-actions,.chips{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.modal-error{color:var(--danger);margin:8px 0 0;font-size:13px}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.tabs{gap:8px;display:flex;overflow-x:auto}.hub-tabs{padding-bottom:2px}.hub-tabs .tab:active{transform:scale(.98)}.tab,.chip{border-radius:999px;align-items:center;gap:7px;padding:8px 11px;display:inline-flex}.card-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px;display:grid}.product-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;display:grid}.art-card{background:var(--card);border:1px solid #d88b354d;border-radius:23px;transition:transform .16s,border-color .16s;position:relative;overflow:hidden}.art-card:hover{border-color:var(--gold);transform:translateY(-4px)}.art-card-image{aspect-ratio:16/10;background:radial-gradient(circle at 72% 62%, var(--art-glow), transparent 25%), linear-gradient(135deg, var(--art-a), var(--art-b) 48%, var(--art-c));position:relative;overflow:hidden}.status-pill,.pill{border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:12px}.module-table .pill.active.draft{color:var(--muted);border-color:color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--field) 62%, transparent);box-shadow:none}.module-table .pill.active.acquired{color:#ecffd8;border-color:color-mix(in srgb, var(--good) 68%, transparent);background:color-mix(in srgb, var(--good) 18%, var(--panel));box-shadow:none}.module-price{border:1px solid var(--line);color:#fff6d2;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.module-price-current{color:inherit;font:inherit}.module-price-sale{background:#80b85b1a;border-color:#80b85b75}.module-price-sale .module-price-current{color:#ecffd8}.module-price-old{color:var(--muted);opacity:.84;font-weight:600;text-decoration-thickness:2px}.module-price-discount{color:#ecffd8;background:#80b85b2e;border:1px solid #80b85b7a;border-radius:999px;padding:2px 6px;font-size:11px;line-height:1}.status-pill{z-index:1;color:#fff6d2;background:#0000007a;position:absolute;top:10px;left:10px}.card-preview-type-icon{z-index:3;width:44px;height:44px;color:var(--vellum);pointer-events:none;background:#00000094;border:1px solid #ffe9a994;border-radius:14px;place-items:center;padding:7px;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 8px 20px #0000003d}.card-preview-type-icon>svg,.card-preview-type-default-icon{width:100%;height:100%;display:block}.card-preview-ai-badge{z-index:4;min-height:34px;color:var(--vellum);letter-spacing:.08em;pointer-events:none;background:#6f2d37eb;border:1px solid #d88b359e;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 8px 20px #0000004d}.card-preview-ai-badge svg{width:16px;height:16px}.module-preview-ai-field{cursor:pointer;background:#6f2d3724;border:1px solid #8f3a4475;border-radius:14px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.module-preview-ai-field.disabled{cursor:not-allowed;opacity:.52}.module-preview-ai-field input{width:18px;height:18px;accent-color:var(--wine);margin:0}.module-preview-ai-field>svg{color:#c67a83;width:18px;height:18px}.module-preview-ai-field span{gap:2px;display:grid}.module-preview-ai-field strong,.module-preview-ai-field small{line-height:1.25}.module-preview-ai-field small{color:var(--muted)}.card-preview:has(.module-rating-badge) .card-preview-ai-badge{top:56px}.art-card-body{padding:14px}.art-card-body h3{margin:0;font-size:20px}.art-card-body p{min-height:45px;color:var(--muted);font-size:13px}.campaign-card-menu{z-index:4;position:absolute;top:14px;right:14px}.campaign-card-menu>summary{cursor:pointer;color:var(--vellum);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060000c7;list-style:none}.campaign-card-menu>summary::-webkit-details-marker{display:none}.campaign-card-menu[open]>summary{border-color:var(--gold);background:var(--panel-strong)}.campaign-card-menu-panel{border:1px solid var(--line);background:linear-gradient(180deg, var(--panel), var(--panel-strong));width:190px;box-shadow:0 18px 42px var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;gap:4px;padding:7px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.campaign-card-menu-panel a,.campaign-card-menu-panel button{width:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:9px;padding:9px 10px;font-size:14px;display:flex}.campaign-card-menu-panel a:hover,.campaign-card-menu-panel button:hover,.campaign-card-menu-panel a:focus-visible,.campaign-card-menu-panel button:focus-visible{color:var(--vellum);background:#d88b3529}.campaign-card-menu-panel .danger,.campaign-card-menu-panel .danger:hover,.campaign-card-menu-panel .danger:focus-visible{color:var(--danger)}.campaign-card-menu-panel svg{flex:none;width:17px;height:17px}.campaign-card-actions{width:100%}.campaign-card-actions>.ui-button{flex:1 1 0;justify-content:center;min-width:0}.rating{color:var(--gold);align-items:center;gap:4px;margin-left:auto;display:inline-flex}.price-row{justify-content:space-between;margin:12px 0;font-size:18px}.price-row del{color:var(--muted);font-size:13px}.empty-state{text-align:center;color:var(--muted);padding:36px}.search-panel{grid-template-columns:1fr minmax(340px,55%);align-items:end;gap:16px;padding:16px;display:grid}.search-panel h2{margin:0}.search-row{gap:9px;display:flex}.search-field{border:1px solid var(--line);background:var(--field);border-radius:999px;flex:1;align-items:center;gap:8px;padding:0 13px;display:flex}.search-field input{width:100%;color:var(--text);box-shadow:none;background:0 0;border:0;outline:0}input,textarea,select{border:1px solid var(--line);background:var(--field);width:100%;color:var(--text);border-radius:16px;padding:10px 12px;transition:border-color .14s,box-shadow .14s,background .14s}input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;color:var(--wine-dark);background:linear-gradient(180deg, #fff2c924, #d88b350f), var(--field);cursor:pointer;appearance:none;border:1px solid #d88b3594;border-radius:5px;flex:none;place-content:center;margin:0;padding:0;transition:border-color .14s,background .14s,box-shadow .14s;display:inline-grid;box-shadow:inset 0 0 0 1px #ffe9a90f,0 2px 7px #00000029}input[type=checkbox]:before{content:"";border:solid var(--wine-dark);transform-origin:50%;border-width:0 2px 2px 0;width:5px;height:9px;transition:transform .12s;transform:rotate(45deg)scale(0)}input[type=checkbox]:checked{border-color:var(--gold);background:linear-gradient(180deg, #f4c469, var(--gold));box-shadow:0 0 0 3px #d88b3524,inset 0 1px #ffffff3d}input[type=checkbox]:checked:before{transform:rotate(45deg)scale(1)}input[type=checkbox]:hover{border-color:var(--gold);box-shadow:0 0 0 3px #d88b351a,inset 0 0 0 1px #ffe9a914}input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed}input[type=range]{width:100%;height:18px;color:inherit;box-shadow:none;accent-color:var(--gold);cursor:pointer;appearance:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#7d302be0,#f5b84bb8);border:1px solid #f5b84b3d;border-radius:999px;height:6px}input[type=range]::-webkit-slider-thumb{background:var(--gold);-webkit-appearance:none;border:1px solid #fff2c9cc;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 0 0 4px #f5b84b29}input[type=range]::-moz-range-track{background:linear-gradient(90deg,#7d302be0,#f5b84bb8);border:1px solid #f5b84b3d;border-radius:999px;height:6px}input[type=range]::-moz-range-thumb{background:var(--gold);border:1px solid #fff2c9cc;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 4px #f5b84b29}input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 0 5px #f5b84b33,0 0 18px #d88b3557}input[type=range]:hover::-moz-range-thumb{box-shadow:0 0 0 5px #f5b84b33,0 0 18px #d88b3557}input:focus,textarea:focus,select:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px #d88b3524}input:disabled,textarea:disabled,select:disabled{opacity:.62;cursor:not-allowed}select{appearance:none;cursor:pointer;border-color:var(--line);background-color:var(--field);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23d88b35' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px 18px;border-radius:16px;padding-right:40px}textarea{resize:vertical;min-height:110px}option{width:100%;height:100%;color:var(--ink);background:var(--parchment);display:block}.themed-select{width:100%;min-width:0;position:relative}.themed-select-trigger{border:1px solid var(--line);width:100%;min-height:34px;color:var(--text);font:inherit;text-align:left;background:linear-gradient(180deg, #d88b3514, transparent), var(--field);cursor:pointer;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;font-size:12px;transition:border-color .14s,background .14s,box-shadow .14s,transform .14s;display:grid;box-shadow:inset 0 0 0 1px #ffe9a90a,0 6px 16px #00000014}.themed-select-trigger span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.themed-select-trigger:hover,.themed-select[data-open=true] .themed-select-trigger{border-color:var(--gold);background:linear-gradient(180deg, #d88b3529, #72222a14), var(--field);box-shadow:0 0 0 3px #d88b351f,0 8px 22px #00000029}.themed-select-trigger:disabled{opacity:.58;cursor:not-allowed}.themed-select-chevron{width:18px;height:18px;color:var(--gold);place-items:center;line-height:1;display:grid}.themed-select-chevron svg{stroke-width:2.4px;width:16px;height:16px}.themed-select-menu{z-index:12000;border:1px solid var(--gold);color:var(--text);background:radial-gradient(circle at 100% 0, #d88b352e, transparent 42%), linear-gradient(180deg, var(--panel-strong), var(--panel));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;gap:3px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 18px 42px #0000006b,inset 0 0 0 1px #ffe9a90f}.themed-select-option{width:100%;min-height:30px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;padding:7px 9px;font-size:12px;transition:border-color .12s,background .12s,color .12s}.themed-select-option:hover,.themed-select-option.highlighted{background:#d88b3524;border-color:#d88b357a}.themed-select-option.active{color:var(--vellum);border-color:var(--gold);background:linear-gradient(180deg, #8c372c, var(--wine) 48%, var(--wine-dark));box-shadow:inset 0 1px #ffffff24}.themed-select-option:disabled{opacity:.52;cursor:not-allowed}.field{color:var(--muted);gap:6px;font-size:13px;display:grid}.filter-grid,.profile-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0000008f;place-items:center;padding:18px;display:grid;position:fixed;inset:0}:is(html:has(.modal-backdrop),body:has(.modal-backdrop)){overflow:hidden}.modal-card{overscroll-behavior:contain;border:1px solid var(--line);width:min(680px,100%);max-height:calc(100vh - 36px);color:var(--text);background:linear-gradient(180deg, var(--panel), var(--panel-strong));border-radius:28px;padding:18px;overflow:auto;box-shadow:0 30px 90px #0009}.modal-actions{justify-content:flex-end;margin-top:18px}.campaign-modal-form{gap:14px;display:grid}.campaign-details-modal-card{width:min(860px,100%)}.campaign-details-overview,.campaign-details-state{gap:16px;display:grid}.campaign-details-state{min-height:180px;color:var(--muted);text-align:center;place-content:center;justify-items:center}.campaign-details-state p{margin:0}.campaign-details-header{gap:5px;padding:2px 2px 4px;display:grid}.campaign-details-header h3{overflow-wrap:anywhere;margin:0;font-size:clamp(26px,4vw,38px);line-height:1.08}.campaign-details-section{border:1px solid var(--line);background:var(--card);border-radius:18px;gap:12px;padding:16px;display:grid}.campaign-details-section>.muted{margin:0}.campaign-details-section-heading,.campaign-details-role-heading{align-items:center;gap:9px;display:flex}.campaign-details-section-heading h4{margin:0;font-size:17px}.campaign-details-section-heading svg{color:var(--gold)}.campaign-details-section-heading .status-pill{margin-left:auto}.campaign-details-section .markdown-content{min-width:0;line-height:1.55}.campaign-details-section .markdown-content>:first-child{margin-top:0}.campaign-details-section .markdown-content>:last-child{margin-bottom:0}.campaign-details-system{grid-template-columns:minmax(0,1fr) auto;align-items:center}.campaign-details-system>strong{color:var(--vellum);text-align:right}.campaign-details-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.campaign-details-role-group{background:var(--field);border:1px solid #d88b3538;border-radius:14px;min-width:0;padding:11px}.campaign-details-role-heading{color:var(--vellum);justify-content:space-between}.campaign-details-role-heading span{border:1px solid var(--line);border-radius:999px;place-items:center;min-width:26px;min-height:26px;font-size:12px;display:grid}.campaign-details-role-group ul,.campaign-details-module-list{margin:10px 0 0;padding:0;list-style:none}.campaign-details-role-group ul{gap:6px;display:grid}.campaign-details-role-group li{overflow-wrap:anywhere}.campaign-details-role-group .muted{margin:10px 0 0;font-size:13px}.campaign-details-module-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.campaign-details-module-list li{background:var(--field);border:1px solid #d88b3538;border-radius:13px;gap:3px;min-width:0;padding:10px 11px;display:grid}.campaign-details-module-list strong{overflow-wrap:anywhere}.campaign-details-module-list span{color:var(--muted);font-size:12px}@media (width<=620px){.campaign-details-role-grid,.campaign-details-module-list,.campaign-details-system{grid-template-columns:minmax(0,1fr)}.campaign-details-system>strong{text-align:left}}.campaign-invite-box{border:1px solid var(--line);background:#00000029;border-radius:18px;gap:12px;padding:14px;display:grid}.campaign-invite-copy{gap:4px;display:grid}.campaign-invite-copy span{color:var(--muted);font-size:13px;line-height:1.4}.campaign-invite-field{gap:6px;display:grid}.campaign-invite-field span{color:var(--muted);font-size:12px}.campaign-invite-field input{border:1px solid var(--line);width:100%;color:var(--text);background:#0000003d;border-radius:12px;padding:10px 12px}.campaign-invite-actions{flex-wrap:wrap;gap:8px;display:flex}.game-players-panel,.game-player-list{gap:12px;display:grid}.modal-copy{margin:0;font-size:16px;line-height:1.5}.form-error{color:#ffd8cf;background:#72222a57;border:1px solid #c85d4da6;border-radius:14px;margin:0;padding:10px 12px}.campaign-create-page{max-width:1180px;margin-inline:auto}.campaign-create-hero{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:22px;display:grid}.campaign-create-hero h1{margin:4px 0 8px;font-size:clamp(32px,4vw,52px);line-height:1}.campaign-create-form{gap:16px;display:grid}.campaign-create-main-grid{grid-column:1/-1;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.campaign-create-fields,.campaign-create-cover,.campaign-create-actions{padding:20px}.campaign-create-mark{border:1px solid var(--gold);width:44px;height:44px;color:var(--vellum);background:linear-gradient(145deg, var(--wine), var(--wine-dark));border-radius:15px;place-items:center;display:grid}.campaign-create-field-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);gap:16px;display:grid}.campaign-create-description{grid-column:1/-1}.campaign-create-description textarea{min-height:180px}.campaign-cover-field{gap:13px;display:grid}.campaign-cover-preview{aspect-ratio:16/10;border:1px dashed var(--line);background:radial-gradient(circle at 70% 30%, #d88b352e, transparent 35%), linear-gradient(145deg, var(--card), var(--field));border-radius:22px;min-height:240px;position:relative;overflow:hidden}.campaign-cover-preview img{display:block}.campaign-cover-placeholder{text-align:center;height:100%;color:var(--muted);place-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.campaign-cover-placeholder svg{width:38px;height:38px;color:var(--gold)}.campaign-cover-placeholder strong{color:var(--text)}.campaign-cover-actions,.campaign-cover-controls,.campaign-create-actions,.campaign-create-actions>div{align-items:center;gap:10px;display:flex}.campaign-cover-controls{align-items:stretch;display:grid}.campaign-cover-file{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.campaign-create-actions{grid-column:1/-1;justify-content:space-between}.campaign-create-actions p{margin:0}.campaign-create-error{grid-column:1/-1}.campaign-edit-form{gap:16px;max-width:1180px;margin-inline:auto;display:grid}.campaign-edit-form .campaign-create-field-grid{grid-template-columns:minmax(0,1fr)}.campaign-edit-actions{justify-content:flex-end;margin-top:18px;display:flex}.campaign-edit-modules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1180px;margin:0 auto;display:grid}.campaign-edit-modules-panel,.campaign-edit-module-group,.campaign-edit-module-list{gap:12px;display:grid}.campaign-edit-module-group h3{color:var(--gold);margin:0;font-size:14px}.campaign-edit-module-card{cursor:default;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.campaign-edit-module-card form{margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=860px){.campaign-create-form,.campaign-create-main-grid{grid-template-columns:1fr}.campaign-create-actions,.campaign-create-error{grid-column:auto}}@media (width<=620px){.campaign-create-hero,.campaign-create-field-grid,.campaign-edit-modules-grid{grid-template-columns:1fr}.campaign-create-description{grid-column:auto}.campaign-create-actions{flex-direction:column;align-items:stretch}.campaign-create-actions>div{width:100%}.campaign-create-actions .ui-button{flex:1}}.ui-button:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.notifications-layout{grid-template-columns:270px minmax(0,1fr);align-items:start}.notification-sidebar{padding:16px}.notification-sidebar h2:not(:first-child){margin-top:24px}.filter-list,.notification-list,.achievement-list,.friend-list{gap:10px;display:grid}.notification-filter{border:1px solid var(--line);width:100%;color:var(--text);background:var(--card);cursor:pointer;border-radius:16px;justify-content:space-between;padding:10px;display:flex}.notification-filter.active{border-color:var(--gold);background:#d88b3529}.setting-row{border-bottom:1px solid #d88b352e;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.setting-row input{width:auto}.notification-item{background:var(--card);border:1px solid #d88b3547;border-radius:21px;grid-template-columns:auto 1fr auto;gap:12px;padding:12px;display:grid}.notification-item.unread{border-color:var(--gold);box-shadow:inset 4px 0 var(--gold)}.notice-icon{border:1px solid var(--line);width:44px;height:44px;color:var(--vellum);background:#d88b3526;border-radius:15px;align-self:center;place-items:center;display:grid}.notice-title,.notice-actions{align-items:center;gap:8px;display:flex}.notification-item p{color:var(--muted);margin:7px 0}.profile-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start}.profile-account-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.profile-main{grid-row:span 2}.profile-side{gap:16px;display:grid}.profile-achievements{grid-column:1/-1}.profile-head{grid-template-columns:150px 1fr;gap:20px;display:grid}.profile-avatar{border:2px solid var(--gold);width:130px;height:130px;color:var(--vellum);background:linear-gradient(135deg, var(--wine), var(--ink));border-radius:50%;place-items:center;font-size:48px;display:grid}.profile-avatar.small{width:38px;height:38px;font-size:16px}.profile-form .field:last-child{grid-column:1/-1}.stats-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0;display:grid}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.profile-primary-links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stat-card{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:12px}.stat-card[href]{text-decoration:none}.stat-card[href]:hover,.stat-card[href]:focus-visible{border-color:var(--accent)}.stat-card strong{font-size:28px;display:block}.stat-card span{color:var(--muted);font-size:12px}.achievement-item,.friend-row{border:1px solid var(--line);background:var(--card);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.achievement-mark{width:34px;height:34px;color:var(--ink);background:var(--gold);border-radius:50%;place-items:center;display:grid}@media (width<=1050px){.app-brand-subtitle{display:none}.card-grid,.product-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.profile-layout{grid-template-columns:1fr}.profile-main{grid-row:auto}}@media (width<=820px){.app-page{padding:12px}.app-brand{min-width:0}.app-brand-title{white-space:normal;max-width:12ch;font-size:12px;line-height:1.3}.hero-panel,.search-panel,.notifications-layout{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}}@media (width<=600px){.app-header{flex-wrap:wrap;align-items:flex-start}.app-navigation{order:3;justify-content:space-between;width:100%}.nav-link{flex:auto;justify-content:center}.nav-link.compact{flex:0 0 42px}.card-grid,.product-grid,.filter-grid,.profile-form,.stats-grid,.profile-head{grid-template-columns:1fr}.profile-form .field:last-child{grid-column:auto}.section-heading{display:grid}.notification-item{grid-template-columns:auto 1fr}.notice-actions{grid-column:1/-1;justify-content:flex-end}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-shell{z-index:0;isolation:isolate;min-height:100vh;color:var(--text);background:radial-gradient(at 12% 105%,#d2521c8f,#0000 55%),radial-gradient(circle at 76% 16%,#d88b351f,#0000 32%),linear-gradient(145deg,#2d140b,#160806 55%,#040101);place-items:center;padding:24px;display:grid;position:relative;overflow:hidden}.login-shell:before{content:"";z-index:3;opacity:.4;filter:drop-shadow(0 34px 70px #000000b8)drop-shadow(0 0 34px #d88b3547);pointer-events:none;-webkit-user-select:none;user-select:none;background-image:url(../../../icons/icon_hand.png);background-position:2vw;background-repeat:no-repeat;background-size:auto 100svh;width:100vw;height:100svh;position:absolute;top:0;left:0}.login-shell:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 44%,#0000 0 26%,#00000057 76%),linear-gradient(90deg,#00000057,#0000 26% 72%,#00000061);position:absolute;inset:0}.login-shell .ember-field{z-index:2}.login-panel{z-index:3;border:1px solid var(--line);background:radial-gradient(circle at 100% 0, #d88b351f, transparent 38%), linear-gradient(180deg, var(--panel), var(--panel-strong));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:30px;width:min(100%,500px);max-height:calc(100svh - 48px);padding:clamp(24px,4vw,38px);position:relative;overflow-y:auto;box-shadow:0 34px 100px #0009,inset 0 0 0 1px #ffe9a90d}.mail-login-panel{gap:18px;display:grid}.mail-login-panel .login-panel-heading{margin-bottom:0}.mail-login-back{width:fit-content;color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.mail-login-back:hover{color:var(--gold)}.mail-login-back svg{width:17px;height:17px}.login-panel-heading{align-items:center;gap:14px;margin-bottom:24px;display:flex}.login-panel-heading h1{margin:0;font-size:28px}.login-rune{border:1px solid var(--gold);width:40px;height:40px;color:var(--vellum);background:linear-gradient(145deg, var(--wine), var(--wine-dark));border-radius:17px;flex:none;place-items:center;display:grid;box-shadow:inset 0 2px #ffffff24}.login-rune-image{width:72px;height:72px;box-shadow:none;background:0 0;border:0;overflow:visible}.login-rune-image img{object-fit:contain;width:100%;height:100%;display:block}.provider-list{gap:12px;display:grid}.provider-unavailable{gap:7px;display:grid}.provider-unavailable p{color:var(--muted);background:#00000029;border:1px solid #d88b3547;border-radius:14px;margin:0;padding:9px 11px;font-size:12px;line-height:1.35}.provider-button{border:1px solid var(--line);text-align:left;width:100%;min-height:66px;color:var(--text);background:var(--card);cursor:pointer;border-radius:19px;grid-template-columns:38px 1fr;align-items:center;gap:12px;padding:11px 14px;text-decoration:none;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;display:grid}.provider-button.github{background:linear-gradient(#72222ab3,#3a0b0de0);border-color:#d88b3599}.provider-button.google{background:linear-gradient(180deg, #4285f421, #34a8530f), var(--card);border-color:#4285f47a}.provider-button.yandex{background:linear-gradient(180deg, #fc3f1d21, #72222a14), var(--card);border-color:#fc3f1d80}.provider-button.mail{background:linear-gradient(180deg, #d88b3526, #72222a1f), var(--card);border-color:#d88b3580}.mail-auth-panel{background:#0003;border:1px solid #d88b3559;border-radius:19px;gap:12px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffff0a}.mail-auth-form{gap:9px;display:grid}.mail-auth-form label{font-size:13px;font-weight:700}.mail-auth-form input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);background:#00000040;border-radius:14px;outline:none;padding:10px 12px}.mail-auth-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d88b3524}.mail-auth-code-input{letter-spacing:.3em;text-align:center;font-size:24px;font-weight:700}.mail-auth-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.mail-auth-timer{color:var(--gold);font-variant-numeric:tabular-nums;margin:0;font-size:13px;font-weight:800}.mail-auth-timer.expired{color:#f0a092}.mail-auth-submit{min-height:46px;color:var(--vellum);cursor:pointer;background:linear-gradient(#8f3027f2,#4c1011f2);border:1px solid #d88b35a6;border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:10px 14px;font-weight:700;display:flex}.mail-auth-submit:hover{border-color:var(--gold);box-shadow:0 10px 22px #0000003d}.mail-auth-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.mail-auth-submit svg{width:19px;height:19px}.mail-auth-message{border-radius:13px;padding:10px 11px;font-size:12px;line-height:1.4}.mail-auth-message.error{color:#ffd8cf;background:#72222a52;border:1px solid #c85d4da6}.mail-auth-message.success{color:#dff5d9;background:#2b5b3447;border:1px solid #6eb07080}.mail-auth-secondary-actions{flex-wrap:wrap;justify-content:space-between;gap:8px 14px;display:flex}.mail-auth-secondary-actions form{display:contents}.mail-auth-secondary-actions button{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:12px;text-decoration:underline}.mail-auth-secondary-actions button:hover{color:var(--gold)}.provider-button:not(:disabled):hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 14px 30px #00000047}.provider-button:disabled{opacity:.55;cursor:not-allowed}.provider-button.unavailable{opacity:.72;border-style:dashed}.provider-button>svg,.provider-monogram,.provider-brand-icon{flex:none;width:34px;height:34px}.provider-monogram,.provider-brand-icon{color:#fff;background:#07f;border-radius:11px;place-items:center;font-size:12px;font-weight:700;display:grid;overflow:hidden}.provider-brand-icon img{object-fit:contain;width:100%;height:100%;display:block}.provider-brand-icon.google{background:#fff;border:1px solid #ffffffd1;box-shadow:0 4px 12px #0000002e}.provider-brand-icon.google img{stroke-width:0;width:22px;height:22px}.provider-brand-icon.yandex img{stroke-width:0;width:34px;height:34px;display:block}.provider-brand-icon.yandex{color:#fff;background:#fc3f1d;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:800;box-shadow:0 4px 12px #fc3f1d47}.provider-brand-icon.vk{background:0 0;border-radius:10px;padding:0;box-shadow:0 4px 12px #0077ff47}.provider-brand-icon.vk img{width:34px;height:34px}.auth-alert{color:#ffd8cf;background:#72222a5c;border:1px solid #c85d4db3;border-radius:17px;gap:4px;margin-bottom:18px;padding:12px 14px;display:grid}.auth-alert span{font-size:13px;line-height:1.4}@media (width<=560px){.login-shell{padding:18px}.login-shell:before{opacity:.34;background-position:50%;background-size:620px}.login-shell:after{background:radial-gradient(circle at 50% 44%,#0000 0 18%,#0000006b 74%),linear-gradient(90deg,#0000005c,#0000 24% 72%,#0000006b)}}@media (prefers-reduced-motion:reduce){.provider-button{transition:none}}.game-page{background:0 0;border:0;border-radius:0;width:100%;height:100%;position:relative;overflow:hidden}.game-session-bar{z-index:1;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:6px;min-height:38px;padding:4px 6px;display:flex;position:relative}.game-back-button,.game-small-button,.game-chat-input button{border:1px solid var(--line);width:38px;height:38px;color:var(--text);background:var(--card);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.game-back-button{border-radius:9px;width:28px;height:28px}.game-small-button.ghost{border-radius:8px;width:auto;height:28px;padding:0 9px;font-size:11px}.game-session-title{align-items:center;gap:6px;min-width:0;display:flex}.game-session-title>svg{color:var(--gold)}.game-session-title div{min-width:0;display:grid}.game-session-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.1;overflow:hidden}.game-session-title span,.game-loading{color:var(--muted);font-size:9px}.game-loading{align-items:center;gap:4px;margin-left:auto;display:flex}.game-workspace{grid-template-columns:minmax(220px,18vw) minmax(0,1fr) minmax(270px,23vw);height:100%;min-height:0;display:grid;overflow:hidden}.game-workspace:has(.game-left-column.collapsed){grid-template-columns:0 minmax(0,1fr) minmax(270px,23vw)}.game-board-column{min-width:0;position:relative;overflow:hidden}.game-map{isolation:isolate;background-color:#0000;background-position:50%;background-size:cover;position:absolute;inset:0;overflow:hidden}.game-map-canvas{touch-action:none;outline:none}.game-map-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}.game-map-canvas canvas{width:100%;height:100%;display:block}.game-map-canvas[data-board-tool],.game-map-canvas[data-board-tool] canvas{cursor:default}.game-board-tool-cursor{z-index:30;border:2px solid var(--accent);pointer-events:none;width:18px;height:18px;filter:drop-shadow(0 0 1px var(--panel));border-radius:3px;position:absolute;translate:-50% -50%}.game-board-tool-cursor[data-tool=wall]{background:linear-gradient(var(--accent), var(--accent)) center / 2px 100% no-repeat, linear-gradient(90deg, var(--accent), var(--accent)) center / 100% 2px no-repeat;border:0;border-radius:0;width:20px;height:20px}.game-board-tool-cursor[data-tool=light]{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:50%}.game-board-tool-cursor[data-tool=note-player],.game-board-tool-cursor[data-tool=note-gm]{border-style:dashed;width:16px;height:16px}.game-board-tool-cursor[data-tool=surface][data-surface-mode=paint]{border-radius:50%}.game-board-tool-cursor[data-tool=surface][data-surface-mode=erase]{border-color:var(--danger);transform:rotate(45deg)}.game-board-tool-cursor[data-tool=surface][data-surface-mode=pick]{border-radius:6px 6px 2px 2px;width:8px;height:20px;transform:rotate(45deg)}.game-board-layer-badge{z-index:31;border:1px solid color-mix(in srgb, var(--accent) 70%, var(--line));background:color-mix(in srgb, var(--panel) 88%, transparent);min-width:2.6rem;color:var(--text);text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.4rem;padding:.22rem .42rem;font-size:.68rem;font-weight:800;line-height:1;position:absolute;bottom:8px;right:8px}.environment-surface-effects-list{gap:.75rem;display:grid}.environment-surface-effect-item{border:1px solid color-mix(in srgb, var(--line) 68%, transparent);background:color-mix(in srgb, var(--field) 44%, transparent);border-radius:.55rem;gap:.75rem;padding:.65rem;display:grid}.environment-surface-effect-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;display:grid}.environment-surface-effect-row>span{overflow-wrap:anywhere}.game-map-panel{gap:10px;display:grid}.game-map-settings{border:1px solid var(--line);background:var(--card);border-radius:12px;gap:10px;padding:11px;display:grid}.game-map-settings-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.game-map-settings label{color:var(--muted);gap:4px;font-size:11px;display:grid}.game-map-settings input{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);background-color:var(--field);border-radius:12px;padding:8px 10px;font-size:12px}.game-map-panel .game-map-switcher,.game-map-panel .game-board-control{background:var(--card);justify-content:space-between;width:100%}.game-map-switcher,.game-board-control{border:1px solid var(--line);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e0503e0;border-radius:8px;align-items:center;gap:7px;padding:7px 9px;font-size:11px;display:flex}.game-map-switcher select{max-width:180px}.game-board-control{cursor:pointer}.game-board-control.primary{color:#211207;background:var(--gold);justify-content:center}.game-board-control:disabled{opacity:.55;cursor:wait}.game-player-assignment{gap:8px;display:grid}.game-assignment-toggle{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:var(--card);cursor:pointer;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;transition:border-color .14s,background .14s;display:grid}.game-assignment-toggle:hover,.game-assignment-toggle.expanded{border-color:var(--gold);background:#d88b351f}.game-assignment-toggle:disabled{opacity:.55;cursor:wait}.game-assignment-toggle-icon{width:28px;height:28px;color:var(--gold);background:#0000002e;border:1px solid #d88b3557;border-radius:10px;place-items:center;display:grid}.game-assignment-toggle-copy{gap:2px;min-width:0;display:grid}.game-assignment-toggle-copy strong,.game-assignment-toggle-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-assignment-toggle-copy small{color:var(--muted);font-size:10px}.game-assignment-toggle>svg{color:var(--muted);flex:none;transition:transform .16s}.game-assignment-toggle.expanded>svg{transform:rotate(180deg)}.game-assignment-popover{border:1px solid var(--line);width:100%;color:var(--text);background:#0e0503b8;border-radius:12px;padding:10px;font-size:11px;box-shadow:inset 0 0 0 1px #ffe9a90a}.game-assignment-list{gap:5px;max-height:240px;margin-bottom:9px;display:grid;overflow:auto}.game-assignment-list label{align-items:center;gap:7px;display:flex}.game-board-error{color:var(--danger)}.game-connection-dot{background:var(--muted);border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 10px #e4b27980}.game-connection-dot[data-state=connected]{background:var(--good);box-shadow:0 0 12px #80b85be6}.game-connection-dot[data-state=reconnecting]{background:var(--bad);box-shadow:0 0 12px #c85d4de6}.game-connection-dot[data-state=offline]{background:var(--bad);box-shadow:0 0 12px #c85d4dd9}.game-map-grid{z-index:-1;opacity:.26;background-image:linear-gradient(#ffe9a952 1px,#0000 1px),linear-gradient(90deg,#ffe9a952 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0}.game-map:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 120px 34px #000000c2}.game-map-chip{z-index:3;border:1px solid var(--line);color:#fff7d8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e0503c7;border-radius:999px;align-items:center;gap:8px;max-width:calc(100% - 28px);padding:8px 12px;display:flex;position:absolute;top:14px;left:14px}.game-map-path{border:2px dashed #ffe9a96b;border-radius:48% 52% 42% 58%;width:58%;height:44%;position:absolute;top:26%;left:16%;transform:rotate(-8deg)}.game-map-marker{z-index:2;color:#fff0bd;background:#190804c7;border:1px solid #d88b357a;border-radius:999px;padding:6px 9px;font-size:12px;position:absolute;box-shadow:0 8px 22px #00000057}.game-map-marker.marker-one{top:15%;left:12%}.game-map-marker.marker-two{bottom:18%;right:12%}.game-token{z-index:4;border:3px solid var(--gold);color:#fff5cf;cursor:grab;background:radial-gradient(circle at 35% 28%,#873a2c,#210706 72%);border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #0000008c,0 10px 24px #0000008c}.game-token-mark{font-size:23px;font-weight:700}.game-token-name{color:#fff7d8;text-overflow:ellipsis;white-space:nowrap;background:#000000b8;border-radius:7px;width:max-content;max-width:150px;padding:4px 7px;font-size:11px;position:absolute;bottom:calc(100% + 7px);overflow:hidden}.game-token-health{background:#35110f;border:1px solid #000000b8;border-radius:999px;width:62px;height:6px;position:absolute;top:calc(100% + 6px);overflow:hidden}.game-token-health span{width:var(--token-hp);background:linear-gradient(90deg, #9d322c, var(--good));height:100%;display:block}.game-map-fog{z-index:1;pointer-events:none;background:radial-gradient(circle at 40% 48%,#0000 0 24%,#0402021f 52%),linear-gradient(90deg,#03010152,#0000 18% 78%,#03010161);position:absolute;inset:0}.game-toolbar-wrap{z-index:1;pointer-events:auto;flex-direction:row-reverse;align-items:center;width:max-content;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.game-toolbar-toggle{color:#f8e7c0;cursor:pointer;filter:drop-shadow(-6px 0 16px #00000047);background:linear-gradient(#120705f5,#060000f0);border:1px solid #f59e0b73;border-radius:12px 0 0 12px;justify-content:center;align-items:center;width:26px;height:58px;transition:border-color .18s,background .18s,color .18s;display:inline-flex;overflow:hidden}:is(body:has([aria-modal=true]) .game-toolbar-wrap,body:has(.game-hp-editor-backdrop) .game-toolbar-wrap){visibility:hidden;pointer-events:none}.game-toolbar-toggle:hover,.game-toolbar-toggle.active{color:var(--vellum);background:linear-gradient(180deg, #8c372c, var(--wine-dark));border-color:#f59e0be6}.game-toolbar-drawer{opacity:0;pointer-events:none;max-width:0;transition:max-width .22s,opacity .18s,transform .18s;overflow:hidden;transform:translate(10px)}.game-toolbar-drawer.expanded{opacity:1;pointer-events:auto;max-width:78px;transform:translate(0)}.game-toolbar{background:radial-gradient(circle at 0,#c3693024,#0000 58%),linear-gradient(#090604f5,#060000f0);border:1px solid #f59e0b6b;border-right:0;border-radius:18px;flex-direction:column;align-items:center;gap:8px;margin-right:-1px;padding:10px 8px;display:flex;overflow:hidden}.game-tool{color:#f8e7c0;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;width:24px;height:24px;transition:border-color .18s,background .18s,color .18s,transform .18s;display:inline-flex;position:relative}.game-tool:hover,.game-tool.active{color:#fde68a;background:radial-gradient(circle,#7f1d1df2,#450a0af0);border-color:#f59e0bbf;box-shadow:0 0 18px #f59e0b3d}.game-tool.dice{color:var(--gold)}.game-toolbar-ray-width{width:56px;color:var(--muted);text-align:center;gap:3px;font-size:9px;display:none}.game-toolbar-ray-width.visible{display:grid}.game-toolbar-ray-width input{width:100%;color:var(--text);text-align:center;background:#00000057;border:1px solid #f59e0b73;border-radius:7px;padding:3px 4px}.game-soundbar-anchor{display:flex;position:relative}.game-soundbar-trigger.playing{color:var(--gold);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--gold) 70%, transparent))}.game-soundbar-count{border:1px solid color-mix(in srgb, var(--gold) 72%, var(--line));background:var(--wine);min-width:14px;height:14px;color:var(--parchment);border-radius:999px;place-items:center;padding:0 3px;font-size:9px;font-weight:700;display:grid;position:absolute;top:-5px;right:-6px}.game-soundbar-popover{border:1px solid color-mix(in srgb, var(--gold) 58%, var(--line));background:radial-gradient(circle at 90% 0, color-mix(in srgb, var(--wine) 24%, transparent), transparent 48%), linear-gradient(155deg, var(--panel), var(--panel-strong));width:min(420px,100vw - 96px);max-height:calc(100vh - 96px);box-shadow:0 18px 50px var(--shadow);color:var(--text);border-radius:16px;padding:14px;position:absolute;bottom:42px;left:50%;overflow:hidden;transform:translate(-50%)}.game-soundbar-header,.game-soundbar-actions,.game-soundbar-master-volume,.game-soundbar-toolbar{align-items:center;display:flex}.game-soundbar-header{gap:2px;min-width:0;margin-bottom:10px;display:grid}.game-soundbar-header strong{min-width:0;font-family:var(--font-heading);font-size:15px}.game-soundbar-header span,.game-soundbar-master-volume span{color:var(--muted);font-size:11px}.game-soundbar-toolbar{gap:8px;margin-bottom:12px}.game-soundbar-search{border-radius:10px;min-width:0;height:32px;padding:0 10px}.game-soundbar-search svg{color:var(--muted);flex:none}.game-soundbar-search input{min-width:0;font-size:11px}.game-soundbar-actions{flex:none;justify-content:flex-end;gap:5px}.game-soundbar-actions button{border:1px solid color-mix(in srgb, var(--gold) 34%, var(--line));background:var(--card);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:9px;flex:none;place-items:center;display:grid}.game-soundbar-actions button:hover{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, var(--card));color:var(--gold)}.game-soundbar-master-volume{gap:8px;margin-bottom:12px}.game-soundbar-master-volume input{flex:1}.game-soundbar-categories{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.game-soundbar-categories button{border:1px solid color-mix(in srgb, var(--gold) 22%, var(--line));background:var(--card);min-width:0;height:30px;color:var(--muted);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:0 6px;display:flex;position:relative}.game-soundbar-categories button:hover,.game-soundbar-categories button.active{border-color:color-mix(in srgb, var(--gold) 72%, var(--line));background:color-mix(in srgb, var(--gold) 12%, var(--card));color:var(--text)}.game-soundbar-categories button span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.game-soundbar-categories button strong{background:var(--wine);min-width:14px;height:14px;color:var(--parchment);border-radius:999px;place-items:center;padding:0 3px;font-size:9px;display:grid;position:absolute;top:-5px;right:-4px}.game-soundbar-category-panel{scrollbar-width:thin;max-height:max(140px,min(370px,100vh - 300px));padding-right:3px;overflow-y:auto}.game-soundbar-category-panel h3{color:var(--gold);font-family:var(--font-heading);margin:0 0 7px;font-size:12px}.game-soundbar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.game-soundbar-track{border:1px solid color-mix(in srgb, var(--gold) 20%, var(--line));background:var(--card);border-radius:11px;gap:5px;min-width:0;padding:7px 5px;display:grid}.game-soundbar-track.active{border-color:color-mix(in srgb, var(--gold) 68%, var(--line));background:color-mix(in srgb, var(--gold) 11%, var(--card))}.game-soundbar-track button{min-width:0;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;gap:4px;display:grid;position:relative}.game-soundbar-track button:disabled{cursor:default}.game-soundbar-emoji{place-items:center;min-height:24px;font-family:system-ui,Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:22px;line-height:1;display:grid}.game-soundbar-track-name{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:10px;overflow:hidden}.game-soundbar-state-icon{position:absolute;top:-2px;right:1px}.game-soundbar-track input[type=range]{width:100%;height:13px}.game-soundbar-empty,.game-soundbar-notice,.game-soundbar-error{margin:10px 0 0;font-size:11px}.game-soundbar-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;background:var(--card);border-radius:11px;margin-top:4px;padding:18px 10px}.game-soundbar-notice{color:var(--gold)}.game-soundbar-error{color:var(--danger)}:root[data-theme=light] .game-soundbar-search input{box-shadow:none;background:0 0}@media (width<=720px){.game-soundbar-popover{width:min(330px,100vw - 70px);max-height:calc(100vh - 86px);position:fixed;bottom:70px;left:50%;transform:translate(-50%)}.game-soundbar-toolbar{flex-direction:column;align-items:stretch}.game-soundbar-actions{justify-content:flex-start}.game-soundbar-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.game-soundbar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-soundbar-category-panel{max-height:max(120px,min(310px,100vh - 390px))}}.game-left-column{border-right:1px solid var(--line);min-width:0;min-height:0;transition:min-width .16s;position:relative;overflow:hidden}.game-left-column.collapsed{z-index:8;min-width:0;overflow:visible}.game-left-panel{background:#0000002e;grid-template-columns:minmax(0,1fr) 36px;min-width:0;height:100%;min-height:0;font-size:12px;display:grid}.game-left-panel.without-navigation-rail{grid-template-columns:minmax(0,1fr)}.game-left-panel.collapsed{pointer-events:none;background:0 0;grid-template-columns:44px;width:44px;height:44px;position:absolute;top:0;left:0}.game-left-main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.game-left-collapse{width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;display:grid}.game-left-collapse:hover{border-color:var(--gold);color:var(--vellum);background:#72222aad}.game-left-scroll{flex:1;padding:12px;overflow:auto}.game-left-campaign-title{border:1px solid var(--line);background:#0000003d;border-radius:14px;margin-bottom:14px;padding:10px 12px}.game-left-campaign-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--vellum);font-size:15px;line-height:1.2;display:block;overflow:hidden}.game-left-rail{box-sizing:border-box;border-left:1px solid var(--line);background:#0000002e;flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;padding:10px 3px;display:flex}.game-left-panel.collapsed .game-left-rail{pointer-events:auto;background:0 0;border-left:0;padding:7px}.game-left-panel.collapsed .game-left-collapse{border-color:var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000006b}.game-left-section{gap:8px;margin-bottom:14px;display:grid}.game-left-scene-actions{gap:8px;display:grid}.game-left-scene-actions+.game-map-settings{margin-top:14px}.game-left-section-heading{justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.game-left-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;line-height:24px}.game-left-add-channel{border:1px solid var(--line);box-sizing:border-box;width:24px;height:24px;color:var(--muted);cursor:pointer;background:#00000024;border-radius:8px;flex:0 0 24px;place-items:center;padding:0;line-height:0;display:grid}.game-left-add-channel:hover{border-color:var(--gold);color:var(--vellum);background:#72222aad}.game-left-list{gap:7px;display:grid}.game-left-list.nested{padding-left:10px}.game-left-list-item,.game-left-add-location,.game-left-folder{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);text-align:left;background:var(--card);border-radius:8px;align-items:center;gap:8px;padding:8px 9px;text-decoration:none;display:flex}.game-left-channel-item{grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;align-items:stretch;gap:0;min-height:40px;padding:0;display:grid;overflow:hidden}.game-left-channel-group{gap:5px;display:grid}.game-left-channel-toggle{border:0;border-right:1px solid var(--line);width:28px;color:var(--muted);cursor:pointer;background:0 0;align-self:stretch;place-items:center;padding:0;display:grid}.game-left-list-item-main{width:100%;min-width:0;min-height:40px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-self:stretch;align-items:center;gap:8px;padding:8px 9px;display:flex}.game-left-list-item.active,.game-left-add-location:hover{border-color:var(--gold);background:#72222aad}.game-left-list-item:has(.game-left-list-item-main:hover){border-color:var(--gold);background:#72222aad}.game-left-list-item-main:disabled{opacity:.68;cursor:default}.game-left-list-item-main span,.game-left-add-location span,.game-left-folder span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-left-cave-icon{background:currentColor;flex:0 0 16px;width:16px;height:16px;-webkit-mask:url(../../../icons/cave.svg) 50%/contain no-repeat;mask:url(../../../icons/cave.svg) 50%/contain no-repeat}.game-left-action-icon{object-fit:contain;flex:0 0 16px;width:16px;height:16px}.game-left-dragon-icon{background:currentColor;flex:0 0 16px;width:16px;height:16px;-webkit-mask:url(../../../icons/dragon-head.svg) 50%/contain no-repeat;mask:url(../../../icons/dragon-head.svg) 50%/contain no-repeat}.game-left-channel-actions{align-self:stretch;align-items:center;gap:4px;margin-left:0;padding-right:8px;display:flex}.game-left-channel-action{box-sizing:border-box;width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:0 0 24px;place-items:center;padding:0;line-height:0;display:grid}.game-left-channel-action:hover{border-color:var(--gold);color:var(--vellum);background:#0003}.game-left-channel-action.danger:hover{color:#ffb0a8;border-color:#dc50467a}.game-left-channel-players{gap:5px;padding-left:28px;display:grid}.game-left-channel-player{min-width:0;color:var(--text);text-align:left;cursor:default;background:#0000001f;border:1px solid #0000;border-radius:8px;grid-template-columns:8px 24px minmax(0,1fr);align-items:center;gap:7px;padding:4px 6px;display:grid}.game-left-channel-player[draggable=true]{cursor:grab}.game-left-channel-player:hover{border-color:var(--line);background:#0000003d}.game-left-channel-player span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-left-participant-row{border:1px solid var(--line);min-width:0;color:var(--text);background:#00000029;border-radius:8px;grid-template-columns:9px 24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px;display:grid}.game-left-participant-row.offline{opacity:.56}.game-left-participant-main{gap:2px;min-width:0;display:grid}.game-left-participant-status,.game-left-channel-player-status{background:var(--bad);border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px #c85d4dcc}.game-left-participant-status[data-state=online],.game-left-channel-player-status[data-state=online]{background:var(--good);box-shadow:0 0 10px #80b85be6}.game-left-participant-status[data-state=offline]{background:var(--bad);box-shadow:0 0 10px #c85d4dc7}.game-left-participant-row b,.game-left-participant-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-left-participant-row small{color:var(--muted)}.game-left-player-avatar{width:24px;height:24px;color:var(--vellum);background:#72222a9e;border:1px solid #e6b96866;border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.game-left-player-menu{z-index:900;border:1px solid var(--line);width:min(220px,100vw - 16px);color:var(--text);background:#100c0af5;border-radius:8px;gap:4px;padding:6px;display:grid;position:fixed;box-shadow:0 18px 50px #00000080}.game-left-player-menu-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:5px 7px;font-size:10px}.game-left-player-menu button{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;padding:7px;display:flex}.game-left-player-menu button:hover{background:#72222aad}.game-left-folder{color:var(--muted);background:#0003}.game-left-empty{color:var(--muted);margin:0;font-size:12px}.game-left-player-list{gap:8px}.game-left-player-card{align-items:stretch;gap:8px;display:grid}.game-left-player-move{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;gap:5px;font-size:10px;display:grid}.game-left-player-move select{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);background:#0000003d;border-radius:8px;padding:7px 8px}.game-channel-context{color:var(--muted);margin-top:2px;font-size:11px;display:block}.game-chat-thread{flex:1;align-content:start;gap:8px;min-height:0;padding-right:2px;display:grid;overflow:auto}.game-chat-panel{flex-direction:column;flex:1;min-height:0;display:flex}.game-chat-placeholder{border:1px dashed var(--line);color:var(--text);background:#0000002e;border-radius:12px;gap:6px;padding:14px;display:grid}.game-chat-placeholder span{color:var(--muted);line-height:1.35}.game-chat-message{border:1px solid var(--line);background:#000000ad;border-radius:8px;justify-self:start;gap:5px;max-width:92%;padding:9px;display:grid}.game-chat-message.own{background:#72222aad;border-color:#e6b9687a;justify-self:end}.game-chat-message.highlighted{animation:.9s ease-out game-chat-message-flash}@keyframes game-chat-message-flash{0%{filter:brightness();box-shadow:0 0 #0000}28%{filter:brightness(1.42);box-shadow:0 0 0 2px color-mix(in srgb, var(--gold) 72%, transparent), 0 0 28px color-mix(in srgb, var(--gold) 62%, transparent)}to{filter:brightness();box-shadow:0 0 #0000}}.game-chat-message.combat-highlighted .game-chat-roll-die strong,.game-chat-message.combat-highlighted .game-chat-roll-modifier,.game-chat-message.combat-highlighted .game-chat-roll-result,.game-chat-message.combat-highlighted .game-chat-combat-number{transform-origin:50%;animation:.72s cubic-bezier(.2,.9,.25,1) game-chat-combat-number-settle;display:inline-block}@keyframes game-chat-combat-number-settle{0%,20%{transform:scale(1.75)}to{transform:scale(1)}}.game-chat-message header{color:var(--muted);justify-content:space-between;align-items:flex-start;gap:8px;font-size:11px;display:flex}.game-chat-author{gap:1px;min-width:0;display:grid}button.game-chat-author{min-width:0;color:inherit;font:inherit;text-align:left;cursor:context-menu;background:0 0;border:0;outline:none;padding:0}button.game-chat-author:focus-visible strong{text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:2px}.game-chat-author strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);overflow:hidden}.game-chat-author small{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:8px;line-height:1.1;overflow:hidden}.game-chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.35}.game-chat-check-card{gap:7px;display:grid}.game-chat-check-card b{font-size:12px;line-height:1.25}.game-chat-check-row{background:#ffffff0a;border:1px solid #ffffff17;border-radius:7px;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:210px;padding:7px;display:grid}.game-chat-check-row.damage{background:#00000029}.game-chat-check-row.total-only{grid-template-columns:22px auto;justify-content:start}.game-chat-roll-total{cursor:pointer}.game-chat-check-icon,.game-chat-check-die{justify-content:center;align-items:center;display:inline-flex}.game-chat-check-icon{width:22px;height:22px;color:var(--accent)}.game-chat-check-dice{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.game-chat-check-d20{width:36px;height:36px;color:var(--accent);cursor:pointer;filter:drop-shadow(0 2px 4px #00000052);flex:0 0 36px;place-items:center;display:inline-grid;position:relative}.game-chat-check-d20 svg{opacity:.42;width:34px;height:34px;position:absolute;inset:1px}.game-chat-check-d20 strong{z-index:1;min-width:0;color:var(--text);font-variant-numeric:tabular-nums;text-align:center;text-shadow:0 1px 2px #000000f0,0 0 5px #000000c7;font-size:11px;line-height:1;position:relative}.game-chat-check-d20.selected{color:color-mix(in srgb, var(--accent) 82%, white 18%);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 46%, transparent)) drop-shadow(0 2px 4px #0000005c)}.game-chat-check-d20.dimmed{opacity:.48}.game-chat-check-d20.natural-good{color:color-mix(in srgb, var(--good) 88%, white 12%)}.game-chat-check-d20.natural-bad{color:color-mix(in srgb, var(--bad) 88%, white 12%)}.game-chat-check-equals{color:var(--muted);font-weight:700}.game-chat-check-die{border:1px solid var(--line);min-width:34px;height:24px;color:var(--text);background:#00000047;border-radius:6px;gap:3px;padding:0 6px;font-weight:700}.game-chat-check-die.selected{background:#e6b9682e;border-color:#e6b968d9;box-shadow:inset 0 -2px #e6b968e6}.game-chat-check-die.dimmed{opacity:.55}.game-chat-check-die.natural-good{border-color:color-mix(in srgb, var(--good) 86%, white 14%);color:#f2ffe8;background:color-mix(in srgb, var(--good) 24%, transparent);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--good) 90%, white 10%), 0 0 12px color-mix(in srgb, var(--good) 34%, transparent)}.game-chat-check-die.natural-bad{border-color:color-mix(in srgb, var(--bad) 88%, white 12%);color:#ffe7e1;background:color-mix(in srgb, var(--bad) 24%, transparent);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--bad) 90%, white 10%), 0 0 12px color-mix(in srgb, var(--bad) 34%, transparent)}.game-chat-check-modifier{min-width:22px;color:var(--muted);text-align:right;font-weight:700}.game-chat-check-row>strong{min-width:30px;color:var(--accent);text-align:right;font-size:18px;line-height:1}.game-chat-sheet-card{gap:5px;font-size:10px;line-height:1.2;display:grid}.game-chat-message.sheet-large .game-chat-sheet-card{font-size:12px}.game-chat-sheet-card>b{font-size:12px;line-height:1.25}.game-chat-message.sheet-large .game-chat-sheet-card>b{font-size:14px}.game-chat-sheet-meta{color:var(--text);background:#ffffff09;border:1px solid #ffffff14;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;padding:5px 6px;display:grid}.game-chat-sheet-meta span{overflow-wrap:anywhere;min-width:0}.game-chat-sheet-meta small{color:var(--muted);font-size:inherit}.game-chat-sheet-meta strong{color:var(--text);overflow-wrap:anywhere;font-weight:400}.game-chat-sheet-meta-separator-unused{content:" · ";color:var(--muted)}.game-chat-sheet-action{color:var(--accent);cursor:pointer;background:#e6b96814;border:1px solid #e6b96859;border-radius:6px;justify-self:start;align-items:center;gap:5px;padding:4px 7px;font-size:11px;display:inline-flex}.game-chat-sheet-action:disabled{cursor:not-allowed;opacity:.55}.game-chat-description-toggle{border:1px solid var(--line);width:24px;height:22px;color:var(--muted);cursor:pointer;background:#0000002e;border-radius:6px;justify-self:start;place-items:center;padding:0;display:grid}.game-chat-description-toggle:hover{color:var(--text);background:#ffffff12}.game-chat-sheet-description{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid #e6b9688c;margin:0;padding-left:7px}.game-side-panel{z-index:1;background:0 0;grid-template-columns:36px minmax(0,1fr);min-width:0;min-height:0;font-size:12px;display:grid;position:relative}.game-combat-portrait-strip{--initiative-step:62px;--initiative-wrap-travel:372px;z-index:5;width:min(72vw,720px);max-width:min(72vw,720px);height:62px;box-shadow:none;pointer-events:auto;background:0 0;border:0;border-radius:0;padding:7px 9px;position:absolute;top:12px;left:50%;overflow:hidden;transform:translate(-50%)}.game-combat-portrait{--turn-x:calc(var(--turn-offset) * var(--initiative-step));--turn-y:calc(var(--turn-distance) * 1.5px);--turn-scale:calc(1 - (var(--turn-distance) * .035));--turn-opacity:max(.28, calc(1 - (var(--turn-distance) * .12)));min-width:44px;color:var(--muted);opacity:var(--turn-opacity);transform:translateX(calc(var(--turn-x) - 50%)) translateY(var(--turn-y)) scale(var(--turn-scale));place-items:center;gap:0;font-size:10px;font-weight:700;transition:transform .19s cubic-bezier(.18,.92,.3,1.24),opacity .19s,color .14s,box-shadow .14s;display:grid;position:absolute;top:7px;left:50%}.game-combat-portrait.wheel-wrap-left{animation:.32s cubic-bezier(.18,.92,.28,1.12) initiativeWheelWrapLeft}.game-combat-portrait.wheel-wrap-right{animation:.32s cubic-bezier(.18,.92,.28,1.12) initiativeWheelWrapRight}@keyframes initiativeWheelWrapLeft{0%{opacity:.08;filter:blur(1.4px);transform:translateX(calc((var(--turn-x) + var(--initiative-wrap-travel)) - 50%)) translateY(18px) scale(.62)}46%{opacity:.16;filter:blur(2px);transform:translateX(calc((var(--turn-x) + 156px) - 50%)) translateY(24px) scale(.55)}to{opacity:var(--turn-opacity);filter:blur();transform:translateX(calc(var(--turn-x) - 50%)) translateY(var(--turn-y)) scale(var(--turn-scale))}}@keyframes initiativeWheelWrapRight{0%{opacity:.08;filter:blur(1.4px);transform:translateX(calc((var(--turn-x) - var(--initiative-wrap-travel)) - 50%)) translateY(18px) scale(.62)}46%{opacity:.16;filter:blur(2px);transform:translateX(calc((var(--turn-x) - 156px) - 50%)) translateY(24px) scale(.55)}to{opacity:var(--turn-opacity);filter:blur();transform:translateX(calc(var(--turn-x) - 50%)) translateY(var(--turn-y)) scale(var(--turn-scale))}}.game-combat-portrait.active{color:var(--accent)}.game-combat-portrait.active .character-avatar-token{box-shadow:0 0 0 2px #e6b968e6,0 0 18px #e6b96859}.game-combat-portrait.selected .character-avatar-token,.game-initiative-list .game-list-card.selected,.game-initiative-list .game-list-card.hovered{box-shadow:0 0 0 1px #66d9ffbf,0 0 18px #66d9ff3d}.game-initiative-actions{gap:8px;margin-bottom:12px;display:grid}.game-initiative-actions>span{color:var(--muted);font-size:11px}.game-initiative-list .game-list-card{grid-template-columns:36px 34px minmax(0,1fr);align-items:center}.game-initiative-list .game-list-card>strong{color:var(--accent);font-size:18px;line-height:1}.game-side-column{border-left:1px solid var(--line);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.game-side-fire{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.game-side-fire:before{content:"";filter:blur(16px);opacity:.98;background:radial-gradient(at 18% 100%,#c369306b,#72222a3d 38%,#0000 72%),radial-gradient(at 52% 100%,#72222a94,#3a0b0d57 44%,#0000 78%),linear-gradient(#0000 20%,#3a0b0d2e 54%,#72222a57);height:46%;position:absolute;bottom:-20%;left:-22%;right:-22%}.game-side-spark{left:var(--spark-x);bottom:var(--spark-y);width:var(--spark-size);height:calc(var(--spark-size) * 3.4);opacity:.88;transform:rotate(var(--spark-rotation));animation:game-side-spark-rise var(--spark-duration) ease-out infinite;animation-delay:var(--spark-delay);background:radial-gradient(circle at 50% 14%,#ffe9a9fa 0 10%,#c36930f0 28%,#72222ad1 58%,#3a0b0d66 80%,#0000 100%);border-radius:999px;position:absolute;box-shadow:0 0 10px #c36930e0,0 0 26px #72222a94,0 0 46px #3a0b0d5c}@keyframes game-side-spark-rise{0%{transform:translate3d(0, 0, 0) rotate(var(--spark-rotation)) scale(.45);opacity:0}9%{opacity:1}46%{opacity:.92}76%{opacity:.42}to{transform:translate3d(var(--spark-drift), calc(-1 * var(--spark-rise)), 0) rotate(calc(var(--spark-rotation) + 58deg)) scale(.1);opacity:0}}.game-side-rail{border-right:1px solid var(--line);background:#0000002e;justify-content:center;padding:10px 4px;display:flex}.game-side-icon-stack{flex-direction:column;align-items:center;gap:8px;display:flex}.game-side-icon{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;display:grid;position:relative}.game-side-icon:hover,.game-side-icon.active{border-color:var(--gold);color:var(--vellum);background:#72222aad}.game-side-content{flex-direction:column;min-width:0;display:flex;overflow:hidden}.game-side-scroll{flex:1;padding:12px;overflow:auto}.game-side-scroll.chat-active{min-height:0;display:flex;overflow:hidden}.game-side-scroll h2{margin:0 0 10px;font-size:16px}.game-side-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.game-side-heading h2{margin:0}.game-roll-list,.game-initiative-list,.game-character-list,.game-module-list{gap:9px;display:grid}.game-module-tools,.game-module-admin{gap:12px;display:grid}.game-module-admin{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.game-module-filters{gap:8px;display:grid}.game-module-search{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;gap:5px;font-size:11px;font-weight:700;display:grid}.game-module-search-field{border:1px solid var(--line);color:var(--muted);background:#ffffff0b;border-radius:8px;align-items:center;gap:7px;padding:7px 9px;display:flex}.game-module-search-field input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.game-module-type-filters{flex-wrap:wrap;gap:6px;display:flex}.game-module-type-filters button,.game-module-clear-filters{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700}.game-module-type-filters button.active{color:var(--gold);background:#ffe9a91a;border-color:#ffe9a96b}.game-module-clear-filters{justify-self:start;align-items:center;gap:5px;display:inline-flex}.game-side-heading.compact{gap:10px;margin-bottom:0}.game-module-group{gap:8px;display:grid}.game-module-group-toggle{border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-weight:700;display:flex}.game-module-card{cursor:grab;border-radius:8px}.game-module-card:is(button){border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:var(--card)}.game-module-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.game-module-list>.game-module-card,.game-module-bucket-list>.game-module-card,.campaign-edit-module-list>.campaign-edit-module-card{content-visibility:auto;contain:layout paint style;contain-intrinsic-size:52px}.game-module-card.compact{cursor:default;grid-template-columns:auto minmax(0,1fr) auto}.game-module-preview-trigger{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.game-module-preview-trigger span{gap:2px;min-width:0;display:grid}.game-module-preview-trigger b,.game-module-preview-trigger small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-module-card img,.game-module-card-avatar{object-fit:cover;border-radius:8px;flex:none;width:36px;height:36px}.game-module-card-avatar{border:1px solid var(--line);color:var(--gold);background:#ffffff0f;place-items:center;font-weight:800;display:grid}.game-module-card small,.game-empty-state{color:var(--muted);font-size:12px}.game-empty-state{margin:0}.game-module-preview{gap:14px;display:grid}.game-module-preview-image{border:1px solid var(--line);border-radius:12px;width:100%}.game-module-preview-image img{pointer-events:none}.game-module-preview-content,.game-module-preview-description,.game-module-preview-features{gap:9px;display:grid}.game-module-preview-type,.game-module-preview-detail,.game-module-preview-count,.game-module-preview-state,.game-module-preview-feature small{color:var(--muted);font-size:12px}.game-module-preview-content h3,.game-module-preview-content p{margin:0}.game-module-preview-content h3{font-size:20px}.game-module-preview-state.error{color:var(--danger,#ff8f8f)}.game-module-preview-feature{border:1px solid var(--line);background:#ffffff09;border-radius:8px}.game-module-preview-feature summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;list-style:none;display:flex}.game-module-preview-feature summary::-webkit-details-marker{display:none}.game-module-preview-feature summary span{gap:2px;min-width:0;display:grid}.game-module-preview-feature p{color:var(--muted);padding:0 10px 10px;font-size:13px;line-height:1.45}.game-roll-card,.game-list-card,.game-character-card{border:1px solid var(--line);color:var(--text);background:var(--card);border-radius:17px}.game-roll-card{justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.game-roll-card div,.game-list-card div,.game-character-copy{gap:3px;min-width:0;display:grid}.game-roll-card span,.game-list-card span,.game-character-card small{color:var(--muted);font-size:12px}.game-roll-card>b{color:var(--gold);font-size:24px}.game-roll-card.success{border-color:#80b85b9e}.game-list-card{align-items:center;gap:12px;padding:12px;display:flex}.game-list-card.active{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.game-gallery{grid-template-columns:1fr 1fr;gap:9px;display:grid}.game-gallery div,.game-gallery-card{aspect-ratio:1.3;border:1px solid var(--line);background:linear-gradient(#0000,#000000bd),radial-gradient(circle at 60% 30%,#665536,#14251c);border-radius:15px;align-items:flex-end;padding:9px;display:flex}.game-gallery-card{text-align:left;background-position:50%;background-size:cover}.game-gallery-card[draggable=true],.game-character-card[draggable=true]{cursor:grab}.game-gallery-card[draggable=true]:active,.game-character-card[draggable=true]:active{cursor:grabbing}.game-gallery span{color:#fff2c9;font-size:12px}.game-character-card{text-align:left;cursor:pointer;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:11px;width:100%;padding:11px;display:grid}.game-character-card:not(.transferable){grid-template-columns:auto minmax(0,1fr)}.game-character-card.deletable{grid-template-columns:auto auto minmax(0,1fr) auto}.game-character-card.deletable:not(.transferable){grid-template-columns:auto minmax(0,1fr) auto}.game-character-card:hover{border-color:var(--gold);background:#d88b351a}.game-character-card.selected{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.game-character-select{place-items:center;display:grid}.game-character-select input{width:16px;height:16px;accent-color:var(--gold)}.game-character-copy{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.game-character-delete{width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.game-character-selection-tools{color:var(--muted);align-items:center;gap:7px;margin-bottom:10px;font-size:11px;display:flex}.game-character-selection-tools span{margin-right:auto}.game-character-avatar{border:1px solid var(--gold);width:40px;height:40px;color:var(--vellum);background:var(--wine-dark);border-radius:50%;place-items:center;display:grid}.game-character-hp{background:#c85d4d42;border-radius:999px;height:5px;display:block;position:relative;overflow:hidden}.game-character-hp-loss,.game-character-hp-fill{border-radius:inherit;height:100%;display:block;position:absolute;inset:0 auto 0 0}.game-character-hp-loss{opacity:0;background:#fffffff5;width:0;box-shadow:0 0 5px #ffffff75}.game-character-hp-fill{width:var(--hp);background:var(--good);transition:width .16s}.game-side-empty{text-align:center;color:var(--muted);justify-items:center;gap:12px;padding:30px 12px;display:grid}.game-settings-list{gap:9px;display:grid}.game-settings-groups,.game-settings-group{gap:12px;display:grid}.game-settings-groups{gap:18px}.game-settings-group>h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.game-settings-card{border:1px solid var(--line);color:var(--text);background:var(--card);cursor:pointer;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.game-settings-card:hover{border-color:var(--gold);background:#d88b351c}.game-settings-card-icon{width:34px;height:34px;color:var(--gold);background:#0000002e;border:1px solid #d88b3557;border-radius:12px;place-items:center;display:grid}.game-settings-card-copy{gap:3px;min-width:0;display:grid}.game-settings-card-copy small{color:var(--muted);font-size:11px;line-height:1.3}.game-settings-card input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold);cursor:pointer}.game-hp-editor-backdrop{z-index:20000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000070;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.game-hp-editor{border:1px solid var(--gold);width:min(440px,100%);color:var(--text);background:radial-gradient(circle at 100% 0, #d88b3529, transparent 42%), linear-gradient(180deg, var(--panel), var(--panel-strong));border-radius:22px;gap:12px;padding:18px;display:grid;box-shadow:0 28px 80px #0000009e}.game-hp-editor h2,.game-hp-editor p{margin:0}.game-hp-editor p{color:var(--muted)}.game-hp-editor-bars{gap:7px;display:grid}.game-hp-editor-bar-row{color:var(--muted);grid-template-columns:48px minmax(0,1fr) 74px;align-items:center;gap:8px;font-size:11px;display:grid}.game-hp-editor-bar-row strong{color:var(--text);text-align:right;font-size:12px}.game-hp-editor-main-track,.game-hp-editor-temp-track{border:1px solid var(--line);background:#00000047;border-radius:999px;height:10px;overflow:hidden}.game-hp-editor-main-track span,.game-hp-editor-temp-track span{border-radius:inherit;height:100%;transition:width .14s;display:block}.game-hp-editor-main-track span{background:linear-gradient(90deg, var(--bad), var(--gold), var(--good))}.game-hp-editor-temp-track{background:#071727b8;border-color:#7cc7ff94}.game-hp-editor-temp-track span{background:linear-gradient(90deg,#2f7dca,#7cc7ff)}.game-hp-editor-current-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px;display:grid}.game-hp-editor-slash{color:var(--gold);padding-bottom:11px;font-size:22px;font-weight:700}.game-hp-editor-modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.game-hp-editor-modes button{border:1px solid var(--line);min-height:34px;color:var(--text);cursor:pointer;background:#0003;border-radius:999px}.game-hp-editor-modes button:hover,.game-hp-editor-modes button.active{border-color:var(--gold);background:#d88b352e}.game-hp-editor-modes button.active{color:var(--vellum);background:linear-gradient(180deg, #8c372c, var(--wine) 48%, var(--wine-dark))}.game-hp-editor-hint,.game-hp-editor-preview-text{background:#00000029;border:1px solid #d88b3538;border-radius:14px;margin:0;padding:9px 10px;font-size:12px;line-height:1.35}.game-hp-editor label{color:var(--muted);gap:6px;font-size:12px;display:grid}.game-hp-editor-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=520px){.game-hp-editor-backdrop{align-items:start;padding:10px;overflow-y:auto}.game-hp-editor{border-radius:16px;width:100%;margin-block:auto;padding:14px}.game-hp-editor-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.game-hp-editor input{width:100%;min-width:0}}@media (width<=360px){.game-hp-editor-bar-row{grid-template-columns:minmax(0,1fr) auto}.game-hp-editor-bar-row>span:first-child{grid-area:1/1}.game-hp-editor-bar-row>strong{grid-area:1/2}.game-hp-editor-main-track,.game-hp-editor-temp-track{grid-area:2/1/auto/-1}.game-hp-editor-current-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.game-hp-editor-slash{display:none}.game-hp-editor-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-hp-editor-actions .ui-button{width:100%}}.game-chat-input{border-top:1px solid var(--line);background:#0c0908c7;flex:none;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:10px -12px -12px;padding:10px 12px 12px;display:grid}.game-chat-input textarea{resize:vertical;border:1px solid var(--line);min-width:0;min-height:42px;max-height:120px;color:var(--text);background:#0000003d;border-radius:8px;padding:8px 9px}.game-chat-input-error{color:#ffd8cf;grid-column:1/-1;margin:-2px 0 0;font-size:11px;line-height:1.35}.character-window-layer{pointer-events:none;position:fixed;inset:0}.character-window{pointer-events:auto;border:1px solid var(--gold);max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);color:var(--text);background:radial-gradient(circle at 12% 100%, #c3693021, transparent 34%), linear-gradient(180deg, var(--panel), var(--panel-strong));-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);border-radius:22px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 28px 90px #000000b8,inset 0 0 0 1px #ffe9a90f;container-type:inline-size}.character-window-titlebar{border-bottom:1px solid var(--line);cursor:move;-webkit-user-select:none;user-select:none;background:linear-gradient(#72222ac7,#3a0b0de0);align-items:center;gap:10px;min-height:58px;padding:8px 10px;display:flex}.character-window-sigil{border:1px solid var(--gold);width:36px;height:36px;color:var(--vellum);background:var(--ink);border-radius:12px;flex:none;place-items:center;display:grid}.character-window-heading{flex:1;min-width:0;display:grid}.character-window-heading strong,.character-window-heading span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.character-window-heading span{color:#e7ba83;font-size:11px}.character-window-actions{gap:6px;display:flex}.character-window-actions button{border:1px solid var(--line);width:32px;height:32px;color:var(--text);cursor:pointer;background:#0003;border-radius:50%;place-items:center;display:grid}.character-window-actions button:hover{border-color:var(--gold);background:#d88b352e}.character-window-body{flex:1;min-height:0;font-size:13px;overflow:hidden}.character-mobile-page{background:radial-gradient(circle at 14% 0%, #d88b3521, transparent 32%), linear-gradient(180deg, var(--panel), var(--ink));height:100dvh;min-height:0;color:var(--text);padding:10px;overflow:hidden}.character-sheet-embedded{border:1px solid var(--gold);background:radial-gradient(circle at 12% 100%, #c3693021, transparent 34%), linear-gradient(180deg, var(--panel), var(--panel-strong));border-radius:18px;flex-direction:column;height:calc(100dvh - 20px);min-height:0;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffe9a90f;container-type:inline-size}.character-sheet-embedded-header{border-bottom:1px solid var(--line);background:linear-gradient(#72222ac7,#3a0b0de0);align-items:center;gap:10px;min-height:58px;padding:8px 10px;display:flex}.character-sheet-embedded-header .theme-toggle.compact{width:32px;min-width:32px;height:32px;min-height:32px}.character-sheet-embedded-body{flex:1;min-height:0;font-size:13px;overflow:hidden}.character-sheet-embedded .character-sheet-layout{height:100%;min-height:0}.character-sheet-embedded .character-sheet-main{min-height:0}.character-sheet-embedded .character-sheet-scroll{-webkit-overflow-scrolling:touch;min-height:0;overflow:hidden auto}.character-window-resize{background:linear-gradient(135deg, transparent 48%, var(--gold) 50% 55%, transparent 57%), linear-gradient(135deg, transparent 65%, var(--gold) 67% 72%, transparent 74%);cursor:se-resize;border:0;width:24px;height:24px;position:absolute;bottom:0;right:0}.character-sheet-layout{grid-template-columns:minmax(220px,31%) minmax(0,1fr);height:100%;display:grid}.character-sheet-sidebar{border-right:1px solid var(--line);background:#00000021;min-height:0;padding:15px;overflow:auto}.character-portrait{width:92px;height:92px;color:var(--vellum);place-items:center;margin:0 auto 14px;display:grid}.character-avatar-button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.character-avatar-button:focus-visible .character-avatar-token{outline:2px solid var(--gold);outline-offset:4px}.character-portrait .character-avatar-token,.campaign-npc-editor-avatar .character-avatar-token{border:2px solid var(--gold);background:0 0;box-shadow:0 8px 22px #00000047}.character-portrait .character-avatar-token-inner,.campaign-npc-editor-avatar .character-avatar-token-inner{width:calc(var(--avatar-size) - 4px);height:calc(var(--avatar-size) - 4px)}.character-avatar-token{--avatar-size:92px;--avatar-scale:1;--avatar-x:0%;--avatar-y:0%;width:var(--avatar-size);height:var(--avatar-size);background:radial-gradient(circle at 35% 22%, #fff2c957, transparent 22%), linear-gradient(145deg, #2f241f, var(--gold) 38%, var(--wine) 66%, #140b09);border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 2px #fff2c940,inset 0 0 0 7px #2f241fd1,0 10px 30px #00000057}.character-avatar-token.small{--avatar-size:40px}.character-avatar-token.editor{--avatar-size:184px}.character-avatar-hp-rings{z-index:0;pointer-events:none;width:calc(100% + 12px);height:calc(100% + 12px);position:absolute;inset:-6px;overflow:visible}.character-avatar-hp-ring-track,.character-avatar-hp-ring-fill{fill:none;stroke-linecap:round;stroke-width:7px}.character-avatar-hp-ring-track.regular{stroke:#1d0908db}.character-avatar-hp-ring-track.temporary{stroke:#071727db}.character-avatar-hp-ring-fill{stroke-dasharray:100;transition:stroke-dashoffset .16s}.character-avatar-hp-ring-fill.regular{stroke:#80b85b}.character-avatar-hp-ring-fill.temporary{stroke:url(#character-avatar-hp-temporary)}.character-avatar-hp-ring-loss{fill:none;stroke:#fffffffa;stroke-dasharray:100;stroke-linecap:round;stroke-width:7px;opacity:0;filter:drop-shadow(0 0 2px #ffffff9e)}.character-avatar-token-inner{z-index:1;width:calc(var(--avatar-size) - 16px);height:calc(var(--avatar-size) - 16px);background:radial-gradient(circle at 50% 35%, var(--wine), var(--ink));border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden}.character-avatar-token.small .character-avatar-token-inner{width:calc(var(--avatar-size) - 8px);height:calc(var(--avatar-size) - 8px)}.character-avatar-token img{max-width:none;max-height:none;transform:translate(var(--avatar-x), var(--avatar-y));transform-origin:50%;-webkit-user-select:none;user-select:none;pointer-events:none}.character-avatar-edit-mark{z-index:2;background:radial-gradient(circle at 35% 22%, #fff2c952, transparent 28%), linear-gradient(145deg, #2f241f, var(--wine));width:24px;height:24px;color:var(--gold);border:1px solid #f5b84bb8;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:4px;right:4px;box-shadow:0 5px 16px #00000061}.character-avatar-token.small .character-avatar-edit-mark{width:16px;height:16px;bottom:-2px;right:-2px}.character-avatar-modal{gap:16px;display:grid}.character-avatar-editor{grid-template-columns:auto minmax(220px,1fr);align-items:center;gap:18px;display:grid}.character-avatar-drag-surface{color:inherit;touch-action:none;cursor:grab;background:0 0;border:0;padding:0}.character-avatar-drag-surface:focus-visible .character-avatar-token{outline:2px solid var(--gold);outline-offset:4px}.character-avatar-drag-surface.dragging{cursor:grabbing}.character-avatar-controls{gap:12px;display:grid}.character-avatar-controls label{color:var(--muted);gap:6px;font-size:12px;display:grid}.character-avatar-controls input[type=range]{width:100%}.character-avatar-controls input[type=range]::-moz-range-thumb{background:var(--gold);border:1px solid #fff2c9cc;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 4px #f5b84b29}.character-avatar-file-field{min-width:0;color:var(--muted);gap:6px;font-size:12px;display:grid}.character-avatar-file-label{color:var(--muted)}.character-avatar-file-picker{background:linear-gradient(90deg,#140805eb,#301c13b8),#0000003d;border:1px solid #d88b3594;border-radius:18px;align-items:center;gap:10px;min-width:0;padding:8px;display:flex;box-shadow:inset 0 1px #fff2c90f,0 10px 24px #00000029}.character-avatar-file-button{flex:none;min-height:34px;padding:7px 12px;font-size:13px}.character-avatar-file-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.character-avatar-file-input{display:none}:root[data-theme=light] .character-avatar-file-picker{color:var(--text);background:linear-gradient(#fffdf8fa,#f4e2cff5);border-color:#8b562461;box-shadow:inset 0 1px #ffffffb8,0 10px 24px #693c1d1f}:root[data-theme=light] .character-avatar-file-picker:hover,:root[data-theme=light] .character-avatar-file-picker:focus-within{border-color:var(--gold);background:linear-gradient(#fffdf8,#f5dfc8)}:root[data-theme=light] .character-avatar-file-name{color:var(--text)}:root[data-theme=light] .character-avatar-file-label{color:var(--muted)}:root[data-theme=light] .character-avatar-file-picker.image-file-drop-active{border-color:var(--gold);background:#ffeebfeb;box-shadow:0 0 0 3px #a86c202e}.character-passport{text-align:center}.character-passport>span,.character-sheet-sidebar h3{color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-size:11px}.character-passport h2{margin:5px 0;font-size:18px}.character-passport p{color:var(--muted);margin:3px 0;font-size:12px}.character-sheet-sidebar section{margin-top:17px}.character-stat-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.character-stat{border:1px solid var(--line);background:var(--card);border-radius:13px;place-items:center;padding:7px 3px;display:grid}.character-stat span,.character-stat small{color:var(--muted);font-size:10px}.character-stat strong{font-size:20px}.character-stat.surface-buff,.sheet-skill-row.surface-buff{color:#4fce82}.character-stat.surface-debuff,.sheet-skill-row.surface-debuff{color:#ef6b6b}.character-stat.surface-buff{border-color:#4fce829e}.character-stat.surface-debuff{border-color:#ef6b6b9e}.character-surface-indicators{align-items:center;gap:5px;min-height:16px;display:inline-flex}.character-surface-indicators>button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.character-surface-indicators .surface-buff{color:#4fce82}.character-surface-indicators .surface-debuff{color:#ef6b6b}:root[data-theme=light] .character-stat.surface-buff,:root[data-theme=light] .sheet-skill-row.surface-buff,:root[data-theme=light] .character-surface-indicators .surface-buff{color:var(--success)}:root[data-theme=light] .character-stat.surface-debuff,:root[data-theme=light] .sheet-skill-row.surface-debuff,:root[data-theme=light] .character-surface-indicators .surface-debuff{color:var(--danger)}:root[data-theme=light] .character-stat.surface-buff{border-color:color-mix(in srgb, var(--success) 62%, transparent)}:root[data-theme=light] .character-stat.surface-debuff{border-color:color-mix(in srgb, var(--danger) 62%, transparent)}.character-quick-rolls{flex-wrap:wrap;gap:6px;display:flex}.character-quick-rolls button{border:1px solid var(--line);color:var(--text);background:var(--card);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:11px;display:inline-flex}.sheet-ability-grid{padding:12px}.character-roll-dialog{gap:14px;display:grid}.character-roll-dialog .modal-copy{gap:5px;display:grid}.character-roll-dialog .modal-copy strong{color:var(--vellum)}.character-roll-dialog .modal-copy span{color:var(--muted)}.character-roll-choice-group,.character-roll-actions{flex-wrap:wrap;gap:8px;display:flex}.character-roll-choice-group button{border:1px solid var(--line);color:var(--text);background:var(--card);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;display:inline-flex}.character-roll-choice-group button.active,.character-roll-choice-group button:hover{border-color:var(--gold);color:var(--vellum);background:#d88b352e}.character-roll-actions .ui-button{flex:130px;justify-content:center;gap:8px}.character-roll-actions.mobile{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.character-roll-actions.mobile .ui-button{min-width:0}.character-roll-actions.mobile .ui-button.primary{grid-column:1/-1}.character-roll-dialog kbd{min-width:24px;color:var(--vellum);text-align:center;background:#00000047;border:1px solid #d88b3559;border-radius:6px;padding:1px 5px;font-size:10px}@media (width<=600px){.character-roll-modal>.section-heading{align-items:flex-start;display:flex}.character-roll-modal>.section-heading .icon-button{flex:none;margin-left:auto}.character-roll-modal .character-roll-choice-group{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.character-roll-modal .character-roll-choice-group button{width:100%;min-width:0;padding-inline:8px}}.character-sheet-main{flex-direction:column;min-width:0;min-height:0;display:flex}.character-sheet-tabs{-webkit-overflow-scrolling:touch;touch-action:pan-x;border-bottom:1px solid var(--line);background:#00000024;display:flex;overflow:auto hidden}.character-sheet-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-right:1px solid #d88b3526;flex:1 0 auto;padding:12px}.character-sheet-tabs button:hover:not(.disabled),.character-sheet-tabs button.active{color:var(--vellum);box-shadow:inset 0 -2px var(--gold);background:#72222aa3}.character-sheet-tabs button.disabled{cursor:not-allowed;opacity:.48}.character-sheet-profile-tab{display:none!important}.character-sheet-scroll{flex:1;min-height:0;padding:10px;overflow:auto}.character-sheet-loading{text-align:center;padding:30px}.sheet-panel-stack{gap:12px;padding:4px;display:grid}.sheet-section{background:#0000003d;border:1px solid #d88b3557;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 22px #d88b350d}.sheet-section-header{border-bottom:1px solid #d88b3538;justify-content:space-between;align-items:center;gap:12px;min-height:45px;padding:10px 12px;display:flex}.sheet-section-header h2{color:var(--vellum);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:14px}.sheet-section-header p{color:var(--muted);margin:3px 0 0;font-size:12px}.sheet-section-body{padding:8px}.character-qr-section{max-width:620px}.character-qr-body{grid-template-columns:1fr;justify-items:center;gap:12px;display:grid}.character-qr-code{border:1px solid var(--line);min-height:344px;color:var(--ink);background:#f7dfaa;border-radius:14px;place-items:center;padding:12px;display:grid}.character-qr-code img{width:min(360px,100%);height:auto;image-rendering:pixelated;display:block}.character-qr-copy{gap:8px;width:min(100%,420px);min-width:0;display:grid}.character-qr-copy label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.character-qr-copy input{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);background:#0000003d;border-radius:10px;padding:9px 10px}.character-qr-copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.sheet-section.collapsed .sheet-section-header{border-bottom:0}.sheet-section-actions,.sheet-card-actions{align-items:center;gap:6px;display:flex}.sheet-section-toggle{border:1px solid var(--line);width:30px;height:30px;color:var(--vellum);cursor:pointer;background:#0000004d;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.sheet-section-toggle:hover{border-color:var(--gold);background:#d88b352e}.sheet-action-button,.sheet-card-actions button{border:1px solid var(--line);color:var(--vellum);cursor:pointer;background:#0000004d;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.sheet-action-button:hover,.sheet-card-actions button:hover{border-color:var(--gold);background:#d88b352e}.sheet-action-button.active{border-color:var(--gold);color:#201207;background:var(--gold)}.character-passport-grid,.sheet-readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sheet-readonly-field{background:#faf9d90d;border:1px solid #d88b3540;border-radius:11px;gap:4px;min-width:0;padding:9px 10px;display:grid}.sheet-readonly-field.full{grid-column:1/-1}.sheet-readonly-field span,.sheet-metric span,.sheet-resource-card span,.sheet-money-grid span{color:#d9b77b;letter-spacing:.07em;text-transform:uppercase;font-size:10px}.sheet-readonly-field strong{min-width:0;color:var(--text);overflow-wrap:anywhere;text-overflow:ellipsis;font-size:13px;overflow:hidden}.sheet-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.sheet-metric{border:1px solid var(--line);text-align:center;background:linear-gradient(#3a180c59,#00000047);border-radius:12px;place-items:center;gap:4px;min-height:64px;padding:8px 6px;display:grid}.sheet-metric strong{color:var(--vellum);font-size:21px;line-height:1}.sheet-metric span{line-height:1.1}.sheet-hp-primary{border:1px solid var(--gold);background:#72222a40;border-radius:12px;justify-content:center;align-items:baseline;gap:5px;padding:8px 10px;display:flex}.sheet-hp-primary strong{color:var(--vellum);font-size:28px;line-height:1}.sheet-hp-primary small{color:var(--muted);font-size:14px}.sheet-resource-grid,.sheet-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.sheet-resource-card{border:1px solid var(--line);background:var(--card);border-radius:12px;gap:10px;min-width:0;padding:10px;display:grid}.sheet-resource-card-header{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.sheet-resource-card-header>span{overflow-wrap:anywhere;min-width:0}.sheet-resource-card strong{color:var(--vellum)}.sheet-two-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.sheet-overview-checks{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}.sheet-overview-left{grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;display:grid}.sheet-overview-checks>.sheet-section,.sheet-overview-left>.sheet-section{min-width:0}.sheet-overview-checks>.sheet-section,.sheet-overview-left>.sheet-section:last-child{height:100%}.sheet-list,.sheet-card-list{gap:7px;display:grid}.sheet-skill-row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #d88b3529;grid-template-columns:18px minmax(0,1fr) 38px 18px;align-items:center;gap:7px;padding:6px 2px;display:grid}.sheet-skill-row:hover{color:var(--vellum);background:#d88b3514}.sheet-skill-row small{color:var(--muted)}.sheet-skill-row>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.sheet-proficiency-dot{border:1px solid var(--line);border-radius:50%;width:17px;height:17px}.sheet-skill-row.proficient .sheet-proficiency-dot{border:4px solid var(--gold)}.sheet-skill-row.expertise .sheet-proficiency-dot{background:var(--gold);box-shadow:inset 0 0 0 3px var(--ink)}.sheet-chip-row{flex-wrap:wrap;gap:7px;display:flex}.sheet-resistance-chip{color:var(--text);cursor:pointer;background:#11500057;border:1px solid #78a85f;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.sheet-resistance-chip.danger{background:#c85d4d47;border-color:#d78679}.sheet-empty-state{color:#d9b77b;text-align:center;border:1px dashed #d88b3561;border-radius:13px;margin:0;padding:18px}.sheet-list-card{background:#0000003d;border:1px solid #d88b354d;border-radius:13px;min-width:0;padding:11px}.sheet-list-card>header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.sheet-card-title{min-width:0;color:var(--vellum);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:3px 0;font-weight:700;display:inline-flex}.sheet-card-actions button{width:29px;height:29px;padding:0}.sheet-card-meta{color:var(--muted);flex-wrap:wrap;gap:7px;margin-top:8px;font-size:11px;display:flex}.sheet-card-meta span{border:1px solid #d88b3533;border-radius:999px;padding:4px 7px}.sheet-list-card p,.sheet-card-details,.sheet-prose{color:var(--text);margin:9px 0 0;font-family:Arial,sans-serif;font-size:13px;line-height:1.55}.sheet-prose{white-space:pre-wrap}.sheet-card-details{gap:5px;display:grid}.sheet-money-grid,.sheet-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.sheet-money-grid>.sheet-money-card,.sheet-slot{border:1px solid var(--line);background:var(--card);border-radius:12px;place-items:center;gap:5px;padding:10px;display:grid}.sheet-money-grid strong,.sheet-slot strong{color:var(--vellum);font-size:20px}.sheet-money-grid input{width:100%;min-width:0;color:var(--vellum);font:inherit;text-align:center;appearance:textfield;background:0 0;border:0;border-radius:8px;padding:2px 4px;font-size:20px;font-weight:700;line-height:1.2}.sheet-money-grid input::-webkit-inner-spin-button{appearance:none;margin:0}.sheet-money-grid input::-webkit-outer-spin-button{appearance:none;margin:0}.sheet-money-grid input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.sheet-money-grid.saving input{filter:saturate(.82)}.sheet-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.sheet-slot{font-size:11px}.sheet-section-badge{border:1px solid var(--line);color:#d9b77b;border-radius:999px;padding:5px 8px;font-size:11px}.sheet-attack-form{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(620px,100vh - 190px);padding-right:4px;display:grid;overflow-y:auto}.sheet-attack-form label{color:#d9b77b;gap:6px;min-width:0;font-size:12px;display:grid}.sheet-attack-form .full,.sheet-attack-form .modal-actions,.sheet-form-error{grid-column:1/-1}.sheet-attack-form input:not([type=checkbox]),.sheet-attack-form select,.sheet-attack-form textarea{width:100%;min-width:0;color:var(--text);background:#faf9d912;border:1px solid #d88b3561;border-radius:11px;padding:9px 10px}.sheet-attack-form textarea{resize:vertical;min-height:92px}.sheet-attack-form input:not([type=checkbox]):focus,.sheet-attack-form select:focus,.sheet-attack-form textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d88b3524}.sheet-attack-form input:not([type=checkbox])[aria-invalid=true]{border-color:#d78679}.sheet-attack-form .sheet-form-check{align-items:center;gap:8px;display:flex}.sheet-attack-form .sheet-form-check>input[type=checkbox]{flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;padding:0}.sheet-form-error{color:#d78679;margin:0;font-size:12px}.sheet-edit-form{gap:12px;padding:4px;display:grid}.sheet-edit-section{background:#0000003d;border:1px solid #d88b3557;border-radius:16px;min-width:0}.sheet-edit-section h2{color:var(--vellum);margin:0;font-size:17px}.sheet-edit-basic-grid,.sheet-edit-ability-grid,.sheet-edit-save-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sheet-edit-basic-grid label,.sheet-edit-ability{color:#d9b77b;gap:6px;min-width:0;font-size:12px;display:grid}.sheet-edit-ability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-edit-ability{background:#faf9d90a;border:1px solid #d88b3547;border-radius:12px;padding:10px}.sheet-edit-ability small,.sheet-edit-save-name small,.sheet-edit-skill-row small{color:var(--muted);font-size:11px;display:block}.sheet-edit-form input[type=text],.sheet-edit-form input[type=number],.sheet-edit-form select,.sheet-edit-form textarea{width:100%;min-width:0;color:var(--text);background:#faf9d912;border-color:#d88b3561;border-radius:11px;padding:9px 10px}.sheet-edit-form textarea{resize:vertical;min-height:220px}.sheet-edit-toggle-field{grid-template-columns:1fr auto;align-content:center}.sheet-edit-toggle-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold);justify-self:end}.sheet-edit-textarea-field{color:#d9b77b;gap:6px;font-size:12px;display:grid}.sheet-edit-form input:focus,.sheet-edit-form select:focus,.sheet-edit-form textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d88b3524}.sheet-edit-form button{cursor:pointer}.sheet-edit-save-row{background:#faf9d90a;border:1px solid #d88b3547;border-radius:12px;grid-template-columns:minmax(120px,1fr) 38px 32px;align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.sheet-edit-save-name{min-width:0}.sheet-edit-save-name strong{overflow-wrap:normal;word-break:normal}.sheet-edit-skill-row strong{overflow-wrap:anywhere}.sheet-edit-modifier{color:var(--vellum);text-align:center}.sheet-edit-toggle{cursor:pointer;justify-self:center;place-items:center;width:32px;height:32px;display:grid;position:relative}.sheet-edit-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.sheet-edit-toggle-mark{background:#faf9d90f;border:1px solid #d88b357a;border-radius:50%;place-items:center;width:22px;height:22px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.sheet-edit-toggle-mark:after{content:"";background:0 0;border-radius:50%;width:9px;height:9px}.sheet-edit-toggle input:checked+.sheet-edit-toggle-mark{border-color:var(--gold);background:#d88b351f;box-shadow:0 0 10px #d88b352e}.sheet-edit-toggle input:checked+.sheet-edit-toggle-mark:after{background:var(--gold);box-shadow:0 0 7px #d88b3594}.sheet-edit-toggle input:focus-visible+.sheet-edit-toggle-mark{outline-offset:2px;outline:3px solid #d88b358c}.sheet-edit-toggle input:disabled+.sheet-edit-toggle-mark{cursor:not-allowed;opacity:.38}.sheet-edit-add-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px;display:grid}.sheet-edit-skill-list{gap:6px;max-height:310px;padding-right:4px;display:grid;overflow-y:auto}.sheet-edit-skill-row{background:#faf9d90a;border:1px solid #d88b353d;border-radius:11px;grid-template-columns:minmax(160px,1fr) 32px 32px 38px 30px;align-items:center;gap:8px;min-width:0;padding:9px 10px;display:grid}.sheet-edit-delete{color:#ffd8cf;background:#72222a4d;border:1px solid #c85d4d8c;border-radius:50%;place-items:center;width:29px;height:29px;display:grid}.character-window-actions button:disabled{cursor:wait;opacity:.5}.character-close-actions{flex-wrap:wrap;display:flex}.character-sheet-tabs button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.character-stat{color:var(--text);cursor:pointer}.character-stat:hover,.character-quick-rolls button:hover{border-color:var(--gold);background:#d88b3524}@container (width<=900px){.character-sheet-layout{grid-template-columns:minmax(180px,34%) minmax(0,1fr)}.character-sheet-sidebar{padding:10px}.character-portrait{width:74px;height:74px;margin-bottom:10px}.character-portrait .character-avatar-token{--avatar-size:74px}.character-passport-grid{grid-template-columns:1fr}.character-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-stat{min-width:0}.character-stat span,.character-stat small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.character-quick-rolls{grid-template-columns:1fr;display:grid}.character-quick-rolls button{justify-content:center;min-width:0}}.character-window.compact .character-sheet-layout{grid-template-columns:1fr}.character-window.compact .character-sheet-sidebar{display:none}.character-window.compact .character-sheet-profile-tab{display:inline-flex!important}.character-window.compact .character-sheet-mobile-profile{gap:12px;display:grid}.character-window.compact .character-passport-grid{grid-template-columns:1fr}.character-window.compact .character-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-window.compact .sheet-edit-basic-grid,.character-window.compact .sheet-edit-ability-grid,.character-window.compact .sheet-edit-save-grid,.character-window.compact .sheet-attack-form{grid-template-columns:1fr}.character-window.compact .sheet-section-header{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.character-window.compact .sheet-section-actions{flex-wrap:wrap;justify-content:flex-start;width:100%;min-width:0}.character-window.compact .sheet-action-button{white-space:normal;min-width:0;max-width:100%}.character-window.compact .sheet-resource-grid,.character-window.compact .sheet-card-grid{grid-template-columns:1fr}.character-window.compact .sheet-list-card>header,.character-window.compact .sheet-resource-card-header{flex-direction:column;align-items:stretch}.character-window.compact .sheet-card-title,.character-window.compact .sheet-resource-card-header>span{overflow-wrap:anywhere;width:100%}.character-window.compact .sheet-card-actions{flex-wrap:wrap;justify-content:flex-end;align-self:flex-end}.character-window.compact .sheet-edit-skill-row{grid-template-columns:minmax(0,1fr) 32px 32px 34px 30px}.character-window.compact .sheet-skill-row{grid-template-columns:16px minmax(0,1fr) 32px 16px;gap:5px;padding:7px 0}.character-window.compact .sheet-skill-row strong{text-align:right;min-width:0}.character-window.compact .sheet-skill-row small{margin-top:1px;font-size:10px;line-height:1.1;display:block}.character-window.compact .sheet-proficiency-dot{width:15px;height:15px}.character-window.compact .sheet-skill-row.proficient .sheet-proficiency-dot{border-width:3px}.character-window.compact .sheet-skill-row.expertise .sheet-proficiency-dot{box-shadow:inset 0 0 0 2px var(--ink)}.character-window.compact .sheet-overview-checks{grid-template-columns:1fr}.character-window.compact .sheet-overview-left{display:contents}@media (width<=980px){.game-workspace{grid-template-columns:minmax(190px,24vw) minmax(0,1fr) minmax(250px,28vw)}.game-workspace:has(.game-left-column.collapsed){grid-template-columns:0 minmax(0,1fr) minmax(250px,28vw)}}@media (width<=620px){.character-mobile-page{padding:0}.character-sheet-embedded{border-inline:0;border-radius:0;height:100dvh;min-height:0}.character-sheet-embedded-header{flex:none}.game-page{border-radius:0}.game-session-title span{display:none}.game-workspace{grid-template-columns:minmax(170px,42vw) minmax(0,1fr) 58px}.game-workspace:has(.game-left-column.collapsed){grid-template-columns:0 minmax(0,1fr) 58px}.game-side-content,.game-session-title,.game-loading{display:none}.game-session-bar{justify-content:center;padding-inline:0}.game-toolbar-wrap{top:50%;bottom:auto;right:58px;transform:translateY(-50%)}.game-toolbar{max-height:calc(100vh - 160px);overflow-y:auto}.character-window{width:calc(100vw - 16px)!important;height:calc(100vh - 90px)!important;top:82px!important;left:8px!important}.character-sheet-layout{grid-template-columns:1fr}.character-sheet-sidebar{display:none}.character-sheet-profile-tab{display:inline-flex!important}.character-sheet-mobile-profile{gap:12px;display:grid}.character-qr-body{grid-template-columns:1fr}.character-qr-code{min-height:min(344px,100vw - 52px)}.character-passport-grid{grid-template-columns:1fr}.character-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-two-column,.sheet-overview-checks,.sheet-resource-grid,.sheet-card-grid{grid-template-columns:1fr}.sheet-overview-left{display:contents}.sheet-section-header>div:first-child{min-width:0}.sheet-section-header h2{overflow-wrap:anywhere}.sheet-section-actions{flex-wrap:nowrap;flex:none;align-self:flex-start}.sheet-add-button{border-radius:50%;flex:none;width:30px;min-width:30px;height:30px;padding:0}.sheet-add-button span{display:none}.sheet-metric-grid,.sheet-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-hp-grid{grid-template-columns:1fr}.sheet-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-edit-ability-grid,.sheet-edit-save-grid{grid-template-columns:1fr}.sheet-edit-skill-row{grid-template-columns:minmax(130px,1fr) 32px 32px 34px 30px}}.floating-tooltip{z-index:2147483647;box-sizing:border-box;border:1px solid var(--line);width:max-content;max-width:min(240px,100vw - 16px);color:var(--text);text-align:center;background:var(--panel-strong);box-shadow:0 10px 30px var(--shadow);pointer-events:none;white-space:pre-line;overflow-wrap:anywhere;border-radius:10px;padding:7px 10px;font-size:12px;line-height:1.3;position:fixed}.floating-tooltip.race-card-description-tooltip{width:min(320px,100vw - 24px);max-width:min(320px,100vw - 24px);color:var(--text);white-space:pre-line;background:#101218fa;border-color:#d88b355c;border-radius:16px;padding:12px 14px;font-size:13px;line-height:1.45}.game-session-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.game-session-actions .icon-button{border-radius:10px;width:30px;height:30px}.game-loading-popover{z-index:60;border:1px solid var(--line);max-width:calc(100% - 20px);color:var(--text);background:linear-gradient(180deg, var(--panel), var(--panel-strong));box-shadow:0 14px 34px var(--shadow);pointer-events:none;border-radius:12px;align-items:center;gap:7px;padding:8px 10px;font-size:11px;display:flex;position:absolute;top:46px;right:10px}.map-scene-preview{color:#4a362461;background:#d8c3a5;width:100%;height:100%;display:block;overflow:hidden}.map-scene-preview svg{width:100%;height:100%;display:block}.map-scene-preview-grid{color:#4a362457}.map-scene-preview-token-placeholder{fill:#6f2d37d1;stroke:#fff6dce0;stroke-width:2px}.map-scene-preview-object-placeholder{fill:#5262429e;stroke:#fff6dc85;stroke-width:1.5px}.game-map-switcher{border:1px solid var(--line);color:var(--text);background:var(--card);border-radius:14px;gap:8px;padding:10px;font-size:11px;display:grid}.game-map-switcher-title{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.game-map-preview-list{gap:8px;display:grid}.game-map-preview-card{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#faf9d90a;border:1px solid #d88b3547;border-radius:12px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:9px;padding:7px;display:grid}.game-map-preview-card:hover,.game-map-preview-card.active{border-color:var(--gold);background:#d88b351f}.game-map-preview-card:disabled{cursor:default;opacity:.78}.game-map-preview-image{background:radial-gradient(circle at 65% 35%, #ffffff2e, transparent 34%), var(--map-preview-color);border:1px solid #d88b3557;border-radius:8px;width:58px;max-height:42px;display:block;position:relative;overflow:hidden}.game-map-preview-image.grid-square{background-image:linear-gradient(#ffe9a93d 1px,#0000 1px),linear-gradient(90deg,#ffe9a93d 1px,#0000 1px),radial-gradient(circle at 65% 35%,#ffffff2e,#0000 34%);background-size:10px 10px,10px 10px,auto;background-color:var(--map-preview-color)}.game-map-preview-image.grid-hex{background:repeating-linear-gradient(60deg, #ffe9a92e 0 1px, transparent 1px 9px), repeating-linear-gradient(-60deg, #ffe9a921 0 1px, transparent 1px 9px), var(--map-preview-color)}.game-map-preview-image img{object-fit:cover;width:100%;height:100%;display:block}.game-map-observer-count{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--gold) 72%, transparent);color:#fff6d2;font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--wine) 88%, #000);pointer-events:none;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;bottom:4px;left:4px;box-shadow:0 2px 7px #0000006b}.game-scene-observer-popover{z-index:90;box-sizing:border-box;border:1px solid var(--line);width:190px;max-height:260px;color:var(--text);background:linear-gradient(180deg, var(--panel), var(--panel-strong));box-shadow:0 14px 34px var(--shadow);pointer-events:none;border-radius:10px;gap:7px;padding:8px;display:grid;position:fixed;overflow:hidden}.game-scene-observer-popover>strong{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.game-scene-observer-list{gap:5px;min-height:0;display:grid;overflow:hidden auto}.game-scene-observer{grid-template-columns:26px minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.game-scene-observer-avatar{border:1px solid color-mix(in srgb, var(--gold) 32%, var(--line));width:26px;height:26px;color:var(--gold);background:color-mix(in srgb, var(--gold) 9%, var(--card));border-radius:50%;place-items:center;font-size:9px;font-weight:800;display:grid;overflow:hidden}.game-scene-observer-avatar img{object-fit:cover;width:100%;height:100%;display:block}.game-scene-observer-name{white-space:nowrap;align-items:baseline;gap:3px;min-width:0;font-size:10px;display:flex;overflow:hidden}.game-scene-observer-name strong,.game-scene-observer-name span{text-overflow:ellipsis;min-width:0;overflow:hidden}.game-scene-observer-name strong{flex:54%;font-weight:700}.game-scene-observer-name span{color:var(--muted);flex:46%;font-size:9px;font-weight:400}.game-map-preview-meta{gap:2px;min-width:0;display:grid}.game-map-preview-meta strong,.game-map-preview-meta small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-map-preview-meta small{color:var(--muted);font-size:10px}.map-editor-fullscreen-page{background:0 0;width:100%;height:100%;min-height:0;overflow:hidden}.map-editor-workspace{grid-template-columns:minmax(0,1fr) minmax(380px,27vw);height:100%;min-height:0;display:grid;overflow:hidden}.map-editor-board-column{background:#0000002e;min-width:0;min-height:0;position:relative;overflow:hidden}.map-editor-pixi-stage{touch-action:none;cursor:grab;outline:none;position:absolute;inset:0}.map-editor-return-button{z-index:20;position:absolute;top:10px;left:10px}.map-editor-pixi-stage:active{cursor:grabbing}.map-editor-pixi-stage canvas{width:100%;height:100%;display:block}.map-editor-empty-workspace{z-index:10;text-align:center;pointer-events:none;color:var(--text);background:radial-gradient(circle,#10131833,#10131875);place-content:center;justify-items:center;gap:8px;padding:32px;display:grid;position:absolute;inset:0}.map-editor-empty-workspace strong{font-size:18px;font-weight:700}.map-editor-empty-workspace span{max-width:420px;color:var(--muted);font-size:13px;line-height:1.5}.map-editor-context-menu{z-index:60;border:1px solid var(--line);background:var(--panel-strong);border-radius:14px;gap:4px;min-width:176px;padding:6px;display:grid;position:fixed;box-shadow:0 18px 48px #00000075}.map-editor-context-menu button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 10px}.map-editor-context-menu button:hover{background:#d88b3524}.map-editor-context-menu button.danger{color:#ffb0a8}.map-editor-tools-column{grid-template-rows:minmax(0,1fr);grid-template-columns:42px minmax(0,1fr);display:grid}.map-editor-tool-rail{z-index:1;border-right:1px solid var(--line);background:#0000002e;flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;padding:10px 5px;display:flex;position:relative}.map-editor-session-bar{gap:8px;padding-inline:10px}.map-editor-tools-column .game-side-content{z-index:1;position:relative}.map-editor-back-link{color:var(--text);text-decoration:none}.map-editor-session-bar .game-board-control{white-space:nowrap;margin-left:auto}.map-editor-save-button,.map-editor-session-bar .game-back-button,.map-editor-session-bar .icon-button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0}.map-editor-tool-section{border-bottom:1px solid #d88b3529;gap:12px;margin:0 0 16px;padding:0 0 16px;display:grid}.map-editor-tool-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.map-editor-tool-section h2{color:var(--text);align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.map-editor-field{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.map-editor-field input,.map-editor-field select{width:100%;min-width:0;color:var(--text);font:inherit;background:#0000002e;border:1px solid #d88b3547;border-radius:12px;padding:9px 10px}.map-editor-field input[type=range]{width:100%}.map-editor-field input[type=color]{height:40px;padding:4px}.map-editor-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.map-editor-button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.map-editor-button-grid button{min-height:42px;color:var(--text);font:inherit;cursor:pointer;background:#0000002e;border:1px solid #d88b3547;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:9px 10px;font-weight:800;transition:border-color .16s,background .16s,color .16s,transform .16s;display:inline-flex}.map-editor-button-grid button:hover:not(:disabled),.map-editor-button-grid button.active{color:var(--gold);background:#d88b3529;border-color:#d88b35b8}.map-editor-button-grid button:active:not(:disabled){transform:translateY(1px)}.map-editor-button-grid button:disabled{cursor:not-allowed;opacity:.56}.map-editor-button-grid button small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:600;display:block}.map-editor-terrain-button.land.active{color:#f2d28d;background:linear-gradient(#73592b57,#4c623638);border-color:#c5984fe6}.map-editor-terrain-button.water.active{color:#9ed8f1;background:linear-gradient(#2d678457,#1f3e603d);border-color:#60a9c9d9}.map-editor-button-grid .full-width,.ui-button.full-width{grid-column:1/-1;justify-content:center;width:100%}.map-editor-check{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.map-editor-check input{accent-color:var(--gold)}.regions-generation-modal{gap:14px;display:grid}.regions-generation-modal h2,.regions-generation-modal p{margin:0}.map-editor-asset-grid,.map-editor-project-list,.map-editor-layer-list{gap:8px;display:grid}.map-editor-asset-card,.map-editor-project-card,.map-editor-layer-card{width:100%;color:var(--text);background:#faf9d90a;border:1px solid #d88b353d;border-radius:14px}.map-editor-asset-card{gap:8px;padding:8px;display:grid}.map-editor-asset-card img{aspect-ratio:16/9;object-fit:cover;background:#0000002e;border-radius:10px;width:100%}.map-editor-asset-card strong,.map-editor-asset-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-editor-asset-card small,.map-editor-project-card small,.map-editor-layer-card small{color:var(--muted);font-size:10px}.map-editor-project-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;display:grid}.map-editor-project-select{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:9px;padding:0;display:grid}.map-editor-project-delete{color:var(--danger);align-self:center}.map-editor-project-card.active{border-color:var(--gold);background:#d88b3521}.map-editor-project-preview{aspect-ratio:4/3;background-color:#0000002e;background-image:linear-gradient(#ffe9a929 1px,#0000 1px),linear-gradient(90deg,#ffe9a929 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:10px 10px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #d88b353d;border-radius:10px;width:74px;display:block;overflow:hidden}.map-editor-project-select>div{gap:3px;min-width:0;display:grid}.map-editor-project-card strong,.map-editor-project-card small,.map-editor-project-select strong,.map-editor-project-select small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-editor-project-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.map-editor-layer-card{text-align:left;cursor:pointer;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px;display:grid}.map-editor-layer-card:hover,.map-editor-layer-card.active{border-color:var(--gold);background:#d88b3521}.map-editor-layer-card img{object-fit:cover;background:#0000002e;border-radius:8px;width:42px;height:36px}.map-editor-layer-card span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-button.danger{color:#ffb0a8;border-color:#dc50467a}@media (width<=980px){.map-editor-workspace{grid-template-rows:minmax(420px,1fr) minmax(380px,46vh);grid-template-columns:1fr}.map-editor-tools-column{border-left:0;border-top:1px solid var(--line);grid-template-columns:42px minmax(0,1fr)}}@media (width<=560px){.character-avatar-editor{grid-template-columns:1fr;justify-items:center}}.personal-image-library{gap:12px;min-width:0;display:grid}.personal-image-empty{margin:0;padding:8px 10px}.game-layer-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px;display:grid}.game-layer-selector button{border:1px solid var(--line);min-width:0;color:inherit;cursor:pointer;background:#00000024;border-radius:9px;padding:8px}.game-layer-selector button:hover,.game-layer-selector button.active{border-color:var(--gold);background:#d88b3521}.game-board-context-menu{z-index:1200;border:1px solid var(--line);background:var(--panel);min-width:220px;max-width:min(280px,100vw - 16px);box-shadow:var(--shadow);border-radius:10px;padding:6px;display:grid;position:fixed;transform:translate(4px,4px)}.game-board-context-menu-group{border-bottom:1px solid var(--line);margin-bottom:5px;padding-bottom:5px;display:grid}.game-board-context-menu button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 10px}.game-board-context-menu button:hover:not(:disabled),.game-board-context-menu button:focus-visible{background:#d88b3529;outline:none}.game-board-context-menu button:disabled{opacity:.42;cursor:default}.game-board-context-menu button.danger{color:#ffb0a8}.game-chat-user-context-menu{min-width:190px}.game-chat-user-menu-title{border-bottom:1px solid var(--line);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px;padding:5px 10px 8px;font-size:11px;font-weight:700;overflow:hidden}.game-chat-user-context-menu button{align-items:center;gap:7px;display:flex}.personal-image-heading,.personal-image-selection-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.personal-image-heading h3{margin:0 auto 0 0}.personal-image-upload-controls{gap:9px;min-width:0;display:grid}.personal-image-upload-controls .storage-meter{margin-bottom:2px}.personal-image-file-input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.personal-image-dropzone{border:1px dashed var(--line);color:var(--muted);text-align:center;cursor:pointer;border-radius:12px;padding:14px;transition:border-color .14s,background .14s}.personal-image-dropzone:hover,.personal-image-dropzone:focus-visible{border-color:var(--gold);background:#d88b351a;outline:none}.personal-image-selection-toolbar{justify-content:flex-end;min-height:32px;padding:3px 0}.personal-image-selection-toolbar>span{color:var(--muted);margin-right:auto;font-size:12px;font-weight:700}.personal-image-selection-actions{align-items:center;gap:6px;display:inline-flex}.personal-image-selection-toolbar .icon-button{width:30px;height:30px;padding:6px}.personal-image-multi-select{margin-left:auto}.personal-image-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;display:grid}.personal-image-card{border:1px solid var(--line);cursor:grab;background:#00000024;border-radius:8px;place-items:center;min-width:0;padding:5px;display:inline-grid;position:relative}.personal-image-grid.selection-mode .personal-image-card{cursor:pointer}.personal-image-selection-toolbar.with-heading{justify-content:space-between}.personal-image-selection-toolbar.with-heading h3{margin:0 auto 0 0}.friend-row-actions,.profile-headline{align-items:center;gap:8px;display:flex}.friend-row-actions{flex-wrap:wrap;justify-content:flex-end}.profile-public-field{border:1px solid var(--line);background:var(--card);border-radius:14px;gap:6px;padding:12px;display:grid}.profile-public-field span{color:var(--muted);font-size:12px}.profile-public-field p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.friend-profile-page{grid-template-columns:minmax(0,1fr)}.friend-profile-head{align-items:start}.profile-public-details{grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);gap:12px;min-width:0;display:grid}.friend-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.personal-image-card-pick{cursor:pointer}.personal-image-card:hover,.personal-image-card:focus-within{border-color:var(--gold);background:#d88b351c}.personal-image-card:active{cursor:grabbing}.personal-image-grid.selection-mode .personal-image-card:active{cursor:pointer}.personal-image-card-selected{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb, var(--gold) 32%, transparent);background:#d88b3533}.personal-image-card img{object-fit:contain;background:#00000038;border-radius:6px;width:36px;height:36px;display:block}.personal-image-pick,.personal-image-select-target{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:contents}.personal-image-load-more{justify-self:center}.personal-image-delete-modal{gap:14px;display:grid}.personal-image-dependencies{border:1px solid #dc50467a;border-radius:10px;max-height:min(320px,40vh);padding:10px;overflow:auto}.personal-image-dependencies ul{margin:8px 0 0;padding-left:20px}@media (width<=560px){.personal-image-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}}@media (prefers-reduced-motion:reduce){.game-left-column,.personal-image-dropzone{transition:none}}.art-card-image img{top:calc(50% + var(--art-image-y,0%));left:calc(50% + var(--art-image-x,0%));object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;transform:translate3d(-50%, -50%, 0) rotate(var(--art-image-rotation,0deg)) scale(var(--art-image-scale,1));transform-origin:50%;-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute}.art-card-image.has-image:before{content:"";z-index:1;background:linear-gradient(#0000000f,#00000094);position:absolute;inset:0}.art-card-image.has-image .status-pill{z-index:2}.form-success{color:#ecffd8;background:#23501257;border:1px solid #80b85bb8;border-radius:14px;margin:0;padding:10px 12px}.race-create-page{max-width:1440px;margin-inline:auto}.marketplace-hero{background:var(--panel);border:1px solid #d88b353d;border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:18px;padding:24px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 46px #00000038}.marketplace-hero:after{content:"";pointer-events:none;background:radial-gradient(at 72% 45%,#d88b3529,#0000 34%),radial-gradient(at 50% 112%,#b6102638,#0000 46%);position:absolute;inset:-20px}.marketplace-hero-copy,.marketplace-search-form{z-index:1;position:relative}.marketplace-hero h1{margin:0;font-size:clamp(34px,4vw,56px);line-height:.98}.marketplace-hero p{max-width:720px;color:var(--muted);font-size:16px;line-height:1.5}.marketplace-search-form{place-self:start stretch}.marketplace-search-input{border:1px solid var(--line);background:var(--field);border-radius:999px;align-items:center;gap:8px;padding:0 0 0 15px;display:flex}.marketplace-search-inline{box-shadow:0 16px 36px #00000038}.marketplace-search-input input{min-width:0;box-shadow:none;background:0 0;border:0;flex:1}.marketplace-search-button{border:1px solid var(--line);width:42px;min-width:42px;height:42px;color:var(--text);cursor:pointer;background:#0003;border-radius:999px;place-items:center;transition:background .14s,border-color .14s,transform .14s;display:inline-grid;box-shadow:inset 0 1px #ffffff0d}.marketplace-search-button:hover{border-color:var(--gold);background:#d88b3533}.marketplace-search-button:active{transform:translateY(2px)scale(.98)}.marketplace-search-button svg{width:18px;height:18px}.marketplace-results-shell{gap:16px;display:grid}.marketplace-results{-webkit-backdrop-filter:none;backdrop-filter:none;min-width:0;padding:16px;box-shadow:inset 0 0 0 1px #ffe9a90d}.marketplace-product-grid{grid-template-columns:repeat(4,minmax(210px,1fr));align-items:start;gap:16px}.marketplace-virtual-grid{min-width:0}.marketplace-virtual-batch{margin-bottom:16px}.marketplace-virtual-spacer{pointer-events:none;width:100%}.marketplace-product-grid .card-preview{contain:layout paint style;align-self:start}.marketplace-infinite-scroll-sentinel{min-height:72px;color:var(--gold);place-items:center;display:grid}.marketplace-infinite-scroll-sentinel svg{width:24px;height:24px}.marketplace-empty{justify-items:center;gap:8px;display:grid}.marketplace-empty strong{color:var(--text);font-size:22px}.marketplace-empty p{max-width:520px;margin:0 0 8px}.marketplace-filter-fab{z-index:65;color:#fff8dd;cursor:pointer;background:linear-gradient(135deg,#58291cf5,#191012f5);border:1px solid #d88b357a;border-radius:999px;align-items:center;gap:9px;padding:13px 17px;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 42px #00000061}.marketplace-filter-fab svg{width:18px;height:18px}.marketplace-filter-backdrop{z-index:1300;cursor:default;background:#0000007a;border:0;padding:0;position:fixed;inset:0}.marketplace-filter-drawer{z-index:1301;background:#121012f7;border-left:1px solid #d88b3557;flex-direction:column;width:min(420px,100vw - 24px);height:100vh;padding:18px;transition:transform .18s;display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(104%);box-shadow:-24px 0 56px #0000006b}.marketplace-filter-drawer.open{transform:translate(0)}.marketplace-filter-drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.marketplace-filter-drawer-head h2,.marketplace-filter-group h3{margin:0}.marketplace-filter-form{flex-direction:column;flex:1;min-height:0;margin-top:16px;display:flex}.marketplace-filter-scroll{flex:1;align-content:start;gap:14px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.marketplace-filter-group,.marketplace-category-list{gap:10px;display:grid}.marketplace-category{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;text-align:left;background:var(--card);cursor:pointer;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;padding:10px;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;display:flex}.marketplace-category:hover,.marketplace-category.active{border-color:var(--gold);background:#d88b3529;box-shadow:0 0 0 2px #d88b351a}.marketplace-price-filter{background:#00000024;border:1px solid #d88b3538;border-radius:18px;gap:12px;padding:12px;display:grid}.marketplace-price-filter-head{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.marketplace-price-filter-head strong{color:var(--text)}.marketplace-price-sliders{align-items:center;height:28px;display:grid;position:relative}.marketplace-price-sliders:before{content:"";background:linear-gradient(90deg, #ffffff21 0 var(--price-track-start,0%), #d88b35db var(--price-track-start,0%) var(--price-track-end,100%), #ffffff21 var(--price-track-end,100%) 100%);pointer-events:none;border-radius:999px;height:6px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.marketplace-price-sliders input[type=range]{appearance:none;width:100%;height:28px;box-shadow:none;pointer-events:none;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.marketplace-price-sliders input[type=range]::-webkit-slider-runnable-track{background:0 0;border-color:#0000}.marketplace-price-sliders input[type=range]::-moz-range-track{background:0 0;border-color:#0000}.marketplace-price-sliders input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--gold);pointer-events:auto;cursor:grab;border:2px solid #fff8dd;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 8px #00000057}.marketplace-price-sliders input[type=range]::-moz-range-thumb{background:var(--gold);pointer-events:auto;cursor:grab;border:2px solid #fff8dd;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 8px #00000057}.marketplace-price-sliders input[type=range]::-moz-range-track{background:0 0}.marketplace-price-inputs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.marketplace-filter-actions{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#121012db,#121012fc 28%);border-top:1px solid #d88b3542;flex:none;gap:8px;margin:12px -18px -18px;padding:12px 18px 18px;display:grid;position:relative}.marketplace-product-meta{align-items:center;margin-top:10px}.marketplace-product-author{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:13px;display:inline-flex}.race-create-hero{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px;display:grid}.race-create-hero h1{margin:4px 0 8px;font-size:clamp(32px,4vw,52px);line-height:1}.race-create-hero-mark,.race-module-type-icon{border:1px solid var(--gold);color:var(--vellum);background:linear-gradient(145deg, var(--wine), var(--wine-dark));place-items:center;display:grid}.race-create-hero-mark{border-radius:18px;width:54px;height:54px}.race-create-layout{grid-template-columns:250px minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.race-module-type-card{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.race-module-type-icon{border-radius:14px;width:38px;height:38px}.module-default-icon{-webkit-mask:var(--module-default-icon) center / contain no-repeat;-webkit-mask:var(--module-default-icon) center / contain no-repeat;mask:var(--module-default-icon) center / contain no-repeat;background:currentColor;flex:none;display:block;-webkit-mask-source-type:alpha;mask-mode:alpha}.module-create-default-icon{width:22px;height:22px}.race-create-steps a{border-radius:999px;justify-content:space-between;align-items:center;padding:9px 11px;font-size:13px;display:flex}.race-create-center{gap:16px;min-width:0;display:grid}.race-create-section,.race-create-preview,.npc-create-preview{padding:18px}.race-form-grid{gap:12px;display:grid}.race-form-grid.two-columns{grid-template-columns:minmax(0,1fr) minmax(220px,.6fr)}.race-form-grid.three-columns{grid-template-columns:repeat(3,minmax(180px,1fr))}.race-create-description{grid-column:1/-1}.race-image-drop{text-align:center;cursor:pointer;background:radial-gradient(circle at 32% 26%,#ffe9a942,#0000 18%),radial-gradient(circle at 72% 62%,#72222a7a,#0000 24%),linear-gradient(135deg,#2a4760,#111b2d 48%,#72222a);border:1px dashed #d88b358c;border-radius:24px;place-items:center;min-height:230px;padding:18px;display:grid;position:relative;overflow:hidden}.race-image-drop:before{content:"";opacity:.7;border:2px dashed #ffe9a96b;border-radius:48% 52% 56% 44%;position:absolute;inset:18px;transform:rotate(-8deg)}.race-image-drop img,.race-preview-image img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.race-image-drop-content{z-index:1;color:#fff6d2;text-shadow:0 2px 12px #00000073;justify-items:center;gap:8px;display:grid;position:relative}.race-image-drop-content svg{width:38px;height:38px}.race-image-drop-content strong,.race-image-drop-content span{display:block}.race-image-drop-content span{opacity:.86;font-size:13px}.race-score-grid{grid-template-columns:repeat(4,minmax(126px,1fr));gap:10px;margin-top:16px;display:grid}.race-score-card{text-align:center;background:#00000029;border:1px solid #d88b354d;border-radius:18px;min-width:0;padding:10px}.race-score-card strong{color:var(--muted);text-transform:uppercase;font-size:12px;display:block}.race-score-value{margin:5px 0;font-size:26px;font-weight:700}.race-score-controls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.race-score-controls .icon-button{width:34px;min-width:34px;height:34px;min-height:34px;margin-inline:auto}.race-feature-card{background:#00000024;border:1px solid #d88b3542;border-radius:18px;padding:12px}.race-feature-head{grid-template-columns:minmax(0,1fr) minmax(160px,.45fr) auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.class-feature-head{grid-template-columns:minmax(0,1fr) minmax(96px,.22fr) minmax(0,1fr) auto}.race-preview-card{background:var(--card);border:1px solid #d88b3557;border-radius:24px;overflow:hidden}.race-preview-image{color:#fff6d2;background:radial-gradient(circle at 32% 26%,#ffe9a942,#0000 18%),radial-gradient(circle at 72% 62%,#72222a7a,#0000 24%),linear-gradient(135deg,#2a4760,#111b2d 48%,#72222a);place-items:center;height:180px;display:grid;position:relative;overflow:hidden}.race-preview-image:after{content:"";background:linear-gradient(#0000 44%,#0000008a);position:absolute;inset:0}.race-preview-body{gap:10px;padding:14px;display:grid}.race-preview-body h2,.race-preview-body p{margin:0}.race-preview-body p{color:var(--muted);font-size:13px;line-height:1.35}.race-preview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.race-preview-stats div{border:1px solid var(--line);text-align:center;background:#00000024;border-radius:14px;padding:8px}.race-preview-stats strong,.race-preview-stats span{display:block}.race-preview-stats strong{color:var(--muted);font-size:12px}.race-preview-stats span{margin-top:2px;font-size:18px;font-weight:700}.race-check-list{gap:8px;margin-top:8px;padding-inline:8px;display:grid}.personal-image-card-size{z-index:12;border:1px solid var(--line);background:color-mix(in srgb, var(--card) 92%, transparent);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:5px 8px;font-size:10px;transition:opacity .12s,transform .12s;position:absolute;bottom:3px;left:50%;transform:translate(-50%,4px)}.personal-image-card:hover .personal-image-card-size,.personal-image-card:focus-visible .personal-image-card-size{opacity:1;transform:translate(-50%)}.race-check-item{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.race-check-item svg{border:1px solid var(--line);color:#0000;border-radius:50%;width:18px;height:18px;padding:3px}.race-check-item.ok svg{color:#ecffd8;border-color:var(--good);background:#80b85b38}.race-preview-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.race-preview-actions>.bundle-module-return-control{grid-area:1/1/auto/-1}.bundle-module-return-control,.bundle-module-return-control>.ui-button{width:100%}@media (width<=1240px){.marketplace-product-grid{grid-template-columns:repeat(3,minmax(210px,1fr))}.race-create-layout{grid-template-columns:220px minmax(0,1fr)}.race-create-preview{grid-column:1/-1;position:relative;top:auto}}@media (width<=980px){.marketplace-hero-grid,.marketplace-layout,.race-create-layout,.race-create-hero{grid-template-columns:1fr}.marketplace-sidebar,.race-create-sidebar{position:relative;top:auto}.marketplace-hero{grid-template-columns:1fr}}@media (width<=760px){.marketplace-product-grid,.race-form-grid.two-columns,.race-form-grid.three-columns,.race-feature-head,.class-feature-head{grid-template-columns:1fr}.race-score-grid{grid-template-columns:repeat(2,minmax(126px,1fr))}}@media (width<=520px){.race-score-grid,.race-preview-stats,.race-preview-actions{grid-template-columns:1fr}}.race-image-editor-grid{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:14px;display:grid}.race-image-frame{aspect-ratio:16/9;box-sizing:border-box;text-align:center;cursor:pointer;touch-action:none;background:radial-gradient(circle at 32% 26%,#ffe9a942,#0000 18%),radial-gradient(circle at 72% 62%,#72222a7a,#0000 24%),linear-gradient(135deg,#2a4760,#111b2d 48%,#72222a);border:1px dashed #d88b358c;border-radius:24px;place-items:center;width:100%;min-height:0;padding:18px;display:grid;position:relative;overflow:clip}.race-image-frame:before{content:"";opacity:.7;pointer-events:none;border:2px dashed #ffe9a96b;border-radius:48% 52% 56% 44%;position:absolute;inset:18px;transform:rotate(-8deg)}.race-image-frame.has-image:before{opacity:.2}.race-image-frame.dragging{border-color:var(--gold);box-shadow:0 0 0 3px #d88b3529}.race-image-frame img,.race-preview-image img{object-fit:contain;width:100%;height:100%;transform:translate3d(var(--race-preview-x,0), var(--race-preview-y,0), 0) rotate(var(--race-preview-rotation,0deg)) scale(var(--race-preview-scale,1));transform-origin:50%;-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;inset:0}.race-image-empty-button{z-index:1;color:#fff6d2;text-shadow:0 2px 12px #00000073;cursor:pointer;background:0 0;border:0;justify-items:center;gap:8px;display:grid;position:relative}.race-image-empty-button svg{width:38px;height:38px}.race-image-empty-button strong,.race-image-empty-button span{display:block}.race-image-empty-button span{opacity:.86;font-size:13px}.race-image-controls{background:#00000029;border:1px solid #d88b353d;border-radius:22px;align-content:start;gap:12px;padding:14px;display:grid}.race-image-controls h3{margin:0 0 4px}.range-field{color:var(--muted);gap:7px;font-size:12px;display:grid}.race-image-control-actions{grid-template-columns:1fr;gap:8px;display:grid}.hub-module-meta{align-items:center;margin-top:10px}.hub-module-updated{min-height:0;color:var(--muted);margin:10px 0 0;font-size:13px}.hub-module-actions{grid-template-columns:1fr;gap:8px;margin-top:12px;display:grid}.hub-module-actions form,.hub-module-actions .ui-button{width:100%}.hub-module-message{margin-bottom:14px}.race-module-page{max-width:1280px;margin-inline:auto}.race-module-hero{gap:18px;padding:22px;display:grid}.race-module-hero-actions{justify-content:flex-start;align-items:center;display:flex}.race-module-hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.68fr);align-items:start;gap:22px;display:grid}.race-module-hero-copy h1{margin:4px 0 8px;font-size:clamp(34px,5vw,64px);line-height:.95}.race-module-hero-copy{flex-direction:column;align-self:stretch;min-width:0;display:flex}.race-module-collapsible{background:#00000024;border:1px solid #d88b353d;border-radius:18px;max-width:760px;margin-top:12px;overflow:hidden}.race-module-collapsible summary{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;font-size:14px;font-weight:800;list-style:none;display:flex}.race-module-collapsible summary::-webkit-details-marker{display:none}.race-module-collapsible summary:after{content:"+";width:24px;height:24px;color:var(--gold);border:1px solid #d88b3547;border-radius:999px;place-items:center;font-size:16px;line-height:1;display:grid}.race-module-collapsible[open] summary:after{content:"−"}.race-module-collapsible-content{color:var(--muted);padding:0 13px 13px;font-size:16px;line-height:1.5}.race-module-collapsible-content p{margin:0}.race-module-meta-row{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:auto;padding-top:14px;display:flex}.race-module-preview-stack{align-content:start;gap:10px;width:100%;display:grid}.race-module-preview-stack:has(.race-module-cover-bonuses){gap:0}.race-module-preview-stack:has(.race-module-cover-bonuses) .race-module-cover{border-bottom:0;border-radius:24px 24px 0 0}.race-module-cover{aspect-ratio:16/9;color:#fff6d2;background:radial-gradient(circle at 32% 28%,#ffe9a942,#0000 19%),radial-gradient(circle at 72% 62%,#72222a80,#0000 24%),linear-gradient(135deg,#2f4a3c,#14251c 46%,#3a0b0d);border:1px solid #d88b3561;border-radius:24px;place-items:center;display:grid;position:relative;overflow:hidden}.race-module-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.module-view-default-placeholder{z-index:1;width:100%;height:100%;color:var(--vellum);place-items:center;display:grid;position:relative}.module-view-default-icon{filter:drop-shadow(0 10px 18px #0000006b);opacity:.9;width:clamp(74px,32%,132px);height:clamp(74px,32%,132px)}svg.module-view-default-icon{stroke-width:1.5px}.race-module-cover.has-image:after{content:"";background:linear-gradient(#0000000a,#00000061);position:absolute;inset:0}.card-preview-bonuses.race-module-cover-bonuses{background:linear-gradient(#2d1918f5,#140e11f5);border-radius:0 0 24px 24px;min-height:46px;padding:10px 14px}.race-module-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.race-module-main{gap:16px;min-width:0;display:grid}.race-module-section,.race-module-side{padding:18px}.race-module-side{gap:14px;display:grid}.race-module-side h2{margin:0}.race-module-author{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.module-view-preview-image{border:1px solid #d88b3561;border-radius:24px;width:100%}.module-view-preview-meta{background:#0000001f;border:1px solid #d88b353d;border-radius:14px;gap:8px;padding:9px 11px;display:grid}.race-module-cover-bonuses+.module-view-preview-meta{margin-top:8px}.race-module-preview-stack>.module-view-preview-meta:not(:last-child){margin-bottom:12px}:root[data-theme=light] .module-view-preview-meta{background:#fffdf1e6;border-color:#8b562438;box-shadow:inset 0 1px #ffffffb8}.module-view-preview-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.module-view-preview-meta .module-rating-placement{margin:0}.module-view-preview-meta .module-rating-toolbar{justify-content:flex-start}.race-module-facts,.race-module-bonus-grid{grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;margin-top:14px;display:grid}.race-module-facts div{background:#00000024;border:1px solid #d88b3547;border-radius:18px;padding:12px}.race-module-facts>div>strong,.race-module-facts>div>span{display:block}.race-module-facts strong{color:var(--muted);text-transform:uppercase;font-size:12px}.race-module-facts span{margin-top:4px;font-size:18px;font-weight:700}.race-module-feature-list{gap:10px;margin-top:14px;display:grid}.race-module-feature-card{background:#00000024;border:1px solid #d88b3542;border-radius:18px;padding:14px}.race-module-feature-card h3{margin:0;font-size:20px}.race-module-feature-card>div>span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.race-module-feature-card .feature-description{max-width:none;margin-top:10px}.race-module-feature-card .race-module-collapsible-content{font-size:14px;line-height:1.45}.campaign-view-map-content{grid-template-columns:256px minmax(0,1fr);align-items:start;gap:18px;padding-top:8px;display:grid}.campaign-view-map-preview-frame{background:#00000029;border:1px solid #d88b3552;border-radius:18px;width:256px;height:256px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.campaign-view-map-details{gap:14px;min-width:0;display:grid}.campaign-view-map-facts{grid-template-columns:repeat(3,minmax(120px,1fr));margin-top:0}.campaign-view-map-npcs-button{justify-self:start}.campaign-view-npc-modal-list{gap:9px;display:grid}.campaign-view-npc-modal-row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #d88b353d;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.campaign-view-npc-modal-row:hover,.campaign-view-npc-modal-row:focus-visible{border-color:var(--gold);background:#d88b351f;outline:none}.campaign-view-npc-modal-row>span:last-child{gap:3px;min-width:0;display:grid}.campaign-view-npc-modal-row strong,.campaign-view-npc-modal-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.campaign-view-npc-modal-row small{color:var(--muted)}.modal-card:has(.campaign-view-npc-sheet-modal){width:min(920px,100%)}.campaign-view-npc-sheet-modal{min-width:0}:root[data-theme=light] .campaign-view-map-preview-frame,:root[data-theme=light] .campaign-view-npc-modal-row{border-color:var(--light-border);background:var(--light-neutral-surface)}:root[data-theme=light] .campaign-view-npc-modal-row:hover,:root[data-theme=light] .campaign-view-npc-modal-row:focus-visible{border-color:var(--light-border-strong);background:var(--light-neutral-surface-hover)}@media (width<=980px){.race-image-editor-grid,.race-module-hero-grid,.race-module-layout{grid-template-columns:1fr}.race-module-side{position:relative;top:auto}}@media (width<=760px){.campaign-view-map-content{grid-template-columns:1fr}.campaign-view-map-preview-frame{justify-self:center;width:min(256px,100%)}.race-module-facts,.race-module-bonus-grid{grid-template-columns:1fr}.race-image-frame{min-height:210px}}.race-create-layout.no-sidebar{grid-template-columns:minmax(0,1fr) 360px}.race-create-layout.no-sidebar .race-create-preview{grid-column:auto}.card-preview{background:var(--card);border:1px solid #d88b3557;border-radius:24px;flex-direction:column;height:auto;min-height:0;transition:transform .16s,border-color .16s;display:flex;position:relative;overflow:hidden}.card-preview:hover{border-color:var(--gold);transform:translateY(-3px)}.card-preview-link-overlay{z-index:2;border-radius:inherit;position:absolute;inset:0}.card-preview-link-overlay:focus-visible{outline-offset:-5px;outline:3px solid #ffe9a9b8}.card-preview-image{aspect-ratio:16/9;color:#fff6d2;background:radial-gradient(circle at 28% 22%,#ffe9a92e,#0000 18%),radial-gradient(circle at 82% 68%,#72222a80,#0000 28%),linear-gradient(135deg,#1e293b,#241625 52%,#51212c);flex:none;place-items:center;width:100%;height:auto;display:grid;position:relative;overflow:hidden}.card-preview-image:after{content:"";pointer-events:none;background:linear-gradient(#05070e05,#05070e8c);position:absolute;inset:0}.card-preview-image img{object-fit:contain;width:100%;height:100%;transform:translate3d(var(--race-preview-x,0), var(--race-preview-y,0), 0) rotate(var(--race-preview-rotation,0deg)) scale(var(--race-preview-scale,1));transform-origin:50%;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.card-preview-default-placeholder{z-index:1;width:100%;height:100%;color:var(--vellum);place-items:center;display:grid;position:relative}.card-preview-default-icon,.card-preview-lucide-icon{filter:drop-shadow(0 10px 18px #0000006b);opacity:.9;width:clamp(74px,32%,132px);height:clamp(74px,32%,132px)}.card-preview-lucide-icon{stroke-width:1.5px}.card-preview-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px;display:flex}.card-preview-main{gap:6px;display:grid}.card-preview-main h3{text-overflow:ellipsis;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.16em;max-height:2.16em;margin:0;font-size:21px;line-height:1.08;display:-webkit-box;overflow:hidden}.card-preview-description{color:var(--muted);text-overflow:ellipsis;white-space:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.card-preview.with-description .card-preview-footer{margin-top:auto}.card-preview-footer{flex:none;grid-template-rows:auto auto auto;align-content:start;gap:10px;margin-top:0;display:grid}.card-preview-tags{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;display:flex}.card-preview-price{width:100%;display:flex}.card-preview-price.module-price,.card-preview-price .module-price{border-color:var(--gold);width:100%;min-height:46px;color:var(--vellum);letter-spacing:.02em;background:linear-gradient(180deg, #8c372c, var(--wine) 48%, var(--wine-dark));border-radius:16px;padding:10px 12px;font-size:clamp(18px,2vw,23px);box-shadow:inset 0 2px #ffffff29,0 8px 20px #00000038}.card-preview-price .module-price-sale{border-color:var(--gold);background:linear-gradient(180deg, #8c372c, var(--wine) 48%, var(--wine-dark))}.card-preview-price .module-price-old,.card-preview-price .module-price-discount{font-size:13px}.card-preview-bonuses{color:#fff6d2;letter-spacing:.04em;text-align:center;background:#0000002e;border:1px solid #d88b3542;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:7px 10px;font-size:12px;font-weight:700;display:flex}.module-card-actions{align-self:start;justify-items:center;gap:8px;display:grid}.module-card-actions>.ui-button,.module-card-actions>form,.module-card-actions form .ui-button{z-index:3;width:100%;position:relative}.module-card-actions .ui-button{justify-content:center}.race-image-frame,.race-preview-image,.race-module-cover{background:radial-gradient(circle at 28% 22%,#ffe9a92e,#0000 18%),radial-gradient(circle at 82% 68%,#72222a80,#0000 28%),linear-gradient(135deg,#1e293b,#241625 52%,#51212c)}.race-image-frame img,.race-preview-image img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;transform:translate3d(calc(-50% + var(--race-preview-x,0px)), calc(-50% + var(--race-preview-y,0px)), 0) rotate(var(--race-preview-rotation,0deg)) scale(var(--race-preview-scale,1));inset:50% auto auto 50%}@media (width<=1240px){.race-create-layout.no-sidebar{grid-template-columns:minmax(0,1fr)}.race-create-layout.no-sidebar .race-create-preview{grid-column:auto;position:relative;top:auto}}.module-table-wrap{background:#0000001f;border:1px solid #d88b353d;border-radius:20px;width:100%;overflow-x:auto}.module-table{border-collapse:collapse;width:100%;min-width:720px}.module-table th,.module-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #d88b3529;padding:12px 14px}.module-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#0000002e;font-size:12px;font-weight:700}.module-table tbody tr:last-child td{border-bottom:0}.module-table tbody tr:hover{background:#d88b3514}.module-table-name{min-width:0;color:var(--text);align-items:center;gap:10px;display:flex}.module-table-name>span:last-child{gap:2px;min-width:0;display:grid}.module-table-name strong,.module-table-name small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.module-table-name small{color:var(--muted);font-size:12px}.module-table-thumb{aspect-ratio:16/9;color:#fff6d2;background:radial-gradient(circle at 28% 22%,#ffe9a92e,#0000 18%),radial-gradient(circle at 82% 68%,#72222a80,#0000 28%),linear-gradient(135deg,#1e293b,#241625 52%,#51212c);border:1px solid #d88b3547;border-radius:10px;flex:none;place-items:center;width:64px;display:grid;position:relative;overflow:hidden}.module-table-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.module-table-thumb svg{width:18px;height:18px}.module-table-status-stack{justify-items:start;gap:5px;display:grid}.module-table .pill.bundle-child{border-color:color-mix(in srgb, var(--gold) 36%, transparent);background:color-mix(in srgb, var(--gold) 10%, var(--panel));color:var(--text)}.module-table-parent-link{max-width:220px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;text-decoration:none;overflow:hidden}.module-table-parent-link:hover,.module-table-parent-link:focus-visible{color:var(--gold);text-decoration:underline}.module-table-actions{justify-content:flex-end;gap:6px;display:flex}.module-table-actions form{margin:0}.module-table-actions .icon-button{width:36px;min-width:36px;height:36px;min-height:36px}.product-card-action-form,.product-card-action-form .ui-button{width:100%}.hub-module-state-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.hub-module-state-card{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#faf9d90e;border:1px solid #faf9d929;border-radius:18px;align-items:center;gap:12px;padding:14px;transition:border-color .14s,background .14s,box-shadow .14s,transform .14s;display:flex}.hub-module-state-card:hover,.hub-module-state-card.active{background:#faf9d91c;border-color:#faf9d957;transform:translateY(-1px);box-shadow:0 0 0 2px #faf9d90f}.hub-module-state-card svg{width:24px;height:24px;color:var(--text);flex:none}.hub-module-state-card span{gap:3px;display:grid}.hub-module-state-card small{color:var(--muted)}.hub-module-marketplace-link{background:radial-gradient(circle at 10% 0,#d88b3524,#0000 28%),#0000001f;border:1px solid #d88b3538;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.hub-module-marketplace-link h3{margin:0 0 6px}.marketplace-cart-hero{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px;display:grid}.marketplace-cart-hero-simple{grid-template-columns:1fr;place-items:start;gap:12px}.marketplace-cart-hero h1{margin:0;font-size:clamp(30px,4vw,48px)}.marketplace-cart-back{width:max-content}.marketplace-cart-mark{width:48px;height:48px;color:var(--gold);opacity:.78}.marketplace-cart-panel{padding:16px}.marketplace-cart-total{color:var(--gold);font-size:18px}.marketplace-cart-table{min-width:620px}.marketplace-cart-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.marketplace-checkout-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.marketplace-checkout-summary>span{color:var(--muted)}.marketplace-checkout-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.author-earnings-summary,.author-earnings-history{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.author-earnings-history{grid-template-columns:repeat(2,minmax(0,1fr))}.author-earning-stat{grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;display:grid}.author-earning-stat>svg{width:32px;height:32px;color:var(--gold);grid-row:span 2}.author-earning-stat>span{color:var(--muted)}.author-earning-stat>strong{font-size:clamp(20px,2.5vw,30px)}.author-withdraw-panel,.author-withdraw-form,.author-earnings-history .panel-content{gap:14px;display:grid}.author-withdraw-form{grid-template-columns:minmax(180px,1fr) auto;align-items:end}.author-withdraw-form label{gap:7px;display:grid}.author-history-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.author-history-row:last-child{border-bottom:0}.author-history-row>div{gap:3px;display:grid}.author-history-row small{color:var(--muted)}.yookassa-payout-widget{min-height:360px}@media (width<=760px){.hub-module-state-grid,.marketplace-cart-hero,.author-earnings-summary,.author-earnings-history,.author-withdraw-form{grid-template-columns:1fr}.author-history-row{grid-template-columns:1fr auto}.author-history-row>div:nth-child(2){grid-column:1/-1}.hub-module-marketplace-link{flex-direction:column;align-items:stretch}}.error-page-shell{min-height:100vh}.error-page{z-index:1;place-items:center;min-height:100vh;padding:clamp(18px,4vw,42px);display:grid;position:relative}.error-page-card{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(18px,4vw,42px);width:min(1120px,100%);padding:clamp(18px,4vw,42px);display:grid;overflow:hidden}.error-page-art{align-self:stretch;min-height:min(70vh,640px);position:relative}.error-page-art-image{background-image:var(--error-page-art);filter:drop-shadow(0 36px 56px #0000008c);background-position:bottom;background-repeat:no-repeat;background-size:contain;position:absolute;inset:0}.error-page-copy{justify-items:start;gap:14px;display:grid}.error-page-back{margin-bottom:10px}.error-page-copy h1{margin:0;font-size:clamp(38px,7vw,88px);line-height:.95}.error-page-description{max-width:620px;color:var(--muted);margin:0;font-size:clamp(16px,1.8vw,20px);line-height:1.55}.error-page-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}@media (width<=820px){.error-page-card{grid-template-columns:1fr}.error-page-art{min-height:min(58vh,520px)}}@media (width<=560px){.error-page{padding:12px}.error-page-card{border-radius:24px;padding:14px}.error-page-art{min-height:360px}.error-page-actions,.error-page-actions .ui-button{width:100%}}.race-form-grid.four-columns{grid-template-columns:repeat(4,minmax(120px,1fr))}.module-simple-image-field{grid-template-columns:minmax(0,1fr) minmax(240px,.45fr);align-items:stretch;gap:16px;display:grid}.module-simple-image-field .race-image-frame{width:100%;min-height:0}@media (width<=820px){.race-form-grid.four-columns,.module-simple-image-field{grid-template-columns:1fr}}.module-create-choice-page{max-width:1120px;margin-inline:auto}.module-create-choice-panel{padding:18px}.module-create-choice-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px;display:grid}.module-create-choice-card{background:var(--card);border:1px solid #d88b354d;border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:16px;transition:transform .16s,border-color .16s,background .16s;display:grid}.module-create-choice-card.full-width{grid-column:1/-1}.module-create-choice-card[data-module-type=race]{grid-area:1/1}.module-create-choice-card[data-module-type=subrace]{grid-area:2/1}.module-create-choice-card[data-module-type=class]{grid-area:1/2}.module-create-choice-card[data-module-type=subclass]{grid-area:2/2}.module-create-choice-card:hover{border-color:var(--gold);background:#d88b351f;transform:translateY(-3px)}.module-create-choice-card strong,.module-create-choice-card small{display:block}.module-create-choice-card strong{margin-bottom:4px;font-size:18px}.module-create-choice-card small{color:var(--muted);line-height:1.4}@media (width<=720px){.module-create-choice-grid{grid-template-columns:1fr}.module-create-choice-card[data-module-type=race],.module-create-choice-card[data-module-type=subrace],.module-create-choice-card[data-module-type=class],.module-create-choice-card[data-module-type=subclass]{grid-area:auto}}.npc-create-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px) minmax(260px,320px);align-items:start;gap:18px;display:grid}.npc-create-main{gap:18px;min-width:0;display:grid}.npc-create-preview,.module-dependency-panel{position:sticky;top:86px}.npc-token-editor-grid{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:18px;display:grid}.npc-token-frame{aspect-ratio:1;cursor:grab;background:radial-gradient(circle at 50% 42%,#d88b352e,#0000 58%),linear-gradient(135deg,#2e1f25f2,#110e16f2);border:6px solid #d88b35db;border-radius:50%;place-items:center;width:min(320px,100%);display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000047,inset 0 0 0 2px #ffeec82e}.npc-token-frame.dragging{cursor:grabbing}.npc-token-frame img{object-fit:cover;width:100%;height:100%;transform:translate(calc(-50% + var(--race-preview-x,0px)), calc(-50% + var(--race-preview-y,0px))) rotate(var(--race-preview-rotation,0deg)) scale(var(--race-preview-scale,1));transform-origin:50%;-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;top:50%;left:50%}.npc-token-empty-button{width:100%;height:100%;color:var(--text);cursor:pointer;text-align:center;background:0 0;border:0;border-radius:50%;place-items:center;gap:8px;padding:28px;display:grid}.npc-token-empty-button svg{width:42px;height:42px;color:var(--gold)}.npc-token-empty-button span{color:var(--muted);font-size:13px;line-height:1.35}.npc-token-controls,.module-dependency-panel,.module-import-modal-body{gap:14px;display:grid}.npc-module-token{aspect-ratio:1;background:#d88b351f;border:6px solid #d88b35e0;border-radius:50%;place-items:center;width:min(220px,76vw);margin-inline:auto;display:grid;overflow:hidden;box-shadow:0 20px 44px #00000047,inset 0 0 0 2px #ffeec829}.npc-module-preview-stack{background:#d88b350f;border:1px solid #d88b356b;border-radius:26px;padding:16px;box-shadow:inset 0 1px #ffffff0d;gap:14px!important}.npc-module-preview-stack .race-module-cover-bonuses{border-radius:16px}.npc-module-token img{object-fit:cover;width:100%;height:100%}.npc-module-token .module-view-default-icon{width:64px;height:64px}.npc-module-token svg{width:64px;height:64px;color:var(--gold)}.npc-import-drop-zone{background:#d88b3514;border:1px dashed #d88b3585;border-radius:22px;align-content:center;gap:14px;min-height:124px;padding:18px;transition:border-color .16s,background .16s,transform .16s;display:grid}.npc-import-drop-zone:hover,.npc-import-drop-zone:focus-within{border-color:var(--gold);background:#d88b3524;transform:translateY(-1px)}.npc-dependency-list{flex-wrap:wrap;gap:10px;display:flex}.npc-dependency-chip{background:#2c151ebd;border:1px solid #d88b355c;border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:8px 10px 8px 12px;display:inline-flex}.npc-dependency-chip.compact{padding:6px 10px;font-size:13px}.npc-dependency-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.npc-dependency-chip button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px;line-height:1}.npc-dependency-chip button:hover{color:var(--danger)}.module-dependency-panel{max-height:calc(100vh - 112px);overflow:hidden}.module-dependency-list{overscroll-behavior:contain;grid-auto-rows:78px;align-content:start;gap:10px;padding-right:4px;display:grid;overflow:auto}.module-dependency-card{background:var(--card);width:100%;height:78px;min-height:78px;max-height:78px;color:inherit;text-align:left;cursor:grab;border:1px solid #d88b353d;border-radius:18px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.module-dependency-card:hover{background:#d88b351a;border-color:#d88b3594}.module-dependency-card:active{cursor:grabbing}.module-dependency-thumb{aspect-ratio:1;width:54px;color:var(--gold);background:#d88b3524;border-radius:16px;place-items:center;display:grid;overflow:hidden}.module-dependency-thumb img{object-fit:cover;width:100%;height:100%}.module-dependency-card strong,.module-dependency-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.module-dependency-card small{color:var(--muted);font-size:12px}.module-dependency-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.module-dependency-meta span{color:var(--muted);background:#ffffff0f;border-radius:999px;padding:3px 8px;font-size:11px}.module-import-step-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.module-import-step-list li{color:var(--muted);align-items:center;gap:8px;display:flex}.module-import-step-list li.done{color:var(--success)}.module-import-step-list svg{width:16px;height:16px}.module-import-progress{gap:6px;display:grid}.module-import-progress input[type=range]{width:100%}.npc-detail-list{gap:12px;display:grid}.npc-detail-card{background:#ffffff0a;border:1px solid #d88b3538;border-radius:18px;padding:14px}.npc-detail-card h3{margin:0 0 8px}.npc-detail-card p{color:var(--muted);margin:0;line-height:1.5}.npc-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.npc-stat-card{background:#ffffff0a;border:1px solid #d88b3538;border-radius:16px;padding:12px}.npc-stat-card span,.npc-stat-card strong{display:block}.npc-stat-card span{color:var(--muted);font-size:12px}.npc-stat-card strong{font-size:24px}@media (width<=1180px){.npc-create-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.module-dependency-panel{grid-column:1/-1;max-height:none;position:static}}@media (width<=860px){.npc-create-layout,.npc-token-editor-grid,.npc-stats-grid{grid-template-columns:1fr}.npc-create-preview{position:static}}.module-dependency-panel-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.module-dependency-panel-head svg{color:var(--gold)}.module-dependency-panel-head h2{margin:0 0 4px}.module-dependency-search{background:#ffffff0a;border:1px solid #d88b3538;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;display:grid}.module-dependency-search svg{width:16px;height:16px;color:var(--muted)}.module-dependency-search input{color:var(--text);background:0 0;border:0;outline:none}.module-dependency-card-copy{min-width:0;overflow:hidden}.module-dependency-card>svg{width:16px;height:16px;color:var(--muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.module-dependency-card{padding-right:32px;position:relative}.module-dependency-card em{color:var(--gold);margin-top:6px;font-size:12px;font-style:normal;display:block}.module-import-step-list>div{color:var(--muted);align-items:center;gap:8px;display:flex}.module-import-step-list>div.done{color:var(--success)}.module-import-step-list>div svg,.module-import-step-list>div span{flex:none;width:18px;height:18px}.module-import-step-list>div span{background:#ffffff14;border-radius:50%;place-items:center;font-size:11px;display:inline-grid}.npc-create-main{position:relative}.npc-create-main.drag-over{outline-offset:6px;border-radius:24px;outline:2px dashed #d88b35b8}.npc-main-drop-overlay{z-index:6;color:var(--vellum);text-align:center;pointer-events:none;background:linear-gradient(#3a180cf0,#2c0f12f0);border:1px solid #d88b359e;border-radius:20px;gap:4px;margin-bottom:-74px;padding:16px 18px;display:grid;position:sticky;top:92px;box-shadow:0 18px 42px #0000006b,inset 0 0 0 1px #ffeec81f}.npc-main-drop-overlay strong{font-size:16px}.npc-main-drop-overlay span{color:var(--muted);font-size:13px}.npc-dependencies-section{border-style:dashed}.module-dependency-card{grid-template-columns:54px minmax(0,1fr) auto}.card-preview-image.token{aspect-ratio:1;background:radial-gradient(circle at 35% 22%, #fff2c957, transparent 22%), linear-gradient(145deg, #2f241f, var(--gold) 38%, var(--wine) 66%, #140b09);border:6px solid #d88b35e0;border-radius:50%;width:min(54%,170px);margin:10px auto 0;box-shadow:inset 0 0 0 2px #fff2c940,0 16px 34px #00000057}.card-preview-image.token:after{background:radial-gradient(circle at 50% 35%,#0000 58%,#00000047);border-radius:50%;box-shadow:inset 0 0 0 7px #2f241fb8}.card-preview-image.token img{object-fit:cover;width:100%;max-width:none;height:100%;max-height:none;transform:translate3d(calc(-50% + var(--race-preview-x,0px)), calc(-50% + var(--race-preview-y,0px)), 0) rotate(var(--race-preview-rotation,0deg)) scale(var(--race-preview-scale,1));border-radius:50%;inset:50% auto auto 50%}.card-preview-image.token .card-preview-default-icon{opacity:.94;width:76%;max-width:none;height:76%;max-height:none}.card-preview-image.token .card-preview-lucide-icon{color:currentColor;stroke:currentColor;stroke-width:1.55px;opacity:.94;width:76%;max-width:none;height:76%;max-height:none}.npc-create-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}.npc-create-left-scroll{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-content:start;align-items:start;gap:18px;min-width:0;display:grid;position:relative}.npc-create-layout .module-dependency-panel{position:static;top:auto}.npc-create-left-scroll>.npc-main-drop-overlay{grid-column:1/-1}.npc-create-left-scroll>.npc-create-preview{align-self:start;position:sticky;top:0}.npc-create-left-scroll.drag-over{outline-offset:6px;border-radius:24px;outline:2px dashed #d88b35b8}.module-dependency-panel{grid-template-rows:auto auto auto minmax(0,1fr);align-self:stretch;max-height:calc(100vh - 190px);display:grid}.module-dependency-list{min-height:0}.module-dependency-imported{background:#d88b3514;border:1px solid #d88b3547;border-radius:18px;overflow:hidden}.module-dependency-imported summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.module-dependency-imported summary::-webkit-details-marker{display:none}.module-dependency-imported summary:after{content:"⌄";color:var(--gold);font-weight:800;transition:transform .16s}.module-dependency-imported[open] summary:after{transform:rotate(180deg)}.module-dependency-imported summary strong,.module-dependency-imported summary small{display:block}.module-dependency-imported summary small{color:var(--muted);margin-top:2px;font-size:12px}.module-dependency-imported .npc-dependency-list,.module-dependency-imported .empty-state{margin:0 12px 12px}.npc-dependency-chip.compact{gap:7px}.npc-dependency-chip.compact small{color:var(--muted);font-size:11px}.module-import-category-list{gap:8px;display:grid}.module-import-category-list>div{background:#ffffff0a;border:1px solid #d88b3538;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.module-import-category-list span{color:var(--muted);font-size:13px}.npc-view-details{margin:0}.npc-view-details>summary{font-size:19px}.npc-view-details-content{gap:14px;padding-top:12px;display:grid}@media (width<=1180px){.npc-create-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.npc-create-left-scroll{grid-template-columns:1fr}.npc-create-left-scroll>.npc-create-preview{position:static}.module-dependency-panel{grid-column:auto;max-height:calc(100vh - 190px)}}@media (width<=860px){.npc-create-layout{grid-template-columns:1fr;min-height:0}.npc-create-left-scroll,.module-dependency-panel{max-height:none;overflow:visible}}.campaign-module-editor-shell{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:18px;display:grid}.campaign-module-form-scroll,.campaign-module-library-scroll{max-height:calc(100vh - 190px);padding-right:4px;overflow:auto}.campaign-module-form-main{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:18px;display:grid}.campaign-module-fields-stack,.campaign-module-preview-column{gap:16px;display:grid}.campaign-module-image-field{align-items:center;gap:16px;display:flex}.campaign-module-cover-preview{aspect-ratio:16/9;width:180px;color:var(--muted);background:#0000003d;border:1px solid #ffe9a942;border-radius:18px;place-items:center;display:grid;overflow:hidden}.campaign-module-cover-preview img{object-fit:cover;width:100%;height:100%}.campaign-map-tabs,.campaign-map-actions,.campaign-layer-grid,.campaign-view-sprite-list{flex-wrap:wrap;gap:10px;display:flex}.campaign-map-editor-card{gap:16px;margin-top:16px;display:grid}.campaign-layer-card{background:#0000002e;border:1px solid #ffe9a92e;border-radius:14px;justify-content:space-between;gap:12px;min-width:140px;padding:12px;display:flex}.campaign-sprite-list,.campaign-view-map-list{gap:10px;display:grid}.campaign-sprite-row{background:#ffffff08;border:1px solid #ffe9a929;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(140px,180px) auto;align-items:end;gap:10px;padding:12px;display:grid}@media (width<=1100px){.campaign-module-editor-shell,.campaign-module-form-main{grid-template-columns:1fr}.campaign-module-form-scroll,.campaign-module-library-scroll{max-height:none}}@media (width<=700px){.campaign-sprite-row,.campaign-module-image-field{grid-template-columns:1fr;display:grid}}.campaign-module-form-page.canvas-mode{grid-template-rows:auto minmax(680px,1fr);gap:14px;min-height:calc(100vh - 84px);display:grid}.campaign-module-canvas-hero{margin-bottom:0}.campaign-module-canvas-form{background:radial-gradient(circle at 50% 20%,#f5b84b14,#0000 34%),#080504d1;border:1px solid #ffe9a929;border-radius:24px;height:calc(100vh - 190px);min-height:680px;position:relative;overflow:hidden}.campaign-module-canvas-meta,.campaign-module-canvas-savebar,.campaign-module-canvas-card-preview{z-index:6;position:absolute}.campaign-module-canvas-meta{top:14px;left:14px;right:430px}.campaign-module-canvas-meta-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#160a06d1;padding:12px}.campaign-module-meta-grid{grid-template-columns:minmax(180px,1.2fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(140px,.7fr) minmax(140px,.7fr);align-items:end;gap:10px;display:grid}.campaign-module-description-field{grid-column:1/-1}.campaign-module-description-field textarea{min-height:64px}.campaign-module-cover-tools{align-items:center;gap:12px;margin-top:10px;display:flex}.campaign-module-cover-tools .campaign-module-cover-preview{border-radius:14px;width:130px}.campaign-module-cover-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.campaign-module-board-editor{isolation:isolate;position:absolute;inset:0}.campaign-module-board-stage{position:absolute;inset:0}.campaign-module-board-stage .game-map{background:radial-gradient(circle at 30% 20%,#f5b84b1a,#0000 34%),linear-gradient(135deg,#140a06fa,#070505f5)}.campaign-module-board-topbar,.campaign-module-board-layer-box,.campaign-module-board-toolbar,.campaign-module-board-inspector{z-index:5;position:absolute}.campaign-module-board-topbar{max-width:min(760px,100% - 470px);bottom:86px;left:18px}.campaign-module-map-tabs{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0604c7;border:1px solid #ffe9a929;border-radius:18px;padding:8px}.campaign-module-board-layer-box{top:50%;left:18px;transform:translateY(-50%)}.campaign-module-board-layer-box .game-layer-selector{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0604c7;border-radius:18px;flex-direction:column;align-items:stretch;padding:7px}.campaign-module-board-toolbar{flex-wrap:wrap;gap:8px;max-width:min(760px,100% - 470px);display:flex;bottom:18px;left:18px}.campaign-module-board-toolbar .game-board-control.danger{color:#ffd2d2;background:#681624a8;border-color:#9c37478c}.campaign-module-board-inspector{pointer-events:none;grid-template-rows:auto minmax(0,1fr);gap:12px;width:390px;display:grid;top:14px;bottom:86px;right:14px}.campaign-module-board-panel{pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#160a06d6;padding:12px}.campaign-module-board-panel .section-heading{margin-bottom:10px}.race-form-grid.compact{gap:8px}.campaign-module-token-editor{border-top:1px solid #ffe9a924;gap:9px;margin-top:12px;padding-top:12px;display:grid}.campaign-module-npc-palette{min-height:0;overflow:auto}.module-import-library-list.compact{max-height:none}.campaign-module-side-scroll .module-import-library-list.compact{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;display:grid}.campaign-module-side-scroll .module-import-library-card{min-width:0;min-height:104px;color:var(--text);text-align:center;cursor:grab;background:#ffffff0b;border:1px solid #ffe9a924;border-radius:14px;grid-template-rows:54px minmax(0,1fr);align-items:start;gap:6px;padding:7px;transition:transform .16s,border-color .16s,background .16s;display:grid;position:relative}.campaign-module-side-scroll .module-import-library-card:hover:not(:disabled){background:#ffffff13;border-color:#ffe9a952;transform:translateY(-1px)}.campaign-module-side-scroll .module-import-library-card:active:not(:disabled){cursor:grabbing}.campaign-module-side-scroll .module-import-library-card:disabled{cursor:not-allowed;opacity:.58}.campaign-module-side-scroll .module-import-library-thumb{width:54px;height:54px;color:var(--gold);background:radial-gradient(circle at 50% 38%,#ffe9a924,#0000 62%),#00000047;border:1px solid #ffe9a938;border-radius:50%;justify-self:center;place-items:center;display:grid;overflow:hidden}.campaign-module-side-scroll .module-import-library-thumb img{object-fit:cover;width:100%;height:100%;display:block}.campaign-module-side-scroll .module-import-library-card>span:nth-child(2){gap:2px;min-width:0;display:grid}.campaign-module-side-scroll .module-import-library-card strong,.campaign-module-side-scroll .module-import-library-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.campaign-module-side-scroll .module-import-library-card strong{font-size:11px;line-height:1.15}.campaign-module-side-scroll .module-import-library-card small{color:var(--muted);font-size:9px}.campaign-module-side-scroll .module-import-library-card>svg{color:var(--gold);background:#0000007a;border-radius:999px;padding:2px;position:absolute;top:6px;right:6px}.campaign-module-canvas-card-preview{pointer-events:none;width:250px;bottom:18px;right:18px}.campaign-module-canvas-card-preview .race-card-preview{transform-origin:100% 100%;transform:scale(.82)}.campaign-module-canvas-savebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0604d1;border:1px solid #ffe9a929;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex;bottom:18px;left:280px;right:284px}.campaign-module-save-status{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.campaign-module-canvas-savebar .race-preview-actions{margin-top:0}@media (width<=1280px){.campaign-module-canvas-meta{right:14px}.campaign-module-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-module-board-inspector{width:330px}.campaign-module-board-topbar,.campaign-module-board-toolbar{max-width:calc(100% - 390px)}.campaign-module-canvas-savebar{left:18px;right:284px}}@media (width<=980px){.campaign-module-canvas-form{height:auto;min-height:1050px}.campaign-module-canvas-meta,.campaign-module-board-inspector,.campaign-module-board-topbar,.campaign-module-board-toolbar,.campaign-module-canvas-savebar,.campaign-module-canvas-card-preview{width:auto;max-width:none;position:relative;inset:auto;transform:none}.campaign-module-board-editor{gap:12px;padding:12px;display:grid;position:relative}.campaign-module-board-stage{border-radius:18px;min-height:520px;position:relative;overflow:hidden}.campaign-module-board-layer-box{transform:none}.campaign-module-board-layer-box .game-layer-selector{flex-flow:wrap}.campaign-module-board-inspector{grid-template-rows:auto auto}.campaign-module-canvas-meta,.campaign-module-canvas-savebar,.campaign-module-canvas-card-preview{margin:12px}.campaign-module-canvas-card-preview{pointer-events:auto}.campaign-module-canvas-card-preview .race-card-preview{transform:none}.campaign-module-canvas-savebar{flex-direction:column;align-items:stretch}}@media (width<=700px){.campaign-module-meta-grid{grid-template-columns:1fr}.campaign-module-cover-tools{flex-direction:column;align-items:stretch}}.campaign-module-editor-page{z-index:1200;background:0 0;min-width:0;min-height:0;position:fixed;inset:0}.campaign-module-game-form{width:100%;height:100%}.campaign-module-workspace{grid-template-columns:minmax(0,1fr) minmax(330px,24vw)}.campaign-module-workspace.with-modules-panel{grid-template-columns:minmax(300px,18vw) minmax(0,1fr) minmax(330px,24vw)}.campaign-module-workspace.with-modules-panel:has(.game-left-column.collapsed){grid-template-columns:0 minmax(0,1fr) minmax(330px,24vw)}.campaign-module-board-layout{width:100%;height:100%;position:relative;overflow:hidden}.campaign-module-board-layout .game-map{background:0 0}.campaign-module-tool-rail{z-index:1}.campaign-module-layer-rail,.campaign-module-map-strip{z-index:6;pointer-events:auto;position:absolute}.campaign-module-layer-rail{top:50%;left:18px;transform:translateY(-50%)}.campaign-module-layer-rail .game-layer-selector{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0604c7;border:1px solid #ffe9a929;border-radius:18px;flex-direction:column;align-items:stretch;padding:7px}.campaign-module-map-strip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0604c7;border:1px solid #ffe9a929;border-radius:18px;align-items:center;gap:8px;padding:8px;display:flex;bottom:18px;left:18px;right:18px;overflow-x:auto}.campaign-module-map-strip .pill{white-space:nowrap}.campaign-module-side-panel{min-height:0}.campaign-module-side-scroll{flex-direction:column;gap:12px;display:flex}.campaign-module-session-bar .game-session-title span,.game-channel-context{color:var(--muted);font-size:10px}.campaign-module-session-bar .campaign-module-editor-status{align-items:center;gap:5px;margin-top:2px;line-height:1.2;display:inline-flex}.campaign-module-editor-status svg{border:1px solid var(--line);color:#0000;border-radius:50%;flex:none;width:15px;height:15px;padding:2px}.campaign-module-editor-status .spin{color:var(--gold);border:0;border-radius:0;padding:0}.campaign-module-editor-status.ok{color:var(--good)}.campaign-module-editor-status.ok svg{color:#ecffd8;border-color:var(--good);background:#80b85b38}.campaign-module-panel-stack{gap:12px;display:grid}.campaign-module-panel-stack textarea{resize:vertical;min-height:96px}.campaign-module-publication-panel,.campaign-module-publication-panel>*,.campaign-module-publication-panel .field,.campaign-module-publication-panel .app-select,.campaign-module-publication-panel .markdown-editor,.campaign-module-publication-panel .campaign-module-preview-editor{min-width:0;max-width:100%}.campaign-module-publication-panel{gap:8px}.campaign-module-publication-panel .field{gap:4px;font-size:11px}.campaign-module-publication-panel .field input,.campaign-module-publication-panel .app-select-trigger{border-radius:10px;min-height:32px;padding:6px 8px;font-size:11px}.campaign-module-publication-panel .app-select-trigger{gap:6px}.campaign-module-publication-panel .module-price-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.campaign-module-publication-panel .markdown-editor-toolbar{gap:2px;min-height:34px;padding:3px 5px}.campaign-module-publication-panel .markdown-editor-toolbar button{border-radius:7px;width:28px;height:28px}.campaign-module-publication-panel .markdown-editor-content{min-height:72px;padding:8px;font-size:12px}.campaign-module-publication-panel .campaign-module-preview-editor{border-radius:12px;gap:7px;padding:7px}.campaign-module-publication-panel .campaign-module-preview-image-frame{border-radius:12px;min-height:124px}.campaign-module-publication-panel .campaign-module-preview-editor-controls{gap:5px}.campaign-module-publication-panel .campaign-module-preview-editor-controls>strong,.campaign-module-publication-panel .campaign-module-preview-editor .race-image-empty-button strong{font-size:11px}.campaign-module-publication-panel .campaign-module-preview-editor .race-image-empty-button{gap:5px}.campaign-module-publication-panel .campaign-module-preview-editor .race-image-empty-button svg{width:30px;height:30px}.campaign-module-publication-panel .campaign-module-preview-editor .race-image-empty-button span{font-size:10px}.campaign-module-publication-panel .campaign-module-cover-actions{gap:5px}.campaign-module-publication-panel .campaign-module-cover-actions .icon-button{width:30px;min-width:30px;height:30px;min-height:30px}.campaign-module-publication-panel .module-preview-ai-field{border-radius:10px;grid-template-columns:auto auto minmax(0,1fr);gap:7px;padding:7px 8px}.campaign-module-publication-panel .module-preview-ai-field input,.campaign-module-publication-panel .module-preview-ai-field>svg{width:15px;height:15px}.campaign-module-publication-panel .module-preview-ai-field strong,.campaign-module-publication-panel .module-preview-ai-field small,.campaign-module-publication-panel .race-check-item{font-size:10px}.campaign-module-publication-panel .campaign-module-save-status.vertical{gap:5px;padding-inline:4px}.campaign-module-publication-panel .race-check-item{gap:6px}.campaign-module-publication-panel .race-check-item svg{width:16px;height:16px;padding:2px}.campaign-module-cover-tools.panel-mode{background:#00000029;border:1px solid #ffe9a924;border-radius:16px;align-items:flex-start;padding:10px}.campaign-module-cover-tools.panel-mode .campaign-module-cover-preview{flex:none;width:112px}.campaign-module-save-status.vertical{flex-direction:column;align-items:stretch;padding-inline:8px}.campaign-module-map-list{gap:8px;display:grid}.campaign-module-map-list .game-list-card{text-align:left;cursor:pointer;width:100%}.campaign-module-quick-actions{flex-wrap:wrap;gap:8px;display:flex}.campaign-module-used-npcs{background:#00000029;border:1px solid #ffe9a924;border-radius:16px;gap:8px;margin-bottom:12px;padding:10px;display:grid}.campaign-module-used-npc-list{flex-wrap:wrap;gap:6px;display:flex}.campaign-module-used-npc-list span{color:var(--muted);background:#ffffff0a;border:1px solid #ffe9a929;border-radius:999px;padding:5px 8px;font-size:11px}.module-import-library-card.active{border-color:#80b85b9e;box-shadow:inset 3px 0 #80b85bc2}.campaign-module-side-actions{border-top:1px solid var(--line);background:#0000002e;gap:8px;padding:10px;display:flex}.campaign-module-side-actions .ui-button{flex:1;justify-content:center}@media (width<=980px){.campaign-module-editor-page{min-height:100vh;position:relative}.campaign-module-workspace{grid-template-rows:minmax(620px,70vh) minmax(420px,auto);grid-template-columns:minmax(0,1fr)}.campaign-module-workspace.with-modules-panel:has(.game-left-column.collapsed){grid-template-columns:minmax(0,1fr)}.campaign-module-workspace.with-modules-panel .game-left-column{z-index:8;width:min(300px,100vw - 48px);height:100%;position:absolute;inset:0 auto 0 0}.campaign-module-side-column{border-left:0;border-top:1px solid var(--line)}}.campaign-module-right-maps-panel{grid-template-rows:minmax(0,1fr) auto;gap:10px;height:100%;min-height:0;display:grid}.campaign-module-right-maps-panel .game-left-panel{border:1px solid var(--line);background:#0000002e;border-radius:18px;min-height:0;overflow:hidden}.campaign-module-right-maps-panel .game-left-scroll{padding:10px}.campaign-module-remove-map{justify-self:end}.campaign-module-scenes-section{margin-bottom:10px}.campaign-module-side-scroll .personal-image-library{padding-bottom:8px}.campaign-module-npc-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.campaign-module-npc-card{min-width:0;color:var(--text);cursor:grab;background:#faf9d90a;border:1px solid #d88b353d;border-radius:12px;place-items:center;gap:5px;padding:7px 5px;display:grid}.campaign-module-npc-card:hover:not(:disabled),.campaign-module-npc-card.active{border-color:var(--gold);background:#d88b351f}.campaign-module-npc-card:disabled{cursor:default;opacity:.62}.campaign-module-npc-thumb{background:#0000003d;border:1px solid #ffe9a947;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.campaign-module-npc-thumb img{object-fit:cover;width:100%;height:100%;display:block}.campaign-module-npc-card strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;line-height:1.1;overflow:hidden}@media (width<=1180px){.campaign-module-npc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.campaign-module-board-layout .game-map:after{display:none}.campaign-module-board-saving-overlay{z-index:5;color:var(--vellum);pointer-events:none;background:0 0;align-content:center;place-items:center;gap:10px;display:grid;position:absolute;inset:0}.campaign-module-layer-selector-card{background:#00000029;border:1px solid #ffe9a929;border-radius:14px;gap:8px;padding:10px;display:grid}.campaign-module-layer-selector-card>strong{color:var(--vellum);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.campaign-module-layer-selector-card .game-layer-selector{width:100%}.campaign-module-side-actions{flex-direction:column}.campaign-module-side-action-row{gap:8px;display:flex}.campaign-module-side-action-row .ui-button{flex:1;justify-content:center}.campaign-module-submit-error{margin:0}.campaign-module-preview-editor{background:#00000029;border:1px solid #ffe9a924;border-radius:16px;gap:10px;padding:10px;display:grid}.campaign-module-preview-image-frame{border-radius:18px;min-height:176px}.campaign-module-preview-editor-controls{gap:8px;display:grid}.campaign-module-preview-editor-controls>strong{color:var(--vellum);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.campaign-module-preview-editor .race-image-empty-button strong{font-size:13px}.campaign-module-preview-editor .race-image-empty-button span{max-width:220px;font-size:11px}.campaign-module-preview-editor .campaign-module-cover-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.campaign-npc-sheet{gap:12px;display:grid}.campaign-npc-sheet-head{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.campaign-npc-sheet-head h2{margin:0;font-size:18px}.campaign-npc-sheet-head p{color:var(--muted);margin:2px 0 0;font-size:12px}.campaign-npc-sheet-avatar{width:54px;height:54px;color:var(--gold);background:#00000047;border:1px solid #ffe9a957;border-radius:50%;place-items:center;display:grid;overflow:hidden}.campaign-npc-sheet-avatar img{object-fit:cover;width:100%;height:100%;display:block}.campaign-npc-sheet-stats,.campaign-npc-sheet-abilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.campaign-npc-sheet-stats div,.campaign-npc-sheet-abilities div{background:#ffffff0b;border:1px solid #ffe9a924;border-radius:14px;min-width:0;padding:9px}.campaign-npc-sheet-stats div{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;display:grid}.campaign-npc-sheet-stats svg{color:var(--gold);grid-row:span 2}.campaign-npc-sheet-stats strong,.campaign-npc-sheet-abilities strong{color:var(--vellum);font-size:16px}.campaign-npc-sheet-stats span,.campaign-npc-sheet-abilities span,.campaign-npc-sheet-abilities small{color:var(--muted);font-size:10px}.campaign-npc-sheet-combat-actions{justify-content:flex-end;display:flex}.campaign-npc-sheet-abilities div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;display:grid}.campaign-npc-sheet-abilities span{letter-spacing:.06em;text-transform:uppercase}.campaign-npc-sheet-abilities small{grid-column:2}.campaign-npc-sheet-section{gap:8px;display:grid}.campaign-npc-sheet-section h3{color:var(--vellum);margin:0;font-size:13px}.campaign-npc-sheet-section p{color:var(--text);margin:0;font-size:12px;line-height:1.45}.campaign-module-npc-card{cursor:pointer}.campaign-module-npc-card[draggable=true]:active{cursor:grabbing}.campaign-module-back-link{align-self:center;width:28px;height:28px;padding:0;text-decoration:none}.campaign-module-npc-section{background:#14100c8f;border:1px solid #ffe9a929;border-radius:14px;gap:10px;padding:12px;display:grid}.campaign-module-npc-section+.campaign-module-npc-section{margin-top:14px}.campaign-module-npc-library-section{min-height:0}.campaign-module-npc-search{text-transform:none;letter-spacing:0}.campaign-module-npc-folders{margin-bottom:0;overflow:visible}.campaign-module-npc-folder+.campaign-module-npc-folder{border-top:1px solid #ffe9a91a}.campaign-module-npc-folder-row,.campaign-module-npc-folder-row .game-library-folder-name{width:100%}.campaign-module-npc-folder-count{min-width:26px;color:var(--amber);text-align:center;background:#ffc46b1f;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:800}.campaign-module-npc-folder-content{gap:8px;padding-left:24px;display:grid}.campaign-module-npc-load-sentinel{min-height:2px}.campaign-module-npc-section-head,.campaign-npc-sheet-section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.campaign-module-npc-section-head span{text-align:center;min-width:28px;color:var(--amber);background:#ffc46b21;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800}.campaign-module-added-npc-list{gap:8px;display:grid}.campaign-module-added-npc-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:#0000002e;border:1px solid #ffe9a924;border-radius:12px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid}.campaign-module-added-npc-row:hover{background:#ffc46b14;border-color:#ffc46b7a}.campaign-module-added-npc-row span:last-child{gap:2px;min-width:0;display:grid}.campaign-module-added-npc-row small{color:var(--muted);font-size:12px}.campaign-npc-sheet-editor .field.compact{margin:0}.campaign-npc-sheet-editor.editable .campaign-npc-sheet-head{align-items:flex-start}.campaign-npc-sheet-editor .campaign-npc-sheet-abilities input,.campaign-npc-line-input,.campaign-npc-sheet-textarea{width:100%;color:var(--vellum);background:#0000003d;border:1px solid #ffe9a92e;border-radius:10px}.campaign-npc-sheet-editor .campaign-npc-sheet-abilities input,.campaign-npc-line-input{min-height:34px;padding:6px 8px}.campaign-npc-sheet-textarea{resize:vertical;min-height:76px;padding:8px}.campaign-npc-sheet-section.compact-form{gap:10px}.campaign-npc-delete-instance{justify-self:end}.full-width{justify-content:center;width:100%}.campaign-edit-page{width:100%;max-width:none;margin-inline:auto}.campaign-edit-page .campaign-create-hero,.campaign-edit-form,.campaign-edit-modules-grid{width:100%;max-width:none}.app-toast{z-index:700;border:1px solid var(--line);max-width:min(420px,100vw - 32px);color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0506f0;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;animation:.18s ease-out app-toast-in;display:flex;position:fixed;top:18px;right:18px;box-shadow:0 18px 48px #0000007a,inset 0 0 0 1px #ffe9a90f}.app-toast.success{border-color:#80b85b9e;box-shadow:0 18px 48px #0000007a,inset 3px 0 #80b85bd1}.app-toast.error{color:#ffd8cf;border-color:#c85d4db8;box-shadow:0 18px 48px #0000007a,inset 3px 0 #c85d4dd1}.app-toast.loading{border-color:#d88b35ad;box-shadow:0 18px 48px #0000007a,inset 3px 0 #d88b35d6}.app-toast-spinner{flex:none;width:18px;height:18px;animation:.8s linear infinite spin}.app-toast span{font-size:13px;font-weight:800;line-height:1.35;display:block}@keyframes app-toast-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.campaign-edit-modules-panel{box-sizing:border-box;align-content:start;padding:20px}.campaign-edit-modules-panel-available .game-module-filters{z-index:2;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c0506d1;border-radius:16px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;margin:0 0 4px;padding:9px;display:grid;position:sticky;top:8px}.campaign-edit-page .game-module-search{gap:4px}.campaign-edit-page .game-module-search>span:first-child{font-size:10px}.campaign-edit-page .game-module-search-field{border-radius:11px;min-height:34px;padding:6px 9px}.campaign-edit-page .game-module-type-filters{align-content:start;gap:5px}.campaign-edit-page .game-module-type-filters button,.campaign-edit-page .game-module-clear-filters{min-height:28px;padding:4px 8px;font-size:10px}.campaign-edit-page .game-module-clear-filters{justify-self:start}.campaign-edit-module-card{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:10px}.campaign-edit-module-card form{order:0;place-items:center;display:grid}.campaign-edit-module-card img,.campaign-edit-module-card .game-module-card-avatar{order:1}.campaign-edit-module-card>div:not(.game-module-card-avatar){order:2}.campaign-edit-module-card .icon-button{width:34px;height:34px}.campaign-edit-base-modules-count{color:var(--gold);background:#d88b3514;border:1px solid #d88b354d;border-radius:14px;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.campaign-edit-module-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:12px;min-height:0;max-height:min(68vh,720px);padding-right:6px;display:grid;overflow-y:auto}.campaign-edit-module-scroll::-webkit-scrollbar{width:10px}.campaign-edit-module-scroll::-webkit-scrollbar-thumb{background:#d88b356b;border-radius:999px}.campaign-edit-module-list-progress{color:var(--muted);text-align:center;margin:0;padding:8px 10px;font-size:11px}.campaign-edit-module-thumbnail{color:var(--vellum)}.campaign-edit-module-default-icon,.campaign-edit-module-lucide-icon{width:72%;height:72%}.campaign-edit-module-lucide-icon{stroke-width:1.6px}.character-window-body.scroll-body{padding:14px;overflow:hidden auto}.character-window-body.scroll-body::-webkit-scrollbar{width:10px}.character-window-body.scroll-body::-webkit-scrollbar-thumb{background:#d88b3573;border-radius:999px}.game-module-preview-bonuses{border:1px solid var(--line);background:#ffe9a90e;border-radius:12px;gap:8px;padding:10px;display:grid}.game-module-preview-bonuses>div{flex-wrap:wrap;gap:6px;display:flex}.game-module-preview-bonuses span{color:var(--gold);background:#ffe9a914;border:1px solid #ffe9a93d;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.game-module-preview-bonuses.equipment{background:#80b85b0e}.game-module-preview-bonuses.equipment span{color:#c7f0a8;background:#80b85b14;border-color:#80b85b42;border-radius:12px;gap:2px;display:grid}.game-module-preview-bonuses.equipment span.primary{color:var(--gold);background:#ffe9a91a;border-color:#ffe9a957}.game-module-preview-bonuses.equipment small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.game-module-preview-description.collapsible{border:1px solid var(--line);background:#ffffff09;border-radius:12px}.game-module-preview-description.collapsible summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px;list-style:none;display:flex}.game-module-preview-description.collapsible summary::-webkit-details-marker{display:none}.game-module-preview-description.collapsible p{padding:0 10px 10px}.game-module-preview-description.collapsible[open] summary svg,.game-module-preview-feature[open] summary svg{transform:rotate(180deg)}@media (width<=860px){.campaign-edit-modules-panel-available .game-module-filters{grid-template-columns:1fr;align-items:stretch}}@media (width<=620px){.campaign-edit-page{width:100%}.campaign-edit-module-scroll{max-height:62vh}}.storage-page{gap:18px;display:grid}.floating-tooltip.storage-usage-tooltip{white-space:pre-line;width:min(360px,100vw - 24px);max-width:min(360px,100vw - 24px);line-height:1.45}.personal-image-library-panel{gap:0;min-width:0;display:grid}.storage-folder-name-field{gap:8px;display:grid}.game-library-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.game-library-heading h2{min-width:0;margin:0}.game-library-selection-controls{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.game-library-selection-controls>span{max-width:130px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.game-library-selection-controls .icon-button{width:30px;height:30px;padding:6px}.game-library-top-controls{gap:14px;margin-bottom:16px;display:grid}.game-library-top-controls.single{grid-template-columns:minmax(0,1fr)}.storage-library-panel-content{padding-block:18px}.game-library-top-controls .game-layer-selector{margin-bottom:0}.storage-page .personal-image-library{gap:16px}.game-library-folders{border:1px solid var(--line);background:#00000029;border-radius:8px;gap:3px;width:100%;min-width:0;margin-bottom:10px;padding:5px;display:grid;overflow:hidden auto}.game-library-folder-content{width:100%;min-width:0;padding:6px 0 10px calc(var(--folder-depth,0) * 14px);overflow-x:hidden}.game-side-panel .personal-image-library,.game-side-panel .personal-image-grid,.game-side-panel .personal-image-upload-controls{width:100%;min-width:0;overflow-x:hidden}.game-side-panel .personal-image-grid{grid-template-columns:repeat(auto-fill,minmax(min(52px,100%),1fr))}.game-library-folder-content .personal-image-grid{overscroll-behavior:contain;max-height:150px;overflow:hidden auto}.game-library-folder-row{min-height:32px;padding:4px 6px;padding-left:calc(6px + var(--folder-depth,0) * 14px);color:inherit;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:24px minmax(0,1fr);align-items:center;display:grid}.game-library-folder-row.has-actions{grid-template-columns:minmax(0,1fr) auto;gap:8px}button.game-library-folder-row{cursor:pointer;gap:6px}.game-library-folder-row.active{background:#d88b352e}.game-library-folder-toggle,.game-library-folder-name{min-width:0;color:inherit;background:0 0;border:0;align-items:center;display:flex}.game-library-folder-toggle{width:24px;height:24px;padding:3px}.game-library-folder-toggle:disabled{opacity:0}.game-library-folder-name{cursor:pointer;text-align:left;gap:6px;overflow:hidden}.game-library-folder-root-name{width:100%;padding:0}.game-library-folder-actions{justify-content:flex-end;align-items:center;min-width:0;display:flex}.game-library-folder-actions .game-library-selection-controls{flex-wrap:nowrap}.game-library-folder-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-library-folder-row svg{flex:none;width:16px;height:16px}.storage-layout{grid-template-columns:minmax(250px,320px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.storage-meter{gap:8px;display:grid}.storage-meter-heading,.storage-breakdown{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.storage-progress{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 76%, transparent);border-radius:6px;height:12px;overflow:hidden}.storage-progress>span{background:var(--gold);height:100%;transition:width .18s;display:block}.storage-variants-note{margin:0;font-size:.78rem}.storage-folder-tree{gap:4px;display:grid}.storage-folder-row{min-height:42px;padding:4px 4px 4px calc(var(--folder-depth,0) * 14px);border-radius:8px;grid-template-columns:28px minmax(72px,1fr) repeat(3,36px);align-items:center;gap:6px;display:grid}.storage-folder-row>.icon-button.small{width:34px;min-width:34px;height:34px;min-height:34px}button.storage-folder-row{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:24px minmax(0,1fr);padding:7px}.storage-folder-row.active{background:color-mix(in srgb, var(--gold) 18%, transparent)}.storage-folder-toggle,.storage-folder-name{min-width:0;color:inherit;background:0 0;border:0;align-items:center;display:flex}.storage-folder-toggle{width:24px;height:24px;padding:3px}.storage-folder-toggle:disabled{opacity:0}.storage-folder-name{text-align:left;gap:6px;overflow:hidden}.storage-folder-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.storage-folder-row svg{width:16px;height:16px}.storage-plan-list{gap:8px;display:grid}.storage-plan-select{color:var(--muted);gap:6px;font-size:.9rem;display:grid}.storage-plan-select select{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, black);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:6px;padding:10px 12px}.profile-subscription-panel-content{gap:14px;display:grid}.profile-subscription-panel-content .section-heading{margin-bottom:0}.profile-subscription-panel-content>.muted{margin:0}.storage-plan-actions{flex-wrap:wrap;gap:12px 8px;display:flex}.storage-plan-option{color:inherit;border:1px solid var(--line);text-align:left;background:0 0;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px;display:grid}.storage-plan-option.active{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent)}.subscription-details-page{gap:16px;display:grid}.subscription-details-hero{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.subscription-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.subscription-plan-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, black);border-radius:8px;align-content:start;gap:18px;padding:18px;display:grid}.subscription-plan-card.active{border-color:var(--gold);box-shadow:0 0 0 1px color-mix(in srgb, var(--gold) 40%, transparent)}.subscription-plan-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.subscription-plan-card-head h2{margin:0 0 6px}.subscription-plan-card-head p,.subscription-plan-price span{color:var(--muted);margin:0}.subscription-plan-price{gap:4px;display:grid}.subscription-plan-price strong{color:var(--gold);font-size:1.4rem}.subscription-plan-features{gap:10px;margin:0;padding:0;list-style:none;display:grid}.subscription-plan-features li{align-items:flex-start;gap:8px;display:flex}.subscription-plan-features svg{width:16px;height:16px;color:var(--gold);flex:none;margin-top:2px}.module-bundle-edit-page,.module-bundle-view-page,.module-bundle-form{gap:16px;display:grid}.module-bundle-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.module-bundle-form-grid .full{grid-column:1/-1}.module-bundle-dependency-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.module-bundle-filters{margin:0 0 12px}.module-bundle-dependency-groups,.module-bundle-dependency-zones,.module-bundle-dependency-zone{gap:12px;display:grid}.module-bundle-dependency-zones{margin-top:14px}.module-bundle-dependency-zone{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, black);border-radius:10px;padding:12px}.module-bundle-dependency-workspace{border:1px solid color-mix(in srgb, var(--gold) 26%, var(--line));background:color-mix(in srgb, var(--panel) 86%, black);border-radius:14px;gap:10px;margin-top:14px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff0a,0 12px 28px #00000029}.module-bundle-editor-tabs{border:1px solid color-mix(in srgb, var(--gold) 28%, var(--line));background:color-mix(in srgb, var(--panel) 82%, black);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;display:grid;box-shadow:inset 0 1px #ffffff0a,0 8px 20px #00000024}.module-bundle-editor-tabs button{border:1px solid var(--line);min-width:0;min-height:48px;color:var(--muted);background:color-mix(in srgb, var(--panel) 72%, black);font:inherit;text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:7px 10px;font-weight:800;display:grid}.module-bundle-editor-tabs button:hover{color:var(--text);border-color:color-mix(in srgb, var(--gold) 58%, var(--line))}.module-bundle-editor-tabs button.active{color:var(--vellum);border-color:var(--gold);background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 32%, var(--wine)), color-mix(in srgb, var(--wine) 90%, var(--wine-dark)));box-shadow:inset 0 1px #ffffff1f,0 6px 16px #0000002e}.module-bundle-editor-tabs button>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.module-bundle-editor-tab-icon{background:#ffffff0f;border:1px solid;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.module-bundle-editor-tabs small{min-width:24px;color:inherit;text-align:center;background:#ffffff1a;border-radius:999px;padding:2px 6px}.module-bundle-editor-tabs kbd{opacity:.68;border:1px solid;border-radius:5px;padding:2px 5px;font:700 10px/1.2 inherit}.module-bundle-editor-tab-panel{gap:16px;display:grid}.module-bundle-editor-tab-panel[hidden]{display:none}.module-bundle-dependency-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.module-bundle-dependency-tabs button{border:1px solid var(--line);min-height:42px;color:var(--muted);background:color-mix(in srgb, var(--panel) 78%, black);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:800;display:flex}.module-bundle-dependency-tabs button:hover{color:var(--text);border-color:color-mix(in srgb, var(--gold) 56%, var(--line))}.module-bundle-dependency-tabs button.active{color:var(--vellum);border-color:var(--gold);background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 32%, var(--wine)), color-mix(in srgb, var(--wine) 90%, var(--wine-dark)));box-shadow:inset 0 1px #ffffff1f,0 6px 16px #0000002e}.module-bundle-dependency-tabs small{min-width:24px;color:inherit;text-align:center;background:#ffffff1a;border-radius:999px;padding:2px 7px}.module-bundle-dependency-browser{grid-template-columns:minmax(190px,230px) minmax(0,1fr);gap:10px;min-width:0;display:grid}.module-bundle-category-nav{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 72%, black);border-radius:11px;align-content:start;gap:5px;min-width:0;padding:8px;display:grid}.module-bundle-category-row{border:1px solid #0000;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;padding:3px;display:grid}.module-bundle-category-row:hover,.module-bundle-category-row.active{border-color:color-mix(in srgb, var(--gold) 46%, var(--line));background:color-mix(in srgb, var(--gold) 10%, transparent)}.module-bundle-category-row.active{box-shadow:inset 3px 0 var(--gold)}.module-bundle-category-select{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 4px;display:grid}.module-bundle-category-select>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.module-bundle-category-select small{color:var(--muted);font-size:11px}.module-bundle-category-icon{border-radius:7px;width:30px;height:30px}.module-bundle-category-create{width:30px;min-width:30px;height:30px;min-height:30px}.module-bundle-dependency-content{border:1px solid color-mix(in srgb, var(--gold) 22%, var(--line));background:color-mix(in srgb, var(--panel) 76%, black);border-radius:11px;align-content:start;gap:12px;min-width:0;min-height:260px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff0a,0 8px 20px #00000024}.module-bundle-dependency-content-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.module-bundle-dependency-content-title{gap:2px;display:grid}.module-bundle-dependency-content-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.module-bundle-dependency-content-header strong{font-size:16px}.module-bundle-dependency-content-header small{color:var(--muted);font-size:11px}.module-bundle-category-empty{border:1px dashed color-mix(in srgb, var(--gold) 34%, var(--line));background:color-mix(in srgb, var(--panel) 82%, black);border-radius:10px;align-content:center;place-items:center;gap:12px;min-height:190px;padding:24px;display:grid}.module-bundle-zone-toggle{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:800;display:flex}.module-bundle-zone-toggle svg{transition:transform .16s}.module-bundle-zone-toggle svg.open{transform:rotate(90deg)}.module-bundle-zone-toggle small{color:var(--muted);margin-left:auto}.module-bundle-dependency-group{gap:10px;display:grid}.module-bundle-group-toggle{border:1px solid var(--line);width:100%;color:var(--text);background:color-mix(in srgb, var(--panel) 90%, black);font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.module-bundle-group-toggle svg{transition:transform .16s}.module-bundle-group-toggle svg.open{transform:rotate(90deg)}.module-bundle-group-toggle span{font-weight:800}.module-bundle-group-toggle small{color:var(--muted);margin-left:auto}.module-bundle-create-component{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, black);border-radius:8px;gap:12px;margin-bottom:12px;padding:12px;display:grid}.module-bundle-create-component p{margin:4px 0 0}.module-bundle-create-component-actions{flex-wrap:wrap;gap:8px;display:flex}.module-preview-image-deck{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.module-preview-image-deck img{left:calc(var(--deck-index) * 5%);top:calc(var(--deck-index) * 2%);object-fit:cover;width:86%;height:96%;transform:rotate(calc(var(--deck-index) * 1.7deg));transform-origin:50% 100%;z-index:calc(20 - var(--deck-index));border:2px solid #ffe9a9b8;border-radius:10px;position:absolute;box-shadow:0 14px 30px #00000080,inset 0 0 0 1px #ffffff14}.module-bundle-preview-grid{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:16px;display:grid}.module-bundle-preview-tools,.module-bundle-custom-preview-layout{width:100%}.module-bundle-custom-preview-layout .campaign-module-preview-editor.race-image-editor-grid{background:0 0;border:0;grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:14px;padding:0}.module-bundle-custom-preview-layout .campaign-module-preview-image-frame{border-radius:24px;min-height:0}.module-bundle-custom-preview-layout .campaign-module-preview-editor-controls.race-image-controls{background:#00000029;border:1px solid #d88b353d;border-radius:22px;align-content:start;gap:12px;padding:14px}.module-bundle-card-preview{min-width:0;position:sticky;top:16px}.module-bundle-card-preview .card-preview{width:100%}.module-bundle-preview-mode{flex-wrap:wrap;gap:10px;display:flex}.module-bundle-preview-mode button{border:1px solid var(--line);color:var(--text);font:inherit;background:color-mix(in srgb, var(--panel) 90%, black);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.module-bundle-preview-mode button.active,.module-bundle-preview-option.active{border-color:var(--gold);box-shadow:0 0 0 1px #deb05f4d}.module-bundle-preview-picker{grid-template-columns:repeat(auto-fill,minmax(80px,100px));gap:8px;margin-top:8px;display:grid}.module-bundle-preview-option{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 90%, black);cursor:pointer;border-radius:8px;gap:4px;padding:6px;display:grid}.module-bundle-preview-option[draggable=true]{cursor:grab}.module-bundle-preview-option.dragging{opacity:.58;cursor:grabbing}.module-bundle-preview-option img{aspect-ratio:3/4;object-fit:cover;border-radius:6px;width:100%}.module-bundle-preview-option input{justify-self:start}.module-bundle-preview-option span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.module-bundle-dependency-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, black);cursor:pointer;border-radius:8px;grid-template-columns:auto 42px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.module-bundle-dependency-card span,.module-bundle-dependency-card small{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.module-bundle-dependency-card small{color:var(--muted)}.module-table-name-row{align-items:center;gap:6px;display:flex}.module-table-expand svg{transition:transform .16s}.module-table-expand svg.open{transform:rotate(90deg)}.module-table-child-row{background:color-mix(in srgb, var(--panel) 88%, black)}.module-table-child-row>td:first-child{padding-left:52px}.module-table-child-name .module-table-thumb{width:52px}.module-bundle-selected-groups{gap:16px;display:grid}.module-bundle-selected-group-header{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.module-bundle-selected-group-header .module-bundle-group-toggle{min-width:0}.module-bundle-selected-filters{grid-template-columns:minmax(220px,1fr) minmax(150px,220px) minmax(150px,220px);align-items:end;gap:8px;display:grid}.module-bundle-selected-search{min-width:0}.module-bundle-selected-table-wrap{border:1px solid color-mix(in srgb, var(--gold) 30%, var(--line));background:color-mix(in srgb, var(--panel) 62%, black);border-radius:10px;overflow-x:auto;box-shadow:inset 0 1px #ffffff0a,0 7px 18px #00000029}.module-bundle-selected-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:560px}.module-bundle-selected-table th:first-child,.module-bundle-selected-table td:first-child{width:52%}.module-bundle-selected-table th:nth-child(2),.module-bundle-selected-table td:nth-child(2){width:20%}.module-bundle-selected-table th,.module-bundle-selected-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:8px 10px}.module-bundle-selected-table tbody tr:last-child td{border-bottom:0}.module-bundle-selected-table td{background:color-mix(in srgb, var(--panel) 88%, black);transition:background .14s}.module-bundle-selected-table tbody tr:hover td{background:color-mix(in srgb, var(--gold) 9%, var(--panel))}.module-bundle-selected-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:color-mix(in srgb, var(--panel) 88%, black);font-size:12px}.sortable-table-header{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;text-decoration:none;display:inline-flex}.sortable-table-header svg{flex:none}.module-bundle-selected-table th:last-child,.module-bundle-selected-table td:last-child{text-align:right;width:96px;padding-right:14px}.module-bundle-available-table{min-width:480px}.module-bundle-available-table th:first-child,.module-bundle-available-table td:first-child{width:auto}.module-bundle-available-table th:last-child,.module-bundle-available-table td:last-child{width:58px}.module-bundle-selected-module{cursor:pointer;grid-template-columns:auto 38px minmax(140px,1fr);align-items:center;gap:9px;min-width:0;display:grid}.module-bundle-selected-module-link{color:inherit;text-decoration:none;display:contents}.module-bundle-selected-module strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.module-bundle-selected-module-link:hover strong,.module-bundle-selected-module-link:focus-visible strong{color:var(--accent);text-decoration:underline}.module-bundle-available-table .module-bundle-selected-module{grid-template-columns:38px minmax(140px,1fr)}.module-bundle-table-meta{color:var(--muted);font-size:11px}.module-bundle-available-filters{grid-template-columns:minmax(220px,1fr) minmax(150px,220px)}.module-bundle-dependency-thumb{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 82%, black);border-radius:8px;place-items:center;width:38px;height:38px;display:grid;overflow:hidden}.module-bundle-dependency-card .module-bundle-dependency-thumb{width:42px;height:42px}.module-bundle-dependency-thumb img{object-fit:cover;width:100%;height:100%}.module-bundle-dependency-thumb .module-view-default-icon{filter:none;width:24px;height:24px}@media (width<=760px){.module-bundle-editor-tabs,.module-bundle-selected-filters{grid-template-columns:1fr}.module-bundle-dependency-browser{grid-template-columns:minmax(0,1fr)}.module-bundle-category-nav{display:flex;overflow-x:auto}.module-bundle-category-row{flex:0 0 190px}}.module-content-view,.module-content-category-main{min-width:0}.module-content-view{gap:16px;display:grid}.module-content-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.module-content-toolbar h2,.module-content-toolbar p,.module-content-category-heading h2,.module-content-category-heading p{margin:0}.module-content-checkbox{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.module-content-checkbox input{width:18px;height:18px;accent-color:var(--gold)}.module-content-browser{grid-template-columns:minmax(170px,210px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.module-content-category-sidebar{position:sticky;top:84px}.module-content-category-label{align-items:center;gap:7px;display:inline-flex}.module-content-category-label svg{flex:none;width:16px;height:16px}.module-content-category-main{gap:14px;display:grid}.module-content-category-heading{justify-content:space-between;align-items:center;gap:12px;min-height:42px;display:flex}.campaign-module-scene-folders{gap:14px;display:grid}.campaign-module-scene-folder{gap:8px;display:grid}.campaign-module-scene-folder-title{padding-left:calc(var(--scene-folder-depth,0) * 14px);align-items:center;gap:7px;margin:0;font-size:14px;display:flex}.campaign-module-scene-folder-title svg{width:16px;height:16px;color:var(--gold)}.campaign-module-scene-folder-title small{color:var(--muted);font-weight:400}.campaign-module-scene-grid{padding-left:calc(var(--scene-folder-depth,0) * 14px);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;display:grid}.campaign-module-scene-card{cursor:default;min-width:0}@media (width<=1100px){.module-content-browser{grid-template-columns:minmax(150px,180px) minmax(0,1fr)}}@media (width<=920px){.module-content-toolbar{flex-direction:column;align-items:flex-start}.module-content-browser{grid-template-columns:1fr}.module-content-category-sidebar{position:relative;top:auto}.module-content-category-sidebar .marketplace-category-list{display:flex;overflow-x:auto}.module-content-category-sidebar .marketplace-category{flex:0 0 190px}}.nortantis-launcher{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:8px;gap:12px;padding:12px;display:grid}.nortantis-launcher-head strong,.nortantis-project-card strong{align-items:center;gap:8px;display:flex}.nortantis-launcher-head p,.nortantis-project-card span{color:var(--muted);margin:4px 0 0;font-size:.88rem}.nortantis-create-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.nortantis-create-row input{min-width:0}.nortantis-project-list{gap:8px;display:grid}.nortantis-project-card{border:1px solid var(--border);background:#0000002e;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.nortantis-project-actions{align-items:center;gap:6px;display:flex}.regions-editor-fullscreen-page{background:#040101;width:100%;height:100%;min-height:0}.regions-editor-host{width:100%;height:100%;min-height:0;display:block}.regions-editor-projects-panel{border-right:1px solid var(--border);background:color-mix(in srgb, var(--panel) 94%, transparent);flex-direction:column;gap:14px;padding:16px;display:flex;overflow:auto}.regions-editor-panel-head{gap:6px;display:grid}.regions-editor-panel-head h1,.regions-editor-panel-head p{margin:0}.nortantis-project-card.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.nortantis-project-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.nortantis-project-main:hover{color:var(--accent)}.regions-editor-iframe-panel{background:#040101;width:100%;min-width:0;height:100%;min-height:0;display:block;position:relative}.regions-editor-host-status{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--panel) 86%, transparent);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 14px;display:flex}.regions-editor-host-status span{color:var(--muted);font-size:.88rem}.regions-editor-iframe{background:#040101;border:0;width:100%;height:100%;min-height:0;display:block}.regions-editor-workspace-shell{grid-template-columns:minmax(0,1fr) 380px}.regions-editor-board-column{min-width:0;min-height:0}.regions-nortantis-stage{background-color:#00000047;background-image:linear-gradient(45deg,#ffffff09 25%,#0000 25%),linear-gradient(-45deg,#ffffff09 25%,#0000 25%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:30px 30px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;padding:0;display:grid;position:absolute;inset:0;overflow:hidden}.regions-nortantis-canvas{width:100%;height:100%;min-height:0;box-shadow:none;touch-action:none;background:#0b0907b8;border:0;border-radius:0;place-items:center;display:grid;position:relative;overflow:hidden}.regions-nortantis-canvas-content{transform-origin:0 0;will-change:transform;position:absolute}.regions-nortantis-canvas-content img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.regions-brush-selection-layer{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.regions-brush-tile-highlight{vector-effect:non-scaling-stroke;stroke-width:1.5px;transition:fill .12s,stroke .12s}.regions-brush-tile-highlight.land{fill:#749a5457;stroke:#b5dd74e6}.regions-brush-tile-highlight.water{fill:#4a89b557;stroke:#84c9eee6}.regions-brush-optimistic-stroke{vector-effect:non-scaling-stroke;stroke-width:2px;stroke-dasharray:8 6}.regions-brush-optimistic-stroke.land{fill:#749a5433;stroke:#b5dd74c2}.regions-brush-optimistic-stroke.water{fill:#4a89b533;stroke:#84c9eec2}.regions-brush-cursor{z-index:2;pointer-events:none;background:#c9a45c1f;border:1px solid #c9a45ce6;border-radius:999px;position:absolute;top:0;left:0;translate:-50% -50%;box-shadow:0 0 0 1px #00000059}.regions-brush-cursor.region{background:#eec97f29;border-color:#eec97ff2}.regions-road-draft-layer{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.regions-road-draft-layer polyline{fill:none;stroke:#f1cd84f0;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #000000ad)}.regions-road-draft-layer circle{fill:var(--gold);stroke:#19120ceb;stroke-width:2px;vector-effect:non-scaling-stroke}.regions-road-draft-layer text{fill:var(--text);stroke:#000000b8;stroke-width:3px;paint-order:stroke;pointer-events:none;font-size:18px;font-weight:900}.regions-boundary-draft-layer{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.regions-boundary-draft-layer polyline{fill:none;stroke:#ffe093f5;stroke-width:3px;stroke-dasharray:10 8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 3px #000000bf)}.regions-boundary-draft-layer circle{fill:var(--gold);stroke:#120c08f0;stroke-width:2px;vector-effect:non-scaling-stroke}.regions-boundary-draft-layer text{fill:var(--text);stroke:#000000c7;stroke-width:3px;paint-order:stroke;pointer-events:none;font-size:18px;font-weight:900}.regions-icon-library{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px;max-height:360px;padding-right:2px;display:grid;overflow:auto}.regions-icon-library button{min-height:68px;color:var(--text);font:inherit;cursor:pointer;background:linear-gradient(#ecce8f38,#7654292e),#1b140deb;border:1px solid #d88b3538;border-radius:8px;grid-template-rows:42px auto;place-items:center;gap:4px;padding:5px;font-size:10px;display:grid;overflow:hidden}.regions-icon-library button img{object-fit:contain;filter:drop-shadow(0 2px 3px #0000008a);background:#ebcc91b8;border-radius:8px;max-width:44px;max-height:38px;padding:3px;display:block}.regions-icon-library button span{text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.regions-icon-library button:hover,.regions-icon-library button.active{color:var(--gold);background:#d88b3524;border-color:#d88b35b3}.regions-text-draft-input{z-index:7;width:min(240px,32%);color:var(--text);font:inherit;background:#1a120aeb;border:1px solid #d88b35c7;border-radius:8px;outline:none;padding:7px 9px;font-size:13px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 26px #0000007a,0 0 0 3px #d88b3529}.regions-text-overlay{z-index:6;max-width:min(280px,38%);color:var(--text);font:inherit;text-align:center;text-shadow:0 1px 2px #000000db;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;background:#18110ab3;border:1px solid #d88b35b8;border-radius:8px;padding:4px 8px;font-size:13px;font-weight:800;line-height:1.15;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 20px #0000006b}.regions-text-overlay.selected{z-index:8;cursor:grab;outline-offset:2px;outline:2px solid #ffdd8fc7}.regions-text-overlay.selected.dragging{cursor:grabbing}.regions-text-overlay.optimistic{pointer-events:none;opacity:.92}.regions-text-status,.regions-text-selected-panel{background:#100c0880;border:1px solid #d88b353d;border-radius:8px;gap:8px;padding:10px;display:grid}.regions-text-status strong,.regions-text-selected-panel h3{color:var(--gold);margin:0;font-size:13px}.regions-text-status span{color:var(--text-muted);font-size:12px}.regions-road-summary{min-height:38px;color:var(--text);background:#00000024;border:1px solid #d88b3538;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.regions-canvas-loading{z-index:8;max-width:min(420px,100% - 32px);color:var(--text);box-shadow:var(--shadow);background:#0f0c09e0;border:1px solid #d88b3552;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.regions-nortantis-placeholder{color:var(--muted);text-align:center;place-items:center;gap:10px;padding:24px;display:grid}.regions-nortantis-placeholder h1{color:var(--text);margin:0;font-size:clamp(1.4rem,2vw,2.4rem)}.regions-render-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080706b8;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.regions-render-panel{background:#120f0cf0;border:1px solid #c9a45c52;border-radius:8px;gap:14px;width:min(620px,100%);max-height:min(76vh,720px);padding:18px;display:grid;box-shadow:0 24px 80px #00000073}.regions-render-head{align-items:center;gap:12px;display:flex}.regions-render-head svg{color:var(--gold)}.regions-render-head strong,.regions-render-head span{display:block}.regions-render-head span{color:var(--muted);font-size:.9rem}.regions-render-log{gap:6px;max-height:420px;padding-right:2px;display:grid;overflow-y:auto}.regions-render-log.compact{max-height:46vh}.regions-render-progress{background:#00000047;border:1px solid #c9a45c57;border-radius:999px;height:12px;position:relative;overflow:hidden}.regions-render-progress.side{height:10px}.regions-render-progress span{border-radius:inherit;background:linear-gradient(90deg, #a16b2fe6, var(--gold));transition:width .22s;position:absolute;inset:0 auto 0 0;box-shadow:0 0 18px #c9a45c5c}.regions-render-current{color:var(--text);margin:0;font-size:.94rem;line-height:1.45}.regions-render-line{background:#ffffff09;border:1px solid #0000;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:8px;padding:7px 8px;display:grid}.regions-render-line.active{background:#c9a45c1f;border-color:#c9a45c80}.regions-render-line span{color:var(--muted);font-size:.76rem}.regions-render-line p{color:var(--text);margin:0;font-size:.88rem}@media (width<=920px){.subscription-plan-grid{grid-template-columns:1fr}.subscription-details-hero{display:grid}.module-bundle-form-grid,.module-bundle-view-grid,.nortantis-create-row,.nortantis-project-card{grid-template-columns:1fr}.regions-editor-workspace-shell{grid-template-columns:minmax(0,1fr)}.regions-nortantis-canvas{width:100%;height:100%}}.storage-over-limit-content{gap:16px;display:grid}.storage-countdown{text-align:center;grid-template-columns:repeat(4,minmax(70px,1fr));gap:8px;display:grid}.storage-countdown strong,.storage-countdown span{display:block}.storage-countdown strong{color:var(--gold);font-size:clamp(2rem,6vw,4.5rem);line-height:1}@media (width<=860px){.storage-layout{grid-template-columns:minmax(0,1fr)}.storage-countdown{grid-template-columns:repeat(2,minmax(70px,1fr))}}.game-help-panel{gap:11px;display:grid}.storage-other-items{gap:10px;display:grid}.storage-other-libraries{gap:20px;display:grid}.storage-other-libraries>section{gap:10px;display:grid}.storage-other-libraries h3{margin:0}.storage-other-item{border:1px solid var(--line);background:var(--card);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.storage-other-item p{margin:4px 0 0}.storage-other-item-icon{width:42px;height:42px;color:var(--gold);background:#d88b3524;border-radius:13px;place-items:center;display:grid}.game-help-search{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:12px;align-items:center;gap:8px;margin-bottom:11px;padding:8px 10px;display:flex}.game-help-search input{width:100%;min-width:0;color:var(--vellum);background:0 0;border:0;outline:0;padding:0}.game-help-empty{color:var(--muted);text-align:center;margin:12px 0;font-size:12px}.game-help-role-badge{color:var(--gold);text-transform:uppercase;letter-spacing:.06em;background:#e6b96814;border:1px solid #e6b9686b;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:800}.game-help-section{border:1px solid var(--line);background:var(--card);border-radius:16px;gap:8px;padding:12px;display:grid}.game-help-section.important{background:linear-gradient(135deg, #80b85b1f, transparent 62%), var(--card);border-color:#80b85b80}.game-help-section>strong{color:var(--vellum);font-size:13px}.game-help-section p,.game-help-section ul{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.game-help-section ul{gap:7px;padding-left:18px;display:grid}.game-help-list{gap:7px;display:grid}.game-help-row{align-items:flex-start;gap:6px;min-width:0;display:flex}.game-help-section[hidden],.game-help-row[hidden],.game-help-section li[hidden]{display:none!important}.game-help-row span{min-width:0;color:var(--muted);font-size:12px;line-height:1.35}.game-help-row kbd{min-width:26px;color:var(--gold);text-align:center;background:#00000042;border:1px solid #e6b96857;border-bottom-color:#e6b96894;border-radius:7px;flex:none;padding:2px 6px;font-family:inherit;font-size:10px;font-weight:800;line-height:1.35;box-shadow:inset 0 -1px #0000006b}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#040101;--accent:var(--gold);--danger:#ff8f8f;--success:var(--good);--amber:var(--vellum);--red:var(--wine)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--wine:#9a4635;--wine-dark:#6b241f;--gold:#a86c20;--copper:#b46b2c;--parchment:#fff7d7;--vellum:#6c2d21;--ink:#2b130d;--good:#4f7f35;--bad:#a54233;--text:#2b130d;--muted:#7c5635;--line:#8b56245c;--panel:#fff7d8d1;--panel-strong:#f3daaaf0;--card:#fffae5a8;--field:#68361f14;--shadow:#693c1d33;--scrollbar-thumb:#9a602a94;--scrollbar-thumb-hover:#6c2d21c7;--color-quinary:#f4dca6;--color-sexagenary:#2b130d;--accent:#9a4635;--danger:#9f3128;--success:#4f7f35;--amber:#a86c20;--red:#9a4635;--app-bg:#f4dca6}body{background:var(--app-bg)}:root[data-theme=light] .ember-field:before{background:radial-gradient(at 50% 100%,#b069264d,#ffecb240 36%,#0000 72%)}:root[data-theme=light] .ember{opacity:.52;background:#fff0b6;box-shadow:0 0 14px #95591c75}.theme-toggle{border:1px solid var(--line);min-width:112px;height:38px;color:var(--text);cursor:pointer;background:radial-gradient(circle at 22%,#ffe9a92e,#0000 28%),linear-gradient(#3a0b0d61,#00000038);border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;padding:4px 11px 4px 5px;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffe9a90f,0 10px 28px #0000002e}.theme-toggle:hover{border-color:var(--gold);transform:translateY(-1px)}.theme-toggle.compact{border-radius:10px;width:30px;min-width:30px;height:30px;padding:0}.theme-toggle-orb{color:#1e0c08;background:radial-gradient(circle at 34% 28%,#fff7ce,#d88b35 58%,#72222a 100%);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 0 18px #d88b3552,inset 0 0 0 1px #ffffff3d}.theme-toggle.compact .theme-toggle-orb{width:22px;height:22px}.theme-toggle-text{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700}.game-session-bar .theme-toggle.compact,.map-editor-session-bar .theme-toggle.compact,.campaign-module-session-bar .theme-toggle.compact{margin-left:auto}:root[data-theme=light] .theme-toggle{background:radial-gradient(circle at 20% 48%,#a061222e,#0000 30%),linear-gradient(#fffae2eb,#deb67794);box-shadow:inset 0 0 0 1px #ffffff57,0 10px 24px #67391924}:root[data-theme=light] .theme-toggle-orb{color:#fff7d7;background:radial-gradient(circle at 38% 30%,#f8e7b9,#9a4635 58%,#4d1814 100%);box-shadow:0 0 16px #73371c47,inset 0 0 0 1px #ffffff3d}:root[data-theme=light] .app-header,:root[data-theme=light] .panel,:root[data-theme=light] .game-side-column,:root[data-theme=light] .game-side-panel,:root[data-theme=light] .game-left-panel,:root[data-theme=light] .modal-card,:root[data-theme=light] .movable-window,:root[data-theme=light] .map-editor-context-menu{background:linear-gradient(180deg, var(--panel), var(--panel-strong));box-shadow:0 20px 54px var(--shadow), inset 0 0 0 1px #ffffff57}:root[data-theme=light] .nav-link,:root[data-theme=light] .ui-button,:root[data-theme=light] .icon-button,:root[data-theme=light] .tab,:root[data-theme=light] .chip,:root[data-theme=light] .game-back-button,:root[data-theme=light] .game-small-button,:root[data-theme=light] .game-chat-input button,:root[data-theme=light] .game-tool,:root[data-theme=light] .game-toolbar-toggle,:root[data-theme=light] .game-side-icon,:root[data-theme=light] .map-editor-project-card,:root[data-theme=light] .game-list-card,:root[data-theme=light] .module-import-library-card,:root[data-theme=light] .field input,:root[data-theme=light] .field textarea,:root[data-theme=light] .field select,:root[data-theme=light] .map-editor-field input,:root[data-theme=light] .map-editor-field textarea,:root[data-theme=light] .map-editor-field select,:root[data-theme=light] .themed-select-trigger{color:var(--text);background:#fffce88f}:root[data-theme=light] .nav-link:hover,:root[data-theme=light] .nav-link.active,:root[data-theme=light] .ui-button:hover,:root[data-theme=light] .icon-button:hover,:root[data-theme=light] .tab.active,:root[data-theme=light] .chip.active,:root[data-theme=light] .game-side-icon:hover,:root[data-theme=light] .game-side-icon.active,:root[data-theme=light] .game-tool:hover,:root[data-theme=light] .game-tool.active,:root[data-theme=light] .game-toolbar-toggle:hover,:root[data-theme=light] .game-toolbar-toggle.active{color:var(--wine-dark);border-color:var(--gold);background:#ffeebfe6}:root[data-theme=light] .game-side-rail,:root[data-theme=light] .game-toolbar,:root[data-theme=light] .game-toolbar-drawer,:root[data-theme=light] .map-editor-tool-rail{background:#fff8dc9e}:root[data-theme=light] .game-side-fire:before{opacity:.24;background:radial-gradient(at 18% 100%,#be7a2a57,#0000 68%),radial-gradient(at 52% 100%,#8c49274d,#0000 76%)}:root[data-theme=light] .game-side-spark{opacity:.34;filter:saturate(.85)}:root[data-theme=light] .game-loading-popover,:root[data-theme=light] .auth-alert,:root[data-theme=light] .form-alert{color:var(--text);border-color:var(--line);background:#fff7d8eb;box-shadow:0 18px 42px #6b472038}:root[data-theme=light] .game-map-canvas,:root[data-theme=light] .map-editor-pixi-stage{background-color:#f4dca62e}:root[data-theme=light] .muted,:root[data-theme=light] .app-brand-subtitle,:root[data-theme=light] .game-session-title span,:root[data-theme=light] .game-channel-context,:root[data-theme=light] .game-list-card small{color:var(--muted)}@media (width<=720px){.theme-toggle:not(.compact){min-width:38px;padding:4px}.theme-toggle:not(.compact) .theme-toggle-text{display:none}}:root[data-theme=light]{--light-parchment:#fffae5e0;--light-parchment-strong:#fff4ccf5;--light-parchment-soft:#fffae594;--light-ink-soft:#2b130dc7;--light-wine-surface:#7b2d24;--light-wine-surface-strong:#5a1b17;--light-on-wine:#fff7d7;--light-gold-surface:#a86c2029;--light-danger-surface:#9f31281f}:root[data-theme=light] input,:root[data-theme=light] textarea,:root[data-theme=light] select,:root[data-theme=light] .search-field,:root[data-theme=light] .campaign-invite-field input,:root[data-theme=light] .game-map-settings input,:root[data-theme=light] .game-left-player-move select,:root[data-theme=light] .game-module-search-field,:root[data-theme=light] .game-toolbar-ray-width input,:root[data-theme=light] .character-qr-copy input,:root[data-theme=light] .sheet-attack-form input,:root[data-theme=light] .sheet-attack-form select,:root[data-theme=light] .sheet-attack-form textarea,:root[data-theme=light] .sheet-edit-form input[type=text],:root[data-theme=light] .sheet-edit-form input[type=number],:root[data-theme=light] .sheet-edit-form select,:root[data-theme=light] .sheet-edit-form textarea{color:var(--text);background-color:#fffce8bd;box-shadow:inset 0 0 0 1px #ffffff52}:root[data-theme=light] input[type=range]{box-shadow:none;background:0 0}:root[data-theme=light] input::placeholder,:root[data-theme=light] textarea::placeholder{color:#7c5635b8}:root[data-theme=light] .mail-auth-panel{background:#fffaeed1}:root[data-theme=light] .ui-button.primary,:root[data-theme=light] .nav-link.active,:root[data-theme=light] .tab.active,:root[data-theme=light] .chip.active,:root[data-theme=light] .pill.active,:root[data-theme=light] .themed-select-option.active,:root[data-theme=light] .game-board-control.primary,:root[data-theme=light] .game-hp-editor-modes button.active,:root[data-theme=light] .character-roll-choice-group button.active,:root[data-theme=light] .character-roll-choice-group button:hover,:root[data-theme=light] .sheet-action-button.active,:root[data-theme=light] .marketplace-search-button,:root[data-theme=light] .mail-auth-submit{color:var(--light-on-wine);background:linear-gradient(180deg, #a84b37 0%, var(--light-wine-surface) 52%, var(--light-wine-surface-strong) 100%);text-shadow:0 1px 1px #21090675;border-color:#6b241fb8;box-shadow:inset 0 1px #fff3,0 8px 20px #5a281433}:root[data-theme=light] .ui-button.primary:hover,:root[data-theme=light] .nav-link.active:hover,:root[data-theme=light] .game-board-control.primary:hover,:root[data-theme=light] .marketplace-search-button:hover,:root[data-theme=light] .mail-auth-submit:hover:not(:disabled){color:var(--light-on-wine);border-color:var(--gold);background:linear-gradient(#b85842 0%,#873328 52%,#641e19 100%)}:root[data-theme=light] .mail-auth-form input{color:var(--text);background:#ffffffdb}:root[data-theme=light] .mail-auth-message.error{color:#70271f;background:#c24f3e1f}:root[data-theme=light] .mail-auth-message.success{color:#315d32;background:#53915521}:root[data-theme=light] .provider-button.github{color:var(--light-on-wine);background:linear-gradient(180deg, #a84b37 0%, var(--light-wine-surface) 52%, var(--light-wine-surface-strong) 100%);text-shadow:0 1px 1px #21090685;border-color:#5f2119c2;box-shadow:inset 0 1px #fff3,0 8px 20px #5a281433}:root[data-theme=light] .ui-button.primary svg,:root[data-theme=light] .nav-link.active svg,:root[data-theme=light] .tab.active svg,:root[data-theme=light] .chip.active svg,:root[data-theme=light] .game-board-control.primary svg,:root[data-theme=light] .sheet-action-button.active svg,:root[data-theme=light] .marketplace-search-button svg{color:currentColor;stroke:currentColor}:root[data-theme=light] .ui-button.danger,:root[data-theme=light] .icon-button.danger,:root[data-theme=light] .map-editor-context-menu button.danger,:root[data-theme=light] .game-board-context-menu button.danger,:root[data-theme=light] .sheet-edit-delete{color:#7d251e;background:#fff6e2b3;border-color:#9f312875}:root[data-theme=light] .ui-button.danger:hover,:root[data-theme=light] .icon-button.danger:hover,:root[data-theme=light] .map-editor-context-menu button.danger:hover,:root[data-theme=light] .game-board-context-menu button.danger:hover,:root[data-theme=light] .sheet-edit-delete:hover{color:var(--light-on-wine);background:linear-gradient(#a84b37,#7d251e);border-color:#7d251eb8}:root[data-theme=light] .game-initiative-list .character-avatar-token-inner>svg,:root[data-theme=light] .game-combat-portrait-strip .character-avatar-token-inner>svg{color:#ffe39a;filter:drop-shadow(0 0 2px #562216f2)drop-shadow(0 0 7px #de8f25e0)}:root[data-theme=light] .race-create-hero-mark,:root[data-theme=light] .race-module-type-icon,:root[data-theme=light] .notice-icon,:root[data-theme=light] .campaign-create-mark,:root[data-theme=light] .login-rune,:root[data-theme=light] .game-assignment-toggle-icon,:root[data-theme=light] .game-module-card-avatar,:root[data-theme=light] .character-window-sigil,:root[data-theme=light] .character-avatar-edit-mark,:root[data-theme=light] .game-chat-check-icon{color:var(--light-on-wine);background:radial-gradient(circle at 32% 26%, #fff7d73d, transparent 38%), linear-gradient(145deg, var(--light-wine-surface), var(--light-wine-surface-strong));border-color:#6b241f9e;box-shadow:inset 0 1px #ffffff29,0 8px 18px #5325142e}:root[data-theme=light] .race-module-type-card,:root[data-theme=light] .race-create-section,:root[data-theme=light] .art-card,:root[data-theme=light] .notification-item,:root[data-theme=light] .stat-card,:root[data-theme=light] .achievement-item,:root[data-theme=light] .friend-row,:root[data-theme=light] .campaign-invite-box,:root[data-theme=light] .campaign-cover-preview,:root[data-theme=light] .module-import-library-card,:root[data-theme=light] .marketplace-filter-drawer,:root[data-theme=light] .marketplace-category,:root[data-theme=light] .marketplace-empty{color:var(--text);background:var(--light-parchment-soft);box-shadow:inset 0 0 0 1px #ffffff47}:root[data-theme=light] .game-session-bar,:root[data-theme=light] .game-side-panel,:root[data-theme=light] .game-side-content,:root[data-theme=light] .game-left-panel,:root[data-theme=light] .game-left-scroll,:root[data-theme=light] .game-left-rail,:root[data-theme=light] .game-left-campaign-title,:root[data-theme=light] .game-left-list-item,:root[data-theme=light] .game-left-add-location,:root[data-theme=light] .game-left-folder,:root[data-theme=light] .game-left-channel-player,:root[data-theme=light] .game-assignment-popover,:root[data-theme=light] .game-map-settings,:root[data-theme=light] .game-map-switcher,:root[data-theme=light] .game-board-control,:root[data-theme=light] .game-list-card,:root[data-theme=light] .game-module-group-toggle,:root[data-theme=light] .game-module-card:is(button),:root[data-theme=light] .game-module-preview-feature,:root[data-theme=light] .game-help-card,:root[data-theme=light] .game-help-section,:root[data-theme=light] .game-help-row{color:var(--text);background:#fffae59e;box-shadow:inset 0 0 0 1px #ffffff3d}:root[data-theme=light] .game-left-list-item.active,:root[data-theme=light] .game-left-add-location:hover,:root[data-theme=light] .game-module-type-filters button.active,:root[data-theme=light] .game-module-group-toggle:hover,:root[data-theme=light] .game-module-card:is(button):hover,:root[data-theme=light] .game-list-card.hovered,:root[data-theme=light] .game-character-card:hover,:root[data-theme=light] .game-character-card.selected{color:var(--wine-dark);border-color:var(--gold);background:#ffecbceb}:root[data-theme=light] .game-left-list-item:has(.game-left-list-item-main:hover){color:var(--wine-dark);border-color:var(--gold);background:#ffecbceb}:root[data-theme=light] .game-toolbar,:root[data-theme=light] .game-toolbar-toggle,:root[data-theme=light] .game-toolbar-drawer,:root[data-theme=light] .game-side-rail,:root[data-theme=light] .map-editor-tool-rail{background:radial-gradient(circle at 10% 45%,#a86c201f,#0000 55%),#fff8dcc7;border-color:#8b562470;box-shadow:-8px 0 20px #6739191f}:root[data-theme=light] .game-tool,:root[data-theme=light] .game-side-icon,:root[data-theme=light] .map-editor-tool-button,:root[data-theme=light] .map-editor-session-bar .icon-button,:root[data-theme=light] .map-editor-session-action{color:#6b241f;background:#fffae5b3}:root[data-theme=light] .game-tool:hover,:root[data-theme=light] .game-tool.active,:root[data-theme=light] .game-side-icon:hover,:root[data-theme=light] .game-side-icon.active,:root[data-theme=light] .map-editor-tool-button:hover,:root[data-theme=light] .map-editor-tool-button.active{color:var(--light-on-wine);background:radial-gradient(circle,#9a4635,#5a1b17);border-color:#6b241f9e}:root[data-theme=light] .game-chat-panel{color:var(--text)}:root[data-theme=light] .game-chat-placeholder,:root[data-theme=light] .game-chat-message,:root[data-theme=light] .game-chat-check-row,:root[data-theme=light] .game-chat-check-die,:root[data-theme=light] .game-chat-sheet-meta,:root[data-theme=light] .game-chat-sheet-description,:root[data-theme=light] .game-chat-description-toggle{color:var(--text);background:#fffae5b3;border-color:#8b562447}:root[data-theme=light] .game-chat-message.own{color:var(--light-on-wine);background:radial-gradient(circle at 100% 0,#fff4c824,#0000 40%),linear-gradient(#884034,#6b241f);border-color:#6b241f80;box-shadow:0 10px 20px #6739191f}:root[data-theme=light] .game-chat-message.own header,:root[data-theme=light] .game-chat-message.own .game-chat-author strong,:root[data-theme=light] .game-chat-message.own .game-chat-author small,:root[data-theme=light] .game-chat-message.own .game-chat-check-modifier,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-meta small,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-meta strong,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-description{color:currentColor}:root[data-theme=light] .game-chat-check-row.damage{background:#a86c201a}:root[data-theme=light] .game-chat-check-die.selected{background:#a86c202e;border-color:#a86c20c7;box-shadow:inset 0 -2px #a86c20cc}:root[data-theme=light] .game-chat-check-die.natural-good{color:#244316;background:#4f7f3529}:root[data-theme=light] .game-chat-check-die.natural-bad,:root[data-theme=light] .game-chat-input-error,:root[data-theme=light] .form-error,:root[data-theme=light] .modal-error,:root[data-theme=light] .sheet-form-error,:root[data-theme=light] .game-module-preview-state.error,:root[data-theme=light] .game-board-error{color:#8b2d24}:root[data-theme=light] .game-chat-input{background:var(--light-surface-strong);box-shadow:0 -10px 24px #482a220f}:root[data-theme=light] .game-chat-input textarea{color:var(--text);background:var(--field)}:root[data-theme=light] .character-window,:root[data-theme=light] .character-sheet-embedded,:root[data-theme=light] .character-sheet-sidebar,:root[data-theme=light] .character-sheet-main,:root[data-theme=light] .character-sheet-tabs,:root[data-theme=light] .sheet-section,:root[data-theme=light] .sheet-edit-section,:root[data-theme=light] .sheet-list-card,:root[data-theme=light] .sheet-resource-card,:root[data-theme=light] .sheet-readonly-field,:root[data-theme=light] .sheet-metric,:root[data-theme=light] .sheet-money-grid>.sheet-money-card,:root[data-theme=light] .sheet-slot,:root[data-theme=light] .sheet-edit-ability,:root[data-theme=light] .sheet-edit-save-row,:root[data-theme=light] .sheet-edit-skill-row,:root[data-theme=light] .character-stat,:root[data-theme=light] .character-quick-rolls button,:root[data-theme=light] .character-passport,:root[data-theme=light] .character-avatar-editor,:root[data-theme=light] .character-avatar-drag-surface,:root[data-theme=light] .game-hp-editor{color:var(--text);background:#fffae5ad;box-shadow:inset 0 0 0 1px #ffffff3d}:root[data-theme=light] .character-window-titlebar,:root[data-theme=light] .character-sheet-embedded-header,:root[data-theme=light] .sheet-section-header{color:var(--text);background:#fff0c7b8;border-color:#8b562440}:root[data-theme=light] .character-sheet-tabs button{color:var(--muted);background:0 0}:root[data-theme=light] .character-sheet-tabs button:hover:not(.disabled),:root[data-theme=light] .character-sheet-tabs button.active{color:var(--light-on-wine);box-shadow:inset 0 -2px var(--gold);background:linear-gradient(#8f4031,#6b241f)}:root[data-theme=light] .sheet-section-header h2,:root[data-theme=light] .character-passport h2,:root[data-theme=light] .sheet-metric strong,:root[data-theme=light] .sheet-hp-primary strong,:root[data-theme=light] .sheet-resource-card strong,:root[data-theme=light] .sheet-card-title,:root[data-theme=light] .sheet-money-grid strong,:root[data-theme=light] .sheet-slot strong,:root[data-theme=light] .sheet-edit-section h2,:root[data-theme=light] .sheet-edit-modifier{color:var(--wine-dark)}:root[data-theme=light] .sheet-readonly-field span,:root[data-theme=light] .sheet-metric span,:root[data-theme=light] .sheet-resource-card span,:root[data-theme=light] .sheet-money-grid span,:root[data-theme=light] .sheet-section-badge,:root[data-theme=light] .sheet-attack-form label,:root[data-theme=light] .sheet-edit-basic-grid label,:root[data-theme=light] .sheet-edit-ability,:root[data-theme=light] .sheet-edit-textarea-field,:root[data-theme=light] .sheet-empty-state{color:var(--muted)}:root[data-theme=light] .sheet-hp-primary{background:linear-gradient(#ffecbce6,#a86c2024);border-color:#a86c2080}:root[data-theme=light] .sheet-section-toggle,:root[data-theme=light] .sheet-action-button,:root[data-theme=light] .sheet-card-actions button,:root[data-theme=light] .character-window-actions button,:root[data-theme=light] .game-hp-editor-modes button,:root[data-theme=light] .game-chat-sheet-action,:root[data-theme=light] .game-chat-description-toggle{color:var(--wine-dark);background:#fffce8b8;border-color:#8b56245c}:root[data-theme=light] .sheet-section-toggle:hover,:root[data-theme=light] .sheet-action-button:hover,:root[data-theme=light] .sheet-card-actions button:hover,:root[data-theme=light] .character-window-actions button:hover,:root[data-theme=light] .game-hp-editor-modes button:hover,:root[data-theme=light] .game-chat-sheet-action:hover,:root[data-theme=light] .game-chat-description-toggle:hover{color:var(--wine-dark);border-color:var(--gold);background:#ffecbceb}:root[data-theme=light] .sheet-resistance-chip{color:#274719;background:#4f7f351f;border-color:#4f7f3575}:root[data-theme=light] .sheet-resistance-chip.danger,:root[data-theme=light] .form-error,:root[data-theme=light] .auth-alert{color:#7d251e;background:#9f31281a;border-color:#9f312861}:root[data-theme=light] .map-editor-fullscreen-page,:root[data-theme=light] .map-editor-tools-column,:root[data-theme=light] .map-editor-tools-scroll,:root[data-theme=light] .map-editor-tool-section,:root[data-theme=light] .map-editor-asset-card,:root[data-theme=light] .map-editor-project-card,:root[data-theme=light] .map-editor-layer-card,:root[data-theme=light] .map-editor-context-menu{color:var(--text);background:#fffae5ad}:root[data-theme=light] .map-editor-project-card.active,:root[data-theme=light] .map-editor-layer-card:hover,:root[data-theme=light] .map-editor-layer-card.active,:root[data-theme=light] .map-editor-project-card:hover,:root[data-theme=light] .marketplace-category:hover,:root[data-theme=light] .marketplace-category.active{color:var(--wine-dark);border-color:var(--gold);background:#ffecbce6}:root[data-theme=light] .map-editor-project-preview,:root[data-theme=light] .map-editor-layer-card img,:root[data-theme=light] .game-module-preview-image,:root[data-theme=light] .character-qr-code{background-color:#f6dfaa;border-color:#8b56244d}:root[data-theme=light] .module-price,:root[data-theme=light] .status-pill,:root[data-theme=light] .card-preview-type-icon{color:var(--light-on-wine);background:#521d18c7;border-color:#fff7d757}:root[data-theme=light] .card-preview-ai-badge{color:#fff4e5;background:#6f2d37f0;border-color:#6f2d377a}:root[data-theme=light] .module-preview-ai-field{background:#6f2d371a;border-color:#6f2d374d}:root[data-theme=light] .module-preview-ai-field>svg{color:#7b303a}:root[data-theme=light] .module-price-sale .module-price-current,:root[data-theme=light] .module-price-discount{color:#214215}:root[data-theme=light] .game-map-chip,:root[data-theme=light] .game-map-marker,:root[data-theme=light] .game-token-name,:root[data-theme=light] .game-loading-popover{color:var(--light-on-wine);background:#521d18c7;border-color:#fff7d747}:root[data-theme=light] .game-map:after{box-shadow:inset 0 0 92px 24px #502b1452}:root[data-theme=light] .modal-backdrop,:root[data-theme=light] .game-hp-editor-backdrop{background:#46261247}:root[data-theme=light]{--panel:#fffbe8e6;--panel-strong:#fff2cff5;--card:#fffdefc2;--field:#fff8e0d1;--line:#804b206b;--shadow:#67391929;--light-parchment:#fffdefeb;--light-parchment-strong:#fff8e0fa;--light-parchment-soft:#fffdefb8;--light-panel-floor:#f4dfb7;--light-panel-floor-strong:#efd2a1}:root[data-theme=light] .app-header,:root[data-theme=light] .panel,:root[data-theme=light] .modal-card,:root[data-theme=light] .movable-window,:root[data-theme=light] .game-side-column,:root[data-theme=light] .game-side-panel,:root[data-theme=light] .game-left-panel,:root[data-theme=light] .map-editor-context-menu,:root[data-theme=light] .campaign-module-session-bar,:root[data-theme=light] .map-editor-session-bar,:root[data-theme=light] .game-session-bar{color:var(--text);background:linear-gradient(#fffcebeb,#fff3d2f5)}:root[data-theme=light] .race-create-section,:root[data-theme=light] .race-module-type-card,:root[data-theme=light] .module-create-choice-card,:root[data-theme=light] .art-card,:root[data-theme=light] .notification-item,:root[data-theme=light] .stat-card,:root[data-theme=light] .achievement-item,:root[data-theme=light] .friend-row,:root[data-theme=light] .campaign-invite-box,:root[data-theme=light] .campaign-cover-preview,:root[data-theme=light] .module-import-library-card,:root[data-theme=light] .marketplace-filter-drawer,:root[data-theme=light] .marketplace-category,:root[data-theme=light] .marketplace-empty,:root[data-theme=light] .game-left-campaign-title,:root[data-theme=light] .game-left-list-item,:root[data-theme=light] .game-left-add-location,:root[data-theme=light] .game-left-folder,:root[data-theme=light] .game-left-channel-player,:root[data-theme=light] .game-assignment-popover,:root[data-theme=light] .game-map-settings,:root[data-theme=light] .game-map-switcher,:root[data-theme=light] .game-board-control,:root[data-theme=light] .game-list-card,:root[data-theme=light] .game-module-group-toggle,:root[data-theme=light] .game-module-card:is(button),:root[data-theme=light] .game-module-preview-feature,:root[data-theme=light] .game-help-card,:root[data-theme=light] .game-help-section,:root[data-theme=light] .game-help-row,:root[data-theme=light] .character-window,:root[data-theme=light] .character-sheet-embedded,:root[data-theme=light] .character-sheet-sidebar,:root[data-theme=light] .character-sheet-main,:root[data-theme=light] .character-sheet-tabs,:root[data-theme=light] .sheet-section,:root[data-theme=light] .sheet-edit-section,:root[data-theme=light] .sheet-list-card,:root[data-theme=light] .sheet-resource-card,:root[data-theme=light] .sheet-readonly-field,:root[data-theme=light] .sheet-metric,:root[data-theme=light] .sheet-money-grid>.sheet-money-card,:root[data-theme=light] .sheet-slot,:root[data-theme=light] .sheet-edit-ability,:root[data-theme=light] .sheet-edit-save-row,:root[data-theme=light] .sheet-edit-skill-row,:root[data-theme=light] .character-stat,:root[data-theme=light] .character-quick-rolls button,:root[data-theme=light] .character-passport,:root[data-theme=light] .character-avatar-editor,:root[data-theme=light] .character-avatar-drag-surface,:root[data-theme=light] .game-hp-editor,:root[data-theme=light] .map-editor-fullscreen-page,:root[data-theme=light] .map-editor-tools-column,:root[data-theme=light] .map-editor-tools-scroll,:root[data-theme=light] .map-editor-tool-section,:root[data-theme=light] .map-editor-asset-card,:root[data-theme=light] .map-editor-project-card,:root[data-theme=light] .map-editor-layer-card{color:var(--text);background:#fffdefc7}:root[data-theme=light] .game-map-canvas,:root[data-theme=light] .map-editor-pixi-stage,:root[data-theme=light] .map-editor-project-preview,:root[data-theme=light] .map-editor-layer-card img,:root[data-theme=light] .game-module-preview-image,:root[data-theme=light] .character-qr-code{background-color:#f8e8c3}:root[data-theme=light] .module-create-choice-card:hover,:root[data-theme=light] .race-module-type-card:hover,:root[data-theme=light] .game-left-list-item.active,:root[data-theme=light] .game-left-add-location:hover,:root[data-theme=light] .game-module-type-filters button.active,:root[data-theme=light] .game-module-group-toggle:hover,:root[data-theme=light] .game-module-card:is(button):hover,:root[data-theme=light] .game-list-card.hovered,:root[data-theme=light] .game-character-card:hover,:root[data-theme=light] .game-character-card.selected,:root[data-theme=light] .map-editor-project-card.active,:root[data-theme=light] .map-editor-layer-card:hover,:root[data-theme=light] .map-editor-layer-card.active,:root[data-theme=light] .map-editor-project-card:hover,:root[data-theme=light] .marketplace-category:hover,:root[data-theme=light] .marketplace-category.active{color:var(--wine-dark);border-color:var(--gold);background:#fff2ccf5}:root[data-theme=light] .game-left-list-item:has(.game-left-list-item-main:hover){color:var(--wine-dark);border-color:var(--gold);background:#fff2ccf5}:root[data-theme=light] .race-create-hero-mark,:root[data-theme=light] .race-module-type-icon,:root[data-theme=light] .module-create-choice-card .race-module-type-icon,:root[data-theme=light] .notice-icon,:root[data-theme=light] .campaign-create-mark,:root[data-theme=light] .login-rune,:root[data-theme=light] .game-assignment-toggle-icon,:root[data-theme=light] .game-module-card-avatar,:root[data-theme=light] .character-window-sigil,:root[data-theme=light] .character-avatar-edit-mark,:root[data-theme=light] .game-chat-check-icon{color:#fff9e4;background:linear-gradient(145deg,#8d3b2d,#521d18);border-color:#521d18bd;box-shadow:inset 0 1px #ffffff1a,0 8px 18px #53251433}:root[data-theme=light] .module-create-choice-card .race-module-type-icon svg,:root[data-theme=light] .race-module-type-icon svg,:root[data-theme=light] .game-module-card-avatar svg,:root[data-theme=light] .game-chat-check-icon svg{stroke:currentColor}:root[data-theme=light] .card-preview-default-placeholder,:root[data-theme=light] .module-view-default-placeholder{color:var(--light-on-wine)}:root[data-theme=light] .floating-tooltip,:root[data-theme=light] .floating-tooltip.race-card-description-tooltip{color:var(--text);background:#fffdeffa;border-color:#804b2080;box-shadow:0 16px 36px #67391933}:root[data-theme=light] .game-module-preview-description,:root[data-theme=light] .game-module-preview-description p,:root[data-theme=light] .game-module-preview-feature p,:root[data-theme=light] .game-module-preview-detail,:root[data-theme=light] .game-module-preview-content p{color:var(--text)}:root[data-theme=light] .game-module-preview-type,:root[data-theme=light] .game-module-preview-count,:root[data-theme=light] .game-module-preview-state,:root[data-theme=light] .game-module-preview-feature small{color:var(--muted)}:root[data-theme=light] .game-chat-message.own{color:#fff9e4;background:linear-gradient(#884034,#5f201b);border-color:#fff7d752}:root[data-theme=light] .game-chat-message.own p,:root[data-theme=light] .game-chat-message.own b,:root[data-theme=light] .game-chat-message.own header,:root[data-theme=light] .game-chat-message.own .game-chat-author strong,:root[data-theme=light] .game-chat-message.own .game-chat-author small,:root[data-theme=light] .game-chat-message.own .game-chat-check-card,:root[data-theme=light] .game-chat-message.own .game-chat-check-card b,:root[data-theme=light] .game-chat-message.own .game-chat-check-row>strong,:root[data-theme=light] .game-chat-message.own .game-chat-check-modifier,:root[data-theme=light] .game-chat-message.own .game-chat-roll-total,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-card,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-card>b,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-meta,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-meta span,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-meta small,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-meta strong,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-description{color:#fff9e4}:root[data-theme=light] .game-chat-message.own .game-chat-description-toggle{color:#fff9e4;background:#2b130d57;border-color:#fff9e485}:root[data-theme=light] .game-chat-message.own .game-chat-description-toggle:hover{color:#fff;background:#2b130d80;border-color:#fff9e4c7}:root[data-theme=light] .game-chat-message.own .game-chat-check-row,:root[data-theme=light] .game-chat-message.own .game-chat-check-die,:root[data-theme=light] .game-chat-message.own .game-chat-sheet-meta{background:#fff9e41f;border-color:#fff9e447}:root[data-theme=light] .game-chat-message.own .game-chat-check-die.selected{background:#ffe8aa2e;border-color:#ffe8aadb;box-shadow:inset 0 -2px #ffe8aacc}:root[data-theme=light] .ui-button.primary,:root[data-theme=light] .ui-button.danger:hover,:root[data-theme=light] .icon-button.danger:hover,:root[data-theme=light] .nav-link.active,:root[data-theme=light] .tab.active,:root[data-theme=light] .chip.active,:root[data-theme=light] .pill.active,:root[data-theme=light] .themed-select-option.active,:root[data-theme=light] .game-tool:hover,:root[data-theme=light] .game-tool.active,:root[data-theme=light] .game-side-icon:hover,:root[data-theme=light] .game-side-icon.active,:root[data-theme=light] .map-editor-tool-button:hover,:root[data-theme=light] .map-editor-tool-button.active,:root[data-theme=light] .character-sheet-tabs button:hover:not(.disabled),:root[data-theme=light] .character-sheet-tabs button.active{color:#fff9e4;text-shadow:0 1px 1px #230c0852}:root[data-theme=light] .ui-button.primary svg,:root[data-theme=light] .ui-button.danger:hover svg,:root[data-theme=light] .icon-button.danger:hover svg,:root[data-theme=light] .nav-link.active svg,:root[data-theme=light] .tab.active svg,:root[data-theme=light] .chip.active svg,:root[data-theme=light] .game-tool:hover svg,:root[data-theme=light] .game-tool.active svg,:root[data-theme=light] .game-side-icon:hover svg,:root[data-theme=light] .game-side-icon.active svg,:root[data-theme=light] .map-editor-tool-button:hover svg,:root[data-theme=light] .map-editor-tool-button.active svg{stroke:currentColor}.theme-toggle,.theme-toggle.compact{border:1px solid var(--line);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text);box-shadow:none;background:#0003;border-radius:50%;padding:0}.theme-toggle:hover,.theme-toggle.compact:hover{border-color:var(--gold);box-shadow:none;background-color:#d88b3533;transform:translateY(0)}.theme-toggle-orb,.theme-toggle.compact .theme-toggle-orb,:root[data-theme=light] .theme-toggle-orb{color:currentColor;width:auto;height:auto;box-shadow:none;background:0 0;border:0;border-radius:0}.theme-toggle-orb svg{stroke:currentColor;width:18px;height:18px}:root[data-theme=light] .theme-toggle,:root[data-theme=light] .theme-toggle.compact{color:var(--text);box-shadow:none;background:#fffce88f}:root[data-theme=light] .theme-toggle:hover,:root[data-theme=light] .theme-toggle.compact:hover{color:var(--wine-dark);border-color:var(--gold);background:#ffeebfe6}.game-session-bar .theme-toggle.compact,.map-editor-session-bar .theme-toggle.compact,.campaign-module-session-bar .theme-toggle.compact{border-radius:10px;width:30px;min-width:30px;height:30px;min-height:30px}:root[data-theme=light] .module-price-sale,:root[data-theme=light] .card-preview-price .module-price-sale{color:#fff9e4;background:radial-gradient(circle at 100% 0,#fff4c82e,#0000 42%),linear-gradient(#5f7f3a,#315323);border-color:#fff9e475;box-shadow:inset 0 1px #ffffff1f,0 8px 20px #3a59202e}:root[data-theme=light] .module-price-sale .module-price-current,:root[data-theme=light] .card-preview-price .module-price-sale .module-price-current{color:#fff9e4;text-shadow:0 1px 1px #152a0d52}:root[data-theme=light] .module-price-sale .module-price-old,:root[data-theme=light] .card-preview-price .module-price-sale .module-price-old{color:#fff9e4bd}:root[data-theme=light] .module-price-discount,:root[data-theme=light] .card-preview-price .module-price-discount{color:#fff9e4;text-shadow:0 1px 1px #152a0d61;background:#234b16bd;border-color:#fff9e480}:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage{color:#fff9e4;background:radial-gradient(circle at 100% 0,#fff4c829,#0000 48%),#fff9e424;border-color:#fff9e457}:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage b,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage strong,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage span,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage small,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage .game-chat-roll-total,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage .game-chat-check-modifier,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage .game-chat-check-dice{color:#fff9e4}:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage .game-chat-check-icon{color:#ffe8a6}:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage .game-chat-check-die{color:#fff9e4;background:#fff9e421;border-color:#fff9e44d}:root[data-theme=light] .game-chat-message.own .game-chat-check-row.damage .game-chat-check-die.selected{color:#fff9e4;background:#ffe8aa33;border-color:#ffe8aae0}:root[data-theme=light] .game-chat-check-row.check{color:var(--text);background:radial-gradient(circle at 100% 0,#a86c201a,#0000 44%),#fffae5db;border-color:#8b56245c}:root[data-theme=light] .game-chat-check-row.check b,:root[data-theme=light] .game-chat-check-row.check strong,:root[data-theme=light] .game-chat-check-row.check span,:root[data-theme=light] .game-chat-check-row.check small,:root[data-theme=light] .game-chat-check-row.check .game-chat-roll-total,:root[data-theme=light] .game-chat-check-row.check .game-chat-check-modifier{color:var(--text)}:root[data-theme=light] .game-chat-check-row.check .game-chat-check-die{color:#2b130d;text-shadow:none;background:linear-gradient(#fffce8fa,#f4dca6db);border-color:#8b562461;box-shadow:inset 0 -2px #a86c2057,0 2px 8px #67391914}:root[data-theme=light] .game-chat-check-row.check .game-chat-check-die.selected{color:#2b130d;background:linear-gradient(#fff3bd,#e8ba68);border-color:#a86c20db;box-shadow:inset 0 -2px #a86c20d1,0 0 12px #a86c202e}:root[data-theme=light] .game-chat-check-row.check .game-chat-check-die.natural-good{color:#1f3f16;background:linear-gradient(#ecffd8fa,#bee09ed1);border-color:#4f7f359e;box-shadow:inset 0 -2px #4f7f358f,0 0 12px #4f7f3529}:root[data-theme=light] .game-chat-check-row.check .game-chat-check-die.natural-bad{color:#7b241d;background:linear-gradient(#ffe5ddfa,#e6a48fc7);border-color:#9f31289e;box-shadow:inset 0 -2px #9f31288a,0 0 12px #9f312824}:root[data-theme=light] .game-chat-message.own .game-chat-check-row.check{color:#fff9e4;background:radial-gradient(circle at 100% 0,#fff4c829,#0000 48%),#fff9e424;border-color:#fff9e457}:root[data-theme=light] .game-chat-message.own .game-chat-check-row.check b,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.check strong,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.check span,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.check small,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.check .game-chat-roll-total,:root[data-theme=light] .game-chat-message.own .game-chat-check-row.check .game-chat-check-modifier{color:#fff9e4}:root[data-theme=light] .game-chat-message.own .game-chat-check-row.check .game-chat-check-die{color:#2b130d;text-shadow:none;background:linear-gradient(#fff7d7,#e6c27a);border-color:#fff9e475;box-shadow:inset 0 -2px #ffe8aac7,0 2px 8px #230c082e}:root[data-theme=light] .game-chat-message.own .game-chat-check-row.check .game-chat-check-die.selected{color:#2b130d;background:linear-gradient(#fff1b4,#dba348);border-color:#ffe8aae6}:root[data-theme=light] .game-chat-sheet-description{color:var(--text);background:#fffce8c7;border-left-color:#a86c209e}:root[data-theme=light] .game-chat-message.own .game-chat-sheet-description{color:#fff9e4;text-shadow:0 1px 1px #230c0847;background:#fff9e41f;border-left-color:#ffe8aac7}:root[data-theme=light] .game-library-folders,:root[data-theme=light] .personal-image-card,:root[data-theme=light] .storage-plan-option,:root[data-theme=light] .subscription-plan-card,:root[data-theme=light] .storage-progress{color:var(--text);border-color:var(--line);background:var(--light-parchment-soft);box-shadow:inset 0 0 0 1px #fff3}:root[data-theme=light] .subscription-plan-card{background:linear-gradient(180deg, var(--light-parchment), var(--light-parchment-strong));box-shadow:0 16px 36px #693c1d1f,inset 0 0 0 1px #ffffff57}:root[data-theme=light] .subscription-plan-card.active,:root[data-theme=light] .storage-plan-option.active,:root[data-theme=light] .storage-folder-row.active,:root[data-theme=light] .game-library-folder-row.active,:root[data-theme=light] .personal-image-card-selected{border-color:var(--gold);background:#ffeebfe6;box-shadow:0 0 0 1px #a86c203d}:root[data-theme=light] .personal-image-card:hover,:root[data-theme=light] .personal-image-card:focus-within,:root[data-theme=light] .personal-image-dropzone:hover,:root[data-theme=light] .personal-image-dropzone:focus-visible,:root[data-theme=light] button.storage-folder-row:hover,:root[data-theme=light] button.game-library-folder-row:hover{border-color:var(--gold);background:#ffeebfbd}:root[data-theme=light] .personal-image-card img{background:#6c2d2114;box-shadow:inset 0 0 0 1px #8b56242e}:root[data-theme=light] .storage-plan-select select,:root[data-theme=light] .floating-tooltip.storage-usage-tooltip{color:var(--text);background:var(--light-parchment-strong);border-color:var(--line);box-shadow:0 12px 30px #693c1d2e}:root[data-theme=light] .storage-progress>span{background:linear-gradient(90deg, var(--copper), var(--gold))}:root[data-theme=light] .subscription-plan-price strong,:root[data-theme=light] .subscription-plan-features svg,:root[data-theme=light] .storage-countdown strong{color:var(--wine)}:root[data-theme=light] .app-toast.error{color:var(--wine-dark);background:#ffefddf5}.markdown-editor,.markdown-content{--markdown-text-blue:#93c5fd;--markdown-text-red:#fca5a5;--markdown-text-green:#86efac}:root[data-theme=light] .markdown-editor,:root[data-theme=light] .markdown-content{--markdown-text-blue:#1d4ed8;--markdown-text-red:#b91c1c;--markdown-text-green:#15803d}.markdown-editor{border:1px solid var(--line);border-radius:var(--radius-md,12px);background:var(--surface,var(--panel));width:100%;min-width:0;transition:border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.markdown-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.markdown-editor.disabled{opacity:.68;pointer-events:none}.markdown-editor-toolbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong,var(--panel)) 88%, var(--accent) 12%);align-items:center;gap:.25rem;min-height:2.55rem;padding:.35rem .5rem;display:flex;overflow-x:auto}.markdown-editor-toolbar button,.markdown-table-builder-close{width:2rem;height:2rem;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.markdown-editor-toolbar button:hover,.markdown-editor-toolbar button.active,.markdown-table-builder-close:hover{border-color:var(--line);background:color-mix(in srgb, var(--accent) 14%, transparent)}.markdown-editor-toolbar button:disabled{cursor:not-allowed;opacity:.45}.markdown-editor-toolbar-separator{background:var(--line);align-self:stretch;width:1px;margin:.15rem .25rem}.markdown-editor-color-label{width:1.4rem;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.markdown-editor-toolbar .markdown-highlight-button{border-color:color-mix(in srgb, var(--text) 14%, transparent);width:1.75rem;height:1.75rem;font-size:.92rem;font-weight:800}.markdown-editor-toolbar .markdown-highlight-button:before{content:"A"}.markdown-highlight-button.blue{background:color-mix(in srgb, var(--markdown-text-blue) 12%, transparent);color:var(--markdown-text-blue)}.markdown-highlight-button.red{background:color-mix(in srgb, var(--markdown-text-red) 12%, transparent);color:var(--markdown-text-red)}.markdown-highlight-button.green{background:color-mix(in srgb, var(--markdown-text-green) 12%, transparent);color:var(--markdown-text-green)}.markdown-content [data-text-color=blue],.markdown-content mark[data-highlight=blue]{color:var(--markdown-text-blue);background:0 0}.markdown-content [data-text-color=red],.markdown-content mark[data-highlight=red]{color:var(--markdown-text-red);background:0 0}.markdown-content [data-text-color=green],.markdown-content mark[data-highlight=green]{color:var(--markdown-text-green);background:0 0}.markdown-content mark[data-highlight]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:0;padding:0}.markdown-table-builder{border-bottom:1px solid var(--line);background:var(--surface,var(--panel));align-items:end;gap:.65rem;padding:.65rem 2.8rem .65rem .75rem;display:flex;position:relative}.markdown-table-builder label{color:var(--muted);gap:.25rem;font-size:.78rem;display:grid}.markdown-table-builder input{width:6rem;min-width:0}.markdown-table-builder-close{position:absolute;top:.45rem;right:.45rem}.markdown-editor-content{white-space:normal;word-break:break-word;outline:none;width:100%;padding:.85rem .95rem;overflow-y:auto}.markdown-editor-content:empty:before,.markdown-editor.empty .markdown-editor-content:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.markdown-editor-native-input{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.markdown-content{word-break:break-word;min-width:0;line-height:1.58}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre,.markdown-content .markdown-table-scroll{margin:.65em 0}.markdown-content ul,.markdown-content ol{padding-left:1.6rem}.markdown-content li+li{margin-top:.22em}.markdown-content blockquote{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--muted);padding:.45rem .8rem}.markdown-content code{background:color-mix(in srgb, var(--text) 9%, transparent);border-radius:.3em;padding:.08em .3em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em}.markdown-content pre{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong,var(--panel)) 84%, #000 16%);border-radius:.6rem;max-width:100%;padding:.8rem;overflow:auto}.markdown-content pre code{background:0 0;padding:0}.markdown-content a{color:var(--accent);text-underline-offset:.16em;text-decoration:underline}.markdown-editor-content::highlight(markdown-dice-editor){background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--text);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 52%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 52%, transparent);text-decoration-thickness:.08em}.markdown-dice{border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);background:color-mix(in srgb, var(--accent) 13%, transparent);color:var(--text);white-space:nowrap;border-radius:999px;padding:.04em .34em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700;display:inline-block}.markdown-table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto hidden}.markdown-content table{border-collapse:collapse;background:var(--surface,var(--panel));width:max-content;min-width:100%}.markdown-content th,.markdown-content td{border:1px solid var(--line);text-align:left;vertical-align:top;white-space:normal;min-width:8rem;max-width:30rem;padding:.55rem .7rem}.markdown-content th{background:color-mix(in srgb, var(--accent) 10%, var(--surface,var(--panel)));font-weight:700}.markdown-editor-content th,.markdown-editor-content td{outline:none}.markdown-editor-content th:focus,.markdown-editor-content td:focus,.markdown-editor-content th:focus-within,.markdown-editor-content td:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.markdown-content.compact{font-size:inherit;line-height:1.42}@media (width<=640px){.markdown-editor{flex-direction:column;display:flex}.markdown-editor-content{scroll-padding-bottom:calc(var(--markdown-mobile-toolbar-height,0px) + 1rem);order:1}.markdown-table-builder{border-top:1px solid var(--line);border-bottom:0;flex-direction:column;order:2;align-items:stretch}.markdown-editor-toolbar{border-top:1px solid var(--line);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-bottom:0;flex-wrap:nowrap;order:3;align-content:center;overflow:auto hidden}.markdown-editor-toolbar::-webkit-scrollbar{display:none}.markdown-editor-toolbar-separator,.markdown-editor-toolbar-spacer{display:none}.markdown-editor.mobile-toolbar-floating:after{content:"";order:3;flex:0 0 var(--markdown-mobile-toolbar-height,2.55rem);height:var(--markdown-mobile-toolbar-height,2.55rem)}.markdown-editor.mobile-toolbar-floating .markdown-editor-toolbar{z-index:1400;top:var(--markdown-mobile-toolbar-top);left:var(--markdown-mobile-toolbar-left);width:var(--markdown-mobile-toolbar-width);border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong,var(--panel)) 94%, var(--accent) 6%);touch-action:manipulation;border-radius:.8rem;max-width:calc(100vw - 1rem);position:fixed;box-shadow:0 12px 32px #00000047}.markdown-table-builder input{width:100%}}.game-chat-message .game-chat-message-body{min-width:0;color:inherit}.game-chat-message.own .markdown-content{--markdown-text-blue:#c7ddff;--markdown-text-red:#ffc4c4;--markdown-text-green:#c8f7d4;color:inherit}.game-chat-message.own .markdown-content [data-text-color],.game-chat-message.own .markdown-content mark[data-highlight]{text-shadow:0 1px 1px #1e05057a;font-weight:650}.game-chat-message.own .markdown-content table{color:inherit;background:#18050552}.game-chat-message.own .markdown-content th,.game-chat-message.own .markdown-content td{border-color:#fff9e44d}.game-chat-message.own .markdown-content th,.game-chat-message.own .markdown-content .markdown-dice,.game-chat-message.own .markdown-content code{color:inherit;background:#fff9e41f}:root[data-theme=light] .game-left-panel.collapsed,:root[data-theme=light] .game-left-panel.collapsed .game-left-rail{box-shadow:none;background:0 0;border-color:#0000}:root[data-theme=light] .game-left-panel.collapsed .game-left-collapse{color:#fff9e4;background:#521d18c7;border-color:#5f201b94;box-shadow:0 4px 12px #50231429}.markdown-table-frame{min-width:0;max-width:100%;position:relative}.markdown-table-frame>.markdown-table-scroll{max-width:100%}.markdown-table-expand,.markdown-table-fullscreen-close{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--surface-strong,var(--panel)) 92%, transparent);width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;border-radius:.55rem;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 5px 16px #00000038}.markdown-table-expand{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:absolute;top:.4rem;right:.4rem}.markdown-table-expand:hover,.markdown-table-expand:focus-visible,.markdown-table-fullscreen-close:hover,.markdown-table-fullscreen-close:focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--surface-strong,var(--panel)) 78%, var(--accent) 22%);outline:none}.markdown-table-expand svg,.markdown-table-fullscreen-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.markdown-editor-content .markdown-table-expand{-webkit-user-select:none;user-select:none}.markdown-table-fullscreen-backdrop{z-index:2147483000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08070ad1;width:100vw;height:100dvh;padding:clamp(.45rem,1.5vw,1.25rem);display:flex;position:fixed;inset:0}.markdown-table-fullscreen-dialog{border:1px solid var(--line);background:var(--surface,var(--panel));min-width:0;min-height:0;color:var(--text);border-radius:clamp(.7rem,1.4vw,1.1rem);flex-direction:column;flex:auto;display:flex;overflow:hidden;box-shadow:0 28px 80px #00000085}.markdown-table-fullscreen-header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong,var(--panel)) 90%, var(--accent) 10%);flex:none;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding:.65rem .75rem .65rem 1rem;display:flex}.markdown-table-fullscreen-header h2{margin:0;font-size:clamp(1rem,1.6vw,1.25rem)}.markdown-table-fullscreen-content{flex:auto;min-width:0;min-height:0;padding:clamp(.55rem,1.2vw,1rem);display:flex;overflow:hidden}.markdown-table-fullscreen-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-width:0;min-height:0;overflow:auto}.markdown-table-fullscreen-scroll table{width:max-content;min-width:100%;margin:0}.markdown-table-fullscreen-scroll th,.markdown-table-fullscreen-scroll td{min-width:10rem;max-width:42rem}:root[data-theme=light] .markdown-table-fullscreen-backdrop{background:#48312275}@media (width<=640px){.markdown-table-fullscreen-backdrop{padding:0}.markdown-table-fullscreen-dialog{border:0;border-radius:0}.markdown-table-fullscreen-content{padding:.45rem}}.race-image-frame.image-file-drop-active,.npc-token-frame.image-file-drop-active,.campaign-cover-preview.image-file-drop-active,.character-avatar-file-picker.image-file-drop-active,.personal-image-dropzone.image-file-drop-active{border-color:var(--gold);box-shadow:0 0 0 3px #d88b3533}.character-avatar-drag-surface.image-file-drop-active .character-avatar-token{outline:3px solid var(--gold);outline-offset:4px}:root[data-theme=light]{--light-canvas:#f6eee7;--light-canvas-top:#fffdf8;--light-canvas-middle:#f7eadf;--light-canvas-bottom:#ead1bd;--light-surface:#fffdf8f5;--light-surface-strong:#f8ece0fa;--light-surface-soft:#fffdf8d1;--light-surface-hover:#f8e0c7f0;--light-border:#70372b4d;--light-border-strong:#9a463580;--light-text:#321a15;--light-muted-text:#73564d;--light-accent-surface:#7d3028;--light-accent-surface-strong:#572019;--light-on-accent:#fffaf0;--text:var(--light-text);--muted:var(--light-muted-text);--line:var(--light-border);--panel:var(--light-surface);--panel-strong:var(--light-surface-strong);--card:var(--light-surface-soft);--field:#fffcf7f0;--shadow:#5b302329;--color-quinary:var(--light-canvas);--app-bg:var(--light-canvas);--light-parchment:var(--light-surface);--light-parchment-strong:var(--light-surface-strong);--light-parchment-soft:var(--light-surface-soft);--light-wine-surface:var(--light-accent-surface);--light-wine-surface-strong:var(--light-accent-surface-strong);--light-on-wine:var(--light-on-accent)}:root[data-theme=light] body{background:var(--light-canvas)}:root[data-theme=light] .app-header,:root[data-theme=light] .panel,:root[data-theme=light] .modal-card,:root[data-theme=light] .movable-window,:root[data-theme=light] .game-side-column,:root[data-theme=light] .game-side-panel,:root[data-theme=light] .game-left-panel,:root[data-theme=light] .campaign-module-session-bar,:root[data-theme=light] .map-editor-session-bar,:root[data-theme=light] .game-session-bar{color:var(--light-text);border-color:var(--light-border);background:linear-gradient(180deg, var(--light-surface), var(--light-surface-strong));box-shadow:0 20px 54px #5b302324,inset 0 0 0 1px #ffffff80}:root[data-theme=light] .character-roll-dialog .modal-copy strong{color:var(--light-text)}:root[data-theme=light] .character-roll-dialog .modal-copy span{color:var(--light-muted-text)}:root[data-theme=light] .character-roll-choice-group button{color:var(--light-text);border-color:var(--light-border);background:#fffffcd6;box-shadow:inset 0 0 0 1px #ffffff61}:root[data-theme=light] .character-roll-choice-group button:hover,:root[data-theme=light] .character-roll-choice-group button.active{color:var(--light-on-accent);border-color:var(--light-border-strong);background:linear-gradient(180deg, var(--light-accent-surface), var(--light-accent-surface-strong));text-shadow:0 1px 1px #230c0852}:root[data-theme=light] .character-roll-dialog kbd{color:var(--light-text);background:#fae8d3e6;border-color:#70372b57;box-shadow:inset 0 -1px #70372b33}:root[data-theme=light] .character-roll-choice-group button:hover kbd,:root[data-theme=light] .character-roll-choice-group button.active kbd,:root[data-theme=light] .character-roll-actions .ui-button.primary kbd{color:var(--light-on-accent);background:#fffaf01f;border-color:#fffaf06b}:root[data-theme=light] .game-left-player-menu{color:var(--light-text);border-color:var(--light-border-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#fffefafc,#f7e8dbfc);box-shadow:0 18px 50px #5b30233d,inset 0 0 0 1px #ffffff8f}:root[data-theme=light] .game-left-player-menu-title{color:var(--light-muted-text);border-bottom:1px solid #70372b29}:root[data-theme=light] .game-left-player-menu button{color:var(--light-text)}:root[data-theme=light] .game-left-player-menu button:hover,:root[data-theme=light] .game-left-player-menu button:focus-visible{color:var(--light-on-accent);background:linear-gradient(180deg, var(--light-accent-surface), var(--light-accent-surface-strong));outline:none}:root[data-theme=light] .game-chat-message.own .game-chat-check-card.attack .game-chat-check-die{color:var(--light-text);text-shadow:none;background:linear-gradient(#fffdf7,#f0d3a4);border-color:#fffaf085;box-shadow:inset 0 -2px #975b247a,0 2px 8px #230c082e}:root[data-theme=light] .game-chat-message.own .game-chat-check-card.attack .game-chat-check-die.selected{color:#28140f;background:linear-gradient(#fff2bd,#d99b3f);border-color:#ffe8aaeb;box-shadow:inset 0 -2px #7d431994,0 0 12px #ffda8b3d}:root[data-theme=light] .game-chat-message.own .game-chat-check-card.attack .game-chat-check-die.natural-good{color:#17350f;background:linear-gradient(#efffe3,#a9d684);border-color:#3a6926b8;box-shadow:inset 0 -2px #3a692699,0 0 12px #3a692633}:root[data-theme=light] .game-chat-message.own .game-chat-check-card.attack .game-chat-check-die.natural-bad{color:#6d1f19;background:linear-gradient(#ffece7,#e8a38f);border-color:#9f3128b8;box-shadow:inset 0 -2px #9f312894,0 0 12px #9f31282e}:root[data-theme=light] .game-chat-message.own .game-chat-check-card.attack .game-chat-check-die svg{color:currentColor;stroke:currentColor}:root[data-theme=light] .race-check-item{color:var(--light-muted-text)}:root[data-theme=light] .race-check-item svg{color:#70372b6b;background:#fffffce6;border-color:#70372b57;box-shadow:inset 0 0 0 1px #ffffff75}:root[data-theme=light] .race-check-item.ok{color:#345724}:root[data-theme=light] .race-check-item.ok svg{color:#fff;background:linear-gradient(#6b9c4e,#3e692c);border-color:#456f31;box-shadow:inset 0 1px #ffffff47,0 0 0 2px #4f7f351f}:root[data-theme=light] .module-dependency-panel{border:1px solid var(--light-border);color:var(--light-text);background:linear-gradient(180deg, var(--light-surface), var(--light-surface-strong));border-radius:24px;padding:14px;box-shadow:0 18px 44px #5b30231f,inset 0 0 0 1px #ffffff80}:root[data-theme=light] .module-dependency-search{color:var(--light-text);border-color:var(--light-border);background:#fffffceb;box-shadow:inset 0 0 0 1px #ffffff80}:root[data-theme=light] .module-dependency-search svg{color:var(--light-muted-text)}:root[data-theme=light] .module-dependency-search input{color:var(--light-text);box-shadow:none;background:0 0}:root[data-theme=light] .module-dependency-search input::placeholder{color:#73564db8}:root[data-theme=light] .module-dependency-imported{border-color:var(--light-border);background:#f6e2cfb8}:root[data-theme=light] .module-dependency-imported summary:hover{background:#f8e0c7a8}:root[data-theme=light] .module-dependency-card{color:var(--light-text);border-color:var(--light-border);background:#fffffcd6;box-shadow:inset 0 0 0 1px #ffffff61}:root[data-theme=light] .module-dependency-card:hover{border-color:var(--light-border-strong);background:var(--light-surface-hover)}:root[data-theme=light] .module-dependency-thumb{color:var(--wine);background:#f6e2cfd6;border:1px solid #70372b33}:root[data-theme=light] .module-dependency-card small,:root[data-theme=light] .module-dependency-meta span,:root[data-theme=light] .npc-dependency-chip.compact small{color:var(--light-muted-text)}:root[data-theme=light] .module-dependency-meta span{background:#f6e2cfb8;border:1px solid #70372b29}:root[data-theme=light] .npc-dependency-chip{color:var(--light-text);border-color:var(--light-border);background:#fffffce0}:root[data-theme=light] .campaign-module-npc-section,:root[data-theme=light] .campaign-module-used-npcs,:root[data-theme=light] .campaign-module-cover-tools.panel-mode,:root[data-theme=light] .campaign-module-layer-selector-card,:root[data-theme=light] .campaign-module-preview-editor{color:var(--light-text);border-color:var(--light-border);background:#fffdf8d1;box-shadow:inset 0 0 0 1px #ffffff61}:root[data-theme=light] .campaign-module-npc-section-head span,:root[data-theme=light] .campaign-module-npc-folder-count{color:var(--light-on-accent);background:var(--light-accent-surface)}:root[data-theme=light] .campaign-module-added-npc-row,:root[data-theme=light] .campaign-module-npc-card,:root[data-theme=light] .campaign-module-side-scroll .module-import-library-card{color:var(--light-text);border-color:var(--light-border);background:#fffffce0;box-shadow:inset 0 0 0 1px #ffffff57}:root[data-theme=light] .campaign-module-added-npc-row:hover,:root[data-theme=light] .campaign-module-npc-card:hover:not(:disabled),:root[data-theme=light] .campaign-module-npc-card.active,:root[data-theme=light] .campaign-module-side-scroll .module-import-library-card:hover:not(:disabled),:root[data-theme=light] .campaign-module-side-scroll .module-import-library-card.active{color:var(--wine-dark);border-color:var(--light-border-strong);background:var(--light-surface-hover)}:root[data-theme=light] .campaign-module-npc-thumb,:root[data-theme=light] .campaign-module-side-scroll .module-import-library-thumb{color:var(--wine);background:#f6e2cfd6;border-color:#70372b3d}:root[data-theme=light] .campaign-module-added-npc-row small,:root[data-theme=light] .campaign-module-side-scroll .module-import-library-card small,:root[data-theme=light] .campaign-module-used-npc-list span{color:var(--light-muted-text)}:root[data-theme=light] .campaign-module-used-npc-list span{background:#f6e2cfb8;border-color:#70372b2e}:root[data-theme=light] .campaign-module-side-actions{border-color:var(--light-border);background:#f6e9deeb}:root[data-theme=light] .card-preview-bonuses{color:#5b281f;text-shadow:none;background:linear-gradient(#fff8e7fa,#efcda5eb);border-color:#9a463566;box-shadow:inset 0 1px #ffffffb8,0 4px 12px #5b30231a}:root[data-theme=light] .game-toolbar-drawer{box-shadow:none;background:0 0;border:0}:root[data-theme=light] .game-toolbar{border-color:var(--light-border-strong);background:linear-gradient(#fffefaf5,#f6e7daf5);box-shadow:-8px 0 20px #5b302324,inset 0 0 0 1px #ffffff7a}:root[data-theme=light] .game-tool{color:var(--wine-dark);box-shadow:none;background:padding-box padding-box;border-color:#0000;border-radius:50%}:root[data-theme=light] .game-tool:hover,:root[data-theme=light] .game-tool.active{color:var(--light-on-accent);background:radial-gradient(circle, var(--light-accent-surface), var(--light-accent-surface-strong));border-color:#5720198a;box-shadow:0 0 14px #7d302833}:root[data-theme=light] .game-toolbar-toggle{color:var(--wine-dark);border-color:var(--light-border-strong);background:linear-gradient(#fffefafa,#f6e7dafa)}:root[data-theme=light] .game-toolbar-toggle:hover,:root[data-theme=light] .game-toolbar-toggle.active{color:var(--light-on-accent);background:linear-gradient(180deg, var(--light-accent-surface), var(--light-accent-surface-strong))}:root[data-theme=light]{--light-surface:#fffaf5;--light-surface-strong:#f8e8dc;--light-surface-soft:#fff8f1;--light-surface-hover:#f4d8c3;--light-neutral-surface:#fffaf4;--light-neutral-surface-alt:#f8e7da;--light-neutral-surface-strong:#efd2bd;--light-neutral-surface-hover:#f3d6c1;--card:var(--light-neutral-surface);--field:#fffdf9;--panel:var(--light-surface);--panel-strong:var(--light-surface-strong)}:root[data-theme=light] .race-score-card,:root[data-theme=light] .race-feature-card,:root[data-theme=light] .race-preview-stats div,:root[data-theme=light] .race-image-controls,:root[data-theme=light] .race-module-collapsible,:root[data-theme=light] .race-module-facts div,:root[data-theme=light] .race-module-feature-card{color:var(--light-text);border-color:var(--light-border);background:linear-gradient(180deg, var(--light-neutral-surface), var(--light-neutral-surface-alt));box-shadow:inset 0 1px #ffffffb8,0 5px 14px #5b30230f}:root[data-theme=light] .race-score-card:hover,:root[data-theme=light] .race-preview-stats div:hover,:root[data-theme=light] .race-module-collapsible summary:hover{border-color:var(--light-border-strong);background:var(--light-neutral-surface-hover)}:root[data-theme=light] .module-table-wrap{border-color:var(--hub-library-light-border);background:var(--hub-library-light-surface);box-shadow:inset 0 0 0 1px #ffffffa8,0 8px 20px #3a30280e}:root[data-theme=light] .module-table .pill.active.draft{color:var(--light-muted-text);border-color:var(--light-border);box-shadow:none;background:#73564d14}:root[data-theme=light] .module-table .pill.active.acquired{color:var(--success);border-color:color-mix(in srgb, var(--success) 48%, var(--light-border));background:color-mix(in srgb, var(--success) 12%, var(--hub-library-light-surface));box-shadow:none}:root[data-theme=light] .module-table{color:var(--light-text);background:var(--hub-library-light-surface)}:root[data-theme=light] .module-table th{color:var(--hub-library-light-accent);border-bottom-color:var(--hub-library-light-border);background:var(--hub-library-light-surface-muted)}:root[data-theme=light] .module-table td{color:var(--light-text);border-bottom-color:var(--hub-library-light-border-soft);background:var(--hub-library-light-surface)}:root[data-theme=light] .module-table tbody tr:nth-child(2n) td{background:var(--hub-library-light-surface)}:root[data-theme=light] .module-table tbody tr:hover td{background:var(--hub-library-light-surface-hover)}:root[data-theme=light] .module-table-thumb{border-color:var(--hub-library-light-border)}:root[data-theme=light] .marketplace-filter-actions{border-top-color:var(--light-border);background:linear-gradient(180deg, #fffae7e6, var(--light-surface-strong) 30%);box-shadow:0 -10px 24px #482a2214}:root[data-theme=light] .marketplace-price-filter,:root[data-theme=light] .hub-module-state-card,:root[data-theme=light] .hub-module-marketplace-link,:root[data-theme=light] .provider-unavailable p,:root[data-theme=light] .nortantis-project-card,:root[data-theme=light] .regions-road-summary{color:var(--light-text);border-color:var(--light-border);background:var(--light-neutral-surface-alt);box-shadow:inset 0 0 0 1px #ffffff75}:root[data-theme=light] .hub-module-marketplace-link{background:radial-gradient(circle at 10% 0%, #c3693026, transparent 30%), var(--light-neutral-surface-alt)}:root[data-theme=light] .hub-module-state-card:hover,:root[data-theme=light] .hub-module-state-card.active,:root[data-theme=light] .nortantis-project-card:hover{color:var(--wine-dark);border-color:var(--light-border-strong);background:var(--light-neutral-surface-hover)}:root[data-theme=light] .game-left-add-channel,:root[data-theme=light] .game-left-participant-row,:root[data-theme=light] .game-settings-card-icon,:root[data-theme=light] .game-hp-editor-hint,:root[data-theme=light] .game-hp-editor-preview-text,:root[data-theme=light] .game-layer-selector button,:root[data-theme=light] .map-editor-button-grid button,:root[data-theme=light] .campaign-layer-card,:root[data-theme=light] .campaign-module-cover-preview,:root[data-theme=light] .campaign-npc-sheet-avatar,:root[data-theme=light] .game-help-row kbd{color:var(--light-text);border-color:var(--light-border);background:var(--light-neutral-surface-alt)}:root[data-theme=light] .game-left-add-channel:hover,:root[data-theme=light] .game-layer-selector button:hover,:root[data-theme=light] .game-layer-selector button.active,:root[data-theme=light] .map-editor-button-grid button:hover,:root[data-theme=light] .map-editor-button-grid button.active,:root[data-theme=light] .campaign-layer-card:hover{color:var(--wine-dark);border-color:var(--light-border-strong);background:var(--light-neutral-surface-hover)}:root[data-theme=light] .game-layer-selector button.active{color:var(--light-on-accent);background:linear-gradient(180deg, var(--light-accent-surface), var(--light-accent-surface-strong));text-shadow:0 1px 1px #21090675;border-color:#572019d1;box-shadow:inset 0 1px #ffffff2e,0 0 0 2px #7d302824}:root[data-theme=light] .map-editor-asset-card img,:root[data-theme=light] .map-editor-layer-card img,:root[data-theme=light] .personal-image-card img{background-color:#f2dac8}.ui-button,.sheet-action-button,.character-quick-rolls button,.game-chat-sheet-action,.sheet-card-title{white-space:normal;overflow-wrap:anywhere;text-align:center;min-width:0;max-width:100%;height:auto;line-height:1.2}.game-chat-unread-badge{border:1px solid var(--vellum);min-width:17px;height:17px;color:var(--vellum);background:var(--wine);box-shadow:0 0 0 2px var(--ink);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-7px}.game-chat-quick-rolls{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:8px;display:grid}.game-chat-quick-rolls button{border:1px solid var(--line);min-width:0;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:7px;padding:5px 3px;font-size:10px;font-weight:700}.game-chat-quick-rolls button:hover:not(:disabled){border-color:var(--gold);background:#d88b3524}.game-chat-quick-rolls button:disabled{opacity:.5;cursor:not-allowed}.game-chat-check-row.check{grid-template-columns:minmax(0,1fr) auto}.game-chat-sheet-meta .game-chat-meta-label{color:#d9b77b;font-weight:600}.game-chat-sheet-meta .game-chat-meta-value{color:var(--vellum);font-weight:700}.game-chat-message.own .game-chat-sheet-meta .game-chat-meta-label{color:#f2bd70}.game-chat-message.own .game-chat-sheet-meta .game-chat-meta-value{color:#fff9e4}.sheet-resource-counter{grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px;display:grid}.sheet-resource-counter strong{text-align:center;min-width:0}.sheet-resource-counter button{border:1px solid var(--line);width:30px;height:30px;color:var(--vellum);cursor:pointer;background:#00000047;border-radius:50%;place-items:center;padding:0;display:inline-grid}.sheet-resource-counter button:hover:not(:disabled){border-color:var(--gold);background:#d88b352e}.sheet-resource-counter button:disabled{opacity:.4;cursor:not-allowed}.sheet-money-counter{width:100%}.sheet-money-counter input{min-width:0}:root[data-theme=light] .sheet-resource-counter button{color:var(--wine-dark);background:#fffce8eb;border-color:#8b56244d;box-shadow:0 2px 7px #482a2214}:root[data-theme=light] .sheet-resource-counter button:hover:not(:disabled){background:#fff4cdfa;border-color:#a86c20b8}.markdown-dice-editor-fallback{display:inline}:root[data-theme=light] .game-chat-unread-badge{color:#fff9e4;background:#6b241f;box-shadow:0 0 0 2px #f8edd5}:root[data-theme=light] .game-chat-quick-rolls button{color:var(--text);background:#fffae5c7;border-color:#8b56244d}:root[data-theme=light] .game-chat-sheet-meta .game-chat-meta-label{color:#7c5630}:root[data-theme=light] .game-chat-sheet-meta .game-chat-meta-value{color:#6b241f}:root[data-theme=light] .game-chat-message.own .game-chat-sheet-meta .game-chat-meta-label{color:#ffd18a}:root[data-theme=light] .game-chat-message.own .game-chat-sheet-meta .game-chat-meta-value{color:#fff}.app-select{width:100%;min-width:0;position:relative}.app-select-trigger,.app-combobox-control{border:1px solid var(--line);width:100%;min-width:0;min-height:42px;color:var(--text);font:inherit;text-align:left;background:linear-gradient(180deg, #d88b3514, #72222a08), var(--field);cursor:pointer;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid;box-shadow:inset 0 0 0 1px #ffe9a90a,0 4px 12px #00000014}.app-select-trigger:hover,.app-select.open .app-select-trigger,.app-select-trigger:focus-visible,.app-combobox-control:hover,.app-combobox.open .app-combobox-control,.app-combobox-control:focus-within{border-color:var(--gold);background:linear-gradient(180deg, #d88b3529, #72222a14), var(--field);outline:0;box-shadow:0 0 0 3px #d88b3521,0 10px 26px #0000002e}.app-select-trigger:disabled,.app-combobox.disabled .app-combobox-control{opacity:.58;cursor:not-allowed}.app-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-select-value-wrap{align-items:center;gap:9px;min-width:0;display:flex}.app-select-preview,.app-select-option-preview{border:1px solid var(--line);object-fit:cover;background:#0000002e;border-radius:7px;flex:none;display:block;overflow:hidden}.app-select-preview{width:24px;height:24px}.app-select-option-preview{width:42px;height:42px}.app-select-chevron{width:18px;height:18px;color:var(--gold);stroke-width:2.4px;transition:transform .16s}.app-select.open .app-select-chevron{transform:rotate(180deg)}.app-select-menu{z-index:2147483000;max-height:min(300px, var(--floating-available-height,45vh));overscroll-behavior:contain;border:1px solid var(--gold);color:var(--text);font:inherit;background:radial-gradient(circle at 100% 0, #d88b3533, transparent 44%), linear-gradient(180deg, var(--panel-strong), var(--panel));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;gap:3px;padding:5px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 20px 48px #00000075,inset 0 0 0 1px #ffe9a90f}.app-combobox-control{padding:0 8px 0 12px}.app-combobox-input,.app-combobox .app-combobox-input[type=text]{width:100%;min-width:0;min-height:40px;color:inherit;font:inherit;cursor:text;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;outline:0!important;padding:0!important}.app-combobox .app-combobox-input[type=text]:focus{box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}.app-combobox-input::placeholder{color:var(--muted)}.app-combobox-toggle{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.app-combobox-toggle:hover{background:#d88b351f}.app-combobox-toggle:disabled{cursor:not-allowed}.app-combobox-menu{align-content:start}.app-select-group{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px 4px;font-size:11px;font-weight:700}.app-select-group.separated{border-top:1px solid var(--line);margin-top:5px;padding-top:10px}.app-combobox-empty{color:var(--muted);text-align:center;margin:0;padding:12px;font-size:13px}.app-select-option{width:100%;min-width:0;min-height:36px;color:var(--text);font:inherit;text-align:left;overflow-wrap:anywhere;white-space:normal;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;padding:8px 10px;transition:border-color .12s,background .12s,color .12s}.app-select-option.has-preview{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding-block:6px;display:grid}.app-select-option.has-preview>span{min-width:0}.app-select-option:hover,.app-select-option.highlighted{background:#d88b3524;border-color:#d88b357a}.app-select-option.selected{color:var(--vellum);border-color:var(--gold);background:linear-gradient(180deg, #8c372c, var(--wine) 48%, var(--wine-dark));box-shadow:inset 0 1px #ffffff24}.app-select-option:disabled{opacity:.52;cursor:not-allowed}.app-color-picker{width:100%;min-width:0;position:relative}.app-color-picker-trigger{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:left;background:linear-gradient(180deg, #d88b3514, #72222a08), var(--field);cursor:pointer;border-radius:16px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;padding:6px 10px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid;box-shadow:inset 0 0 0 1px #ffe9a90a,0 4px 12px #00000014}.app-color-picker-trigger:hover,.app-color-picker.open .app-color-picker-trigger,.app-color-picker-trigger:focus-visible{border-color:var(--gold);background:linear-gradient(180deg, #d88b3529, #72222a14), var(--field);outline:0;box-shadow:0 0 0 3px #d88b3521,0 10px 26px #0000002e}.app-color-picker-trigger:disabled{opacity:.58;cursor:not-allowed}.app-color-picker-swatch{background:linear-gradient(var(--selected-color), var(--selected-color)), conic-gradient(#d9d9d9 25%, #fff 0 50%, #d9d9d9 0 75%, #fff 0) 0 / 10px 10px;border:1px solid #fff2c99e;border-radius:10px;width:30px;height:30px;box-shadow:inset 0 0 0 1px #0000002e,0 3px 8px #00000038}.app-color-picker-value{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.025em;min-width:0;font-size:.76rem;font-weight:600;overflow:hidden}.app-color-picker-panel{--cp-bg-color:var(--panel-strong);--cp-border-color:var(--gold);--cp-text-color:var(--text);--cp-input-color:var(--field);--cp-button-hover-color:#d88b3529;--cp-swatch-grid-template-columns:repeat(4, minmax(0, 1fr));--picker-height:150px;--picker-width:100%;--slider-width:22px;--picker-indicator-size:18px;--focus-color:var(--gold);z-index:2147483000;width:min(350px,100vw - 24px);max-height:var(--floating-available-height,calc(100vh - 24px));border:1px solid var(--gold);color:var(--text);font:inherit;background:radial-gradient(circle at 100% 0, #d88b3533, transparent 46%), linear-gradient(180deg, var(--panel-strong), var(--panel));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;border-radius:18px;padding:14px;position:fixed;overflow:hidden auto;box-shadow:0 22px 54px #00000080,inset 0 0 0 1px #ffe9a90f}.app-select-menu[data-floating-positioned=false],.app-color-picker-panel[data-floating-positioned=false]{visibility:hidden}.app-color-picker-panel,.app-color-picker-panel *{box-sizing:border-box;font-family:inherit!important}.app-color-picker-native-field,.app-color-picker-hex-field{color:var(--muted);gap:7px;font-size:.78rem;font-weight:700;display:grid}.app-color-picker-hex-field{margin-top:12px}.app-color-picker-native-input{border:1px solid var(--line);background:var(--field);cursor:pointer;border-radius:13px;width:100%;height:92px;min-height:92px;padding:5px}.app-color-picker-native-input::-webkit-color-swatch-wrapper{padding:0}.app-color-picker-native-input::-webkit-color-swatch{border:0;border-radius:9px}.app-color-picker-native-input::-moz-color-swatch{border:0;border-radius:9px}.app-color-picker-hex-field input{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);background:var(--field);font:inherit;font-variant-numeric:tabular-nums;text-transform:uppercase;border-radius:11px;padding:8px 10px}.app-color-picker-native-input:focus-visible,.app-color-picker-hex-field input:focus-visible{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px #d88b3524}.app-color-picker-swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.app-color-picker-swatches button{border:1px solid color-mix(in srgb, var(--line) 88%, white 12%);background:var(--swatch-color);cursor:pointer;border-radius:10px;min-width:0;height:38px;position:relative;box-shadow:inset 0 0 0 1px #ffffff1f,0 3px 8px #0000002e}.app-color-picker-swatches button:hover,.app-color-picker-swatches button:focus-visible,.app-color-picker-swatches button.active{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px #d88b352b,0 5px 12px #0000003d}.app-color-picker-swatches button.active:after{content:"";border:2px solid #ffffffe6;border-radius:6px;position:absolute;inset:5px;box-shadow:0 0 0 1px #00000080}.app-color-picker-panel .wrapper{box-sizing:border-box;--text-input-margin:5px 0 0;border-radius:17px;--picker-width:100%!important;background:0 0!important;border:0!important;width:100%!important;margin:0!important}.app-color-picker-panel .swatches,.app-color-picker-panel .text-input{box-sizing:border-box;width:100%;padding-inline:14px}.app-color-picker-panel .swatches{margin-top:12px}.app-color-picker-panel .text-input{margin-bottom:12px}.map-editor-field .app-select-trigger,.map-editor-field .app-color-picker-trigger,.sheet-attack-form .app-select-trigger,.sheet-edit-form .app-select-trigger{border-radius:11px}.storage-plan-select .app-select-trigger{border-radius:8px}:root[data-theme=light] .app-select-trigger,:root[data-theme=light] .app-combobox-control,:root[data-theme=light] .app-color-picker-trigger{color:var(--text);background:linear-gradient(#be772a14,#8b562408),#fffce8bd;box-shadow:inset 0 0 0 1px #ffffff52,0 4px 12px #693c1d14}:root[data-theme=light] .app-select-value,:root[data-theme=light] .app-combobox-input,:root[data-theme=light] .app-select-option{color:var(--text);text-shadow:none}:root[data-theme=light] .app-select-option.selected{color:var(--light-on-wine);background:linear-gradient(180deg, #a84b37 0%, var(--light-wine-surface) 52%, var(--light-wine-surface-strong) 100%);text-shadow:0 1px 1px #21090685;border-color:#5f2119c2}:root[data-theme=light] .app-select-menu,:root[data-theme=light] .app-color-picker-panel{color:var(--text);background:radial-gradient(circle at 100% 0, #be772a24, transparent 46%), linear-gradient(180deg, var(--light-parchment-strong), var(--parchment));box-shadow:0 18px 42px #693c1d38,inset 0 0 0 1px #ffffff85}:root[data-theme=light] .app-toast{color:var(--text);border-color:var(--line);background:radial-gradient(circle at 100% 0,#a86c201f,#0000 44%),#fff7d8f5;box-shadow:0 18px 42px #6b472038,inset 0 0 0 1px #ffffff80}:root[data-theme=light] .app-toast.success{color:#284818;background:radial-gradient(circle at 100% 0,#4f7f351f,#0000 44%),#f4fbe0f7;border-color:#4f7f358f;box-shadow:0 18px 42px #48682d29,inset 3px 0 #4f7f35c7}:root[data-theme=light] .app-toast.error{color:#7d251e;background:radial-gradient(circle at 100% 0,#9f31281a,#0000 44%),#ffefddf7;border-color:#9f31288f;box-shadow:0 18px 42px #7d251e24,inset 3px 0 #9f3128c2}:root[data-theme=light] .app-toast span{color:inherit;text-shadow:none}:root[data-theme=light] .game-module-filters{color:var(--light-text)}:root[data-theme=light] .campaign-edit-base-modules-count{color:var(--wine-dark);border-color:var(--light-border-strong);background:var(--light-neutral-surface-alt);box-shadow:inset 0 0 0 1px #ffffff80}:root[data-theme=light] .campaign-edit-module-list-progress{color:var(--light-muted-text)}:root[data-theme=light] .campaign-edit-module-scroll::-webkit-scrollbar-thumb{background:#763a2b47}:root[data-theme=light] .campaign-edit-modules-panel-available .game-module-filters{border-color:var(--light-border);background:linear-gradient(180deg, var(--light-surface) 0%, var(--light-surface-strong) 100%);box-shadow:0 10px 26px #482a221a,inset 0 0 0 1px #ffffff9e}:root[data-theme=light] .game-module-search{color:var(--light-muted-text)}:root[data-theme=light] .game-module-search-field{color:var(--light-muted-text);border-color:var(--light-border);background:#ffffffb8;box-shadow:inset 0 0 0 1px #ffffffad,0 2px 8px #482a220a}:root[data-theme=light] .game-module-search-field:focus-within{border-color:var(--light-border-strong);box-shadow:0 0 0 3px #9a46351a,inset 0 0 0 1px #ffffffb8}:root[data-theme=light] .game-module-search-field input{color:var(--light-text);background:0 0}:root[data-theme=light] .game-module-search-field input::placeholder{color:var(--light-muted-text);opacity:.72}:root[data-theme=light] .game-module-type-filters button,:root[data-theme=light] .game-module-clear-filters{color:var(--light-muted-text);border-color:var(--light-border);background:#fffdf8d1;box-shadow:inset 0 1px #ffffffb8}:root[data-theme=light] .game-module-type-filters button:hover,:root[data-theme=light] .game-module-clear-filters:hover{color:var(--light-text);border-color:var(--light-border-strong);background:var(--light-surface-strong)}:root[data-theme=light] .game-module-type-filters button.active{color:var(--light-on-accent);background:linear-gradient(180deg, var(--light-accent-surface), var(--light-accent-surface-strong));text-shadow:0 1px 1px #2109067a;border-color:#572019b8}.markdown-editor-toolbar-spacer{flex:1 0 .75rem}.markdown-editor-toolbar .markdown-editor-clear-format{color:var(--muted)}.markdown-editor-toolbar .markdown-editor-clear-format:hover:not(:disabled){color:var(--text);border-color:color-mix(in srgb, var(--accent) 48%, var(--line))}.game-chat-roll-card{border:1px solid color-mix(in srgb, var(--line) 86%, var(--accent) 14%);background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--accent) 10%, transparent), transparent 46%), #ffffff09;border-radius:9px;gap:7px;min-width:min(220px,100%);padding:8px;display:grid}.game-chat-roll-card-heading{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.game-chat-roll-card-heading>div{gap:1px;min-width:0;display:grid}.game-chat-roll-card-heading small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:700;line-height:1.1}.game-chat-roll-card-heading b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.game-chat-roll-card-icon{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line));width:28px;height:28px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:8px;place-items:center;display:inline-grid}.game-chat-roll-line{border:1px solid color-mix(in srgb, var(--line) 88%, transparent);background:#00000029;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:7px;min-width:0;padding:7px;display:grid}.game-chat-roll-line.compact{grid-template-columns:minmax(0,1fr) auto auto}.game-chat-roll-line.secondary{border-color:color-mix(in srgb, var(--bad) 22%, var(--line));background:color-mix(in srgb, var(--bad) 7%, #00000029)}.game-chat-roll-dice{min-width:0;box-shadow:none;filter:none;background:0 0;flex-wrap:wrap;gap:5px;display:flex}.game-chat-roll-die{border:1px solid var(--line);min-width:34px;height:27px;color:var(--text);background:color-mix(in srgb, var(--panel) 72%, black 28%);font-variant-numeric:tabular-nums;cursor:default;border-radius:7px;justify-content:center;align-items:center;gap:3px;padding:0 6px;display:inline-flex}.game-chat-roll-die strong{font-size:11px;line-height:1}.game-chat-roll-die.selected{border-color:color-mix(in srgb, var(--accent) 82%, white 18%);background:color-mix(in srgb, var(--accent) 18%, #0000003d)}.game-chat-roll-die.dimmed{opacity:.48}.game-chat-roll-die.natural-good{border-color:color-mix(in srgb, var(--good) 84%, white 16%);color:color-mix(in srgb, var(--good) 42%, white 58%);background:color-mix(in srgb, var(--good) 18%, #0000003d)}.game-chat-roll-die.natural-bad{border-color:color-mix(in srgb, var(--bad) 86%, white 14%);color:color-mix(in srgb, var(--bad) 40%, white 60%);background:color-mix(in srgb, var(--bad) 18%, #0000003d)}.game-chat-roll-modifier,.game-chat-roll-equals{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.game-chat-roll-formula{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:700;overflow:hidden}.game-chat-roll-secondary-label{color:var(--muted);align-items:center;gap:5px;font-size:10px;font-weight:700;display:inline-flex}.game-chat-roll-result{min-width:30px;color:var(--accent);font-variant-numeric:tabular-nums;text-align:right;cursor:pointer;font-size:20px;line-height:1}.game-chat-check-outcome{color:color-mix(in srgb, var(--bad) 72%, var(--text) 28%);font-size:12px;font-weight:800}.game-chat-check-outcome.success{color:color-mix(in srgb, var(--good) 72%, var(--text) 28%)}.game-chat-roll-line.secondary .game-chat-roll-result{color:color-mix(in srgb, var(--bad) 62%, var(--accent) 38%)}.game-chat-message.own .game-chat-roll-card{background:#fff9e414;border-color:#ffebb84d}.game-chat-message.own .game-chat-roll-card-icon,.game-chat-message.own .game-chat-roll-result{color:#ffe3a0}:root[data-theme=light] .game-chat-roll-card{background:radial-gradient(circle at 100% 0,#a86c201a,#0000 46%),#fffae5c2;border-color:#8b56244d}:root[data-theme=light] .game-chat-roll-line{background:#fffffcbd;border-color:#8b56243d}:root[data-theme=light] .game-chat-roll-die{color:#2b130d;background:#f1d9aa;border-color:#8b562457}:root[data-theme=light] .game-chat-roll-die.selected{background:#dda34d;border-color:#a86c20db}:root[data-theme=light] .game-chat-roll-die.natural-good{color:color-mix(in srgb, var(--good) 72%, #17351f 28%);border-color:color-mix(in srgb, var(--good) 62%, #5720193d);background:color-mix(in srgb, var(--good) 15%, #fffdf8 85%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--good) 18%, transparent)}:root[data-theme=light] .game-chat-roll-die.natural-bad{color:color-mix(in srgb, var(--bad) 74%, #4f1712 26%);border-color:color-mix(in srgb, var(--bad) 60%, #5720193d);background:color-mix(in srgb, var(--bad) 13%, #fffdf8 87%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--bad) 16%, transparent)}:root[data-theme=light] .game-chat-roll-card-heading b,:root[data-theme=light] .game-chat-roll-formula,:root[data-theme=light] .game-chat-roll-modifier,:root[data-theme=light] .game-chat-roll-equals{color:var(--text)}:root[data-theme=light] .game-chat-message.own .game-chat-roll-card{background:#fff9e41c;border-color:#fff9e452}:root[data-theme=light] .game-chat-message.own .game-chat-roll-line{background:#2b130d33;border-color:#fff9e43d}:root[data-theme=light] .game-chat-message.own .game-chat-roll-card-heading b,:root[data-theme=light] .game-chat-message.own .game-chat-roll-card-heading small,:root[data-theme=light] .game-chat-message.own .game-chat-roll-formula,:root[data-theme=light] .game-chat-message.own .game-chat-roll-modifier,:root[data-theme=light] .game-chat-message.own .game-chat-roll-equals,:root[data-theme=light] .game-chat-message.own .game-chat-roll-secondary-label{color:#fff9e4}@media (width<=520px){.game-chat-roll-card-heading{grid-template-columns:26px minmax(0,1fr)}}.campaign-npc-sheet-editor{gap:14px;padding:2px}.campaign-npc-editor-hero{background:radial-gradient(circle at 72% 0,#d88b3529,#0000 44%),linear-gradient(145deg,#fff1,#0000002e);border:1px solid #ffd68333;border-radius:16px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0b,0 8px 24px #00000024}.campaign-npc-editor-back,.campaign-npc-editor-delete{align-self:start}.campaign-npc-editor-avatar{place-items:center;width:64px;height:64px;display:grid}.campaign-npc-editor-avatar .character-avatar-token{--avatar-size:64px}.campaign-npc-editor-identity{min-width:0}.campaign-npc-editor-identity h2{color:var(--vellum);margin:0;font-size:18px;line-height:1.2}.campaign-npc-editor-identity p{color:var(--muted);margin:4px 0 0;font-size:12px}.campaign-npc-name-field input{min-height:39px;font-size:15px;font-weight:700}.campaign-npc-editor-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.campaign-npc-editor-stat-grid div{text-align:center;background:linear-gradient(#ffffff0f,#0000001f);border-color:#ffe9a929;grid-template-columns:1fr;justify-items:center;gap:3px;padding:9px 5px}.campaign-npc-editor-stat-grid svg{color:var(--gold);grid-row:auto}.campaign-npc-editor-stat-grid strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;overflow:hidden}.campaign-npc-editor-stat-grid span{letter-spacing:.045em;text-transform:uppercase;font-size:9px}.campaign-npc-editor-panel{background:#ffffff09;border:1px solid #ffe9a924;border-radius:14px;gap:10px;min-width:0;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff06}.campaign-npc-editor-panel-title{border-bottom:1px solid #ffe9a91a;min-height:28px;padding-bottom:8px}.campaign-npc-editor-panel-title h3{color:var(--vellum);letter-spacing:.055em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.campaign-npc-editor-section-heading{align-items:center;gap:8px;min-width:0;display:flex}.campaign-npc-editor-section-heading>span{min-width:24px;color:var(--gold);text-align:center;background:#d88b351a;border:1px solid #ffc46b33;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;line-height:1.4}.campaign-npc-editor-base-grid{gap:9px}.campaign-npc-editor-base-grid .field,.campaign-npc-editor-entry-fields .field{gap:5px}.campaign-npc-editor-base-grid .field>span,.campaign-npc-editor-entry-fields .field>span{color:var(--muted);letter-spacing:.035em;font-size:10px;font-weight:700}.campaign-npc-editor-abilities{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.campaign-npc-editor-abilities div{text-align:center;background:#00000024;border-color:#ffe9a921;grid-template-columns:1fr;justify-items:center;gap:4px;padding:8px 6px}.campaign-npc-editor-abilities span{font-size:9px}.campaign-npc-editor-abilities input{text-align:center;min-height:32px;padding:4px 5px;font-size:14px;font-weight:800}.campaign-npc-editor-abilities small{color:var(--gold);grid-column:auto;font-size:10px;font-weight:800}.campaign-npc-description-details{background:#00000029;border:1px solid #ffe9a924;border-radius:12px;overflow:clip}.campaign-npc-description-details>summary{min-height:40px;color:var(--vellum);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;font-size:11px;font-weight:800;list-style:none;transition:border-color .15s,background .15s,color .15s;display:flex}.campaign-npc-description-details>summary::-webkit-details-marker{display:none}.campaign-npc-description-details>summary:hover{color:var(--gold);background:#d88b3514}.campaign-npc-description-details>summary svg{flex:none;transition:transform .18s}.campaign-npc-description-details[open]>summary{background:#d88b3512;border-bottom:1px solid #ffe9a91f}.campaign-npc-description-details[open]>summary svg{transform:rotate(180deg)}.campaign-npc-description-details.has-content>summary span:after{content:"";background:var(--gold);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-left:7px;display:inline-block;box-shadow:0 0 0 3px #d88b351a}.campaign-npc-main-description{background:linear-gradient(140deg,#d88b3512,#0000 42%),#00000029}.campaign-npc-description-content{gap:8px;padding:10px;display:grid}.campaign-npc-description-content>.muted{margin:0;font-size:12px}.campaign-npc-editor-entry-list{gap:9px;display:grid}.campaign-npc-combat-entry-list{gap:6px}.campaign-npc-sheet-section .campaign-npc-combat-entry{gap:6px;padding:8px}.campaign-npc-combat-entry .campaign-npc-editor-entry-fields{row-gap:5px}.campaign-npc-combat-card-grid .sheet-list-card{padding:8px}.campaign-npc-combat-card-grid .sheet-card-meta{gap:3px 5px;margin-top:4px}.campaign-npc-combat-card-grid .sheet-card-meta span{padding:2px 5px}.campaign-npc-combat-card-grid .sheet-card-details,.campaign-npc-combat-card-grid .sheet-list-card p{gap:2px;margin-top:5px;line-height:1.35}.campaign-npc-sheet-section .campaign-npc-editor-entry{background:linear-gradient(145deg,#ffffff0b,#0000 55%),#00000021;border:1px solid #ffe9a921;border-radius:12px;gap:9px;padding:10px;display:grid}.campaign-npc-editor-entry-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.campaign-npc-editor-entry-head>strong{min-width:0;color:var(--vellum);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.campaign-npc-editor-entry-index{width:25px;height:25px;color:var(--gold);background:#d88b3517;border:1px solid #ffc46b38;border-radius:8px;flex:none;place-items:center;font-size:10px;font-weight:900;display:inline-grid}.campaign-npc-editor-entry-head>.campaign-npc-editor-entry-index+strong{margin-right:auto}.campaign-npc-editor-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.campaign-npc-editor-field-wide{grid-column:1/-1}.campaign-npc-editor-entry .campaign-npc-line-input,.campaign-npc-editor-entry .campaign-npc-damage-type .app-combobox-control{border-radius:9px;min-height:35px}.campaign-npc-editor-entry .campaign-npc-damage-type .app-combobox-input{min-height:33px}.campaign-npc-entry-description{background:#0000001f;border-color:#ffe9a91a}.campaign-npc-entry-description>summary{min-height:36px;padding-block:7px;font-size:10px}.campaign-npc-sheet-editor .empty-state.compact{background:#0000001a;border:1px dashed #ffe9a924;border-radius:10px;margin:0;padding:14px 10px;font-size:11px}.campaign-npc-sheet-editor input::placeholder{color:var(--muted);opacity:.82}.campaign-npc-field-error{color:#ffaaa0;margin-top:1px;font-size:10px;font-weight:700;line-height:1.3;display:block}.campaign-npc-sheet-editor input[aria-invalid=true]{border-color:#de5d4fd1;box-shadow:0 0 0 2px #de5d4f24}@media (width<=410px){.campaign-npc-editor-hero{grid-template-columns:auto auto minmax(0,1fr)}.campaign-npc-editor-delete{position:absolute;top:10px;right:10px}.campaign-npc-editor-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}:root[data-theme=light] .campaign-npc-editor-hero,:root[data-theme=light] .campaign-npc-editor-panel,:root[data-theme=light] .campaign-npc-description-details,:root[data-theme=light] .campaign-npc-sheet-section .campaign-npc-editor-entry{border-color:var(--light-border);color:var(--light-text);background:#fffaeec7;box-shadow:inset 0 1px #ffffff9e}:root[data-theme=light] .campaign-npc-editor-hero{background:radial-gradient(circle at 72% 0,#a86c2021,#0000 44%),#fff8e6e6}:root[data-theme=light] .campaign-npc-editor-stat-grid div,:root[data-theme=light] .campaign-npc-editor-abilities div{border-color:var(--light-border);background:#fffffcb8}:root[data-theme=light] .campaign-npc-editor-panel-title{border-color:#70372b24}:root[data-theme=light] .campaign-npc-description-details>summary{color:var(--light-text)}:root[data-theme=light] .campaign-npc-description-details>summary:hover,:root[data-theme=light] .campaign-npc-description-details[open]>summary{color:var(--wine);background:#a86c201a}:root[data-theme=light] .campaign-npc-description-content{border-color:#70372b1f}:root[data-theme=light] .campaign-npc-sheet-editor input,:root[data-theme=light] .campaign-npc-sheet-editor .campaign-npc-line-input{color:var(--light-text);border-color:var(--light-border-strong);background:#fffffcf0;box-shadow:inset 0 0 0 1px #ffffffb8,0 2px 8px #53301814}:root[data-theme=light] .campaign-npc-sheet-editor input::placeholder{color:#53382b9e;opacity:1}:root[data-theme=light] .campaign-npc-sheet-editor input:focus,:root[data-theme=light] .campaign-npc-sheet-editor .campaign-npc-line-input:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px #a86c2021}:root[data-theme=light] .campaign-npc-sheet-editor input[aria-invalid=true]{border-color:#9f3128b8;box-shadow:0 0 0 3px #9f31281c}:root[data-theme=light] .campaign-npc-field-error{color:#9f3128}:root[data-theme=light] .campaign-npc-description-details .markdown-editor{border-color:var(--light-border-strong);background:#fffffcf0}:root[data-theme=light] .campaign-npc-description-details .markdown-editor-toolbar{border-color:var(--light-border);background:#f8e7cae6}:root[data-theme=light] .campaign-npc-description-details .markdown-editor-content{color:var(--light-text);background:#fffffcf0}.map-note-hover-preview{z-index:24;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(150deg,#23190ef5,#0f0906f2);border:1px solid #e5b75485;border-radius:14px;gap:9px;width:min(420px,100% - 32px);max-height:min(42vh,360px);padding:12px 14px;display:grid;position:absolute;bottom:16px;left:16px;overflow:hidden;box-shadow:0 16px 38px #0000006b}.map-note-hover-preview-heading{color:#f6d98a;align-items:center;gap:8px;display:flex}.map-note-hover-preview-heading strong{letter-spacing:.04em;text-transform:uppercase;font-size:12px}.map-note-hover-preview-content{min-width:0;max-height:4.5em;color:var(--vellum);font-size:13px;line-height:1.5;overflow:hidden}.map-note-hover-preview-content .markdown-content{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.map-note-hover-preview-content .markdown-content>:first-child{margin-top:0}.map-note-hover-preview-content .markdown-content>:last-child{margin-bottom:0}.map-note-hover-preview-hint{color:#f6d98a;border-top:1px solid #e5b75438;padding-top:7px;font-size:11px;font-weight:700}:root[data-theme=light] .map-note-hover-preview{background:linear-gradient(150deg,#fffce8f7,#f7e8bef5);border-color:#8b562466;box-shadow:0 16px 34px #67391933}:root[data-theme=light] .map-note-hover-preview-heading{color:var(--light-wine)}:root[data-theme=light] .map-note-hover-preview-content{color:var(--light-text)}:root[data-theme=light] .map-note-hover-preview-hint{color:var(--light-wine);border-top-color:#8b56243d}.map-note-toolbar-rail{z-index:32;pointer-events:auto;position:absolute;top:50%;right:112px;transform:translateY(-50%)}.campaign-module-map-note-rail{right:112px}.map-note-tool-rail{background:linear-gradient(#090604f5,#060000f0);border:1px solid #f59e0b6b;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:9px 7px;display:flex;position:relative;box-shadow:-8px 0 22px #00000057}.map-note-tool{isolation:isolate}.map-note-tool-glyph{background:#21170f;border:1px solid #f59e0ba6;border-radius:50%;place-items:center;width:15px;height:15px;display:grid;position:absolute;bottom:-4px;right:-4px}.map-note-icon{object-fit:contain;pointer-events:none;display:block}.map-note-filter-popover{width:240px;color:var(--text);background:linear-gradient(#180f0afa,#070202fa);border:1px solid #f59e0b75;border-radius:16px;gap:12px;padding:12px;display:grid;position:absolute;top:0;right:calc(100% + 10px);box-shadow:0 18px 40px #00000075}.map-note-filter-popover section{gap:8px;display:grid}.map-note-filter-popover strong{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.map-note-type-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.map-note-type-button,.map-note-filter-list button,.map-note-editor-types button,.map-note-visibility-switch button,.map-note-filter-heading button{color:var(--text);cursor:pointer;background:#ffffff09;border:1px solid #d88b3538}.map-note-type-button{aspect-ratio:1;border-radius:9px;place-items:center;min-width:0;display:grid}.map-note-type-button:hover,.map-note-type-button.active,.map-note-filter-list button:hover,.map-note-filter-list button.active,.map-note-editor-types button:hover,.map-note-editor-types button.active,.map-note-visibility-switch button:hover,.map-note-visibility-switch button.active{color:#fde68a;background:#7f1d1d9e;border-color:#f59e0bcc}.map-note-filter-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.map-note-filter-heading>div{gap:4px;display:flex}.map-note-filter-heading button{border-radius:999px;padding:3px 7px;font-size:10px}.map-note-filter-list{gap:4px;display:grid}.map-note-filter-list button{text-align:left;border-radius:9px;align-items:center;gap:8px;min-height:32px;padding:5px 8px;font-size:12px;display:flex}.map-note-filter-list button:not(.active){opacity:.52}.map-note-editor{gap:16px;min-width:min(620px,78vw);display:grid}.map-note-editor-section{gap:8px;display:grid}.map-note-editor-section>strong,.map-note-text-field>span{color:var(--muted);font-size:12px}.map-note-editor-types{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px;display:grid}.map-note-editor-types button{border-radius:10px;align-items:center;gap:7px;min-height:38px;padding:7px 9px;font-size:12px;display:flex}.map-note-visibility-switch{grid-template-columns:1fr 1fr;gap:6px;display:grid}.map-note-visibility-switch button{border-radius:10px;min-height:38px;font-weight:700}.map-note-text-field{gap:7px;display:grid}.map-note-text-field .markdown-editor{width:100%}.map-note-text-field .markdown-editor-content{min-height:15.5rem}.map-note-editor-actions,.map-note-editor-primary-actions{align-items:center;gap:8px;display:flex}.map-note-editor-actions{justify-content:space-between}.map-note-editor-primary-actions{margin-left:auto}.map-note-viewer{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;max-width:620px;padding:8px 4px 4px;display:grid;position:relative}.map-note-viewer-emblem{background:radial-gradient(circle,#7f1d1db8,#21170ff5);border:1px solid #f59e0b8c;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 0 24px #f59e0b29}.map-note-viewer-content{min-width:0;color:var(--vellum);font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.65}.map-note-viewer-content.markdown-content{max-height:min(68vh,720px);overflow:auto}@media (width<=620px){.map-note-toolbar-rail{right:170px}}.map-note-panel{gap:14px;padding:0 12px 18px;display:grid}.map-note-panel-section{background:#ffffff09;border:1px solid #d88b353d;border-radius:14px;gap:9px;padding:12px;display:grid}.map-note-panel-heading{gap:3px;display:grid}.map-note-panel-heading strong{color:var(--text);font-size:13px}.map-note-panel-heading span,.map-note-panel-heading small{color:var(--muted);font-size:11px;line-height:1.35}.map-note-panel-heading-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.map-note-panel-heading-row>div:first-child{gap:3px;display:grid}.map-note-mode-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.map-note-mode-grid>button,.map-note-panel-type-grid>button,.map-note-panel-actions>button{color:var(--text);cursor:pointer;background:#ffffff09;border:1px solid #d88b3542;transition:border-color .16s,background .16s,color .16s,transform .16s}.map-note-mode-grid>button:hover,.map-note-mode-grid>button.active,.map-note-panel-type-grid>button:hover,.map-note-panel-type-grid>button.active,.map-note-panel-actions>button:hover{color:#fde68a;background:#7f1d1d94;border-color:#f59e0bc2}.map-note-mode-grid>button{text-align:left;border-radius:11px;align-items:center;gap:8px;min-width:0;min-height:54px;padding:8px 9px;display:flex}.map-note-mode-grid>button>span{gap:2px;min-width:0;display:grid}.map-note-mode-grid strong{font-size:11px;line-height:1.2}.map-note-mode-grid small{width:max-content;color:var(--muted);background:#0000003d;border:1px solid #d88b3547;border-radius:5px;padding:2px 5px;font-size:10px;font-weight:700;line-height:1.1;display:inline-flex}.map-note-mode-grid>button.active small{color:#fff2b8;background:#00000047;border-color:#fde68a61}.map-note-panel-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.map-note-panel-type-grid>button{text-align:left;border-radius:10px;align-items:center;gap:7px;min-width:0;min-height:36px;padding:6px 8px;font-size:11px;display:flex}.map-note-panel-type-grid>button span,.map-note-panel-filter-list>label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-note-panel-filter-list{gap:5px;display:grid}.map-note-panel-filter-list>label{min-width:0;min-height:36px;color:var(--text);cursor:pointer;background:#ffffff06;border:1px solid #d88b3533;border-radius:10px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px;padding:6px 8px;font-size:11px;transition:border-color .16s,background .16s;display:grid}.map-note-panel-filter-list>label:hover{background:#d88b351a;border-color:#f59e0bad}.map-note-panel-filter-list>label:has(input:focus-visible){background:#d88b351a;border-color:#f59e0bad}.map-note-panel-filter-list>label:has(input:checked){background:#d88b3514;border-color:#d88b3575}.map-note-panel-filter-list input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--gold);margin:0}.map-note-panel-actions{flex-shrink:0;gap:4px;display:flex}.map-note-panel-actions>button{border-radius:999px;padding:4px 7px;font-size:10px}.map-note-panel-help{color:var(--muted);margin:0;padding:0 2px;font-size:11px;line-height:1.45}:root[data-theme=light] .map-note-panel-section{background:#fffae5b8;border-color:#8b56244d;box-shadow:inset 0 0 0 1px #ffffff57}:root[data-theme=light] .map-note-mode-grid>button,:root[data-theme=light] .map-note-panel-type-grid>button,:root[data-theme=light] .map-note-panel-filter-list>label,:root[data-theme=light] .map-note-panel-actions>button,:root[data-theme=light] .map-note-editor-types button,:root[data-theme=light] .map-note-visibility-switch button,:root[data-theme=light] .map-note-filter-heading button{color:var(--text);background:#fffce8c7;border-color:#8b56244d}:root[data-theme=light] .map-note-mode-grid>button:hover,:root[data-theme=light] .map-note-mode-grid>button.active,:root[data-theme=light] .map-note-panel-type-grid>button:hover,:root[data-theme=light] .map-note-panel-type-grid>button.active,:root[data-theme=light] .map-note-panel-actions>button:hover,:root[data-theme=light] .map-note-editor-types button:hover,:root[data-theme=light] .map-note-editor-types button.active,:root[data-theme=light] .map-note-visibility-switch button:hover,:root[data-theme=light] .map-note-visibility-switch button.active{color:var(--light-on-wine);background:linear-gradient(#8f4031,#6b241f);border-color:#6b241f9e}:root[data-theme=light] .map-note-mode-grid small{color:var(--light-muted);background:#ffffffb3;border-color:#8b562457}:root[data-theme=light] .map-note-mode-grid>button.active small{color:#fff7d6;background:#ffffff2e;border-color:#ffffff6b}:root[data-theme=light] .map-note-panel-filter-list>label:hover{color:var(--light-text);background:#d88b351f;border-color:#8b562485}:root[data-theme=light] .map-note-panel-filter-list>label:has(input:focus-visible){color:var(--light-text);background:#d88b351f;border-color:#8b562485}:root[data-theme=light] .map-note-panel-filter-list>label:has(input:checked){color:var(--light-text);background:#d88b351f;border-color:#8b562485}:root[data-theme=light] .map-note-text-field textarea{color:var(--text);background:#fffce8d1;border-color:#8b562457}.map-note-viewer-actions{grid-column:1/-1;justify-content:flex-end;padding-top:2px;display:flex}.map-note-viewer-actions .ui-button{align-items:center;gap:7px;display:inline-flex}:root[data-theme=light] .map-note-viewer-emblem{background:radial-gradient(circle,#ffefc2f5,#eacc8feb);border-color:#8b562475;box-shadow:0 10px 24px #67391924}:root[data-theme=light] .map-note-viewer-content{color:var(--text)}:root[data-theme=light] .map-note-icon{filter:brightness(0)saturate()invert(18%)sepia(31%)saturate(2195%)hue-rotate(329deg)brightness(88%)contrast(93%)}:root[data-theme=light] button:hover>.map-note-icon,:root[data-theme=light] button.active>.map-note-icon,:root[data-theme=light] button:hover .map-note-icon,:root[data-theme=light] button.active .map-note-icon{filter:none}:root[data-theme=light] .map-note-text-field .markdown-editor{background:#fffce7f5;border-color:#ae852b6b}:root[data-theme=light] .map-note-text-field .markdown-editor-toolbar{background:#faf1beb8;border-color:#ae852b47}:root[data-theme=light] .map-note-text-field .markdown-editor-content{color:var(--light-text);background:#fffef0fa}.environment-tool-panel{border:1px solid color-mix(in srgb, var(--line) 76%, transparent);background:color-mix(in srgb, var(--panel) 94%, transparent);width:100%;color:var(--text);border-radius:.75rem;padding:.8rem}.environment-tool-panel p{opacity:.8;margin:.4rem 0;font-size:.8rem}.environment-wall-instructions{border:1px solid color-mix(in srgb, var(--line) 62%, transparent);background:color-mix(in srgb, var(--field) 72%, transparent);border-radius:.55rem;margin:.65rem 0;padding:.65rem .7rem}.environment-wall-instructions>strong{margin-bottom:.35rem;font-size:.78rem;display:block}.environment-wall-instructions ul{opacity:.86;gap:.25rem;margin:0;padding-left:1rem;font-size:.74rem;line-height:1.35;display:grid}.environment-wall-drawing-toggle{margin-top:.8rem;justify-content:flex-start!important;align-items:center!important;gap:.85rem!important;display:flex!important}.environment-presets,.environment-palette,.environment-surface-create,.environment-light-settings{gap:.45rem;margin-top:.65rem;display:grid}.environment-presets span{background:#ffffff0f;border-radius:.4rem;padding:.35rem .5rem}.environment-presets button{border:1px solid color-mix(in srgb, var(--line) 72%, transparent);background:color-mix(in srgb, var(--field) 88%, transparent);color:var(--text);border-radius:.45rem;padding:.5rem .6rem}.environment-presets button.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--panel));box-shadow:inset 0 0 0 1px var(--accent)}.environment-surface-mode-buttons{grid-template-columns:repeat(3,36px);justify-content:start;display:grid}.environment-surface-mode-buttons button{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.environment-surface-add{width:100%;margin-top:.65rem}.environment-surface-editor-actions{justify-content:flex-end;gap:.5rem;display:flex}.environment-palette-item{grid-template-columns:minmax(0,1fr) auto;gap:.35rem;display:grid}.environment-palette-item>button:first-child{background:color-mix(in srgb, var(--field) 88%, transparent);min-width:0;color:inherit;border:1px solid #0000;border-radius:.45rem;align-items:center;gap:.45rem;padding:.4rem .5rem;display:flex}.environment-palette-item.active>button:first-child{border-color:var(--color-primary,#fdb29f)}.environment-palette-item>button:first-child span{background:var(--surface-color);border:2px solid #ffffffbf;border-radius:.25rem;width:1rem;height:1rem}.environment-surface-create label{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.environment-light-settings{gap:.65rem;margin-top:.75rem;display:grid}.environment-light-settings label,.environment-surface-create label{color:var(--muted)}.environment-surface-effect-section{border:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--field) 55%, transparent);border-radius:.55rem;gap:.8rem;padding:.65rem;display:grid}.environment-surface-effect-section[open]>summary{margin-bottom:.15rem}.environment-surface-effect-form{gap:.8rem;display:grid}.environment-surface-effect-inline-editor{border-top:1px solid color-mix(in srgb, var(--line) 58%, transparent);padding-top:.2rem}.environment-surface-effect-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:.15rem;display:flex}.environment-effect-save{justify-self:end}.environment-filter-results{gap:.3rem;max-height:11rem;display:grid;overflow:auto}.environment-filter-results button{background:color-mix(in srgb, var(--panel) 88%, transparent);color:var(--text);text-align:left;border:1px solid #0000;border-radius:.4rem;padding:.4rem .5rem}.environment-filter-results button.active{border-color:var(--accent)}:root[data-theme=light] .environment-tool-panel{background:color-mix(in srgb, var(--panel) 97%, white);box-shadow:0 .5rem 1.4rem #5b3f161f}.app-themed-svg-icon{background:currentColor;flex:none;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.app-themed-svg-icon--torch{-webkit-mask-image:url(../../../icons/torch.svg);mask-image:url(../../../icons/torch.svg)}.die-icon{color:inherit;flex:none;display:inline-block;position:relative}.die-icon-shape{-webkit-mask-image:var(--die-icon-url);mask-image:var(--die-icon-url);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-source-type:luminance;mask-mode:luminance;-webkit-mask-image:var(--die-icon-url);background:currentColor;position:absolute;inset:0;-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.character-window-tabs{border-bottom:2px solid var(--gold);background:var(--panel-strong);scrollbar-width:thin;gap:3px;min-height:39px;padding:5px 6px 0;display:flex;overflow:auto hidden}.character-window-tab{border:1px solid var(--line);min-width:128px;max-width:220px;color:var(--muted);background:color-mix(in srgb, var(--panel) 78%, var(--ink));border-bottom:0;border-radius:10px 10px 0 0;align-items:center;display:flex;overflow:hidden}.character-window-tab.active{color:var(--text);border-color:var(--gold);background:color-mix(in srgb, var(--wine) 72%, var(--panel));box-shadow:inset 0 -2px var(--gold)}.character-window-tab>button:first-child{min-width:0;color:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;padding:8px 6px 8px 10px;overflow:hidden}.character-window-tab-close{width:26px;height:26px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.character-window-tab-close:hover{background:color-mix(in srgb, var(--wine) 72%, transparent)}.character-quick-rolls button,.game-chat-quick-rolls button{place-items:center;display:grid}:root[data-theme=light] .sheet-money-grid input{color:var(--wine-dark)}@media (width<=620px){.sheet-action-button.sheet-add-button{white-space:nowrap;overflow-wrap:normal;flex:0 0 30px;width:30px;min-width:30px;max-width:30px;height:30px;min-height:30px;padding:0;line-height:1}.sheet-action-button.sheet-add-button svg{flex:none;display:block}}@media (width<=600px){.profile-public-details,.friend-profile-stats{grid-template-columns:1fr}}@media (width<=820px){.app-header{grid-template-columns:46px minmax(0,1fr) 42px;align-items:center;gap:10px 12px;padding:12px;display:grid}.app-sigil{grid-area:1/1}.app-brand{grid-area:1/2;width:100%;max-width:none}.app-brand-title{letter-spacing:.06em;font-size:12px}.app-brand-subtitle{font-size:12px}.app-header>.theme-toggle{grid-area:1/3;justify-self:end}.app-navigation{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:space-between;gap:6px;width:100%;margin-left:0}.app-navigation .nav-label{display:none}.app-navigation .nav-link{flex:0 0 42px;width:42px;min-width:42px;padding:0}}@media (width<=600px){.race-create-section,.race-image-editor-grid,.race-image-editor-grid>*,.race-image-frame,.race-image-controls{min-width:0;max-width:100%}.race-image-editor-grid{grid-template-columns:minmax(0,1fr);width:100%}.race-image-frame{width:100%;min-height:0;padding:12px}.race-image-frame:before{inset:12px}.race-image-empty-button{gap:5px;width:100%;min-width:0;max-width:100%;padding-inline:8px}.race-image-empty-button svg{width:32px;height:32px}.race-image-empty-button strong,.race-image-empty-button span{overflow-wrap:anywhere;max-width:100%;line-height:1.2}.race-image-empty-button span{font-size:12px}.race-image-controls,.race-image-control-actions,.race-image-control-actions .ui-button,.range-field input[type=range]{width:100%;min-width:0}.race-image-control-actions .ui-button{white-space:normal}}.profile-account-menu{display:none}:root[data-theme=light] .profile-avatar{color:#fff9e4;text-shadow:0 1px 2px #2b130d7a;background:linear-gradient(145deg,#8d3b2d,#521d18)}@media (width<=760px){.marketplace-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.marketplace-virtual-batch{margin-bottom:8px}.marketplace-product-grid .card-preview{border-radius:16px;min-width:0}.marketplace-product-grid .card-preview-type-icon{border-radius:10px;width:34px;height:34px;padding:5px;top:6px;left:6px}.marketplace-product-grid .card-preview-body{gap:8px;padding:8px}.marketplace-product-grid .card-preview-main h3{overflow-wrap:anywhere;min-height:2.3em;max-height:2.3em;font-size:15px;line-height:1.15}.marketplace-product-grid .card-preview-footer,.marketplace-product-grid .module-card-actions{gap:6px}.marketplace-product-grid .card-preview-bonuses{letter-spacing:0;overflow-wrap:anywhere;border-radius:12px;min-height:28px;padding:5px 6px;font-size:10px}.marketplace-product-grid .card-preview-price .module-price{min-height:38px;padding:7px 6px;font-size:15px}.marketplace-product-grid .module-card-actions .ui-button{white-space:normal;gap:4px;min-width:0;min-height:38px;padding:7px 6px;font-size:11px;line-height:1.1}.marketplace-product-grid .module-card-actions .ui-button svg{flex:none;width:15px;height:15px}.marketplace-filter-fab{left:max(12px, env(safe-area-inset-left));right:auto;bottom:max(12px, env(safe-area-inset-bottom))}}@media (width<=600px){.profile-account-actions{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;align-items:stretch;gap:8px;width:100%;display:grid;position:relative}.profile-account-action-secondary{display:none}.profile-save-button{justify-content:center;width:100%}.profile-account-menu{display:block;position:relative}.profile-account-menu>summary{cursor:pointer;width:46px;height:100%;min-height:46px;list-style:none}.profile-account-menu>summary::-webkit-details-marker{display:none}.profile-account-menu[open]>summary{border-color:var(--gold);background:#d88b3529}.profile-account-menu-panel{z-index:20;border:1px solid var(--line);background:linear-gradient(180deg, var(--panel), var(--panel-strong));width:min(280px,100vw - 48px);box-shadow:0 18px 42px var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.profile-account-menu-panel .ui-button{justify-content:flex-start;width:100%}}.race-module-feature-card .feature-description,.race-module-feature-card>.markdown-content{margin-top:16px}.race-module-feature-card .feature-description .race-module-collapsible-content{padding-top:6px}.race-module-facts .class-module-hit-dice{grid-column:span 1}.race-module-facts .class-module-hit-points{grid-column:span 3}.race-module-facts .class-module-skills{grid-column:1/-1}.race-module-facts .class-module-hit-points strong,.race-module-facts .class-module-hit-points span,.race-module-facts .class-module-skills strong,.race-module-facts .class-module-skills span{font-weight:400}.race-module-facts .class-module-skills span{font-size:14px;line-height:1.45}.race-module-facts:has(.class-module-hit-dice){grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=760px){.race-module-facts:has(.class-module-hit-dice){grid-template-columns:1fr}.race-module-facts .class-module-hit-dice,.race-module-facts .class-module-hit-points,.race-module-facts .class-module-skills{grid-column:1}}input[type=number][name=price],input[type=number][name=discountPrice],.marketplace-price-inputs input,.module-price-fields input[type=number]{color:var(--vellum);border-color:var(--gold);background:linear-gradient(180deg, #8c372c, var(--wine) 48%, var(--wine-dark));font-weight:700;box-shadow:inset 0 2px #ffffff29,0 8px 20px #00000038}input[type=number][name=price]::placeholder,input[type=number][name=discountPrice]::placeholder,.marketplace-price-inputs input::placeholder,.module-price-fields input[type=number]::placeholder{color:#fff6d2ad}input[type=number][name=price]:focus,input[type=number][name=discountPrice]:focus,.marketplace-price-inputs input:focus,.module-price-fields input[type=number]:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d88b352e,inset 0 2px #ffffff29,0 8px 20px #00000038}.card-preview-price .module-price-sale .module-price-current{color:var(--vellum)}.card-preview-price .module-price-old{color:#fff6d2b8}.card-preview-price .module-price-discount{color:var(--vellum);background:#d88b352e;border-color:#d88b3585}.marketplace-scroll-top{z-index:66;border:1px solid var(--gold);min-height:44px;color:var(--vellum);background:linear-gradient(180deg, #8c372c, var(--wine) 48%, var(--wine-dark));cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex;position:fixed;bottom:82px;right:22px;box-shadow:inset 0 2px #ffffff29,0 12px 28px #00000057}.marketplace-scroll-top:hover{border-color:#f5b84b;transform:translateY(-2px)}.marketplace-scroll-top:active{transform:translateY(1px)scale(.98)}.marketplace-scroll-top svg{width:18px;height:18px}:root[data-theme=light] input[type=number][name=price],:root[data-theme=light] input[type=number][name=discountPrice],:root[data-theme=light] .marketplace-price-inputs input,:root[data-theme=light] .module-price-fields input[type=number],:root[data-theme=light] .card-preview-price .module-price,:root[data-theme=light] .marketplace-scroll-top{color:var(--light-on-wine);background:linear-gradient(180deg, #a84b37 0%, var(--light-wine-surface) 52%, var(--light-wine-surface-strong) 100%);text-shadow:0 1px 1px #21090675;border-color:#6b241fb8}:root[data-theme=light] .card-preview-price .module-price-sale .module-price-current,:root[data-theme=light] .card-preview-price .module-price-discount{color:var(--light-on-wine)}:root[data-theme=light] .card-preview-price .module-price-old{color:#fff7d7b8}:root[data-theme=light] .card-preview-price .module-price-discount{background:#fff7d71f;border-color:#fff7d76b}@media (width<=760px){.marketplace-scroll-top{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));justify-content:center;width:44px;height:44px;padding:0}.marketplace-scroll-top span{display:none}}.race-check-item>svg{flex:0 0 18px}.module-checkbox-field{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.module-checkbox-field>input[type=checkbox]{aspect-ratio:1;flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;margin:0}.quick-die-label{font-variant-numeric:tabular-nums;font-weight:700;display:none}@media (width<=600px){.game-chat-quick-rolls{grid-template-columns:repeat(2,minmax(0,1fr))}.character-quick-rolls button,.game-chat-quick-rolls button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.quick-die-label{display:inline}}.app-image-loading-screen{z-index:20000;color:var(--text);background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--gold) 18%, transparent), transparent 34%), linear-gradient(180deg, color-mix(in srgb, var(--panel) 96%, #090202), var(--panel-strong));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-content:center;justify-items:center;gap:.9rem;padding:1.5rem;display:grid;position:fixed;inset:0}.app-image-loading-stage{place-items:center;width:min(280px,74vw);height:min(280px,74vw);display:grid;position:relative}.app-image-loading-stage img{z-index:2;object-fit:contain;filter:drop-shadow(0 18px 24px #00000061);width:min(240px,66vw);height:min(240px,66vw);animation:2.8s ease-in-out infinite app-image-loader-levitate;display:block;position:relative}.app-image-loading-spark{z-index:1;background:var(--vellum);width:7px;height:7px;box-shadow:0 0 8px var(--gold), 0 0 18px color-mix(in srgb, var(--gold) 76%, transparent);opacity:0;animation:2.4s ease-in-out infinite app-image-loader-spark;animation-delay:calc(var(--spark-index) * -.31s);border-radius:999px;position:absolute}.app-image-loading-spark:first-child{top:54%;left:18%}.app-image-loading-spark:nth-child(2){top:22%;left:27%}.app-image-loading-spark:nth-child(3){top:12%;left:48%}.app-image-loading-spark:nth-child(4){top:25%;right:24%}.app-image-loading-spark:nth-child(5){top:52%;right:15%}.app-image-loading-spark:nth-child(6){bottom:17%;right:28%}.app-image-loading-spark:nth-child(7){bottom:10%;left:42%}.app-image-loading-spark:nth-child(8){bottom:22%;left:19%}.app-image-loading-progress-row{grid-template-columns:minmax(0,320px) 3.25rem;align-items:center;gap:.7rem;width:min(390px,82vw);display:grid}.app-image-loading-progress-row progress{appearance:none;border:1px solid var(--line);background:color-mix(in srgb, var(--field) 88%, transparent);border-radius:999px;width:100%;height:14px;overflow:hidden;box-shadow:inset 0 2px 5px #00000052}.app-image-loading-progress-row progress::-webkit-progress-bar{border-radius:inherit;background:color-mix(in srgb, var(--field) 88%, transparent)}.app-image-loading-progress-row progress::-webkit-progress-value{border-radius:inherit;background:linear-gradient(90deg, var(--wine), var(--gold), var(--vellum));box-shadow:0 0 14px color-mix(in srgb, var(--gold) 58%, transparent);transition:width .18s}.app-image-loading-progress-row progress::-moz-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--wine), var(--gold), var(--vellum));box-shadow:0 0 14px color-mix(in srgb, var(--gold) 58%, transparent)}.app-image-loading-progress-row output{min-width:3.25rem;color:var(--vellum);font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.app-image-loading-copy{color:var(--muted);letter-spacing:.04em;font-size:.9rem}@keyframes app-image-loader-levitate{0%,to{transform:translateY(7px)}50%{transform:translateY(-8px)}}@keyframes app-image-loader-spark{0%,to{opacity:0;transform:translateY(10px)scale(.55)}35%{opacity:.95}65%{opacity:.8;transform:translateY(-14px)scale(1)}}:root[data-theme=light] .app-image-loading-screen{background:radial-gradient(circle at 50% 42%,#d88b3533,#0000 35%),linear-gradient(#fffcebfa,#f4dfb7fc)}:root[data-theme=light] .app-image-loading-progress-row output{color:var(--wine-dark)}@media (prefers-reduced-motion:reduce){.app-image-loading-stage img,.app-image-loading-spark{animation:none}.app-image-loading-spark{opacity:.7}}.app-toast.board-bottom-center,.app-toast.board-bottom-left,.app-toast.board-top-center{z-index:20;pointer-events:none;border-radius:8px;max-width:min(520px,100% - 48px);padding:10px 14px;position:absolute;right:auto}.app-toast.board-bottom-center{animation:.18s ease-out app-toast-board-center-in;top:auto;bottom:24px;left:50%;transform:translate(-50%)}.app-toast.board-bottom-left{animation:.18s ease-out app-toast-in;top:auto;bottom:24px;left:24px}.app-toast.board-top-center{animation:.18s ease-out app-toast-board-center-in;top:24px;bottom:auto;left:50%;transform:translate(-50%)}@keyframes app-toast-board-center-in{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.98)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.markdown-dice,.markdown-term{font:inherit;line-height:inherit;cursor:pointer}.markdown-dice{appearance:none;vertical-align:baseline}.markdown-dice:hover,.markdown-dice:focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 24%, transparent);outline:none}.markdown-term{appearance:none;color:color-mix(in srgb, var(--accent) 68%, var(--text));text-decoration-line:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 56%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 56%, transparent);text-underline-offset:.16em;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-style:normal;font-weight:650;text-decoration-thickness:.08em}.markdown-term:hover,.markdown-term:focus-visible{color:color-mix(in srgb, var(--accent) 86%, var(--vellum));text-shadow:none;outline:none;text-decoration-color:currentColor}.markdown-term-popover{z-index:2147483647;box-sizing:border-box;border:1px solid color-mix(in srgb, var(--accent) 48%, var(--line));width:min(320px,100vw - 24px);color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0506f7;border-radius:12px;padding:14px 40px 14px 14px;position:fixed;box-shadow:0 18px 48px #0000007a}.markdown-editor-content .markdown-term-editor-fallback{cursor:text}.markdown-term-popover strong{color:var(--accent);margin-bottom:6px;display:block}.markdown-term-popover p{margin:0;font-size:13px;line-height:1.45}.markdown-term-popover>button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:20px;line-height:1;position:absolute;top:7px;right:8px}.markdown-term-popover>button:hover,.markdown-term-popover>button:focus-visible{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--text);outline:none}:root[data-theme=light] .markdown-term-popover{color:var(--text);background:#fff7d8fa;box-shadow:0 18px 42px #6b472038}@media (width<=620px){.app-toast.top-right{max-width:none;top:10px;left:10px;right:10px}}.app-toast.top-right,.app-toast.bottom-right{z-index:2147483647;pointer-events:none}.app-toast.bottom-right{animation:.18s ease-out app-toast-bottom-in;top:auto;bottom:18px;right:18px}@keyframes app-toast-bottom-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.character-window.compact .character-sheet-scroll{overflow-x:hidden}.character-window.compact .sheet-list,.character-window.compact .sheet-card-list,.character-window.compact .sheet-list-card,.character-window.compact .sheet-card-details,.character-window.compact .markdown-content,.character-window.compact .markdown-table-frame,.character-window.compact .markdown-table-scroll{min-width:0;max-width:100%}.character-window.compact .markdown-table-frame{contain:inline-size;width:100%}.character-window.compact .markdown-table-scroll{overscroll-behavior-inline:contain;touch-action:pan-x;width:100%;overflow:auto hidden}.character-window.compact .markdown-table-expand{display:none}@media (width<=620px){.app-toast.bottom-right{max-width:none;bottom:10px;left:10px;right:10px}}.character-window.compact .sheet-panel-stack,.character-window.compact .sheet-section,.character-window.compact .sheet-section-body{min-width:0;max-width:100%}.game-module-card-avatar.campaign-module-default-preview{color:#fff6d2;background:radial-gradient(circle at 28% 22%,#ffe9a933,#0000 24%),radial-gradient(circle at 82% 68%,#72222a7a,#0000 34%),linear-gradient(135deg,#1e293b,#241625 52%,#51212c);border-color:#d88b357a;overflow:hidden}.game-module-card-avatar.campaign-module-default-preview .module-view-default-placeholder{width:100%;height:100%;color:inherit}.game-module-card-avatar.campaign-module-default-preview .module-view-default-icon{filter:none;opacity:.94;width:72%;height:72%}.game-module-card-avatar.campaign-module-default-preview svg.module-view-default-icon{color:currentColor;stroke:currentColor;stroke-width:1.6px}.app-shell.game-shell .character-avatar-token-inner>svg{color:#ffe39a;stroke:currentColor;filter:drop-shadow(0 0 2px #562216f2)drop-shadow(0 0 7px #de8f25e0)}.game-module-page-state{min-height:34px;color:var(--muted);background:0 0;border:0;place-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:grid}.game-module-page-state.error{color:var(--danger,#d86b6b)}.game-module-load-sentinel{pointer-events:none;height:1px}.game-module-card img{content-visibility:auto}:root[data-theme=light] .game-module-card-avatar.campaign-module-default-preview,:root[data-theme=light] .card-preview-image.token .card-preview-default-placeholder{color:var(--light-on-wine)}.game-module-card-avatar.campaign-module-default-preview .module-default-icon{opacity:1;background-color:currentColor}.campaign-module-marketplace-preview{gap:14px;min-width:0;display:grid}.campaign-module-marketplace-preview>.panel,.campaign-module-marketplace-preview .race-module-main,.campaign-module-marketplace-preview .race-module-section,.campaign-module-marketplace-preview .race-module-hero-copy,.campaign-module-marketplace-preview .race-module-collapsible-content{min-width:0}.campaign-module-preview-hero,.campaign-module-marketplace-preview .race-module-section{padding:14px}.campaign-module-marketplace-preview .race-module-hero-grid,.campaign-module-preview-layout{grid-template-columns:minmax(0,1fr);gap:14px}.campaign-module-marketplace-preview .race-module-hero-copy h1{overflow-wrap:anywhere;font-size:clamp(26px,7vw,40px);line-height:1.05}.campaign-module-marketplace-preview .race-module-preview-stack{justify-self:center;width:min(100%,320px)}.campaign-module-marketplace-preview .race-module-cover{aspect-ratio:1;min-height:0}.campaign-module-marketplace-preview .race-module-main{gap:12px}.campaign-module-marketplace-preview .race-module-facts{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.campaign-module-marketplace-preview .race-module-bonus-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.campaign-module-marketplace-preview .race-module-feature-card{min-width:0}.campaign-module-inline-facts{flex-wrap:wrap;gap:6px;display:flex}.campaign-module-inline-facts>span{border:1px solid var(--line);background:color-mix(in srgb, var(--card) 82%, transparent);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:5px 8px;font-size:12px;display:inline-flex}.campaign-module-combat-card{gap:10px;display:grid}:root[data-theme=light] .game-list-card.game-module-card .game-module-card-avatar.campaign-module-default-preview{color:var(--light-on-wine)}:root[data-theme=light] .game-list-card.game-module-card .game-module-card-avatar.campaign-module-default-preview .module-view-default-placeholder{color:inherit}:root[data-theme=light] .game-list-card.game-module-card .game-module-card-avatar.campaign-module-default-preview .module-view-default-icon{color:inherit;stroke:currentColor;opacity:1;filter:none}:root[data-theme=light] .game-list-card.game-module-card .game-module-card-avatar.campaign-module-default-preview .module-default-icon{opacity:1;filter:none;background-color:currentColor}.game-module-source-list,.game-module-source-groups{gap:10px;display:grid}.game-module-source-section{gap:8px;display:grid}.game-module-source-toggle{width:100%;color:var(--gold);font:inherit;text-align:left;cursor:pointer;background:#d88b351a;border:1px solid #d88b3561;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 10px;font-weight:800;display:grid}.game-module-source-toggle small{color:var(--muted);font-size:11px;font-weight:800}.game-module-source-toggle svg{flex:none}.game-module-source-groups{padding-left:6px}:root[data-theme=light] .game-module-source-toggle{border-color:var(--light-border-strong);color:var(--light-accent-surface);background:color-mix(in srgb, var(--light-on-wine) 18%, white)}.campaign-module-marketplace-preview{font-size:12px}.campaign-module-marketplace-preview *{font-size:inherit}.campaign-module-marketplace-preview :where(p,span,strong,small,summary,li,button,a,td,th,label){font-size:12px}.campaign-module-marketplace-preview .race-module-hero-copy h1{font-size:clamp(21px,5vw,28px);line-height:1.08}.campaign-module-marketplace-preview :where(h2,.section-heading h2){font-size:16px;line-height:1.15}.campaign-module-marketplace-preview h3{font-size:14px;line-height:1.2}.campaign-module-marketplace-preview .eyebrow,.campaign-module-marketplace-preview .race-module-facts strong{font-size:10px}.campaign-module-marketplace-preview .race-module-facts span,.campaign-module-marketplace-preview .race-module-collapsible-content,.campaign-module-marketplace-preview .race-module-feature-card .race-module-collapsible-content{font-size:12px;line-height:1.4}.campaign-module-marketplace-preview .race-module-hero-copy{display:contents}.campaign-module-marketplace-preview .race-module-hero-copy>.eyebrow{order:1}.campaign-module-marketplace-preview .race-module-hero-copy>h1{order:2}.campaign-module-marketplace-preview .race-module-preview-stack{order:3}.campaign-module-marketplace-preview .race-module-hero-copy>:not(.eyebrow):not(h1){order:4;min-width:0}@media (width<=980px){.race-module-hero-grid>.race-module-hero-copy{display:contents}.race-module-hero-grid>.race-module-hero-copy>.eyebrow{order:1}.race-module-hero-grid>.race-module-hero-copy>h1{order:2}.race-module-hero-grid>.race-module-preview-stack{order:3}.race-module-hero-grid>.race-module-hero-copy>:not(.eyebrow):not(h1){order:4;min-width:0}}.game-module-source-empty{color:var(--muted);margin:0;padding:4px 8px 8px;font-size:11px}.game-map-switcher-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.game-map-switcher-collapse{min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.game-map-switcher-collapse .game-map-switcher-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-scene-tree{gap:6px;min-width:0;display:grid;position:relative}.game-scene-folder-row,.game-map-preview-row{min-width:0;padding-left:calc(var(--scene-depth,0) * 14px)}.game-scene-folder-row{border-radius:10px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:4px;min-height:34px;display:grid}.game-scene-folder-row:hover{background:#d88b3514}.game-scene-folder-toggle,.game-scene-folder-name,.game-scene-drag-handle{color:inherit;background:0 0;border:0;align-items:center;display:flex}.game-scene-folder-toggle{justify-content:center;width:24px;height:24px;padding:3px}.game-scene-folder-toggle:disabled{opacity:0}.game-scene-folder-name{text-align:left;gap:6px;min-width:0;padding:5px 0}.game-scene-folder-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-scene-folder-name svg,.game-scene-folder-toggle svg,.game-scene-drag-handle svg,.game-map-switcher-heading svg,.game-board-context-menu button svg{flex:none;width:15px;height:15px}.game-map-preview-row{border-radius:12px;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:2px;display:grid;position:relative}.game-map-preview-row:not(:has(.game-scene-drag-handle)){grid-template-columns:minmax(0,1fr)}.game-map-preview-row.active .game-map-preview-card{border-color:var(--gold);background:#d88b351f}.game-scene-drag-handle{width:14px;height:100%;min-height:44px;color:var(--muted);cursor:grab;touch-action:none;justify-content:center;padding:0 1px}.game-scene-drag-handle:active{cursor:grabbing}.game-scene-drag-handle:disabled{cursor:default;opacity:.45}.game-scene-drag-handle svg{width:12px;height:12px}.game-map-preview-row.dragging{opacity:0;pointer-events:none;width:100%;position:absolute}.game-map-preview-row-drop-preview{pointer-events:auto}.game-map-preview-card-drop-preview{border-color:var(--gold);cursor:grabbing;opacity:.82;background:#d88b351f;border-style:dashed;box-shadow:inset 0 0 0 1px #d88b352e}.game-scene-drag-handle-preview{pointer-events:none;opacity:.72}.game-map-preview-row .game-map-preview-card{min-width:0;padding-right:34px}.game-scene-print{z-index:2;width:26px;height:26px;color:var(--muted);cursor:pointer;background:#120a08a8;border:1px solid #0000;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.game-scene-print:hover{color:var(--vellum);border-color:var(--gold)}.game-scene-print:disabled{display:none}.game-scene-print svg{width:14px;height:14px}.game-map-settings-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}:root[data-theme=light] .game-scene-print{color:var(--wine-dark);background:#fffce8d1}.game-scene-folder-name,.game-map-preview-meta strong{font-size:10px}.game-map-preview-meta{align-content:center;align-self:stretch}.game-map-preview-meta.draggable{cursor:grab;-webkit-user-select:none;user-select:none}.game-map-preview-meta.draggable:active{cursor:grabbing}.game-map-preview-meta small{font-size:9px}.game-map-preview-meta input{border:1px solid var(--gold);width:100%;min-width:0;color:var(--text);font:inherit;background:var(--field);border-radius:6px;padding:3px 5px}.game-board-context-menu button{align-items:center;gap:8px;display:flex}.modal-card:has(.campaign-import-modal-body){flex-direction:column;width:min(1240px,100vw - 32px);max-width:none;height:min(920px,100dvh - 32px);max-height:calc(100dvh - 32px);padding:0;display:flex;overflow:hidden}.modal-card:has(.campaign-import-modal-body)>.section-heading{flex:none;padding:18px 22px 12px}.campaign-import-modal-body{box-sizing:border-box;overscroll-behavior:contain;gap:16px;min-width:0;min-height:0;padding:0 22px 22px;display:grid;overflow:auto}.campaign-import-intro{margin:-4px 0 0}.campaign-import-workspace{grid-template-columns:minmax(560px,1.15fr) minmax(420px,.85fr);gap:14px;min-width:1020px;min-height:520px;display:grid}.campaign-import-column{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface-raised) 78%, transparent);border-radius:14px;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:12px;display:flex}.campaign-import-column-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.campaign-import-column-heading h3,.campaign-import-field h3{margin:0;font-size:.95rem}.campaign-import-column-heading p,.campaign-import-field p{color:var(--text-muted);margin:3px 0 0;font-size:.78rem;line-height:1.4}.campaign-import-heading-actions{flex:none;align-items:center;gap:8px;display:flex}.campaign-import-count{background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 7px;font-size:.78rem;font-weight:700;display:grid}.campaign-import-selected-target{background:color-mix(in srgb, var(--accent) 7%, transparent);color:var(--text-muted);border-radius:9px;margin:0;padding:7px 9px;font-size:.72rem}.campaign-import-source-tree,.campaign-import-destination-tree{gap:5px;min-height:0;display:grid}.campaign-import-source-tree{max-height:570px;padding-right:3px;overflow:auto}.campaign-import-destination-preview{flex-direction:column;flex:auto;gap:6px;min-width:0;min-height:0;padding:2px 3px 3px 0;display:flex;overflow:auto}.campaign-import-destination-tree{min-width:max(100%,500px)}.campaign-import-source-node,.campaign-import-target-node,.campaign-import-preview-node{--tree-depth:0;width:100%;min-height:48px;padding:7px 9px 7px calc(9px + var(--tree-depth) * 17px);background:color-mix(in srgb, var(--surface) 82%, transparent);color:var(--text-primary);text-align:left;box-sizing:border-box;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px}.campaign-import-source-node{cursor:grab;grid-template-columns:auto auto minmax(0,1fr) auto;display:grid}.campaign-import-source-node:active,.campaign-import-preview-node.draggable:active{cursor:grabbing}.campaign-import-source-tree .campaign-import-source-node{min-width:max(100%, calc(390px + var(--tree-depth) * 17px))}.campaign-import-target-node{padding:0 6px 0 calc(2px + var(--tree-depth) * 17px);grid-template-columns:minmax(0,1fr) auto;display:grid}button.campaign-import-target-node{cursor:pointer;grid-template-columns:auto minmax(0,1fr);padding:7px 9px}.campaign-import-destination-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:7px;display:grid}.campaign-import-destination-main>span,.campaign-import-target-node>span,.campaign-import-source-node>.campaign-import-node-copy,.campaign-import-whole-source>span,.campaign-import-preview-node>span:not(.campaign-import-node-preview){gap:2px;min-width:0;display:grid}.campaign-import-source-node:hover,.campaign-import-target-node:hover,.campaign-import-target-node.active,.campaign-import-target-node.drop-active{border-color:color-mix(in srgb, var(--accent) 55%, var(--line-soft));background:color-mix(in srgb, var(--accent) 9%, var(--surface-raised))}.campaign-import-target-node.drop-active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 70%, transparent)}.campaign-import-target-node.draft{border-style:dashed;border-color:color-mix(in srgb, var(--accent) 28%, var(--line-soft))}.campaign-import-preview-node{min-width:max(100%, calc(480px + var(--tree-depth) * 17px));grid-template-columns:auto minmax(0,1fr);display:grid}.campaign-import-preview-node.imported{border-color:color-mix(in srgb, var(--accent) 22%, var(--line-soft));background:color-mix(in srgb, var(--accent) 6%, var(--surface-raised))}.campaign-import-preview-node.import-root{border-color:color-mix(in srgb, var(--accent) 48%, var(--line-soft));background:color-mix(in srgb, var(--accent) 12%, var(--surface-raised));grid-template-columns:auto auto minmax(0,1fr) auto}.campaign-import-preview-node.campaign-summary{background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised));border-style:dashed;min-height:40px}.campaign-import-preview-node.draggable{cursor:grab}.campaign-import-preview-node.existing{opacity:.78}.campaign-import-node-preview{border:1px solid var(--line-soft);background:var(--campaign-import-preview-color,color-mix(in srgb, var(--surface-raised) 88%, transparent));width:54px;height:38px;color:var(--text-muted);border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.campaign-import-node-preview.folder{width:34px}.campaign-import-node-preview img{object-fit:cover;width:100%;height:100%;display:block}.campaign-import-target-node strong,.campaign-import-source-node strong,.campaign-import-preview-node strong{text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;overflow:hidden}.campaign-import-target-node small,.campaign-import-source-node small,.campaign-import-preview-node small,.campaign-import-field small{color:var(--text-muted);font-size:.7rem}.campaign-import-whole-source{border-color:color-mix(in srgb, var(--accent) 24%, var(--line-soft));background:color-mix(in srgb, var(--accent) 7%, var(--surface-raised))}.campaign-import-actions{min-width:1020px;margin-top:0}.campaign-import-field{border:1px dashed color-mix(in srgb, var(--accent) 38%, var(--line-soft));background:color-mix(in srgb, var(--accent) 5%, var(--surface-raised));border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.campaign-import-field-copy{align-items:center;gap:12px;min-width:0;display:flex}.campaign-import-field-icon{background:color-mix(in srgb, var(--accent) 15%, transparent);width:42px;height:42px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.campaign-create-import-panel,.campaign-edit-campaign-import-panel{gap:14px;padding:24px;display:grid}.campaign-edit-campaign-import-panel{margin-top:18px}.campaign-edit-campaign-import-panel .campaign-import-field{padding-inline:18px}.game-campaign-module-import-card{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line-soft));background:color-mix(in srgb, var(--accent) 7%, var(--surface-raised));border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:100%;margin-bottom:14px;padding:14px;display:grid}.game-campaign-module-import-action{font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .16s,background-color .16s,transform .16s}.game-campaign-module-import-action:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--line-soft));background:color-mix(in srgb, var(--accent) 11%, var(--surface-raised))}.game-campaign-module-import-action:active{transform:translateY(1px)}.game-campaign-module-import-action:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 48%, transparent);outline-offset:2px}.game-campaign-module-import-card>span{background:color-mix(in srgb, var(--accent) 14%, transparent);width:34px;height:34px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.game-campaign-module-import-card strong{min-width:0;font-size:.82rem;line-height:1.3}@media (width<=820px){.modal-card:has(.campaign-import-modal-body){width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.modal-card:has(.campaign-import-modal-body)>.section-heading{padding-inline:14px}.campaign-import-modal-body{padding:0 14px 14px}.campaign-import-source-tree,.campaign-import-destination-tree{max-height:260px}.campaign-import-field{flex-direction:column;align-items:stretch}}.module-rating-badge{z-index:4;pointer-events:none;background:#000000ad;border:1px solid #ffe9a994;border-radius:999px;align-items:center;gap:5px;min-width:70px;height:40px;padding:0 10px 0 8px;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 8px 20px #00000047}.module-rating-badge-star{background:linear-gradient(90deg, var(--gold) 0, var(--gold) var(--module-rating-fill), #fff6d247 var(--module-rating-fill), #fff6d247 100%);color:#0000;filter:drop-shadow(0 2px 3px #00000061);-webkit-background-clip:text;background-clip:text;font-size:25px;line-height:1}.module-rating-badge-value{color:#fff6d2;font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:14px;font-weight:900}.module-rating-placement{width:100%;margin-bottom:10px;display:none}.module-rating-placement[data-portal-mounted=true]{display:block}.race-module-hero-grid>.module-rating-placement,.module-bundle-view-side>.module-rating-placement{margin-bottom:0}.race-module-hero-grid:has(>.module-rating-placement){grid-template-rows:auto auto;row-gap:10px}.race-module-hero-grid:has(>.module-rating-placement)>.race-module-hero-copy{grid-area:1/1/span 2}.race-module-hero-grid>.module-rating-placement{grid-area:1/2}.race-module-hero-grid:has(>.module-rating-placement)>.race-module-preview-stack{grid-area:2/2}.module-rating-toolbar{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.module-rating-stars{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080a0eb8;border:1px solid #ffe9a96b;border-radius:999px;align-items:center;gap:1px;padding:3px 5px;display:flex;box-shadow:0 6px 18px #0000004d}.module-rating-stars button,.module-report-flag{color:#fff6d2b8;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:31px;height:31px;padding:0;transition:transform .14s,color .14s,background .14s;display:grid}.module-rating-stars button:hover,.module-rating-stars button:focus-visible,.module-rating-stars button.active{color:var(--gold);background:#d88b3524}.module-rating-stars button:hover,.module-rating-stars button:focus-visible,.module-report-flag:hover,.module-report-flag:focus-visible{transform:translateY(-1px)scale(1.06)}.module-rating-stars button.selected{box-shadow:inset 0 0 0 1px #d88b3570}.module-rating-stars button:disabled{cursor:not-allowed;opacity:.78;transform:none}.module-rating-stars svg{width:22px;height:22px}.module-report-flag{color:#fff6d2d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080a0eb8;border:1px solid #ffe9a96b;flex:none;width:39px;height:39px;box-shadow:0 6px 18px #0000004d}.module-report-flag:hover,.module-report-flag:focus-visible,.module-report-flag.active{color:var(--gold);background:#261613e0}.module-report-flag svg{width:19px;height:19px}.module-review-request{width:39px;height:39px;color:var(--gold);cursor:pointer;background:#080a0eb8;border:1px solid #ffe9a96b;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;box-shadow:0 6px 18px #0000004d}.module-review-request:hover,.module-review-request:focus-visible{background:#261613e0;transform:translateY(-1px)}.module-review-request:disabled{opacity:.58;cursor:wait}.module-review-request svg{width:18px;height:18px}.module-review-pending{color:var(--gold);background:#080a0eb8;border:1px solid #d88b3566;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:700}.module-report-modal .modal-copy,.module-report-unavailable{margin:0}.module-report-preset-fieldset{border:0;min-width:0;margin:0;padding:0}.module-report-preset-fieldset legend,.module-report-details-field>span{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:800}.module-report-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.module-report-preset-grid label{min-width:0;min-height:52px;color:var(--text);cursor:pointer;background:#0000001f;border:1px solid #d88b353d;border-radius:12px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;transition:border-color .14s,background .14s;display:grid}.module-report-preset-grid label:hover,.module-report-preset-grid label:focus-within,.module-report-preset-grid label.active{background:color-mix(in srgb, var(--gold) 12%, transparent);border-color:#d88b3594}.module-report-preset-grid input[type=radio]{background:color-mix(in srgb, var(--field) 78%, transparent);width:18px;min-width:18px;height:18px;box-shadow:none;cursor:pointer;appearance:none;border:1px solid #d88b35ad;border-radius:50%;place-content:center;margin:0;padding:0;display:grid}.module-report-preset-grid input[type=radio]:before{content:"";background:var(--gold);border-radius:50%;width:8px;height:8px;transition:transform .12s;transform:scale(0)}.module-report-preset-grid input[type=radio]:checked:before{transform:scale(1)}.module-report-preset-grid input[type=radio]:focus-visible{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px #d88b3529}.module-report-preset-grid span{overflow-wrap:anywhere;min-width:0;line-height:1.3}.module-report-unavailable{font-size:12px}:root[data-theme=light] .module-rating-badge,:root[data-theme=light] .module-rating-stars,:root[data-theme=light] .module-report-flag{background:#fffae5e6;border-color:#521d1861;box-shadow:0 8px 20px #53251433}:root[data-theme=light] .module-rating-badge-value{color:var(--text)}:root[data-theme=light] .module-rating-stars button,:root[data-theme=light] .module-report-flag{color:#521d1894}:root[data-theme=light] .module-rating-stars button.active,:root[data-theme=light] .module-rating-stars button:hover,:root[data-theme=light] .module-rating-stars button:focus-visible,:root[data-theme=light] .module-report-flag.active,:root[data-theme=light] .module-report-flag:hover,:root[data-theme=light] .module-report-flag:focus-visible{color:#9a5b12}:root[data-theme=light] .module-report-preset-grid label{background:#fffce88f}@media (width<=980px){.race-module-hero-grid:has(>.module-rating-placement){grid-template-rows:none;row-gap:22px}.race-module-hero-grid>.module-rating-placement{order:3;grid-area:auto/1}.race-module-hero-grid:has(>.module-rating-placement)>.race-module-preview-stack{order:4;grid-area:auto/1}.race-module-hero-grid:has(>.module-rating-placement)>.race-module-hero-copy>:not(.eyebrow):not(h1){order:5}}@media (width<=460px){.module-rating-stars{padding-inline:3px}.module-rating-stars button{width:27px;height:29px}.module-rating-stars svg{width:20px;height:20px}.module-report-flag{width:36px;height:36px}.module-report-preset-grid{grid-template-columns:1fr}}@media (width>=981px){.race-module-page>.race-module-hero>.race-module-hero-grid:has(>.race-module-hero-copy>.race-module-collapsible){grid-template-rows:auto auto auto auto;gap:0 22px}.race-module-page>.race-module-hero>.race-module-hero-grid:has(>.race-module-hero-copy>.race-module-collapsible)>.race-module-hero-copy{grid-area:auto;display:contents}.race-module-page>.race-module-hero>.race-module-hero-grid:has(>.race-module-hero-copy>.race-module-collapsible)>.race-module-hero-copy>*{min-width:0}.race-module-page>.race-module-hero>.race-module-hero-grid:has(>.race-module-hero-copy>.race-module-collapsible)>.race-module-hero-copy>.eyebrow{grid-area:1/1}.race-module-page>.race-module-hero>.race-module-hero-grid:has(>.race-module-hero-copy>.race-module-collapsible)>.race-module-hero-copy>h1{grid-area:2/1}.race-module-page>.race-module-hero>.race-module-hero-grid:has(>.race-module-hero-copy>.race-module-collapsible)>.race-module-hero-copy>.race-module-collapsible{grid-area:3/1;margin-top:0}.race-module-page>.race-module-hero>.race-module-hero-grid:has(>.race-module-hero-copy>.race-module-collapsible)>.race-module-hero-copy>.race-module-meta-row{grid-area:4/1}.race-module-page>.race-module-hero>.race-module-hero-grid:has(>.race-module-hero-copy>.race-module-collapsible)>.module-rating-placement{grid-area:2/2;align-self:end;margin-bottom:12px}.race-module-page>.race-module-hero>.race-module-hero-grid:has(>.race-module-hero-copy>.race-module-collapsible)>.race-module-preview-stack{grid-area:3/2/span 2;align-self:start}}.profile-heading-actions{flex-wrap:wrap;gap:10px;display:flex}.user-report-file input[type=file]{border:1px solid var(--line);background:var(--field);width:100%;color:var(--text);border-radius:10px;padding:10px}.user-report-file-state{border:1px solid color-mix(in srgb, var(--gold) 32%, transparent);min-width:0;color:var(--muted);background:color-mix(in srgb, var(--gold) 7%, transparent);overflow-wrap:anywhere;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.user-report-file-state svg{flex:none;width:16px;height:16px}.user-report-file-state.uploading svg{animation:.8s linear infinite user-report-upload-spin}@keyframes user-report-upload-spin{to{transform:rotate(360deg)}}.game-master-toolbar-wrap{z-index:31;opacity:.2;pointer-events:none;flex-direction:column;align-items:stretch;width:min(460px,100% - 16px);max-width:calc(100% - 16px);transition:opacity .2s;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.game-master-toolbar-wrap:hover,.game-master-toolbar-wrap:focus-within{opacity:1}.game-master-toolbar-wrap.with-action-reference{width:min(508px,100% - 16px)}.game-master-toolbar-wrap.with-action-reference .game-master-toolbar{width:508px}.game-master-toolbar-wrap>*{pointer-events:auto}.game-master-toolbar-drawer{opacity:0;pointer-events:none;align-items:flex-end;width:100%;min-width:0;max-height:0;transition:max-height .22s,opacity .16s,transform .18s;display:flex;overflow:hidden;transform:translateY(10px)}.game-master-toolbar-drawer.expanded{opacity:1;pointer-events:auto;max-height:78px;overflow:visible;transform:translateY(0)}.game-master-toolbar{box-sizing:border-box;background:radial-gradient(circle at 0 100%,#c369302b,#0000 62%),linear-gradient(90deg,#090604f7,#060000f2);border:1px solid #f59e0b6b;border-bottom:0;border-radius:16px 16px 0 0;align-items:center;width:460px;max-width:100%;min-height:50px;padding:9px 12px;display:flex;overflow:hidden}.game-master-toolbar:has(.game-soundbar-popover){overflow:visible}.game-master-toolbar>.game-soundbar-anchor{flex:none;margin-left:8px}.game-master-toolbar-tools{flex-wrap:nowrap;flex:auto;place-content:center;align-items:center;gap:5px;min-width:0;max-height:66px;display:flex}.game-master-toolbar-tools>.game-action-reference-trigger:first-child{margin-left:2px}.game-master-tool,.game-master-toolbar-toggle{color:#f8e7c0;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:border-color .18s,background .18s,color .18s,transform .18s;display:inline-flex}.game-master-tool{border-radius:8px;flex:0 0 26px;width:26px;height:26px}.game-master-tool-icon{place-items:center;width:25.5px;height:25.5px;display:inline-grid;position:relative}.game-master-tool-icon.composite{overflow:visible}.game-master-tool-icon.composite>svg:first-child{transform:translate(-1px,-1px)}.game-master-tool-badge{box-sizing:border-box;color:#fde68a;background:#0e0504fa;border:1px solid #f59e0bc2;border-radius:999px;place-items:center;width:19.2px;height:19.2px;padding:0;display:grid;position:absolute;bottom:-4.5px;right:-4.5px;transform:translateY(25%);box-shadow:0 0 0 1px #0e0504f2,0 1px 4px #0000007a}.game-master-tool-badge svg{width:12.6px;height:12.6px}.game-master-tool-state{box-sizing:border-box;background:#94a3b8e6;border:2px solid #0e0504fa;border-radius:999px;width:12px;height:12px;position:absolute;bottom:-3px;left:-3px;box-shadow:0 0 0 1px #f59e0b7a}.game-master-tool-state.enabled{background:#4ade80;box-shadow:0 0 0 1px #4ade80e0,0 0 7px #4ade80b8}.game-master-tool:hover,.game-master-tool.active{color:#fde68a;background:radial-gradient(circle,#7f1d1df2,#450a0af0);border-color:#f59e0bbf;box-shadow:0 0 16px #f59e0b3d}.game-master-tool.wall-drawing-enabled{border-color:#4ade80e0}.game-master-toolbar-toggle{z-index:1;filter:drop-shadow(0 -7px 16px #00000047);background:linear-gradient(#120705f7,#060000f2);border-color:#f59e0b73 #f59e0b73 currentColor;border-bottom-style:none;border-bottom-width:0;border-radius:8px 8px 0 0;flex:none;align-self:center;width:42px;height:20px;min-height:20px;max-height:20px;margin-bottom:-1px;position:relative;overflow:hidden}.game-master-toolbar-toggle:hover,.game-master-toolbar-toggle.active{color:var(--vellum);background:linear-gradient(180deg, #8c372c, var(--wine-dark));border-color:#f59e0be6}:root[data-theme=light] .game-master-toolbar{border-color:var(--light-border-strong);background:linear-gradient(90deg,#fffefafa,#f6e7dafa);box-shadow:inset 0 0 0 1px #ffffff7a}:root[data-theme=light] .game-master-tool,:root[data-theme=light] .game-master-toolbar-toggle{color:var(--wine-dark)}:root[data-theme=light] .game-master-tool-badge{color:var(--wine-dark);background:#fffefafc;border-color:#5720196b;box-shadow:0 0 0 1px #fffefaf0,0 1px 4px #5b30232e}:root[data-theme=light] .game-master-tool-state{background:#64748be0;border-color:#fffefafc;box-shadow:0 0 0 1px #57201952}:root[data-theme=light] .game-master-tool-state.enabled{background:#15803d;box-shadow:0 0 0 1px #15803da8,0 0 6px #15803d57}:root[data-theme=light] .game-master-tool:hover,:root[data-theme=light] .game-master-tool.active,:root[data-theme=light] .game-master-toolbar-toggle:hover,:root[data-theme=light] .game-master-toolbar-toggle.active{color:var(--light-on-accent);background:var(--light-accent-surface-strong);border-color:#5720198a}:root[data-theme=light] .game-master-tool:hover .game-master-tool-badge,:root[data-theme=light] .game-master-tool.active .game-master-tool-badge{color:var(--light-on-accent);background:#572019eb;border-color:#ffffff80}:root[data-theme=light] .game-master-toolbar-toggle{border-color:var(--light-border-strong);background:linear-gradient(#fffefafc,#f6e7dafc)}@media (width<=620px){.game-master-toolbar-wrap{width:min(440px,100% - 12px);max-width:calc(100% - 12px)}.game-master-toolbar{width:440px;padding-inline:8px}.game-master-toolbar-tools{gap:4px}}.publication-moderation-panel{gap:1rem;padding:clamp(1.25rem,2vw,1.75rem);display:grid}.publication-moderation-heading,.publication-moderation-header,.publication-moderation-stage,.publication-moderation-actions{align-items:center;display:flex}.publication-moderation-heading{gap:.65rem}.publication-moderation-header{justify-content:space-between;gap:1rem}.publication-moderation-header>svg{width:2rem;height:2rem;color:var(--accent,var(--gold))}.publication-moderation-header h2,.publication-moderation-findings h3{margin:0}.publication-moderation-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.publication-moderation-stage{border:1px solid var(--line);border-radius:var(--radius-md,12px);background:var(--card);gap:.65rem;padding:.8rem}.publication-moderation-stage.danger{border-color:var(--danger,var(--bad))}.publication-moderation-stage.warning{border-color:var(--gold)}.publication-moderation-stage svg{flex:none;width:1.25rem;height:1.25rem}.publication-moderation-stage div{gap:.15rem;display:grid}.publication-moderation-stage span{color:var(--muted);font-size:.85rem}.publication-moderation-findings{border-radius:var(--radius-md,12px);background:var(--field);gap:.5rem;padding:.9rem 1rem;display:grid}.publication-moderation-findings ul{margin:0;padding-left:1.25rem}.publication-moderation-findings li+li{margin-top:.4rem}.publication-moderation-images{gap:.85rem;display:grid}.publication-moderation-images h3,.publication-moderation-images p{margin:0}.publication-moderation-images>div:first-child{gap:.3rem;display:grid}.publication-moderation-image-tip{color:var(--muted);font-size:.82rem;line-height:1.45}.campaign-module-publication-panel>.publication-moderation-panel{border-radius:var(--radius-md,12px);padding:1rem}.campaign-module-publication-panel .publication-moderation-stages{grid-template-columns:1fr}.campaign-module-bundle-publication-notice{border:1px solid var(--line);border-radius:var(--radius-md,12px);background:var(--field);gap:.35rem;padding:.85rem .95rem;display:grid}.campaign-module-bundle-publication-notice span{color:var(--muted);font-size:.85rem;line-height:1.45}.publication-moderation-image-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:.75rem;display:grid}.publication-moderation-image-card{border:1px solid var(--line);border-radius:var(--radius-md,12px);background:var(--card);grid-template-columns:104px minmax(0,1fr);gap:.85rem;padding:.75rem;display:grid}.publication-moderation-image-card>img{object-fit:cover;border-radius:var(--radius-sm,8px);background:var(--field);width:104px;height:104px}.publication-moderation-image-card>div{flex-direction:column;align-items:flex-start;gap:.4rem;min-width:0;display:flex}.publication-moderation-image-card strong{overflow-wrap:anywhere}.publication-moderation-image-card small{color:var(--bad)}.publication-moderation-image-card .ui-button{margin-top:auto}.modal-card.publication-image-picker-modal{width:min(880px,100%)}.publication-image-picker-modal .personal-image-library-panel{margin-top:1rem}.modal-card.publication-image-crop-modal{width:min(760px,100%)}.publication-image-crop-editor,.publication-image-crop-controls{gap:1rem;display:grid}.publication-image-crop-frame{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--field);cursor:grab;touch-action:none;width:min(620px,100%);max-height:56vh;margin-inline:auto;position:relative;overflow:hidden}.publication-image-crop-frame.dragging{cursor:grabbing}.publication-image-crop-frame img{object-fit:cover;width:100%;height:100%;transform:translate(calc(-50% + var(--publication-crop-x,0px)), calc(-50% + var(--publication-crop-y,0px))) rotate(var(--publication-crop-rotation,0deg)) scale(var(--publication-crop-scale,1));transform-origin:50%;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:50%;left:50%}.publication-image-crop-controls .ui-button{justify-self:start}.publication-image-crop-editor .modal-actions{margin-top:0}.publication-moderation-actions{flex-wrap:wrap;gap:.65rem}@media (width<=760px){.publication-moderation-stages{grid-template-columns:1fr}.publication-moderation-image-card{grid-template-columns:80px minmax(0,1fr)}.publication-moderation-image-card>img{width:80px;height:80px}}.publication-appeal-panel{border:1px solid color-mix(in srgb, var(--warning-color,#c07a2c) 42%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel-bg) 92%, var(--warning-color,#c07a2c) 8%);gap:1rem;padding:1.25rem;display:grid}.publication-appeal-heading{align-items:flex-start;gap:.8rem;display:flex}.publication-appeal-heading>svg{flex:none;width:1.4rem;height:1.4rem}.publication-appeal-heading h3,.publication-appeal-heading p{margin:0}.publication-appeal-heading p{color:var(--text-muted);margin-top:.35rem}.publication-appeal-field{gap:.5rem;font-weight:700;display:grid}.publication-appeal-field textarea{resize:vertical;min-height:7rem}.game-npc-library{border-top:1px solid var(--line);gap:10px;margin-top:14px;padding-top:14px;display:grid}.game-npc-library-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.game-npc-library-heading>div:first-child{gap:2px;min-width:0;display:grid}.game-npc-library-heading h3,.game-npc-library-heading small,.game-npc-folder-empty{margin:0}.game-npc-library-heading h3{font-size:14px}.game-npc-library-heading small,.game-npc-folder-empty{color:var(--muted);font-size:11px}.game-npc-library-actions{align-items:center;gap:5px;display:flex}.game-npc-folder-tree{border:1px solid var(--line);background:#00000029;border-radius:8px;gap:3px;min-width:0;padding:5px;display:grid}.game-npc-folder-tree>.game-library-folder-row{grid-template-columns:24px minmax(0,1fr) auto}.game-npc-folder-tree>.game-library-folder-row:first-child{grid-template-columns:minmax(0,1fr) auto}.game-npc-folder-tree .game-library-folder-row>small{color:var(--muted);font-size:10px}.game-npc-folder-content{min-width:0;padding:5px 0 8px calc(8px + var(--folder-depth,0) * 14px);gap:6px;display:grid}.game-character-card.game-npc-card{border-radius:10px;grid-template-columns:auto auto minmax(0,1fr);padding:8px}.game-npc-folder-empty{padding:5px 8px}.game-npc-empty{margin-top:0}.campaign-npc-sheet-abilities .campaign-npc-ability-button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:#ffffff0b;border:1px solid #ffe9a924;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:9px;display:grid}.campaign-npc-sheet-abilities .campaign-npc-ability-button:hover,.campaign-npc-sheet-abilities .campaign-npc-ability-button:focus-visible{background:#d88b351a;border-color:#ffc46b6b}.campaign-npc-sheet-abilities .campaign-npc-ability-button small{grid-column:2}.modal-card.hub-editors-modal{overscroll-behavior:contain;flex-direction:column;width:min(1120px,100%);display:flex;overflow-y:auto}.hub-editors-grid{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:16px;display:grid}.hub-editors-modal>.section-heading{flex-direction:row;flex-shrink:0;align-items:center;gap:12px;display:flex}.hub-editors-modal>.section-heading .icon-button{flex-shrink:0}.hub-editor-card{background:var(--card);border:1px solid #d88b354d;border-radius:22px;grid-template-rows:auto 1fr;min-width:0;transition:transform .16s,border-color .16s;display:grid;overflow:hidden;box-shadow:0 14px 36px #0000002e}.hub-editor-card:hover{border-color:var(--gold);transform:translateY(-3px)}.hub-editor-card>img{object-fit:cover;background:var(--panel-strong);border-bottom:1px solid #d88b353d;width:100%;height:clamp(120px,14vw,170px);display:block}.hub-editor-news-visual{height:clamp(120px,14vw,170px);color:var(--gold);background:radial-gradient(circle, #d88b353d, transparent 42%), var(--panel-strong);border-bottom:1px solid #d88b353d;place-items:center;display:grid}.hub-editor-news-visual svg{width:56px;height:56px}.hub-editor-card-copy{grid-template-rows:auto 1fr auto;gap:12px;padding:16px;display:grid}.hub-editor-card-heading{align-items:center;gap:9px;display:flex}.hub-editor-card-heading svg,.hub-editor-card-heading-icon{flex:0 0 22px;width:22px;height:22px}.hub-editor-card-heading svg{color:var(--gold)}.hub-editor-card-heading-icon{background:var(--gold);-webkit-mask:var(--hub-editor-icon) center / contain no-repeat;-webkit-mask:var(--hub-editor-icon) center / contain no-repeat;mask:var(--hub-editor-icon) center / contain no-repeat;display:block}.hub-editor-card-heading h3,.hub-editor-card-copy p{margin:0}.hub-editor-card-heading h3{font-size:20px}.hub-editor-card-copy p{color:var(--muted);font-size:14px;line-height:1.5}.hub-editor-card-copy .ui-button{width:100%}@media (width<=900px){.hub-editors-grid{grid-template-columns:1fr}.hub-editor-card{grid-template-rows:none;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr)}.hub-editor-card>img,.hub-editor-news-visual{border-bottom:0;border-right:1px solid #d88b353d;height:100%}}@media (width<=620px){.hub-editor-card{grid-template-rows:auto 1fr;grid-template-columns:1fr}.hub-editor-card>img,.hub-editor-news-visual{border-bottom:1px solid #d88b353d;border-right:0;height:140px}}.hub-module-library-sections{gap:18px;display:grid}.hub-module-library-section{background:#faf9d90e;border:1px solid #faf9d929;border-radius:20px;min-width:0;overflow:hidden;box-shadow:inset 0 1px #ffffff09}.hub-module-library-section.personal{background:#72222a2e}.hub-module-library-toggle{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;display:grid}.hub-module-library-toggle:hover,.hub-module-library-toggle:focus-visible{background:#faf9d911}.hub-module-library-toggle-icon{background:#faf9d90f;border:1px solid #faf9d929;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.hub-module-library-toggle-icon svg{width:18px;height:18px;transition:transform .16s}.hub-module-library-toggle-icon.expanded svg{transform:rotate(180deg)}.hub-module-library-heading-copy{gap:4px;min-width:0;display:grid}.hub-module-library-heading-copy strong{font-size:18px}.hub-module-library-heading-copy small{color:color-mix(in srgb, var(--text) 70%, transparent);line-height:1.35}.hub-module-library-count{color:var(--text);background:#faf9d912;border:1px solid #faf9d933;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:800}.hub-module-library-content{border-top:1px solid #faf9d91f;gap:14px;padding:16px;display:grid}.hub-module-library-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.hub-module-library-search{min-width:220px;color:color-mix(in srgb, var(--text) 70%, transparent);text-transform:uppercase;letter-spacing:.04em;flex:280px;gap:5px;font-size:11px;font-weight:700;display:grid}.hub-module-library-search-field{min-height:40px;color:color-mix(in srgb, var(--text) 70%, transparent);background:#faf9d90e;border:1px solid #faf9d929;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.hub-module-library-search-field input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.hub-module-library-types{flex-wrap:wrap;flex:320px;gap:6px;display:flex}.hub-module-library-types button,.hub-module-library-clear{min-height:34px;color:color-mix(in srgb, var(--text) 74%, transparent);cursor:pointer;background:#faf9d90e;border:1px solid #faf9d929;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.hub-module-library-types button:hover,.hub-module-library-types button.active,.hub-module-library-clear:hover{color:var(--text);background:#faf9d91f;border-color:#faf9d957}.hub-module-library-sentinel{min-height:42px;color:color-mix(in srgb, var(--text) 70%, transparent);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.hub-module-library-sentinel svg{width:16px;height:16px}:root[data-theme=light]{--hub-library-light-surface:#fffdf8;--hub-library-light-surface-muted:#f7f3eb;--hub-library-light-surface-hover:#f3eee5;--hub-library-light-border:#4c3f3533;--hub-library-light-border-soft:#4c3f3521;--hub-library-light-border-strong:#4c3f3552;--hub-library-light-accent:#604c40}:root[data-theme=light] .hub-module-state-card{color:var(--light-text);border-color:var(--hub-library-light-border);background:var(--hub-library-light-surface);box-shadow:inset 0 0 0 1px #ffffffa3}:root[data-theme=light] .hub-module-state-card:hover,:root[data-theme=light] .hub-module-state-card.active{color:var(--light-text);border-color:var(--hub-library-light-border-strong);background:var(--hub-library-light-surface-muted);box-shadow:inset 0 0 0 1px #ffffffb8,0 5px 14px #3a30280f}:root[data-theme=light] .hub-module-state-card svg{color:var(--hub-library-light-accent)}:root[data-theme=light] .hub-module-library-section,:root[data-theme=light] .hub-module-library-section.personal{color:var(--light-text);border-color:var(--hub-library-light-border);background:var(--hub-library-light-surface);box-shadow:inset 0 1px #ffffffc2,0 8px 20px #3a30280d}:root[data-theme=light] .hub-module-library-toggle:hover,:root[data-theme=light] .hub-module-library-toggle:focus-visible{background:var(--hub-library-light-surface-hover)}:root[data-theme=light] .hub-module-library-toggle-icon,:root[data-theme=light] .hub-module-library-count,:root[data-theme=light] .hub-module-library-search-field,:root[data-theme=light] .hub-module-library-types button,:root[data-theme=light] .hub-module-library-clear{color:var(--light-text);border-color:var(--hub-library-light-border);background:var(--hub-library-light-surface-muted)}:root[data-theme=light] .hub-module-library-toggle-icon,:root[data-theme=light] .hub-module-library-count{color:var(--hub-library-light-accent)}:root[data-theme=light] .hub-module-library-heading-copy small,:root[data-theme=light] .hub-module-library-search,:root[data-theme=light] .hub-module-library-search-field,:root[data-theme=light] .hub-module-library-sentinel{color:var(--light-muted-text)}:root[data-theme=light] .hub-module-library-content{border-top-color:var(--hub-library-light-border-soft)}:root[data-theme=light] .hub-module-library-types button:hover,:root[data-theme=light] .hub-module-library-types button.active,:root[data-theme=light] .hub-module-library-clear:hover{color:var(--light-text);border-color:var(--hub-library-light-border-strong);background:var(--hub-library-light-surface-hover)}@media (width<=720px){.hub-module-library-toggle{grid-template-columns:auto minmax(0,1fr)}.hub-module-library-count{grid-column:2;justify-self:start}.hub-module-library-filters{flex-direction:column;align-items:stretch}.hub-module-library-search,.hub-module-library-types{flex-basis:auto;min-width:0}}:root[data-theme=light] .game-npc-folder-tree,:root[data-theme=light] .campaign-module-npc-folders{color:var(--light-text);background:var(--light-neutral-surface);border-color:#70372b33;box-shadow:inset 0 1px #ffffffad,0 6px 16px #5b30230d}:root[data-theme=light] .game-npc-folder-tree .game-library-folder-row.active{color:var(--wine-dark);background:var(--light-neutral-surface-strong);box-shadow:inset 0 0 0 1px #70372b24}:root[data-theme=light] .game-npc-folder-tree button.game-library-folder-row:hover,:root[data-theme=light] .campaign-module-npc-folder-row:hover{color:var(--wine-dark);background:var(--light-neutral-surface-hover)}:root[data-theme=light] .campaign-module-npc-folder-count{color:var(--wine);background:var(--light-neutral-surface-strong)}:root[data-theme=light] .game-npc-folder-content{border-left:1px solid #70372b1f}.card-preview-placeholder-copy{z-index:1;text-align:center;white-space:normal;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;text-wrap:pretty;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;padding:clamp(18px,7%,34px);font-size:clamp(14px,1.25vw,18px);font-weight:650;line-height:1.35;display:flex;position:absolute;inset:0}:root[data-theme=light]{--wine:#9a4635;--wine-dark:#6b241f;--gold:#9d6a20;--copper:#aa7028;--parchment:#fff7df;--vellum:#68481f;--ink:#2f2415;--text:#2f2415;--muted:#715d3d;--line:#74522652;--panel:#fffaecf7;--panel-strong:#f4e4c2fa;--card:#fff9e8e0;--field:#fffcf2f5;--shadow:#4d371929;--scrollbar-thumb:#96692880;--scrollbar-thumb-hover:#64441cb8;--color-quinary:#f3e2bd;--color-sexagenary:#2f2415;--accent:#9a4635;--amber:#9d6a20;--red:#9a4635;--app-bg:#f3e2bd;--light-canvas:#f4ead2;--light-canvas-top:#fffaf0;--light-canvas-middle:#f4e5c2;--light-canvas-bottom:#e2c58e;--light-surface:#fffbf1fa;--light-surface-strong:#f3e1bbfc;--light-surface-soft:#fff9e9e6;--light-surface-hover:#efd39df5;--light-border:#7452264d;--light-border-strong:#895b1d85;--light-text:#2f2415;--light-muted-text:#715d3d;--light-accent-surface:#7b2d24;--light-accent-surface-strong:#5a1b17;--light-on-accent:#fffaf0;--light-neutral-surface:#fffaf0;--light-neutral-surface-alt:#f7e9c9;--light-neutral-surface-strong:#ecd3a1;--light-neutral-surface-hover:#efd8aa;--light-parchment:var(--light-surface);--light-parchment-strong:var(--light-surface-strong);--light-parchment-soft:var(--light-surface-soft);--light-wine-surface:var(--light-accent-surface);--light-wine-surface-strong:var(--light-accent-surface-strong);--light-on-wine:var(--light-on-accent)}:root[data-theme=light] .app-shell{background:radial-gradient(circle at 82% 0%, #ffffffe0, transparent 42%), radial-gradient(ellipse at 12% 108%, #b87e2d29, transparent 58%), linear-gradient(180deg, var(--light-canvas-top), var(--light-canvas-middle) 58%, var(--light-canvas-bottom))}:root[data-theme=light] .app-shell.game-shell{background:radial-gradient(circle at 86% -6%,#ffffffb8,#0000 40%),linear-gradient(#fff9ec,#f1dfba 62%,#dfbf86)}:root[data-theme=light] .marketplace-hero:after{background:radial-gradient(at 72% 45%,#cf963e33,#0000 34%),radial-gradient(at 50% 112%,#7e531f29,#0000 46%)}:root[data-theme=light] .card-preview-placeholder-copy{color:var(--light-text);text-shadow:0 1px #ffffffb8;background:#fffaecb8}.module-dependency-library-sections,.module-dependency-categories{gap:10px;min-width:0;display:grid}.module-dependency-source,.module-dependency-category{border:1px solid color-mix(in srgb, var(--line) 86%, transparent);background:color-mix(in srgb, var(--card) 92%, transparent);border-radius:14px;min-width:0;overflow:hidden}.module-dependency-category{background:color-mix(in srgb, var(--panel) 68%, transparent);border-radius:11px}.module-dependency-category.empty{opacity:.72}.module-dependency-source-toggle,.module-dependency-category-toggle{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 12px;font-weight:750;display:grid}.module-dependency-source-toggle{color:var(--vellum);background:color-mix(in srgb, var(--panel-strong) 82%, transparent)}.module-dependency-category-toggle{padding-block:9px;font-size:13px}.module-dependency-source-toggle:hover,.module-dependency-category-toggle:hover,.module-dependency-source-toggle:focus-visible,.module-dependency-category-toggle:focus-visible{background:color-mix(in srgb, var(--gold) 12%, var(--card));outline:none}.module-dependency-source-toggle svg,.module-dependency-category-toggle svg{transition:transform .16s}.module-dependency-source-toggle svg.open,.module-dependency-category-toggle svg.open{transform:rotate(90deg)}.module-dependency-source-toggle small,.module-dependency-category-toggle small{min-width:26px;color:var(--muted);background:color-mix(in srgb, var(--field) 84%, transparent);text-align:center;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.module-dependency-categories{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(46dvh,540px);padding:10px 6px 10px 10px;overflow-y:auto}.module-dependency-list.grouped{overscroll-behavior:contain;scrollbar-gutter:stable;border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);min-height:0;max-height:min(34dvh,400px);padding:8px 4px 8px 8px;overflow-y:auto}.module-dependency-loading,.module-dependency-retry{width:100%;color:var(--muted);font:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;margin:0;padding:10px;font-size:12px;display:flex}button.module-dependency-retry{color:var(--gold);cursor:pointer}button.module-dependency-retry:hover,button.module-dependency-retry:focus-visible{color:var(--vellum);outline:none}.module-dependency-loading svg,.module-dependency-retry svg{width:16px;height:16px}.module-dependency-infinite-sentinel{height:1px}.module-dependency-search>svg:last-child{margin-left:auto}:root[data-theme=light] .module-dependency-source,:root[data-theme=light] .module-dependency-category{border-color:var(--light-border);background:var(--light-surface)}:root[data-theme=light] .module-dependency-source-toggle{color:var(--light-accent-surface-strong);background:var(--light-surface-strong)}:root[data-theme=light] .module-dependency-category-toggle{color:var(--light-text)}:root[data-theme=light] .module-dependency-source-toggle:hover,:root[data-theme=light] .module-dependency-category-toggle:hover,:root[data-theme=light] .module-dependency-source-toggle:focus-visible,:root[data-theme=light] .module-dependency-category-toggle:focus-visible{background:var(--light-surface-hover)}.module-dependency-library-sections{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;max-height:100%;padding-right:4px;overflow-y:auto}.module-dependency-search:has(.module-dependency-search-loader){grid-template-columns:auto minmax(0,1fr) auto}.module-dependency-search-loader{margin-left:auto}.module-dependency-panel:has(>.module-dependency-retry){grid-template-rows:auto auto auto auto minmax(0,1fr)}@media (width<=860px){.module-dependency-library-sections{max-height:min(72dvh,680px)}.module-dependency-categories{max-height:min(58dvh,560px)}.module-dependency-list.grouped{max-height:min(46dvh,440px)}}.module-bundle-preview-picker>.empty-state{white-space:normal;overflow-wrap:normal;word-break:normal;grid-column:1/-1;width:100%;min-width:0;margin:0;padding:28px 18px}.module-bundle-form .ui-button:not(.primary):not(.danger),.module-bundle-form .icon-button:not(.danger),.module-bundle-preview-mode button,.module-bundle-group-toggle,.module-bundle-form .game-module-type-filters button,.module-bundle-form .game-module-clear-filters{color:var(--vellum);border-color:color-mix(in srgb, var(--gold) 68%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 34%, var(--wine)), color-mix(in srgb, var(--wine) 88%, var(--wine-dark)));opacity:1;box-shadow:inset 0 1px #ffffff21,0 7px 16px #0003}.module-bundle-form .ui-button:not(.primary):not(.danger):hover,.module-bundle-form .icon-button:not(.danger):hover,.module-bundle-preview-mode button:hover,.module-bundle-group-toggle:hover,.module-bundle-form .game-module-type-filters button:hover,.module-bundle-form .game-module-clear-filters:hover{color:var(--vellum);border-color:var(--gold);background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 50%, var(--wine)), color-mix(in srgb, var(--wine) 94%, var(--wine-dark)))}.module-bundle-preview-mode button.active,.module-bundle-form .game-module-type-filters button.active{color:var(--vellum);border-color:var(--gold);background:linear-gradient(180deg, #a64a36, var(--wine) 52%, var(--wine-dark));box-shadow:inset 0 2px #ffffff29,0 0 0 1px #d88b353d,0 8px 20px #0000003d}.module-bundle-form .game-module-type-filters button,.module-bundle-form .game-module-clear-filters{font-size:12px}.app-shell:has(.npc-create-layout){overflow-x:clip}@media (width>=861px){.npc-create-layout>.module-dependency-panel{overscroll-behavior-y:contain;scrollbar-gutter:stable;align-self:start;height:auto;min-height:0;max-height:100dvh;position:sticky;top:0;overflow:hidden auto}.npc-create-layout .module-dependency-imported[open]{max-height:none;display:block}.npc-create-layout .module-dependency-imported[open] .npc-dependency-list{scrollbar-gutter:auto;overflow:visible}.npc-create-layout .module-dependency-library-sections{overscroll-behavior:auto;scrollbar-gutter:auto;touch-action:auto;min-height:0;max-height:none;display:block;overflow:visible}}.npc-create-layout .module-dependency-source,.npc-create-layout .module-dependency-category{align-self:auto;width:100%;min-height:0;display:block}.npc-create-layout .module-dependency-source+.module-dependency-source{margin-top:10px}.npc-create-layout .module-dependency-categories{overscroll-behavior:auto;scrollbar-gutter:auto;max-height:none;display:block;overflow:visible}.npc-create-layout .module-dependency-category+.module-dependency-category{margin-top:10px}.npc-create-layout .module-dependency-list.grouped{overscroll-behavior:auto;scrollbar-gutter:auto;max-height:none;display:grid;overflow:visible}@media (width<=860px){.npc-create-layout .module-dependency-library-sections{scrollbar-gutter:auto;max-height:none;overflow:visible}}:root[data-theme=light] .module-bundle-form .ui-button:not(.primary):not(.danger),:root[data-theme=light] .module-bundle-form .icon-button:not(.danger),:root[data-theme=light] .module-bundle-preview-mode button,:root[data-theme=light] .module-bundle-group-toggle,:root[data-theme=light] .module-bundle-form .game-module-type-filters button,:root[data-theme=light] .module-bundle-form .game-module-clear-filters{color:var(--light-text);border-color:var(--light-border);background:linear-gradient(#fffffcfa,#fff9edfa);box-shadow:inset 0 1px #ffffffe6,0 5px 12px #482a2212}:root[data-theme=light] .module-bundle-form .ui-button:not(.primary):not(.danger):hover,:root[data-theme=light] .module-bundle-form .icon-button:not(.danger):hover,:root[data-theme=light] .module-bundle-preview-mode button:hover,:root[data-theme=light] .module-bundle-group-toggle:hover,:root[data-theme=light] .module-bundle-form .game-module-type-filters button:hover,:root[data-theme=light] .module-bundle-form .game-module-clear-filters:hover{color:var(--wine-dark);border-color:var(--light-border-strong);background:linear-gradient(#fffefb,#f8ecd7)}:root[data-theme=light] .module-bundle-preview-mode button.active,:root[data-theme=light] .module-bundle-form .game-module-type-filters button.active{color:var(--light-on-accent);background:linear-gradient(180deg, var(--light-accent-surface), var(--light-accent-surface-strong));text-shadow:0 1px 1px #21090675;border-color:#572019d1}:root[data-theme=light] .module-bundle-create-component,:root[data-theme=light] .module-bundle-dependency-card,:root[data-theme=light] .module-bundle-dependency-zone{color:var(--light-text);border-color:var(--light-border);background:linear-gradient(#fffffdfc,#fffcf5fc);box-shadow:inset 0 1px #fff,0 5px 14px #482a220d}:root[data-theme=light] .module-bundle-selected-table-wrap{border-color:var(--light-border-strong);background:#f2dfc2;box-shadow:inset 0 1px #fff,0 7px 18px #482a221c}:root[data-theme=light] .module-bundle-selected-table th{color:var(--light-text-muted);border-color:var(--light-border);background:linear-gradient(#fffdf8,#faefe0)}:root[data-theme=light] .module-bundle-selected-table td{color:var(--light-text);background:#fffffdfa;border-color:#5720191f}:root[data-theme=light] .module-bundle-selected-table tbody tr:hover td{background:#fff8e9}:root[data-theme=light] .module-bundle-dependency-workspace{border-color:var(--light-border-strong);background:linear-gradient(#f6e8d1,#efdbbc);box-shadow:inset 0 1px #fff,0 12px 28px #482a221f}:root[data-theme=light] .module-bundle-editor-tabs{border-color:var(--light-border-strong);background:linear-gradient(#f6e8d1,#efdbbc);box-shadow:inset 0 1px #fff,0 8px 20px #482a221a}:root[data-theme=light] .module-bundle-editor-tabs button{color:var(--light-text-muted);border-color:var(--light-border);background:#fffdf7e6}:root[data-theme=light] .module-bundle-editor-tabs button:hover{color:var(--light-text);border-color:var(--light-border-strong);background:#fffaf0}:root[data-theme=light] .module-bundle-editor-tabs button.active{color:var(--light-on-accent);background:linear-gradient(180deg, var(--light-accent-surface), var(--light-accent-surface-strong));text-shadow:0 1px 1px #21090666;border-color:#572019d1}:root[data-theme=light] .module-bundle-dependency-tabs button{color:var(--light-text-muted);border-color:var(--light-border);background:#fffdf7db}:root[data-theme=light] .module-bundle-dependency-tabs button:hover{color:var(--light-text);border-color:var(--light-border-strong);background:#fffaf0}:root[data-theme=light] .module-bundle-dependency-tabs button.active{color:var(--light-on-accent);background:linear-gradient(180deg, var(--light-accent-surface), var(--light-accent-surface-strong));text-shadow:0 1px 1px #21090666;border-color:#572019d1}:root[data-theme=light] .module-bundle-category-nav{border-color:var(--light-border);background:#f6e8d1f0}:root[data-theme=light] .module-bundle-category-row:hover,:root[data-theme=light] .module-bundle-category-row.active{border-color:var(--light-border-strong);background:#fffdf7f0}:root[data-theme=light] .module-bundle-category-select{color:var(--light-text)}:root[data-theme=light] .module-bundle-category-select small,:root[data-theme=light] .module-bundle-dependency-content-header small,:root[data-theme=light] .module-bundle-table-meta{color:var(--light-text-muted)}:root[data-theme=light] .module-bundle-dependency-content{border-color:var(--light-border-strong);background:#fffdf8f7;box-shadow:inset 0 1px #fff,0 8px 20px #482a221a}:root[data-theme=light] .module-bundle-category-empty{border-color:var(--light-border);background:#f8ecd9}:root[data-theme=light] .module-bundle-dependency-card:hover{border-color:var(--light-border-strong);background:linear-gradient(#fffefb,#f8edda)}:root[data-theme=light] .module-bundle-dependency-card.active{border-color:var(--gold);background:linear-gradient(#fffaf0,#f6e3bd)}.damage-defense-editor{gap:10px;display:grid}.damage-defense-list{gap:8px;display:grid}.damage-defense-row{grid-template-columns:minmax(0,1.35fr) minmax(150px,.8fr) auto;align-items:center;gap:8px;display:grid}.damage-defense-remove{align-self:stretch;min-width:34px}.damage-defense-add{justify-self:start}.damage-defense-editor.readonly .damage-defense-list{flex-wrap:wrap;display:flex}.damage-defense-chip{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 86%, transparent);border-radius:999px;align-items:center;gap:7px;min-height:30px;padding:5px 9px;font-size:12px;display:inline-flex}.damage-defense-chip.vunerability{border-color:color-mix(in srgb, var(--bad) 70%, var(--line))}.damage-defense-chip.resistance{border-color:color-mix(in srgb, var(--accent) 65%, var(--line))}.damage-defense-chip.immune{border-color:color-mix(in srgb, var(--good) 65%, var(--line))}@media (width<=680px){.damage-defense-row{grid-template-columns:minmax(0,1fr) auto}.damage-defense-row>:nth-child(2){grid-area:2/1/auto/-1}}.game-player-quick-slots-wrap.quick-action-drag-near{opacity:1}.game-player-quick-slot-list{flex-wrap:nowrap;gap:9px}.game-player-quick-slot{flex-basis:32px;width:32px;height:32px;position:relative}.game-player-quick-slot.empty{color:#f8e7c07a;background:#ffffff06;border-color:#f59e0b33}.game-player-quick-slot.drag-over{color:#dcfce7;background:#14532db8;border-color:#4ade80f2;transform:translateY(-2px);box-shadow:0 0 0 1px #4ade803d,0 0 16px #4ade8057}.game-player-quick-slot-number{font-size:11px;font-weight:800;line-height:1}.game-player-quick-slot-main-image.damage{object-fit:contain;width:25.5px;height:25.5px;display:block}.character-quick-action-drag-source[draggable=true]{cursor:grab}.character-quick-action-drag-source[draggable=true]:active{cursor:grabbing}:root[data-theme=light] .game-player-quick-slot.empty{color:#5720197a;background:#57201906;border-color:#5720192e}:root[data-theme=light] .game-player-quick-slot.drag-over{color:#14532d;background:#dcfce7f0;border-color:#15803db8;box-shadow:0 0 0 1px #15803d24,0 0 12px #15803d29}.saving-throw-fields{display:contents}.saving-throw-fields-hint{color:var(--text-muted,#8f96a3);grid-column:1/-1;margin:-.25rem 0 0;font-size:.78rem}.saving-throw-fields-compact .saving-throw-fields-hint{font-size:.72rem}.tag-input{min-width:0;position:relative}.tag-input-values{background:#0003;border:1px solid #ffe9a933;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px 8px;display:flex}.tag-input:focus-within .tag-input-values{border-color:var(--gold)}.tag-input.disabled{opacity:.62}.tag-input-values>input{min-width:150px;color:inherit;background:0 0;border:0;outline:0;flex:150px;padding:4px 2px}.tag-input-chip{background:#ffc46b1a;border:1px solid #ffc46b4d;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:4px 5px 4px 9px;font-size:12px;display:inline-flex}.tag-input-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tag-input-quantity-prefix{white-space:nowrap;align-items:center;min-height:28px;padding:4px 2px 4px 7px;font-size:12px;font-weight:700;display:inline-flex}.tag-input.quantity-mode .tag-input-quantity-prefix+input{flex:0 90px;min-width:54px;max-width:90px}.tag-input-chip button{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.tag-input-chip button:hover:not(:disabled){background:#ffffff1a}.tag-input-suggestions{background:var(--panel);border:1px solid #ffe9a933;border-radius:12px;max-height:220px;margin-top:5px;padding:6px;display:grid;overflow:auto;box-shadow:0 14px 32px #0000004d}.tag-input-suggestions button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px}.tag-input-suggestions button:hover,.tag-input-suggestions button.active{background:#ffc46b1a}.tag-input-suggestions button.active{box-shadow:inset 0 0 0 1px #ffc46b47}.tag-input-suggestions-status{min-height:36px;color:var(--muted);place-items:center;padding:6px 10px;font-size:12px;display:grid}:root[data-theme=light] .tag-input-values,:root[data-theme=light] .npc-challenge-rating-output{background:#fffce8e0;border-color:#8b562447;box-shadow:inset 0 0 0 1px #ffffff61}:root[data-theme=light] .tag-input-suggestions{background:#fffae5fa;border-color:#8b56243d;box-shadow:0 14px 32px #693c1d29}.npc-habitats-field,.campaign-npc-editor-habitats{grid-column:1/-1}.npc-challenge-rating-auto{align-self:end;min-height:42px}.npc-challenge-rating-output{background:#ffffff0b;border:1px solid #ffe9a933;border-radius:12px;align-items:center;min-height:42px;padding:9px 12px;font-weight:800;display:flex}.npc-challenge-rating-hint{align-self:center;margin:0}.npc-habitat-fact{grid-column:1/-1}.campaign-npc-sheet-encounter-meta{background:#ffffff09;border:1px solid #ffe9a924;border-radius:12px;gap:4px;padding:9px 11px;display:grid}.campaign-npc-sheet-encounter-meta strong{color:var(--vellum);font-size:11px}.campaign-npc-sheet-encounter-meta span{color:var(--muted);font-size:12px;line-height:1.35}.campaign-npc-sheet-stat-text{grid-template-columns:minmax(0,1fr)!important}.campaign-module-npc-card-copy{text-align:center;gap:2px;width:100%;min-width:0;display:grid}.campaign-module-npc-card-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.2;overflow:hidden}.map-editor-collapsible{display:block}.map-editor-collapsible>summary{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;gap:10px;font-size:16px;font-weight:800;list-style:none;display:flex}.map-editor-collapsible>summary::-webkit-details-marker{display:none}.map-editor-collapsible-chevron{color:var(--gold);flex:none;transition:transform .16s}.map-editor-collapsible:not([open])>summary .map-editor-collapsible-chevron{transform:rotate(-90deg)}.map-editor-collapsible-body{gap:12px;padding-top:12px;display:grid}.map-editor-generation-feature-table{border-collapse:separate;border-spacing:0 4px;table-layout:fixed;width:100%}.map-editor-generation-feature-table th,.map-editor-generation-feature-table td{padding:0}.map-editor-generation-feature-table thead th{color:var(--muted);text-align:center;padding:0 2px 2px;font-size:9px;font-weight:700}.map-editor-generation-feature-table thead th:first-child,.map-editor-generation-feature-table tbody th{text-align:left;width:43%}.map-editor-generation-feature-table tbody th{color:var(--text);background:#00000024;border:1px solid #d88b3524;border-right:0;border-radius:10px 0 0 10px;padding:5px 8px;font-size:11px;font-weight:700}.map-editor-generation-feature-table tbody td{text-align:center;background:#00000024;border-top:1px solid #d88b3524;border-bottom:1px solid #d88b3524}.map-editor-generation-feature-table tbody td:last-child{border-right:1px solid #d88b3524;border-radius:0 10px 10px 0}.map-editor-generation-feature-table tr.disabled{opacity:.58}.map-editor-generation-mode-dot{cursor:pointer;place-items:center;width:100%;min-height:30px;display:grid;position:relative}.map-editor-generation-mode-dot input{opacity:0;pointer-events:none;position:absolute}.map-editor-generation-mode-dot>span{background:#0000003d;border:1px solid #ffe9a961;border-radius:50%;place-items:center;width:16px;height:16px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.map-editor-generation-mode-dot>span:after{content:"";background:var(--gold);border-radius:50%;width:8px;height:8px;transition:transform .14s;transform:scale(0)}.map-editor-generation-mode-dot input:checked+span{border-color:var(--gold);background:#d88b3529;box-shadow:0 0 0 2px #d88b351f}.map-editor-generation-mode-dot input:checked+span:after{transform:scale(1)}.map-editor-generation-mode-dot input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.map-editor-generation-feature-table tr.disabled .map-editor-generation-mode-dot{cursor:default}.map-editor-generation-hint,.map-editor-generation-seed,.map-editor-generation-warning,.map-editor-generation-spawn p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.map-editor-generation-warning{color:#e3a36f}.map-editor-generation-assets{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.map-editor-generation-assets>button{min-width:0;min-height:64px;color:var(--text);cursor:pointer;background:#0000002e;border:1px solid #d88b3547;border-radius:10px;place-items:center;gap:4px;padding:6px 4px;display:grid}.map-editor-generation-assets>button:hover{background:#d88b3529;border-color:#d88b35b8}.map-editor-generation-assets>button.active{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#d88b3538}.map-editor-generation-assets small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.map-editor-generation-asset-preview{place-items:center;width:30px;height:30px;display:grid}.map-editor-generation-asset-preview img{object-fit:contain;width:30px;height:30px;display:block}.map-editor-generation-asset-canvas{max-width:100%;max-height:100%;display:block}.map-editor-generation-asset-actions{align-items:center;gap:8px;display:flex}.map-editor-generation-asset-actions .ui-button{flex:1}.map-editor-generation-asset-actions-top{margin-bottom:.75rem}.map-editor-generation-asset-actions-top .icon-button.active{box-shadow:inset 0 0 0 1px var(--color-accent,#6aa9ff)}.map-editor-generation-eraser-radius{margin-bottom:.75rem}.map-editor-generation-assets-label{margin-bottom:.5rem;font-size:11px;display:block}.map-editor-generation-all-assets{margin-top:.75rem}.map-editor-generation-placement-preview{--placement-color:#3fcf6b;z-index:18;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.map-editor-generation-placement-preview.blocked{--placement-color:#e34f4f}.map-editor-generation-placement-cell,.map-editor-generation-placement-ghost{position:absolute;top:50%;left:50%}.map-editor-generation-placement-cell{border:2px solid var(--placement-color);background:color-mix(in srgb, var(--placement-color) 16%, transparent);border-radius:4px;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #0000004d}.map-editor-generation-placement-ghost{transform-origin:0 0;width:0;height:0}.map-editor-generation-placement-ghost-media{opacity:.78;filter:drop-shadow(0 0 5px var(--placement-color));place-items:center;display:grid;position:absolute}.map-editor-generation-placement-ghost-media img,.map-editor-generation-placement-ghost-media>svg{width:100%;height:100%;display:block}.map-editor-generation-spawn{border-top:1px solid #d88b3524;gap:10px;padding-top:4px;display:grid}.map-editor-generation-spawn>strong{color:var(--text);font-size:12px}.map-editor-fullscreen-page{font-family:Georgia,Times New Roman,serif}.map-editor-workspace{grid-template-columns:minmax(0,1fr) calc(52px + clamp(340px,25vw,420px))}.map-editor-tools-column{background:linear-gradient(180deg, var(--panel), var(--panel-strong));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:52px minmax(0,1fr)}.map-editor-tools-column>.game-side-fire{opacity:.18}.map-editor-tool-rail{background:#0a0605f5;gap:8px;padding:10px 7px}.map-editor-tool-rail .game-side-icon-stack{gap:8px}.map-editor-tool-rail .game-side-icon{border-radius:11px;width:38px;min-width:38px;height:38px;min-height:38px}.map-editor-tool-rail .game-side-icon svg{width:19px;height:19px}.map-editor-tool-rail .game-side-icon.active{box-shadow:inset 3px 0 0 var(--gold), 0 6px 18px #00000038}.map-editor-tool-rail .game-side-icon:disabled{opacity:.34;cursor:not-allowed;box-shadow:none;background:0 0;border-color:#0000}.map-editor-tool-rail .game-side-icon:disabled:hover{color:var(--muted);background:0 0;border-color:#0000}.map-editor-session-bar{z-index:4;background:#ffffff05;gap:6px;min-height:58px;padding:9px 10px;overflow:visible}.map-editor-session-title{text-align:center;flex:112px;justify-items:center;gap:0;width:min(100%,140px);min-width:0;max-width:140px;margin-right:0;display:grid}.map-editor-session-title strong,.map-editor-session-title span{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;display:block;overflow:hidden}.map-editor-session-title strong{font-family:Georgia,Times New Roman,serif;font-size:14px}.map-editor-session-title span{min-height:14px;color:var(--muted);font-size:11px}.map-editor-history-actions{border-right:1px solid var(--line);gap:4px;padding-right:4px;display:inline-flex}.map-editor-session-action,.map-editor-session-bar .theme-toggle,.map-editor-session-bar .theme-toggle.compact{border:1px solid var(--line);width:32px;min-width:32px;height:32px;min-height:32px;color:var(--text);background:var(--card);cursor:pointer;border-radius:10px;place-items:center;padding:0;display:grid}.map-editor-export-button{margin-left:0}.map-editor-session-action:hover{border-color:var(--gold);color:var(--gold);background:#d88b3524}.map-editor-session-action:active{transform:translateY(1px)}.map-editor-session-action:disabled{opacity:.42;cursor:not-allowed}.map-editor-session-action:disabled:hover{border-color:var(--line);color:var(--text);background:var(--card);transform:none}.map-editor-session-action-spinner{border:2px solid #d88b3547;border-top-color:var(--gold);border-radius:50%;width:16px;height:16px;animation:.75s linear infinite map-editor-session-action-spin;display:none}.map-editor-session-action.loading{opacity:1}.map-editor-session-action.loading .map-editor-session-export-icon{display:none}.map-editor-session-action.loading .map-editor-session-action-spinner{display:block}@keyframes map-editor-session-action-spin{to{transform:rotate(360deg)}}:root[data-theme=light] .map-editor-session-bar{border-bottom-color:var(--line);background:#fffae55c}:root[data-theme=light] .map-editor-session-action{color:var(--text);border-color:var(--line);background:#fffce8a8}:root[data-theme=light] .map-editor-session-action:hover{color:var(--wine-dark);border-color:var(--gold);background:#ffeebfeb}:root[data-theme=light] .map-editor-session-action:disabled:hover{color:var(--text);border-color:var(--line);background:#fffce8a8}.map-editor-tools-scroll{padding:16px}.map-editor-tool-section{border-bottom:0;gap:14px;margin:0 0 18px;padding:0}.map-editor-tool-section h2,.map-editor-collapsible>summary{font-family:inherit}.map-editor-tool-section h2{letter-spacing:.01em;font-size:18px}.map-editor-field{gap:8px;font-size:12px;font-weight:700}.map-editor-field input,.map-editor-field select,.map-editor-project-create-row input{border:1px solid var(--line);width:100%;min-width:0;min-height:40px;color:var(--text);background:var(--field);border-radius:10px;padding:8px 10px;transition:border-color .14s,box-shadow .14s,background .14s}.map-editor-field input:focus,.map-editor-field select:focus,.map-editor-project-create-row input:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px #d88b3524}.map-editor-field .app-select-trigger,.map-editor-field .app-color-picker-trigger{border-radius:16px}.map-editor-tools-column .ui-button,.map-editor-button-grid button{background:#0003;border-radius:10px;flex-direction:row;min-height:40px;padding:9px 13px;font-weight:650;transition:transform .14s,background .14s,border-color .14s,box-shadow .14s}.map-editor-tools-column .ui-button:hover:not(:disabled),.map-editor-button-grid button:hover:not(:disabled),.map-editor-button-grid button.active{border-color:var(--gold);background-color:#d88b3533}.map-editor-tools-column .ui-button:active:not(:disabled),.map-editor-button-grid button:active:not(:disabled){transform:translateY(2px)scale(.98)}.map-editor-tools-column .ui-button.primary{color:var(--vellum);border-color:var(--gold);background:linear-gradient(180deg, #8c372c, var(--wine) 48%, var(--wine-dark));box-shadow:inset 0 2px #ffffff29,0 8px 20px #00000038}.map-editor-check{border:1px solid var(--line);background:var(--card);border-radius:12px;gap:10px;min-height:40px;padding:10px 12px}.map-editor-check input[type=checkbox]{background:linear-gradient(180deg, #fff2c924, #d88b350f), var(--field);cursor:pointer;appearance:none;border:1px solid #d88b3594;border-radius:5px;flex:none;place-content:center;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;display:inline-grid;box-shadow:inset 0 0 0 1px #ffe9a90f,0 2px 7px #00000029}.map-editor-check input[type=checkbox]:before{content:"";border:solid var(--wine-dark);border-width:0 2px 2px 0;width:5px;height:9px;transition:transform .12s;transform:rotate(45deg)scale(0)}.map-editor-check input[type=checkbox]:checked{border-color:var(--gold);background:linear-gradient(180deg, #f4c469, var(--gold));box-shadow:0 0 0 3px #d88b3524,inset 0 1px #ffffff3d}.map-editor-check input[type=checkbox]:checked:before{transform:rotate(45deg)scale(1)}.map-editor-collapsible>summary{min-height:40px;padding:9px 0;font-size:13px;font-weight:800}.map-editor-generation-assets>button,.map-editor-layer-card,.map-editor-asset-card,.map-editor-generation-spawn{border-color:var(--line);background:#ffffff0b;border-radius:12px}.map-editor-generation-feature-table tbody th,.map-editor-generation-feature-table tbody td{border-color:var(--line);background:var(--card)}.map-editor-projects-view{align-content:start}.map-editor-project-create-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.map-editor-project-create-button{width:40px;min-width:40px;padding:0!important}.map-editor-project-list{gap:8px;display:grid}.map-editor-project-empty{color:var(--muted);margin:0;font-size:12px}.map-editor-project-card{border:1px solid var(--line);width:100%;color:var(--text);background:#ffffff0b;border-radius:12px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.map-editor-project-card:hover{border-color:var(--gold);background:#d88b351a}.map-editor-project-card.active{border-color:var(--gold);box-shadow:inset 4px 0 var(--gold);background:#d88b3524}.map-editor-project-preview{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background-color:var(--map-editor-project-preview-bg,#faf9d914);background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:8px 8px;border-radius:8px;place-items:center;display:grid;overflow:hidden}.map-editor-project-preview img{object-fit:cover;width:32px;height:32px;display:block}.map-editor-project-open{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:grid}.map-editor-project-open:hover{color:var(--gold)}.map-editor-project-open strong,.map-editor-project-open small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.map-editor-project-open small{color:var(--muted);font-size:12px}.map-editor-project-actions{grid-column:auto;align-items:center;gap:6px;display:flex}.map-editor-tools-column .map-editor-project-action{border-radius:50%;width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.map-editor-tools-column .map-editor-project-action svg{width:16px;height:16px}.map-editor-project-rename-form{gap:16px;display:grid}.map-editor-tools-scroll .app-support-panel{gap:14px}.map-editor-tools-scroll .app-support-panel h2{letter-spacing:.01em;font-family:inherit;font-size:18px}.map-editor-tools-scroll .app-support-panel-link{border-radius:10px}@media (width<=900px){.map-editor-workspace{grid-template-columns:minmax(0,1fr) calc(48px + clamp(300px,68vw,420px))}.map-editor-tools-column{grid-template-columns:48px minmax(0,1fr)}.map-editor-tool-rail{padding-inline:5px}.map-editor-tool-rail .game-side-icon{width:36px;min-width:36px;height:36px;min-height:36px}}:root[data-theme=light] .map-editor-tools-column{background:linear-gradient(180deg, var(--panel), var(--panel-strong))}:root[data-theme=light] .map-editor-tool-rail{background:#fff8dc9e}:root[data-theme=light] .map-editor-project-card,:root[data-theme=light] .map-editor-generation-assets>button,:root[data-theme=light] .map-editor-layer-card,:root[data-theme=light] .map-editor-asset-card,:root[data-theme=light] .map-editor-generation-spawn,:root[data-theme=light] .map-editor-check{color:var(--text);border-color:var(--line);background:#fffce8a8}:root[data-theme=light] .map-editor-project-card:hover,:root[data-theme=light] .map-editor-project-card.active{border-color:var(--gold);background:#ffeebfeb}:root[data-theme=light] .map-editor-project-create-row input,:root[data-theme=light] .map-editor-field input,:root[data-theme=light] .map-editor-field select{color:var(--text);background:#fffce8bd}.module-choice-builder{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:.85rem;gap:.75rem;padding:.9rem;display:grid}.module-choice-toggle{cursor:pointer;align-items:center;gap:.55rem;font-weight:650;display:inline-flex}.module-choice-toggle input{width:1rem;height:1rem}.module-choice-description{margin:0}.module-feature-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.module-choice-special-hint{color:var(--muted);grid-column:1/-1;margin:0;font-size:.84rem;line-height:1.45}.module-choice-grid{grid-template-columns:minmax(0,1fr) minmax(8rem,.35fr);gap:.75rem;display:grid}@media (width<=720px){.module-choice-grid{grid-template-columns:1fr}}.character-module-choice-loading{margin:.75rem 0}.character-level-choice{gap:.9rem;min-width:min(34rem,100vw - 3rem);display:grid}.character-level-choice-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.character-level-ability-summary{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.character-level-ability-list{gap:.5rem;display:grid}.character-level-ability-row{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:.7rem;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.55rem;transition:border-color .12s,background .12s;display:grid}.character-level-ability-row.recommended{border-color:color-mix(in srgb, var(--success) 42%, var(--line));background:color-mix(in srgb, var(--success) 6%, var(--panel))}.character-level-ability-copy{gap:.18rem;min-width:0;display:grid}.character-level-ability-name{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.character-level-ability-name>em{border:1px solid color-mix(in srgb, var(--success) 45%, var(--line));color:var(--success);background:color-mix(in srgb, var(--success) 8%, var(--panel));border-radius:999px;padding:2px 6px;font-size:9px;font-style:normal;font-weight:800}.character-level-ability-help{border:1px solid var(--line);width:22px;min-width:22px;height:22px;min-height:22px;color:var(--muted);background:color-mix(in srgb, var(--field) 86%, transparent);cursor:pointer;border-radius:50%;place-items:center;padding:0;line-height:1;display:inline-grid}.character-level-ability-help:hover,.character-level-ability-help:focus-visible{border-color:var(--gold);color:var(--gold)}.character-level-ability-row small{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.3rem;display:flex}.character-level-ability-row small>strong{color:var(--muted)}.character-level-ability-row small>strong.positive{color:var(--success)}.character-level-ability-row small>strong.negative{color:var(--danger)}.character-level-ability-row>b{color:var(--success);font-variant-numeric:tabular-nums}.character-level-feat-search{margin:0}.character-level-feat-list{gap:.5rem;max-height:min(46vh,28rem);padding-right:.2rem;display:grid;overflow:auto}.character-level-feat-card{border:1px solid var(--line);width:100%;color:inherit;background:color-mix(in srgb, var(--panel) 92%, transparent);text-align:left;cursor:pointer;border-radius:.75rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;padding:.65rem;display:grid}.character-level-feat-card:hover,.character-level-feat-card:focus-visible{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 8%, var(--panel))}.character-level-feat-card img{object-fit:cover;border-radius:.55rem;width:42px;height:42px}.character-level-feat-card>span{gap:.15rem;min-width:0;display:grid}.character-level-feat-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.character-level-feat-sentinel{height:1px}@media (width<=640px){.character-level-choice{min-width:0}.character-level-choice-modes{grid-template-columns:1fr}.character-level-ability-row{grid-template-columns:auto minmax(0,1fr) auto}.character-level-ability-row>b{display:none}}.character-module-choice-panel{gap:.9rem;max-height:min(58vh,34rem);padding-right:.25rem;display:grid;overflow:auto}.character-module-choice-panel h3{margin:0}.character-module-choice-group,.character-module-effect-preview{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);border-radius:.8rem;gap:.65rem;padding:.8rem;display:grid}.character-module-choice-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.character-module-choice-heading span{opacity:.72;font-size:.85rem}.character-module-choice-options{gap:.45rem;padding:.1rem .3rem .1rem .05rem;display:grid}.character-module-choice-option.selected{outline:2px solid var(--gold);outline-offset:1px}.character-module-choice-option{text-align:left;justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.character-module-choice-option-row{grid-template-columns:minmax(0,1fr) 28px;align-items:stretch;gap:6px;display:grid}.character-module-choice-help,.character-creation-score-help{border:1px solid var(--line);color:var(--muted);background:var(--field);font:inherit;cursor:help;border-radius:999px;flex:none;place-items:center;padding:0;font-size:11px;font-weight:800;line-height:1;display:inline-grid}.character-module-choice-help{align-self:center;width:28px;height:28px}.character-module-choice-help:hover,.character-module-choice-help:focus-visible,.character-creation-score-help:hover,.character-creation-score-help:focus-visible{border-color:var(--gold);color:var(--vellum)}.character-module-choice-option-name{min-width:0;font-weight:700}.character-module-ability-choice{border:1px solid var(--line);border-radius:.65rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.3rem;display:grid}.character-module-ability-choice>span{text-align:center}.character-module-ability-choice-label{text-align:left;grid-template-columns:minmax(8rem,1fr) auto;align-items:center;gap:.45rem .8rem;display:grid}.character-module-ability-choice-details{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.character-module-ability-increment,.character-module-ability-score-change{white-space:nowrap;font-size:.8rem;font-weight:700}.character-module-ability-increment{color:var(--success)}.character-module-ability-modifier-preview{align-items:center;gap:.35rem;display:inline-flex}.character-module-ability-modifier-label{color:color-mix(in srgb, var(--text) 58%, #7f858d 42%);font-size:.76rem;font-weight:650}.character-module-ability-score-change{color:color-mix(in srgb, var(--text) 62%, #7f858d 38%)}.character-module-choice-modifier{font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;align-items:center;gap:.28rem;font-size:.8rem;font-weight:800;line-height:1.3;display:inline-flex}.character-module-choice-modifier-before,.character-module-choice-modifier-after{border-radius:999px;justify-content:center;align-items:center;min-width:2.35rem;padding:.12rem .42rem;display:inline-flex}.character-module-choice-modifier-before{color:color-mix(in srgb, var(--text) 35%, #7f858d 65%);background:#7f858d1c;border:1px solid #7f858d85}.character-module-choice-modifier-arrow{color:color-mix(in srgb, var(--text) 28%, #7f858d 72%);font-weight:700}.character-module-choice-modifier-after{border:1px solid color-mix(in srgb, var(--success) 58%, transparent);background:color-mix(in srgb, var(--success) 14%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--success) 7%, transparent);color:var(--success)}.character-module-choice-modifier.projected .character-module-choice-modifier-after{border-style:dashed}@media (width<=640px){.character-module-ability-choice-label{grid-template-columns:1fr}.character-module-ability-choice-details{justify-content:flex-start}}.character-module-effect-preview ul{margin:0;padding-left:1.2rem}.character-module-effect-preview li{margin:.2rem 0}.character-module-effect-preview li>span:first-child{margin-right:.4rem}.character-module-effect-preview p{margin:0}.module-choice-hint{margin:.35rem 0 0;font-size:.86rem}.module-choice-preview{border-left:3px solid var(--gold);background:color-mix(in srgb, var(--panel-strong) 82%, transparent);border-radius:.45rem;gap:.3rem;padding:.75rem .85rem;display:grid}.module-choice-preview p,.character-module-choice-description,.character-module-choice-automatic{margin:0}.character-module-choice-group.automatic{border-style:dashed}.character-module-choice-description{line-height:1.45}.module-choice-list{gap:.8rem;display:grid}.module-choice-entry{border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--panel-strong) 76%, transparent);border-radius:.75rem;gap:.75rem;padding:.8rem;display:grid}.module-choice-entry-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.module-choice-remove{padding-block:.35rem}.module-choice-add{justify-self:start}.character-module-drop-zone{position:relative}.character-creation-help-button{border:1px solid var(--gold);width:36px;height:36px;color:var(--vellum);background:var(--ink);cursor:pointer;border-radius:12px;flex:none;place-items:center;transition:border-color .12s,background .12s,color .12s,transform .12s;display:grid}.character-creation-help-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--gold) 72%, white);background:color-mix(in srgb, var(--ink) 86%, var(--gold));transform:translateY(-1px)}.character-creation-help-button.active{border-color:var(--success);color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--ink))}.character-creation-help-button:disabled{opacity:.45;cursor:not-allowed}.character-sheet-embedded-header>.character-creation-help-button{margin-right:2px}.character-creation-assistant-tab{--creation-surface:color-mix(in srgb, var(--panel-strong) 92%, var(--ink));--creation-card:color-mix(in srgb, var(--panel) 94%, var(--ink));--creation-soft:color-mix(in srgb, var(--field) 84%, var(--panel));--creation-copy:color-mix(in srgb, var(--text) 82%, var(--muted));width:100%;min-height:100%;color:var(--text)}.character-creation-assistant-sticky{z-index:5;border-bottom:1px solid var(--line);background:var(--creation-surface);box-shadow:0 8px 16px color-mix(in srgb, var(--ink) 18%, transparent);gap:9px;margin:-10px -10px 0;padding:10px 10px 11px;display:grid;position:sticky;top:-10px}.character-creation-assistant-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.character-creation-assistant-header h2{min-width:0;margin:0;font-size:18px}.character-creation-assistant-header-actions{align-items:center;gap:5px;display:flex}.character-creation-assistant-menu{z-index:2147483000;transform-origin:100% 0;min-width:min(300px,100vw - 16px);transform:translate(calc(-100% - 4px))}.character-creation-assistant-menu-check{cursor:pointer;width:100%;color:var(--text);align-items:center;gap:9px;padding:9px 11px;font-size:.82rem;display:flex}.character-creation-assistant-menu-check:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.character-creation-assistant-menu-check input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:0}.character-creation-assistant{gap:12px;padding-top:12px;display:grid}.character-creation-open-modules{justify-self:start}.character-creation-roadmap{scrollbar-gutter:stable;grid-auto-columns:minmax(112px,1fr);grid-auto-flow:column;gap:7px;padding:0 1px 2px;display:grid;overflow-x:auto}.character-creation-roadmap>button{border:1px solid var(--line);min-width:112px;color:var(--text);background:var(--creation-soft);font:inherit;text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px;display:grid}.character-creation-roadmap>button:hover,.character-creation-roadmap>button.active{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 5%, var(--creation-card))}.character-creation-checkpoint{border:1px solid var(--line);color:#0000;background:var(--creation-card);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.character-creation-roadmap>button.complete .character-creation-checkpoint{border-color:color-mix(in srgb, var(--success) 62%, var(--line));color:var(--success);background:color-mix(in srgb, var(--success) 11%, var(--creation-card))}.character-creation-roadmap-copy{gap:2px;min-width:0;display:grid}.character-creation-roadmap-copy strong,.character-creation-roadmap-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.character-creation-roadmap-copy small{color:var(--muted);font-size:10px}.character-creation-step-card{border:1px solid var(--line);background:var(--creation-card);border-radius:14px;gap:13px;padding:14px;display:grid}.character-creation-step-card h3,.character-creation-step-card p{margin:0}.character-creation-step-card>p,.character-creation-abilities-heading p,.character-creation-method-description{color:var(--creation-copy);line-height:1.5}.character-creation-current-value{border:1px solid var(--line);background:var(--creation-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;display:flex}.character-creation-current-value span{color:var(--muted)}.character-creation-current-value.complete strong{color:var(--success)}.character-creation-tip,.character-creation-warning{border-left:3px solid var(--gold);background:color-mix(in srgb, var(--gold) 3%, var(--creation-soft));border-radius:8px;padding:10px 12px}.character-creation-warning{border-left-color:color-mix(in srgb, var(--danger) 58%, var(--gold));align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;display:flex}.character-creation-warning svg{color:color-mix(in srgb, var(--danger) 65%, var(--gold));flex:none;margin-top:1px}.character-creation-abilities-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.character-creation-abilities-heading>div{gap:5px;display:grid}.character-creation-done-badge,.character-creation-save-success{color:var(--success);align-items:center;gap:5px;font-size:12px;font-weight:800;display:inline-flex}.character-creation-done-badge{border:1px solid color-mix(in srgb, var(--success) 48%, var(--line));background:color-mix(in srgb, var(--success) 10%, var(--creation-soft));border-radius:999px;flex:none;padding:5px 8px}.character-creation-methods{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.character-creation-methods>button{border:1px solid var(--line);color:var(--text);background:var(--creation-soft);font:inherit;text-align:left;cursor:pointer;border-radius:10px;gap:3px;padding:9px 10px;display:grid}.character-creation-methods>button small{color:var(--muted);font-size:11px}.character-creation-methods>button:hover,.character-creation-methods>button.active{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 5%, var(--creation-card));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 8%, transparent)}.character-creation-method-description{padding:0 2px;font-size:12px}.character-creation-roll-toolbar,.character-creation-point-budget,.character-creation-ability-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.character-creation-roll-toolbar>div{align-items:center;gap:7px;font-weight:800;display:flex}.character-creation-rolls{grid-template-columns:repeat(6,minmax(92px,1fr));gap:7px;display:grid}.character-creation-roll-card{border:1px solid var(--line);background:var(--creation-soft);text-align:center;border-radius:10px;align-content:center;justify-items:center;gap:6px;min-width:0;padding:6px 3px;display:grid}.character-creation-roll-score{font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:5px;display:inline-flex}.character-creation-roll-score>strong{font-size:21px}.character-creation-score-help{width:18px;height:18px;font-size:10px}.character-creation-roll-score>small,.character-creation-standard-value>small,.character-creation-point-control>span small,.character-creation-selected-modifier>strong{color:var(--muted);font-size:11px;font-weight:800}.character-creation-roll-score>small.positive,.character-creation-standard-value>small.positive,.character-creation-point-control>span small.positive,.character-creation-selected-modifier>strong.positive{color:var(--success)}.character-creation-roll-score>small.negative,.character-creation-standard-value>small.negative,.character-creation-point-control>span small.negative,.character-creation-selected-modifier>strong.negative{color:var(--danger)}.character-creation-roll-card>span{justify-content:center;align-items:center;gap:2px;display:flex}.character-creation-roll-card>span small{box-sizing:border-box;border:1px solid var(--line);background:var(--creation-card);font-variant-numeric:tabular-nums;border-radius:5px;place-items:center;width:18px;height:18px;padding:0;font-size:10px;font-style:normal;line-height:1;display:inline-grid}.character-creation-roll-card>span small.dropped{opacity:.42}.character-creation-standard-values{grid-template-columns:repeat(6,minmax(70px,1fr));gap:7px;display:grid}.character-creation-standard-value{border:1px solid var(--line);background:var(--creation-soft);font-variant-numeric:tabular-nums;border-radius:10px;justify-content:center;align-items:center;gap:5px;min-height:58px;padding:9px 7px;display:flex}.character-creation-standard-value>strong{font-size:21px}.character-creation-point-budget{border:1px solid var(--line);background:var(--creation-soft);border-radius:10px;padding:9px 11px}.character-creation-point-budget.complete strong{color:var(--success)}.character-creation-ability-list{gap:7px;display:grid}.character-creation-ability-row{border:1px solid var(--line);background:var(--creation-soft);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(176px,.36fr);align-items:center;gap:11px;padding:9px 10px;transition:border-color .12s,background .12s;display:grid}.character-creation-ability-row:hover,.character-creation-ability-row.recommended{border-color:color-mix(in srgb, var(--success) 42%, var(--line))}.character-creation-ability-row.recommended{background:color-mix(in srgb, var(--success) 6%, var(--creation-soft))}.character-creation-ability-copy{text-align:left;justify-items:start;gap:6px;min-width:0;display:grid}.character-creation-ability-name{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:7px;display:flex}.character-creation-ability-name>span{border:1px solid color-mix(in srgb, var(--success) 45%, var(--line));color:var(--success);background:color-mix(in srgb, var(--success) 9%, var(--creation-card));border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800}.character-creation-ability-help{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);background:var(--creation-card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.character-creation-ability-help>span{place-items:center;width:100%;height:100%;font-size:14px;font-weight:850;line-height:1;display:grid}.character-creation-ability-help:hover,.character-creation-ability-help:focus-visible{border-color:var(--gold);color:var(--gold);background:color-mix(in srgb, var(--gold) 10%, var(--creation-card))}.character-creation-ability-control{justify-items:stretch;gap:5px;display:grid}.character-creation-ability-control>small,.character-creation-selected-modifier{color:var(--muted);text-align:center;font-size:10px}.character-creation-selected-modifier{justify-content:center;align-items:baseline;gap:4px;font-weight:750;display:inline-flex}.character-creation-point-control{grid-template-columns:38px minmax(70px,1fr) 38px;align-items:center;gap:6px;display:grid}.character-creation-point-control>button{min-width:0;padding:7px}.character-creation-point-control>span{font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:6px;display:flex}.character-creation-point-control>span strong{font-size:20px}.character-creation-ability-footer{border-top:1px solid var(--line);background:var(--creation-surface);margin:0 -14px -14px;padding:11px 14px;position:sticky;bottom:-14px}.character-creation-ability-footer>div{color:var(--muted);gap:4px;font-size:11px;display:grid}.floating-tooltip.character-creation-ability-tooltip{text-align:left;max-width:min(360px,100vw - 24px);line-height:1.45}.floating-tooltip.character-module-skill-tooltip,.floating-tooltip.character-creation-score-tooltip{text-align:left;width:min(390px,100vw - 24px);max-width:min(390px,100vw - 24px);line-height:1.45}:root[data-theme=light] .character-creation-help-button{border-color:color-mix(in srgb, var(--gold) 70%, var(--line));color:var(--wine-dark);background:#ffeebfe6;box-shadow:inset 0 0 0 1px #ffffff7a}:root[data-theme=light] .character-creation-help-button:hover:not(:disabled){border-color:var(--wine);color:var(--light-on-wine);background:var(--light-wine-surface)}:root[data-theme=light] .character-creation-help-button.active{border-color:var(--success);color:var(--success);background:color-mix(in srgb, var(--success) 9%, var(--light-parchment-strong))}:root[data-theme=light] .character-creation-assistant-tab{--creation-surface:color-mix(in srgb, var(--panel) 74%, white);--creation-card:color-mix(in srgb, var(--panel) 64%, white);--creation-soft:color-mix(in srgb, var(--field) 66%, white);--creation-copy:var(--light-ink-soft)}:root[data-theme=light] .character-creation-assistant-sticky{background:var(--creation-surface);border-bottom-color:#8b562457;box-shadow:0 8px 16px #693c1d1f}:root[data-theme=light] .character-creation-roadmap>button,:root[data-theme=light] .character-creation-methods>button,:root[data-theme=light] .character-creation-roll-card,:root[data-theme=light] .character-creation-point-budget,:root[data-theme=light] .character-creation-ability-row,:root[data-theme=light] .character-creation-current-value{color:var(--text)}:root[data-theme=light] .character-creation-ability-help{color:var(--wine-dark);background:#fffae5f0}.character-window.compact .character-creation-methods{grid-template-columns:1fr}.character-window.compact .character-creation-rolls,.character-window.compact .character-creation-standard-values{grid-template-columns:repeat(3,minmax(70px,1fr))}.character-window.compact .character-creation-ability-row{grid-template-columns:1fr}@media (width<=760px){.character-creation-assistant-sticky{padding-bottom:10px}.character-creation-roadmap{grid-template-columns:repeat(4,minmax(110px,1fr))}.character-creation-methods{grid-template-columns:1fr}.character-creation-rolls,.character-creation-standard-values{grid-template-columns:repeat(3,minmax(70px,1fr))}.character-creation-ability-row{grid-template-columns:1fr}.character-creation-abilities-heading,.character-creation-roll-toolbar,.character-creation-ability-footer{flex-direction:column;align-items:stretch}.character-creation-ability-footer{margin:0 -12px -12px;padding:10px 12px;bottom:-12px}.character-creation-ability-footer .ui-button.primary{width:100%}}.character-module-equipment-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);border-radius:.8rem;gap:.75rem;padding:.85rem;display:grid}.character-module-equipment-heading{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.character-module-equipment-heading>div{gap:.25rem;display:grid}.character-module-equipment-heading p{margin:0;line-height:1.4}.character-module-equipment-options{gap:.5rem;display:grid}.character-module-equipment-option,.character-module-equipment-candidate{font:inherit;color:inherit;border:1px solid var(--line);background:color-mix(in srgb, var(--panel-strong) 86%, transparent);cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.character-module-equipment-option{text-align:left;border-radius:.7rem;gap:.28rem;width:100%;padding:.7rem .8rem;display:grid}.character-module-equipment-option:hover:not(:disabled),.character-module-equipment-candidate:hover:not(:disabled){border-color:var(--gold);background:color-mix(in srgb, var(--panel-strong) 74%, var(--gold) 8%)}.character-module-equipment-option.selected,.character-module-equipment-candidate.selected{border-color:var(--success);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--success) 36%, transparent);background:color-mix(in srgb, var(--panel-strong) 88%, var(--success) 7%)}.character-module-equipment-option-label{font-weight:800}.character-module-equipment-option-summary{color:var(--muted);font-size:.88rem;line-height:1.45}.character-module-equipment-choice{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);gap:.55rem;padding-top:.65rem;display:grid}.character-module-equipment-candidates{scrollbar-gutter:stable;gap:.42rem;max-height:min(19rem,44vh);padding-right:.25rem;display:grid;overflow-y:auto}.character-module-equipment-candidate{text-align:left;border-radius:.62rem;justify-content:space-between;align-items:center;gap:.8rem;width:100%;padding:.55rem .65rem;display:flex}.character-module-equipment-candidate-name{align-items:baseline;gap:.35rem;min-width:0;font-weight:750;display:inline-flex}.character-module-equipment-candidate-name small{color:var(--muted);font-size:.76rem}.character-module-equipment-candidate-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.32rem;display:inline-flex}.character-module-weapon-damage,.character-module-weapon-property{border:1px solid color-mix(in srgb, var(--line) 82%, transparent);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:1.55rem;padding:.12rem .42rem;font-size:.74rem;font-weight:800;display:inline-flex}.character-module-weapon-damage{color:var(--success);border-color:color-mix(in srgb, var(--success) 48%, transparent);background:color-mix(in srgb, var(--success) 10%, transparent)}.character-module-weapon-property{letter-spacing:.035em;color:var(--muted);background:color-mix(in srgb, var(--panel) 78%, transparent)}@media (width<=640px){.character-module-equipment-heading,.character-module-equipment-candidate{flex-direction:column;align-items:stretch}.character-module-equipment-candidate-meta{justify-content:flex-start}}.starting-equipment-builder,.starting-equipment-options,.starting-equipment-entries{gap:.75rem;display:grid}.starting-equipment-builder>.muted,.starting-equipment-inline-preview{margin:0}.class-rules-panel{gap:1rem;display:grid}.class-rules-panel>.race-form-grid{row-gap:1rem}.starting-equipment-items-field{min-width:0}.starting-equipment-tag-hint{margin:.35rem 0 0;font-size:.8rem;line-height:1.4}.starting-equipment-option{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-strong) 78%, transparent);border-radius:.8rem;gap:.8rem;padding:.85rem;display:grid}.starting-equipment-coins{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.starting-equipment-entry{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--panel) 82%, transparent);border-radius:.7rem;gap:.55rem;padding:.7rem;display:grid}.starting-equipment-entry-grid{grid-template-columns:minmax(9rem,.7fr) minmax(7rem,.45fr) minmax(12rem,1.2fr);align-items:end;gap:.65rem;display:grid}.starting-equipment-wide{grid-column:span 2}.starting-equipment-inline-preview{border-left:3px solid var(--gold);background:color-mix(in srgb, var(--panel-strong) 84%, transparent);border-radius:.42rem;padding:.55rem .65rem;font-size:.86rem;line-height:1.45}@media (width<=820px){.starting-equipment-coins,.starting-equipment-entry-grid{grid-template-columns:1fr 1fr}.starting-equipment-wide{grid-column:1/-1}}@media (width<=560px){.starting-equipment-coins,.starting-equipment-entry-grid{grid-template-columns:1fr}.starting-equipment-wide{grid-column:auto}}.race-module-facts>.starting-equipment-fact{grid-column:1/-1}.race-module-facts .starting-equipment-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.starting-equipment-summary{gap:.55rem;display:grid}.starting-equipment-summary-row{border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--panel-strong) 78%, transparent);border-radius:.65rem;grid-template-columns:minmax(5.5rem,auto) 1fr;align-items:start;gap:.65rem;padding:.65rem .75rem;display:grid}.starting-equipment-summary-row strong{color:var(--gold)}.starting-equipment-summary-row span{min-width:0;line-height:1.45}.race-module-facts .starting-equipment-summary-row span{margin-top:0;font-size:14px;font-weight:500}@media (width<=560px){.starting-equipment-summary-row{grid-template-columns:1fr}}.class-spell-progression-table{max-width:100%;overflow-x:auto}.module-progression-fieldset,.class-resource-progression-editor{gap:12px;min-width:0;display:grid}.race-form-grid-full{grid-column:1/-1}.module-progression-fieldset h3,.class-resource-progression-heading h3{margin:0;font-size:.92rem}.module-progression-fieldset p,.class-resource-progression-heading p{margin:3px 0 0}.module-level-progression-wrap{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface-raised) 82%, transparent);border-radius:10px;max-width:100%;overflow-x:auto}.module-level-progression-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.78rem}.module-level-progression-table th,.module-level-progression-table td{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);text-align:center;white-space:nowrap;padding:6px}.module-level-progression-table th:last-child,.module-level-progression-table td:last-child{border-right:0}.module-level-progression-table tbody tr:last-child th,.module-level-progression-table tbody tr:last-child td{border-bottom:0}.module-level-progression-table thead th,.module-level-progression-table tbody th{background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised));font-weight:700}.module-level-progression-table input{text-align:center;width:64px;min-width:0;padding:5px 6px}.class-resource-progression-heading,.class-resource-progression-card-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.class-resource-progression-list{gap:14px;display:grid}.class-resource-progression-card{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);border-radius:12px;gap:10px;padding:12px;display:grid}.class-resource-progression-card-heading .field{flex:auto}.class-resource-progression-empty{margin:0}.campaign-module-marketplace-preview .race-module-facts>.starting-equipment-fact{grid-column:1/-1}.campaign-module-marketplace-preview .starting-equipment-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px;margin-top:7px}.campaign-module-marketplace-preview .starting-equipment-summary-row{border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px 9px}.campaign-module-marketplace-preview .starting-equipment-summary-row strong{white-space:nowrap;font-size:10px;line-height:1.3}.campaign-module-marketplace-preview .race-module-facts .starting-equipment-summary-row span{overflow-wrap:anywhere;margin-top:0;font-size:12px;font-weight:500;line-height:1.35}.character-title-leading-controls{flex:none;align-items:center;gap:6px;display:inline-flex}.character-level-up-title-button,.character-level-up-inline{border:1px solid color-mix(in srgb, var(--gold) 72%, var(--line));color:var(--vellum);background:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:0;line-height:0;transition:border-color .12s,background .12s,color .12s,transform .12s;display:inline-flex}.character-level-up-title-button>svg,.character-level-up-inline>svg{flex:none;margin:auto;display:block}.character-level-up-title-button{border-radius:12px;width:36px;height:36px}.character-level-up-inline{border-radius:9px;width:26px;height:26px}.character-level-up-title-button:hover:not(:disabled),.character-level-up-inline:hover:not(:disabled){border-color:color-mix(in srgb, var(--gold) 72%, white);background:color-mix(in srgb, var(--ink) 86%, var(--gold));transform:translateY(-1px)}:root[data-theme=light] .character-level-up-title-button,:root[data-theme=light] .character-level-up-inline{border-color:color-mix(in srgb, var(--gold) 70%, var(--line));color:var(--wine-dark);background:#ffeebfe6;box-shadow:inset 0 0 0 1px #ffffff7a}:root[data-theme=light] .character-level-up-title-button:hover:not(:disabled),:root[data-theme=light] .character-level-up-inline:hover:not(:disabled){border-color:var(--wine);color:var(--light-on-wine);background:var(--light-wine-surface)}.character-level-up-title-button:disabled,.character-level-up-inline:disabled{opacity:.45;cursor:not-allowed}.character-level-field-value{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;margin-top:4px;display:grid}.character-level-field-value>strong{grid-column:2;justify-self:center;margin:0}.character-level-field-value>.character-level-up-inline{grid-column:3;justify-self:start;margin-left:8px}.character-level-up{gap:16px;display:grid}.character-level-up :where(h3,p){margin:0}.character-level-up-features,.character-level-up-hp{gap:9px;display:grid}.character-level-up-features h3,.character-level-up-hp h3{font-size:15px}.character-level-up-feature-list{gap:6px;display:grid}.character-level-up-feature{border:1px solid var(--line);background:color-mix(in srgb, var(--field) 76%, transparent);border-radius:10px;overflow:hidden}.character-level-up-feature>summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 10px;list-style-position:inside;display:flex}.character-level-up-feature>summary span{color:var(--muted);text-align:right;margin-left:auto;font-size:11px}.character-level-up-feature-description{border-top:1px solid var(--line);padding:8px 10px 10px}.character-level-up-hp-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.character-level-up-hp-option{border:1px solid var(--line);min-width:0;color:var(--text);background:color-mix(in srgb, var(--field) 78%, transparent);font:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:4px;padding:11px;display:grid}.character-level-up-hp-option:hover:not(:disabled),.character-level-up-hp-option.active{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 8%, var(--field))}.character-level-up-hp-option strong{font-size:22px;line-height:1}.character-level-up-hp-option small{color:var(--muted);font-size:11px}.character-level-up-summary{border:1px solid color-mix(in srgb, var(--gold) 35%, var(--line));background:color-mix(in srgb, var(--gold) 7%, transparent);border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:10px;display:flex}.character-level-up-actions{justify-content:flex-end}@media (width<=560px){.character-level-up-hp-options{grid-template-columns:1fr}}.module-filter-fields,.spell-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.module-dependency-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.module-dependency-spell-filter-toggle,.game-module-spell-filter-toggle{width:38px;min-width:38px;height:38px}.module-dependency-spell-filter-toggle.active,.game-module-spell-filter-toggle.active{color:var(--gold);background:#ffe9a91a;border-color:#ffe9a96b}.module-dependency-spell-filters,.game-module-spell-filters{border:1px solid var(--line);background:#ffffff09;border-radius:12px;gap:10px;padding:12px;display:grid}.module-dependency-spell-filters-head,.game-module-spell-filters-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.module-dependency-spell-filters-head>div{gap:3px;display:grid}.game-module-spell-filter-toolbar,.game-module-filter-toolbar{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.module-dependency-detail{color:var(--muted);margin-top:3px;line-height:1.35;display:block}@media (width<=720px){.module-filter-fields,.spell-filter-fields{grid-template-columns:1fr}}.module-filter-field-wide,.spell-filter-field-wide{grid-column:1/-1}.module-filter-button-group,.spell-filter-button-group{flex-wrap:wrap;gap:6px;display:flex}.module-filter-button-group button,.spell-filter-button-group button{border:1px solid var(--line);min-width:42px;color:var(--muted);font:inherit;background:var(--field);cursor:pointer;border-radius:10px;padding:7px 9px;font-size:12px;font-weight:700;transition:border-color .14s,background .14s,color .14s,transform .14s}.module-filter-button-group button:hover,.spell-filter-button-group button:hover{border-color:color-mix(in srgb, var(--gold) 60%, var(--line));color:var(--text)}.module-filter-button-group button.active,.spell-filter-button-group button.active{border-color:var(--gold);color:var(--text);background:color-mix(in srgb, var(--gold) 18%, var(--field));box-shadow:0 0 0 2px color-mix(in srgb, var(--gold) 10%, transparent)}.spell-filter-levels button:first-child{min-width:88px}.game-module-spell-filter-button,.game-module-filter-button{justify-content:flex-start;width:100%}.game-module-spell-filter-button.active,.game-module-filter-button.active{border-color:color-mix(in srgb, var(--gold) 60%, var(--line));color:var(--gold);background:color-mix(in srgb, var(--gold) 10%, transparent)}.modal-card.game-module-spell-filter-modal{width:min(760px,100vw - 28px);max-height:min(86vh,760px);overflow-y:auto}.game-module-spell-filter-modal-subtitle{margin:-4px 0 14px}.game-module-spell-filter-modal-actions{justify-content:space-between;margin-top:18px}.marketplace-spell-filter-nested{border-left:2px solid color-mix(in srgb, var(--gold) 35%, var(--line));gap:8px;margin:-4px 0 4px 14px;padding-left:12px;display:grid}.marketplace-spell-filter-collapse{border:1px solid color-mix(in srgb, var(--gold) 30%, var(--line));width:100%;color:var(--text);font:inherit;background:color-mix(in srgb, var(--gold) 7%, var(--card));cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:12px;font-weight:700;display:flex}.marketplace-spell-filter-collapse>span{align-items:center;gap:7px;display:inline-flex}.marketplace-spell-filter-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--field) 88%, transparent);border-radius:14px;gap:10px;padding:12px;display:grid}.marketplace-spell-filter-panel>p{margin:0;font-size:12px}.marketplace-spell-filter-panel .module-filter-fields,.marketplace-spell-filter-panel .spell-filter-fields{grid-template-columns:1fr}@media (width<=560px){.modal-card.game-module-spell-filter-modal{width:min(100% - 16px,760px)}.game-module-spell-filter-modal-actions{flex-direction:column-reverse;align-items:stretch}}.marketplace-spell-filter-panel[hidden]{display:none}.race-module-facts.race-module-facts>div,.race-module-facts.race-module-facts>div>:not(strong){font-size:12px;font-weight:400;line-height:1.4}.race-module-facts.race-module-facts>div>:not(strong) :where(*){font-size:inherit;font-weight:400}.game-module-group>.game-module-spell-filter-toolbar,.game-module-group>.game-module-filter-toolbar{width:100%}.game-module-bucket{gap:7px;display:grid}.game-module-bucket-toggle{border:1px solid color-mix(in srgb, var(--line) 85%, transparent);width:100%;color:var(--muted);font:inherit;background:color-mix(in srgb, var(--field) 72%, transparent);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:11px;font-weight:700;display:flex}.game-module-bucket-toggle:hover{border-color:color-mix(in srgb, var(--gold) 45%, var(--line));color:var(--text)}.game-module-bucket-meta{align-items:center;gap:6px;display:inline-flex}.game-module-bucket-list{border-left:1px solid color-mix(in srgb, var(--line) 78%, transparent);gap:9px;padding-left:7px;display:grid}.campaign-encounter-generator-modal{width:min(620px,100vw - 32px)}.campaign-encounter-generator-form{gap:14px;display:grid}.campaign-encounter-generator-form .field{min-width:0}.campaign-encounter-target-cr{margin:-4px 0 2px;font-weight:700}.campaign-battle-odds{border:1px solid var(--line);background:color-mix(in srgb, var(--field) 72%, transparent);border-radius:12px;gap:8px;padding:12px;display:grid}.campaign-battle-odds-heading{cursor:pointer;align-items:baseline;gap:8px;display:flex}.campaign-battle-odds-heading::-webkit-details-marker{display:none}.campaign-battle-odds-heading:before{content:"▸";color:var(--muted);transition:transform .12s}.campaign-battle-odds[open]>.campaign-battle-odds-heading:before{transform:rotate(90deg)}.campaign-battle-odds-heading strong{margin-right:auto}.campaign-battle-odds-content{gap:8px;padding-top:8px;display:grid}.campaign-battle-odds-list{gap:6px;display:grid}.campaign-battle-odds-row{border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--panel) 74%, transparent);cursor:pointer;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;display:grid}.campaign-battle-odds-row.disabled{opacity:.64}.campaign-battle-odds-profile.markdown-content,.campaign-battle-odds-profile.markdown-content>p{margin:0}.campaign-battle-odds-chance{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);font-size:.86rem}.campaign-encounter-dungeon-options{border:1px solid var(--line);background:color-mix(in srgb, var(--field) 72%, transparent);border-radius:12px;gap:10px;padding:12px;display:grid}.print-studio-modal{flex-direction:column;width:min(96vw,1540px);max-width:none;height:min(94vh,980px);display:flex;overflow:hidden}.print-studio-layout{flex:1;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:16px;min-height:0;display:grid}.print-studio-controls,.print-studio-preview{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);min-height:0}.print-studio-controls{flex-direction:column;gap:14px;padding:14px;display:flex;overflow-y:auto}.print-studio-preview{flex-direction:column;display:flex;overflow:hidden}.print-studio-preview>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:9px 14px;display:flex}.print-studio-preview>header h3,.print-control-section h3,.print-card-selection h4{margin:0}.print-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.print-form-grid label,.print-control-section>label,.print-number-field{gap:6px;display:grid}.print-control-section{border-top:1px solid var(--color-border);gap:10px;padding-top:12px;display:grid}.print-number-field input{width:100%}.print-check{align-items:center;grid-template-columns:none!important;gap:8px!important;display:flex!important}.print-check input{flex:none}.print-page-summary{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-accent) 12%, transparent);margin:0;padding:9px 11px}.print-card-selection{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:7px;max-height:320px;padding:10px;display:grid;overflow-y:auto}.print-card-selection h4:not(:first-child){margin-top:8px}.print-submit{width:100%;margin-top:auto}.print-preview-scroll{background-color:#0000;background-image:linear-gradient(45deg,#00000009 25%,#0000 25%),linear-gradient(-45deg,#00000009 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#00000009 75%),linear-gradient(-45deg,#0000 75%,#00000009 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;flex:1;min-height:0;padding:20px;overflow:auto}.print-pages{flex-direction:column;align-items:center;gap:20px;display:flex}.print-page{box-sizing:border-box;width:var(--print-page-width);height:var(--print-page-height);color:#151515;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex:none;font-family:Arial,Helvetica,sans-serif;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000003d}.map-print-page-header,.map-print-page-footer{left:calc((var(--print-page-width) - var(--print-content-width)) / 2);right:calc((var(--print-page-width) - var(--print-content-width)) / 2);z-index:2;justify-content:space-between;gap:3mm;font-size:2.6mm;line-height:1;display:flex;position:absolute}.map-print-page-header{top:2mm}.map-print-page-footer{bottom:2mm}.map-print-crop-frame{left:calc((var(--print-page-width) - var(--print-content-width)) / 2);top:calc((var(--print-page-height) - var(--print-content-height)) / 2);width:var(--print-content-width);height:var(--print-content-height);display:flex;position:absolute}.map-print-crop-frame:before,.map-print-crop-frame:after{content:"";pointer-events:none;position:absolute;inset:-1.5mm}.map-print-crop-frame:before{border:.25mm dashed #555}.map-print-crop-frame:after{background:linear-gradient(#111,#111) 0 0/4mm .25mm no-repeat,linear-gradient(#111,#111) 0 0/.25mm 4mm no-repeat,linear-gradient(#111,#111) 100% 0/4mm .25mm no-repeat,linear-gradient(#111,#111) 100% 0/.25mm 4mm no-repeat,linear-gradient(#111,#111) 0 100%/4mm .25mm no-repeat,linear-gradient(#111,#111) 0 100%/.25mm 4mm no-repeat,linear-gradient(#111,#111) 100% 100%/4mm .25mm no-repeat,linear-gradient(#111,#111) 100% 100%/.25mm 4mm no-repeat}.map-print-viewport{background:#fff;position:relative;overflow:hidden}.map-print-viewport img{object-fit:fill;max-width:none;display:block;position:absolute}.character-print-page{flex-direction:column;gap:3mm;padding:9mm 9mm 15mm;font-size:3mm;line-height:1.25;display:flex}.character-print-main-page{gap:2.5mm}.character-print-header{border-bottom:.6mm solid;justify-content:space-between;align-items:flex-end;gap:5mm;padding-bottom:2.5mm;display:flex}.character-print-heading{gap:.6mm;display:grid}.character-print-title-group{align-items:center;gap:4mm;min-width:0;display:flex}.character-print-portrait{flex:none}.character-print-portrait .character-avatar-token{--avatar-size:26mm;box-shadow:none}.character-print-portrait .character-avatar-token-inner{width:22mm;height:22mm}.character-print-header strong{font-family:Georgia,Times New Roman,serif;font-size:7mm;line-height:1}.character-print-header span{text-transform:uppercase;letter-spacing:.08em;font-size:2.8mm}.character-print-identity,.character-print-combat-stats,.character-print-abilities,.character-print-slots{gap:2mm;display:grid}.character-print-identity{grid-template-columns:repeat(4,minmax(0,1fr))}.character-print-identity>div,.character-print-combat-stats>div,.character-print-abilities>div,.character-print-slots>div{text-align:center;border:.3mm solid;border-radius:2mm;min-width:0;padding:2mm;display:grid}.character-print-identity span,.character-print-combat-stats span,.character-print-abilities span{text-transform:uppercase;font-size:2.3mm}.character-print-combat-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.character-print-combat-stats strong,.character-print-abilities strong{font-size:5.5mm}.character-print-combat-stats i,.character-print-slots i{border-bottom:.25mm solid;min-height:4mm}.character-print-section{border:.3mm solid;border-radius:2mm;padding:2.5mm}.character-print-section h2{margin:0 0 2mm;font-family:Georgia,Times New Roman,serif;font-size:4mm;line-height:1}.character-print-fill-section{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.character-print-fill-section table{height:auto}.character-print-fill-section tr.writable{height:8.6mm}.character-print-abilities{grid-template-columns:repeat(6,minmax(0,1fr))}.character-print-abilities small{font-size:3mm}.character-print-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:3mm;display:grid}.character-print-list,.character-print-lines{columns:2;column-gap:4mm;margin:0;padding:0;list-style:none}.character-print-list li,.character-print-lines li{break-inside:avoid;align-items:center;gap:1.3mm;min-height:4.5mm;display:flex}.character-print-list i{border:.3mm solid;border-radius:50%;width:2.8mm;height:2.8mm}.character-print-list i.filled{background:currentColor;box-shadow:inset 0 0 0 .65mm #fff}.character-print-list small{margin-left:auto}.character-print-skills .character-print-list li{height:4.5mm;overflow:hidden}.character-print-skill-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;line-height:1;overflow:hidden}.character-print-page table{border-collapse:collapse;table-layout:fixed;width:100%}.character-print-page th,.character-print-page td{vertical-align:top;overflow-wrap:anywhere;border:.25mm solid;padding:1.2mm}.character-print-page th{text-transform:uppercase;font-size:2.3mm}.character-print-page tr.writable td,.character-print-page td.writable{height:6mm}.character-print-slots{grid-template-columns:repeat(auto-fit,minmax(16mm,1fr))}.character-print-spell-slots-section{flex:none}.character-print-spell-circle-heading{break-after:avoid;border-bottom:.4mm solid;margin:0;padding:1mm 0;font-family:Georgia,Times New Roman,serif;font-size:4mm;line-height:1}.character-print-reference-columns{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:3mm;min-height:0;display:grid}.character-print-reference-columns.wide{grid-template-columns:minmax(0,1fr)}.character-print-reference-columns>div{flex-direction:column;gap:3mm;display:flex}.character-print-reference-tile{break-inside:avoid;border:.35mm solid;border-radius:2mm;padding:2.7mm}.character-print-reference-tile>header,.character-print-cut-card>header{border-bottom:.25mm solid;justify-content:space-between;gap:2mm;padding-bottom:1.2mm;display:flex}.character-print-reference-tile>header strong,.character-print-cut-card>header strong{font-family:Georgia,Times New Roman,serif;font-size:3.7mm}.character-print-reference-tile>small,.character-print-cut-card>small{margin:1.2mm 0;font-style:italic;display:block}.character-print-reference-details{gap:.5mm;margin:1.5mm 0;font-size:2.45mm;display:grid}.character-print-reference-details>div{border-bottom:.15mm dotted;grid-template-columns:minmax(18mm,.8fr) minmax(0,1.2fr);gap:1.2mm;display:grid}.character-print-reference-details dt{font-weight:700}.character-print-reference-details dd{min-height:3mm;margin:0}.character-print-biography{overflow-wrap:anywhere;flex:1;min-width:0;max-width:100%;min-height:0;overflow:hidden}.character-print-biography .markdown-content,.character-print-biography .markdown-table-scroll,.character-print-biography .markdown-table-frame{min-width:0;max-width:100%}.character-print-biography .markdown-table-scroll{overflow:hidden}.character-print-biography .markdown-content table{table-layout:fixed;width:100%;min-width:0;max-width:100%}.character-print-biography .markdown-content th,.character-print-biography .markdown-content td{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:none;padding:1mm}.character-print-biography .markdown-table-expand{display:none}.character-print-reference-tile .markdown-text,.character-print-reference-tile .markdown-content{font-size:2.75mm;line-height:1.35}.print-page .markdown-content{--surface:#fff;--surface-strong:#f2f2f2;--panel:#fff;--text:#151515;--muted:#3f3f3f;--line:#777;--accent:#6f2633;--markdown-text-blue:#1d4ed8;--markdown-text-red:#991b1b;--markdown-text-green:#166534;color:#151515;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;text-shadow:none;background:0 0!important}.print-page .markdown-content :where(.markdown-table-frame,.markdown-table-scroll,table,thead,tbody,tfoot,tr,td){color:#151515!important;background:#fff!important}.print-page .markdown-content table{table-layout:fixed;width:100%;min-width:0;max-width:100%}.print-page .markdown-table-scroll{max-width:100%;overflow:visible}.print-page .markdown-content thead{display:table-header-group}.print-page .markdown-content tr{break-inside:avoid;page-break-inside:avoid}.print-page .markdown-content th,.print-page .markdown-content td{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:none;border-color:#777!important}.print-page .markdown-content th{color:#151515!important;background:#ececec!important}.print-page .markdown-content blockquote{color:#292929!important;background:#f4f4f4!important;border-color:#6f2633!important}.print-page .markdown-content pre,.print-page .markdown-content code,.print-page .markdown-content .markdown-dice{color:#151515!important;background:#f1f1f1!important;border-color:#888!important}.print-page .markdown-content pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;overflow:hidden}.print-page .markdown-content pre code,.print-page .markdown-content mark,.print-page .markdown-content [data-text-color]{background:0 0!important}.print-page .markdown-content a{color:#55202a}.print-page .markdown-content hr{border-color:#777}.print-page .markdown-content :where(img,figure,figcaption){color:#151515;background:0 0!important}.print-page .markdown-content :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd){color:inherit;background:0 0!important}.print-page .markdown-table-expand{display:none!important}.character-reference-page>footer{text-align:center;font-size:2.4mm}.character-card-print-page{place-items:center;display:grid}.character-print-card-grid{grid-template-columns:repeat(var(--print-card-columns), 63.5mm);grid-auto-rows:88.9mm;display:grid}.character-print-cut-card{box-sizing:border-box;border:.35mm dashed #111;width:63.5mm;height:88.9mm;padding:3.5mm;font-family:Arial,Helvetica,sans-serif;font-size:2.65mm;line-height:1.3;overflow:hidden}.character-print-markdown-cell .markdown-content,.character-print-cut-card .markdown-content{font:inherit;line-height:inherit}.character-print-cut-card .markdown-content{margin-top:1.5mm}.character-print-cut-card .markdown-content :where(p,ul,ol,.markdown-table-scroll){margin-block:1mm}.character-print-cut-card .markdown-content :where(ul,ol){padding-left:4mm}.character-print-cut-card .markdown-content th,.character-print-cut-card .markdown-content td{padding:.7mm;font-size:2.2mm}.print-color .character-print-page,.print-color .character-print-cut-card,.print-color .character-card-print-page{color:#2a1914;background:#fffaf2}.print-color .character-print-header,.print-color .character-print-section,.print-color .character-print-reference-tile,.print-color .character-print-identity>div,.print-color .character-print-combat-stats>div,.print-color .character-print-abilities>div,.print-color .character-print-slots>div{border-color:#7d2f3a}.print-bw .print-page,.print-document.print-bw .print-page{filter:grayscale()contrast(1.08)}.print-document-frame{border:0;width:1px;height:1px;position:fixed;top:-10000px;left:-10000px}.print-document .print-pages{gap:0}.print-document .print-page{box-shadow:none;break-after:page;page-break-after:always;margin:0}.print-document .print-page:last-child{break-after:auto;page-break-after:auto}@media (width<=900px){.print-studio-modal{height:96vh}.print-studio-layout{grid-template-rows:minmax(260px,42vh) minmax(0,1fr);grid-template-columns:1fr}.print-form-grid{grid-template-columns:1fr}}.game-action-reference-icon{place-items:center;width:22px;height:22px;line-height:0;display:inline-grid;position:relative;overflow:visible}.game-side-icon>.game-action-reference-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.game-action-reference-icon-badge{--game-action-reference-subicon-color:var(--gold);box-sizing:border-box;border:1px solid var(--line);background:var(--panel-strong);width:15px;height:15px;box-shadow:0 1px 4px var(--shadow);border-radius:999px;place-items:center;padding:2px;display:grid;position:absolute;bottom:-5px;right:-5px}.game-action-reference-icon-badge:before{content:"";background:var(--game-action-reference-subicon-color);width:100%;height:100%;display:block;-webkit-mask:url(../../../icons/paper-and-feather.svg) 50%/contain no-repeat;mask:url(../../../icons/paper-and-feather.svg) 50%/contain no-repeat}.game-action-reference-panel{gap:14px;min-width:0;display:grid}.game-action-reference-panel>.markdown-content{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:12px 14px}.game-action-reference-sections{gap:20px;min-width:0;display:grid}.game-action-reference-section .sheet-section-body{padding-top:10px}.game-action-reference-list{gap:8px;display:grid}.game-action-reference-item{border:1px solid var(--line);background:var(--card);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.game-action-reference-item h3{color:var(--vellum);margin:0;font-size:14px;line-height:1.3}.game-action-reference-item .markdown-content{font-size:13px;line-height:1.5}.game-action-reference-item .markdown-content p{margin:0}.payment-public-shell{isolation:isolate;background:radial-gradient(at 15% 105%,#d2521c80,#0000 55%),linear-gradient(#2d140b,#190907 48%,#040101);flex-direction:column;gap:18px;min-height:100vh;padding:18px;display:flex;position:relative;overflow-x:hidden}.payment-public-shell>:not(.ember-field){z-index:1;position:relative}.payment-public-header{border:1px solid var(--line);background:linear-gradient(180deg, var(--panel), var(--panel-strong));width:100%;box-shadow:0 18px 50px var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:22px;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:10px 12px;display:flex}.payment-public-brand{letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;min-width:0;font-weight:700;display:inline-flex}.payment-public-brand img{object-fit:contain;filter:drop-shadow(0 0 10px #d88b3542);width:42px;height:42px}.payment-public-page{flex:none;gap:18px;width:100%;margin:0 auto;display:grid}.payment-status-card,.payment-operation-card,.payment-information{border:1px solid var(--line);background:linear-gradient(180deg, var(--panel), var(--panel-strong));box-shadow:0 20px 64px var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:26px}.payment-status-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:clamp(22px,4vw,36px);display:grid}.payment-status-icon{width:68px;height:68px;box-shadow:inset 0 0 0 5px color-mix(in srgb, currentColor 10%, transparent);border:1px solid;border-radius:50%;place-items:center;display:grid}.payment-status-icon svg{width:34px;height:34px}.payment-status-success .payment-status-icon{color:var(--good)}.payment-status-fail .payment-status-icon{color:var(--bad)}.payment-status-result .payment-status-icon{color:var(--gold)}.payment-status-copy{gap:8px;display:grid}.payment-status-copy h1,.payment-status-copy p,.payment-information-heading h2,.payment-information-heading p,.payment-information-card h3,.payment-information-card p,.payment-operation-card h2,.payment-operation-card p{margin:0}.payment-status-copy h1{font-size:clamp(30px,5vw,48px);line-height:1.05}.payment-status-copy>p:last-child{max-width:760px;color:var(--muted);line-height:1.55}.payment-operation-card,.payment-information{padding:clamp(20px,3vw,28px)}.payment-operation-card{gap:18px;display:grid}.payment-operation-details,.payment-detail-list{gap:10px;margin:0;display:grid}.payment-operation-details{grid-template-columns:repeat(4,minmax(0,1fr))}.payment-operation-details>div,.payment-detail-list>div{border:1px solid var(--line);background:var(--card);border-radius:12px;gap:5px;min-width:0;padding:12px;display:grid}.payment-operation-details dt,.payment-detail-list dt{color:var(--muted);font-size:12px}.payment-operation-details dd,.payment-detail-list dd{overflow-wrap:anywhere;margin:0;font-weight:700}.payment-status-actions{flex-wrap:wrap;gap:10px;display:flex}.payment-information{gap:20px;display:grid}.payment-information-heading{gap:7px;display:grid}.payment-information-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.payment-information-card{border:1px solid var(--line);background:var(--card);border-radius:16px;align-content:start;gap:14px;padding:18px;display:grid}.payment-information-card-wide{grid-column:1/-1}.payment-information-card-title{align-items:center;gap:9px;display:flex}.payment-information-card-title svg{color:var(--gold);flex:none}.payment-information-card>p,.payment-information-list,.payment-product-row span{color:var(--muted);line-height:1.5}.payment-detail-list-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-prototype-warning{border:1px solid color-mix(in srgb, var(--gold) 60%, var(--line));background:color-mix(in srgb, var(--gold) 10%, transparent);border-radius:12px;padding:10px 12px;color:var(--text)!important}.payment-product-list{gap:10px;display:grid}.payment-product-row{border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:12px;display:grid}.payment-product-row>div{gap:4px;display:grid}.payment-product-row>strong{color:var(--gold);white-space:nowrap}.payment-information-list{gap:8px;margin:0;padding-left:20px;display:grid}.payment-information-card a{text-underline-offset:3px;text-decoration:underline}.payment-public-shell>.app-support-footer{width:100%;margin:0 auto}@media (width<=820px){.payment-operation-details,.payment-information-grid,.payment-detail-list-columns{grid-template-columns:1fr}.payment-information-card-wide{grid-column:auto}}@media (width<=560px){.payment-public-shell{padding:12px}.payment-public-brand span{display:none}.payment-status-card{grid-template-columns:1fr;justify-items:start}.payment-product-row{grid-template-columns:1fr}}:root[data-theme=light] .payment-public-shell{background:radial-gradient(at 18% 105%,#c1803557,#0000 56%),radial-gradient(circle at 78% 0,#fffadca8,#0000 42%),linear-gradient(#fff4cb,#f0d19a 54%,#d5a969)}:root[data-theme=light] .payment-public-header,:root[data-theme=light] .payment-status-card,:root[data-theme=light] .payment-operation-card,:root[data-theme=light] .payment-information{background:linear-gradient(180deg, var(--panel), var(--panel-strong))}@media (width<=360px){.landing-hero-art{height:92vw}.app-navigation{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;display:grid}.app-navigation .seal-balance-link{grid-column:1/-1;justify-self:stretch}.landing-hero-caption{width:124px;padding-inline:10px;font-size:10px;right:calc(56% + 6px)}}.seal-balance-link{z-index:2;border:1px solid color-mix(in srgb, var(--gold) 68%, var(--line));background:linear-gradient(#72222a8a,#120403b8);border-radius:999px;grid-template-columns:28px auto 28px;align-items:center;gap:6px;height:42px;min-height:42px;padding:4px 5px 4px 4px;transition:transform .14s,background .14s,border-color .14s;display:inline-grid;position:relative;box-shadow:inset 0 0 14px #d88b3514}.seal-balance-link:hover{border-color:var(--vellum);background:#d88b3529}.seal-balance-link:active{transform:translateY(2px)scale(.98)}.seal-balance-link>img{object-fit:cover;filter:drop-shadow(0 0 8px #eb371e57);border-radius:50%;justify-self:start;width:28px;height:28px}.seal-balance-link>strong{color:var(--vellum);text-align:center;white-space:nowrap;place-self:center;font-size:14px;line-height:1}.seal-balance-plus{border:1px solid color-mix(in srgb, var(--vellum) 48%, transparent);width:22px;height:22px;color:var(--vellum);background:#d88b351f;border-radius:50%;justify-self:end;place-items:center;display:grid}.seal-balance-plus svg{stroke-width:2.4px;width:14px;height:14px}.commerce-footer{flex-wrap:wrap;justify-content:center;gap:8px 18px}.commerce-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;display:flex}.commerce-footer-links a{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 48%, transparent);text-decoration-color:color-mix(in srgb, currentColor 48%, transparent);text-underline-offset:3px}.commerce-footer-links a:hover,.commerce-footer-links a:focus-visible{color:var(--gold)}.commerce-footer-copy{white-space:nowrap}@media (width<=760px){.commerce-footer{padding:16px 12px max(16px, env(safe-area-inset-bottom))}}.landing-page>.commerce-footer{width:min(1280px,100% - clamp(24px,3vw,40px));margin-inline:auto}.currency-purchase-hero-panel{position:relative}.currency-purchase-hero{grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);align-items:center;gap:clamp(20px,4vw,46px);min-height:390px;padding:clamp(24px,4vw,38px);display:grid}.currency-purchase-hero-copy{z-index:1;justify-items:start;gap:12px;display:grid;position:relative}.currency-purchase-hero-copy h1{margin:0;font-size:clamp(38px,5vw,62px);line-height:.98}.currency-purchase-hero-copy>p{max-width:650px;margin:0;font-size:16px;line-height:1.6}.currency-seal-stage{place-items:center;min-height:320px;display:grid;position:relative}.currency-seal-stage>img{z-index:1;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 26px 34px #00000094)drop-shadow(0 0 24px #de351f33);width:min(330px,100%);animation:3.6s ease-in-out infinite currency-seal-levitate;position:relative}@keyframes currency-seal-levitate{0%,to{transform:translateY(7px)rotate(-2deg)}50%{transform:translateY(-8px)rotate(2deg)}}.currency-seal-glow{aspect-ratio:1;filter:blur(5px);background:radial-gradient(circle,#f03a1d4d,#8613141f 48%,#0000 70%);border-radius:50%;width:min(320px,86%);position:absolute}.currency-purchase-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;display:grid}.currency-packages-panel,.currency-summary-panel{align-content:start;gap:18px;height:100%;display:grid}.currency-section-heading h2,.currency-summary-panel h2{margin:0}.currency-section-heading .muted{margin:6px 0 0}.currency-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.currency-package-card{border:1px solid var(--line);min-height:148px;color:var(--text);background:color-mix(in srgb, var(--card) 84%, black);cursor:pointer;text-align:left;border-radius:18px;align-content:center;justify-items:start;gap:5px;padding:18px;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;display:grid;position:relative}.currency-package-card:hover{border-color:var(--gold);transform:translateY(-2px)}.currency-package-card.selected{border-color:var(--vellum);box-shadow:0 0 0 1px color-mix(in srgb, var(--gold) 25%, transparent), 0 14px 28px #0000003d;background:linear-gradient(#72222ab3,#220505ad)}.currency-package-amount{color:var(--vellum);font-size:30px;font-weight:700;line-height:1}.currency-package-name{color:var(--muted);font-size:12px}.currency-package-card>strong{color:var(--gold);margin-top:14px;font-size:19px}.currency-package-badge{border:1px solid var(--vellum);color:var(--ink);background:linear-gradient(180deg, var(--vellum), var(--gold));letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700;position:absolute;top:-10px;right:12px;box-shadow:0 7px 18px #00000047}:root[data-theme=light] .currency-package-badge{color:var(--light-on-accent);background:var(--wine);border-color:var(--wine-dark);box-shadow:0 4px 12px var(--shadow)}:root[data-theme=light] .currency-package-card:has(.currency-package-badge){border-color:var(--wine)}.currency-summary-card{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:4px 16px;display:grid}.currency-summary-card>div{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.currency-summary-card>div:last-child{border-bottom:0}.currency-summary-card span{color:var(--muted);font-size:13px}.currency-summary-card strong{text-align:right}.currency-summary-card .total strong{color:var(--vellum);font-size:22px}.currency-current-balance{color:var(--muted);margin:-8px 0 0;font-size:13px}.currency-payment-form{display:grid}.currency-buy-button{width:100%;min-height:52px}.currency-purchase-smallprint{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.currency-purchase-smallprint a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--gold) 48%, transparent);text-decoration-color:color-mix(in srgb, var(--gold) 48%, transparent);text-underline-offset:3px}.currency-purchase-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.currency-purchase-info-item{border:1px solid color-mix(in srgb, var(--line) 74%, transparent);background:var(--card);border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:14px;display:grid}.currency-purchase-info-item>svg{color:var(--gold);margin-top:1px}.currency-purchase-info-item>div{gap:5px;display:grid}.currency-purchase-info-item span{color:var(--muted);font-size:12px;line-height:1.5}.payment-public-page.payment-status-page,.legal-terms-page{flex:none}.legal-terms-page>section,.legal-terms-section{overflow-wrap:anywhere;min-width:0}.legal-terms-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.legal-terms-section{border:1px solid var(--line);background:var(--card);border-radius:16px;align-content:start;gap:14px;padding:18px;scroll-margin-top:18px;display:grid}.legal-terms-section-wide,.legal-terms-section:last-child{grid-column:1/-1}.legal-terms-section h2,.legal-terms-section p{margin:0}.legal-terms-back{width:max-content}.legal-organization-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;display:grid}.legal-organization-details>div{gap:4px;min-width:0;display:grid}.legal-organization-details dt{color:var(--muted);font-size:12px}.legal-organization-details dd{overflow-wrap:anywhere;margin:0;font-weight:700}@media (prefers-reduced-motion:reduce){.currency-seal-stage>img{animation:none}}@media (width<=980px){.currency-purchase-hero,.currency-purchase-grid{grid-template-columns:1fr}.currency-seal-stage{order:-1;min-height:280px}.currency-seal-stage>img{width:min(290px,76vw)}.currency-purchase-info-grid{grid-template-columns:1fr}}@media (width<=720px){.seal-balance-link{grid-template-columns:25px auto 25px;gap:5px;height:42px;min-height:42px;padding:3px 4px 3px 3px}.seal-balance-link>img{width:25px;height:25px}.seal-balance-plus{width:20px;height:20px}.currency-purchase-hero{min-height:0;padding:22px}.currency-package-grid,.legal-terms-content,.legal-organization-details{grid-template-columns:1fr}.legal-terms-section:last-child{grid-column:auto}}@media (width<=600px){.currency-purchase-hero-copy h1{font-size:40px}}:root[data-theme=light] .seal-balance-link,:root[data-theme=light] .currency-package-card,:root[data-theme=light] .currency-summary-card,:root[data-theme=light] .currency-purchase-info-item,:root[data-theme=light] .legal-terms-section{color:var(--text);background:linear-gradient(180deg, var(--panel), var(--panel-strong))}:root[data-theme=light] .currency-package-card.selected{border-color:var(--gold);background:#ffeebfe6}:root[data-theme=light] .currency-package-card.selected .currency-package-amount,:root[data-theme=light] .currency-summary-card .total strong{color:var(--wine-dark)}.scene-resize-actions{z-index:42;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:12px;gap:8px;padding:6px;display:flex;position:absolute;top:10px;right:10px}.scene-resize-action{width:36px;height:36px}.scene-resize-action.primary{border-color:var(--gold);color:var(--parchment);background:var(--wine)}
