/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.contents{display:contents}.hidden{display:none}.table{display:table}}:root{--canvas-950:#07111f;--canvas-900:#0b1728;--panel-850:#101f32;--panel-800:#13263a;--line-700:#26445a;--teal-500:#5eb6ad;--teal-700:#2b7d78;--gold-500:#d7a34a;--gold-300:#f0c36a;--ink-100:#f4ecdd;--ink-300:#c8d0d3;--ink-500:#9eaebd;--danger-400:#c96a61;--warning-400:#d9a441;--campaign-canvas:#07111f;--campaign-accent:#d7a34a;--campaign-vitality:#5eb6ad;--campaign-backdrop:none;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif}*{box-sizing:border-box}html{background:var(--canvas-950)}body{background:var(--canvas-950);color:var(--ink-100);font-family:var(--font-ui), "Segoe UI", system-ui, sans-serif;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--teal-500);outline-offset:3px}.app-shell{isolation:isolate;background-color:var(--campaign-canvas);background-image:linear-gradient(var(--campaign-canvas), var(--campaign-canvas)), var(--campaign-backdrop), radial-gradient(circle at 24% 10%, #15475d57, transparent 34%), linear-gradient(180deg, var(--campaign-canvas) 0%, var(--campaign-canvas) 100%);min-height:100svh;position:relative;overflow-x:hidden}@supports (color:color-mix(in lab, red, red)){.app-shell{background-image:linear-gradient(color-mix(in srgb, var(--campaign-canvas) 54%, #02080f70), color-mix(in srgb, var(--campaign-canvas) 68%, #02080fad)), var(--campaign-backdrop), radial-gradient(circle at 24% 10%, #15475d57, transparent 34%), linear-gradient(180deg, var(--campaign-canvas) 0%, color-mix(in srgb, var(--campaign-canvas) 76%, #020914 24%) 100%)}}.app-shell{background-position:50%;background-size:cover;background-attachment:fixed}.signin-shell{isolation:isolate;background:radial-gradient(circle at 50% 34%,#194c6252,#0000 38%),linear-gradient(#07111f,#050d18);place-items:center;min-height:100svh;padding:24px;display:grid;position:relative;overflow:hidden}.signin-panel{text-align:center;background:linear-gradient(#101f32f5,#07111ff7);border:1px solid #d7a34a75;border-radius:18px;width:min(680px,100%);padding:56px;box-shadow:0 34px 100px #00000073}.signin-mark{width:62px;height:62px;margin:0 auto 22px}.signin-panel h1{font-family:var(--font-display);margin:8px auto 16px;font-size:clamp(2.5rem,6vw,4rem);font-weight:600;line-height:1}.signin-panel p{max-width:540px;color:var(--ink-500);margin:0 auto 30px;font-size:1.04rem;line-height:1.7}.signin-button{justify-content:center;align-items:center;min-width:220px;padding:0 22px;text-decoration:none;display:inline-flex}.signin-panel .signin-legal{margin:20px auto 0;font-size:.78rem;line-height:1.5}.signin-legal a{color:var(--teal-500)}.celestial-field{z-index:-1;pointer-events:none;opacity:.62;background-image:radial-gradient(circle at 12% 17%,#f0c36acc 0 1px,#0000 1.5px),radial-gradient(circle at 68% 11%,#b1e4e6d1 0 1px,#0000 1.5px),radial-gradient(circle at 87% 42%,#f0c36a8c 0 1px,#0000 1.5px),radial-gradient(circle at 35% 75%,#b1e4e66b 0 1px,#0000 1.5px),repeating-linear-gradient(90deg,#7ab1c106 0 1px,#0000 1px 40px),repeating-linear-gradient(0deg,#7ab1c105 0 1px,#0000 1px 40px);position:fixed;inset:72px 0 0}.celestial-field:before,.celestial-field:after{content:"";aspect-ratio:1;background:linear-gradient(35deg,#0000 49.8%,#d7a34a17 50%,#0000 50.2%),linear-gradient(145deg,#0000 49.8%,#5eb6ad12 50%,#0000 50.2%),radial-gradient(circle,#0000 42%,#d7a34a0f 42.2% 42.6%,#0000 42.8%);border:1px solid #7ab1c114;border-radius:50%;width:420px;position:absolute}.celestial-field:before{top:18px;left:48%}.celestial-field:after{bottom:-130px;right:-155px;transform:scale(1.18)}.app-header{border-bottom:1px solid var(--campaign-accent);grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);align-items:center;gap:20px;min-height:72px;padding:0 28px;display:grid}@supports (color:color-mix(in lab, red, red)){.app-header{border-bottom:1px solid color-mix(in srgb, var(--campaign-accent) 35%, transparent)}}.app-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;background:#050e1af0;position:sticky;top:0}.brand-lockup,.dm-identity,.campaign-actions,.sync-status,.display-label{align-items:center;display:flex}.brand-lockup{gap:14px;min-width:0}.observatory-mark{border:1px solid var(--campaign-accent);width:38px;height:38px}@supports (color:color-mix(in lab, red, red)){.observatory-mark{border:1px solid color-mix(in srgb, var(--campaign-accent) 62%, transparent)}}.observatory-mark{color:var(--campaign-accent);box-shadow:0 0 16px var(--campaign-accent), inset 0 0 0 5px #07111fbf;border-radius:50%;place-items:center;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.observatory-mark{box-shadow:0 0 16px color-mix(in srgb, var(--campaign-accent) 12%, transparent), inset 0 0 0 5px #07111fbf}}.observatory-mark:before,.observatory-mark:after{content:"";border:1px solid var(--campaign-accent);position:absolute;inset:6px -7px}@supports (color:color-mix(in lab, red, red)){.observatory-mark:before,.observatory-mark:after{border:1px solid color-mix(in srgb, var(--campaign-accent) 40%, transparent)}}.observatory-mark:before,.observatory-mark:after{border-radius:50%}.observatory-mark:after{transform:rotate(60deg)}.observatory-mark span{font-size:18px}.brand-name,.campaign-picker,.character-heading h2,.management-panel h2,.campaign-tile strong,.drawer-heading h2{font-family:var(--font-display);font-weight:600}.brand-name{color:#ead5ad;white-space:nowrap;font-size:clamp(1.15rem,1.7vw,1.55rem)}.primary-nav{align-self:stretch;gap:34px;display:flex}.nav-item{min-width:66px;color:var(--ink-500);cursor:pointer;background:0 0;border:0;padding:0 4px;transition:color .16s;position:relative}.nav-item:disabled{cursor:not-allowed;opacity:.36}.nav-item:after{content:"";background:linear-gradient(90deg, transparent, var(--campaign-accent), transparent);height:2px;transition:transform .16s;position:absolute;bottom:0;left:12%;right:12%;transform:scaleX(0)}.nav-item:hover,.nav-item.active{color:var(--ink-100)}.nav-item.active:after{transform:scaleX(1)}.dm-identity{color:var(--ink-300);white-space:nowrap;justify-content:flex-end;gap:10px}.dm-avatar{width:34px;height:34px;font-family:var(--font-display);color:var(--teal-500);background:radial-gradient(circle,#5eb6ad1f,#07111fe6);border:1px solid #5eb6ad7a;border-radius:50%;place-items:center;font-weight:600;display:grid}.chevron,.picker-chevron{color:var(--campaign-accent)}.campaign-band{z-index:20;border-bottom:1px solid #26445a9e;justify-content:space-between;align-items:center;gap:30px;min-height:146px;padding:24px 32px 22px;display:flex;position:relative}.campaign-band:before{content:"";z-index:-1;background:radial-gradient(circle at 48% 62%,#5eb6ad14,#0000 38%);position:absolute;inset:0}.campaign-identity p{color:var(--ink-500);font-family:var(--font-display);margin:4px 0 0;font-size:1.18rem}.eyebrow{color:var(--teal-500);letter-spacing:.2em;text-transform:uppercase;margin-bottom:5px;font-size:.72rem;font-weight:600;display:block}.campaign-picker-wrap{position:relative}.campaign-picker{color:var(--ink-100);cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:0;font-size:clamp(2rem,3.25vw,2.75rem);line-height:1.05;display:flex}.campaign-picker.display-title{cursor:default;margin:0}.campaign-menu{border:1px solid var(--line-700);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f1f31fa;border-radius:12px;min-width:min(380px,86vw);padding:8px;position:absolute;top:calc(100% + 14px);left:0;box-shadow:0 20px 50px #00000073}.campaign-option{width:100%;color:var(--ink-300);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;display:flex}.campaign-option:hover,.campaign-option.selected{color:var(--ink-100);background:#d7a34a12;border-color:#d7a34a4d}.campaign-option small{color:var(--ink-500)}.campaign-actions{gap:28px}.campaign-action-buttons{align-items:center;gap:10px;display:flex}.add-character-button{border:1px solid var(--line-700);min-height:48px;color:var(--ink-300);cursor:pointer;background:#0c1f30b8;border-radius:9px;padding:0 15px}.add-character-button:hover{color:var(--ink-100);border-color:#5eb6ad9e}.sync-status{color:var(--ink-300);white-space:nowrap;gap:10px}.status-orb,.live-dot{background:var(--campaign-vitality);width:11px;height:11px;box-shadow:0 0 0 3px var(--campaign-vitality), 0 0 12px var(--campaign-vitality);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.status-orb,.live-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--campaign-vitality) 12%, transparent), 0 0 12px color-mix(in srgb, var(--campaign-vitality) 70%, transparent)}}.sync-status.complete .status-orb{animation:.6s ease-out sync-pulse}.sync-button,.gold-button{border:1px solid var(--campaign-accent);min-height:48px}@supports (color:color-mix(in lab, red, red)){.sync-button,.gold-button{border:1px solid color-mix(in srgb, var(--campaign-accent) 88%, #fff 12%)}}.sync-button,.gold-button{color:var(--ink-100);background:linear-gradient(180deg, var(--campaign-accent), #17130e);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.sync-button,.gold-button{background:linear-gradient(180deg, color-mix(in srgb, var(--campaign-accent) 24%, #211508), #17130e)}}.sync-button,.gold-button{box-shadow:inset 0 0 0 3px #d7a34a14, 0 0 18px var(--campaign-accent)}@supports (color:color-mix(in lab, red, red)){.sync-button,.gold-button{box-shadow:inset 0 0 0 3px #d7a34a14, 0 0 18px color-mix(in srgb, var(--campaign-accent) 13%, transparent)}}.sync-button,.gold-button{cursor:pointer;transition:transform .15s,filter .15s,box-shadow .15s}.sync-button{min-width:188px;font-family:var(--font-display);justify-content:center;align-items:center;gap:13px;padding:0 24px;font-size:1.4rem;display:inline-flex}.sync-button:hover:not(:disabled),.gold-button:hover{filter:brightness(1.09);transform:translateY(-1px)}.sync-button:disabled{opacity:.76;cursor:wait}.sync-star{color:var(--gold-300)}.sync-star.spinning{animation:.8s linear infinite spin}.party-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:14px 12px;width:100%;padding:0 12px 14px;display:grid}.party-grid:has(.character-card.expanded){grid-auto-rows:auto;align-items:start}.party-grid:has(.character-card.expanded) .character-card-summary{height:var(--compact-card-summary-height);min-height:var(--compact-card-summary-height)}.character-card{border:1px solid var(--campaign-accent);grid-column:span 2;min-width:0;min-height:310px;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.character-card{border:1px solid color-mix(in srgb, var(--campaign-accent) 54%, transparent)}}.character-card{cursor:default;animation:.26s cubic-bezier(.2,.8,.2,1) both card-enter;animation-delay:calc(var(--card-index,0) * 35ms);background:linear-gradient(#101f32fa,#081625fa);border-radius:14px;box-shadow:0 12px 30px #00000047,inset 0 1px #ffffff06}.character-card-summary{width:100%;min-height:308px;color:inherit;font:inherit;text-align:left;cursor:default;background:0 0;border:0;padding:0;display:flex;position:relative}.character-card-expand-button{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.character-card:not(.expanded) .character-card-summary{height:100%}.character-card-summary:hover{background:linear-gradient(90deg, transparent 65%, var(--campaign-accent))}@supports (color:color-mix(in lab, red, red)){.character-card-summary:hover{background:linear-gradient(90deg, transparent 65%, color-mix(in srgb, var(--campaign-accent) 5%, transparent))}}.character-card-expand-button:focus-visible{outline:2px solid var(--campaign-accent)}@supports (color:color-mix(in lab, red, red)){.character-card-expand-button:focus-visible{outline:2px solid color-mix(in srgb, var(--campaign-accent) 68%, #fff 32%)}}.character-card-expand-button:focus-visible{outline-offset:-4px}@media (width>=1200px){.party-grid.party-layout-four .character-card:nth-child(odd),.party-grid.party-layout-remainder-two .character-card:nth-last-child(2){grid-column:2/span 2}.party-grid.party-layout-four .character-card:nth-child(2n),.party-grid.party-layout-remainder-two .character-card:last-child{grid-column:4/span 2}.party-grid.party-layout-remainder-one .character-card:last-child{grid-column:3/span 2}}.empty-party{text-align:center;background:#0918278f;border:1px dashed #5eb6ad57;border-radius:14px;flex-direction:column;grid-column:2/span 4;justify-content:center;align-items:center;min-height:360px;padding:34px;display:flex}.empty-party>span{color:var(--campaign-accent);font-size:2rem}.empty-party h2{font-family:var(--font-display);margin:8px 0 6px;font-size:2rem}.empty-party p{max-width:520px;color:var(--ink-500);margin:0 0 20px;line-height:1.6}.character-settings-button{z-index:5;color:#d8c49e;cursor:pointer;background:#05101ce0;border:1px solid #d7a34a6b;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-size:.92rem;line-height:1;transition:transform .16s,border-color .16s,background .16s,color .16s;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 4px 14px #0000003d}.character-settings-button:hover,.character-settings-button:focus-visible{border-color:var(--campaign-accent);transform:rotate(24deg)}@supports (color:color-mix(in lab, red, red)){.character-settings-button:hover,.character-settings-button:focus-visible{border-color:color-mix(in srgb, var(--campaign-accent) 82%, #fff 18%)}}.character-settings-button:hover,.character-settings-button:focus-visible{color:#f1dfbd;outline:2px solid var(--campaign-accent);background:#11263afa}@supports (color:color-mix(in lab, red, red)){.character-settings-button:hover,.character-settings-button:focus-visible{outline:2px solid color-mix(in srgb, var(--campaign-accent) 34%, transparent)}}.character-settings-button:hover,.character-settings-button:focus-visible{outline-offset:2px}.portrait-wrap{z-index:2;background:#0a1826;flex:0 0 39%;align-self:stretch;width:39%;min-height:0;position:relative;overflow:hidden}.portrait-wrap img{object-fit:cover;object-position:50% 24%;filter:saturate(.88)contrast(1.02);display:block;width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.portrait-wrap:after{content:"";background:linear-gradient(90deg,#0000 42%,#101f3233 70%,#101f32f2 100%),linear-gradient(#0000 56%,#081625c7);position:absolute;inset:0}.character-data{z-index:2;flex-direction:column;width:61%;min-width:0;padding:16px 16px 14px 4px;display:flex;position:relative}.character-heading{border-bottom:1px solid var(--campaign-accent);justify-content:space-between;align-items:flex-start;gap:8px;display:flex}@supports (color:color-mix(in lab, red, red)){.character-heading{border-bottom:1px solid color-mix(in srgb, var(--campaign-accent) 32%, transparent)}}.character-heading{padding-bottom:8px}.manage-card .character-heading{padding-right:32px}.character-heading h2{color:#f1dfbd;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(1.36rem,2.05vw,1.9rem);line-height:1.12;overflow:hidden}.character-heading p{color:var(--ink-500);font-family:var(--font-display);margin:3px 0 0;font-size:1.03rem}.sync-chip{color:var(--warning-400);white-space:nowrap;border:1px solid #d9a4417a;border-radius:999px;padding:3px 7px;font-size:.66rem}.vital-row{align-items:center;gap:11px;padding:11px 0 9px;display:flex}.hp-block{flex:1;min-width:0}.death-save-block{flex:1;grid-template-columns:auto auto;justify-content:start;align-items:center;gap:4px 12px;min-width:0;display:grid}.death-save-heading{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;min-width:0;display:flex}.death-save-title{color:#e7d4b4;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:.9rem}.death-save-row{display:contents}.death-save-row>span:first-child{color:var(--ink-500);font-size:.7rem}.death-save-pips{gap:5px;display:flex}.death-save-pips i{background:#040f1ab8;border:1px solid #9eaebd94;border-radius:50%;width:12px;height:12px}.death-save-row.successes i.filled{border-color:var(--campaign-vitality)}@supports (color:color-mix(in lab, red, red)){.death-save-row.successes i.filled{border-color:color-mix(in srgb, var(--campaign-vitality) 82%, #d8fff8 18%)}}.death-save-row.successes i.filled{background:var(--campaign-vitality);box-shadow:0 0 8px var(--campaign-vitality)}@supports (color:color-mix(in lab, red, red)){.death-save-row.successes i.filled{box-shadow:0 0 8px color-mix(in srgb, var(--campaign-vitality) 44%, transparent)}}.death-save-row.failures i.filled{background:var(--danger-400);border-color:#e58e84;box-shadow:0 0 8px #c96a616b}.hp-value{flex-wrap:wrap;align-items:baseline;gap:3px;margin-bottom:7px;display:flex}.hp-value strong{color:var(--campaign-vitality);font-family:var(--font-display);font-size:1.75rem;font-weight:600}.hp-value span{color:var(--ink-500);font-size:.9rem}.temp-hp-badge,.hp-value .temp-hp-badge{color:#c8efff;white-space:nowrap;background:linear-gradient(#3689b13d,#184f702e);border:1px solid #64c4e89e;border-radius:999px;align-items:center;gap:4px;min-height:24px;margin-left:6px;padding:2px 8px;display:inline-flex;box-shadow:inset 0 0 10px #5dc7eb14,0 0 10px #3299c714}.temp-hp-badge b{color:#e2f7ff;font-family:var(--font-display);font-size:.9rem;font-weight:700;line-height:1}.temp-hp-badge span,.hp-value .temp-hp-badge span{color:#9ad6ed;font-family:var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;font-size:.58rem;font-weight:700;line-height:1}.death-save-heading .temp-hp-badge{min-height:20px;margin-left:0;padding:1px 6px}.death-save-heading .temp-hp-badge b{font-size:.78rem}.death-save-heading .temp-hp-badge span{font-size:.52rem}.concentration-badge,.hp-value .concentration-badge{color:#9eb5c8;min-height:24px;font-family:var(--font-mono), monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(#142e46c2,#0a1c2db3);border:1px solid #779ab975;border-radius:999px;align-items:center;gap:5px;margin-left:4px;padding:2px 8px;font-size:.58rem;font-weight:700;line-height:1;display:inline-flex}.concentration-badge.active,.hp-value .concentration-badge.active{border-color:var(--campaign-accent)}@supports (color:color-mix(in lab, red, red)){.concentration-badge.active,.hp-value .concentration-badge.active{border-color:color-mix(in srgb, var(--campaign-accent) 58%, #86ecff 42%)}}.concentration-badge.active,.hp-value .concentration-badge.active{background:linear-gradient(180deg, var(--campaign-accent), #0b283ccc)}@supports (color:color-mix(in lab, red, red)){.concentration-badge.active,.hp-value .concentration-badge.active{background:linear-gradient(180deg, color-mix(in srgb, var(--campaign-accent) 22%, #1c5b70c7), #0b283ccc)}}.concentration-badge.active,.hp-value .concentration-badge.active{box-shadow:inset 0 0 12px var(--campaign-accent), 0 0 11px #50cae029}@supports (color:color-mix(in lab, red, red)){.concentration-badge.active,.hp-value .concentration-badge.active{box-shadow:inset 0 0 12px color-mix(in srgb, var(--campaign-accent) 14%, transparent), 0 0 11px #50cae029}}.concentration-badge.active,.hp-value .concentration-badge.active{color:#dffaff}.concentration-toggle{z-index:4;appearance:none;pointer-events:auto;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,color .15s,transform .15s;position:relative}.concentration-toggle:hover:not(:disabled),.concentration-toggle:focus-visible{border-color:var(--campaign-accent);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.concentration-toggle:hover:not(:disabled),.concentration-toggle:focus-visible{border-color:color-mix(in srgb, var(--campaign-accent) 72%, #9ff2ff 28%)}}.concentration-toggle:hover:not(:disabled),.concentration-toggle:focus-visible{color:#e9fbff;outline:2px solid var(--campaign-accent)}@supports (color:color-mix(in lab, red, red)){.concentration-toggle:hover:not(:disabled),.concentration-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--campaign-accent) 24%, transparent)}}.concentration-toggle:hover:not(:disabled),.concentration-toggle:focus-visible{outline-offset:2px}.concentration-toggle:disabled{cursor:wait;opacity:.72}.concentration-glyph,.hp-value .concentration-glyph{color:var(--campaign-accent)}@supports (color:color-mix(in lab, red, red)){.concentration-glyph,.hp-value .concentration-glyph{color:color-mix(in srgb, var(--campaign-accent) 62%, #82eaff 38%)}}.concentration-glyph,.hp-value .concentration-glyph{text-shadow:0 0 7px;font-size:.72rem;line-height:1}.concentration-badge>span:last-child,.hp-value .concentration-badge>span:last-child{color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit}.concentration-toggle.saving .concentration-glyph{animation:.8s linear infinite spin}.death-save-heading .concentration-badge{min-height:20px;margin-left:0;padding:1px 6px;font-size:.52rem}.condition-badge,.hp-value .condition-badge{color:#f1b99e;min-height:24px;font-family:var(--font-mono), monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(#893d3252,#51232633);border:1px solid #df8b65a3;border-radius:999px;align-items:center;margin-left:4px;padding:2px 8px;font-size:.58rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 0 0 10px #e77b5b0f,0 0 10px #9b483a14}.condition-badge:before{content:"";background:#e98565;border-radius:50%;width:5px;height:5px;margin-right:5px;box-shadow:0 0 7px #e98565ad}.death-save-heading .condition-badge{min-height:20px;margin-left:0;padding:1px 6px;font-size:.52rem}.hp-track{border:1px solid var(--campaign-accent);height:9px}@supports (color:color-mix(in lab, red, red)){.hp-track{border:1px solid color-mix(in srgb, var(--campaign-accent) 54%, transparent)}}.hp-track{background:#061521;border-radius:999px;overflow:hidden}.hp-track span{border-radius:inherit;height:100%;transition:width .3s;display:block}.hp-track .healthy{background:linear-gradient(90deg, var(--campaign-vitality), var(--campaign-vitality))}@supports (color:color-mix(in lab, red, red)){.hp-track .healthy{background:linear-gradient(90deg, color-mix(in srgb, var(--campaign-vitality) 84%, #27756c), color-mix(in srgb, var(--campaign-vitality) 76%, #d7f4ec))}}.hp-track .wounded{background:linear-gradient(90deg, #9d762c, var(--warning-400))}.hp-track .critical{background:linear-gradient(90deg, #8e4742, var(--danger-400))}.ac-shield{clip-path:polygon(50% 0,92% 15%,86% 72%,50% 100%,14% 72%,8% 15%);background:var(--campaign-accent);flex-direction:column;flex:0 0 50px;justify-content:center;align-items:center;width:50px;height:58px;display:flex}@supports (color:color-mix(in lab, red, red)){.ac-shield{background:color-mix(in srgb, var(--campaign-accent) 78%, #392817)}}.ac-shield{padding:2px;position:relative}.ac-shield:before{content:"";clip-path:inherit;background:#0b1a29;position:absolute;inset:2px}.ac-shield span,.ac-shield strong{z-index:1;position:relative}.ac-shield span{color:var(--ink-500);font-size:.66rem;line-height:1}.ac-shield strong{font-family:var(--font-display);color:var(--ink-100);font-size:1.42rem;line-height:1.1}.abilities{border-top:1px solid var(--campaign-accent);grid-template-columns:repeat(6,1fr);gap:2px;padding:8px 0;display:grid}@supports (color:color-mix(in lab, red, red)){.abilities{border-top:1px solid color-mix(in srgb, var(--campaign-accent) 46%, transparent)}}.abilities{border-bottom:1px solid var(--campaign-accent)}@supports (color:color-mix(in lab, red, red)){.abilities{border-bottom:1px solid color-mix(in srgb, var(--campaign-accent) 46%, transparent)}}.ability{text-align:center;min-width:0}.ability span{color:var(--ink-500);font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;font-size:.6rem;display:block}.ability strong{color:var(--ink-300);font-family:var(--font-display);font-size:1.08rem;font-weight:500}.resource-row{align-content:start;gap:8px;min-height:54px;margin-top:0;padding-top:9px;display:grid}.spell-slot-list{flex-wrap:wrap;align-items:center;gap:7px;width:100%;display:flex}.class-resource-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;display:grid}.slot-group{text-align:center;flex:48px;min-width:42px}.slot-group>span{color:var(--ink-500);font-family:var(--font-display);margin-bottom:5px;font-size:.8rem;display:block}.slot-group>span strong{color:var(--ink-300);font-family:var(--font-mono), monospace;margin-top:1px;font-size:.62rem;font-weight:500;display:block}.pips,.resource-dots{justify-content:center;gap:4px;display:flex}.pips i{background:#07111fc7;border:1px solid #d7a34a99;border-radius:50%;width:10px;height:10px}.pips i.available,.resource-dots i.available{background:var(--campaign-vitality);box-shadow:0 0 8px var(--campaign-vitality), inset 0 0 0 3px #091f2870;border-color:#a5e4d7}@supports (color:color-mix(in lab, red, red)){.pips i.available,.resource-dots i.available{box-shadow:0 0 8px color-mix(in srgb, var(--campaign-vitality) 65%, transparent), inset 0 0 0 3px #091f2870}}.resource-pill{border:1px solid var(--campaign-accent);justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;min-height:32px;padding:6px 9px;display:flex}@supports (color:color-mix(in lab, red, red)){.resource-pill{border:1px solid color-mix(in srgb, var(--campaign-accent) 46%, transparent)}}.resource-pill{color:#ead5ad;font-family:var(--font-display);white-space:nowrap;background:#030e1970;border-radius:999px;font-size:.8rem}.resource-pill>span:first-child{text-overflow:ellipsis;overflow:hidden}.resource-dots{flex:none}.resource-count{color:var(--campaign-vitality);font-family:var(--font-mono), monospace;flex:none;font-size:.72rem;font-weight:600}.resource-dots i{border:1px solid #5eb6ad80;border-radius:50%;width:8px;height:8px}.card-sync-time{color:#9eaebd8c;font-size:.56rem;position:absolute;bottom:5px;right:14px}.character-detail-panel{border-top:1px solid var(--campaign-accent);flex-direction:column;height:340px;min-height:0;display:flex}@supports (color:color-mix(in lab, red, red)){.character-detail-panel{border-top:1px solid color-mix(in srgb, var(--campaign-accent) 52%, transparent)}}.character-detail-panel{background:radial-gradient(circle at 16% 0%, var(--campaign-vitality), transparent 30%), #040f1b8f}@supports (color:color-mix(in lab, red, red)){.character-detail-panel{background:radial-gradient(circle at 16% 0%, color-mix(in srgb, var(--campaign-vitality) 7%, transparent), transparent 30%), #040f1b8f}}.character-detail-panel{animation:.18s both fade-in}.character-detail-tabs{border-bottom:1px solid var(--campaign-accent);flex:none;align-items:stretch;gap:3px;padding:0 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.character-detail-tabs{border-bottom:1px solid color-mix(in srgb, var(--campaign-accent) 26%, transparent)}}.character-detail-tabs{background:#030d1861;overflow-x:auto}.character-detail-tab{min-height:48px;color:var(--ink-500);font-family:var(--font-display);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 16px;font-size:.98rem;position:relative}.character-detail-tab:after{content:"";background:var(--campaign-accent);height:2px;box-shadow:0 0 10px var(--campaign-accent);position:absolute;bottom:0;left:14px;right:14px}@supports (color:color-mix(in lab, red, red)){.character-detail-tab:after{box-shadow:0 0 10px color-mix(in srgb, var(--campaign-accent) 50%, transparent)}}.character-detail-tab:after{transition:transform .15s;transform:scaleX(0)}.character-detail-tab:hover,.character-detail-tab.active{color:#f1dfbd}.character-detail-tab.active:after{transform:scaleX(1)}.character-detail-tab:focus-visible{outline:2px solid var(--campaign-accent)}@supports (color:color-mix(in lab, red, red)){.character-detail-tab:focus-visible{outline:2px solid color-mix(in srgb, var(--campaign-accent) 56%, transparent)}}.character-detail-tab:focus-visible{outline-offset:-4px}.character-detail-content{overscroll-behavior:contain;scrollbar-color:var(--campaign-accent) #030d184d;flex:auto;min-height:0;padding:18px;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.character-detail-content{scrollbar-color:color-mix(in srgb, var(--campaign-accent) 58%, transparent) #030d184d}}.character-detail-content{scrollbar-width:thin}.character-detail-content::-webkit-scrollbar{width:8px}.character-detail-content::-webkit-scrollbar-track{background:#030d184d}.character-detail-content::-webkit-scrollbar-thumb{background:var(--campaign-accent);border:2px solid #030d184d;border-radius:999px}@supports (color:color-mix(in lab, red, red)){.character-detail-content::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--campaign-accent) 58%, transparent)}}.detail-sync-note{border:1px solid var(--campaign-accent);margin:0 0 14px;padding:9px 12px}@supports (color:color-mix(in lab, red, red)){.detail-sync-note{border:1px solid color-mix(in srgb, var(--campaign-accent) 25%, transparent)}}.detail-sync-note{background:var(--campaign-accent);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.detail-sync-note{background:color-mix(in srgb, var(--campaign-accent) 5%, transparent)}}.detail-sync-note{color:var(--ink-500);font-size:.8rem;line-height:1.45}.character-overview-grid{grid-template-columns:1fr;gap:14px;display:grid}.detail-section{border:1px solid var(--campaign-accent);min-width:0;padding:15px}@supports (color:color-mix(in lab, red, red)){.detail-section{border:1px solid color-mix(in srgb, var(--campaign-accent) 28%, transparent)}}.detail-section{background:#08182799;border-radius:11px}.detail-section-heading{align-items:center;gap:8px;margin-bottom:12px;display:flex}.detail-section-heading>span{color:var(--campaign-vitality);text-shadow:0 0 9px var(--campaign-vitality)}@supports (color:color-mix(in lab, red, red)){.detail-section-heading>span{text-shadow:0 0 9px color-mix(in srgb, var(--campaign-vitality) 55%, transparent)}}.detail-section-heading h4,.spell-name-group h4,.proficiency-group h5{margin:0}.detail-section-heading h4{color:#ead8b6;font-family:var(--font-display);font-size:1.08rem;font-weight:500}.saving-throw-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.detail-stat-row,.sense-row,.skill-row{background:#020d1773;border:1px solid #4664795c;border-radius:7px;align-items:center;min-width:0;display:flex}.detail-stat-row{gap:7px;min-height:36px;padding:5px 8px}.detail-stat-row>span:nth-child(2){color:var(--ink-500);font-family:var(--font-mono), monospace;font-size:.7rem}.detail-stat-row strong,.sense-row strong,.skill-row strong{color:var(--campaign-vitality);font-family:var(--font-mono), monospace;margin-left:auto;font-size:.88rem}.detail-proficiency-mark{background:#030e18cc;border:1px solid #9eaebd7a;border-radius:50%;flex:0 0 9px;width:9px;height:9px}.detail-proficiency-mark.filled{border-color:var(--campaign-vitality)}@supports (color:color-mix(in lab, red, red)){.detail-proficiency-mark.filled{border-color:color-mix(in srgb, var(--campaign-vitality) 78%, #e8fffa 22%)}}.detail-proficiency-mark.filled{background:var(--campaign-vitality);box-shadow:0 0 8px var(--campaign-vitality), inset 0 0 0 2px #04171e8c}@supports (color:color-mix(in lab, red, red)){.detail-proficiency-mark.filled{box-shadow:0 0 8px color-mix(in srgb, var(--campaign-vitality) 65%, transparent), inset 0 0 0 2px #04171e8c}}.detail-proficiency-mark.expertise{outline:1px solid var(--campaign-accent)}@supports (color:color-mix(in lab, red, red)){.detail-proficiency-mark.expertise{outline:1px solid color-mix(in srgb, var(--campaign-accent) 82%, #fff 18%)}}.detail-proficiency-mark.expertise{outline-offset:2px}.sense-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.sense-row{gap:10px;min-height:36px;padding:6px 9px}.sense-row span{min-width:0;color:var(--ink-300);font-size:.8rem}.proficiency-groups{grid-template-columns:1fr;gap:12px 16px;display:grid}.proficiency-group h5{color:var(--ink-500);font-family:var(--font-mono), monospace;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px;font-size:.66rem}.proficiency-chip-list{flex-wrap:wrap;gap:5px;display:flex}.proficiency-chip-list span{border:1px solid var(--campaign-accent);padding:4px 7px}@supports (color:color-mix(in lab, red, red)){.proficiency-chip-list span{border:1px solid color-mix(in srgb, var(--campaign-accent) 30%, transparent)}}.proficiency-chip-list span{background:var(--campaign-accent);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.proficiency-chip-list span{background:color-mix(in srgb, var(--campaign-accent) 6%, #030e1980)}}.proficiency-chip-list span{color:#d8c8aa;font-size:.72rem;line-height:1.2}.detail-empty-state{color:var(--ink-500);margin:0;font-size:.8rem}.spell-name-groups{grid-template-columns:1fr;gap:12px;display:grid}.spell-name-group{border:1px solid var(--campaign-accent);min-width:0;padding:14px}@supports (color:color-mix(in lab, red, red)){.spell-name-group{border:1px solid color-mix(in srgb, var(--campaign-accent) 28%, transparent)}}.spell-name-group{background:#0818279e;border-radius:10px}.spell-name-group h4{border-bottom:1px solid var(--campaign-accent);padding-bottom:8px}@supports (color:color-mix(in lab, red, red)){.spell-name-group h4{border-bottom:1px solid color-mix(in srgb, var(--campaign-accent) 26%, transparent)}}.spell-name-group h4{color:var(--campaign-accent);font-family:var(--font-display);font-size:1rem;font-weight:500}.spell-name-group ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:9px 0 0;padding:0;list-style:none;display:grid}.spell-name-group li{color:var(--ink-300);padding-left:10px;font-size:.8rem;line-height:1.35;position:relative}.spell-name-group li:before{content:"";background:var(--campaign-vitality);width:4px;height:4px;box-shadow:0 0 6px var(--campaign-vitality);border-radius:50%;position:absolute;top:.48em;left:0}@supports (color:color-mix(in lab, red, red)){.spell-name-group li:before{box-shadow:0 0 6px color-mix(in srgb, var(--campaign-vitality) 68%, transparent)}}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;display:grid}.skill-row{gap:9px;min-height:39px;padding:6px 10px}.skill-name{min-width:0;color:var(--ink-300);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.skill-ability{color:#9eaebd9e;font-family:var(--font-mono), monospace;font-size:.62rem}.management-panel{background:#0a1a2bdb;border:1px solid #d7a34a5c;border-radius:16px;max-width:1180px;margin:24px auto 0;padding:28px;position:relative;box-shadow:0 24px 70px #00000042}.panel-heading,.drawer-heading,.drawer-actions{justify-content:space-between;align-items:center;gap:24px;display:flex}.create-campaign-control{align-items:center;gap:10px;display:flex}.create-campaign-control input,.text-theme-field input{border:1px solid var(--line-700);min-height:46px;color:var(--ink-100);background:#040f1ab3;border-radius:8px;padding:0 12px}.create-campaign-control input{width:min(260px,34vw)}.management-panel h2,.drawer-heading h2{color:var(--ink-100);margin:0;font-size:2rem}.gold-button{padding:0 18px}.campaign-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.campaign-tile{border:1px solid var(--line-700);background:#101f32bd;border-radius:12px;min-width:0;display:grid;overflow:hidden}.campaign-tile-main{width:100%;min-width:0;min-height:102px;color:var(--ink-300);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.campaign-tile:hover,.campaign-tile:focus-within{border-color:#d7a34aa3}.campaign-tile-main>span:nth-child(2){min-width:0}.campaign-tile-footer{border-top:1px solid var(--line-700);justify-content:flex-end;padding:8px 12px 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.campaign-tile-footer{border-top:1px solid color-mix(in srgb, var(--line-700) 56%, transparent)}}.campaign-tile-footer{background:#040f1a47}.campaign-delete-button{color:#d6958e;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:34px;padding:0 9px;font-size:.78rem;font-weight:700}.campaign-delete-button:hover,.campaign-delete-button:focus-visible{color:#f0aaa2;background:#c96a6121}.campaign-tile.confirming-delete{border-color:#c96a6194;grid-column:span 1}.campaign-delete-confirmation{color:#f4d5d0;background:#6023222e;gap:8px;min-height:146px;padding:18px;display:grid}.campaign-delete-confirmation p{color:var(--ink-500);margin:0;font-size:.86rem;line-height:1.5}.empty-campaign-library{text-align:center;background:#07111f70;border:1px dashed #5eb6ad57;border-radius:12px;grid-column:1/-1;align-content:center;place-items:center;gap:7px;min-height:230px;padding:30px;display:grid}.empty-campaign-library>span{color:var(--campaign-accent);font-size:1.7rem}.empty-campaign-library h3{color:var(--ink-100);font-family:var(--font-display);margin:0;font-size:1.5rem}.empty-campaign-library p{color:var(--ink-500);margin:0}.tile-orbit{width:48px;height:48px;color:var(--campaign-accent);border:1px solid #5eb6ad70;border-radius:50%;place-items:center;display:grid}.campaign-tile-main strong,.campaign-tile-main small{display:block}.campaign-tile-main strong{color:var(--ink-100);font-size:1.4rem}.campaign-tile-main small,.party-count,.save-state{color:var(--ink-500)}.display-manager{text-align:center;max-width:820px;padding:48px}.display-manager p{color:var(--ink-500);font-size:1.05rem}.share-link-box{border:1px solid var(--line-700);max-width:650px;color:var(--ink-300);background:#030d17b8;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin:26px auto 18px;padding:10px 10px 10px 16px;display:flex}.share-link-box span{text-overflow:ellipsis;overflow:hidden}.share-link-box button,.quiet-button,.close-button{color:var(--teal-500);cursor:pointer;background:0 0;border:0}.button-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.theme-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.theme-grid label,.form-field{color:var(--ink-300);flex-direction:column;gap:8px;display:flex}.theme-grid label{border:1px solid var(--line-700);background:#07111f94;border-radius:12px;padding:18px}.theme-grid input[type=color]{background:var(--panel-800);border:0;border-radius:8px;width:100%;height:58px;padding:4px}.theme-grid code{color:var(--ink-500);font-family:var(--font-mono), monospace}.color-theme-field{grid-column:span 2}.color-theme-field small{min-height:2.6em;color:var(--ink-500);line-height:1.3}.theme-grid .upload-field{grid-column:1/-1}.theme-grid .text-theme-field{grid-column:span 3}.upload-field input,.upload-field small{color:var(--ink-500)}.form-field small{color:var(--ink-500);line-height:1.4}.drawer-scrim{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00070fbd;justify-content:flex-end;animation:.16s ease-out fade-in;display:flex;position:fixed;inset:0}.character-drawer{background:linear-gradient(#101f32,#07111f);border-left:1px solid #d7a34a70;width:min(500px,100%);height:100%;padding:28px;animation:.22s cubic-bezier(.2,.8,.2,1) drawer-enter;overflow-y:auto;box-shadow:-24px 0 70px #00000059}.close-button{width:44px;height:44px;color:var(--ink-300);font-size:1.8rem}.form-field{margin-top:22px}.form-field input{border:1px solid var(--line-700);width:100%;min-height:46px;color:var(--ink-100);background:#040f1ab3;border-radius:8px;padding:0 12px}.sync-character-button{color:#9edbd1;cursor:pointer;background:#2b7d7821;border:1px solid #5eb6ad80;border-radius:8px;width:100%;min-height:48px;margin-top:14px}.sync-character-button:disabled{opacity:.45;cursor:not-allowed}.drawer-divider{color:var(--ink-500);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:12px;margin:30px 0 0;font-size:.78rem;display:flex}.drawer-divider:before,.drawer-divider:after{content:"";background:var(--line-700);flex:1;height:1px}.resource-picker,.condition-picker{border:1px solid var(--line-700);background:#040f1a6b;border-radius:10px;margin-top:16px;padding:16px}.condition-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.condition-option{min-width:0;min-height:38px;color:var(--ink-300);cursor:pointer;background:#07111f80;border:1px solid #9eaebd33;border-radius:8px;align-items:center;gap:8px;padding:7px 9px;font-size:.78rem;display:flex}.condition-option:has(input:checked){color:#efbea7;background:#893d3229;border-color:#df8b6594}.condition-option input{accent-color:#d8785e;flex:none;width:16px;height:16px;margin:0}.condition-level-field{color:var(--ink-300);grid-template-columns:1fr 76px;align-items:center;gap:12px;margin-top:12px;font-size:.8rem;display:grid}.condition-level-field input{width:100%;min-height:38px;color:var(--ink-100);background:#040f1ab3;border:1px solid #df8b6570;border-radius:7px;padding:0 9px}.resource-picker-heading h3{color:var(--ink-100);font-family:var(--font-display);margin:0;font-size:1rem;font-weight:500}.resource-picker-heading p,.resource-picker-empty{color:var(--ink-500);margin:5px 0 0;font-size:.8rem;line-height:1.45}.resource-picker-list{gap:8px;margin-top:14px;display:grid}.resource-option{border:1px solid var(--campaign-accent);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:9px 11px;display:grid}@supports (color:color-mix(in lab, red, red)){.resource-option{border:1px solid color-mix(in srgb, var(--campaign-accent) 28%, transparent)}}.resource-option{cursor:pointer;background:#07111f80;border-radius:8px}.resource-option:has(input:checked){border-color:var(--campaign-vitality)}@supports (color:color-mix(in lab, red, red)){.resource-option:has(input:checked){border-color:color-mix(in srgb, var(--campaign-vitality) 68%, transparent)}}.resource-option:has(input:checked){background:var(--campaign-vitality)}@supports (color:color-mix(in lab, red, red)){.resource-option:has(input:checked){background:color-mix(in srgb, var(--campaign-vitality) 9%, #07111f80)}}.resource-option input{width:17px;height:17px;accent-color:var(--campaign-vitality);margin:0}.resource-option-copy{min-width:0}.resource-option-copy strong,.resource-option-copy small{display:block}.resource-option-copy strong{color:var(--ink-300);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:500;overflow:hidden}.resource-option-copy small{color:var(--ink-500);margin-top:2px;font-size:.68rem}.resource-option-count{color:var(--campaign-vitality);font-family:var(--font-mono), monospace;font-size:.72rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:0 14px;display:grid}.ability-edit-grid{grid-template-columns:repeat(6,1fr);gap:7px;margin-top:22px;display:grid}.ability-edit-grid label{color:var(--ink-500);font-family:var(--font-mono), monospace;text-align:center;flex-direction:column;gap:6px;font-size:.64rem;display:flex}.ability-edit-grid input{border:1px solid var(--line-700);width:100%;min-width:0;min-height:42px;color:var(--ink-100);text-align:center;background:#040f1ab3;border-radius:7px}.integration-note{border-left:2px solid var(--teal-700);color:var(--ink-500);background:#2b7d7814;margin:26px 0;padding:14px;font-size:.86rem;line-height:1.6}.character-danger-zone{background:#6023221f;border:1px solid #c96a6159;border-radius:10px;gap:14px;margin:0 0 24px;padding:16px;display:grid}.danger-eyebrow{color:#e8a49c;letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:700}.character-danger-zone p{color:var(--ink-500);margin:5px 0 0;font-size:.86rem;line-height:1.5}.danger-button{color:#e8a49c;cursor:pointer;background:0 0;border:1px solid #c96a6194;border-radius:8px;width:fit-content;min-height:40px;padding:0 14px;font-weight:700}.danger-button:hover,.danger-button:focus-visible{outline-offset:2px;background:#c96a6121;border-color:#e8a49c;outline:2px solid #c96a613d}.danger-button.solid{color:#fff4f0;background:#a94943}.danger-button:disabled{cursor:not-allowed;opacity:.55}.remove-confirmation{color:#f4d5d0;background:#6023223d;border-radius:8px;gap:5px;padding:13px;display:grid}.remove-confirmation>span{color:var(--ink-500);font-size:.82rem}.remove-confirmation-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:9px;display:flex}.drawer-actions{border-top:1px solid var(--line-700);padding-top:18px}.form-error{color:#e8a49c;margin:14px 0 0;font-size:.9rem}.notice-toast{z-index:120;max-width:min(480px,100vw - 44px);color:var(--ink-300);background:#091b2bf7;border:1px solid #5eb6ad6b;border-radius:10px;align-items:flex-start;gap:16px;padding:14px 14px 14px 18px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 50px #0000005c}.notice-toast button{min-width:32px;min-height:32px;color:var(--ink-500);cursor:pointer;background:0 0;border:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quiet-button{min-height:44px;color:var(--ink-500);padding:0 12px}.quiet-link{color:var(--ink-300);text-decoration:none}.display-label{color:var(--ink-500);text-transform:uppercase;letter-spacing:.16em;justify-self:center;gap:10px;font-size:.7rem}.display-mode .character-card{cursor:default}.display-mode .character-card:hover{border-color:var(--campaign-accent);transform:none}@supports (color:color-mix(in lab, red, red)){.display-mode .character-card:hover{border-color:color-mix(in srgb, var(--campaign-accent) 54%, transparent)}}.display-mode .character-card:hover{box-shadow:0 12px 30px #00000047,inset 0 1px #ffffff06}.settings-stack{padding-bottom:8px}.privacy-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px;display:grid}.privacy-settings-grid article{border:1px solid var(--line-700);background:#07111f94;border-radius:12px;padding:20px}.privacy-settings h3{color:var(--ink-100);font-family:var(--font-display);margin:0 0 8px;font-size:1.2rem}.privacy-settings p{color:var(--ink-500);margin:0;line-height:1.6}.legal-link-row{flex-wrap:wrap;gap:10px 18px;margin-top:16px;display:flex}.legal-link-row a,.site-footer a,.legal-shell a{color:#8fd3ca;text-underline-offset:3px}.account-danger-zone{background:#6023221f;border:1px solid #c96a6161;border-radius:12px;justify-content:space-between;align-items:center;gap:22px;margin-top:18px;padding:20px;display:flex}.account-danger-zone p{margin-top:6px}.delete-all-confirmation{width:min(430px,100%)}.delete-all-confirmation .form-field{margin-top:0}.site-footer{border-top:1px solid var(--campaign-accent);justify-content:space-between;align-items:center;gap:28px;max-width:1180px;margin:34px auto 0;padding:22px 0 28px;display:flex}@supports (color:color-mix(in lab, red, red)){.site-footer{border-top:1px solid color-mix(in srgb, var(--campaign-accent) 22%, transparent)}}.site-footer{color:var(--ink-500);font-size:.75rem;line-height:1.5}.site-footer p{max-width:760px;margin:0}.site-footer nav,.legal-header nav,.legal-footer{white-space:nowrap;gap:18px;display:flex}.legal-shell{background:radial-gradient(circle at 50% 0,#194c6245,#0000 34%),linear-gradient(#07111f,#050d18);min-height:100svh;padding:0 24px 48px}.legal-header{border-bottom:1px solid #d7a34a38;justify-content:space-between;align-items:center;gap:24px;max-width:1050px;min-height:76px;margin:0 auto;display:flex}.legal-brand{color:var(--ink-100);text-decoration:none}.legal-header nav a{color:var(--ink-500);text-decoration:none}.legal-header nav a[aria-current=page]{color:var(--gold-300)}.legal-document{max-width:820px;margin:58px auto 0}.legal-title{border-bottom:1px solid #d7a34a52;padding-bottom:32px}.legal-title h1{font-family:var(--font-display);margin:8px 0 10px;font-size:clamp(2.8rem,8vw,4.8rem);font-weight:500;line-height:1}.legal-title p,.legal-document section p,.legal-document section li{color:var(--ink-300);line-height:1.75}.legal-title p{color:var(--ink-500);margin:0}.legal-document section{border-bottom:1px solid #26445aa6;padding:28px 0}.legal-document h2{color:var(--ink-100);font-family:var(--font-display);margin:0 0 12px;font-size:1.55rem;font-weight:500}.legal-document section p{margin:10px 0 0}.legal-document ul{margin:10px 0 0;padding-left:22px}.legal-document li+li{margin-top:8px}.legal-document strong{color:var(--ink-100)}.legal-footer{justify-content:space-between;max-width:820px;margin:28px auto 0;font-size:.86rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sync-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--campaign-vitality) 60%, transparent)}to{box-shadow:0 0 0 12px #0000}}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drawer-enter{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=1199px){.app-header{grid-template-columns:auto 1fr auto}.primary-nav{justify-content:center;gap:18px}.party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-card,.character-card.card-4,.character-card.card-5{grid-column:span 1}.character-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 6px)}}@media (width<=900px){.brand-name{display:none}.app-header{grid-template-columns:auto 1fr auto}.campaign-band{flex-direction:column;align-items:flex-start}.campaign-actions{justify-content:space-between;width:100%}.campaign-action-buttons{width:100%}.add-character-button,.campaign-action-buttons .sync-button{flex:1}.theme-grid{grid-template-columns:1fr}.theme-grid .upload-field,.theme-grid .text-theme-field,.theme-grid .color-theme-field{grid-column:auto}.color-theme-field small{min-height:0}.site-footer{margin-inline:24px}}@media (width<=700px){.app-header{padding:0 16px}.primary-nav{justify-content:flex-start;gap:4px;overflow-x:auto}.nav-item{min-width:62px;font-size:.8rem}.dm-identity>span:not(.dm-avatar){display:none}.campaign-band{min-height:0;padding:22px 16px}.campaign-picker{font-size:2.05rem}.campaign-actions{flex-direction:column;align-items:stretch;gap:14px}.sync-button{width:100%}.party-grid{grid-template-columns:1fr;padding:0 10px 12px}.character-card,.character-card.card-4,.character-card.card-5,.character-card:last-child:nth-child(odd){grid-column:auto;width:100%;min-height:286px}.empty-party{grid-column:1/-1}.portrait-wrap{flex-basis:34%;width:34%}.character-data{width:66%}.character-detail-content{padding:14px}.character-detail-tabs{padding:0 10px}.campaign-library{grid-template-columns:1fr}.panel-heading{flex-direction:column;align-items:flex-start}.create-campaign-control{width:100%}.create-campaign-control input{width:100%;min-width:0}.management-panel{margin:14px 10px 0;padding:22px}.display-manager{text-align:left}.share-link-box{flex-direction:column;align-items:stretch}.privacy-settings-grid{grid-template-columns:1fr}.account-danger-zone,.site-footer{flex-direction:column;align-items:flex-start}.site-footer{margin-inline:16px}.legal-shell{padding-inline:18px}.legal-header{min-height:68px}.legal-document{margin-top:38px}.legal-footer{flex-direction:column}}@media (width<=450px){.app-header{min-height:64px}.observatory-mark{width:34px;height:34px}.character-card{padding-top:0;display:block}.character-card-summary{min-height:398px;padding-top:112px;display:block}.portrait-wrap{width:112px;height:112px;min-height:112px;position:absolute;top:0;left:0}.portrait-wrap:after{background:linear-gradient(90deg,#0000 60%,#101f32c7)}.character-data{width:100%;padding:12px;position:static}.character-heading{position:absolute;top:18px;left:126px;right:12px}.manage-card .character-heading{padding-right:0;right:48px}.character-heading h2{font-size:1.42rem}.character-detail-tab{padding:0 12px;font-size:.88rem}.saving-throw-grid,.sense-list,.spell-name-group ul,.skill-grid{grid-template-columns:1fr}.resource-row{flex-wrap:wrap}.form-grid,.condition-picker-grid{grid-template-columns:1fr}.ability-edit-grid{grid-template-columns:repeat(3,1fr)}.character-drawer{padding:22px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.launch-shell{--launch-gold:#d7a34a;--launch-gold-soft:#f0c36a;--launch-teal:#67c4bb;--launch-paper:#f1e7d4;--launch-muted:#9aabb9;isolation:isolate;min-height:100svh;color:var(--launch-paper);scroll-behavior:smooth;background:radial-gradient(circle at 82% 15%,#1b586a2e,#0000 28%),radial-gradient(circle at 14% 41%,#405e6d12,#0000 30%),linear-gradient(#06101d 0%,#081522 46%,#050d17 100%);position:relative;overflow:hidden}.launch-shell:before{content:"";z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(90deg,#80b2c106 0 1px,#0000 1px 80px),repeating-linear-gradient(0deg,#80b2c104 0 1px,#0000 1px 80px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 68%);mask-image:linear-gradient(#000 0%,#0000 68%)}.launch-stars{z-index:-1;pointer-events:none;opacity:.75;background-image:radial-gradient(circle at 7% 12%,#f0c36aeb 0 1px,#0000 1.5px),radial-gradient(circle at 18% 33%,#b2e3e48f 0 1px,#0000 1.5px),radial-gradient(circle at 31% 9%,#f0c36a94 0 1px,#0000 1.5px),radial-gradient(circle at 50% 22%,#b2e3e4b8 0 1px,#0000 1.5px),radial-gradient(circle at 68% 7%,#f0c36ab3 0 1px,#0000 1.5px),radial-gradient(circle at 88% 26%,#b2e3e49e 0 1px,#0000 1.5px),radial-gradient(circle at 95% 9%,#f0c36a8c 0 1px,#0000 1.5px),radial-gradient(circle at 76% 47%,#b2e3e466 0 1px,#0000 1.5px);position:absolute;inset:76px 0 0}.launch-header{border-bottom:1px solid #d7a34a36;grid-template-columns:1fr auto 1fr;align-items:center;gap:34px;width:min(1460px,100% - 56px);height:86px;margin:0 auto;display:grid}.launch-brand{color:#ead8b6;font-family:var(--font-display);white-space:nowrap;align-items:center;gap:14px;font-size:1.35rem;font-weight:600;text-decoration:none;display:inline-flex}.launch-mark{width:42px;height:42px;color:var(--launch-gold-soft);border:1px solid #d7a34a94;border-radius:50%;flex:0 0 42px;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 5px #07111fc7,0 0 20px #d7a34a14}.launch-mark:before,.launch-mark:after{content:"";border:1px solid #d7a34a57;border-radius:50%;position:absolute;inset:7px -7px}.launch-mark:after{transform:rotate(62deg)}.launch-mark span{font-size:17px}.launch-mark-small{flex-basis:30px;width:30px;height:30px}.launch-mark-small:before,.launch-mark-small:after{inset:5px -5px}.launch-mark-small span{font-size:12px}.launch-header>nav{align-items:center;gap:36px;height:100%;display:flex}.launch-header>nav a{height:100%;color:var(--launch-muted);letter-spacing:.04em;place-items:center;font-size:.86rem;text-decoration:none;transition:color .16s;display:grid;position:relative}.launch-header>nav a:after{content:"";background:var(--launch-gold);height:1px;transition:transform .16s;position:absolute;bottom:-1px;left:16%;right:16%;transform:scaleX(0)}.launch-header>nav a:hover,.launch-header>nav a:focus-visible{color:var(--launch-paper)}.launch-header>nav a:hover:after{transform:scaleX(1)}.launch-header-badge{color:#a9babf;letter-spacing:.1em;text-transform:uppercase;background:#0a1d2c94;border:1px solid #5eb6ad3b;border-radius:99px;justify-self:end;align-items:center;gap:9px;padding:9px 13px;font-size:.73rem;display:inline-flex}.launch-header-badge i,.launch-kicker i,.launch-frame-status i,.launch-current i{background:var(--launch-teal);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 10px #67c4bbcc}.launch-hero{grid-template-columns:minmax(410px,.82fr) minmax(620px,1.18fr);align-items:center;gap:clamp(48px,6vw,108px);width:min(1460px,100% - 56px);min-height:790px;margin:0 auto;padding:92px 0 104px;display:grid}.launch-hero-copy{z-index:2;position:relative}.launch-kicker,.launch-section-number,.launch-micro-label{color:var(--launch-teal);letter-spacing:.21em;text-transform:uppercase;font-size:.7rem;font-weight:650}.launch-kicker{align-items:center;gap:11px;display:inline-flex}.launch-hero h1{font-family:var(--font-display);letter-spacing:-.045em;margin:22px 0 24px;font-size:clamp(4.2rem,6.4vw,7.1rem);font-weight:500;line-height:.9}.launch-hero h1 em{color:#ddb369;font-weight:400}.launch-hero-copy>p{color:#a8b4bd;max-width:620px;margin:0;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.8}.launch-actions{align-items:center;gap:22px;margin-top:34px;display:flex}.launch-primary-button{color:#f3e7d1;min-height:50px;font-family:var(--font-display);background:linear-gradient(#7e521970,#2d1f10c2);border:1px solid #deac55d1;border-radius:8px;justify-content:center;align-items:center;gap:20px;padding:0 21px;font-size:1.05rem;text-decoration:none;transition:transform .16s,filter .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 0 0 3px #d7a34a0d,0 14px 30px #0003}.launch-primary-button:hover,.launch-primary-button:focus-visible{filter:brightness(1.1);transform:translateY(-2px);box-shadow:inset 0 0 0 3px #d7a34a12,0 18px 36px #00000047}.launch-primary-button span{color:var(--launch-gold-soft)}.launch-quiet-note{color:#778996;font-size:.78rem;line-height:1.5}.launch-highlights{border-top:1px solid #7397a72e;grid-template-columns:repeat(3,1fr);gap:0;margin:62px 0 0;display:grid}.launch-highlights>div{padding:19px 16px 0 0}.launch-highlights>div+div{border-left:1px solid #7397a72e;padding-left:22px}.launch-highlights dt{color:#d9c7a7;font-family:var(--font-display);margin-bottom:5px;font-size:1rem}.launch-highlights dd{color:#778996;margin:0;font-size:.72rem;line-height:1.4}.launch-hero-visual{perspective:1500px;min-width:0;position:relative}.launch-orbit{z-index:-1;pointer-events:none;border:1px solid #6093a41a;border-radius:50%;position:absolute}.launch-orbit:before,.launch-orbit:after{content:"";border-radius:inherit;border:1px solid #d7a34a14;position:absolute;inset:11%}.launch-orbit:after{inset:27%}.launch-orbit-one{width:690px;height:690px;top:-150px;right:-150px}.launch-orbit-two{width:350px;height:350px;bottom:-80px;left:-120px}.launch-product-frame{transform-origin:0;background:#07121ff7;border:1px solid #d7a34a5c;border-radius:14px;animation:.7s cubic-bezier(.18,.8,.2,1) both launch-frame-enter;position:relative;overflow:hidden;transform:rotateY(-3deg)rotateX(1deg);box-shadow:0 40px 90px #00000075,0 0 70px #1d556514}.launch-frame-bar{background:#040d18fa;border-bottom:1px solid #d7a34a40;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:54px;padding:0 17px;display:grid}.launch-frame-brand{color:#e5d0ac;font-family:var(--font-display);align-items:center;gap:10px;font-size:.98rem;display:flex}.launch-frame-status{color:#8597a3;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:7px;font-size:.61rem;display:flex}.launch-frame-link{color:#81919b;justify-self:end;font-size:.68rem}.launch-campaign-row{background:radial-gradient(circle at 52% 90%,#5eb6ad0f,#0000 44%);border-bottom:1px solid #4260705c;justify-content:space-between;align-items:center;gap:20px;min-height:112px;padding:19px 21px;display:flex}.launch-campaign-row h2{font-family:var(--font-display);margin:5px 0 1px;font-size:clamp(1.65rem,2.4vw,2.35rem);font-weight:500;line-height:1}.launch-campaign-row p{color:#7e919f;font-family:var(--font-display);margin:7px 0 0;font-size:.84rem}.launch-current{color:#9daab0;white-space:nowrap;align-items:center;gap:8px;font-size:.68rem;display:inline-flex}.launch-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:10px;display:grid}.launch-character-card{background:linear-gradient(#101f32fa,#081625fa);border:1px solid #d7a34a66;border-radius:10px;min-width:0;min-height:255px;display:flex;position:relative;overflow:hidden}.launch-portrait{background:#0a1826;flex:0 0 42%;width:42%;position:relative;overflow:hidden}.launch-portrait img{object-fit:cover;object-position:50% 24%;filter:saturate(.8)contrast(1.03)}.launch-portrait:after{content:"";background:linear-gradient(90deg,#0000 35%,#101f322e 62%,#101f32fa 100%),linear-gradient(#0000 53%,#081625c7);position:absolute;inset:0}.launch-character-data{z-index:1;width:58%;min-width:0;padding:13px 12px 12px 2px;position:relative}.launch-character-heading{border-bottom:1px solid #d7a34a3b;justify-content:space-between;gap:6px;min-height:62px;padding-bottom:9px;display:flex}.launch-character-heading h3,.launch-detail-person h3{color:#edddc1;font-family:var(--font-display);margin:0;font-weight:600}.launch-character-heading h3{font-size:clamp(.92rem,1.25vw,1.22rem);line-height:1.05}.launch-character-heading p,.launch-detail-person p{color:#8193a1;margin:5px 0 0}.launch-character-heading p{font-family:var(--font-display);font-size:.69rem}.launch-ac{color:#ead4ab;width:34px;height:39px;font-family:var(--font-display);clip-path:polygon(50% 0,93% 19%,84% 82%,50% 100%,16% 82%,7% 19%);background:linear-gradient(#d7a34a38,#0d1c2bcc);flex-direction:column;flex:0 0 34px;justify-content:center;align-items:center;font-size:1rem;line-height:.95;display:flex}.launch-ac small{font-family:var(--font-ui);margin-bottom:2px;font-size:.43rem}.launch-hp-row{margin:13px 0 6px}.launch-hp-row strong{color:var(--launch-teal);font-family:var(--font-display);font-size:1.35rem;font-weight:500}.launch-hp-row span{color:#8999a3;font-size:.61rem}.launch-concentration{color:#9cd3cd;letter-spacing:.08em;text-transform:uppercase;border:1px solid #67c4bb4d;border-radius:99px;margin:-2px 0 6px;padding:3px 7px;font-size:.47rem;display:inline-block}.launch-hp-track{background:#030b14cc;border:1px solid #799aa64d;border-radius:99px;height:5px;overflow:hidden}.launch-hp-track span{border-radius:inherit;background:linear-gradient(90deg,#5eb6ad,#8ed2ca);height:100%;display:block;box-shadow:0 0 8px #5eb6ad66}.launch-abilities{border-top:1px solid #d7a34a33;grid-template-columns:repeat(3,1fr);gap:8px 4px;margin-top:13px;padding-top:11px;display:grid}.launch-abilities>span{color:#d7d6d0;font-family:var(--font-display);flex-direction:column;align-items:center;gap:2px;font-size:.75rem;display:flex}.launch-abilities small{color:#6d818f;font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;font-size:.42rem}.launch-preview-caption{color:#778995;align-items:center;gap:13px;width:min(360px,70%);margin:19px 8px 0 auto;font-size:.72rem;display:flex}.launch-preview-caption span{color:var(--launch-gold);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;font-size:.63rem;font-weight:650}.launch-preview-caption p{margin:0}.launch-intro{border-top:1px solid #d7a34a3d;grid-template-columns:1.2fr .8fr;gap:clamp(70px,11vw,180px);width:min(1280px,100% - 56px);margin:0 auto;padding:128px 0 80px;display:grid}.launch-intro h2,.launch-showcase h2,.launch-status-heading h2,.launch-final-callout h2{font-family:var(--font-display);letter-spacing:-.025em;font-weight:500}.launch-intro h2{margin:20px 0 0;font-size:clamp(3rem,5vw,5.6rem);line-height:.98}.launch-intro>p{color:#9baab4;align-self:end;margin:0 0 4px;font-size:1.02rem;line-height:1.85}.launch-section-number{color:var(--launch-gold)}.launch-feature-grid{border-top:1px solid #5eb6ad2e;border-left:1px solid #5eb6ad2e;grid-template-columns:repeat(2,1fr);width:min(1280px,100% - 56px);margin:0 auto;display:grid}.launch-feature-grid article{background:linear-gradient(145deg,#0e223385,#07121f38);border-bottom:1px solid #5eb6ad2e;border-right:1px solid #5eb6ad2e;min-height:310px;padding:44px 48px 48px;transition:background .2s;position:relative}.launch-feature-grid article:hover{background:linear-gradient(145deg,#122b3ead,#0917266b)}.launch-feature-number{color:#d7a34a40;font-family:var(--font-display);font-size:3.4rem;position:absolute;top:27px;right:31px}.launch-feature-grid h3{color:#eee1ca;max-width:420px;font-family:var(--font-display);margin:18px 0 16px;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:500;line-height:1.05}.launch-feature-grid p{color:#8fa0ab;max-width:500px;margin:0;line-height:1.75}.launch-showcase{grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(60px,10vw,150px);width:min(1280px,100% - 56px);margin:0 auto;padding:160px 0;display:grid}.launch-showcase h2{margin:20px 0 25px;font-size:clamp(3rem,5vw,5.3rem);line-height:.98}.launch-showcase-copy>p{color:#96a6b0;max-width:540px;margin:0;line-height:1.8}.launch-showcase-copy ul{margin:33px 0 0;padding:0;list-style:none}.launch-showcase-copy li{color:#bdc6c8;border-bottom:1px solid #688f9f29;padding:13px 0}.launch-showcase-copy li span{color:var(--launch-gold);margin-right:11px;display:inline-block}.launch-detail-preview{background:radial-gradient(circle at 89% 12%,#5eb6ad17,#0000 29%),linear-gradient(#112436f2,#071422fa);border:1px solid #d7a34a5c;border-radius:14px;padding:28px;position:relative;box-shadow:0 34px 80px #00000061}.launch-detail-preview:before{content:"";z-index:-1;border:1px solid #5eb6ad14;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-120px;right:-120px}.launch-detail-topline{color:#728692;justify-content:space-between;gap:20px;font-size:.68rem;display:flex}.launch-detail-person{grid-template-columns:72px 1fr auto;align-items:center;gap:17px;padding:25px 0 23px;display:grid}.launch-detail-person img{object-fit:cover;object-position:50% 24%;border:1px solid #d7a34a6b;border-radius:50%;width:72px;height:72px}.launch-detail-person h3{font-size:2rem}.launch-detail-person p{font-size:.82rem}.launch-detail-level{color:#9ccdc8;border:1px solid #5eb6ad47;border-radius:99px;padding:8px 12px;font-size:.7rem}.launch-detail-tabs{border-bottom:1px solid #5b7e8d4d;grid-template-columns:repeat(3,1fr);display:grid}.launch-detail-tabs span{color:#788b97;text-align:center;padding:13px 4px;font-size:.72rem;position:relative}.launch-detail-tabs span.active{color:#d9e0de}.launch-detail-tabs span.active:after{content:"";background:var(--launch-gold);height:1px;position:absolute;bottom:-1px;left:15%;right:15%}.launch-save-grid{grid-template-columns:repeat(6,1fr);gap:9px;padding:25px 0;display:grid}.launch-save-grid>div{background:#05111d80;border:1px solid #4d6f7f57;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:68px;display:flex}.launch-save-grid>div.proficient{background:#d7a34a0e;border-color:#d7a34a66}.launch-save-grid small{color:#6d8391;letter-spacing:.11em;font-size:.58rem}.launch-save-grid strong{color:#dde0da;font-family:var(--font-display);font-size:1.2rem}.launch-save-grid .proficient strong{color:#e1bf7c}.launch-spell-preview{border-top:1px solid #5b7e8d3d;padding-top:21px}.launch-spell-preview>div{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.launch-spell-preview>div span{color:#aebdbe;font-family:var(--font-display);background:#5eb6ad0a;border:1px solid #5eb6ad33;border-radius:6px;padding:7px 10px;font-size:.8rem}.launch-status-section{border-top:1px solid #d7a34a38;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,10vw,150px);width:min(1280px,100% - 56px);margin:0 auto;padding:124px 0;display:grid}.launch-status-heading h2{margin:20px 0 0;font-size:clamp(3rem,5vw,5.2rem);line-height:.98}.launch-roadmap>div{border-bottom:1px solid #65899733;grid-template-columns:48px 1fr auto;align-items:center;gap:22px;min-height:118px;padding:21px 0;display:grid}.launch-roadmap>div>span{color:#617783;font-family:var(--font-display);font-size:1.3rem}.launch-roadmap strong{color:#dfd6c6;font-family:var(--font-display);font-size:1.25rem;font-weight:500}.launch-roadmap p{color:#7f929e;max-width:550px;margin:6px 0 0;font-size:.83rem;line-height:1.55}.launch-roadmap b{color:#6f858f;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;border:1px solid #5eb6ad29;border-radius:99px;padding:7px 10px;font-size:.61rem;font-weight:600}.launch-roadmap .complete>span,.launch-roadmap .complete b{color:#83b8b2}.launch-roadmap .active{position:relative}.launch-roadmap .active:before{content:"";background:var(--launch-gold);border-radius:50%;width:4px;height:4px;position:absolute;left:-17px;box-shadow:0 0 12px #d7a34acc}.launch-roadmap .active>span,.launch-roadmap .active b{color:#ddb369}.launch-final-callout{text-align:center;background:radial-gradient(circle at 50% 42%,#225f6d33,#0000 35%),linear-gradient(#0d1f2fd1,#06111de6);border:1px solid #d7a34a47;border-radius:18px;flex-direction:column;align-items:center;width:min(1280px,100% - 56px);margin:60px auto 0;padding:115px 32px 124px;display:flex;position:relative;overflow:hidden}.launch-final-callout:before,.launch-final-callout:after{content:"";border:1px solid #5eb6ad0f;border-radius:50%;width:560px;height:560px;position:absolute}.launch-final-callout:before{top:-250px;left:-300px}.launch-final-callout:after{bottom:-250px;right:-300px}.launch-final-callout .launch-mark{margin-bottom:24px}.launch-final-callout h2{margin:19px 0 21px;font-size:clamp(3.3rem,6vw,6.3rem);line-height:.9}.launch-final-callout p{color:#91a2ac;max-width:580px;margin:0;line-height:1.75}.launch-final-callout>a{color:#e0c28a;font-family:var(--font-display);margin-top:29px;font-size:1rem;text-decoration:none}.launch-final-callout>a span{color:var(--launch-teal);margin-left:8px}.launch-footer{border-top:1px solid #d7a34a33;grid-template-columns:auto 1fr auto;align-items:center;gap:50px;width:min(1460px,100% - 56px);min-height:132px;margin:80px auto 0;display:grid}.launch-footer .launch-brand{font-size:1rem}.launch-footer p{color:#697c87;text-align:center;justify-self:center;max-width:710px;margin:0;font-size:.68rem;line-height:1.55}.launch-footer nav{gap:18px;display:flex}.launch-footer nav a{color:#8ea0aa;font-size:.72rem;text-decoration:none}.launch-footer nav a:hover,.launch-footer nav a:focus-visible{color:var(--launch-paper)}@keyframes launch-frame-enter{0%{opacity:0;transform:translateY(20px)rotateY(-5deg)rotateX(2deg)}to{opacity:1;transform:translateY(0)rotateY(-3deg)rotateX(1deg)}}@media (width<=1180px){.launch-hero{grid-template-columns:1fr;padding-top:78px}.launch-hero-copy{max-width:840px}.launch-hero h1{font-size:clamp(4.6rem,10vw,7.4rem)}.launch-hero-visual{width:min(940px,100%);margin-left:auto}.launch-product-frame{transform:none}.launch-intro,.launch-showcase,.launch-status-section{grid-template-columns:1fr;gap:55px}.launch-intro>p{max-width:700px}.launch-showcase-copy{max-width:760px}.launch-detail-preview{width:min(820px,100%)}}@media (width<=780px){.launch-header,.launch-hero,.launch-intro,.launch-feature-grid,.launch-showcase,.launch-status-section,.launch-final-callout,.launch-footer{width:min(100% - 32px,1280px)}.launch-header{grid-template-columns:1fr auto;height:76px}.launch-header>nav{display:none}.launch-brand{font-size:1.05rem}.launch-header-badge{padding:8px 10px;font-size:.6rem}.launch-hero{gap:64px;min-height:auto;padding:72px 0 94px}.launch-hero h1{font-size:clamp(3.55rem,15vw,5.3rem)}.launch-actions{flex-direction:column;align-items:flex-start}.launch-highlights{grid-template-columns:1fr;margin-top:48px}.launch-highlights>div,.launch-highlights>div+div{border-bottom:1px solid #7397a726;border-left:0;padding:15px 0}.launch-product-frame{box-shadow:none;background:0 0;border:0;overflow:visible}.launch-frame-bar,.launch-campaign-row{border-left:1px solid #d7a34a57;border-right:1px solid #d7a34a57}.launch-frame-bar{border-top:1px solid #d7a34a57;border-radius:10px 10px 0 0}.launch-campaign-row{flex-direction:column;align-items:flex-start}.launch-preview-grid{grid-template-columns:1fr;padding:9px 0 0}.launch-character-card{min-height:230px}.launch-character-heading h3{font-size:1.35rem}.launch-character-data{padding-left:4px}.launch-intro{padding-top:92px}.launch-intro h2,.launch-showcase h2,.launch-status-heading h2{font-size:clamp(2.8rem,12vw,4.3rem)}.launch-feature-grid{grid-template-columns:1fr}.launch-feature-grid article{min-height:280px;padding:40px 28px}.launch-showcase{padding:110px 0}.launch-detail-preview{padding:22px 18px}.launch-detail-person{grid-template-columns:62px 1fr}.launch-detail-person img{width:62px;height:62px}.launch-detail-level{display:none}.launch-detail-tabs{overflow-x:auto}.launch-detail-tabs span{min-width:105px}.launch-save-grid{grid-template-columns:repeat(3,1fr)}.launch-status-section{padding:95px 0}.launch-roadmap>div{grid-template-columns:36px 1fr}.launch-roadmap b{grid-column:2;justify-self:start}.launch-final-callout{padding:90px 20px 96px}.launch-final-callout h2{font-size:clamp(3rem,14vw,5rem)}.launch-footer{text-align:center;grid-template-columns:1fr;gap:24px;padding:40px 0}.launch-footer .launch-brand,.launch-footer nav{justify-self:center}}@media (width<=430px){.launch-header-badge{background:var(--launch-teal);border:0;width:9px;height:9px;padding:0;overflow:hidden;box-shadow:0 0 12px #67c4bbb3}.launch-header-badge i,.launch-frame-status,.launch-frame-link{display:none}.launch-frame-bar{grid-template-columns:1fr}.launch-preview-caption{width:100%;margin-right:0}}
