/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.table{display:table}}:root{--ink:#eee4cb;--muted:#a89f91;--gold:#f9c761;--gold-hot:#ffedac;--night:#12141c;--panel:#1c1f29;--line:#f7dea421;--coral:#ff8364;--green:#9fe58f;--serif:Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{background:#101117}body{background:var(--night);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,select{font:inherit}button{cursor:pointer}.game-shell{background:radial-gradient(circle at 70% 7%,#343643 0,#1a1c25 24%,#11131a 66%);min-height:100vh;position:relative;overflow:hidden}.ambient{filter:blur(4px);pointer-events:none;opacity:.45;border-radius:50%;position:absolute}.ambient-one{background:radial-gradient(circle,#604b38 0,#0000 66%);width:580px;height:580px;top:120px;right:-180px}.ambient-two{background:radial-gradient(circle,#29403d 0,#0000 68%);width:420px;height:420px;bottom:-270px;left:26%}.grain{pointer-events:none;opacity:.12;mix-blend-mode:overlay;background-image:radial-gradient(#fffc .55px,#0000 .55px);background-size:5px 5px;position:absolute;inset:0}.topbar,.room-strip,.dashboard{z-index:1;position:relative}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f1017b3;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(18px,4vw,65px);display:flex}.brand{color:var(--gold);font-family:var(--serif);letter-spacing:-1px;align-items:center;gap:9px;font-size:23px;font-weight:700;text-decoration:none;display:flex}.brand em{color:#f5ead1;letter-spacing:2px;text-transform:uppercase;margin-top:8px;margin-left:-3px;font:700 9px Arial}.crown-mark{width:32px;height:32px;color:var(--gold);border:1px solid #f9c76199;border-radius:9px;place-items:center;display:inline-grid;transform:rotate(45deg)}.crown-mark b{font:16px Georgia;transform:rotate(-45deg)}.scene-chip{letter-spacing:1.6px;color:#8e8a81;align-items:center;gap:8px;font-size:10px;display:flex}.scene-chip i{background:var(--gold);width:7px;height:7px;box-shadow:0 0 13px var(--gold);border-radius:50%}.scene-chip strong{color:#f3eadb;letter-spacing:1px;font-size:11px}.top-actions{align-items:center;gap:9px;display:flex}.top-actions button{color:#d9d0bd;letter-spacing:1.1px;background:0 0;border:0;padding:9px 10px;font-size:10px;font-weight:700}.top-actions .signal-button{color:var(--gold)}.top-actions .signal-button span{font-size:15px}.top-actions .player-toggle{border:1px solid var(--line);border-radius:7px}.top-actions .avatar-button{color:#fff3dc;background:linear-gradient(135deg,#af7258,#623e3e);border-radius:50%;width:34px;height:34px;padding:0;font-size:9px}.room-strip{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;min-height:113px;padding:21px clamp(18px,4vw,65px);display:grid}.eyebrow{color:#b9a275;letter-spacing:1.8px;text-transform:uppercase;font-size:9px;font-weight:700;display:block}.room-strip h1{color:#f2e9d9;font-family:var(--serif);letter-spacing:.6px;margin:5px 0 0;font-size:20px}.room-code{border-left:1px solid var(--line);border-right:1px solid var(--line);align-items:center;gap:7px;padding:7px 23px;display:flex}.room-code span{color:#938d83;letter-spacing:1.4px;font-size:9px;font-weight:700}.room-code strong{color:var(--gold);font-family:var(--serif);letter-spacing:1.3px;font-size:20px}.room-code button{color:#c4aa71;background:0 0;border:0;font-size:14px}.party-status{color:#8f8d87;letter-spacing:.9px;justify-self:end;font-size:10px}.party-status b{color:#d9d1c0;font-size:10px}.online-dot,.live-badge i{background:var(--green);width:7px;height:7px;box-shadow:0 0 10px var(--green);border-radius:50%;display:inline-block}.status-divider{color:#5c5d64;margin:0 9px}.dashboard{grid-template-columns:246px minmax(480px,1fr) 296px;gap:20px;max-width:1520px;margin:0 auto;padding:31px clamp(18px,4vw,65px) 52px;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(135deg,#242733f0,#191b24e8);box-shadow:0 20px 40px #00000024}.party-panel{border-radius:13px;align-self:start;overflow:hidden}.panel-heading{justify-content:space-between;align-items:flex-start;padding:17px 18px 15px;display:flex}.panel-heading h3{font:700 17px var(--serif);color:#f0e8d7;margin:4px 0 0}.panel-heading>button{color:var(--gold);background:0 0;border:0;font-size:19px}.hero-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-top:1px solid #ffffff0a;align-items:center;gap:10px;padding:12px 14px;transition:all .2s;display:flex}.hero-row:hover,.hero-row.selected{background:linear-gradient(90deg,#ffcd6d29,#0000)}.hero-row.selected{box-shadow:inset 3px 0 var(--gold)}.hero-portrait{color:#fff8d7;width:34px;height:34px;font:700 10px var(--serif);text-shadow:0 1px 4px #000;border:1px solid #ffffff47;border-radius:50%;flex:none;place-items:center;display:grid}.hero-portrait.gold,.phone-orb.gold{background:radial-gradient(circle at 37% 29%,#fee49b,#9f613c 40%,#412a30)}.hero-portrait.moss,.phone-orb.moss{background:radial-gradient(circle at 37% 29%,#d6e59a,#45684c 43%,#27383a)}.hero-portrait.violet,.phone-orb.violet{background:radial-gradient(circle at 37% 29%,#d3b3ec,#79528f 43%,#362543)}.hero-portrait.ember,.phone-orb.ember{background:radial-gradient(circle at 37% 29%,#ffca6e,#a74937 43%,#3e2626)}.hero-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hero-copy b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.hero-copy small{color:#a7a29c;white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.mini-health{background:#383942;border-radius:3px;width:70px;height:3px;margin-top:3px;display:block;overflow:hidden}.mini-health i{background:linear-gradient(90deg,#b2e882,#dbf09f);height:100%;display:block}.hero-hp{color:#f5dfaa;font:17px var(--serif);text-align:right}.hero-hp small{color:#777a77;font-size:10px}.all-hands{color:#e9c3b9;letter-spacing:.7px;text-align:left;background:#bf503d1c;border:0;border-top:1px solid #ffffff0a;align-items:center;gap:9px;width:100%;padding:12px 16px;font-size:10px;font-weight:700;display:flex}.all-hands span{color:#f78768}.all-hands.heal{color:#d0e8c7;background:#6bae6614}.all-hands.heal span{color:var(--green)}.dm-stage{min-width:0}.stage-heading{justify-content:space-between;align-items:flex-end;margin:0 3px 15px;display:flex}.stage-heading h2{font:700 26px var(--serif);letter-spacing:-.5px;color:#f1eadc;margin:4px 0 0}.stage-heading h2 em,.encounter-card h3 em,.join-modal h2 em,.roll-overlay h2 em,.loot-overlay h2 em{color:var(--gold);font-style:italic}.live-badge{color:var(--green);letter-spacing:1.2px;margin-bottom:3px;font-size:9px;font-weight:700}.live-badge i{width:6px;height:6px;margin-right:5px}.hero-card{border-radius:15px;grid-template-columns:auto minmax(160px,1fr) 130px auto;align-items:center;gap:18px;min-height:176px;padding:22px;display:grid;position:relative;overflow:hidden}.hero-card:after{content:"✦";font:180px var(--serif);color:#ffd57e06;position:absolute;top:-26px;right:44%}.portrait-large{position:relative}.hero-portrait.huge{border:2px solid #facc6c8c;width:76px;height:76px;font-size:19px}.anima-ring{border:1px solid var(--gold);width:30px;height:30px;color:var(--gold);background:#161820;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-5px;right:-9px}.anima-ring b{font:700 12px var(--serif);line-height:11px}.anima-ring small{color:#a48e62;letter-spacing:.4px;font-size:5px;font-weight:700}.character-core{z-index:1;position:relative}.character-core h3{color:#faf0dc;font:700 25px var(--serif);letter-spacing:-.5px;margin:4px 0}.character-core p{color:#aaa49a;margin:0;font-size:10px}.character-core p span{color:#686971;margin:0 5px}.character-core p b{color:#bce5a8;font-weight:400}.stat-pips{gap:10px;margin-top:15px;display:flex}.stat-pips label{color:#9c968c;letter-spacing:.7px;align-items:center;gap:5px;font-size:8px;font-weight:700;display:flex}.pip-row{gap:2px;display:flex}.pip-row i{border:1px solid #77756e;border-radius:50%;width:6px;height:6px}.pip-row i.on{background:var(--gold);border-color:var(--gold);box-shadow:0 0 5px #f9c76180}.vital-block{z-index:1;border-left:1px solid var(--line);padding-left:17px;position:relative}.vital-block>span{color:#a79b86;letter-spacing:1px;font-size:8px;font-weight:700}.vital-block strong{color:#f5e6c8;font:700 26px var(--serif);display:block}.vital-block strong small{color:#85837f;font-size:13px}.health-meter{background:#3b3c42;border-radius:9px;width:100%;height:6px;margin:6px 0;overflow:hidden}.health-meter i{background:linear-gradient(90deg,#a7db7d,#e1e776);border-radius:9px;height:100%;display:block}.vital-block>small{color:#9da79b;font-size:8px}.quick-actions{z-index:1;grid-template-columns:repeat(3,1fr);gap:5px;display:grid;position:relative}.quick-actions button{color:#f5ded5;min-width:52px;font:700 16px var(--serif);background:#242631;border:1px solid #ffffff1a;border-radius:7px;padding:8px 7px;transition:all .15s}.quick-actions button:hover{filter:brightness(1.3);transform:translateY(-2px)}.quick-actions button span{color:#c2bbb1;letter-spacing:.6px;margin-top:2px;font:700 7px Arial;display:block}.quick-actions .damage{color:#f18770}.quick-actions .heal{color:#b8e999}.quick-actions .buff{color:#f4c867}.action-grid{grid-template-columns:1.24fr .9fr;gap:16px;margin-top:16px;display:grid}.roll-card,.encounter-card{border-radius:13px;padding:18px}.card-top{justify-content:space-between;align-items:flex-start;display:flex}.card-top h3,.encounter-card h3{color:#f3eadb;font:700 19px var(--serif);margin:4px 0}.dice-glyph{width:34px;height:34px;color:var(--gold);background:#f9c7611f;border:1px solid #f9c76161;border-radius:8px;place-items:center;font-size:20px;display:grid}.stat-selects{grid-template-columns:1fr 12px 1fr .56fr;align-items:end;gap:8px;margin-top:16px;display:grid}.stat-selects>span{color:#b5a78e;text-align:center;margin-bottom:8px}.stat-selects label{color:#928d84;letter-spacing:1px;font-size:7px;font-weight:700}.stat-selects select,.loot-target select{-webkit-appearance:none;appearance:none;color:#f2e5d0;background:#161820;border:1px solid #ffffff1a;border-radius:5px;outline:none;width:100%;margin-top:5px;padding:7px 17px 7px 8px;font-size:10px;display:block}.roll-button,.combat-button,.claim-button{color:#35220f;letter-spacing:1.25px;background:linear-gradient(92deg,#e3a53f,#f8d77d);border:0;border-radius:6px;width:100%;margin-top:14px;padding:12px;font:800 10px Arial;box-shadow:0 8px 18px #efb4472b}.roll-button span{color:#755121;margin-right:5px;font-size:8px}.roll-button i{float:right;font-size:14px;font-style:normal;line-height:8px}.encounter-card{background:linear-gradient(135deg,#3e262af7,#221c21f5),#29202a;position:relative;overflow:hidden}.encounter-card:after{content:"⚜";color:#ffc06717;font-size:150px;position:absolute;bottom:-42px;right:-12px;transform:rotate(-14deg)}.encounter-card h3{font-size:21px;line-height:1.03}.encounter-card p{z-index:1;color:#baaaa0;margin:9px 0 0;font-size:9px;line-height:1.5;position:relative}.combat-button{z-index:1;color:#fff6df;background:linear-gradient(92deg,#c55b45,#ef9d62);position:relative}.combat-button span{margin-right:5px;font-size:14px}.activity-panel{border-radius:13px;margin-top:16px}.activity-panel .panel-heading{padding-bottom:8px}.activity-list article{border-top:1px solid #ffffff0d;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:10px 17px;display:grid}.activity-list article>span{width:24px;height:24px;color:var(--gold);background:#f9c76117;border-radius:50%;place-items:center;font-size:12px;display:grid}.activity-list article.damage>span{color:#f2846d;background:#f4765817}.activity-list article.heal>span{color:var(--green);background:#8cd27e17}.activity-list b{color:#e8dfce;font-size:10px}.activity-list p{color:#96938c;margin:2px 0 0;font-size:9px}.activity-list time{color:#757780;font-size:8px;font-weight:700}.ai-spark{color:var(--gold)!important;letter-spacing:.6px!important;border:1px solid #f9c76145!important;border-radius:5px!important;padding:5px 7px!important;font-size:7px!important;font-weight:700!important}.right-rail{flex-direction:column;gap:16px;display:flex}.loot-card,.loadout-panel{border-radius:13px;padding-bottom:15px;overflow:hidden}.loot-card .panel-heading{padding-bottom:9px}.loot-star{color:var(--gold);font-size:25px;line-height:20px}.relic-art{background:radial-gradient(circle,#b47a4b,#573b3b 30%,#28222b 68%);border-radius:9px;place-items:center;height:104px;margin:0 18px;display:grid;position:relative;overflow:hidden}.relic-art:before{content:"";border:1px solid #ffdf8b73;border-radius:50%;animation:10s linear infinite spin;position:absolute;inset:12px 40%;box-shadow:0 0 25px #ffc868a6,0 0 0 10px #ffb44e14}.relic-art span{z-index:1;color:#fff3b0;font:65px var(--serif);text-shadow:0 0 24px #ffcd6d;position:relative}.relic-art i{filter:blur(4px);background:#f7d68f;border-radius:50%;width:15px;height:15px;position:absolute;top:20px;left:28%;box-shadow:135px 54px 6px #f3b964,176px 11px 2px #fff3c2}.loot-card h4{color:#f6eacb;font:700 19px var(--serif);margin:14px 18px 5px}.loot-card>p{color:#aba399;margin:0 18px 12px;font-size:10px;line-height:1.5}.loot-target{grid-template-columns:auto 1fr;align-items:center;gap:9px;margin:0 18px;display:grid}.loot-target>span{color:#9f9380;letter-spacing:1px;font-size:7px;font-weight:700}.loot-target select{margin:0}.claim-button{background:linear-gradient(90deg,#c99236,#f1c96a);width:calc(100% - 36px);margin:12px 18px 0;padding:11px}.claim-button span{float:right;font-size:15px;line-height:8px}.loadout-panel .panel-heading{padding-bottom:8px}.gear-list>div,.buff-line{align-items:center;gap:9px;padding:8px 16px;display:flex}.gear-icon{color:#f3bd63;background:#cd9f4e21;border-radius:6px;place-items:center;width:27px;height:27px;font-size:14px;display:grid}.icon-1{color:#9bb7e6;background:#7191cf21}.gear-list p,.buff-line p{flex-direction:column;gap:2px;margin:0;display:flex}.gear-list b,.buff-line b{color:#e8dfce;font-size:10px}.gear-list small,.buff-line small{color:#898a86;font-size:8px}.buff-line{border-top:1px solid #ffffff12;margin:5px 16px 0;padding:8px 0}.buff-line>span{color:var(--gold)}.oracle-card{background:linear-gradient(135deg,#58412780,#211e21cc);border:1px solid #f9c7613d;border-radius:13px;padding:16px;position:relative;overflow:hidden}.oracle-card:after{content:"✦";color:#f9c76117;font-size:130px;position:absolute;bottom:-52px;right:-15px}.oracle-card>span{color:var(--gold);font-size:19px}.oracle-card p{z-index:1;color:#bdb3a0;margin:6px 0 12px;font-size:10px;line-height:1.5;position:relative}.oracle-card p b{color:#efe1c3}.oracle-card button{z-index:1;color:var(--gold);letter-spacing:1px;background:#f9c7611f;border:1px solid #f9c7614d;border-radius:5px;padding:7px 9px;font-size:8px;font-weight:700;position:relative}.toast-banner{z-index:20;color:#ffde8a;letter-spacing:1px;background:#251f22;border:1px solid #f9c76180;border-radius:8px;padding:14px 21px;font:700 11px Arial;animation:.35s both toast-in;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0008}.toast-banner span{color:#fff0b1;margin-right:8px;font-size:18px}.combat-overlay,.roll-overlay,.loot-overlay,.modal-layer,.mobile-layer{z-index:30;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.combat-overlay{background:radial-gradient(circle,#6d2e21 0,#331c24 28%,#0f1016 70%);animation:.55s both combat-in;overflow:hidden}.combat-rings{aspect-ratio:1;border:1px solid #ffd78a73;border-radius:50%;width:min(82vw,850px);animation:2s infinite pulse;position:absolute;box-shadow:0 0 0 50px #ed844f0a,0 0 0 130px #ed844f09,0 0 80px #fc754d}.combat-kicker{color:#ffc878;letter-spacing:4px;font-size:11px;font-weight:700;position:relative}.combat-overlay h2,.roll-overlay h2,.loot-overlay h2{color:#fff1d0;font:700 clamp(62px, 11vw, 142px)/.73 var(--serif);letter-spacing:-5px;text-shadow:0 8px 40px #170909;margin:12px 0;position:relative}.combat-overlay h2 em,.roll-overlay h2 em,.loot-overlay h2 em{display:block}.combat-overlay p,.loot-overlay p{color:#e4c9af;max-width:390px;font:16px/1.5 var(--serif);position:relative}.combat-overlay button,.roll-overlay button,.loot-overlay button{color:#351816;letter-spacing:1.7px;background:linear-gradient(90deg,#dc704f,#f1bc65);border:1px solid #ffdd95;border-radius:7px;margin-top:16px;padding:14px 22px;font:700 11px Arial;position:relative}.combat-overlay button span,.roll-overlay button span,.loot-overlay button span{margin-left:9px;font-size:16px}.roll-overlay{background:radial-gradient(circle,#243c57 0,#171925 42%,#0d0e14 100%);animation:.35s both fade-in}.roll-sigil{color:#fff0a7;width:90px;height:90px;font:48px var(--serif);border:1px solid #ffe8a68a;border-radius:50%;place-items:center;animation:1.8s infinite pulse;display:grid;box-shadow:0 0 0 12px #ddb86114,0 0 46px #f5c95f61}.roll-overlay .eyebrow{color:#c5d6e5;margin-top:28px}.roll-overlay h2{text-shadow:0 7px 40px #000;font-size:clamp(45px,7.5vw,100px);line-height:.8}.roll-overlay h2 em{color:#bbdfff}.roll-overlay p{color:#c1c8d2;font:16px var(--serif)}.roll-overlay p b{color:#f8df98}.dice-count{color:#f6e6c7;align-items:center;gap:10px;margin:17px 0 3px;display:flex}.dice-count strong{font:700 70px/.8 var(--serif);color:#f9d575}.dice-count span{text-align:left;letter-spacing:1px;font-size:9px;font-weight:700;line-height:1.4}.roll-overlay button{background:linear-gradient(90deg,#739bb4,#d1e0d2);border-color:#dcebd7}.loot-overlay{background:radial-gradient(circle,#684222 0,#2d211d 31%,#0e1016 72%)}.loot-rays{color:#ffdf8d33;justify-content:space-around;align-items:center;font-size:180px;animation:4s ease-in-out infinite float;display:flex;position:absolute;inset:0}.loot-overlay .eyebrow{color:#fee09a;position:relative}.loot-overlay h2{color:#fff0c4;font-size:clamp(58px,10vw,130px);line-height:.76}.loot-overlay h2 em{color:#f5ba5b}.loot-overlay p{max-width:360px}.loot-overlay button{background:linear-gradient(90deg,#c88c30,#ffe49a);border-color:#fff0b7}.modal-layer{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030409ba}.join-modal{background:radial-gradient(circle at 50% 0,#3f3540,#1b1b26 60%);border:1px solid #f9c76152;border-radius:17px;width:min(430px,100% - 36px);padding:40px;position:relative;box-shadow:0 30px 90px #000b}.join-modal>.crown-mark{margin-bottom:27px}.close-modal,.close-phone{color:#c9bfa9;background:0 0;border:0;font-size:25px;position:absolute;top:13px;right:17px}.join-modal h2{color:#f6efdd;font:700 43px/.9 var(--serif);margin:8px 0 12px}.join-modal p{color:#bdb4a3;font:14px/1.55 var(--serif)}.share-rune{border:1px dashed #f9c76157;border-radius:8px;justify-content:space-between;align-items:center;margin:25px 0 11px;padding:12px;display:flex}.share-rune span{color:#988b72;letter-spacing:1px;font-size:8px;font-weight:700}.share-rune b{color:#ffdf8d;font:700 23px var(--serif);letter-spacing:1px}.share-button{color:#442b12;letter-spacing:1px;background:linear-gradient(90deg,#d19032,#f6d379);border:0;border-radius:6px;width:100%;padding:13px;font-size:10px;font-weight:700}.joined-state{background:#a9dd8014;border-radius:10px;margin-top:23px;padding:21px 12px}.joined-state span{color:var(--green);font-size:32px}.joined-state b{color:#d9efcf;letter-spacing:1px;margin-top:8px;font-size:11px;display:block}.joined-state p{margin:8px 0 0;font-size:12px}.mobile-layer{z-index:40;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#030409d1}.phone{text-align:center;background:radial-gradient(circle at 45% 10%,#3b3b47,#181923 44%,#101116);border:8px solid #0a0b10;border-radius:42px;width:330px;min-height:620px;padding:44px 24px 26px;animation:.4s both phone-in;position:relative;box-shadow:0 28px 100px #000d,inset 0 0 0 1px #655d53}.phone-notch{background:#090a0d;border-radius:0 0 13px 13px;width:120px;height:21px;position:absolute;top:0;left:50%;transform:translate(-50%)}.phone header{z-index:1;color:#d8c7a4;letter-spacing:1px;justify-content:space-between;font-size:8px;font-weight:700;display:flex;position:relative}.phone header i{color:var(--green);font-style:normal}.phone .close-phone{z-index:2;color:#e6d4ab;letter-spacing:0;cursor:pointer;background:#08090dad;border:1px solid #f9c76152;border-radius:50%;place-items:center;width:28px;height:28px;margin:0;padding:0;font:21px/1 Arial;display:grid;position:absolute;top:20px;right:15px}.phone-orb{color:#fff4cf;width:120px;height:120px;font:700 29px var(--serif);border:2px solid #fbd87f9e;border-radius:50%;place-items:center;margin:38px auto 15px;display:grid;box-shadow:0 0 0 8px #f9c7610f,0 0 36px #f8b75245}.phone h2{color:#f5ecdb;font:700 27px var(--serif);margin:7px 0 4px}.phone>p{color:#bbb2a0;margin:0;font-size:11px}.phone-health{text-align:left;border:1px solid var(--line);background:#06070c42;border-radius:10px;margin:31px 0 13px;padding:14px}.phone-health span{color:#989189;letter-spacing:1px;font-size:8px;font-weight:700}.phone-health b{float:right;color:#f3dfb7;font:17px var(--serif)}.phone-health i{background:#34363d;border-radius:6px;height:7px;margin-top:10px;display:block;overflow:hidden}.phone-health em{background:linear-gradient(90deg,#aadf7e,#e4e877);height:100%;display:block}.phone-status{text-align:left;color:#e3d9c5;align-items:center;gap:8px;padding:10px 0;font-size:10px;display:flex}.phone-status span{color:var(--gold);font-size:18px}.phone-turn-button{width:100%;color:var(--gold);letter-spacing:1.2px;background:#f9c76117;border:1px solid #f9c76180;border-radius:7px;margin-top:30px;padding:13px;font-size:9px;font-weight:700}.phone>small{color:#83817d;margin-top:11px;font-size:9px;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes combat-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}@keyframes float{50%{transform:translateY(-18px)rotate(7deg)}}@keyframes phone-in{0%{opacity:0;transform:scale(.87)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:1150px){.dashboard{grid-template-columns:220px minmax(440px,1fr)}.right-rail{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;align-items:start;display:grid}.oracle-card{height:100%}.hero-card{grid-template-columns:auto 1fr 130px}.quick-actions{grid-column:2/-1;grid-template-columns:repeat(3,90px)}.room-strip{grid-template-columns:1fr auto}.party-status{display:none}}@media (max-width:780px){.topbar{height:62px}.scene-chip,.player-toggle{display:none}.top-actions .signal-button{padding-left:3px;padding-right:3px;font-size:8px;display:block}.room-strip{grid-template-columns:1fr auto;min-height:92px;padding-top:17px;padding-bottom:17px}.room-strip h1{font-size:15px}.room-code{border-right:0;padding:5px 0 5px 13px}.room-code strong{font-size:16px}.dashboard{padding-top:18px;display:block}.party-panel{margin-bottom:16px}.party-list{display:flex;overflow:auto}.hero-row{border-top:0;border-right:1px solid #ffffff0d;min-width:205px}.all-hands{display:none}.hero-card{grid-template-columns:auto 1fr;gap:12px;padding:16px}.character-core h3{font-size:20px}.vital-block{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;padding:12px 0 0}.quick-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.action-grid{grid-template-columns:1fr}.right-rail{margin-top:16px;display:flex}.stage-heading h2{font-size:23px}.top-actions .avatar-button{display:block}.activity-panel{margin-bottom:16px}}@media (max-width:430px){.brand{font-size:20px}.brand em{display:none}.room-strip h1{max-width:175px;line-height:1.05}.room-code span,.room-code button{display:none}.stat-pips{gap:5px}.stat-pips label{gap:3px}.action-grid{gap:12px}.stat-selects{grid-template-columns:1fr 10px 1fr}.bonus-select{display:none}.phone{width:300px;min-height:580px}}.gateway-shell{color:#f5ead8;isolation:isolate;background:radial-gradient(circle at 50% -10%,#403b4a 0,#1a1c27 39%,#0e1017 76%);min-height:100vh;position:relative;overflow:hidden}.gateway-shell:before{content:"";z-index:-1;opacity:.25;background-image:radial-gradient(#ffecb1b3 .55px,#0000 .55px),radial-gradient(#8bcdc7b3 .45px,#0000 .45px);background-position:22px 18px,84px 62px;background-size:93px 93px,143px 143px;position:absolute;inset:0}.gateway-glow{z-index:-1;filter:blur(20px);pointer-events:none;border-radius:50%;position:absolute}.gateway-glow-one{background:radial-gradient(circle,#e78f3d30,#0000 68%);width:590px;height:590px;top:150px;left:-240px}.gateway-glow-two{background:radial-gradient(circle,#42828e33,#0000 68%);width:620px;height:620px;bottom:-220px;right:-250px}.gateway-topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0b1166;border-bottom:1px solid #f7dea424;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(22px,5vw,76px);display:flex}.gateway-topbar>span{color:#c0b7a3;letter-spacing:1.4px;font-size:12px;font-weight:700}.gateway-main{text-align:center;width:min(1030px,100% - 40px);margin:0 auto;padding:clamp(66px,11vh,132px) 0 68px}.gateway-kicker{color:#e6bc6b;letter-spacing:1.65px;font-size:12px;font-weight:700;display:block}.gateway-main h1{color:#faf1df;font:700 clamp(43px, 6.5vw, 76px)/.9 var(--serif);letter-spacing:-2px;margin:13px 0 16px}.gateway-main h1 em{color:#f4bf5f;font-style:italic}.gateway-main>p{color:#d1c6b5;max-width:580px;font:18px/1.55 var(--serif);margin:0 auto}.role-grid{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:48px;display:grid}.role-card{background:linear-gradient(145deg,#2c2e3beb,#171923e6);border:1px solid #f9c76142;border-radius:18px;min-height:310px;padding:31px;position:relative;overflow:hidden;box-shadow:0 22px 55px #0000003b}.role-card:after{content:"";pointer-events:none;border:1px solid #ffe08e21;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-85px;right:-55px;box-shadow:0 0 0 28px #ffe08e09,0 0 0 69px #ffe08e05}.role-card.player-role{background:linear-gradient(145deg,#23343deb,#151b25ed);border-color:#7cc4bc4d}.role-card.player-role:after{border-color:#90e0d32b;box-shadow:0 0 0 28px #90e0d30a,0 0 0 69px #90e0d305}.role-mark{color:#f5c86f;width:48px;height:48px;font:26px var(--serif);background:#f9c7611a;border:1px solid #f9c76175;border-radius:13px;place-items:center;margin-bottom:23px;display:grid}.player-role .role-mark{color:#b6eee2;background:#84d3ca1a;border-color:#84d3ca7a}.role-card .eyebrow{color:#d4b36d;letter-spacing:1.25px;font-size:12px}.player-role .eyebrow{color:#a5d9d1}.role-card h2{color:#fbf0dd;font:700 clamp(30px, 3.5vw, 42px)/.98 var(--serif);letter-spacing:-1px;margin:9px 0}.role-card h2 em{color:#f3c466;font-style:italic}.player-role h2 em{color:#9adfd3}.role-card p{color:#ccc2b1;max-width:340px;min-height:54px;margin:11px 0 22px;font-size:16px;line-height:1.5}.role-button,.gateway-room-form button{color:#3d260f;letter-spacing:1.05px;background:linear-gradient(92deg,#db9836,#f7d678);border:0;border-radius:8px;width:100%;min-height:50px;font-size:13px;font-weight:800;box-shadow:0 8px 22px #eaac3f2e}.role-button{text-align:left;padding:16px 18px;text-decoration:none;display:block}.role-button span,.gateway-room-form button span{float:right;font-size:18px;line-height:12px}.player-role .role-button,.gateway-room-form button{color:#153832;background:linear-gradient(92deg,#77b8ad,#c2eee0);box-shadow:0 8px 22px #65beb129}.gateway-room-form{border-top:1px solid #a0ddd333;grid-template-columns:minmax(0,1fr) 164px;gap:10px;margin-top:15px;padding-top:15px;animation:.2s both gateway-reveal;display:grid}.gateway-room-form label{min-width:0}.gateway-room-form label span{color:#a4d7cf;letter-spacing:1px;margin:0 0 6px;font-size:12px;font-weight:700;display:block}.gateway-room-form input{color:#f0fff9;width:100%;min-height:50px;font:700 19px var(--serif);letter-spacing:1.4px;background:#0f1920;border:1px solid #a0ddd361;border-radius:8px;outline-color:#d7fff4;padding:10px 13px}.gateway-room-form button{align-self:end;font-size:11px}.gateway-room-form button:disabled{cursor:not-allowed;filter:grayscale();opacity:.5}@keyframes gateway-reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:700px){.gateway-topbar{height:70px}.gateway-topbar>span{letter-spacing:1px;font-size:11px}.gateway-main{padding-top:60px}.role-grid{grid-template-columns:1fr;margin-top:34px}.role-card{min-height:0;padding:27px}.role-card p{min-height:0}.gateway-room-form{grid-template-columns:1fr}.gateway-room-form button{min-height:50px}}@media (max-width:430px){.gateway-topbar>span{display:none}.gateway-main{width:min(100% - 28px,1030px);padding-top:50px}.gateway-main h1{letter-spacing:-1px;font-size:45px}.gateway-main>p{font-size:17px}.role-card{padding:23px}}.forged-loot-detail{background:#f9c76112;border:1px solid #f9c76147;border-radius:8px;margin:12px 18px 0;padding:11px}.forged-loot-detail>span{color:#d8ad57;letter-spacing:1px;font-size:8px;font-weight:700;display:block}.forged-loot-detail b{color:#f6df9c;margin-top:6px;font-size:11px;line-height:1.35;display:block}.forged-loot-detail p{color:#bdb3a1;margin:5px 0 0;font-size:10px;line-height:1.45}.loot-stash{background:#06070c29;border-top:1px solid #f9c76129;margin:15px 18px 0;padding:11px}.loot-stash>div{color:#af9c76;letter-spacing:1px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:8px;font-weight:700;display:flex}.loot-stash>div b{color:#f5ce76;font-size:9px}.loot-stash>p{color:#948d82;margin:0;font-size:10px;line-height:1.45}.loot-token{cursor:grab;background:linear-gradient(100deg,#bf7d3321,#12141c94);border:1px solid #f9c7613b;border-radius:7px;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:6px;margin-top:7px;padding:9px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.loot-token:hover{border-color:#f9c76194;transform:translateY(-1px);box-shadow:0 8px 18px #0000002b}.loot-token:active{cursor:grabbing}.loot-token>span{color:#ffd97e;font-size:16px}.loot-token b,.loot-token small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.loot-token b{color:#f1e4c9;font-size:11px}.loot-token small{color:#a79d8d;letter-spacing:.6px;margin-top:2px;font-size:8px}.loot-token button{color:#f2c76c;letter-spacing:.7px;background:#f9c7611a;border:1px solid #f9c76159;border-radius:5px;padding:6px 7px;font-size:8px;font-weight:700}.hero-line.loot-drop-ready{position:relative}.hero-line.loot-drop-ready:after{content:"DROP RELIC HERE";z-index:3;color:#fff0bc;letter-spacing:1.1px;pointer-events:none;background:#67471ca1;border:1px dashed #ffdd82c7;border-radius:7px;place-items:center;font-size:10px;font-weight:700;animation:1s infinite alternate loot-drop-pulse;display:grid;position:absolute;inset:2px}@keyframes loot-drop-pulse{to{background:#885b21d1;box-shadow:inset 0 0 21px #ffcc6733}}@media (max-width:1150px){.loot-stash{max-height:250px;overflow:auto}}.roll-card{min-width:0}.roll-rule{color:#cbc0ac;margin:8px 0 0;font-size:12px;line-height:1.45}.roll-card .stat-selects{grid-template-columns:1fr 12px 1fr .7fr}.roll-card .stat-selects label{color:#bcb2a1;font-size:9px}.roll-card .stat-selects select,.roll-card .table-bonus input,.roll-card .source-dice-input{color:#fff0d2;background:#101117;border-color:#f9c76152;min-height:38px;font-size:14px;font-weight:700}.roll-contributors{border-top:1px solid #ffffff14;gap:6px;margin-top:13px;padding-top:12px;display:grid}.roll-contributors-head{color:#e5c16d;letter-spacing:1px;justify-content:space-between;align-items:baseline;gap:10px;font-size:9px;font-weight:800;display:flex}.roll-contributors-head small{color:#938a80;letter-spacing:0;font-size:10px;font-weight:500}.roll-source{color:#aaa49a;background:#0405094d;border:1px solid #ffffff17;border-radius:7px;grid-template-columns:17px minmax(0,1fr) 52px;align-items:center;gap:8px;min-height:41px;padding:5px 8px;display:grid}.roll-source.active,.roll-resource-row label.active{color:#fff0c7;background:#cb92341c;border-color:#f9c7618a}.roll-source input[type=checkbox],.roll-resource-row input[type=checkbox]{accent-color:#e6ae43;width:16px;height:16px}.roll-source span{min-width:0}.roll-source small,.roll-source b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.roll-source small{color:#c29c51;letter-spacing:.8px;font-size:8px;font-weight:800}.roll-source b{margin-top:2px;font-size:12px}.roll-card .source-dice-input{text-align:center;width:48px;padding:5px}.roll-resource-row{grid-template-columns:1fr 1fr .8fr;gap:6px;display:grid}.roll-resource-row label{color:#a9a196;letter-spacing:.5px;background:#ffffff06;border:1px solid #ffffff1a;border-radius:6px;min-width:0;padding:7px;font-size:9px;font-weight:800}.roll-resource-row label:first-child,.roll-resource-row label:nth-child(2){grid-template-columns:15px 1fr auto;align-items:center;gap:4px;display:grid}.roll-resource-row b{color:#f5cf78}.roll-resource-row small{color:#8e8980;letter-spacing:.3px;grid-column:2/-1;font-size:8px}.roll-resource-row .table-bonus{gap:4px;display:grid}.roll-card .table-bonus input{text-align:center;width:100%;min-width:0;padding:5px}.pool-summary{background:linear-gradient(100deg,#b978272e,#1b1f2966);border:1px solid #f8ca6c66;border-radius:9px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;margin-top:13px;padding:9px 12px;display:grid}.pool-summary>strong{color:#ffd36d;font:700 52px/.78 var(--serif);text-shadow:0 0 21px #ffc75940}.pool-summary>span{color:#f6e5c5;letter-spacing:1px;font-size:9px;font-weight:900;line-height:1.25}.pool-summary>div{border-left:1px solid #ffe6b238;min-width:0;padding-left:9px}.pool-summary b,.pool-summary small{display:block}.pool-summary b{color:#e9bd64;letter-spacing:.65px;font-size:10px}.pool-summary small{color:#cac0b0;margin-top:3px;font-size:10px;line-height:1.25}@media (max-width:650px){.roll-resource-row{grid-template-columns:1fr 1fr}.roll-resource-row .table-bonus{grid-column:1/-1}.pool-summary{grid-template-columns:auto 1fr}.pool-summary>div{border-top:1px solid #ffe6b22b;border-left:0;grid-column:1/-1;padding:7px 0 0}}.npc-card{background:radial-gradient(circle at 85% 15%,#457edc3d,#0000 34%),linear-gradient(120deg,#182138f2,#191823f0);border:1px solid #85baff52;justify-content:space-between;align-items:center;gap:22px;margin:16px 0;padding:20px 23px;display:flex}.npc-card.live{border-color:#f6c9689e}.npc-card h3{color:#fbf0d7;font:700 28px/1 var(--serif);margin:5px 0 4px}.npc-card p{color:#b7bfcd;max-width:610px;margin:0;font-size:13px;line-height:1.45}.npc-open-button,.npc-end-button,.npc-begin-button{color:#231b16;letter-spacing:1px;white-space:nowrap;background:linear-gradient(110deg,#b37024,#f6ce6a);border:1px solid #d6a945;border-radius:6px;padding:13px 17px;font-size:11px;font-weight:900}.npc-live-actions{justify-items:end;gap:10px;display:grid}.npc-status{color:#c8dcff;letter-spacing:1px;font-size:10px;font-weight:900}.npc-status.speaking{color:#f6d37e;animation:1.5s ease-in-out infinite npc-text-pulse}.npc-status.roll_requested,.npc-status.rolling{color:#ffcf72}.npc-end-button{color:#f3d692;background:0 0;border-color:#fad88d80}.npc-dialog-layer,.npc-roll-layer{padding-block:28px;overflow-y:auto}.npc-dialog-modal,.npc-roll-modal{text-align:left;width:min(760px,100vw - 26px);margin:auto}.npc-dialog-modal h2,.npc-roll-modal h2{margin-bottom:7px}.npc-dialog-modal>p,.npc-roll-modal>p{max-width:590px}.npc-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.npc-check-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.npc-dialog-modal .effect-input,.npc-roll-modal .effect-input{margin:11px 0}.npc-dialog-modal textarea{resize:vertical;min-height:70px}.npc-secret-field{background:#cc8e2a17;border:1px dashed #e5b75899;border-radius:7px;padding:12px}.npc-secret-field small{color:#e9c878;margin-top:7px;font-size:11px;line-height:1.35;display:block}.npc-empty-voice{color:#f2d69d;border:1px solid #ffc16a5c;border-radius:8px;margin:20px 0;padding:16px;line-height:1.5}.npc-begin-button{width:100%;margin-top:13px}.npc-roll-contributors{border-top:1px solid #ffffff1f;margin:13px 0}.npc-roll-contributors>span{color:#aaacb8;letter-spacing:1px;margin:12px 0 8px;font-size:10px;font-weight:900;display:block}.npc-roll-contributors>label{color:#ded9d0;border:1px solid #ffffff1a;border-radius:6px;grid-template-columns:18px 1fr auto 46px;align-items:center;gap:8px;margin:5px 0;padding:8px 10px;display:grid}.npc-roll-contributors>label.active{background:#d7982d1c;border-color:#f4c55999}.npc-roll-contributors small{color:#aaa39a;font-size:9px;font-weight:800}.npc-roll-contributors input[type=number]{text-align:center;width:46px;padding:5px}.npc-roll-resources{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.npc-roll-resources label{color:#eee0bc;border:1px solid #ffffff24;border-radius:5px;padding:7px 9px;font-size:10px;font-weight:800}.npc-roll-resources small{color:#a7a7ae;margin-left:4px}.npc-pool-summary{margin-top:16px}@keyframes npc-text-pulse{50%{opacity:.52;text-shadow:0 0 14px #f2c765e6}}@media (max-width:760px){.npc-card{flex-direction:column;align-items:flex-start}.npc-live-actions{justify-items:stretch;width:100%}.npc-live-actions button{width:100%}.npc-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:450px){.npc-form-grid{grid-template-columns:1fr}.npc-roll-contributors>label{grid-template-columns:16px 1fr 42px}.npc-roll-contributors>label small{display:none}}.dm-console{--ink:#edf2f7;--muted:#9ba9b9;--gold:#e8bb63;--night:#111923;--panel:#17212d;--line:#c1d3e629;background:#101823;overflow:visible}.dm-console .ambient,.dm-console .grain{display:none}.dm-console-loading{color:#d9e2eb;place-items:center;min-height:100vh;font:600 16px/1.4 Arial,sans-serif;display:grid}.dm-console .topbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f1721fa;border-bottom-color:#b4cae030;height:56px;padding:0 clamp(16px,2.6vw,38px);position:sticky;top:0}.dm-console .brand{letter-spacing:-.4px;gap:8px;font-size:20px}.dm-console .crown-mark{border-radius:6px;width:26px;height:26px}.dm-console .crown-mark b{font-size:13px}.dm-console .brand em{color:#aab7c8;letter-spacing:1.5px;margin-top:5px;font-size:9px}.dm-console .scene-chip{color:#9eadbd;letter-spacing:.8px;min-width:0;margin-left:auto;margin-right:20px;font-size:12px}.dm-console .scene-chip strong{color:#eef3f8;letter-spacing:.1px;text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:12px;overflow:hidden}.dm-console .scene-chip i{background:#72c99c;width:8px;height:8px;box-shadow:0 0 9px #72c99c}.dm-console .top-actions{gap:5px}.dm-console .top-actions button{color:#cad5e1;letter-spacing:.3px;border:1px solid #0000;border-radius:5px;min-height:34px;padding:7px 10px;font-size:12px}.dm-console .top-actions .signal-button{color:#f2cf85;border-color:#e8bb634d}.dm-console .top-actions .player-toggle{border-color:#b8cde238}.dm-console .top-actions .avatar-button{background:#314154;width:34px;height:34px;font-size:10px}.dm-console .room-strip{background:#131e2a;border-bottom-color:#b4cae029;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;min-height:68px;padding:11px clamp(16px,2.6vw,38px)}.dm-console .eyebrow{color:#92a3b7;letter-spacing:.95px;font-size:11px}.dm-console .room-strip h1{color:#f5f7fa;letter-spacing:-.15px;margin-top:3px;font:700 19px/1.12 Arial,sans-serif}.dm-console .room-code{border:0;padding:0}.dm-console .room-code span{color:#8e9eaf;letter-spacing:.7px;font-size:11px}.dm-console .room-code strong{color:#f2cf85;letter-spacing:.8px;font:700 18px/1 Arial,sans-serif}.dm-console .room-code button{color:#c9d4df;padding:4px}.dm-console .party-status{color:#a8b5c4;letter-spacing:.2px;font-size:12px}.dm-console .party-status b{color:#eff4f8;font-size:12px}.dm-console .online-dot{box-shadow:none;background:#72c99c}.dm-console .dashboard{grid-template-columns:270px minmax(540px,1fr) 310px;gap:14px;max-width:none;padding:18px clamp(16px,2.6vw,38px) 34px}.dm-console .panel{box-shadow:none;background:#17212d;border-color:#b8cde22b;border-radius:7px}.dm-console .party-panel{border-radius:7px;position:sticky;top:74px}.dm-console .panel-heading{align-items:center;min-height:46px;padding:12px 13px}.dm-console .panel-heading h3{color:#f0f4f8;margin:2px 0 0;font:700 16px/1.15 Arial,sans-serif}.dm-console .panel-heading>button{color:#b9c8d8;font-size:16px}.dm-console .hero-row{gap:9px;min-height:54px;padding:9px 11px}.dm-console .hero-row:hover,.dm-console .hero-row.selected{background:#223246;box-shadow:inset 3px 0 #e6bb69}.dm-console .hero-portrait{width:31px;height:31px;font-size:10px}.dm-console .hero-copy{gap:3px}.dm-console .hero-copy b{font-size:13px}.dm-console .hero-copy small{color:#a8b7c7;font-size:11px}.dm-console .mini-health{background:#334456;width:78px;height:4px;margin-top:2px}.dm-console .hero-hp{color:#f1f5f8;font:700 17px/1 Arial,sans-serif}.dm-console .hero-hp small{color:#93a4b5;font-size:11px}.dm-console .disconnect-hero{color:#eea698;letter-spacing:.6px;background:0 0;border:0;margin:-2px 9px 7px auto;font-size:10px}.dm-console .all-hands{color:#e5c6c1;letter-spacing:.35px;background:#272431;gap:8px;min-height:42px;padding:10px 12px;font-size:11px}.dm-console .all-hands.heal{color:#c5e4d0;background:#1d2b2a}.dm-console .all-hands.boon{color:#eedca5;background:#29261f}.dm-console .dm-stage{min-width:0}.dm-console .stage-heading{align-items:center;min-height:40px;margin:0 0 10px}.dm-console .stage-heading h2{color:#f4f6f8;letter-spacing:-.2px;margin:2px 0 0;font:700 20px/1.1 Arial,sans-serif}.dm-console .live-badge{color:#b3c2d1;letter-spacing:.5px;background:#1a2735;border-radius:4px;padding:6px 8px;font-size:11px}.dm-console .live-badge i{width:7px;height:7px;box-shadow:none;background:#72c99c}.dm-console .hero-card{background:#17212d;border-radius:7px;grid-template-columns:minmax(220px,1fr) 170px 220px;align-items:center;gap:18px;min-height:126px;padding:15px 18px;display:grid}.dm-console .portrait-large{display:none}.dm-console .character-core h3{color:#f6f8fa;margin:4px 0;font:700 22px/1.05 Arial,sans-serif}.dm-console .character-core p{color:#aebdcd;font-size:12px}.dm-console .character-core p b{color:#90d5ad}.dm-console .stat-pips{gap:12px;margin-top:12px}.dm-console .stat-pips label{color:#9dadbe;letter-spacing:.4px;font-size:11px}.dm-console .pip-row{gap:3px}.dm-console .pip-row i{border-color:#627286;width:7px;height:7px}.dm-console .sheet-button{color:#c6d7e8;letter-spacing:.5px;margin-top:11px;font-size:11px}.dm-console .vital-block{border-left-color:#b8cde22b;padding-left:18px}.dm-console .vital-block>span{color:#9dacbc;letter-spacing:.8px;font-size:11px}.dm-console .vital-block strong{color:#f3f7fa;font:700 31px/1 Arial,sans-serif}.dm-console .vital-block strong small{color:#aab8c6;font-size:15px}.dm-console .health-meter{background:#314154;height:7px;margin:8px 0}.dm-console .quick-actions{grid-template-columns:repeat(3,1fr);gap:7px}.dm-console .quick-actions button{letter-spacing:.4px;background:#202d3b;border-color:#b8cde23d;border-radius:5px;min-width:0;min-height:58px;padding:8px 5px;font:700 12px/1 Arial,sans-serif}.dm-console .quick-actions button span{display:none}.dm-console .action-grid{grid-template-columns:minmax(0,1fr) 250px;gap:14px;margin-top:14px}.dm-console .roll-card,.dm-console .encounter-card{border-radius:7px;padding:15px}.dm-console .card-top h3,.dm-console .encounter-card h3{color:#eff4f8;font:700 17px/1.15 Arial,sans-serif}.dm-console .dice-glyph{color:#d7e7f8;background:#26384c;border-color:#b9d0e640;border-radius:5px;width:31px;height:31px;font-size:18px}.dm-console .roll-rule{display:none}.dm-console .stat-selects{gap:7px;margin-top:12px}.dm-console .stat-selects label{color:#a5b3c2;letter-spacing:.5px;font-size:11px}.dm-console .stat-selects select,.dm-console .loot-target select{color:#edf3f8;background:#101923;border-color:#b8cde23b;border-radius:4px;min-height:38px;margin-top:5px;padding:8px;font-size:13px}.dm-console .roll-contributors{margin-top:12px}.dm-console .roll-contributors-head span{color:#a7b7c7;letter-spacing:.6px;font-size:11px}.dm-console .roll-contributors-head small{color:#8295a8;font-size:11px}.dm-console .roll-source{border-color:#b8cde226;min-height:42px}.dm-console .roll-source span small{color:#98aac0;font-size:10px}.dm-console .roll-source span b{color:#e8eff5;font-size:13px}.dm-console .roll-resource-row label{color:#c4d0dc;min-height:48px;font-size:11px}.dm-console .roll-resource-row small{color:#90a2b3;font-size:10px}.dm-console .pool-summary{background:#1b2835;border-color:#e8bb6347;border-radius:6px;margin-top:12px;padding:9px 11px}.dm-console .pool-summary>strong{color:#f2cb77;text-shadow:none;font:700 44px/.8 Arial,sans-serif}.dm-console .pool-summary>span{color:#c8d5e1;font-size:11px}.dm-console .pool-summary b{color:#ebcd8d;font-size:11px}.dm-console .pool-summary small{color:#aebccc;font-size:11px}.dm-console .roll-button,.dm-console .combat-button,.dm-console .claim-button{min-height:42px;box-shadow:none;letter-spacing:.7px;border-radius:5px;margin-top:12px;font-size:12px}.dm-console .encounter-card{background:#20212d;min-height:100%}.dm-console .encounter-card:after{display:none}.dm-console .encounter-card p{color:#b6c2d0;font-size:12px;line-height:1.45}.dm-console .combat-button{background:#a94f43}.dm-console .scene-cue-button{color:#c9d7e4;border-color:#b8cde23b;border-radius:5px;min-height:38px;margin-top:8px;font-size:11px}.dm-console .npc-card{background:#182637;border-color:#a1c4ee4d;border-radius:7px;min-height:76px;margin:14px 0;padding:13px 15px}.dm-console .npc-card h3{margin:3px 0;font:700 16px/1.1 Arial,sans-serif}.dm-console .npc-card p{color:#aebfd0;font-size:12px}.dm-console .npc-open-button,.dm-console .npc-end-button{letter-spacing:.5px;border-radius:5px;min-height:38px;padding:9px 12px;font-size:11px}.dm-console .npc-open-button{color:#f0f7ff;background:#38658f;border-color:#5d91c0}.dm-console .npc-status{letter-spacing:.6px;font-size:11px}.dm-console .activity-panel{border-radius:7px;margin-top:0}.dm-console .activity-panel .panel-heading{padding-bottom:10px}.dm-console .activity-list article{grid-template-columns:26px 1fr auto;min-height:54px;padding:9px 13px}.dm-console .activity-list b{color:#ebf1f6;font-size:12px}.dm-console .activity-list p{color:#a4b4c4;font-size:11px}.dm-console .activity-list time{color:#8da0b2;font-size:10px}.dm-console .ai-spark{min-height:32px;color:#f1cf88!important;border-color:#e8bb6359!important;font-size:10px!important}.dm-console .right-rail{gap:14px}.dm-console .loot-card,.dm-console .loadout-panel{border-radius:7px}.dm-console .relic-art{display:none}.dm-console .loot-input,.dm-console .loot-prompt{width:calc(100% - 28px);margin-left:14px;margin-right:14px}.dm-console .loot-input{min-height:40px;font-size:15px}.dm-console .loot-prompt{min-height:66px;font-size:13px}.dm-console .loot-target{margin:0 14px}.dm-console .oracle-loot{width:calc(100% - 28px);min-height:40px;margin:10px 14px 0;font-size:11px}.dm-console .claim-button{width:calc(100% - 28px);margin-left:14px}.dm-console .loot-stash{margin:14px 14px 0}.dm-console .loadout-panel .panel-heading{padding-bottom:8px}.dm-console .gear-list>div,.dm-console .buff-line{padding:9px 13px}.dm-console .gear-list b,.dm-console .buff-line b{font-size:12px}.dm-console .gear-list small,.dm-console .buff-line small{font-size:11px}.dm-console .toast-banner{color:#eef5fc;letter-spacing:.3px;background:#203043;border-radius:6px;font-size:12px}@media (max-width:1240px){.dm-console .dashboard{grid-template-columns:250px minmax(0,1fr)}.dm-console .right-rail{grid-column:1/-1;grid-template-columns:1.5fr 1fr;align-items:start;display:grid}.dm-console .hero-card{grid-template-columns:minmax(200px,1fr) 150px 200px}}@media (max-width:860px){.dm-console .scene-chip{display:none}.dm-console .room-strip{grid-template-columns:1fr auto}.dm-console .party-status{display:none}.dm-console .dashboard{display:block}.dm-console .party-panel{margin-bottom:14px;position:static}.dm-console .party-list{display:flex;overflow-x:auto}.dm-console .hero-line{border-right:1px solid #b8cde224;min-width:210px}.dm-console .all-hands{display:none}.dm-console .hero-card{grid-template-columns:1fr 130px}.dm-console .quick-actions{grid-column:1/-1}.dm-console .right-rail{margin-top:14px;display:block}.dm-console .right-rail>*+*{margin-top:14px}}@media (max-width:580px){.dm-console .topbar{padding:0 12px}.dm-console .brand em,.dm-console .top-actions .player-toggle{display:none}.dm-console .top-actions button{padding:7px;font-size:11px}.dm-console .room-strip{padding:10px 12px}.dm-console .dashboard{padding:14px 12px 25px}.dm-console .hero-card{grid-template-columns:1fr}.dm-console .vital-block{border-top:1px solid #b8cde22b;border-left:0;padding:11px 0 0}.dm-console .action-grid{grid-template-columns:1fr}.dm-console .stat-selects{grid-template-columns:1fr 10px 1fr}.dm-console .difficulty-select{grid-column:1/-1}.dm-console .npc-card{align-items:stretch}.dm-console .npc-live-actions{width:100%}}.sheet-button{color:#e7bd6f;letter-spacing:.9px;background:0 0;border:0;margin-top:12px;padding:0;font-size:9px;font-weight:700}.sheet-button span{margin-left:5px;font-size:13px}.npc-audience-overlay,.npc-voice-overlay{z-index:78;text-align:center;color:#f6edda;background:radial-gradient(circle at 50% 40%,#4781da5c,#0000 28%),radial-gradient(circle,#202f48 0,#111725 46%,#080a12 100%);align-content:center;place-items:center;gap:15px;padding:28px;animation:.42s both npc-arrival;display:grid;position:fixed;inset:0;overflow:hidden}.npc-audience-overlay:before,.npc-voice-overlay:before{content:"";pointer-events:none;border:1px solid #fcd37461;position:absolute;inset:10px}.npc-audience-overlay h2,.npc-voice-overlay h2{z-index:1;letter-spacing:-2px;text-shadow:0 4px 26px #000a;max-width:760px;margin:0;font:700 clamp(42px,11vw,88px)/.83 Georgia,serif}.npc-audience-overlay h2 em,.npc-voice-overlay h2 em{color:#b7d6ff}.npc-audience-overlay p,.npc-voice-overlay p{z-index:1;color:#d5d9e3;max-width:490px;margin:0;font:17px/1.5 Georgia,serif}.npc-voice-rings{aspect-ratio:1;border:1px solid #e1c6684d;border-radius:50%;width:min(77vw,570px);animation:2.8s ease-in-out infinite npc-rings;position:absolute;box-shadow:0 0 0 42px #699be70d,0 0 0 88px #e8c16608}.npc-audience-orb,.npc-voice-orb{z-index:1;color:#ffe39b;background:linear-gradient(145deg,#31547a,#17243b);border:1px solid #efd280;border-radius:50%;place-items:center;width:82px;height:82px;font-size:47px;animation:1.75s ease-in-out infinite npc-orb;display:grid;box-shadow:0 0 35px #fecb5f66}.npc-audience-overlay button,.npc-voice-overlay button{z-index:1;color:#181922;letter-spacing:1.2px;background:linear-gradient(110deg,#c78830,#f4d678);border:1px solid #efd27e;border-radius:6px;min-width:min(370px,88vw);padding:15px 20px;font-size:12px;font-weight:900}.npc-voice-overlay .npc-hangup{color:#f4d99f;background:#0b101cb8;border-color:#ffdfa08c}.npc-transcript{z-index:1;color:#cfdae8;max-width:min(570px,88vw);max-height:80px;font:italic 15px/1.4 Georgia,serif;overflow:hidden}.player-npc-banner{color:#f1ecd9;background:linear-gradient(110deg,#213e67f2,#181c2bf2);border:1px solid #91c0fb80;border-radius:9px;align-items:center;gap:10px;margin:15px 0;padding:12px;display:flex}.player-npc-banner>span{color:#f3d37f;font-size:32px;animation:1.75s ease-in-out infinite npc-orb}.player-npc-banner b,.player-npc-banner small{display:block}.player-npc-banner b{font-size:12px}.player-npc-banner small{color:#b7c5d9;margin-top:3px;font-size:11px}@keyframes npc-arrival{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes npc-rings{50%{opacity:.55;transform:scale(1.1)}}@keyframes npc-orb{50%{transform:translateY(-4px)scale(1.06);box-shadow:0 0 55px #fecb5fb3}}.sheet-layer{z-index:45;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#05060adb;padding:clamp(16px,4vw,55px);animation:.22s both fade-in;position:fixed;inset:0;overflow:auto}.sheet-dialog{color:#2b2623;background:linear-gradient(145deg,#f2e9d6,#d8ceb9);border:1px solid #f8cc7161;border-radius:16px;max-width:1100px;margin:0 auto;overflow:hidden;box-shadow:0 35px 90px #000b}.sheet-header{color:#fbf3e3;background:radial-gradient(circle at 77% 0,#595463,#24252e 62%);justify-content:space-between;align-items:flex-start;gap:18px;padding:28px clamp(20px,4vw,46px);display:flex}.sheet-header .eyebrow{color:#f6c86d;font-size:11px}.sheet-header h2{letter-spacing:-1px;margin:7px 0 3px;font:700 clamp(30px,5vw,48px)/.9 Georgia,serif}.sheet-header p{color:#d2c7b5;margin:0;font-size:14px}.sheet-header-actions{color:#e8c372;letter-spacing:1px;white-space:nowrap;align-items:center;gap:17px;font-size:11px;font-weight:700;display:flex}.sheet-header-actions button{color:#fff3dd;background:0 0;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:34px;height:34px;font-size:24px;line-height:1;display:grid}.sheet-body{background-image:linear-gradient(#483b2a0f 1px,#0000 1px);background-size:100% 28px;padding:0 clamp(18px,4vw,44px) 33px}.sheet-section{border-bottom:1px solid #4a3d2e38;padding:28px 0}.sheet-section-heading{grid-template-columns:32px auto 1fr;align-items:baseline;gap:8px;margin-bottom:19px;display:grid}.sheet-section-heading>span{color:#ac7a31;font:700 14px Georgia,serif}.sheet-section-heading h3{color:#3b2d22;margin:0;font:700 24px Georgia,serif}.sheet-section-heading p{color:#786e60;justify-self:end;margin:0;font-size:13px}.attribute-groups{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.attribute-group,.ability-group{border-left:3px solid #b88944;padding-left:13px}.attribute-group h4,.ability-group h4,.combat-columns h4{color:#916424;letter-spacing:1.5px;margin:0 0 11px;font-size:10px;font-weight:800}.sheet-rating{color:#332a24;grid-template-columns:1fr auto 20px;align-items:center;gap:8px;min-height:30px;font-size:14px;display:grid}.sheet-rating>div{gap:4px;display:flex}.sheet-rating>div button{background:0 0;border:1px solid #8a7865;border-radius:50%;width:11px;height:11px;padding:0;transition:all .15s}.sheet-rating>div button:hover,.sheet-rating>div button.filled{background:#c68d35;border-color:#c68d35;box-shadow:0 0 5px #9e6d206b}.rating-minus{color:#8d7652;background:0 0;border:0;font-size:19px;line-height:1}.ability-columns{columns:3 190px;column-gap:27px}.ability-group{break-inside:avoid;margin:0 0 18px}.sheet-rating.compact{min-height:25px;font-size:12px}.sheet-rating.compact>div button{width:9px;height:9px}.combat-columns{grid-template-columns:1fr .86fr;gap:33px;display:grid}.sheet-weapon{border-bottom:1px solid #4a3d2e1f;grid-template-columns:26px 1fr;align-items:center;gap:0 8px;padding:8px 0;display:grid}.sheet-weapon>span,.sheet-weapon-art{color:#ffe2a1;background:#5b4c3b;border-radius:4px;grid-row:span 2;place-items:center;width:25px;height:25px;font-size:13px;display:grid}.sheet-weapon-art{object-fit:cover}.sheet-weapon b{font-size:14px}.sheet-weapon small{color:#7c7060;font-size:11px}.add-gear{color:#7c551e;letter-spacing:.5px;background:0 0;border:1px dashed #a57939;border-radius:4px;margin-top:11px;padding:8px 10px;font-size:11px;font-weight:700}.armor-card{background:#fffdf475;border:1px solid #483c2d45;border-radius:7px;padding:14px}.armor-card>span{color:#b17b2e;font-size:25px;display:block}.armor-card b{margin-top:4px;font:700 16px Georgia,serif;display:block}.armor-card p{color:#766b5e;margin:5px 0 0;font-size:12px;line-height:1.4}.active-buff{color:#765118;background:#c28e3221;border-radius:6px;margin-top:7px;padding:10px;font-size:13px;font-weight:700}.notes-sheet textarea{resize:vertical;color:#332b24;background:#fffffa8c;border:1px solid #463a2c4d;border-radius:7px;outline-color:#b9853b;width:100%;min-height:95px;padding:13px;font:15px/1.45 Georgia,serif;display:block}.sheet-footer{color:#766a59;justify-content:space-between;align-items:center;gap:13px;margin-top:14px;font-size:12px;display:flex}.sheet-footer button{color:#fff7e5;letter-spacing:.8px;background:linear-gradient(90deg,#996127,#d6a955);border:0;border-radius:5px;padding:12px 15px;font-size:11px;font-weight:700}.sheet-footer button b{margin-left:6px;font-size:15px}@media (max-width:780px){.sheet-layer{padding:0}.sheet-dialog{border:0;border-radius:0;min-height:100vh}.sheet-header{padding:24px 20px}.sheet-header-actions>span{display:none}.sheet-section-heading{grid-template-columns:25px 1fr}.sheet-section-heading p{grid-column:2;justify-self:start;margin-top:-4px}.attribute-groups,.combat-columns{grid-template-columns:1fr;gap:19px}.ability-columns{columns:1}.sheet-footer{flex-direction:column;align-items:flex-start}.sheet-footer button{width:100%}}.join-screen{color:#f6ebd7;background:radial-gradient(circle at 25% 10%,#3d3544 0,#171923 35%,#0c0d13 100%);place-items:center;min-height:100vh;padding:24px;font-family:Arial,Helvetica,sans-serif;display:grid;position:relative;overflow:hidden auto}.join-stars{opacity:.27;background-image:radial-gradient(#f9d58a .7px,#0000 .7px),radial-gradient(#9ee3d6 .5px,#0000 .5px);background-position:20px 14px,70px 47px;background-size:94px 94px,137px 137px;position:absolute;inset:0}.join-brand{z-index:1;color:#f8cb6c;letter-spacing:-.5px;font:700 20px Georgia,serif;text-decoration:none;position:fixed;top:25px;left:clamp(22px,5vw,70px)}.join-brand span{margin-left:5px}.join-card{background:linear-gradient(145deg,#2e2d3af2,#161721f5);border:1px solid #f8ca6a5c;border-radius:18px;width:min(458px,100%);padding:42px;animation:.3s both fade-in;position:relative;box-shadow:0 32px 90px #000a}.join-kicker{color:#e7c06e;letter-spacing:1.9px;font-size:10px;font-weight:700;display:block}.join-card h1{color:#f7eddb;letter-spacing:-1.5px;margin:11px 0 14px;font:700 47px/.9 Georgia,serif}.join-card h1 em{color:#f4c56b}.join-card>p{color:#c0b7a6;font:16px/1.55 Georgia,serif}.rune-input,.player-name{margin-top:27px;display:block}.rune-input span,.player-name span{color:#a69a85;letter-spacing:1.3px;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.rune-input input,.player-name input{color:#fbeccc;letter-spacing:2px;background:#12131b;border:1px solid #ffffff26;border-radius:7px;outline-color:#e5b95e;width:100%;padding:14px 15px;font:700 22px Georgia,serif}.player-name input{letter-spacing:0;font:16px Arial}.join-primary{color:#3a250e;letter-spacing:1.1px;background:linear-gradient(90deg,#c68732,#f4d47c);border:0;border-radius:6px;width:100%;margin-top:13px;padding:15px;font-size:11px;font-weight:800}.join-primary:disabled{filter:grayscale();opacity:.45;cursor:not-allowed}.join-primary span{float:right;font-size:16px;line-height:8px}.join-card>small{color:#908a81;text-align:center;margin-top:15px;font-size:11px;display:block}.join-card>small a,.joined-state a{color:#efca78}.back-step{color:#dcb461;letter-spacing:.9px;background:0 0;border:0;margin:-11px 0 24px;padding:0;font-size:10px;font-weight:700}.hero-choices{gap:7px;margin:20px 0 21px;display:grid}.hero-choices>button{color:#f1e6d2;text-align:left;background:#08090f52;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:38px 1fr 18px;align-items:center;gap:10px;padding:9px 10px;transition:all .15s;display:grid}.hero-choices>button:hover,.hero-choices>button.chosen{background:#edb5451a;border-color:#f4c56299}.hero-choices b{font-size:13px;display:block}.hero-choices small{color:#aaa398;margin-top:2px;font-size:11px;display:block}.hero-choices i{color:#f9cf70;font-style:normal}.join-portrait,.ready-orb{color:#fff4d2;border:1px solid #ffffff5e;border-radius:50%;place-items:center;font:700 12px Georgia,serif;display:grid}.join-portrait{width:34px;height:34px}.join-portrait.gold,.ready-orb.gold{background:radial-gradient(circle at 37% 29%,#fee49b,#9f613c 40%,#412a30)}.join-portrait.moss,.ready-orb.moss{background:radial-gradient(circle at 37% 29%,#d6e59a,#45684c 43%,#27383a)}.join-portrait.violet,.ready-orb.violet{background:radial-gradient(circle at 37% 29%,#d3b3ec,#79528f 43%,#362543)}.join-portrait.ember,.ready-orb.ember{background:radial-gradient(circle at 37% 29%,#ffca6e,#a74937 43%,#3e2626)}.ready-screen{text-align:center}.ready-orb{border:2px solid #fad069b3;width:103px;height:103px;margin:0 auto 24px;font-size:26px;box-shadow:0 0 0 9px #f9c7610f,0 0 35px #f8b75247}.ready-screen p{color:#c1b5a0;font:16px/1.55 Georgia,serif}.ready-rune{background:#06070c40;border:1px solid #f9c76138;border-radius:7px;justify-content:space-between;align-items:center;margin:23px 0;padding:13px;display:flex}.ready-rune span{color:#a79a83;letter-spacing:1px;font-size:10px;font-weight:700}.ready-rune b{color:#f6ce76;letter-spacing:1px;font:700 19px Georgia,serif}.ready-rune i{color:#a9e991;font-size:10px;font-style:normal;font-weight:700}.ready-button{color:#e7c26d;letter-spacing:1px;background:0 0;border:0;font-size:10px;font-weight:700}.joined-state a{letter-spacing:.8px;margin-top:13px;font-size:10px;font-weight:700;display:block}@media (max-width:560px){.join-screen{align-items:start;padding-top:88px}.join-brand{left:24px}.join-card{padding:30px 23px}.join-card h1{font-size:42px}}.hero-line{position:relative}.disconnect-hero{color:#c48b66;letter-spacing:.8px;background:0 0;border:0;font-size:8px;font-weight:700;position:absolute;bottom:5px;right:8px}.portal-link{text-align:center;text-decoration:none;display:block}.table-modal,.campaign-modal{color:#eadfcb;background:radial-gradient(circle at 50% 0,#403744,#1a1b26 62%);border:1px solid #f9c76159;border-radius:17px;width:min(470px,100% - 36px);padding:38px;position:relative;box-shadow:0 30px 90px #000b}.table-modal h2,.campaign-modal h2{color:#f6efdd;font:700 40px/.9 var(--serif);margin:8px 0 14px}.table-modal h2 em,.campaign-modal h2 em{color:#f7c465}.table-modal p{color:#c6bcaa;font:15px/1.5 var(--serif)}.effect-input,.campaign-field{text-align:left;margin:21px 0 14px;display:block}.effect-input span,.campaign-field span{color:#c7a667;letter-spacing:1.1px;margin-bottom:7px;font-size:9px;font-weight:700;display:block}.effect-input input,.campaign-field input,.campaign-create input,.loot-input,.loot-prompt{box-sizing:border-box;color:#f6ead4;width:100%;font:16px var(--serif);background:#0d0e15;border:1px solid #f9c7614a;border-radius:7px;padding:12px}.campaign-list{gap:7px;max-height:190px;margin:18px 0;display:grid;overflow:auto}.campaign-list button{color:#e4d5b8;text-align:left;background:#10121a;border:1px solid #f9c7612b;border-radius:8px;padding:11px}.campaign-list button.active{background:#e8b95a1a;border-color:#e8b95a}.campaign-list b,.campaign-list small{display:block}.campaign-list small{color:#a69a86;margin-top:3px;font-size:11px}.campaign-create{gap:8px;margin-top:18px;display:flex}.campaign-create button{color:#26180d;letter-spacing:.8px;white-space:nowrap;background:#d6a84c;border:1px solid #d6a84c;border-radius:7px;padding:0 11px;font-size:9px;font-weight:700}.modal-error,.join-error{color:#f29c82;font-size:12px}.oracle-answer{color:#e8dac3;font:15px/1.45 var(--serif);background:#e4b75a12;border-left:2px solid #e1b65d;margin:0 20px 13px;padding:12px}.oracle-answer p{margin:0}.oracle-answer button{color:#f5d47c;letter-spacing:.9px;background:#efc7711a;border:1px solid #efc77194;border-radius:6px;min-height:36px;margin-top:10px;padding:8px 10px;font-size:10px;font-weight:700}.oracle-answer button span{margin-left:5px;font-size:15px}.scene-cue-button{z-index:1;color:#f3eaff;letter-spacing:1px;background:linear-gradient(92deg,#584687e6,#725899e0);border:1px solid #b7aeff9e;border-radius:7px;width:100%;min-height:46px;margin-top:9px;font-size:11px;font-weight:700;position:relative}.scene-cue-button span{margin-right:6px;font-size:17px}.victory-button{z-index:1;color:#291b09;letter-spacing:1.25px;background:linear-gradient(92deg,#c3872c,#f6d36c);border:1px solid #fff0a6;border-radius:7px;width:100%;min-height:50px;margin-top:14px;font-size:12px;font-weight:900;position:relative;box-shadow:0 9px 26px #eeb24133}.victory-button span{margin-right:6px;font-size:17px}.scene-cue-modal{background:radial-gradient(circle at 50% 0,#49435f,#1a1b2b 64%);border-color:#b9a9ff8c}.scene-cue-confirm{color:#180f29;background:linear-gradient(92deg,#7b62af,#b594df)}.victory-modal{background:radial-gradient(circle at 50% 0,#604727,#211b1b 64%);border-color:#ffd879ad}.victory-confirm{color:#2b1b08;background:linear-gradient(92deg,#c48a2e,#ffe08a)}.loot-input{margin:7px 0 9px;font-weight:700}.loot-prompt{resize:vertical;min-height:72px;font-size:13px;line-height:1.4}.oracle-loot{color:#f5c965;letter-spacing:1px;background:#f9c76117;border:1px solid #f9c76170;border-radius:7px;width:100%;margin:9px 0;padding:11px;font-size:9px;font-weight:700}.player-live-stats{color:#d6c5aa;gap:8px;margin:19px 0;font-size:13px;display:grid}.player-live-stats span{justify-content:space-between;gap:12px;display:flex}.player-live-stats b{color:#fff0cf;font-size:16px}.player-scene-cue{text-align:left;background:#8a69b81a;border:1px solid #bcaaff59;border-radius:9px;margin:-4px 0 18px;padding:10px 12px}.player-scene-cue span,.player-scene-cue b{display:block}.player-scene-cue span{color:#d9c6ff;letter-spacing:1px;font-size:10px;font-weight:700}.player-scene-cue b{color:#f7eeff;font:17px/1.25 var(--serif);margin-top:4px}.player-dossier{text-align:left;background:#f9c7610e;border:1px solid #f9c76159;border-radius:10px;margin:18px 0;overflow:hidden}.player-dossier summary{cursor:pointer;color:#f4cd75;justify-content:space-between;align-items:center;gap:12px;padding:14px;list-style:none;display:flex}.player-dossier summary::-webkit-details-marker{display:none}.player-dossier summary:after{content:"+";color:#ffe9b3;font-size:20px;line-height:1}.player-dossier[open] summary:after{content:"−"}.player-dossier summary span,.player-dossier summary b,.dossier-detail>span,.dossier-resources i{letter-spacing:.9px;font-size:11px;font-style:normal;font-weight:800}.player-dossier summary b{color:#dcd0b8;text-align:right}.dossier-resources{grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 12px;display:grid}.dossier-resources>span{background:#04070f61;border:1px solid #f9c76138;border-radius:7px;justify-content:space-between;align-items:center;min-height:48px;padding:8px 10px;display:flex}.dossier-resources i{color:#cbbd9f}.dossier-resources b{color:#fff0c5;font-size:24px;line-height:1}.dossier-detail{border-top:1px solid #f9c76121;padding:11px 14px}.dossier-detail>span{color:#c9b98f;margin-bottom:6px;display:block}.dossier-detail>b{color:#f4e8d0;font-size:14px;line-height:1.35}.dossier-chips{flex-wrap:wrap;gap:6px;display:flex}.dossier-chips b{color:#f4e8d0;background:#f9c76117;border:1px solid #f9c76147;border-radius:999px;padding:6px 8px;font-size:13px;line-height:1.2}.dossier-equipment{flex-wrap:wrap;gap:7px;display:flex}.dossier-equipment b{color:#f4e8d0;background:#f9c76117;border:1px solid #f9c76147;border-radius:999px;align-items:center;gap:7px;min-height:32px;padding:4px 10px 4px 5px;font-size:13px;line-height:1.2;display:inline-flex}.dossier-equipment img{object-fit:cover;border-radius:50%;width:25px;height:25px}.boon-chips b{color:#d8f2c4;background:#b1e18b17;border-color:#b1e18b57}.player-call,.player-combat{color:#ffe6a5;text-align:center;background:#e080462b;border:1px solid #ffda848c;border-radius:10px;margin-top:18px;padding:13px}.player-call span,.player-call b,.player-call small{display:block}.player-call span{letter-spacing:1.3px;font-size:9px;font-weight:700}.player-call b{color:#fff1c7;font:700 35px var(--serif);margin:5px 0}.player-call small{color:#e6cfb2;font-size:11px}.player-combat{letter-spacing:1px;font-weight:700}@media (max-width:560px){.campaign-create{display:block}.campaign-create button{width:100%;height:42px;margin-top:8px}.table-modal,.campaign-modal{padding:31px 22px}.table-modal h2,.campaign-modal h2{font-size:33px}}button,input,select,textarea{font:inherit}:is(button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:3px;outline:3px solid #ffe19a}.eyebrow{letter-spacing:1.45px;font-size:11px}.top-actions button{min-height:40px;font-size:12px}.room-code span,.live-badge,.vital-block>span,.vital-block>small,.stat-pips label,.encounter-card p,.activity-list p,.activity-list time,.gear-list small,.buff-line small,.oracle-card p,.phone>small{font-size:11px}.character-core p,.activity-list b,.gear-list b,.buff-line b,.phone-status{font-size:13px}.hero-row{min-height:68px}.hero-copy b{font-size:13px}.hero-copy small{font-size:11px}.all-hands{min-height:48px;font-size:12px}.quick-actions{gap:8px}.quick-actions button{min-height:58px;padding:10px 9px;font-size:20px}.quick-actions button span{letter-spacing:.8px;margin-top:3px;font-size:10px}.stat-selects{gap:10px;margin-top:19px}.stat-selects label,.loot-target>span{letter-spacing:1.15px;font-size:12px}.stat-selects select,.loot-target select{border-color:#f9c7614d;border-radius:7px;min-height:44px;margin-top:7px;padding:10px 28px 10px 11px;font-size:15px;font-weight:600}.loot-target select{margin-top:0}.stat-selects>span{margin-bottom:13px;font-size:17px}.roll-button,.combat-button,.claim-button{letter-spacing:1.35px;min-height:50px;padding:13px 15px;font-size:13px}.roll-button span{font-size:10px}.roll-button i{font-size:18px;line-height:12px}.ai-spark,.oracle-card button{min-height:38px;padding:8px 10px!important;font-size:10px!important}.loot-input,.loot-prompt{min-height:46px;line-height:1.4;border-color:#f9c7614d!important;padding:11px 13px!important;font-size:16px!important}.table-modal{width:min(560px,100% - 28px);padding:clamp(30px,5vw,48px)}.table-modal .eyebrow{letter-spacing:1.7px;font-size:12px}.table-modal h2{margin:10px 0 16px;font-size:clamp(40px,5.4vw,58px);line-height:.94}.table-modal p{color:#e3d7c2;max-width:34rem;font:17px/1.5 var(--serif)}.table-modal .close-modal{border:1px solid #0000;border-radius:50%;place-items:center;width:44px;height:44px;font-size:30px;display:grid;top:11px;right:13px}.table-modal .close-modal:hover{background:#f9c7611a;border-color:#f9c7616b}.effect-input{margin:29px 0 20px}.effect-input>span{color:#f1c974;letter-spacing:1.45px;margin-bottom:10px;font-size:13px}.amount-control{grid-template-columns:66px minmax(0,1fr) 66px;align-items:stretch;gap:9px;display:grid}.amount-control button{color:#ffd77d;background:#f9c7611a;border:1px solid #f9c7616e;border-radius:9px;min-height:66px;font:400 36px/1 Arial;transition:background .15s,transform .15s}.amount-control button:hover{background:#f9c76138;transform:translateY(-1px)}.amount-control input{color:#fff0c5;text-align:center;min-height:66px;font:700 36px/1 var(--serif);letter-spacing:.04em;background:#0b0d13;border:1px solid #f9c76194;border-radius:9px;padding:8px 12px;box-shadow:inset 0 0 0 1px #ffffff08}.amount-control input::-webkit-inner-spin-button{opacity:1;margin-left:10px}.amount-control input::-webkit-outer-spin-button{opacity:1;margin-left:10px}.share-button.action-confirm{letter-spacing:1.45px;min-height:58px;padding:15px 18px;font-size:14px}@media (max-width:560px){.table-modal{padding:32px 24px}.table-modal h2{font-size:40px}.amount-control{grid-template-columns:58px minmax(0,1fr) 58px;gap:7px}.amount-control button,.amount-control input{min-height:60px}.amount-control input{font-size:32px}}.share-rune,.share-link{grid-template-columns:1fr auto;align-items:center;gap:3px 12px;display:grid}.share-rune span,.share-link span{color:#988b72;letter-spacing:1px;grid-column:1;font-size:8px;font-weight:700}.share-rune b,.share-link b{color:#ffdf8d;font:700 17px var(--serif);letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;grid-column:1;overflow:hidden}.share-rune button,.share-link button{color:#f0ca78;letter-spacing:.7px;background:#f9c76114;border:1px solid #f9c76161;border-radius:5px;grid-area:1/2/span 2;padding:7px 9px;font-size:8px;font-weight:700}.share-link{background:#06070c38;border:1px solid #f9c7612e;border-radius:8px;margin:-3px 0 15px;padding:10px 12px}.share-link b{color:#d8c8a8;letter-spacing:0;font:11px Arial}.creation-status{text-align:left;background:#f9c7610f;border:1px solid #f9c7612e;border-radius:8px;align-items:center;gap:10px;margin:15px 0;padding:11px;display:flex}.creation-status.closed{background:#df81670f;border-color:#df816747}.creation-status>span{color:#f0c464;font-size:19px}.creation-status.closed>span{color:#e1876d}.creation-status p{margin:0!important}.creation-status b,.creation-status small{display:block}.creation-status b{color:#eadfc8;letter-spacing:.9px;font-size:9px}.creation-status small{color:#aaa294;margin-top:3px;font-size:10px;line-height:1.35}.copy-confirm{text-align:center;color:#bfe8aa!important;margin:-7px 0 11px!important;font-size:10px!important}.campaign-rules{text-align:left;background:#07080d3d;border:1px solid #f9c76133;border-radius:9px;margin:18px 0;padding:14px}.campaign-rules-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.campaign-rules-heading>div>span{color:#efcf87;letter-spacing:1px;font-size:9px;font-weight:700;display:block}.campaign-rules-heading>div>small{color:#a9a094;margin-top:3px;font-size:10px;display:block}.creation-switch{color:#d8c4a0;letter-spacing:.8px;align-items:center;gap:6px;font-size:8px;font-weight:700;display:flex}.creation-switch input{opacity:0;pointer-events:none;position:absolute}.creation-switch i{background:#46434a;border-radius:20px;width:28px;height:16px;transition:all .2s;box-shadow:inset 0 0 0 1px #ffffff1f}.creation-switch i:after{content:"";background:#c4b29b;border-radius:50%;width:12px;height:12px;margin:2px;transition:all .2s;display:block}.creation-switch input:checked+i{background:#aa7932}.creation-switch input:checked+i:after{background:#fff0b6;margin-left:14px}.creation-switch b{color:#e0c374;min-width:35px;font-size:8px}.rule-dot-fields{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.rule-dot-fields label>span{color:#a9a092;letter-spacing:.7px;margin-bottom:5px;font-size:8px;font-weight:700;display:block}.rule-dot-fields input{color:#f7e7c7;width:100%;font:700 16px var(--serif);background:#11131a;border:1px solid #f9c76138;border-radius:5px;padding:8px}.rule-dot-fields small{color:#938b80;margin-top:5px;font-size:9px;line-height:1.3;display:block}.new-campaign-rules{text-align:left;border-top:1px solid #f9c7612e;margin-top:22px;padding-top:18px}.new-campaign-rules>.eyebrow{margin-bottom:8px}.new-campaign-rules>input{box-sizing:border-box;color:#f6ead4;width:100%;font:16px var(--serif);background:#0d0e15;border:1px solid #f9c7614a;border-radius:7px;padding:12px}.new-campaign-rules .campaign-rules{margin:12px 0}.new-campaign-rules>button{color:#26180d;letter-spacing:.8px;background:#d6a84c;border:1px solid #d6a84c;border-radius:7px;width:100%;padding:12px;font-size:9px;font-weight:700}.campaign-rules.compact{padding:12px}.campaign-rules.compact .rule-dot-fields{margin-top:10px}.join-card-create{width:min(570px,100%);margin:76px 0 32px}.campaign-modal{max-height:calc(100vh - 32px);overflow:auto}.mcp-connection{text-align:left;background:#07080d4d;border:1px solid #f9c76147;border-radius:9px;margin-top:16px}.mcp-connection summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;list-style:none;display:flex}.mcp-connection summary::-webkit-details-marker{display:none}.mcp-connection summary b,.mcp-connection summary small{display:block}.mcp-connection summary b,.mcp-connection-body label>span{color:#efcf87;letter-spacing:1px;font-size:11px}.mcp-connection summary small{color:#aea394;margin-top:4px;font-size:11px;line-height:1.35}.mcp-connection summary i{color:#f5c75d;font-size:24px;font-style:normal;line-height:1;transition:transform .18s}.mcp-connection[open] summary i{transform:rotate(180deg)}.mcp-connection-body{border-top:1px solid #f9c76129;padding:0 14px 14px}.mcp-connection-body label>span{margin:14px 0 7px;font-weight:700;display:block}.mcp-connection-body code{overflow-wrap:anywhere;color:#f7e7bd;background:#0c0d14;border:1px solid #f9c76133;border-radius:6px;padding:10px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.mcp-connection-body button{color:#f9d373;letter-spacing:1px;background:#f6c55d1a;border:1px solid #f6c55db8;border-radius:7px;width:100%;min-height:42px;margin-top:9px;font-size:10px;font-weight:700}.mcp-connection-body p{color:#d4c7b2;font:15px/1.45 var(--serif);margin:13px 0 5px}.mcp-connection-body p strong{color:#f5cc73}.mcp-connection-body>small{color:#aaa094;font-size:11px;line-height:1.35;display:block}.create-hero-choice{color:#f0c86f;letter-spacing:.9px;background:#f9c76112;border:1px dashed #f9c76194;border-radius:7px;width:100%;margin-top:10px;padding:12px;font-size:10px;font-weight:700}.create-hero-choice small{color:#b8ab95;letter-spacing:0;margin-top:4px;font-size:9px;font-weight:400;display:block}.creation-closed{text-align:center;color:#b6a294!important;margin:14px 0 0!important;font-size:11px!important}.creation-intro{color:#d1c2a9!important;margin:8px 0 18px!important;font-size:14px!important;line-height:1.45!important}.creation-fields{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.creation-fields .player-name{margin-top:0;margin-bottom:13px}.creation-fields .player-name:first-child{grid-column:1/-1}.creation-label{color:#b8a57e;letter-spacing:1px;margin:7px 0 8px;font-size:9px;font-weight:700;display:block}.focus-cards{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.focus-cards button{color:#e8ddc9;text-align:left;background:#06070c3d;border:1px solid #ffffff1f;border-radius:8px;min-height:72px;padding:10px 8px;position:relative}.focus-cards button.selected{background:#f9c7611f;border-color:#f1c467;box-shadow:inset 0 0 0 1px #f9c7611f}.focus-cards b,.focus-cards small{display:block}.focus-cards b{font:700 15px var(--serif)}.focus-cards small{color:#a59a88;margin-top:4px;font-size:8px;line-height:1.35}.focus-cards i{color:#f8d477;font-style:normal;position:absolute;top:7px;right:8px}.dot-ledger{text-align:left;background:#08090e45;border:1px solid #f9c76140;border-radius:9px;margin-top:15px;overflow:hidden}.dot-ledger.secondary{border-color:#adcbea33}.dot-ledger-head{background:#f9c7610f;border-bottom:1px solid #ffffff0f;padding:11px 12px}.secondary .dot-ledger-head{background:#82a4ce0f}.dot-ledger-head>div{justify-content:space-between;gap:10px;display:flex}.dot-ledger-head span,.dot-ledger-head b{color:#efca73;letter-spacing:.85px;font-size:8px;font-weight:700}.secondary .dot-ledger-head span,.secondary .dot-ledger-head b{color:#c2d8ee}.dot-ledger-head small{color:#a69d8f;margin-top:4px;font-size:9px;display:block}.dot-row{color:#e3d8c5;border-top:1px solid #ffffff0b;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.dot-row>div{align-items:center;gap:7px;display:flex}.dot-row button{color:#f2cb72;background:#f9c76112;border:1px solid #f9c76140;border-radius:50%;place-items:center;width:22px;height:22px;font-size:15px;line-height:1;display:grid}.dot-row button:disabled{opacity:.28}.dot-row i{gap:3px;display:flex}.dot-row i b{border:1px solid #81786a;border-radius:50%;width:8px;height:8px}.dot-row i b.filled{background:#f1c562;border-color:#f1c562;box-shadow:0 0 6px #f1c56273}.secondary-category>span{color:#a8b5c0;letter-spacing:1px;padding:9px 12px 5px;font-size:8px;font-weight:700;display:block}.secondary-category+.secondary-category{border-top:1px solid #ffffff14}.secondary-category .dot-row{border-top:0;padding-top:6px;padding-bottom:6px}.forge-hero{margin-top:16px}@media (max-width:560px){.creation-fields,.rule-dot-fields,.focus-cards{grid-template-columns:1fr}.focus-cards button{min-height:54px}.join-card-create{padding:29px 20px}.share-link b{max-width:190px}.campaign-rules-heading{flex-direction:column;align-items:flex-start}.creation-switch{align-self:flex-end;margin-top:-25px}}.campaign-field>span,.campaign-rules-heading>div>span,.rule-dot-fields label>span,.creation-label,.secondary-category>span{letter-spacing:1px;font-size:11px}.campaign-field input,.campaign-create input,.new-campaign-rules>input,.rule-dot-fields input{min-height:46px;padding:10px 12px;font-size:18px}.campaign-create button,.new-campaign-rules>button,.create-hero-choice{letter-spacing:1px;min-height:46px;padding:11px 13px;font-size:11px}.campaign-list button{min-height:58px;padding:12px;font-size:14px}.campaign-list small,.campaign-rules-heading>div>small,.rule-dot-fields small,.creation-status small{font-size:11px}.creation-switch{gap:8px;font-size:11px}.creation-switch i{width:38px;height:22px}.creation-switch i:after{width:16px;height:16px;margin:3px}.creation-switch input:checked+i:after{margin-left:19px}.creation-switch b{min-width:42px;font-size:10px}.dot-ledger-head{padding:13px 14px}.dot-ledger-head span,.dot-ledger-head b{font-size:10px}.dot-ledger-head small{font-size:11px}.dot-row{min-height:42px;padding:9px 14px;font-size:14px}.dot-row button{width:30px;height:30px;font-size:20px}.dot-row i{gap:4px}.dot-row i b{width:10px;height:10px}.creation-fields .backstory-field{grid-column:1/-1}.creation-fields .backstory-field textarea{resize:vertical;color:#fbeccc;background:#12131b;border:1px solid #ffffff26;border-radius:7px;outline-color:#e5b95e;width:100%;min-height:84px;padding:12px 14px;font:15px/1.45 Arial}.ai-character-brief{text-align:left;background:radial-gradient(circle at 100% 0,#548eeb33,#0000 43%),#0b1423b8;border:1px solid #8dbfff85;border-radius:10px;margin:18px 0 14px;padding:16px}.ai-character-brief>div span,.ai-character-preview>span,.suggested-skills>span,.forge-tracker-head span{color:#9cc7ff;letter-spacing:1.1px;font-size:11px;font-weight:900;display:block}.ai-character-brief>div b{color:#fff0ce;margin:5px 0;font:700 22px/1.1 Georgia,serif;display:block}.ai-character-brief>div small{color:#cad5e7;font-size:13px;line-height:1.45;display:block}.ai-character-brief textarea{box-sizing:border-box;color:#f7ead1;resize:vertical;background:#050a12b8;border:1px solid #9fc6f857;border-radius:7px;width:100%;min-height:96px;margin:14px 0 10px;padding:12px;font:15px/1.45 Arial,sans-serif}.ai-character-button{color:#102038;letter-spacing:1px;background:linear-gradient(105deg,#437db7,#c9e5ff);border:1px solid #a3d0ff;border-radius:7px;width:100%;min-height:48px;font-size:12px;font-weight:900}.ai-character-button:disabled{cursor:wait;opacity:.6}.forge-tracker{text-align:left;background:#0d0f17cc;border:1px solid #f8cc705e;border-radius:10px;margin:14px 0;padding:14px}.forge-tracker.error{border-color:#f07965a6}.forge-tracker-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.forge-tracker-head b{color:#f3d384;letter-spacing:.8px;font-size:11px}.forge-tracker.error .forge-tracker-head b{color:#ffad96}.forge-tracker ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}.forge-tracker li{color:#7d8490;grid-template-columns:27px 1fr;align-items:center;gap:7px;min-width:0;display:grid}.forge-tracker li>i{border:1px solid #ffffff29;border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;font-style:normal;display:grid}.forge-tracker li b,.forge-tracker li small{display:block}.forge-tracker li b{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.forge-tracker li small{color:#7d8490;margin-top:2px;font-size:10px;line-height:1.25}.forge-tracker li.active{color:#f5d279}.forge-tracker li.active>i{color:#f4d276;border-color:#f4d276;animation:1.15s ease-in-out infinite forge-step}.forge-tracker li.complete{color:#bfe5b4}.forge-tracker li.complete>i{color:#152014;background:#a5d99d;border-color:#a5d99d}.ai-character-preview{text-align:left;background:linear-gradient(125deg,#9f5e1c30,#1c2337ad);border:1px solid #f5c76285;border-radius:10px;margin:15px 0;padding:15px}.ai-character-preview>span,.suggested-skills>span{color:#efc66d}.ai-character-preview h2{color:#fff1d1;margin:5px 0 0;font:700 30px/1 Georgia,serif}.ai-character-preview>b{color:#bdcef2;margin-top:5px;font-size:14px;display:block}.ai-character-preview>p{color:#d8d1c3;margin:10px 0;font:15px/1.45 Georgia,serif}.ai-character-preview>div{flex-wrap:wrap;gap:6px;display:flex}.ai-character-preview>div span{color:#f7dfaa;border:1px solid #f4d08259;border-radius:100px;padding:5px 8px;font-size:11px}.ai-character-preview>div b{color:#fff;margin-left:4px}.ai-character-preview>small{color:#acb5c1;margin-top:10px;font-size:12px;display:block}.suggested-skills{text-align:left;background:#e9bc5c0f;border-left:3px solid #ebc367;margin:14px 0 0;padding:11px 13px}.suggested-skills p{color:#f0dec0;margin:6px 0 0;font-size:14px;line-height:1.5}@keyframes forge-step{50%{transform:scale(1.15);box-shadow:0 0 16px #f5cf71bf}}@media (max-width:600px){.forge-tracker ol{grid-template-columns:1fr 1fr}.forge-tracker li:last-child{grid-column:1/-1}}.hero-portrait.has-image,.join-portrait.has-image,.ready-orb.has-image,.phone-orb.has-image{text-shadow:none;padding:0;overflow:hidden}.hero-portrait.has-image img,.join-portrait.has-image img,.ready-orb.has-image img,.phone-orb.has-image img{object-fit:cover;width:100%;height:100%;display:block}.hero-portrait.has-image img{transform:scale(1.04)}.sheet-title{align-items:center;gap:15px;min-width:0;display:flex}.sheet-portrait{border:2px solid #facc6c8c;width:64px;height:64px;font-size:18px}.health-threshold{text-align:left;border:1px solid;border-radius:10px;align-items:flex-start;gap:12px;margin:2px 0 18px;padding:13px 14px;animation:.2s both threshold-in;display:flex}.health-threshold>span{border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.health-threshold b{letter-spacing:1.05px;font-size:12px;display:block}.health-threshold p{font:14px/1.35 var(--serif)!important;margin:4px 0 0!important}.health-threshold.fatal{color:#ffd2c2;background:#a6392d29;border-color:#ef7b659e}.health-threshold.fatal>span{color:#ff9d85;background:#ef7b6529}.health-threshold.full{color:#e3f4d4;background:#538b4b26;border-color:#a6de808f}.health-threshold.full>span{color:#c9f38f;background:#a6de8024}.threshold-action{box-shadow:0 9px 24px #f9c76147}.portrait-studio{text-align:left;background:#f9c7610e;border:1px solid #f9c76142;border-radius:10px;margin:19px 0 15px;padding:14px}.portrait-studio>span{color:#edcb80;letter-spacing:1px;font-size:11px;font-weight:700;display:block}.portrait-studio>div{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.portrait-upload,.portrait-studio button{color:#f5d17b;letter-spacing:.7px;text-align:center;background:#f9c7611a;border:1px solid #f9c76166;border-radius:7px;place-items:center;min-height:44px;font-size:11px;font-weight:700;display:grid}.portrait-upload{cursor:pointer}.portrait-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.portrait-studio button{cursor:pointer}.portrait-studio button:disabled{cursor:not-allowed;opacity:.5}.portrait-upload:has(input:disabled){cursor:not-allowed;opacity:.5}.portrait-studio small{color:#aba291;margin-top:9px;font-size:11px;line-height:1.4;display:block}@keyframes threshold-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.portrait-studio>div{grid-template-columns:1fr}.portrait-upload,.portrait-studio button{min-height:48px}}.loot-celebration{z-index:70;color:#fff0ca;text-align:center;background:radial-gradient(circle,#895822f5,#2b1c19fa 38%,#08090efc 78%);place-content:center;justify-items:center;padding:28px;animation:.38s both loot-celebrate-in;display:grid;position:fixed;inset:0;overflow:hidden}.loot-celebration-rays{opacity:.23;color:#ffe18d;letter-spacing:clamp(20px,6vw,90px);pointer-events:none;place-items:center;font:clamp(80px,19vw,240px)/1 Georgia,serif;animation:3.6s ease-in-out infinite loot-rays;display:grid;position:absolute;inset:0;transform:rotate(-10deg)}.loot-celebration>span,.loot-celebration h2,.loot-celebration p,.loot-celebration button{z-index:1;position:relative}.loot-celebration>span{color:#ffe095;letter-spacing:2px;font-size:11px;font-weight:700}.loot-celebration h2{color:#fff5d5;letter-spacing:-2px;text-shadow:0 4px 28px #00000080;max-width:min(700px,100%);margin:17px 0 12px;font:700 clamp(42px,8vw,88px)/.88 Georgia,serif}.loot-celebration p{color:#eed9b6;max-width:360px;margin:0;font:18px/1.45 Georgia,serif}.loot-celebration button{color:#3f2511;letter-spacing:1.15px;background:linear-gradient(92deg,#c98d32,#ffe49b);border:1px solid #fff0b7;border-radius:8px;min-height:54px;margin-top:28px;padding:13px 20px;font-size:12px;font-weight:700;box-shadow:0 10px 35px #ffc2593d}.loot-celebration button b{margin-left:10px;font-size:17px}@keyframes loot-celebrate-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes loot-rays{50%{opacity:.33;transform:rotate(10deg)scale(1.08)}}.sheet-weapon{grid-template-columns:26px minmax(0,1fr) auto}.sheet-weapon-actions{grid-area:1/3/span 2;gap:4px;display:grid}.sheet-remove-gear,.sheet-item-art{color:#985343;letter-spacing:.6px;text-align:center;background:#8e473817;border:1px solid #8e473859;border-radius:4px;padding:6px 7px;font-size:9px;font-weight:700}.sheet-item-art{color:#806020;cursor:pointer;background:#bf89361c;border-color:#a670275c}.sheet-item-art input,.loot-art-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.gear-art{object-fit:cover;border:1px solid #f9c7616b;border-radius:8px;width:36px;height:36px}.loot-token-art{place-items:center;display:grid;overflow:hidden}.loot-token-art img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.loot-art-upload{color:#f0c974;cursor:pointer;letter-spacing:.65px;background:#f9c76114;border:1px solid #f9c76152;border-radius:5px;place-items:center;min-height:28px;padding:4px 7px;font-size:9px;font-weight:700;display:grid}.all-hands.boon{color:#d6f0bc;background:#92cc701a;border-color:#aad87f6b}.boon-modal .effect-input>input{color:#e9f9d7;min-height:62px;font:700 20px/1.2 var(--serif);background:#0b1011;border:1px solid #b0e08480;border-radius:9px;padding:12px 15px}.boon-confirm{color:#173017!important;background:linear-gradient(92deg,#7dba65,#d5ed9c)!important;border-color:#bbea92d1!important}.armor-edit{grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:11px;display:grid}.armor-edit>span{color:#8a6530;letter-spacing:1px;grid-column:1/-1;font-size:10px;font-weight:700}.armor-edit input{color:#3f3022;background:#fffdf499;border:1px solid #483c2d4d;border-radius:6px;min-width:0;padding:9px;font:14px Georgia,serif}.armor-edit button{color:#fff7e5;letter-spacing:.7px;background:#b78338;border:0;border-radius:6px;padding:9px 10px;font-size:10px;font-weight:700}.player-roll-overlay{z-index:80;color:#fff0d0;text-align:center;background:radial-gradient(circle at 50% 36%,#2d5674 0,#19283f 35%,#10121d 74%),#10121d;flex-direction:column;justify-content:center;align-items:center;padding:28px 18px;animation:.32s both fade-in;display:flex;position:fixed;inset:0;overflow:auto}.player-roll-sigil{color:#fff0a1;border:1px solid #ffe599a6;border-radius:50%;place-items:center;width:68px;height:68px;font:40px Georgia,serif;animation:1.7s infinite pulse;display:grid;box-shadow:0 0 0 10px #f1c36114,0 0 36px #ffcc6e59}.player-roll-overlay .join-kicker{color:#caddec;margin-top:23px}.player-roll-overlay h2{color:#fff0d0;letter-spacing:-2px;text-shadow:0 8px 36px #07101c;max-width:650px;margin:10px 0 7px;font:700 clamp(44px,13vw,88px)/.82 Georgia,serif}.player-roll-overlay h2 em{color:#bde0ff}.player-roll-reason{color:#d9d6d0;max-width:360px;margin:6px 0 0;font:17px/1.4 Georgia,serif}.player-dice-pool{align-items:center;gap:12px;margin:18px 0 12px;display:flex}.player-dice-pool strong{color:#ffcf63;letter-spacing:-5px;text-shadow:0 0 28px #ffc75347;font:700 clamp(88px,24vw,144px)/.68 Georgia,serif}.player-dice-pool>span{color:#fff0d1;letter-spacing:1.5px;text-align:left;font-size:12px;font-weight:900;line-height:1.2}.player-dice-pool small{color:#b9c9d5;letter-spacing:.8px;margin-top:4px;font-size:9px;display:block}.player-roll-rules{background:#060e1a59;border:1px solid #c8e0ed5c;border-radius:9px;gap:4px;max-width:430px;padding:10px 15px;display:grid}.player-roll-rules b{color:#ffda85;letter-spacing:1px;font-size:12px}.player-roll-rules span{color:#d7e1e5;font-size:12px;line-height:1.35}.player-roll-breakdown{flex-wrap:wrap;justify-content:center;gap:5px;max-width:430px;margin-top:10px;display:flex}.player-roll-breakdown span{color:#e9dec8;background:#ffffff0f;border:1px solid #ffe7ae38;border-radius:99px;padding:4px 8px;font-size:10px}.player-roll-overlay>button{color:#182331;letter-spacing:1.2px;background:linear-gradient(90deg,#87b7ce,#d8ead4);border:1px solid #e2efdf;border-radius:8px;margin-top:17px;padding:14px 21px;font-size:11px;font-weight:900;box-shadow:0 11px 32px #87b7ce3d}.player-roll-overlay>button span{margin-left:8px;font-size:16px}.rolled-dice{flex-wrap:wrap;justify-content:center;gap:8px;max-width:min(560px,92vw);margin-top:18px;display:flex}.rolled-dice span{color:#dbe1e2;background:#090e19ad;border:1px solid #ebece747;border-radius:9px;place-items:center;width:44px;height:44px;font:700 23px Georgia,serif;display:grid}.rolled-dice span.success{color:#fff7d8;background:linear-gradient(145deg,#b76f2e,#e1b44d);border-color:#f9d46f;box-shadow:0 0 18px #fccd574d}.zero-key{color:#c3d4df;margin-top:8px;font-size:11px}@media (max-width:460px){.player-roll-overlay{justify-content:flex-start;padding-top:42px}.player-roll-overlay h2{font-size:47px}.player-dice-pool strong{font-size:102px}}.player-combat-overlay{z-index:75;color:#fff0d4;text-align:center;background:radial-gradient(circle,#7f3025 0,#3b2029 35%,#0d0e15 78%);flex-direction:column;justify-content:center;align-items:center;padding:28px 18px;animation:.5s both combat-in;display:flex;position:fixed;inset:0;overflow:hidden}.player-combat-rings{aspect-ratio:1;border:1px solid #ffd68b8c;border-radius:50%;width:min(130vw,700px);animation:1.8s infinite pulse;position:absolute;box-shadow:0 0 0 44px #ed844f0d,0 0 0 115px #ed844f09,0 0 80px #fc754db8}.player-combat-kicker,.player-combat-overlay h2,.player-combat-overlay p,.player-combat-overlay button{position:relative}.player-combat-kicker{color:#ffcb7a;letter-spacing:2.5px;font-size:11px;font-weight:900}.player-combat-overlay h2{color:#fff1d3;letter-spacing:-4px;text-shadow:0 8px 34px #1a0809;margin:12px 0 8px;font:700 clamp(64px,19vw,116px)/.72 Georgia,serif}.player-combat-overlay h2 em{color:#ffb269}.player-combat-overlay p{color:#f3d4bc;max-width:340px;margin:6px 0 0;font:17px/1.45 Georgia,serif}.player-combat-overlay button{color:#351816;letter-spacing:1.2px;background:linear-gradient(90deg,#cc6249,#f0ac5b);border:1px solid #ffdda2;border-radius:8px;margin-top:22px;padding:15px 21px;font-size:11px;font-weight:900;box-shadow:0 12px 36px #fb704b47}.player-combat-overlay button span{margin-left:8px;font-size:17px}.player-moment-overlay{z-index:69;color:#fff3d8;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:28px 18px;animation:.42s both player-moment-in;display:flex;position:fixed;inset:0;overflow:hidden}.player-moment-overlay.harm{background:radial-gradient(circle,#9c392f 0,#481f29 36%,#101018 78%)}.player-moment-overlay.heal{background:radial-gradient(circle,#4d8c65 0,#213f39 38%,#10141a 78%)}.player-moment-overlay.boon{background:radial-gradient(circle,#507b8f 0,#243c49 38%,#10141a 78%)}.player-moment-overlay.scene{background:radial-gradient(circle,#6e5799 0,#322b58 38%,#10111d 78%)}.player-moment-overlay.victory{background:radial-gradient(circle,#b87829 0,#6a3f24 37%,#161013 78%)}.player-moment-rings{aspect-ratio:1;border:1px solid #ffe7ab9e;border-radius:50%;width:min(132vw,720px);animation:1.7s infinite pulse;position:absolute;box-shadow:0 0 0 42px #ffe7ab0e,0 0 0 112px #ffe7ab09,0 0 86px #ffca7161}.player-moment-icon,.player-moment-kicker,.player-moment-overlay h2,.player-moment-overlay p,.player-moment-overlay button{position:relative}.player-moment-icon{color:#fff2b9;border:1px solid #ffebbcbd;border-radius:50%;place-items:center;width:75px;height:75px;font:42px/1 Georgia,serif;display:grid;box-shadow:0 0 0 10px #ffe29c14}.player-moment-kicker{color:#ffe1a0;letter-spacing:2.1px;margin-top:24px;font-size:11px;font-weight:900}.player-moment-overlay h2{color:#fff4d8;letter-spacing:-3px;text-shadow:0 8px 36px #07090e99;margin:10px 0 8px;font:700 clamp(56px,16vw,108px)/.78 Georgia,serif}.player-moment-overlay p{color:#f0ded0;max-width:350px;margin:4px 0 0;font:17px/1.45 Georgia,serif}.player-moment-overlay button{color:#30200f;letter-spacing:1.2px;background:linear-gradient(92deg,#deb04d,#ffe8a2);border:1px solid #fff0be;border-radius:8px;margin-top:24px;padding:15px 21px;font-size:11px;font-weight:900;box-shadow:0 12px 36px #fcbf5247}.player-moment-overlay button span{margin-left:8px;font-size:16px}@keyframes player-moment-in{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
