@font-face{font-family:Modesto Condensed;src:url(/fonts/modesto-condensed/modesto-condensed.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Modesto Condensed;src:url(/fonts/modesto-condensed/modesto-condensed-bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{--cc-primary:#b9a987;--cc-primary-dark:#b9a987;--cc-slate:#5a6268;--cc-muted:#73777b;--cc-main-bg:#f8f9fa;--cc-main-text:#2a2a2a;--cc-prose-text:#404448;--cc-card-bg:#fff;--cc-border:#e1e4e7;--cc-rule:#cfd3d6;--cc-control-border:#c7cbce;--cc-surface-muted:#f0f1f2;--cc-pill-bg:#e9e9e9;--cc-blockquote-text:#555b60;--cc-code-bg:#eef0f1;--cc-prose-callout-bg:#f2f0e9;--cc-prose-callout-border:#9c8c6d;--cc-table-stripe:#2a2a2a09;--cc-search-highlight:#f2d98e;--cc-sidebar-bg:#2a2a2a;--cc-sidebar-text:#fff;--cc-accent:#b9a987;--cc-accent-30:#b9a9874d;--cc-accent-10:#b9a9871a;--cc-success:#28a745;--cc-shadow:0 2px 10px #0000001f;--cc-heading:"Modesto Condensed", serif;--cc-body:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme]){--cc-slate:#bac0c4;--cc-muted:#a6abad;--cc-main-bg:#181a1b;--cc-main-text:#f0f1f2;--cc-prose-text:#d7dadd;--cc-card-bg:#232526;--cc-border:#3b3f42;--cc-rule:#484d50;--cc-control-border:#53585b;--cc-surface-muted:#2b2e30;--cc-pill-bg:#303335;--cc-blockquote-text:#c4c8cb;--cc-code-bg:#111314;--cc-prose-callout-bg:#292925;--cc-prose-callout-border:#b9a987;--cc-table-stripe:#ffffff09;--cc-search-highlight:#62531f;--cc-success:#45c96d;--cc-shadow:0 2px 12px #00000061;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--cc-slate:#bac0c4;--cc-muted:#a6abad;--cc-main-bg:#181a1b;--cc-main-text:#f0f1f2;--cc-prose-text:#d7dadd;--cc-card-bg:#232526;--cc-border:#3b3f42;--cc-rule:#484d50;--cc-control-border:#53585b;--cc-surface-muted:#2b2e30;--cc-pill-bg:#303335;--cc-blockquote-text:#c4c8cb;--cc-code-bg:#111314;--cc-prose-callout-bg:#292925;--cc-prose-callout-border:#b9a987;--cc-table-stripe:#ffffff09;--cc-search-highlight:#62531f;--cc-success:#45c96d;--cc-shadow:0 2px 12px #00000061;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;min-height:100%;margin:0}body{background:var(--cc-main-bg);color:var(--cc-main-text);font:16px var(--cc-body)}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cc-accent);outline-offset:2px}.app-shell{height:100dvh;min-height:100vh;overflow:hidden}.topbar{background:var(--cc-sidebar-bg);border-bottom:3px solid var(--cc-primary);color:var(--cc-sidebar-text);z-index:20;grid-template-columns:280px minmax(280px,680px) 1fr;align-items:center;gap:26px;height:76px;padding:0 24px;display:grid;position:sticky;top:0}.brand{align-items:baseline;gap:11px;min-width:0;display:flex}.brand>strong{color:#fff;font-family:var(--cc-heading);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;font-size:24px;font-weight:800;line-height:1}.brand>small{border-left:1px solid var(--cc-accent);color:var(--cc-accent);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;padding-left:11px;font-size:10px;font-weight:700}.search{background:var(--cc-accent-10);border-bottom:1px solid var(--cc-accent-30);color:var(--cc-accent);align-items:center;gap:10px;width:100%;height:42px;padding:0 13px;display:flex}.search>svg{flex:none;width:18px;height:18px}.search input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px}.search input::placeholder{color:#b9b9b9}.search-clear{color:#aaa;cursor:pointer;background:0 0;border:0;align-items:center;padding:3px;display:flex}.search-clear:hover{color:#fff}.search-clear svg{width:16px;height:16px}.header-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.header-action{color:#d0d0d0;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;min-height:38px;padding:0 3px;font-size:12px;display:inline-flex}.header-action:hover{color:var(--cc-accent)}.header-action.danger:hover{color:#ff839e}.header-action svg{width:17px;height:17px}.header-action.theme-toggle{justify-content:center;min-width:28px;padding:0}.header-action.icon-only{border-left:1px solid var(--cc-accent-30);padding-left:15px}.mobile-panel-bar,.mobile-panel-backdrop{display:none}.workspace{grid-template-columns:280px minmax(540px,1fr) 320px;height:calc(100dvh - 76px);min-height:0;display:grid}.library{background:var(--cc-sidebar-bg);box-shadow:var(--cc-shadow);color:var(--cc-sidebar-text);overscroll-behavior:contain;scrollbar-gutter:stable;z-index:2;flex-direction:column;min-width:0;height:100%;padding:20px 15px 16px;display:flex;overflow-y:auto}.campaign-picker{border-bottom:1px solid var(--cc-accent-30);grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;padding:4px 9px 18px;display:grid}.campaign-picker label{flex-direction:column;min-width:0;display:flex}.campaign-picker small,.eyebrow{color:var(--cc-accent);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.world-select{color:#fff;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:8px;min-width:0;margin-top:5px;display:grid;position:relative}.world-select .world-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:600;display:block;overflow:hidden}.world-select>svg{color:#ddd;width:16px;height:16px}.world-select select{appearance:none;cursor:pointer;opacity:0;background:0 0;border:0;outline:0;width:100%;position:absolute;inset:0}.eyebrow{margin:26px 9px 9px}.sidebar-mode-heading{justify-content:space-between;align-items:center;margin:26px 9px 9px;display:flex}.sidebar-mode-heading>small{color:#999;font-size:10px}.sidebar-mode-select{color:var(--cc-accent);grid-template-columns:auto 14px;align-items:center;display:inline-grid;position:relative}.sidebar-mode-select select{appearance:none;color:inherit;cursor:pointer;letter-spacing:.14em;text-transform:uppercase;background:0 0;border:0;outline:0;grid-area:1/1/auto/-1;padding:4px 20px 4px 0;font-size:10px;font-weight:700}.sidebar-mode-select option{background:var(--cc-sidebar-bg);color:#fff;letter-spacing:normal;text-transform:none;font-size:13px}.sidebar-mode-select svg{pointer-events:none;grid-area:1/2;width:14px;height:14px}.entry-types{display:block}.sidebar-type{margin:2px 0}.entry-types .sidebar-type-toggle{color:#ededed;cursor:pointer;text-align:left;background:0 0;border:0;border-left:2px solid #0000;grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;min-height:40px;margin:2px 0;padding:9px 10px;font-size:14px;display:grid}.entry-types a.sidebar-type-toggle{text-decoration:none}.entry-types .sidebar-type-toggle:hover,.entry-types .sidebar-type-toggle.active,.sidebar-sheet:hover,.sidebar-sheet.active{background:var(--cc-accent-10);border-left-color:var(--cc-accent);color:var(--cc-accent)}.entry-types .sidebar-type-toggle small{color:#a7a7a7;font-size:11px}.sidebar-type-content{padding:3px 0 10px 10px}.sidebar-label-group{margin:2px 0 8px}.sidebar-label-group>h3{color:#f0f0f0;margin:8px 10px 4px;font-size:12px;font-weight:700}.sidebar-sheet{color:#dedede;cursor:pointer;text-align:left;background:0 0;border:0;border-left:2px solid #0000;flex-direction:column;gap:3px;width:100%;min-height:38px;margin:2px 0;padding:9px 10px;font-size:13px;display:flex}.sidebar-sheet>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-sheet>small{color:#999;letter-spacing:.04em;text-transform:uppercase;font-size:9px}.player-nav a.sidebar-sheet{text-decoration:none}.sidebar-folder{margin:2px 0}.sidebar-folder summary{color:#cfcfcf;cursor:pointer;grid-template-columns:15px minmax(0,1fr) auto;align-items:center;gap:5px;padding:7px 8px 5px 5px;font-size:12px;list-style:none;display:grid}.sidebar-folder summary::-webkit-details-marker{display:none}.sidebar-folder summary svg{width:14px;height:14px;transition:transform .15s;transform:rotate(-90deg)}.sidebar-folder[open]>summary svg{transform:rotate(0)}.sidebar-folder summary small{color:#888;font-size:9px}.sidebar-folder-contents{border-left:1px solid var(--cc-accent-30);margin-left:11px;padding-left:5px}.no-results{color:#aaa;margin:14px 10px;font-size:12px;line-height:1.55}.empty-campaign{color:#b7b7b7;padding:22px 9px;font-size:13px;line-height:1.65}.document{background:var(--cc-main-bg);overscroll-behavior:contain;scrollbar-gutter:stable;min-width:0;height:100%;padding:38px clamp(36px,4.5vw,86px) 52px;overflow-y:auto}.breadcrumbs{color:var(--cc-muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;display:flex}.breadcrumbs .current{color:var(--cc-main-text)}.breadcrumb-pair{align-items:center;gap:9px;display:inline-flex}.document-heading{justify-content:space-between;align-items:center;gap:32px;margin-top:38px;padding-bottom:20px;display:flex}.document-title{min-width:0}.document-title h1{border-bottom:3px solid var(--cc-primary);color:var(--cc-main-text);font-family:var(--cc-heading);letter-spacing:.025em;text-transform:uppercase;margin:0;padding-bottom:9px;font-size:clamp(42px,4vw,58px);font-weight:800;line-height:.98;display:inline-block}.document-title p{color:var(--cc-accent);letter-spacing:.035em;text-transform:uppercase;margin:12px 0 0;font-size:17px;font-weight:800}.located-path{color:var(--cc-muted);flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:15px;font-size:11px;display:flex}.located-path>span{color:var(--cc-accent);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:750}.located-path>div{flex-wrap:wrap;align-items:baseline;gap:7px;display:flex}.located-path b{color:var(--cc-accent);font-weight:500}.located-path .current{color:var(--cc-main-text);font-weight:700}.document-thumbnail{aspect-ratio:1;background:var(--cc-sidebar-bg);cursor:zoom-in;border:0;flex:0 0 150px;width:150px;height:150px;padding:0;overflow:hidden}.document-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.document-thumbnail.unpublished{cursor:default}.document-toolbar{justify-content:flex-end;padding-top:10px;display:flex}.document-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.visibility-controls{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.visibility-controls button{border:1px solid var(--cc-rule);color:var(--cc-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:16px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.visibility-controls button:hover{border-color:var(--cc-primary);color:var(--cc-primary)}.visibility-controls button>span{background:#9ca2a7;border-radius:50%;width:7px;height:7px}.visibility-controls button.visible{border-color:color-mix(in srgb, var(--cc-success) 45%, #fff);color:var(--cc-success)}.visibility-controls button.visible>span{background:var(--cc-success)}.visibility-controls button:disabled{cursor:not-allowed;opacity:.55}.primary-button,.secondary-button{cursor:pointer;border-radius:8px;min-height:30px;padding:0 16px;font-size:13px;font-weight:700}.primary-button{background:var(--cc-primary);border:1px solid var(--cc-primary);color:#fff}.primary-button:hover{background:var(--cc-primary-dark)}.secondary-button{background:var(--cc-card-bg);border:1px solid var(--cc-control-border);color:var(--cc-main-text)}.tab-bar{border-bottom:1px solid var(--cc-border);gap:28px;margin-top:18px;display:flex;overflow:auto hidden}.tab-bar button{color:var(--cc-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 0 14px;font-size:13px}.tab-bar button.active{border-bottom-color:var(--cc-primary);color:var(--cc-primary);font-weight:700}.lock{background:var(--cc-pill-bg);color:var(--cc-muted);border-radius:10px;margin-left:6px;padding:2px 7px;font-size:9px}.document-image{justify-content:center;max-width:900px;margin:32px auto 8px;display:flex}.document-image img{object-fit:contain;max-width:100%;height:auto;max-height:520px;display:block}.document-image.unpublished img{aspect-ratio:16/9;object-fit:cover;width:100%;max-height:480px}.player-document-image{margin-bottom:36px}.prose,.player-prose{color:var(--cc-prose-text);font-size:16px;line-height:1.75}.prose{max-width:900px;margin:40px auto 58px}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6,.player-prose h1,.player-prose h2,.player-prose h3,.player-prose h4,.player-prose h5,.player-prose h6{color:var(--cc-main-text);font-family:var(--cc-heading);letter-spacing:.035em;text-transform:uppercase;font-weight:800;line-height:1.15}.prose h1,.player-prose h1{border-bottom:2px solid var(--cc-accent);margin:38px 0 16px;padding-bottom:7px;font-size:32px}.prose h2,.player-prose h2{border-bottom:1px solid var(--cc-accent);margin:36px 0 14px;padding-bottom:7px;font-size:24px}.prose h3,.player-prose h3{margin-top:28px;font-size:20px}.prose h4,.player-prose h4{margin:24px 0 10px;font-size:18px}.prose h5,.prose h6,.player-prose h5,.player-prose h6{margin:20px 0 8px;font-size:16px}.prose a,.player-prose a{border-bottom:1px solid var(--cc-primary);color:var(--cc-primary);font-weight:650}.cc-foundry-link{color:var(--cc-primary);white-space:nowrap;font-weight:650}.cc-foundry-link:before{content:"↗";margin-right:.28em;font-family:sans-serif;font-size:.72em;font-weight:800;display:inline-block;transform:translateY(-.08em)}.prose img,.player-prose img{max-width:100%;height:auto}.hub-prose img:not(.cc-image-placeholder),.player-prose img:not(.cc-image-placeholder){cursor:zoom-in}.prose .cc-image-placeholder,.player-prose .cc-image-placeholder{aspect-ratio:16/9;background:var(--cc-sidebar-bg);border:1px solid var(--cc-accent-30);object-fit:cover;width:100%;max-height:480px;display:block}.prose table,.player-prose table{background:var(--cc-card-bg);border-collapse:collapse;width:max-content;max-width:100%;margin:1rem 0;display:block;overflow-x:auto}.prose th,.prose td,.player-prose th,.player-prose td{border:1px solid var(--cc-border);padding:9px 12px}.prose tbody tr:nth-child(2n),.player-prose tbody tr:nth-child(2n){background:var(--cc-table-stripe)}.prose blockquote,.player-prose blockquote{border-left:3px solid var(--cc-accent);color:var(--cc-blockquote-text);margin:30px 0;padding:4px 0 4px 20px;font-style:italic}.cc-hidden-link,.cc-foundry-only-image{color:var(--cc-muted);font-style:italic}.search-highlight{background:var(--cc-search-highlight);color:inherit;padding:0 .04em}:is(.hub-prose,.player-prose,.rich-editor.prose){--dnd5e-block-width-base:120px;--dnd5e-block-float-max:min(45%, 360px);--dnd5e-block-background:var(--cc-prose-callout-bg);--dnd5e-block-border-color:var(--cc-prose-callout-border);--dnd5e-block-header-font:var(--cc-heading)}:is(.hub-prose,.player-prose,.rich-editor.prose) p{margin:.5rem 0}:is(.hub-prose,.player-prose,.rich-editor.prose) p:empty{min-height:1rem}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(ul,ol){margin:1rem 0;padding-left:1.5em}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(ul,ol) li{margin-bottom:.25rem}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(ul,ol) li:last-child{margin-bottom:0}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(ul,ol) :is(ul,ol){margin-top:.25rem}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(ul.plain,ol.plain){margin:0;padding:0;list-style:none}:is(.hub-prose,.player-prose,.rich-editor.prose) hr{border:0;border-top:1px solid var(--cc-accent);clear:both;height:1px;margin:1.5rem 0}:is(.hub-prose,.player-prose,.rich-editor.prose) code{background:var(--cc-code-bg);border:1px solid var(--cc-border);border-radius:3px;padding:1px .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}:is(.hub-prose,.player-prose,.rich-editor.prose) pre{background:var(--cc-code-bg);border:1px solid var(--cc-border);border-radius:3px;padding:.75rem 1rem;overflow-x:auto}:is(.hub-prose,.player-prose,.rich-editor.prose) pre code{white-space:pre-wrap;background:0 0;border:0;padding:0}:is(.hub-prose,.player-prose,.rich-editor.prose) figure{width:100%;max-width:100%;margin:1rem 0}:is(.hub-prose,.player-prose,.rich-editor.prose) figure>img{clear:both;margin:0 auto;display:block}:is(.hub-prose,.player-prose,.rich-editor.prose) figcaption{color:var(--cc-muted);text-align:center;margin-top:.65rem;font-style:italic}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(figure,img).left{clear:left;float:left;max-width:30%;margin:0 1rem 1rem 0}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(figure,img).right{clear:right;float:right;max-width:30%;margin:0 0 1rem 1rem}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(figure,img).centered{margin-left:auto;margin-right:auto;display:block}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(figure,img).noborder{box-shadow:none;border:0}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(.content-link,.inline-roll,.roll-link){background:var(--cc-surface-muted);border:1px solid var(--cc-control-border);color:var(--cc-main-text);white-space:nowrap;word-break:normal;border-radius:2px;margin:-1px 0;padding:1px 4px;font-weight:600;display:inline}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(.content-link,.inline-roll,.roll-link)>i{color:var(--cc-primary);margin-right:.25em;font-size:.8em}:is(.hub-prose,.player-prose,.rich-editor.prose) section.secret{background:color-mix(in srgb, var(--cc-primary) 7%, var(--cc-card-bg));border-color:var(--cc-prose-callout-border);border-style:solid;border-width:1px 0;padding:0 8px}:is(.hub-prose,.player-prose,.rich-editor.prose) section.secret.revealed{background:color-mix(in srgb, var(--cc-success) 7%, var(--cc-card-bg))}:is(.hub-prose,.player-prose,.rich-editor.prose) .float-left{clear:left;float:left;max-width:var(--dnd5e-block-float-max);margin-right:.5em}:is(.hub-prose,.player-prose,.rich-editor.prose) .float-right{clear:right;float:right;max-width:var(--dnd5e-block-float-max);margin-left:.5em}:is(.hub-prose,.player-prose,.rich-editor.prose) .float-clear{clear:both}:is(.hub-prose,.player-prose,.rich-editor.prose) .margin-center{margin-left:auto;margin-right:auto}:is(.hub-prose,.player-prose,.rich-editor.prose) .size-one{width:min(100%, var(--dnd5e-block-width-base))}:is(.hub-prose,.player-prose,.rich-editor.prose) .size-two{width:min(100%, calc(2 * var(--dnd5e-block-width-base)))}:is(.hub-prose,.player-prose,.rich-editor.prose) .size-three{width:min(100%, calc(3 * var(--dnd5e-block-width-base)))}:is(.hub-prose,.player-prose,.rich-editor.prose) .size-four{width:min(100%, calc(4 * var(--dnd5e-block-width-base)))}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(.flex-between,.flex-around){clear:both;flex-direction:row;justify-content:space-between;align-items:center;display:flex}:is(.hub-prose,.player-prose,.rich-editor.prose) .flex-around{justify-content:space-around;gap:10px}:is(.hub-prose,.player-prose,.rich-editor.prose) .flex-wrap{flex-wrap:wrap}:is(.hub-prose,.player-prose,.rich-editor.prose) .align-start{align-items:flex-start}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(.notable,.quest,.advice,.narrative){display:flow-root}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(.notable,.quest,.advice,.narrative) :is(h1,h2,h3,h4,h5){font-family:var(--dnd5e-block-header-font);font-variant:small-caps;border:0;margin-top:0;padding-bottom:0;font-weight:700}:is(.hub-prose,.player-prose,.rich-editor.prose) .notable{background:var(--dnd5e-block-background);border-color:var(--dnd5e-block-border-color);border-style:solid;border-width:3px 1px;margin:1.4em;padding:1.4em;position:relative;box-shadow:0 5px 12px #0000001f}:is(.hub-prose,.player-prose,.rich-editor.prose) .notable>:first-child{margin-block-start:0}:is(.hub-prose,.player-prose,.rich-editor.prose) .notable>:last-child{margin-block-end:0}:is(.hub-prose,.player-prose,.rich-editor.prose) .narrative{--dot-size:.6em;--offset:calc(var(--dot-size) / -2);background:var(--dnd5e-block-background);border-left:1px solid var(--dnd5e-block-border-color);border-right:1px solid var(--dnd5e-block-border-color);text-align:justify;margin:1.5em 1em;padding:1em 1.5em;position:relative}:is(.hub-prose,.player-prose,.rich-editor.prose) .narrative:before,:is(.hub-prose,.player-prose,.rich-editor.prose) .narrative:after,:is(.hub-prose,.player-prose,.rich-editor.prose) .narrative>:last-child:before,:is(.hub-prose,.player-prose,.rich-editor.prose) .narrative>:last-child:after{background:var(--dnd5e-block-border-color);content:"";height:var(--dot-size);width:var(--dot-size);border-radius:50%;display:block;position:absolute}:is(.hub-prose,.player-prose,.rich-editor.prose) .narrative:before{left:var(--offset);top:var(--offset)}:is(.hub-prose,.player-prose,.rich-editor.prose) .narrative:after{right:var(--offset);top:var(--offset)}:is(.hub-prose,.player-prose,.rich-editor.prose) .narrative>:last-child:before{bottom:var(--offset);left:var(--offset)}:is(.hub-prose,.player-prose,.rich-editor.prose) .narrative>:last-child:after{bottom:var(--offset);right:var(--offset)}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(.quest,.advice){--img-size:64px;background:var(--dnd5e-block-background);border:2px solid var(--dnd5e-block-border-color);margin:1rem 1rem 1rem calc(var(--img-size) / 2);padding:.75rem .75rem .75rem calc(var(--img-size) / 2 + .75rem);position:relative;box-shadow:1px 3px 5px #0000001f}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(.quest,.advice)>figure{height:var(--img-size);left:calc(var(--img-size) / -2);top:calc(50% - var(--img-size) / 2);width:var(--img-size);margin:0;position:absolute}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(.quest,.advice)>figure img{box-shadow:none;border:0;width:100%;height:100%}:is(.hub-prose,.player-prose,.rich-editor.prose) :is(.quest,.advice)>figure img.round{background:var(--cc-card-bg);border:4px solid var(--dnd5e-block-border-color);border-radius:50%;box-shadow:0 0 4px #0000004d}:is(.hub-prose,.player-prose,.rich-editor.prose) .item-entry-details .item-entry-tag{font-style:italic}:is(.hub-prose,.player-prose,.rich-editor.prose) .item-entry-details .item-entry-specifics :is(dt,dd){display:inline}:is(.hub-prose,.player-prose,.rich-editor.prose) .item-entry-details .item-entry-specifics dt{color:inherit;text-shadow:none;font-weight:700}:is(.hub-prose,.player-prose,.rich-editor.prose) .item-entry-details .item-entry-specifics dt:after{content:": "}:is(.hub-prose,.player-prose,.rich-editor.prose) .item-entry-details .item-entry-specifics dd{margin-inline-start:0}:is(.hub-prose,.player-prose,.rich-editor.prose) .habitat-treasure{background:var(--cc-prose-callout-bg);border-top:1px solid var(--cc-prose-callout-border);padding:2px;display:table}:is(.hub-prose,.player-prose,.rich-editor.prose) .quote-lg{background:var(--cc-prose-callout-bg);border:2px solid var(--cc-prose-callout-border);box-sizing:border-box;break-inside:avoid;color:var(--cc-prose-text);inline-size:min(50%,34rem);text-wrap:pretty;border-radius:1.25em;min-width:min(280px,100%);margin:1.5em auto;padding:1em 1.5em;font-size:.9em;display:grid}:is(.hub-prose,.player-prose,.rich-editor.prose) .quote-lg>p{margin:0 10%}:is(.hub-prose,.player-prose,.rich-editor.prose) .quote-lg .quote-author{text-align:end;text-indent:1em;justify-self:end;margin-inline-start:20%}.context-panel{background:var(--cc-main-bg);border-left:1px solid var(--cc-border);overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;padding:40px 24px;overflow-y:auto}.context-panel section{margin-bottom:25px;padding-bottom:25px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-heading h2,.player-related h2{font-family:var(--cc-heading);letter-spacing:.055em;text-transform:uppercase;margin:0;font-size:18px;font-weight:800}.section-heading>span{color:var(--cc-muted);font-size:11px}.relation-groups details{border-top:1px solid var(--cc-border)}.relation-groups details:last-child{border-bottom:1px solid var(--cc-border)}.relation-groups summary{color:var(--cc-primary);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;grid-template-columns:1fr auto 16px;align-items:center;gap:7px;padding:11px 0;font-size:11px;font-weight:700;list-style:none;display:grid}.relation-groups summary::-webkit-details-marker{display:none}.relation-groups summary small{color:var(--cc-muted);font-size:10px}.relation-groups summary svg{width:15px;height:15px;transition:transform .16s}.relation-groups details[open] summary svg{transform:rotate(180deg)}.relation-card{border:0;border-top:1px solid var(--cc-border);color:inherit;cursor:pointer;text-align:left;background:0 0;width:100%;padding:11px 7px;display:block}.relation-card:hover{color:var(--cc-primary)}.relation-card strong,.relation-card small{display:block}.relation-card strong{font-size:14px}.relation-card small{color:var(--cc-muted);margin-top:3px;font-size:11px}.no-relations{color:var(--cc-muted);font-size:12px}.hierarchy-card{border-bottom:1px solid var(--cc-border)}.hierarchy-groups .relation-card small{text-transform:none}.tags{flex-wrap:wrap;gap:10px;display:flex}.tags span{color:var(--cc-primary);font-size:12px}.tags span:before{color:var(--cc-accent);content:"#"}.document-tags button{color:var(--cc-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:12px}.document-tags button:before{color:var(--cc-accent);content:"#"}.document-tags button:hover,.document-tags button.active{color:var(--cc-accent);text-underline-offset:3px;text-decoration:underline}.world-tags-card{border-top:1px solid var(--cc-border);padding-top:18px}.world-tags{flex-wrap:wrap;gap:7px;display:flex}.world-tags button{background:var(--cc-surface-muted);border:1px solid var(--cc-border);color:var(--cc-main-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;display:inline-flex}.world-tags button span:before{color:var(--cc-accent);content:"#"}.world-tags button small{color:var(--cc-muted);font-size:9px}.world-tags button:hover,.world-tags button.active{background:var(--cc-accent-10);border-color:var(--cc-accent);color:var(--cc-primary)}.context-panel section.sync-card{border-bottom:1px solid var(--cc-border);border-top:2px solid var(--cc-primary);padding:17px 0 22px}.sync-card p{color:var(--cc-muted);font-size:12px;line-height:1.6}.storage-card{border-top:2px solid var(--cc-primary);padding-top:10px}.storage-usage>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.storage-usage span,.storage-usage small{color:var(--cc-muted);font-size:10px}.storage-usage strong{color:var(--cc-main-text);font-size:11px}.storage-usage progress,.admin-storage-progress{accent-color:var(--cc-primary);width:100%;height:7px;margin:8px 0 6px;display:block}.admin-storage-progress{max-width:180px}.online{font-weight:700;color:var(--cc-success)!important}.hub-message{color:var(--cc-accent);margin:0;padding:9px 12px;font-size:13px}.hub-editor{max-width:960px;margin:32px auto}.editor-toolbar{background:var(--cc-surface-muted);border:1px solid var(--cc-rule);border-bottom:0;flex-wrap:wrap;align-items:center;gap:4px;padding:7px;display:flex}.editor-toolbar button,.editor-toolbar select{background:var(--cc-card-bg);border:1px solid var(--cc-control-border);color:var(--cc-main-text);cursor:pointer;border-radius:2px;height:32px;padding:0 10px;font-size:12px}.editor-toolbar button:hover,.editor-toolbar select:hover{border-color:var(--cc-primary);color:var(--cc-primary)}.editor-toolbar button:focus-visible,.editor-toolbar select:focus-visible{z-index:1;position:relative}.editor-toolbar .toolbar-spacer{flex:1}.editor-mode-switch{display:flex}.editor-mode-switch button{border-radius:0}.editor-mode-switch button+button{border-left:0}.editor-mode-switch button.active{background:var(--cc-primary);border-color:var(--cc-primary);color:#fff}.prosemirror-mount{margin:0}.rich-editor.prose{background:var(--cc-card-bg);border:1px solid var(--cc-rule);overflow-wrap:break-word;white-space:pre-wrap;outline:0;max-width:none;min-height:480px;margin:0;padding:28px 34px 44px}.rich-editor.prose:focus{border-color:var(--cc-accent);box-shadow:inset 0 0 0 1px var(--cc-accent)}.rich-editor.prose>:first-child{margin-top:0}.rich-editor.prose pre{white-space:pre-wrap}.rich-editor.prose .ProseMirror-selectednode{outline:2px solid var(--cc-accent);outline-offset:2px}.rich-editor.prose .cc-foundry-link{cursor:default;-webkit-user-select:all;user-select:all}.rich-editor.prose table{border-collapse:collapse;table-layout:fixed;width:100%;margin:1em 0}.rich-editor.prose td,.rich-editor.prose th{border:1px solid var(--cc-rule);vertical-align:top;min-width:2em;padding:.45em .6em;position:relative}.rich-editor.prose th{background:color-mix(in srgb, var(--cc-accent) 10%, var(--cc-card-bg));font-weight:700}.rich-editor.prose .selectedCell:after{background:color-mix(in srgb, var(--cc-primary) 14%, transparent);content:"";pointer-events:none;z-index:2;position:absolute;inset:0}.html-editor{background:var(--cc-card-bg);border:1px solid var(--cc-rule);color:var(--cc-main-text);resize:vertical;tab-size:2;outline:0;width:100%;min-height:480px;padding:24px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.55;display:block}.html-editor:focus{border-color:var(--cc-accent);box-shadow:inset 0 0 0 1px var(--cc-accent)}.editor-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.hub-empty{text-align:center;max-width:580px;margin:16vh auto}.hub-empty h1{font-family:var(--cc-heading);letter-spacing:.04em;text-transform:uppercase;font-size:36px;font-weight:800}.hub-empty p,.player-empty{color:var(--cc-muted);font-size:14px;line-height:1.7}.hub-empty .hub-message{text-align:left;margin-left:auto;margin-right:auto}.modal-backdrop{z-index:100;background:#101010b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.image-lightbox{z-index:120;background:#080808eb;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.image-lightbox>section{justify-content:center;align-items:center;width:100%;max-width:min(1500px,100%);height:100%;max-height:100%;display:flex;position:relative}.image-lightbox img{object-fit:contain;max-width:100%;max-height:100%;display:block}.image-lightbox button{color:#fff;cursor:pointer;z-index:2;background:#191919cc;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:0;right:0}.image-lightbox button:hover{background:var(--cc-primary)}.image-lightbox button svg{width:20px;height:20px}.image-lightbox button span{font-size:28px;line-height:1}.confirm-dialog{background:var(--cc-card-bg);border-top:4px solid var(--cc-primary);width:100%;max-width:540px;padding:30px 34px 32px;box-shadow:0 18px 60px #00000059}.confirm-dialog>span{color:var(--cc-primary);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.confirm-dialog h2{font-family:var(--cc-heading);letter-spacing:.025em;text-transform:uppercase;margin:9px 0 20px;font-size:31px;line-height:1.05}.confirm-dialog p{color:var(--cc-slate);margin:0 0 12px;font-size:14px;line-height:1.65}.confirm-dialog>div{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.danger-button{background:var(--cc-primary);border:1px solid var(--cc-primary);color:#fff;cursor:pointer;border-radius:3px;min-height:40px;padding:0 16px;font-size:13px;font-weight:700}.danger-button:hover{background:var(--cc-primary-dark)}.danger-button:disabled{cursor:wait;opacity:.65}.auth-screen{background:linear-gradient(115deg, #8b15381a, transparent 42%), var(--cc-sidebar-bg);border-top:5px solid var(--cc-primary);color:#fff;justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.auth-screen>p{color:#c9c9c9;font-size:15px}.auth-screen section{border-left:2px solid var(--cc-accent);width:100%;max-width:600px;padding:15px 0 18px 38px}.auth-screen section>span{color:var(--cc-accent);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700}.auth-screen h1{font-family:var(--cc-heading);letter-spacing:.035em;text-transform:uppercase;margin:12px 0 20px;font-size:clamp(52px,7vw,76px);font-weight:800;line-height:1}.auth-screen section>p{color:#d0d0d0;max-width:560px;margin:0 0 30px;font-size:17px;line-height:1.65}.auth-screen .primary-button{min-height:46px;padding:0 21px;font-size:14px}.player-view{background:var(--cc-main-bg);height:100dvh;min-height:100vh;overflow:hidden}.player-header{background:var(--cc-sidebar-bg);border-bottom:3px solid var(--cc-primary);color:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 28px;display:flex}.player-header>div{align-items:baseline;gap:16px;display:flex}.player-header span{color:var(--cc-accent);letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:700}.player-header strong{font-family:var(--cc-heading);letter-spacing:.04em;text-transform:uppercase;font-size:25px;font-weight:800}.player-header small{color:#bcbcbc;font-size:12px}.player-layout{grid-template-columns:280px minmax(500px,1fr) 300px;height:calc(100dvh - 76px);min-height:0;display:grid}.player-nav{background:var(--cc-sidebar-bg);color:#fff;overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;padding:25px 17px;overflow-y:auto}.player-nav>p{color:var(--cc-accent);letter-spacing:.15em;text-transform:uppercase;margin:0 9px 22px;font-size:10px;font-weight:700}.player-sidebar-mode{margin-top:0}.player-nav>.entry-types>.sidebar-type{border-top:1px solid var(--cc-accent-30);padding:8px 0}.player-nav .sidebar-sheet{color:#e0e0e0;display:flex}.player-nav .sidebar-sheet:hover,.player-nav .sidebar-sheet.active{color:var(--cc-accent)}.player-document{overscroll-behavior:contain;scrollbar-gutter:stable;min-width:0;height:100%;padding:38px clamp(38px,5vw,90px) 52px;overflow-y:auto}.player-document-heading{margin-bottom:34px}.player-page{max-width:900px;margin:0 auto 42px;scroll-margin-top:24px}.player-page>h2,.player-related h2{border-bottom:1px solid var(--cc-accent);padding-bottom:7px}.player-related{border-left:1px solid var(--cc-border);overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;padding:48px 24px;overflow-y:auto}.player-related a{border-bottom:1px solid var(--cc-border);padding:12px 0;display:block}.player-related a:hover{color:var(--cc-primary)}.player-related strong,.player-related small{display:block}.player-related strong{font-size:14px}.player-related small,.player-related p{color:var(--cc-muted);margin-top:3px;font-size:12px}.player-relation-groups{margin-top:12px}.player-related .player-relation-groups a.relation-card{border-bottom:0;padding:11px 7px}.player-hierarchy{margin-bottom:32px}.player-related .hierarchy-groups{margin-top:12px}.player-related .hierarchy-groups a.relation-card{border-bottom:0;padding:11px 7px}.player-tags{border-top:1px solid var(--cc-border);margin-top:30px;padding-top:18px}.admin-shell{background:var(--cc-main-bg);min-height:100vh}.admin-shell>header{background:var(--cc-sidebar-bg);border-bottom:3px solid var(--cc-primary);color:#fff;align-items:center;gap:20px;height:70px;padding:0 30px;display:flex}.admin-shell>header a:first-child{font-family:var(--cc-heading);letter-spacing:.05em;text-transform:uppercase;font-size:22px;font-weight:800}.admin-shell>header span{color:var(--cc-accent);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.admin-shell>header a:last-child{color:silver;margin-left:auto;font-size:12px}.admin-content{max-width:1440px;margin:0 auto;padding:42px 30px 76px}.admin-heading{justify-content:space-between;align-items:flex-end;gap:26px;display:flex}.admin-heading span{color:var(--cc-primary);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.admin-heading h1{font-family:var(--cc-heading);letter-spacing:.035em;text-transform:uppercase;margin:7px 0 0;font-size:44px;font-weight:800}.admin-heading input{background:var(--cc-card-bg);border:1px solid var(--cc-rule);color:var(--cc-main-text);min-width:300px;padding:11px 13px}.admin-feedback{background:var(--cc-accent-10);border-left:3px solid var(--cc-accent);color:var(--cc-main-text);margin:22px 0 -10px;padding:10px 13px;font-size:13px}.admin-metrics{border-bottom:1px solid var(--cc-border);border-top:1px solid var(--cc-border);grid-template-columns:repeat(4,1fr);margin:32px 0 42px;display:grid}.admin-metrics>div{border-right:1px solid var(--cc-border);flex-direction:column;padding:21px 24px;display:flex}.admin-metrics>div:first-child{padding-left:0}.admin-metrics>div:last-child{border:0}.admin-metrics small{color:var(--cc-primary);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.admin-metrics strong{margin-top:6px;font-size:30px}.admin-metrics span{color:var(--cc-muted);font-size:11px}.admin-table-wrap{margin-top:40px;overflow-x:auto}.admin-table-wrap h2{border-bottom:2px solid var(--cc-primary);font-family:var(--cc-heading);letter-spacing:.05em;text-transform:uppercase;margin:0 0 16px;padding-bottom:6px;font-size:23px;font-weight:800;display:inline-block}.admin-table-wrap table{background:var(--cc-card-bg);border-collapse:collapse;width:100%;min-width:920px}.admin-table-wrap th{color:var(--cc-accent);letter-spacing:.1em;text-align:left;text-transform:uppercase;background:#303030;padding:13px 15px;font-size:10px}.admin-table-wrap td{border-bottom:1px solid var(--cc-border);color:var(--cc-slate);vertical-align:top;padding:15px;font-size:13px}.admin-table-wrap td strong,.admin-table-wrap td small{display:block}.admin-table-wrap td strong{color:var(--cc-main-text);font-size:14px}.admin-table-wrap td small{color:var(--cc-muted);margin-top:3px;font-size:11px}.admin-active,.admin-inactive{letter-spacing:.07em;text-transform:uppercase;margin-top:5px;font-size:10px;font-weight:700;display:inline-block}.admin-active{color:var(--cc-success)}.admin-inactive{color:var(--cc-primary)}.admin-action-button{background:var(--cc-card-bg);border:1px solid var(--cc-control-border);color:var(--cc-main-text);cursor:pointer;white-space:nowrap;border-radius:3px;min-height:32px;padding:0 10px;font-size:11px;font-weight:700}.admin-action-button:hover{border-color:var(--cc-primary);color:var(--cc-primary)}.admin-action-button.danger{border-color:color-mix(in srgb, #b22b42 55%, var(--cc-control-border));color:#b22b42}.admin-action-button.danger:hover{color:#fff;background:#b22b42;border-color:#b22b42}.admin-action-button:disabled{cursor:not-allowed;opacity:.48}.admin-loading,.admin-error{max-width:560px;margin:20vh auto;padding:28px}.admin-error p{color:var(--cc-muted);margin-bottom:26px}@media (max-width:1240px){.workspace{grid-template-columns:260px minmax(0,1fr)}.context-panel{display:none}.topbar{grid-template-columns:260px minmax(260px,1fr) auto}.header-action span{display:none}.header-action{justify-content:center;min-width:32px}.player-layout{grid-template-columns:260px minmax(0,1fr)}.player-related{display:none}}@media (max-width:780px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:14px;height:68px;padding:0 16px}.brand>strong{font-size:20px}.brand>small,.search{display:none}.app-shell{height:auto;min-height:100vh;overflow:visible}.mobile-panel-bar{border-bottom:1px solid var(--cc-accent-30);color:#fff;z-index:35;background:#343434;grid-template-columns:repeat(2,minmax(0,1fr));height:48px;display:grid;position:sticky;top:68px}.mobile-panel-bar button{border:0;border-right:1px solid var(--cc-accent-30);color:#ddd;cursor:pointer;letter-spacing:.035em;background:0 0;justify-content:center;align-items:center;gap:8px;min-width:0;padding:0 12px;font-size:12px;font-weight:700;display:flex}.mobile-panel-bar button:last-child{border-right:0}.mobile-panel-bar button[aria-expanded=true]{background:var(--cc-primary);color:#fff}.mobile-panel-bar svg{width:17px;height:17px}.mobile-panel-bar small{background:#ffffff1f;border-radius:999px;padding:2px 6px;font-size:9px}.mobile-panel-backdrop{z-index:29;background:#0000008c;border:0;padding:0;display:block;position:fixed;inset:116px 0 0}.workspace{height:auto;min-height:calc(100vh - 116px);display:block}.library{z-index:30;width:min(88vw,360px);max-width:360px;height:auto;padding:18px 15px 24px;transition:transform .18s;display:flex;position:fixed;top:116px;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:6px 0 24px #00000047}.library.mobile-open{transform:translate(0)}.campaign-picker{padding-bottom:13px}.entry-types,.entry-types .eyebrow{display:block}.entry-types .sidebar-type-toggle{border-left:2px solid #0000;grid-template-columns:1fr auto}.entry-types .sidebar-type-toggle:hover,.entry-types .sidebar-type-toggle.active{border-left-color:var(--cc-accent)}.document{height:auto;padding:28px 20px 46px;overflow:visible}.document-heading{flex-direction:column;align-items:flex-start;margin-top:28px}.document-thumbnail{flex-basis:130px;width:130px;height:130px}.document-actions{justify-content:flex-start}.document-title h1{font-size:clamp(36px,12vw,48px)}.document-toolbar{justify-content:flex-start}.tab-bar{gap:21px}.prose,.player-prose{font-size:15px}.auth-screen{align-items:flex-start;padding:18vh 24px 30px}.auth-screen section{padding-left:24px}.auth-screen h1{font-size:52px}.auth-screen section>p{font-size:15px}.player-header{z-index:40;height:auto;min-height:72px;padding:14px 17px;position:sticky;top:0}.player-header>div{flex-direction:column;align-items:flex-start;gap:3px}.player-header span,.player-header small{display:none}.player-header strong{font-size:21px}.player-view{height:auto;min-height:100vh;overflow:visible}.player-mobile-panel-bar{top:72px}.player-layout{height:auto;min-height:calc(100vh - 120px);display:block}.player-nav{z-index:30;width:min(88vw,360px);max-width:360px;height:auto;max-height:none;padding:22px 15px;transition:transform .18s;position:fixed;top:120px;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:6px 0 24px #00000047}.player-nav.mobile-open{transform:translate(0)}.player-nav>p{margin-bottom:14px}.player-document{height:auto;padding:35px 20px;overflow:visible}.context-panel,.player-related{z-index:30;border-left:0;width:min(88vw,380px);max-width:380px;height:auto;padding:28px 20px;transition:transform .18s;display:block;position:fixed;top:116px;bottom:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-6px 0 24px #0003}.context-panel.mobile-open,.player-related.mobile-open{transform:translate(0)}.player-related{background:var(--cc-main-bg);border-left:0;top:120px}.player-view>.mobile-panel-backdrop{top:120px}.admin-content{padding:30px 17px 54px}.admin-heading{flex-direction:column;align-items:stretch}.admin-heading input{width:100%;min-width:0}.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-metrics>div:nth-child(2){border-right:0}.admin-metrics>div:first-child{padding-left:24px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
