:root{color-scheme:dark;--font-display: "Cinzel", "Palatino Linotype", Palatino, serif;--font-body: "Source Serif 4", "Palatino Linotype", Palatino, Georgia, serif;font-family:var(--font-body);line-height:1.45;font-weight:400;color:#f3e6c8;background:#140f0c}*,*:before,*:after{box-sizing:border-box}html{height:100%;height:100dvh;overflow:hidden}body,#root{margin:0;width:100%;height:100%;height:100dvh;max-height:100dvh;overflow:hidden}h1,h2,h3,h4,.toolbar-brand strong,.lobby h1,.create-hero h2,.create-kicker,.chat-header,.actors-panel-header strong,.sheet-name-input,.sheet-ability header strong,.create-chip{font-family:var(--font-display)}.create-kicker,.create-chip{font-weight:700;letter-spacing:.14em}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #5c4a32;background:#2c2218;color:inherit;border-radius:4px;padding:.35rem .75rem;box-shadow:inset 0 1px #f3e6c80f}button:hover{background:#3d2f22}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid #c49a4a;outline-offset:1px}button.tool-active{background:#3228108c;border-color:#c49a4a;color:#f4e6c4}button.tool-active:hover:not(:disabled){background:#3a3014cc}.draw-menu{position:absolute;top:.75rem;left:.75rem;z-index:20}.draw-menu>button{box-shadow:0 4px 14px #00000059}.draw-menu-panel{position:absolute;top:calc(100% + .35rem);left:0;min-width:13rem;padding:.4rem;border:1px solid #6b542e;border-radius:12px;background:#1c140ef5;box-shadow:0 12px 32px #0000008c}.draw-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.draw-menu-item{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:5px;padding:.4rem .55rem}.draw-menu-item:hover:not(:disabled){background:#3d2f22}.draw-menu-item.active{background:#3228108c;border-color:#c49a4a;color:#f4e6c4}.draw-menu-options{display:flex;flex-direction:column;gap:.4rem;margin-top:.35rem;padding-top:.45rem;border-top:1px solid #3d3226}.draw-menu-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .2rem}.draw-menu-row select,.draw-menu-row input[type=color]{flex:0 0 auto}.draw-menu-hint{margin:0;padding:0 .35rem .2rem;line-height:1.35;max-width:16rem}.num-input{width:3.4rem;padding:.2rem .35rem}.color-sm{width:1.55rem;height:1.55rem;padding:0;border-radius:4px}.vision-compact{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-left:.25rem;padding-left:.65rem;border-left:1px solid #5c4a32}.vision-compact label{display:inline-flex;align-items:center;gap:.28rem;font-size:.8rem;color:#b8a48a}.vision-check{gap:.2rem}.vision-inline{display:inline-flex;align-items:center;gap:.3rem}.vision-scene{border-bottom:1px solid #3d3226;padding-bottom:.45rem;margin-bottom:.15rem}.vision-fog-row{display:flex;gap:.35rem;padding:0 .2rem .15rem}.vision-fog-row button{flex:1;font-size:.8rem;padding:.25rem .4rem}input,select{border:1px solid #5c4a32;background:#1a1511;color:inherit;border-radius:4px;padding:.35rem .5rem}.app{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;max-height:100dvh;overflow:hidden;background:#140f0c}.top-chrome{display:flex;flex-direction:column;flex-shrink:0;max-height:40dvh;overflow:auto;min-width:0}.toolbar-group{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.token-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.45rem .85rem;border-bottom:1px solid #3d3226;background:#1a1511}.token-bar .meta{font-size:.85rem;color:#b8a48a}.turn-order{position:absolute;top:.75rem;right:.75rem;z-index:18;width:min(17.5rem,calc(100% - 1.5rem));max-height:calc(100% - 1.5rem);display:flex;flex-direction:column;min-height:0;border:1px solid #6b542e;border-radius:12px;background:#1c140ef5;box-shadow:0 12px 36px #0000008c;overflow:hidden}.turn-order-window{position:static;width:100%;max-height:none;height:100%;border:none;border-radius:0;box-shadow:none}.turn-order-window-app{width:100%;height:100%;height:100dvh;background:#140f0c}.turn-order-tab{position:absolute;top:.75rem;right:0;z-index:18;writing-mode:vertical-rl;transform:rotate(180deg);border-radius:0 8px 8px 0;padding:.7rem .4rem;box-shadow:0 6px 18px #0006}.turn-order-tab span{display:block;margin-top:.35rem;font-size:.75rem;color:#c49a4a}.turn-order-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .5rem .45rem .7rem;border-bottom:1px solid #3d3226;background:#231b16}.turn-order-head strong{color:#c49a4a;font-size:.85rem;letter-spacing:.02em;text-transform:uppercase}.turn-order-head-actions{display:flex;gap:.2rem}.turn-order-head-actions button{padding:.15rem .45rem;min-width:1.7rem}.turn-order-idle{display:flex;flex-direction:column;gap:.6rem;padding:.75rem}.turn-order-status{padding:.55rem .7rem .45rem;border-bottom:1px solid #3d3226}.turn-order-round{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.2rem}.combat-round-controls{display:inline-flex;align-items:center;gap:.2rem}.combat-round-controls button{padding:.15rem .5rem;min-width:1.8rem}.combat-round-value,.turn-order-round strong{min-width:1.4rem;text-align:center;font-variant-numeric:tabular-nums}.turn-order-current{margin:0;font-size:.9rem;font-weight:600}.turn-order-list{list-style:none;margin:0;padding:.35rem;display:flex;flex-direction:column;gap:.25rem;overflow:auto;min-height:0;flex:1 1 auto}.turn-order-empty{padding:.5rem .4rem;grid-column:1 / -1;background:transparent;border:none}.turn-order-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.35rem;border:1px solid transparent;border-radius:7px;background:#2a2118;padding:.3rem .25rem .3rem .5rem}.turn-order-list li.active{border-color:#c49a4a;background:#3a3014;box-shadow:inset 3px 0 #c49a4a}.turn-order-swatch{width:1.15rem;height:1.15rem;border-radius:50%;border:1px solid rgba(255,255,255,.25);flex-shrink:0;box-shadow:0 0 0 1px #1c1612}.turn-order-list li.active .turn-order-swatch{box-shadow:0 0 0 2px #c49a4a}.turn-order-name{border:none;background:transparent;text-align:left;padding:.25rem .15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;min-width:0}.turn-order-name:hover{background:#3d2f22}.combat-init{width:3.1rem;padding:.15rem .25rem;font-size:.8rem;text-align:center}.combat-init-read{font-size:.8rem;color:#d4c4a8;min-width:1.4rem;text-align:right;font-variant-numeric:tabular-nums}.combat-remove{border:none;background:transparent;padding:.1rem .4rem;color:#d4c4a8;line-height:1;border-radius:6px}.combat-remove:hover{background:#3a1e28;color:#ff8a9a}.turn-order-footer{display:flex;flex-direction:column;gap:.35rem;padding:.5rem;border-top:1px solid #3d3226;background:#1c1612}.turn-order-footer-row{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.turn-order-footer>.turn-order-next{width:100%}.turn-order-next{border-color:#c9a227;background:#3a3014;color:#c49a4a}.turn-order-next:hover:not(:disabled){background:#4a3c18}.main{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,min(340px,36vw));min-width:0;min-height:0;overflow:hidden}@media(max-width:900px){.main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(160px,32dvh)}.chat-panel{border-left:none}.side-panel{border-left:none;border-top:1px solid #3d3226}}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.55rem .9rem;border-bottom:1px solid #3d3226;background:linear-gradient(180deg,rgba(196,154,74,.07),transparent 70%),#1c1612;max-height:30dvh;overflow:auto;flex-shrink:0}.toolbar-brand{display:flex;flex-direction:column;gap:.05rem;min-width:0}.toolbar-brand strong{font-size:1.05rem;letter-spacing:.06em}.toolbar-session{padding-left:.75rem;margin-left:.15rem;border-left:1px solid #5c4a32}.toolbar .spacer{flex:1;min-width:.5rem}.toolbar .meta{font-size:.85rem;color:#b8a48a}.toolbar .toolbar-text{width:7rem;max-width:18vw;border:1px solid #5c4a32;background:#2c2218;color:#f3e6c8;border-radius:6px;padding:.3rem .45rem}.toolbar .file-btn{position:relative;display:inline-flex;align-items:center;gap:.35rem;border:1px solid #5c4a32;background:#2c2218;color:#f3e6c8;border-radius:6px;padding:.35rem .7rem;cursor:pointer}.toolbar .file-btn:hover{background:#3d2f22}.toolbar button.active-toggle{border-color:#c49a4a;background:#32281080;color:#f4e6c4}.toolbar .file-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.stage-wrap{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#100c09}.token-sheet{position:absolute;top:.75rem;right:.75rem;bottom:.75rem;width:min(22rem,calc(100% - 1.5rem));display:flex;flex-direction:column;gap:.65rem;padding:.75rem;border:1px solid #3d3226;border-radius:12px;background:#201610f5;box-shadow:0 12px 40px #00000073;z-index:5;overflow:hidden;min-height:0}.combat-sheet-scroll{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:.15rem}.combat-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:stretch}.combat-hero-art{min-width:0}.combat-hero-art img,.combat-hero-art .token-sheet-portrait-fallback{width:100%;aspect-ratio:1;max-height:11rem;object-fit:cover;border-radius:10px;border:1px solid #3d3226;background:#100c09}.combat-hero-art .token-sheet-portrait-fallback{display:grid;place-items:center;font-size:2.5rem;font-weight:700;color:#fff;max-height:none;height:100%;min-height:7rem}.combat-hero-stats{display:flex;flex-direction:column;gap:.45rem;min-width:5.5rem}.combat-portrait-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid #5c4a32;background:#2c2218;color:#f3e6c8;border-radius:6px;padding:.35rem .5rem;cursor:pointer;font-size:.8rem}.combat-portrait-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.combat-resources h3,.combat-actions h3{margin:0 0 .35rem;font-size:.85rem;color:#d4c4a8}.token-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex-shrink:0}.combat-sheet-title{min-width:0}.token-sheet-footer{display:flex;align-items:center;gap:.5rem;border-top:1px solid #3d3226;padding-top:.55rem;flex-shrink:0}.token-sheet-header h2{margin:0;font-size:1.15rem;line-height:1.2}.token-sheet-sub{margin:.2rem 0 0;color:#b8a48a;font-size:.85rem}.token-sheet-portrait{display:grid;gap:.45rem}.token-sheet-portrait img,.token-sheet-portrait-fallback{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid #3d3226;background:#100c09}.token-sheet-portrait-fallback{display:grid;place-items:center;font-size:3rem;font-weight:700;color:#fff}.token-sheet-art-actions{display:flex;flex-wrap:wrap;gap:.35rem}.token-sheet-art-actions .file-btn{position:relative;display:inline-flex;align-items:center;border:1px solid #5c4a32;background:#2c2218;color:#f3e6c8;border-radius:6px;padding:.3rem .55rem;cursor:pointer;font-size:.85rem}.token-sheet-art-actions .file-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.token-sheet-body{display:grid;gap:.55rem;align-content:start;overflow:auto;min-height:0;padding-right:.15rem}.token-sheet-body label{display:grid;gap:.25rem;font-size:.85rem;color:#b8a48a}.token-sheet-body input,.token-sheet-body textarea{width:100%;border:1px solid #5c4a32;background:#2c2218;color:#f3e6c8;border-radius:6px;padding:.4rem .5rem;font:inherit}.token-sheet-body textarea{resize:vertical;min-height:4.5rem}.token-sheet-resources-head{display:flex;align-items:center;justify-content:space-between}.token-sheet-resources h3{margin:0;font-size:.9rem;color:#d4c4a8}.token-sheet-resources ul{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.35rem}.token-sheet-resources li{display:grid;grid-template-columns:minmax(0,1fr) 3.2rem auto 3.2rem auto;gap:.25rem;align-items:center}.token-sheet-resources .res-num{text-align:center}.token-sheet-empty{margin:.35rem 0 0;color:#8a7860;font-size:.85rem}.stage-wrap>[role=application]{position:absolute;inset:0;width:100%;height:100%}.stage-wrap canvas{display:block;width:100%!important;height:100%!important}.status-bar{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;padding:.45rem .9rem;border-top:1px solid #3d3226;background:#16110e;font-size:.85rem;color:#b8a48a;max-height:20dvh;overflow:auto;flex-shrink:0}.token-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}.token-list button{font-size:.8rem}.token-list button.selected{border-color:#e94560;background:#50182073}.token-list button.turn{border-color:#c49a4a;background:#3228108c;color:#f4e6c4}.chat-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;min-height:0;height:100%;overflow:hidden;background:transparent}.side-panel{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;border-left:1px solid #3d3226;background:radial-gradient(ellipse at 100% 0%,rgba(148,58,28,.14),transparent 62%),#1c1612}.side-tabs{display:flex;gap:.35rem;padding:.5rem .55rem;border-bottom:1px solid #3d3226;flex-shrink:0}.side-tabs button{flex:1;border-radius:4px;background:#1c140eb8}.side-panel>.chat-panel,.side-panel>.actors-panel,.side-panel>.libraries-panel,.side-panel>.rules-panel{flex:1 1 auto;min-height:0;height:auto}.actors-panel{display:flex;flex-direction:column;gap:.65rem;overflow:auto;padding:.65rem .75rem;overscroll-behavior:contain}.sheet-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem}.sheet-overlay-backdrop{position:absolute;inset:0;border:none;border-radius:0;background:#0c0805b8;cursor:pointer}.sheet-overlay-panel{position:relative;z-index:1;width:min(1100px,100%);height:min(860px,100%);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;min-height:0;border:1px solid #5c4a32;border-radius:10px;background:#1c1612;box-shadow:0 18px 48px #0000008c;overflow:hidden}.sheet-overlay-panel:has(.create-wizard),.sheet-overlay-panel:has(.sheet-play){width:min(1120px,100%);height:min(880px,100%);border-color:#6b542e;background:radial-gradient(ellipse at 12% -10%,rgba(196,154,74,.12),transparent 52%),radial-gradient(ellipse at 110% 0%,rgba(90,28,16,.22),transparent 50%),#1c1612}.sheet-view{display:flex;flex-direction:column;gap:0;min-height:0;height:100%;overflow:hidden}.sheet-view-turn{box-shadow:inset 0 0 0 2px #c49a4a}.sheet-view-turn .sheet-chrome{background:#3a3014;border-bottom-color:#c49a4a}.sheet-combat{padding:.55rem .15rem .15rem}.sheet-turn-badge{font-size:.75rem;font-weight:700;color:#c49a4a;text-transform:uppercase;letter-spacing:.04em}.sheet-combat-actions{display:flex;flex-wrap:wrap;gap:.35rem}.sheet-chrome{flex-shrink:0;padding:.65rem .85rem;border-bottom:1px solid #3d3226;background:#231b16}.sheet-chrome-title{display:flex;align-items:baseline;gap:.5rem;min-width:0}.sheet-chrome-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.sheet-body{flex:1 1 auto;min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;padding:.85rem 1rem 1.25rem;overscroll-behavior:contain}.sheet-col{display:flex;flex-direction:column;gap:.75rem;min-width:0}.sheet-window-app{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;height:100dvh;background:#140f0c}.sheet-window-bar{display:flex;gap:.75rem;align-items:center;padding:.5rem .85rem;border-bottom:1px solid #3d3226;background:#1c1612}.sheet-window-app .sheet-view{height:100%}@media(max-width:900px){.sheet-body{grid-template-columns:minmax(0,1fr)}.sheet-overlay-panel{width:100%;height:calc(100dvh - 1rem)}}.actors-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.actors-panel-header .create-kicker{display:block}.actors-panel-header strong{display:block;font-size:1.02rem}.actors-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.actors-list-item{width:100%;display:flex;justify-content:space-between;gap:.5rem;text-align:left;border:1px solid #4a3b2c;background:#1c140eb8;border-radius:10px;padding:.55rem .65rem}.actors-list-item:hover:not(:disabled){background:#2a2118}.actors-list-item.turn,.actors-list-item.tool-active{border-color:#c49a4a;background:#32281073;color:#ffe066}.actors-list-name{font-weight:600}.sheet-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#b8a48a}.sheet-field input,.sheet-field select,.sheet-field textarea{color:#f3e6c8;width:100%;resize:vertical}.sheet-section{display:flex;flex-direction:column;gap:.35rem}.sheet-kv,.sheet-resource{display:grid;gap:.35rem;align-items:center}.sheet-kv{grid-template-columns:1fr 1fr auto}.sheet-resource{grid-template-columns:1fr minmax(3rem,4rem) auto minmax(3rem,4rem) auto}.sheet-hint{margin:0;font-size:.8rem;line-height:1.35}.sheet-spend-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .15rem}.token-bar .apply-strike{background:#5c2a22;border:1px solid #8a4034;color:#f3d4c8;font-weight:600}.sheet-progress{white-space:nowrap;font-variant-numeric:tabular-nums;min-width:4.5rem}.sheet-progress-toggle{display:inline-flex;align-items:center;gap:.2rem;white-space:nowrap}.sheet-hint code{font-size:.78rem;color:#d8c8a8}.sheet-add-row{display:flex;gap:.35rem;align-items:center}.sheet-subsection{display:flex;flex-direction:column;gap:.35rem}.sheet-section-tabs{display:flex;flex-wrap:wrap;gap:.25rem}.sheet-section-tabs button{font-size:.8rem;padding:.25rem .5rem}.sheet-section-tabs .sheet-tab-active,.rules-chapter-list button[aria-selected=true]{background:#3228108c;border-color:#c49a4a;color:#f4e6c4}.actors-template-box{margin:.5rem .75rem;padding:.5rem 0;border-top:1px solid #3d3226;border-bottom:1px solid #3d3226;display:flex;flex-direction:column;gap:.35rem}.actors-template-actions{display:flex;flex-wrap:wrap;gap:.35rem}.actors-opponent-pick{margin:0 0 .65rem}.actors-opponent-pick select{width:100%}.rules-panel{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .75rem;overflow:auto;min-height:0}.rules-chapter-list{display:flex;flex-wrap:wrap;gap:.25rem}.rules-chapter-list button{font-size:.78rem;padding:.25rem .45rem}.rules-chapter h3{margin:.35rem 0 .15rem;font-size:.95rem}.rules-body{margin:0;white-space:pre-wrap;font-family:inherit;font-size:.82rem;line-height:1.45;color:#d8c8a8}.sheet-section-title{font-size:.8rem;font-weight:600;color:#b8a48a;margin-top:.25rem}.sheet-field-row,.sheet-roll-row{display:grid;gap:.3rem;align-items:center}.sheet-field-block{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.35rem;border-bottom:1px solid #32281e}.sheet-field-desc{width:100%;min-height:2.4rem;resize:vertical;font-size:.85rem;color:#f3e6c8}.sheet-field-row{grid-template-columns:minmax(4rem,1fr) minmax(3rem,.7fr) minmax(3rem,1fr) auto auto auto}.sheet-field-row.kind-text{grid-template-columns:minmax(4rem,1fr) minmax(3rem,.7fr) minmax(4rem,1.4fr) auto auto}.sheet-field-row.kind-number{grid-template-columns:minmax(4rem,1fr) minmax(3rem,.7fr) minmax(3rem,5rem) auto auto}.sheet-field-row.kind-check{grid-template-columns:minmax(4rem,1fr) minmax(3rem,.7fr) auto auto auto}.sheet-field-row.kind-dice{grid-template-columns:minmax(3.5rem,.9fr) minmax(2.5rem,.6fr) minmax(3rem,1fr) minmax(2.5rem,3.5rem) auto auto auto auto}.sheet-roll-row{grid-template-columns:minmax(3.5rem,.9fr) minmax(4rem,1.4fr) auto auto auto}.sheet-kind-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.sheet-check{display:flex;align-items:center}.sheet-secret{display:inline-flex;align-items:center;gap:.2rem;white-space:nowrap}.sheet-field-label,.sheet-field-section,.sheet-field-value,.sheet-field-formula,.sheet-field-mod,.sheet-roll-label,.sheet-roll-formula{min-width:0;width:100%}.chat-header{display:flex;flex-direction:column;gap:.08rem;padding:.65rem .85rem .55rem;border-bottom:1px solid #3d3226;font-weight:700;font-size:1.02rem;flex-shrink:0}.chat-header .create-kicker{font-weight:700}.chat-log{overflow:auto;min-height:0;padding:.65rem .85rem;font-size:.88rem;overscroll-behavior:contain}.chat-empty{color:#b8a48a}.chat-line{margin-bottom:.4rem;word-break:break-word}.chat-line.system{color:#b8a48a;font-style:italic}.chat-line.emote{color:#c4a0b8}.chat-line.roll,.chat-line.action,.chat-roll{color:#f3e6c8}.chat-roll{display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;font-size:.88rem}.chat-roll-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .45rem}.chat-roll-move{color:#d4c4a8}.chat-roll-band{font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.chat-roll-band em{font-style:normal;font-family:var(--font-body);letter-spacing:0;text-transform:none;margin-left:.2rem}.chat-roll-hit{font-size:.82rem;color:#cbb892;line-height:1.35}.chat-roll.is-critfail .chat-roll-band,.chat-roll.is-fail .chat-roll-band{color:#e08a8a}.chat-roll.is-mixed .chat-roll-band{color:#d4b06a}.chat-roll.is-pass .chat-roll-band{color:#8fbc7a}.chat-roll.is-critpass .chat-roll-band,.chat-roll.is-critpass .chat-roll-hit{color:#e8c46a}.chat-line.whisper{color:#c4b07a}.chat-time{color:#8a7860;font-size:.75rem}.chat-tag{color:#c4b07a;font-size:.75rem;text-transform:uppercase}.roll-total{color:#fff;font-size:1.05em}.roll-detail{color:#b8a48a}.dice-row,.chat-form{display:flex;gap:.35rem;padding:.5rem .75rem;border-top:1px solid #3d3226;flex-shrink:0;min-width:0;background:#120c0873}.dice-row input,.chat-form input{flex:1;min-width:0}.error{color:#ff7b7b}.status-ok{color:#8fd18f}.lobby-shell{width:100%;height:100%;display:grid;place-items:center;padding:1rem;background:radial-gradient(ellipse at 20% 0%,rgba(196,154,74,.16),transparent 52%),radial-gradient(ellipse at 90% 110%,rgba(90,28,16,.4),transparent 55%),#140f0c}.lobby{width:min(28rem,100%);max-height:calc(100dvh - 2rem);overflow:auto;margin:0;padding:1.4rem 1.45rem 1.5rem;border:1px solid #6b542e;border-radius:8px;background:linear-gradient(180deg,rgba(196,154,74,.06),transparent 28%),#201610f0;box-shadow:0 18px 48px #0000008c;display:grid;gap:.85rem}.lobby h1{margin:.1rem 0 0;font-size:1.7rem;letter-spacing:.04em}.lobby>p{margin:0;color:#b8a48a;font-size:.95rem}.lobby .create-primary{width:100%;padding:.6rem .8rem;margin-top:.15rem}.lobby-roles{display:grid;gap:.4rem}.lobby-error{color:#c45c4a;margin:.5rem 0 0;font-size:.95rem}.lobby-hub{max-width:28rem}.hub-list{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;max-height:40vh;overflow:auto}.hub-session-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;padding:.75rem .9rem;border:1px solid color-mix(in srgb,CanvasText 18%,transparent);background:color-mix(in srgb,Canvas 92%,CanvasText 8%);border-radius:.4rem;cursor:pointer;color:inherit;font:inherit}.hub-session-card:hover{border-color:color-mix(in srgb,CanvasText 40%,transparent)}.hub-session-card span{font-size:.85rem;opacity:.75}.lobby-roles .create-role-card{width:100%}.lobby .sheet-field input,.lobby .sheet-field select{border:1px solid #4a3b2c;background:#16110e;border-radius:8px;padding:.5rem .65rem}.lobby .sheet-field input:focus,.lobby .sheet-field select:focus{outline:none;border-color:#c49a4a}.sheet-window-app .lobby{width:min(24rem,calc(100% - 2rem));margin:2rem auto;box-shadow:none}.place-hint{color:#c9b07a}.libraries-panel{display:flex;flex-direction:column;gap:.5rem;min-width:0;min-height:0;overflow:hidden;padding:.55rem .65rem .75rem}.library-tabs{display:flex;gap:.25rem;flex-shrink:0}.library-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .45rem;border:1px solid #4a3b2c;border-radius:9px;background:#1c140eb8;color:#c4b49a;cursor:pointer}.library-tab.active{background:#32281073;border-color:#c49a4a;color:#f4e6c4}.library-tab-count{font-size:.75rem;opacity:.7}.library-body{display:flex;flex-direction:column;gap:.5rem;flex:1 1 auto;min-height:0;overflow:hidden}.library-categories{display:flex;flex-direction:column;gap:.3rem;flex:0 0 auto;max-height:8.5rem;overflow:hidden;border:1px solid #3d3226;border-radius:8px;padding:.35rem;background:#16110e}.library-categories-head{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#a89478;padding:0 .15rem}.library-categories ul{list-style:none;margin:0;padding:0;overflow:auto;min-height:0}.library-categories li button{width:100%;display:flex;justify-content:space-between;gap:.25rem;text-align:left;border:none;background:transparent;color:#c4b49a;padding:.3rem .35rem;border-radius:4px;cursor:pointer;font-size:.8rem}.library-categories li button.selected,.library-categories li button:hover{background:#3a2e1c}.library-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem}.library-category-actions{display:flex;gap:.1rem}.library-category-actions button{width:auto!important;padding:.15rem .3rem!important;font-size:.7rem!important;opacity:.7}.library-main,.library-tab-content{display:flex;flex-direction:column;gap:.45rem;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden}.library-tab-content>.actor-library-list{flex:1 1 40%}.library-tab-content>.actor-editor,.library-tab-content>.library-item-editor,.library-tab-content>.actor-library-hint{flex:1 1 55%;min-height:0;overflow:auto}.map-preview img{max-height:120px;object-fit:contain;width:100%;background:#100c09}.checkbox-row{display:flex!important;align-items:center;gap:.4rem}.actor-library-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.actor-library-header h2{margin:0;font-size:1.05rem}.actor-library-toolbar{display:flex;gap:.35rem}.actor-library-toolbar .toolbar-text{flex:1}.actor-library-create{display:flex;flex-wrap:wrap;gap:.3rem}.actor-library-list{list-style:none;margin:0;padding:0;overflow:auto;min-height:0;border:1px solid #3d3226;border-radius:8px}.actor-library-empty,.actor-library-hint{margin:0;padding:.65rem;color:#8a7860;font-size:.85rem}.actor-row{width:100%;display:flex;gap:.5rem;align-items:center;text-align:left;border:none;border-bottom:1px solid #2c2218;background:transparent;color:inherit;padding:.45rem .5rem;cursor:pointer}.actor-row:hover,.actor-row.selected{background:#2c2218}.actor-swatch{width:.7rem;height:.7rem;border-radius:2px;flex-shrink:0}.actor-row-text{display:grid;gap:.1rem;min-width:0}.actor-row-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actor-editor{display:grid;gap:.5rem;min-height:0;overflow:auto;border-top:1px solid #3d3226;padding-top:.5rem}.actor-editor-art img,.actor-editor-fallback{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:8px;border:1px solid #3d3226}.actor-editor-fallback{display:grid;place-items:center;font-size:2rem;font-weight:700;color:#fff}.actor-editor-art-actions,.actor-editor-actions{display:flex;flex-wrap:wrap;gap:.3rem}.actor-editor-art-actions .file-btn{position:relative;display:inline-flex;align-items:center;border:1px solid #5c4a32;background:#2c2218;color:#f3e6c8;border-radius:6px;padding:.3rem .55rem;cursor:pointer;font-size:.85rem}.actor-editor-art-actions .file-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.actor-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.libraries-panel .actor-editor-fields{grid-template-columns:1fr}.actor-editor-fields label,.actor-editor label{display:grid;gap:.2rem;font-size:.8rem;color:#b8a48a}.actor-editor input,.actor-editor select,.actor-editor textarea{border:1px solid #5c4a32;background:#2c2218;color:#f3e6c8;border-radius:6px;padding:.3rem .4rem;font:inherit}.actor-list-block h3{margin:0;font-size:.85rem;color:#d4c4a8}.actor-list-head{display:flex;justify-content:space-between;align-items:center}.actor-list-block ul{list-style:none;margin:.3rem 0 0;padding:0;display:grid;gap:.3rem}.actor-resource-row{display:grid;grid-template-columns:minmax(0,1fr) 3rem auto 3rem auto;gap:.2rem;align-items:center}.actor-action-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem}.combat-defense{display:flex;align-items:baseline;justify-content:space-between;padding:.45rem .6rem;border-radius:8px;background:#3a2e1c;border:1px solid #5c4a32}.combat-hero-stats .combat-defense{flex-direction:column;align-items:flex-start;gap:.15rem;flex:1}.combat-hero-stats .combat-defense-value{font-size:2rem;line-height:1}.combat-defense-label{color:#b8a48a;font-size:.85rem}.combat-defense-value{font-size:1.6rem;font-weight:700}.combat-resources{display:grid;gap:.45rem}.combat-resource-head{display:flex;justify-content:space-between;font-size:.85rem}.combat-resource-bar{height:.45rem;border-radius:999px;background:#2c2218;overflow:hidden}.combat-resource-bar>div{height:100%;background:linear-gradient(90deg,#e94560,#f5a623)}.combat-resource-btns{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.combat-actions h3{margin:0 0 .35rem;font-size:.85rem;color:#d4c4a8}.combat-actions ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.combat-action-btn{width:100%;display:grid;gap:.15rem;text-align:left;border:1px solid #5c4a32;background:#2c2218;color:inherit;border-radius:8px;padding:.5rem .6rem;cursor:pointer}.combat-action-btn:hover:not(:disabled){background:#3d2f22}.combat-action-btn span{color:#b8a48a;font-size:.8rem}.combat-action-btn code{font-size:.8rem;color:#c9b07a}.combat-action-btn em{font-size:.75rem;color:#8a7860}.combat-bio,.combat-notes{margin:0;font-size:.9rem;color:#d4c4a8;white-space:pre-wrap}.combat-notes{color:#f5a623}.create-wizard{min-height:0;color:#f3e6c8}.create-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.15rem .85rem;flex-shrink:0}.create-hero h2{margin:.1rem 0 .2rem;font-size:1.45rem;letter-spacing:.03em}.create-kicker{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c49a4a}.create-ghost{background:transparent}.create-intro h3,.create-card-block h3,.create-review h3,.create-review h4{margin:0 0 .3rem;font-size:1.05rem}.create-intro p{margin:0;max-width:46rem;color:#b8a48a;font-size:.9rem}.create-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;list-style:none;margin:0;padding:0 1.15rem .85rem;border-bottom:1px solid #3d3226;flex-shrink:0}.create-steps button{width:100%;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.45rem .3rem;border:1px solid transparent;background:transparent;color:#a89478}.create-steps button:hover{background:#2a2118}.create-step-num{width:1.55rem;height:1.55rem;display:grid;place-items:center;border-radius:999px;border:1px solid #5c4a32;font-size:.75rem;font-weight:700}.create-steps .is-done .create-step-num,.create-steps .is-current .create-step-num{border-color:#c49a4a;color:#1a1406;background:#c49a4a}.create-steps .is-current{color:#f4e6c4}.create-step-label{font-size:.72rem;white-space:nowrap}.create-body{grid-template-columns:minmax(0,1fr);padding:1rem 1.15rem 1.4rem}.create-section{display:flex;flex-direction:column;gap:.9rem;min-width:0}.create-wizard .sheet-field input,.create-wizard .sheet-field select,.create-wizard .sheet-field textarea,.sheet-play .sheet-field input,.sheet-play .sheet-field select,.sheet-play .sheet-field textarea{border:1px solid #4a3b2c;background:#16110e;border-radius:8px;padding:.5rem .65rem}.create-wizard .sheet-field input:focus,.create-wizard .sheet-field select:focus,.create-wizard .sheet-field textarea:focus,.sheet-play .sheet-field input:focus,.sheet-play .sheet-field select:focus,.sheet-play .sheet-field textarea:focus{outline:none;border-color:#c49a4a}.create-chip{display:inline-flex;width:fit-content;padding:.12rem .45rem;border-radius:999px;background:#3a2a18;color:#c49a4a;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.create-build-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.7rem}.create-build-card,.create-role-card,.create-method,.create-attr,.node-picker-tree,.create-card-block,.create-review{text-align:left;border:1px solid #4a3b2c;background:#1c140eb8;border-radius:12px}.create-build-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-height:9.5rem;padding:.9rem}.create-build-card p,.create-role-card span,.create-method span{margin:0;color:#b8a48a;font-size:.82rem}.create-build-meta{margin-top:auto;font-size:.75rem;color:#c8b06a}.create-build-card.is-selected,.create-role-card.is-selected,.create-method.is-selected,.node-row.pending{border-color:#c49a4a;box-shadow:inset 0 0 0 1px #c49a4a59;background:#32281073}.create-role-grid,.create-method-row{display:grid;gap:.45rem}.create-role-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.create-role-card,.create-method{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .75rem}.create-method-row{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.create-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.85rem}.create-gear-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(6.5rem,7.5rem);gap:.45rem}.create-gear-hint{margin:-.25rem 0 .15rem;color:#b8a48a;font-size:.75rem;line-height:1.35}.create-card-block{display:flex;flex-direction:column;gap:.65rem;padding:.9rem}.create-ap-bar,.create-sp-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;color:#b8a48a;font-size:.85rem}.create-ap-track{display:flex;gap:.3rem}.create-ap-track i,.create-attr-pips i{display:block;width:.7rem;height:.7rem;border-radius:999px;background:#3d3226}.create-ap-track i.is-on,.create-attr-pips i.is-on{background:#c49a4a}.create-attr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.55rem}.create-attr{display:grid;grid-template-columns:1fr auto;gap:.35rem .5rem;padding:.75rem}.create-attr-name{font-size:.78rem;color:#b8a48a}.create-attr-mod{font-size:.85rem;color:#c49a4a;font-variant-numeric:tabular-nums}.create-attr-ctrl{display:flex;align-items:center;gap:.35rem}.create-attr-ctrl strong{min-width:1.2rem;text-align:center;font-size:1.25rem}.create-attr-ctrl button{width:1.8rem;padding:.15rem 0}.create-attr-pips{display:flex;gap:.2rem;grid-column:1 / -1}.create-wizard .create-derived,.sheet-play .create-derived{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;list-style:none;margin:0;padding:0}.create-derived{display:flex;flex-wrap:wrap;gap:.35rem .85rem;list-style:none;margin:0;padding:0;font-size:.85rem;color:#d4c4a8}.create-wizard .create-derived li,.sheet-play .create-derived li{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .7rem;border:1px solid #4a3b2c;border-radius:10px;background:#16110e}.create-wizard .create-derived span,.sheet-play .create-derived span{font-size:.72rem;color:#a89478;text-transform:uppercase;letter-spacing:.04em}.create-wizard .create-derived strong,.sheet-play .create-derived strong{font-size:1.1rem}.create-errors{margin:0;padding-left:1.1rem;color:#e94560;font-size:.85rem}.create-legal{margin:0;color:#8fd18f;font-size:.9rem}.create-nav{display:flex;justify-content:space-between;align-items:center;gap:.4rem;padding:.7rem 1.15rem .9rem;border-top:1px solid #3d3226;background:#120c088c;flex-shrink:0}.create-nav>div{display:flex;gap:.4rem}.create-primary,button.create-primary{background:#c49a4a;border-color:#c49a4a;color:#1a1408;font-family:var(--font-display);font-weight:700;letter-spacing:.06em}.create-primary:hover:not(:disabled){background:#d4b06a}.create-review{display:flex;flex-direction:column;gap:1rem;padding:1rem}.create-review-hero p{margin:.35rem 0 .8rem;color:#d4c4a8}.create-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}.create-review-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.create-review-grid li{display:flex;justify-content:space-between;gap:.5rem;font-size:.88rem}.create-review-grid em{color:#c49a4a;font-style:normal;font-weight:600}.node-picker-wrap{display:grid;gap:.55rem}.node-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(16.5rem,1fr));gap:.7rem}.node-picker-tree{display:flex;flex-direction:column;gap:.4rem;padding:.75rem}.node-picker-tree header{display:flex;justify-content:space-between;align-items:center}.node-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;width:100%;text-align:left;border:1px solid #4a3b2c;background:#1a1410;border-radius:9px;padding:.5rem .55rem}.node-row:hover:not(:disabled){background:#241c16}.node-row.owned,.node-row.locked{opacity:.55}.node-tier,.node-cost{font-size:.72rem;font-weight:700;color:#c49a4a}.node-copy{display:grid;gap:.1rem;min-width:0}.node-copy strong{font-size:.88rem}.node-copy span,.node-copy em{font-size:.75rem;color:#a89478;font-style:normal}@media(max-width:720px){.create-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.create-wizard .create-derived,.sheet-play .create-derived,.sheet-play .create-attr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-play-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}.level-history{margin:0;padding:.4rem .5rem;background:#16110e;border:1px solid #3d3226;border-radius:6px;white-space:pre-wrap;font-size:.78rem;color:#c4b49a;max-height:7rem;overflow:auto}.level-up-form{display:flex;flex-direction:column;gap:.55rem;padding-top:.35rem;border-top:1px solid #3d3226}.sheet-play{color:#f3e6c8}.sheet-play-hero{border-bottom:1px solid #3d3226}.sheet-name-input{display:block;width:100%;max-width:32rem;margin:.1rem 0 .25rem;font-size:1.45rem;font-weight:700;letter-spacing:.04em;color:inherit;background:transparent;border:none;border-bottom:1px solid transparent;padding:.05rem 0 .2rem}.sheet-name-input:focus{outline:none;border-bottom-color:#c49a4a}.sheet-play-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.sheet-play-body{padding-top:1rem}.sheet-play .create-attr-pips{grid-column:1 / -1}.sheet-meters{display:flex;flex-direction:column;gap:.5rem}.sheet-meter{display:flex;flex-direction:column;gap:.4rem;padding:.7rem .75rem;border:1px solid #4a3b2c;border-radius:12px;background:#1c140eb8}.sheet-meter-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.sheet-meter-nums{display:flex;align-items:center;gap:.25rem}.sheet-meter-nums input{width:3.4rem}.sheet-meter-track{height:.5rem;border-radius:999px;background:#3d3226;overflow:hidden}.sheet-meter-fill{display:block;height:100%;background:#a89478}.sheet-meter-fill.is-hp{background:linear-gradient(90deg,#c45c5c,#e94560)}.sheet-meter-fill.is-mana{background:linear-gradient(90deg,#3d6a68,#6a9a8e)}.sheet-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.45rem}.sheet-play-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.sheet-play-tabs button{width:100%;padding:.45rem .3rem;border:1px solid #4a3b2c;background:#1c140eb8;color:#a89478;border-radius:9px;font-size:.8rem}.sheet-play-tabs button:hover{background:#2a2118}.sheet-play-tabs .is-current{border-color:#c49a4a;color:#f4e6c4;background:#32281073}.sheet-ability-list{display:flex;flex-direction:column;gap:.65rem}.sheet-ability{display:flex;flex-direction:column;gap:.45rem;padding:.85rem;border:1px solid #4a3b2c;background:#1c140eb8;border-radius:12px}.sheet-ability header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.sheet-ability p{margin:0;color:#b8a48a;font-size:.85rem}.sheet-ability-title{font-size:1rem;font-weight:700;color:inherit;background:transparent;border:none;border-bottom:1px solid transparent;padding:0;min-width:0;flex:1}.sheet-ability-title:focus{outline:none;border-bottom-color:#c49a4a}.sheet-ability-meta .is-cd,.sheet-field-row .is-cd{color:#e94560;font-weight:600}.sheet-ability-actions{display:flex;flex-wrap:wrap;gap:.35rem}.descent-progress h3{margin:.15rem 0 0}.descent-progress .create-nav{padding:.55rem 0 0;border-top:1px solid #3d3226;background:transparent}.sheet-play .create-derived{grid-template-columns:repeat(auto-fit,minmax(6.2rem,1fr))}.sheet-view-turn .sheet-play-hero{background:linear-gradient(180deg,rgba(58,48,20,.55),transparent)}
