:root{--basi-sidebar-width:300px;--basi-material-width:280px;--basi-float-peek:10px;--basi-float-hit:28px;--basi-cam-peek:4px;--basi-panel-bg:rgba(255,249,255,.933);--basi-panel-solid:#f7f0f7;--basi-float-bg:#f7f0f7;--basi-muted:#5a4a5a;--basi-row:#fff;--basi-row-hover:#f3e6f3;--basi-selected:#e8c8e8;--basi-border:var(--border-col,#d899d8);--basi-radius:8px;--text-col:#202526;--border-col:#d899d8;--input-bg:#eedeee;--input-bg-checked:#e8c8e8;--input-bg-active:#dabada;--dark-bg:#d38ad3;--dark-bg-hover:#c57cc5;--dark-border:#9b4f9b;--success-green:#3ab336;--error-red:#e24436;--basi-stage-bg:#0e0e10}*{box-sizing:border-box}html{height:100%;overflow:hidden}body.basi-app{height:100%;max-height:100dvh;color:var(--text-col);overscroll-behavior:none;background:#f3eaf3;flex-direction:column;margin:0;font-family:Catamaran,Trebuchet MS,sans-serif;line-height:1.35;display:flex;overflow:hidden}.basi-header{background:var(--basi-panel-bg);border-bottom:1px solid var(--basi-border);z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px 12px;padding:6px 12px;display:flex}.basi-header-brand{flex-shrink:0;min-width:0}.basi-header h1{margin:0;font-family:Space Grotesk,Catamaran,sans-serif;font-size:1.2rem}.basi-header .tagline{color:var(--basi-muted);margin:2px 0 0;font-size:.82rem}.basi-header-actions,.basi-sel-actions,.basi-detail-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.basi-detail-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;padding:8px 4px 0;display:flex}.basi-selection-bar{border:1px solid var(--basi-border);background:#fff;border-radius:10px;flex-wrap:wrap;flex:280px;align-items:center;gap:10px 14px;min-width:0;padding:4px 10px;display:flex}.basi-sel-meta{flex-direction:column;flex:140px;gap:1px;min-width:0;display:flex}.basi-sel-name{word-break:break-word;font-size:1rem;font-weight:700;line-height:1.2}.basi-sel-source{color:var(--basi-muted);word-break:break-word;font-size:.75rem}.basi-hopper-chip{background:var(--input-bg);border:1px solid var(--basi-border);box-sizing:border-box;border-left:4px solid var(--hopper-lock-color,var(--basi-border));border-radius:8px;flex-direction:column;flex-shrink:0;gap:1px;width:100%;min-width:0;padding:7px 9px;display:flex}.basi-hopper-chip.has-pct{background:color-mix(in srgb, var(--hopper-lock-color,#ccc) 18%, #fff)}.basi-hopper-chip.has-locked .basi-hopper-label{color:color-mix(in srgb, var(--hopper-lock-color,#333) 85%, #000)}.basi-hopper-label{font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:700}.basi-hopper-detail{color:var(--basi-muted);font-variant-numeric:tabular-nums;font-size:.72rem}.basi-layer-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;min-height:1.25rem;margin-bottom:2px;display:flex}.basi-layer-badge{font-variant-numeric:tabular-nums;background:var(--dark-bg);color:#fff;border:1px solid var(--dark-border);border-radius:999px;align-items:center;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.basi-boot{color:var(--basi-muted);background:#eee;border:1px solid #ddd;border-radius:999px;padding:4px 10px;font-size:.8rem}.basi-boot.ok{border-color:var(--success-green);color:#1d6b1a;background:#e8f8e7}.basi-boot.error{border-color:var(--error-red);color:#7a1f18;background:#fde8e6}.basi-btn{border:1px solid var(--dark-border);background:var(--dark-bg);color:#fff;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.basi-btn:hover{background:var(--dark-bg-hover)}.basi-btn.secondary{background:var(--input-bg);color:var(--text-col);border-color:var(--basi-border)}.basi-btn.secondary:hover{background:var(--input-bg-active)}.basi-btn:disabled{opacity:.55;cursor:not-allowed}.basi-stage{background:var(--basi-stage-bg);flex:auto;min-height:0;position:relative;overflow:hidden}.basi-main{z-index:1;flex-direction:column;min-width:0;min-height:0;padding:0;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.basi-float{z-index:30;max-height:calc(100% - 16px);transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .22s;display:flex;position:absolute;top:8px;bottom:8px}.basi-float-left{width:var(--basi-sidebar-width);transform:translateX(calc(-100% + var(--basi-float-peek)));opacity:.55;flex-direction:row;left:0}.basi-float-right{width:var(--basi-material-width);transform:translateX(calc(100% - var(--basi-float-peek)));opacity:.45;visibility:hidden;pointer-events:none;flex-direction:row-reverse;right:0}body.basi-has-selection .basi-float-right{visibility:visible;pointer-events:auto}.basi-float-hit{width:var(--basi-float-hit);z-index:1;position:absolute;top:0;bottom:0}.basi-float-left .basi-float-hit{margin-left:calc(-1 * var(--basi-float-peek));width:calc(var(--basi-float-hit) + var(--basi-float-peek));left:100%}.basi-float-right .basi-float-hit{margin-right:calc(-1 * var(--basi-float-peek));width:calc(var(--basi-float-hit) + var(--basi-float-peek));right:100%}.basi-float-panel{z-index:2;background:var(--basi-float-bg);border:1px solid var(--basi-border);flex-direction:column;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.333)}.basi-float-left .basi-float-panel{border-radius:0 var(--basi-radius) var(--basi-radius) 0;border-left:none}.basi-float-right .basi-float-panel{border-radius:var(--basi-radius) 0 0 var(--basi-radius);border-right:none}.basi-float-label,.basi-float .basi-list-header,.basi-float .basi-material-header,.basi-float .basi-layer-toolbar{letter-spacing:.04em;color:#fff;border:1px solid var(--dark-border);opacity:1;text-shadow:0 1px rgba(0,0,0,.4);background:#2a1f2e;border-radius:6px;flex-shrink:0;padding:6px 10px;font-size:.78rem;font-weight:700}.basi-float-label{text-transform:uppercase;letter-spacing:.08em}.basi-float-label.basi-detail-title{text-transform:none;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.86rem;font-weight:700;overflow:hidden}.basi-float .basi-list-header{text-transform:uppercase;letter-spacing:.05em;font-weight:700}.basi-float .basi-list-header #catalogCount{color:#fff}.basi-default-cam{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.basi-default-cam-label{text-transform:uppercase;letter-spacing:.06em;color:#fff;border:1px solid var(--dark-border);text-shadow:0 1px rgba(0,0,0,.4);background:#2a1f2e;border-radius:6px 6px 0 0;padding:5px 10px;font-size:.7rem;font-weight:700}.basi-default-cam-select{width:100%;font:inherit;border:1px solid var(--basi-border);color:var(--text-col);cursor:pointer;background:#fff;border-radius:0 0 6px 6px;padding:7px 8px;font-size:.85rem;font-weight:600}.basi-default-cam-select:focus{outline:2px solid var(--dark-border);outline-offset:-1px}.basi-default-zoom{-webkit-user-select:none;-ms-user-select:none;user-select:none;align-items:center;gap:8px;margin:0;padding:6px 2px 2px;display:flex}.basi-default-zoom-text{color:var(--basi-muted);flex-shrink:0;font-size:.78rem;font-weight:650}.basi-default-zoom input[type=range]{min-width:0;accent-color:var(--dark-bg);cursor:pointer;flex:1}.basi-default-zoom-val{font-variant-numeric:tabular-nums;text-align:right;min-width:3.1rem;color:var(--text-col);flex-shrink:0;font-size:.78rem;font-weight:700}.basi-cat-assign{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.basi-cat-assign-field{flex-direction:column;gap:4px;display:flex}.basi-cat-assign-field.is-disabled{opacity:.55}.basi-cat-assign-label{text-transform:uppercase;letter-spacing:.06em;color:#fff;border:1px solid var(--dark-border);text-shadow:0 1px rgba(0,0,0,.4);background:#2a1f2e;border-radius:6px 6px 0 0;padding:5px 10px;font-size:.7rem;font-weight:700}.basi-cat-assign-select{width:100%;font:inherit;border:1px solid var(--basi-border);color:var(--text-col);cursor:pointer;background:#fff;border-radius:0 0 6px 6px;padding:7px 8px;font-size:.85rem;font-weight:600}.basi-cat-assign-select:focus{outline:2px solid var(--dark-border);outline-offset:-1px}.basi-cat-assign-select:disabled{cursor:default}.basi-meta-fields{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.basi-meta-field{flex-direction:column;gap:3px;margin:0;display:flex}.basi-meta-field-label{text-transform:uppercase;letter-spacing:.06em;color:#fff;border:1px solid var(--dark-border);text-shadow:0 1px rgba(0,0,0,.4);background:#2a1f2e;border-radius:6px 6px 0 0;padding:5px 10px;font-size:.7rem;font-weight:700}.basi-meta-input{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--basi-border);color:var(--text-col);background:#fff;border-radius:0 0 6px 6px;padding:7px 8px;font-size:.85rem}.basi-meta-input:focus{outline:2px solid var(--dark-border);outline-offset:-1px}.basi-meta-input.is-invalid{border-color:var(--error-red);background:#fff5f4}.basi-meta-field-error{color:var(--error-red);padding:0 2px;font-size:.72rem;font-weight:600}.basi-meta-field-error.hidden{display:none}.basi-collapsible{flex-direction:column;flex:0 auto;gap:0;min-height:0;display:flex}.basi-collapsible#detailsInfoSection,.basi-collapsible#materialsSection{flex:none;min-height:0}.basi-collapse-header{border:1px solid var(--dark-border);color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;text-shadow:0 1px rgba(0,0,0,.4);background:#2a1f2e;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;margin:0;padding:6px 10px;font-size:.78rem;font-weight:700;display:flex}.basi-collapse-header:hover{background:#352838}.basi-collapse-toggle{opacity:.9;flex-shrink:0;width:.9rem}.basi-collapse-title{text-transform:uppercase;letter-spacing:.06em;flex:auto;min-width:0}.basi-collapse-hint,.basi-float .basi-material-hint{color:#f0e6f0;text-align:right;opacity:.95;flex-shrink:0;font-size:.72rem;font-weight:600}.basi-collapse-body{flex-direction:column;flex:auto;gap:8px;min-height:0;padding-top:8px;display:flex}.basi-collapse-body[hidden]{display:none!important}.basi-add-detail-btn{flex-shrink:0;width:100%;padding:6px 10px!important;font-size:.82rem!important}.basi-user-details{border:1px solid var(--basi-border);background:#fff;border-radius:8px;flex-shrink:0;max-height:140px;margin:0;padding:0;list-style:none;overflow-y:auto}.basi-user-details.is-empty{display:none}.basi-detail-note{border-bottom:1px solid #f0e6f0;padding:8px 28px 8px 10px;position:relative}.basi-detail-note:last-child{border-bottom:none}.basi-detail-note-text{white-space:pre-wrap;word-break:break-word;color:var(--text-col);font-size:.88rem;font-weight:600}.basi-detail-note-del{width:1.4rem;height:1.4rem;color:var(--basi-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;font-size:1rem;line-height:1;position:absolute;top:6px;right:6px}.basi-detail-note-del:hover{color:var(--error-red);background:#fde8e6}#materialsCollapseBody{flex-direction:column;flex:auto;min-height:0;display:flex}#materialsCollapseBody .basi-material-list{flex:auto;min-height:80px}.basi-float .basi-layer-toolbar{text-transform:none;letter-spacing:.02em;font-weight:600}.basi-float .basi-stat .label{color:#5a3d5a;font-weight:700}.basi-float .basi-stat .value{color:#1a101a}.basi-float .basi-dropzone p{color:#3a2a3a;font-weight:600}.basi-float .basi-drop-hint{font-weight:500;color:#5a4a5a!important}.basi-float-left[data-visibility=open],.basi-float-left.basi-float-pinned{opacity:1;transform:translate(0)}.basi-float-left:focus-within{opacity:1;transform:translate(0)}.basi-float-right[data-visibility=open],.basi-float-right.basi-float-pinned{opacity:1;transform:translate(0)}@media (hover:hover) and (pointer:fine){.basi-float-left:hover,.basi-float-right:hover{opacity:1;transform:translate(0)}}body.basi-no-selection .basi-float-left{opacity:1;transform:translate(0)}.basi-float-label-row{flex-shrink:0;align-items:stretch;gap:6px;display:flex}.basi-float-label-row .basi-float-label{flex:auto;min-width:0}.basi-float-pin{border:1px solid var(--dark-border);color:#c8bcc8;cursor:pointer;opacity:.85;background:#2a1f2e;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:2.1rem;padding:0;font-size:.95rem;line-height:1;transition:background .15s,color .15s,opacity .15s,box-shadow .15s;display:inline-flex}.basi-float-pin:hover{opacity:1;color:#fff;background:#3a2a40}.basi-float-pin[aria-pressed=true],.basi-float-pinned .basi-float-pin{background:var(--dark-bg);border-color:var(--dark-border);color:#fff;opacity:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.basi-float-left:after,.basi-float-right:after{content:"";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--dark-bg) 70%, transparent), transparent);opacity:.55;pointer-events:none;z-index:3;border-radius:2px;width:3px;transition:opacity .2s;position:absolute;top:20%;bottom:20%}.basi-float-left:after{right:2px}.basi-float-right:after{left:2px}.basi-float-left[data-visibility=open]:after,.basi-float-left.basi-float-pinned:after,.basi-float-right[data-visibility=open]:after,.basi-float-right.basi-float-pinned:after{opacity:0}.basi-float-left:focus-within:after{opacity:0}@media (hover:hover) and (pointer:fine){.basi-float-left:hover:after,.basi-float-right:hover:after{opacity:0}}@media (pointer:coarse){:root{--basi-float-hit:64px}.basi-float-right{--basi-float-hit:88px}.basi-float-hit,.basi-cam-hit{touch-action:none}.basi-cam-hit{height:calc(72px + env(safe-area-inset-bottom,0px))}}.basi-sidebar{background:0 0;border:none;flex-direction:column;gap:10px;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.basi-dropzone{border:2px dashed var(--dark-border);border-radius:var(--basi-radius);text-align:center;background:#fff;flex-shrink:0;padding:12px}.basi-dropzone.dragover{background:var(--input-bg-checked);border-color:var(--dark-bg)}.basi-dropzone p{color:var(--basi-muted);margin:0 0 6px;font-size:.9rem}.basi-drop-hint{opacity:.85;font-size:.8rem!important}.basi-search{border:1px solid var(--basi-border);width:100%;font:inherit;background:#fff;border-radius:8px;flex-shrink:0;padding:8px 10px}.basi-list-header{color:var(--basi-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:.82rem;font-weight:600}.basi-list-header-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.basi-list-header-row #catalogCount{flex:auto;min-width:0}.basi-cat-add{text-transform:none;letter-spacing:0;flex-shrink:0;padding:3px 8px!important;font-size:.72rem!important}.basi-cat-group{border-bottom:1px solid #ede;margin:0;padding:0;list-style:none}.basi-cat-group:last-child{border-bottom:none}.basi-list-row[draggable=true]{cursor:grab}.basi-list-row.is-dragging{opacity:.45;cursor:grabbing}.basi-cat-group.is-drop-target,.basi-entry-group.is-drop-target{outline:2px solid var(--basi-accent,#c48);outline-offset:-2px;background:color-mix(in srgb, var(--basi-accent,#c48) 12%, transparent)}.basi-cat-header{color:#fff;cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none;background:#2a1f2e;border-bottom:1px solid #3d3040;align-items:center;gap:6px;padding:7px 8px;display:flex}.basi-cat-header:hover{background:#352838}.basi-cat-header:focus-visible{outline-offset:-2px;outline:2px solid #e8c8e8}.basi-cat-toggle{opacity:.9;flex-shrink:0;width:1rem;font-size:.75rem}.basi-cat-name{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:.8rem;font-weight:700;overflow:hidden}.basi-cat-count{font-variant-numeric:tabular-nums;color:#f5eef5;background:rgba(255,255,255,.133);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:.72rem;font-weight:700}.basi-cat-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:2px;display:flex}.basi-cat-btn{font:inherit;color:#fff;cursor:pointer;background:rgba(255,255,255,.094);border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:3px 6px;font-size:.72rem;font-weight:700;line-height:1}.basi-cat-btn:hover:not(:disabled){background:rgba(255,255,255,.19)}.basi-cat-btn:disabled{opacity:.35;cursor:not-allowed}.basi-cat-btn-danger:hover:not(:disabled){background:rgba(226,68,54,.667);border-color:#ffaaa0}.basi-float .basi-list-header .basi-cat-btn{color:#fff;background:rgba(255,255,255,.125);border-color:rgba(255,255,255,.267)}.basi-float .basi-list-header .basi-cat-btn:hover{background:rgba(255,255,255,.208)}.basi-cat-body{background:#fff;margin:0;padding:0;list-style:none}.basi-cat-empty{padding:10px 12px!important;font-size:.8rem!important}.basi-catalog-list{border:1px solid var(--basi-border);border-radius:var(--basi-radius);background:#fff;flex:auto;min-height:80px;margin:0;padding:0;list-style:none;overflow-x:hidden;overflow-y:auto}.basi-list-empty{color:var(--basi-muted);text-align:center;padding:16px 12px;font-size:.92rem}.basi-list-row{background:var(--basi-row);cursor:pointer;text-align:left;box-sizing:border-box;border:none;border-bottom:1px solid #ede;outline:none;align-items:flex-start;gap:6px;width:100%;padding:10px 12px;display:flex}.basi-list-row-main{flex:auto;min-width:0}.basi-list-move{max-width:6.5rem;font:inherit;border:1px solid var(--basi-border);background:var(--input-bg);color:var(--text-col);cursor:pointer;border-radius:4px;flex-shrink:0;margin-top:2px;padding:2px 4px;font-size:.68rem}.basi-list-move:hover,.basi-list-move:focus{border-color:var(--dark-border);outline:none}.basi-list-row:last-child{border-bottom:none}.basi-list-row:hover{background:var(--basi-row-hover)}.basi-list-row.selected{background:var(--basi-selected);box-shadow:inset 3px 0 0 var(--dark-border)}.basi-list-row:focus-visible{outline:2px solid var(--dark-border);outline-offset:-2px}.basi-list-title{word-break:break-word;margin-bottom:2px;font-size:.98rem;font-weight:700}.basi-list-meta-line{color:var(--basi-muted);font-size:.8rem}.basi-empty{z-index:5;color:#d8d0d8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:rgba(26,21,26,.82);border:1px solid #3a303a;border-radius:12px;max-width:min(28rem,90vw);padding:22px 26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px rgba(0,0,0,.533)}.basi-empty h2{color:#f5eef5;margin:0 0 8px;font-family:Space Grotesk,Catamaran,sans-serif}.basi-empty p{margin:0;font-size:.95rem;line-height:1.45}.basi-empty.hidden{display:none}.basi-detail{background:0 0;border:none;border-radius:0;flex-direction:column;flex:auto;height:100%;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.basi-detail.hidden{display:none}.basi-detail-side{background:0 0;border:none;flex-direction:column;gap:8px;min-width:0;height:100%;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.basi-detail-scroll{overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:auto;gap:10px;min-height:0;padding-right:2px;display:flex;overflow-x:hidden;overflow-y:auto}.basi-stats{flex-shrink:0;grid-template-columns:1fr;gap:8px;display:grid}.basi-stat{border:1px solid var(--basi-border);background:#fff;border-radius:8px;padding:8px 10px}.basi-stat .label{color:var(--basi-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;display:block}.basi-stat .value{font-size:1.05rem;font-weight:700}.basi-material-header{flex-shrink:0;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.basi-material-header h3{margin:0;font-size:.95rem}.basi-float-right .basi-stats{grid-template-columns:1fr;gap:6px}.basi-float-right .basi-stat{padding:7px 9px}.basi-float-right .basi-stat .value{font-size:.98rem}.basi-material-hint{color:var(--basi-muted);text-align:right;font-size:.75rem}.basi-material-list{border:1px solid var(--basi-border);box-sizing:border-box;background:#fff;border-radius:8px;flex:none;width:100%;min-height:0;margin:0;padding:0;font-size:.88rem;list-style:none;overflow:visible}.basi-material-list li{border-bottom:1px solid #f0e6f0;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.basi-material-list li:last-child{border-bottom:none}.basi-material-list li:hover{background:var(--basi-row-hover)}.basi-material-list li.basi-mat-row.is-acquired{opacity:.72;background:#f3f0f3}.basi-material-list li.basi-mat-row.is-acquired .basi-mat-name{-webkit-text-decoration:line-through #9a7a9a;text-decoration:line-through #9a7a9a}.basi-mat-check{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;display:inline-flex}.basi-mat-check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--dark-bg);cursor:pointer;margin:0}.basi-material-list .basi-mat-name{word-break:break-word;flex:auto;min-width:0;font-weight:600}.basi-material-list .basi-mat-id{color:var(--basi-muted);margin-top:1px;font-size:.75rem;font-weight:400;display:block}.basi-material-list .basi-mat-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.basi-material-list .basi-mat-count{font-variant-numeric:tabular-nums;background:var(--input-bg);border:1px solid var(--basi-border);text-align:center;border-radius:999px;min-width:2.5rem;padding:2px 10px;font-weight:700}.basi-material-list .basi-mat-partition{color:var(--basi-muted);font-variant-numeric:tabular-nums;text-align:right;max-width:14rem;font-size:.75rem;line-height:1.25}.basi-material-list .basi-mat-empty{color:var(--basi-muted);text-align:center;justify-content:center;padding:16px 12px}.basi-preview-section{flex-direction:column;gap:0;width:100%;min-width:0;height:100%;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden}.basi-cam-dock{z-index:36;pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:absolute;top:auto;bottom:0;left:0;right:0}.basi-cam-hit{pointer-events:auto;height:56px;position:absolute;bottom:0;left:0;right:0}.basi-cam-slide{z-index:1;pointer-events:none;justify-content:center;padding-bottom:8px;transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex;position:relative;transform:translateY(calc(100% + 8px))}.basi-cam-bar{z-index:1;-webkit-backdrop-filter:blur(10px);pointer-events:auto;background:rgba(26,21,28,.72);border:1px solid rgba(255,255,255,.094);border-radius:10px;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:4px 6px;max-width:min(96vw,920px);padding:6px 10px;display:flex;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.4)}.basi-cam-dock.basi-cam-open{z-index:46}.basi-cam-dock:focus-within{z-index:46}.basi-cam-dock.basi-cam-open .basi-cam-slide{transform:translateY(0)}.basi-cam-dock:focus-within .basi-cam-slide{transform:translateY(0)}@media (hover:hover) and (pointer:fine){.basi-cam-dock:hover{z-index:46}body.basi-app:has(.basi-footer:hover) .basi-cam-dock{z-index:46}.basi-cam-dock:hover .basi-cam-slide{transform:translateY(0)}body.basi-app:has(.basi-footer:hover) .basi-cam-slide{transform:translateY(0)}}.basi-compass{z-index:37;pointer-events:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:18px;left:14px}.basi-compass-dial{-webkit-backdrop-filter:blur(10px);background:rgba(26,21,28,.78);border:1px solid rgba(255,255,255,.157);border-radius:50%;width:68px;height:68px;position:relative;box-shadow:0 4px 16px rgba(0,0,0,.467)}.basi-compass-mark{letter-spacing:.04em;color:#c8bcc8;font-size:.62rem;font-weight:800;line-height:1;position:absolute}.basi-compass-mark.n{color:#e24436;top:5px;left:50%;transform:translate(-50%)}.basi-compass-mark.s{bottom:5px;left:50%;transform:translate(-50%)}.basi-compass-mark.e{top:50%;right:6px;transform:translateY(-50%)}.basi-compass-mark.w{top:50%;left:6px;transform:translateY(-50%)}.basi-compass-needle{transform-origin:50%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.533));background:linear-gradient(#e24436 0,#e24436 50%,#f0e8f0 50%,#f0e8f0 100%);width:10px;height:36px;margin:-18px 0 0 -5px;position:absolute;top:50%;left:50%}.basi-compass.is-top .basi-compass-needle{opacity:.28}.basi-compass-label{letter-spacing:.06em;color:#f0e8f0;text-shadow:0 1px 2px rgba(0,0,0,.667);font-size:.68rem;font-weight:800}.basi-cam-bar .basi-cam-btn,.basi-cam-bar .basi-cam-tilt,.basi-cam-bar input{pointer-events:auto;z-index:1;position:relative}.basi-cam-btn{font:inherit;color:#f0e8f0;cursor:pointer;background:rgba(42,36,48,.8);border:1px solid rgba(255,255,255,.133);border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:700;line-height:1.2}.basi-cam-btn:hover{background:#3d3448}.basi-cam-btn.active{background:var(--dark-bg);border-color:var(--dark-border);color:#fff}.basi-cam-tilt{color:#c8bcc8;-webkit-user-select:none;-ms-user-select:none;user-select:none;align-items:center;gap:6px;margin-left:4px;font-size:.72rem;font-weight:600;display:inline-flex}.basi-cam-tilt input[type=range]{width:90px;accent-color:var(--dark-bg);cursor:pointer}.basi-cam-tilt-val{font-variant-numeric:tabular-nums;color:#f0e8f0;min-width:2.2rem}.basi-inspect-panel.basi-win{z-index:48;pointer-events:auto;background:0 0;border:none;flex-direction:column;flex-shrink:0;min-width:240px;max-width:min(96vw,560px);max-height:min(78vh,640px);margin:0;padding:0;display:flex;position:absolute;bottom:12px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 28px rgba(0,0,0,.45)}.basi-inspect-panel.basi-win.basi-win-moved,.basi-inspect-panel.basi-win.basi-win-dragging{bottom:auto;right:auto;transform:none}.basi-win-bar{color:#ffe566;cursor:grab;-webkit-user-select:none;-ms-user-select:none;user-select:none;touch-action:none;background:#2a2030;border:1px solid #5a4568;border-bottom:none;border-radius:6px 6px 0 0;flex-shrink:0;align-items:center;gap:6px;padding:5px 8px;display:flex}.basi-win-bar.is-dragging{cursor:grabbing}.basi-win-collapsed .basi-win-bar{border-bottom:1px solid #5a4568;border-radius:6px}.basi-win-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.8rem;font-weight:700;overflow:hidden}.basi-win-collapse,.basi-win-close{color:#ffe566;cursor:pointer;background:#3a2a48;border:1px solid #6a5080;border-radius:3px;flex-shrink:0;width:22px;height:22px;padding:0;font-size:.85rem;line-height:1}.basi-win-collapse:hover,.basi-win-close:hover{background:#4a3858}.basi-win-body{background:0 0;flex:auto;min-height:0;overflow:auto}.basi-win-collapsed .basi-win-body,.basi-win .mc-inv-close{display:none}.basi-win .mc-inv{border-top-left-radius:0;border-top-right-radius:0}.mc-inv-text-panel{min-width:min(280px,70vw);max-width:min(420px,90vw);padding:8px 10px 10px}.mc-inv-sign.mc-inv-text-panel{min-width:min(360px,88vw);max-width:min(520px,94vw)}.mc-text-face{margin-bottom:8px}.mc-text-face-label,.mc-text-meta{color:#3f3f3f;margin-bottom:4px;font-size:.72rem;font-weight:700}.mc-text-lines{color:#f0e8f0;white-space:pre-wrap;word-break:break-word;background:#1a151c;border:2px solid #373737;border-radius:2px;min-height:3.2em;margin:0;padding:8px 10px;font-family:Minecraft,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.85rem;line-height:1.35}.mc-book-page{min-height:6em;max-height:14em;overflow:auto}.mc-book-all{margin-top:8px;font-size:.75rem}.mc-rs-bar{gap:2px;height:18px;margin-top:6px;display:flex}.mc-rs-cell{background:#2a2028;border:1px solid #111;border-radius:1px;flex:1}.mc-rs-cell.on{background:var(--rs,#c00);box-shadow:0 0 4px var(--rs,#c00)}.mc-inv{--mc-bg:#c6c6c6;--mc-slot:#8b8b8b;--mc-slot-in:#373737;--mc-border:#373737;--mc-light:#fff;--mc-text:#3f3f3f;background:var(--mc-bg);border:2px solid var(--mc-border);box-shadow:inset 2px 2px 0 var(--mc-light), inset -2px -2px 0 #555;color:var(--mc-text);border-radius:4px;max-width:100%;padding:8px 10px 10px;font-family:Catamaran,Trebuchet MS,sans-serif}.mc-inv-simple{min-width:12rem}.mc-inv-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.mc-inv-title{text-shadow:1px 1px #eee;flex:1;font-size:.95rem;font-weight:700}.mc-inv-location{color:#5a5348;letter-spacing:.02em;margin:-4px 0 8px;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;font-weight:600}.mc-inv-badge{color:#1b3a0a;background:#8bc34a;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:700}.mc-inv-badge.locked{color:#4a1010;background:#e57373}.mc-inv-close{color:#222;cursor:pointer;background:#999;border:none;border-radius:3px;width:22px;height:22px;padding:0;font-size:1rem;line-height:1;box-shadow:inset 1px 1px #ccc,inset -1px -1px #555}.mc-inv-close:hover{background:#bbb}.mc-inv-body{justify-content:center;display:flex}.mc-inv-row-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.mc-inv-grid{grid-template-columns:repeat(var(--mc-cols,9), 40px);background:#8b8b8b;gap:2px;padding:4px;display:grid;box-shadow:inset 1px 1px #555,inset -1px -1px #ddd}.mc-inv-grid.cols-5{grid-template-columns:repeat(5,40px)}.mc-inv-grid.cols-3{grid-template-columns:repeat(3,40px)}.mc-inv.double-chest{min-width:392px}.mc-inv-double{flex-direction:column;gap:6px;display:flex}.mc-inv-double .double-bot{margin-top:2px}.mc-slot{background:var(--mc-slot);width:40px;height:40px;box-shadow:inset 1px 1px 0 var(--mc-slot-in), inset -1px -1px 0 #b0b0b0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.mc-slot.filled{background:#8b8b8b}.mc-slot.blocked{background:#555;box-shadow:inset 1px 1px #333,inset -1px -1px #777}.mc-slot-block-mark{color:#c44;text-shadow:0 0 1px #000;font-size:1.1rem;font-weight:900;line-height:1}.mc-slot-icon,.basi-app .mc-inv img.mc-slot-icon,.basi-app img.mc-slot-icon{image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;opacity:0;z-index:1;vertical-align:middle;object-fit:contain!important;object-position:center center!important;box-sizing:border-box!important;border:none!important;width:32px!important;min-width:0!important;max-width:32px!important;height:32px!important;min-height:0!important;max-height:32px!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;top:50%!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important}.mc-slot-icon.loaded,.basi-app .mc-inv img.mc-slot-icon.loaded,.basi-app img.mc-slot-icon.loaded{opacity:1}.mc-slot-name{text-align:center;color:#f5f5f5;text-shadow:1px 1px #000;word-break:break-word;pointer-events:none;z-index:0;max-width:100%;padding:2px;font-size:.55rem;line-height:1.05}.mc-slot-name.icon-loaded{display:none}.mc-slot-count{color:#fff;text-shadow:1px 1px #000,-1px 0 #000;font-variant-numeric:tabular-nums;pointer-events:none;z-index:2;font-size:.7rem;font-weight:800;position:absolute;bottom:1px;right:2px}.mc-inv-arrow{color:#444;padding:0 4px;font-size:1.4rem;font-weight:700}.mc-inv-furnace{align-items:center;gap:10px;display:flex}.mc-inv-furnace-col{flex-direction:column;align-items:center;gap:4px;display:flex}.mc-inv-flame{color:#e67e22;font-size:.85rem;line-height:1}.mc-inv-brewing{flex-direction:column;align-items:center;gap:6px;min-width:11rem;padding:4px 8px 2px;display:flex}.mc-inv-brewing-top{justify-content:center;align-items:flex-end;gap:10px;width:100%;display:flex}.mc-inv-brewing-top-spacer{flex-shrink:0;width:8px}.mc-inv-brewing-col{flex-direction:column;align-items:center;gap:3px;display:flex}.mc-inv-slot-label{color:#555;text-align:center;max-width:3.2rem;font-size:.58rem;font-weight:700;line-height:1.1}.mc-inv-brewing-mid{color:#666;margin:-2px 0;font-size:1.1rem;font-weight:800;line-height:1}.mc-inv-brewing-bottles{justify-content:center;align-items:flex-start;gap:4px;display:flex}.mc-inv-badge.ready{color:#1b3a0a;background:#8bc34a}.mc-inv-composter{flex-direction:column;align-items:center;gap:10px;min-width:9rem;padding:6px 12px 4px;display:flex}.mc-composter-barrel{background:linear-gradient(#8b6914 0%,#6b4f10 40%,#5a4010 100%);border:3px solid #3d2a08;border-radius:4px 4px 6px 6px;width:72px;height:80px;position:relative;overflow:hidden;box-shadow:inset 2px 2px #c4a35a,inset -2px -2px #3a2808}.mc-composter-layers{flex-direction:column-reverse;gap:1px;display:flex;position:absolute;top:10px;bottom:8px;left:6px;right:6px}.mc-composter-layer{opacity:.35;background:#2a2210;border-radius:1px;flex:1 1 0;min-height:0}.mc-composter-layer.is-filled{opacity:1;background:linear-gradient(90deg,#3d6b1e,#5a9a2e 50%,#3d6b1e);box-shadow:inset 0 1px rgba(143,212,90,.333)}.mc-composter-layer.is-ready{background:linear-gradient(90deg,#c9a227,#e8d48b 50%,#c9a227)}.mc-composter-rim{background:#6b4f10;border-bottom:2px solid #3d2a08;height:8px;position:absolute;top:0;left:0;right:0;box-shadow:inset 0 2px #a8843a}.mc-composter-readout{color:#3f3f3f;text-align:center;text-shadow:1px 1px #eee;font-size:.82rem;font-weight:700}.mc-inv-footer{display:none}.mc-inv-empty{text-align:center;color:#666;padding:12px}.basi-preview-host{background:var(--basi-stage-bg);box-sizing:border-box;z-index:1;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;border:none;border-radius:0;flex:auto;justify-content:stretch;align-items:stretch;width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;padding:0;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.basi-preview-host canvas{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.basi-preview-host .previewCont{justify-content:center;align-items:center;margin:0;display:flex;position:relative;overflow:hidden;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}.basi-preview-loading{z-index:8;pointer-events:none;background:rgba(16,12,16,.42);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.basi-preview-loading-card{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(26,21,26,.88);border:1px solid #3a303a;border-radius:12px;max-width:min(28rem,90vw);padding:22px 28px;box-shadow:0 12px 40px rgba(0,0,0,.533)}.basi-preview-loading-msg{color:#f0e8f0;margin:0;padding:0;font-size:.98rem;font-weight:650;line-height:1.45}.basi-preview-progress{background:#2a222c;border:1px solid #3d343d;border-radius:999px;height:8px;margin-top:16px;overflow:hidden}.basi-preview-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--basi-accent,#c48), #e8b4e8);width:0%;height:100%;transition:width .28s}.basi-preview-loading.is-error .basi-preview-progress{display:none}.basi-preview-loading.is-error .basi-preview-loading-msg{color:#f0c0c0}.basi-app .basi-preview-host .previewMessage{display:none!important}.basi-preview-host .previewCont>canvas,.basi-preview-host .previewCont>.previewMessage{box-sizing:border-box;margin:0 auto;aspect-ratio:auto!important;border:none!important;max-width:100%!important;max-height:100%!important;display:block!important}.basi-preview-host .previewCont lil-gui{z-index:15;color:#f2ebf2;filter:drop-shadow(0 2px 8px rgba(0,0,0,.533));width:min(245px,100% - 20px);max-height:min(48vh,420px);overflow:auto;position:absolute!important;top:auto!important;bottom:10px!important;left:auto!important;right:10px!important}.basi-preview-host .previewCont .statsPanel{z-index:15;position:absolute;top:10px;bottom:auto;right:10px}.basi-preview-host .previewMessage,.basi-preview-host>.meta{color:#ccc;margin:0;padding:12px}.basi-status{background:var(--input-bg);border:1px solid var(--basi-border);white-space:pre-wrap;border-radius:8px;flex-shrink:0;max-height:100px;padding:8px 10px;font-size:.88rem;overflow:auto}.basi-status.error{border-color:var(--error-red);color:#7a1f18;background:#fde8e6}.basi-status.ok{border-color:var(--success-green);background:#e8f8e7}.basi-status.warn{color:#6b4f00;background:#fff6e0;border-color:#d4a017}.basi-status-toast{z-index:25;white-space:pre-wrap;color:#f0e8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:rgba(26,21,28,.88);border:1px solid rgba(255,255,255,.133);border-radius:10px;max-width:min(90vw,520px);padding:8px 14px;font-size:.88rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px rgba(0,0,0,.4)}.basi-status-toast.hidden{display:none}.basi-status-toast.error{color:#ffd4d0;border-color:rgba(226,68,54,.667)}.basi-status-toast.ok{border-color:rgba(58,179,54,.667)}.basi-status-toast.warn{color:#ffe9b0;border-color:rgba(212,160,23,.667)}.basi-footer{color:var(--basi-muted);border-top:1px solid var(--basi-border);background:var(--basi-panel-bg);z-index:40;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px 16px;padding:4px 12px;font-size:.72rem;display:flex}.basi-footer-hint{opacity:.85;font-weight:600}.basi-footer-meta{opacity:.9}.basi-footer a,.basi-footer-link{color:var(--dark-border)}.basi-footer-link{font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.basi-footer-link:hover{color:var(--dark-bg)}.basi-feat-dialog{box-sizing:border-box;border:1px solid var(--basi-border,#d8b4d8);width:min(92vw,420px);max-width:calc(100vw - 24px);max-height:min(80vh,560px);color:var(--text-col);background:var(--basi-panel-solid,#f7f0f7);border-radius:12px;padding:0;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.333)}.basi-feat-dialog[open]{flex-direction:column;display:flex}.basi-feat-dialog::-ms-backdrop{background:rgba(26,16,26,.8)}.basi-feat-dialog::backdrop{background:rgba(26,16,26,.8)}.basi-feat-dialog-panel{flex-direction:column;flex:auto;min-width:0;min-height:0;margin:0;display:flex;overflow:hidden}.basi-feat-dialog-head{border-bottom:1px solid var(--basi-border,#e8d8e8);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.basi-feat-dialog-head h2{color:var(--text-col);margin:0;font-size:1rem;font-weight:700}.basi-feat-dialog-new{flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.basi-feat-dialog-new .basi-meta-input{min-width:0;color:var(--text-col);background:var(--basi-input,var(--input-bg,#f7f6f3));flex:auto}.basi-feat-dialog-panel>.basi-ed-hint{color:var(--basi-muted);overflow-wrap:anywhere;flex-shrink:0;margin:0 12px 8px}.basi-feat-dialog-list{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:0 12px 12px;display:flex;overflow-x:hidden;overflow-y:auto}.basi-feat-dialog-list .basi-ed-feat-card{box-sizing:border-box;text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--text-col);background:var(--basi-panel,#fff);white-space:normal;overflow-wrap:anywhere;word-break:break-word;margin:0;padding:10px 12px;line-height:1.35;display:block;overflow:visible}.basi-feat-dialog-list .basi-ed-feat-name{box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%;display:block}.basi-feat-dialog-list .basi-ed-feat-desc{white-space:normal;overflow-wrap:anywhere;word-break:break-word;color:var(--text-col)}.basi-credits-dialog{border:1px solid var(--basi-border);background:var(--basi-panel-solid,#f7f0f7);max-width:min(520px,94vw);max-height:min(80vh,720px);color:var(--text-col);border-radius:12px;padding:0;box-shadow:0 12px 40px rgba(0,0,0,.267)}.basi-credits-dialog::-ms-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(0,0,0,.533)}.basi-credits-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(0,0,0,.533)}.basi-credits-panel{flex-direction:column;max-height:min(80vh,720px);margin:0;display:flex}.basi-credits-header{border-bottom:1px solid var(--basi-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.basi-credits-header h2{margin:0;font-family:Space Grotesk,Catamaran,sans-serif;font-size:1.2rem}.basi-credits-close{border:1px solid var(--basi-border);background:var(--input-bg);cursor:pointer;width:32px;height:32px;color:var(--text-col);border-radius:8px;font-size:1.25rem;line-height:1}.basi-credits-close:hover{background:var(--input-bg-active)}.basi-credits-body{flex:auto;min-height:0;padding:12px 16px 16px;font-size:.9rem;line-height:1.4;overflow:auto}.basi-credits-body section{margin-bottom:14px}.basi-credits-body h3{text-transform:uppercase;letter-spacing:.04em;color:var(--basi-muted);margin:0 0 6px;font-size:.82rem}.basi-credits-body ul{margin:0;padding-left:1.15rem}.basi-credits-body li{margin-bottom:4px}.basi-credits-body a{color:var(--dark-border);font-weight:600}.basi-credits-body a:hover{color:var(--dark-bg)}.basi-credits-body code{background:var(--input-bg);border-radius:4px;padding:1px 5px;font-size:.85em}.basi-credits-footer{border-top:1px solid var(--basi-border);flex-shrink:0;justify-content:flex-end;padding:10px 16px;display:flex}.hidden{display:none!important}
/*# sourceMappingURL=viewer.css.map */