/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-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;-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}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--background:#080907;--foreground:#f2ead7;--panel:#121412d1;--panel-strong:#1f201aeb;--line:#f2ead729;--gold:#d7b66a;--ember:#d86f3a;--teal:#61b3a6;--moss:#78915a;--blood:#b94a43;--ink:#0f1110}*{box-sizing:border-box}.vtt-shell,.vtt-shell *{-webkit-user-select:none;user-select:none}.vtt-shell input,.vtt-shell textarea,.vtt-shell [contenteditable=true],.vtt-shell input *,.vtt-shell textarea *,.vtt-shell [contenteditable=true] *{-webkit-user-select:text;user-select:text}html,body{width:100%;height:100%;min-height:100%;overflow:hidden}body{background:radial-gradient(circle at 18% 20%, #d86f3a29, transparent 26rem), radial-gradient(circle at 82% 8%, #61b3a621, transparent 24rem), var(--background);color:var(--foreground);max-width:100vw;max-height:100dvh;margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}.vtt-shell{max-width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh;padding:12px;position:relative;overflow:hidden}.vtt-shell:before{content:"";z-index:0;background-image:radial-gradient(circle,#0000 0 38%,#00000047 70%,#0000009e 100%),linear-gradient(#05070624,#0507066b);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.vtt-shell:after{content:"";opacity:.34;pointer-events:none;z-index:1;background:radial-gradient(circle at 20% 40%,#f2ead714,#0000 18%),radial-gradient(circle at 78% 48%,#61b3a614,#0000 20%);position:absolute;inset:-10%}.topbar,.dock,.tray-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line);z-index:3;background:linear-gradient(145deg,#1214128a,#08090747);position:relative;box-shadow:0 16px 42px #00000052}.topbar{cursor:move;z-index:7;border-radius:8px;justify-content:space-between;align-items:center;width:min(820px,100vw - 340px);min-height:58px;padding:10px 16px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.eyebrow{color:var(--teal);text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:700}h1,h2,p{margin:0}h1{font-size:clamp(1.35rem,2.2vw,2.15rem);font-weight:760}.session-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.session-meta span,.scene-chip{border:1px solid var(--line);color:#e7dcc2;background:#f2ead70f;border-radius:999px;padding:7px 10px;font-size:.78rem}.workspace{z-index:2;position:absolute;inset:0}.dock,.left-rail{border-radius:8px;min-height:0;padding:12px;overflow:auto}.left-rail{box-shadow:none;z-index:8;background:0 0;border:0;grid-template-rows:auto minmax(150px,30dvh) minmax(0,1fr);gap:8px;width:min(320px,100vw - 36px);height:calc(100dvh - 36px);max-height:calc(100dvh - 36px);padding:0;display:grid;position:absolute;top:18px;left:18px;overflow:hidden}.left-rail>.rail-head:first-child{background:0 0;padding:0 4px 2px}.scene-dock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:8;border:1px solid #f2ead714;width:min(360px,100vw - 36px);max-height:none;position:absolute;top:12px;bottom:12px;right:12px;overflow-y:auto;background:linear-gradient(90deg,#080a0c2e,#080a0c6b)!important}.scene-dock.hidden{display:none}.scene-toggle{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff3da;z-index:10;background:#080a0c85;border:1px solid #f2ead724;border-radius:999px;place-items:center;width:34px;height:34px;font-weight:900;display:grid;position:absolute;top:14px;right:14px}.scene-toggle.open{right:380px}.dock-head,.rail-head{color:#fff4d8;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:760;display:flex}.dock-head button,.rail-head button{border:1px solid var(--line);color:var(--foreground);background:#f2ead70f;border-radius:6px;place-items:center;min-width:28px;height:28px;display:grid}.layer{color:#efe5cf;background:#ffffff06;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;width:100%;margin-bottom:7px;padding:10px;display:flex}.layer small{color:#aa9f89;font-size:.72rem}.layer.active,.segmented button.active,.mode-switch button.active{background:linear-gradient(135deg,#d86f3a42,#61b3a62e);border-color:#d7b66a85}.control-block{border-top:1px solid var(--line);gap:8px;margin-top:12px;padding-top:12px;display:grid}.control-block label,.dice-panel span{color:#bfb49d;text-transform:uppercase;font-size:.78rem;font-weight:700}input[type=range]{accent-color:var(--gold);width:100%}.segmented,.mode-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.segmented button,.mode-switch button{border:1px solid var(--line);color:#eadfc7;background:#f2ead70f;border-radius:6px;min-height:36px;padding:8px}.map-stage{box-shadow:none;z-index:1;background:#020303;border:0;border-radius:0;min-height:100dvh;position:absolute;inset:0;overflow:hidden}.map-art{-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform;background:#777a76 50%/100% 100% no-repeat;position:absolute;inset:0;transform:translateZ(0)}.map-art:after{display:none}.shadow{filter:blur(18px);opacity:.86;transform-origin:0;background:linear-gradient(90deg,#00000085,#0000);width:420px;height:120px;position:absolute}.shadow-one{top:29%;left:49%;transform:rotate(-14deg)}.shadow-two{top:56%;left:61%;transform:rotate(24deg)}.light{filter:blur(1px);border-radius:50%;animation:3.8s ease-in-out infinite pulse;position:absolute}.torch-a{background:radial-gradient(circle,#ffd77cf2,#d86f3a57 28%,#0000 66%);width:240px;height:240px;top:7%;left:22%}.torch-b{background:radial-gradient(circle,#ffb15cd6,#b94a434d 32%,#0000 68%);width:220px;height:220px;animation-delay:.8s;bottom:4%;right:35%}.moonwell{background:radial-gradient(circle,#96decfb3,#61b3a629 38%,#0000 70%);width:320px;height:320px;animation-delay:1.4s;top:33%;right:4%}.fog-layer{filter:blur(16px);opacity:.7;background:radial-gradient(circle at 20% 40%,#f2ead71f,#0000 18%),radial-gradient(circle at 78% 48%,#f2ead71a,#0000 20%),radial-gradient(circle at 54% 78%,#61b3a61a,#0000 18%);animation:18s linear infinite drift;position:absolute;inset:-12%}.rain-layer{opacity:0;background:repeating-linear-gradient(112deg,#dae8e224 0 1px,#0000 1px 13px);position:absolute;inset:-18%;transform:translateY(-20px)}.weather-rain .rain-layer{display:none}.weather-fog .fog-layer{opacity:.95}.shadow,.fog-layer,.rain-layer{display:none!important}.token{color:#fff8e6;z-index:3000;border:2px solid #f2ead7bd;border-radius:50%;place-items:center;width:48px;height:48px;font-weight:800;display:grid;position:absolute}.token-hero{background:radial-gradient(circle, var(--gold), #6f3f24);top:47%;left:42%}.token-ranger{background:radial-gradient(circle, var(--teal), #26483f);top:55%;left:51%}.token-foe{background:radial-gradient(circle, var(--blood), #3b1715);top:37%;right:31%}.scene-chip{z-index:6;gap:8px;display:flex;position:absolute;bottom:16px;left:16px}.player-card{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:clamp(58px,28%,112px) minmax(0,1fr);align-items:stretch;gap:8px;min-height:78px;margin-bottom:8px;padding:0;display:grid}.party-list{scrollbar-color:#ffbb438c #ffffff0f;gap:5px;height:100%;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.players-window{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.party-section-title{color:#fff7e7;text-shadow:0 2px 10px #0000008c;margin:0 0 8px;font-size:.95rem;font-weight:850}.party-section-title+.player-card{margin-bottom:12px}.portrait{color:#fff7e8;background:radial-gradient(circle at 50% 42%,#ffffff4d,#0000 16%),linear-gradient(145deg,#4e305df0,#161622d6);border:1px solid #f2ead72e;border-radius:2px;place-items:center;width:100%;height:100%;min-height:74px;font-weight:800;display:grid}.avatar-picker{cursor:pointer;position:relative;overflow:hidden}.avatar-picker img{object-fit:cover;width:100%;height:100%}.avatar-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:50%;left:50%}.player-card h2{color:#fff9e8;white-space:nowrap;font-size:clamp(.74rem,1.35vw,.96rem);line-height:1.1;overflow:hidden}.player-card h2 span{white-space:nowrap;max-width:none;padding-right:18px;display:inline-block}.player-card h2 span:hover,.player-card:hover h2 span{animation:5.5s ease-in-out infinite alternate memberNamePan}.player-card p{color:#bfb49d;white-space:nowrap;margin-top:3px;font-size:.72rem;line-height:1.15;overflow:hidden}@keyframes memberNamePan{0%{transform:translate(0)}to{transform:translate(-32%)}}.player-info{min-width:0;padding:1px 0}.bar-stack{gap:2px;width:min(112px,100%);margin-top:6px;display:grid}.bar-stack.compact{width:min(88px,100%);margin-top:5px}.bar{border-radius:999px;height:6px;display:block;box-shadow:inset 0 0 0 1px #ffffff3d,0 1px 5px #00000040}.bar.hp{background:linear-gradient(90deg,#ef2d36,#ff6a4a)}.bar.mp{background:linear-gradient(90deg,#1e9ff0,#53e2ff)}.bar.stamina{background:linear-gradient(90deg,#18a95f,#65e178)}.bar.armor{background:linear-gradient(90deg,#c8c9c5,#f1eee3)}.sheet-line{max-width:150px;color:#ece5d685!important;font-size:.78rem!important}.bottom-tray{z-index:9;justify-content:center;width:min(560px,100vw - 380px);display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.tray-panel{border-radius:999px;width:100%;min-height:0;padding:10px 14px}.bottom-tray .tray-panel{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border:0;width:auto;padding:0}.encounters{grid-template-columns:1fr;gap:8px;display:grid}.encounters article,.scene-card{border:1px solid var(--line);color:var(--foreground);cursor:pointer;text-align:left;background:#ffffff08;border-radius:7px;justify-items:start;gap:4px;min-height:68px;padding:9px;display:grid;position:relative}.scene-card.active{background:linear-gradient(135deg,#ffbb4338,#1482c42e);border-color:#ffbb438a}.encounters span,.encounters small{color:#c8bea8;font-size:.82rem}.chat-stack{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08090d2e;border:1px solid #f2ead714;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;gap:9px;width:100%;height:100%;min-height:220px;margin-top:0;padding-top:0;display:grid;overflow:hidden}.chat-stack>.rail-head{padding:10px 10px 0}.messages-scroll{overscroll-behavior:contain;scrollbar-color:#ffbb438c #ffffff0f;gap:9px;height:100%;min-height:0;padding:0 10px;display:block;overflow-y:auto}.messages-scroll .roll-card+.roll-card{margin-top:9px}.roll-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#16162294,#0a0a0f52);border:1px solid #f2ead71f;border-radius:8px;gap:7px;min-height:74px;padding:10px;display:grid}.roll-card small{color:var(--blood);text-transform:uppercase;font-size:.72rem;font-weight:800}.roll-card strong{color:#f5ead0;text-transform:uppercase;overflow-wrap:anywhere;white-space:normal;word-break:normal;font-size:.82rem}.roll-result{align-items:center;gap:12px;display:flex}.roll-result span{color:#fff5df;font-size:1.5rem;font-weight:850}.roll-result em{color:#bfb49d;text-transform:uppercase;font-size:.72rem;font-style:normal;font-weight:800}.roll-card.critical .roll-result span{color:#f0444c}.message-box{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c0d148a;border:1px solid #f0444cbd;border-radius:8px;grid-template-columns:72px 1fr auto;align-items:center;gap:8px;min-height:44px;margin:0 10px 10px;padding:0 10px;display:grid}.message-box span{color:#bfb49d;font-size:.78rem;font-weight:800}.message-box input{color:var(--foreground);background:0 0;border:0;outline:0;min-width:0}.message-box button{color:#1d1409;text-transform:uppercase;background:#ffbb43e6;border:0;border-radius:999px;min-height:28px;padding:4px 10px;font-size:.7rem;font-weight:900}.scene-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.scene-tabs button{color:#bfb49d;text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 4px;font-size:.76rem;font-weight:800}.scene-tabs button.active{color:#fff3da;border-color:#f0444c}.toggle{border:1px solid var(--line);color:#eadfc7;background:#f2ead70f;border-radius:6px;min-height:34px;padding:8px}.toggle.active{color:#ffdd91;background:#ffbb4329;border-color:#ffbb436b}.dice-panel{text-align:center;place-items:center;gap:12px;display:grid}.dice-panel strong{color:var(--gold)}.roll-button{color:#1d1409;text-transform:uppercase;background:#ffbb43f5;border:0;border-radius:999px;min-height:34px;padding:6px 18px;font-size:.78rem;font-weight:900;box-shadow:0 8px 22px #ffbb4342}.roll-popover{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#262340e0,#18162ad1);border:1px solid #f2ead724;border-radius:999px;justify-content:space-between;align-items:center;gap:14px;width:min(430px,100vw - 42px);min-height:54px;padding:9px 10px 9px 22px;display:flex;position:absolute;bottom:74px;box-shadow:0 18px 42px #00000059}.roll-popover span{color:#fff8e6;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.82rem;font-weight:900;overflow:hidden}.dice-row{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);background:linear-gradient(145deg,#1214128a,#08090747);border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:58px;margin-top:0;padding:8px 14px;display:flex;box-shadow:0 18px 42px #00000059}.die{color:#eadfc7;opacity:.84;background:0 0;border:0;border-radius:0;place-content:center;place-items:center;width:42px;height:42px;padding:0;font-size:.76rem;font-weight:900;display:grid;position:relative}.die-d4,.die-d6,.die-d8,.die-d10,.die-d20,.die-d100{clip-path:none}.die .die-shape{background:linear-gradient(145deg,#f2ead70d,#f2ead704);border:1.5px solid #f2ead76b;width:31px;height:31px;display:block;position:absolute}.die-d4 .die-shape{clip-path:polygon(50% 4%,94% 91%,6% 91%)}.die-d6 .die-shape{border-radius:4px;box-shadow:inset -6px -6px #ffffff08,inset 5px 5px #0000002e}.die-d8 .die-shape{clip-path:polygon(50% 4%,94% 50%,50% 96%,6% 50%)}.die-d10 .die-shape{clip-path:polygon(50% 3%,90% 26%,78% 88%,22% 88%,10% 26%)}.die-d20 .die-shape{clip-path:polygon(50% 3%,93% 25%,93% 73%,50% 97%,7% 73%,7% 25%)}.die-d100 .die-shape{border-radius:50%}.die .die-label{color:#d8d3c7;text-shadow:0 1px 4px #000000bf;text-transform:none;font-size:.63rem;font-weight:900;line-height:1;position:relative}.die.active{color:#ffbd48;opacity:1}.die.active .die-shape{background:linear-gradient(135deg,#ffbb433d,#463f6838);border-color:#ffbb43b8;box-shadow:0 0 14px #ffbb4329}.die.active .die-label{color:#ffbd48;font-size:.92rem}@keyframes pulse{50%{opacity:.5}}@keyframes drift{0%{transform:translate(-2%)}to{transform:translate(2%,-2%)}}@keyframes rain{0%{transform:translateY(-28px)}to{transform:translate(-18px,28px)}}@media (max-width:1060px){.vtt-shell{padding-bottom:0;overflow:hidden}.topbar{width:auto;left:12px;right:12px;transform:none}.left-rail{width:min(310px,100vw - 24px);top:88px}.scene-dock{display:none}.bottom-tray{width:min(520px,100vw - 24px);bottom:10px}}@media (max-width:680px){.vtt-shell{padding:0}.topbar{flex-direction:column;align-items:flex-start}.encounters,.segmented,.mode-switch,.scene-tabs{grid-template-columns:1fr}.left-rail{max-height:calc(100dvh - 168px);overflow:auto}.session-meta{justify-content:flex-start}}.left-rail{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(90deg,#080a0c7a,#080a0c29);border:1px solid #f2ead70f;border-radius:8px;grid-template-rows:auto minmax(330px,46dvh) minmax(0,1fr);gap:12px;width:clamp(300px,23vw,370px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:14px;display:grid;top:12px;left:12px;overflow:hidden;box-shadow:0 18px 42px #00000047}.gm-card,.player-card{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:10px;min-height:72px;display:grid}.gm-card{grid-template-columns:64px minmax(0,1fr);min-height:64px;margin-bottom:0}.portrait{aspect-ratio:1;width:100%;height:auto;min-height:0}.gm-card .portrait{width:64px}.player-card .portrait{width:72px}.gm-card .player-info{background:linear-gradient(90deg,#5c39766b,#5c397614),linear-gradient(135deg,#ffffff0a,#0000);min-height:64px;padding:6px 8px}.player-card h2{font-size:.82rem}.player-card p{font-size:.7rem}.players-window{min-height:0;overflow:hidden}.party-list{height:100%;min-height:0;overflow-y:auto}.party-list .player-card{flex:none}.chat-stack{background:#08090d33;border-color:#f2ead714;height:100%;min-height:0;margin-top:0}@media (max-width:1060px){.left-rail{width:min(340px,100vw - 24px);height:calc(100dvh - 100px);top:88px}}@media (max-width:680px){.left-rail{grid-template-rows:auto minmax(190px,34dvh) minmax(0,1fr);max-height:calc(100dvh - 168px);overflow:hidden}}.left-rail .player-card{grid-template-columns:66px minmax(0,1fr);gap:9px;min-height:66px;margin-bottom:10px}.left-rail .player-card .portrait{width:66px}.left-rail .bar-stack{margin-top:4px}.left-rail .sheet-line{font-size:.72rem!important}.left-rail{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}.players-window,.party-list,.left-rail .player-card{box-shadow:none!important;background:0 0!important;border:0!important}.party-list{display:block!important;overflow-y:auto!important}.left-rail{box-shadow:none!important;height:calc(100dvh - 24px)!important;width:var(--sidebar-width,360px)!important;background:0 0!important;border:0!important;flex-direction:column!important;gap:10px!important;padding:14px!important;display:flex!important;top:12px!important;left:12px!important;overflow:hidden!important;transform:none!important}.left-rail *{max-width:100%}.scene-dock{box-shadow:none!important;background:linear-gradient(90deg,#080a0c14,#080a0c47)!important;height:calc(100dvh - 24px)!important;top:12px!important}.players-window{box-shadow:none!important;flex:0 0 var(--party-zone,330px)!important;background:0 0!important;border:0!important;flex-direction:column!important;min-height:0!important;display:flex!important;overflow:hidden!important}.party-list{box-shadow:none!important;background:0 0!important;border:0!important;flex:auto!important;min-height:0!important;padding-right:4px!important;display:block!important;overflow-y:auto!important}.left-rail .player-card{box-shadow:none!important;background:0 0!important;border:0!important;grid-template-columns:72px minmax(0,1fr)!important;min-height:72px!important;display:grid!important}.left-rail .player-card .portrait{width:72px!important;height:72px!important;min-height:72px!important}.left-rail .gm-card{flex:none!important;grid-template-columns:64px minmax(0,1fr)!important;min-height:64px!important}.left-rail .gm-card .portrait{width:64px!important;height:64px!important;min-height:64px!important}.chat-stack{flex:var(--chat-grow,1) 1 auto!important;place-self:stretch stretch!important;width:100%!important;height:auto!important;min-height:190px!important;margin-left:0!important;margin-right:0!important}.chat-drag-head{cursor:ns-resize;-webkit-user-select:none;user-select:none}.chat-drag-head button{cursor:pointer}.message-box{grid-template-columns:1fr!important;align-items:end!important;min-height:48px!important;padding:7px 8px!important}.message-row{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.message-box textarea{color:#ff9700;resize:none;background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:1.22em;max-height:3.8em;line-height:1.22;overflow-y:auto}.message-box textarea::placeholder{color:#ff970094}.perspective-toggle{cursor:pointer;align-self:end;min-width:46px;height:32px;margin-bottom:4px;color:#f5bb43!important;background:#f5bb432e!important;border:1px solid #f5bb438a!important;border-radius:6px!important;padding:0 8px!important;font-size:.72rem!important;font-weight:950!important}.avatar-picker img,.avatar-picker span{cursor:grab}.sidebar-resize{display:none}.chat-resize{cursor:ew-resize;z-index:20;width:14px;position:absolute;top:0;bottom:0;right:-7px}.chat-resize:after{content:"";position:absolute;inset:0}.chat-stack{position:relative!important}.left-rail{width:var(--sidebar-width,360px)!important;left:12px!important;right:auto!important;transform:none!important}.floating-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overscroll-behavior:contain;z-index:11;background:#080a0c52;border:1px solid #f2ead71a;border-radius:8px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;align-items:stretch;gap:8px;padding:0 10px 10px;display:grid;position:absolute;overflow:hidden}.floating-panel>*{min-width:0}.floating-panel-body{scrollbar-width:none;min-height:0;overflow:auto}.floating-panel-body::-webkit-scrollbar{display:none}.messages-scroll::-webkit-scrollbar{display:none}.party-list::-webkit-scrollbar{display:none}.environment-bar{overscroll-behavior:contain;scrollbar-width:none;grid-template-rows:auto;align-items:stretch;gap:7px;overflow:auto}.environment-bar::-webkit-scrollbar{display:none}.assets-panel::-webkit-scrollbar{display:none}.asset-preview::-webkit-scrollbar{display:none}.tile-list::-webkit-scrollbar{display:none}.encounters::-webkit-scrollbar{display:none}.floating-panel-head{cursor:move;background:#0304049e;border-bottom:1px solid #f2ead714;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;min-height:34px;margin:0 -10px;padding:0 10px;display:flex}.floating-panel-head span{color:#f2ead7;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:900;overflow:hidden}.panel-add-button{color:#f2ead7;background:#f5bb432e;border:1px solid #f5bb4385;border-radius:6px;min-width:28px;height:26px;padding:0;font-size:1rem;font-weight:950;line-height:1}.gm-panel,.players-panel,.chat-panel,.asset-preview{grid-template-rows:auto minmax(0,1fr)}.gm-panel .player-card,.players-panel .player-card{width:210px}.players-panel .party-list{scrollbar-width:none;grid-template-columns:repeat(auto-fill,210px);justify-content:start;gap:8px;min-height:0;display:grid;overflow:auto}.chat-panel .floating-panel-head button{color:#f2ead7;background:#f2ead71a;border:1px solid #f2ead729;border-radius:5px;min-width:28px;min-height:24px;font-size:.75rem;font-weight:900}.chat-panel .chat-stack{background:0 0;border:0;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.chat-panel .floating-panel-body{min-height:0;display:grid}.chat-panel .messages-scroll{scrollbar-width:none;min-height:0;overflow:auto}.chat-panel .message-row{flex-shrink:0;align-self:end}.window-resize{z-index:4;position:absolute}.window-resize-n,.window-resize-s{cursor:ns-resize;height:10px;left:10px;right:10px}.window-resize-n{top:0}.window-resize-s{bottom:0}.window-resize-e,.window-resize-w{cursor:ew-resize;width:10px;top:10px;bottom:10px}.window-resize-e{right:0}.window-resize-w{left:0}.window-resize-ne,.window-resize-nw,.window-resize-se,.window-resize-sw{width:16px;height:16px}.window-resize-ne{cursor:nesw-resize;top:0;right:0}.window-resize-nw{cursor:nwse-resize;top:0;left:0}.window-resize-se{cursor:nwse-resize;bottom:0;right:0}.window-resize-sw{cursor:nesw-resize;bottom:0;left:0}.scenes-panel,.assets-panel{grid-template-rows:auto minmax(0,1fr);align-items:stretch}.assets-panel{overscroll-behavior:contain;scrollbar-width:none;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.assets-panel .tile-library{min-height:0}.assets-panel .tile-list{align-content:start;min-height:72px}.assets-panel-body{scrollbar-width:none;grid-template-rows:auto auto minmax(0,1fr);align-content:start;min-height:0;padding-right:2px;display:grid;overflow:hidden}.assets-panel-body::-webkit-scrollbar{display:none}.floating-panel .encounters{scrollbar-width:none;grid-template-columns:repeat(auto-fill,150px);place-content:start;gap:8px;display:grid;overflow:auto}.floating-panel .scene-card{width:150px;height:78px;min-height:78px;overflow:hidden}.scene-delete-button{color:#ffd36b;background:#0c0a06d6;border:1px solid #ffbb436b;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.72rem;font-weight:900;display:flex;position:absolute;top:6px;right:6px}.scene-delete-button:hover{color:#fff0df;background:#581510eb;border-color:#ff5c5cb8}.scene-edit-fields{gap:3px;width:100%;display:grid!important}.scene-edit-fields input{color:#f2ead7;background:#080a0c9e;border:1px solid #f2ead72e;border-radius:4px;outline:0;width:100%;min-height:19px;padding:0 5px;font-size:.68rem;font-weight:800}.floating-panel .scene-card strong,.floating-panel .scene-card span,.floating-panel .scene-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.time-mini{gap:5px;display:grid}.library-panel{min-width:280px;min-height:220px}.library-head-actions{gap:6px;margin-left:auto;display:flex}.library-head-actions button{color:#f5d37f;background:0 0;border:0;justify-content:center;align-items:center;width:23px;height:22px;padding:0;font-size:1rem;font-weight:900;display:inline-flex}.library-head-actions button:hover{color:#fff1b8;transform:translateY(-1px)}.library-body{height:calc(100% - 34px);padding:3px;overflow:hidden}.library-tree{scrollbar-width:none;border:1px solid #f2ead71f;border-radius:7px;height:100%;overflow:auto}.library-tree::-webkit-scrollbar{display:none}.library-tree{background:#0000002e;align-content:start;gap:2px;padding:3px;display:grid}.library-tree-node{gap:2px;display:grid}.library-root-dropzone,.library-row{color:#f2ead7;text-align:left;background:#ffffff09;border:1px solid #0000;border-radius:5px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;width:100%;min-height:26px;padding:3px 4px;display:grid}.library-root-dropzone{background:0 0;border:0;min-height:8px;margin-bottom:2px;padding:0;display:block}.library-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-row-leading{align-items:center;gap:5px;display:inline-flex}.library-row input{color:#f2ead7;font:inherit;background:#070809b8;border:1px solid #ffbb4373;border-radius:4px;outline:0;width:100%;min-width:0;padding:3px 5px;font-weight:900}.library-row button{color:#d9cba8;background:#00000047;border:1px solid #f2ead71f;border-radius:4px;justify-content:center;align-items:center;min-width:21px;height:21px;padding:0;font-size:.82rem;font-weight:900;line-height:1;display:inline-flex}.library-row-actions{justify-self:end;align-items:center;gap:4px;display:inline-flex}.library-delete-button{opacity:.68}.library-row{position:relative}.library-row.folder{background:#ffbb430e}.library-row.file{background:#ffffff07}.library-row:hover{background:#ffffff12;border-color:#f2ead724}.library-row:hover .library-delete-button{opacity:1}.library-root-dropzone.drop-after,.library-row.drop-before,.library-row.drop-after{border-color:#0000}.library-root-dropzone.drop-after{background:#ffbb4314;box-shadow:0 2px #ffbb43}.library-row.drop-before:before,.library-row.drop-after:after{content:"";pointer-events:none;z-index:2;background:#ffbb43;border-radius:999px;height:2px;position:absolute;left:4px;right:4px;box-shadow:0 0 8px #ffbb43b8}.library-row.drop-before:before{top:-4px}.library-row.drop-after:after{bottom:-4px}.library-row.drop-inside{background:#ffbb4329;border-color:#ffbb438c}.library-file-popup{z-index:380;background:linear-gradient(120deg,#ffbb4314,#0000 46%),#060808db;border:1px solid #f2ead72e;border-radius:8px;grid-template-rows:42px 36px 34px minmax(160px,1fr);display:grid;position:fixed;box-shadow:0 18px 60px #00000080}.library-file-popup-head{cursor:move;-webkit-user-select:none;user-select:none;background:#ffffff14;grid-template-columns:24px minmax(180px,1fr) 28px;align-items:center;gap:6px;padding:4px;display:grid}.library-file-drag-grip{color:#ffbb43bd;letter-spacing:-4px;justify-content:center;align-items:center;height:32px;font-size:.9rem;display:inline-flex}.library-file-title{color:#f2ead7;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.92rem;font-weight:900;overflow:hidden}.library-file-tabs{scrollbar-width:none;background:#00000047;border-bottom:1px solid #f2ead71f;align-items:stretch;gap:3px;min-width:0;display:flex;overflow:auto}.library-file-tabs::-webkit-scrollbar{display:none}.library-file-tab,.library-file-tab-add{color:#f2ead7;cursor:default;font:inherit;background:#0000005c;border:1px solid #f2ead729;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:800;display:inline-flex}.library-file-tab{border-radius:4px 4px 0 0;min-width:72px;max-width:148px;height:30px;padding:0 26px 0 6px;position:relative;overflow:hidden}.library-file-tab-name{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.library-file-tab.editing{cursor:text}.library-file-tab input{color:#f2ead7;cursor:text;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;outline:0;width:92px;min-width:0;padding:0;font-size:.78rem;font-weight:800;overflow:hidden}.library-file-tab-add{border-radius:4px 4px 0 0;min-width:34px;height:30px;padding:0 10px}.library-file-tab.active{background:#000000ad;border-color:#ffbb435c}.library-page-delete{color:#f2ead7;background:#00000070;border:1px solid #f2ead724;border-radius:4px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0;font-size:.7rem;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:5px;right:5px}.library-file-popup input{color:#f2ead7;font:inherit;cursor:text;background:#0708098c;border:1px solid #f2ead724;border-radius:6px;outline:0;padding:6px 8px}.library-editor-toolbar{background:#ffffff1f;border-bottom:1px solid #f2ead71f;align-items:center;gap:4px;padding:4px;display:flex;overflow:hidden}.library-editor-toolbar select,.library-editor-toolbar button,.library-color-input,.library-image-button,.library-import-button{color:#f2ead7;font:inherit;background:#0000005c;border:1px solid #f2ead729;border-radius:4px;justify-content:center;align-items:center;min-width:26px;height:24px;padding:0 7px;font-size:.82rem;font-weight:800;display:inline-flex}.library-color-input{width:30px;padding:0 2px}.library-image-button input,.library-import-button input{display:none}.library-rich-editor{color:#f4f1e8;scrollbar-width:none;white-space:normal;word-break:break-word;background:#020202;outline:0;min-height:0;padding:44px 52px;font-family:Segoe UI,Arial,sans-serif;font-size:1rem;font-weight:700;line-height:1.55;overflow:auto}.library-rich-editor::-webkit-scrollbar{display:none}.library-rich-editor:empty:before{color:#f2ead761;content:"Escreva aqui textos, notas, links, regras ou cole imagens."}.library-rich-editor .library-editor-image-frame>img{pointer-events:none;object-fit:contain;display:block;width:100%!important;height:100%!important}.library-editor-image-frame{cursor:default;resize:both;vertical-align:top;border:1px solid #ffbb4347;width:220px;min-width:32px;height:220px;min-height:32px;margin:0 6px;line-height:0;display:inline-block;position:relative;overflow:hidden}.library-editor-image-frame.image-inline{float:none;vertical-align:top;margin:0 6px;display:inline-block}.library-editor-image-frame.image-left{float:left;margin:3px 18px 12px 0;display:block}.library-editor-image-frame.image-right{float:right;margin:3px 0 12px 18px;display:block}.library-editor-image-frame.image-block{clear:both;float:none;margin:14px auto;display:block}.library-editor-image-frame:hover{border-color:#6be8dacc}.library-editor-image-frame.selected{border-color:#6be8daf2;box-shadow:0 0 0 2px #6be8da38}.library-file-popup-head>button{color:#f2ead7;cursor:default;background:#00000059;border:1px solid #f2ead72e;border-radius:5px;height:28px}.library-empty{color:#c9bea8;align-content:center;gap:6px;min-height:100%;padding:14px;display:grid}.time-mini label{color:#bfb49d;text-transform:uppercase;font-size:.72rem;font-weight:800}.time-mini strong{color:#f2ead7}.left-rail>*{width:100%!important}.left-rail .chat-stack{position:relative!important;left:auto!important;right:auto!important;transform:none!important}.chat-resize{right:-8px!important}.topbar{justify-content:center!important;width:auto!important;min-width:120px!important;min-height:34px!important;padding:7px 13px!important;display:grid!important;position:fixed!important;transform:none!important}.topbar span{color:#f2ead7e6;letter-spacing:0;font-size:.82rem;font-weight:900}.world-layer{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translate3d(var(--map-x,0px), 0, 0) rotateX(var(--map-pitch,0deg)) rotateZ(var(--map-yaw,0deg)) translate3d(0, var(--map-z,0px), 0) scale(var(--map-zoom,1));transform-origin:50%;will-change:transform;position:absolute;inset:0}.map-stage.edit-view-2d{perspective:none}.map-stage.edit-view-2d .world-layer{transform:translate3d(var(--map-x,0px), var(--map-z,0px), 0) scale(var(--map-zoom,1));transform-style:flat}.map-stage.edit-view-2d .terrain-plane,.map-stage.edit-view-2d .stage-edit-frame{transform:translate(-50%,-50%)}.terrain-plane{height:var(--terrain-height,768px);left:calc(50% + var(--terrain-shift-x,0px));top:calc(50% + var(--terrain-shift-y,0px));width:var(--terrain-width,1152px);background:#777a76;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.terrain-corner-probe{pointer-events:none;z-index:-1;width:1px;height:1px;position:absolute}.terrain-corner-probe.corner-tl{top:0;left:0}.terrain-corner-probe.corner-tr{top:0;right:0}.terrain-corner-probe.corner-br{bottom:0;right:0}.terrain-corner-probe.corner-bl{bottom:0;left:0}.stage-grid{background-image:linear-gradient(90deg,#f2ead747 1px,#0000 1px),linear-gradient(#f2ead747 1px,#0000 1px);background-position:0 0;background-size:var(--stage-grid-size,32px) var(--stage-grid-size,32px);pointer-events:none;z-index:1200;position:absolute;inset:0}.brush-layer{pointer-events:none;width:100%;height:100%;z-index:var(--brush-layer,420);display:block;position:absolute;inset:0;overflow:visible}.map-stage.brush-active .flat-token-layer{pointer-events:none}.brush-stroke{stroke-linecap:round;stroke-linejoin:round}.brush-stroke-water{fill:#27cde657;stroke:#27cde6b8}.brush-stroke-lava{fill:#ff5b1857;stroke:#ff5b18d1}.brush-stroke-toxic{fill:#84ff484d;stroke:#84ff48b8}.brush-stroke-shadow{fill:#0a101247;stroke:#0a101294}.brush-layer path{fill:none}.brush-cursor{pointer-events:none;z-index:2200;border:2px solid #f2ead7d1;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0508099e,0 0 22px #0000005c}.brush-cursor-water{background:#27cde61f;border-color:#4ee7ffdb}.brush-cursor-lava{background:#ff5b1824;border-color:#ffb559e6}.brush-cursor-toxic{background:#84ff481f;border-color:#a4ff5ce6}.brush-cursor-shadow{background:#05080924;border-color:#b4beb8bd}@keyframes brush-flow{to{stroke-dashoffset:-9.6px}}.brush-cursor-texture{background:#f5bb431a;border-color:#f5bb43e6}.lighting-layer{mix-blend-mode:multiply;pointer-events:none;z-index:1500;position:absolute;inset:0;overflow:hidden;transform:translateZ(8px)}.ambient-shadow{background:radial-gradient(circle at 50% 42%, #ffffff14, transparent 44%), rgba(0, 0, 0, var(--ambient-darkness,0));position:absolute;inset:0}.stage-light{background:radial-gradient(circle, rgba(var(--light-color,255, 190, 92), calc(var(--light-strength,.6) * .95)) 0, rgba(var(--light-color,255, 190, 92), calc(var(--light-strength,.6) * .48)) 24%, rgba(var(--light-color,255, 190, 92), calc(var(--light-strength,.6) * .14)) 52%, transparent 72%);filter:blur(8px);height:var(--light-radius,420px);mix-blend-mode:screen;opacity:calc(.32 + var(--ambient-darkness,0) * .9);width:var(--light-radius,420px);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.light-control{background:rgba(var(--light-color,255, 190, 92), .9);box-shadow:0 0 16px rgba(var(--light-color,255, 190, 92), .55);cursor:move;z-index:1600;border:2px solid #f2ead7cc;border-radius:50%;width:18px;height:18px;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(18px)}.stage-edit-frame{height:var(--terrain-height,768px);left:calc(50% + var(--terrain-shift-x,0px));pointer-events:none;top:calc(50% + var(--terrain-shift-y,0px));width:var(--terrain-width,1152px);z-index:9000;position:absolute;transform:translate(-50%,-50%)}.map-stage.terrain-editing .stage-edit-frame{box-shadow:0 0 0 1px #74efdd80}.stage-resize{pointer-events:auto;z-index:700;position:absolute}.stage-resize:after{content:"";opacity:0;background:#74efddc7;border:2px solid #040708e6;border-radius:999px;width:12px;height:12px;position:absolute;box-shadow:0 0 10px #74efdd4d}.stage-resize:hover:after,.stage-resize-ne:after,.stage-resize-nw:after,.stage-resize-se:after,.stage-resize-sw:after{opacity:1}.stage-resize-n,.stage-resize-s{cursor:ns-resize;height:14px;left:0;right:0}.stage-resize-n{top:0}.stage-resize-n:after{top:-7px;left:50%;transform:translate(-50%)}.stage-resize-s{bottom:0}.stage-resize-s:after{bottom:-7px;left:50%;transform:translate(-50%)}.stage-resize-e,.stage-resize-w{cursor:ew-resize;width:14px;top:0;bottom:0}.stage-resize-e{right:0}.stage-resize-e:after{top:50%;right:-7px;transform:translateY(-50%)}.stage-resize-w{left:0}.stage-resize-w:after{top:50%;left:-7px;transform:translateY(-50%)}.stage-resize-ne,.stage-resize-nw,.stage-resize-se,.stage-resize-sw{width:22px;height:22px}.stage-resize-ne{cursor:nesw-resize;top:0;right:0}.stage-resize-ne:after{top:-7px;right:-7px}.stage-resize-nw{cursor:nwse-resize;top:0;left:0}.stage-resize-nw:after{top:-7px;left:-7px}.stage-resize-se{cursor:nwse-resize;bottom:0;right:0}.stage-resize-se:after{bottom:-7px;right:-7px}.stage-resize-sw{cursor:nesw-resize;bottom:0;left:0}.stage-resize-sw:after{bottom:-7px;left:-7px}.token{overflow:hidden}.token img{object-fit:cover;width:100%;height:100%}.token-0{background:radial-gradient(circle, var(--gold), #6f3f24);top:47%;left:42%}.token-1{background:radial-gradient(circle, var(--teal), #26483f);top:55%;left:51%}.token-2{background:radial-gradient(circle, var(--blood), #3b1715);top:37%;right:31%}.token-3{background:radial-gradient(circle,#9b7fdc,#392954);top:42%;left:58%}.map-stage{cursor:grab;perspective:1200px;perspective-origin:50%;touch-action:none}.map-stage:active{cursor:grabbing}.world-layer{transform:translate3d(var(--map-x,0px), 0, 0) rotateX(var(--map-pitch,0deg)) rotateZ(var(--map-yaw,0deg)) translate3d(0, var(--map-z,0px), 0) scale(var(--map-zoom,1));transform-style:preserve-3d;transition:filter .16s}.map-stage.perspective-on .map-art{filter:saturate(1.08)contrast(1.02)}.map-stage.placing-portal{cursor:crosshair}.map-stage.terrain-editing{cursor:default}.token,.token-0,.token-1,.token-2,.token-3{cursor:grab;-webkit-user-select:none;user-select:none;z-index:8;transition:box-shadow .14s,border-color .14s;transform:translate(-50%,-50%);right:auto!important}.token:active{cursor:grabbing}:is(.token:focus,.token:focus-visible){outline:none}.token.selected{border-color:#f5bb43;box-shadow:0 0 0 3px #f5bb4357,0 10px 24px #0000006b}.token.directional,.token.directional:focus,.token.directional.selected{box-shadow:none;border:none}.selection-box{pointer-events:none;z-index:18;background:#f5bb431f;border:1px solid #f5bb43db;position:absolute;box-shadow:inset 0 0 18px #f5bb431f}.portal-token{color:#fff8e6;cursor:pointer;letter-spacing:0;text-shadow:0 1px 3px #000c;z-index:7;background:radial-gradient(circle,#71f4e0d1,#515cbf47 44%,#080a0c29 70%),conic-gradient(from 40deg,#f5bb43f2,#74efdde0,#935cffdb,#f5bb43f2);border:2px solid #f2ead7d1;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:.56rem;font-weight:950;animation:1.8s ease-in-out infinite portalPulse;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #74efdd14,0 0 24px #74efdd6b,0 10px 28px #0000006b}.portal-token:hover{border-color:#f5bb43;box-shadow:0 0 0 4px #f5bb4338,0 0 28px #74efdd75,0 10px 28px #0000006b}.portal-editor{z-index:24;background:#080a0cd1;border:1px solid #f5bb437a;border-radius:7px;grid-template-columns:92px auto auto;align-items:center;gap:6px;padding:7px;display:grid;position:absolute;transform:translate(14px,-50%);box-shadow:0 14px 34px #00000070}.portal-editor input{color:#f2ead7;background:#ffffff0f;border:1px solid #f2ead729;border-radius:5px;outline:0;min-width:0;min-height:30px;padding:0 7px}.portal-editor button{color:#f2ead7;cursor:pointer;background:#f5bb432e;border:1px solid #f5bb436b;border-radius:5px;min-height:30px;font-size:.7rem;font-weight:900}.portal-draft{opacity:.76}.portal-exit{background:radial-gradient(circle,#f5bb43c7,#6f3f2447 48%,#080a0c24 72%),conic-gradient(from 120deg,#f5bb43e6,#f2ead7c7,#74efddb8,#f5bb43e6)}.portal-hint{color:#74efdd;pointer-events:none;z-index:14;background:#080a0c85;border:1px solid #74efdd6b;border-radius:7px;padding:8px 12px;font-size:.8rem;font-weight:950;position:absolute;top:72px;left:50%;transform:translate(-50%)}.portal-tools{gap:6px;margin:0;display:grid}.stage-tools{gap:6px;display:grid}.stage-tools label{color:#f2ead7b8;letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:950}.stage-size-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.stage-size-row input{color:#f2ead7;text-align:center;background:#080a0c7a;border:1px solid #f2ead729;border-radius:7px;outline:0;min-width:0;height:30px;padding:0 8px;font-size:.78rem;font-weight:900}.stage-size-row span,.stage-size-row small{color:#f2ead7c7;font-weight:950}.portal-tools button{color:#f2ead7;cursor:pointer;letter-spacing:0;text-transform:uppercase;background:#080a0c47;border:1px solid #f2ead729;border-radius:7px;min-height:31px;font-size:.76rem;font-weight:900}.portal-tools button.active{background:#f5bb432e;border-color:#f5bb4394}.portal-tools small{color:#74efdde6;font-size:.72rem;font-weight:800;line-height:1.25}.portal-list{flex-wrap:wrap;gap:6px;display:flex}.portal-list button{min-height:28px;padding:0 8px}.tile-library{border-top:1px solid #f2ead71a;grid-template-rows:auto auto;gap:8px;min-height:0;margin-top:12px;padding-top:10px;display:grid}.panel-section-first{border-top:0;margin-top:0;padding-top:0}.tile-library-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tile-library-head span{color:#f2ead7;font-size:.82rem;font-weight:900}.tile-add{color:#f2ead7;cursor:pointer;text-transform:uppercase;white-space:nowrap;background:#f5bb4329;border:1px solid #f5bb437a;border-radius:7px;padding:7px 9px;font-size:.68rem;font-weight:900;position:relative;overflow:hidden}.tile-add input{opacity:0;width:1px;height:1px;position:absolute}.tile-list{scrollbar-width:none;align-content:start;gap:7px;min-height:72px;padding-right:3px;display:grid;overflow:auto}.asset-grid{grid-template-columns:repeat(auto-fill,50px);justify-content:start}.tile-asset{color:#f2ead7;cursor:grab;background:#080a0c3d;border:1px solid #f2ead724;border-radius:7px;justify-content:center;align-items:center;width:50px;height:50px;min-height:50px;padding:3px;display:flex}.tile-asset img{aspect-ratio:1;object-fit:cover;border-radius:5px;width:46px;height:46px}.tile-asset.active{background:#f5bb433d;border-color:#f5bb43db;box-shadow:0 0 0 2px #f5bb4324}.asset-layer-panel{border-top:0;grid-template-rows:auto minmax(0,1fr);min-height:0;margin-top:8px;padding-top:10px;display:grid;overflow:hidden}.asset-section-resizer{cursor:ns-resize;height:14px;margin:8px 0 -2px;position:relative}.asset-section-resizer:before{content:"";background:#f2ead71f;height:1px;position:absolute;top:7px;left:0;right:0}.asset-section-resizer:hover:before{background:#f5bb4394;box-shadow:0 0 10px #f5bb4333}.asset-layer-list{scrollbar-width:none;align-content:start;gap:5px;min-height:0;margin-top:6px;padding-right:2px;display:grid;overflow:auto}.asset-layer-list::-webkit-scrollbar{display:none}.layers-panel .floating-panel-body{min-height:0}.layers-panel .asset-layer-panel{height:100%;margin-top:0;padding-top:0}.asset-layer-row{color:#f2ead7;cursor:grab;text-align:left;background:#06080985;border:1px solid #f2ead71f;border-radius:6px;grid-template-columns:18px 34px minmax(0,1fr) auto auto;align-items:center;gap:7px;width:100%;height:42px;min-height:42px;padding:0 8px;display:grid}.asset-layer-visible{accent-color:#f5bb43;cursor:pointer;width:15px;height:15px;margin:0}.asset-layer-row:active{cursor:grabbing}.asset-layer-row:hover,.asset-layer-row.active{background:#493a169e;border-color:#f5bb43b3}.asset-layer-row.dragging{opacity:.46}.asset-folder-group{gap:4px;min-width:0;display:grid}.asset-folder-row{background:#121712ad;border-color:#f5bb4342}.asset-layer-child{width:calc(100% - 18px);margin-left:18px}.asset-folder-thumb{color:#f5bb43;cursor:pointer;background:#f5bb4314;padding:0;font-size:.88rem;font-weight:950;line-height:1}.asset-folder-count{color:#f2ead7d6;background:#f5bb4321;border:1px solid #f5bb4347;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:22px;padding:0 7px;font-size:.62rem;font-weight:900;display:inline-flex}.asset-layer-grip{color:#f2ead76b;letter-spacing:0;font-size:.78rem;font-weight:900;line-height:1}.asset-layer-thumb{background:#f2ead714;border:1px solid #f2ead71f;border-radius:5px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;overflow:hidden}.asset-layer-thumb img{object-fit:contain;width:100%;height:100%}.asset-layer-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.72rem;font-weight:900;overflow:hidden}.asset-layer-name-input{color:#f5bb43;background:#030404cc;border:1px solid #f5bb43a3;border-radius:5px;outline:0;width:100%;min-width:0;height:28px;padding:0 7px;font-size:.72rem;font-weight:900}.asset-layer-duplicate{color:#f5bb43;cursor:pointer;white-space:nowrap;background:#f2ead714;border:1px solid #f2ead724;border-radius:5px;height:24px;padding:0 6px;font-size:.62rem;font-weight:950;line-height:1}.asset-layer-duplicate:hover{background:#f5bb432e;border-color:#f5bb4394}.asset-layer-empty{color:#f2ead78c;margin:8px 0 0;font-size:.72rem;font-weight:800}.flat-tile-layer{pointer-events:none;z-index:3000;position:absolute;inset:0;overflow:visible}.flat-token-layer{pointer-events:none;z-index:6000;position:absolute;inset:0;overflow:visible}.portal-layer{pointer-events:none;z-index:5200;position:absolute;inset:0;overflow:visible}.portal-layer .portal-token,.portal-layer .portal-hint{pointer-events:auto}.tile-anchor,.token-anchor,.portal-anchor{pointer-events:none;z-index:6;width:1px;height:1px;position:absolute;transform:translate(-50%,-50%)}.token-anchor{transform:translate(-50%,-50%)translateZ(2px)}.portal-anchor{transform:translate(-50%,-50%)translateZ(3px)}.ground-texture{cursor:move;transform:translate(-50%, -50%) rotateZ(var(--texture-rotation,0deg));transform-origin:50%;z-index:var(--texture-layer,10);background:0 0;border:1px solid #0000;outline:0;padding:0;position:absolute;overflow:visible}.map-stage.terrain-editing .ground-texture{z-index:var(--texture-layer,10)}.ground-texture img{object-fit:fill;pointer-events:none;width:100%;height:100%;display:block}.ground-texture.selected{box-shadow:none;border-color:#0000}.map-stage.terrain-editing.layer-selected .ground-texture:not(.selected),.map-stage.terrain-editing.layer-selected .placed-tile:not(.selected){pointer-events:none}.placed-tile{cursor:move;pointer-events:auto;transform:translate(-50%, -100%) rotateZ(var(--tile-rotation,0deg));transform-origin:50% 100%;width:var(--tile-size,96px);z-index:var(--tile-layer,1000);background:0 0;border:1px solid #0000;outline:0;padding:0;position:absolute;overflow:visible}.flat-token-layer .token{pointer-events:auto;z-index:3000}.asset-layer-input{color:#f2ead7;text-align:center;z-index:5000;background:#080a0cdb;border:1px solid #f5bb43b8;border-radius:6px;outline:0;width:56px;height:30px;font-size:.78rem;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.placed-tile img{pointer-events:none;width:100%;max-width:none;height:auto;display:block;overflow:visible}.placed-tile.selected{box-shadow:none;border-color:#0000}.selection-overlay{pointer-events:none;z-index:7000;background:0 0;border:1px solid #f5bb43eb;position:absolute;overflow:visible;box-shadow:0 0 0 2px #f5bb4333,0 0 18px #f5bb4324}.texture-selection-overlay{transform:translate(-50%, -50%) rotateZ(var(--texture-rotation,0deg));transform-origin:50%;border-color:#74efdde0;box-shadow:0 0 0 2px #74efdd2e,0 0 18px #74efdd1f}.tile-selection-overlay{transform:translate(-50%, -100%) rotateZ(var(--tile-rotation,0deg));transform-origin:50% 100%;width:var(--tile-size,96px)}.selection-overlay .transform-handle,.selection-overlay .map-asset-delete,.selection-overlay .map-asset-fit{pointer-events:auto}.selection-overlay img{opacity:0;pointer-events:none;width:100%;height:auto;display:block}:is(.placed-tile:focus,.placed-tile:focus-visible,.placed-tile:active){outline:0}.asset-preview{z-index:40;background:#0c0e0df0;border:1px solid #f2ead72e;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;min-width:180px;min-height:38px;overflow:hidden;box-shadow:0 22px 70px #00000094}.asset-preview-head{align-items:center;gap:10px}.asset-preview-head button,.asset-preview-actions button{color:#f2ead7;background:#080a0c80;border:1px solid #f2ead733;border-radius:6px;min-width:34px;min-height:30px;font-size:.78rem;font-weight:900}.asset-preview-body{justify-content:center;align-items:center;min-height:0;padding:10px 0;display:flex;overflow:hidden}.asset-preview-body img{object-fit:contain;max-width:100%;max-height:100%}.asset-preview-actions{justify-content:flex-end;display:flex}.asset-preview-actions .danger{background:#b94a432e;border-color:#b94a4394}.transform-handle{cursor:nwse-resize;z-index:4;background:#74efddeb padding-box content-box;border:8px solid #0000;border-radius:50%;width:34px;height:34px;padding:0;position:absolute;bottom:-17px;right:-17px}.transform-handle:after{color:#74efdd;content:"↻";opacity:0;pointer-events:none;background:#080a0cdb;border:1px solid #74efdd9e;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:900;transition:opacity .12s;display:flex;position:absolute;top:-31px;right:-9px}.transform-handle:hover{cursor:grab}.transform-handle:hover:after{opacity:1}.map-asset-delete{color:#fff4ef;cursor:pointer;z-index:8;background:#b94a43e0;border:1px solid #ffdcd6b8;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:900;line-height:1;display:flex;position:absolute;top:-11px;left:-11px}.map-asset-fit{color:#bdfaf3;cursor:pointer;z-index:8;background:#0a0c0ddb;border:1px solid #74efddb8;border-radius:999px;justify-content:center;align-items:center;width:34px;height:22px;font-size:10px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:-11px;left:16px}@keyframes portalPulse{0%,to{filter:saturate();transform:translate(-50%,-50%)scale(1)}50%{filter:saturate(1.4);transform:translate(-50%,-50%)scale(1.08)}}.left-rail{position:absolute!important;overflow:visible!important}.perspective-toggle{z-index:25!important;margin:0!important;position:static!important}.environment-bar.hidden{display:none!important}.floating-panel.players-panel .party-list{grid-template-columns:repeat(auto-fill,210px)!important;place-content:start!important;gap:8px!important;padding-right:0!important;display:grid!important;overflow:auto!important}.floating-panel.players-panel,.floating-panel.gm-panel{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border-color:#f2ead72e!important;box-shadow:inset 0 0 0 1px #080a0c3d!important}.floating-panel.players-panel .floating-panel-head,.floating-panel.gm-panel .floating-panel-head{background:#0304046b!important;border-bottom-color:#f2ead71f!important}.floating-panel.players-panel:hover,.floating-panel.gm-panel:hover{border-color:#f2ead747!important;box-shadow:inset 0 0 0 1px #080a0c47,0 0 0 1px #f2ead70a!important}.floating-panel.players-panel .player-card,.floating-panel.gm-panel .player-card{grid-template-columns:72px minmax(0,1fr)!important;width:210px!important;height:82px!important;min-height:82px!important;display:grid!important}.floating-panel.gm-panel .player-card{grid-template-columns:64px minmax(0,1fr)!important;height:74px!important;min-height:74px!important}.floating-panel.players-panel .portrait,.floating-panel.gm-panel .portrait{width:72px!important;height:72px!important;min-height:72px!important}.floating-panel.gm-panel .portrait{width:64px!important;height:64px!important;min-height:64px!important}.floating-panel.chat-panel .floating-panel-body{grid-template-rows:minmax(0,1fr)!important;min-height:0!important;display:grid!important;overflow:hidden!important}.floating-panel.chat-panel .chat-stack{grid-template-rows:minmax(0,1fr) auto!important;width:100%!important;height:100%!important;min-height:0!important;display:grid!important;overflow:hidden!important}.floating-panel.chat-panel .messages-scroll{min-height:0!important;overflow:auto!important}.floating-panel.chat-panel .message-row{flex-shrink:0!important;align-self:end!important}.floating-panel.assets-panel{grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important}.floating-panel.assets-panel .tile-library{min-height:0!important}.floating-panel.assets-panel .asset-grid{grid-template-columns:repeat(auto-fill,50px)!important;place-content:start!important;display:grid!important;overflow:auto!important}.floating-panel.assets-panel .tile-asset{width:50px!important;height:50px!important;min-height:50px!important}.floating-panel.scenes-panel .encounters{grid-template-columns:repeat(auto-fill,150px)!important;place-content:start!important}.floating-panel.environment-bar{align-content:start!important}.lights-panel-body{grid-template-rows:auto auto minmax(0,1fr);gap:12px;display:grid;overflow:hidden}.light-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.light-preset,.light-row{color:#f2ead7;cursor:pointer;text-align:left;background:#090c0cb8;border:1px solid #f2ead724;border-radius:6px;align-items:center;gap:8px;min-height:38px;padding:8px;font-size:.78rem;font-weight:900;display:flex}.light-preset:hover,.light-row:hover{border-color:#f5bb4385}.light-preset span,.light-row span{border-radius:50%;flex:0 0 18px;width:18px;height:18px}.light-preset-torch span{background:radial-gradient(circle,#ffd26f,#ff8a2f 58%,#0000 70%)}.light-preset-lantern span{background:radial-gradient(circle,#fff3b8,#e9bc61 58%,#0000 70%)}.light-preset-moon span{background:radial-gradient(circle,#d7f0ff,#7fbaff 58%,#0000 70%)}.light-preset-magic span{background:radial-gradient(circle,#d4fff8,#74efdd 58%,#0000 70%)}.light-list{scrollbar-width:none;flex-direction:column;gap:8px;min-height:0;display:flex;overflow:auto}.light-list::-webkit-scrollbar{display:none}.light-row{justify-content:flex-start;min-height:34px}.light-row span{background:radial-gradient(circle, rgba(var(--light-color), 1), rgba(var(--light-color), .32) 62%, transparent 72%)}.light-row strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.light-row b{color:#fff2e8;background:#782020b8;border:1px solid #ff70706b;border-radius:5px;flex:0 0 28px;place-items:center;height:24px;font-size:.72rem;font-style:normal;display:grid}.brushes-panel-body{overscroll-behavior:contain;scrollbar-width:none;grid-auto-rows:max-content;align-content:start;gap:8px;display:grid;overflow:auto}.brushes-panel-body::-webkit-scrollbar{display:none}.brush-mode-row{gap:7px;display:flex}.brush-mode-row button{color:#f2ead7;cursor:pointer;background:#090c0cb8;border:1px solid #f2ead724;border-radius:6px;justify-content:center;align-items:center;width:38px;height:32px;font-size:.72rem;font-weight:900;display:inline-flex}.brush-mode-row button.active{color:#f5bb43;background:#f5bb433d;border-color:#f5bb43b8}.tool-icon{width:18px;height:18px;display:inline-block;position:relative}.tool-icon-brush:before{content:"";background:#f2ead7;border-radius:6px 6px 2px 2px;width:4px;height:14px;position:absolute;top:1px;left:8px;transform:rotate(38deg)}.tool-icon-brush:after{content:"";background:#f5bb43;border-radius:999px 999px 3px 3px;width:8px;height:8px;position:absolute;top:9px;left:2px;transform:rotate(38deg)}.tool-icon-eraser:before{content:"";background:linear-gradient(135deg,#f2ead7 0 48%,#f5bb43 49% 100%);border-radius:3px;width:14px;height:11px;position:absolute;top:4px;left:3px;transform:rotate(-28deg)}.brush-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.brush-preset{color:#f2ead7;cursor:pointer;background:#090c0cb8;border:1px solid #f2ead724;border-radius:6px;align-items:center;gap:8px;min-height:42px;padding:8px;font-size:.78rem;font-weight:900;display:flex}.brush-preset.active{background:#f5bb433d;border-color:#f5bb43b8}.brush-preset span{border-radius:999px;flex:0 0 24px;width:24px;height:18px}.brush-preset-water span{background:linear-gradient(135deg,#1a7893,#4de5ff)}.brush-preset-lava span{background:linear-gradient(135deg,#4a0b08,#ff5b18 58%,#ffd06f)}.brush-preset-toxic span{background:linear-gradient(135deg,#213b15,#84ff48)}.brush-preset-shadow span{background:linear-gradient(135deg,#060809,#273033)}.brush-material-chip{color:#f2ead7b8;background:#080a0c9e;border:1px solid #f5bb4357;border-radius:7px;grid-template-columns:34px minmax(0,auto) minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:5px;display:grid}.brush-material-chip img{object-fit:cover;border-radius:5px;width:30px;height:30px}.brush-material-chip span{text-transform:uppercase;font-size:.68rem;font-weight:900}.brush-material-chip strong{color:#f2ead7;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.brush-materials{gap:6px;min-height:0;display:grid}.brush-material-grid{scrollbar-width:none;grid-template-columns:repeat(auto-fill,minmax(50px,50px));align-content:start;gap:6px;min-height:50px;max-height:96px;padding-right:2px;display:grid;overflow:auto}.brush-material-grid::-webkit-scrollbar{display:none}.brush-size-control{color:#f2ead7c7;text-transform:uppercase;border-top:1px solid #f2ead729;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding-top:7px;font-size:.74rem;font-weight:900;display:grid}.brush-size-control+.brush-size-control{border-top:0;padding-top:0}.brush-size-control input{accent-color:#f5bb43;grid-column:1/-1;width:100%;height:16px}.brush-size-control strong{color:#f2ead7;text-align:right;font-size:.76rem}.brush-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.brush-actions button{color:#f2ead7;cursor:pointer;background:#090c0cb8;border:1px solid #f2ead724;border-radius:6px;height:34px;min-height:34px;font-weight:900}.layer-add-button{justify-content:center;align-items:center;height:28px;min-height:28px;padding:0 10px;display:inline-flex}.paint-layer-row .paint-layer-thumb{background:linear-gradient(135deg,#27cde6d6,#ff5b189e),#090c0ccc;border:1px solid #74efdd70}.app-tabs{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);max-width:none;height:48px;padding-left:var(--tabs-start,270px);z-index:7000;background:linear-gradient(#0000006b,#00000014);align-items:center;gap:6px;padding-right:108px;display:flex;position:fixed;top:0;left:0;right:0;overflow:hidden}.app-tabs-track{align-items:center;gap:6px;min-width:0;margin-left:4px;display:flex;overflow:hidden}.app-tabs-start-handle{cursor:ew-resize;height:38px;left:max(0px, calc(var(--tabs-start,270px) - 5px));background:linear-gradient(#0000,#f5bb43e6,#0000);width:10px;position:absolute;top:5px}.app-tabs-start-handle:after{content:"";background:#f5bb43c7;border-radius:999px;width:2px;height:30px;position:absolute;top:4px;left:4px}.app-tabs-master-tools{align-items:center;gap:6px;display:flex;position:absolute;top:5px;right:8px}.app-tabs button{color:#f2ead7;cursor:pointer;background:#080a0ad1;border:1px solid #f5bb4347;border-radius:6px;flex:none;align-items:center;gap:8px;min-width:118px;max-width:190px;height:38px;padding:0 12px;display:inline-flex;overflow:hidden}.app-tabs-master-tools button{justify-content:center;min-width:38px;max-width:38px;padding:0;font-size:1.05rem}.vtt-shell.mode-play .scenes-panel,.vtt-shell.mode-play .textures-panel,.vtt-shell.mode-play .tiles-panel,.vtt-shell.mode-play .layers-panel,.vtt-shell.mode-play .brushes-panel,.vtt-shell.mode-play .lights-panel,.vtt-shell.mode-play .environment-bar,.vtt-shell.mode-editor .gm-panel,.vtt-shell.mode-editor .players-panel,.vtt-shell.mode-editor .chat-panel{display:none!important}.app-tabs button.active{background:#7e52088c;border-color:#f5bb43c2;box-shadow:inset 0 0 22px #f5bb431a}.app-tabs img{object-fit:cover;border-radius:4px;width:52px;height:28px}.app-tabs span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-tabs i{background:#00c853;border-radius:999px;flex:0 0 9px;width:9px;height:9px}.app-tabs i.busy{background:#e93425}.tab-home-icon{clip-path:polygon(50% 0,100% 42%,84% 42%,84% 100%,16% 100%,16% 42%,0 42%);background:#f2ead773;flex:0 0 19px;width:19px;height:19px}.home-shell{color:#f2ead7;background:radial-gradient(circle at 65% 20%,#f5bb431f,#0000 34%),linear-gradient(#000000c2,#000000f5),#020404;grid-template-columns:260px minmax(640px,1fr) 360px;height:100vh;min-height:100vh;padding-top:48px;display:grid;overflow:hidden}.home-sidebar,.home-rightbar{overscroll-behavior:contain;scrollbar-width:thin;border-style:solid;border-color:#f2ead71a;min-height:0;max-height:calc(100vh - 48px);overflow:auto}.home-sidebar::-webkit-scrollbar{width:8px}.home-rightbar::-webkit-scrollbar{width:8px}.home-main::-webkit-scrollbar{width:8px}.home-sidebar::-webkit-scrollbar-thumb{background:#f5bb4342;border-radius:999px}.home-rightbar::-webkit-scrollbar-thumb{background:#f5bb4342;border-radius:999px}.home-main::-webkit-scrollbar-thumb{background:#f5bb4342;border-radius:999px}.home-sidebar{border-right-width:1px;grid-auto-rows:max-content;gap:8px;padding:18px 16px;display:grid}.home-brand{place-items:center;margin-bottom:12px;display:grid}.home-brand-button{cursor:pointer;background:0 0;border:0;padding:0}.home-sidebar button.home-brand-button,.home-sidebar button.home-brand-button:hover,.home-sidebar button.home-brand-button.active{box-shadow:none;background:0 0;border-color:#0000}.home-brand-button img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.home-brand-logo{object-fit:contain;width:210px;max-width:100%;height:auto;max-height:210px;display:block}.home-sidebar button,.home-discord{color:#f2ead7db;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:12px;min-height:40px;padding:0 12px;display:flex}.home-sidebar button.active,.home-sidebar button:hover{color:#f2ead7;background:#f5bb4326;border-color:#f5bb432e}.home-sidebar button span{color:#f5bb43;justify-content:center;align-items:center;width:22px;height:22px;font-size:1.1rem;line-height:1;display:inline-flex}.home-discord{text-transform:uppercase;justify-content:center;margin-top:10px;border-color:#f2ead729!important}.home-main{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;max-height:calc(100vh - 48px);padding:18px 22px 32px;overflow:auto}.home-hero{background:linear-gradient(90deg,#030505e0 0%,#03050559 48%,#0305051a),url(/home-hero.png) 50%/cover,url(/forest-grid-map.png) 50%/cover;border:1px solid #f2ead71c;border-radius:8px;align-items:center;min-height:270px;padding:34px;display:grid;overflow:hidden}.home-hero h1{color:#fff8e8;letter-spacing:0;max-width:430px;margin:8px 0 12px;font-size:2.35rem;line-height:1.04}.home-hero span,.home-section-head button,.home-widget header,.home-actions b{color:#f5bb43;font-weight:900}.home-hero p{color:#f2ead7db;max-width:390px;font-size:1rem}.home-actions,.home-tools-row,.home-table-grid{gap:14px;display:grid}.home-actions,.home-tools-row{grid-template-columns:repeat(4,minmax(0,1fr))}.home-table-grid{grid-template-columns:repeat(auto-fill,minmax(230px,260px));justify-content:start}.home-actions,.home-tools-row{margin-top:16px}.home-actions button,.home-tools-row button,.home-widget,.home-profile,.home-table-card{background:linear-gradient(135deg,#0a0e0ee6,#0c1211b8);border:1px solid #f2ead721;border-radius:8px;position:relative}.home-actions button,.home-tools-row button{color:#f2ead7;cursor:pointer;text-align:left;grid-template-columns:62px minmax(0,1fr) auto;gap:4px;min-height:88px;padding:14px;display:grid}.home-actions button span,.home-tools-row button span{color:#f5bb43;grid-row:span 2;align-self:center;font-size:2.2rem}.home-actions button small,.home-tools-row button small,.home-table-body small,.home-table-body p,.home-profile span,.home-profile small,.home-widget p,.home-friend small{color:#f2ead7ad}.home-section{margin-top:18px}.home-section-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.home-section-head strong{text-transform:uppercase;font-size:.98rem}.home-section-head button,.home-widget header button{cursor:pointer;background:0 0;border:0}.home-table-grid.compact{grid-template-columns:repeat(auto-fill,minmax(165px,188px));justify-content:start}.home-table-card{min-height:174px;position:relative;overflow:hidden}.home-table-art{background:var(--table-art) center / cover;position:absolute;inset:0}.home-table-art span{color:#9dff8a;text-transform:uppercase;background:#007832c2;border-radius:4px;padding:3px 6px;font-size:.68rem;font-weight:900;position:absolute;top:8px;left:10px}.home-table-body{text-shadow:0 1px #000,1px 0 #000,-1px 0 #000,0 -1px #000,0 2px 8px #000000f2;background:linear-gradient(#00000014,#000000d1);gap:6px;min-height:174px;padding:12px;display:grid;position:relative}.home-table-body strong{align-self:end;margin-top:52px;font-size:1rem}.home-table-body p{margin:0}.home-table-body button,.next-session>button{color:#f5bb43;cursor:pointer;text-transform:uppercase;background:#f5bb431f;border:1px solid #f5bb4338;border-radius:6px;min-height:34px;font-weight:900}.home-table-card.compact .home-table-art{height:auto}.home-table-card.compact,.home-table-card.compact .home-table-body{min-height:144px}.home-chip-row{gap:8px;margin-bottom:10px;display:flex}.home-chip-row button{color:#f2ead7;cursor:pointer;background:#f2ead71a;border:1px solid #f2ead714;border-radius:6px;min-width:88px;min-height:28px}.home-rightbar{border-left-width:1px;grid-auto-rows:max-content;gap:12px;padding:18px;display:grid}.home-profile{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.home-profile img{object-fit:cover;border:1px solid #f5bb435c;border-radius:999px;width:68px;height:68px}.home-profile-initial{color:#14100a;background:linear-gradient(135deg,#f5bb43,#e08f1f);border-radius:999px;place-items:center;width:68px;height:68px;font-size:1.6rem;font-weight:800;display:grid}.home-profile small.connected{color:#8ef5a3;font-weight:700}.home-profile div span{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.home-profile div,.home-widget{gap:6px;display:grid}.home-widget{padding:14px}.home-widget header{text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.home-widget article{background:linear-gradient(135deg,#54097e40,#00000040);border-radius:6px;padding:14px}.home-widget header span,.home-friend span{color:#00c853}.home-friend{grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.home-friend span{background:#00c853;border-radius:999px;width:8px;height:8px}@media (max-width:1280px){.home-shell{grid-template-columns:220px minmax(480px,1fr)}.home-rightbar{display:none}.home-actions,.home-tools-row{grid-template-columns:repeat(2,minmax(0,1fr))}.home-table-grid{grid-template-columns:repeat(auto-fill,minmax(220px,250px))}.home-table-grid.compact{grid-template-columns:repeat(auto-fill,minmax(165px,188px))}.app-tabs{left:0;right:0}}.vtt-shell>.topbar{top:48px!important}@media (max-width:1680px){.home-shell{grid-template-columns:230px minmax(560px,1fr) 310px}.home-table-grid{grid-template-columns:repeat(auto-fill,minmax(220px,250px))}.home-table-grid.compact{grid-template-columns:repeat(auto-fill,minmax(160px,182px))}.home-actions,.home-tools-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.home-shell{grid-template-columns:74px minmax(0,1fr) 220px;padding-top:48px}.home-sidebar{padding:12px 8px}.home-sidebar button:not(.active),.home-discord{font-size:0}.home-brand-logo{width:58px;max-height:58px}.home-sidebar button{justify-content:center;padding:0}.home-sidebar button span{width:auto;font-size:1.25rem}.home-hero{min-height:220px;padding:24px}.home-hero h1{font-size:1.72rem}.home-table-grid,.home-table-grid.compact,.home-actions,.home-tools-row{grid-template-columns:1fr}.app-tabs{max-width:calc(100vw - 16px);padding-left:min(var(--tabs-start,74px), 74px);top:0;left:0;right:0}.app-tabs button{min-width:46px;padding:0 9px}.app-tabs button:not(.active) span:not(.tab-home-icon){display:none}.app-tabs button .tab-home-icon{background:#f2ead773}.app-tabs button.active .tab-home-icon{background:#f5bb43}.app-tabs img{width:34px}}.home-shell{background:linear-gradient(90deg,#000000e0 0 260px,#00000094 260px),radial-gradient(circle at 68% 18%,#f5bb4324,#0000 34%),linear-gradient(#0000007a,#000000e6),url(/home-background.png) 50%/cover fixed,url(/forest-grid-map.png) 50%/cover fixed,#020404;grid-template-columns:clamp(74px,10vw,260px) minmax(0,1fr) clamp(260px,17vw,360px);padding-top:42px}.home-sidebar,.home-rightbar,.home-main{max-height:calc(100vh - 42px)}.home-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#020404c7,#02040494)}.home-main{grid-auto-rows:max-content;gap:16px;min-width:0;padding:18px clamp(14px,1.4vw,28px) 30px;display:grid}.home-rightbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#0204048a,#02040457);min-width:0}.home-hero,.home-actions button,.home-widget,.home-profile,.home-section{box-shadow:inset 0 0 0 1px #80898014}.home-hero{min-height:clamp(190px,18vh,270px)}.home-actions{grid-template-columns:repeat(4,minmax(150px,1fr));margin-top:0}.home-section{background:linear-gradient(135deg,#090d0dc7,#080a088a);border:1px solid #80898029;border-radius:8px;min-height:242px;margin-top:0;padding:12px;overflow:hidden}.home-table-shelf{cursor:grab;scroll-snap-type:x proximity;scrollbar-color:#f5bb4357 #f2ead70f;scrollbar-width:thin;grid-auto-columns:260px;grid-auto-flow:column;gap:16px;padding:2px 2px 8px;display:grid;overflow:auto hidden}.home-table-shelf:active{cursor:grabbing}.home-table-shelf.compact{grid-auto-columns:188px}.home-table-shelf .home-table-card{scroll-snap-align:start}.home-table-body{text-shadow:0 1px #000,1px 0 #000,-1px 0 #000,0 -1px #000,0 2px 8px #000}.home-content-stack{position:relative}.home-stack-sizer{flex-direction:column;gap:12px;width:100%;display:flex}.home-stack-sizer.hidden{pointer-events:none;visibility:hidden}.home-library-inline{min-height:0;position:absolute;inset:0}.home-library-inline .home-library-panel{background:linear-gradient(90deg,#030505e0 0%,#03050559 48%,#0305051a),url(/home-hero.png) 50%/cover;width:100%;max-width:none;height:100%;margin:0}.home-placeholder-body{flex:1;min-height:0}.home-content-stack.fixed-mode{height:calc(100vh - 130px)}.home-fixed-view .home-library-inline{inset:0}.create-panel{flex-direction:column;gap:18px;padding:26px 28px;display:flex}.create-body{scrollbar-width:none;flex:1;grid-template-columns:300px 1fr;gap:22px;min-height:0;display:grid;overflow-y:auto}.create-body::-webkit-scrollbar{display:none}.create-cover{aspect-ratio:1;cursor:pointer;background:#080a0a99 50%/cover no-repeat;border:1px solid #f5bb4340;border-radius:18px;align-self:start;place-items:center;transition:border-color .14s,transform .14s;display:grid}.create-cover:hover{border-color:#f5bb4399}.create-cover:hover .create-cover-empty span{transform:scale(1.08)}.create-cover-empty{color:#f2ead773;text-align:center;justify-items:center;gap:6px;display:grid}.create-cover-empty em{opacity:.6;font-size:11px;font-style:normal}.create-cover-empty span{opacity:.7;font-size:40px;transition:transform .14s;display:inline-block}.create-fields{flex-direction:column;gap:14px;min-width:0;display:flex}.create-field{flex-direction:column;gap:6px;display:flex}.create-field>span{color:#f2ead7b8;justify-content:space-between;font-size:12px;font-weight:600;display:flex}.create-field>span i{opacity:.55;font-style:normal}.create-field input,.create-field select,.create-field textarea{color:#f2ead7;font:inherit;resize:vertical;background:#080a0ab8;border:1px solid #f5bb433d;border-radius:12px;outline:none;width:100%;padding:11px 13px}.create-field textarea{scrollbar-width:none;min-height:540px;line-height:1.55}.create-field textarea::-webkit-scrollbar{display:none}.create-players-input{text-align:center}.create-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.create-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.create-field input[type=number]{-webkit-appearance:textfield;appearance:textfield}@media (max-width:1150px){.create-body{grid-template-columns:1fr}.create-cover{width:100%;max-width:340px}}.create-field input:focus,.create-field select:focus,.create-field textarea:focus{border-color:#f5bb43a6;box-shadow:0 0 0 2px #f5bb4326}.create-row{grid-template-columns:1fr 110px;gap:12px;display:grid}.create-access-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.create-access-row button{color:#f2ead7;cursor:pointer;font:inherit;background:#080a0ab8;border:1px solid #f5bb433d;border-radius:10px;min-height:42px;font-weight:900}.create-access-row button.active{color:#ffd36b;background:#f5bb432e;border-color:#f5bb43b8}.create-row.chips{grid-template-columns:auto 1fr;align-items:end}.create-chips{flex-wrap:wrap;gap:8px;display:flex}.create-chips button{color:#f2ead7c7;cursor:pointer;font:inherit;background:#080a0ab8;border:1px solid #f5bb433d;border-radius:999px;padding:7px 13px;font-size:12px}.create-chips button.active{color:#14100a;background:#f5bb43e6;border-color:#f5bb43;font-weight:700}.create-footer{border-top:1px solid #f5bb4324;justify-content:flex-end;gap:12px;padding-top:16px;display:flex}.create-footer button{color:#f2ead7d9;cursor:pointer;font:inherit;background:#080a0ab8;border:1px solid #f5bb434d;border-radius:999px;padding:12px 26px;font-weight:600;transition:filter .14s}.create-footer button:hover{filter:brightness(1.15)}.create-footer button.primary{color:#14100a;background:linear-gradient(135deg,#f5bb43,#e08f1f);border-color:#f5bb43}.create-footer button.primary:disabled{cursor:not-allowed;opacity:.4}.home-library-inline .home-library-grid{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:16px;overflow:hidden}.home-library-inline .home-table-card{flex-direction:column;display:flex}.home-library-inline .home-table-card .home-table-body{flex:1;min-height:0}.home-library-overlay{pointer-events:auto;z-index:2300;padding:14px clamp(10px,2vw,28px);position:fixed;inset:42px 0 0}.home-library-panel{background:linear-gradient(135deg,#050808f5,#050808d6),url(/home-background.png) 50%/cover;border:1px solid #f5bb4333;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,1680px);max-width:1680px;height:calc(100vh - 70px);margin:0 auto;padding:18px;display:grid;overflow:hidden;box-shadow:0 18px 80px #000000ad}.home-library-head{text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.home-library-head button{color:#f5bb43;cursor:pointer;background:#f5bb4329;border:1px solid #f5bb435c;border-radius:6px;width:38px;height:34px;font-size:1.2rem}.home-library-grid{scrollbar-color:#f5bb4357 #f2ead70f;scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(230px,280px));gap:18px;padding:2px 2px 12px;display:grid;overflow:auto}.home-library-pages{justify-content:center;align-items:center;gap:8px;padding-top:10px;display:flex}.home-library-pages button{color:#f2ead7;cursor:pointer;background:#f2ead714;border:1px solid #f2ead71f;border-radius:5px;min-width:34px;min-height:30px}.home-library-pages button.active,.home-library-pages button:last-child{color:#f5bb43;background:#f5bb4338;border-color:#f5bb436b}@media (max-width:1680px){.home-shell{grid-template-columns:clamp(74px,9vw,230px) minmax(0,1fr) 286px}.home-actions{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:1280px){.home-shell{grid-template-columns:74px minmax(0,1fr) 250px}.home-rightbar{padding:12px;display:grid}.home-profile{grid-template-columns:48px minmax(0,1fr);padding:10px}.home-profile img{width:46px;height:46px}.home-widget{padding:10px}.home-widget .home-table-card.compact{display:none}}@media (max-width:980px){.home-shell{grid-template-columns:62px minmax(0,1fr) 220px}.home-main{padding:12px}.home-actions{grid-template-columns:1fr}.home-table-shelf{grid-auto-columns:min(260px,76vw)}.home-table-shelf.compact{grid-auto-columns:178px}.home-rightbar{font-size:.82rem;display:grid}}.app-tabs{background:linear-gradient(#0000008a,#0000002e),#080a0a47;border-bottom:1px solid #80898038;height:42px;padding-left:clamp(74px,10vw,260px);padding-right:108px}.app-tabs-track{gap:8px;margin-left:8px}.app-tabs-start-handle{display:none}.app-tabs button{height:34px}.home-shell{-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#000000bd 0 clamp(74px,10vw,260px),#0000003d clamp(74px,10vw,260px)),radial-gradient(circle at 66% 16%,#f5bb431a,#0000 36%),linear-gradient(#00000038,#0000009e),url(/home-background.png) 50%/cover fixed,#050707;grid-template-columns:clamp(74px,10vw,260px) minmax(0,1fr) clamp(280px,16vw,340px);padding-top:42px;overflow:hidden}.home-sidebar{background:linear-gradient(#0204049e,#02040475);border-right-color:#0000;position:relative}.home-main{border-left:0;border-right:0;padding-top:18px}.home-hero{background:linear-gradient(90deg,#030505c2 0%,#03050547 48%,#0305050f),url(/home-hero.png) 50%/cover;border-color:#80898042}.home-actions button,.home-widget,.home-profile,.home-section{background:linear-gradient(135deg,#080c0cb8,#0a0e0d6b);border-color:#8089803d}.home-section{min-height:226px}.home-rightbar{align-content:start;gap:12px;padding:18px 14px}.home-profile{min-height:90px}.home-widget{min-height:104px}.home-widget:nth-of-type(4){min-height:250px}.home-widget.next-session{grid-template-rows:auto minmax(0,1fr);min-height:226px;display:grid}.home-widget.next-session .home-table-card.compact{flex-direction:column;display:flex}.home-widget.next-session .home-table-card.compact .home-table-body{flex:1;min-height:0}.home-widget.next-session .home-table-card.compact,.home-widget.next-session .home-table-card.compact .home-table-body{min-height:150px}@media (max-width:1280px){.app-tabs{padding-left:74px}.home-shell{grid-template-columns:74px minmax(0,1fr) 250px}}@media (max-width:980px){.app-tabs{padding-left:62px}.home-shell{grid-template-columns:62px minmax(0,1fr) 220px;overflow-x:hidden}}.home-sidebar-toggle{cursor:pointer;z-index:2;justify-content:center;align-items:center;font-size:.75rem;position:absolute;top:12px;right:8px;color:#f5bb43eb!important;background:#080a0ab8!important;border:1px solid #f2ead724!important;border-radius:999px!important;width:22px!important;height:22px!important;min-height:22px!important;padding:0!important;display:flex!important}.home-shell.sidebar-collapsed .home-sidebar{padding-left:8px;padding-right:8px}.home-shell.sidebar-collapsed .home-brand-logo{width:54px;max-height:54px}.home-shell.sidebar-collapsed .home-sidebar button:not(.home-sidebar-toggle),.home-shell.sidebar-collapsed .home-discord{justify-content:center;padding:0;font-size:0}@media (max-width:1280px){.home-sidebar{padding-left:8px;padding-right:8px}.home-brand-logo{width:54px;max-height:54px}.home-sidebar button:not(.home-sidebar-toggle),.home-discord{justify-content:center;padding:0;font-size:0}.home-sidebar button span{width:auto;font-size:1.2rem}}.home-shell{max-width:100vw;overflow:hidden}.home-shell:not(.sidebar-collapsed){background:linear-gradient(90deg,#0000009e 0 260px,#00000014 260px),radial-gradient(circle at 66% 16%,#f5bb431a,#0000 36%),linear-gradient(#0000002e,#0000008f),url(/home-background.png) 50%/cover fixed,#050707;grid-template-columns:260px minmax(0,1fr) clamp(280px,16vw,340px)}.home-shell.sidebar-collapsed{background:linear-gradient(90deg,#0000009e 0 74px,#00000014 74px),radial-gradient(circle at 66% 16%,#f5bb431a,#0000 36%),linear-gradient(#0000002e,#0000008f),url(/home-background.png) 50%/cover fixed,#050707;grid-template-columns:74px minmax(0,1fr) clamp(280px,16vw,340px)}.home-shell .app-tabs{padding-left:260px}.home-sidebar{justify-items:stretch;padding-left:18px;padding-right:18px}.home-sidebar button:not(.home-sidebar-toggle),.home-discord{justify-content:flex-start;padding:0 12px;font-size:1rem}.home-sidebar button span{width:22px;font-size:1.1rem}.home-shell.sidebar-collapsed .home-sidebar button:not(.home-sidebar-toggle),.home-shell.sidebar-collapsed .home-discord{justify-content:center;width:46px;padding:0;font-size:0}.home-shell.sidebar-collapsed .home-sidebar button span{width:auto;font-size:1.2rem}.home-main{min-width:0;border-left:0!important;border-right:0!important}.home-rightbar{min-width:0;overflow-x:hidden}@media (max-width:1280px){.home-shell:not(.sidebar-collapsed){grid-template-columns:260px minmax(0,1fr) 250px}.home-shell.sidebar-collapsed{grid-template-columns:74px minmax(0,1fr) 250px}}@media (max-width:980px){.home-shell:not(.sidebar-collapsed){grid-template-columns:260px minmax(0,1fr) 220px}.home-shell.sidebar-collapsed{grid-template-columns:74px minmax(0,1fr) 220px}}.home-shell{--home-sidebar-open:260px;--home-sidebar-closed:74px;padding-top:42px}.home-shell:not(.sidebar-collapsed){grid-template-columns:var(--home-sidebar-open) minmax(0, 1fr) clamp(280px, 16vw, 340px)}.home-shell.sidebar-collapsed{grid-template-columns:var(--home-sidebar-closed) minmax(0, 1fr) clamp(280px, 16vw, 340px)}.home-shell:not(.sidebar-collapsed) .app-tabs{left:var(--home-sidebar-open);padding-left:8px}.home-shell.sidebar-collapsed .app-tabs{left:var(--home-sidebar-closed);padding-left:8px}.home-sidebar{z-index:7100;grid-column:1;align-self:start;height:100vh;min-height:100vh;max-height:100vh;margin-top:-42px;padding-top:18px}.home-shell:not(.sidebar-collapsed) .home-sidebar{justify-items:stretch;padding-left:18px;padding-right:18px}.home-shell.sidebar-collapsed .home-sidebar{justify-items:center;padding-left:8px;padding-right:8px}.home-shell:not(.sidebar-collapsed) .home-brand-logo{width:210px;min-width:210px;max-width:210px;max-height:210px}.home-shell.sidebar-collapsed .home-brand-logo{object-fit:contain;width:46px;min-width:46px;max-width:46px;max-height:46px}.home-shell.sidebar-collapsed .home-sidebar button:not(.home-sidebar-toggle),.home-shell.sidebar-collapsed .home-discord{justify-content:center;align-items:center;gap:0;width:46px;height:40px;min-height:40px;margin-left:auto;margin-right:auto;padding:0;font-size:0;display:flex}.home-shell.sidebar-collapsed .home-sidebar button span,.home-shell.sidebar-collapsed .home-discord span{text-align:center;flex:none;width:100%;font-size:1.2rem;line-height:1;display:block}.home-sidebar-toggle{top:8px;right:8px}.home-sidebar{overflow:visible}.home-shell:not(.sidebar-collapsed) .app-tabs{padding-left:288px!important}.home-shell.sidebar-collapsed .app-tabs{padding-left:84px!important}.home-sidebar-toggle{z-index:7200;top:8px!important;right:-22px!important}@media (max-width:1280px){.home-shell:not(.sidebar-collapsed){grid-template-columns:var(--home-sidebar-open) minmax(0, 1fr) 250px}.home-shell.sidebar-collapsed{grid-template-columns:var(--home-sidebar-closed) minmax(0, 1fr) 250px}.home-shell:not(.sidebar-collapsed) .home-sidebar button:not(.home-sidebar-toggle),.home-shell:not(.sidebar-collapsed) .home-discord{justify-content:flex-start;width:auto;padding:0 12px;font-size:1rem}.home-shell:not(.sidebar-collapsed) .home-sidebar button span{width:22px;font-size:1.1rem}}@media (max-width:980px){.home-shell:not(.sidebar-collapsed){grid-template-columns:var(--home-sidebar-open) minmax(0, 1fr) 220px}.home-shell.sidebar-collapsed{grid-template-columns:var(--home-sidebar-closed) minmax(0, 1fr) 220px}}.app-tabs{padding-left:var(--tabs-start,270px)}.app-tabs button{position:relative}.app-tabs button .tab-close{color:#f2ead7db;text-transform:uppercase;background:#080a0ab8;border:1px solid #f5bb4357;border-radius:4px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-left:2px;font-size:.72rem;font-weight:900;line-height:1;display:inline-flex}.app-tabs button .tab-close:hover{color:#fff4e6;background:#a82c2cdb;border-color:#ff6f5bc7}.app-tabs button i{display:none}.home-shell:not(.sidebar-collapsed) .app-tabs,.home-shell.sidebar-collapsed .app-tabs{padding-left:var(--tabs-start,282px)!important;left:0!important}.home-shell:not(.sidebar-collapsed) .app-tabs{--tabs-start:282px}.home-shell.sidebar-collapsed .app-tabs{--tabs-start:96px}.home-shell:not(.sidebar-collapsed) .app-tabs-start-handle{left:268px!important}.home-shell.sidebar-collapsed .app-tabs-start-handle{left:82px!important}.home-sidebar-toggle{left:calc(var(--home-sidebar-open,260px) + 14px)!important;top:8px!important;right:auto!important;transform:translate(-50%)!important}.home-shell.sidebar-collapsed .home-sidebar-toggle{left:calc(var(--home-sidebar-closed,74px) + 14px)!important}.app-tabs{gap:10px;display:flex}.app-tabs-track{flex:0 auto}.app-tabs-auth{pointer-events:auto;align-items:center;gap:8px;margin-left:auto;padding-right:14px;display:flex}.app-tabs-auth .app-login-button{text-transform:none;min-width:92px}.home-table-art-tools{pointer-events:auto;z-index:5;align-items:center;gap:6px;display:flex;position:absolute;top:8px;right:8px}.home-table-card span.home-table-members,span.home-table-members-solo{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#f2ead7;text-transform:none;background:#0c0a06db;border:1px solid #f5bb4347;border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 11px;font-size:.74rem;font-weight:700;line-height:1;display:inline-flex;position:static;top:auto;left:auto;box-shadow:0 3px 10px #00000073}.home-table-card span.home-table-members-solo{white-space:nowrap;position:absolute;top:8px;right:8px}.home-table-card span.home-table-members svg,span.home-table-members-solo svg{color:#8ef5a3;flex:none}.home-table-art .home-table-x{color:#ffb3b3;cursor:pointer;background:#0c0a06d1;border:none;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 8px;font-size:.72rem;display:inline-flex}.home-table-x:hover{color:#fff;background:#a3282d}.home-table-edit{color:#f5bb43;cursor:pointer;background:0 0;border:1px solid #f5bb4359;border-radius:6px;min-height:34px;padding:0 12px;font-size:.74rem;font-weight:700}.home-table-edit:hover{background:#f5bb4326}.vtt-modal-backdrop{z-index:100000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.vtt-modal{color:#f2ead7;background:#1c1610;border:1px solid #f5bb4359;border-radius:10px;gap:10px;max-width:min(440px,100vw - 40px);padding:20px;display:grid;box-shadow:0 24px 60px #0000008c}.vtt-modal strong{font-size:1.05rem}.vtt-modal p{color:#f2ead7c7;font-size:.88rem;line-height:1.5}.vtt-modal p b{color:#f5bb43}.vtt-modal-actions{justify-content:flex-end;gap:8px;display:flex}.vtt-modal-actions button{cursor:pointer;border-radius:6px;min-height:34px;padding:0 14px;font-weight:700}.vtt-modal-actions button:last-child{color:#f2ead7;background:0 0;border:1px solid #f2ead740}.vtt-modal-actions button.danger{color:#fff;background:#a3282d;border:none}.settings-body{gap:18px;padding:0 2px 4px;display:grid}.profile-banner{background:linear-gradient(160deg,#101414eb,#0a0c0cf5);border:1px solid #f5bb4338;border-radius:12px;overflow:hidden}.profile-banner-art{background:radial-gradient(circle at 78% 30%,#f5bb4347,#0000 42%),radial-gradient(circle at 18% 80%,#50c87824,#0000 46%),linear-gradient(135deg,#241d10,#10141a 62%,#0b1210);height:132px}.profile-identity{align-items:flex-end;gap:18px;margin-top:-52px;padding:0 22px;display:flex;position:relative}.profile-avatar-wrap{cursor:pointer;position:relative}.profile-avatar-wrap:focus-visible{border-radius:999px;outline:2px solid #f5bb43b3}.profile-avatar-wrap img,.profile-avatar-wrap .home-profile-initial{border:3px solid #f5bb438c;width:112px;height:112px;box-shadow:0 10px 26px #0000008c}.profile-avatar-hint{color:#f5bb43;letter-spacing:.02em;opacity:0;white-space:nowrap;background:#0a0804b8;border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;font-size:.68rem;font-weight:800;transition:opacity .16s;display:flex;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}:is(.profile-avatar-wrap:hover .profile-avatar-hint,.profile-avatar-wrap:focus-visible .profile-avatar-hint){opacity:1}.profile-id-text{gap:4px;padding-bottom:12px;display:grid}.profile-id-text strong{letter-spacing:.01em;text-shadow:0 2px 10px #0009;font-size:1.55rem}.profile-id-text em{color:#f5bb43d9;font-size:.8rem;font-style:normal;font-weight:700}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px 16px;display:grid}.profile-stats div{text-align:center;background:#f2ead70d;border:1px solid #f2ead717;border-radius:8px;gap:2px;padding:9px 10px;display:grid}.profile-stats b{color:#f5bb43;font-size:1.02rem}.profile-stats span{color:#f2ead79e;letter-spacing:.03em;text-transform:uppercase;font-size:.68rem}.settings-account{background:#f2ead70a;border:1px solid #f2ead71a;border-radius:10px;gap:8px;padding:13px 15px;display:grid}.settings-account header{color:#f2ead7d9;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:800}.settings-account header small{color:#f2ead773;letter-spacing:0;text-transform:none;margin-left:6px;font-weight:400}.settings-row{justify-content:space-between;align-items:center;gap:10px;font-size:.85rem;display:flex}.settings-row span{color:#f2ead78c}.settings-row b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-field{gap:8px;display:grid}.settings-field label{letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.settings-name-row{gap:8px;display:flex}.settings-name-row input{color:#f2ead7;background:#0a0c0cb8;border:1px solid #f2ead72e;border-radius:6px;flex:1;min-height:38px;padding:0 12px;font-size:.9rem}.settings-name-row input:disabled{opacity:.45}.settings-name-row button{color:#f5bb43;cursor:pointer;background:#f5bb4324;border:1px solid #f5bb4359;border-radius:6px;min-height:38px;padding:0 14px;font-weight:700}.settings-name-row button:disabled{cursor:not-allowed;opacity:.45}.settings-field em{color:#f2ead799;font-size:.76rem}.home-table-members svg{color:#8ef5a3}.home-table-actions{gap:6px;display:flex}.home-table-actions>button:first-child{flex:1}.home-table-delete{color:#ff9c9c;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ff787859;border-radius:6px;min-height:34px;padding:0 10px;font-size:.72rem;font-weight:700}.home-table-delete:hover{color:#fff;background:#b4282840}.home-table-confirm{background:#3c0c0c73;border:1px solid #ff78784d;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:4px 8px;font-size:.75rem;display:flex}.home-table-confirm span{color:#ffd9d9;white-space:nowrap;font-weight:700}.home-table-confirm div{gap:6px;display:flex}.home-table-confirm button{cursor:pointer;border-radius:6px;min-height:26px;padding:2px 9px;font-size:.72rem}.home-table-confirm button.danger{color:#fff;background:#a3282d;border:none;font-weight:800}.home-table-confirm div button:last-child{color:#f2ead7;background:0 0;border:1px solid #f2ead740}.home-login-stage{justify-content:center;align-items:flex-start;min-height:calc(100vh - 110px);padding:54px 18px;display:flex}.home-login-card{color:#fff7df;background:linear-gradient(135deg,#f5bb431c,#0000 34%),#060908b8;border:1px solid #f5bb4340;border-radius:12px;gap:16px;width:min(520px,100%);max-width:520px;padding:24px;display:grid;box-shadow:0 24px 80px #00000075}.home-login-card header span{color:#ffc244;margin-bottom:8px;font-weight:900;display:block}.home-login-card h1{margin:0 0 10px;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1}.home-login-card p{color:#f2ead7d1;margin:0}.home-oauth-row,.home-login-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.home-login-card button{color:#fff7df;cursor:pointer;background:#ffffff0f;border:1px solid #f5bb434d;border-radius:8px;min-height:44px;font-weight:900}.home-login-card button:hover,.home-login-card button.active{background:#f5bb432e;border-color:#f5bb43b8}.home-login-card button:disabled{cursor:progress;opacity:.65}.home-login-form{gap:12px;display:grid}.home-password-card{max-width:460px}.home-password-field{color:#f2ead7db;gap:7px;font-weight:800;display:grid}.home-password-field input{color:#fff7df;font:inherit;background:#080a0ab8;border:1px solid #f5bb4347;border-radius:8px;outline:none;min-height:42px;padding:0 12px}.home-password-field input:focus{border-color:#f5bb43b8;box-shadow:0 0 0 2px #f5bb4324}.home-login-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.home-login-actions .primary{color:#ffd36b;background:#f5bb4333;border-color:#f5bb43c7}.home-login-form label{color:#f2ead7bf;text-transform:uppercase;gap:6px;font-size:.78rem;font-weight:900;display:grid}.home-login-form input{color:#fff7df;font:inherit;background:#0000006b;border:1px solid #ffffff24;border-radius:8px;min-height:42px;padding:0 12px}.home-login-form input:focus{border-color:#f5bb43c2;outline:none}.home-login-form>button,.home-logout-button{background:#f5bb4333!important}.home-login-status{border-top:1px solid #ffffff1f;padding-top:12px;font-weight:800;color:#ffc244!important}.token.directional{transform:translate(calc(var(--tok-anchor-x,.5) * -100%), calc(var(--tok-anchor-y,.9) * -100%));background:0 0;border:none;border-radius:0;overflow:visible}.token.directional .directional-sprite{object-fit:contain;object-position:bottom;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;top:0;left:0}.rotate-preview{pointer-events:none;z-index:6500;position:absolute;inset:0;overflow:visible}.rotate-preview svg{width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.rotate-preview line{stroke:#f5bb43;stroke-dasharray:6 4;stroke-width:2px}.rotate-preview circle{fill:#f5bb43}.rotate-preview-chip{color:#f2ead7;background:#080a0cd9;border:1px solid #f5bb43bf;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:900;position:absolute;transform:translate(-50%,-130%)}.token-direction-hint{color:#f5bb43;background:#080a0c99;border:1px solid #f5bb4366;border-radius:999px;padding:1px 7px;font-size:.62rem;font-weight:900}.creature-tools{border-top:1px solid #f5bb4340;margin-top:10px;padding-top:8px}.creature-tools header{color:#f2ead7;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.78rem;font-weight:900;display:flex}.creature-empty{color:#f2ead799;font-size:.72rem}.creature-row{border-bottom:1px solid #f5bb431f;align-items:center;gap:6px;padding:3px 0;display:flex}.creature-row strong{flex:1;font-size:.76rem}.creature-remove{color:#f2b8b8;cursor:pointer;background:#a0282840;border:1px solid #dc505099;border-radius:6px;padding:3px 8px;font-size:.66rem;font-weight:900}.token-config-backdrop{z-index:9000;background:0 0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.token-config{color:#f2ead7;background:linear-gradient(160deg,#101318fa,#0a0c0ffa);border:1px solid #f5bb438c;border-radius:14px;flex-direction:column;gap:12px;width:min(430px,94vw);max-height:92vh;padding:14px 16px;display:flex;overflow:auto;box-shadow:0 24px 60px #0000008c}.token-config header{cursor:grab;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.token-config header:active{cursor:grabbing}.token-config header strong{letter-spacing:.04em;text-transform:uppercase;font-size:.95rem}.token-config-close{color:#f5bb43;cursor:pointer;background:#f5bb431a;border:1px solid #f5bb4380;border-radius:999px;width:26px;height:26px;font-size:.9rem;font-weight:900;line-height:1}.token-config-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.token-config-slot{flex-direction:column;gap:4px;display:flex}.token-config-dir{color:#f5bb43;text-align:center;font-size:.62rem;font-weight:900}.token-config-thumb{aspect-ratio:1;cursor:pointer;background:#ffffff08;border:1px dashed #f5bb4373;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.token-config-thumb.filled{border-style:solid;border-color:#f5bb43bf}.token-config-thumb span{color:#f5bb43b3;font-size:1rem;font-weight:900}.token-config-thumb img{object-fit:contain;width:100%;height:100%}.token-config-thumb input{display:none}.token-config-clear{color:#ffe2e2;cursor:pointer;background:#a02828d9;border:none;border-radius:999px;width:16px;height:16px;font-size:.66rem;font-weight:900;line-height:1;position:absolute;top:18px;right:-5px}.token-config-size{color:#f2ead7d9;align-items:center;gap:10px;font-size:.72rem;font-weight:800;display:flex}.token-config-size input{accent-color:#f5bb43;flex:1}.token-config-size b{color:#f5bb43;text-align:right;min-width:44px}.token-config footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.token-config-import,.token-config-button{color:#f5bb43;cursor:pointer;text-transform:uppercase;background:#f5bb4314;border:1px dashed #f5bb438c;border-radius:6px;padding:4px 9px;font-size:.64rem;font-weight:900}.token-config-import{gap:4px;display:inline-flex}.token-config-import input{display:none}.token-config-button{border-style:solid}.member-role-menu{z-index:1000;background:#070908f0;border:1px solid #f5bb4373;border-radius:6px;padding:6px;position:fixed;box-shadow:0 14px 32px #00000073}.member-role-menu button{color:#f7ead1;cursor:pointer;white-space:nowrap;background:#f5bb431f;border:1px solid #f5bb4347;border-radius:5px;padding:8px 10px;font-size:.76rem;font-weight:800}.member-role-menu button:hover{background:#f5bb4338}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
