:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;font-weight:400}html,body,#root{height:100%;margin:0}body{display:block;background:#0f0f10;color:#fff}#root{min-height:100vh;width:100%;background:#0f0f10}html,body{margin:0;padding:0;background:#0f0f10;color:#fff}.app{min-height:100vh;display:flex;flex-direction:column;background:#0f0f10;color:#fff}.container{max-width:1000px;margin:0 auto;padding:24px 20px;width:100%}.pageFull{width:100%;padding:0}.navbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background-color:#1a1a1a;border-bottom:1px solid #333}.navbar__brand{font-size:20px;font-weight:700;letter-spacing:.5px}.navbar__brand-link{color:#fff;text-decoration:none}.navbar__links{display:flex;gap:20px}.navbar__link{cursor:pointer;color:#ddd;font-weight:500;text-decoration:none}.navbar__link:hover,.navbar__link--active{color:#fff;text-decoration:underline}.uploadPage{min-height:calc(100vh - 72px);padding:64px 18px 80px;display:grid;place-items:start center;background:radial-gradient(900px 500px at 50% 20%,rgba(255,255,255,.08),transparent 60%),radial-gradient(700px 450px at 30% 70%,rgba(255,255,255,.05),transparent 65%),#0b0f14;color:#e9eef5}.uploadWrap{width:min(980px,100%);display:grid;justify-items:center;gap:18px}.heroPill{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;box-shadow:0 10px 30px #00000059;font-size:13px;letter-spacing:.2px;color:#e9eef5d9}.heroPillDot{width:18px;height:18px;border-radius:8px;display:grid;place-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);font-size:12px}.uploadTitle{margin:0;text-align:center;font-size:clamp(34px,5vw,64px);line-height:1.02;font-weight:800;letter-spacing:-.02em}.uploadTitleMuted{color:#e9eef5a6;font-weight:800}.uploadSubtitle{margin:0;text-align:center;max-width:720px;font-size:16px;line-height:1.6;color:#e9eef58c}.dropzone{margin-top:18px;width:min(860px,100%);border-radius:22px;padding:44px 18px;border:2px dashed rgba(255,255,255,.16);background:#ffffff08;box-shadow:0 24px 80px #0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition:transform .15s ease,border-color .15s ease,background .15s ease}.dropzone:hover{transform:translateY(-1px);border-color:#ffffff38;background:#ffffff0a}.dropzone--active{border-color:#ffffff52;background:#ffffff0f}.dropzone--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.hiddenInput{display:none}.dropzoneInner{max-width:560px;margin:0 auto;display:grid;justify-items:center;gap:12px;text-align:center}.iconTile{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 40px #00000073;color:#e9eef5e6}.iconTile svg{width:26px;height:26px;opacity:.9}.dropzoneHeadline{font-size:18px;font-weight:700;color:#e9eef5e6;margin-top:10px}.dropzoneSubtext{font-size:13px;color:#e9eef580}.selectButton{margin-top:10px;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#e9eef5e6;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:transform .12s ease,background .12s ease,border-color .12s ease}.selectButton:hover{transform:translateY(-1px);background:#ffffff14;border-color:#ffffff38}.selectButton:active{transform:translateY(0)}.selectButton:disabled{opacity:.5;cursor:not-allowed}.btnIcon{width:18px;height:18px;opacity:.9}.supportText{margin-top:4px;font-size:12px;color:#e9eef573}.filePicked{margin-top:8px;font-size:13px;color:#e9eef5cc;padding:8px 10px;border-radius:12px;background:#00000059;border:1px solid rgba(255,255,255,.1)}.uploadError{margin-top:14px;padding:10px 14px;border-radius:10px;background:#ff000014;border:1px solid rgba(255,0,0,.25);color:#ffb4b4;font-size:14px;text-align:center}.resultsPage{min-height:calc(100vh - 72px);padding:64px 18px 80px;display:grid;place-items:start center;background:radial-gradient(900px 500px at 50% 20%,rgba(255,255,255,.08),transparent 60%),radial-gradient(700px 450px at 30% 70%,rgba(255,255,255,.05),transparent 65%),#0b0f14;color:#e9eef5}.resultsContainer{width:min(980px,100%);display:grid;justify-items:center;gap:18px}.resultsTitle{margin:0 0 18px;font-size:clamp(34px,5vw,54px);font-weight:800;letter-spacing:-.02em;text-align:center;line-height:1.02;color:#e9eef5}.resultsCard{width:min(860px,100%);background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.resultHeader{display:flex;align-items:baseline;gap:12px;margin-bottom:24px;flex-wrap:wrap}.movieTitle{margin:0;font-size:clamp(32px,4vw,48px);font-weight:800;letter-spacing:-.02em;color:#e9eef5}.movieYear{font-size:20px;color:#e9eef599;font-weight:500}.resultMeta{display:flex;flex-direction:column;gap:12px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}.metaItem{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.metaLabel{font-size:14px;color:#e9eef599;font-weight:500}.metaValue{font-size:14px;color:#e9eef5;font-weight:600}.ratingsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.ratingCard{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.ratingLabel{font-size:13px;color:#e9eef599;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ratingValue{font-size:36px;font-weight:800;color:#e9eef5;line-height:1}.ratingMax{font-size:14px;color:#e9eef580}.backButton{width:100%;padding:14px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#e9eef5e6;font-weight:700;font-size:15px;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}.backButton:hover{transform:translateY(-1px);background:#ffffff14;border-color:#ffffff38}.backButton:active{transform:translateY(0)}.resultsEmpty{text-align:center;padding:80px 20px}.resultsEmpty h2{margin:0 0 12px;font-size:32px;font-weight:800;color:#e9eef5}.resultsEmpty p{margin:0 0 32px;font-size:16px;color:#e9eef599}.resultsEmpty .backButton{max-width:300px;margin:0 auto}.extractedCount{width:min(860px,100%);margin:0 auto 22px;padding:14px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#e9eef5;font-size:15px;font-weight:700;text-align:center;letter-spacing:.2px}.posterGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.posterCard{border:1px solid rgba(255,255,255,.12);background:#ffffff0a;border-radius:18px;overflow:hidden;cursor:pointer;padding:0;text-align:left;transition:transform .15s ease,border-color .15s ease}.posterCard:hover{transform:translateY(-4px);border-color:#ffffff4d}.posterThumb{width:100%;aspect-ratio:3/4;background:#ffffff0f;display:flex;align-items:center;justify-content:center}.posterThumb img{width:100%;height:100%;object-fit:cover;display:block}.posterFallback{padding:10px;opacity:.7;font-size:12px}.posterText{padding:12px}.posterTitle{color:#e9eef5;font-weight:800;font-size:14px;line-height:1.2}.posterSub{margin-top:6px;font-size:12px;opacity:.7}body.modalOpen{overflow:hidden}.detailOverlay{position:fixed;inset:0;background:#00000094;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50}.detailWrap{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.detailCard{width:min(920px,96vw);border-radius:22px;border:1px solid rgba(255,255,255,.12);background:#0f1218f2;box-shadow:0 20px 80px #0000008c;position:relative;overflow:hidden;padding:18px;max-height:calc(100vh - 48px);overflow:auto;overscroll-behavior:contain}.detailClose{position:absolute;top:12px;right:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:inherit;border-radius:12px;width:36px;height:36px;cursor:pointer}.detailTop{display:grid;grid-template-columns:260px 1fr;gap:18px}@media(max-width:720px){.detailTop{grid-template-columns:1fr}}.detailPosterWrap{border-radius:18px;overflow:hidden;aspect-ratio:2 / 3;background:#ffffff0a}.detailPoster{width:100%;height:100%;object-fit:cover;display:block}.detailPosterFallback{width:100%;height:100%;display:grid;place-items:center;opacity:.7}.detailInfo{display:flex;flex-direction:column}.detailTitle{margin:4px 0 10px;font-size:28px;font-weight:900;letter-spacing:-.02em}.detailChips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;opacity:.9}.detailHint{opacity:.8;line-height:1.6;margin:0 0 14px;font-size:14px}.detailActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.detailActionBtn{padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff1a;color:inherit;cursor:pointer;font-weight:700}.detailActionBtn.secondary{background:#ffffff0f}.historyPage{min-height:calc(100vh - 72px);padding:48px 18px;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(900px 500px at 50% 20%,rgba(255,255,255,.08),transparent 60%),radial-gradient(700px 450px at 30% 70%,rgba(255,255,255,.05),transparent 65%),#0b0f14;color:#e9eef5}.historyContainer{width:min(980px,100%)}.historyHeader{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.historyTitle{margin:0;font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-.02em}.historyClearBtn{border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#e9eef5;padding:10px 14px;border-radius:12px;cursor:pointer;transition:transform .16s ease,background .16s ease}.historyClearBtn:hover{transform:translateY(-1px);background:#ffffff0f}.historyClearBtn:disabled{opacity:.5;cursor:not-allowed;transform:none}.historyEmpty{border:1px solid rgba(255,255,255,.14);background:#ffffff08;border-radius:18px;padding:28px;text-align:center}.historyEmptyText{margin:0 0 14px;opacity:.85}.historyPrimaryBtn{border:none;padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:700}.historyGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:720px){.historyGrid{grid-template-columns:1fr}}.historyCard{border:1px solid rgba(255,255,255,.14);background:#ffffff08;border-radius:18px;padding:16px;transition:transform .18s ease,border-color .18s ease}.historyCard:hover{transform:translateY(-2px);border-color:#ffffff38}.historyMetaRow{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px}.historyMetaLabel{font-size:12px;opacity:.7;margin-bottom:4px}.historyMetaValue{font-size:14px;font-weight:700}.historyChips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.historyChip{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.historyChip.muted{opacity:.7}.historyActions{display:flex;justify-content:flex-end;gap:10px}.historyOpenBtn,.historyDeleteBtn{padding:8px 12px;border-radius:12px;cursor:pointer;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#e9eef5;transition:transform .16s ease,background .16s ease}.historyOpenBtn:hover,.historyDeleteBtn:hover{transform:translateY(-1px);background:#ffffff0f}
