html{scrollbar-gutter:stable}html[data-theme=light]{--bg: #f5f7fa;--surface: #ffffff;--surface-2: #eef2f7;--text: #0b1f3a;--text-soft: #3d516b;--muted: #6b7c90;--border: #d9e2ec;--border-strong: #b7c5d6;--accent: #0b1f3a;--accent-hover: #163057;--accent-soft: #e8eef6;--exact: #1b7a45;--exact-bg: #e8f7ee;--fuzzy: #9a6700;--fuzzy-bg: #fff6e0;--miss: #b42318;--miss-bg: #fdeceb;--header-bg: #ffffff;--table-head: #0b1f3a;--table-head-text: #ffffff;--focus: #2f6fed}html[data-theme=dark]{--bg: #0b0d10;--surface: #15191f;--surface-2: #1c222b;--text: #eef2f7;--text-soft: #a7b3c4;--muted: #7d8a9a;--border: #2a323d;--border-strong: #3d4755;--accent: #3d7eff;--accent-hover: #5b91ff;--accent-soft: rgba(61, 126, 255, .12);--exact: #3ecf8e;--exact-bg: rgba(62, 207, 142, .12);--fuzzy: #e8b339;--fuzzy-bg: rgba(232, 179, 57, .12);--miss: #f07167;--miss-bg: rgba(240, 113, 103, .12);--header-bg: #0f1216;--table-head: #12161c;--table-head-text: #c5d0de;--focus: #3d7eff}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);font-family:IBM Plex Sans,system-ui,sans-serif;background:var(--bg);-webkit-font-smoothing:antialiased}button,input,label{font:inherit}table{border-collapse:collapse}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{min-height:100vh;position:relative;background:var(--bg);transition:background .35s ease}.app-landing,.app-results{background:#0b1f3a;isolation:isolate}html[data-theme=light] .app-results{background:#0b1f3a}.app-results>.bar{position:absolute;top:0;left:0;right:0;z-index:2;background:linear-gradient(180deg,color-mix(in srgb,#0b1f3a 55%,transparent) 0%,transparent 100%);border-bottom:none!important;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.app-results .bar-brand-title,.app-results .bar-user{color:#fff}.app-results .theme-btn{color:#fff;background:color-mix(in srgb,#fff 10%,transparent);border-color:color-mix(in srgb,#fff 22%,transparent)}.app-results .btn-ghost.bar-link{color:#fff;border-color:color-mix(in srgb,#fff 22%,transparent)}.app-landing .btn-ghost.bar-link:hover:not(:disabled),.app-results .btn-ghost.bar-link:hover:not(:disabled){color:#0b1f3a}.app-results>.stage.stage-results{width:100%;max-width:none;margin:0;padding:5.25rem 0 2.5rem}.results-page{position:relative;width:min(1280px,calc(100% - 2rem));margin:0 auto}.results-page>.landing-hero-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.results-page>.results{position:relative;z-index:1}.app-results .drop{background:color-mix(in srgb,#fff 9%,transparent);border-color:color-mix(in srgb,#fff 24%,transparent);padding:1rem 1.25rem;min-height:auto}.app-results .drop:hover,.app-results .drop.is-dragging{border-color:color-mix(in srgb,#fff 45%,transparent);background:color-mix(in srgb,#fff 14%,transparent)}.app-results .drop-kicker,.app-results .drop h3{color:color-mix(in srgb,#fff 72%,transparent)}.app-results .metric{background:color-mix(in srgb,#fff 10%,transparent);border-color:color-mix(in srgb,#fff 20%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.app-results .metric span{color:color-mix(in srgb,#fff 65%,transparent)}.app-results .metric strong{color:#fff}.app-results .metric-button.is-active{box-shadow:0 0 0 2px color-mix(in srgb,#fff 28%,transparent);border-color:color-mix(in srgb,#fff 42%,transparent)}.app-results .metric[data-tone=exact]{background:color-mix(in srgb,var(--exact) 24%,transparent);border-color:color-mix(in srgb,var(--exact) 42%,transparent)}.app-results .metric[data-tone=fuzzy]{background:color-mix(in srgb,var(--fuzzy) 22%,transparent);border-color:color-mix(in srgb,var(--fuzzy) 40%,transparent)}.app-results .metric[data-tone=miss]{background:color-mix(in srgb,var(--miss) 22%,transparent);border-color:color-mix(in srgb,var(--miss) 40%,transparent)}.app-results .metric[data-tone=exact] strong{color:#7ddeb0}.app-results .metric[data-tone=fuzzy] strong{color:#f5d27a}.app-results .metric[data-tone=miss] strong{color:#ff9b94}.app-results .toolbar h3{color:#fff}.app-results .toolbar p,.app-results .mapping,.app-results .warns{color:color-mix(in srgb,#fff 72%,transparent)}.app-results .mapping b{color:#fff}.app-results .mapping i{color:color-mix(in srgb,#fff 55%,transparent)}.app-results .seg{background:color-mix(in srgb,#fff 10%,transparent);border-color:color-mix(in srgb,#fff 22%,transparent)}.app-results .seg button{color:color-mix(in srgb,#fff 80%,transparent);border-right-color:color-mix(in srgb,#fff 18%,transparent)}.app-results .seg button.is-on{background:#fff;color:#0b1f3a}.app-results .btn-ghost:not(.bar-link){color:#fff;border-color:color-mix(in srgb,#fff 28%,transparent);background:color-mix(in srgb,#fff 8%,transparent)}.app-results .btn-ghost:not(.bar-link):hover:not(:disabled){background:color-mix(in srgb,#fff 16%,transparent)}.app-results .btn-ghost.is-on{background:color-mix(in srgb,#fff 18%,transparent);border-color:color-mix(in srgb,#fff 40%,transparent);color:#fff}.app-results .btn-primary{background:#fff;color:#0b1f3a}.app-results .btn-primary:hover:not(:disabled){background:color-mix(in srgb,#fff 88%,#0b1f3a)}.app-results .sheet{--surface: #ffffff;--surface-2: #f5f7fa;--text: #0b1f3a;--text-soft: #3d516b;--muted: #6b7c90;--border: #d9e2ec;--border-strong: #b7c5d6;--accent: #0b1f3a;--accent-soft: #e8eef6;--table-head: #0b1f3a;--table-head-text: #ffffff;border:1px solid color-mix(in srgb,#fff 28%,transparent);background:color-mix(in srgb,#fff 97%,transparent);box-shadow:0 20px 50px color-mix(in srgb,#0b1f3a 35%,transparent)}.app-landing>.bar{position:absolute;top:0;left:0;right:0;z-index:2;background:linear-gradient(180deg,color-mix(in srgb,#0b1f3a 55%,transparent) 0%,transparent 100%);border-bottom:none!important;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.app-landing .bar-brand-title,.app-landing .bar-user{color:#fff}.app-landing .theme-btn{color:#fff;background:color-mix(in srgb,#fff 10%,transparent);border-color:color-mix(in srgb,#fff 22%,transparent)}.app-landing .btn-ghost.bar-link{color:#fff;border-color:color-mix(in srgb,#fff 22%,transparent)}.app-landing>.bar{position:absolute;top:0;left:0;right:0;z-index:2}.app-landing>.stage,.app-results>.stage{position:relative;z-index:1}.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--header-bg) 92%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);position:sticky;top:0;z-index:40;box-shadow:0 1px color-mix(in srgb,var(--border) 80%,transparent)}.bar-left{display:flex;align-items:center;gap:1rem}.bar-brand h1,.bar-brand-title{margin:0;font-size:1.2rem;font-weight:650;letter-spacing:-.01em;color:var(--text)}.bar-right{display:flex;align-items:center;gap:.55rem;margin-left:auto}.theme-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:2.5rem;height:2.5rem;padding:0 .65rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-strong));border-radius:999px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent-soft) 90%,var(--surface)),var(--surface));color:var(--text);cursor:pointer;font:inherit;font-size:.8rem;font-weight:650;letter-spacing:.02em;box-shadow:0 1px 2px #00000014,inset 0 1px color-mix(in srgb,#fff 12%,transparent);transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.theme-btn-labeled{padding:0 .9rem 0 .7rem}.theme-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 1px color-mix(in srgb,#fff 12%,transparent)}.theme-btn:active{transform:translateY(0)}.theme-btn-text{line-height:1}.theme-btn svg{width:1.15rem;height:1.15rem;flex-shrink:0}.stage{width:min(1140px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem;display:grid;gap:1rem}.app-landing>.stage.stage-landing{width:100%;max-width:none;margin:0;padding:0;min-height:100vh}.landing{position:relative;display:grid;min-height:100vh;width:100%;margin:0;overflow:hidden}.landing-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-color:#0b1f3a;background-image:url(/landing-left.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:scroll;transform-origin:50% 40%;animation:hero-drift 44s ease-out both;will-change:transform}@keyframes hero-drift{0%{transform:scale(1.03)}to{transform:scale(1.12)}}.landing-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,color-mix(in srgb,#0b1f3a 72%,transparent),color-mix(in srgb,#0b1f3a 42%,transparent) 48%,color-mix(in srgb,#0b1f3a 30%,transparent)),linear-gradient(180deg,color-mix(in srgb,#0b1f3a 40%,transparent) 0%,transparent 28%,color-mix(in srgb,#0b1f3a 48%,transparent) 100%);transform:none;animation:none;transition:none}@keyframes blur-rise{0%{opacity:0;transform:translateY(20px);filter:blur(14px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.landing-brand,.landing-title,.landing-sub,.upload-embed h3,.upload-embed p,.upload-embed-actions,.landing-gallery{animation:blur-rise .95s cubic-bezier(.22,1,.36,1) both}.landing-brand{animation-delay:.1s}.landing-title{animation-delay:.26s}.landing-sub{animation-delay:.4s}.upload-embed h3{animation-delay:.34s}.upload-embed p{animation-delay:.48s}.upload-embed-actions{animation-delay:.62s}.landing-gallery{animation-delay:.55s;animation-duration:1.1s}.landing-overlay{position:relative;z-index:1;width:min(1120px,calc(100% - 2.5rem));margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,5rem);align-items:start;min-height:100vh;padding:5.25rem 0 1.75rem}.landing-left{display:grid;grid-template-rows:auto 1fr;gap:1.5rem;min-height:calc(100vh - 8.25rem);align-content:start;margin-top:-8vh}.landing-copy{position:relative;z-index:1;display:grid;gap:.65rem;align-content:start;color:#eef2f7;max-width:32rem;padding-top:.35rem}.landing-brand{margin:0;font-size:clamp(3rem,7vw,4.5rem);font-weight:700;letter-spacing:-.045em;line-height:.95;color:#fff;text-shadow:0 2px 28px color-mix(in srgb,#0b1f3a 45%,transparent)}.landing-title{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:-.015em;line-height:1.35;color:color-mix(in srgb,#fff 92%,transparent)}.landing-sub{margin:0;max-width:26rem;color:color-mix(in srgb,#fff 76%,transparent);font-size:1rem;line-height:1.55}.landing-gallery{position:relative;align-self:end;width:100%;max-width:36rem;margin-top:auto;display:grid;gap:.75rem;isolation:isolate;contain:layout paint;z-index:0}.landing-gallery-viewport{position:relative;overflow:visible;width:100%;height:16.5rem;background:transparent;isolation:isolate}.landing-gallery-item{margin:0;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:0;pointer-events:none;z-index:0;transition:opacity 1.1s cubic-bezier(.33,1,.68,1);backface-visibility:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}.landing-gallery-item.is-active{opacity:1;z-index:1;pointer-events:auto}.landing-gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;opacity:.96;filter:saturate(.92) contrast(1.04);transform:scale(1.02);will-change:transform}.landing-gallery-item.is-active img{animation:ken-burns 6s ease-out both}@keyframes ken-burns{0%{transform:scale(1.02) translateZ(0)}to{transform:scale(1.14) translate3d(-1.5%,-1.5%,0)}}.landing-gallery-nav{position:absolute;top:50%;z-index:2;margin-top:-1.05rem;width:2.1rem;height:2.1rem;border:1px solid color-mix(in srgb,#fff 28%,transparent);border-radius:50%;background:color-mix(in srgb,#0b1f3a 55%,transparent);color:#fff;font-size:1.35rem;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0;transition:background .15s ease,border-color .15s ease}.landing-gallery-nav:hover{background:color-mix(in srgb,#0b1f3a 78%,transparent);border-color:color-mix(in srgb,#fff 48%,transparent)}.landing-gallery-prev{left:.65rem}.landing-gallery-next{right:.65rem}.landing-gallery-dots{display:flex;align-items:center;justify-content:center;gap:.45rem}.landing-gallery-dot{width:.45rem;height:.45rem;padding:0;border:none;border-radius:50%;background:color-mix(in srgb,#fff 35%,transparent);cursor:pointer;transition:background .2s ease,width .25s ease}.landing-gallery-dot.is-active{width:1.15rem;border-radius:999px;background:#fff}.landing-gallery-dot:hover{background:color-mix(in srgb,#fff 70%,transparent)}.landing-drop-wrap{width:100%;display:grid;align-content:center;justify-items:start;align-self:center;margin-top:-10vh;isolation:isolate;contain:layout;position:relative;z-index:2;transform:none;animation:none}.upload-embed{display:grid;gap:1.05rem;width:100%;max-width:22rem;margin:0;padding:1.35rem 0 1.6rem;border:0;background:transparent;color:#fff;cursor:default;transform:none;animation:none;filter:none;transition:none;will-change:auto;backface-visibility:hidden}.upload-embed-kicker{margin:0;color:color-mix(in srgb,#fff 62%,transparent);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.upload-embed h3{margin:0;color:#fff;font-size:2.45rem;font-weight:650;letter-spacing:-.03em;line-height:1.08;text-shadow:none}.upload-embed p{margin:0;color:#dce6f2;max-width:22rem;font-size:1.12rem;line-height:1.5}.upload-embed-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:.75rem}.upload-embed-btn{background:#fff!important;color:#0b1f3a!important;border:none!important;box-shadow:0 8px 24px color-mix(in srgb,#0b1f3a 28%,transparent);transform:none!important;padding:.85rem 1.15rem!important;font-size:.95rem!important}.upload-embed-btn:hover:not(:disabled){background:color-mix(in srgb,#fff 90%,#0b1f3a)!important;transform:none!important}.upload-embed-progress{margin-top:.75rem;height:2px;background:color-mix(in srgb,#fff 18%,transparent);overflow:hidden}.upload-embed-progress>i{display:block;height:100%;width:35%;background:#fff;animation:sweep 1s linear infinite}.results-plain{animation:results-in .4s ease}@keyframes results-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.landing-gallery-item{transition:none}.results-plain{animation:none}}@media (max-width: 860px){.landing-overlay{grid-template-columns:1fr;gap:1.75rem;align-content:start;padding:5.25rem 0 2rem}.landing-left{min-height:auto;gap:1.25rem}.landing-copy,.landing-drop-wrap{max-width:none;align-content:start}.landing-gallery{width:100%;order:3}.landing-hero-shade{background:linear-gradient(180deg,color-mix(in srgb,#0b1f3a 45%,transparent),color-mix(in srgb,#0b1f3a 35%,transparent) 40%,color-mix(in srgb,#0b1f3a 72%,transparent))}}.drop{display:block;cursor:pointer;border:1.5px dashed var(--border-strong);border-radius:10px;background:var(--surface);padding:1.75rem;text-align:left;transition:border-color .15s ease,background .15s ease}.drop:hover,.drop.is-dragging{border-color:var(--accent);border-style:solid;background:var(--accent-soft)}.drop.is-busy{pointer-events:none;opacity:.85}.drop-inner{display:grid;gap:.4rem}.drop-kicker{margin:0;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.drop h3{margin:0;font-size:1.1rem;font-weight:650}.drop p{margin:0;color:var(--text-soft);font-size:.9rem;line-height:1.5;max-width:28rem}.drop-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.progress{margin-top:1rem;height:2px;background:var(--border);overflow:hidden;opacity:0;border-radius:2px}.drop.is-busy .progress{opacity:1}.progress>i{display:block;height:100%;width:35%;background:var(--accent);animation:sweep 1s linear infinite}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:.55rem .95rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-ghost.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.alert{border:1px solid color-mix(in srgb,var(--miss) 40%,var(--border));background:var(--miss-bg);color:var(--miss);border-radius:8px;padding:.75rem .9rem;font-size:.9rem}.results{display:grid;gap:1rem}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}@media (min-width: 860px){.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}}.metric{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:.85rem .95rem}.metric-button{width:100%;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.metric-button:hover{transform:translateY(-1px)}.metric-button.is-active{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.metric[data-tone=exact]{background:var(--exact-bg);border-color:color-mix(in srgb,var(--exact) 28%,var(--border))}.metric[data-tone=fuzzy]{background:var(--fuzzy-bg);border-color:color-mix(in srgb,var(--fuzzy) 28%,var(--border))}.metric[data-tone=miss]{background:var(--miss-bg);border-color:color-mix(in srgb,var(--miss) 28%,var(--border))}.metric span{display:block;color:var(--muted);font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.metric strong{display:block;margin-top:.3rem;font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.metric[data-tone=exact] strong{color:var(--exact)}.metric[data-tone=fuzzy] strong{color:var(--fuzzy)}.metric[data-tone=miss] strong{color:var(--miss)}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem;padding:.2rem 0}.toolbar h3{margin:0;font-size:1.05rem;font-weight:650}.toolbar p{margin:.25rem 0 0;color:var(--muted);font-size:.82rem}.toolbar-right{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.seg{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.seg button{border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-soft);padding:.42rem .7rem;font-size:.78rem;font-weight:600;text-transform:capitalize;cursor:pointer}.seg button:last-child{border-right:none}.seg button.is-on{background:var(--accent);color:#fff}.mapping{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-size:.8rem;color:var(--text-soft)}.mapping b{color:var(--text);font-weight:650}.mapping i{font-style:normal;font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--muted)}.warns{margin:0;padding-left:1.1rem;color:var(--fuzzy);font-size:.82rem}.sheet{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden}.brand-tabs{display:flex;gap:.35rem;overflow-x:auto;padding:.65rem .75rem;border-bottom:1px solid var(--border);background:var(--surface-2)}.brand-tabs button{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-soft);padding:.4rem .7rem;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.brand-tabs button:hover{background:var(--surface);color:var(--text)}.brand-tabs button.is-on{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.brand-tabs-count{min-width:1.25rem;padding:.05rem .35rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:650;text-align:center}.sheet-scroll{overflow:auto;max-height:min(78vh,980px);min-height:min(70vh,900px)}.sheet table{width:100%;min-width:1120px;font-size:.875rem}.sheet thead th{position:sticky;top:0;z-index:1;text-align:left;padding:.7rem .75rem;background:var(--table-head);color:var(--table-head-text);font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border)}.sheet th.num,.sheet td.num{text-align:right}.sheet tbody tr{border-bottom:1px solid var(--border)}.sheet tbody tr:hover{background:var(--accent-soft)}.sheet td{vertical-align:top;padding:.7rem .75rem;color:var(--text-soft)}.serial{font-family:IBM Plex Mono,monospace;font-weight:600;color:var(--accent);white-space:nowrap}.title{color:var(--text);font-weight:600;line-height:1.35}.meta{margin-top:.2rem;color:var(--muted);font-size:.72rem}.money{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text);font-weight:650}.tag{display:inline-block;padding:.15rem .4rem;border-radius:4px;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.tag.exact{color:var(--exact);background:var(--exact-bg)}.tag.fuzzy{color:var(--fuzzy);background:var(--fuzzy-bg)}.tag.unmatched{color:var(--miss);background:var(--miss-bg)}.empty{text-align:center;color:var(--muted);padding:2.5rem 1rem!important}@keyframes sweep{0%{transform:translate(-120%)}to{transform:translate(320%)}}.rb-blur-text{margin:0}.rb-blur-seg{display:inline-block;opacity:0;filter:blur(10px);transition:opacity .45s cubic-bezier(.22,1,.36,1),filter .45s cubic-bezier(.22,1,.36,1)}.rb-blur-seg.is-in,.rb-blur-seg.is-static{opacity:1;filter:blur(0)}.rb-fade{opacity:0;filter:blur(8px);transition:opacity .55s cubic-bezier(.22,1,.36,1),filter .55s cubic-bezier(.22,1,.36,1)}.rb-fade.is-in,.rb-fade.is-static{opacity:1;filter:blur(0)}.click-spark{position:relative;width:100%}.click-spark-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 640px){.bar{padding:.85rem 1rem}}.auth-loading{min-height:40vh;display:grid;place-items:center;color:var(--muted);font-size:.95rem}.bar-user{font-size:.85rem;color:var(--text-soft);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-link{text-decoration:none;padding:.4rem .75rem;font-size:.85rem}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--bg)}.login-brand-panel{position:relative;display:grid;align-content:end;gap:.85rem;padding:0;overflow:hidden;background:#0b1f3a;color:#fff;min-height:100vh}.login-brand-media{position:absolute;top:0;right:0;bottom:0;left:0}.login-brand-media img{width:100%;height:100%;object-fit:cover;display:block;transform:none;animation:none}.login-brand-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,color-mix(in srgb,#0b1f3a 25%,transparent),color-mix(in srgb,#0b1f3a 70%,transparent) 48%,color-mix(in srgb,#0b1f3a 92%,transparent))}.login-brand-content{position:relative;z-index:1;display:grid;gap:.85rem;padding:clamp(2rem,6vw,4.5rem)}html[data-theme=dark] .login-brand-panel{border-right:1px solid var(--border)}.login-steps{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.35rem}.login-steps li{display:inline-flex;align-items:baseline;gap:.55rem;width:fit-content;color:color-mix(in srgb,#fff 88%,transparent);font-size:.9rem;font-weight:500}.login-steps li span{color:color-mix(in srgb,#fff 55%,transparent);font-size:.78rem;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.04em}.login-kicker{margin:0;font-size:.75rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;opacity:.75}.login-brand-panel h1{margin:0;font-size:clamp(2.6rem,5vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1}.login-lead{margin:0;max-width:22rem;font-size:1.05rem;line-height:1.55;opacity:.88}.login-card{display:grid;align-content:center;width:100%;max-width:420px;margin:0 auto;padding:clamp(2rem,5vw,3rem) 1.5rem;background:transparent;border:none;border-radius:0;box-shadow:none}.login-brand h2{margin:0;font-size:1.55rem;letter-spacing:-.02em}@media (max-width: 860px){.login-page{grid-template-columns:1fr}.login-brand-panel{padding:2rem 1.5rem 1.5rem;min-height:auto}.login-brand-panel h1{font-size:2.2rem}.login-lead{max-width:none}}.login-brand h1{margin:0;font-size:1.75rem;letter-spacing:-.02em}.login-brand p{margin:.4rem 0 1.5rem;color:var(--muted);font-size:.95rem}.login-form{display:grid;gap:1rem}.login-form label,.admin-form label{display:grid;gap:.35rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.login-form input,.login-form select,.admin-form input,.admin-form select{font:inherit;text-transform:none;letter-spacing:normal;font-weight:400;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.login-label-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.linkish{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:.85rem;padding:0;text-decoration:none}.linkish:hover{text-decoration:underline}.login-err,.login-warn{margin:0 0 .5rem;padding:.75rem .9rem;border-radius:8px;font-size:.9rem}.login-err{border:1px solid color-mix(in srgb,var(--miss) 40%,transparent);background:var(--miss-bg);color:var(--miss)}.login-warn{border:1px solid color-mix(in srgb,var(--fuzzy) 40%,transparent);background:var(--fuzzy-bg);color:var(--fuzzy)}.login-ok{margin:0 0 .75rem;padding:.75rem .9rem;border-radius:8px;font-size:.9rem;border:1px solid color-mix(in srgb,var(--exact) 40%,transparent);background:var(--exact-bg);color:var(--exact)}.login-form .btn{width:100%;justify-content:center}.admin-form>.btn{width:100%;justify-content:center}.admin-page{min-height:100vh;background:radial-gradient(ellipse 90% 45% at 10% -5%,rgba(61,126,255,.14),transparent 55%),radial-gradient(ellipse 70% 40% at 95% 0%,rgba(62,207,142,.08),transparent 50%),linear-gradient(180deg,color-mix(in srgb,var(--surface) 55%,var(--bg)) 0%,var(--bg) 28%)}.admin-hero{position:sticky;top:0;z-index:30;border-bottom:none;background:color-mix(in srgb,var(--header-bg) 90%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}.admin-hero-inner{max-width:1120px;margin:0 auto;padding:1.15rem 1.5rem 1.35rem}.admin-hero-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.admin-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text-soft);text-decoration:none}.admin-back:hover{color:var(--accent)}.admin-hero-title{margin:0;font-size:clamp(1.85rem,3vw,2.35rem);font-weight:700;letter-spacing:-.03em;line-height:1.15}.admin-hero-sub{margin:.55rem 0 0;max-width:36rem;color:var(--muted);font-size:.98rem;line-height:1.45}.admin-hero-sub strong{color:var(--text-soft);font-weight:600}.admin-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1.35rem}.admin-stat{padding:.85rem 1rem;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 82%,transparent);display:grid;gap:.2rem}.admin-stat-value{font-family:IBM Plex Mono,monospace;font-size:1.35rem;font-weight:600;letter-spacing:-.02em;color:var(--text)}.admin-stat-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.admin-body{max-width:1120px;margin:0 auto;padding:1.35rem 1.5rem 3.5rem;display:grid;gap:1.15rem}.admin-banner{padding:.85rem 1rem;border-radius:10px;font-size:.92rem}.admin-banner-error{border:1px solid color-mix(in srgb,var(--miss) 40%,transparent);background:var(--miss-bg);color:var(--miss)}.admin-banner-ok{border:1px solid color-mix(in srgb,var(--exact) 35%,transparent);background:var(--exact-bg);color:var(--exact)}.admin-panel{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:1.25rem 1.35rem 1.35rem;box-shadow:0 10px 28px #0000000f}.admin-panel-head{margin-bottom:1rem}.admin-panel-head h2{margin:0;font-size:1.08rem;font-weight:650;letter-spacing:-.015em}.admin-panel-head p{margin:.3rem 0 0;color:var(--muted);font-size:.88rem}.admin-panel-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem}.admin-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}.admin-grid-2>.rb-fade{display:flex;min-width:0}.admin-grid-2 .admin-panel{flex:1;width:100%}.admin-form{display:grid;gap:.85rem}.admin-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-actions .btn{width:auto;flex:1 1 auto;min-width:5.5rem}.admin-divider{height:1px;background:var(--border);margin:1.15rem 0}.admin-empty,.admin-empty-cell{color:var(--muted);font-size:.92rem}.admin-empty-cell{text-align:center;padding:1.75rem 1rem!important}.admin-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}.admin-table{width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table th{color:var(--muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2)}.admin-table tbody tr{transition:background .15s ease}.admin-table tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.admin-table tbody tr.is-selected{background:var(--accent-soft)}.admin-table .nowrap{white-space:nowrap}.admin-user-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--accent);cursor:pointer;text-align:left}.admin-user-btn:hover{text-decoration:underline}.admin-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.01em;border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);white-space:nowrap}.admin-pill[data-tone=ok]{border-color:color-mix(in srgb,var(--exact) 35%,transparent);background:var(--exact-bg);color:var(--exact)}.admin-pill[data-tone=warn]{border-color:color-mix(in srgb,var(--fuzzy) 35%,transparent);background:var(--fuzzy-bg);color:var(--fuzzy)}.admin-pill[data-tone=miss]{border-color:color-mix(in srgb,var(--miss) 35%,transparent);background:var(--miss-bg);color:var(--miss)}.admin-pill[data-tone=neutral]{border-color:color-mix(in srgb,var(--accent) 25%,var(--border));background:var(--accent-soft);color:var(--accent)}.admin-pill-quiet{font-weight:500}.admin-group-list{display:flex;flex-wrap:wrap;gap:.35rem}.admin-time{font-family:IBM Plex Mono,monospace;font-size:.8rem;color:var(--text-soft)}.admin-detail{font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--muted);max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-pager{display:flex;align-items:center;gap:.55rem}.admin-pager-label{display:grid;gap:.1rem;font-size:.85rem;color:var(--text-soft);min-width:5.5rem;text-align:center;font-weight:600}.admin-pager-label em{font-style:normal;font-weight:500;font-size:.75rem;color:var(--muted)}.btn-danger{border:1px solid color-mix(in srgb,var(--miss) 50%,var(--border));background:var(--miss-bg);color:var(--miss);border-radius:8px;padding:.45rem .85rem;cursor:pointer}.btn-danger:hover:not(:disabled){filter:brightness(1.05)}@media (max-width: 860px){.admin-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-2{grid-template-columns:1fr}}@media (max-width: 560px){.admin-hero-inner,.admin-body{padding-left:1rem;padding-right:1rem}.admin-stat-row{grid-template-columns:1fr 1fr}.admin-panel-head-row{align-items:stretch}.admin-pager{width:100%;justify-content:space-between}}.toolbar h3[tabindex="-1"]:focus:not(:focus-visible){outline:none}@media (max-width: 700px){.sheet-scroll{max-height:none;min-height:0;overflow:visible}.sheet table{min-width:0;width:100%;display:block}.sheet thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sheet tbody{display:block}.sheet tbody tr{display:block;padding:.35rem .85rem .6rem;border-bottom:6px solid var(--surface-2)}.sheet tbody td:not(.empty){display:grid;grid-template-columns:8rem 1fr;gap:.75rem;align-items:start;padding:.4rem 0;border:none;text-align:left!important}.sheet tbody td:not(.empty):before{content:attr(data-label);color:var(--muted);font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;padding-top:.1rem}}
