:root{--bg0: #dfe8e4;--bg1: #c9d7d1;--ink: #102018;--muted: #4a5c54;--accent: #067a6f;--accent-2: #155e75;--line: rgba(16, 32, 24, .12);--panel: rgba(244, 250, 247, .82);--shadow: 0 8px 24px rgba(16, 32, 24, .08);--radius: 8px;--font-display: "Sora", system-ui, sans-serif;--font-body: "Sora", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1000px 520px at 0% 0%,rgba(6,122,111,.18),transparent 55%),radial-gradient(800px 420px at 100% 10%,rgba(21,94,117,.14),transparent 50%),linear-gradient(160deg,var(--bg0),var(--bg1));background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.4;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 28px,rgba(16,32,24,.04) 28px,rgba(16,32,24,.04) 29px)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.app-shell{width:min(1080px,calc(100% - 1.25rem));margin:0 auto;padding:.75rem 0 2rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.brand{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.04em}.brand span{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:.5rem}.user-chip{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem}.avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:600;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:6px;padding:.45rem .8rem;background:var(--accent);color:#f4fffc;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:none}.btn:hover{background:#05665d}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none}.btn.secondary:hover{background:#fff6}.btn.danger{background:transparent;color:#8f1f1f;border-color:#8f1f1f59;box-shadow:none}.btn.danger:hover{background:#8f1f1f14}.hero{display:grid;gap:.5rem;margin-bottom:1rem}.hero h1{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.05;letter-spacing:-.045em;max-width:14ch}.hero p{margin:0;max-width:38rem;color:var(--muted);font-size:.98rem;line-height:1.45}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.85rem}.panel+.panel{margin-top:.75rem}.panel h2{margin:0 0 .25rem;font-family:var(--font-display);font-size:1.1rem;letter-spacing:-.03em}.panel .sub{margin:0 0 .75rem;color:var(--muted);font-size:.88rem}.settings-stack{display:grid;gap:1rem}.settings-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-top:.25rem}.settings-row .sub{margin:.2rem 0 0}.settings-toggle{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.settings-toggle.disabled{opacity:.55;cursor:not-allowed}.settings-toggle input{margin-top:.2rem}.settings-toggle strong{display:block}.settings-toggle .sub{display:block;margin:.2rem 0 0}.notice{margin:0 0 .75rem;padding:.55rem .7rem;border-radius:var(--radius);background:#067a6f1f;color:var(--ink);font-size:.9rem}.error{margin:0 0 .75rem;padding:.55rem .7rem;border-radius:var(--radius);background:#b428281f;color:#7a1f1f;font-size:.9rem}.upload-zone{border:1.5px dashed rgba(6,122,111,.45);border-radius:6px;padding:1rem;background:#067a6f0d;display:grid;gap:.65rem;justify-items:start}.upload-zone.dragging{border-color:var(--accent);background:#067a6f1f}.progress{width:100%;height:8px;border-radius:4px;background:#10201814;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));width:0%}.progress-process>span{background:linear-gradient(90deg,var(--accent-2),var(--accent))}.media-process{margin-top:.4rem;max-width:28rem}.process-label{margin:.25rem 0 0;font-size:.8rem}.media-list{display:grid;gap:.45rem;margin-top:.65rem}.media-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;padding:.55rem .65rem;border-radius:6px;border:1px solid var(--line);background:#fff6}.media-row-main{display:grid;grid-template-columns:64px 1fr;gap:.6rem;align-items:center;min-width:0}.media-thumb{width:64px;height:42px;border-radius:4px;object-fit:cover;background:#0b1511}.media-thumb.placeholder{border:1px solid var(--line);background:#10201814}.media-desc{margin:.15rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.media-row h3{margin:0;font-size:.95rem;font-weight:600}.upload-editor{display:grid;gap:.85rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.upload-preview{display:grid;gap:.5rem}.upload-preview video{width:100%;border-radius:6px;background:#0b1511;max-height:280px}.thumb-preview{width:100%;max-height:140px;object-fit:cover;border-radius:4px;border:1px solid var(--line)}.upload-fields{display:grid;gap:.6rem}.field{display:grid;gap:.25rem}.field span{color:var(--muted);font-size:.8rem;font-weight:600}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:.45rem .6rem;background:#ffffff8c;color:var(--ink);resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid rgba(6,122,111,.35);outline-offset:1px}.meta{margin-top:.15rem;color:var(--muted);font-size:.8rem}.badge{display:inline-flex;align-items:center;padding:.1rem .4rem;border-radius:3px;font-size:.72rem;font-weight:600;background:#10201814}.badge.ready{background:#067a6f24;color:var(--accent)}.badge.processing,.badge.uploading{background:#155e7524;color:var(--accent-2)}.badge.failed{background:#a01e1e1f;color:#8f1f1f}.row-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:end}.muted{color:var(--muted)}.error{color:#8f1f1f;font-size:.88rem}.gate{min-height:70vh;display:grid;place-items:center;text-align:center;gap:.75rem}.gate h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.05em}.gate p{margin:0;color:var(--muted);max-width:28rem}.watch-panel video{width:100%;border-radius:6px;background:#0b1511;margin-top:.65rem}.check-manual{margin-top:.75rem;display:grid;gap:.35rem}.check-manual label{color:var(--muted);font-size:.85rem}.check-manual-row{display:flex;gap:.4rem;flex-wrap:wrap}.bitstring-input{flex:1;min-width:12rem;border:1px solid var(--line);border-radius:6px;padding:.45rem .6rem;background:#ffffff8c;color:var(--ink)}.bitstring-input:focus{outline:2px solid rgba(6,122,111,.35);outline-offset:1px}.check-result{margin-top:.75rem;display:grid;gap:.5rem}.check-channel{display:grid;gap:.4rem;padding-top:.45rem;border-top:1px solid var(--line)}.check-channel:first-of-type{border-top:0;padding-top:0}.check-channel-title{margin:0;font-size:.88rem;font-weight:650}.media-block{display:grid;gap:.45rem}.media-check{padding:.75rem;border-radius:6px;border:1px solid var(--line);background:#067a6f0f;display:grid;gap:.6rem}.media-check-head{display:flex;align-items:start;justify-content:space-between;gap:.5rem}.media-check-head h3{margin:0 0 .15rem;font-size:.95rem}.media-check-head .sub{margin:0}.bitstring-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;word-break:break-all}.match-list{display:grid;gap:.6rem}.bitstring-compare{display:grid;gap:.25rem;padding-top:.1rem}.bitstring-row{display:grid;grid-template-columns:5.5rem 1fr;gap:.4rem;align-items:start}.bitstring-label{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding-top:.1rem}.bitstring-bits{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.3;word-break:break-all}.bit-match{color:#1a7f4b}.bit-mismatch{color:#c0392b;font-weight:700}.match-card{display:grid;gap:0;padding:0;border-radius:6px;border:1px solid var(--line);background:#ffffff73;overflow:hidden}.match-card-toggle{display:block;width:100%;margin:0;padding:.65rem .75rem;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.match-card-toggle:hover{background:#00000008}.match-card-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.match-card-pct{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0;font-weight:700;font-variant-numeric:tabular-nums;font-size:1rem}.match-card-chevron{color:var(--muted);font-size:.85rem;font-weight:500}.match-card-body{display:grid;gap:.65rem;padding:.7rem .75rem .75rem;border-top:1px solid var(--line)}.probe-signal-graph{width:100%;overflow-x:auto;border-radius:4px;border:1px solid var(--line);background:#f7f6f2}.probe-signal-graph svg{display:block;width:100%;min-width:520px;height:auto}.match-meta{margin:0;display:grid;gap:.4rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.match-meta div{display:grid;gap:.1rem}.match-meta dt{margin:0;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.match-meta dd{margin:0;font-size:.9rem;font-weight:600}.match-meta a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.media-row-link{color:inherit}.media-row-link:hover h3{color:var(--accent)}.detail-page{display:grid;gap:.75rem}.detail-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.back-link{color:var(--muted);font-weight:600;font-size:.88rem}.back-link:hover{color:var(--accent)}.detail-title{margin:0;font-family:var(--font-display);font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.04em;line-height:1.15}.detail-head{margin-bottom:.65rem}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0 0 .85rem}.stat{padding:.55rem .7rem;border-radius:6px;border:1px solid var(--line);background:#ffffff73}.stat dt{margin:0;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.stat dd{margin:.15rem 0 0;font-size:1.15rem;font-weight:700;letter-spacing:-.03em}.detail-editor{margin-top:.15rem}.detail-thumb{max-height:200px;min-height:100px;background:#0b1511}.detail-thumb.placeholder{border:1px solid var(--line);background:#10201814}.access-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.access-row{display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:center;padding:.5rem .6rem;border-radius:6px;border:1px solid var(--line);background:#fff6}.access-avatar{width:36px;height:36px}.access-name{display:flex;align-items:center;gap:.35rem}.access-flag{font-size:1.05rem;line-height:1}.views-chart{margin-top:.25rem}.views-chart svg{width:100%;height:auto;display:block;border-radius:6px;background:#ffffff59;border:1px solid var(--line)}.views-chart-labels{display:flex;justify-content:space-between;margin-top:.3rem;color:var(--muted);font-size:.75rem}.views-chart-legend{margin-top:.15rem;font-size:.8rem}.app-shell-wide{width:min(1280px,calc(100% - 1.25rem))}.signup-panel{max-width:520px}.signup-form{display:grid;gap:.65rem;margin-top:.75rem}.app-shell-admin{width:min(1400px,calc(100% - .75rem));padding:.4rem 0 1rem}.app-shell-admin,.app-shell-admin body{color:#d4d8d6}body:has(.app-shell-admin){color:#d4d8d6;background:#121412;background-attachment:fixed}body:has(.app-shell-admin):before{opacity:.2;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 28px,rgba(255,255,255,.03) 28px,rgba(255,255,255,.03) 29px)}.app-shell-admin .topbar{margin-bottom:.5rem}.app-shell-admin .brand{color:#e8ecea;font-size:1.05rem}.app-shell-admin .user-chip{color:#8a948e}.app-shell-admin .btn{border-radius:0;padding:.3rem .55rem;font-size:.8rem}.app-shell-admin .btn.secondary{color:#c8ceca;border-color:#2a302c}.app-shell-admin .btn.secondary:hover{background:#1c211e}.app-shell-admin .btn.danger{color:#e07070;border-color:#5a2a2a;padding:.2rem .4rem;font-size:.75rem}.app-shell-admin .btn.danger:hover{background:#e070701f}.app-shell-admin .btn:not(.secondary):not(.danger){background:#2a6b5f}.app-shell-admin .btn:not(.secondary):not(.danger):hover{background:#235a50}.admin-page{display:grid;gap:.5rem;color:#d4d8d6}.admin-page .detail-nav{margin:0}.admin-page .back-link{color:#8a948e;font-size:.8rem;font-weight:500}.admin-page .back-link:hover{color:#b8c4bc}.admin-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;border-bottom:1px solid #2a302c;padding-bottom:.35rem}.admin-tabs{display:flex;flex-wrap:wrap;gap:0;margin:0}.admin-tab{border:1px solid #2a302c;border-right-width:0;background:transparent;color:#8a948e;border-radius:0;padding:.3rem .65rem;cursor:pointer;font-size:.8rem}.admin-tab:last-child{border-right-width:1px}.admin-tab.active{background:#1c211e;border-color:#3a433e;color:#e8ecea}.admin-tab:hover:not(.active){color:#c8ceca;background:#161a17}.admin-section{display:grid;gap:.4rem}.invite-create{display:grid;grid-template-columns:1.4fr 1fr 4.5rem auto;gap:.35rem;align-items:stretch;margin:0}.invite-create .field{gap:0}.invite-create input{border-radius:0;border-color:#2a302c;background:#0e100f;color:#d4d8d6;padding:.35rem .5rem;font-size:.85rem}.invite-create input:focus{outline:1px solid #3a6b5f;outline-offset:0}.admin-filters{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-filters select{border:1px solid #2a302c;border-radius:0;padding:.3rem .45rem;background:#0e100f;color:#d4d8d6;font-size:.8rem}.field.inline{display:inline-flex;align-items:center;gap:.35rem}.field.inline select{border:1px solid var(--line);border-radius:6px;padding:.3rem .45rem;background:#ffffffb3}.admin-page .meta{color:#6e7872;font-size:.72rem}.admin-page .muted{color:#6e7872;font-size:.8rem}.admin-page .error{color:#e07070;font-size:.8rem;margin:0}.admin-page .badge{border-radius:0;font-size:.68rem;padding:.05rem .3rem}.admin-page .badge.ready{background:#2a6b5f59;color:#7dceb8}.admin-page .badge.processing,.admin-page .badge.uploading{background:#28506466;color:#8ab4c8}.admin-page .badge.failed,.admin-page .badge.deleted{background:#78282859;color:#e09090}.data-table-wrap{display:grid;gap:.4rem}.data-table-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:space-between}.data-table-filter{display:flex;gap:.3rem;flex:1;min-width:min(100%,220px)}.data-table-filter input{flex:1;border:1px solid var(--line);border-radius:6px;padding:.4rem .55rem;background:#ffffffb3}.admin-page .data-table-filter input{border-radius:0;border-color:#2a302c;background:#0e100f;color:#d4d8d6;padding:.3rem .45rem;font-size:.8rem}.admin-page .data-table-filter input:focus{outline:1px solid #3a6b5f;outline-offset:0}.data-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:#fff6}.admin-page .data-table-scroll{border-radius:0;border-color:#2a302c;background:#0e100f}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-page .data-table{font-size:.78rem}.data-table th,.data-table td{padding:.45rem .55rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.admin-page .data-table th,.admin-page .data-table td{padding:.28rem .4rem;border-bottom-color:#1e2420}.data-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.admin-page .data-table th{font-size:.65rem;color:#6e7872;letter-spacing:.03em;background:#161a17}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:#067a6f14}.admin-page .data-table tbody tr.clickable:hover{background:#161a17}.data-table tbody tr:last-child td{border-bottom:none}.sort-btn{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.sort-btn.active{color:var(--accent);font-weight:700}.admin-page .sort-btn.active{color:#7dceb8}.data-table-pager{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:space-between}.table-thumb{width:48px;height:30px;object-fit:cover;border-radius:3px;display:block;background:#0b1511}.admin-page .table-thumb{border-radius:0;width:40px;height:26px}.table-thumb.placeholder{border:1px solid var(--line);background:#10201814}.admin-page .table-thumb.placeholder{border-color:#2a302c;background:#1a1f1c}.col-thumb{width:48px}.cell-ellipsis{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accessors-table .user-chip{align-items:flex-start}.accessors-table .col-ip,.match-ip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;white-space:nowrap;min-width:18ch}.accessors-table .col-client{width:3.25rem;white-space:nowrap}.accessors-table .col-referer,.accessors-table .referer-cell{max-width:12rem}.client-hints{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);cursor:default}.client-hint-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;line-height:0}.client-hint-icon svg{display:block}.match-meta .client-hints{color:inherit}.match-meta .referer-cell{display:block;max-width:16rem;font-weight:600}.badge.deleted{background:#78282826;color:#7a2828}.linkish{border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;padding:0}.admin-page .linkish{color:#7dceb8;font-size:.78rem}.admin-uploader-hint{font-size:.75rem;color:#8a948e}.admin-uploader-hint code{color:#c8ceca}@media(max-width:900px){.invite-create{grid-template-columns:1fr}}@media(max-width:720px){.media-row{grid-template-columns:1fr}.row-actions{justify-content:start}.upload-editor,.stat-strip{grid-template-columns:1fr}}
