@layer base,brand;@layer base{:root{--background: 0 0% 96%;--foreground: 0 0% 9%;--card: 0 0% 98%;--card-foreground: 0 0% 9%;--popover: 0 0% 89%;--popover-foreground: 0 0% 9%;--primary: 20 90% 48%;--primary-foreground: 33 100% 96%;--secondary: 0 0% 32%;--secondary-foreground: 0 0% 98%;--muted: 0 0% 63%;--muted-foreground: 0 0% 9%;--accent: 47 100% 96%;--accent-foreground: 37 92% 50%;--destructive: 0 72% 50%;--destructive-foreground: 0 85% 97%;--border: 0 0% 83%;--input: 0 0% 83%;--ring: 20 90% 48%;--sidebar: 0 0% 98%;--sidebar-background: 0 0% 98%;--sidebar-foreground: 0 0% 9%;--sidebar-primary: 20 90% 48%;--sidebar-primary-foreground: 33 100% 96%;--sidebar-accent: 0 0% 32%;--sidebar-accent-foreground: 0 0% 98%;--sidebar-border: 0 0% 83%;--sidebar-ring: 20 90% 48%;--chart-1: 27 95% 60%;--chart-2: 43 96% 56%;--chart-3: 47 95% 53%;--chart-4: 24 94% 53%;--chart-5: 0 0% 45%;--radius-none: 0;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius: .75rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--font-sans: "Roboto", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-serif: "Libre Caslon Text", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.563rem;--text-2xl: 1.953rem;--text-3xl: 2.441rem;--text-4xl: 3.051rem;--text-5xl: 3.814rem;--line-tight: 1.15;--line-snug: 1.35;--line-normal: 1.6;--line-relaxed: 1.625;--line-loose: 2;--tracking-tight: -.01em;--tracking-normal: 0em;--tracking-wide: .04em;--space-px: 1px;--space-0: 0;--space-0_5: .125rem;--space-1: .25rem;--space-1_5: .375rem;--space-2: .5rem;--space-2_5: .625rem;--space-3: .75rem;--space-3_5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-28: 7rem;--space-32: 8rem;--space-36: 9rem;--space-40: 10rem;--space-44: 11rem;--space-48: 12rem;--space-52: 13rem;--space-56: 14rem;--space-60: 15rem;--space-64: 16rem;--space-72: 18rem;--space-80: 20rem;--space-96: 24rem;--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 8px 10px -1px hsl(0 0% 0% / .1);--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / .25);--container: 72rem}.dark{--background: 0 0% 9%;--foreground: 0 0% 98%;--card: 0 0% 14%;--card-foreground: 0 0% 98%;--popover: 0 0% 25%;--popover-foreground: 0 0% 98%;--primary: 27 95% 60%;--primary-foreground: 12 81% 14%;--secondary: 0 0% 45%;--secondary-foreground: 0 0% 98%;--muted: 0 0% 45%;--muted-foreground: 0 0% 98%;--accent: 20 91% 14%;--accent-foreground: 43 96% 56%;--destructive: 0 84% 60%;--destructive-foreground: 0 85% 97%;--border: 0 0% 32%;--input: 0 0% 32%;--ring: 27 95% 60%;--sidebar-background: 240 5.9% 10%;--sidebar-foreground: 0 0% 98%;--sidebar-primary: 27 95% 60%;--sidebar-primary-foreground: 12 81% 14%;--sidebar-accent: 43 96% 56%;--sidebar-accent-foreground: 20 91% 14%;--sidebar-border: 0 0% 32%;--sidebar-ring: 27 95% 60%;--sidebar: 0 0% 14%;--chart-1: 30 97% 72%;--chart-2: 45 96% 64%;--chart-3: 48 96% 76%;--chart-4: 27 95% 60%;--chart-5: 0 0% 45%}}@layer brand{:root{--primary: 38 92% 52%;--primary-foreground: 20 40% 10%;--accent: 350 70% 52%;--accent-foreground: 0 0% 100%;--ring: 38 92% 52%}.dark{--primary: 40 95% 60%;--primary-foreground: 20 50% 8%;--accent: 350 72% 60%;--accent-foreground: 0 0% 100%;--ring: 40 95% 60%}}:root{--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--brand: var(--primary);--brand-foreground: var(--primary-foreground);--gradient-brand: linear-gradient(135deg, hsl(38 92% 52%), hsl(350 70% 52%));--gradient-hero: radial-gradient(120% 120% at 85% 0%, hsl(350 70% 52% / .12), transparent 55%), radial-gradient(120% 120% at 0% 20%, hsl(38 92% 52% / .12), transparent 55%);--shadow-glow: 0 0 60px hsl(38 92% 52% / .25);--shadow-card: 0 10px 40px -10px hsl(0 0% 0% / .35);--duration-fast: .12s;--duration-base: .2s;--ease-out: cubic-bezier(.16, 1, .3, 1);--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--section-gap: clamp(3rem, 6vw, 5rem);--content: 64rem}.dark{--gradient-hero: radial-gradient(120% 120% at 85% 0%, hsl(350 72% 60% / .16), transparent 55%), radial-gradient(120% 120% at 0% 20%, hsl(40 95% 60% / .16), transparent 55%);--shadow-card: 0 10px 40px -10px hsl(0 0% 0% / .55)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100dvh;background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--line-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3{line-height:var(--line-tight);letter-spacing:var(--tracking-tight);font-weight:var(--fw-bold);color:hsl(var(--foreground));text-wrap:balance}p{text-wrap:pretty}a{color:hsl(var(--brand));text-decoration:none}a:hover{text-decoration:underline}ul{list-style:none;padding:0}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-4)}.section{padding-block:var(--section-gap)}.skip-link{position:absolute;left:var(--space-4);top:-100%;z-index:100;background:hsl(var(--background));color:hsl(var(--foreground));padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.skip-link:focus{top:var(--space-3)}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background) / .85);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:3.5rem}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-bold);font-size:var(--text-lg);color:hsl(var(--foreground))}.brand:hover{text-decoration:none}.brand-mark{width:1.75rem;height:1.75rem;flex:none}.nav-links{display:flex;align-items:center;gap:var(--space-1)}.nav-links a{display:inline-block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:hsl(var(--muted-foreground));font-size:var(--text-sm);font-weight:var(--fw-medium)}.nav-links a:hover{color:hsl(var(--foreground));text-decoration:none;background:hsl(var(--muted) / .4)}.nav-links a[aria-current=page]{color:hsl(var(--brand));background:hsl(var(--brand) / .1)}.nav-actions{display:flex;align-items:center;gap:var(--space-3)}.controls{display:flex;align-items:center;gap:var(--space-2)}.seg{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid hsl(var(--border));border-radius:var(--radius-full);background:hsl(var(--muted) / .5)}.seg button{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 var(--space-2);border:0;border-radius:var(--radius-full);background:transparent;color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-weight:var(--fw-semibold);line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.seg button:hover{color:hsl(var(--foreground))}.seg button[aria-pressed=true]{background:hsl(var(--background));color:hsl(var(--brand));box-shadow:0 1px 2px #0000001f}.seg button svg{width:1.05rem;height:1.05rem}.search-form{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0;padding:2px var(--space-2);border:1px solid hsl(var(--border));border-radius:var(--radius-full);background:hsl(var(--muted) / .5);transition:border-color var(--duration-fast) var(--ease-out)}.search-form:focus-within{border-color:hsl(var(--brand))}.search-icon{width:1.05rem;height:1.05rem;flex:none;color:hsl(var(--muted-foreground))}.search-form input[type=search]{width:8rem;min-width:0;border:0;background:transparent;color:hsl(var(--foreground));font-size:var(--text-sm);line-height:1.2}.search-form input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search-form input[type=search]:focus{outline:none}@media(max-width:30rem){.nav{flex-wrap:wrap;height:auto;padding-block:var(--space-2);row-gap:var(--space-2)}.nav-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1)}.nav-links a{padding-inline:var(--space-2)}.controls{gap:var(--space-1)}.search-form input[type=search]{width:7rem}}.page-head{padding-block:var(--space-8) var(--space-4)}.page-head h1{font-size:clamp(var(--text-2xl),5vw,var(--text-4xl))}.page-head p{margin-top:var(--space-2);color:hsl(var(--muted-foreground))}.status{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:hsl(var(--muted) / .4);color:hsl(var(--muted-foreground));font-size:var(--text-xs)}.status:before{content:"";width:.5rem;height:.5rem;border-radius:var(--radius-full);background:hsl(var(--muted-foreground))}.status[data-state=ok]:before{background:#2eb860}.status[data-state=warn]:before{background:hsl(var(--primary))}.status[data-state=err]:before{background:hsl(var(--destructive))}.watched-bar{margin-top:var(--space-3)}.watched-bar__btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid hsl(var(--border));border-radius:var(--radius-full);background:hsl(var(--card));color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-weight:var(--fw-semibold);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.watched-bar__btn:hover{color:hsl(var(--foreground));border-color:hsl(var(--brand))}.watched-bar__btn[aria-pressed=true]{color:hsl(var(--brand));border-color:hsl(var(--brand))}.watched-bar__btn svg{width:1.05rem;height:1.05rem}.movie-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr);padding-block:var(--space-4) var(--section-gap)}@media(min-width:30rem){.movie-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:48rem){.movie-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:64rem){.movie-grid{grid-template-columns:repeat(5,1fr)}}.window-groups{display:flex;flex-direction:column;gap:var(--space-8);padding-block:var(--space-4) var(--section-gap)}.month-group{scroll-margin-top:6rem}.month-group .movie-grid{padding-block:0}.month-label{display:flex;align-items:baseline;gap:var(--space-3);margin-block:var(--space-4) var(--space-3);font-size:var(--text-xl);font-weight:var(--fw-semibold);text-transform:capitalize}.month-count{font-size:var(--text-sm);font-weight:var(--fw-normal);color:hsl(var(--muted-foreground))}.movie-card{display:flex;flex-direction:column;gap:var(--space-2);position:relative}.movie-card a{color:inherit}.movie-card a:hover{text-decoration:none}.poster{position:relative;aspect-ratio:2 / 3;border-radius:var(--radius-lg);overflow:hidden;background:hsl(var(--muted) / .3);box-shadow:var(--shadow-card)}.poster img{width:100%;height:100%;object-fit:cover}.rating{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:#000000a6;color:#f7b23b;font-size:var(--text-xs);font-weight:var(--fw-semibold);backdrop-filter:blur(4px)}.movie-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:hsl(var(--foreground));display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.movie-meta{font-size:var(--text-xs);color:hsl(var(--muted-foreground))}.watched-toggle{position:absolute;top:var(--space-2);left:var(--space-2);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:var(--radius-full);background:#0009;color:#fff;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.watched-toggle:hover{background:#000c}.watched-toggle svg{width:1.05rem;height:1.05rem}.watched-toggle[aria-pressed=true]{color:#47d17a}.watched-chip{display:none;position:absolute;bottom:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:#2eb860eb;color:#fff;font-size:var(--text-xs);font-weight:var(--fw-semibold)}.movie-card[data-watched=true] .watched-chip{display:inline-flex}.movie-card[data-watched=true] .poster img{opacity:.5}.movie-card__link{display:flex;flex-direction:column;gap:var(--space-2);color:inherit}.movie-card__link:hover{text-decoration:none}.movie-card .poster{transition:transform var(--duration-fast) var(--ease-out)}.movie-card__link:hover .poster,.movie-card__link:focus-visible .poster{transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.movie-card .poster,.movie-card__link:hover .poster,.movie-card__link:focus-visible .poster{transform:none;transition:none}}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);margin-block:var(--space-6) var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);color:hsl(var(--muted-foreground));font-size:var(--text-sm);font-weight:var(--fw-medium)}.back-link:hover{color:hsl(var(--foreground));background:hsl(var(--muted) / .4);text-decoration:none}.movie-detail{display:grid;gap:var(--space-6);grid-template-columns:1fr;padding-block:var(--space-2) var(--section-gap)}@media(min-width:48rem){.movie-detail{grid-template-columns:18rem 1fr;align-items:start;gap:var(--space-8)}}.detail-poster{position:relative;aspect-ratio:2 / 3;border-radius:var(--radius-lg);overflow:hidden;background:hsl(var(--muted) / .3);box-shadow:var(--shadow-card)}.detail-poster img{width:100%;height:100%;object-fit:cover}.poster-placeholder{width:100%;height:100%;background:hsl(var(--muted) / .5)}.detail-title{font-size:clamp(var(--text-2xl),5vw,var(--text-4xl))}.detail-year{font-weight:var(--fw-normal);color:hsl(var(--muted-foreground))}.detail-tagline{margin-top:var(--space-2);font-style:italic;color:hsl(var(--muted-foreground))}.detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-3);font-size:var(--text-sm);color:hsl(var(--muted-foreground))}.detail-meta li{display:inline-flex;align-items:center}.detail-meta .rating{position:static;padding:0;background:transparent;color:#f7b23b;backdrop-filter:none}.detail-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.link-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font-size:var(--text-sm);font-weight:var(--fw-semibold)}.link-chip:hover{text-decoration:none;border-color:hsl(var(--brand));color:hsl(var(--brand))}.link-chip svg{width:1.05rem;height:1.05rem}.link-chip.cineville-link{color:hsl(var(--brand));border-color:hsl(var(--brand) / .4)}.cineville-badge{display:inline-flex;align-items:center;gap:var(--space-1);align-self:flex-start;margin-top:var(--space-1);padding:.125rem var(--space-2);border-radius:var(--radius-full);background:hsl(var(--brand) / .14);color:hsl(var(--brand));font-size:var(--text-xs);font-weight:var(--fw-semibold);line-height:1.4;text-decoration:none}.cineville-badge:hover{background:hsl(var(--brand) / .26)}.cineville-badge svg{width:.85rem;height:.85rem}.detail-block{margin-top:var(--space-6)}.detail-block h2{font-size:var(--text-lg);margin-block:0 var(--space-2)}.detail-block p{color:hsl(var(--foreground));line-height:var(--line-normal)}.muted{color:hsl(var(--muted-foreground))}.cast-list{display:flex;gap:var(--space-3);overflow-x:auto;padding-block:var(--space-1);scroll-snap-type:x mandatory}.cast-list li{flex:0 0 auto;width:5rem;scroll-snap-align:start}.cast-photo{aspect-ratio:2 / 3;border-radius:var(--radius-md);overflow:hidden;background:hsl(var(--muted) / .4)}.cast-photo img{width:100%;height:100%;object-fit:cover}.cast-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--text-lg);font-weight:var(--fw-bold);color:hsl(var(--muted-foreground))}.cast-text{margin-top:var(--space-1)}.cast-name{display:block;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:hsl(var(--foreground));line-height:1.2}.cast-char{display:block;font-size:var(--text-xs);color:hsl(var(--muted-foreground));line-height:1.2}.message{padding-block:var(--space-12);text-align:center;color:hsl(var(--muted-foreground))}.message--error{color:hsl(var(--destructive))}.skeleton{aspect-ratio:2 / 3;border-radius:var(--radius-lg);background:hsl(var(--muted) / .35);animation:pulse 1.4s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.6}to{opacity:1}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.site-footer{border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .25);padding-block:var(--space-8);font-size:var(--text-sm);color:hsl(var(--muted-foreground))}.footer-row{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:center}.attribution{font-size:var(--text-xs);max-width:32rem}.attribution a{color:hsl(var(--muted-foreground));text-decoration:underline}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
