:root{--measure-reading: 34em;--teal-hover: #2F9AA3;--dmock-bg: #313338;--dmock-embed: #2B2D31;--dmock-text: #DBDEE1;--dmock-name: #F2F3F5;--dmock-muted: #949BA4;--dmock-bot: #5865F2;--dmock-bot-text: #FFFFFF;--dmock-link: #00A8FC}.modal-box.cool-paper-surface .btn-ghost,:is(#tab-compendium,#tab-chronicle2,#tab-party2,#tab-quests2,#tab-atlas2,#tab-threads) .btn-ghost{border-radius:0}.modal-box.cool-paper-surface .btn-danger,.modal-box.cool-paper-surface .btn-new.btn-new--danger,.modal-box.cool-paper-surface .btn-ghost.btn-ghost--danger,:is(#tab-compendium,#tab-chronicle2,#tab-party2,#tab-quests2,#tab-atlas2,#tab-threads) .btn-new.btn-new--danger,:is(#tab-compendium,#tab-chronicle2,#tab-party2,#tab-quests2,#tab-atlas2,#tab-threads) .btn-ghost.btn-ghost--danger{border-radius:0;color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 45%,var(--paper-edge))}.modal-box.cool-paper-surface .btn-danger:hover,.modal-box.cool-paper-surface .btn-new.btn-new--danger:hover,.modal-box.cool-paper-surface .btn-ghost.btn-ghost--danger:hover,:is(#tab-compendium,#tab-chronicle2,#tab-party2,#tab-quests2,#tab-atlas2,#tab-threads) .btn-new.btn-new--danger:hover,:is(#tab-compendium,#tab-chronicle2,#tab-party2,#tab-quests2,#tab-atlas2,#tab-threads) .btn-ghost.btn-ghost--danger:hover{background:color-mix(in srgb,var(--color-danger) 10%,var(--paper-2));border-color:var(--color-danger);color:var(--color-danger)}.modal-box.cool-paper-surface .btn-new.btn-xs,.modal-box.cool-paper-surface .btn-ghost.btn-xs,:is(#tab-compendium,#tab-chronicle2,#tab-party2,#tab-quests2,#tab-atlas2,#tab-threads) .btn-new.btn-xs,:is(#tab-compendium,#tab-chronicle2,#tab-party2,#tab-quests2,#tab-atlas2,#tab-threads) .btn-ghost.btn-xs{padding:4px 10px;letter-spacing:.1em}.modal-box.cool-paper-surface .btn-new:disabled,.modal-box.cool-paper-surface .btn-ghost:disabled,:is(#tab-compendium,#tab-chronicle2,#tab-party2,#tab-quests2,#tab-atlas2,#tab-threads) .btn-new:disabled,:is(#tab-compendium,#tab-chronicle2,#tab-party2,#tab-quests2,#tab-atlas2,#tab-threads) .btn-ghost:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}:is(#join-campaign-modal,#session-delete-modal,#camp-delete-modal) .modal-body :is(.login-input,.login-error){margin-bottom:0}:is(#session-delete-modal,#camp-delete-modal,#confirm-modal) .modal-body .camp-delete-warning{margin-bottom:0}#archivist-import-modal .modal-body .form-actions{margin:var(--space-4) -28px -22px;padding:16px 28px 22px;border-top:1px solid var(--rule, var(--border));background:color-mix(in srgb,var(--ink, var(--text-1)) 2%,var(--paper, var(--bg)))}.tf-danger-zone{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.tf-danger-zone--row{flex-direction:row;align-items:center;justify-content:flex-end;margin-top:var(--space-2)}.pref-toggle input:focus-visible+.pref-toggle-track{outline:2px solid var(--accent-teal);outline-offset:1px}#tab-codex2,#tab-chronicle2,.cool-paper-surface{--ent-spell: #2D6DA0;--ent-deity: #7E3FA0}[data-theme=dark] #tab-codex2,[data-theme=dark] #tab-chronicle2,[data-theme=dark] .cool-paper-surface{--ent-spell: #6FA3D4;--ent-deity: #B07FD6}.tf-dmock{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--dmock-bg);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);max-width:var(--measure-reading);text-align:left}.tf-dmock-avatar{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--teal-hover);color:var(--dmock-name);display:flex;align-items:center;justify-content:center}.tf-dmock-avatar svg{width:20px;height:20px}.tf-dmock-body{flex:1;min-width:0}.tf-dmock-hdr{display:flex;align-items:baseline;gap:var(--space-2)}.tf-dmock-name{color:var(--dmock-name);font-weight:600;font-size:var(--font-size-base)}.tf-dmock-bot{background:var(--dmock-bot);color:var(--dmock-bot-text);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.03em;border-radius:var(--radius-sm);padding:1px 5px;align-self:center}.tf-dmock-time{color:var(--dmock-muted);font-size:var(--font-size-xs)}.tf-dmock-text{color:var(--dmock-text);font-size:var(--font-size-sm);line-height:1.55;margin-top:2px;overflow-wrap:break-word}.tf-dmock-embed{margin-top:var(--space-2);border-left:4px solid var(--teal-hover);background:var(--dmock-embed);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.tf-dmock-embed-title{color:var(--dmock-link);font-size:var(--font-size-sm);font-weight:600}.tf-dpitch{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);background:var(--bg-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.tf-dpitch-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}#discord-tier-upsell{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) 0}#discord-tier-upsell.hidden,#manage-discord-section.is-tier-locked .manage-form-row--discord-publish{display:none}#manage-discord-section:not(.discord-advanced-open) .manage-form-row--discord-advanced{display:none}.vw-cover-latest{max-width:1052px;margin:8px 0 56px}.vw-cover-latest .index-feature{margin-bottom:0}.live-voices-strip{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.live-voices-hdr{display:flex;align-items:center;gap:var(--space-2)}.live-voices-title{flex:1;margin:0}.live-voices-body{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-1)}.live-voices-body.hidden{display:none}.lv-row{display:grid;grid-template-columns:8px 80px 14px 1fr 68px;align-items:center;gap:var(--space-2);height:24px;transition:opacity .4s ease}.lv-row--stale{opacity:.6}.lv-dot{width:7px;height:7px;border-radius:50%;background:var(--spk-color, var(--text-3))}.lv-name{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lv-glyph{display:flex;align-items:center;width:14px;height:14px;color:var(--spk-color, var(--text-3))}.lv-glyph svg{width:12px;height:12px}.lv-track{position:relative;height:8px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--color-border) 45%,transparent)}.lv-bar{display:block;height:100%;border-radius:999px;background:var(--spk-color, var(--text-3));transition:width .45s ease-out}.lv-row--unmapped .lv-bar{background:transparent;border:1px dashed var(--text-3)}.lv-none,.lv-snip{font-size:var(--font-size-xs);color:var(--text-3)}.lv-none{font-style:italic}.lv-snip{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lv-gm{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--text-3)}.lv-placeholder{margin:var(--space-1) 0 0}@media (max-width: 360px){.lv-row{grid-template-columns:8px 80px 14px 1fr}.lv-snip{display:none}}.lv-vitals-away-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;padding:0;border:none;background:transparent;border-radius:var(--radius-sm, 4px);color:var(--color-text-tertiary);cursor:pointer}.lv-vitals-away-btn svg{width:15px;height:15px}.lv-vitals-away-btn:hover,.lv-vitals-away-btn:focus-visible{color:var(--text-1);background:color-mix(in srgb,var(--color-border) 40%,transparent);outline:none}.lv-vitals-away-btn.on{color:var(--color-danger)}.lv-vitals-row--away .lv-vitals-name,.lv-vitals-row--away .lv-vitals-stats{opacity:.45}.lv-vitals-away-tag{flex-shrink:0;font-size:var(--font-size-xs, .72rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary)}.spk-opt-away{color:var(--text-3);font-style:italic}.live-bursar{flex-shrink:0;border-top:1px solid var(--border);padding:.35rem .5rem .5rem;background:var(--bg)}.live-bursar-hdr{display:flex;align-items:center;gap:.4rem}.live-bursar-title{flex:1}.live-bursar-body{display:flex;flex-direction:column;gap:var(--space-2);margin-top:.3rem}.bursar-coin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.bursar-coin-grid input.bursar-coin-input{width:100%;padding:3px 4px 4px;text-align:center;font-size:var(--font-size-sm, .85rem)}.bursar-players-row{display:flex;align-items:center;gap:var(--space-2)}.bursar-players-lbl{flex:1}.bursar-calc-btn{margin-left:auto}.bursar-result{margin-top:.1rem}.bursar-row-lbl{font-size:var(--font-size-xs, .72rem);font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.bursar-none{color:var(--text-3)}.bursar-leftover-lbl{margin-top:.5rem}.cs-shelf-meta{display:flex;align-items:center;gap:12px;margin-top:8px;font-family:var(--t-mono, ui-monospace, monospace);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4, var(--text-3))}.cs-shelf-meta-bare{grid-column:1 / -1}.cs-shelf-meta-bare .cs-shelf-meta{margin-top:var(--space-2)}#cs-shelf-antho{flex:1;min-width:0}.cs-shelf-antho-link{background:none;border:none;padding:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--teal-2, var(--accent-teal));transition:color .15s}.cs-shelf-antho-link:hover{color:var(--teal-3, var(--accent-teal));text-decoration:underline}.cs-shelf-antho-locked{color:var(--ink-4, var(--text-3))}button.cs-shelf-antho-locked--upsell{background:none;border:none;padding:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;transition:color .15s}button.cs-shelf-antho-locked--upsell:hover{color:var(--teal-2, var(--accent-teal));text-decoration:underline}.cs-shelf-toggle{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:var(--paper-2, var(--bg-2));border:1px solid var(--paper-edge, var(--border));border-radius:999px;color:var(--ink-2, var(--text-2));cursor:pointer;transition:color .15s,border-color .15s,background .15s}.cs-shelf-toggle:hover{color:var(--teal-2, var(--accent-teal));border-color:color-mix(in srgb,var(--teal-3, var(--accent-teal)) 40%,var(--paper-edge, var(--border)))}.cs-shelf-toggle[aria-pressed=true]{color:var(--teal-1, var(--accent-teal));border-color:color-mix(in srgb,var(--teal-3, var(--accent-teal)) 45%,transparent);background:color-mix(in srgb,var(--teal-3, var(--accent-teal)) 12%,var(--paper-2, var(--bg-2)))}.cs-spine--public{cursor:pointer}.cs-shelf-empty{align-self:center;margin:0 auto;font-family:var(--t-mono, ui-monospace, monospace);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4, var(--text-3))}.cs-shelf-rail:before{content:"";position:absolute;left:0;right:0;bottom:var(--shelf-back-y, 12px);border-bottom:1px solid color-mix(in srgb,var(--accent-gold) 22%,transparent);pointer-events:none}.cs-book{position:relative;display:flex;align-items:flex-end;flex:0 0 auto}.cs-book .cs-faceout{margin-left:-1px}.cs-faceout{flex:0 0 auto;align-self:flex-end;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;padding:calc(var(--spine-h, 224px) * .055) calc(var(--spine-h, 224px) * .045) calc(var(--spine-h, 224px) * .05);box-sizing:border-box;width:calc(var(--spine-h, 224px) * .68);height:calc(var(--spine-h, 224px) - 10px);margin-bottom:7px;margin-left:-2px;margin-right:calc(var(--spine-h, 224px) * .68 * -.5);background-image:linear-gradient(to right,#00000029,#00000080),var(--faceout-cover, linear-gradient(transparent, transparent));background-size:100% 100%,cover;background-position:center;background-repeat:no-repeat;border:1px solid var(--paper-edge, var(--border));border-left:none;border-radius:0 var(--radius-sm, 4px) var(--radius-sm, 4px) 0;transform-origin:left center;transform:perspective(var(--fo-persp, 600px)) rotateY(var(--fo-angle, 62deg));cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.cs-faceout.is-book-hover{transform:translateY(-2px) perspective(var(--fo-persp, 600px)) rotateY(var(--fo-angle, 62deg));box-shadow:8px 10px 22px #00000052}@media (prefers-reduced-motion: reduce){.cs-faceout{transition:none}}.cs-faceout-title{--fo-title: calc(var(--spine-h, 224px) * .115);width:100%;max-height:calc(var(--spine-h, 224px) * .55);overflow:hidden;font-family:var(--type-display);font-weight:700;line-height:.98;letter-spacing:.025em;text-transform:uppercase;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.75),0 0 14px rgba(0,0,0,.45)}.cs-faceout-title .fo-word{font-size:var(--fo-title)}.cs-faceout-title .fo-minor{font-size:calc(var(--fo-title) * .46);font-weight:500;letter-spacing:.13em;line-height:1.05}.cs-faceout-title .fo-lead{display:block}.cs-faceout-author{font-family:var(--type-display);font-weight:600;font-size:calc(var(--spine-h, 224px) * .044);text-transform:uppercase;letter-spacing:.16em;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cs-spine-type{background:none}.cs-spine-type:before{content:"";position:absolute;inset:-9% 0;z-index:-1;background:linear-gradient(to right,#080a0e00,#080a0e61,#080a0e00);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 84%,transparent 100%);pointer-events:none}.anthologies-modal-box.cool-paper-surface,.entity-xlink-box.cool-paper-surface{background:var(--paper);border:1px solid var(--rule)}.cx2-frame-chips{display:flex;gap:4px;margin-bottom:8px}.cx2-frame-chip{flex:0 0 auto;padding:5px 12px}.cx2-frame-box{position:absolute;border:2px solid var(--accent-teal, #2f9aa3);border-radius:2px;box-shadow:0 0 0 2000px #10141a73;pointer-events:none}.cx2-frame-zoomrow{display:flex;align-items:center;gap:8px;margin-top:8px}.cx2-frame-zbtn{flex:0 0 auto;width:32px;padding:4px 0;font-size:14px;line-height:1}.cx2-frame-zval{font-size:12px;color:var(--text-2);min-width:44px;text-align:center;font-variant-numeric:tabular-nums}#cx2-focal-wrap:focus-visible{outline:2px solid var(--accent-teal, #2f9aa3);outline-offset:2px}.cx2-frame-mirror{flex:0 0 auto;padding:5px 12px;margin-left:8px}.cx2-frame-mirror svg{vertical-align:-2px;margin-right:3px}
