.modal-scrim.game-modal{animation:tablebound-scrim-arrive .2s ease-out both}.modal-scrim.game-modal>.modal{animation:tablebound-modal-arrive .24s cubic-bezier(.16,1,.3,1) backwards;transform-origin:50% 65%;overscroll-behavior:contain}.modal-scrim.game-modal[data-motion=closing]{animation:tablebound-scrim-leave .15s ease-in both}.modal-scrim.game-modal[data-motion=closing]>.modal{animation:tablebound-modal-leave .15s cubic-bezier(.4,0,1,1) both;pointer-events:none}@keyframes tablebound-scrim-arrive{0%{opacity:0}to{opacity:1}}@keyframes tablebound-scrim-leave{0%{opacity:1}to{opacity:0}}@keyframes tablebound-modal-arrive{0%{opacity:.3;transform:translateY(22px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tablebound-modal-leave{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.985)}}@media(max-width:700px){.modal-scrim.game-modal>.modal{transform-origin:50% 100%}@keyframes tablebound-modal-arrive{0%{opacity:.5;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@keyframes tablebound-modal-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(24px)}}}@media(prefers-reduced-motion:reduce){.modal-scrim.game-modal,.modal-scrim.game-modal>.modal,.modal-scrim.game-modal[data-motion=closing],.modal-scrim.game-modal[data-motion=closing]>.modal{animation:none}}.command-recovery{display:flex;gap:12px;align-items:flex-start;margin:12px 0;padding:16px;border:1px solid var(--brass);border-radius:12px;background:var(--paper);color:var(--ink);animation:recovery-arrive .18s ease-out both}.command-recovery>svg{flex-shrink:0;color:var(--brass)}.command-recovery>div{min-width:0}.command-recovery strong{font-size:1.1rem}.command-recovery p{font-size:1rem;line-height:1.5;margin:8px 0}.command-recovery small{display:block;margin-top:10px;line-height:1.5}.command-recovery .button{min-height:48px;white-space:normal}@keyframes recovery-arrive{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.command-recovery{animation:none}}.session-recorder-status{margin:8px 16px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--paper);color:var(--ink);font-size:17px;animation:recorder-status-arrival .18s ease-out}.recorder-status-line,.recorder-status-links,.recorder-status-recovery{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recorder-status-line>strong{flex:1;min-width:120px;overflow-wrap:anywhere}.session-recorder-status svg{flex-shrink:0;color:var(--gold)}.session-recorder-status button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;min-height:44px;color:inherit;font:inherit;background:transparent;white-space:normal}.session-recorder-status button:active{transform:scale(.98)}.session-recorder-status p{margin:8px 0;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.recorder-status-links{margin-top:7px}.recorder-status-links button{border:0;padding-left:0;font-size:15px}.recorder-status-recovery>p{flex-basis:100%}@keyframes recorder-status-arrival{0%{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.session-recorder-status{animation:none}.session-recorder-status button:active{transform:none}}@media(max-width:420px){.session-recorder-status{margin:7px 10px;padding:10px}.recorder-status-line>button{width:100%}}.recorder.recording>svg{animation:none}.workspace.game-screen{animation:game-screen-arrive .36s cubic-bezier(.16,.72,.25,1) backwards}.game-screen .section-title,.game-screen .character-heading{animation:game-title-arrive .4s cubic-bezier(.16,.72,.25,1) backwards}.more-menu.game-drawer{transform-origin:bottom center;will-change:auto}.more-menu.game-drawer-open{animation:game-drawer-arrive .28s cubic-bezier(.16,.72,.25,1) backwards}.more-menu.game-drawer-closing{animation:game-drawer-leave .16s ease-in both;pointer-events:none}.table-tray>button[aria-current=page]>svg{transform:translateY(-3px)}.table-tray>button>svg{transition:transform .22s cubic-bezier(.16,.72,.25,1)}.table-tray>button[aria-current=page]:after{content:"";position:absolute;bottom:2px;left:30%;right:30%;height:2px;background:var(--gold);box-shadow:0 0 8px #c0a36a66;animation:game-mark-arrive .28s ease-out both}.table-tray>button{position:relative}.sheet-tabs>button,.inventory-selector>button,.preparation-tabs>button{transition:background-color .18s,border-color .18s,color .18s}.story-decision[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold);background-color:#b69a5920}.story-outcome{animation:game-outcome-arrive .4s cubic-bezier(.16,.72,.25,1) backwards}.hp-bar>i{transition:width .55s cubic-bezier(.16,.72,.25,1)}.turn-budget{animation:game-budget-confirm .32s ease-out both}.game-value{position:relative;display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums}.folio .health-title>b>.game-value{font-size:inherit;color:inherit}.game-value-delta{pointer-events:none;position:absolute;right:-8px;top:-18px;font-family:inherit;font-weight:600;font-size:16px;line-height:1.2;white-space:nowrap;z-index:3;padding:2px 5px;background:var(--panel,var(--paper));border-radius:3px;animation:game-value-rise 1.05s ease-out both}.game-value-delta.gain{color:#4e9276}.game-value-delta.loss{color:#b4644f}.theme-brassward .game-value-delta.gain{color:#9ad3ac}.theme-brassward .game-value-delta.loss{color:#f2a28b}@keyframes game-screen-arrive{0%{opacity:.55;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes game-title-arrive{0%{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes game-drawer-arrive{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes game-drawer-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}@keyframes game-mark-arrive{0%{opacity:.25;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}@keyframes game-outcome-arrive{0%{opacity:.35;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes game-budget-confirm{0%{background-color:#b69a5930}to{background-color:transparent}}@keyframes game-value-rise{0%{opacity:0;transform:translateY(5px) scale(.9)}18%{opacity:1;transform:translateY(0) scale(1)}72%{opacity:1}to{opacity:0;transform:translateY(-14px)}}@media(prefers-reduced-motion:reduce){.workspace.game-screen,.game-screen .section-title,.game-screen .character-heading,.more-menu.game-drawer,.table-tray>button[aria-current=page]:after,.story-outcome,.turn-budget,.game-value-delta{animation:none}.table-tray>button>svg,.sheet-tabs>button,.inventory-selector>button,.preparation-tabs>button,.hp-bar>i{transition:none}.table-tray>button[aria-current=page]>svg{transform:none}}.app-install{margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.app-install>summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 0;font-weight:700;cursor:pointer}.install-content{padding:0 0 16px;animation:install-reveal .2s ease-out}.install-content select{font-size:17px;min-height:48px}.install-content ol{padding-inline-start:24px}.install-content li{margin:10px 0;line-height:1.6}.install-content .install-confirmation{display:flex;align-items:center;gap:10px}@keyframes install-reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.install-content{animation:none}}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-1.ttf) format("truetype")}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-2.ttf) format("truetype")}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-3.ttf) format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-4.ttf) format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-5.ttf) format("truetype")}@font-face{font-family:Cinzel Decorative;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CinzelDecorative-Bold.ttf) format("truetype")}:root{font-family:Alegreya Sans,system-ui,sans-serif;color:#263031;background:#eee7d7;font-synthesis:none;--ink:#142f32;--teal:#0e282d;--gold:#b38b46;--brass:#d5b57a;--paper:#eee7d7;--muted:#727469;--line:#cfc4ac;--red:#a34c3c;--serif:"Cormorant Garamond",Georgia,serif}*{box-sizing:border-box}body{margin:0;font-size:17px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,label.button{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:#826025}button,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b38b46}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1}h1{font-size:48px}h2{font-size:34px}h3{font-size:25px}p{margin:.7em 0 1em}button{border:0;background:none}small{display:block;font-size:14px;line-height:1.4;color:var(--muted)}svg{flex-shrink:0;vertical-align:middle}input:not([type=checkbox]):not([type=file]),select,textarea{width:100%;border:1px solid #bdb39d;border-radius:3px;background:#fffcf2a8;padding:11px 13px;color:#263031;min-height:46px;font-size:17px}textarea{resize:vertical;line-height:1.5}select{padding-right:28px!important}input[type=checkbox]{accent-color:var(--ink);width:20px;height:20px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 20px;border:1px solid #846226;border-radius:3px;background:linear-gradient(135deg,#b58a43,#84602b);color:#fff7e4;box-shadow:inset 0 0 0 2px #e6ca7b24,0 2px 3px #301e0a16;text-decoration:none;font-weight:600;transition:filter .15s,transform .15s;white-space:nowrap}.button:hover{filter:brightness(1.08);transform:translateY(-1px)}.button.quiet{color:#4c482f;background:#fff9e54d;border-color:#b4a17b;box-shadow:inset 0 0 0 2px #fff6e730}.button.danger{background:#924e3d;border-color:#733e30}.button.small{font-size:15px;min-height:42px;padding:7px 13px}.icon-button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px}.icon-button:hover{background:#b38b4614}.text-button{padding:0;text-align:left}.text-link{display:inline-flex;align-items:center;gap:10px;color:#89602a;font-weight:600;text-decoration:none;padding:10px 0;min-height:44px}.eyebrow{font-family:Alegreya Sans,system-ui,sans-serif;display:block;font-size:12px;font-weight:600;letter-spacing:2px;color:#8b713e;line-height:1.5}.muted{color:var(--muted)}.error{color:#9b3a2b;background:#f0d7ce;padding:12px;border-left:3px solid #9b3a2b}.prose{white-space:pre-line;font-size:18px;line-height:1.65}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;margin:14px 0 20px}.field>span{font-size:16px;font-weight:600}.check{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0}.rule-note{padding:18px 20px;border-left:2px solid #b4965a;background:#d9c8a433;margin:20px 0;font-size:16px}.rule-note p:last-child{margin-bottom:0}.page-intro{color:#727266;margin-top:8px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px}.section-title .eyebrow{margin-bottom:9px}.section-title .eyebrow:only-child{margin:0}.section-title h2{letter-spacing:-.4px}.empty{text-align:center;padding:45px 20px;color:#70756c}.empty>svg{color:#a48b56;margin-bottom:12px}.empty h3{color:#263031}.empty p{max-width:380px;margin:14px auto 22px}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:600;min-height:35px}.reference-text{white-space:pre-wrap;word-break:break-word;font-size:16px;line-height:1.65;max-height:65vh;overflow:auto;padding:10px 0}.reference-text table{width:100%}.loading-screen{min-height:65vh;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#92753e}.loading-screen svg{animation:compass-in 2s ease-in-out infinite}.loading-screen p{font-family:var(--serif);font-size:24px}.app-shell{display:flex;min-height:100vh;background-color:#eee7d7;background-image:radial-gradient(ellipse at 12% 22%,#ffffff42,transparent 60%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.045' filter='url(%23n)'/%3E%3C/svg%3E")}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:radial-gradient(ellipse at 0 0,#28474a,#102a2e 55%,#0b2127);color:#d8d6c2;border-right:1px solid #ae8849;display:flex;flex-direction:column;z-index:30;box-shadow:inset -5px 0 #0000001c}.brand{display:flex;align-items:center;justify-content:center;gap:12px;padding:34px 18px 29px;color:#ddbd80;font-family:var(--serif);font-size:30px;font-variant:small-caps;letter-spacing:2px}.brand>svg{width:47px;height:47px;stroke-width:1}.brand small{font-family:Alegreya Sans,sans-serif;letter-spacing:1.7px;font-size:8px;color:#bda474;margin-top:4px}.campaign-switch{padding:0 18px 24px;border-bottom:1px solid #ad895c59}.campaign-switch .eyebrow{font-size:10px;color:#c2a577;margin:0 0 10px}.campaign-switch>button{border:1px solid #a28150;border-radius:3px;width:100%;display:flex;gap:9px;align-items:center;padding:7px;color:#e4decd;text-align:left;font-family:var(--serif);line-height:1.2;font-size:17px;background:#00000013}.campaign-switch img{width:33px;height:34px;object-fit:cover;border-radius:2px}.campaign-switch>button>span{flex:1}.sidebar nav{padding:12px 0}.sidebar nav button{width:100%;display:flex;align-items:center;gap:22px;padding:13px 26px;color:#b7c3ba;font-family:var(--serif);font-size:22px;border-left:3px solid transparent;border-top:1px solid transparent;border-bottom:1px solid transparent;text-align:left}.sidebar nav button.active{color:#f0d8a2;background:linear-gradient(90deg,#a8874240,transparent);border-color:#bb9a5552;border-left-color:#d2a95f}.sidebar nav button:hover{background:#ffffff07}.sidebar nav svg{color:#b59a60}.sidebar-footer{margin-top:auto;text-align:center}.compass-decoration{font-size:75px;font-family:var(--serif);color:#c09e4b4d;line-height:1}.sidebar-footer>p{font-size:9px;letter-spacing:2px;color:#c0ad86;margin:18px 0 24px}.profile{display:flex;align-items:center;gap:12px;width:100%;border-top:1px solid #b39a6259;padding:18px;color:#ded9c9;text-align:left}.profile>span{flex:1}.profile small{color:#a2b4a5;font-size:12px}.avatar{width:40px;height:40px;flex-shrink:0;border:1px solid #b79b59;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;color:#b99751}.main-column{margin-left:248px;width:calc(100% - 248px);min-width:0}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:12px 32px;border-bottom:1px solid var(--line);gap:16px;background:#eee7d7dc;position:relative;z-index:20}.desktop-breadcrumb{display:flex;align-items:center;gap:14px;color:#796e52;font-size:11px;letter-spacing:1.5px}.top-actions{display:flex;align-items:center;gap:12px}.save-status{font-size:12px;color:#657965;white-space:nowrap}.save-status.offline{color:#9d663b}.demo-badge{font-size:10px;letter-spacing:1px;padding:3px 7px;border:1px solid #ad9256;color:#8e7136}.workspace{padding:36px 40px 55px;max-width:1400px;margin:0 auto;animation:page-in .28s ease-out}.overview-space{padding:0;max-width:none}.campaign-hero{height:350px;position:relative;isolation:isolate;background-size:cover;background-position:center 45%;color:#f7eedb;display:flex;align-items:center;border-bottom:3px solid #ad8b50;box-shadow:0 3px #e9dbb9,0 4px #a59161}.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#071b24df,#071b24a1 32%,#0c1e2420 75%);z-index:-1}.hero-content{padding:30px 44px;max-width:680px;animation:page-in .6s ease-out}.edition-plaque{display:inline-flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1.7px;color:#e8c58b;border:1px solid #bd9c60;padding:7px 11px;margin-bottom:20px;background:#0e232978;box-shadow:inset 0 0 0 2px #a68e5040}.hero-content h1{font-size:clamp(42px,4.4vw,68px);font-weight:500;line-height:.98;letter-spacing:-1px;max-width:580px;text-shadow:0 2px 14px #0007}.hero-content p{font-family:var(--serif);font-size:20px;max-width:450px;color:#e9e1cf;margin:14px 0 20px}.hero-coordinates{position:absolute;right:28px;top:28px;font-size:9px;letter-spacing:3px;line-height:2;color:#f5ebce;text-align:center;text-shadow:0 2px 6px black}.overview-content{display:grid;grid-template-columns:1.12fr 1fr;padding:32px 40px;gap:34px}.overview-content>.story-column{border-left:1px solid var(--line);padding-left:32px}.overview-content .section-title{margin-bottom:20px}.overview-content h2{font-size:32px}.story-column>h3{font-size:30px;margin-top:10px}.story-column>.prose{font-size:17px;line-height:1.6}.party-list{margin-top:18px}.party-member{display:flex;align-items:center;gap:20px;width:100%;padding:19px 0;border-bottom:1px solid var(--line);text-align:left;transition:background .2s}.party-member:hover{background:#fff9e860}.party-member:first-child{padding-top:0}.portrait{position:relative;width:90px;height:90px;flex-shrink:0;border-radius:50%;padding:4px;border:1px solid #8c6e3a;outline:1px solid #bfa778;outline-offset:3px;background:#483b24;box-shadow:0 2px 6px #57401b30}.portrait img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.portrait>span{position:absolute;bottom:-2px;left:-2px;width:28px;height:28px;border:1px solid #c3a365;border-radius:50%;background:#17363a;color:#e1c687;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:17px;box-shadow:0 1px #251e0b}.party-member-info{flex:1;min-width:0}.party-member h3{font-size:27px}.party-member p{margin:5px 0 13px;font-size:14px;color:#686d62}.party-hp{display:flex;align-items:center;gap:12px}.hp-bar{height:7px;border:1px solid #b8ac92;background:#d8cfbb;border-radius:6px;flex:1;overflow:hidden}.hp-bar i{display:block;height:100%;background:linear-gradient(#bd6554,#9f493a);border-right:1px solid #864832;border-radius:6px;transition:width .4s}.party-hp>span{font-size:12px;white-space:nowrap;color:#6b6a5c}.your-character{margin-top:7px;font-size:10px;letter-spacing:1px;color:#9e8246;text-transform:uppercase}.quest-block{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.quest-block>.eyebrow{display:flex;gap:9px;align-items:center}.quest-block h3{font-size:28px;margin-top:10px}.quest-block p{font-size:16px;line-height:1.6}.world-note{display:flex;gap:12px;align-items:center;font-style:italic;color:#938361;margin-top:24px}.world-note>span{font-size:45px;line-height:1}.world-note p{font-family:var(--serif);font-size:21px;line-height:1.3;margin:0}.table-ready{display:flex;align-items:center;gap:24px;border-top:1px solid #bda77e;border-bottom:1px solid #bda77e;padding:25px 40px;background:linear-gradient(90deg,#b99c5a21,transparent 70%)}.table-ready h3{font-size:25px;margin-top:8px}.table-ready .button{margin-left:auto}.d20-emblem{width:70px;height:70px;background:#17383b;display:flex;align-items:center;justify-content:center;color:#d2b273;border:2px solid #ad8542;transform:rotate(-8deg);box-shadow:3px 4px #b398594d;border-radius:14px}.d20-emblem svg{width:45px;height:45px}.app-footnote{font-size:10px;letter-spacing:1px;text-align:center;color:#928266;padding:25px 20px}.app-footnote>span{margin:0 12px}.app-footnote button{font-size:10px;text-decoration:underline}.table-tray,.mobile-brand,.mobile-profile{display:none}.floating-dice{position:fixed;bottom:26px;right:28px;width:58px;height:58px;border-radius:50%;background:#153237;border:2px solid #b8914a;color:#e7c98a;box-shadow:0 4px 15px #0003;z-index:30}.floating-dice svg{width:28px;height:28px}.connection-banner{background:#e4c991;color:#4e4328;padding:10px 20px;font-size:15px}.connection-banner button{text-decoration:underline;margin-left:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;max-width:min(560px,calc(100vw - 30px));background:#153337;color:#f0e5c8;border:1px solid #bd9b5c;border-radius:5px;box-shadow:0 6px 35px #0004;padding:14px 22px;animation:page-in .2s;font-size:16px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#071b23b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:24px;overflow:auto}.modal{position:relative;background:var(--paper);border:1px solid #ad8c4c;box-shadow:inset 0 0 0 5px #e1d3b8,0 20px 80px #0007;width:100%;max-width:590px;max-height:90vh;overflow:auto;padding:28px 30px;animation:modal-in .23s ease-out;border-radius:4px}.modal.wide{max-width:900px}.modal>header{position:relative;border-bottom:1px solid var(--line);padding:0 35px 20px 0;margin-bottom:20px}.modal>header>.icon-button{position:absolute;right:-12px;top:-12px}.modal h2{font-size:33px;margin-top:8px}.modal>.button{margin-top:15px}.modal-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.copy-box{padding:16px;background:#d8cdb6;border:1px solid #b9a981;overflow-wrap:anywhere;margin:16px 0;font-family:monospace;font-size:15px}.pair-code{text-align:center;font-size:36px;letter-spacing:6px;color:#815e28;padding:20px 0}.builder-tabs,.sheet-tabs{display:flex;align-items:center;overflow:auto;gap:4px;border-bottom:1px solid var(--line);margin:0 0 25px;scrollbar-width:thin}.builder-tabs button,.sheet-tabs button{white-space:nowrap;padding:12px 17px;min-height:48px;color:#77745f;border-bottom:2px solid transparent;font-size:16px}.builder-tabs button.active,.sheet-tabs button.active{color:#6d4e23;border-bottom-color:#a97f3c;background:#d2bc8026}.builder-tabs button span{font-size:11px;display:inline-flex;width:18px;height:18px;border:1px solid #b3a47c;border-radius:50%;align-items:center;justify-content:center;margin-right:6px}.ability-editor,.ability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ability-editor .field{padding:12px;border:1px solid var(--line);text-align:center}.ability-editor .field>span{font-size:14px}.ability-editor input{text-align:center;font-size:24px!important}.ability-editor strong{font-family:var(--serif);font-size:30px}.skill-choices{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.skill-choices>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;gap:8px}.skill-choices label{display:flex;align-items:center;gap:8px;font-size:15px;min-height:36px}.skill-choices .expertise{font-size:12px;color:#776c4c}.class-line{display:flex;gap:12px;margin-bottom:12px}.class-line>select{flex:1}.class-line>input{width:90px!important}.progression{margin:28px 0}.progression h3>span{font-size:18px;display:block;margin-top:6px}.level-track{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin:16px 0}.level-track button{border:1px solid #c8b997;border-radius:2px;min-height:40px;color:#988f77}.level-track button.earned{background:#19383a;color:#e7c883;border-color:#ad8d51}.spell-picker{max-height:55vh;overflow:auto;margin:15px 0}.spell-picker>div{display:flex;border-bottom:1px solid var(--line);padding:9px 0}.spell-picker label{display:flex;align-items:center;gap:12px;flex:1;min-height:40px}.spell-picker small{font-size:13px}.portrait-preview{display:flex;gap:22px;align-items:center}.portrait-preview>img{width:140px;height:160px;object-fit:cover;border:2px solid #b0975a}.character-heading{display:flex;align-items:center;gap:28px;margin-bottom:28px}.portrait.large{width:120px;height:120px}.character-heading h1{font-size:45px;margin-top:5px}.character-heading p{margin:8px 0;color:#75715f}.vitals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.vitals>div{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line)}.vitals>div:last-child{border:0}.vitals svg{color:#9f8147;width:23px}.vitals strong{font-family:var(--serif);font-size:39px;line-height:1.2}.vitals span{font-size:13px;color:#777461}.health-panel{margin:25px 0;padding:20px;background:#e3d9c64d;border:1px solid #c6b996}.health-title{display:flex;gap:10px;align-items:center;margin-bottom:12px}.health-title>svg{color:var(--red)}.health-title>b{margin-left:auto;font-size:26px;font-family:var(--serif)}.health-title>b>span{color:#91816b;font-size:21px}.health-panel>.hp-bar{height:10px}.hp-controls{display:flex;align-items:center;gap:12px;margin-top:16px}.hp-controls .button{flex:1}.hp-controls input{width:70px!important;text-align:center}.temp-controls{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:15px}.death-saves{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.death-saves>span{display:block;margin:14px 0}.quick-rolls{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.quick-rolls>div{display:flex;gap:5px}.resource-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;min-height:65px}.resource-row>div:first-child,.resource-row>span:first-child{flex:1}.resource-row small{margin-top:5px}.resource-row+h3,.folio h3{margin-top:28px;margin-bottom:14px}.conditions{display:flex;gap:8px;flex-wrap:wrap}.conditions button{border:1px solid #b5985e;padding:8px 12px;font-size:15px;background:#d3b46e24}.ability-grid{margin:20px 0}.ability-grid>button{display:flex;flex-direction:column;align-items:center;padding:18px 10px;border:1px solid #b6a37c;background:#f3ecdd9c;box-shadow:inset 0 0 0 3px #e1d4b9}.ability-grid span{font-size:13px;letter-spacing:2px;color:#817252}.ability-grid strong{font-family:var(--serif);font-size:40px;line-height:1.1}.ability-grid b{font-size:18px;color:#9b7638;margin-top:5px}.saving-throws{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.saving-throws button{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);font-size:14px}.saving-throws strong{margin-left:auto;font-size:18px}.saving-throws svg{color:#a0834c}.skill-row{display:flex;width:100%;align-items:center;gap:16px;min-height:52px;padding:8px 4px;border-bottom:1px solid var(--line);text-align:left}.skill-row>span:nth-child(2){flex:1;display:flex;justify-content:space-between}.skill-row small{display:inline;font-size:12px}.skill-row>svg{color:#9d824c}.proficiency-dot{font-size:18px;color:#8f6c32;min-width:18px}.spell-stats{display:flex;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}.spell-stats b{font-size:25px;font-family:var(--serif);margin-left:8px}.slots{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:24px}.slots>div>span{font-size:14px}.slots button{font-size:25px;padding:5px;min-width:36px;min-height:44px;color:#a77d3a}.slots button.spent{color:#c5bba2;text-decoration:line-through}.slots small{font-size:12px}.spell-row{display:flex;align-items:center;border-bottom:1px solid var(--line);gap:12px;padding:10px 0}.spell-row>button:first-child{flex:1;text-align:left;padding:8px 0}.spell-row strong{font-family:var(--serif);font-size:24px}.spell-row small{margin-top:5px}.inventory-selector{display:flex;gap:8px;overflow:auto;padding:5px 0 14px}.inventory-selector button{display:flex;align-items:center;gap:8px;border:1px solid #bdb092;border-radius:3px;padding:8px 15px;white-space:nowrap;min-height:46px}.inventory-selector button.active{background:#17363a;color:#f0dfb5;border-color:#aa8849}.inventory-selector img{width:26px;height:26px;object-fit:cover;border-radius:50%}.inventory-summary{display:flex;align-items:center;justify-content:space-between;margin:10px 0 18px;color:#76735f;font-size:16px}.inventory-summary button{display:flex;align-items:center;gap:8px;min-height:44px}.search{position:relative;display:flex;align-items:center;margin:15px 0 22px}.search svg{position:absolute;left:14px;color:#9c916f}.search input{padding-left:44px!important}.item-list>article{display:flex;align-items:flex-start;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.item-symbol{width:46px;height:52px;flex-shrink:0;background:#dbcfb63d;border:1px solid #beac82;display:flex;align-items:center;justify-content:center;color:#9d7c3e}.item-info{flex:1}.item-info h3 span{font-family:Alegreya Sans,sans-serif;font-size:17px;color:#9c844f}.item-info p{margin:7px 0;font-size:16px;color:#6a6d61}.item-info small{font-size:13px}.item-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.chronicle-list{display:grid;grid-template-columns:1fr 1fr;gap:25px}.chronicle-list>button{text-align:left;border-bottom:1px solid #b7a481;padding:15px 0 25px}.entry-kind{display:flex;align-items:center;gap:10px;color:#9e8044;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:12px}.entry-kind svg:last-child:not(:first-child){margin-left:auto}.chronicle-list h3{font-size:28px}.chronicle-list p{font-size:16px;color:#727263;margin:10px 0 16px;line-height:1.6}.entry-status{font-size:12px;color:#988a68}.session-ribbon{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:30px;font-size:15px}.live-dot{display:inline-block;width:7px;height:7px;background:#698668;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #69866815;animation:pulse 2s infinite}.combat-list{border:1px solid #c0ac80;margin-bottom:20px}.combatant{display:flex;align-items:center;gap:15px;padding:12px 15px;border-bottom:1px solid #c7b991;min-height:70px}.combatant:last-child{border:0}.combatant.current{background:#d1b77535;box-shadow:inset 3px 0 #ac8542}.initiative{font-family:var(--serif);font-size:30px;color:#9d7a3a;min-width:30px;text-align:center}.combatant>div:nth-child(2){flex:1}.combatant strong{font-size:18px}.combatant small{font-size:13px}.combat-hp{font-size:15px;white-space:nowrap}.combat-hp>span{color:var(--red)}.event-feed{margin-top:20px}.event-feed article{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.event-icon{color:#9d8047;min-width:28px;text-align:center}.event-feed p{margin:0;font-size:17px;line-height:1.4}.event-feed small{font-size:12px;margin-top:5px}.event-feed article>div{flex:1}.roll-total{font-family:var(--serif);font-size:36px;color:#8c662c;min-width:45px;text-align:center}.roll-event{background:#d9c28e1c}.recap-actions{margin:30px 0 10px;padding:24px 0;border-top:1px solid #b6a17b}.recap-actions p{font-size:16px;color:#787361}.encounter-editor{display:grid;grid-template-columns:2fr 1fr 1fr auto 40px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.encounter-editor .field{margin:0}.encounter-editor .field>span{font-size:12px}.encounter-editor>.check{font-size:13px}.dice-presets{display:flex;gap:7px;overflow:auto}.dice-presets button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:54px;min-height:75px;border:1px solid #bdac82;gap:5px}.dice-presets button.active{background:#17383b;color:#e7c882;border-color:#af8b48}.dice-presets svg{width:23px}.scene-preview{position:relative;aspect-ratio:16/8;overflow:hidden;background:#10262b;border:1px solid #a38348;box-shadow:inset 0 0 0 3px #b69755}.scene-preview>img{width:100%;height:100%;object-fit:contain}.scene-preview>span{position:absolute;bottom:0;left:0;right:0;padding:25px 20px 15px;background:linear-gradient(transparent,#071a20d9);color:#f5e8c5;font-family:var(--serif);font-size:26px;text-align:center}.scene-preview.blank img{opacity:.08}.scene-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:18px 0}.display-options{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px}.display-options>.field{margin:0;width:130px}.display-options>.field>span{font-size:13px}.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.scene-grid article{border:1px solid #bcac87;padding:4px;background:#fff7e331}.scene-grid article.selected{border-color:#8f6d30;box-shadow:0 0 0 2px #b59a6259}.scene-grid article>button{width:100%;padding:0;text-align:left}.scene-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.scene-grid article>button>div{padding:12px}.scene-grid strong{font-family:var(--serif);font-size:23px}.scene-grid small{margin-top:4px;font-size:12px}.scene-grid .actions{padding:3px 8px 8px;gap:3px}.map-toolbar{display:flex;align-items:center;gap:12px;margin:18px 0}.map-viewport{height:65vh;max-height:650px;overflow:auto;border:2px solid #9d8046;background:#10282d;cursor:grab;touch-action:none;position:relative}.map-stage{position:relative;min-width:100%;line-height:0}.map-stage>img{width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none}.map-token{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:2px solid #d0a85e;border-radius:50%;background:#15383c;color:#e8cca0;touch-action:none;z-index:2;padding:0;box-shadow:0 2px 8px #0006;overflow:visible}.map-token>img{width:100%;height:100%;object-fit:cover;border-radius:50%;pointer-events:none}.map-token>span{position:absolute;top:100%;left:50%;transform:translate(-50%);white-space:nowrap;font-size:12px;line-height:1.3;padding:3px 6px;background:#0b222be8;border-radius:2px;color:#eee3c5;pointer-events:none}.map-token:disabled{opacity:1}.dm-launchers{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:10px 0 28px}.dm-launchers>button{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:22px 0;text-align:left}.dm-launchers>button>svg:first-child{color:#9e7e42;width:29px}.dm-launchers>button>div{flex:1}.dm-launchers h3{font-size:25px}.dm-launchers p{font-size:15px;color:#737260;margin:7px 0 0}.member-row{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.member-row>strong{flex:1}.member-row>span{font-size:14px;color:#8a7851}.member-row>select{width:140px!important}.recorder{display:flex;align-items:center;gap:18px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.recorder>svg{color:#a38a55}.recorder>div{flex:1}.recorder strong{display:block;font-family:var(--serif);font-size:27px}.recorder span{font-size:13px;color:#857658;display:block;margin-top:6px}.recorder.recording>svg{color:var(--red);animation:pulse 1s infinite}.recording-row{display:flex;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.recording-row>div{flex:1;min-width:180px}.transcript-editor{max-height:50vh;overflow:auto}.transcript-editor>div{margin:20px 0;border-bottom:1px solid var(--line);padding-bottom:20px}.transcript-editor small{margin:6px 0}.auth-page{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:var(--paper)}.auth-art{position:relative;min-height:100vh;background:#0c252c;isolation:isolate;overflow:hidden}.auth-art>img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;object-position:65% center}.auth-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#071f2ae8,transparent 85%);z-index:-1}.auth-art>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:50px;color:#f0e2be}.auth-art .brand{position:absolute;top:0;left:22px;padding:30px;font-size:34px}.auth-art h1{font-size:85px;font-weight:500;line-height:.95}.auth-art p{font-size:25px;font-family:var(--serif);color:#e3d6b6;line-height:1.35;margin:24px 0}.auth-form{padding:50px clamp(25px,5vw,80px);display:flex;justify-content:center;flex-direction:column;max-width:700px;margin:auto}.auth-form h2{font-size:43px;margin:16px 0}.auth-form>.muted{font-size:17px}.auth-form form>.button{width:100%;margin:10px 0 15px}.auth-links{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.auth-links button{font-size:16px;text-decoration:underline;padding:7px 0;color:#81652f;min-height:40px}.auth-demo{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.auth-demo>span{font-size:10px;letter-spacing:2px;color:#988457;display:block;margin-bottom:12px}.auth-demo>.button{width:100%}.auth-demo small{font-size:12px;text-align:center;margin-top:10px}.auth-form>.text-link{align-self:center;margin-top:20px;font-size:14px}.lobby{min-height:100vh;padding:0 max(25px,calc((100vw - 1100px)/2)) 70px;background:var(--paper)}.lobby>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:65px}.lobby .brand{padding-left:0;font-size:32px;color:#826332}.lobby>.eyebrow{margin-bottom:16px}.lobby>h1{font-size:64px}.lobby>p{font-size:20px;color:#747160;margin:20px 0 30px}.campaign-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0}.campaign-grid>button{padding:0;text-align:left;border:1px solid #b4a078;background:#f9f1df}.campaign-grid img{width:100%;height:200px;object-fit:cover;display:block}.campaign-grid>button>div{padding:22px}.campaign-grid h2{font-size:35px;margin-top:10px}.campaign-grid p{font-size:16px;color:#746f5d}.campaign-grid>button>div>span:last-child{color:#927039;display:flex;align-items:center;gap:10px}.template-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.template-options>button{border:1px solid var(--line);padding:15px;text-align:left}.template-options>button.active{border-color:#9e7e3e;background:#d9bc6b26;box-shadow:inset 0 0 0 1px #ae8d4c}.template-options svg{color:#a07c3e;margin-bottom:10px}.template-options strong{display:block;font-family:var(--serif);font-size:24px;line-height:1.15}.template-options span{display:block;font-size:14px;color:#7c745f;margin-top:10px}.campaign-choice{display:flex;align-items:center;gap:15px;width:100%;padding:15px 0;border-bottom:1px solid var(--line);text-align:left}.campaign-choice img{width:65px;height:65px;object-fit:cover;border:1px solid #ae8c49}.campaign-choice>span{flex:1}.campaign-choice strong{font-family:var(--serif);font-size:25px}.campaign-choice small{margin-top:5px}.table-display{width:100vw;height:100dvh;min-height:100vh;background:#07151a;position:relative;overflow:hidden;color:#f4e5bd}.display-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.display-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:70px 30px 45px;background:linear-gradient(transparent,#07151af0)}.display-caption>span{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:#d3ba86}.display-caption h1{font-size:clamp(30px,4vw,65px);font-weight:500;margin-top:15px}.display-fullscreen{position:absolute;top:15px;right:15px;z-index:5;background:#071c248c;border:1px solid #bb9d6c88;min-width:44px;min-height:44px;color:#c3b18c;opacity:.5}.display-fullscreen:hover{opacity:1}.display-pair{max-width:480px;margin:auto;padding:80px 25px;text-align:center}.display-pair>svg{color:#b89c62;margin-bottom:15px}.display-pair h1{font-size:50px;margin:25px 0}.display-pair .eyebrow{color:#bba36d}.display-pair input{background:#153138!important;color:#eee0c1!important;letter-spacing:5px;text-align:center}.display-pair p{color:#b0b0a3;font-size:16px}.display-status{position:absolute;top:0;left:0;background:#743f2b;padding:10px 15px}.more-menu{display:none}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(20px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes compass-in{50%{transform:rotate(15deg);opacity:.55}}@keyframes pulse{50%{opacity:.5}}@media(min-width:1400px){.hero-content{padding-left:55px}.campaign-hero{height:400px}.overview-content{padding:40px 50px;gap:45px}.party-member{padding:24px 0}.portrait{width:100px;height:100px}.party-member h3{font-size:30px}.story-column>.prose{font-size:18px}.overview-content h2{font-size:38px}}@media(max-width:1150px)and (min-width:851px){.sidebar{width:210px}.main-column{margin-left:210px;width:calc(100% - 210px)}.brand{font-size:26px;gap:8px;padding:28px 12px}.brand>svg{width:36px}.sidebar nav button{padding:12px 18px;font-size:20px;gap:15px}.topbar{padding:12px 22px}.desktop-breadcrumb{font-size:9px;gap:8px}.top-actions .button{font-size:13px;padding:8px 12px}.overview-content{padding:28px 25px;gap:24px}.overview-content h2{font-size:29px}.overview-content>.story-column{padding-left:24px}.portrait{width:70px;height:70px}.party-member{gap:14px}.party-member h3{font-size:24px}.party-member p{font-size:13px}.party-hp{gap:8px}.party-hp>span{font-size:10px}.hero-content{padding-left:28px}.workspace:not(.overview-space){padding:30px}.scene-grid{grid-template-columns:1fr 1fr}}@media(max-width:850px){body{font-size:17px}.desktop-only,.desktop-breadcrumb,.sidebar{display:none!important}.main-column{margin:0;width:100%}.app-shell{padding-bottom:90px}.topbar{height:70px;padding:10px 18px;position:sticky;top:0;background:#112d31;color:#ead5a7;border-bottom:1px solid #a98a4f;box-shadow:0 2px 8px #0002}.mobile-brand{display:flex;align-items:center;gap:10px;color:#e1c78e;text-align:left;padding:0;min-width:0}.mobile-brand>svg:first-child{width:30px;height:30px;stroke-width:1.2}.mobile-brand>span{font-family:var(--serif);font-size:24px;letter-spacing:1.5px;line-height:1}.mobile-brand small{color:#bbb99f;font-family:Alegreya Sans,sans-serif;font-size:11px;letter-spacing:.1px;max-width:190px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-top:6px}.mobile-profile{display:inline-flex;color:#bfa16b}.top-actions{gap:8px}.save-status{font-size:10px;color:#aebfa5}.demo-badge{font-size:9px;color:#d3b676;border-color:#ae925f}.campaign-hero{height:310px;background-position:60% center}.hero-content{padding:26px 24px;max-width:100%}.hero-content h1{font-size:clamp(38px,8vw,56px);max-width:430px;letter-spacing:-.8px;line-height:1.02}.hero-content p{font-size:19px;line-height:1.35;max-width:290px;margin:12px 0 17px}.hero-shade{background:linear-gradient(90deg,#071b24c9,#071b2494 40%,#10252a20)}.edition-plaque{font-size:9px;letter-spacing:1.2px;padding:5px 8px;margin-bottom:14px}.hero-coordinates{display:none}.hero-content .button{font-size:16px;min-height:45px;padding:9px 15px}.overview-content{display:flex;flex-direction:column;padding:26px 24px;gap:30px}.overview-content h2{font-size:32px}.overview-content>.story-column{border-left:0;border-top:1px solid #bcaa83;padding:25px 0 0}.overview-content .section-title{margin-bottom:22px}.party-member{gap:18px;padding:20px 0;min-height:116px}.portrait{width:82px;height:82px}.party-member h3{font-size:27px}.party-member p{font-size:15px;line-height:1.35;margin:5px 0 11px}.party-hp>span{font-size:13px}.hp-bar{height:7px}.your-character{font-size:10px}.story-column>h3{font-size:31px}.story-column>.prose{font-size:18px;line-height:1.6}.quest-block{margin-top:20px}.quest-block p{font-size:17px}.world-note{display:none}.table-ready{padding:22px 24px;gap:17px;flex-wrap:wrap}.d20-emblem{width:54px;height:54px;border-radius:10px}.d20-emblem svg{width:32px;height:32px}.table-ready h3{font-size:25px}.table-ready .button{margin:6px 0 0;width:100%}.table-tray{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:50;height:calc(78px + env(safe-area-inset-bottom));padding:6px 12px calc(5px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#0b2329,#16363a);border-top:2px solid #b79451;box-shadow:0 -5px #102a2e,0 -6px #b69a5966,0 -8px 20px #15262430}.table-tray>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:4px 0;color:#aab4a4;min-height:62px}.table-tray>button>svg{width:23px;height:23px;stroke-width:1.5}.table-tray>button>span:last-child{font-size:14px;line-height:1.1}.table-tray>button.active{color:#e9cb88;text-shadow:0 0 12px #ddb65344}.tray-play{position:relative;margin-top:-22px;gap:2px!important}.dice-medallion{width:49px;height:49px;border:2px solid #b79248;border-radius:50%;background:radial-gradient(#536048,#153236);box-shadow:inset 0 0 0 3px #102c31,0 2px 5px #0005;display:flex;align-items:center;justify-content:center;color:#e1bf78}.dice-medallion svg{width:27px;height:27px;stroke-width:1.4}.table-tray .tray-play>span:last-child{margin-top:4px}.workspace:not(.overview-space){padding:26px 22px 32px;min-height:65vh}.section-title{align-items:flex-start;gap:12px;margin-bottom:18px}.section-title h2{font-size:33px}.section-title>.button{font-size:15px;padding:9px 12px;min-height:44px}.section-title>.eyebrow{font-size:10px;align-self:center;white-space:nowrap}.section-title .eyebrow{font-size:11px}.page-intro{font-size:17px}.more-menu{display:block;position:fixed;right:12px;left:12px;bottom:calc(90px + env(safe-area-inset-bottom));z-index:60;background:#eee7d7;border:1px solid #a88849;box-shadow:0 -10px 45px #061b2766;padding:15px 20px;border-radius:5px;max-height:70vh;overflow:auto;animation:modal-in .2s}.more-menu>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px}.more-menu>button{display:flex;align-items:center;gap:17px;width:100%;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:25px;text-align:left;min-height:58px}.more-menu>button>svg{width:23px;color:#a28344}.more-menu>button>span{flex:1}.more-menu>button:last-child{border-bottom:0}.app-footnote{font-size:9px;padding:24px 18px}.app-footnote button{font-size:10px}.toast{bottom:calc(100px + env(safe-area-inset-bottom));padding:13px 18px;width:max-content;max-width:calc(100% - 28px)}.modal-scrim{padding:0;align-items:flex-end}.modal{border-radius:12px 12px 0 0;padding:24px 22px calc(28px + env(safe-area-inset-bottom));max-height:94dvh;max-width:none;box-shadow:inset 0 4px #d8c39b,0 -20px 80px #0004}.modal.wide{max-width:none}.modal>header{padding-bottom:18px}.modal h2{font-size:33px}.modal-actions{position:sticky;bottom:-28px;background:#eee7d7;padding:15px 0 6px;margin-top:20px}.modal-actions .button{min-height:48px}.builder-tabs{margin:0 -5px 20px}.builder-tabs button{padding:12px;font-size:16px}.builder-body{min-height:40vh}.form-grid{gap:12px}.field{margin:12px 0 18px}.field>span{font-size:16px}.ability-editor .field{padding:10px}.ability-editor .field>span{font-size:13px}.skill-choices{display:block}.skill-choices label{font-size:17px}.skill-choices .expertise{font-size:14px}.skill-choices>div{padding:10px 0}.portrait-preview{align-items:flex-start;gap:18px}.portrait-preview>img{width:100px;height:130px}.portrait-preview h3{font-size:27px}.portrait-preview p{font-size:15px}.portrait-preview .button{padding:8px 10px;font-size:14px}.character-heading{gap:22px;margin-bottom:24px}.character-heading h1{font-size:37px}.character-heading p{font-size:16px}.character-heading .eyebrow{font-size:10px}.portrait.large{width:90px;height:90px}.vitals{padding:17px 0;gap:5px}.vitals strong{font-size:38px}.vitals span{font-size:14px}.health-panel{padding:17px;margin:20px 0}.hp-controls{gap:8px}.hp-controls .button{padding:10px 12px;font-size:16px}.hp-controls input{width:60px!important}.health-title{font-size:18px}.temp-controls{font-size:16px}.sheet-tabs{margin-left:-5px;margin-right:-5px}.sheet-tabs button{padding:12px 15px;font-size:17px}.saving-throws button{padding:10px 8px;gap:7px;font-size:14px}.saving-throws svg{width:15px}.skill-row{min-height:57px;font-size:18px;gap:13px}.skill-row small{font-size:12px}.spell-row strong{font-size:26px}.spell-row small{font-size:15px}.spell-row .button{font-size:14px;padding:9px}.inventory-selector{gap:8px}.inventory-selector button{font-size:16px}.item-list>article{gap:14px}.item-info h3{font-size:27px}.item-info p{font-size:17px}.item-info small{font-size:14px}.chronicle-list{grid-template-columns:1fr;gap:8px}.chronicle-list h3{font-size:29px}.chronicle-list p{font-size:17px}.entry-kind{font-size:11px}.entry-status{font-size:13px}.scene-grid{grid-template-columns:1fr 1fr;gap:15px}.scene-grid strong{font-size:22px}.scene-grid small{font-size:13px}.scene-grid .button{font-size:13px;padding:8px}.scene-grid .icon-button{min-width:36px}.scene-preview{aspect-ratio:4/3;margin:24px -4px 0}.scene-preview>span{font-size:26px}.scene-controls{gap:8px}.scene-controls .button{padding:10px 13px}.scene-controls .button:first-child,.scene-controls .button:last-child{padding:10px}.display-options{gap:14px}.display-options>.field{width:120px}.dm-launchers{display:block}.dm-launchers>button{gap:17px;min-height:90px}.dm-launchers h3{font-size:27px}.dm-launchers p{font-size:17px}.member-row{flex-wrap:wrap;gap:12px}.member-row>span{font-size:14px;flex-basis:100%;padding-left:54px}.recorder{flex-wrap:wrap;gap:14px}.recorder>div{min-width:200px}.recorder>.button{width:100%}.recorder strong{font-size:28px}.recorder span{font-size:14px}.recorder+.actions>.button{flex:1;font-size:16px;padding:10px}.recording-row>.button{font-size:14px;padding:8px 12px}.map-viewport{height:55vh;max-height:none;margin:0 -5px}.map-toolbar{gap:10px}.map-toolbar .button{padding:9px 13px}.map-toolbar>span{font-size:15px}.map-token{width:46px;height:46px}.map-token>span{font-size:13px}.encounter-editor{grid-template-columns:1fr 1fr 1fr 35px;gap:8px;padding:18px 0}.encounter-editor>input{grid-column:1/-1}.encounter-editor>.check{font-size:14px}.encounter-editor .field>span{font-size:14px}.auth-page{display:block}.auth-art{height:290px;min-height:0}.auth-art>img{object-position:65% 47%}.auth-art>div{padding:25px}.auth-art .brand{top:0;left:0;padding:20px 25px;font-size:26px}.auth-art .brand svg{width:32px;height:32px}.auth-art h1{font-size:59px;line-height:.95}.auth-art p{font-size:19px;margin:12px 0 0;max-width:210px}.auth-art>div{justify-content:flex-end}.auth-form{padding:30px 25px 45px;max-width:600px}.auth-form h2{font-size:37px;margin:12px 0}.auth-form>.eyebrow{font-size:10px}.auth-form>.muted{margin-bottom:12px}.auth-links button{font-size:17px;min-height:44px}.auth-demo small{font-size:13px}.lobby{padding:0 24px 50px}.lobby>header{margin-bottom:38px}.lobby .brand{font-size:27px;gap:8px;padding:22px 0}.lobby .brand svg{width:32px}.lobby>header>.button{padding:8px 12px;font-size:14px}.lobby>h1{font-size:47px}.lobby>p{font-size:18px;margin:15px 0}.campaign-grid{grid-template-columns:1fr;gap:22px}.campaign-grid img{height:180px}.campaign-grid h2{font-size:33px}.campaign-grid>button>div{padding:20px}.lobby>.actions>.button{width:100%}.template-options{gap:10px}.template-options>button{padding:13px}.template-options strong{font-size:24px}.template-options span{font-size:15px}.display-pair{padding-top:70px}.display-pair h1{font-size:43px}.display-caption{padding:45px 20px 25px}}@media(max-width:390px){.topbar{padding:10px 12px}.mobile-brand>span{font-size:21px}.mobile-brand small{max-width:145px;font-size:10px}.save-status{display:none}.hero-content{padding:22px}.hero-content h1{font-size:39px}.overview-content{padding:24px 20px}.overview-content h2{font-size:29px}.party-member{gap:14px}.portrait{width:72px;height:72px}.party-member h3{font-size:25px}.party-member p{font-size:14px}.party-hp{gap:8px}.party-hp>span{font-size:12px}.section-title{flex-wrap:wrap}.section-title>.button{margin-left:auto}.section-title h2{font-size:31px}.workspace:not(.overview-space){padding:24px 18px}.character-heading h1{font-size:32px}.portrait.large{width:76px;height:76px}.character-heading{gap:17px}.hp-controls .button{padding:10px;font-size:15px}.scene-grid{grid-template-columns:1fr}.table-tray{padding-left:8px;padding-right:8px}.table-tray>button>span:last-child{font-size:13px}.dice-presets{gap:5px}.dice-presets button{min-width:46px}.display-options{gap:10px}.combatant{gap:9px;padding:12px 10px}.combatant strong{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.form-content{border:0;padding:0;margin:0;min-width:0}.form-content:disabled{opacity:.65}.portrait-studio{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.portrait-studio h3{display:flex;align-items:center;gap:10px}.portrait-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:20px}.portrait-gallery article{padding:12px;border:1px solid var(--line)}.portrait-gallery img{width:100%;aspect-ratio:1;object-fit:cover}.portrait-gallery a{display:block;font-size:14px;padding:12px}.portrait-pending{text-align:center;padding:28px 10px}.portrait-pending svg{animation:spin 3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.portrait-pending svg{animation:none}}.rulebook article{border-bottom:1px solid var(--line);padding:18px 0}.reference-table{overflow-x:auto}.reference-table td{padding:8px;border:1px solid var(--line);min-width:90px;font-size:15px}.theme-brassward{--paper:#172325;--ink:#e5dfce;--teal:#111e21;--gold:#ad8053;--brass:#b58b5d;--muted:#a7b2ac;--line:#3c4b49;--red:#d88a71;color:#e5dfce;background:#0a1417}.theme-brassward .main-column{background:radial-gradient(ellipse at 90% 0,#2d474530,transparent 55%),#0d191c;border-left:1px solid #45514b;border-right:1px solid #45514b}.theme-brassward .topbar{background:linear-gradient(110deg,#233237,#152126 70%);border-bottom:1px solid #98744d;box-shadow:0 2px 10px #0005,inset 0 1px #73817a22;color:#e5dfce}.theme-brassward .mobile-brand,.theme-brassward .topbar .icon-button{color:#dbdccd}.theme-brassward .mobile-brand>svg{color:#aa8359;stroke-width:1.3}.theme-brassward .mobile-brand small{color:#a9b8ad;font-weight:400}.theme-brassward .desktop-breadcrumb{color:#aaa990}.theme-brassward .save-status{color:#a8bdb0}.theme-brassward .demo-badge{color:#baa17c;border-color:#69604a}.brass-instrument-strip{display:flex;align-items:center;gap:10px;padding:5px 20px;min-height:31px;background:#101c1e;border-bottom:1px solid #34433f;color:#b6a082;font-size:10px;letter-spacing:2px}.brass-instrument-strip>svg{color:#8e7455;stroke-width:1.3}.brass-instrument-strip>i{height:1px;flex:1;background:linear-gradient(90deg,#66574055,transparent)}.brass-instrument-strip>small{color:#8faaa0;font-size:9px;letter-spacing:1px}.theme-brassward .workspace{background:transparent;min-height:calc(100vh - 180px)}.theme-brassward .workspace:not(.overview-space){margin:14px 12px 0;background:linear-gradient(120deg,#1b2b2de8,#142124f5);border:1px solid #43514c;box-shadow:0 8px 22px #0003,inset 0 1px #9ba99512;border-radius:2px}.theme-brassward .overview-content{background:linear-gradient(125deg,#1b2b2e,#142124)}.theme-brassward .campaign-hero{border-bottom:1px solid #a58050;box-shadow:0 3px 14px #0005}.theme-brassward .edition-plaque{background:#0c181bc9;border-color:#99815d;color:#d7c39e}.theme-brassward .button{position:relative;border-radius:2px;white-space:normal;transition:transform .12s,filter .12s;box-shadow:inset 0 1px #c2b18a20,0 2px 4px #0005;text-shadow:none;font-weight:600}.theme-brassward .button:not(.quiet):not(.danger){background:linear-gradient(110deg,#354440,#243733);border:1px solid #a38257;border-left:3px solid #b18c59;color:#f2e4c9}.theme-brassward .button.quiet{background:linear-gradient(115deg,#263539,#1b2a2c);border:1px solid #52615a;color:#d2d8ca;box-shadow:inset 0 1px #aab99b0d,0 2px 4px #0003}.theme-brassward .button:active{transform:translateY(2px);filter:brightness(.9);box-shadow:inset 0 2px 5px #0006}.theme-brassward .button:not(.danger):after{content:"";position:absolute;right:4px;top:4px;width:3px;height:3px;border-radius:50%;background:#927959;box-shadow:0 1px #0009;pointer-events:none}.button-gear{display:none}.theme-brassward .health-panel{background:radial-gradient(ellipse at 5% 0,#34494088,transparent 75%),#101e21;border:1px solid #596052;border-top-color:#8a7656;box-shadow:inset 0 1px #b5a77b19,0 4px 10px #0003}.theme-brassward .health-title>b>span{color:#a9b4a6}.theme-brassward .vitals>div{padding:10px 0;border-right:1px solid #43514a}.theme-brassward .vitals>div:last-child{border:0}.theme-brassward .vitals span{color:#a8b5a8}.theme-brassward .vitals svg{color:#b89a6e}.theme-brassward .ability-grid>button{background:linear-gradient(140deg,#26383a,#17272a);border:1px solid #566253;box-shadow:inset 0 1px #bcb18a17,0 2px 4px #0003}.theme-brassward .ability-grid span{color:#b3bba9}.theme-brassward .ability-grid b{color:#d0ad77}.theme-brassward .sheet-tabs,.theme-brassward .builder-tabs{border-bottom:1px solid #566051}.theme-brassward .sheet-tabs>button,.theme-brassward .builder-tabs>button{color:#a8b6aa;font-weight:600}.theme-brassward .sheet-tabs>button.active,.theme-brassward .builder-tabs>button.active{background:linear-gradient(0deg,#8a744529,transparent);border-bottom:2px solid #bd9560;color:#e9d6b0}.theme-brassward input:not([type=checkbox]):not([type=file]),.theme-brassward select,.theme-brassward textarea{background:#0e1e21;color:#e5dfce;border-color:#586458;color-scheme:dark}.theme-brassward input::placeholder,.theme-brassward textarea::placeholder{color:#8d9e94}.theme-brassward a{color:#d4b17c}.theme-brassward .eyebrow{color:#c5a477}.theme-brassward small,.theme-brassward .muted,.theme-brassward .page-intro{color:#a6b3a7}.theme-brassward .party-member p,.theme-brassward .party-hp>span,.theme-brassward .inventory-summary,.theme-brassward .item-info p,.theme-brassward .dm-launchers p{color:#a7b5a9}.theme-brassward .party-member:hover{background:#ad996c0b}.theme-brassward .hp-bar{background:#0c1a1b;border-color:#68715d}.theme-brassward .hp-bar i{background:linear-gradient(90deg,#a85643,#c98965)}.theme-brassward .portrait{background:#142527;border-color:#b18c58;outline-color:#4e5e51;box-shadow:0 4px 10px #0005}.theme-brassward .your-character{color:#c5a877}.theme-brassward .item-symbol{background:#15272a;border-color:#566252;color:#c3a372}.theme-brassward .item-info h3 span{color:#c7ad7f}.theme-brassward .inventory-selector button.active{background:#33473d;color:#f1dfbb}.theme-brassward .rule-note{background:#a58b4f12;border-color:#947b51;color:#d1d6c6}.theme-brassward .empty{color:#a6b3a7}.theme-brassward .empty h3{color:#e5dfce}.theme-brassward .table-ready{background:#0f2022;border-color:#59604c}.theme-brassward .app-footnote{color:#90a195}.theme-brassward .world-note{color:#b6a581}.theme-brassward .sidebar{background:linear-gradient(100deg,#0d1b20,#172c2e);border-right:1px solid #94764e}.theme-brassward .sidebar nav button.active{background:linear-gradient(90deg,#9a815b28,transparent);border-left-color:#ba925b;color:#ead9b5}.theme-brassward .table-tray{background:linear-gradient(#233637,#101e22 30%);border-top:1px solid #927751;box-shadow:0 -5px 20px #0007,inset 0 1px #aaa4831a}.theme-brassward .table-tray>button{min-height:66px;color:#9eafa2;gap:5px}.theme-brassward .table-tray>button.active{color:#e5c392}.theme-brassward .table-tray>button>svg{color:inherit;stroke-width:1.5}.theme-brassward .table-tray>button>span:last-child{font-size:14px;font-weight:600}.theme-brassward .dice-medallion{position:relative;isolation:isolate;overflow:visible;border:1px solid #a58a5c;outline:4px solid #122427;background:radial-gradient(circle at 40% 30%,#456057,#1a3332 75%);box-shadow:0 0 0 5px #615842,inset 0 2px 5px #0005;color:#e3c38e;border-radius:50%}.theme-brassward .dice-medallion>.play-cog{position:absolute;width:66px;height:66px;z-index:-1;color:#6e6952;stroke-width:1.2;filter:drop-shadow(0 2px 1px #0009);transition:transform .18s}.theme-brassward .tray-play:active .play-cog{transform:rotate(22deg)}.theme-brassward .modal{background:linear-gradient(130deg,#223237,#142427);border:1px solid #8f7853;box-shadow:inset 0 0 0 4px #0e1d20,0 20px 80px #0009}.theme-brassward .modal>header{border-bottom:1px solid #78694e}.theme-brassward .more-menu{background:linear-gradient(120deg,#26373a,#152629);border:1px solid #8a7655;box-shadow:0 -8px 35px #0008,inset 0 0 0 3px #0f2022}.theme-brassward .more-menu>button>svg{color:#c4a676}.theme-brassward .copy-box{background:#0e2023;border-color:#64705b;color:#dfd9c5}.theme-brassward .reference-table td{border-color:#48594e}.theme-brassward .reference-text{color:#d6dbcd}.theme-brassward .error{background:#512f2b;color:#f3c3ad}.theme-brassward .dice-presets button{color:#d9c8a5;background:#203539;border-color:#7f7858}.visiting-character{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border:1px solid var(--line);margin-bottom:18px;font-size:16px}.visiting-character[hidden]{display:none}.location-dock{display:flex;align-items:center;gap:10px;background:#112326;color:#c8d1bf;border-bottom:1px solid #3f5046;padding:7px 20px}.location-dock>div{min-width:0;flex:1}.location-dock small{display:block;font-size:9px;letter-spacing:1.5px;color:#b49a73}.location-dock strong{display:block;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-dock>button{display:flex;align-items:center;gap:3px;background:#233a39;color:#d9c6a0;border:1px solid #6b7056;padding:8px 12px;min-height:40px}.has-location-art .main-column{background-image:linear-gradient(#102025b8,#102025da),var(--location-art);background-size:cover;background-position:center;background-attachment:fixed}@media(max-width:850px){.theme-brassward .main-column{border:0}.theme-brassward .topbar{padding-left:18px;padding-right:18px}.theme-brassward .mobile-brand>span{font-size:22px}.theme-brassward .brass-instrument-strip{padding:5px 18px;font-size:10px;letter-spacing:1.3px}.theme-brassward .brass-instrument-strip>small{font-size:8px;letter-spacing:.7px}.theme-brassward .workspace:not(.overview-space){margin:10px 8px 0;padding:25px 16px;min-height:calc(100vh - 205px)}.theme-brassward .workspace{padding-bottom:20px}.location-dock{padding:7px 18px}.location-dock strong{font-size:14px}.visiting-character{display:block}.visiting-character .button{margin-top:10px}}@media(prefers-reduced-motion:reduce){.theme-brassward .dice-medallion>.play-cog{transition:none}.theme-brassward .tray-play:active .play-cog{transform:none}}.theme-brassward .workspace:not(.overview-space){border-color:#645f4e;box-shadow:inset 0 0 0 3px #0c1519,0 0 0 1px #050c10,0 8px 22px #0006}.theme-brassward .button{background-image:linear-gradient(110deg,#354440,#243733);border-radius:1px}.theme-brassward .button:not(.danger):before{content:"";position:absolute;left:5px;top:5px;width:4px;height:4px;border-radius:50%;background:linear-gradient(135deg,#9b8667,#443d30 48%,#111c1d 50%,#7f7155);box-shadow:0 0 0 1px #0a1418;pointer-events:none}.theme-brassward .button:not(.danger):after{width:4px;height:4px;right:5px;top:auto;bottom:5px;background:linear-gradient(135deg,#9b8667,#443d30 48%,#111c1d 50%,#7f7155);box-shadow:0 0 0 1px #0a1418}.theme-brassward .character-heading p{color:#aab4a7}.theme-brassward .portrait.large{width:102px;height:102px;border:3px double #b09366;outline:3px solid #101b1e;box-shadow:0 0 0 4px #746447,0 6px 15px #0007}.theme-brassward .table-tray>button:not(.tray-play){border:1px solid #555549;border-top-color:#81765c;background:linear-gradient(135deg,#38413d22,#0002);box-shadow:inset 0 0 0 2px #07131966;clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}.theme-brassward .table-tray>button.active:not(.tray-play){border-bottom:2px solid #cc9b53;background:radial-gradient(ellipse at 50% 100%,#b48b3f22,transparent 75%),#22312f;box-shadow:inset 0 -3px 10px #c08e3215}@media(max-width:850px){.theme-brassward .table-tray{gap:4px;padding-left:6px;padding-right:6px}.theme-brassward .table-tray>button{min-width:0}.theme-brassward .table-tray>button>span:last-child{font-size:13px}.theme-brassward .character-heading{gap:20px}.theme-brassward .character-heading h1{font-size:34px}}.theme-brassward .workspace:not(.overview-space),.theme-brassward .overview-content{background-image:linear-gradient(115deg,#142327d9,#0e1a1ddb),url(/art/blackened-iron.webp);background-size:auto,520px}.theme-brassward .button:not(.danger){background-image:linear-gradient(110deg,#31403cc4,#17272bd6),url(/art/blackened-iron.webp);background-size:auto,260px}.theme-brassward .button.quiet{background-image:linear-gradient(110deg,#293737c7,#17262bd9),url(/art/blackened-iron.webp)}.theme-brassward .table-tray{background-image:linear-gradient(#1e3032da,#0d181be8),url(/art/blackened-iron.webp);background-size:auto,390px}.theme-brassward .modal,.theme-brassward .more-menu{background-image:linear-gradient(125deg,#203237df,#0e1d22e8),url(/art/blackened-iron.webp);background-size:auto,520px}.theme-brassward .health-panel{background-image:linear-gradient(120deg,#243c33b0,#0b191dca),url(/art/blackened-iron.webp);background-size:auto,420px}.adventurer-creator>h3{font-size:37px;margin-top:28px;outline:none}.creator-progress{display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:11px;letter-spacing:1.2px}.creator-progress>div{width:100%;height:3px;background:var(--line);margin-top:5px}.creator-progress i{height:3px;display:block;background:#b49562;transition:width .2s}.creator-count{margin:20px 0 12px;color:var(--muted);font-size:15px}.creator-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.creator-option{border:1px solid var(--line);background:#82744f09;position:relative;min-width:0}.creator-option.selected{border-color:#b38b46;box-shadow:inset 0 0 0 1px #b38b46;background:#b9954a12}.creator-option>button:first-child{display:flex;align-items:center;gap:12px;width:100%;padding:15px;text-align:left;min-height:76px}.creator-option>button:first-child>span:not(.creator-check){flex:1;min-width:0}.creator-option strong{display:block;font-family:var(--serif);font-size:25px;line-height:1.15;font-weight:600}.creator-option small{margin-top:7px;line-height:1.45;font-size:15px}.creator-check{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:1px solid #9e8a5a;border-radius:50%;color:#b59c6c}.creator-reference{display:flex;gap:7px;align-items:center;font-size:14px;color:var(--muted);padding:4px 15px 12px;min-height:42px}.species-options{grid-template-columns:repeat(3,1fr)}.species-options .creator-option>button:first-child{padding:0;display:block;position:relative}.species-options img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.species-options .creator-option>button:first-child>span:not(.creator-check){display:block;padding:14px}.species-options .creator-check{position:absolute;top:9px;right:9px;background:#10242bce}.species-options .creator-option small{font-size:13px}.creator-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.creator-scores .field{margin:10px 0}.creator-final-scores{display:grid;grid-template-columns:repeat(6,1fr);margin:25px 0;gap:6px}.creator-final-scores>div{text-align:center;border:1px solid var(--line);padding:12px 5px}.creator-final-scores strong{display:block;font-family:var(--serif);font-size:29px}.creator-final-scores span{font-size:14px;color:var(--muted)}.creator-portrait{max-width:320px;margin:24px auto;text-align:center}.creator-portrait img{width:100%;aspect-ratio:1;object-fit:cover;border:3px double #aa8b57;outline:1px solid #aa8b57;outline-offset:4px}.creator-portrait small{margin-top:17px}.creator-summary{display:flex;align-items:center;gap:24px;margin:28px 0}.creator-summary img{width:110px;height:110px;border-radius:50%;border:3px double #aa8b57;object-fit:cover}.creator-summary h3{font-size:35px}.creator-summary p{margin:7px 0}.creator-summary strong{font-size:16px}.creator-footer{position:sticky;bottom:-28px;background:var(--paper);z-index:2;padding-bottom:18px;margin-bottom:-10px}.creator-draft{text-align:center;font-size:12px;padding-top:16px}.theme-brassward .creator-option{background-image:linear-gradient(115deg,#1a2d30bb,#101d21cd),url(/art/blackened-iron.webp);background-size:auto,350px}.theme-brassward .creator-option.selected{border-color:#a98e5c;background-image:linear-gradient(115deg,#4051439e,#263b34bd),url(/art/blackened-iron.webp);box-shadow:inset 0 0 0 2px #101d21}.theme-brassward .creator-option>button{color:#e2dfd1}.theme-brassward .creator-reference{color:#b7c0ae}.theme-brassward .creator-footer{background:#19282b}@media(max-width:650px){.adventurer-creator>h3{font-size:33px}.creator-options{grid-template-columns:1fr}.species-options{grid-template-columns:1fr 1fr;gap:10px}.species-options .creator-option>button:first-child>span:not(.creator-check){padding:12px 10px}.creator-option strong{font-size:25px}.creator-scores{grid-template-columns:1fr 1fr}.creator-final-scores{grid-template-columns:repeat(3,1fr)}.creator-summary{gap:17px}.creator-summary img{width:88px;height:88px}.creator-footer{bottom:-24px;padding-top:15px;padding-bottom:20px}.creator-footer .button{font-size:16px;padding:11px 16px}.creator-progress{font-size:10px}.creator-progress>span:last-of-type{max-width:48%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.scene-preview video{width:100%;height:100%;object-fit:contain;background:#050808}.scene-grid video{width:100%;aspect-ratio:16/10;object-fit:cover}.video-job{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.video-job video{width:100%;border-radius:12px;margin:8px 0}.video-job .button{margin:6px 6px 0 0}.scene-cast{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.scene-cast button{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:inherit;text-align:left}.scene-cast button[aria-pressed=true]{outline:2px solid #b98b54}.scene-cast img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.scene-cast small{font-size:12px}.generated-scene{width:100%;border-radius:12px;margin:12px 0}.table-actions{margin:18px 0 28px}.party-vitals{display:grid;gap:9px}.party-vitals>button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:12px;padding:12px}.party-vitals img{width:46px;height:52px;object-fit:cover;border-radius:7px}.party-vitals span{flex:1;min-width:0}.party-vitals small{display:block;font-size:12px;opacity:.7;margin-top:4px}.party-vitals b{font-size:20px;text-align:right}.party-vitals b small{font-size:11px}.catalog-options{display:grid;gap:7px;max-height:280px;overflow:auto;margin:12px 0}.catalog-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:inherit;min-height:48px}.catalog-options button[aria-pressed=true]{outline:2px solid #b98b54}.catalog-options small{font-size:12px;white-space:nowrap}.map-toolbar{flex-wrap:wrap}.display-map-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#080e10}.display-map-stage{position:relative;display:inline-block;flex-shrink:0;max-width:100vw;max-height:100vh}.display-map-art{display:block;width:auto;height:auto;max-width:100vw;max-height:100vh}.display-map-token{position:absolute;transform:translate(-50%,-50%);width:clamp(28px,3.4vw,68px);aspect-ratio:1;border:3px solid;border-radius:50%;box-shadow:0 2px 10px #0009;background:#193035;color:#fff;display:grid;place-items:center;transition:left .22s ease-out,top .22s ease-out}.display-map-token>img{width:100%;height:100%;border-radius:50%;object-fit:cover;min-height:0}.display-map-token>span{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);white-space:nowrap;background:#08191ae8;border:1px solid #a68b5d77;border-radius:3px;padding:2px 7px;color:#fff3d6;font-size:clamp(12px,1.3vw,22px);line-height:1.3;max-width:24vw;overflow:hidden;text-overflow:ellipsis}@media(prefers-reduced-motion:reduce){.display-map-token{transition:none}}.combat-actions-panel{padding:22px 0 26px;border-block:1px solid var(--line);margin-bottom:24px;display:grid;gap:15px}.combat-action-heading h3{margin:6px 0;font-size:27px}.combat-action-heading p{margin:0;color:var(--muted)}.turn-budget{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:14px;color:var(--gold)}.combat-actions-panel>.button{width:100%;min-height:52px}.combat-support-note{font-size:13px;line-height:1.65;margin:0}.dice-result-stage{text-align:center}.dice-result-stage canvas{display:block;width:100%;height:220px}.dice-outcome{font:24px/1.4 var(--serif);margin:18px 0 24px;min-height:68px}.dice-breakdown{margin-bottom:22px}.dice-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px 0;border-top:1px solid var(--line)}.dice-breakdown small{display:block;color:var(--muted);font-size:13px}.dice-breakdown strong{font-size:25px;color:var(--gold)}.encounter-editor{flex-wrap:wrap}.encounter-editor .field{min-width:85px;flex:1}.tactical-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,rgba(239,221,177,.27) 1px,transparent 1px),linear-gradient(to bottom,rgba(239,221,177,.27) 1px,transparent 1px)}.map-ruler{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;fill:#f4d795;stroke:#f4d795;stroke-width:.4;filter:drop-shadow(0 1px 2px #000)}.map-stage.measuring{cursor:crosshair}.ruler-readout{font-weight:700;color:var(--gold);padding:14px 0}.map-setup-preview{width:100%;max-height:160px;object-fit:contain}.approval-row{padding:20px 0;border-top:1px solid var(--line)}.portrait-paths{display:grid;gap:10px;margin:18px 0}.selfie-reference{display:grid;gap:12px;padding:16px;border:1px solid var(--line);margin-bottom:18px}.selfie-reference p{margin:0}.selfie-preview{width:100%;max-height:220px;object-fit:contain;border-radius:3px}.story-choices{margin:26px 0 34px}.story-choices>.section-title{gap:12px;flex-wrap:wrap}.story-moment{padding:24px 0;border-top:1px solid var(--line)}.story-moment>header h3{font:30px/1.15 var(--serif);margin:9px 0 13px}.story-dialogue{font-size:17px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 20px}.story-decision-list{display:grid;gap:10px}.story-decision{padding:16px;text-align:left;min-height:76px;width:100%;color:inherit;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:4px;transition:border-color .15s,background .15s}.story-decision:hover:not(:disabled){border-color:var(--gold)}.story-decision:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.story-decision:disabled{opacity:.55;cursor:not-allowed}.story-decision>strong{font-size:18px;line-height:1.35;display:block;overflow-wrap:anywhere}.story-decision-effects{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:14px;line-height:1.5;color:var(--gold)}.story-decision-effects>span{display:flex;gap:6px;align-items:center}.story-decision>small{display:block;margin-top:7px;font-size:14px;color:var(--muted)}.story-helper{font-size:14px;line-height:1.65;color:var(--muted);margin:15px 0}.story-player-tools{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:15px 0;color:var(--muted);font-size:14px}.story-player-tools>span{display:flex;align-items:center;gap:7px}.story-player-tools>label{display:flex;align-items:center;gap:8px}.story-player-tools select{width:auto;min-height:44px;max-width:100%;padding:8px}.story-outcome{padding:16px 0 12px 15px;border-left:3px solid var(--gold);margin:15px 0}.story-outcome>strong{display:block;font-size:18px;line-height:1.4}.story-outcome>span{display:block;color:var(--gold);font-size:14px;margin-top:8px}.story-outcome p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:12px 0 0}.story-table-responses{margin:18px 0}.story-table-responses summary,.story-history>summary,.story-option-editor summary{cursor:pointer;padding:10px 0;min-height:44px;font-size:15px;color:var(--muted)}.story-table-responses>div{border-top:1px solid var(--line);padding:13px 0}.story-table-responses strong,.story-table-responses span{display:block}.story-table-responses span{font-size:14px;line-height:1.5;margin-top:6px}.story-table-responses p{font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.story-empty{display:flex;gap:10px;line-height:1.65;align-items:flex-start}.story-empty svg{flex-shrink:0;margin-top:4px}.story-history{border-top:1px solid var(--line);margin-top:24px}.story-moment-closed>header h3{font-size:24px}.story-option-editor{border-top:1px solid var(--line);padding:20px 0}.story-option-editor>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.story-option-editor h4{font:24px/1.2 var(--serif);margin:0}.story-form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.story-form-pair .field{min-width:0}.story-form-pair input,.story-form-pair select{min-width:0;width:100%}.theme-brassward .story-decision{background-image:linear-gradient(110deg,#273a36d9,#15262bdc),url(/art/blackened-iron.webp);background-size:auto,340px}.theme-brassward .story-decision:disabled{opacity:.55}@media(max-width:400px){.story-form-pair{grid-template-columns:1fr}.story-decision{padding:15px 13px}.story-moment>header h3{font-size:28px}}@media(prefers-reduced-motion:reduce){.story-decision{transition:none}}.map-boundaries{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;fill:none;stroke-width:3;filter:drop-shadow(0 1px 2px #000)}.map-boundaries line{vector-effect:non-scaling-stroke}.map-boundaries .solid-wall{stroke:#ecb16d}.map-boundaries .closed-door{stroke:#df7664;stroke-dasharray:5 3}.map-boundaries .open-door{stroke:#76bd9d;stroke-dasharray:2 5;opacity:.65}.map-route-controls{padding:14px;border:1px solid var(--line);margin:12px 0}.dice-hud{position:fixed;right:22px;bottom:24px;z-index:75;width:min(420px,calc(100vw - 28px));color:#f3e9cc;background:linear-gradient(125deg,#163237f5,#102126f5);border:1px solid #9b8055;border-radius:8px;box-shadow:0 8px 30px #0005,inset 0 0 0 3px #ffffff04;pointer-events:none;animation:dice-hud-arrive .22s ease-out}.dice-hud-main{display:flex;align-items:center;min-height:150px;padding:8px 40px 8px 2px;gap:3px}.dice-hud canvas{display:block;width:156px;height:140px;flex:0 0 156px;pointer-events:none}.dice-hud-copy{flex:1;min-width:0;padding:12px 0}.dice-hud .eyebrow{font-size:10px;letter-spacing:1.5px;color:#d1b47b}.dice-hud-outcome{font:600 21px/1.18 var(--serif);margin:7px 0 2px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dice-hud button{pointer-events:auto;touch-action:manipulation;color:#f3e9cc;min-width:44px;min-height:44px}.dice-hud-dismiss,.dice-hud-sound{position:absolute;right:0;display:flex;align-items:center;justify-content:center}.dice-hud-dismiss{top:0}.dice-hud-sound{bottom:0;color:#baa67d!important}.dice-hud.is-expanded .dice-hud-sound{bottom:auto;top:44px}.dice-hud-details-toggle{padding:5px 0;font-size:15px;text-decoration:underline;text-underline-offset:4px;text-align:left}.dice-hud-details{pointer-events:auto;max-height:min(45vh,360px);overflow:auto;overscroll-behavior:contain;padding:0 18px 18px;border-top:1px solid #a98d573d;font-size:16px;line-height:1.4}.dice-hud-details>p{margin:14px 0}.dice-hud-details .dice-breakdown{margin-bottom:8px}.dice-hud .dice-breakdown>div{border-color:#a98d574d}.dice-hud .dice-breakdown strong{color:#ecd29c}.dice-hud small{color:#bfc8b6}.dice-hud-main:has(>.dice-hud-copy:only-child){padding-left:20px;min-height:100px}.dice-hud button:focus-visible{outline:2px solid #edc887;outline-offset:-4px}@keyframes dice-hud-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:850px){.dice-hud{right:14px;bottom:calc(94px + env(safe-area-inset-bottom));width:calc(100vw - 28px)}.dice-hud-main{padding-right:36px}.dice-hud canvas{width:148px;flex-basis:148px}.dice-hud-outcome{font-size:20px}}@media(prefers-reduced-motion:reduce){.dice-hud{animation:none}}.dice-hud-total{display:block;font:600 40px/1 var(--serif);color:#f4d795;margin-bottom:8px}.dice-hud-outcome>span{display:block;font:500 15px/1.35 var(--sans)}.transcript-speakers{margin:16px 0}.transcript-segment{border-bottom:1px solid var(--line);padding:10px 0}.transcript-segment>summary{padding:8px 0;cursor:pointer}.transcript-segment>summary>strong{display:block;font-size:16px}.transcript-segment>summary>span{display:block;font-size:15px;line-height:1.4;overflow-wrap:anywhere;margin:6px 0}.transcript-segment .field{margin:12px 0}.transcript-segment textarea{width:100%}.live-play{max-width:850px;margin:auto}.play-scene{height:300px;position:relative;overflow:hidden;background:#10272c;color:#fff3d8;isolation:isolate;border:1px solid #ad8a4b66;border-radius:5px}.play-scene>img,.play-scene>video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}.play-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#071b2450,transparent 25%,#071b24eb);z-index:-1}.play-scene-copy{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px}.play-now-line{position:absolute;top:15px;left:20px;right:16px;display:flex;justify-content:space-between;align-items:center}.play-now-line>span{font-size:12px;letter-spacing:2px;display:flex;gap:9px;align-items:center}.play-now-line>button{display:flex;gap:7px;align-items:center;background:#0d252cbd;color:#fff3d8;border:1px solid #c6a36b66;border-radius:5px;padding:8px 11px;min-height:44px}.play-scene h1{font-size:38px;line-height:1.04;max-width:650px;overflow-wrap:anywhere;margin:0 0 14px}.play-scene-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;color:#ebd5ac}.play-scene-meta>button{display:flex;align-items:center;gap:6px;min-height:44px;color:inherit;white-space:nowrap}.play-scene-map>img{object-fit:contain}.play-scene-map .play-scene-copy{pointer-events:none}.play-scene-map button{pointer-events:auto}.play-scene-tokens{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.play-scene-tokens>span{position:absolute;transform:translate(-50%,-50%);height:25px;width:25px;display:grid;place-items:center;border:2px solid #d5b57a;border-radius:50%;background:#15383c;overflow:hidden;font-size:12px}.play-scene-tokens img{width:100%;height:100%;object-fit:cover}.play-character-strip{display:flex;align-items:center;gap:12px;width:100%;padding:14px 0;border-bottom:1px solid var(--line);text-align:left;min-height:65px}.play-character-strip:disabled{opacity:1}.play-character-strip>img{width:38px;height:38px;object-fit:cover;border-radius:50%;border:1px solid var(--gold)}.play-character-strip>strong{font-size:16px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-character-strip>span{display:flex;align-items:center;gap:4px;font-size:15px;white-space:nowrap}.play-character-strip svg{color:var(--gold)}.play-gather{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.play-gather p{margin:0}.play-turn-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 14px}.play-turn-heading h2{font-size:28px;margin:7px 0 0}.play-current-action .combat-actions-panel{border:0;padding:0;margin:0;gap:12px}.play-current-action .field{margin:0}.play-secondary{border-top:1px solid var(--line);margin-top:18px;padding-top:4px}.play-secondary>summary,.combat-support>summary{cursor:pointer;min-height:48px;display:list-item;padding:12px 0;font-size:15px;color:var(--muted)}.play-secondary[open]{padding-bottom:16px}.play-secondary>.actions{margin-top:12px}.play-story-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.story-focused{margin:24px 0 18px}.story-focused .story-moment{border:0;padding:12px 0}.story-focused .story-moment>header h3{font-size:29px;margin-top:6px}.story-focused .story-dialogue{line-height:1.45;margin-bottom:16px}.story-focused .story-empty{margin:10px 0;line-height:1.45}.story-focused .story-player-tools{margin:10px 0}.story-focused .story-decision{min-height:65px;padding:13px}.story-focused .story-decision-effects{margin-top:6px}.story-focused .story-history{margin-top:12px}.play-quick-tools{display:flex;gap:10px;flex-wrap:wrap}.play-waiting{color:var(--muted);font-size:16px}.play-history .event-feed{margin-top:0}.combat-support .combat-support-note{padding:8px 0 0}@media(max-width:850px){.live-play{margin:-8px -4px 0}.play-scene{height:250px}.play-scene-copy{padding:18px}.play-scene h1{font-size:33px}.play-character-strip{gap:8px}.play-character-strip>strong{font-size:15px}.play-character-strip>span{font-size:14px}.play-character-strip>img{height:32px;width:32px}.play-current-action .turn-budget{font-size:13px;gap:6px 13px}.story-focused .story-moment>header h3{font-size:27px}.play-secondary .combatant{padding-inline:0}}.play-lead-portrait{position:absolute;right:10px;top:56px;bottom:42px;width:42%;max-width:230px;padding:0;z-index:-1;overflow:hidden;-webkit-mask-image:linear-gradient(black 75%,transparent);mask-image:linear-gradient(black 75%,transparent)}.play-lead-portrait:disabled{opacity:1}.play-lead-portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;border-radius:6px;box-shadow:0 0 25px #071b24}.play-scene h1.has-portrait{max-width:58%;font-size:36px}.play-scene-caption{font-size:15px;line-height:1.3;color:#ebd5ac;max-width:56%;margin:0 0 12px}.play-focus-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;font-size:14px;color:var(--muted)}.play-focus-picker select{max-width:65%;min-height:44px}.play-scene-map .play-lead-portrait{width:30%;opacity:.92}.play-character-strip>strong{font-size:14px;color:var(--muted)}@media(max-width:850px){.play-scene{height:270px}.play-scene h1.has-portrait{font-size:31px}.play-lead-portrait{right:8px;top:56px;bottom:44px;width:42%}.play-scene-caption{font-size:14px}}.play-lead-portrait{z-index:0}.play-scene-copy{z-index:1;pointer-events:none}.play-scene-copy button{pointer-events:auto}.dm-copilot>summary>svg{vertical-align:middle;margin-right:7px;color:var(--gold)}.dm-copilot .field{margin:12px 0}.dm-copilot .check{font-size:14px}.copilot-draft{margin-top:20px;padding-top:10px;border-top:1px solid var(--line)}.copilot-note{font-size:15px;line-height:1.45}.copilot-option{border-top:1px solid var(--line);padding:6px 0 12px}.copilot-option>p{font-size:14px;margin:0}.copilot-draft details>summary{min-height:44px;padding:10px 0;cursor:pointer;color:var(--muted);font-size:14px}:root{--name-font:"Cinzel Decorative","Cormorant Garamond",Georgia,serif}.character-name,.play-scene h1.has-portrait{font-family:var(--name-font);font-weight:700;letter-spacing:-.035em;line-height:1.16;text-wrap:balance}.character-heading>div{min-width:0}.character-heading>div:first-child{flex-shrink:0}.character-heading>div:last-child{overflow-wrap:anywhere}.play-scene h1.has-portrait{font-size:30px;color:#f4e6cb;text-shadow:0 2px 12px #061a20,0 1px 1px #000}.character-name{font-size:39px}@media(max-width:850px){.play-scene h1.has-portrait{font-size:25px}.character-name{font-size:30px}}.play-lead-portrait.has-cutout{top:44px;bottom:35px;-webkit-mask-image:linear-gradient(black 83%,transparent);mask-image:linear-gradient(black 83%,transparent)}.play-lead-portrait.has-cutout>img{object-fit:contain;object-position:bottom center;border-radius:0;box-shadow:none;filter:drop-shadow(0 5px 10px #071b2499)}.map-token.has-cutout{background:#102c30cc}.map-token.has-cutout>img{object-fit:contain;object-position:center bottom}.story-custom-intent,.story-intent-review{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}.story-custom-intent>summary,.story-intent-review>summary{min-height:48px;padding:12px 0;cursor:pointer}.story-custom-intent form,.story-intent-review form{display:grid;gap:12px;padding-bottom:14px}.story-intent-review>section{padding:14px 0;border-bottom:1px solid var(--line)}.story-intent-review p{margin:8px 0 12px}.theme-brassward .modal-actions{background:#142326;border-color:#566051}.theme-brassward .builder-tabs,.theme-brassward .sheet-tabs{scrollbar-color:#7e795f #142326}.transcript-assist{border:1px solid var(--line);padding:16px;margin:10px 0 20px;border-radius:8px}.transcript-assist .section-title{margin-bottom:8px}.transcript-assist h3{margin:0;font-size:25px}.transcript-assist>p{line-height:1.4;margin:10px 0}.transcript-assist .field{margin:14px 0}.transcript-assist .check{align-items:flex-start;line-height:1.35;padding:8px 0}.transcript-assist input[type=checkbox]{flex-shrink:0;width:20px;height:20px;margin-top:2px}.transcript-assist-group{border:1px solid var(--line);border-radius:6px;padding:12px;margin:14px 0}.transcript-assist-group>p{font-size:16px;line-height:1.45;margin:8px 0;overflow-wrap:anywhere}.transcript-assist details>summary,.transcript-manual>summary{cursor:pointer;min-height:44px;padding:12px 0;line-height:1.3}.transcript-assist-segment{display:flex;gap:10px;padding:12px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.45;overflow-wrap:anywhere}.transcript-assist-segment small,.transcript-assist-result details p small{display:block;margin-bottom:5px}.transcript-assist-result>.button{width:100%;margin-top:14px}.transcript-manual{border-top:1px solid var(--line);margin-top:18px}.transcript-assist select{width:100%;min-height:44px}.transcript-assist-result details p{overflow-wrap:anywhere}.transcript-assist .muted{font-size:15px}@media(max-width:600px){.transcript-assist{padding:14px 12px}.transcript-assist .section-title{gap:8px}.transcript-assist h3{font-size:25px}.transcript-assist>.button{width:100%;margin-top:10px}.transcript-assist .eyebrow{font-size:10px}.transcript-assist-group{padding:10px}}.map-movement-preview{display:flex;flex-direction:column;gap:3px;padding:11px 0;border-block:1px solid var(--line);color:var(--gold);font-size:16px;line-height:1.4}.map-movement-preview span{color:var(--muted);font-size:15px}.map-movement-preview.is-blocked strong,.map-movement-preview.is-blocked span{color:#e6a799}.map-drag-line{stroke-dasharray:1.5 1}.map-drag-line.is-blocked{stroke:#e6a799}.condition-impact{position:relative;overflow:hidden;border-left:2px solid var(--gold);padding:12px 14px 12px 37px;animation:roll-preview-arrive .26s ease-out both}.condition-impact:before{content:"◆";position:absolute;left:13px;top:11px;color:var(--gold);font-size:15px;line-height:1.5}.condition-impact>small:first-child{color:inherit;font-size:15px;font-weight:600;line-height:1.5}.condition-impact details{margin-top:4px}.condition-impact summary{cursor:pointer;min-height:44px;padding:11px 0;font-size:14px;color:var(--muted)}.condition-impact details small+small{margin-top:7px}.condition-impact[data-roll-mode=advantage]{border-left-color:#6cafa0}.condition-impact[data-roll-mode=disadvantage]{border-left-color:#c89075}@keyframes roll-preview-arrive{0%{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.condition-impact{animation:none}}.dm-workspace-art{position:relative;isolation:isolate;overflow:hidden;min-height:158px;margin:10px 0 22px;background:#101b1c;color:#f1e4c8;border-block:1px solid #92714b66}.dm-workspace-art>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:72% 62%;z-index:-2;animation:desk-reveal .7s ease-out both}.dm-workspace-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#091315d9 0%,#0913158c 48%,transparent 85%)}.dm-workspace-art>div{padding:26px 20px;max-width:80%}.dm-workspace-art .eyebrow{font-size:10px;color:#d5b47b;letter-spacing:2px}.dm-workspace-art h3{font-size:31px;margin:8px 0;max-width:220px}.dm-workspace-art p{font-size:15px;color:#d9d9ca;margin:0;line-height:1.4}.copilot-draft-preview,.preparation-review{animation:director-arrive .3s ease-out both;min-width:0}.copilot-draft-preview>h3{font-size:33px;line-height:1.08;margin:8px 0 16px;overflow-wrap:anywhere}.copilot-draft-preview>.prose{font-size:19px;line-height:1.55}.copilot-preview-options{list-style:none;counter-reset:story-option;margin:18px 0;padding:0}.copilot-preview-option{counter-increment:story-option;position:relative;padding:15px 0 15px 36px;border-top:1px solid var(--line)}.copilot-preview-option:before{content:counter(story-option,decimal-leading-zero);position:absolute;left:0;top:18px;font-size:12px;letter-spacing:1px;color:var(--gold)}.copilot-preview-option>strong{font-size:18px;font-weight:600}.copilot-preview-option p{margin:5px 0 0;font-size:14px;line-height:1.45}.copilot-preview-setting>summary,.copilot-editor>summary,.copilot-request>summary,.preparation-options>summary{min-height:48px;padding:13px 0;cursor:pointer;color:var(--muted);font-size:15px}.copilot-editor,.copilot-request{border-block:1px solid var(--line);margin:14px 0}.copilot-editor[open]{padding-bottom:18px}.copilot-draft>.actions>.button:first-child{min-height:52px}.preparation-review{margin:14px 0 20px}.preparation-review>header h3{font-size:30px;margin:8px 0}.preparation-review>header p{font-size:16px;line-height:1.5;margin:10px 0 18px;color:var(--muted)}.preparation-tabs{display:flex;border-bottom:1px solid var(--line);gap:8px;margin-bottom:14px}.preparation-tabs button{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 13px;color:var(--muted);border-bottom:2px solid transparent;transition:color .15s,border-color .15s,transform .15s}.preparation-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--gold)}.preparation-tabs button:active{transform:scale(.97)}.preparation-preview{animation:director-arrive .24s ease-out both}.preparation-preview figure{margin:0}.preparation-preview img{display:block;width:100%;aspect-ratio:3/2;max-height:440px;object-fit:contain;background:#0a1518}.preparation-preview figcaption{font-size:13px;line-height:1.5;color:var(--muted);padding:10px 0 16px}.preparation-review>.button{width:100%;min-height:52px}.preparation-used{display:flex;align-items:center;gap:8px;color:var(--gold);font-size:15px}.preparation-wait{display:grid;justify-items:center;gap:12px;min-height:180px;padding:28px 18px;text-align:center;background:#13303512}.preparation-orbit{width:35px;height:35px;border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:50%;animation:spin 3s linear infinite}.preparation-wait strong{font-size:18px;font-weight:500}.preparation-wait small{max-width:230px}.play-scene-art{animation:scene-depth-reveal .8s cubic-bezier(.2,.65,.3,1) both}.play-portrait-art{animation:portrait-arrive .55s cubic-bezier(.2,.65,.3,1) both}@keyframes desk-reveal{0%{opacity:.4;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes director-arrive{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-depth-reveal{0%{opacity:.45;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}@keyframes portrait-arrive{0%{opacity:.15;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.dm-workspace-art>img,.copilot-draft-preview,.preparation-review,.preparation-preview,.play-scene-art,.play-portrait-art,.preparation-orbit{animation:none}.preparation-tabs button{transition:none}}.workspace-loading{min-height:140px;display:flex;align-items:center;justify-content:center;gap:14px;padding:30px 18px;color:var(--muted)}.workspace-loading svg{color:var(--gold);animation:spin 4s linear infinite}.workspace-loading p{margin:0;font-size:17px}.workspace-load-error{padding:24px 0;max-width:500px}.workspace-load-error h3{font-size:27px}.workspace-load-error p{font-size:17px;line-height:1.5}@media(prefers-reduced-motion:reduce){.workspace-loading svg{animation:none}}.reference-section{animation:reference-arrive .22s ease-out both}.rulebook+.button{margin:18px 0 28px;min-height:48px}@keyframes reference-arrive{0%{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.reference-section{animation:none}}.saving-throws{grid-template-columns:repeat(3,minmax(0,1fr))}.saving-throws button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-width:0;text-align:left}.saving-throws strong{margin-left:0;text-align:right}.saving-throws button small{grid-column:1/-1;min-width:0;text-align:left;overflow-wrap:anywhere}@media(max-width:600px){.saving-throws{grid-template-columns:repeat(2,minmax(0,1fr))}}.inventory-kit-header{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:148px;margin:0 0 20px;padding:24px 28px;background:#112527;color:#f5e8cc;overflow:hidden;border-bottom:1px solid #a68a55}.inventory-kit-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-2;animation:inventory-art-settle .65s ease-out both}.inventory-kit-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#09191cf0,#09191cb0 43%,#09191c30 75%,#09191c70)}.inventory-kit-heading{min-width:0;max-width:72%}.inventory-kit-heading .eyebrow{color:#d5b777;margin-bottom:8px}.inventory-kit-heading h2{font-size:36px;text-wrap:balance;text-shadow:0 2px 12px #0008}.inventory-kit-header>.button{flex-shrink:0;background:#173237e8;border-color:#b99b63}.inventory-kit-list{animation:inventory-pack-in .28s ease-out both}.inventory-kit-list>article{transition:background-color .2s ease,border-color .2s ease}.inventory-kit-list>article.inventory-item-equipped{border-left:2px solid #a98a52;padding-left:12px;background:linear-gradient(90deg,#a98a520d,transparent 70%)}.inventory-item-state{display:inline-block;margin-left:5px;color:var(--ink);animation:inventory-state-in .36s ease-out both}.inventory-item-equipped .inventory-item-state{color:#80602f;font-weight:600}.theme-brassward .inventory-item-state{color:#c5cbbb}.theme-brassward .inventory-item-equipped .inventory-item-state{color:#e2c58e}@keyframes inventory-pack-in{0%{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes inventory-state-in{0%{opacity:.45;transform:translateY(3px);text-shadow:0 0 10px #c7a05b}to{opacity:1;transform:translateY(0);text-shadow:0 0 0 transparent}}@keyframes inventory-art-settle{0%{opacity:.5;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.inventory-kit-header{min-height:138px;max-height:156px;margin-bottom:16px;padding:19px 16px;gap:12px}.inventory-kit-heading{max-width:66%}.inventory-kit-heading h2{font-size:30px;line-height:1.02}.inventory-kit-heading .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:8px}.inventory-kit-header>.button{font-size:14px;padding:9px 11px;gap:5px}.inventory-kit-header>.button svg{width:16px}.inventory-kit-art{object-position:62% 58%}.inventory-kit-header:after{background:linear-gradient(90deg,#09191cf0,#09191ca0 52%,#09191c50)}.inventory-kit-list>article.inventory-item-equipped{padding-left:10px}}@media(prefers-reduced-motion:reduce){.inventory-kit-art,.inventory-kit-list,.inventory-item-state{animation:none}.inventory-kit-list>article{transition:none}}
