:root{--bg:#101218;--bg-raised:#181b24;--bg-hover:#212533;--border:#262b3a;--border-strong:#343a4e;--text:#e8eaf0;--text-strong:#f4f5f9;--text-dim:#99a0b4;--accent:#e04b62;--accent-soft:#e04b6220;--ok:#4fc07a;--ok-soft:#4fc07a22;--warn:#e0a84b;--radius:10px;--shadow-card:0 1px 2px #00000059;--shadow-modal:0 12px 40px #00000080;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);background:radial-gradient(60rem 30rem at 85% -10%, #e04b6210, transparent 60%), radial-gradient(50rem 26rem at -10% 0%, #4b62e00d, transparent 60%), var(--bg);background-attachment:fixed;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}::selection{background:var(--accent-soft)}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5rem;line-height:1.2}a{color:var(--accent)}button{font:inherit;color:inherit;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.5rem 1rem;transition:background .15s,border-color .15s,transform 50ms}button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:calc(var(--radius) / 2);padding:.4rem .6rem;transition:border-color .15s}input:focus,select:focus{border-color:var(--accent);outline:none}code{background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;font-size:.9em}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin:0 0 .6rem;font-size:.75rem;font-weight:600}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1rem}.card--interactive{transition:background .15s,border-color .15s}.card--interactive:hover{background:var(--bg-hover);border-color:var(--border-strong)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:5px}::-webkit-scrollbar-track{background:0 0}.progress-bar{background:var(--bg-hover);border-radius:3px;width:100%;height:5px;display:block;position:relative;overflow:hidden}.progress-bar__fill{background:var(--accent);border-radius:3px;height:100%;transition:width .2s;display:block}.progress-bar__slider{background:var(--accent);border-radius:3px;width:35%;animation:1.1s ease-in-out infinite progress-bar-slide;display:block;position:absolute;top:0;bottom:0}@keyframes progress-bar-slide{0%{left:-35%}to{left:100%}}@media (prefers-reduced-motion:reduce){.progress-bar__slider{animation:none;left:0}}.banner-editor__overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.banner-editor{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);width:min(34rem,100%);max-height:100%;box-shadow:var(--shadow-modal);flex-direction:column;gap:.75rem;padding:1rem 1.25rem;animation:.18s banner-editor-enter;display:flex;overflow-y:auto}@keyframes banner-editor-enter{0%{opacity:0;transform:translateY(6px)}}.banner-editor__header{align-items:center;gap:.75rem;display:flex}.banner-editor__heading{text-overflow:ellipsis;white-space:nowrap;margin:0 auto 0 0;font-size:1.15rem;overflow:hidden}.banner-editor__close{flex:none;padding:.2rem .6rem;font-size:1.1rem;line-height:1.4}.banner-editor__status{color:var(--text-dim);margin:0}.banner-editor__note{color:var(--text-dim);margin:0;font-size:.875rem}.banner-editor__error{color:var(--accent);overflow-wrap:anywhere;margin:0;font-size:.875rem}.banner-editor__preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.banner-editor__preview-icon{width:128px;height:128px;image-rendering:pixelated;flex:none}.banner-editor__preview-icon--empty{color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:6px;justify-content:center;align-items:center;font-size:2rem;display:inline-flex}.banner-editor__preview-title{color:var(--text-strong);overflow-wrap:anywhere;font-size:1.15rem;font-weight:600}.banner-editor__field{flex-direction:column;gap:.5rem;display:flex}.banner-editor__field input{width:100%}.banner-editor__field-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);font-size:.75rem;font-weight:600}.banner-editor__sources{border:none;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.banner-editor__source-options{flex-wrap:wrap;gap:.5rem;display:flex}.banner-editor__source{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex;position:relative}.banner-editor__source:hover{background:var(--bg-hover);border-color:var(--border-strong)}.banner-editor__source input[type=radio]{opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.banner-editor__source:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.banner-editor__source:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.banner-editor__source-detail{flex-direction:column;gap:.5rem;display:flex}.banner-editor__source-detail select{max-width:100%}.banner-editor__hint{color:var(--text-dim);margin:0;font-size:.78rem}.banner-editor__footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding-top:.75rem;display:flex}.banner-editor__remove-area{margin-right:auto}.banner-editor__remove{border-color:var(--accent);color:var(--accent);background:0 0}.banner-editor__remove:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.banner-editor__confirm{color:var(--warn);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.banner-editor__actions{flex-direction:column;align-items:flex-end;gap:.5rem;min-width:0;margin-left:auto;display:flex}.banner-editor__target{color:var(--text-dim);overflow-wrap:anywhere;margin:0;font-size:.78rem}.cover-picker__overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.cover-picker{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);width:min(58rem,100%);max-height:100%;box-shadow:var(--shadow-modal);flex-direction:column;gap:.75rem;padding:1rem 1.25rem;animation:.18s cover-picker-enter;display:flex}@keyframes cover-picker-enter{0%{opacity:0;transform:translateY(6px)}}.cover-picker__header{align-items:center;gap:.75rem;display:flex}.cover-picker__title{text-overflow:ellipsis;white-space:nowrap;margin:0 auto 0 0;font-size:1.15rem;overflow:hidden}.cover-picker__close{flex:none;padding:.2rem .6rem;font-size:1.1rem;line-height:1.4}.cover-picker__search{width:100%}.cover-picker__status{text-align:center;color:var(--text-dim);margin:0;padding:2.5rem 1rem}.cover-picker__error{color:var(--warn);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.75rem;margin:0;padding:.5rem .75rem;display:flex}.cover-picker__results{flex:auto;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));align-content:start;gap:.75rem;min-height:8rem;margin:0;padding:3px;list-style:none;display:grid;overflow-y:auto}.cover-picker__candidate{text-align:center;background:var(--bg);border:1px solid var(--border);flex-direction:column;gap:.5rem;width:100%;height:100%;padding:.5rem;display:flex}.cover-picker__candidate--selected,.cover-picker__candidate--selected:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.cover-picker__thumb{aspect-ratio:1;object-fit:contain;border-radius:calc(var(--radius) / 2);background:#000;width:100%}.cover-picker__candidate-name{color:var(--text-dim);overflow-wrap:anywhere;font-size:.78rem;line-height:1.25}.cover-picker__candidate--selected .cover-picker__candidate-name{color:var(--text)}.cover-picker__compare{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.cover-picker__side{flex-direction:column;gap:.25rem;margin:0;display:flex}.cover-picker__side .section-title{margin:0}.cover-picker__cover{border:1px solid var(--border);border-radius:calc(var(--radius) / 2);background:var(--bg);width:212px;height:192px;image-rendering:pixelated;display:block}.cover-picker__cover--empty{color:var(--text-dim);border-style:dashed;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.cover-picker__arrow{color:var(--text-dim);font-size:1.25rem}.cover-picker__spinner{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite cover-picker-spin}@keyframes cover-picker-spin{to{transform:rotate(360deg)}}.cover-picker__actions{flex-direction:column;align-items:flex-end;gap:.5rem;min-width:0;margin-left:auto;display:flex}.cover-picker__inline-error{color:var(--warn);overflow-wrap:anywhere;margin:0;font-size:.875rem}.cover-picker__target{color:var(--text-dim);overflow-wrap:anywhere;margin:0;font-size:.78rem}.stats-editor__overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.stats-editor{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);width:min(22rem,100%);box-shadow:var(--shadow-modal);flex-direction:column;gap:.9rem;padding:1rem 1.25rem 1.25rem;animation:.18s stats-editor-enter;display:flex}@keyframes stats-editor-enter{0%{opacity:0;transform:translateY(6px)}}.stats-editor__header{align-items:center;gap:.75rem;display:flex}.stats-editor__title{text-overflow:ellipsis;white-space:nowrap;margin:0 auto 0 0;font-size:1.15rem;overflow:hidden}.stats-editor__close{flex:none;padding:.2rem .6rem;font-size:1.1rem;line-height:1.4}.stats-editor__field{justify-content:space-between;align-items:center;gap:1rem;display:flex}.stats-editor__label{color:var(--text-dim)}.stats-editor__field input[type=number]{font-variant-numeric:tabular-nums;text-align:right;width:5rem;padding:.35rem .5rem}.stats-editor__time{align-items:center;gap:.3rem;display:flex}.stats-editor__time input[type=number]{width:3.5rem}.stats-editor__unit{color:var(--text-dim)}.stats-editor__actions{justify-content:flex-end;gap:.6rem;margin-top:.25rem;display:flex}.system-gallery{flex-direction:column;gap:1.25rem;width:100%;max-width:1080px;margin:0 auto;padding:1.5rem;display:flex}.system-gallery__header{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.system-gallery__back{color:var(--text-dim);background:0 0;border-color:#0000;flex:none;padding:.25rem .6rem;font-size:.875rem}.system-gallery__back:hover:not(:disabled),.system-gallery__back:focus-visible{color:var(--text);background:var(--bg-hover);border-color:var(--border)}.system-gallery__title{margin:0;font-size:1.4rem}.system-gallery__count{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:0;font-size:.875rem}.system-gallery__progress{max-width:22rem;color:var(--text-dim);font-variant-numeric:tabular-nums;flex-direction:column;gap:.35rem;margin:0;display:flex}.system-gallery__empty{text-align:center;color:var(--text-dim);margin:0;padding:2.5rem 1rem}.system-gallery__error{color:var(--warn);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.5rem .75rem}.system-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.system-gallery__card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-direction:column;gap:.4rem;padding:.5rem;transition:border-color .15s;display:flex}.system-gallery__card:hover,.system-gallery__card:focus-within{border-color:var(--border-strong)}.system-gallery__cover-wrap{display:block;position:relative}.system-gallery__cover{aspect-ratio:106/96;border:1px solid var(--border);border-radius:calc(var(--radius) / 2);background:var(--bg);width:100%;height:auto;image-rendering:pixelated;display:block}.system-gallery__cover--skeleton{opacity:.7;animation:1.2s ease-in-out infinite system-gallery-pulse}@keyframes system-gallery-pulse{0%,to{opacity:.35}50%{opacity:.7}}.system-gallery__cover--missing{color:var(--text-dim);border-style:dashed;justify-content:center;align-items:center;font-size:1.75rem;font-weight:600;display:flex}.system-gallery__name{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.system-gallery__badges{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c10c7;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.7rem;font-weight:600;line-height:1;display:flex;position:absolute;bottom:4px;left:4px}.system-gallery__favorite,.system-gallery__completed{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:28px;height:28px;color:var(--text-dim);opacity:.45;cursor:pointer;background:#0a0c10c7;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:.9rem;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.system-gallery__completed{top:36px}.system-gallery__favorite:hover,.system-gallery__favorite:focus-visible,.system-gallery__completed:hover,.system-gallery__completed:focus-visible{opacity:1}.system-gallery__favorite:focus-visible,.system-gallery__completed:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.system-gallery__favorite--on{color:var(--accent);opacity:1}.system-gallery__completed--on{color:var(--ok);opacity:1}.system-gallery__favorite:disabled,.system-gallery__completed:disabled{cursor:default;opacity:.3}.system-gallery__badges--button{cursor:pointer;color:inherit;border:0;font-family:inherit;transition:opacity .15s}.system-gallery__badges--button:hover:not(:disabled),.system-gallery__badges--button:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:1px}.system-gallery__badges--button:not(:disabled):has(>.system-gallery__play>[aria-hidden]){opacity:.55}.system-gallery__badges--button:disabled{cursor:default;opacity:.3}.system-gallery__play{color:var(--text);font-variant-numeric:tabular-nums}.system-gallery__edit{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:28px;height:28px;color:var(--text-dim);opacity:0;cursor:pointer;background:#0a0c10c7;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:.9rem;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:4px;left:4px}.system-gallery__card:hover .system-gallery__edit,.system-gallery__card:focus-within .system-gallery__edit{opacity:.7}.system-gallery__card .system-gallery__edit:hover:not(:disabled),.system-gallery__card .system-gallery__edit:focus-visible{opacity:1;color:var(--text)}.system-gallery__edit:disabled{cursor:default}.system-gallery__card:hover .system-gallery__edit:disabled,.system-gallery__card:focus-within .system-gallery__edit:disabled{opacity:.3}.library-view{flex-direction:column;gap:1.25rem;width:100%;max-width:1080px;margin:0 auto;padding:1.5rem;display:flex}.library-view__summary{flex-wrap:wrap;gap:.75rem;margin:0;display:flex}.library-view__stat{flex:10rem}.library-view__stat dt{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin:0 0 .25rem;font-size:.78rem;font-weight:600}.library-view__stat dd{font-variant-numeric:tabular-nums;color:var(--text-strong);margin:0;font-size:1.4rem;font-weight:600}.library-view__grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.library-view__grid>li{display:flex;position:relative}.library-view__card{text-align:left;flex-direction:column;gap:.3rem;width:100%;display:flex}.library-view__card-label{margin:0;font-size:1rem;font-weight:600}.library-view__card-count{color:var(--text-dim);margin:0;font-size:.875rem}.library-view__card-covers{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:.35rem 0 0;font-size:.78rem}.library-view__bar{background:var(--bg);border:1px solid var(--border);border-radius:3px;height:6px;display:block;overflow:hidden}.library-view__bar-fill{background:var(--accent);height:100%;display:block}.library-view__bar-fill--full{background:var(--ok)}.library-view__card-cta{color:var(--accent);opacity:0;margin-top:.4rem;font-size:.875rem;transition:opacity .15s}.library-view__card:hover .library-view__card-cta,.library-view__card:focus-visible .library-view__card-cta{opacity:1}.library-view__card-edit{color:var(--text-dim);background:var(--bg);border-radius:calc(var(--radius) / 2);padding:.15rem .5rem;font-size:.9rem;line-height:1.4;position:absolute;top:.6rem;right:.6rem}.library-view__card-edit:hover:not(:disabled),.library-view__card-edit:focus-visible{color:var(--accent);border-color:var(--accent)}.library-view__empty{text-align:center;color:var(--text-dim);margin:0;padding:2.5rem 1rem}.library-view__card-head{align-items:center;gap:.6rem;display:flex}.library-view__card-icon{width:32px;height:32px;image-rendering:pixelated;flex:none}.library-view__card-icon--fallback{color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:6px;justify-content:center;align-items:center;font-size:1.3rem;display:inline-flex}.library-view__card-info-list{flex-wrap:wrap;gap:.4rem 2.5rem;margin:0;display:flex}.library-view__card-info-list dt{color:var(--text-dim);font-size:.78rem}.library-view__card-info-list dd{margin:0;font-size:.875rem}.library-view__card-info-dim{color:var(--text-dim)}.library-view__chip{background:var(--accent-soft);color:var(--accent);vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.covers-view{flex-direction:column;gap:1.25rem;display:flex}.covers-view__header h2{margin-bottom:.25rem;font-size:1.4rem}.covers-view__hint{color:var(--text-dim);max-width:60ch;margin:0;font-size:.875rem}.covers-view__empty,.covers-view__all-covered{text-align:center;color:var(--text-dim);margin:0;padding:2.5rem 1rem}.covers-view__all-covered:before{content:"✓";color:var(--ok);margin-bottom:.5rem;font-size:1.5rem;display:block}.covers-view__error{color:var(--warn);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.5rem .75rem}.covers-view__progress{max-width:22rem;color:var(--text-dim);flex-direction:column;gap:.5rem;display:flex}.covers-view__toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.covers-view__toolbar-title{margin:0 auto 0 0;font-size:1.15rem}.covers-view__dim{color:var(--text-dim);font-weight:400}.covers-view__group{margin-bottom:1.25rem}.covers-view__group:last-child{margin-bottom:0}.covers-view__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.covers-view__row{border-radius:calc(var(--radius) / 2);cursor:pointer;align-items:center;gap:.5rem;padding:.25rem .5rem;transition:background .15s;display:flex}.covers-view__row:hover{background:var(--bg-hover)}.covers-view__row-name{overflow-wrap:anywhere}.covers-view__code{color:var(--text-dim)}.covers-view__row-note{color:var(--text-dim);font-size:.78rem}.covers-view__batch{animation:.18s covers-view-enter}@keyframes covers-view-enter{0%{opacity:0;transform:translateY(6px)}}.covers-view__batch h3{margin-bottom:.25rem;font-size:1.15rem}.covers-view__counter{color:var(--text-dim);margin:0 0 .5rem;font-size:.875rem}.covers-view__jobs{margin:0;padding:0;list-style:none}.covers-view__job{border-top:1px solid var(--border);align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.covers-view__preview{border:1px solid var(--border);border-radius:calc(var(--radius) / 2);width:256px;height:192px;image-rendering:pixelated;background:#000;flex:none}.covers-view__preview--empty{background:0 0;border-style:dashed}.covers-view__job-text{flex-direction:column;gap:.25rem;min-width:0;margin-right:auto;display:flex}.covers-view__job-name{overflow-wrap:anywhere}.covers-view__job-detail{color:var(--text-dim);overflow-wrap:anywhere;font-size:.875rem}.covers-view__job-status{text-align:right;color:var(--text-dim);flex:none;font-size:.78rem}.covers-view__job--written .covers-view__job-status{color:var(--ok)}.covers-view__job--no-match .covers-view__job-status{color:var(--warn)}.covers-view__job--error .covers-view__job-status{color:var(--accent)}.stats-view{flex-direction:column;gap:1.25rem;width:100%;max-width:56rem;margin:0 auto;padding:1.5rem;display:flex}.stats-view__heart{color:var(--accent)}.stats-view__sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stats-view__info{text-align:center;max-width:30rem;color:var(--text-dim);margin:0 auto;padding:2.5rem 1rem}.stats-view__info h2{color:var(--text);font-size:1.15rem}.stats-view__info-icon{margin:0 0 .75rem;font-size:1.5rem;line-height:1}.stats-view__none{text-align:center;color:var(--text-dim);margin:0;padding:2.5rem 1rem}.stats-view__tiles{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:0;display:grid}.stats-view__tile-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin:0 0 .25rem;font-size:.78rem;font-weight:600}.stats-view__tile-value{font-variant-numeric:tabular-nums;color:var(--text-strong);margin:0;font-size:1.4rem;font-weight:600;line-height:1.2}.stats-view__table-wrap{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow-x:auto}.stats-view__table{border-collapse:collapse;white-space:nowrap;width:100%}.stats-view__table th,.stats-view__table td{text-align:left;padding:.5rem .75rem}.stats-view__table thead th{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);font-size:.78rem;font-weight:600}.stats-view__table tbody tr{border-top:1px solid var(--border)}.stats-view__table tbody tr:hover{background:var(--bg-hover)}.stats-view__table .stats-view__name{text-overflow:ellipsis;max-width:24rem;overflow:hidden}.stats-view__table .stats-view__num{text-align:right;font-variant-numeric:tabular-nums}.stats-view__table .stats-view__fav{text-align:center;width:1%}.stats-view__recent{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin:0;padding:0;list-style:none}.stats-view__recent-item{justify-content:space-between;align-items:baseline;gap:1rem;min-width:0;padding:.5rem .75rem;display:flex}.stats-view__recent-item+.stats-view__recent-item{border-top:1px solid var(--border)}.stats-view__recent-item .stats-view__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stats-view__when{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.875rem}.stats-view__favorites{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.stats-view__favorite{background:var(--accent-soft);max-width:100%;color:var(--accent);border-radius:999px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.stats-view__favorite .stats-view__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.associations-view{flex-direction:column;gap:1.25rem;max-width:52rem;display:flex}.associations-view h2{margin:0 0 .25rem;font-size:1.4rem}.associations-view__intro{color:var(--text-dim);margin:0}.associations-view__info{text-align:center;color:var(--text-dim);margin:0;padding:2.5rem 1rem}.associations-view__table-wrap{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow-x:auto}.associations-view__table{border-collapse:collapse;width:100%}.associations-view__table th,.associations-view__table td{text-align:left;padding:.5rem .75rem}.associations-view__table thead th{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);font-size:.78rem;font-weight:600}.associations-view__table tbody tr{border-top:1px solid var(--border)}.associations-view__table tbody tr:hover{background:var(--bg-hover)}.associations-view__table tbody th[scope=row]{white-space:nowrap;font-weight:400}.associations-view__table td:nth-child(2){width:100%}.associations-view__path-input{width:100%;min-width:16rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem}.associations-view__row-actions{white-space:nowrap}.associations-view__row-actions button{border-color:var(--accent);color:var(--accent);background:0 0;padding:.25rem .75rem;font-size:.875rem}.associations-view__row-actions button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.associations-view__add{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.associations-view__field{flex-direction:column;gap:.25rem;display:flex}.associations-view__field span{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);font-size:.78rem;font-weight:600}.associations-view__field input{font-size:.875rem}.associations-view__field--ext input{width:6rem}.associations-view__field--path{flex:1}.associations-view__hint{color:var(--text-dim);margin:0;font-size:.875rem}.associations-view__warning{border-left:3px solid var(--warn);color:var(--warn);margin:0;padding-left:.75rem;font-size:.875rem}.associations-view__error{color:var(--accent);margin:0;font-size:.875rem}.associations-view__save-bar{flex-direction:column;gap:.5rem;animation:.18s associations-view-enter;display:flex}@keyframes associations-view-enter{0%{opacity:0;transform:translateY(6px)}}.associations-view__save-actions{gap:.5rem;display:flex}.associations-view__sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.health-view{flex-direction:column;gap:1.25rem;max-width:52rem;display:flex}.health-view__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.health-view__header h2{font-size:1.4rem}.health-view__header .health-view__dim{font-size:.875rem}.health-view__section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);box-shadow:var(--shadow-card);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.health-view__section--ok{border-left:3px solid var(--ok)}.health-view__section--warn{border-left:3px solid var(--warn)}.health-view__section h3,.health-view__section p{margin:0}.health-view__dim{color:var(--text-dim)}.health-view__ok{color:var(--ok)}.health-view__warn{color:var(--warn)}.health-view__error{color:var(--accent)}.health-view__list{overflow-wrap:anywhere;flex-direction:column;gap:.25rem;max-height:16rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex;overflow-y:auto}.health-view__details summary{color:var(--text-dim);cursor:pointer;font-size:.78rem}.health-view__details .health-view__list{color:var(--text-dim);margin-top:.5rem;font-size:.78rem}.health-view__details code{background:0 0;border:none;padding:0;font-size:1em}.health-view__check{cursor:pointer;align-items:baseline;gap:.5rem;display:inline-flex}.health-view__check input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.health-view__danger{border-color:var(--accent);color:var(--accent);background:0 0}.health-view__danger:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.health-view__confirm{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.health-view__confirm-text{color:var(--warn);font-size:.875rem;font-weight:600}.drop-import__overlay{z-index:40;background:color-mix(in srgb, var(--bg) 75%, transparent);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.drop-import__overlay-box{border:2px dashed var(--accent);border-radius:var(--radius);background:var(--bg-raised);box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:.75rem;margin:0;padding:1.5rem 2.5rem;font-size:1.15rem;font-weight:600;display:flex}.drop-import__overlay-mark{width:2rem;height:2rem}.drop-import__panel{z-index:30;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);width:min(26rem,100vw - 2.5rem);max-height:min(24rem,60vh);box-shadow:var(--shadow-modal);flex-direction:column;animation:.18s drop-import-enter;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;overflow:hidden}@keyframes drop-import-enter{0%{opacity:0;transform:translateY(6px)}}.drop-import__panel-header{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.drop-import__title{font-size:1rem;font-weight:600}.drop-import__summary{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:.78rem}.drop-import__close{color:var(--text-dim);border-radius:calc(var(--radius) / 2);background:0 0;border:none;padding:0 .4rem;font-size:1.15rem;line-height:1}.drop-import__close:hover:not(:disabled){color:var(--text);background:var(--bg-hover)}.drop-import__list{margin:0;padding:.25rem 0;list-style:none;overflow-y:auto}.drop-import__row{justify-content:space-between;align-items:baseline;gap:.75rem;padding:.25rem .75rem;font-size:.875rem;display:flex}.drop-import__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drop-import__status{color:var(--text-dim);text-align:right;flex:none;font-size:.78rem}.drop-import__row--ok .drop-import__status{color:var(--ok)}.drop-import__row--skip .drop-import__status{color:var(--warn)}.drop-import__row--error .drop-import__status{color:var(--accent)}.app{flex-direction:column;flex:1;width:100%;max-width:1100px;margin:0 auto;padding:0 1.25rem;display:flex}.app__header{padding:1.1rem 0 .75rem}.app__logo{letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;display:inline-flex}.app__mark{flex:none;width:1.5em;height:1.5em}.app__brand-accent{color:var(--accent)}.app__welcome{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.1rem;padding:4rem 1rem 3rem;display:flex}.app__welcome-title{align-items:center;gap:.65rem;margin:0;font-size:3.2rem;display:inline-flex}.app__welcome-title .app__mark{width:1.1em;height:1.1em}.app__tagline{max-width:32rem;color:var(--text-dim);margin:0;font-size:1.05rem}.app__cta{padding:.65rem 1.6rem;font-size:1.05rem}.app__unsupported{max-width:30rem;color:var(--warn)}.app__features{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;width:100%;max-width:52rem;margin:2.5rem 0 0;padding:0;list-style:none;display:grid}.app__features li{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);text-align:left;color:var(--text-dim);padding:1rem;font-size:.875rem;line-height:1.45}.app__feature-title{color:var(--text);margin-bottom:.15rem;font-weight:600;display:block}.app__error{color:var(--text);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 calc(var(--radius) / 2) calc(var(--radius) / 2) 0;padding:.5rem 1rem;font-size:.875rem}.app__tabs{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.5rem 0;display:flex;position:sticky;top:0}.app__tab{color:var(--text-dim);background:0 0;border:1px solid #0000;border-radius:999px;padding:.35rem .85rem;transition:background .15s,color .15s,transform 50ms}.app__tab:hover:not(:disabled){background:var(--bg-raised);color:var(--text);border-color:#0000}.app__tab--active{background:var(--accent-soft);color:var(--accent);font-weight:600}.app__tab--active:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.app__sd-name{color:var(--text-dim);align-items:center;gap:.4rem;margin-left:auto;font-size:.875rem;display:inline-flex}.app__sd-dot{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px}.app__content{flex:1;padding:1.5rem 0 3rem}.app__footer{color:var(--text-dim);justify-content:center;gap:.5rem;padding:1rem 0 1.5rem;font-size:.78rem;display:flex}.app__footer a{color:var(--text-dim)}.app__loading{flex-direction:column;gap:.35rem;width:100%;max-width:22rem;margin:.75rem auto 0;display:flex}.app__loading-text{color:var(--text-dim);text-align:center;font-size:.875rem}
