.scrub-input{display:flex;align-items:center;--scrub-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='18' viewBox='0 0 28 18'%3E%3Cpath d='M2 9h24M6 5L2 9l4 4M22 5l4 4-4 4' fill='none' stroke='%23cbd5e1' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 14 9, ew-resize;background:var(--panel-input);border:1px solid transparent;border-radius:4px;height:22px;padding:0 22px 0 18px;position:relative;cursor:var(--scrub-cursor);width:90%}.scrub-input--content{width:auto;min-width:calc(40px + (var(--scrub-visible-chars, 2) * 1ch));flex:0 0 auto}.scrub-input:after{content:"<-->";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:8px;color:var(--text-tertiary);opacity:0;transition:opacity .15s ease;pointer-events:none;white-space:nowrap}.scrub-input:hover{background:var(--panel-input-hover)}.scrub-input:hover:after{opacity:.8}.scrub-input.is-disabled{opacity:.5;cursor:not-allowed;background:var(--bg-panel);border-color:transparent}.scrub-input.is-disabled:hover{background:var(--bg-panel)}.scrub-input.is-disabled:after{display:none}.scrub-input.is-active{background:var(--bg-darkest);box-shadow:inset 0 2px 4px #00000080;border-color:#00000080}.scrub-input input{background:transparent;border:none;color:var(--panel-value);font-family:var(--font-mono);font-size:var(--text-sm);width:100%;cursor:var(--scrub-cursor);padding:0;margin:0}.scrub-input--content input{width:calc(var(--scrub-visible-chars, 2) * 1ch);min-width:calc(var(--scrub-visible-chars, 2) * 1ch)}.scrub-input input:focus{outline:none;cursor:var(--scrub-cursor)}.scrub-input input:disabled{color:var(--text-disabled);cursor:not-allowed}.scrub-dot{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%}.scrub-dot--numeric{background:#666}.scrub-dot--color{background:#facc15}.scrub-dot--axis-x{background:var(--axis-x)}.scrub-dot--axis-y{background:var(--axis-y)}.scrub-dot--axis-z{background:var(--axis-z)}.scrub-input--no-scrub{cursor:text}.scrub-input--no-scrub input:focus{cursor:text}.scrub-input--no-scrub:after{content:none}.panel-text-input{background:var(--panel-input);border:1px solid transparent;color:var(--panel-value);border-radius:4px;height:22px;padding:0 6px;font-size:var(--text-sm);font-family:var(--font-mono);width:100%;box-sizing:border-box}.panel-text-input:hover{background:var(--panel-input-hover)}.panel-text-input:focus{border-color:var(--primary);outline:none}.ui-text-input-shell{position:relative;display:flex;align-items:center;width:100%;min-width:0}.ui-text-input-shell.is-disabled{opacity:.5}.ui-text-input-shell .scrub-dot{pointer-events:none;z-index:1}.ui-text-input-shell>.panel-text-input{padding:0 6px 0 18px}.ui-text-input-shell.ui-search-input>.panel-text-input{padding-right:26px}.ui-text-input-shell>.button-input{background-image:none;padding-left:18px}.ui-text-input-shell:hover>.button-input:not(:disabled){background:var(--panel-input-hover)}.ui-text-input-shell>.button-input.is-editing{padding-left:18px}.ui-text-input--compact{height:22px}.ui-text-input--asset{height:22px;font-family:inherit}.ui-text-input--large{height:28px;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:600}.ui-text-input--search::-webkit-search-cancel-button{-webkit-appearance:none}.command-palette{position:fixed;min-width:300px;max-width:min(480px,calc(100vw - 16px));max-height:min(500px,calc(100vh - 32px));z-index:150;background:#1e1e1ee6;border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 4px 30px #00000080;display:flex;flex-direction:column;overflow:hidden}.command-palette__header{display:flex;align-items:center;gap:6px;padding:10px 12px;flex-shrink:0}.command-palette__search-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted, #888);opacity:.85}.command-palette__mode-select{position:relative;flex:0 1 78px;width:78px;min-width:78px;max-width:78px}.command-palette__mode-select:after{content:"▼";position:absolute;top:50%;right:10px;color:inherit;font-size:9px;transform:translateY(-45%);pointer-events:none}.command-palette__mode-select .inspector-dropdown.command-palette__mode-select-field{width:100%;height:30px;padding:0 20px 0 8px;border-radius:8px;font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.01em}.command-palette__mode-select[data-tone=all] .inspector-dropdown.command-palette__mode-select-field{background:#ffffff14;border-color:#ffffff24;color:var(--text-primary, #eee)}.command-palette__mode-select[data-tone=check] .inspector-dropdown.command-palette__mode-select-field{background:#3b82f62e;border-color:#3b82f66b;color:var(--text-primary, #eee)}.command-palette__mode-select[data-tone=effect] .inspector-dropdown.command-palette__mode-select-field{background:#a855f72e;border-color:#a855f76b;color:var(--text-primary, #eee)}.command-palette__search-field{flex:1;min-width:0}.command-palette__search-field.ui-text-input-shell>.panel-text-input.command-palette__input{height:30px;border-radius:8px;font-family:var(--font-sans);font-size:13px}.command-palette__input::-moz-placeholder{color:var(--text-muted, #888)}.command-palette__input::placeholder{color:var(--text-muted, #888)}.command-palette__close-btn{flex-shrink:0;background:transparent;border:1px solid var(--border-strong);border-radius:3px;padding:1px 5px;font-size:11px;color:var(--text-muted, #888);cursor:pointer;line-height:1.4}.command-palette__close-btn:hover{background:var(--bg-hover, rgba(255, 255, 255, .06))}.command-palette__divider{height:1px;background:var(--border-strong);flex-shrink:0}.command-palette__results{overflow-y:auto;flex:1;min-height:0}.command-palette__category{padding:4px 10px 2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #888)}.command-palette__item{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.command-palette__item:hover,.command-palette__item.is-selected{background:var(--bg-hover, rgba(255, 255, 255, .07))}.command-palette__item-arrow{flex-shrink:0;font-size:10px;width:12px;text-align:center;color:var(--text-muted, #888)}.command-palette__item.is-selected .command-palette__item-arrow{color:var(--text-primary, #eee)}.command-palette__item-label{font-size:13px;color:var(--text-primary, #eee);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette__item-main{display:flex;align-items:baseline;gap:8px;min-width:0;flex:1}.command-palette__item-desc{font-size:12px;color:var(--text-muted, #888);font-variant-numeric:tabular-nums;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette__item-chip{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.01em;font-variant-numeric:tabular-nums;border:1px solid transparent}.command-palette__item-chip[data-tone=ability],.command-palette__item-chip[data-tone=advantage],.command-palette__item-chip[data-tone=disadvantage]{background:var(--primary-subtle-bg);border-color:var(--primary-border);color:var(--text-primary, #eee)}.command-palette__item-chip[data-tone=effect]{background:#a855f724;border-color:#a855f76b;color:var(--text-primary, #eee)}.command-palette__item-chip[data-tone=bonus]{background:#22c55e24;border-color:#22c55e6b;color:var(--text-primary, #eee)}.command-palette__item-chip[data-tone=penalty]{background:#ef444424;border-color:#ef44446b;color:var(--text-primary, #eee)}.command-palette__item-chip[data-tone=custom],.command-palette__item-chip[data-tone=neutral]{background:#ffffff0a;border-color:#ffffff1f;color:var(--text-primary, #eee)}.command-palette__empty{padding:12px 10px;font-size:13px;color:var(--text-muted, #888);text-align:center}.roll-note-preview-panel{position:fixed;width:600px;min-width:600px;max-width:600px;z-index:149;background:#1e1e1ee6;border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 4px 30px #00000080;overflow:hidden auto;overscroll-behavior:contain;padding:16px 18px}.roll-note-preview-panel .notebook-preview{min-height:100%}.roll-note-preview-panel .notebook-preview>:first-child{margin-top:0}.palette-popover{margin-top:6px;padding:8px;border-radius:4px;background:var(--bg-elevated);border:1px solid var(--border-strong);display:flex;flex-direction:column;gap:8px}.palette-popover--overlay{margin-top:0;min-width:180px;max-width:min(320px,calc(100vw - 16px));z-index:130;box-shadow:var(--shadow-lg)}.palette-popover-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.panel-textarea{width:100%;min-height:88px;resize:vertical;padding:8px 10px;border:1px solid var(--border-default);border-radius:8px;background:var(--panel-input);color:var(--text-primary);font-size:var(--text-sm)}.panel-textarea:focus{border-color:var(--primary);outline:none}.ui-search-input__clear{position:absolute;top:50%;right:4px;transform:translateY(-50%);z-index:2;width:18px;height:18px;border-radius:4px}.ui-search-input.is-empty .ui-search-input__clear{opacity:.35}.ui-search-input.is-empty .ui-search-input__clear:not(:focus-visible){visibility:hidden;pointer-events:none}.ui-input-search-upload{position:relative;display:flex;align-items:center;width:100%;min-width:0;overflow:visible;--ui-input-search-upload-button-width: 34px;--ui-input-search-upload-clear-width: 18px;--ui-input-search-upload-button-gap: 4px}.ui-input-search-upload.is-disabled{opacity:.5}.ui-input-search-upload .scrub-dot{pointer-events:none;z-index:1}.ui-input-search-upload>.panel-text-input{padding:0 calc(var(--ui-input-search-upload-button-width) + var(--ui-input-search-upload-clear-width) + var(--ui-input-search-upload-button-gap) + 12px) 0 18px}.ui-input-search-upload__clear{position:absolute;top:50%;right:calc(var(--ui-input-search-upload-button-width) + var(--ui-input-search-upload-button-gap));transform:translateY(-50%);z-index:2;width:var(--ui-input-search-upload-clear-width);height:var(--ui-input-search-upload-clear-width);border-radius:4px}.ui-input-search-upload.is-empty .ui-input-search-upload__clear{opacity:.35}.ui-input-search-upload.is-empty .ui-input-search-upload__clear:not(:focus-visible){visibility:hidden;pointer-events:none}.ui-input-search-upload__upload{position:absolute;top:1px;right:1px;bottom:1px;width:var(--ui-input-search-upload-button-width);min-width:var(--ui-input-search-upload-button-width);display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-left:1px solid rgb(255 255 255 / 10%);border-radius:0 3px 3px 0;background:linear-gradient(180deg,#ffffff12,#ffffff05);color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:0 10px;cursor:pointer}.ui-input-search-upload__upload-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.ui-input-search-upload__upload-icon>svg{width:14px;height:14px;stroke:currentcolor;stroke-width:2;fill:none}.ui-input-search-upload__upload:hover,.ui-input-search-upload__upload:focus-visible{color:var(--text-primary);background:linear-gradient(180deg,#ffffff1f,#ffffff0d);outline:none}.ui-input-search-upload__upload:disabled{cursor:default}.ui-input-search-upload__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;display:flex;flex-direction:column;gap:0;background:#0c0f14fa;border:1px solid rgb(255 255 255 / 10%);border-radius:6px;box-shadow:0 10px 24px #00000059;overflow:hidden;z-index:12}.ui-input-search-upload__dropdown-header{padding:8px 10px 6px;color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#ffffff08;border-bottom:1px solid rgb(255 255 255 / 8%)}.ui-input-search-upload__status{padding:10px;color:var(--text-secondary);font-size:var(--text-sm)}.ui-input-search-upload__result{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-top:1px solid rgb(255 255 255 / 6%);background:transparent;color:var(--text-primary);text-align:left;padding:10px;cursor:pointer}.ui-input-search-upload__result:hover,.ui-input-search-upload__result:focus-visible,.ui-input-search-upload__result.is-active{background:#6366f124;outline:none}.ui-input-search-upload__result.is-disabled{opacity:.45;cursor:default}.ui-input-search-upload__result-main{display:flex;flex-direction:column;min-width:0;gap:2px}.ui-input-search-upload__result-label{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-input-search-upload__result-meta{color:var(--text-secondary);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-input-search-upload__badge{flex:0 0 auto;border:1px solid rgb(255 255 255 / 12%);border-radius:999px;color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px}.ui-segmented-control{display:flex;gap:0;background:#0f0f0f99;border-radius:4px;border:1px solid rgba(255,255,255,.08);overflow:hidden;width:100%;min-width:0}.ui-segmented-control__button{flex:1;min-width:64px;height:22px;border:0;background:transparent;color:var(--text-tertiary);font-size:10px;font-weight:600;padding:0 8px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.ui-segmented-control__button+.ui-segmented-control__button{border-left:1px solid rgba(255,255,255,.08)}.ui-segmented-control__button:hover:not(:disabled){background:#ffffff14;color:var(--text-primary)}.ui-segmented-control__button.is-active{background:var(--primary);color:#fff}.ui-segmented-control__button:disabled{opacity:.45;cursor:not-allowed}.url-input{display:grid;gap:6px;min-width:0}.url-input-row{display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px;align-items:center;min-width:0}.url-input-status{width:8px;height:8px;border-radius:999px;background:var(--text-tertiary)}.url-input-status.is-valid{background:#34d399}.url-input-status.is-empty{background:var(--text-tertiary)}.url-input-status.is-invalid{background:#f87171}.url-input-message{font-size:10px;color:var(--text-tertiary);min-height:14px}.url-input.is-invalid .asset-inspector-input{border-color:#f87171f2}.url-input.is-invalid .url-input-message{color:#fda4af}.panel-checkbox{display:inline-flex;align-items:center;gap:8px;width:100%;min-width:0;color:var(--panel-value);font-size:var(--text-sm);cursor:pointer}.panel-checkbox span{flex:1;min-width:0}.panel-checkbox input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:12px;height:12px;border:1px solid var(--border-strong);border-radius:2px;background:#2a2a2a;cursor:pointer}.panel-checkbox input:checked{background:var(--panel-input);border-color:var(--text-secondary)}.panel-checkbox input:indeterminate{background:var(--panel-input);border-color:var(--text-secondary)}.panel-checkbox input:indeterminate:after{content:"";position:absolute;left:2px;top:2px;width:6px;height:6px;border-radius:1px;background:var(--text-secondary)}.panel-checkbox input:disabled{opacity:.4;cursor:not-allowed}.inspector-color-input{display:flex;align-items:center;flex:1;width:100%;height:22px;overflow:hidden;border:1px solid transparent;border-radius:4px;background:var(--panel-input);cursor:pointer}.inspector-color-input:hover{border-color:var(--border-strong)}.inspector-color-input-label{display:flex;align-items:center;gap:6px;flex:1;padding:0 8px;background:#3a3a3a}.inspector-color-input-dot{width:6px;height:6px;border-radius:50%;background:#facc15}.inspector-color-input-text{color:var(--panel-value);font-family:var(--font-mono);font-size:var(--text-sm)}.inspector-color-input-preview{flex:0 0 auto;width:10px;height:10px;border:1px solid var(--border-strong);border-radius:2px;background:#111}.icon-button{width:22px;height:22px;padding:0;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.icon-button--with-label{width:auto;min-width:22px;gap:6px;padding:0 8px}.icon-button:hover{background:#ffffff14;border-color:#ffffff14;color:var(--text-primary)}.icon-button__svg{width:14px;height:14px;display:block;flex:0 0 auto}.icon-button__glyph{font-size:16px;line-height:1}.icon-button__image{width:14px;height:14px;display:block}.icon-button__label{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:600;line-height:1;white-space:nowrap}.color-swatch-mini{border-radius:4px;border:1px solid var(--border-strong);padding:0;cursor:pointer}.color-swatch-mini.is-selected{outline:2px solid var(--primary);box-shadow:0 0 0 2px #3b82f640}.color-swatch{width:100%;aspect-ratio:1;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:all .2s;position:relative}.color-swatch:hover{transform:scale(1.05)}.color-swatch.active{border-color:#fff;box-shadow:0 0 0 1px #3b82f6;z-index:10}.edit-indicator{position:absolute;bottom:2px;right:2px;font-size:10px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);opacity:0;transition:opacity .2s;pointer-events:none}.alpha-badge{position:absolute;top:1px;left:1px;font-size:7px;color:#fff;background:#0009;padding:1px 2px;border-radius:2px;pointer-events:none;text-shadow:0 1px 1px rgba(0,0,0,.8)}.color-swatch.has-alpha{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;background-color:#404040}.ui-lockable-button{display:inline-flex;align-items:center;gap:0;border-radius:8px;overflow:hidden}.ui-lockable-button__action{flex:1 1 auto;border-top-right-radius:0;border-bottom-right-radius:0}.ui-lockable-button__lock{width:28px;min-width:28px;height:24px;border:1px solid rgba(255,255,255,.12);border-left:0;border-radius:0 4px 4px 0;background:#ffffff14;color:var(--text-primary)}.ui-lockable-button__lock:hover:not(:disabled){background:#ffffff1f}.ui-lockable-button--locked .ui-lockable-button__lock{background:#ef444424}.ui-lockable-button:not(.ui-lockable-button--locked) .ui-lockable-button__lock{background:#3b82f629}.ui-lockable-input{display:inline-flex;align-items:center;gap:0;min-width:0;border-radius:8px;overflow:hidden}.ui-lockable-input--locked .scrub-input{opacity:.72}.ui-lockable-input .scrub-input{border-top-right-radius:0;border-bottom-right-radius:0}.ui-lockable-input__lock{width:28px;min-width:28px;height:24px;border:1px solid rgba(255,255,255,.12);border-left:0;border-radius:0 4px 4px 0;background:#ffffff14;color:var(--text-primary)}.ui-lockable-input__lock:hover:not(:disabled){background:#ffffff1f}.ui-lockable-input--locked .ui-lockable-input__lock{background:#ef444424}.ui-lockable-input:not(.ui-lockable-input--locked) .ui-lockable-input__lock{background:#3b82f629}.property-row{display:grid;grid-template-columns:35% 65%;align-items:flex-start;gap:8px;min-height:24px}.property-row--checkbox{grid-template-columns:1fr}.property-row--fullwidth{grid-template-columns:1fr;gap:4px}.property-row--checkbox .panel-checkbox{justify-content:flex-start}.property-row-label{display:block;min-width:0;overflow:hidden;color:var(--panel-label);font-size:var(--text-sm);text-align:right;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.property-row--fullwidth .property-row-label{text-align:left;padding-right:0}.property-row-value{display:flex;align-items:flex-start;gap:6px;min-height:22px}.property-row--fullwidth .property-row-value{width:100%}.property-row-value--triplet{display:flex;gap:4px}.inspector-dropdown{position:relative;width:100%;height:22px;padding:0 22px 0 8px;border:1px solid transparent;border-radius:4px;background:var(--panel-input);color:var(--panel-value);font-size:var(--text-sm);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.inspector-dropdown:focus{border-color:var(--primary);outline:none}.inspector-dropdown-wrapper{position:relative;width:100%}.inspector-dropdown-wrapper:after{content:"▼";position:absolute;top:50%;right:8px;transform:translateY(-40%);color:var(--text-tertiary);font-size:8px;pointer-events:none}.ui-trailing-input-shell{position:relative;display:flex;align-items:center;width:100%;min-width:0}.ui-trailing-input-shell.is-disabled{opacity:.5}.ui-trailing-input-shell .scrub-dot{pointer-events:none;z-index:1}.ui-trailing-input{padding-left:18px}.ui-trailing-input--action{padding-right:50px}.ui-trailing-input__action{position:absolute;top:50%;right:6px;transform:translateY(-50%);border:0;background:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;padding:0 4px;cursor:pointer}.ui-trailing-input__action:hover,.ui-trailing-input__action:focus-visible{color:var(--text-primary)}.ui-trailing-input__action:disabled{cursor:default}.ui-trailing-input--select{padding-right:64px}.ui-trailing-input__select-trigger{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--text-secondary);font-size:var(--text-sm);padding:0 2px;cursor:pointer}.ui-trailing-input__select-trigger:hover,.ui-trailing-input__select-trigger:focus-visible{color:var(--text-primary)}.ui-trailing-input__select-trigger:disabled{cursor:default}.ui-trailing-select-popover{position:fixed;z-index:1200;max-height:min(360px,calc(100vh - 32px));overflow:hidden auto;padding:8px;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:linear-gradient(180deg,#0f172afb,#020617fb);box-shadow:0 18px 36px #02061773,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.45) transparent}.ui-trailing-select-popover__category{position:sticky;top:-8px;z-index:1;margin:0 -8px 4px;padding:7px 10px 5px;color:#94a3b8e6;font-size:10px;font-weight:700;letter-spacing:.55px;text-transform:uppercase;background:linear-gradient(180deg,#0f172afa,#0f172adb);border-bottom:1px solid rgba(255,255,255,.06)}.ui-trailing-select-popover__item{width:100%;border:0;border-radius:8px;background:transparent;color:var(--text-primary);text-align:left;padding:8px 10px;font-size:12px;line-height:1.25;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.ui-trailing-select-popover__item:hover,.ui-trailing-select-popover__item:focus-visible{background:#3b82f629;color:#fffffffa;transform:translate(1px)}.panel-section{background:transparent;border:none;margin-bottom:4px}.panel-section-header{display:flex;align-items:center;gap:6px;padding:6px 0;cursor:pointer;color:var(--panel-label);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;background:transparent;border:none;font-weight:500}.panel-section-header:before{content:"▼";font-size:8px;transition:transform .15s;color:var(--text-tertiary);margin-top:2px}.panel-section--collapsed .panel-section-header:before{transform:rotate(-90deg)}.panel-section-content{padding:4px 0 8px;display:flex;flex-direction:column;gap:4px}.panel-section--collapsed .panel-section-content{display:none}.banner-section.panel-section--collapsed .panel-section-content{display:flex}.banner-section.panel-section--collapsed .panel-section-content>*:not(.banner-meta){display:none}.banner-meta{font-size:var(--text-sm);color:var(--text-secondary);padding:2px 0}.collapsible-group{background:#2828284d;border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:all .2s ease}.collapsible-group:hover{border-color:#ffffff1a}.collapsible-group-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:8px;transition:background-color .2s}.selection-count-badge{margin-left:auto;padding:2px 6px;border-radius:999px;font-size:10px;background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.4)}.collapsible-group-header:hover{background-color:#ffffff0d}.collapsible-group-header .drag-handle{color:#666;font-size:12px;cursor:grab;padding:2px 4px;border-radius:3px;transition:all .2s}.collapsible-group-header .drag-handle:hover{color:#999;background-color:#ffffff1a}.collapsible-group-header .drag-handle:active{cursor:grabbing}.collapsible-group.dragging{opacity:.5;transform:scale(.98)}.collapsible-group-header .group-icon{font-size:14px}.collapsible-group-header .group-label{flex:1;font-size:12px;font-weight:600;text-transform:uppercase;color:#9ca3af;letter-spacing:.025em}.collapsible-group-header .expand-toggle{font-size:10px;color:#666;transition:transform .2s ease;width:16px;text-align:center}.collapsible-group.collapsed .expand-toggle{transform:rotate(-90deg)}.collapsible-group-content{padding:0 12px 12px;animation:fadeIn .2s ease}.collapsible-group.collapsed .collapsible-group-content{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.modal-shell-overlay{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009}.modal-shell{width:min(100%,560px);border-radius:12px;border:1px solid rgba(255,255,255,.12);overflow:hidden}.modal-shell--small{max-width:420px}.modal-shell--medium{max-width:560px}.modal-shell--large{max-width:960px}.modal-shell__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}.modal-shell__heading{min-width:0}.modal-shell__title{color:var(--text-primary);font-size:var(--text-lg);font-weight:700}.modal-shell__subtitle{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:4px}.modal-shell__body{padding:16px}.tile-top-selector{display:inline-flex;gap:6px}.tile-top-selector__button{width:28px;height:28px;border-radius:4px;border:1px solid var(--border-strong);background:var(--bg-elevated);display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease,border-color .15s ease}.tile-top-selector__button.is-active{background:var(--primary);border-color:var(--primary-dark)}.tile-top-selector__icon{display:inline-flex;width:20px;height:20px}.tile-top-selector__svg{width:20px;height:20px}.tool-window-toggle{position:fixed;top:100px;left:12px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#111827b3;color:var(--text-secondary);cursor:pointer;z-index:50;box-shadow:0 10px 24px #00000047;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease,color .15s ease}.tool-window-toggle svg,.tool-window-toggle hex-svg-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tool-window-toggle:hover{border-color:#fff3;color:var(--text-primary)}.tool-window-toggle.is-active{border-color:var(--primary);color:var(--text-primary);box-shadow:0 0 0 2px #3b82f64d,0 12px 28px #00000052}.asset-resource-cache-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.asset-resource-cache-table th,.asset-resource-cache-table td{border-bottom:1px solid var(--border-subtle);padding:8px 6px;text-align:left;vertical-align:middle}.asset-resource-cache-table th{color:var(--text-secondary);font-weight:600;position:sticky;top:0;background:#000000bf}.asset-resource-sort-btn{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.asset-resource-sort-btn.is-active{color:var(--text-primary)}.asset-resource-cell-id{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-resource-name-btn,.asset-resource-used-btn,.asset-resource-delete-btn{border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-input);color:var(--panel-value);cursor:pointer;font-size:var(--text-xs);padding:4px 8px}.asset-resource-name-btn{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.asset-resource-name-input{width:100%;border:1px solid var(--primary);border-radius:8px;background:var(--panel-input);color:var(--panel-value);font-size:var(--text-xs);padding:4px 8px;outline:none}.asset-resource-used-btn:disabled{opacity:.55;cursor:default}.asset-resource-delete-btn{color:#fca5a5}.asset-resource-empty{color:var(--text-tertiary);padding:12px 6px}.asset-resource-usage-modal{width:min(460px,calc(100vw - 24px))}.asset-resource-usage-body{display:flex;flex-direction:column;gap:6px;padding:12px}.asset-resource-usage-row{border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-input);color:var(--panel-value);cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:8px 10px;text-align:left}.asset-resource-rename-modal{width:min(560px,calc(100vw - 24px))}.asset-resource-rename-body{display:grid;gap:10px;padding:12px}.asset-resource-rename-message{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.asset-resource-rename-list{margin:0;padding:0;list-style:none;display:grid;gap:6px;max-height:260px;overflow:auto}.asset-resource-rename-list li{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;border:1px solid var(--border-subtle);border-radius:8px;padding:6px 8px;font-size:var(--text-xs)}.asset-resource-rename-checkbox{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--text-xs)}.asset-resource-rename-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 12px 12px}.tool-window{position:fixed;width:240px;min-width:160px;max-width:480px;z-index:40}.tool-window-resize-handle{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:ew-resize;z-index:10;border-radius:0 4px 4px 0;transition:background .15s ease}.tool-window-resize-handle:hover,.tool-window.is-resizing .tool-window-resize-handle{background:#3b82f659}.tool-window.is-resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none}.tool-window--draggable{padding-top:22px}.tool-window--draggable:before{content:"";position:absolute;top:8px;left:50%;width:46px;height:4px;border-radius:999px;background:#ffffff24;transform:translate(-50%);transition:background .15s ease,height .15s ease,top .15s ease;pointer-events:none}.tool-window--draggable:hover:before{top:6px;height:6px;background:#fff3}.tool-window.is-hidden{display:none}.tool-window-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08);cursor:grab}.tool-window.is-dragging .tool-window-header,.tool-window.is-dragging .tool-window-controls{cursor:grabbing}.tool-window-title{font-size:12px;font-weight:600;color:var(--text-primary)}.tool-window-close{background:transparent;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer}.tool-window-content{max-height:calc(100vh - 140px);overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:12px}.tool-window-controls{display:flex;justify-content:flex-end;align-items:center;gap:6px;cursor:grab}.tool-window-placement{display:flex;gap:0;background:#0f0f0f99;border-radius:4px;border:1px solid rgba(255,255,255,.08);overflow:hidden;width:auto;min-width:116px}.tool-window-placement .ui-segmented-control__button{min-width:58px;padding:0 10px}.tool-window-section-actions{display:flex;justify-content:flex-end}#heightScrubInput,#baseHeightScrubInput,#heightScrubInput .scrub-input,#baseHeightScrubInput .scrub-input{width:100%}.tool-window-base-height{margin-top:8px}.tool-window-section{display:grid;gap:8px}.tool-window-section-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.tool-window-action{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-secondary);font-size:10px;padding:2px 6px;border-radius:4px;cursor:pointer}.tool-window-context-menu{position:fixed;min-width:170px;display:grid;gap:4px;padding:6px;z-index:60}.tool-window-context-menu__item{border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary);text-align:left;padding:8px 10px;font-size:var(--text-sm);cursor:pointer}.tool-window-context-menu__item:hover{background:var(--bg-hover);border-color:var(--border-strong)}.tool-window-card{background:#141414cc;border:1px solid var(--border-subtle);border-radius:4px;padding:10px;display:grid;gap:10px}.asset-manager-inspector{padding:14px;display:grid;align-content:start;gap:10px;background:#0f0f0fcc;min-height:0;overflow-y:auto}.asset-manager-inspector.asset-manager-inspector--multi{background:#1e40af38}.asset-manager-empty-state,.asset-manager-empty{font-size:var(--text-sm);color:var(--text-tertiary)}.asset-inspector-preview{border:1px solid var(--border-default);border-radius:12px;background:#111;min-height:160px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);cursor:pointer}.asset-inspector-preview-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:11px;display:block}.asset-inspector-setup{justify-self:center}.asset-inspector-label{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-tertiary)}.asset-inspector-input{width:100%;height:22px;border-radius:4px;border:1px solid var(--panel-border);background:var(--panel-input);color:var(--panel-value);font-size:var(--text-sm);padding:0 6px;outline:none}.asset-inspector-input:disabled{opacity:.8}.asset-inspector-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.asset-inspector-value{font-size:var(--text-sm);color:var(--text-primary)}.asset-inspector-selection-count{font-size:var(--text-sm);font-weight:700;color:#bfdbfe}.asset-inspector-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:20px}.asset-tag-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;border:1px solid var(--border-default);background:#111827bf;color:var(--text-primary);font-size:10px;padding:3px 8px}.asset-tag-chip button{border:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:11px;line-height:1}.asset-setup-card{display:grid;gap:12px;border:1px solid var(--border-subtle);border-radius:14px;background:linear-gradient(180deg,#222222eb,#141414eb);box-shadow:0 12px 32px #00000038;min-width:0}.asset-setup-card-head{display:grid;gap:6px;padding:14px 14px 0}.asset-setup-card-eyebrow{font-size:11px;line-height:1;font-weight:600;letter-spacing:.04em;color:var(--text-tertiary)}.asset-setup-card-title{margin:0;font-size:15px;font-weight:700;color:var(--text-primary)}.asset-setup-card-description{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.asset-setup-card-body{display:grid;gap:10px;padding:0 14px 14px;min-width:0}.asset-setup-pill-row{display:flex;flex-wrap:wrap;gap:8px}.asset-setup-pill{display:grid;gap:3px;min-width:112px;padding:8px 10px;border:1px solid var(--border-default);border-radius:10px;background:#ffffff08}.asset-setup-pill--ready{border-color:#10b98159;background:#10b98114}.asset-setup-pill--warn{border-color:#f9731659;background:#f9731614}.asset-setup-pill-label{font-size:11px;line-height:1;font-weight:600;letter-spacing:.04em;color:var(--text-tertiary)}.asset-setup-pill-value{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.asset-setup-readiness-list{display:grid;gap:8px;margin:0;padding-left:18px;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.asset-setup-readiness-item{margin:0}.asset-setup-controls{display:grid;gap:12px;align-content:start;min-width:0;padding:0;overflow:visible}.asset-setup-section{display:grid;gap:6px;min-width:0}.asset-setup-field-hint{margin:0;font-size:var(--text-xs, 11px);color:var(--text-tertiary);line-height:1.4}.asset-setup-scrub{width:100%}.asset-type-toggle-group{display:inline-flex;gap:6px}.asset-type-toggle{border:1px solid var(--border-default);border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);height:30px;padding:0 10px;font-size:var(--text-xs);font-weight:600}.asset-type-toggle.is-active{border-color:#3b82f6d9;color:var(--text-primary)}.asset-type-toggle:disabled{opacity:.5}.asset-setup-controls .asset-inspector-input,.asset-setup-controls .scrub-input{width:100%;max-width:100%;box-sizing:border-box;min-width:0}.asset-upload-btn{justify-self:start;height:22px;border-radius:4px;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);font-size:10px;font-weight:600;padding:0 8px;cursor:pointer}.asset-upload-btn:hover{color:var(--text-primary);border-color:#3b82f6a6}.asset-setup-resource-field{display:grid;gap:6px}.asset-setup-resource-field .ui-input-search-upload{width:100%;max-width:100%;box-sizing:border-box}.asset-setup-resource-field__message{min-height:16px;font-size:var(--text-xs);color:var(--text-secondary)}.asset-setup-resource-field.is-invalid .ui-input-search-upload{border-color:#ef444480;box-shadow:0 0 0 1px #ef44441f}.asset-setup-resource-field.is-invalid .asset-setup-resource-field__message{color:var(--danger, #ef4444)}.asset-setup-components-root{display:grid;gap:8px}.asset-setup-component-panel{border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.asset-setup-component-toolbar{display:flex;justify-content:flex-end;gap:6px;padding:8px;border-bottom:1px solid var(--border-subtle);background:#00000026}.asset-imageviewer-row{display:grid;gap:10px;padding:12px;border:1px solid var(--border-subtle);border-radius:12px;background:#ffffff05}.asset-imageviewer-row.is-active{border-color:#10b98173;box-shadow:0 0 0 1px #10b98126}.asset-imageviewer-row-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-imageviewer-row-title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.palette-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;border-radius:4px}.palette-grid:not(.edit-mode) .color-swatch input{display:none}.palette-grid.edit-mode .color-swatch input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.palette-grid.edit-mode .color-swatch .edit-indicator{opacity:1}.palette-grid.edit-mode .color-swatch{box-shadow:inset 0 0 0 1px #ffffff4d}.palette-grid.edit-mode .color-swatch:hover{box-shadow:inset 0 0 0 2px #fff9}#btnPaletteMode{border:1px solid transparent}#btnPaletteMode.active{background-color:#3b82f6;color:#fff;border-color:#2563eb}.palette-editor-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:6px;border-radius:8px;border:1px solid var(--border-subtle);background:#14141499}.palette-editor-swatch{width:100%;padding-bottom:100%;aspect-ratio:1 / 1;border-radius:6px;border:1px solid var(--border-strong);cursor:pointer;position:relative}.palette-editor-swatch.active{outline:2px solid var(--primary)}.palette-selected-row{display:flex;align-items:center;gap:6px}#currentColorDisplay{position:relative;background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0px;background-color:#404040;overflow:hidden}#currentColorDisplay:after{content:"";position:absolute;inset:0;background-color:inherit}#colorPickerModal,#savePaletteModal{transition:opacity .2s}#colorPickerModal.hidden,#savePaletteModal.hidden{opacity:0;pointer-events:none}.IroColorPicker{display:inline-block!important}.top-bar{position:absolute;top:52px;left:50%;transform:translate(-50%);z-index:20;pointer-events:none}.toolbar-helper{position:absolute;top:90px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap;letter-spacing:.02em;opacity:0;transition:opacity .15s ease;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:19}.toolbar-helper.is-visible{opacity:1}.top-bar-inner{display:flex;align-items:center;gap:12px;padding:6px;background:#181818e6;border:1px solid var(--border-default);border-radius:12px;box-shadow:0 10px 24px #00000073;pointer-events:auto;flex-wrap:nowrap;max-width:calc(100vw - 32px)}.history-indicator{position:absolute;top:72px;left:50%;transform:translate(-50%);padding:6px 12px;background:#eab30833;border:1px solid rgba(234,179,8,.6);border-radius:999px;color:#facc15;font-size:var(--text-xs);z-index:20;pointer-events:none}.undo-redo-group{display:flex;gap:6px;padding:2px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:999px}.undo-redo-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:none;background:transparent;color:var(--text-primary);cursor:pointer}.undo-redo-btn:disabled{opacity:.4;cursor:not-allowed}.top-toolbar{display:flex;align-items:center;background:#141414cc;border:1px solid var(--border-default);border-radius:10px;padding:4px;flex-wrap:nowrap;overflow:hidden;max-width:100%;min-height:40px;min-width:0}.tool-group{display:none;align-items:center;gap:4px;flex-wrap:nowrap}.tool-group.is-active{display:flex}.toolbar-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:transform .1s ease,background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn.is-active{background:var(--primary);color:#fff;border-color:var(--primary-dark)}.toolbar-btn.is-active .toolbar-shortcut{color:#ffffffd9}.toolbar-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.toolbar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;align-self:flex-start}.toolbar-shortcut{font-size:10px;color:var(--text-tertiary);border:1px solid var(--border-strong);padding:1px 5px;border-radius:6px;background:#0003}.top-toolbar.toolbar--compact .toolbar-label,.top-toolbar.toolbar--compact .toolbar-shortcut,.top-toolbar.toolbar--minimal .toolbar-shortcut{display:none}.asset-setup-type-picker{display:grid;gap:12px;align-content:center;justify-items:center;min-height:100%;padding:18px}.asset-setup-type-intro{display:grid;gap:8px;justify-items:center;text-align:center}.asset-setup-type-title{font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.asset-setup-type-subtitle{font-size:var(--text-sm);color:var(--text-secondary)}.asset-setup-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow-y:scroll;width:min(830px,100%)}.asset-setup-type-card{border:1px solid var(--border-default);border-radius:12px;background:#161616cc;min-height:126px;display:grid;align-content:start;gap:8px;color:var(--text-primary);font-weight:700;text-align:left;padding:14px;max-width:200px}.asset-setup-type-card:hover{border-color:#3b82f6b3}.asset-setup-type-card.is-active{border-color:#3b82f6e6;background:#3b82f614}.asset-setup-type-card-title{font-size:var(--text-md)}.asset-setup-type-card-description{color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;line-height:1.45}.asset-setup-type-selected-title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.asset-deck-wizard{display:grid;gap:12px;width:100%;min-height:100%;grid-template-rows:auto auto minmax(0,1fr)}.asset-setup-controls--deck>.asset-deck-wizard{max-width:none}.asset-setup-controls--deck{flex:1 1 auto;min-height:100%;align-content:stretch}.asset-deck-wizard-header{display:grid;gap:4px}.asset-deck-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.asset-deck-step{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--border-default);border-radius:10px;background:#0f172a6b;color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;padding:0 10px}.asset-deck-step.is-active,.asset-deck-step.is-complete{border-color:#3b82f6cc;color:var(--text-primary)}.asset-deck-step-index{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#ffffff14;font-size:10px}.asset-deck-step.is-active .asset-deck-step-index,.asset-deck-step.is-complete .asset-deck-step-index{background:#3b82f6d9}.asset-deck-wizard-body{display:grid;gap:12px;min-width:0;min-height:0;align-content:stretch}.asset-deck-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-deck-source-card{display:grid;gap:6px;min-height:120px;align-content:start;text-align:left;border:1px solid var(--border-default);border-radius:12px;background:#0f172a7a;color:var(--text-primary);padding:14px}.asset-deck-source-card.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-deck-source-title{font-size:var(--text-sm);font-weight:700}.asset-deck-source-text{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.asset-deck-wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.asset-deck-wizard-nav-actions{display:inline-flex;gap:8px}.asset-deck-editor,.asset-deck-preview-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;align-items:stretch;min-height:clamp(420px,56vh,640px)}.asset-deck-grid-pane,.asset-deck-detail-pane,.asset-deck-preview-list,.asset-deck-preview-panel,.asset-deck-sheet-summary,.asset-deck-advanced{display:grid;gap:10px;border:1px solid var(--border-subtle);border-radius:12px;background:#00000024;padding:12px;min-height:0}.asset-deck-pane-header{display:grid;gap:4px}.asset-deck-pane-header .properties-btn{justify-self:start}.asset-deck-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,100px));gap:10px;place-content:start}.asset-deck-card-tile{position:relative;display:flex;flex-direction:column;grid-template-rows:auto auto;gap:8px;border:1px solid var(--border-default);border-radius:12px;background:#0f172a94;color:var(--text-primary);padding:5px;min-height:0;text-align:left;align-content:start;max-width:100px;overflow:hidden}.asset-deck-card-tile.is-selected{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-deck-card-thumb{display:grid;place-items:center;width:100%;overflow:hidden;border-radius:10px;background:#ffffff0a;aspect-ratio:5 / 7}.asset-deck-card-thumb img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.asset-deck-card-grid-empty{border:1px dashed var(--border-default);border-radius:12px;background:#0f172a3d;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;padding:14px}.asset-deck-card-tile-label{font-size:var(--text-xs);font-weight:600;line-height:1.4}.asset-deck-card-delete{position:absolute;top:8px;right:8px;border:1px solid rgba(248,113,113,.35);border-radius:999px;background:#0f172ae6;color:#fecaca;font-size:10px;padding:3px 7px;opacity:0;transition:opacity .14s ease}.asset-deck-card-tile:hover .asset-deck-card-delete,.asset-deck-card-tile:focus-within .asset-deck-card-delete{opacity:1}.asset-deck-toggle-row{display:grid;gap:6px}.asset-deck-preview-contents{display:grid;gap:6px;min-height:0;overflow:auto}.asset-deck-preview-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-subtle);border-radius:8px;background:#0f172a5c;padding:8px 10px;font-size:var(--text-xs);color:var(--text-secondary)}.asset-deck-preview-result{border:1px solid var(--border-subtle);border-radius:10px;background:#0f172a5c;color:var(--text-primary);font-size:var(--text-sm);font-weight:600;padding:10px 12px}.asset-deck-preview-canvas{min-height:clamp(260px,36vh,400px);border:1px solid var(--border-default);border-radius:12px;background:#111;overflow:hidden}.asset-deck-preview-canvas .asset-setup-preview{min-height:clamp(260px,36vh,400px);height:100%}.asset-deck-preview-controls{display:flex;flex-wrap:wrap;gap:8px}.asset-deck-preview-list{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch}.asset-deck-preview-panel{grid-template-rows:auto minmax(0,1fr) auto auto;align-content:stretch}.asset-deck-card-modal{width:min(720px,calc(100vw - 32px))}.asset-deck-card-modal__body{display:grid;place-items:center;padding:18px}.asset-deck-card-modal__frame{width:min(100%,460px);overflow:hidden;border-radius:14px;border:1px solid var(--border-subtle);background:#ffffff0a}.asset-deck-card-modal__frame img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.asset-figurine-wizard,.asset-setup-controls--figurine>.asset-figurine-wizard{max-width:none}.asset-figurine-wizard{grid-template-rows:auto auto minmax(0,1fr) auto}.asset-figurine-wizard-body{min-height:clamp(560px,72vh,880px);gap:16px;align-content:stretch;padding-bottom:8px}.asset-figurine-wizard-footer{display:grid;gap:12px;align-content:start}.asset-setup-preview-shell{min-height:clamp(340px,52vh,660px)}.asset-figurine-step-section{display:grid;gap:6px}.asset-figurine-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,150px));justify-content:start;gap:10px}.asset-figurine-select-card{display:grid;gap:6px;min-height:80px;align-content:center;text-align:left;padding:12px;border:1px solid var(--border-default);border-radius:14px;background:#0f172a75;color:var(--text-primary)}.asset-figurine-select-card.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-figurine-select-card--add{border-style:dashed}.asset-figurine-select-card-title{font-size:var(--text-sm);font-weight:700}.asset-figurine-type-toggle{display:flex;align-items:center;gap:6px;margin-bottom:6px}.asset-figurine-type-toggle-label{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;margin-right:2px}.asset-figurine-type-toggle .asset-upload-btn.is-active{background:#3b82f633;border-color:#3b82f6d9;color:var(--text-primary)}.asset-figurine-select-actions,.asset-figurine-compose-actions,.asset-figurine-preview-actions{display:flex;flex-wrap:wrap;gap:8px}.asset-figurine-compose-workspace{display:grid;gap:12px;min-height:100%}.asset-figurine-compose-layout{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(360px,1.2fr) minmax(320px,1fr);gap:12px;align-items:start;min-height:clamp(500px,66vh,820px)}.asset-figurine-compose-layout--sidebar-preview{grid-template-columns:minmax(240px,.85fr) minmax(360px,1.15fr)}.asset-figurine-compose-panel,.asset-figurine-preview-panel{display:grid;gap:12px;align-content:start;min-height:0;padding:14px;border:1px solid var(--border-subtle);border-radius:14px;background:#0f172a6b}.asset-figurine-compose-panel--preview{grid-template-rows:auto auto minmax(0,1fr)}.asset-figurine-compose-panel--inspector{align-self:start;min-height:-moz-max-content;min-height:max-content;overflow:visible}.asset-figurine-compose-pipeline{display:grid;gap:8px}.asset-figurine-compose-pipeline-control{width:-moz-max-content;width:max-content;max-width:100%}.asset-figurine-component-list{display:grid;gap:8px;align-content:start}.asset-figurine-component-item{display:grid;gap:4px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border-default);border-radius:12px;background:#ffffff08;color:var(--text-primary)}.asset-figurine-component-item.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-figurine-component-item-title{font-size:var(--text-sm);font-weight:700}.asset-figurine-component-item-text{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.asset-figurine-compose-preview-mount,.asset-figurine-preview-mount{min-height:clamp(340px,52vh,660px);min-width:0}.asset-figurine-preview-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:12px;align-items:stretch;min-height:clamp(520px,70vh,860px)}.asset-figurine-link-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}.asset-figurine-link-card{display:grid;gap:12px;min-height:0;padding:14px;border:1px solid var(--border-subtle);border-radius:14px;background:#0f172a6b}.asset-figurine-preview-select,.asset-figurine-preview-select .inspector-dropdown{width:100%}.asset-figurine-preview-panel--combat{align-self:start}.asset-figurine-combat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asset-figurine-combat-field{display:grid;gap:8px}.asset-figurine-combat-custom-fields{display:grid;gap:10px}.asset-figurine-combat-custom-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) auto;gap:8px;align-items:end}.asset-figurine-combat-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:1180px){.asset-figurine-compose-layout,.asset-figurine-compose-layout--sidebar-preview,.asset-figurine-link-layout,.asset-figurine-preview-layout,.asset-figurine-combat-grid,.asset-figurine-combat-custom-row{grid-template-columns:1fr}}.asset-generic-wizard,.asset-setup-controls--generic>.asset-generic-wizard{max-width:none}.asset-generic-wizard{grid-template-rows:auto auto minmax(0,1fr) auto}.asset-generic-wizard-body{min-height:clamp(560px,72vh,880px);gap:16px;align-content:stretch;padding-bottom:8px}.asset-generic-wizard-footer{display:grid;gap:12px;align-content:start}.asset-generic-step-section{display:grid;gap:6px}.asset-generic-select-pipeline{display:grid;gap:8px}.asset-generic-select-pipeline-control{width:-moz-max-content;width:max-content;max-width:100%}.asset-generic-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,150px));justify-content:start;gap:10px}.asset-generic-select-card{display:grid;gap:6px;min-height:88px;align-content:center;text-align:left;padding:12px;border:1px solid var(--border-default);border-radius:14px;background:#0f172a75;color:var(--text-primary)}.asset-generic-select-card.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-generic-select-card--add{border-style:dashed}.asset-generic-select-card-title{font-size:var(--text-sm);font-weight:700}.asset-generic-select-card-text{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.asset-generic-select-actions,.asset-generic-compose-actions,.asset-generic-preview-actions{display:flex;flex-wrap:wrap;gap:8px}.asset-generic-compose-workspace{display:grid;gap:12px;min-height:100%}.asset-generic-compose-panel,.asset-generic-link-card,.asset-generic-preview-panel{display:grid;gap:12px;align-content:start;min-height:0;padding:14px;border:1px solid var(--border-subtle);border-radius:14px;background:#0f172a6b}.asset-generic-compose-layout{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(360px,1.2fr) minmax(320px,1fr);gap:12px;align-items:start;min-height:clamp(500px,66vh,820px)}.asset-generic-compose-layout--sidebar-preview{grid-template-columns:minmax(240px,.85fr) minmax(360px,1.15fr)}.asset-generic-compose-panel--preview,.asset-generic-preview-panel{grid-template-rows:auto auto minmax(0,1fr)}.asset-generic-compose-panel--inspector{align-self:start;min-height:-moz-max-content;min-height:max-content;overflow:visible}.asset-generic-component-list{display:grid;gap:8px;align-content:start}.asset-generic-component-item{display:grid;gap:4px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border-default);border-radius:12px;background:#ffffff08;color:var(--text-primary)}.asset-generic-component-item.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-generic-component-item-title{font-size:var(--text-sm);font-weight:700}.asset-generic-component-item-text{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.asset-generic-compose-footprint{max-width:280px}.asset-generic-link-layout,.asset-generic-preview-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch;min-height:clamp(520px,70vh,860px)}.asset-generic-preview-select,.asset-generic-preview-select .inspector-dropdown{width:100%}.asset-generic-compose-preview-mount,.asset-generic-preview-mount{min-height:clamp(340px,52vh,660px);min-width:0}@media(max-width:1180px){.asset-generic-compose-layout,.asset-generic-compose-layout--sidebar-preview,.asset-generic-link-layout,.asset-generic-preview-layout{grid-template-columns:1fr}}.asset-imageviewer-wizard,.asset-setup-controls--imageviewer>.asset-imageviewer-wizard{max-width:none}.asset-imageviewer-wizard{grid-template-rows:auto auto minmax(0,1fr) auto}.asset-imageviewer-wizard-body{min-height:clamp(560px,72vh,880px);gap:16px;align-content:stretch;padding-bottom:8px}.asset-imageviewer-wizard-footer{display:grid;gap:12px;align-content:start}.asset-imageviewer-step-section{display:grid;gap:6px}.asset-imageviewer-gallery-layout,.asset-imageviewer-presentation-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(240px,.9fr) minmax(360px,1.1fr);gap:12px;align-items:start;min-height:clamp(500px,66vh,820px)}.asset-imageviewer-link-layout,.asset-imageviewer-preview-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch;min-height:clamp(520px,70vh,860px)}.asset-imageviewer-panel{display:grid;gap:12px;align-content:start;min-height:0;padding:14px;border:1px solid var(--border-subtle);border-radius:14px;background:#0f172a6b}.asset-imageviewer-panel--preview{grid-template-rows:auto auto minmax(0,1fr)}.asset-imageviewer-panel--inspector{align-self:start}.asset-imageviewer-image-list,.asset-imageviewer-variation-grid{display:grid;gap:8px;align-content:start}.asset-imageviewer-image-item,.asset-imageviewer-variation-card{display:grid;gap:4px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border-default);border-radius:12px;background:#ffffff08;color:var(--text-primary)}.asset-imageviewer-image-item.is-active,.asset-imageviewer-variation-card.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-imageviewer-variation-card--add{border-style:dashed}.asset-imageviewer-image-item-title,.asset-imageviewer-variation-card-title{font-size:var(--text-sm);font-weight:700}.asset-imageviewer-image-item-text,.asset-imageviewer-variation-card-text{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.asset-imageviewer-action-row{display:flex;flex-wrap:wrap;gap:8px}.asset-imageviewer-preview-mount{min-height:clamp(340px,52vh,660px);min-width:0}.asset-imageviewer-preview-select,.asset-imageviewer-preview-select .inspector-dropdown{width:100%}.asset-imageviewer-orientation-control{width:-moz-max-content;width:max-content;max-width:100%}@media(max-width:1180px){.asset-imageviewer-gallery-layout,.asset-imageviewer-presentation-layout,.asset-imageviewer-link-layout,.asset-imageviewer-preview-layout{grid-template-columns:1fr}}.asset-standee-wizard,.asset-setup-controls--standee>.asset-standee-wizard{max-width:none}.asset-standee-wizard{grid-template-rows:auto auto minmax(0,1fr) auto}.asset-standee-wizard-body{min-height:clamp(560px,72vh,880px);gap:16px;align-content:stretch;padding-bottom:8px}.asset-standee-wizard-footer{display:grid;gap:12px;align-content:start}.asset-standee-step-section{display:grid;gap:6px}.asset-standee-source-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(300px,1fr);gap:12px;align-items:start;min-height:clamp(360px,48vh,620px)}.asset-standee-configure-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:12px;align-items:start;min-height:clamp(500px,66vh,820px)}.asset-standee-link-layout,.asset-standee-preview-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch;min-height:clamp(520px,70vh,860px)}.asset-standee-panel{display:grid;gap:12px;align-content:start;min-height:0;padding:14px;border:1px solid var(--border-subtle);border-radius:14px;background:#0f172a6b}.asset-standee-panel--preview{grid-template-rows:auto auto minmax(0,1fr)}.asset-standee-variation-grid{display:grid;gap:8px;align-content:start}.asset-standee-variation-card{display:grid;gap:4px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border-default);border-radius:12px;background:#ffffff08;color:var(--text-primary)}.asset-standee-variation-card.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-standee-variation-card--add{border-style:dashed}.asset-standee-variation-card-title{font-size:var(--text-sm);font-weight:700}.asset-standee-variation-card-text{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.asset-standee-action-row{display:flex;flex-wrap:wrap;gap:8px}.asset-standee-preview-mount{min-height:clamp(340px,52vh,660px);min-width:0}.asset-standee-preview-select,.asset-standee-preview-select .inspector-dropdown{width:100%}@media(max-width:1180px){.asset-standee-source-layout,.asset-standee-configure-layout,.asset-standee-link-layout,.asset-standee-preview-layout{grid-template-columns:1fr}}.asset-whiteboardviewer-wizard,.asset-setup-controls--whiteboardviewer>.asset-whiteboardviewer-wizard{max-width:none}.asset-whiteboardviewer-wizard{grid-template-rows:auto auto minmax(0,1fr) auto}.asset-whiteboardviewer-wizard-body{min-height:clamp(560px,72vh,880px);gap:16px;align-content:stretch;padding-bottom:8px}.asset-whiteboardviewer-wizard-footer{display:grid;gap:12px;align-content:start}.asset-whiteboardviewer-step-section{display:grid;gap:6px}.asset-whiteboardviewer-source-layout{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(320px,1.05fr);gap:12px;align-items:start;min-height:clamp(360px,48vh,620px)}.asset-whiteboardviewer-configure-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:12px;align-items:start;min-height:clamp(500px,66vh,820px)}.asset-whiteboardviewer-preview-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch;min-height:clamp(520px,70vh,860px)}.asset-whiteboardviewer-panel{display:grid;gap:12px;align-content:start;min-height:0;padding:14px;border:1px solid var(--border-subtle);border-radius:14px;background:#0f172a6b}.asset-whiteboardviewer-panel--preview{grid-template-rows:auto auto minmax(0,1fr)}.asset-whiteboardviewer-variation-grid{display:grid;gap:8px;align-content:start}.asset-whiteboardviewer-variation-card{display:grid;gap:4px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border-default);border-radius:12px;background:#ffffff08;color:var(--text-primary)}.asset-whiteboardviewer-variation-card.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-whiteboardviewer-variation-card--add{border-style:dashed}.asset-whiteboardviewer-variation-card-title{font-size:var(--text-sm);font-weight:700}.asset-whiteboardviewer-variation-card-text{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.asset-whiteboardviewer-action-row{display:flex;flex-wrap:wrap;gap:8px}.asset-whiteboardviewer-preview-mount{min-height:clamp(340px,52vh,660px);min-width:0}.asset-whiteboardviewer-select,.asset-whiteboardviewer-preview-select,.asset-whiteboardviewer-select .inspector-dropdown,.asset-whiteboardviewer-preview-select .inspector-dropdown{width:100%}@media(max-width:1180px){.asset-whiteboardviewer-source-layout,.asset-whiteboardviewer-configure-layout,.asset-whiteboardviewer-preview-layout{grid-template-columns:1fr}}.asset-token-wizard-body{align-content:start}.asset-token-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-token-source-card{display:grid;gap:6px;min-height:120px;align-content:start;text-align:left;border:1px solid var(--border-default);border-radius:12px;background:#0f172a7a;color:var(--text-primary);padding:14px}.asset-token-source-card.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-token-source-title{font-size:var(--text-sm);font-weight:700}.asset-token-source-text{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.asset-token-upload-actions{display:flex;flex-wrap:wrap;gap:8px}.asset-token-upload-status,.asset-token-preview-summary{display:grid;gap:10px;border:1px solid var(--border-subtle);border-radius:12px;background:#00000024;padding:12px}.asset-token-upload-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--text-xs);color:var(--text-secondary)}.asset-token-upload-status-row.is-ready{color:var(--text-primary)}.asset-token-upload-status-label,.asset-token-preview-card-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.asset-token-upload-status-value,.asset-token-preview-card-value{text-align:right}.asset-token-preview-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-token-preview-layout{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.25fr);gap:12px;align-items:stretch;min-height:clamp(420px,58vh,700px)}.asset-token-preview-summary-panel,.asset-token-preview-panel{display:grid;gap:12px;border:1px solid var(--border-subtle);border-radius:14px;background:#0f172a6b;padding:14px;min-height:0}.asset-token-preview-card{display:grid;gap:6px;padding:10px;border:1px solid var(--border-default);border-radius:10px;background:#ffffff08}.asset-token-preview-card-value{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.asset-token-preview-note{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.asset-token-preview-state{display:grid;gap:8px}.asset-token-preview-action-row{display:flex;flex-wrap:wrap;gap:8px}.asset-token-preview-action{border:1px solid var(--border-default);border-radius:10px;background:#0f172a7a;color:var(--text-primary);padding:8px 12px;font-size:var(--text-xs);font-weight:600}.asset-token-preview-action.is-active{border-color:#3b82f6d9;box-shadow:0 0 0 1px #3b82f63d}.asset-token-preview-canvas{min-height:clamp(340px,48vh,620px);border:1px solid var(--border-subtle);border-radius:12px;background:#020617eb;overflow:hidden}.asset-token-preview-canvas .asset-setup-preview{min-height:100%}@media(max-width:860px){.asset-token-source-grid,.asset-token-preview-summary,.asset-token-preview-layout{grid-template-columns:1fr}.asset-token-upload-status-row{align-items:start;flex-direction:column}.asset-token-upload-status-value,.asset-token-preview-card-value{text-align:left}}.mode-picker{position:relative;min-width:0}.mode-picker-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:999px;color:var(--text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;max-width:160px;white-space:nowrap;overflow:hidden}.mode-picker-button[data-mode=build] .mode-picker-dot{background:var(--primary)}.mode-picker-button[data-mode=select] .mode-picker-dot{background:var(--success)}.mode-picker-dot{width:8px;height:8px;border-radius:999px;background:var(--primary);box-shadow:0 0 8px #3b82f699}.mode-picker-dot.is-edit{background:var(--success);box-shadow:0 0 8px #10b98199}.mode-picker-chevron{width:14px;height:14px;color:var(--text-secondary)}.mode-picker-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:160px;padding:6px;background:var(--bg-panel);border:1px solid var(--border-default);border-radius:10px;box-shadow:0 12px 24px #00000073;display:none;z-index:30}.mode-picker.is-open .mode-picker-menu{display:grid;gap:4px}.mode-picker-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mode-picker-option:hover,.mode-picker-option.active{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.mode-btn{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.3px;color:#94a3b8cc;background:transparent;border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden;white-space:nowrap}.mode-btn:hover:not(.active):not([data-disabled]){background:#33415580;color:#e2e8f0f2}.mode-btn.active{color:#fff;background:linear-gradient(180deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #2563eb66,inset 0 1px #ffffff26,inset 0 -1px #0000001a}.mode-btn.active:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);border-radius:7px 7px 0 0;pointer-events:none}.mode-btn[data-disabled]{opacity:.4;cursor:not-allowed}.mode-btn .mode-icon{font-size:13px;line-height:1}.mode-picker-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:flex-start}.mode-picker.is-compact .mode-picker-button{max-width:130px}.mode-picker.is-minimal .mode-picker-label{display:none}.mode-picker.is-minimal .mode-picker-button{max-width:56px;padding-left:10px;padding-right:10px}.play-context-movement{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.play-context-movement .inspector-grid{margin-top:6px}.play-context-movement-total{color:var(--text-primary);font-size:var(--text-sm);font-weight:700}.play-context-conditions,.play-context-states{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.play-context-states-row{display:flex;flex-wrap:wrap;gap:8px}.play-context-state-toggle{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:#94a3b814;font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.play-context-state-toggle:hover,.play-context-state-toggle:focus-visible{border-color:#64a0ff6b;background:#64a0ff24}.play-context-state-toggle.is-active{border-color:#64a0ffd1;background:#3b82f63d;color:var(--text-primary)}.play-context-state-toggle__icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.play-context-state-toggle__icon svg{width:14px;height:14px;stroke:currentColor}.play-context-conditions-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.play-context-condition-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.32);background:#94a3b81f;color:var(--text-primary);font-size:var(--text-xs);font-weight:700}.play-context-condition-chip__icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 14px}.play-context-condition-chip__icon svg{width:14px;height:14px;stroke:currentColor}.play-context-state-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.32);background:#94a3b81f;color:var(--text-primary);font-size:var(--text-xs);font-weight:700}.play-context-condition-chip__label{min-width:0}.play-context-condition-chip__duration{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#0f172a47;font-size:10px;font-weight:800;color:inherit}.play-context-condition-chip.play-combat-chip--condition-green{border-color:#22c55e73;background:#22c55e29;color:#dcfce7}.play-context-condition-chip.play-combat-chip--condition-red{border-color:#ef444473;background:#ef444429;color:#fee2e2}.play-context-condition-chip.play-combat-chip--condition-blue{border-color:#3b82f673;background:#3b82f629;color:#dbeafe}.play-context-condition-chip.play-combat-chip--condition-grey{border-color:#94a3b866;background:#94a3b824;color:#e2e8f0}.play-context-health,.play-context-combat-cards{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.play-context-health-bar{position:relative;display:flex;overflow:hidden;width:100%;height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#0f172ad9}.play-context-health-bar__fill{height:100%;background:linear-gradient(90deg,#f87171f2,#ef4444e6);transition:width .22s ease}.play-context-health-bar__temp{display:inline-flex;align-items:center;justify-content:center;min-width:10px;height:100%;background:#fbbf24e6;color:#0f172af2;font-size:9px;font-weight:800;transition:width .22s ease}.play-context-health-meta{margin-top:6px;font-size:var(--text-sm);color:var(--text-secondary)}.play-context-combat-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}.play-context-combat-card{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0f172a8c;padding:10px}.play-context-combat-card__label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.play-context-combat-card__value{margin-top:4px;font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.play-context-combat-card__body{display:grid;gap:8px}.play-context-combat-card__actions{display:flex;gap:6px}.play-context-combat-card__action{flex:1 1 0;min-height:28px;border:1px solid rgba(148,163,184,.3);border-radius:999px;background:#94a3b814;color:var(--text-primary);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.play-context-combat-card__action:hover,.play-context-combat-card__action:focus-visible{border-color:#64a0ff6b;background:#64a0ff24}.play-context-combat-card__action:disabled{opacity:.45;cursor:not-allowed}.play-context-actions{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.play-context-action-btn{min-width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.play-context-action-btn--label{min-width:64px;padding:0 10px;font-size:var(--text-xs);font-weight:600;letter-spacing:.01em}.play-context-action-btn svg{width:16px;height:16px}.play-context-action-btn:hover:not(:disabled){color:var(--text-primary);border-color:#64a0ff73;background:#64a0ff24}.play-context-action-btn.is-active{color:var(--text-primary);border-color:#64a0ffd9;background:#3b82f63d}.play-context-action-btn:disabled{opacity:.45;cursor:default}.play-context-tools{display:grid;gap:8px;margin-top:10px}.play-context-tools-row{display:flex;flex-wrap:wrap;gap:6px}.play-context-tool-btn{min-width:88px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text-secondary);padding:0 10px;font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease,opacity .2s ease}@keyframes play-context-commit-flash{0%,to{border-color:#22c55e33;box-shadow:none}50%{border-color:#22c55eeb;box-shadow:0 0 0 1px #22c55e2e}}@keyframes play-context-undo-flash{0%{background:#ffffff0a;border-color:#ffffff1f}50%{background:#f59e0b33;border-color:#f59e0bd1;color:var(--text-primary)}to{background:#ffffff0a;border-color:#ffffff1f}}.play-context-tool-btn--commit-ready{animation:play-context-commit-flash 1.8s ease-in-out infinite}.play-context-tool-btn--flash{animation:play-context-undo-flash .3s ease-out}.play-context-tool-btn:hover:not(:disabled):not(.is-disabled),.play-context-tool-btn.is-active{color:var(--text-primary);border-color:#64a0ff73;background:#64a0ff24}.play-context-tool-btn:disabled,.play-context-tool-btn.is-disabled{opacity:.45}.play-context-tool-btn:disabled{cursor:default}.play-context-tool-btn.is-disabled{cursor:not-allowed}.play-context-token-status{margin-top:8px}.play-context-body{overflow:hidden;transition:height .2s ease}.play-context-panel{transition:height .2s ease}.play-context-body-content{min-width:0}.play-context-info,.play-context-linked-notes,.play-context-roll{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.play-context-info:first-child,.play-context-linked-notes:first-child,.play-context-roll:first-child{margin-top:0;padding-top:0;border-top:0}.play-context-roll-title{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:6px;font-weight:700}.play-context-linked-notes-row{display:flex;flex-wrap:wrap;gap:6px}.play-context-linked-notes-empty{font-size:var(--text-sm);color:var(--text-secondary)}.play-context-note-chip{border:1px solid rgba(100,160,255,.28);background:#64a0ff1f;color:var(--text-primary);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.play-context-note-chip:hover:not(:disabled),.play-context-note-chip:focus-visible{background:#64a0ff33;border-color:#64a0ff6b}.play-context-note-chip:disabled{opacity:.55;cursor:default}.play-context-roll-row{display:flex;gap:6px}.play-context-roll-row .ui-text-input-shell{flex:1;min-width:0}.ui-text-input-shell>.play-context-roll-input{flex:1;min-width:0;height:30px;border-radius:8px;border:1px solid var(--border-default);background:var(--panel-input);color:var(--text-primary);padding:0 8px;font-size:var(--text-sm)}.play-context-roll-btn{height:30px;border-radius:8px;border:1px solid rgba(100,160,255,.5);background:#3b82f633;color:var(--text-primary);font-weight:700;font-size:var(--text-xs);padding:0 10px;cursor:pointer}.play-context-roll-error{margin-top:6px;color:var(--danger);font-size:10px}.play-context-roll-result{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.play-context-roll-result-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}.play-context-roll-result-header .play-context-roll-title{margin-bottom:0}.play-context-roll-result-clear{width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ff3c3c26;color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.play-context-roll-result-clear:hover{background:#ff3c3c59;color:var(--text-primary)}.play-context-roll-result-rolling{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic;padding:6px 0;animation:pulse-opacity 1.2s ease-in-out infinite}@keyframes pulse-opacity{0%,to{opacity:.5}50%{opacity:1}}.play-context-roll-result-notation{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:4px;text-transform:uppercase;font-weight:600}.play-context-roll-result-dice{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.play-context-roll-result-die-chip{font-size:11px;background:#64a0ff1f;border:1px solid rgba(100,160,255,.25);border-radius:6px;padding:2px 6px;color:var(--text-secondary);font-weight:600}.play-context-roll-result-die-chip.is-dropped{text-decoration:line-through;color:#f87171f2;border-color:#f871714d;background:#ef44441f}.play-context-roll-result-total{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:8px}.play-context-roll-result-total strong{font-size:16px;color:#64c8ff}.play-context-roll-result-reroll{width:100%}.play-context-target-queue__mode{margin-top:10px}.play-context-target-queue__empty{margin-top:10px;color:var(--text-tertiary);font-size:var(--text-sm)}.play-context-target-queue__list{display:grid;gap:8px;margin-top:12px;max-height:180px;overflow-y:auto;padding-right:4px}.play-context-target-queue__row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.play-context-target-queue__swatch{width:10px;height:10px;border-radius:999px;background:var(--target-color, #fff);box-shadow:0 0 0 1px #ffffff1f}.play-context-target-queue__name-wrap{display:grid;min-width:0}.play-context-target-queue__name{color:var(--text-primary);font-size:var(--text-sm);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-context-target-queue__context{color:var(--text-tertiary);font-size:11px;font-weight:600}.play-context-target-queue__hp{color:#fca5a5;font-size:12px;font-weight:700}.play-context-target-results{display:grid;gap:6px;margin-top:10px}.play-context-target-results__row{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.play-action-toolbar{position:fixed;top:52px;left:50%;transform:translate(-50%);z-index:20;pointer-events:none;max-width:calc(100vw - 32px);display:flex;flex-direction:column;align-items:center;gap:0}.play-action-toolbar__inner{display:flex;align-items:center;gap:12px;padding:6px;background:#181818e6;border:1px solid var(--border-default);border-radius:12px;box-shadow:0 10px 24px #00000073;pointer-events:auto}.play-action-toolbar--with-subtoolbar .play-action-toolbar__inner{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.play-action-toolbar--subtoolbar-wider .play-action-toolbar__inner{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.play-action-toolbar__subtoolbar-shell{width:100%;display:flex;justify-content:center;overflow:hidden;max-height:0;opacity:0;transform:translateY(-12px);transition:max-height .22s cubic-bezier(.455,.03,.515,.955),opacity .18s cubic-bezier(.455,.03,.515,.955),transform .22s cubic-bezier(.455,.03,.515,.955);pointer-events:none}.play-action-toolbar__subtoolbar-shell.is-visible{max-height:240px;opacity:1;transform:translateY(0)}.play-action-toolbar__subtoolbar{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;padding:6px;background:#181818e6;border:1px solid var(--border-default);border-top:none;border-radius:0 0 12px 12px;box-shadow:0 10px 20px #00000052;pointer-events:auto;margin-top:-1px}.play-action-toolbar__subtoolbar-shell.is-wider .play-action-toolbar__subtoolbar{border-top:1px solid var(--border-default);border-top-left-radius:12px;border-top-right-radius:12px;margin-top:8px}.play-action-toolbar__subtoolbar-group{display:inline-flex;align-items:center;gap:4px;padding:4px;background:#141414cc;border:1px solid var(--border-default);border-radius:10px}.play-action-toolbar__subtoolbar--measure{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.play-action-toolbar__subtoolbar--target{max-width:min(680px,calc(100vw - 48px))}.play-action-toolbar__measure-groups{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.play-action-toolbar__measure-group,.play-action-toolbar__measure-select-wrapper{display:inline-flex;align-items:center}.play-action-toolbar__measure-select{min-height:32px;padding:5px 30px 5px 10px;border:1px solid var(--border-default);border-radius:10px;background:#141414cc;color:var(--text-primary);font-size:12px;font-weight:700}.play-action-toolbar__measure-control{background:#141414cc;border:1px solid var(--border-default);border-radius:10px;overflow:hidden}.play-action-toolbar__measure-control .ui-segmented-control__button{min-width:0;min-height:30px;padding:5px 10px;font-size:var(--text-xs);font-weight:700}.play-action-toolbar__measure-group--interaction .ui-segmented-control__button,.play-action-toolbar__measure-group--dimension .ui-segmented-control__button,.play-action-toolbar__measure-group--render-type .ui-segmented-control__button{min-width:58px}.play-action-toolbar__measure-group--shape .ui-segmented-control__button{min-width:82px}.play-action-toolbar__measure-separator{color:var(--text-tertiary);font-size:13px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.play-action-toolbar__measure-size-group{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 6px;background:#141414cc;border:1px solid var(--border-default);border-radius:10px}.play-action-toolbar__measure-size-label{color:var(--text-tertiary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.play-action-toolbar__measure-size-value{min-width:18px;color:var(--text-primary);font-size:var(--text-sm);font-weight:700;text-align:center}.play-action-toolbar__measure-size-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#ffffff0a;color:var(--text-primary);font-size:16px;line-height:1;cursor:pointer;transition:transform .1s ease,background .15s ease,border-color .15s ease}.play-action-toolbar__measure-size-button:hover{background:#ffffff14;border-color:#ffffff24}.play-action-toolbar__measure-size-button:active{transform:translateY(1px)}.play-action-toolbar__subtoolbar-placeholder{padding:8px 14px;border-radius:10px;background:#141414cc;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.play-action-toolbar__mode,.play-action-toolbar__group--actions{display:inline-flex;align-items:center;min-height:40px;background:#141414cc;border:1px solid var(--border-default);border-radius:10px}.play-action-toolbar__mode{min-width:86px;padding:6px 12px;flex-direction:column;justify-content:center;gap:2px}.play-action-toolbar__mode-label{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.play-action-toolbar__mode-caption{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.play-action-toolbar__group--actions{gap:4px;padding:4px}.play-action-toolbar__button{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:transform .1s ease,background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.play-action-toolbar__button--subtoolbar{min-height:30px;padding:5px 10px;gap:6px;font-size:var(--text-xs)}.play-action-toolbar__button:hover:not(:disabled),.play-action-toolbar__inner .undo-redo-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.play-action-toolbar__button.is-active{background:var(--primary);color:#fff;border-color:var(--primary-dark)}.play-action-toolbar__button--has-targets{animation:play-action-toolbar-target-attention 2.2s ease-in-out infinite}.play-action-toolbar__button--has-targets .play-action-toolbar__shortcut{border-color:#60a5fa57;color:#dbeafef0}.play-action-toolbar__button--primary{background:#3b82f62e;border-color:#3b82f666;color:#dbeafe}.play-action-toolbar__button--primary:hover:not(:disabled){background:#3b82f647;border-color:#60a5fa85}.play-action-toolbar__button--danger{background:#ef444424;border-color:#ef444447;color:#fecaca}.play-action-toolbar__button--danger:hover:not(:disabled){background:#ef44443d;border-color:#f871716b}.play-action-toolbar__button--end-turn{position:relative;isolation:isolate;background:#b91c1c33;border-color:#f8717170;color:#fee2e2;box-shadow:0 0 0 1px #f8717114}.play-action-toolbar__button--end-turn .play-action-toolbar__shortcut{border-color:#fecaca4d;color:#fee2e2}.play-action-toolbar__button--end-turn:hover:not(:disabled){background:#dc262647;border-color:#fca5a594}.play-action-toolbar__button--entering{animation:play-action-toolbar-end-turn-enter .3s ease-out}.play-action-toolbar__button--pulse{animation:play-action-toolbar-end-turn-pulse 2.4s ease-in-out infinite}.play-action-toolbar__button--pulse-critical{animation-duration:1.5s}.play-action-toolbar__button:focus-visible,.play-action-toolbar__inner .undo-redo-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.play-action-toolbar__button:disabled,.play-action-toolbar__inner .undo-redo-btn:disabled{opacity:.45;cursor:not-allowed}.play-action-toolbar__button:not(:disabled):active,.play-action-toolbar__inner .undo-redo-btn:not(:disabled):active{transform:translateY(1px)}.play-action-toolbar__icon,.play-action-toolbar__icon svg,.play-action-toolbar__history-icon,.play-action-toolbar__history-icon svg,.play-action-toolbar__history-icon hex-svg-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.play-action-toolbar__icon svg,.play-action-toolbar__icon svg *,.play-action-toolbar__history-icon svg,.play-action-toolbar__history-icon svg *{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.play-action-toolbar__label{white-space:nowrap}.play-action-toolbar__shortcut{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#080c14c7;color:var(--text-tertiary);font-size:11px;font-weight:700;line-height:1}.play-action-toolbar__shortcut-icon,.play-action-toolbar__shortcut-icon svg{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex-shrink:0}.play-action-toolbar__shortcut-icon svg,.play-action-toolbar__shortcut-icon svg *{stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}.play-action-toolbar__shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:8px}.play-action-toolbar__button.is-active .play-action-toolbar__shortcut{border-color:#ffffff57;background:#ffffff29;color:#ffffffeb}@keyframes play-action-toolbar-target-attention{0%,to{background:transparent;color:var(--text-secondary);border-color:transparent;box-shadow:none}50%{background:#3b82f63d;color:#fff;border-color:#2563ebb8;box-shadow:0 0 0 1px #3b82f629,0 0 18px #3b82f638}}@keyframes play-action-toolbar-end-turn-enter{0%{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes play-action-toolbar-end-turn-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 1px rgba(248,113,113,calc(.12 + (var(--play-action-toolbar-end-turn-progress, 0) * .14))),0 0 #ef444400}50%{transform:scale(calc(1 + (var(--play-action-toolbar-end-turn-progress, 0) * .08)));box-shadow:0 0 0 1px rgba(252,165,165,calc(.18 + (var(--play-action-toolbar-end-turn-progress, 0) * .2))),0 0 calc(10px + (var(--play-action-toolbar-end-turn-progress, 0) * 18px)) rgba(239,68,68,calc(.22 + (var(--play-action-toolbar-end-turn-progress, 0) * .3)))}}.play-action-toolbar__inner .undo-redo-group{display:flex;gap:6px;padding:2px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:999px}.play-action-toolbar__inner .undo-redo-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:999px;border:none;background:transparent;color:var(--text-primary);transition:transform .1s ease,background .15s ease}.play-action-toolbar__message{margin-top:8px;padding:8px 12px;border:1px solid var(--border-default);border-radius:10px;background:#141414cc;color:var(--text-tertiary);font-size:var(--text-xs);text-align:center;pointer-events:auto}@media(max-width:900px){.play-action-toolbar__inner,.play-action-toolbar__subtoolbar{flex-wrap:wrap;justify-content:center}.play-action-toolbar__button{gap:6px;padding-inline:10px}.play-action-toolbar__shortcut{min-width:18px;height:18px;padding:0 5px;font-size:10px}.play-action-toolbar__shortcut-icon,.play-action-toolbar__shortcut-icon svg{width:11px;height:11px}.play-action-toolbar__subtoolbar-shell.is-visible{max-height:260px}}.play-action-toolbar__subtoolbar--roll{max-width:min(780px,calc(100vw - 48px))}.play-action-toolbar__roller-section{display:flex;flex-direction:column;gap:5px;width:100%;overflow:hidden;transition:max-height .22s cubic-bezier(.455,.03,.515,.955),opacity .18s ease;max-height:300px;opacity:1}.play-action-toolbar__roller-section.is-collapsed{max-height:0;opacity:0;pointer-events:none}.play-action-toolbar__roller-notation-row,.play-action-toolbar__roller-comment-row{display:flex;align-items:center;gap:4px}.play-action-toolbar__roller-notation-row .ui-trailing-input-shell,.play-action-toolbar__roller-comment-row .ui-trailing-input-shell{flex:1;min-width:0}.play-action-toolbar__roller-notation-row .panel-text-input,.play-action-toolbar__roller-comment-row .panel-text-input{width:100%;border-radius:1px}.play-action-toolbar__roller-notation-input.ui-trailing-input{padding-left:28px}.play-action-toolbar__roller-comment-input.ui-trailing-input{padding-left:8px}.play-action-toolbar__roller-comment-row .scrub-dot{display:none}.play-action-toolbar__roller-sheet-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0a;color:var(--text-tertiary);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;flex-shrink:0}.play-action-toolbar__roller-sheet-btn:hover{background:#ffffff1a;color:var(--text-primary);border-color:#ffffff38}.play-action-toolbar__roller-sheet-btn svg{stroke:currentColor}.play-action-toolbar__roller-primary-dice,.play-action-toolbar__roller-secondary-dice{display:flex;justify-content:center;gap:6px}.play-action-toolbar__roller-btn{position:relative;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .12s ease,filter .12s ease,background .12s ease}.play-action-toolbar__roller-btn[data-die-type]{border-color:#ffffff38;background:#0f172aeb;box-shadow:inset 0 1px #ffffff1f,0 8px 16px #02061752}.play-action-toolbar__roller-btn--primary{width:44px;height:44px}.play-action-toolbar__roller-btn--hero{width:48px;height:48px}.play-action-toolbar__roller-btn--advantage,.play-action-toolbar__roller-btn--disadvantage{width:38px;height:38px}.play-action-toolbar__roller-btn:hover{border-color:#64a0ff73;background:#64a0ff24}.play-action-toolbar__roller-btn[data-die-type]:hover{border-color:#fff6;background:#1e293bf5;filter:brightness(1.08)}.play-action-toolbar__roller-btn.is-active{border-color:#64a0ffd9;background:#3b82f63d}.play-action-toolbar__roller-btn[data-die-type].is-active{border-color:#ffffff94;background:#1e293bfa;box-shadow:inset 0 0 0 1px #ffffff3d,0 0 0 2px #ffffff24;filter:brightness(1.12)}.play-action-toolbar__roller-btn.is-active-advantage{border-color:#4ade80d9;background:#22c55e38}.play-action-toolbar__roller-btn.is-active-disadvantage{border-color:#f87171e0;background:#ef444433}.play-action-toolbar__roller-btn__icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(2,6,23,.7))}.play-action-toolbar__roller-btn--primary .play-action-toolbar__roller-btn__icon{width:28px;height:28px}.play-action-toolbar__roller-btn--hero .play-action-toolbar__roller-btn__icon{width:34px;height:34px}.play-action-toolbar__roller-btn--advantage .play-action-toolbar__roller-btn__icon,.play-action-toolbar__roller-btn--disadvantage .play-action-toolbar__roller-btn__icon{width:22px;height:22px}.play-action-toolbar__roller-die-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.play-action-toolbar__roller-modifier-row{display:flex;align-items:center;gap:4px}.play-action-toolbar__roller-modifier-step{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:30px;padding:0 6px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#ffffff0a;color:var(--text-secondary);font:700 12px/1 SF Mono,Consolas,monospace;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.play-action-toolbar__roller-modifier-step:hover{background:#ffffff1a;border-color:#ffffff38;color:var(--text-primary)}.play-action-toolbar__roller-modifier-bar{position:relative;display:block;flex:1;height:30px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:var(--bg-dark);cursor:ew-resize;overflow:hidden;transition:border-color .15s ease,background .15s ease}.play-action-toolbar__roller-modifier-bar:hover{border-color:#ffffff40;background:#141e32b8}.play-action-toolbar__roller-modifier-bar:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#ffffff29}.play-action-toolbar__roller-modifier-fill{position:absolute;top:4px;bottom:4px;left:50%;width:calc((50% - 2px) * var(--roller-modifier-fill-ratio, 0));transform-origin:left center;background:#5a999966}.play-action-toolbar__roller-modifier-fill[data-direction=negative]{right:50%;left:auto;transform-origin:right center;background:#a556}.play-action-toolbar__roller-modifier-fill[data-direction=neutral]{width:0}.play-action-toolbar__roller-modifier-value{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;color:#e2e8f0f2;font:700 14px/1 SF Mono,Consolas,monospace;text-shadow:0 1px 2px rgba(0,0,0,.8)}.play-action-toolbar__roller-modifier-value[data-tone=positive]{color:#7cc}.play-action-toolbar__roller-modifier-value[data-tone=negative]{color:#c77}.play-action-toolbar__roller-separator{display:inline-flex;align-items:center;width:1px;align-self:stretch;margin:4px 2px;background:#ffffff29}.play-action-toolbar__roller-die{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:34px;min-width:36px;padding:4px 8px;border:1px solid rgba(255,255,255,.2);border-radius:0;background:var(--bg-elevated);color:var(--dice-color, rgba(241, 245, 249, .96));font-size:13px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px #ffffff1f,0 8px 18px #02061757;text-shadow:0 1px 2px rgba(2,6,23,.92),0 0 8px rgba(2,6,23,.28);transition:background .15s ease,border-color .15s ease,transform .1s ease}.play-action-toolbar__roller-die:hover{background:#1e293bfa;border-color:#ffffff59;transform:translateY(-1px)}.play-action-toolbar__roller-die--hero{padding:4px 12px;font-size:15px;letter-spacing:1px;border-color:#f59e0b}.play-action-toolbar__roller-die--hero:hover{background:#f59e0b26;border-color:#fbbf24}.play-action-toolbar__roller-die-badge{position:absolute;top:0;right:0;min-width:15px;height:15px;padding:0 3px;border-radius:0;background:#f59e0b;color:#020617;font-size:10px;font-weight:700;opacity:0;text-shadow:none;transition:opacity .12s ease,transform .12s ease}.play-action-toolbar__roller-die-badge.is-visible{opacity:1;transform:scale(1)}.play-action-toolbar__roller-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:4px 8px;border:1px solid rgba(255,255,255,.2);border-radius:0;font-size:12px;font-weight:800;letter-spacing:.5px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.play-action-toolbar__roller-toggle--advantage{background:#22c55e14;border-color:#4ade804d;color:#4ade80cc}.play-action-toolbar__roller-toggle--advantage:hover{background:#22c55e2e;border-color:#4ade8080}.play-action-toolbar__roller-toggle--advantage.is-active{background:#22c55e38;border-color:#4ade80d9;color:#4ade80}.play-action-toolbar__roller-toggle--disadvantage{background:#ef444414;border-color:#f871714d;color:#f87171cc}.play-action-toolbar__roller-toggle--disadvantage:hover{background:#ef44442e;border-color:#f8717180}.play-action-toolbar__roller-toggle--disadvantage.is-active{background:#ef444433;border-color:#f87171e0;color:#f87171}.play-action-toolbar__roller-collapsed{display:flex;align-items:center;gap:8px;width:100%;justify-content:center}.play-action-toolbar__roller-collapsed.is-hidden{display:none}.play-action-toolbar__roller-count{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.play-action-toolbar__notation-input--compact{flex:1;max-width:140px;height:28px;padding:0 8px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#0f172a99;color:var(--text-primary);font-size:12px;font-family:Inter,system-ui,sans-serif;outline:none}.play-action-toolbar__button--accent{background:#6366f12e!important;border-color:#6366f159!important;color:#c7d2fe!important}.play-action-toolbar__button--accent:hover{background:#6366f147!important}.dice-roller{display:flex;flex-direction:column;gap:0px;padding-top:2px}.dice-roller-notation-row,.dice-roller-comment-row,.dice-roller-modifier-row,.dice-roller-slider-row,.dice-roller-roll-row{display:flex;align-items:center;gap:6px}.dice-roller-notation-row .ui-trailing-input-shell,.dice-roller-comment-row .ui-trailing-input-shell{flex:1;min-width:0}.dice-roller-notation-row .panel-text-input,.dice-roller-comment-row .panel-text-input{width:100%;border-radius:1px}.dice-roller-notation-row .ui-trailing-input,.dice-roller-comment-row .ui-trailing-input{padding-left:28px}.dice-roller-comment-row .scrub-dot{display:none}.dice-roller-comment-row .ui-trailing-input{padding-left:8px}.dice-roller-primary-dice,.dice-roller-secondary-dice{display:flex;justify-content:center;gap:6px}.dice-roller-btn{position:relative;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.dice-roller-btn[data-die-type]{border-color:#ffffff38;background:#0f172aeb;box-shadow:inset 0 1px #ffffff1f,0 8px 16px #02061752}.dice-roller-btn--primary{width:44px;height:44px}.dice-roller-btn--hero{width:48px;height:48px}.dice-roller-btn--advantage,.dice-roller-btn--disadvantage{width:38px;height:38px}.dice-roller-btn:hover{border-color:#64a0ff73;background:#64a0ff24}.dice-roller-btn[data-die-type]:hover{border-color:#fff6;background:#1e293bf5;filter:brightness(1.08)}.dice-roller-btn.is-active{border-color:#64a0ffd9;background:#3b82f63d}.dice-roller-btn[data-die-type].is-active{border-color:#ffffff94;background:#1e293bfa;box-shadow:inset 0 0 0 1px #ffffff3d,0 0 0 2px #ffffff24;filter:brightness(1.12)}.dice-roller-btn.is-active-advantage{border-color:#4ade80d9;background:#22c55e38}.dice-roller-btn.is-active-disadvantage{border-color:#f87171e0;background:#ef444433}.dice-roller-btn__icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(2,6,23,.7))}.dice-roller-btn--primary .dice-roller-btn__icon{width:28px;height:28px}.dice-roller-btn--hero .dice-roller-btn__icon{width:34px;height:34px}.dice-roller-btn--advantage .dice-roller-btn__icon,.dice-roller-btn--disadvantage .dice-roller-btn__icon{width:22px;height:22px}.dice-roller-die-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.dice-roller-modifier-row .properties-btn{min-width:38px}.dice-roller-modifier-scrub{flex:1}.dice-roller-modifier-scrub .scrub-input{width:100%}.dice-roller-slider{width:100%;accent-color:var(--primary)}.dice-roller-roll-row{justify-content:stretch}.dice-roller-submit-button{width:100%;justify-content:center;background:#3b82f6f2;border-color:#93c5fda6;color:#fff;font-weight:700}.dice-roller-submit-button:hover{background:#2563eb}.dice-roller-clear-inline-button{color:var(--danger);font-weight:700}.dice-roller-status{font-size:var(--text-xs);color:var(--text-secondary);min-height:14px}.dice-roller-status.is-error{color:var(--danger)}.dice-roller-popover{position:fixed;z-index:80;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#18181bfa;box-shadow:0 16px 32px #00000059;width:min(320px,calc(100vw - 24px));padding:10px}.dice-roller-popover__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dice-roller-popover__title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;color:var(--text-tertiary)}.dice-roller-popover__close{width:22px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-secondary);cursor:pointer}.dice-roller-popover__close:hover{color:var(--text-primary)}.roll-result--die{font-size:11px;padding:5px 8px}.roll-result--total{font-size:18px}.roll-result{position:fixed;z-index:38;transform:translate(-50%,-100%) scale(1);display:inline-flex;align-items:baseline;gap:8px;padding:8px 10px;pointer-events:none;animation:roll-result-enter .2s ease-out}.roll-result--critical{border:1px solid rgba(34,197,94,.85);background:linear-gradient(180deg,#22c55e38,#0f172aeb);box-shadow:0 0 16px #22c55e38}.roll-result--failure{border:1px solid rgba(239,68,68,.85);background:linear-gradient(180deg,#ef444438,#0f172aeb);box-shadow:0 0 16px #ef444438}.roll-result--critical .roll-result-type,.roll-result--critical .roll-result-value{color:#bbf7d0}.roll-result--failure .roll-result-type,.roll-result--failure .roll-result-value{color:#fecaca}.roll-result--critical.roll-result--pulse{animation:roll-result-enter .2s ease-out,roll-result-pulse-critical .6s ease-in-out 3}.roll-result--failure.roll-result--pulse{animation:roll-result-enter .2s ease-out,roll-result-pulse-failure .6s ease-in-out 3}.roll-result--hidden{opacity:0;visibility:hidden}.roll-result--dismiss{animation:roll-result-exit .18s ease-in forwards}.roll-result-type{font-size:var(--text-xs);font-weight:700;color:var(--text-tertiary);text-transform:uppercase}.roll-result-value{font-size:var(--text-lg);font-weight:800;color:var(--roll-result-owner-color, var(--text-primary));line-height:1}.roll-result--dropped{opacity:.6;filter:saturate(.35)}.roll-result--dropped .roll-result-value{color:#fca5a5;text-decoration:line-through;text-decoration-color:#ef4444;text-decoration-thickness:2px}.roll-result.roll-result--die{font-size:11px;padding:5px 8px}.roll-result.roll-result--total{font-size:18px;padding:9px 12px}@keyframes roll-result-enter{0%{opacity:0;transform:translate(-50%,-100%) scale(.72)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}@keyframes roll-result-exit{0%{opacity:1;transform:translate(-50%,-100%) scale(1)}to{opacity:0;transform:translate(-50%,-100%) scale(.9)}}@keyframes roll-result-pulse-critical{0%,to{box-shadow:0 0 10px #22c55e40;transform:translate(-50%,-100%) scale(1)}50%{box-shadow:0 0 24px #4ade808c;transform:translate(-50%,-100%) scale(1.08)}}@keyframes roll-result-pulse-failure{0%,to{box-shadow:0 0 10px #ef444440;transform:translate(-50%,-100%) scale(1)}50%{box-shadow:0 0 24px #f871718c;transform:translate(-50%,-100%) scale(1.08)}}.play-dice-roller-panel{position:fixed;z-index:48;width:320px;min-width:320px;transform-origin:top left;border:1px solid rgba(231,41,41,.14);border-radius:14px;background:#0f172af5;box-shadow:0 20px 40px #00000073;overflow:hidden}.play-dice-roller-panel.is-collapsed .play-dice-roller-panel__section,.play-dice-roller-panel.hidden{display:none}.play-dice-roller-panel__floating-controls{position:absolute;top:8px;right:8px;display:inline-flex;gap:6px;z-index:1}.play-dice-roller-panel__control{width:24px;height:24px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#0f172aeb;color:#f1f5f9e0;font-size:13px;font-weight:700;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.play-dice-roller-panel__control:hover,.play-dice-roller-panel__control:focus-visible{border-color:#94a3b899;background:#1e293beb;color:#fffffff5}.play-dice-roller-panel__resize-handle{position:absolute;right:0;bottom:0;width:24px;height:24px;cursor:nwse-resize;z-index:1;background:linear-gradient(135deg,transparent 0 46%,rgba(148,163,184,.14) 46% 54%,transparent 54% 100%),linear-gradient(135deg,transparent 0 63%,rgba(148,163,184,.24) 63% 71%,transparent 71% 100%),linear-gradient(135deg,transparent 0 80%,rgba(226,232,240,.34) 80% 88%,transparent 88% 100%);opacity:.8;transition:opacity .15s ease}.play-dice-roller-panel__resize-handle:hover,.play-dice-roller-panel__resize-handle:focus-visible{opacity:1}.play-dice-roller-panel__header,.play-dice-roller-panel__section{padding:8px 10px}.play-dice-roller-panel__header{border-bottom:1px solid rgba(255,255,255,.08);background:#020617b8}.play-dice-roller-panel__header-title,.play-dice-roller-panel__input-label{font-size:10px;font-weight:700;letter-spacing:.55px;text-transform:uppercase;color:#e2e8f094;background:var(--bg-dark)}.play-dice-roller-panel__chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.play-dice-roller-panel__chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:0;border-radius:999px;color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.play-dice-roller-panel__chip:hover{background:#ffffff1f;transform:translateY(-1px)}.play-dice-roller-panel__chip-dot{width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.6}.play-dice-roller-panel__chip-remove{opacity:.72}.play-dice-roller-panel__section{border-bottom:1px solid rgba(255,255,255,.08)}.play-dice-roller-panel__section--actions{border-bottom:0}.play-dice-roller-panel__section--inputs{display:flex;flex-direction:column;gap:6px}.play-dice-roller-panel__input-row{display:flex;align-items:center;min-height:32px;border:1px solid rgba(255,255,255,.12);background:var(--bg-dark);transition:border-color .15s ease}.play-dice-roller-panel__input-row:focus-within{border-color:#94a3b880}.play-dice-roller-panel__input-label{display:inline-flex;align-items:center;align-self:stretch;padding:0 8px;border-right:1px solid rgba(255,255,255,.08);background:var(--bg-dark);font-weight:100}.play-dice-roller-panel__input{flex:1;min-width:0;padding:5px 8px;border:0;background:transparent;color:var(--text-primary);font:100 12px/1.35 SF Mono,Consolas,monospace}.play-dice-roller-panel__comment-shell{flex:1;min-width:0}.play-dice-roller-panel__comment-shell .scrub-dot{display:none}.play-dice-roller-panel__comment-input{height:30px;border:0;border-radius:0;background:transparent;font:100 12px/1.35 SF Mono,Consolas,monospace}.play-dice-roller-panel__comment-shell .ui-trailing-input--select{padding-left:8px;padding-right:58px}.play-dice-roller-panel__comment-shell .ui-trailing-input__select-trigger{right:8px;gap:6px;color:#e2e8f0b8;font-size:11px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}.play-dice-roller-panel__comment-shell .ui-trailing-input__select-trigger:hover,.play-dice-roller-panel__comment-shell .ui-trailing-input__select-trigger:focus-visible{color:#fffffff5}.play-dice-roller-panel__input::-moz-placeholder{color:#94a3b8a6}.play-dice-roller-panel__input::placeholder{color:#94a3b8a6}.play-dice-roller-panel__input:focus{outline:none}.play-dice-roller-panel__input-clear{padding:0 7px;border:0;background:transparent;color:#e2e8f099;font-size:13px;cursor:pointer;opacity:0;transition:color .15s ease,opacity .15s ease}.play-dice-roller-panel__input-clear:hover{color:#fffffff2}.play-dice-roller-panel__input-clear.is-visible,.play-dice-roller-panel__input-row:hover .play-dice-roller-panel__input-clear,.play-dice-roller-panel__input-clear:focus-visible{opacity:1}.play-dice-roller-panel__dice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin-bottom:6px}.play-dice-roller-panel__die-button{position:relative;min-height:30px;border:1px solid rgba(255,255,255,.2);border-radius:0;background:var(--bg-elevated);color:var(--dice-color, rgba(241, 245, 249, .96));font-size:12px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px #ffffff1f,0 8px 18px #02061757;text-shadow:0 1px 2px rgba(2,6,23,.92),0 0 8px rgba(2,6,23,.28);transition:background .15s ease,border-color .15s ease,transform .1s ease}.play-dice-roller-panel__die-button:hover{background:#1e293bfa;border-color:#ffffff59;transform:translateY(-1px)}.play-dice-roller-panel__die-button--hero{grid-column:span 2;letter-spacing:1px;border-color:#f59e0b}.play-dice-roller-panel__die-button--hero:hover{background:#f59e0b26;border-color:#fbbf24}.play-dice-roller-panel__die-badge{position:absolute;top:0;right:0;min-width:15px;height:15px;padding:0 3px;border-radius:0;background:#f59e0b;color:#020617;font-size:10px;font-weight:700;opacity:0;text-shadow:none;transition:opacity .12s ease,transform .12s ease}.play-dice-roller-panel__die-badge.is-visible{opacity:1;transform:scale(1)}.play-dice-roller-panel__modifier{position:relative;display:block;width:100%;height:30px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:var(--bg-dark);cursor:ew-resize;overflow:hidden;transition:border-color .15s ease,background .15s ease}.play-dice-roller-panel__modifier:hover{border-color:#ffffff40;background:#141e32b8}.play-dice-roller-panel__modifier:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#ffffff29}.play-dice-roller-panel__modifier-fill{position:absolute;top:4px;bottom:4px;left:50%;width:calc((50% - 2px) * var(--play-dice-roller-panel-fill-ratio, 0));transform-origin:left center;background:#5a999966}.play-dice-roller-panel__modifier-fill[data-direction=negative]{right:50%;left:auto;transform-origin:right center;background:#a556}.play-dice-roller-panel__modifier-fill[data-direction=neutral]{width:0}.play-dice-roller-panel__modifier-value{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;color:#e2e8f0f2;font:700 14px/1 SF Mono,Consolas,monospace;text-shadow:0 1px 2px rgba(0,0,0,.8)}.play-dice-roller-panel__modifier-value[data-tone=positive]{color:#7cc}.play-dice-roller-panel__modifier-value[data-tone=negative]{color:#c77}.play-dice-roller-panel__section--toggles,.play-dice-roller-panel__section--actions{display:flex;gap:6px}.play-dice-roller-panel__toggle,.play-dice-roller-panel__save,.play-dice-roller-panel__roll{min-height:28px;border:1px solid rgba(255,255,255,.14);border-radius:0;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.play-dice-roller-panel__toggle{flex:1;background:var(--bg-elevated);color:var(--text-primary);font-size:11px;font-weight:700;letter-spacing:.5px}.play-dice-roller-panel__toggle:hover{background:#1e293beb;border-color:#ffffff40}.play-dice-roller-panel__toggle.is-active:first-child{background:linear-gradient(180deg,#1a3025,#152520);border-color:#4a8;color:#4a8}.play-dice-roller-panel__toggle.is-active:first-child:hover{background:linear-gradient(180deg,#1f3a2c,#1a2f28)}.play-dice-roller-panel__toggle.is-active:last-child{background:linear-gradient(180deg,#301515,#251515);border-color:#a54;color:#a54}.play-dice-roller-panel__toggle.is-active:last-child:hover{background:linear-gradient(180deg,#3a1a1a,#2f1a1a)}.play-dice-roller-panel__save{min-width:88px;min-height:100%;background:var(--bg-elevated);color:#e2e8f0b8;font-size:12px;font-weight:600;letter-spacing:.4px;padding:5px}.play-dice-roller-panel__save:hover:not(:disabled){background:#1e293beb;color:#ffffffe6;border-color:#fff3}.play-dice-roller-panel__save:disabled{color:#e2e8f066;border-color:#ffffff14;cursor:default}.play-dice-roller-panel__roll{flex:1;border-color:#d08030;color:#fff;font-size:12px;font-weight:800;letter-spacing:.5px;background:#c878201a}.play-dice-roller-panel__roll:hover:not(:disabled){background:#c878204d;border-color:#f59e0b;box-shadow:0 0 12px #f59e0b33}.play-dice-roller-panel__roll:disabled{background:#1e293be0;border-color:#ffffff1f;color:#e2e8f07a;cursor:not-allowed}.play-dice-roller-panel__world-label{position:fixed;z-index:46;min-width:44px;max-width:240px;padding:4px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#0f172ae0;color:#f1f5f9f2;font:700 11px/1.2 SF Mono,Consolas,monospace;letter-spacing:.2px;white-space:nowrap;text-align:center;transform:translate(-50%,-100%);pointer-events:none;box-shadow:0 8px 18px #00000047}.play-combat-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;position:relative;padding-top:2px}.play-combat-status{text-align:center;font-size:var(--text-sm);font-weight:700;color:var(--text-primary);min-height:18px}.play-combat-gear-btn{position:absolute;top:0;left:0;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s ease,background .15s ease}.play-combat-gear-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff14}.play-combat-gear-btn:disabled{opacity:.4;cursor:not-allowed}.play-combat-gear-btn svg{width:16px;height:16px}.play-combat-gear-dropdown{position:absolute;top:28px;left:0;min-width:160px;background:#2d2d2d;border:1px solid #333333;border-radius:8px;padding:4px;z-index:10;box-shadow:0 8px 24px #0006}.play-combat-gear-dropdown__item{display:block;width:100%;padding:6px 10px;border:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);text-align:left;border-radius:6px;cursor:pointer}.play-combat-gear-dropdown__item:hover{background:#ffffff14}.play-combat-turn-buttons{display:flex;gap:8px}.play-combat-turn-btn{flex:1;min-height:32px}.play-combat-list-frame{display:flex;flex-direction:column;gap:8px}.play-combat-list-frame--scrollable{gap:0}.play-combat-list{display:flex;flex-direction:column;gap:8px}.play-combat-list--viewport{max-height:532px;overflow-y:auto;padding-right:4px;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.play-combat-list--viewport::-webkit-scrollbar{display:none}.play-combat-list--viewport.is-grab-ready,.play-combat-list--viewport.is-grabbing{cursor:grabbing}.play-combat-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0;min-height:65px;border-radius:10px;background:#0f172a8c;border:1px solid rgba(255,255,255,.06);border-left:4px solid var(--play-combat-affiliation-color, rgba(255, 255, 255, .08));padding:10px 12px;cursor:pointer;overflow:clip;transform-origin:top center;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .28s ease,opacity .28s ease,max-height .28s ease,margin .28s ease,padding .28s ease}.play-combat-row.is-active{background:#0f172ab8;border-left-color:var(--play-combat-affiliation-color);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--play-combat-affiliation-color) 45%,transparent),0 0 12px color-mix(in srgb,var(--play-combat-affiliation-color) 18%,transparent)}.play-combat-row[data-combat-ghost=true]{pointer-events:none;opacity:.6}.play-combat-row-initiative{font-size:20px;font-weight:800;color:var(--text-secondary);font-variant-numeric:tabular-nums;line-height:1;display:flex;align-items:center;justify-content:center;background:none;border-radius:0}.play-combat-row.is-active .play-combat-row-initiative{color:var(--text-primary)}.play-combat-row-content{display:flex;flex-direction:column;gap:4px;justify-content:center;min-width:0}.play-combat-row-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.play-combat-row-name{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 0}.play-combat-row[data-combat-affiliation=enemy] .play-combat-row-name{color:#fca5a5}.play-combat-row-stats{display:flex;align-items:baseline;gap:8px;flex-shrink:0;font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap}.play-combat-row-stats-hp{padding:0;border:0;background:transparent;color:var(--text-primary);font-weight:700;cursor:pointer}.play-combat-row-lower{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;margin-top:2px}.play-combat-hp-bar{height:4px;border-radius:2px;background:#ffffff14;overflow:hidden;min-width:18px}.play-combat-hp-bar__fill{height:100%;border-radius:2px;background:var(--play-combat-affiliation-color, var(--primary));transition:width .3s ease}.play-combat-row-conditions{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;flex:0 0 auto;min-height:18px;justify-content:flex-end}.play-combat-row-conditions--empty{opacity:.7}.play-combat-row-conditions-spacer{width:18px;height:18px;display:inline-block}.play-combat-condition-icon{width:18px;height:18px;padding:0;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,filter .12s ease}.play-combat-condition-icon:hover{transform:scale(1.15);filter:brightness(1.15)}.play-combat-condition-icon svg{width:16px;height:16px;color:currentColor;fill:none;stroke:currentColor;stroke-width:2.2}.play-combat-condition-icon--green{color:#22c55e}.play-combat-condition-icon--red{color:#ef4444}.play-combat-condition-icon--blue{color:#3b82f6}.play-combat-condition-icon--grey{color:#94a3b8}.play-combat-condition-icon--gold{color:#eab308}.play-combat-condition-icon--orange{color:#f97316}.play-combat-condition-icon--cyan{color:#06b6d4}.play-combat-condition-icon--black{color:#1e293b}.play-combat-condition-icon--yellow{color:#facc15}.play-combat-condition-icon--crimson{color:#dc2626}.play-combat-condition-icon--emerald{color:#10b981}.play-combat-condition-icon--violet{color:#8b5cf6}.play-combat-condition-icon--white{color:#f1f5f9}.play-combat-condition-icon--azure{color:#38bdf8}.play-combat-condition-icon--pink{color:#ec4899}.play-combat-condition-icon--indigo{color:#6366f1}.play-combat-round-divider{min-height:34px;border-radius:10px;border:1px solid rgba(148,163,184,.18);color:#e2e8f0eb;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.play-combat-permission-message{border:1px solid rgba(96,165,250,.38);border-radius:10px;padding:12px;background:#3b82f624;color:#bfdbfefa;font-size:var(--text-sm);line-height:1.45}.play-combat-row-condition-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.play-combat-chip{border-radius:999px;padding:3px 8px;border:1px solid rgba(255,255,255,.09);background:#0f172a80;color:var(--text-secondary);font-size:11px;font-weight:600}.play-combat-chip--owner{letter-spacing:.04em}.play-combat-chip--condition{border-color:#64a0ff47;display:inline-flex;align-items:center;overflow:hidden;padding-right:0}.play-combat-chip__icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;margin-left:6px;margin-right:4px}.play-combat-chip__icon svg{width:12px;height:12px;color:currentColor;fill:none;stroke:currentColor;stroke-width:2}.play-combat-chip__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.play-combat-chip__duration{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:3px 7px;border-left:1px solid rgba(255,255,255,.12);background:#0f172a3d;font-size:10px}.play-combat-chip--condition-green{border-color:#4ade8073;background:#22c55e29}.play-combat-chip--condition-red{border-color:#f8717173;background:#ef444429}.play-combat-chip--condition-blue{border-color:#64a0ff73;background:#3b82f629}.play-combat-chip--condition-grey{border-color:#94a3b873;background:#64748b2e}.play-combat-chip--condition-gold{border-color:#eab30873;background:#eab30824}.play-combat-chip--condition-orange{border-color:#f9731673;background:#f9731624}.play-combat-chip--condition-cyan{border-color:#06b6d473;background:#06b6d424}.play-combat-chip--condition-black{border-color:#64748b73;background:#1e293b4d}.play-combat-chip--condition-yellow{border-color:#facc1573;background:#facc151f}.play-combat-chip--condition-crimson{border-color:#dc262673;background:#dc262629}.play-combat-chip--condition-emerald{border-color:#10b98173;background:#10b98124}.play-combat-chip--condition-violet{border-color:#8b5cf673;background:#8b5cf624}.play-combat-chip--condition-white{border-color:#f1f5f959;background:#f1f5f91a}.play-combat-chip--condition-azure{border-color:#38bdf873;background:#38bdf824}.play-combat-chip--condition-pink{border-color:#ec489973;background:#ec489924}.play-combat-chip--condition-indigo{border-color:#6366f173;background:#6366f124}.play-combat-inline-btn,.play-combat-primary-btn{border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:var(--text-primary);font-size:var(--text-xs);font-weight:700;transition:background .15s,border-color .15s}.play-combat-inline-btn:hover:not(:disabled),.play-combat-primary-btn:hover:not(:disabled){background:#ffffff29;border-color:#ffffff38}.play-combat-primary-btn{border-color:#64a0ff80;background:#3b82f638}.play-combat-primary-btn:hover:not(:disabled){background:#3b82f659;border-color:#64a0ffb3}.play-combat-inline-btn--danger{border-color:#f8717159;background:#ef444424}.play-combat-icon-btn{width:22px;min-width:22px;padding:0;display:inline-flex;align-items:center;justify-content:center}.play-combat-icon-btn__icon,.play-combat-icon-btn .icon-button__image{width:14px;height:14px;display:block;-o-object-fit:contain;object-fit:contain}.play-combat-inline-btn:disabled,.play-combat-primary-btn:disabled{opacity:.45;cursor:not-allowed}.play-combat-modal-overlay{position:fixed;inset:0;z-index:55;display:flex;align-items:center;justify-content:center;padding:24px;background:#02061799}.play-combat-modal{width:min(1040px,100%);max-height:min(82vh,760px);overflow:auto;border-radius:14px;padding:16px 18px}.play-combat-modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.play-combat-modal-title{font-size:16px;font-weight:700;color:var(--text-primary)}.play-combat-modal-close{width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:var(--text-primary);cursor:pointer}.play-combat-modal-content{display:flex;flex-direction:column;gap:12px}.play-float-panel .play-combat-editor-surface.play-combat-modal-overlay{position:static;inset:auto;z-index:auto;display:block;padding:0;background:none}.play-float-panel .play-combat-editor-surface .play-combat-modal{width:100%;max-height:none;overflow:visible;border-radius:0;padding:0;background:none;border:0;box-shadow:none}.play-combat-editor-surface.play-combat-modal-overlay{position:fixed;inset:auto 24px 24px auto;z-index:70;display:block;padding:0;background:none;pointer-events:none}.play-combat-editor-surface .play-combat-modal{width:min(960px,calc(100vw - 48px));max-height:min(78vh,820px);overflow:auto;pointer-events:auto}.play-combat-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.play-combat-merged-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:16px;align-items:start}.play-combat-merged-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.play-combat-merged-panel--log{min-width:0}.play-combat-merged-panel--stats{min-width:320px}.play-combat-merged-panel-title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.play-combat-recent-rolls{display:flex;flex-direction:column;gap:8px}.play-combat-recent-rolls-title{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.play-combat-recent-rolls-list{display:flex;flex-wrap:wrap;gap:8px}.play-combat-recent-roll-btn{max-width:100%}.play-combat-recent-roll-btn--empty{opacity:.6}.play-combat-field{display:flex;flex-direction:column;gap:6px}.play-combat-field-label,.play-combat-form-section-title{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-tertiary);font-weight:700}.play-combat-log-input-wrap .ui-text-input-shell,.play-combat-custom-row .ui-text-input-shell,.play-combat-log-edit .ui-text-input-shell,.property-row-value .ui-text-input-shell{width:100%;min-width:0}.ui-text-input-shell>.play-combat-field-input{width:90%;min-width:0;color:var(--text-primary)}.ui-expandable-text-input{width:100%;min-width:0}.ui-expandable-text-input__shell{position:relative}.ui-expandable-text-input__input{padding-right:24px}.ui-expandable-text-input__expand{position:absolute;top:50%;right:3px;transform:translateY(-50%);width:16px;min-width:16px;height:16px;padding:0;border:0;background:transparent;color:var(--text-tertiary);border-radius:3px}.ui-expandable-text-input__expand:hover:not(:disabled){background:#ffffff14;color:var(--text-primary)}.ui-expandable-text-input__expand:disabled{opacity:.45;cursor:not-allowed}.ui-expandable-text-input__overlay{z-index:1200}.ui-expandable-text-input__modal{width:min(560px,calc(100vw - 32px))}.ui-expandable-text-input__body{display:flex;flex-direction:column;gap:12px}.ui-expandable-text-input__textarea{min-height:180px;resize:vertical}.ui-expandable-text-input__actions{display:flex;justify-content:flex-end;gap:8px}.play-combat-field-input--error{border-color:#f87171bf;box-shadow:0 0 0 1px #f8717133}.play-combat-form-section{display:flex;flex-direction:column;gap:10px}.play-combat-form-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.play-combat-custom-fields,.play-combat-log-list{display:flex;flex-direction:column;gap:8px}.play-combat-custom-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.play-combat-log-add{display:flex;align-items:center;gap:8px;min-width:0}.play-combat-log-input-wrap{flex:1 1 auto;min-width:0}.play-combat-type-select-wrapper{width:112px;min-width:112px}.play-combat-type-select{width:112px;min-width:112px;color:var(--text-primary);font-size:var(--text-xs);font-weight:700}.play-combat-type-select-wrapper .inspector-dropdown{width:100%}.play-combat-log-condition-fields{display:flex;align-items:center;gap:8px;flex:0 0 auto;max-width:0;min-width:0;overflow:hidden;opacity:0;visibility:hidden;transform:translate(-10px) scaleX(.92);transform-origin:left center;pointer-events:none;transition:max-width .22s ease,opacity .18s ease,transform .22s ease,visibility 0s linear .22s}.play-combat-log-add.is-condition-mode .play-combat-log-condition-fields{max-width:180px;opacity:1;visibility:visible;transform:translate(0) scaleX(1);pointer-events:auto;transition:max-width .22s ease,opacity .18s ease,transform .22s ease,visibility 0s linear 0s}.play-combat-duration-field{width:auto;min-width:0}.play-combat-field--compact{gap:4px}.play-combat-color-trigger{width:28px;min-width:28px;height:28px;border-radius:6px;padding:0;display:inline-flex;align-items:center;justify-content:center}.play-combat-color-trigger__swatch{width:18px;height:18px;border-radius:999px;border:1px solid rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center}.play-combat-color-trigger__swatch svg{width:12px;height:12px;color:#fff;fill:none;stroke:currentColor;stroke-width:2}.play-combat-condition-palette{position:fixed;z-index:1400;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;min-width:176px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#0f172af5;box-shadow:0 12px 32px #00000073}.play-combat-condition-palette__cell{width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.play-combat-condition-palette__cell.is-selected{border-color:#ffffffb3;box-shadow:0 0 0 1px #ffffff38}.play-combat-condition-palette__icon{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.play-combat-condition-palette__icon svg{width:12px;height:12px;color:#fff;fill:none;stroke:currentColor;stroke-width:2}.play-combat-log-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border-radius:10px;padding:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.play-combat-log-row.is-editing{grid-template-columns:minmax(0,1fr) auto;align-items:center}.play-combat-log-row--entering{animation:combat-log-row-enter .42s cubic-bezier(.16,1,.3,1)}.play-combat-log-row--shifting{animation:combat-log-row-shift .32s cubic-bezier(.16,1,.3,1)}.play-combat-log-entry{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:var(--text-sm);overflow-wrap:anywhere}.play-combat-log-main{display:flex;flex-direction:column;gap:4px;min-width:0}.play-combat-log-meta{color:var(--text-tertiary);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-combat-log-actions{display:inline-flex;align-items:center;gap:6px}.play-combat-log-edit{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.play-combat-log-edit-input{min-width:0}.play-combat-condition-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto;border:1px solid rgba(255,255,255,.28)}.play-combat-condition-dot--green{background:#22c55e}.play-combat-condition-dot--red{background:#ef4444}.play-combat-condition-dot--blue{background:#3b82f6}.play-combat-condition-dot--grey{background:#94a3b8}.play-combat-condition-dot--gold{background:#eab308}.play-combat-condition-dot--orange{background:#f97316}.play-combat-condition-dot--cyan{background:#06b6d4}.play-combat-condition-dot--black{background:#1e293b;border:1px solid rgba(255,255,255,.2)}.play-combat-condition-dot--yellow{background:#facc15}.play-combat-condition-dot--crimson{background:#dc2626}.play-combat-condition-dot--emerald{background:#10b981}.play-combat-condition-dot--violet{background:#8b5cf6}.play-combat-condition-dot--white{background:#f1f5f9}.play-combat-condition-dot--azure{background:#38bdf8}.play-combat-condition-dot--pink{background:#ec4899}.play-combat-condition-dot--indigo{background:#6366f1}.play-combat-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.play-combat-editor-hint{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.play-combat-summary{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.play-combat-summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.play-combat-summary-stat{display:flex;flex-direction:column;gap:3px}.play-combat-summary-label{color:var(--text-tertiary);font-size:10px;font-weight:700;text-transform:uppercase}.play-combat-summary-value{color:var(--text-primary);font-size:var(--text-sm);font-weight:700}.play-combat-summary-conditions{display:flex;flex-direction:column;gap:8px}.play-combat-summary-condition-list{display:flex;flex-wrap:wrap;gap:6px}.play-combat-summary-condition{display:inline-flex}.play-combat-summary-empty{color:var(--text-tertiary);font-size:var(--text-xs)}.play-combat-summary-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:var(--text-primary);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.play-combat-summary-chip:hover{transform:translateY(-1px)}.play-combat-summary-chip.is-hover-remove{background:#ef44442e;border-color:#f8717173}.play-combat-summary-chip:focus-visible{outline:2px solid rgba(96,165,250,.9);outline-offset:1px}.play-combat-summary-chip__label{font-size:12px;font-weight:600}.play-combat-summary-chip__icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.play-combat-summary-chip__icon svg{width:12px;height:12px;color:currentColor;fill:none;stroke:currentColor;stroke-width:2}.play-combat-summary-chip__duration{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;background:#0003}.play-combat-summary-chip.play-combat-chip--condition-green{background:#22c55e2e;border-color:#22c55e4d}.play-combat-summary-chip.play-combat-chip--condition-red{background:#f871712e;border-color:#f871714d}.play-combat-summary-chip.play-combat-chip--condition-blue{background:#60a5fa2e;border-color:#60a5fa4d}.play-combat-summary-chip.play-combat-chip--condition-gold,.play-combat-summary-chip.play-combat-chip--condition-yellow{background:#fbbf242e;border-color:#fbbf244d}.play-combat-summary-chip.play-combat-chip--condition-grey,.play-combat-summary-chip.play-combat-chip--condition-black,.play-combat-summary-chip.play-combat-chip--condition-white{background:#94a3b82e;border-color:#94a3b84d}.play-combat-summary-chip.play-combat-chip--condition-violet,.play-combat-summary-chip.play-combat-chip--condition-indigo{background:#a78bfa2e;border-color:#a78bfa4d}.play-combat-lockable-field{width:100%}.play-combat-hp-field-row{width:100%;display:flex;align-items:center;gap:8px}.play-combat-hp-field-row .play-combat-lockable-field{flex:1 1 auto;min-width:0}.play-combat-log-add .play-combat-primary-btn{width:22px;min-width:22px;padding:0;white-space:nowrap}.play-combat-scrub-input{width:auto;min-width:0}.play-combat-scrub-input .scrub-input,.play-combat-lockable-field .ui-lockable-input{width:100%}.play-combat-lockable-field .ui-lockable-input .scrub-input{flex:1 1 auto}.play-combat-log-add .play-combat-scrub-input .scrub-input{height:22px;border-radius:4px}.play-combat-log-add .play-combat-scrub-input .scrub-input--content,.play-combat-log-edit .play-combat-scrub-input .scrub-input--content{width:auto}.play-combat-merged-panel--stats .property-row{grid-template-columns:42% minmax(0,1fr)}.play-combat-merged-panel--stats .property-row-value{min-width:0}.play-combat-initiative-field{width:100%;display:flex;align-items:center;gap:8px}.play-combat-initiative-field .play-combat-scrub-input{flex:1 1 auto;min-width:0}.play-combat-initiative-reuse-btn{flex:0 0 auto}@media(max-width:980px){.play-combat-editor-surface.play-combat-modal-overlay{inset:auto 16px 16px}.play-combat-editor-surface .play-combat-modal{width:auto;max-height:min(72vh,760px)}.play-combat-merged-layout{grid-template-columns:1fr}.play-combat-log-add{flex-wrap:wrap}.play-combat-log-row,.play-combat-log-row.is-editing{grid-template-columns:1fr}.play-combat-log-edit,.play-combat-log-actions{flex-wrap:wrap}.play-combat-type-select,.play-combat-log-input-wrap{flex:1 1 100%;width:100%}.play-combat-log-add.is-condition-mode .play-combat-log-condition-fields{max-width:calc(100% - 42px)}}@keyframes combat-log-row-enter{0%{opacity:0;transform:translateY(-22px) scale(.97);background:#3b82f647;box-shadow:0 0 0 1px #60a5fa33}60%{opacity:1;transform:translateY(2px) scale(1.01);background:#3b82f629}to{opacity:1;transform:translateY(0);background:#ffffff0d;box-shadow:none}}@keyframes combat-log-row-shift{0%{opacity:.75;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.play-combat-merged-layout--locked{position:relative}.play-combat-stats-lock-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#0f172abf;backdrop-filter:blur(4px);border-radius:inherit;padding:16px}.play-combat-stats-lock-message{color:#94a3b8f2;font-size:var(--text-sm);text-align:center;line-height:1.5}.play-combat-stats-lock-override-btn{flex-shrink:0}.multiplayer-pill{font-size:10px;line-height:1;border-radius:999px;border:1px solid var(--border-strong);padding:2px 6px;color:var(--text-secondary);background:#0f172a99}.multiplayer-pill--you{border-color:#3b82f6e6;color:#bfdbfe}.multiplayer-pill--gm{border-color:#f43f5ee6;color:#fecdd3}.multiplayer-pill--online{border-color:#22c55ee6;color:#bbf7d0}.multiplayer-pill--offline{border-color:#6b7280e6;color:#d1d5db}.play-float-panel[data-float-panel=multiplayer]{min-width:400px;max-width:min(460px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow-y:hidden}.play-float-panel[data-float-panel=multiplayer] .multiplayer-slot-list--fullwidth .property-row-value,.play-float-panel[data-float-panel=multiplayer] .multiplayer-slot-list--fullwidth .property-row-value>div{width:100%}.multiplayer-slot-property-row{grid-template-columns:minmax(92px,auto) minmax(0,1fr);align-items:center}.multiplayer-slot-label{display:inline-flex;align-items:center;gap:8px}.multiplayer-slot-status-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto;box-shadow:0 0 0 1px #0f172ab3}.multiplayer-slot-status-dot--online{background:#22c55e}.multiplayer-slot-status-dot--offline{background:#6b7280}.play-float-panel[data-float-panel=multiplayer] .multiplayer-slot-row-controls>hex-select-input{min-width:0;width:100%}.play-outliner-list{display:flex;flex-direction:column;gap:6px}.play-outliner-group,.play-outliner-group-list{display:flex;flex-direction:column;gap:2px}.play-outliner-group-title{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;padding:2px 6px}.play-outliner-group-title--ungrouped{margin-top:2px}.play-outliner-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);transition:background .1s ease}.play-outliner-item:hover{background:var(--bg-hover);color:var(--text-primary)}.play-outliner-item.is-selected{background:#3b82f626;color:var(--text-primary)}.play-outliner-item[draggable=true]{cursor:grab}.play-outliner-item.is-dragging{opacity:.55;cursor:grabbing}.play-outliner-item.is-context-open{background:#3b82f61f;color:var(--text-primary)}.play-outliner-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-outliner-type{font-size:11px;color:var(--text-tertiary);margin-left:8px;flex-shrink:0}.play-roster-list{display:flex;flex-direction:column;gap:8px}.play-roster-room{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:6px}.play-roster-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#0f172a6b;border:1px solid rgba(148,163,184,.18)}.play-roster-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #0f172ab3}.play-roster-dot--online{background:#22c55e}.play-roster-dot--offline{background:#6b7280}.play-roster-body{min-width:0}.play-roster-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.play-roster-meta{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.play-roster-empty-state{padding:10px 12px;border-radius:12px;background:#0f172a6b;border:1px solid rgba(148,163,184,.18)}.play-roster-empty-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.play-roster-empty-copy{margin-top:4px;font-size:var(--text-xs);color:var(--text-tertiary)}.play-notif-list{display:flex;flex-direction:column;gap:8px;min-width:0}.play-notif-card{position:relative;display:flex;align-items:flex-start;gap:12px;min-width:0;width:100%;box-sizing:border-box;padding:12px 60px 12px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0f172a80;box-shadow:inset 3px 0 0 var(--notif-player-color, rgba(255, 255, 255, .12))}.play-notif-icon{position:relative;width:64px;height:64px;padding:8px;border-radius:14px;border:2px solid var(--notif-player-color, rgba(255, 255, 255, .12));display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary);background:#0f172ad9;box-shadow:inset 0 1px #ffffff0a}.play-notif-icon--glyph{color:var(--text-primary)}.play-notif-icon svg{width:30px;height:30px}.play-notif-icon-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;image-rendering:auto}.play-notif-icon-value{position:absolute;right:-8px;bottom:-8px;min-width:24px;height:24px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text-primary);background:#3b82f6eb;box-shadow:0 4px 10px #02061759}.play-notif-text{flex:1;font-size:var(--text-sm);color:var(--text-primary);line-height:1.35;min-width:0}.play-notif-roll-summary{display:flex;flex-direction:column;gap:4px}.play-notif-move-summary{display:flex;flex-direction:column;gap:6px}.play-notif-combat-summary{display:flex;flex-direction:column;gap:4px}.play-notif-roll-line,.play-notif-move-line,.play-notif-combat-line{line-height:1.35;overflow-wrap:anywhere}.play-notif-roll-line--actor{font-weight:700}.play-notif-roll-line--comment,.play-notif-roll-line--total{color:var(--text-secondary)}.play-notif-move-line--actor{font-weight:700}.play-notif-move-line--breakdown{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-secondary)}.play-notif-move-line--total{color:var(--text-secondary)}.play-notif-combat-line--actor{font-weight:700}.play-notif-combat-line--owner{color:var(--text-secondary)}.play-notif-move-segment{display:inline-flex;align-items:center;gap:4px}.play-notif-inline-icon{width:14px;height:14px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.play-notif-roll-outcome{font-weight:700}.play-notif-roll-outcome--critical{color:#4ade80}.play-notif-roll-outcome--failure{color:#f87171}.play-notif-roll-dropped{color:#fca5a5}.play-notif-roll-dropped s{text-decoration-color:#ef4444;text-decoration-thickness:2px}.play-notif-actions{position:absolute;top:6px;right:8px;display:flex;align-items:center;gap:4px}.play-notif-close,.play-notif-expand{min-width:20px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:12px;font-weight:700;line-height:1;padding:2px 4px}.play-notif-read{min-width:auto;padding-inline:6px;border-radius:6px;color:var(--text-primary);background:#ffffff0f}.play-notif-read:disabled{opacity:.55;cursor:not-allowed}.play-notif-shared-summary{display:flex;flex-direction:column;gap:6px}.play-notif-shared-title{font-weight:700}.play-notif-shared-excerpt{color:var(--text-secondary);font-style:italic;overflow-wrap:anywhere}.play-notif-close:hover,.play-notif-expand:hover{color:var(--text-primary)}.play-notif-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#020617b8}.play-notif-modal{width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0f172af5;box-shadow:0 18px 44px #00000080;padding:12px 14px 14px}.play-notif-modal-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.play-notif-modal-title{font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.play-notif-modal-close{border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:16px;line-height:1;padding:2px 4px}.play-notif-modal-close:hover{color:var(--text-primary)}.play-notif-modal-content{display:flex;flex-direction:column;gap:10px}.play-notif-modal-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:4px}.play-notif-modal-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:var(--text-sm);color:var(--text-primary)}.play-notif-modal-row-label{color:var(--text-tertiary);flex:0 0 132px}.play-notif-modal-row-value{color:var(--text-primary);text-align:right;min-width:0}.play-notif-modal-section{margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px}.play-notif-modal-section-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:2px}.play-notif-modal-line{font-size:var(--text-sm);color:var(--text-secondary)}.play-notif-modal-line--movement{display:inline-flex;align-items:center;gap:6px}.play-notif-modal-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.play-notif-modal-table th,.play-notif-modal-table td{padding:6px 8px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}.play-notif-modal-table th{color:var(--text-tertiary);font-weight:600}.play-notif-modal-table td{color:var(--text-primary)}.play-notif-modal-table tr.is-dropped td{color:#fca5a5}.play-notif-roll-status.is-kept{color:var(--success, #4ade80);font-weight:600}.play-notif-roll-status.is-dropped{color:var(--text-secondary);text-decoration:line-through}.asset-browser-hint{font-size:var(--text-xs);color:var(--text-secondary)}.asset-browser-search-row{padding:4px 0 2px}.asset-browser-search{width:100%;padding:5px 8px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-base);color:var(--text-primary);font-size:var(--text-xs);outline:none}.asset-browser-search:focus{border-color:var(--primary)}.asset-browser-content{display:grid;gap:10px}.asset-browser-group{display:grid;gap:6px}.asset-browser-group-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.asset-browser-grid{display:grid;grid-template-columns:1fr;gap:6px;align-items:start}.asset-browser-content.layout-grid-2 .asset-browser-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.asset-browser-content.layout-grid-3 .asset-browser-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.asset-browser-content.layout-icon-list .asset-browser-grid{grid-template-columns:1fr;gap:3px}.asset-browser-card{position:relative;width:100%;min-width:0;text-align:left;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary);padding:7px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.asset-browser-card:hover{border-color:var(--border-strong);color:var(--text-primary)}.asset-browser-card.is-active{border-color:var(--primary);color:var(--text-primary);box-shadow:0 0 0 1px #3b82f640}.asset-browser-card.is-unconfigured{border-color:#ef4444d9}.asset-browser-card-thumb{display:block;width:100%;aspect-ratio:1;border-radius:5px;-o-object-fit:cover;object-fit:cover;background:var(--bg-base)}.asset-browser-content:not(.layout-grid-2):not(.layout-grid-3) .asset-browser-card-thumb{display:none}.asset-browser-card-thumb--placeholder{display:flex;align-items:center;justify-content:center;font-size:22px;opacity:.35}.asset-browser-card-thumb--placeholder[data-type=figurine]:after{content:"🧙"}.asset-browser-card-thumb--placeholder[data-type=standee]:after{content:"🖼"}.asset-browser-card-thumb--placeholder[data-type=deck]:after{content:"🃏"}.asset-browser-card-thumb--placeholder[data-type=token]:after{content:"⬡"}.asset-browser-card-thumb--placeholder[data-type=handout]:after{content:"📜"}.asset-browser-card-thumb--placeholder[data-type=imageviewer]:after{content:"🖼"}.asset-browser-card-thumb--placeholder[data-type=whiteboardviewer]:after{content:"📋"}.asset-browser-card-thumb--placeholder:after{content:"⬡"}.asset-browser-content.layout-icon-list .asset-browser-card{flex-direction:row;align-items:center;padding:5px 8px;gap:6px}.asset-browser-content.layout-compact-list .asset-browser-card{flex-direction:row;align-items:center;padding:5px 7px;gap:6px}.asset-browser-content.layout-compact-list .asset-browser-card-thumb{display:block;width:28px;height:28px;flex-shrink:0;aspect-ratio:1}.asset-browser-card-alert{position:absolute;top:4px;right:6px;width:12px;height:12px;border-radius:999px;background:#ef4444f2;color:#fff;font-size:9px;display:inline-flex;align-items:center;justify-content:center}.asset-browser-card-name{font-size:var(--text-xs);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.asset-browser-empty{font-size:var(--text-xs);color:var(--text-tertiary)}.asset-browser-context-menu{position:fixed;z-index:9000;background:var(--dropdown-bg, #1e293b);border:1px solid var(--dropdown-border, #334155);border-radius:6px;padding:4px 0;box-shadow:0 4px 16px #0006;min-width:160px}.asset-browser-context-menu__item{width:100%;text-align:left;padding:7px 14px;font-size:13px;color:var(--dropdown-item-color, #e2e8f0);background:transparent;border:none;cursor:pointer;display:block}.asset-browser-context-menu__item:hover{background:var(--dropdown-item-hover-bg, #2d3f55)}.asset-manager-modal{max-height:min(88vh,860px)}.asset-manager-shell{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,3fr);height:min(82vh,620px);max-height:82vh;min-height:0;overflow:hidden}.asset-manager-gallery-pane{border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;min-width:0;min-height:0}.asset-manager-header{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--border-subtle)}.asset-manager-search .ui-text-input--search{width:100%;border-color:var(--panel-border)}.asset-manager-search .ui-search-input__clear{right:3px}.asset-manager-search .ui-text-input--search:focus{border-color:var(--primary)}.asset-manager-view-switch{display:inline-flex;width:100%;min-width:0}.asset-manager-close{border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;width:22px;height:22px}.asset-manager-close:hover{color:var(--text-primary);background:var(--bg-hover)}.asset-manager-gallery{flex:1;overflow:auto;padding:12px;display:grid;gap:10px;grid-auto-rows:max-content;align-items:start;align-content:flex-start}.asset-manager-context-menu{display:grid;gap:4px}.asset-manager-gallery--large{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.asset-manager-gallery--small{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.asset-manager-gallery--list{grid-template-columns:1fr}.asset-manager-card{border:1px solid var(--border-default);border-radius:10px;background:#141414bf;color:var(--text-primary);display:flex;flex-direction:column;align-items:stretch;align-self:start;gap:8px;cursor:pointer;text-align:left;padding:8px;height:-moz-max-content;height:max-content;min-height:96px;min-width:0;overflow:hidden}.asset-manager-card.is-selected{border-color:#3b82f6eb;box-shadow:0 0 0 1px #3b82f640}.asset-manager-card.is-unconfigured{border-color:#ef4444e6}.asset-manager-card.is-list{min-height:auto;display:flex;align-items:center;gap:10px}.asset-manager-thumb{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:8px;background:#111;border:1px solid var(--border-subtle);display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.asset-manager-thumb-image{width:100%;height:100%;max-width:100%;max-height:100%;-o-object-fit:cover;object-fit:cover;border-radius:7px;display:block}.asset-manager-card.is-list .asset-manager-thumb{width:44px;min-width:44px;aspect-ratio:1;overflow:hidden}.asset-manager-thumb-label{color:var(--text-tertiary);font-size:10px}.asset-manager-alert{position:absolute;top:6px;right:6px;width:14px;height:14px;border-radius:999px;background:#ef4444f2;color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center}.asset-manager-card-name{font-size:var(--text-xs);font-weight:600;line-height:1.35;min-height:0;display:block;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.asset-manager-card.is-list .asset-manager-card-name{min-height:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-manager-delete-modal{width:min(420px,calc(100vw - 24px))}.asset-manager-delete-modal__body{display:grid;gap:14px}.asset-manager-delete-modal__message{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.asset-manager-delete-modal__checkbox{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--text-sm)}.asset-manager-delete-modal__actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:1024px){.asset-manager-modal{overflow:auto}.asset-manager-shell{grid-template-columns:1fr;height:auto;max-height:none}.asset-manager-gallery-pane{border-right:0;border-bottom:1px solid var(--border-subtle)}.asset-manager-header{grid-template-columns:1fr}.asset-manager-view-switch{width:100%;justify-content:stretch}}.asset-setup-modal{max-height:min(90vh,960px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.asset-setup-header{padding:16px 18px;border-bottom:1px solid var(--border-subtle)}.asset-setup-header-main{display:flex;align-items:start;justify-content:space-between;gap:16px}.asset-setup-header-copy{display:grid;gap:4px}.asset-setup-header-copy h2{margin:0}.asset-setup-eyebrow{font-size:10px;line-height:1;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.asset-setup-subtitle{margin:0;max-width:720px;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.asset-setup-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--border-default);background:#181818e6;color:var(--text-primary);cursor:pointer;display:grid;place-items:center}.asset-setup-close:hover{border-color:#3b82f6b3}.asset-setup-content{padding:18px;min-height:0;overflow:scroll}.asset-setup-workspace{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(0,1.85fr);gap:16px;min-height:0;height:100%;max-height:100%}.asset-setup-rail{display:grid;gap:12px;align-content:start;min-height:0}.asset-setup-editor{min-height:0;overflow:auto;padding-right:4px}.asset-setup-workspace--deck{display:block}.asset-setup-workspace--token{grid-template-columns:minmax(0,1.22fr) minmax(320px,.92fr);align-items:start}.asset-setup-workspace--figurine,.asset-setup-workspace--generic,.asset-setup-workspace--imageviewer,.asset-setup-workspace--handout,.asset-setup-workspace--standee,.asset-setup-workspace--whiteboardviewer{display:block}.asset-setup-editor--deck,.asset-setup-editor--token,.asset-setup-editor--figurine,.asset-setup-editor--generic,.asset-setup-editor--imageviewer,.asset-setup-editor--handout,.asset-setup-editor--standee,.asset-setup-editor--whiteboardviewer{display:flex;min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;padding-right:6px}.asset-setup-rail-stack{display:grid;gap:12px}.asset-setup-controls--figurine,.asset-setup-controls--generic,.asset-setup-controls--imageviewer,.asset-setup-controls--handout,.asset-setup-controls--standee,.asset-setup-controls--whiteboardviewer{flex:1 1 auto;min-width:0}.asset-setup-rail--token{position:sticky;top:0}.asset-setup-preview-card--token .asset-setup-preview-pane{min-height:clamp(360px,52vh,620px)}.asset-setup-preview-card{display:grid;gap:12px;border:1px solid var(--border-subtle);border-radius:14px;background:linear-gradient(180deg,#222222eb,#141414eb);box-shadow:0 12px 32px #00000038;min-width:0}.asset-setup-preview-pane{position:relative;border:1px solid var(--border-subtle);border-radius:12px;background:#0a0a0ab3;overflow:hidden;min-height:360px;min-width:0;margin:0 14px 14px}.asset-setup-preview{width:100%;height:100%}.asset-setup-preview-unavailable{width:100%;min-height:100%;height:100%;display:grid;align-content:center;justify-items:center;gap:8px;padding:24px;text-align:center;color:var(--text-secondary);background:radial-gradient(circle at top,rgba(59,130,246,.12),transparent 48%),linear-gradient(180deg,#0f172aeb,#020617f5)}.asset-setup-preview-unavailable__title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.asset-setup-preview-unavailable__body{max-width:26ch;font-size:var(--text-xs);line-height:1.5}.asset-setup-preview-overlay{position:absolute;top:8px;right:8px;z-index:4;display:inline-flex;gap:6px}.asset-setup-overlay-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border-default);background:#181818e6;color:var(--text-primary);font-size:13px;line-height:1;display:grid;place-items:center}.asset-setup-overlay-btn:hover:not(:disabled){border-color:#3b82f6bf}.asset-setup-overlay-btn:disabled{opacity:.45;cursor:not-allowed}.asset-setup-overlay-btn.is-active{border-color:#3b82f6e6;background:#1e3a8a99}.asset-setup-lighting-panel{position:absolute;top:46px;right:8px;z-index:4;width:220px;border:1px solid var(--border-default);border-radius:10px;background:#121212f2;padding:8px;display:grid;gap:8px}.asset-setup-lighting-row{display:grid;gap:4px;color:var(--text-secondary);font-size:var(--text-xs)}.asset-setup-lighting-row input[type=range]{width:100%}.handout-wizard-icon-controls{display:grid;gap:8px}.handout-wizard-control-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.handout-wizard-control-row__label{color:var(--text-primary)}.handout-wizard-control-row__control{display:inline-flex;align-items:center;justify-content:flex-end;min-width:0}.handout-wizard-control-row__control hex-scrub-input{width:auto}.handout-wizard-icon-grid{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px;width:100%}.handout-wizard-icon-card{min-height:0;max-width:none;padding:10px 12px;justify-items:center;align-content:center;gap:6px;text-align:center}.handout-wizard-icon-card__glyph{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-primary)}.handout-wizard-icon-card__glyph svg{width:100%;height:100%}.handout-wizard-icon-card__label{font-size:var(--text-sm);line-height:1.2}.asset-setup-lighting-value{justify-self:end;color:var(--text-primary);font-size:10px}.asset-setup-thumbnail-frame{position:absolute;inset:8% 16%;border:2px dashed rgba(255,255,255,.72);border-radius:10px;pointer-events:none;opacity:0;transition:opacity .14s ease;z-index:3}.asset-setup-thumbnail-frame.is-visible{opacity:1}.asset-setup-preview canvas{width:100%;height:100%;display:block}.asset-setup-preview--interactive{cursor:pointer}.asset-setup-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-top:1px solid var(--border-subtle)}.asset-setup-status{color:var(--text-secondary);font-size:var(--text-xs);min-height:18px}.asset-setup-status.is-error{color:#fda4af}.asset-setup-actions{display:inline-flex;gap:8px}@media(max-width:1024px){.asset-setup-workspace{grid-template-columns:1fr;min-height:0;height:auto;max-height:none}.asset-setup-editor{padding-right:0}.asset-setup-preview-pane{min-height:260px;margin:0 14px 14px}.asset-setup-rail--token{position:static}}.asset-resource-cache-modal{max-height:min(86vh,820px)}.asset-resource-cache-header{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border-subtle)}.asset-resource-cache-table-wrap{max-height:min(70vh,680px);overflow:auto;padding:8px 12px 12px}.asset-resource-cache-stats{display:flex;align-items:center;gap:14px;color:var(--text-secondary);font-size:var(--text-xs);margin-bottom:8px}.play-btn-bar{position:fixed;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;z-index:35;pointer-events:none;border-radius:12px;border:1px solid transparent;background:transparent;transition:background .15s ease,border-color .15s ease}.play-btn-bar>*{pointer-events:auto}.play-btn-bar[data-edge=top-left]{top:8px;left:8px;flex-direction:row}.play-btn-bar[data-edge=top-middle]{top:8px;left:50%;transform:translate(-50%);flex-direction:row}.play-btn-bar[data-edge=top-right]{top:8px;right:8px;flex-direction:row}.play-btn-bar[data-edge=bottom-left]{bottom:48px;left:8px;flex-direction:row}.play-btn-bar[data-edge=bottom-middle]{bottom:48px;left:50%;transform:translate(-50%);flex-direction:row}.play-btn-bar[data-edge=bottom-right]{bottom:48px;right:8px;flex-direction:row}.play-btn-bar[data-edge=left-upper]{left:8px;top:64px;flex-direction:column}.play-btn-bar[data-edge=left-middle]{left:8px;top:50%;transform:translateY(-50%);flex-direction:column}.play-btn-bar[data-edge=left-lower]{left:8px;bottom:104px;flex-direction:column}.play-btn-bar[data-edge=right-upper]{right:8px;top:64px;flex-direction:column}.play-btn-bar[data-edge=right-middle]{right:8px;top:50%;transform:translateY(-50%);flex-direction:column}.play-btn-bar[data-edge=right-lower]{right:8px;bottom:104px;flex-direction:column}.play-edit-mode .play-btn-bar{pointer-events:auto;background:#11182759;border-color:#ffffff24;border-style:dashed;min-width:48px;min-height:48px}.play-edit-mode .play-btn-bar.is-drag-over{background:#3b82f61f;border-color:var(--primary);border-style:solid}.play-float-btn{position:relative;flex-shrink:0;width:40px;height:40px;border-radius:8px;cursor:pointer;background:#111827b3;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease;pointer-events:auto}.play-float-btn[data-float-btn=map],.play-float-btn[data-float-btn=gm-actions]{color:#fecaca;border-color:#ef444447;background:#7f1d1db8}.play-float-btn__badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger, #ef4444);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px #111827e0}.play-float-btn.is-wobbling{animation:play-float-btn-wobble .55s ease-in-out 2}@keyframes play-float-btn-wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-10deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}.play-float-btn:hover{color:var(--text-primary);border-color:#fff3}.play-float-btn.is-disabled,.play-float-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.play-float-btn.is-disabled:hover,.play-float-btn:disabled:hover{color:var(--text-secondary);border-color:#ffffff1a}.play-float-btn[data-float-btn=map]:hover,.play-float-btn[data-float-btn=gm-actions]:hover{border-color:#f8717185;box-shadow:0 0 0 1px #f8717138}.play-edit-mode .play-float-btn{cursor:grab}.play-float-btn.is-active{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f64d;color:var(--text-primary)}.play-float-btn[data-float-btn=map].is-active,.play-float-btn[data-float-btn=gm-actions].is-active{border-color:#f87171e6;box-shadow:0 0 0 2px #f8717152;color:#fff1f2}.play-float-btn.is-ghost{cursor:grabbing!important;opacity:.85;box-shadow:0 4px 20px #00000080}.play-float-btn.is-drag-placeholder{opacity:.2;pointer-events:none}.play-btn-insert-indicator{flex-shrink:0;background:var(--primary);border-radius:2px;pointer-events:none}.play-btn-insert-indicator.is-vertical{width:3px;height:40px;align-self:center}.play-btn-insert-indicator.is-horizontal{width:40px;height:3px;align-self:center}.play-ctx-menu{padding:4px;border-radius:8px;min-width:160px}.play-ctx-menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:var(--text-sm);text-align:left;cursor:pointer}.play-ctx-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.play-ctx-menu-item.is-active{color:var(--primary)}.play-ctx-check{width:14px;display:inline-block;text-align:center;font-size:var(--text-sm)}.play-ctx-separator{height:1px;background:#ffffff14;margin:4px 6px}.play-ctx-info{padding:4px 10px;font-size:var(--text-xs);color:var(--text-tertiary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.play-float-panel{position:fixed;z-index:36;min-width:220px;max-width:300px;max-height:60vh;overflow-y:auto;border-radius:12px;padding:12px 14px;pointer-events:auto}.play-float-panel--draggable{padding-top:22px}.play-float-panel--draggable:before{content:"";position:absolute;top:8px;left:50%;width:46px;height:4px;border-radius:999px;background:#ffffff24;transform:translate(-50%);transition:background .15s ease,height .15s ease,top .15s ease;pointer-events:none}.play-float-panel--draggable:hover:before{top:6px;height:6px;background:#fff3}.play-float-panel[data-float-panel=context]{min-width:320px;max-width:380px}.play-float-panel[data-float-panel=map],.play-float-panel[data-float-panel=multiplayer]{min-width:280px;max-width:min(460px,calc(100vw - 24px))}.play-float-panel[data-float-panel=combat]{min-width:420px;max-width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px)}.play-float-panel[data-float-panel=game-log]{min-width:320px;max-width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 24px)}.play-float-panel[data-float-panel=stats-combat]{width:-moz-fit-content;width:fit-content;min-width:min(640px,calc(100vw - 24px));max-width:min(960px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.play-float-panel[data-float-panel=notes]{min-width:300px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:0;overflow:visible}.play-float-panel[data-float-panel=notifications]{min-width:390px;max-width:min(520px,calc(100vw - 24px));overflow-x:hidden}.play-panel-title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);margin-bottom:8px}.play-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.play-panel-header .play-panel-title{margin-bottom:0}.play-panel-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.play-panel-close{width:28px;min-width:28px;height:28px;padding:0;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text-secondary);font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.play-panel-close:hover{color:var(--text-primary);border-color:#64a0ff73;background:#64a0ff24}.play-panel-close:focus-visible{outline:2px solid rgba(96,165,250,.9);outline-offset:1px}.play-panel-empty{font-size:var(--text-sm);color:var(--text-tertiary);padding:8px 0}.play-notes-panel-shell{resize:none}.play-notes-panel-shell.is-minimized{height:auto!important;min-height:0}.play-notes-panel-shell.is-minimized .play-notes-panel{height:auto}.play-notes-panel-shell.is-minimized .play-notes-panel__body,.play-notes-panel-shell.is-minimized .play-notes-panel__resize-handle{display:none}.play-notes-panel{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--notebook-panel-bg)}.play-notes-panel__header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 12px 10px;border-bottom:1px solid var(--notebook-panel-border);background:linear-gradient(180deg,var(--notebook-panel-elevated),var(--notebook-panel-bg));cursor:grab}.play-notes-panel__drag-handle{position:absolute;top:7px;left:50%;width:48px;height:4px;border-radius:999px;background:#ffffff1f;transform:translate(-50%);transition:height .15s ease,top .15s ease,background .15s ease}.play-notes-panel__drag-handle:before{content:"";position:absolute;inset:-8px}.play-notes-panel__drag-handle:hover{top:5px;height:8px;background:#ffffff2e}.play-notes-panel__header-group{display:flex;align-items:flex-start;gap:8px;min-width:0}.play-notes-panel__header-group--left{flex:1 1 auto;align-items:center}.play-notes-panel__header-group--right{flex:0 1 auto;align-items:center;flex-wrap:wrap;justify-content:flex-end;row-gap:4px}.play-notes-panel__title-block{display:grid;gap:3px;min-width:0;padding-top:2px}.play-notes-panel__note-drag-source{cursor:grab}.play-notes-panel__note-drag-source.is-dragging{opacity:.6;cursor:grabbing}.play-notes-panel__breadcrumb{color:var(--text-tertiary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-notes-panel__context,.play-notes-panel__status{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:var(--text-xs);min-width:0}.play-notes-panel__context{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.play-notes-panel__context-link{padding:0;border:0;background:none;color:var(--primary);font:inherit;cursor:pointer}.play-notes-panel__context-link:hover,.play-notes-panel__context-link:focus-visible,.play-notes-panel__context-link.is-active{color:var(--text-primary);text-decoration:underline}.play-notes-panel__mode-toggle{min-width:84px}.play-notes-panel__mode-toggle .ui-segmented-control__button{min-width:0;padding-inline:9px}.play-notes-panel__icon-btn{color:var(--text-secondary)}.play-notes-panel__icon-btn:hover,.play-notes-panel__icon-btn:focus-visible,.play-notes-panel__icon-btn.is-active{color:var(--text-primary)}.play-notes-panel__body{position:relative;display:flex;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden}.play-notes-panel__left-panel{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border-right:1px solid var(--notebook-panel-border);background:color-mix(in srgb,var(--notebook-panel-bg) 93%,black 7%)}.play-notes-panel__left-toolbar{display:flex;align-items:center;gap:4px;padding:6px;border-bottom:1px solid rgba(255,255,255,.06)}.play-notes-panel__left-content{flex:1 1 auto;min-height:0;overflow:auto}.play-notes-panel__left-panel .notebook-outline-panel{padding:8px 6px 10px}.play-notes-panel__left-panel .notebook-outline-list{gap:4px}.play-notes-panel__left-panel .notebook-outline-item{min-height:28px;padding-block:5px;font-size:12px}.play-notes-panel__header.is-drop-target,.play-notes-panel__left-panel.is-drop-target{box-shadow:inset 0 0 0 1px #60a5fab3}.play-notes-panel__header.is-drop-target:after,.play-notes-panel__left-panel.is-drop-target:after{content:"Link instance";position:absolute;right:12px;bottom:12px;padding:5px 8px;border-radius:999px;background:#2563eb2e;border:1px solid rgba(96,165,250,.45);color:#dbeafef5;font-size:11px;font-weight:700;letter-spacing:.02em;pointer-events:none}.play-notes-panel__gutter{flex:0 0 4px}.play-notes-panel__tree-toolbar,.play-notes-panel__tree-list{padding:6px}.play-notes-panel__tree-row{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.play-notes-panel__tree-toggle svg{transition:transform .12s ease}.play-notes-panel__tree-toggle[data-expanded=true] svg{transform:rotate(90deg)}.play-notes-panel__content,.play-notes-panel__editor-host,.play-notes-panel__preview-host{min-height:0;min-width:0;flex:1 1 auto;width:100%;height:100%}.play-notes-panel__content{overflow:auto}.play-notes-panel__content>.notebook-preview{padding:22px 24px 46px}.play-notes-shared-highlight{background:var(--shared-highlight-color, rgba(59, 130, 246, .25));border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer}.play-notes-panel__content .notebook-frontmatter__panel{right:0;left:auto}.play-notes-panel__frontmatter{z-index:1}.play-notes-panel__frontmatter .notebook-frontmatter__panel{z-index:2}.play-notes-panel__workspace-button{flex:0 1 auto;min-width:0;padding-inline:7px;font-size:10px}.play-notes-panel__status{margin-right:2px}canvas.is-notebook-drop-valid{cursor:alias}canvas.is-notebook-drop-invalid{cursor:not-allowed}.play-scene-drop-indicator{position:fixed;z-index:45;pointer-events:none;padding:7px 10px;border-radius:999px;border:1px solid rgba(96,165,250,.5);background:#0f172ae6;color:#e2e8f0f5;font-size:12px;font-weight:600;box-shadow:0 12px 26px #0f172a59}.play-scene-drop-indicator.hidden{display:none}.play-notes-panel__resize-handle{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize}.play-notes-panel__resize-handle:before{content:"";position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-right:2px solid rgba(255,255,255,.2);border-bottom:2px solid rgba(255,255,255,.2)}@media(max-width:520px){.play-notes-panel__workspace-button{padding-inline:6px;font-size:0}.play-notes-panel__workspace-button:after{content:"Open";font-size:10px}}.right-sidebar{display:flex;flex-direction:column;background:#242424;border-left:1px solid #333333;overflow:hidden}.app-layout--right-collapsed .outliner,.app-layout--right-collapsed .properties-content{display:none}@media(max-width:1280px){.app-layout{grid-template-columns:1fr 40px}.outliner,.properties-content{display:none}}.outliner{flex:0 0 35%;min-height:200px;max-height:50%;display:flex;flex-direction:column;border-bottom:1px solid var(--border-default);resize:vertical;overflow:hidden}.outliner-empty-state{margin:12px;border-radius:8px;border:1px dashed var(--border-subtle);background:#161616bf;padding:10px}.outliner-empty-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.outliner-empty-subtitle{margin-top:4px;font-size:var(--text-xs);color:var(--text-secondary)}.outliner-header{padding:10px 12px;border-bottom:1px solid var(--border-subtle);background:#121212cc}.outliner-content{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.outliner-footer{padding:8px;border-top:1px solid var(--border-subtle);background:#12121299}.outliner-add{width:100%;padding:8px 10px;border-radius:4px;background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer}.outliner-add:hover{background:var(--bg-hover)}.outliner-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:4px;border:1px solid transparent;background:transparent}.outliner-item.is-dragging,.outliner-stage-group-header.is-dragging{opacity:.55}.outliner-item.is-drop-target,.outliner-stage-group-header.is-drop-target,.outliner-stage-group-body.is-drop-target,.outliner-stage-group.is-drop-target{border-color:#60a5fabf;background:#60a5fa24}.outliner-stage-group{display:grid;gap:4px}.outliner-stage-group-header{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;border:1px solid var(--border-subtle);background:#1212129e}.outliner-stage-group-icon{font-size:11px;opacity:.8}.outliner-stage-group-name{min-width:0;flex:1;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outliner-stage-group-body{display:grid;gap:4px;padding-left:10px;min-height:28px;border-radius:4px}.outliner-item.is-active{border-color:var(--primary);background:#3b82f61f}.outliner-item.is-selected{border-color:#60a5fa80;background:#60a5fa14}.outliner-left{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.outliner-active-dot{width:6px;height:6px;border-radius:999px;background:var(--border-strong)}.outliner-active-dot.is-active{background:var(--primary);box-shadow:0 0 8px #3b82f699}.outliner-icon-btn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer}.outliner-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.outliner-icon-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.outliner-name{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outliner-count{font-size:10px;color:var(--text-tertiary);margin-left:auto}.outliner-rename{flex:1;min-width:0;border-radius:4px;border:1px solid var(--primary);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-sm);padding:2px 6px}.outliner-context-menu{position:fixed;min-width:180px;background:var(--bg-panel);border:1px solid var(--border-default);border-radius:4px;box-shadow:0 10px 20px #0006;padding:6px;display:none;z-index:100}.outliner-context-menu button{width:100%;text-align:left;padding:6px 8px;border-radius:4px;background:transparent;border:1px solid transparent;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.outliner-context-menu button:hover{background:var(--bg-hover);color:var(--text-primary)}.outliner-context-menu button.danger{color:var(--danger)}.outliner-context-divider{height:1px;margin:4px 0;background:var(--border-subtle)}.map-selector{display:flex;align-items:center;gap:6px;position:relative}.map-selector-trigger{flex:1;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;border:1px solid var(--panel-border);background:var(--panel-input);color:var(--panel-value);font-size:var(--text-sm);cursor:pointer;text-align:left}.map-selector-trigger:hover{background:var(--panel-input-hover)}.map-selector-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.map-selector-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-selector-caret{color:var(--text-secondary)}.map-selector-manage{width:30px;height:30px;border-radius:8px;border:1px solid var(--panel-border);background:var(--panel-input);color:var(--text-secondary);cursor:pointer}.map-selector-manage:hover{background:var(--panel-input-hover);color:var(--text-primary)}.map-selector-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;padding:8px;border-radius:10px;border:1px solid var(--border-default);background:var(--bg-panel);box-shadow:0 10px 20px #0006;display:grid;gap:6px;z-index:30}.map-selector-search input{width:100%;height:28px;border-radius:8px;border:1px solid var(--panel-border);background:var(--panel-input);color:var(--panel-value);font-size:var(--text-sm);padding:0 8px;outline:none}.map-selector-search input:focus{border-color:var(--primary)}.map-selector-list{display:grid;gap:4px;max-height:220px;overflow-y:auto}.map-selector-item{border:1px solid transparent;background:transparent;color:var(--text-primary);padding:6px 8px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:var(--text-sm);cursor:pointer}.map-selector-item:hover{background:var(--bg-hover)}.map-selector-item--action{border-color:#3b82f64d;color:#93c5fd;background:#3b82f61a}.map-selector-item--action:hover{background:#3b82f62e}.map-selector-divider{height:1px;background:var(--border-subtle);margin:4px 0}.map-selector-item.is-active{border-color:#60a5fa99;background:#60a5fa14}.map-selector-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-selector-item-badge{font-size:10px;color:var(--text-tertiary)}.map-selector-empty{font-size:var(--text-xs);color:var(--text-tertiary);padding:6px 4px}.map-manager-search{flex:1}.map-manager-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.map-manager-actions{display:flex;gap:8px;flex-shrink:0}.map-manager-search .ui-text-input--search{width:100%;border-color:var(--panel-border)}.map-manager-search .ui-search-input__clear{right:3px}.map-manager-search .ui-text-input--search:focus{border-color:var(--primary)}.map-manager-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));max-height:60vh;overflow-y:auto}.map-manager-card{border:1px solid var(--border-default);border-radius:12px;background:#141414b3;padding:8px;display:grid;gap:8px;cursor:pointer;text-align:left;color:var(--text-primary)}.map-manager-card:hover{border-color:#60a5fa99;box-shadow:0 10px 16px #00000059}.map-manager-card.is-active{border-color:var(--primary);box-shadow:0 0 0 1px #3b82f666}.map-manager-thumb{width:100%;aspect-ratio:1 / 1;border-radius:10px;background:#111;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--text-xs);overflow:hidden}.map-manager-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.map-manager-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.map-manager-actions-row{display:inline-flex;align-items:center;gap:6px}.map-manager-name{font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-manager-badge{font-size:10px;color:var(--text-tertiary)}.map-manager-delete{border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:6px;padding:2px 4px;cursor:pointer}.map-manager-delete:hover{color:var(--danger);background:#ef44441f}.map-manager-delete:disabled{opacity:.4;cursor:not-allowed}@media(max-width:720px){.map-manager-toolbar{flex-direction:column;align-items:stretch}.map-manager-actions{width:100%}.map-manager-actions .properties-btn{flex:1}}.map-manager-empty{font-size:var(--text-sm);color:var(--text-tertiary);padding:12px 4px}.properties-panel{flex:1;min-height:0;display:flex;background:var(--bg-panel)}.properties-tabs{width:40px;display:flex;flex-direction:column;background:#121212e6;border-right:1px solid var(--border-default)}.properties-tab{width:40px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;position:relative}.properties-tab:hover{background:var(--bg-hover);color:var(--text-secondary)}.properties-tab.is-active{color:#60a5fa;background:var(--bg-elevated);box-shadow:inset 3px 0 0 var(--primary)}.properties-tab-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.properties-tab-tooltip{position:absolute;left:46px;white-space:nowrap;background:var(--bg-dark);color:var(--text-primary);font-size:var(--text-xs);padding:4px 8px;border-radius:4px;border:1px solid var(--border-default);opacity:0;pointer-events:none;transition:opacity .2s ease}.properties-tab:hover .properties-tab-tooltip{opacity:1}.properties-content{flex:1;min-height:0;overflow:hidden;padding:12px;display:grid;gap:12px}.properties-panel-content{display:none;gap:12px;min-height:0;overflow:hidden}.properties-panel-content.is-active{display:grid;min-height:0;overflow-y:auto;align-content:start;padding-right:2px}.properties-section{background:#141414cc;border:1px solid var(--border-subtle);border-radius:4px;padding:10px;display:grid;gap:10px}.properties-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-secondary)}.properties-row label{color:var(--text-secondary)}.properties-input,.properties-range{width:100%}.properties-actions{display:flex;flex-direction:column;gap:6px}.properties-actions .properties-btn{width:100%}.properties-btn-row{display:flex;gap:8px;margin-top:8px}.properties-btn-row .properties-btn{flex:1}.properties-btn{height:22px;padding:0 10px;border-radius:4px;border:1px solid var(--border-strong);background:var(--panel-input);color:var(--panel-value);font-size:var(--text-sm);cursor:pointer;transition:background .1s,border-color .1s;display:inline-flex;align-items:center;justify-content:center}.properties-btn:hover{background:var(--panel-input-hover);border-color:var(--border-strong)}.properties-btn:active{background:var(--bg-hover)}.properties-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;background:var(--panel-input);border-color:var(--border-subtle);color:var(--text-disabled)}.properties-btn.primary{background:#3b6e9e;border-color:#4a7eb0;color:#fff}.properties-btn.primary:hover{background:#4a7eb0}.properties-btn.danger{background:var(--panel-input);border-color:#ef444480;color:var(--danger)}.properties-btn.danger:hover{background:#ef44441a;border-color:var(--danger)}.properties-btn.toggle{width:100%;background:#3b6e9e;border-color:#4a7eb0;color:#fff;text-align:center}.properties-btn.toggle:hover{background:#4a7eb0}.properties-btn.toggle.is-off{background:var(--panel-input);border-color:var(--border-strong);color:var(--text-secondary)}.properties-btn.compact{padding:0 8px;font-size:var(--text-xs)}.properties-segment{display:flex;flex-wrap:wrap;gap:6px}.properties-chip{padding:4px 8px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer}.properties-chip.is-active{background:var(--primary);border-color:var(--primary-dark);color:#fff}.properties-checklist{display:grid;gap:6px;font-size:var(--text-sm);color:var(--text-secondary)}.properties-color{width:20px;height:20px;border-radius:4px;border:1px solid var(--border-strong);background:#3b82f6}.properties-code{font-size:var(--text-xs);color:var(--text-tertiary)}.properties-text{color:var(--text-secondary);font-size:var(--text-sm)}.properties-text-secondary{color:var(--text-tertiary);font-size:var(--text-xs)}.properties-text.multiplayer-field-warning{color:var(--warning)}.multiplayer-input-warning{border-color:var(--warning)!important}.inspector-root{display:grid;gap:10px;min-height:0}.inspector-empty{padding:16px;border-radius:10px;background:#14141499;border:1px dashed var(--border-subtle);color:var(--text-secondary);font-size:var(--text-sm);text-align:center}.properties-stat{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--text-secondary)}.properties-list{display:grid;gap:4px;font-size:var(--text-sm);color:var(--text-secondary)}.value-dot{width:6px;height:6px;border-radius:999px;background:#666;position:absolute;left:18px;top:50%;transform:translateY(-50%)}.value-dot--accent{background:#facc15}.button-input{width:100%;background:var(--panel-input);border:1px solid var(--panel-border);color:var(--panel-value);border-radius:4px;height:24px;padding:0 6px 0 18px;font-size:var(--text-sm);font-family:var(--font-mono);text-align:left;background-image:radial-gradient(circle,#666666 0 3px,transparent 4px);background-repeat:no-repeat;background-position:6px center}.button-input:focus{outline:none;border-color:var(--primary)}.button-input.is-editing{background-image:none;padding-left:6px}.inspector-grid{display:flex;flex-direction:column;gap:8px}.inspector-list{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);color:var(--text-secondary)}.inspector-list-item{padding:2px 4px;border-radius:4px;background:#14141466}.color-swatch-row{display:flex;flex-wrap:wrap;gap:4px}.color-picker-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%}.used-colors-list{display:flex;flex-direction:column;gap:6px}.used-color-item{display:flex;align-items:center;gap:8px;background:var(--panel-input);border-radius:4px;padding:4px 6px;color:var(--panel-value);font-size:var(--text-sm)}.used-color-swatch{width:14px;height:14px;border-radius:3px;border:1px solid var(--border-strong);background:#111}.used-color-label{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--panel-value)}.value-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;border:1px solid var(--border-strong);background:var(--panel-input);color:var(--panel-value);font-size:var(--text-sm);font-family:var(--font-mono);cursor:pointer}.value-pill--color{min-width:140px;justify-content:space-between;padding:0;overflow:hidden}.value-pill-label{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#3a3a3a;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);flex:1}.value-pill-color{width:42px;align-self:stretch;background:#111}.inspector-select{width:100%;height:28px;border-radius:8px;border:1px solid var(--panel-border);background:var(--panel-input);color:var(--panel-value);font-size:var(--text-sm);padding:0 8px;outline:none}.inspector-select:focus{border-color:var(--primary)}#tilesPanel,#colorsPanel,#verticesPanel{transition:all .2s}#tilesPanel.collapsed #tilesPanelContent,#colorsPanel.collapsed #colorsPanelContent,#verticesPanel.collapsed #verticesPanelContent{display:none}#tilesPanel.collapsed #tilesToggle,#colorsPanel.collapsed #colorsToggle,#verticesPanel.collapsed #verticesToggle{transform:rotate(0)!important}.build-stamp{position:fixed;left:12px;bottom:10px;z-index:65;border:1px solid var(--border-subtle);background:#0f0f0fd6;color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;line-height:1;border-radius:6px;padding:5px 8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:auto;letter-spacing:.01em}.build-stamp:hover{color:var(--text-primary);border-color:var(--border-default)}.notebook-workspace-host{position:absolute;inset:0;z-index:85;display:none;overflow:hidden}.notebook-workspace-host.notebook-workspace-host--prewarmed{inset:42px 0 0;display:block;visibility:hidden;pointer-events:none}body.workspace-notebooks .app-layout{grid-template-columns:1fr}body.workspace-notebooks .right-sidebar,body.workspace-notebooks .top-bar,body.workspace-notebooks #toolWindow,body.workspace-notebooks #toolbarHelper,body.workspace-notebooks .build-stamp{display:none!important}body.workspace-notebooks #canvas-container,body.workspace-notebooks #selectionOverlay,body.workspace-notebooks #valueFeedback{opacity:0;pointer-events:none}body.workspace-notebooks .notebook-workspace-host{inset:42px 0 0;display:block}body.workspace-notebooks .workspace-tab-bar{z-index:95}.notebook-workspace{position:relative;display:flex;min-width:0;min-height:0;height:100%;background:radial-gradient(circle at top,var(--notebook-workspace-glow),transparent 30%),var(--notebook-workspace-bg);color:var(--text-primary);transition:filter .16s ease,opacity .16s ease}.notebook-workspace-host--loading .notebook-workspace{filter:blur(8px) saturate(.85);opacity:.45;-webkit-user-select:none;-moz-user-select:none;user-select:none}.notebook-workspace-loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#080c127a,#080c129e);pointer-events:auto}.notebook-workspace-loading__panel{display:grid;gap:8px;max-width:420px;padding:18px 20px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#121822e0;box-shadow:0 18px 60px #00000059;text-align:center}.notebook-workspace-loading__panel strong{font-size:var(--text-base);color:var(--text-primary)}.notebook-workspace-loading__panel span{font-size:var(--text-sm);color:var(--text-secondary)}.notebook-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--notebook-panel-bg)}.notebook-panel--explorer,.notebook-panel--editor{border-right:1px solid var(--notebook-panel-border)}.notebook-panel--info{border-left:1px solid var(--notebook-panel-border)}.notebook-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--notebook-panel-border);background:linear-gradient(180deg,var(--notebook-panel-elevated),var(--notebook-panel-bg))}.notebook-panel__title,.notebook-side-panel__title{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.notebook-panel__body,.notebook-sidebar__body,.notebook-outline-panel-shell__body,.notebook-editor-panel__body{min-height:0;min-width:0;flex:1 1 auto}.notebook-sidebar__body{display:flex;overflow:hidden}.notebook-workspace__gutter,.notebook-gutter{width:4px;flex:0 0 4px;cursor:col-resize;background:var(--notebook-gutter);transition:background .12s ease,opacity .12s ease}.notebook-workspace__gutter:hover,.notebook-gutter:hover{background:var(--notebook-gutter-hover)}.notebook-workspace.is-left-collapsed .notebook-sidebar__body,.notebook-workspace.is-right-collapsed .notebook-outline-panel-shell__body{display:none}.notebook-workspace.is-left-collapsed .notebook-sidebar,.notebook-workspace.is-right-collapsed .notebook-outline-panel-shell{flex:0 0 64px!important;width:64px!important}.notebook-workspace.is-left-collapsed .notebook-workspace__gutter--left,.notebook-workspace.is-right-collapsed .notebook-workspace__gutter--right{width:0!important;opacity:0;pointer-events:none}.notebook-workspace.is-left-collapsed .notebook-sidebar__header,.notebook-workspace.is-right-collapsed .notebook-outline-panel-shell__header{justify-content:center;padding-left:8px;padding-right:8px}.notebook-workspace.is-left-collapsed .notebook-sidebar__header .notebook-panel__title,.notebook-workspace.is-right-collapsed .notebook-outline-panel-shell__header .notebook-panel__title{display:none}.notebook-panel__collapse,.notebook-panel-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--notebook-panel-border);border-radius:9px;background:var(--notebook-panel-muted);color:var(--text-secondary);transition:background .12s ease,color .12s ease,border-color .12s ease}.notebook-panel__collapse:hover,.notebook-panel-toggle:hover{background:var(--notebook-panel-hover);color:var(--text-primary);border-color:var(--notebook-panel-strong-border)}.notebook-panel__collapse:focus-visible,.notebook-panel-toggle:focus-visible{outline:none;box-shadow:var(--notebook-selection-ring)}.notebook-editor-panel{position:relative}.notebook-editor-panel__tabs{position:relative;min-width:0;padding:8px 12px 0;border-bottom:1px solid var(--notebook-panel-border);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}.notebook-tabs{position:relative;min-height:34px}.notebook-tabs__empty{display:flex;align-items:center;min-height:34px;padding:0 2px 6px;color:var(--text-tertiary);font-size:var(--text-xs)}.notebook-tabs__scroller{overflow:auto hidden;padding-bottom:6px;scrollbar-width:thin}.notebook-tabs__list{display:flex;gap:6px;min-width:-moz-max-content;min-width:max-content;padding-right:52px}.notebook-tab{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:240px;padding:7px 8px 7px 10px;border:1px solid var(--notebook-panel-border);border-radius:10px;background:var(--notebook-panel-muted);color:var(--text-secondary);font-size:var(--text-xs);box-shadow:inset 0 1px #ffffff05;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.notebook-tab:hover{background:var(--notebook-panel-hover);color:var(--text-primary);border-color:var(--notebook-panel-strong-border)}.notebook-tab.is-active{background:var(--primary-active-bg);border-color:var(--primary-border);color:var(--text-primary);box-shadow:var(--notebook-selection-ring)}.notebook-tab__label{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.notebook-tab__dirty{width:6px;height:6px;border-radius:999px;flex:0 0 auto;background:var(--warning);box-shadow:0 0 0 2px #f9731629}.notebook-tab__close{opacity:.7;color:inherit}.notebook-tab:hover .notebook-tab__close,.notebook-tab.is-active .notebook-tab__close{opacity:1}.notebook-tabs__scroll{position:absolute;top:0;opacity:0;pointer-events:none}.notebook-tabs__scroll--left{right:36px}.notebook-tabs__scroll--right{right:0}.notebook-tabs__scroll.is-visible{opacity:1;pointer-events:auto}.notebook-editor__header,.notebook-workspace__header{display:flex;flex-direction:column;gap:6px;padding:8px 16px;border-bottom:1px solid var(--notebook-panel-border);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}.notebook-editor__header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.notebook-editor__header-row--meta{align-items:center;gap:12px}.notebook-editor__breadcrumb{display:flex;align-items:center;gap:2px 6px;min-width:0;flex-wrap:wrap;color:var(--text-primary);font-size:var(--text-sm);line-height:1.2}.notebook-editor__breadcrumb-item{display:inline-flex;align-items:center;gap:6px;min-width:0}.notebook-editor__breadcrumb-segment{display:inline-flex;align-items:center;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:20px;padding:0;border:none;background:transparent;color:inherit}.notebook-editor__breadcrumb-item:last-child .notebook-editor__breadcrumb-segment{font-weight:700}.notebook-editor__breadcrumb-segment button,.notebook-editor__breadcrumb button.notebook-editor__breadcrumb-segment{font:inherit}.notebook-editor__breadcrumb-segment--editable{cursor:pointer;transition:color .15s ease,opacity .15s ease}.notebook-editor__breadcrumb-segment--editable:hover,.notebook-editor__breadcrumb button.notebook-editor__breadcrumb-segment:hover{color:var(--text-primary);text-decoration:underline;text-underline-offset:.15em}.notebook-editor__breadcrumb-rename{border:1px solid var(--notebook-panel-strong-border);border-radius:4px;background:var(--notebook-panel-muted);color:var(--text-primary);font-size:var(--text-sm);padding:1px 4px;outline:none;max-width:180px}.notebook-editor__breadcrumb-group{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.notebook-editor__breadcrumb-separator{display:inline-flex;align-items:center;color:#ffffff6b;-webkit-user-select:none;-moz-user-select:none;user-select:none}.notebook-editor__meta-controls{display:flex;align-items:center;gap:8px;margin-left:auto;position:relative}.notebook-editor__status,.notebook-workspace__status{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 8px;border:1px solid var(--notebook-panel-border);border-radius:999px;background:var(--notebook-panel-muted);color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap}.notebook-mode-toggle{width:auto;min-width:0;flex:0 0 auto}.notebook-mode-toggle .ui-segmented-control__button{min-width:56px;height:20px;padding:0 7px;font-size:9px}.notebook-frontmatter{position:relative;display:inline-flex;align-items:center}.notebook-frontmatter__toggle{color:var(--text-secondary);border-color:var(--notebook-panel-border);background:#ffffff08}.notebook-frontmatter__toggle.icon-button--with-label{height:24px;padding-inline:10px;border-radius:999px;gap:7px}.notebook-frontmatter__toggle .icon-button__icon,.notebook-frontmatter__toggle .icon-button__svg,.notebook-frontmatter__toggle svg{width:14px;height:14px}.notebook-frontmatter__toggle .icon-button__label{font-size:var(--text-xs);font-weight:700}.notebook-frontmatter__toggle:hover,.notebook-frontmatter__toggle:focus-visible{border-color:#60a5fa52;background:#3b82f61f;color:var(--text-primary)}.notebook-frontmatter__panel{position:absolute;top:calc(100% + 10px);right:0;z-index:5;width:min(340px,72vw);display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--notebook-panel-strong-border);border-radius:12px;background:var(--notebook-panel-elevated);box-shadow:var(--notebook-panel-shadow)}.notebook-frontmatter__title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.notebook-frontmatter__field{display:flex;flex-direction:column;gap:6px}.notebook-frontmatter__label{font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.notebook-frontmatter__input,.notebook-frontmatter__field .ui-text-input-shell{width:100%}.notebook-frontmatter__actions{display:flex;justify-content:flex-end;gap:8px}.notebook-linking-modal{width:min(100%,640px);max-width:640px}.notebook-linking-modal__body{display:flex;flex-direction:column;gap:12px}.notebook-linking-picker__search-row{display:flex;align-items:center;gap:8px}.notebook-linking-picker__search{width:100%;flex:1 1 auto}.notebook-linking-picker__refresh{flex-shrink:0}.notebook-linking-picker__list{display:flex;flex-direction:column;gap:8px;max-height:min(52vh,360px);overflow-y:auto}.notebook-linking-picker__item,.notebook-linking-picker__toggle{width:100%;border:1px solid var(--notebook-panel-border);border-radius:12px;background:var(--notebook-panel-muted);color:var(--text-primary)}.notebook-linking-picker__item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;text-align:left}.notebook-linking-picker__item:hover,.notebook-linking-picker__toggle:hover{border-color:var(--primary-border);background:#3b82f614}.notebook-linking-picker__item.is-selected,.notebook-linking-picker__toggle.is-selected{border-color:var(--primary);background:#3b82f624}.notebook-linking-picker__toggle{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;cursor:pointer}.notebook-linking-picker__toggle input{margin-top:3px}.notebook-linking-picker__toggle-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.notebook-linking-picker__item-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.notebook-linking-picker__item-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.notebook-linking-picker__empty{padding:14px;border:1px dashed var(--notebook-panel-border);border-radius:12px;color:var(--text-tertiary);text-align:center}.notebook-linking-picker__footer{display:flex;justify-content:flex-end;gap:8px}.notebook-editor__editing-indicator,.notebook-workspace__editing-indicator{min-height:18px;color:var(--text-tertiary);font-size:var(--text-sm);white-space:nowrap}.notebook-editor__editing-indicator:empty,.notebook-workspace__editing-indicator:empty{visibility:hidden}.notebook-permission-dot,.notebook-editor__permission-dot,.notebook-tree__permission-dot{width:7px;height:7px;border-radius:999px;flex:0 0 auto;box-shadow:0 0 0 2px #ffffff09}.notebook-permission-dot.is-manage,.notebook-tree__permission-dot.is-manage{background:var(--danger)}.notebook-permission-dot.is-write,.notebook-tree__permission-dot.is-write{background:var(--warning)}.notebook-permission-dot.is-read,.notebook-tree__permission-dot.is-read{background:var(--success)}.notebook-permission-dot.is-private,.notebook-tree__permission-dot.is-private{background:var(--text-disabled)}.notebook-editor-panel__body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.notebook-editor-panel__pane,.notebook-editor-panel__source,.notebook-editor-panel__preview{min-width:0;min-height:0;flex:1 1 auto;overflow:auto}.notebook-preview-panel__surface-host{width:100%;min-width:0}.notebook-editor{min-width:0;width:100%;height:100%}.notebook-editor-surface{display:flex;flex-direction:column;min-width:0;min-height:0;width:100%;height:100%}.notebook-editor__toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--notebook-panel-border);background:#ffffff05}.notebook-editor--compact .notebook-editor__toolbar{gap:8px;padding:8px 10px}.notebook-editor--compact .notebook-editor__tool-group{gap:4px;padding:3px;border-radius:10px}.notebook-editor--compact .notebook-editor__content{min-height:0}.notebook-editor__tool-group{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--notebook-panel-border);border-radius:12px;background:var(--notebook-panel-muted)}.notebook-editor__tool-divider{width:1px;height:28px;background:var(--notebook-panel-border)}.notebook-editor__tool-button{color:var(--text-secondary)}.notebook-editor__tool-button:hover,.notebook-editor__tool-button:focus-visible{color:var(--text-primary)}.notebook-editor-toolbar__preview{margin-left:auto}.notebook-editor__content,.notebook-editor-mount{min-width:0;min-height:0;flex:1 1 auto;width:100%}.cm-editor{min-width:0;width:100%;height:100%}.cm-notebook-frontmatter{color:var(--notebook-frontmatter)}.cm-notebook-wikilink{color:var(--notebook-wikilink-edit);text-decoration:underline;text-decoration-style:dashed;text-underline-offset:.18em}.notebook-preview{width:100%;min-width:0;max-width:940px;margin:0 auto;padding:28px 28px 72px;color:var(--text-primary);line-height:1.75;white-space:normal;overflow-wrap:anywhere}.notebook-preview>:first-child{margin-top:0}.notebook-preview h1,.notebook-preview h2,.notebook-preview h3,.notebook-preview h4,.notebook-preview h5,.notebook-preview h6{margin:1.6em 0 .55em;line-height:1.25;scroll-margin-top:24px}.notebook-preview h1{font-size:clamp(30px,3.3vw,38px);letter-spacing:-.03em}.notebook-preview h2{font-size:clamp(24px,2.5vw,30px);letter-spacing:-.02em}.notebook-preview h3{font-size:clamp(19px,2vw,22px)}.notebook-preview p,.notebook-preview ul,.notebook-preview ol,.notebook-preview blockquote,.notebook-preview table,.notebook-preview pre{margin:0 0 1.1em}.notebook-preview ul,.notebook-preview ol{padding-left:1.45em}.notebook-preview li+li{margin-top:.35em}.notebook-preview hr{border:0;height:1px;margin:1.8em 0;background:linear-gradient(90deg,transparent,var(--notebook-panel-strong-border),transparent)}.notebook-preview blockquote:not(.notebook-callout){margin-left:0;padding:.1em 0 .1em 1em;border-left:3px solid var(--primary-border);color:var(--text-secondary)}.notebook-preview code{font-family:var(--font-mono);font-size:.94em}.notebook-preview :not(pre)>code{padding:.18em .42em;border-radius:8px;background:var(--notebook-panel-muted);color:var(--notebook-wikilink)}.notebook-preview pre{overflow:auto;padding:16px 18px;border:1px solid var(--notebook-panel-border);border-radius:16px;background:#070a10b8;box-shadow:inset 0 1px #ffffff05}.notebook-preview pre code{color:var(--text-primary)}.notebook-preview table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid var(--notebook-panel-border);border-radius:14px;background:var(--notebook-panel-muted)}.notebook-preview th,.notebook-preview td{padding:10px 12px;border-bottom:1px solid var(--notebook-panel-border);text-align:left}.notebook-preview tr:last-child td{border-bottom:0}.notebook-preview th{color:var(--text-secondary);background:#ffffff05}.notebook-preview input[type=checkbox]{accent-color:var(--primary)}.notebook-preview a,.notebook-preview__wiki-link{color:var(--notebook-wikilink);text-decoration:underline;text-decoration-color:#93c5fd4d;text-underline-offset:.18em}.notebook-preview__wiki-link.is-missing{color:#fca5a5;text-decoration-color:#ef444459}.notebook-preview__media,.notebook-preview img{max-width:100%;display:block;border-radius:16px;border:1px solid var(--notebook-panel-border);box-shadow:var(--notebook-panel-shadow)}.notebook-preview--loot:after{content:"";display:block;clear:both}.notebook-preview--loot .notebook-preview__loot-image{float:left;width:min(220px,42%);max-width:220px;margin:4px 18px 12px 0;border-color:#bfdbfe73;box-shadow:0 0 0 1px #bfdbfe29,0 18px 38px #0f172a57;animation:notebook-loot-image-glow 2.6s ease-in-out infinite}.dice-block{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:var(--text-xs);font-weight:600;line-height:1.4;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease;vertical-align:middle;border:none;outline:none}.dice-block:focus-visible{box-shadow:0 0 0 2px var(--primary)}.dice-block--attack,.dice-block--advantage,.dice-block--disadvantage{background:var(--primary-subtle-bg);border:1px solid var(--primary-border);color:var(--text-primary)}.dice-block--attack:hover,.dice-block--advantage:hover,.dice-block--disadvantage:hover{background:var(--primary-active-bg);border-color:var(--primary);transform:translateY(-1px)}.dice-block--effect{background:#a855f71f;border:1px solid rgba(168,85,247,.36);color:var(--text-primary)}.dice-block--effect:hover{background:#a855f733;border-color:#a855f794;transform:translateY(-1px)}.dice-block--bonus{background:#22c55e1f;border:1px solid rgba(34,197,94,.34);color:var(--text-primary)}.dice-block--bonus:hover{background:#22c55e33;border-color:#22c55e94;transform:translateY(-1px)}.dice-block--penalty,.dice-block--custom{background:#ef444414;border:1px solid rgba(239,68,68,.28);color:var(--text-primary)}.dice-block--penalty:hover,.dice-block--custom:hover{background:#ef444424;border-color:#ef44448c;transform:translateY(-1px)}.dice-block--pending{box-shadow:0 0 0 2px var(--primary-border)}@keyframes dice-block-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent, #e8923a) 60%,transparent)}50%{box-shadow:0 0 0 8px transparent}}.dice-block--pulse{animation:dice-block-pulse 1.6s ease-in-out infinite}.dice-block__icon{display:inline-block;width:14px;height:14px;-o-object-fit:contain;object-fit:contain;vertical-align:middle}@keyframes dice-block-shake{0%{transform:translate(0) rotate(0)}20%{transform:translate(-3px) rotate(-5deg)}40%{transform:translate(3px) rotate(4deg)}60%{transform:translate(-2px) rotate(-3deg)}80%{transform:translate(2px) rotate(2deg)}to{transform:translate(0) rotate(0)}}.dice-block--shake{animation:dice-block-shake .36s ease}@keyframes notebook-loot-image-glow{0%,to{box-shadow:0 0 0 1px #bfdbfe29,0 18px 38px #0f172a57}50%{box-shadow:0 0 0 1px #bfdbfe52,0 0 22px #60a5fa2e,0 18px 38px #0f172a57}}.notebook-callout{display:flex;flex-direction:column;gap:10px;margin:16px 0;padding:14px 16px;border:1px solid var(--notebook-panel-border);border-left-width:4px;border-radius:16px;background:var(--notebook-panel-muted)}.notebook-callout__title{font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.notebook-callout__body>:last-child{margin-bottom:0}.notebook-callout--note,.notebook-callout--info{border-left-color:var(--primary)}.notebook-callout--tip,.notebook-callout--success{border-left-color:var(--success)}.notebook-callout--warning,.notebook-callout--caution{border-left-color:var(--warning)}.notebook-callout--danger,.notebook-callout--error{border-left-color:var(--danger)}.notebook-embed__content,.notebook-embed__missing{margin:16px 0;padding:14px 16px;border:1px solid var(--notebook-panel-border);border-radius:16px;background:var(--notebook-panel-muted)}.notebook-embed__missing{color:var(--text-secondary)}.notebook-file-tree{display:flex;flex-direction:column;height:100%;min-height:0}.notebook-file-tree__toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px;border-bottom:1px solid var(--notebook-panel-border)}.notebook-file-tree__search{width:100%}.notebook-tree__list,.notebook-file-tree__tree{min-height:0;flex:1 1 auto;overflow:auto;padding:6px}.notebook-tree__item{display:grid;gap:6px}.notebook-tree__children{display:grid;gap:6px;margin-left:10px;padding-left:8px;border-left:1px solid var(--notebook-panel-border)}.notebook-tree__row,.notebook-outline-item,.notebook-backlink{width:100%;border:1px solid var(--notebook-panel-border);border-radius:6px;background:var(--notebook-panel-muted);color:var(--text-primary);transition:background .12s ease,border-color .12s ease,transform .12s ease}.notebook-tree__row{display:flex;align-items:center;gap:6px;min-height:22px;padding:2px 8px;text-align:left;font-size:var(--text-xs)}.notebook-tree__row:hover,.notebook-outline-item:hover,.notebook-backlink:hover{background:var(--notebook-panel-hover);border-color:var(--notebook-panel-strong-border)}.notebook-tree__row.is-selected,.notebook-outline-item.is-active{background:var(--primary-active-bg);border-color:var(--primary-border);box-shadow:var(--notebook-selection-ring)}.notebook-tree__item.is-link-dragging{opacity:.58}.notebook-tree__row.is-link-drop-target{background:color-mix(in srgb,var(--primary-active-bg) 78%,var(--notebook-panel-bg) 22%);border-color:var(--primary-border);box-shadow:var(--notebook-selection-ring)}.notebook-tree__row.is-resource-drop-target{background:color-mix(in srgb,var(--success-bg, #166534) 60%,var(--notebook-panel-bg) 40%);border-color:var(--success-border, #16a34a);box-shadow:0 0 0 2px var(--success-border, #16a34a)}.notebook-tree__row:focus-visible,.notebook-outline-item:focus-visible,.notebook-backlink:focus-visible{outline:none;box-shadow:var(--notebook-selection-ring)}.notebook-tree__toggle,.notebook-tree__toggle-spacer{width:16px;flex:0 0 16px}.notebook-tree__toggle{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--text-secondary)}.notebook-tree__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.notebook-tree__asset-warning{width:12px;height:12px;flex:0 0 auto;border-radius:999px;background:#ef4444f2;color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.notebook-tree__asset-draft-badge{flex:0 0 auto;padding:1px 5px;border-radius:999px;font-size:10px;font-weight:600;line-height:1.4;background:color-mix(in srgb,#f59e0b 15%,transparent);color:#fbbf24;border:1px solid color-mix(in srgb,#f59e0b 30%,transparent)}.notebook-tree__title{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.notebook-tree__editing-indicator{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:var(--notebook-editing-color, #60a5fa);box-shadow:0 0 0 2px color-mix(in srgb,var(--notebook-editing-color, #60a5fa) 22%,transparent)}.cm-wiki-link-dead{-webkit-text-decoration:underline wavy #f87171;text-decoration:underline wavy #f87171}.cm-tracker-syntax{background:#a855f71f;border:1px solid rgba(168,85,247,.3);border-radius:4px;padding:1px 2px;color:var(--text-primary)}.notebook-tracker-checkbox{display:inline-flex;align-items:center;gap:5px;vertical-align:middle}.notebook-tracker-checkbox__item{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:1.5px solid rgba(255,255,255,.28);background:transparent;cursor:pointer;padding:0;transition:background .12s ease,border-color .12s ease;position:relative;outline:none}.notebook-tracker-checkbox__item:focus-visible{box-shadow:0 0 0 2px var(--primary)}.notebook-tracker-checkbox__item:hover:not(:disabled){border-color:var(--primary);background:#6366f11a}.notebook-tracker-checkbox__item[data-checked=true]{background:var(--primary);border-color:var(--primary)}.notebook-tracker-checkbox__item[data-checked=true]:after{content:"";display:block;width:4px;height:8px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}.notebook-tracker-checkbox__item--readonly{cursor:default;opacity:.55}.notebook-tracker-counter{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;font-variant-numeric:tabular-nums}.notebook-tracker-counter__btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);line-height:1;padding:0;transition:background .12s ease,border-color .12s ease,color .12s ease;outline:none}.notebook-tracker-counter__btn:focus-visible{box-shadow:0 0 0 2px var(--primary)}.notebook-tracker-counter__btn:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff61;color:var(--text-primary)}.notebook-tracker-counter__btn:disabled{opacity:.35;cursor:default}.notebook-tracker-counter__value{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);min-width:1.4em;text-align:center}.notebook-tree__rename-input{width:100%}.notebook-context-menu{display:grid;gap:4px;min-width:210px}.notebook-context-menu__item{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--text-primary);text-align:left}.notebook-asset-preview{display:grid;gap:16px}.notebook-asset-preview__section{display:grid;gap:10px;padding:14px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--notebook-panel-bg)}.notebook-asset-preview__section-title{margin:0;font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.notebook-asset-preview__preview-body{display:grid;gap:10px}.notebook-asset-preview__preview-shell{min-height:280px;border-radius:10px;overflow:hidden;border:1px solid var(--border-subtle);background:#111827}.notebook-asset-preview__preview-hint,.notebook-asset-preview__unavailable{font-size:var(--text-xs);color:var(--text-secondary)}.notebook-asset-preview__unavailable{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;background:color-mix(in srgb,var(--notebook-panel-bg) 80%,#111827 20%)}.notebook-asset-preview__meta-row{display:grid;grid-template-columns:minmax(96px,auto) 1fr;gap:12px;align-items:center;font-size:var(--text-sm)}.notebook-asset-preview__meta-key{color:var(--text-secondary)}.notebook-asset-preview__meta-value{color:var(--text-primary);font-weight:600}.notebook-asset-preview__variation-control{width:-moz-max-content;width:max-content;max-width:100%}.notebook-asset-preview__actions{display:flex;gap:10px;justify-content:space-between}.notebook-context-menu__item:hover:not(:disabled){background:var(--primary-hover-bg)}.notebook-context-menu__item:disabled{color:var(--text-disabled)}.notebook-permission-dialog__body,.notebook-search-overlay__body{display:grid;gap:12px}.notebook-permission-dialog__label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.notebook-permission-dialog__presets,.notebook-permission-dialog__actions{display:flex;flex-wrap:wrap;gap:8px}.notebook-permission-dialog__hint{color:var(--text-secondary);font-size:var(--text-sm)}.notebook-permission-dialog__slot-list{display:grid;gap:8px;max-height:220px;overflow:auto}.notebook-permission-dialog__slot-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,160px);gap:10px;align-items:center}.notebook-permission-dialog__slot-name{min-width:0;color:var(--text-primary)}.notebook-search-overlay__results{display:grid;gap:8px;max-height:420px;overflow:auto}.notebook-search-overlay__result{display:grid;gap:4px;width:100%;padding:10px 12px;border:1px solid var(--panel-border);border-radius:12px;background:#ffffff08;color:var(--text-primary);text-align:left}.notebook-search-overlay__result.is-selected,.notebook-search-overlay__result:hover{border-color:var(--primary);background:#60a5fa1f}.notebook-search-overlay__result-title{font-weight:600}.notebook-search-overlay__result-meta,.notebook-search-overlay__empty{color:var(--text-secondary);font-size:12px}.notebook-context-menu__item.danger{color:#fca5a5}.notebook-context-menu__label{min-width:0}.notebook-context-menu__heading{padding:6px 10px 2px;color:var(--text-tertiary);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.notebook-context-menu__shortcut{color:var(--text-tertiary);font-size:var(--text-xs)}.notebook-outline-panel-shell__body{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.notebook-outline-panel-shell__body--asset{grid-template-rows:minmax(0,1fr)}.notebook-side-panel{min-height:0;overflow:hidden;padding:6px}.notebook-side-panel--outline{border-bottom:1px solid var(--notebook-panel-border)}.notebook-outline-panel-shell__body--asset .notebook-side-panel--outline{border-bottom:0}.notebook-outline-panel-shell__body--asset .notebook-side-panel--backlinks{display:none}.notebook-side-panel .panel-section{display:flex;flex-direction:column;min-height:0;height:100%;border:1px solid var(--notebook-panel-border);border-radius:10px;background:var(--notebook-panel-muted);overflow:hidden}.notebook-side-panel .panel-section-header{padding:8px 10px;border-bottom:1px solid var(--notebook-panel-border);background:#ffffff05;text-transform:none}.notebook-side-panel .panel-section-title{font-size:var(--text-xs);font-weight:700;color:var(--text-primary)}.notebook-side-panel .panel-section-content{min-height:0;flex:1 1 auto;overflow:auto;padding:6px}.notebook-outline-list,.notebook-backlinks-list{display:grid;gap:4px}.notebook-outline-item,.notebook-backlink{display:block;min-height:22px;padding:4px 8px;text-align:left;font-size:var(--text-xs);line-height:1.2}.notebook-backlink__title{display:inline-flex;align-items:center;gap:8px;font-weight:700;margin-bottom:4px}.notebook-backlink__meta,.notebook-backlink__snippet{color:var(--text-secondary);font-size:var(--text-sm)}.notebook-backlink__snippet{line-height:1.5}.notebook-panel-empty{display:grid;gap:8px;justify-items:start;padding:14px;border:1px dashed var(--notebook-panel-border);border-radius:14px;color:var(--text-secondary);background:#ffffff04}.notebook-panel-empty strong{color:var(--text-primary);font-size:var(--text-base)}.notebook-panel-empty--editor{max-width:360px;margin:24px}.notebook-panel-empty--tree{margin:10px}.notebook-panel-empty__action{justify-self:start}@media(max-width:1200px){.notebook-editor__header-row--meta{flex-wrap:wrap}.notebook-editor__meta-controls{margin-left:0;width:100%;justify-content:space-between}}@media(max-width:1100px){.notebook-workspace{flex-direction:column}.notebook-panel--explorer,.notebook-panel--editor{border-right:0}.notebook-panel--info{border-left:0;border-top:1px solid var(--notebook-panel-border)}.notebook-workspace__gutter,.notebook-gutter{width:100%!important;height:4px;flex-basis:4px;cursor:default;pointer-events:none}.notebook-outline-panel-shell__body{grid-template-rows:minmax(220px,1fr) minmax(220px,1fr)}}@media(max-width:720px){.notebook-editor__header,.notebook-workspace__header,.notebook-preview{padding-left:16px;padding-right:16px}.notebook-editor__toolbar,.notebook-file-tree__toolbar{padding-left:10px;padding-right:10px}.notebook-tabs__list{padding-right:52px}.notebook-tab{max-width:190px}}.notebook-asset-editor-shell{display:flex;flex-direction:column;gap:12px;min-height:100%}.notebook-asset-editor-shell__header{display:flex;flex-direction:column;gap:6px}.notebook-asset-editor-shell__title{margin:0;font-size:22px;font-weight:700;color:var(--text-primary)}.notebook-asset-editor-shell__subtitle{margin:0;font-size:13px;color:var(--notebook-panel-secondary-text, #94a3b8)}.notebook-asset-editor-shell__banner{padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.45;border:1px solid transparent}.notebook-asset-editor-shell__banner--draft{background:color-mix(in srgb,#f59e0b 12%,transparent);border-color:color-mix(in srgb,#f59e0b 30%,transparent);color:#fde68a}.notebook-asset-editor-shell__banner--configured{background:color-mix(in srgb,#22c55e 12%,transparent);border-color:color-mix(in srgb,#22c55e 30%,transparent);color:#86efac}.notebook-asset-panel{padding:12px;display:flex;flex-direction:column;gap:10px;color:var(--notebook-panel-text, #e2e8f0);font-size:13px}.notebook-asset-panel__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notebook-asset-panel__type{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--notebook-panel-secondary-text, #94a3b8)}.notebook-asset-panel__status{font-size:11px;padding:2px 7px;border-radius:999px;font-weight:500}.notebook-asset-panel__status--configured{background:color-mix(in srgb,#22c55e 15%,transparent);color:#4ade80;border:1px solid color-mix(in srgb,#22c55e 30%,transparent)}.notebook-asset-panel__status--unconfigured,.notebook-asset-panel__status--partial{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#fbbf24;border:1px solid color-mix(in srgb,#f59e0b 30%,transparent)}.notebook-asset-panel__preview{width:100%;aspect-ratio:16 / 9;background:var(--notebook-panel-bg-elevated, #1e293b);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--notebook-border, #334155)}.notebook-asset-panel__preview--live{align-items:stretch;justify-content:stretch;padding:0}.notebook-asset-panel__preview--live>.asset-setup-preview-shell,.notebook-asset-panel__preview--live>.asset-setup-preview-pane{width:100%;min-height:100%;margin:0;border:0;border-radius:0}.notebook-asset-panel__preview--live .asset-setup-preview{min-height:100%}.notebook-asset-panel__preview img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.notebook-asset-panel__preview--empty{color:var(--notebook-panel-muted, #475569);font-size:12px}.notebook-asset-panel__note{margin-top:8px;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.45;border:1px solid transparent}.notebook-asset-panel__note--info{background:color-mix(in srgb,#38bdf8 10%,transparent);border-color:color-mix(in srgb,#38bdf8 25%,transparent);color:#bae6fd}.notebook-asset-panel__note--warning{background:color-mix(in srgb,#f59e0b 12%,transparent);border-color:color-mix(in srgb,#f59e0b 30%,transparent);color:#fde68a}.notebook-asset-panel__note--error{background:color-mix(in srgb,#ef4444 12%,transparent);border-color:color-mix(in srgb,#ef4444 30%,transparent);color:#fecaca}.notebook-asset-panel__stats{display:flex;flex-direction:column;gap:4px}.notebook-asset-panel__stat{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--notebook-border, #334155)}.notebook-asset-panel__stat-label{color:var(--notebook-panel-secondary-text, #94a3b8);font-size:12px}.notebook-asset-panel__stat-value{font-weight:600;font-variant-numeric:tabular-nums}.notebook-asset-panel__tags{display:flex;flex-wrap:wrap;gap:4px}.notebook-asset-panel__tag{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--notebook-tag-bg, #1e3a5f);color:var(--notebook-tag-color, #93c5fd);border:1px solid var(--notebook-tag-border, #1d4ed8)}.notebook-asset-panel__actions{display:flex;gap:6px;flex-wrap:wrap}.notebook-asset-panel__action{flex:1;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:500;border:1px solid var(--notebook-border, #334155);background:var(--notebook-panel-bg-elevated, #1e293b);color:var(--notebook-panel-text, #e2e8f0);cursor:pointer;transition:background .1s}.notebook-asset-panel__action:hover{background:var(--notebook-panel-bg-hover, #2d3f55)}.notebook-asset-panel__action--danger{color:#f87171;border-color:color-mix(in srgb,#f87171 40%,transparent)}.notebook-asset-panel__action--danger:hover{background:color-mix(in srgb,#ef4444 15%,transparent)}.whiteboard-workspace-host{position:absolute;inset:0;z-index:85;display:none}body.workspace-whiteboard .app-layout{grid-template-columns:1fr}body.workspace-whiteboard .right-sidebar,body.workspace-whiteboard .top-bar,body.workspace-whiteboard #toolWindow,body.workspace-whiteboard #toolbarHelper,body.workspace-whiteboard .build-stamp{display:none!important}body.workspace-whiteboard #canvas-container,body.workspace-whiteboard #selectionOverlay,body.workspace-whiteboard #valueFeedback{opacity:0;pointer-events:none}body.workspace-whiteboard .whiteboard-workspace-host{inset:42px 0 0;display:block}body.workspace-whiteboard .workspace-tab-bar{z-index:95}.whiteboard-workspace{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);height:100%;min-height:0;background:linear-gradient(180deg,#0f172afa,#020617fa);color:var(--text-primary)}.whiteboard-workspace__sidebar,.whiteboard-workspace__main{min-width:0;min-height:0}.whiteboard-workspace.is-sidebar-collapsed{grid-template-columns:0px minmax(0,1fr)}.whiteboard-workspace.is-player-view{grid-template-columns:minmax(0,1fr)}.whiteboard-workspace.is-sidebar-collapsed .whiteboard-workspace__sidebar{overflow:hidden;border-right:none;pointer-events:none}.whiteboard-workspace.is-player-view .whiteboard-workspace__sidebar,.whiteboard-workspace.is-player-view .whiteboard-workspace__toolbar{display:none}.whiteboard-workspace.is-player-view .whiteboard-workspace__main{grid-template-rows:minmax(0,1fr)}.whiteboard-workspace__sidebar{border-right:1px solid rgba(148,163,184,.18);background:#0f172ad1}.whiteboard-workspace__sidebar-body{height:100%;overflow:auto}.whiteboard-sidebar{display:grid;gap:16px;padding:16px}.whiteboard-sidebar__search{width:100%;padding:10px 12px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#0f172a8c;color:var(--text-primary)}.whiteboard-sidebar__list{display:grid;gap:8px;align-content:start}.whiteboard-sidebar__row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#1e293b8c;color:var(--text-primary);text-align:left}.whiteboard-sidebar__row.is-selected{border-color:#38bdf88c;background:#0e74903d}.whiteboard-sidebar__badge,.whiteboard-toolbar__badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#0ea5e92e;color:#7dd3fc;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.whiteboard-sidebar__actions{display:grid;gap:8px}.whiteboard-sidebar__action,.whiteboard-sidebar__permission,.notebook-excalidraw-note__open{min-height:36px;padding:8px 12px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#1e293bb3;color:var(--text-primary)}.whiteboard-sidebar__action:disabled,.whiteboard-sidebar__permission:disabled{opacity:.45}.whiteboard-sidebar__permission-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.whiteboard-sidebar__permission.is-active{border-color:#38bdf880;background:#0891b24d}.whiteboard-workspace__main{display:grid;grid-template-rows:auto minmax(0,1fr)}.whiteboard-workspace__toolbar{border-bottom:1px solid rgba(148,163,184,.18);background:#0f172ab3}.whiteboard-workspace__surface-shell,.whiteboard-workspace__surface{position:relative;width:100%;height:100%}.whiteboard-workspace__surface-loading{position:absolute;inset:0;display:grid;place-items:center;gap:12px;background:linear-gradient(135deg,#0f172af5,#1e293bf5);pointer-events:none;transition:opacity .14s ease}.whiteboard-workspace__surface-shell:not(.is-loading) .whiteboard-workspace__surface-loading{opacity:0}.whiteboard-workspace__surface-loading-bar{width:min(320px,48vw);height:8px;border-radius:999px;background:linear-gradient(90deg,#22d3ee2e,#38bdf8cc,#22d3ee2e);background-size:200% 100%;animation:whiteboard-surface-shimmer 1.2s linear infinite}.whiteboard-workspace__surface-loading-copy{color:#e2e8f0eb;font-size:13px;letter-spacing:.02em}@keyframes whiteboard-surface-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.whiteboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px}.whiteboard-toolbar__toggle-sidebar{flex-shrink:0;width:28px;height:28px;border:none;border-radius:6px;background:#94a3b81f;color:var(--text-secondary, #94a3b8);font-size:14px;line-height:1;cursor:pointer;transition:background .15s ease}.whiteboard-toolbar__toggle-sidebar:hover{background:#94a3b838;color:var(--text-primary, #e2e8f0)}.whiteboard-toolbar__meta,.whiteboard-toolbar__state{display:flex;align-items:center;gap:12px}.whiteboard-toolbar__title{font-size:16px;font-weight:700}.whiteboard-toolbar__title-button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.whiteboard-toolbar__title-button:hover{color:var(--accent-400)}.whiteboard-toolbar__rename-input{width:min(320px,100%);padding:8px 10px;border-radius:10px;border:1px solid rgba(56,189,248,.35);background:#0f172ae6;color:var(--text-primary);font:inherit;font-size:16px;font-weight:700}.whiteboard-toolbar__status,.whiteboard-toolbar__mode,.whiteboard-sidebar__permission-label,.whiteboard-sidebar__empty{color:var(--text-secondary);font-size:12px}.whiteboard-workspace__canvas,.whiteboard-workspace__surface,.notebook-excalidraw-note,.notebook-excalidraw-note__canvas{min-height:0;height:100%}.whiteboard-workspace__canvas{position:relative;background:radial-gradient(circle at top,rgba(56,189,248,.14),transparent 30%),#0f172af2}.whiteboard-workspace__empty,.notebook-excalidraw-note{display:grid;place-items:center;gap:12px;color:var(--text-secondary)}.notebook-excalidraw-note{grid-template-rows:auto minmax(0,1fr);padding:12px}.notebook-excalidraw-note__actions{display:flex;justify-content:flex-end;margin-bottom:12px}.play-overlay{position:absolute;top:86px;left:16px;z-index:30;display:block;pointer-events:none}.play-overlay--blocking{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#02061761;z-index:150;pointer-events:auto}.play-overlay-card{min-width:220px;text-align:left;border-radius:12px;padding:12px 14px;background:#111827b3}.play-overlay-card--blocking{width:min(520px,calc(100vw - 48px));padding:22px 24px;border:1px solid rgba(148,163,184,.22);box-shadow:0 30px 80px #02061761;background:#0f172ad1}.play-overlay-title{font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.play-overlay-subtitle{margin-top:4px;font-size:var(--text-sm);color:var(--text-secondary)}.play-overlay-message{margin-top:10px;font-size:var(--text-base);line-height:1.5;color:var(--text-primary)}.play-overlay-player{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.play-overlay-player-name{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.vision-vignette{position:fixed;inset:0;pointer-events:none;z-index:34;opacity:0;transition:opacity .3s ease-out;background:radial-gradient(ellipse 70% 65% at 50% 50%,transparent 50%,rgba(0,0,0,.3) 75%,rgba(0,0,0,.6) 100%)}.vision-vignette--active{opacity:1}.vision-vignette-label{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:6px 14px;background:#1e1e1ecc;border-radius:6px;color:#ffffffe6;font-size:var(--text-base);display:flex;align-items:center;gap:6px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vision-vignette-icon{font-size:16px}.vision-vignette-name{font-weight:600}.vision-exit-btn{position:fixed;top:16px;right:16px;padding:8px 16px;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-primary);font-size:var(--text-base);cursor:pointer;z-index:39;display:flex;align-items:center;gap:6px;opacity:0;transform:translateY(-8px);transition:opacity .2s ease-out,transform .2s ease-out;pointer-events:auto}.vision-exit-btn--visible{opacity:1;transform:translateY(0)}.vision-exit-btn:hover{background:#64a0ff33;border-color:#64a0ff66}.vision-exit-icon{font-size:14px;opacity:.8}.measure-tape-label{position:fixed;transform:translate(-50%,-100%);padding:4px 10px;border-radius:4px;font-size:15px;font-weight:700;color:#f59e0b;pointer-events:none;z-index:38;white-space:nowrap;display:inline-flex;align-items:baseline;gap:6px}.measure-distance-value{line-height:1}.measure-distance-total{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.measure-area-label{position:fixed;transform:translate(-50%,-100%);padding:4px 10px;border-radius:4px;font-size:var(--text-xs);color:var(--text-primary);pointer-events:none;z-index:38;white-space:nowrap}.measure-area-shape{font-weight:600;margin-right:4px}.measure-area-size{opacity:.7}.measure-selection-controls{position:fixed;display:inline-flex;flex-direction:column;gap:6px;transform:translate(-50%,-100%);padding:6px;border-radius:10px;z-index:38;pointer-events:auto}.measure-selection-controls__group{display:inline-flex;align-items:center;justify-content:center;gap:6px}.measure-selection-controls__button{min-width:28px;height:28px;padding:0 8px;border:1px solid rgba(147,197,253,.28);border-radius:999px;background:#0f172ae0;color:var(--text-primary);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.measure-selection-controls__button:hover{border-color:#93c5fda6;background:#1e40af6b}.measure-selection-controls__button--conversion{min-width:58px}.measure-selection-controls__value{min-width:34px;text-align:center;font-size:var(--text-xs);font-weight:700;color:var(--text-primary)}.move-distance-label{position:fixed;transform:translate(-50%,-100%);padding:4px 8px;border-radius:4px;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);pointer-events:none;z-index:38;white-space:nowrap}.move-checkpoint-label{position:fixed;transform:translate(-50%,-100%);padding:2px 7px;border-radius:999px;font-size:var(--text-xs);font-weight:700;color:#86efacf5;border-color:#4ade8080;pointer-events:none;z-index:38;white-space:nowrap}.move-distance-value{font-size:var(--text-lg);margin-right:3px;line-height:1}.move-distance-unit{font-size:var(--text-xs);opacity:.7}@keyframes holo-pulse{0%,to{border-color:#64a0ff61;filter:drop-shadow(0 0 4px rgba(100,160,255,.3))}50%{border-color:#64a0ffc7;filter:drop-shadow(0 0 8px rgba(100,160,255,.6))}}@keyframes die-click-pop{0%{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-50%,-50%) scale(1.28)}to{transform:translate(-50%,-50%) scale(1)}}#actionToastContainer{position:fixed;right:24px;bottom:92px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.action-toast{width:min(360px,calc(100vw - 32px));padding:10px;border-radius:10px;border:1px solid var(--border-strong);background:#111827eb;pointer-events:auto;overflow:hidden}.action-toast-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.action-toast-message{color:var(--text-primary);font-size:var(--text-sm)}.action-toast-dismiss{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;line-height:1;padding:0}.action-toast-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.action-toast-progress{margin-top:8px;height:2px;width:100%;transform-origin:left center;background:#3b82f6e6}.main-menu-container{position:fixed;top:0;left:0;z-index:96}.main-menu-toggle{width:39.5px;height:31px;display:inline-flex;align-items:center;justify-content:center;border:none;border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);border-radius:0 0 10px;background:#141414f2;color:var(--text-primary);cursor:pointer;transition:background .15s ease}.main-menu-toggle:hover{background:#282828f2}.main-menu-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.main-menu-dropdown{position:absolute;top:41.5px;left:0;width:260px;display:flex;flex-direction:column;gap:6px;padding:8px}.menu-vault-selector{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.main-menu-item{width:100%;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary);text-align:left;padding:8px 10px;font-size:var(--text-sm);cursor:pointer}.main-menu-item:hover{background:var(--bg-hover);border-color:var(--border-strong)}.menu-divider{height:1px;background:var(--border-default);margin:2px 0}.vault-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:6px;border:1px solid var(--border-default);border-radius:6px;background:#0f0f0f59}.vault-row-main{display:flex;align-items:center;gap:8px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;min-width:0}.vault-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.vault-row-date{margin-left:auto;color:var(--text-tertiary);font-size:10px}.vault-row-actions{display:inline-flex;align-items:center;gap:4px}.vault-row-actions button{border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer}.modifiers-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-secondary);font-size:var(--text-sm);min-height:120px}.modifiers-placeholder-icon{font-size:18px;color:var(--text-tertiary)}.modifiers-category{display:grid;gap:6px}.modifier-item{display:grid;gap:6px;padding:8px;border-radius:8px;border:1px solid var(--border-subtle);background:#1414148c}.modifier-target-banner{display:grid;gap:6px;padding:10px;border-radius:8px;border:1px solid var(--border-subtle);background:#1414148c}.modifier-target-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.modifier-target-meta{font-size:var(--text-xs);color:var(--text-secondary)}.modifier-target-chip-row{display:flex;flex-wrap:wrap;gap:6px}.modifier-target-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel-input);color:var(--panel-value);font-size:var(--text-xs);padding:2px 8px}.modifier-target-chip-remove{border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-xs);line-height:1;cursor:pointer;padding:0}.modifier-target-chip-remove:hover{color:var(--text-primary)}.modifier-target-empty{font-size:var(--text-xs);color:var(--text-tertiary)}[data-tab-panel=modifiers] .panel-section{margin-bottom:2px}[data-tab-panel=modifiers] .panel-section-content{padding-bottom:4px;gap:2px}.modifier-item.active{border-color:#60a5fa8c;background:#3b82f61a}.modifier-item-button{width:100%;border:none;background:transparent;text-align:left;color:var(--text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:0}.modifier-params{display:grid;gap:8px}.modifier-mode-toggle{width:100%}.modifier-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.modifier-actions .properties-btn{min-width:74px}.modifier-seed-row{display:flex;align-items:center;gap:6px}.modifier-seed-row .scrub-input{flex:1}.modifier-color-list{display:grid;gap:4px}.modifier-color-list-item{display:flex;align-items:center;gap:4px}.modifier-color-list-item .color-input{flex:1;min-width:0}.modifier-color-list-add{width:100%;margin-top:2px}.modifiers-empty{color:var(--text-secondary);font-size:var(--text-xs);padding:4px 0}.workspace-tab-bar{position:absolute;top:0;left:46px;z-index:25;pointer-events:auto}.workspace-tab-group{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:10px;border:1px solid var(--border-default);border-top:0;background:#141414cc;box-shadow:0 8px 20px #00000073}.workspace-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;padding:6px 12px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.workspace-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.workspace-tab.is-active{color:#fff;border-color:var(--primary-dark);background:var(--primary)}.workspace-badge{font-size:9px;line-height:1;border-radius:999px;padding:2px 4px;border:1px solid var(--border-strong);color:var(--text-tertiary)}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-cyrillic-ext-400-normal-BjDhGU6t.woff2) format("woff2"),url(/assets/noto-sans-cyrillic-ext-400-normal-d9FrwbiD.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-cyrillic-400-normal-CHP_ranX.woff2) format("woff2"),url(/assets/noto-sans-cyrillic-400-normal-BDYvNhAR.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-devanagari-400-normal-C3FccbrF.woff2) format("woff2"),url(/assets/noto-sans-devanagari-400-normal-g9fsM2jL.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-greek-ext-400-normal-i2oSBwXz.woff2) format("woff2"),url(/assets/noto-sans-greek-ext-400-normal-L11LEhi4.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-greek-400-normal-DCESwnT1.woff2) format("woff2"),url(/assets/noto-sans-greek-400-normal-Be2BcUUc.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-vietnamese-400-normal-D2wP-Vm-.woff2) format("woff2"),url(/assets/noto-sans-vietnamese-400-normal-C3Al4sv4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-latin-ext-400-normal-CVf-LbaS.woff2) format("woff2"),url(/assets/noto-sans-latin-ext-400-normal-CNh9dRW_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-latin-400-normal-BTkUljjl.woff2) format("woff2"),url(/assets/noto-sans-latin-400-normal-DPpKfCgK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-cyrillic-ext-700-normal-OK-fZO_i.woff2) format("woff2"),url(/assets/noto-sans-cyrillic-ext-700-normal-D83T7awq.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-cyrillic-700-normal-DYZmzPmX.woff2) format("woff2"),url(/assets/noto-sans-cyrillic-700-normal-D8UNalU-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-devanagari-700-normal-DVs0dmkg.woff2) format("woff2"),url(/assets/noto-sans-devanagari-700-normal-CT12sGlc.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-greek-ext-700-normal-Dq1WA5-1.woff2) format("woff2"),url(/assets/noto-sans-greek-ext-700-normal-BOmIwFkq.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-greek-700-normal-x3kNWF-0.woff2) format("woff2"),url(/assets/noto-sans-greek-700-normal-DDNJsN3F.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-vietnamese-700-normal-DayJ0F-f.woff2) format("woff2"),url(/assets/noto-sans-vietnamese-700-normal-1GL2JyGE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-latin-ext-700-normal-BypTtJma.woff2) format("woff2"),url(/assets/noto-sans-latin-ext-700-normal-CgsG9aVh.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-latin-700-normal-CrvTEWhy.woff2) format("woff2"),url(/assets/noto-sans-latin-700-normal-ZyrKABVF.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-ext-400-normal-XQK_CSAr.woff2) format("woff2"),url(/assets/cinzel-latin-ext-400-normal-DJ0Lq8y-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-400-normal-DnUIPmzd.woff2) format("woff2"),url(/assets/cinzel-latin-400-normal-C8jUSQqm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-darkest: #0f0f0f;--bg-dark: #1a1a1a;--bg-panel: #242424;--bg-elevated: #2d2d2d;--bg-hover: #3d3d3d;--border-subtle: #2a2a2a;--border-default: #333333;--border-strong: #444444;--primary: #3b82f6;--primary-dark: #2563eb;--primary-subtle-bg: rgba(59, 130, 246, .08);--primary-hover-bg: rgba(59, 130, 246, .12);--primary-active-bg: rgba(59, 130, 246, .16);--primary-border: rgba(59, 130, 246, .3);--success: #10b981;--success-dark: #059669;--warning: #f97316;--danger: #ef4444;--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--text-disabled: #52525b;--notebook-wikilink: #93c5fd;--notebook-wikilink-edit: #60a5fa;--notebook-frontmatter: #818cf8;--notebook-workspace-glow: rgba(59, 130, 246, .06);--notebook-workspace-bg: linear-gradient(180deg, rgba(30, 30, 30, .96), rgba(20, 20, 20, .98));--notebook-panel-bg: rgba(36, 36, 36, .92);--notebook-panel-elevated: rgba(42, 42, 42, .92);--notebook-panel-hover: rgba(255, 255, 255, .05);--notebook-panel-muted: rgba(255, 255, 255, .03);--notebook-panel-border: rgba(255, 255, 255, .08);--notebook-panel-strong-border: rgba(255, 255, 255, .12);--notebook-panel-shadow: 0 20px 50px rgba(0, 0, 0, .26);--notebook-gutter: rgba(255, 255, 255, .05);--notebook-gutter-hover: rgba(59, 130, 246, .28);--notebook-selection-ring: 0 0 0 1px var(--primary-border);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Consolas", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-lg: 14px;--panel-surface: #2b2b2b;--panel-surface-dark: #1e1e1e;--panel-input: #3d3d3d;--panel-input-hover: #454545;--panel-border: #3d3d3d;--panel-label: #aaaaaa;--panel-value: #ffffff;--axis-x: #e74c3c;--axis-y: #2ecc71;--axis-z: #3498db;--player-slot-color-1: #ef4444;--player-slot-color-2: #f97316;--player-slot-color-3: #eab308;--player-slot-color-4: #22c55e;--player-slot-color-5: #3b82f6;--player-slot-color-6: #a855f7;--movement-flying-color: #87ceeb}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.end-1{inset-inline-end:.25rem}.left-1\/2{left:50%}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[120\]{z-index:120}.z-\[220\]{z-index:220}.mx-4{margin-left:1rem;margin-right:1rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.max-h-\[320px\]{max-height:320px}.max-h-\[400px\]{max-height:400px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[80vh\]{max-height:80vh}.min-h-\[200px\]{min-height:200px}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[320px\]{width:320px}.w-\[min\(320px\,calc\(100vw-32px\)\)\]{width:min(320px,calc(100vw - 32px))}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-16{min-width:4rem}.min-w-\[110px\]{min-width:110px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-separate{border-collapse:separate}.border-spacing-y-1{--tw-border-spacing-y: .25rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-20{--tw-translate-y: 5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[190px\]{--tw-translate-y: 190px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-500\/50{border-color:#3b82f680}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-gray-600\/70{border-color:#4b5563b3}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-700\/30{border-color:#3741514d}.border-gray-700\/50{border-color:#37415180}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-green-500\/70{border-color:#22c55eb3}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-red-600\/30{border-color:#dc26264d}.border-red-600\/50{border-color:#dc262680}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/5{border-color:#ffffff0d}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/20{background-color:#2563eb33}.bg-blue-600\/90{background-color:#2563ebe6}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-700\/60{background-color:#37415199}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-800\/30{background-color:#1f29374d}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-gray-900\/50{background-color:#11182780}.bg-gray-900\/90{background-color:#111827e6}.bg-gray-900\/95{background-color:#111827f2}.bg-green-600\/20{background-color:#16a34a33}.bg-red-600\/20{background-color:#dc262633}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/70{background-color:#0f172ab3}.bg-slate-900\/80{background-color:#0f172acc}.bg-slate-950\/60{background-color:#02061799}.bg-slate-950\/80{background-color:#020617cc}.bg-slate-950\/95{background-color:#020617f2}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pl-5{padding-left:1.25rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-none{line-height:1}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-blue-200{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-rose-300{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.\!shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.\!outline{outline-style:solid!important}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-sky-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(56 189 248 / var(--tw-ring-opacity, 1))}.ring-white\/10{--tw-ring-color: rgb(255 255 255 / .1)}.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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.grayscale{--tw-grayscale: grayscale(100%);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)}.invert{--tw-invert: invert(100%);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)}.backdrop-blur{--tw-backdrop-blur: blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hidden{display:none!important}body{margin:0;overflow:hidden;background-color:var(--bg-dark);font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary)}.section-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.app-layout{display:grid;grid-template-columns:1fr 320px;grid-template-rows:1fr;height:100vh;width:100vw;overflow:hidden}body.app-booting .app-layout{visibility:hidden}body:not(.app-booting) .app-layout{visibility:visible}.startup-loader{position:fixed;inset:0;z-index:2100;display:none;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:#0a0a0a}body.app-booting .startup-loader{display:flex}body:not(.app-booting) .startup-loader{display:none}@keyframes startup-loader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-loading-overlay{position:fixed;inset:0;z-index:1900;display:flex;align-items:center;justify-content:center;background:#0a0a0aad;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:none}.map-loading-card{width:min(420px,calc(100vw - 48px));background:color-mix(in srgb,var(--bg-panel) 90%,black 10%);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 20px 60px #00000073;padding:16px}.map-loading-title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);margin-bottom:10px}.map-loading-progress-track{width:100%;height:8px;border-radius:999px;background:var(--panel-input);overflow:hidden}.map-loading-progress-bar{width:0;height:100%;border-radius:inherit;background:var(--primary);transition:width .12s linear}body.app-join-failed .app-layout,body.app-join-pending .app-layout{display:none}.startup-join-waiting{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a0a0aeb}.startup-join-waiting.hidden{display:none!important}.startup-join-waiting-card{width:min(560px,100%);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 20px 60px #00000080;padding:20px}.startup-join-waiting-title{margin:0;font-size:20px;font-weight:700;color:var(--text-primary)}.startup-join-waiting-body{margin:10px 0 0;font-size:var(--text-base);color:var(--text-secondary);line-height:1.5}.startup-join-failure{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a0a0aeb}.startup-join-failure.hidden{display:none!important}.startup-join-failure-card{width:min(560px,100%);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 20px 60px #00000080;padding:20px}.startup-join-failure-title{margin:0;font-size:20px;font-weight:700;color:var(--text-primary)}.startup-join-failure-body{margin:10px 0 0;font-size:var(--text-base);color:var(--text-secondary);line-height:1.5}.startup-join-failure-steps{margin:14px 0 0;padding-left:18px;color:var(--text-secondary);display:grid;gap:6px;font-size:var(--text-sm)}.startup-join-failure-actions{margin-top:16px;display:flex;gap:10px}.startup-join-failure-button{border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;padding:9px 14px;cursor:pointer}.startup-join-failure-button:hover{background:var(--bg-hover)}.startup-join-failure-button--primary{border-color:var(--primary-dark);background:var(--primary)}.startup-join-failure-button--primary:hover{background:var(--primary-dark)}.app-layout--right-collapsed{grid-template-columns:1fr 40px}.viewport{position:relative;overflow:hidden;min-width:0;min-height:0;background:#0f0f0f}body.mode-build{cursor:crosshair}body.mode-select{cursor:pointer}body.mode-stage,body.mode-play,body.mode-generate{cursor:default}:is(#notebookWorkspaceHost,.notebook-workspace-host,.notebook-workspace,#workspaceTabBar,.workspace-tab-bar,#topBar,.top-bar,.top-bar-inner,#rightSidebar,.right-sidebar,#toolWindow,.tool-window-toggle,.main-menu-container,.main-menu-dropdown,.palette-popover,.outliner-context-menu,.notebook-context-menu,.glass-panel,.modal-shell,.modal-shell-overlay,.play-float-panel,.play-float-btn,.play-realign-btn,.play-realign-menu,.play-combat-modal,.play-notif-modal){cursor:default}.notebook-selection-menu{display:grid;gap:4px;min-width:210px;z-index:140}.notebook-selection-menu--submenu{position:fixed}.notebook-selection-menu__item{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:10px}.notebook-selection-menu__icon,.notebook-selection-menu__suffix{display:inline-flex;align-items:center;justify-content:center}.notebook-selection-menu__slot-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 1px #ffffff24}:is(#notebookWorkspaceHost,.notebook-workspace-host,.notebook-workspace,#rightSidebar,.right-sidebar,#toolWindow,.glass-panel,.modal-shell,.play-float-panel,.play-combat-modal,.play-notif-modal) :is(input:not([type=button]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=reset]):not([type=submit]),textarea,[contenteditable=true],.cm-editor,.cm-scroller,.cm-content,.cm-line){cursor:text}body.workspace-stage .mode-picker,body.workspace-play .mode-picker{display:none}body.workspace-play .app-layout{grid-template-columns:1fr}body.workspace-play .right-sidebar,body.workspace-play .top-bar,body.workspace-play #playOverlay{display:none}body.workspace-play #playOverlay.play-overlay--blocking{display:flex}#canvas-container{width:100%;height:100%}.viewport-height-slider{position:absolute;top:50%;right:20px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:45}.viewport-height-slider__button,.viewport-height-slider__track,.viewport-height-slider__thumb{pointer-events:auto}.viewport-height-slider__button{width:28px;height:28px;border:none;border-radius:999px;background:#0a0f1ab8;color:#e2f7ff;font-size:18px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 0 0 1px #7be2ff52}.viewport-height-slider__button:hover{background:#0082b4c7}.viewport-height-slider__track{position:relative;width:56px;height:224px;cursor:ns-resize}.viewport-height-slider__track-line{position:absolute;top:0;bottom:0;left:20px;width:2px;border-radius:999px;background:linear-gradient(180deg,#99f6ff40,#99f6ffd9)}.viewport-height-slider__ticks{position:absolute;inset:0}.viewport-height-slider__tick{position:absolute;left:20px;width:34px;transform:translateY(50%);pointer-events:none}.viewport-height-slider__tick-line{position:absolute;top:50%;left:-4px;width:10px;height:1px;background:#baf0ff94}.viewport-height-slider__tick-label{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:#e2f7ffa8;font-size:10px;font-weight:600;letter-spacing:.02em}.viewport-height-slider__thumb{position:absolute;left:20px;transform:translate(-50%,50%);min-width:28px;height:28px;border:none;border-radius:999px;padding:0 8px;background:#00a0dceb;color:#00131a;font-size:11px;font-weight:800;cursor:grab;box-shadow:0 0 0 1px #e4fdffcc,0 8px 20px #00000047}.viewport-height-slider__thumb:active{cursor:grabbing}.notebook-tree__row{display:flex;align-items:center;gap:8px}.notebook-tree__title{min-width:0;flex:1 1 auto}.notebook-tree__hint{flex:0 0 auto;margin-left:auto;color:#cbd5e1b3;font-size:11px;font-weight:600}.notebook-tree__row.is-stash-directory,.notebook-tree__row.is-stash-child{--stash-border-color: var( --notebook-stash-border-color, color-mix(in srgb, var(--notebook-stash-color, #38bdf8) 55%, rgba(148, 163, 184, .28) 45%) );border-color:var(--stash-border-color)}.notebook-tree__row.is-stash-directory{background:var( --notebook-stash-background, color-mix(in srgb, var(--notebook-stash-color, #38bdf8) 14%, transparent) )}.notebook-tree__row.is-stash-child{background:var( --notebook-stash-background, color-mix(in srgb, var(--notebook-stash-color, #38bdf8) 8%, transparent) )}.notebook-tree__row.is-stash-directory .notebook-tree__icon,.notebook-tree__row.is-stash-child .notebook-tree__icon{color:var(--notebook-stash-color, #38bdf8)}.stash-preview{display:flex;flex-direction:column;gap:16px;padding:16px;color:#e5edf8}.stash-preview__preview-shell,.stash-preview__section{border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#0f172a85}.stash-preview__preview-shell{min-height:260px;overflow:hidden}.stash-preview__section{display:flex;flex-direction:column;gap:12px;padding:14px}.stash-preview__section-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#cbd5f5}.stash-preview__meta-row,.stash-preview__field,.stash-preview__toggle{display:flex;align-items:center;justify-content:space-between;gap:12px}.stash-preview__meta-key{color:#e2e8f0c7;font-size:12px}.stash-preview__meta-value{color:#f8fafc;font-size:12px;font-weight:600}.stash-preview__combat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.stash-preview__field{flex-direction:column;align-items:stretch;font-size:12px;color:#e2e8f0c7}.stash-preview__conditions,.stash-preview__copy,.stash-preview__warning{font-size:12px;color:#e2e8f0d1}.stash-preview__subsection-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#cbd5f5d1}.stash-preview__combat-log,.stash-preview__combat-log-list{display:flex;flex-direction:column;gap:8px}.stash-preview__combat-log-row{border:1px solid rgba(148,163,184,.14);border-radius:10px;background:#0f172a66;padding:10px 12px}.stash-preview__combat-log-main{display:flex;flex-direction:column;gap:4px}.stash-preview__combat-log-entry{display:flex;align-items:center;gap:8px;color:#f8fafc;font-size:12px;font-weight:600}.stash-preview__combat-log-meta{color:#e2e8f0b3;font-size:11px}.stash-preview__warning{border:1px solid rgba(248,113,113,.35);border-radius:10px;background:#7f1d1d47;padding:10px 12px}.stash-preview__actions{display:flex;justify-content:flex-end;gap:8px}.stash-directory-picker-dialog__body{display:flex;flex-direction:column;gap:12px}.stash-directory-picker-dialog__list{display:flex;flex-direction:column;gap:8px}.stash-directory-picker-dialog__row{border:1px solid var( --stash-row-border-color, color-mix(in srgb, var(--stash-slot-color, #38bdf8) 56%, rgba(148, 163, 184, .32) 44%) );border-radius:10px;background:var( --stash-row-background, color-mix(in srgb, var(--stash-slot-color, #38bdf8) 10%, rgba(15, 23, 42, .88) 90%) );padding:10px 12px;text-align:left;color:#f8fafc}.stash-directory-picker-dialog__row.is-selected{box-shadow:0 0 0 1px var(--stash-slot-color, #38bdf8)}.stash-directory-picker-dialog__footer{display:flex;justify-content:flex-end;gap:8px}.notebook-directory-type-dialog__body{display:flex;flex-direction:column;gap:12px}.notebook-directory-type-dialog__choices{display:flex;gap:8px}.notebook-directory-type-dialog__slot-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#e2e8f0c7}.notebook-directory-type-dialog__slot-label{color:#f8fafc;font-weight:600}.notebook-directory-type-dialog__footer{display:flex;justify-content:flex-end;gap:8px}.notebook-resource-preview{display:flex;flex-direction:column;gap:16px;padding:16px;color:#e5edf8}.notebook-resource-preview__section{display:flex;flex-direction:column;gap:12px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#0f172a85;padding:14px}.notebook-resource-preview__section-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#cbd5f5}.notebook-resource-preview__preview-body{display:flex;flex-direction:column;gap:10px}.notebook-resource-preview__image-shell,.notebook-resource-preview__model-shell,.notebook-resource-preview__audio-shell,.notebook-resource-preview__unavailable{border-radius:10px;border:1px solid rgba(148,163,184,.16);background:#0206179e;overflow:hidden}.notebook-resource-preview__image-shell{display:flex;justify-content:center;align-items:center;min-height:260px;padding:16px;background-image:linear-gradient(45deg,rgba(255,255,255,.06) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.06) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.06) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.06) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.notebook-resource-preview__image{display:block;max-width:100%;max-height:520px;-o-object-fit:contain;object-fit:contain}.notebook-resource-preview__model-shell{min-height:320px}.notebook-resource-preview__model-hint{color:#cbd5e1c7;font-size:12px}.notebook-resource-preview__audio-shell{display:flex;flex-direction:column;gap:12px;padding:16px}.notebook-resource-preview__audio-title{font-weight:700}.notebook-resource-preview__audio{width:100%}.notebook-resource-preview__unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:220px;color:#cbd5e1d1}.notebook-resource-preview__meta-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start;font-size:13px}.notebook-resource-preview__meta-key{color:#94a3b8eb;font-weight:700}.notebook-resource-preview__meta-value{color:#f8fafc;overflow-wrap:anywhere}.notebook-resource-preview__usage-list{display:flex;flex-direction:column;gap:8px}.notebook-resource-preview__usage-item{display:flex;width:100%;border:1px solid rgba(96,165,250,.22);border-radius:10px;background:#1e293bad;color:#eff6ff;padding:10px 12px;text-align:left;cursor:pointer}.notebook-resource-preview__usage-item:hover{background:#2563eb3d}.notebook-resource-preview__usage-empty{color:#cbd5e1c2;font-size:13px}.notebook-resource-preview__actions{display:flex;justify-content:flex-end;gap:10px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#2d2d2d}::-webkit-scrollbar-thumb{background:#555;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#777}.glass-panel{background:#1e1e1ee6;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 30px #00000080}input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:28px;height:28px;border-radius:4px;overflow:hidden;padding:0;cursor:pointer;transition:transform .1s}input[type=color]:hover{transform:scale(1.1)}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:4px;border:1px solid #555}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:#444;border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#3b82f6;cursor:pointer}.tooltip{position:absolute;background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:100}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid #4b5563;border-radius:3px;background-color:#374151;cursor:pointer;position:relative;transition:all .2s}input[type=checkbox]:checked{background-color:#3b82f6;border-color:#3b82f6}input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:10px;font-weight:700}input[type=checkbox]:hover{border-color:#6b7280}input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:border-gray-700:hover{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.hover\:border-green-500:hover{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.hover\:border-red-500:hover{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700\/30:hover{background-color:#3741514d}.hover\:bg-gray-700\/40:hover{background-color:#37415166}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600\/30:hover{background-color:#dc26264d}.hover\:bg-red-600\/40:hover{background-color:#dc262666}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.hover\:text-green-400:hover{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-rose-200:hover{--tw-text-opacity: 1;color:rgb(254 205 211 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-600:disabled{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.disabled\:text-slate-500:disabled{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
