.fr-ui{--fr-bg-0:#0f1113;--fr-bg-1:#16181c;--fr-bg-2:#1c1f24;--fr-bg-3:#23262c;--fr-border-1:#262a30;--fr-border-2:#383c44;--fr-text-1:#e8ebf0;--fr-text-2:#a6acb5;--fr-text-3:#6a707a;--fr-text-label:#808791;--fr-added:#4ade80;--fr-modified:#fbbf24;--fr-removed:#f87171;--fr-unchanged:#7d848f;--fr-info:#60a5fa;--fr-font-sans:"IBM Plex Sans", system-ui, sans-serif;--fr-font-mono:"IBM Plex Mono", ui-monospace, monospace;color:var(--fr-text-1);font-family:var(--fr-font-sans);font-size:14px;line-height:1.4}.fr-label{letter-spacing:.14em;text-transform:uppercase;color:var(--fr-text-label);margin-bottom:6px;font-size:10.5px;font-weight:500;display:block}.fr-label--dot:before{content:"";opacity:.55;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;transform:translateY(-1px)}.fr-compare{flex-direction:column;gap:14px;padding:4px 2px 2px;display:flex}.fr-compare__field{flex-direction:column;display:flex}.fr-compare__select{-webkit-appearance:none;appearance:none;background:var(--fr-bg-1);width:100%;color:var(--fr-text-1);border:1px solid var(--fr-border-1);font-family:var(--fr-font-mono);letter-spacing:-.005em;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--fr-text-2) 50%), linear-gradient(135deg, var(--fr-text-2) 50%, transparent 50%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:4px;padding:9px 30px 9px 12px;font-size:13px;transition:border-color .12s,background .12s}.fr-compare__select:hover{border-color:var(--fr-border-2);background-color:var(--fr-bg-2)}.fr-compare__select:focus{border-color:var(--fr-info);box-shadow:0 0 0 3px color-mix(in oklab, var(--fr-info) 18%, transparent);outline:none}.fr-compare__actions{gap:8px;margin-top:4px;display:flex}.fr-btn{font-family:var(--fr-font-sans);letter-spacing:.03em;color:var(--fr-text-1);background:var(--fr-bg-2);border:1px solid var(--fr-border-1);cursor:pointer;border-radius:4px;flex:1;padding:10px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,transform 60ms}.fr-btn:hover{background:var(--fr-bg-3);border-color:var(--fr-border-2)}.fr-btn:active{transform:translateY(1px)}.fr-btn--primary{color:#fff;background:linear-gradient(#2a80ff 0%,#1a5fd6 100%);border-color:#1e69e0}.fr-btn--primary:hover{background:linear-gradient(#3a8dff 0%,#2568da 100%)}.fr-btn:disabled{opacity:.55;cursor:wait}.fr-compare__status{font-family:var(--fr-font-mono);color:var(--fr-text-2);border-left:2px solid var(--fr-border-2);background:var(--fr-bg-1);word-break:break-word;border-radius:0 3px 3px 0;padding:8px 10px;font-size:12px}.fr-diff{flex-direction:column;gap:14px;padding:4px 2px 6px;display:flex}.fr-diff__placeholder{color:var(--fr-text-3);text-align:center;background:var(--fr-bg-1);border:1px dashed var(--fr-border-1);border-radius:6px;padding:18px 14px;font-size:13px;font-style:italic}.fr-diff__cards{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.fr-card{background:var(--fr-bg-1);border:1px solid var(--fr-border-1);border-top:2px solid var(--card-accent,var(--fr-border-2));text-align:center;border-radius:5px;padding:12px 8px 10px;transition:background .12s,transform .12s}.fr-card:hover{background:var(--fr-bg-2);transform:translateY(-1px)}.fr-card__count{font-family:var(--fr-font-mono);color:var(--card-accent,var(--fr-text-1));letter-spacing:-.02em;margin-bottom:6px;font-size:20px;font-weight:500;line-height:1}.fr-card__label{letter-spacing:.12em;text-transform:uppercase;color:var(--fr-text-label);font-size:10px}.fr-card--added{--card-accent:var(--fr-added)}.fr-card--modified{--card-accent:var(--fr-modified)}.fr-card--removed{--card-accent:var(--fr-removed)}.fr-card--unchanged{--card-accent:var(--fr-unchanged)}.fr-diff__meta{font-family:var(--fr-font-mono);color:var(--fr-text-3);flex-wrap:wrap;gap:4px 10px;padding:0 2px;font-size:11.5px;display:flex}.fr-diff__meta strong{color:var(--fr-text-2);font-weight:500}.fr-diff__warn{background:color-mix(in oklab, var(--fr-modified) 12%, var(--fr-bg-1));border:1px solid color-mix(in oklab, var(--fr-modified) 40%, var(--fr-border-1));color:color-mix(in oklab, var(--fr-modified) 65%, var(--fr-text-1));border-radius:4px;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}.fr-section{border:1px solid var(--fr-border-1);background:var(--fr-bg-1);border-radius:5px;overflow:hidden}.fr-section__head{cursor:pointer;user-select:none;background:var(--fr-bg-2);border-bottom:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;transition:background .12s;display:flex}.fr-section__head:hover{background:var(--fr-bg-3)}.fr-section--open .fr-section__head{border-bottom-color:var(--fr-border-1)}.fr-section__chev{width:10px;color:var(--fr-text-3);font-size:10px;transition:transform .15s;display:inline-block}.fr-section--open .fr-section__chev{transform:rotate(90deg)}.fr-section__swatch{background:var(--section-accent,var(--fr-text-3));width:10px;height:10px;box-shadow:0 0 0 1px color-mix(in oklab, var(--section-accent,black) 40%, transparent);border-radius:2px;display:inline-block}.fr-section__title{letter-spacing:.1em;text-transform:uppercase;color:var(--fr-text-1);flex:1;font-size:12px;font-weight:500}.fr-section__eye{border:1px solid var(--fr-border-1);background:var(--fr-bg-0);width:26px;height:22px;color:var(--fr-text-1);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.fr-section__eye:hover{background:var(--fr-bg-3);border-color:var(--fr-border-2)}.fr-section__eye--off{color:var(--fr-text-3);background:0 0}.fr-section__count{font-family:var(--fr-font-mono);color:var(--fr-text-3);background:var(--fr-bg-0);border:1px solid var(--fr-border-1);text-align:center;border-radius:20px;min-width:32px;padding:2px 8px;font-size:12px}.fr-section__body{scrollbar-width:thin;scrollbar-color:var(--fr-border-2) transparent;max-height:260px;overflow-y:auto}.fr-section__body::-webkit-scrollbar{width:8px}.fr-section__body::-webkit-scrollbar-thumb{background:var(--fr-border-2);border-radius:8px}.fr-section__empty{color:var(--fr-text-3);text-align:center;padding:12px;font-size:12.5px;font-style:italic}.fr-busy{pointer-events:none;z-index:10000;justify-content:center;align-items:center;animation:.2s ease-out fr-busy-fade-in;display:none;position:absolute;inset:0}.fr-busy.is-active{display:flex}.fr-busy__card{background:color-mix(in oklab, var(--fr-bg-0) 88%, transparent);border:1px solid var(--fr-border-2);min-width:220px;box-shadow:0 20px 60px #00000080, 0 0 0 1px #ffffff08 inset, 0 0 40px color-mix(in oklab, var(--fr-info) 20%, transparent);-webkit-backdrop-filter:blur(8px);border-radius:10px;flex-direction:column;align-items:center;gap:16px;padding:28px 36px;display:flex}.fr-busy__ring{width:68px;height:68px;position:relative}.fr-busy__ring:before{content:"";border:1px solid color-mix(in oklab, var(--fr-info) 30%, transparent);box-sizing:border-box;border-radius:50%;position:absolute;inset:0}.fr-busy__ring:after{content:"";border:1px dashed color-mix(in oklab, var(--fr-info) 45%, transparent);box-sizing:border-box;border-radius:50%;animation:5s linear infinite reverse fr-busy-rotate;position:absolute;inset:8px}.fr-busy__ring-arc{border:2px solid #0000;border-top-color:var(--fr-info);border-right-color:color-mix(in oklab, var(--fr-info) 60%, transparent);box-sizing:border-box;border-radius:50%;animation:1.1s cubic-bezier(.4,0,.6,1) infinite fr-busy-rotate;position:absolute;inset:3px}.fr-busy__label{font-family:var(--fr-font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fr-text-1);font-size:13px;font-weight:500}.fr-busy__label:after{content:"";text-align:left;width:24px;color:var(--fr-info);margin-left:6px;animation:1.4s steps(4,end) infinite fr-busy-dots;display:inline-block}.fr-busy__hint{font-family:var(--fr-font-sans);color:var(--fr-text-3);text-align:center;max-width:300px;font-size:12px;line-height:1.4}@keyframes fr-busy-rotate{to{transform:rotate(360deg)}}@keyframes fr-busy-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@keyframes fr-busy-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.fr-row{border-top:1px solid var(--fr-border-1);cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 12px;transition:background .1s,box-shadow .12s;display:grid;position:relative}.fr-row:first-child{border-top:none}.fr-row:hover{background:var(--fr-bg-2)}.fr-row:hover .fr-row__cue{color:var(--fr-info);transform:translate(3px)}.fr-row:active{background:var(--fr-bg-3)}.fr-row--selected{background:color-mix(in oklab, var(--section-accent,var(--fr-info)) 14%, var(--fr-bg-2));box-shadow:inset 3px 0 0 var(--section-accent,var(--fr-info))}.fr-row--selected .fr-row__name{color:#fff}.fr-row--selected .fr-row__cue{color:var(--section-accent,var(--fr-info));transform:translate(3px)}.fr-row__label{flex-direction:column;gap:2px;min-width:0;display:flex}.fr-row__name{color:var(--fr-text-1);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.fr-row__cat{font-family:var(--fr-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fr-text-3);font-size:11px}.fr-row--selected .fr-row__cat{color:var(--fr-text-2)}.fr-row__id{font-family:var(--fr-font-mono);color:var(--fr-text-3);letter-spacing:.02em;font-size:10.5px}.fr-row__cue{font-family:var(--fr-font-mono);color:var(--fr-text-3);font-size:14px;transition:color .12s,transform .12s}html,body,#app{height:100%;overflow:hidden}#app{grid-template-columns:320px 1fr 4px var(--diffpane-width,380px);background:var(--fr-bg-0,#101318);grid-template-areas:"sidebar viewport splitter diffpane";display:grid}#app>.fr-sidebar{grid-area:sidebar;min-height:0;overflow-y:auto}#app>.fr-viewport{grid-area:viewport;min-width:0;position:relative}#app>.fr-diffpane{grid-area:diffpane;min-width:240px;min-height:0;overflow-y:auto}#app>.fr-splitter{background:var(--fr-border-1,#2a2f38);cursor:col-resize;touch-action:none;user-select:none;grid-area:splitter;transition:background .12s}#app>.fr-splitter:hover,#app>.fr-splitter.fr-splitter--dragging{background:var(--fr-info,#3aa1ff)}body.fr-body--resizing,body.fr-body--resizing *{cursor:col-resize!important}.fr-modellist{flex-direction:column;gap:6px;padding:8px;display:flex}.fr-modellist__header{align-items:center;gap:8px;padding-bottom:4px;display:flex}.fr-modellist__title{letter-spacing:.08em;text-transform:uppercase;color:var(--fr-text-3,#8a8f98);flex:1;font-size:11px}.fr-modellist__empty{color:var(--fr-text-3,#8a8f98);text-align:center;border:1px dashed var(--fr-border-1,#2a2f38);border-radius:4px;padding:12px;font-size:12px}.fr-modellist__rows{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.fr-modellist__row{border:1px solid var(--fr-border-1,#2a2f38);background:var(--fr-bg-1,#161a20);border-radius:4px;align-items:center;gap:6px;padding:6px 8px;display:flex}.fr-modellist__eye,.fr-modellist__trash{color:var(--fr-text-2,#b7bcc4);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:2px 6px;font-size:14px;line-height:1}.fr-modellist__eye:hover,.fr-modellist__trash:hover{background:var(--fr-bg-3,#232833)}.fr-modellist__eye--off{color:var(--fr-text-3,#8a8f98)}.fr-modellist__name{min-width:0;font-family:var(--fr-font-mono,"IBM Plex Mono", monospace);color:var(--fr-text-1,#e6e9ee);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.fr-settings{z-index:20;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:10px;right:10px}.fr-settings__gear{width:34px;height:34px;color:var(--fr-text-2);background:color-mix(in oklab, var(--fr-bg-1) 88%, transparent);border:1px solid var(--fr-border-2);cursor:pointer;backdrop-filter:blur(6px);border-radius:6px;place-items:center;padding:0;transition:color .12s,background .12s,transform .2s;display:grid;position:relative}.fr-settings__gear:hover{color:var(--fr-text-1);background:var(--fr-bg-3)}.fr-settings__gear--open{color:var(--fr-info);border-color:var(--fr-info)}.fr-settings__gear--open svg{transform:rotate(45deg)}.fr-settings__gear svg{transition:transform .2s}.fr-settings__badge{background:var(--fr-modified);width:7px;height:7px;box-shadow:0 0 0 2px var(--fr-bg-1);border-radius:50%;position:absolute;top:4px;right:4px}.fr-settings__popup{background:var(--fr-bg-1);border:1px solid var(--fr-border-2);border-radius:8px;flex-direction:column;gap:8px;width:min(420px,100vw - 32px);max-height:min(70vh,640px);padding:12px;display:flex;box-shadow:0 12px 32px #00000073}.fr-settings__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.fr-settings__head .fr-label{margin:0}.fr-settings__resetall{font:500 11px var(--fr-font-sans);color:var(--fr-text-2);border:1px solid var(--fr-border-1);cursor:pointer;background:0 0;border-radius:4px;padding:4px 8px}.fr-settings__resetall:hover:not(:disabled){color:var(--fr-text-1);border-color:var(--fr-border-2)}.fr-settings__resetall:disabled{opacity:.4;cursor:default}.fr-settings__search{box-sizing:border-box;width:100%;font:13px var(--fr-font-sans);color:var(--fr-text-1);background:var(--fr-bg-0);border:1px solid var(--fr-border-1);border-radius:4px;padding:7px 10px}.fr-settings__search:focus{border-color:var(--fr-info);outline:none}.fr-settings__legend,.fr-settings__row{grid-template-columns:26px minmax(0,1fr) 52px 92px 36px 24px;align-items:center;gap:6px;display:grid}.fr-settings__legend{letter-spacing:.12em;text-transform:uppercase;color:var(--fr-text-3);padding:0 6px;font-size:10px}.fr-settings__legend span:nth-child(4){grid-column:4/span 2}.fr-settings__rows{flex-direction:column;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.fr-settings__row{border-radius:4px;padding:4px 6px}.fr-settings__row:hover{background:var(--fr-bg-2)}.fr-settings__row--hidden .fr-settings__name{color:var(--fr-text-3);text-decoration:line-through}.fr-settings__group{background:color-mix(in oklab, var(--fr-info) 8%, var(--fr-bg-2));border-radius:4px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:6px;padding:4px 6px;display:grid}.fr-settings__grouphead{min-width:0;font:600 12px var(--fr-font-sans);letter-spacing:.04em;text-align:left;color:var(--fr-text-1);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;display:flex}.fr-settings__chev{color:var(--fr-text-3);font-size:9px;transition:transform .15s;display:inline-block}.fr-settings__chev--open{transform:rotate(90deg)}.fr-settings__groupeye--off{color:var(--fr-text-3)}.fr-settings__groupeye--mixed{color:var(--fr-modified)}.fr-settings__row--grouped{padding-left:18px}.fr-settings__subhead{letter-spacing:.12em;text-transform:uppercase;color:var(--fr-text-3);margin-top:6px;padding:4px 6px 2px;font-size:10px}.fr-settings__eye,.fr-settings__reset{color:var(--fr-text-2);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:3px;font-size:14px;line-height:1}.fr-settings__eye:hover,.fr-settings__reset:hover:not(:disabled){background:var(--fr-bg-3);color:var(--fr-text-1)}.fr-settings__reset:disabled{opacity:.25;cursor:default}.fr-settings__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.fr-settings__count{font-family:var(--fr-font-mono);color:var(--fr-text-3);margin-left:6px;font-size:11px}.fr-settings__color{border:1px solid var(--fr-border-2);cursor:pointer;background:0 0;border-radius:4px;width:28px;height:22px;padding:0}.fr-settings__color::-webkit-color-swatch-wrapper{padding:2px}.fr-settings__color::-webkit-color-swatch{border:0;border-radius:2px}.fr-settings__color--unset{opacity:.35;border-style:dashed}.fr-settings__opacity{width:100%;accent-color:var(--fr-info);cursor:pointer}.fr-settings__opacity--unset{opacity:.45}.fr-settings__pct{font-family:var(--fr-font-mono);color:var(--fr-text-2);text-align:right;font-size:11px}.fr-settings__empty,.fr-settings__note{color:var(--fr-text-3);font-size:12px}.fr-settings__empty{text-align:center;padding:12px}.fr-settings__note{border-top:1px solid var(--fr-border-1);padding-top:8px}.fr-lang{z-index:20;position:absolute;top:10px;right:94px}.fr-lang__group{box-sizing:border-box;background:color-mix(in oklab, var(--fr-bg-1) 88%, transparent);border:1px solid var(--fr-border-2);backdrop-filter:blur(6px);border-radius:6px;gap:2px;height:34px;padding:3px;display:flex}.fr-lang__opt{min-width:30px;font:600 11px var(--fr-font-mono);letter-spacing:.06em;color:var(--fr-text-3);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 6px;transition:color .12s,background .12s}.fr-lang__opt:hover{color:var(--fr-text-1);background:var(--fr-bg-3)}.fr-lang__opt--on,.fr-lang__opt--on:hover{color:#fff;background:linear-gradient(#2a80ff 0%,#1a5fd6 100%)}.fr-fpv__btn{z-index:20;width:34px;height:34px;color:var(--fr-text-2);background:color-mix(in oklab, var(--fr-bg-1) 88%, transparent);border:1px solid var(--fr-border-2);cursor:pointer;backdrop-filter:blur(6px);border-radius:6px;place-items:center;padding:0;transition:color .12s,background .12s,border-color .12s;display:grid;position:absolute;top:10px;right:52px}.fr-fpv__btn:hover{color:var(--fr-text-1);background:var(--fr-bg-3)}.fr-fpv__btn--on{color:#fff;box-shadow:0 0 14px color-mix(in oklab, var(--fr-info) 45%, transparent);background:linear-gradient(#2a80ff 0%,#1a5fd6 100%);border-color:#1e69e0}.fr-fpv__btn--on:hover{color:#fff;background:linear-gradient(#3a8dff 0%,#2568da 100%)}.fr-fpv__hud{z-index:20;max-width:calc(100% - 32px);color:var(--fr-text-2);background:color-mix(in oklab, var(--fr-bg-0) 88%, transparent);border:1px solid var(--fr-border-2);backdrop-filter:blur(6px);pointer-events:none;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;padding:8px 14px;font-size:12px;animation:.18s ease-out fr-busy-fade-in;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.fr-fpv__hud kbd{min-width:18px;font:500 11px var(--fr-font-mono);text-align:center;color:var(--fr-text-1);background:var(--fr-bg-3);border:1px solid var(--fr-border-2);border-bottom-width:2px;border-radius:4px;margin-right:3px;padding:1px 5px;display:inline-block}.fr-fpv__speed{font:600 13px var(--fr-font-mono);color:var(--fr-info);transition:transform .15s,color .15s}.fr-fpv__speed--flash{color:#fff;transform:scale(1.15)}.fr-fpv__crosshair{z-index:20;pointer-events:none;filter:drop-shadow(0 0 1px #000)drop-shadow(0 0 2px #0009);opacity:.85;background:linear-gradient(#fff,#fff) 50%/2px 100% no-repeat,linear-gradient(#fff,#fff) 50%/100% 2px no-repeat;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fr-props{z-index:15;background:color-mix(in oklab, var(--fr-bg-1) 94%, transparent);border:1px solid var(--fr-border-2);backdrop-filter:blur(6px);border-radius:8px;flex-direction:column;width:min(380px,100% - 70px);max-height:calc(100% - 20px);display:none;position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:0 12px 32px #00000073}.fr-props.is-active{display:flex}.fr-props__head{border-bottom:1px solid var(--fr-border-1);align-items:flex-start;gap:8px;padding:10px 10px 8px 12px;display:flex}.fr-props__titles{flex:1;min-width:0}.fr-props__title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.fr-props__subtitle{letter-spacing:.1em;text-transform:uppercase;color:var(--fr-text-label);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.fr-props__status{color:#111;border-radius:999px;flex:none;padding:2px 7px;font-size:11px;font-weight:600}.fr-props__status--added{background:var(--fr-added)}.fr-props__status--modified{background:var(--fr-modified)}.fr-props__status--removed{background:var(--fr-removed)}.fr-props__status--unchanged{background:var(--fr-unchanged)}.fr-props__close{color:var(--fr-text-2);cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;padding:2px 6px;font-size:13px}.fr-props__close:hover{background:var(--fr-bg-3);color:var(--fr-text-1)}.fr-props__summary{color:var(--fr-text-2);border-bottom:1px solid var(--fr-border-1);padding:6px 12px;font-size:12px}.fr-props__table{border-collapse:collapse;min-height:0;font-size:12px;display:block;overflow-y:auto}.fr-props__table tbody,.fr-props__table thead{table-layout:fixed;width:100%;display:table}.fr-props__table th,.fr-props__table td{text-align:left;vertical-align:top;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid color-mix(in oklab, var(--fr-border-1) 60%, transparent);padding:5px 12px;overflow:hidden}.fr-props__table th{width:38%;color:var(--fr-text-2);font-weight:500}.fr-props__table td{font-family:var(--fr-font-mono);color:var(--fr-text-1);user-select:text}.fr-props__table--pair th{width:30%}.fr-props__table--pair thead th{letter-spacing:.12em;text-transform:uppercase;color:var(--fr-text-3);font-size:10.5px}.fr-props__changed th{color:var(--fr-modified)}.fr-props__changed td{background:color-mix(in oklab, var(--fr-modified) 10%, transparent)}.fr-props__meta th,.fr-props__meta td{color:var(--fr-text-3)}.fr-props__loading,.fr-props__empty{color:var(--fr-text-3);padding:12px;font-size:12px}.fr-loadlayer{z-index:30;pointer-events:none;position:absolute;inset:0}.fr-load,.fr-drop,.fr-empty{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fr-load{background:radial-gradient(#080a0d8c 0%,#080a0d26 70%);animation:.22s ease-out fr-busy-fade-in}.fr-load--done{animation:.7s ease-in forwards fr-load-out}.fr-load__card{background:color-mix(in oklab, var(--fr-bg-0) 90%, transparent);border:1px solid var(--fr-border-2);width:min(340px,100% - 32px);box-shadow:0 20px 60px #00000080, 0 0 0 1px #ffffff08 inset, 0 0 48px color-mix(in oklab, var(--fr-info) 22%, transparent);backdrop-filter:blur(8px);border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:26px 28px 22px;display:flex}.fr-load__art{width:84px;height:150px;overflow:visible}.fr-load__shadow{fill:color-mix(in oklab, var(--fr-info) 22%, transparent);transform-origin:0 80px;animation:2.8s ease-in-out infinite fr-load-shadow}.fr-load__cube{opacity:0;animation:2.8s cubic-bezier(.2,.8,.3,1) infinite fr-load-drop}.fr-load__face{stroke:var(--fr-info);stroke-width:.8px;stroke-linejoin:round}.fr-load__face--top{fill:color-mix(in oklab, var(--fr-info) 55%, var(--fr-bg-0))}.fr-load__face--left{fill:color-mix(in oklab, var(--fr-info) 22%, var(--fr-bg-0))}.fr-load__face--right{fill:color-mix(in oklab, var(--fr-info) 36%, var(--fr-bg-0))}.fr-load--done .fr-load__cube{opacity:1;animation:none}.fr-load--done .fr-load__face{stroke:var(--fr-added)}.fr-load--done .fr-load__face--top{fill:color-mix(in oklab, var(--fr-added) 55%, var(--fr-bg-0))}.fr-load__label{font-family:var(--fr-font-mono);letter-spacing:.2em;text-transform:uppercase;font-size:13px;font-weight:500}.fr-load__file{max-width:100%;font-family:var(--fr-font-mono);color:var(--fr-text-2);text-overflow:ellipsis;white-space:nowrap;margin-top:-6px;font-size:12px;overflow:hidden}.fr-load__dots{align-items:center;gap:6px;display:flex}.fr-load__dots span{border:1px solid var(--fr-border-2);border-radius:50%;width:8px;height:8px;transition:background .2s,border-color .2s}.fr-load__dots span.is-active{border-color:var(--fr-info);box-shadow:0 0 8px var(--fr-info)}.fr-load__dots span.is-done{background:var(--fr-added);border-color:var(--fr-added)}.fr-load__dots em{font:normal 11px var(--fr-font-mono);color:var(--fr-text-3);margin-left:4px}.fr-load__bar{background:var(--fr-bg-3);border-radius:2px;width:100%;height:4px;overflow:hidden}.fr-load__bar span{background:linear-gradient(90deg, #1a5fd6, var(--fr-info), #9ad0ff);background-size:200% 100%;border-radius:2px;height:100%;transition:width .2s ease-out;animation:1.4s linear infinite fr-load-sheen;display:block}.fr-load--done .fr-load__bar span{background:var(--fr-added);animation:none}.fr-load__steps{flex-direction:column;align-self:stretch;gap:5px;margin:2px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.fr-load__steps li{color:var(--fr-text-3);align-items:center;gap:8px;display:flex}.fr-load__steps li.is-active{color:var(--fr-text-1)}.fr-load__steps li.is-done{color:var(--fr-text-2)}.fr-load__steps i{border:1px solid var(--fr-border-2);box-sizing:border-box;border-radius:50%;flex:none;width:12px;height:12px}.fr-load__steps li.is-active i{border:2px solid color-mix(in oklab, var(--fr-info) 25%, transparent);border-top-color:var(--fr-info);animation:.8s linear infinite fr-busy-rotate}.fr-load__steps li.is-done i{border-color:var(--fr-added);background:var(--fr-added);box-shadow:inset 0 0 0 2px var(--fr-bg-0)}.fr-load__errors{color:var(--fr-removed);background:color-mix(in oklab, var(--fr-removed) 10%, transparent);overflow-wrap:anywhere;border-radius:4px;align-self:stretch;padding:6px 8px;font-size:11.5px}.fr-drop{padding:14px}.fr-drop__inner{border:2px dashed var(--fr-info);background:color-mix(in oklab, var(--fr-info) 9%, #080a0d8c);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;animation:.15s ease-out fr-busy-fade-in;display:flex}.fr-drop__icon{color:var(--fr-info);font-size:42px;line-height:1;animation:1s ease-in-out infinite fr-drop-bob}.fr-drop__label{font-family:var(--fr-font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:15px}.fr-drop__hint{color:var(--fr-text-2);font-size:12px}.fr-empty{text-align:center;flex-direction:column;gap:10px}.fr-empty__art{opacity:.55;margin-bottom:-6px}.fr-empty__art .fr-load__art{width:64px;height:116px}.fr-empty__title{font-family:var(--fr-font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fr-text-2);font-size:13px}.fr-empty__hint{color:var(--fr-text-3);font-size:13px;line-height:1.5}.fr-empty__hint code{font-family:var(--fr-font-mono);color:var(--fr-text-2)}.fr-empty__btn{pointer-events:auto;flex:none;margin-top:6px}@keyframes fr-load-drop{0%{opacity:0;transform:translateY(-34px)}14%{opacity:1;transform:translateY(0)}72%{opacity:1;transform:translateY(0)}88%,to{opacity:0;transform:translateY(0)}}@keyframes fr-load-shadow{0%,to{opacity:.4;transform:scale(.8)}45%{opacity:1;transform:scale(1)}}@keyframes fr-load-sheen{to{background-position:-200% 0}}@keyframes fr-load-out{0%,60%{opacity:1}to{opacity:0}}@keyframes fr-drop-bob{0%,to{transform:translateY(-3px)}50%{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.fr-load__cube{opacity:1;animation:none}.fr-load__shadow,.fr-load__bar span,.fr-drop__icon{animation:none}}.fr-btn--sm{padding:4px 10px;font-size:12px}
