@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #121212;--color-surface: #1e1e1e;--color-primary: #e1306c;--color-primary-gradient: linear-gradient(135deg, #FF6B6B 0%, #556270 100%);--color-text: #ffffff;--color-text-secondary: #aaaaaa;--color-disney: #113CCF;--color-pixar: #D8D8D8;--color-seen: #2e9d5b;--font-family: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius: 12px;--shadow-sm: 0 2px 4px rgba(0,0,0,.1);--shadow-md: 0 4px 6px rgba(0,0,0,.2);--transition: all .3s ease}body{margin:0;font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}h1,h2,h3{margin:0}.movie-card{background:var(--color-surface);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;position:relative;display:flex;flex-direction:column}.movie-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card-image-container{position:relative;aspect-ratio:2/3;width:100%}.card-image-container img{width:100%;height:100%;object-fit:cover;display:block}.card-badges{position:absolute;top:8px;left:8px;right:48px;display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start}.position-badge{padding:3px 7px;border-radius:4px;font-size:.7rem;font-weight:800;background:#fff;color:#000}.category-badge{display:inline-block;padding:3px 7px;border-radius:4px;font-size:.7rem;font-weight:700;opacity:.92;background-color:#555;color:#fff}.category-badge[data-category=animation]{background-color:var(--color-disney)}.category-badge[data-category=pixar]{background-color:var(--color-pixar);color:#000}.category-badge[data-category=live-action]{background-color:#7b3fa0}.category-badge[data-category=marvel]{background-color:#c8102e}.category-badge[data-category=lucasfilm]{background-color:#1b1b1b;color:#e5b80b;box-shadow:inset 0 0 0 1px #e5b80b}.category-badge[data-category=dreamworks]{background-color:#0a8fc2}.category-badge[data-category=illumination]{background-color:#ffd400;color:#000}.category-badge[data-category=sony]{background-color:#6f4cc3}.category-badge[data-category=blue-sky]{background-color:#7cc8f0;color:#000}.category-badge[data-category=ghibli]{background-color:#2f6f4f}.category-badge[data-category=aardman]{background-color:#e8661c}.category-badge[data-category=laika]{background-color:#8c2f39}.category-badge[data-category=warner]{background-color:#1d4f9c}.category-badge[data-category=netflix]{background-color:#e50914}.category-badge[data-category=paramount]{background-color:#0a5bd6}.category-badge[data-category=cartoon-saloon]{background-color:#4a7d2a}.category-badge[data-category=comix-wave]{background-color:#3c3ca8}.category-badge[data-category=documentary]{background-color:#2e7d4f}.upcoming-badge{position:absolute;bottom:8px;left:8px;right:8px;padding:4px;border-radius:4px;background:#000000bf;color:#fff;font-size:.75rem;font-weight:700;text-align:center;letter-spacing:.05em;text-transform:uppercase}.card-image-container .seen-toggle{position:absolute;top:8px;right:8px}.seen-toggle{flex-shrink:0;background:#0000008c;border:2px solid rgba(255,255,255,.7);border-radius:50%;width:34px;height:34px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s,border-color .2s,transform .15s}.seen-toggle svg{width:18px;height:18px}.seen-toggle:hover{background:#000c;transform:scale(1.08)}.movie-card.seen .seen-toggle{background:var(--color-seen);border-color:var(--color-seen);color:#fff}.movie-card.seen img{filter:grayscale(.7) brightness(.6)}.seen-ribbon{position:absolute;bottom:8px;left:8px;padding:3px 8px;border-radius:4px;background:var(--color-seen);color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.movie-card.seen .card-content h3{color:var(--color-text-secondary)}.card-content{padding:8px;flex-grow:1;display:flex;flex-direction:column}.card-content h3{font-size:.9rem;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.year{color:var(--color-text-secondary);font-size:.8rem;margin:0 0 4px}.seen-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.movie-card.upcoming img{opacity:.6}.poster-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;background:linear-gradient(160deg,#2a2a3a,#15151c)}.poster-placeholder-title{font-weight:800;font-size:1.1rem;line-height:1.2}.poster-placeholder-note{color:var(--color-text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.classique-tag{color:#f2c94c}.movie-card[role=button]{cursor:pointer}.movie-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.movie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-md);padding:var(--spacing-md)}@media(min-width:600px){.movie-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg)}}.movie-rows{list-style:none;margin:0 auto;max-width:900px;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:6px}.movie-row{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-surface);border-radius:8px;padding:6px 10px 6px 6px;min-height:60px}.row-position{font-weight:800;font-size:.8rem;color:var(--color-text-secondary);min-width:2.2em;text-align:right}.row-thumb{width:32px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}.row-thumb-empty{background:linear-gradient(160deg,#2a2a3a,#15151c)}.row-info{flex:1;min-width:0;display:flex;flex-direction:column}.row-title{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-info .year{margin:2px 0 0}.row-category{flex-shrink:0}.row-action{flex-shrink:0;display:flex;justify-content:flex-end;min-width:34px}.row-countdown{font-size:.75rem;font-weight:700;color:var(--color-text-secondary);text-align:right}.movie-row.seen .row-thumb{filter:grayscale(.7) brightness(.6)}.movie-row.seen .row-title{color:var(--color-text-secondary)}.movie-row.seen .seen-toggle{background:var(--color-seen);border-color:var(--color-seen);color:#fff}@media(max-width:480px){.row-category{display:none}}.movie-row[role=button]{cursor:pointer}.movie-row:hover{background:#262626}.movie-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toolbar{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md) var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.search-input{flex:1;min-width:0;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:20px;color:var(--color-text);padding:8px 14px;font:inherit;font-size:16px}.search-input::placeholder{color:var(--color-text-secondary)}.search-input:focus,.toolbar select:focus-visible,.segmented button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.segmented{display:inline-flex;background:#ffffff14;border-radius:20px;padding:2px}.segmented button{background:transparent;border:none;color:var(--color-text-secondary);padding:5px 10px;border-radius:18px;font:inherit;font-size:.85rem;cursor:pointer;transition:background .2s,color .2s}.segmented button:hover{color:var(--color-text)}.segmented button.active{background:var(--color-primary);color:#fff}.toolbar select{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:20px;color:var(--color-text);padding:5px 10px;font:inherit;font-size:.85rem;cursor:pointer}.toolbar select option{background:var(--color-surface)}.result-count{margin-left:auto;color:var(--color-text-secondary);font-size:.85rem}.toolbar select.is-active{border-color:var(--color-primary)}.view-toggle{flex-shrink:0}.view-toggle button{display:flex;align-items:center;padding:6px 9px}.view-toggle svg{width:16px;height:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.modal-backdrop{position:fixed;inset:0;z-index:300;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.modal{background:var(--color-surface);border-radius:var(--border-radius);box-shadow:0 10px 40px #00000080;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);outline:none}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.modal-header h2{font-size:1.2rem}.modal-close{background:none;border:none;color:var(--color-text-secondary);font-size:1.8rem;line-height:1;cursor:pointer;padding:0 4px}.modal-close:hover{color:var(--color-text)}.modal-close:focus-visible{outline:2px solid var(--color-primary);border-radius:4px}.share-image{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.share-canvas{width:100%;max-width:360px;height:auto;border-radius:10px;box-shadow:0 6px 24px #00000080}.share-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm)}.share-actions button:disabled{opacity:.6;cursor:default}.share-error{color:#ff8a8a;margin:0}.stats-hero{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.stats-hero-number{white-space:nowrap;font-size:2.6rem;font-weight:800;color:var(--color-seen);line-height:1}.stats-hero-text{color:var(--color-text-secondary);font-size:.9rem}.stats-section{font-size:.95rem;margin:var(--spacing-lg) 0 var(--spacing-sm)}.progress-row{margin-bottom:10px}.progress-label{display:flex;justify-content:space-between;gap:var(--spacing-sm);font-size:.85rem;margin-bottom:4px}.progress-numbers{color:var(--color-text-secondary);white-space:nowrap}.progress-track{height:8px;border-radius:4px;background:#ffffff1a;overflow:hidden}.progress-fill{height:100%;border-radius:4px;background:var(--color-seen);transition:width .4s ease}.stats-share-btn{margin-left:auto;flex-shrink:0}.progress-fill.complete{background:#f2c94c}.stats-details{margin-top:var(--spacing-md)}.stats-details summary{cursor:pointer;font-weight:700;font-size:.95rem;margin-bottom:var(--spacing-sm)}.stats-details[open] summary{margin-bottom:var(--spacing-md)}.badge-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.badge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:10px 8px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.badge .badge-icon{font-size:1.6rem;filter:grayscale(1);opacity:.35}.badge-label{font-weight:700;font-size:.8rem;color:var(--color-text-secondary)}.badge-desc{font-size:.7rem;color:var(--color-text-secondary);opacity:.8}.badge-progress{font-size:.7rem;font-weight:700;color:var(--color-text-secondary);margin-top:2px}.badge.unlocked{background:#f2c94c1a;border-color:#f2c94c80}.badge.unlocked .badge-icon{filter:none;opacity:1}.badge.unlocked .badge-label{color:var(--color-text)}.badge.unlocked .badge-progress{color:#f2c94c}.random-movie{display:flex;gap:var(--spacing-md);align-items:flex-start}.random-movie img,.random-no-poster{width:150px;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;flex-shrink:0}.random-no-poster{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#2a2a3a,#15151c);color:var(--color-text-secondary);font-size:.8rem;text-align:center}.random-info h3{font-size:1.15rem;margin-bottom:4px}.random-info p{margin:0 0 var(--spacing-sm);color:var(--color-text-secondary);font-size:.9rem}.random-info .random-hint{font-size:.8rem}.random-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.random-actions button:disabled{opacity:.6;cursor:default}.random-empty{text-align:center;padding:var(--spacing-lg) 0}.primary-btn{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff;padding:6px 14px;border-radius:20px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.primary-btn:hover:not(:disabled){filter:brightness(1.1)}.primary-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}@media(max-width:420px){.random-movie{flex-direction:column;align-items:center;text-align:center}.random-actions{justify-content:center}}.detail{display:flex;gap:var(--spacing-lg);align-items:flex-start}.detail-poster{flex-shrink:0;width:180px}.detail-poster img,.detail-no-poster{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:10px;display:block}.detail-no-poster{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#2a2a3a,#15151c);color:var(--color-text-secondary);font-size:.85rem}.detail-body{flex:1;min-width:0}.detail-original{margin:-8px 0 var(--spacing-sm);color:var(--color-text-secondary);font-style:italic;font-size:.9rem}.detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--spacing-sm)}.detail-tag{padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:600;background:#ffffff1a}.detail-classique{color:#f2c94c;background:#f2c94c1f}.detail-line{margin:4px 0;font-size:.85rem;color:var(--color-text-secondary)}.detail-line strong{color:var(--color-text);font-weight:600}.detail-overview{font-size:.9rem;line-height:1.5;margin:var(--spacing-sm) 0}.detail-muted{color:var(--color-text-secondary);font-size:.85rem;font-style:italic}.detail-sagas{display:flex;flex-wrap:wrap;gap:6px;margin:var(--spacing-sm) 0}.detail-saga{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--color-text);border-radius:20px;padding:4px 10px;font:inherit;font-size:.8rem;cursor:pointer}.detail-saga:hover{border-color:var(--color-primary)}.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md)}.detail-seen{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem}.detail-seen .seen-toggle[aria-pressed=true]{background:var(--color-seen);border-color:var(--color-seen);color:#fff}.detail-countdown{font-weight:700;color:var(--color-text-secondary)}.detail-trailer{text-decoration:none;display:inline-block}.detail-credit{margin-top:var(--spacing-md);font-size:.7rem;color:var(--color-text-secondary)}.detail-credit a{color:inherit}@media(max-width:520px){.detail{flex-direction:column;align-items:center}.detail-poster{width:150px}}.sync-section+.sync-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1)}.sync-section h3{font-size:1rem;margin-bottom:var(--spacing-sm)}.sync-help{display:block;color:var(--color-text-secondary);font-size:.85rem;line-height:1.45;margin:0 0 var(--spacing-sm)}.sync-code-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.sync-code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:clamp(.95rem,4.6vw,1.35rem);font-weight:700;letter-spacing:.06em;white-space:nowrap;padding:6px 12px;border-radius:8px;background:#ffffff14;-webkit-user-select:all;user-select:all}.sync-input{width:100%;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--spacing-sm)}.sync-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem;margin:0 0 var(--spacing-sm)}.sync-last{color:var(--color-text-secondary)}.sync-dot{width:9px;height:9px;border-radius:50%;background:var(--color-text-secondary);flex-shrink:0}.sync-status-ok .sync-dot{background:var(--color-seen)}.sync-status-syncing .sync-dot{background:#f2c94c}.sync-status-offline .sync-dot{background:#f2994a}.sync-status-error .sync-dot{background:#eb5757}.sync-warning{font-size:.75rem;color:#f2c94c;margin:0 0 var(--spacing-md)}.sync-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.sync-actions button:disabled{opacity:.6;cursor:default}.sync-error{color:#ff8a8a;font-size:.85rem;margin:var(--spacing-sm) 0 0}.sync-btn{display:inline-flex;align-items:center;gap:6px}.sync-btn .sync-dot{width:7px;height:7px}.sync-dot-ok{background:var(--color-seen)}.sync-dot-syncing{background:#f2c94c}.sync-dot-offline{background:#f2994a}.sync-dot-error{background:#eb5757}.app-container{min-height:100vh;padding-bottom:var(--spacing-xl)}.app-header{background:#1e1e1ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-sm)}.header-content{max-width:1200px;margin:0 auto;padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.header-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--color-text-secondary);padding:6px 12px;border-radius:20px;cursor:pointer;font:inherit;font-size:.85rem;transition:all .3s ease}.header-btn:hover{background:#ffffff1a;color:var(--color-text)}.header-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-header h1{font-size:1.1rem;background:var(--color-primary-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:800}.stats-badge{background:#ffffff1a;border:1px solid transparent;color:var(--color-text);padding:6px 12px;border-radius:20px;font:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.stats-badge:hover{background:#ffffff29;border-color:var(--color-seen)}.stats-badge:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(min-width:600px){.app-header h1{font-size:1.5rem}}.header-content{flex-wrap:wrap;gap:var(--spacing-sm)}.header-actions{flex-wrap:wrap}@media(max-width:599px){.app-header{position:static}}.empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--color-text-secondary)}.toast{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);z-index:200;padding:10px 16px;border-radius:20px;font-size:.9rem;box-shadow:var(--shadow-md);max-width:calc(100% - 32px);text-align:center}.toast-success{background:#1f6f43;color:#fff}.toast-error{background:#a3263a;color:#fff}.toast-badge{background:#3d3214;border:1px solid #f2c94c;color:#f2c94c;font-weight:700}
