/*! 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,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-outline-style:solid;--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{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::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]){appearance:button}::file-selector-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{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.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}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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{--ink:#f2eadc;--muted:#a9a092;--panel:#191817;--panel-raised:#22201d;--rule:#38342f;--gold:#f5c65c;--ember:#c97546;--live:#7ebc8a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);font-family:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;background:radial-gradient(circle at 18% 8%,#b05b2f1c,#0000 32rem),#11110f;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.eyebrow{color:#bdab8d;font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:700}.join-shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.join-card{border:1px solid var(--rule);background:linear-gradient(145deg,#24211dfa,#161513fa);border-radius:1.25rem;width:min(100%,30rem);padding:2.2rem;box-shadow:0 28px 90px #0000006b}.join-card h1{letter-spacing:-.045em;margin:.55rem 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.15rem,7vw,3.15rem);font-weight:500}.join-card>p{color:var(--muted);margin:0 0 1.4rem;line-height:1.6}.scenario-picker{margin:0 0 1.2rem}.scenario-picker select{background-color:#121210;background-image:linear-gradient(45deg,#0000 50%,#bdab8d 50%),linear-gradient(135deg,#bdab8d 50%,#0000 50%);background-position:calc(100% - 1.05rem),calc(100% - .72rem);background-repeat:no-repeat;background-size:.34rem .34rem,.34rem .34rem;min-height:3.1rem}.join-options{gap:.72rem;display:grid}.join-option-button{width:100%;min-height:3.25rem;color:var(--ink);text-align:left;background:linear-gradient(#2a2722,#201e1a);border:1px solid #514a40;border-radius:.68rem;padding:.8rem 1rem;font-weight:750;transition:border-color .12s,background .12s,transform .12s}.join-option-button:hover:not(:disabled),.join-option-button:focus-visible{border-color:var(--gold);background:linear-gradient(#332e25,#27231d);outline:none;transform:translateY(-1px)}.join-option-button:disabled{opacity:.5}label{color:#d7cebf;gap:.5rem;margin:1rem 0;font-size:.82rem;font-weight:650;display:grid}input{width:100%;color:var(--ink);background:#121210;border:1px solid #4a443c;border-radius:.62rem;outline:none;padding:.85rem .95rem}select{appearance:none;width:100%;color:var(--ink);background-color:#121210;background-image:linear-gradient(45deg,#0000 50%,#a9a092 50%),linear-gradient(135deg,#a9a092 50%,#0000 50%);background-position:calc(100% - 1.05rem),calc(100% - .73rem);background-repeat:no-repeat;background-size:.34rem .34rem,.34rem .34rem;border:1px solid #4a443c;border-radius:.62rem;outline:none;padding:.75rem 2.4rem .75rem .85rem}select:focus{border-color:var(--gold)}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f5c65c1f}.primary-button,.secondary-button{border-radius:.62rem;width:100%;min-height:2.75rem;font-weight:750;transition:transform .12s,background .12s,opacity .12s}.primary-button{background:var(--gold);color:#211b12;border:1px solid #ffd67b}.primary-button:hover:not(:disabled){background:#ffd778;transform:translateY(-1px)}.primary-button:disabled{opacity:.38}.secondary-button{color:#d8cfc1;background:0 0;border:1px solid #4b4640}.secondary-button:hover:not(:disabled){background:#2b2925}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled){transition-duration:45ms;transform:translateY(1px)scale(.975);box-shadow:inset 0 2px 5px #00000080}.secondary-button.is-pending{color:#f2d99b;opacity:1;background:#f5c65c14;border-color:#f5c65c7a}.form-error{color:#f0a28e;background:#ad412b1f;border:1px solid #da6d5552;border-radius:.5rem;margin:.85rem 0;padding:.7rem .8rem;font-size:.78rem;line-height:1.4}.app-shell{min-height:100vh}.ui-icon{width:1.15rem;height:1.15rem;display:block}.command-bar{background:#121211;border-bottom:1px solid #2b2926;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.32rem .5rem;display:flex}.encounter-identity{flex:8rem;justify-content:center;align-items:baseline;gap:.5rem;min-width:0;padding-inline:.5rem;display:flex;overflow:hidden}.encounter-identity strong{color:#ded5c7;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:650;overflow:hidden}.encounter-identity span{color:#8b8377;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:.6rem}.round-counter{color:#8f877a;background:#171613;border:1px solid #3a352d;border-radius:.42rem;justify-content:center;align-items:baseline;gap:.32rem;min-width:3.4rem;min-height:2rem;padding:.25rem .5rem;display:flex}.round-counter span{letter-spacing:.08em;text-transform:uppercase;font-size:.52rem;font-weight:750}.round-counter strong{color:var(--gold);font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;font-size:.78rem}.connection-pill{color:#c6beb1;background:#1b1a18;border:1px solid #3c3933;border-radius:999px;flex:none;align-items:center;gap:.4rem;padding:.3rem .55rem;font-size:.66rem;font-weight:700;display:inline-flex}.connection-pill em{font-style:normal}.connection-live em{display:none}.connection-live{padding-inline:.42rem}.connection-dot{background:#827b70;border-radius:50%;width:.48rem;height:.48rem}.connection-live .connection-dot{background:var(--live);box-shadow:0 0 0 4px #7ebc8a1f}.connection-reconnecting .connection-dot,.connection-connecting .connection-dot{background:var(--gold);animation:1.2s ease-in-out infinite pulse}.connection-lost .connection-dot{background:#c85f4c}@keyframes pulse{50%{opacity:.5}}.workspace{grid-template-columns:minmax(0,1fr) 19.5rem;min-height:calc(100vh - 2.6rem);display:grid}.app-shell.is-collapsed .workspace,.app-shell.is-presenting .workspace{grid-template-columns:minmax(0,1fr)}.app-shell.is-presenting .command-bar{display:none}.map-panel{background:#0e0e0d;flex-direction:column;justify-content:center;min-width:0;padding:.35rem;display:flex}.app-shell.is-presenting .map-panel{padding:0}.present-exit{z-index:5;color:#c8bfb1;opacity:.25;background:#141311d1;border:1px solid #4b453d;border-radius:999px;padding:.4rem .8rem;font-size:.68rem;font-weight:650;transition:opacity .14s;position:absolute;top:.7rem;left:50%;transform:translate(-50%)}.present-exit:hover,.present-exit:focus-visible{opacity:1}.command-bar button{color:#bcb3a5;background:#191816;border:1px solid #403c36;border-radius:.42rem;min-height:2rem;padding:.35rem .6rem;font-size:.7rem;font-weight:700}.map-tool-group{background:#141412;border:1px solid #302e2a;border-radius:.48rem;align-items:center;gap:.18rem;padding:.18rem;display:inline-flex}.command-bar .icon-tool{color:#a49b8e;background:0 0;border-color:#0000;place-items:center;width:1.85rem;min-height:1.75rem;padding:0;line-height:1;display:grid;position:relative}.command-bar .icon-tool:disabled{color:#55504a}.command-bar [data-tooltip]{position:relative}.command-bar [data-tooltip]:after{content:attr(data-tooltip);z-index:12;color:#e1d8ca;width:max-content;max-width:10rem;font-family:var(--font-geist-sans), sans-serif;opacity:0;pointer-events:none;white-space:nowrap;background:#24221e;border:1px solid #454139;border-radius:.35rem;padding:.32rem .48rem;font-size:.62rem;font-weight:650;line-height:1.2;transition:opacity .1s,transform .1s;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%,-.2rem);box-shadow:0 7px 18px #0000005c}.command-bar [data-tooltip]:hover:after,.command-bar [data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.command-bar .connection-pill:after{white-space:normal;width:14rem;max-width:calc(100vw - 1rem);left:auto;right:0;transform:translateY(-.2rem)}.command-bar .connection-pill:hover:after,.command-bar .connection-pill:focus-visible:after{transform:translateY(0)}.command-bar .icon-tool:hover,.command-bar .icon-tool.tool-active{color:#f2d99b;background:#292720;border-color:#49443c}.ui-settings-menu{position:relative}.ui-settings-menu>summary{cursor:pointer;border:1px solid #0000;border-radius:.42rem;list-style:none}.ui-settings-menu>summary::-webkit-details-marker{display:none}.ui-settings-menu[open]>summary{color:#f2d99b;background:#292720;border-color:#49443c}.ui-settings-panel{z-index:20;color:#d8d0c3;background:#181714fa;border:1px solid #464138;border-radius:.55rem;width:15rem;padding:.65rem;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 12px 30px #00000080}.ui-settings-heading{border-bottom:1px solid #34302a;gap:.08rem;padding-bottom:.5rem;display:grid}.ui-settings-heading strong{font-size:.74rem}.ui-settings-heading small{color:#827b70;font-size:.58rem}.ui-settings-section-label{justify-content:space-between;align-items:baseline;gap:.5rem;padding-top:.55rem;display:flex}.ui-settings-section-label strong{color:#b9b0a3;letter-spacing:.07em;text-transform:uppercase;font-size:.6rem}.ui-settings-section-label small{color:#777066;font-size:.55rem}.ui-settings-global{border-top:1px solid #4a4031;margin-top:.6rem;padding-top:.05rem}.grid-opacity-control{color:#a69e92;letter-spacing:.025em;gap:.28rem;padding:.58rem 0 .5rem;font-size:.64rem;display:grid}.grid-opacity-control>span{justify-content:space-between;gap:.5rem;display:flex}.grid-opacity-control output{color:#d5c498;font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums}.grid-opacity-control input{appearance:none;cursor:ew-resize;background:0 0;width:100%;height:.9rem;margin:0}.grid-opacity-control input::-webkit-slider-runnable-track{background:linear-gradient(to right, #c69447 0 var(--grid-level), #3b3832 var(--grid-level) 100%);border-radius:999px;height:.24rem;box-shadow:inset 0 1px 1px #00000080}.grid-opacity-control input::-webkit-slider-thumb{appearance:none;background:#25231f;border:2px solid #e2c477;border-radius:50%;width:.86rem;height:.86rem;margin-top:-.31rem;box-shadow:0 1px 3px #000000a6}.grid-opacity-control input::-moz-range-track{background:#3b3832;border:0;border-radius:999px;height:.24rem;box-shadow:inset 0 1px 1px #00000080}.grid-opacity-control input::-moz-range-progress{background:#c69447;border-radius:999px;height:.24rem}.grid-opacity-control input::-moz-range-thumb{background:#25231f;border:2px solid #e2c477;border-radius:50%;width:.7rem;height:.7rem;box-shadow:0 1px 3px #000000a6}.grid-opacity-control input:focus-visible{outline-offset:2px;border-radius:999px;outline:2px solid #e5b55c}.ui-setting-toggle{cursor:pointer;border-top:1px solid #34302a;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.55rem;display:flex}.ui-setting-toggle>span{gap:.1rem;display:grid}.ui-setting-toggle strong{font-size:.66rem}.ui-setting-toggle small{color:#827b70;font-size:.57rem;line-height:1.25}.ui-setting-toggle input{accent-color:#c69447;width:1rem;height:1rem;margin:0}.command-bar .creature-tool{align-items:center;gap:.38rem;min-height:2.15rem;padding-inline:.58rem;display:inline-flex}.command-bar .zoom-value{color:#756f65;min-width:2.9rem;min-height:1.8rem;font-family:var(--font-geist-mono), monospace;background:0 0;border-color:#0000;padding:0 .35rem;font-size:.6rem}.command-bar button:hover,.command-bar .tool-active{color:#f4d88e;background:#f5c65c1f;border-color:#f5c65ca6}.toolbar-spacer{flex:1}.map-frame{background:#343832;border:1px solid #37342f;border-radius:.4rem;width:100%;position:relative;overflow:hidden;box-shadow:0 25px 55px #00000052}.map-stage{min-width:0}.map-canvas{aspect-ratio:auto;touch-action:none;cursor:grab;width:100%;height:100%;display:block}.map-canvas.is-blocked{cursor:not-allowed}.map-canvas.is-dragging,.map-canvas.is-panning{cursor:grabbing}.map-canvas.is-placing{cursor:copy}.map-canvas.is-erasing{cursor:cell}.creature-palette,.spell-palette{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#181613f5;border:1px solid #f5c65c80;border-radius:.72rem;width:min(23rem,100% - 1.6rem);max-height:calc(100% - 1.6rem);padding:.9rem;position:absolute;top:.8rem;left:.8rem;overflow-y:auto;box-shadow:0 18px 48px #00000085}.spell-palette{z-index:3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(circle at 20% 0,#53498b33,#0000 42%),#111015f7;border:1px solid #ac97ff80;border-radius:.82rem;width:min(39rem,100% - 1.6rem);max-height:calc(100% - 1.6rem);padding:1rem;position:absolute;top:.8rem;left:.8rem;overflow-y:auto;box-shadow:0 22px 65px #000000a8,inset 0 1px #ffffff09}.spell-palette-intro{color:#9d96a8;max-width:34rem;margin:.55rem 0 .85rem;font-size:.7rem;line-height:1.5}.spell-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.spell-tile{color:#eee9f4;text-align:left;background:#09090c;border:1px solid #3f394b;border-radius:.7rem;grid-template-columns:8.2rem 1fr;align-items:stretch;min-width:0;min-height:9.4rem;padding:0;transition:border-color .13s,box-shadow .13s,transform .13s;display:grid;position:relative;overflow:hidden}.spell-tile:hover,.spell-tile.is-armed{transform:translateY(-1px)}.spell-tile.is-moonbeam:hover,.spell-tile.is-moonbeam.is-armed{border-color:#aabfff;box-shadow:0 0 0 1px #acc2ff2e,0 10px 30px #5d68cd33}.spell-tile.is-flaming-sphere:hover,.spell-tile.is-flaming-sphere.is-armed{border-color:#ff842d;box-shadow:0 0 0 1px #ff842d2e,0 10px 30px #bc350933}.spell-art{background:#000;place-items:center;display:grid;position:relative;overflow:hidden}.spell-art:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 40%,#000000b8 100%);position:absolute;inset:0}.spell-art img{object-fit:cover;filter:saturate(1.12)contrast(1.05);width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.spell-tile:hover .spell-art img,.spell-tile.is-armed .spell-art img{transform:scale(1.12)rotate(4deg)}.spell-copy{flex-direction:column;justify-content:center;gap:.3rem;min-width:0;padding:.85rem .8rem;display:flex}.spell-copy small{color:#928aa0;letter-spacing:.1em;text-transform:uppercase;font-size:.56rem;font-weight:750}.spell-copy strong{font-family:Georgia,Times New Roman,serif;font-size:1.08rem;font-weight:500}.spell-copy em{color:#8c8495;font-size:.63rem;font-style:normal;line-height:1.45}.spell-detail{background:radial-gradient(circle at 20% 0,#6652a029,#0000 45%),#17151b;border:1px solid #433b50;border-radius:.68rem;margin:0 .72rem .65rem;padding:.8rem;position:relative;overflow:hidden}.spell-detail-visual{background:#000;height:7rem;margin:-.8rem -.8rem .7rem;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.spell-detail-visual img{object-fit:cover;filter:saturate(1.12)contrast(1.06);width:100%;height:160%;transform:translateY(-18%)}.spell-detail-copy small{color:#91879f;letter-spacing:.06em;text-transform:uppercase;font-size:.58rem}.spell-detail-copy h2{margin:.18rem 0 .25rem;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:500}.spell-detail-copy p{color:#938b99;margin:0;font-size:.66rem;line-height:1.45}.spell-detail-meta{grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.7rem;display:grid}.spell-detail-meta span{background:#0003;border-radius:.4rem;gap:.12rem;padding:.48rem;display:grid}.spell-detail-meta small{color:#756d7e;letter-spacing:.08em;text-transform:uppercase;font-size:.52rem}.spell-detail-meta strong{color:#d9d0e2;font-size:.7rem}.dismiss-spell-button{color:#c9b8d6;background:#755b891a;border:1px solid #574d61;border-radius:.48rem;width:100%;margin-top:.65rem;padding:.55rem;font-size:.68rem}.dismiss-spell-button:hover{color:#eee3f6;background:#755b892e;border-color:#8e78a0}.palette-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.palette-heading h2{margin:.08rem 0 0;font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.palette-heading small{color:#a5957d;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:750}.palette-heading button{color:#bdb3a5;background:0 0;border:1px solid #4b453d;border-radius:50%;width:1.9rem;height:1.9rem}.palette-hint{color:#7d776b;margin:.7rem 0 0;font-size:.62rem;line-height:1.45}.palette-controller{color:#b8ad9d;margin:.7rem 0 0;font-size:.68rem}.palette-controller select{padding:.55rem .65rem;font-size:.72rem}.palette-search{grid-template-columns:minmax(0,1.4fr) minmax(7rem,.8fr);gap:.45rem;margin:0 0 .7rem;display:grid}.palette-search label{color:#8f8578;letter-spacing:.06em;text-transform:uppercase;min-width:0;font-size:.58rem;font-weight:700}.palette-search input,.palette-search select{min-height:2.25rem;margin-top:.24rem;padding:.42rem .52rem;font-size:.7rem}.creature-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.creature-tile{color:#ded5c8;text-align:left;background:#1b1916;border:1px solid #433e37;border-radius:.55rem;grid-template-columns:3.25rem 1fr;align-items:center;gap:.45rem;min-width:0;min-height:4.25rem;padding:.4rem;display:grid}.creature-tile:hover,.creature-tile.is-armed{border-color:var(--gold);background:#f5c65c1a}.creature-tile img{object-fit:contain;filter:drop-shadow(0 4px 5px #00000073);width:3.25rem;height:3.25rem}.creature-tile span{gap:.22rem;min-width:0;display:grid}.creature-tile strong{text-overflow:ellipsis;font-size:.72rem;line-height:1.15;overflow:hidden}.creature-tile small{color:#8c8376;letter-spacing:.04em;text-transform:capitalize;font-size:.57rem}.palette-status{color:#9c9285;text-align:center;padding:1rem .4rem;font-size:.7rem}.palette-status.is-error{color:#e29a8e}.palette-load-more{color:#cfc3b3;background:#211e1a;border:1px solid #4b453d;border-radius:.48rem;width:100%;margin-top:.65rem;padding:.55rem;font-size:.68rem}.palette-load-more:hover:not(:disabled){color:#f1e5d4;border-color:#766a58}.palette-cancel{color:#c7bcad;background:0 0;border:1px solid #554d42;border-radius:.48rem;width:100%;margin-top:.65rem;padding:.55rem;font-size:.7rem}.map-message{z-index:2;color:#b9dec0;background:#17231af0;border:1px solid #7ebc8a75;border-radius:.55rem;max-width:min(24rem,100% - 1.6rem);padding:.7rem .85rem;font-size:.75rem;line-height:1.4;position:absolute;bottom:.8rem;right:.8rem;box-shadow:0 8px 28px #0000006b}.map-message.is-error{color:#f2b1a1;background:#351914f2;border-color:#da6d5580}.map-safety-overlay{z-index:4;text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#100f0dbd;place-content:center;gap:.35rem;display:grid;position:absolute;inset:0}.map-safety-overlay strong{font-size:1rem}.map-safety-overlay span{color:var(--muted);font-size:.78rem}.control-panel{background:#151513;border-left:1px solid #292824;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:.5rem;min-height:0;padding:.55rem;display:grid;position:relative}.control-panel[hidden]{display:none}.panel-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.panel-round{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}.roster-filter{color:#6f695f;background:#111110;border:1px solid #35322d;border-radius:.45rem;align-items:center;gap:.4rem;margin:0;padding:0 .5rem;display:flex}.roster-filter input{background:0 0;border:0;min-height:1.9rem;padding:0 0 0 .1rem;font-size:.72rem}.roster-filter input:focus{box-shadow:none}.roster-filter:focus-within{border-color:#574f43}.token-roster{align-content:start;gap:.12rem;min-height:0;display:grid;overflow-y:auto}.roster-group{border-radius:.36rem;display:grid}.roster-group.is-active{box-shadow:inset 2px 0 var(--gold);background:#f5c65c17}.roster-group .roster-group-toggle{grid-column:3/6}.roster-group .roster-initiative{grid-column:6}.roster-group-initiative{color:#6f695f;align-items:center;gap:.35rem;margin:-.05rem .35rem .25rem 2.45rem;font-size:.56rem;display:flex}.roster-group-initiative label{color:#8d867b;text-transform:uppercase;margin:0;font-weight:700}.roster-group-initiative input{text-align:center;border-radius:.3rem;width:2.6rem;min-height:1.55rem;padding:.2rem .35rem;font-size:.66rem}.roster-row{color:#b3aa9d;text-align:left;background:0 0;border:1px solid #0000;border-left-width:2px;border-radius:.36rem;grid-template-columns:1.55rem minmax(0,1fr) 2.6rem auto auto 1.5rem;align-items:center;gap:.45rem;width:100%;min-height:2.1rem;padding:.16rem .34rem;display:grid}.roster-row:hover:not(:disabled){background:#1e1c19}.roster-row.is-mine{border-left-color:#6d6045}.roster-row.is-selected{color:#ece3d4;background:#232019;border-color:#5f5648}.roster-row.is-active{border-left-color:var(--gold);background:#f5c65c17}.roster-row.is-complete{opacity:.5}.roster-row.is-grouped{padding-left:1.1rem}.roster-row.is-group{color:#978f83}.roster-row:disabled{opacity:.45}.roster-portrait{object-fit:contain;background:#40382c;border:1px solid #5c554a;border-radius:50%;width:1.55rem;height:1.55rem}.roster-initial{background:var(--ember);color:#231a14;place-items:center;font-size:.66rem;font-weight:800;display:grid}.roster-name{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:600;overflow:hidden}.roster-name em{color:#6f695f;font-size:.62rem;font-style:normal}.roster-group-toggle{color:#6f695f;letter-spacing:.06em;text-align:right;text-transform:uppercase;grid-column:3/-1;font-size:.58rem}.roster-hp{color:#8b8377;font-family:var(--font-geist-mono), monospace;white-space:nowrap;font-size:.58rem}.roster-health{background:#2a2723;border-radius:999px;height:.36rem;overflow:hidden}.roster-health.is-unknown{background:repeating-linear-gradient(90deg,#26241f 0 3px,#0000 3px 6px)}.roster-health-fill{border-radius:999px;height:100%;display:block}.roster-effects{color:#9cc7a5;background:#4b82562e;border-radius:999px;padding:.02rem .3rem;font-size:.55rem;font-weight:750}.roster-effects.is-due{color:#e2988f;background:#a4483e33}.roster-initiative{color:#8b8377;width:100%;font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;text-align:right;grid-column:6;font-size:.66rem}.token-detail{background:#1a1917;border:1px solid #34302a;border-radius:.5rem;min-height:0;max-height:46vh;padding:.6rem;overflow-y:auto}.panel-foot{border-top:1px solid #2a2824;gap:.35rem;padding-top:.4rem;display:grid}.panel-foot:empty{display:none}.panel-foot .button-row{gap:.35rem;margin-top:0}.panel-foot .primary-button,.panel-foot .secondary-button{min-height:2.1rem;font-size:.72rem}.panel-foot .end-turn-button{min-height:2.2rem;margin-top:0}.turn-correction-details summary{color:#7d776b;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;font-size:.6rem}.turn-correction-details label{margin:.35rem 0 0}.hp-panel{gap:.4rem;margin:.6rem 0;display:grid}.hp-readout{align-items:center;gap:.5rem;display:flex}.hp-readout strong{font-family:var(--font-geist-mono), monospace;flex:none;font-size:.72rem}.hp-track{background:#2a2723;border-radius:999px;flex:1;height:.42rem;overflow:hidden}.hp-track-fill{border-radius:999px;height:100%;display:block}.hp-step{color:#cfc5b6;background:#201e1b;border:1px solid #45403a;border-radius:.36rem;width:1.7rem;min-height:1.9rem;font-weight:700}.hp-apply{color:#ded2c2;background:#262320;border:1px solid #45403a;border-radius:.36rem;min-height:1.9rem;padding-inline:.5rem;font-size:.66rem;font-weight:700}.hp-apply.is-damage:hover{color:#eda99e;background:#9640372e;border-color:#7d4740}.hp-apply.is-heal:hover{color:#a6d3ae;background:#48825629;border-color:#47704f}.participant-row{align-items:center;gap:.55rem;padding:0 .15rem;display:flex}.participant-avatar{color:#f5d69b;background:#352c21;border:1px solid #62543e;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-weight:800;display:grid}.participant-row span:last-child{gap:.08rem;display:grid}.participant-row small,.token-detail small{color:#79736b;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem}.participant-row strong{color:#ded6c9;font-size:.85rem}.token-detail .secondary-button{width:auto}.token-heading{align-items:center;gap:.72rem;display:flex}.token-select{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0}.token-portrait{object-fit:cover;background:#312a22;border:2px solid #ecd09d;border-radius:50%;flex:none;width:2.25rem;height:2.25rem}.token-mini{background:var(--ember);color:#231a14;border:3px solid #ecd09d;border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;font-weight:850;display:grid}.token-heading div{gap:.08rem;display:grid}.token-heading h2{letter-spacing:-.01em;margin:0;font-size:.9rem;font-weight:650}.token-meta{border-top:1px solid #302e2a;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;margin-top:.55rem;padding-top:.5rem;display:grid}.token-meta span{gap:.12rem;min-width:0;display:grid}.token-meta small{color:#666158;letter-spacing:.04em;text-overflow:ellipsis;font-size:.52rem;overflow:hidden}.token-meta strong{color:#bcb4a8;font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:600;overflow:hidden}.move-review{grid-template-columns:1fr 1fr;gap:.5rem;margin:.85rem 0;display:grid}.move-review div{background:#171614;border-radius:.45rem;gap:.18rem;padding:.65rem;display:grid}.move-review.is-over strong{color:#ef6656}.move-review strong{font-family:var(--font-geist-mono), monospace;font-size:.82rem}.section-heading,.movement-summary{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.section-heading h2{margin:.05rem 0 0;font-size:.9rem;font-weight:650}.section-heading small{color:#79736b;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}.section-heading>strong{color:var(--gold);font-size:.74rem}.empty-copy{color:#777067;font-size:.72rem}.button-row{gap:.55rem;margin-top:.65rem;display:flex}.button-row>*{flex:1}.turn-correction{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.turn-correction label{margin:.65rem 0 0}.compact-form{align-items:end;gap:.45rem;margin:.65rem 0;display:flex}.compact-form label{flex:1;margin:0}.compact-form button{width:auto;min-height:2.65rem;padding-inline:.8rem}.initiative-editor{align-items:center;gap:.55rem;margin:.55rem 0;display:flex}.initiative-editor label{color:#8d867b;flex:none;align-items:center;gap:.45rem;margin:0;font-size:.65rem;font-weight:600;display:flex}.initiative-editor input{font-variant-numeric:tabular-nums;text-align:center;border-radius:.35rem;width:3.1rem;padding:.38rem .45rem}.initiative-pack-note{color:#777064;justify-content:space-between;align-items:center;gap:.5rem;margin:-.25rem 0 .55rem;font-size:.58rem;display:flex}.initiative-pack-note .inline-action{flex:none}.initiative-save-status{color:#706a61;text-overflow:ellipsis;min-width:0;min-height:1em;font-size:.58rem;line-height:1.25;overflow:hidden}.initiative-save-status.is-saving{color:var(--gold)}.initiative-save-status.is-saved{color:#8fbd98}.effect-form{flex-wrap:wrap;align-items:stretch}.effect-form input:first-child{flex:9rem}.effect-form select{flex:7rem}.effect-form input[type=number]{flex:0 0 4rem;width:4rem}.effect-form button{flex:none}.effect-editor-toggle{margin-top:.45rem}.effect-form .effect-editor-cancel{color:#91887b;background:0 0;border-color:#0000}.hp-row{align-items:center;gap:.3rem;margin:0;display:flex}.hp-row input{width:2.6rem;min-width:0;font-family:var(--font-geist-mono), monospace;text-align:center;border-radius:.36rem;padding:.3rem .2rem;font-size:.72rem}.hp-row .hp-apply{flex:1}.effect-form button{color:#ddd2c2;background:#282520;border:1px solid #4b4640;border-radius:.5rem;padding:.55rem .7rem}.effect-list{flex-wrap:wrap;gap:.35rem;display:flex}.effect-chip{color:#acd0b3;background:#4b82561f;border:1px solid #44604b;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .45rem;font-size:.65rem;display:inline-flex}.effect-chip.is-due{color:#e8a29a;background:#a4483e21;border-color:#874e49}.effect-chip button{color:inherit;background:0 0;border:0;padding:0;line-height:1}.movement-summary{color:#8f877b;margin:.7rem 0;font-size:.7rem}.movement-summary strong{color:#ded5c7}.end-turn-button,.danger-button,.text-button{border-radius:.55rem;width:100%;min-height:2.45rem;margin-top:.55rem;font-weight:720}.end-turn-button{color:#ffe5a8;background:#6e5123;border:1px solid #ffd67b}.danger-button{color:#dda098;background:#8539321f;border:1px solid #70423d}.text-button{color:#998f81;background:0 0;border:0}.inline-action{color:#8f887e;background:0 0;border:0;border-radius:.3rem;width:auto;min-height:1.65rem;padding:.2rem .38rem;font-size:.63rem;font-weight:650}.inline-action:hover{color:#d8cfc1;background:#292722}.inline-action.is-danger:hover{color:#dda098;background:#85393226}.token-actions{border-top:1px solid #302e2a;flex-wrap:wrap;align-items:center;gap:.15rem;margin-top:.35rem;padding-top:.35rem;display:flex}.panel-foot [data-tooltip]{position:relative}.panel-foot [data-tooltip]:after{content:attr(data-tooltip);z-index:18;color:#e2d9ca;opacity:0;pointer-events:none;background:#24211d;border:1px solid #4b463d;border-radius:.4rem;width:15rem;padding:.42rem .52rem;font-size:.64rem;font-weight:600;line-height:1.35;transition:opacity .1s,transform .1s;position:absolute;bottom:calc(100% + .45rem);right:0;transform:translateY(.2rem);box-shadow:0 8px 22px #0000006b}.panel-foot [data-tooltip]:hover:after,.panel-foot [data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.confirm-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080807bd;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{background:linear-gradient(145deg,#25221e,#191816);border:1px solid #4b443a;border-radius:.75rem;width:min(100%,27rem);padding:1.2rem;box-shadow:0 24px 70px #00000094}.confirm-dialog h2{margin:.35rem 0 .55rem;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500}.confirm-dialog p{color:#aaa194;margin:0;font-size:.78rem;line-height:1.55}.confirm-dialog .danger-button{margin-top:0}.scenario-dialog label{margin:.85rem 0 0}.scenario-dialog .button-row{margin-top:1rem}.scenario-mode-help{background:#161513;border:1px solid #39352f;border-radius:.45rem;padding:.65rem .7rem;color:#8f887d!important;margin-top:.65rem!important}.form-grid{grid-template-columns:1.4fr .8fr .8fr;gap:.45rem;display:grid}.form-grid label{min-width:0;margin:0}.token-config{background:#161513;border:1px solid #38352f;border-radius:.4rem;gap:.4rem;margin-top:.45rem;padding:.55rem;display:grid}.token-config-toolbar{justify-content:space-between;align-items:center;min-height:1.75rem;display:flex}.token-config-toolbar small{color:#777066;letter-spacing:.07em;text-transform:uppercase;font-size:.58rem;font-weight:650}.token-config-actions{align-items:center;gap:.32rem;display:flex}.token-config-save,.token-config-cancel{border-radius:.42rem;place-items:center;width:1.75rem;height:1.75rem;padding:0;transition:transform 90ms,border-color .12s,background .12s;display:grid}.token-config-save{color:#8ed19a;background:#47825229;border:1px solid #74be8185}.token-config-save:hover{color:#b4e9bd;background:#47825247;border-color:#8ed19a}.token-config-cancel{color:#d78378;background:#8e3e3524;border:1px solid #cc645880}.token-config-cancel:hover{color:#efada5;background:#8e3e3542;border-color:#d78378}.token-config-save:active,.token-config-cancel:active{transform:translateY(1px)scale(.93)}.token-config-save:focus-visible{outline-offset:2px;outline:2px solid #8ed19a}.token-config-cancel:focus-visible{outline-offset:2px;outline:2px solid #d78378}.token-config-save .ui-icon,.token-config-cancel .ui-icon{stroke-width:2.1px;width:.95rem;height:.95rem}.token-config input,.token-config select{border-radius:.38rem;min-width:0;padding:.48rem .52rem;font-size:.68rem}.token-config label{color:#8d867b;gap:.25rem;font-size:.6rem}.token-config .form-grid{grid-template-columns:1fr 1fr 1fr}.workshop-shell{min-height:100vh;color:var(--ink);background:#0d0e0c}.workshop-header{background:#10110ff5;border-bottom:1px solid #292a25;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.7rem 1rem;display:flex}.workshop-header h1{letter-spacing:-.025em;margin:.08rem 0 0;font-size:1.1rem;font-weight:680}.workshop-header p{color:#777269;margin:.16rem 0 0;font-size:.67rem}.workshop-header-actions{align-items:center;gap:.55rem;display:flex}.workshop-header-actions .secondary-button,.workshop-header-actions .primary-button{width:auto;min-height:2.1rem;padding:.35rem .65rem;font-size:.68rem}.draft-status{color:#7f796f;font-family:var(--font-geist-mono), monospace;font-size:.6rem}.draft-status.is-dirty{color:#d8b86d}.workshop-layout{grid-template-columns:20.5rem minmax(0,1fr);min-height:calc(100vh - 4.5rem);display:grid}.workshop-controls{background:#151613;border-right:1px solid #292a25;max-height:calc(100vh - 4.5rem);padding:.75rem;overflow-y:auto}.workshop-controls section{border-bottom:1px solid #2c2d28;padding:.65rem}.workshop-controls section:last-child{border-bottom:0}.workshop-controls label{color:#9b9489;gap:.28rem;margin:.55rem 0;font-size:.62rem}.workshop-controls input,.workshop-controls select{border-radius:.38rem;padding:.48rem .52rem;font-size:.68rem}.workshop-controls .button-row{margin-top:.55rem}.workshop-controls .primary-button,.workshop-controls .secondary-button,.workshop-controls .danger-button{min-height:2.1rem;font-size:.67rem}.workshop-control-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.workshop-control-grid label{min-width:0}.workshop-section-heading{gap:.12rem;margin-bottom:.45rem;display:grid}.workshop-section-heading small{color:#666159;letter-spacing:.1em;text-transform:uppercase;font-size:.54rem;font-weight:750}.workshop-section-heading strong{color:#d8d0c3;font-size:.76rem}.workshop-help{color:#716c63;margin:.45rem 0 0;font-size:.61rem;line-height:1.45}.full-scene-list{gap:.35rem;margin-top:.55rem;display:grid}.full-scene-list button{color:#c9c1b5;text-align:left;background:#191a17;border:1px solid #363832;border-radius:.42rem;grid-template-columns:4.8rem minmax(0,1fr);align-items:center;gap:.48rem;min-width:0;padding:.32rem;display:grid}.full-scene-list button:hover,.full-scene-list button.is-active{background:#211f18;border-color:#76623a}.full-scene-list img{object-fit:cover;border-radius:.28rem;width:4.8rem;height:3.2rem}.full-scene-list span{gap:.15rem;min-width:0;display:grid}.full-scene-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.full-scene-list small{color:#746e64;text-transform:capitalize;font-size:.54rem}.terrain-edge-toggle,.workshop-tool-row{grid-template-columns:1fr 1fr;gap:.3rem;display:grid}.workshop-tool-row{margin-top:.5rem}.workshop-tool-row.is-expanded{grid-template-columns:repeat(3,1fr)}.workshop-tool-row.is-expanded button:last-child{grid-column:span 2}.terrain-edge-toggle button,.workshop-tool-row button{color:#8d877d;background:#191a17;border:1px solid #373932;border-radius:.36rem;min-height:1.9rem;padding:.35rem .45rem;font-size:.62rem;font-weight:650}.terrain-edge-toggle button.is-active,.workshop-tool-row button.is-active{color:#e5ca88;background:#f5c65c14;border-color:#776437}.draft-history-row{grid-template-columns:1fr 1fr;gap:.3rem;margin-top:.45rem;display:grid}.draft-history-row button{color:#888178;background:#171815;border:1px solid #34362f;border-radius:.34rem;min-height:1.7rem;font-size:.58rem}.draft-history-row button:disabled{opacity:.35}.structure-options{background:#171815;border:1px solid #33342f;border-radius:.38rem;margin-top:.45rem;padding:.45rem}.structure-options>span{color:#8f887d;margin-bottom:.35rem;font-size:.58rem;display:block}.structure-options label{margin:.35rem 0}.structure-options textarea{resize:vertical;color:#d0c8bb;width:100%;min-height:3.6rem;font:.62rem/1.4 var(--font-geist-sans), sans-serif;background:#11120f;border:1px solid #393a34;border-radius:.35rem;padding:.45rem}.scene-kit-list{gap:.3rem;display:grid}.scene-kit-list button{color:#c9c1b5;text-align:left;cursor:grab;background:#191a17;border:1px solid #34362f;border-radius:.4rem;grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:.45rem;min-width:0;min-height:3.3rem;padding:.3rem;display:grid}.scene-kit-list button:hover{background:#202019;border-color:#615338}.scene-kit-list button:active{cursor:grabbing}.scene-kit-list img{object-fit:contain;background:#23241f;border-radius:.3rem;width:2.8rem;height:2.8rem}.scene-kit-list span{gap:.16rem;min-width:0;display:grid}.scene-kit-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.scene-kit-list small{color:#706a61;font-size:.56rem}.map-object-list{background:#151613;border:1px solid #30322c;border-radius:.42rem}.map-object-list summary{color:#a59e93;cursor:pointer;justify-content:space-between;padding:.55rem .65rem;font-size:.64rem;font-weight:720;display:flex}.map-object-list summary span{color:#7d776d;background:#292a25;border-radius:999px;padding:.05rem .34rem;font-size:.55rem}.map-object-list>p{padding:0 .65rem}.map-object-list>div{border-top:1px solid #2b2d27;grid-template-columns:minmax(0,1fr) 1.7rem;align-items:stretch;min-width:0;margin:0 .45rem;display:grid}.map-object-list>div>span{color:#aaa398;text-overflow:ellipsis;white-space:nowrap;gap:.08rem;min-width:0;padding:.38rem .2rem;font-size:.59rem;display:grid;overflow:hidden}.map-object-list>div small{color:#656057;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;overflow:hidden}.map-object-list>div button{color:#74685f;background:0 0;border:0;font-size:.9rem}.map-object-list>div button:hover{color:#d7857a}.selected-scene-panel{background:#171712}.selected-scene-panel .danger-button{width:100%;margin-top:.35rem}.selected-note-copy{white-space:pre-wrap}.map-note-detail{background:linear-gradient(145deg,#201923,#181619);border:1px solid #51415e;border-radius:.5rem;padding:.75rem}.map-note-heading{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.map-note-heading small{color:#a98dc0;letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.map-note-heading h2{margin:.16rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:500}.map-note-heading button{color:#9b8fa1;background:0 0;border:1px solid #4a3e50;border-radius:.35rem;place-items:center;width:1.8rem;height:1.8rem;display:grid}.map-note-heading button svg{width:.8rem;height:.8rem}.map-note-detail>p{color:#c0b5c7;white-space:pre-wrap;margin:.7rem 0 0;font-size:.7rem;line-height:1.55}.map-library-panel .button-row{grid-template-columns:1.25fr .85fr .85fr}.map-library-panel textarea{resize:vertical;color:#aaa398;width:100%;min-height:2.8rem;font:.58rem/1.4 var(--font-geist-sans), sans-serif;background:#141512;border:1px solid #373932;border-radius:.35rem;padding:.38rem .45rem}.saved-map-list{gap:.25rem;margin-top:.55rem;display:grid}.saved-map-list article{background:#181915;border:1px solid #34362f;border-radius:.38rem;grid-template-columns:minmax(0,1fr) 1.8rem;align-items:stretch;display:grid;overflow:hidden}.saved-map-list article.is-selected{background:#1e1c16;border-color:#75623a}.saved-map-load{color:#c9c1b5;text-align:left;background:0 0;border:0;gap:.15rem;min-width:0;padding:.4rem .5rem;display:grid}.saved-map-load strong{text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.saved-map-load small{color:#716b62;text-transform:capitalize;font-size:.54rem}.saved-map-delete{color:#786b60;background:0 0;border:0;border-left:1px solid #34362f;font-size:1rem}.saved-map-delete:hover{color:#d7857a;background:#bc4c401a}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.workshop-canvas-panel{background:#0d0e0c;flex-direction:column;justify-content:center;min-width:0;padding:clamp(.65rem,1.6vw,1.2rem);display:flex}.workshop-canvas-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.5rem;display:flex}.workshop-canvas-heading div{gap:.12rem;display:grid}.workshop-canvas-heading small{color:#69645b;letter-spacing:.09em;text-transform:uppercase;font-size:.56rem;font-weight:750}.workshop-canvas-heading strong{color:#bcb4a7;font-family:var(--font-geist-mono), monospace;font-size:.66rem}.workshop-canvas-heading>span{color:#665f56;font-size:.58rem}.workshop-canvas-frame{background:#344128;border:1px solid #3b3b34;border-radius:.42rem;width:100%;overflow:hidden;box-shadow:0 22px 48px #00000052}.workshop-canvas-frame canvas{touch-action:none;cursor:crosshair;width:100%;max-height:calc(100vh - 9rem);display:block}.workshop-legend{color:#625d55;flex-wrap:wrap;gap:.5rem 1.2rem;padding:.55rem .1rem 0;font-size:.56rem;display:flex}.workshop-legend span{align-items:center;gap:.32rem;display:inline-flex}.workshop-legend i{width:.75rem;height:.75rem;display:inline-block}.workshop-message{color:#a9bd9e;background:#5b815414;border:1px solid #3d4939;border-radius:.38rem;margin-top:.55rem;padding:.5rem .65rem;font-size:.62rem}.legend-cell{background:#f5c65c2e;border:1px solid #d3ad55}.legend-grid{border:1px solid #f4eacd4d}.workshop-launch{margin-top:.45rem}@media (width<=850px){.workspace{grid-template-columns:1fr}.control-panel{border-top:1px solid #2f2d29;border-left:0;max-height:none;display:block;overflow-y:visible}.token-roster{overflow-y:visible}.token-detail{max-height:none}.workshop-layout{grid-template-columns:1fr}.workshop-controls{border-bottom:1px solid #292a25;border-right:0;max-height:none}.workshop-canvas-frame canvas{max-height:none}}@media (width>=851px){html,body{height:100%;overflow:hidden}.app-shell{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.command-bar{flex:none}.workspace{flex:auto;min-height:0}.map-panel{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;min-height:0;display:grid}.map-stage{place-items:stretch stretch;min-height:0;display:grid;overflow:hidden}.map-frame{width:100%;max-width:none;height:100%}.control-panel{max-height:100%}}@media (width<=1180px){.encounter-identity{display:none}}@media (width<=560px){.connection-pill{flex:none}.join-shell{padding:1rem}.join-card{padding:1.4rem}.creature-grid{grid-template-columns:1fr}.creature-palette,.spell-palette{width:calc(100% - 1rem);max-height:calc(100% - 1rem);top:.5rem;left:.5rem}.spell-grid{grid-template-columns:1fr}.workshop-header{align-items:flex-start}.workshop-header p,.draft-status{display:none}.workshop-header-actions{flex:none}.workshop-controls section{padding-inline:.2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
