.app-shell{display:flex;flex-direction:column;min-height:100vh;padding:2rem;gap:1.5rem;background:radial-gradient(circle at top,#1b2333,#0c0d0f 55%,#050506)}header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;border-radius:16px;background:#121724d9;border:1px solid rgba(255,255,255,.06)}header h1{margin:0;font-size:1.8rem}header p{margin:.25rem 0 0;color:#a7b3ce}main{flex:1;display:grid;grid-template-columns:1fr 1.2fr;gap:1.5rem}.left-panel,.right-panel{background:#0d0f15e6;border-radius:16px;border:1px solid rgba(255,255,255,.05);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.panel-head h2,.left-panel h2{margin:0 0 .25rem}.panel-head p{margin:0;color:#7686a8;font-size:.9rem}.uploader{border:1px dashed rgba(255,255,255,.3);border-radius:12px;padding:1rem 1.5rem;cursor:pointer;transition:border-color .2s ease,background .2s ease;display:flex;gap:1rem;align-items:center}.uploader:hover{border-color:#6cb2ff;background:#6cb2ff14}.uploader.busy{opacity:.7;cursor:progress}.uploader input{display:none}.uploader strong{display:block}.uploader p{margin:.25rem 0 0;color:#8d9ab8}.image-selector{display:flex;gap:.75rem;flex-wrap:wrap}.image-selector .thumb{border:1px solid transparent;border-radius:10px;background:#ffffff0a;padding:.35rem;color:#dfe6ff;cursor:pointer;width:110px;display:flex;flex-direction:column;gap:.35rem;transition:border-color .2s ease,transform .2s ease}.image-selector .thumb.active{border-color:#6cb2ff;transform:translateY(-2px)}.image-selector img{width:100%;height:70px;object-fit:cover;border-radius:8px}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.preview-card{border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:.5rem;background:#0c0e13e6;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;transition:border-color .2s ease,transform .2s ease}.preview-card:disabled{cursor:not-allowed;opacity:.5}.preview-card:hover:not(:disabled){border-color:#6cb2ffb3;transform:translateY(-3px)}.preview-card.active{border-color:#6cb2ff;box-shadow:0 0 12px #6cb2ff4d}.preview-card .title{text-align:left;font-size:.9rem}.lut-canvas{position:relative;overflow:hidden}.lut-canvas canvas,.lut-canvas img{display:block;width:100%;height:100%}.preview-card .lut-canvas{min-height:140px;border-radius:8px}.preview-card .lut-canvas canvas,.preview-card .lut-canvas img{height:180px;object-fit:cover}.compare-stage .lut-canvas{width:100%;height:100%;border-radius:0}.compare-stage .lut-canvas canvas,.compare-stage .lut-canvas img{object-fit:contain}.lut-canvas .fallback-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.placeholder{display:inline-flex;justify-content:center;align-items:center;min-height:120px;color:#6c788f}.badge{position:absolute;top:10px;left:10px;background:#0b0f1bcc;border-radius:999px;padding:.2rem .75rem;font-size:.75rem}.badge.error{background:#ff6767cc}.compare-wrapper{display:flex;flex-direction:column;gap:.75rem}.compare-stage{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.05);min-height:320px;background:#050608;cursor:ew-resize;touch-action:none}.compare-stage .reference,.compare-stage .graded,.compare-stage .lut-canvas,.compare-stage .lut-canvas canvas,.compare-stage .lut-canvas img{pointer-events:none}.compare-stage .reference{width:100%;height:100%;object-fit:contain;display:block}.compare-stage .graded{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.compare-stage .handle{position:absolute;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#6cb2ff;display:flex;justify-content:center;align-items:center;cursor:grab}.compare-stage .handle span{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid #6cb2ff;background:#0d111a}.compare-stage .handle:active{cursor:grabbing}.pagination{display:inline-flex;gap:.5rem;align-items:center}.pagination button{padding:.4rem .8rem;border-radius:8px;border:none;cursor:pointer;background:#ffffff14;color:#f7fbff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.empty-state{padding:1rem;border-radius:12px;background:#ffffff08;border:1px dashed rgba(255,255,255,.1)}.empty-state strong{display:block;margin-bottom:.25rem}.mobile-category-nav{display:none}@media (max-width: 1200px){main{grid-template-columns:1fr}}@media (max-width: 768px){.app-shell{padding:0;gap:0;height:100vh;height:100dvh;overflow:hidden;background:#000;padding-bottom:env(safe-area-inset-bottom)}header{padding:.25rem .75rem;gap:.5rem;flex-shrink:0;background:#121724;border-radius:0;border-bottom:1px solid rgba(255,255,255,.1);z-index:10;min-height:40px}header h1{font-size:1rem}header p{display:none}.uploader{padding:.25rem .75rem;border-radius:6px}.uploader strong{font-size:.8rem}.uploader p{display:none}main{display:flex;flex-direction:column;overflow:hidden;gap:0}.right-panel{order:-1;padding:.5rem 0 2rem .5rem;flex-shrink:0;height:160px;overflow-y:auto;background:#0d0f15;border-radius:0;border-bottom:1px solid rgba(255,255,255,.1);display:block;mask-image:linear-gradient(to bottom,black calc(100% - 30px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 30px),transparent 100%)}.panel-head{display:none}.category-section{margin-bottom:.5rem}.category-header{padding:.25rem 0!important;font-size:.9rem!important;position:sticky;left:0}.mobile-category-nav{display:flex;position:sticky;top:0;z-index:100;justify-content:flex-end;padding:.25rem;gap:.25rem;pointer-events:none;margin-bottom:-2rem}.mobile-category-nav .nav-pill{pointer-events:auto;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.65rem;padding:2px 6px;border-radius:4px;cursor:pointer;text-transform:uppercase;font-weight:700;box-shadow:0 2px 4px #0003}.mobile-category-nav .nav-pill:active{background:#6cb2ff;color:#000}.preview-grid{display:flex;overflow-x:auto;padding-bottom:.5rem;grid-template-columns:none;gap:.5rem;padding-right:.5rem}.preview-card{min-width:80px;width:80px;flex-shrink:0;padding:.25rem;background:transparent;border:none}.preview-card.active{background:#ffffff1a;border-radius:8px}.preview-card .lut-canvas{min-height:50px;border-radius:4px}.preview-card .lut-canvas canvas,.preview-card .lut-canvas img{height:50px}.preview-card .title{font-size:.7rem;text-align:center;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-panel{padding:0;flex:1;display:flex;flex-direction:column;overflow:hidden;background:#000;border-radius:0;border:none;min-height:0;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.left-panel h2{display:none}.empty-state{margin:2rem;text-align:center}.compare-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative;margin-bottom:0}.toolbar{position:absolute;top:1rem;right:1rem;z-index:20;margin:0!important;width:auto}.toolbar h3{display:none}.toolbar button{padding:.4rem .8rem!important;font-size:.8rem;background:#007bffe6!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000004d}.compare-wrapper{height:100%;width:100%;padding-bottom:0}.compare-stage{height:100%;width:100%;border-radius:0;border:none;aspect-ratio:auto!important}.compare-stage .reference,.compare-stage .graded,.compare-stage .lut-canvas,.compare-stage .lut-canvas canvas,.compare-stage .lut-canvas img{width:100%;height:100%;object-fit:contain}.image-selector{position:fixed;bottom:0;left:0;right:0;z-index:100;flex-shrink:0;min-height:70px;height:auto;background:#121724;border-top:1px solid rgba(255,255,255,.1);padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,.5rem));margin:0;overflow-x:auto;overflow-y:hidden;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:.5rem;box-sizing:border-box}.image-selector .thumb{width:50px;min-width:50px;padding:2px;background:transparent;border-radius:4px}.image-selector .thumb span{display:none}.image-selector .thumb.active{border-color:#6cb2ff;background:#6cb2ff1a}.image-selector img{height:40px;width:100%;object-fit:cover;border-radius:2px}.pagination{display:none}}:root{font-family:Segoe UI,Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#f5f5f5;background-color:#0c0d0f;line-height:1.5;font-weight:400;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#0c0d0f}button{font:inherit}#root{min-height:100vh}
