:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#ededed;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:inherit;text-decoration:inherit}body{margin:0;min-width:320px;min-height:100vh;background:#0a0a0a;color:#ededed;display:block;overflow:auto}:root{--primary-color: #46BED4;--primary-color-rgb: 70, 190, 212;--primary-dark: #3296a8;--primary-darker: #247585;--accent-color: #92400E;--bg-color: #0a0a0a;--text-color: #ededed;--surface-color: #171717;--surface-highlight: #262626;--border-color: #262626;--error-bg: #3f1d2e;--error-text: #fecdd3;--success-color: #059669;--error-color: #dc2626;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--text-color);background-color:var(--bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;max-width:100%;margin:0 auto;min-height:100vh;padding:.75rem .75rem 1rem;color:var(--text-color);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;flex-direction:column;box-sizing:border-box}.App{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.App header{margin-bottom:1rem;flex-shrink:0}.App h1{margin:0 0 .25rem;font-size:1.6rem}.App p{margin:.25rem 0}.status{padding:.75rem 1rem;border-radius:8px;background:var(--surface-color);display:inline-block}.status.error{background:var(--error-bg);color:var(--error-text)}.image-label{font-size:.9rem;font-weight:700;color:var(--text-color)}.image-column img{width:100%;max-height:360px;object-fit:contain;border-radius:10px;border:1px solid var(--border-color);background:#000}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.batch-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem;border:1px solid #262626;border-radius:10px;background:#1e1e1e}.meta-label{font-weight:600;color:#ededed}.batch-page-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:0 0 1.25rem;padding:.75rem 1rem;border:1px dashed #262626;border-radius:10px;background:#0a0a0a}.pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0 0 1rem}.pagination button{padding:.5rem .9rem;border-radius:8px;border:1px solid #262626;background:#262626;color:#ededed;cursor:pointer;transition:background .2s ease,transform .1s ease}.pagination button:disabled{background:#171717;color:#525252;cursor:not-allowed;transform:none}.pagination button:not(:disabled):hover{background:#404040}.page-info{font-weight:600;color:#ededed}.batches{display:flex;flex-direction:column;gap:1.5rem}.batch-card{border:1px solid #262626;border-radius:12px;padding:1rem;background:#0a0a0a;box-shadow:0 8px 24px #00000059}.pairs{display:flex;flex-direction:column;gap:1.25rem}.pair-card{border:1px solid #262626;border-radius:12px;padding:1rem;background:#0a0a0a;box-shadow:0 8px 24px #00000059}.pair-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem 1rem;margin-bottom:.75rem;color:#a3a3a3;font-size:.95rem}.pair-body{display:grid;grid-template-columns:minmax(320px,2fr) minmax(240px,1fr);gap:1rem;align-items:start}.pair-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;align-items:flex-start}.image-column{display:flex;flex-direction:column;gap:.5rem}.prompt-column{border:1px solid #262626;border-radius:10px;padding:.75rem .9rem;background:#0a0a0a;display:flex;flex-direction:column;gap:.4rem}.prompt-label{font-weight:700;color:#ededed;font-size:.95rem}.prompt-text{margin:0;white-space:pre-wrap;color:#a3a3a3;line-height:1.35}@media(max-width:640px){.image-column img{max-height:280px}}.modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#0a0a0a;border:1px solid #262626;border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px #00000080;color:#ededed;width:90%}.modal-content h3{margin-top:0;margin-bottom:1rem}.modal-button{padding:.5rem 1rem;border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s}.modal-button:hover:not(:disabled){opacity:.9}.modal-button:disabled{opacity:.5;cursor:not-allowed}.login-container{display:flex;justify-content:center;align-items:center;padding:2rem}.login-form{background:#0a0a0a;border:1px solid #262626;padding:2rem;border-radius:12px;box-shadow:0 8px 24px #00000059;width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.5rem}.login-form h2{text-align:center;margin:0}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#ededed}.form-group input{padding:.75rem;border-radius:8px;border:1px solid #262626;background:#171717;color:#ededed;font-size:1rem}.form-group input:focus{outline:none;border-color:#525252}.login-button{padding:.75rem;border-radius:8px;border:none;background:#2563eb;color:#fff;font-weight:600;cursor:pointer;transition:background .2s;font-size:1rem}.login-button:hover{background:#1d4ed8}.client-view{display:flex;flex-direction:column;gap:1.25rem;flex:1 1 auto;min-height:0;position:relative}.client-header h1{margin:0 0 .35rem;text-align:center;font-family:Bebas Neue,Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:clamp(2.1rem,4vw,3.1rem);letter-spacing:.04em;line-height:1.05}.client-title-button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;padding:0;margin:0;cursor:pointer}.client-title-button:hover{text-shadow:0 0 18px rgba(var(--primary-color-rgb),.35)}.client-title-button:focus-visible{outline:2px solid rgba(var(--primary-color-rgb),.8);outline-offset:4px;border-radius:8px}.client-header .brand-r{color:var(--primary-color)}.client-header p{margin:0;color:#a3a3a3;text-align:center}.client-pair-card{border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;background:var(--surface-color);box-shadow:0 12px 28px #0006,0 0 25px rgba(var(--primary-color-rgb),.35);display:flex;flex-direction:column;gap:1.25rem;width:min(1250px,100%);margin:0 auto;flex:0 1 auto;overflow:hidden;max-height:calc(100vh - 240px);transition:max-height .3s ease;box-sizing:border-box}.client-images{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:1.25rem;align-items:center;flex:1 1 auto;min-height:0}.client-image-block{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:auto;min-height:0;position:relative;cursor:pointer}.client-image-block .image-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.client-image-block img{width:100%;height:auto;max-height:65vh;aspect-ratio:1 / 1;object-fit:cover;border-radius:10px;border:1px solid var(--border-color);background:#000;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease;box-sizing:border-box}@media(hover:hover){.client-image-block.selectable:hover img{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.25)}}.client-image-block.is-selected img,.client-image-block.is-selected.selectable:hover img{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.35)}.client-image-block.is-selected.is-revealed.is-ai img{border-color:var(--success-color);box-shadow:0 0 0 3px #0596694d}.client-image-block.is-selected.is-revealed.is-real img{border-color:var(--error-color);box-shadow:0 0 0 3px #dc26264d}.client-image-block.is-revealed.is-wrong-guess img{border-color:var(--error-color)!important;box-shadow:0 0 0 3px #dc26264d!important}.skeleton-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-color:var(--border-color)}.client-image-block.skeleton{cursor:default}.game-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;color:var(--text-color);min-height:400px;overflow:hidden;flex:1 1 auto}.game-intro--intro{justify-content:flex-start}.intro-main{width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem}.intro-footer{margin-top:auto;padding-top:1.5rem}.game-intro h2{font-size:2rem;margin:0;color:var(--primary-color)}.game-intro p{font-size:1.1rem;line-height:1.6;max-width:600px;color:#d4d4d4;margin:0}.next-button-wrapper-intro{margin-top:2rem;display:flex;justify-content:center;position:static;transform:none}.intro-link{appearance:none;background:transparent;border:0;padding:0;font:inherit;color:var(--primary-color);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:.95rem}.intro-link:hover{color:#86e4f4}.client-about-row{display:flex;justify-content:center;margin-top:auto;padding-top:.25rem;margin-bottom:4rem}.client-about-link{appearance:none;background:transparent;border:0;padding:0;font:inherit;color:#a3a3a3;cursor:pointer}.client-about-link:hover{color:var(--text-color);text-decoration:underline;text-underline-offset:3px}.client-about-link:focus-visible{outline:2px solid rgba(var(--primary-color-rgb),.8);outline-offset:4px;border-radius:8px}.about-modal-backdrop{position:fixed;inset:0;background:#000000bf;z-index:200}.about-modal{position:fixed;inset:clamp(12px,2.5vw,28px);height:90%;background:var(--bg-color);display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--border-color);box-shadow:0 18px 50px #0009}@media(min-width:901px){.about-modal{top:clamp(12px,2.5vw,28px);bottom:clamp(12px,2.5vw,28px);left:50%;right:auto;width:min(720px,calc(100vw - (2*clamp(12px,2.5vw,28px))));max-width:720px;transform:translate(-50%)}}.about-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);background:var(--surface-color)}.about-modal-header h2{margin:0;font-size:1.25rem}.about-close{background:transparent;border:1px solid #404040;color:var(--text-color);border-radius:8px;width:36px;height:36px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.about-close:hover{background:var(--surface-highlight);border-color:#525252}.about-close:focus-visible{outline:2px solid rgba(var(--primary-color-rgb),.8);outline-offset:3px}.about-modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:1.25rem;color:#d4d4d4;display:flex;flex-direction:column;gap:.75rem}.about-modal-body p{margin:0}.about-modal-body a{color:#3b82f6;text-decoration:underline}.about-modal-body .email-icon{margin-right:.35rem;vertical-align:middle}.about-app-name{color:var(--primary-color)}.info-icon.info-inline{position:static;width:26px;height:26px;margin:0 .25rem;box-shadow:none}.intro-button{background:var(--surface-color);border:1px solid var(--primary-color);width:80px;height:80px;border-radius:50%;position:relative!important;inset:auto!important;animation:fadeIn .3s ease-out,pulse-grow 2s infinite ease-in-out .5s}.intro-button:disabled{opacity:.5;cursor:not-allowed;border-color:#404040;filter:grayscale(1)}.intro-button:disabled .next-triangle{border-left-color:#525252}.skeleton-img{width:100%;height:auto;aspect-ratio:1 / 1;max-height:65vh;border-radius:10px;background-color:var(--border-color)}.image-badge{position:absolute;top:10px;left:10px;padding:.35rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700;color:#0b1220;background:var(--primary-color);box-shadow:0 6px 18px #00000040;z-index:10}.badge-ai{background:var(--success-color);color:#e5e5e5}.badge-real{background:var(--primary-color);color:#0c0a09}.result-badge{position:absolute;top:10px;right:10px;padding:.35rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700;box-shadow:0 6px 18px #00000040;z-index:10}.result-correct{background:var(--success-color);color:#e5e5e5}.result-wrong{background:var(--error-color);color:#e5e5e5}.selection-result{margin:0;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border-color);background:#0c0a09;color:#e5e5e5;font-weight:600}.next-button-wrapper{position:absolute;top:52%;right:4px;transform:translateY(-50%);width:auto;height:48px;pointer-events:none;z-index:50;display:flex;justify-content:flex-end}.next-button-wrapper.guessing{inset:52% 4px auto auto;transform:translateY(-50%)}.next-button-container{position:relative;pointer-events:auto;cursor:pointer;width:54px;height:54px;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out,pulse-grow 2s infinite ease-in-out .5s;background:transparent;border:none;padding:0}.next-button-container.confirm-button{width:auto;height:auto;padding:.5rem 1rem;background:var(--primary-color);border-radius:999px;box-shadow:0 4px 12px #0006;animation:fadeIn .3s ease-out;border:2px solid transparent;transition:all .2s ease}.next-button-container.confirm-button:hover:not(:disabled){transform:scale(1.05);background:var(--primary-dark);box-shadow:0 6px 16px #00000080}.next-button-container.confirm-button:disabled{opacity:.5;cursor:not-allowed;background:#404040;color:#a3a3a3;animation:none}.confirm-text{font-weight:700;font-size:.9rem;color:#0c0a09;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.text-accent{color:var(--accent-color)}@keyframes pulse-grow{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.next-triangle{width:0;height:0;border-top:18px solid transparent;border-bottom:18px solid transparent;border-left:28px solid var(--primary-color);filter:drop-shadow(0 4px 6px rgba(0,0,0,.5));transition:transform .2s ease,border-left-color .2s ease}.next-button-container:hover .next-triangle{transform:scale(1.1);border-left-color:var(--primary-darker)}.batch-score{margin:0 auto;padding:1rem 2rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;color:var(--primary-color);font-size:1.5rem;font-weight:700;text-align:center;box-shadow:0 8px 24px #00000059;animation:fadeIn .5s ease-out;max-width:600px;width:100%;flex-shrink:0}.info-icon{position:absolute;bottom:10px;right:10px;width:32px;height:32px;border-radius:50%;border:1px solid #404040;background:var(--surface-color);color:var(--text-color);font-weight:800;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px #00000059;transition:transform .15s ease,background .15s ease,border-color .15s ease;z-index:12}.info-icon:hover{transform:scale(1.05);background:var(--surface-highlight);border-color:#525252}.info-modal-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.info-modal{background:#0f0f0f;border:1px solid var(--border-color);border-radius:12px;max-width:520px;width:min(520px,100%);max-height:80vh;box-shadow:0 16px 40px #00000073;display:flex;flex-direction:column}.info-modal.batch-history-modal{max-width:760px;width:min(760px,100%)}.info-modal.batch-history-modal .info-modal-body{overflow-x:hidden}.info-modal.batch-history-modal .batch-history-section{margin-top:0;max-width:none;width:100%;box-sizing:border-box}.info-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.info-modal-header h3{margin:0;font-size:1.05rem}.info-close{background:transparent;border:1px solid #404040;color:var(--text-color);border-radius:8px;width:32px;height:32px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.info-close:hover{background:var(--surface-highlight);border-color:#525252}.info-modal-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto}.info-meta{color:var(--text-color)}.info-prompt p{margin:.35rem 0 0;color:#d4d4d4;line-height:1.4;white-space:pre-wrap}.info-section{display:flex;flex-direction:column;gap:.35rem}.info-entry{display:flex;gap:.35rem;align-items:baseline;color:#d4d4d4}.info-key{font-weight:700;color:var(--text-color)}.info-value{color:#d4d4d4;word-break:break-word}.client-image-block.is-selected.is-revealed.is-real,.client-image-block.is-revealed.is-wrong-guess{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media(max-width:900px),(orientation:portrait){.client-view{--mobile-image-gap: .35rem}.client-images{grid-template-columns:1fr;gap:var(--mobile-image-gap)}.client-image-block{width:100%;max-width:calc((100svh - 120px - var(--mobile-image-gap)) / 2);margin:0 auto}.client-image-block img{width:100%;max-height:none;aspect-ratio:1 / 1;height:auto;object-fit:cover}.skeleton-img{width:100%;max-height:none;aspect-ratio:1 / 1}.client-pair-card{width:100%;min-width:0;margin:0;padding:.25rem;gap:.25rem;max-height:calc(100vh - 120px);box-sizing:border-box;border:none;background:transparent}.App header{margin-bottom:.2rem}}@media(min-width:901px){.client-pair-card{min-width:720px}}@media(max-width:900px){.next-button-container{position:fixed;top:auto;bottom:-40px;right:10px;transform:none;background:var(--surface-color);border-radius:50%;box-shadow:0 4px 12px #00000080;border:1px solid #404040;animation:fadeInMobile .3s ease-out,pulse-grow 2s infinite ease-in-out .5s;width:64px;height:64px}.next-button-container.confirm-button{width:auto;height:auto;border-radius:999px;padding:.6rem 1.25rem;background:var(--primary-color);border:2px solid transparent;bottom:20px;animation:slideUpBounce .5s cubic-bezier(.175,.885,.32,1.275),pulse-grow 2s infinite ease-in-out 1s;box-shadow:0 4px 20px #00000080}@keyframes slideUpBounce{0%{transform:translateY(100px);opacity:0}60%{transform:translateY(-10px);opacity:1}to{transform:translateY(0);opacity:1}}.next-triangle{border-top:18px solid transparent;border-bottom:18px solid transparent;border-left:28px solid var(--primary-color);margin-left:4px}@keyframes fadeInMobile{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}.batch-history-section{margin-top:2rem;width:100%;max-width:600px;background:var(--surface-color);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);text-align:left;max-height:356px;display:flex;flex-direction:column}.batch-history-section h3{margin:0 0 1rem;font-size:1.25rem;color:var(--text-color);text-align:center;flex-shrink:0}.batch-history-list{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.batch-history-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#0a0a0a;border:1px solid var(--border-color);border-radius:8px;color:#a3a3a3;transition:background .2s ease;gap:.5rem;min-width:0;flex-wrap:wrap}.batch-history-item:hover{background:var(--surface-highlight);color:var(--text-color)}.batch-date{font-weight:600;overflow-wrap:anywhere}.batch-code{font-weight:500;font-size:.9rem;background:var(--surface-highlight);padding:.25rem .6rem;border-radius:999px;color:#d4d4d4}.batch-pagination{display:flex;justify-content:space-between;align-items:center}.pagination-btn{background:var(--surface-highlight);color:var(--text-color);border:1px solid #404040;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.pagination-btn:hover:not(:disabled){background:#404040;border-color:#525252}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.info-modal.batch-history-modal{max-width:92vw}.batch-history-item{padding:.65rem .75rem}}.zoom-icon{position:absolute;bottom:10px;left:10px;width:32px;height:32px;border-radius:50%;border:1px solid #404040;background:var(--surface-color);color:var(--text-color);font-weight:800;font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px #00000059;transition:transform .15s ease,background .15s ease,border-color .15s ease;z-index:12}.zoom-icon:after{content:"";position:absolute;inset:-20px;border-radius:50%}.zoom-icon:hover{transform:scale(1.05);background:var(--surface-highlight);border-color:#525252}.zoom-icon.zoom-inline{position:static;width:26px;height:26px;margin:0 .25rem;box-shadow:none;display:inline-flex;vertical-align:middle;transform:none}.zoom-icon.zoom-inline:after{content:none}.zoom-icon.zoom-inline:hover{transform:none;background:var(--surface-color);border-color:#404040;cursor:default}@media(min-width:901px){.zoom-icon{display:none}.zoom-icon.zoom-inline{display:inline-flex}}.zoom-modal-backdrop{position:fixed;inset:0;background:#000000f2;z-index:300;display:flex;align-items:center;justify-content:center;overscroll-behavior:contain}.zoom-modal-container{position:relative;width:100vw;height:90vh;background:#000;display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.zoom-modal-container::-webkit-scrollbar{display:none}.zoom-image-wrapper{height:100%;aspect-ratio:1 / 1;overflow:hidden;flex-shrink:0;margin:0 auto}.zoom-modal-image{width:100%;height:100%;object-fit:cover}.zoom-close-button{position:fixed;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:310}
