@import url("https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito+Sans:wght@400;500;600;700;800&display=swap");:root{--brand-navy:#1b1f3b;--brand-amber:#f0a93a;--brand-amber-600:#d99424;--brand-cream:#f2efe7;--color-bg:var(--brand-navy);--color-surface:color-mix(in srgb,var(--brand-cream) 8%,var(--brand-navy));--color-text:var(--brand-cream);--color-accent:var(--brand-amber);--color-divider:color-mix(in srgb,var(--brand-cream) 18%,transparent);--color-neutral-100:color-mix(in srgb,var(--brand-cream) 6%,var(--brand-navy));--color-neutral-200:color-mix(in srgb,var(--brand-cream) 12%,var(--brand-navy));--color-neutral-300:color-mix(in srgb,var(--brand-cream) 20%,var(--brand-navy));--color-neutral-400:color-mix(in srgb,var(--brand-cream) 32%,var(--brand-navy));--color-neutral-500:color-mix(in srgb,var(--brand-cream) 46%,var(--brand-navy));--color-neutral-600:color-mix(in srgb,var(--brand-cream) 60%,var(--brand-navy));--color-neutral-700:color-mix(in srgb,var(--brand-cream) 72%,var(--brand-navy));--color-neutral-800:color-mix(in srgb,var(--brand-cream) 86%,var(--brand-navy));--color-neutral-900:var(--brand-cream);--color-accent-100:color-mix(in srgb,var(--brand-amber) 14%,var(--brand-navy));--color-accent-200:color-mix(in srgb,var(--brand-amber) 24%,var(--brand-navy));--color-accent-300:color-mix(in srgb,var(--brand-amber) 38%,var(--brand-navy));--color-accent-400:color-mix(in srgb,var(--brand-amber) 55%,var(--brand-navy));--color-accent-500:color-mix(in srgb,var(--brand-amber) 75%,var(--brand-navy));--color-accent-600:var(--brand-amber-600);--color-accent-700:var(--brand-amber);--color-accent-800:color-mix(in srgb,var(--brand-amber) 70%,var(--brand-cream));--color-accent-900:color-mix(in srgb,var(--brand-amber) 40%,var(--brand-cream));--color-success-100:color-mix(in srgb,#8fbf5a 16%,var(--brand-navy));--color-success-300:color-mix(in srgb,#8fbf5a 40%,var(--brand-navy));--color-success-500:#8fbf5a;--color-success-700:color-mix(in srgb,#8fbf5a 70%,var(--brand-cream));--color-success-900:color-mix(in srgb,#8fbf5a 35%,var(--brand-cream));--color-danger-100:color-mix(in srgb,#e0785c 16%,var(--brand-navy));--color-danger-300:color-mix(in srgb,#e0785c 40%,var(--brand-navy));--color-danger-500:#e0785c;--color-danger-700:color-mix(in srgb,#e0785c 70%,var(--brand-cream));--color-danger-900:color-mix(in srgb,#e0785c 35%,var(--brand-cream));--font-heading:"Baloo 2",ui-sans-serif,system-ui,sans-serif;--font-heading-weight:700;--font-heading-weight-display:800;--font-body:"Nunito Sans",ui-sans-serif,system-ui,sans-serif;--text-caption:13px;--text-nav-label:15px;--text-body:17px;--text-subheading:19px;--text-heading-sm:32px;--text-heading:48px;--text-display:64px;--tracking-nav:0.05em;--tracking-display:-0.02em;--space-1:4.6px;--space-2:9.2px;--space-3:13.8px;--space-4:18.4px;--space-6:27.6px;--space-8:36.8px;--spacing-8:8px;--spacing-12:12px;--spacing-16:16px;--spacing-24:24px;--spacing-32:32px;--spacing-40:40px;--spacing-48:48px;--spacing-64:64px;--spacing-80:80px;--spacing-96:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--border-thick:2px;--shadow-sm:0 1px 2px color-mix(in srgb,#000 30%,transparent);--shadow-md:0 3px 10px color-mix(in srgb,#000 35%,transparent);--shadow-lg:0 12px 32px color-mix(in srgb,#000 45%,transparent)}*{box-sizing:border-box}body,html{background:var(--color-bg)}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-body);font-weight:500;line-height:1.5;color:var(--color-text);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.15;letter-spacing:-.01em;margin:0 0 var(--space-2)}h1{font-size:var(--text-heading);letter-spacing:var(--tracking-display)}h2{font-size:var(--text-heading-sm)}h3{font-size:var(--text-subheading)}a{color:var(--color-accent-700);font-weight:600;text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}ol,ul{margin:0 0 var(--space-3);padding-left:1.3em}li{margin-bottom:6px}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em;background:color-mix(in srgb,var(--color-text) 8%,transparent);padding:1px 5px;border-radius:var(--radius-sm)}.page{max-width:1080px;margin:0 auto;padding:32px 24px 80px}.narrow{max-width:480px}.navbar{position:relative;background:var(--color-bg);color:var(--color-text);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-divider)}.navbar .brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:19px}.navbar nav{display:flex;gap:var(--spacing-8);align-items:center}.navbar nav a{color:var(--color-neutral-700);font-family:var(--font-body);font-size:var(--text-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-nav);padding:8px 12px;border-radius:var(--radius-md)}.navbar nav a:hover{color:var(--color-accent-700);text-decoration:none;background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.navbar nav a.active{color:var(--brand-navy);background:var(--color-accent)}.navbar form button{background:transparent;border:var(--border-thick) solid var(--color-divider);color:var(--color-neutral-700);padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-size:var(--text-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-nav)}.navbar form button:hover{border-color:var(--color-accent);color:var(--color-accent-700)}.energy-indicator{display:inline-flex;align-items:center;gap:4px;background:var(--color-accent-100);color:var(--color-accent-800)!important;border:var(--border-thick) solid var(--color-accent-300);border-radius:var(--radius-pill);padding:4px 12px;font-size:var(--text-caption);font-weight:700}.energy-indicator:hover{border-color:var(--color-accent);text-decoration:none}.navbar-menu-toggle{display:none;background:transparent;border:var(--border-thick) solid var(--color-divider);color:var(--color-neutral-700);padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-nav);font-family:var(--font-body)}.navbar-menu-toggle:hover{border-color:var(--color-accent);color:var(--color-accent-700)}@media (max-width:900px){.navbar-menu-toggle{display:inline-block}.navbar nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--color-bg);border-bottom:1px solid var(--color-divider);box-shadow:var(--shadow-md);padding:4px 24px 12px;z-index:50}.navbar nav.open{display:flex}.navbar nav a{padding:12px 10px;border-radius:var(--radius-md);border-bottom:none}.navbar nav form{padding:12px 0 0}.navbar nav form button{width:100%;text-align:left;padding:10px 12px}}.card{background:transparent;border:var(--border-thick) solid var(--color-divider);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px}.card h2,.card h3{margin-top:0}.hero{background:transparent;color:var(--color-text);padding:0;margin-bottom:var(--space-4)}.hero h1{margin:0 0 var(--space-2);font-size:var(--text-heading-sm)}.onboarding-banner{background:var(--color-accent-100);border:var(--border-thick) solid var(--color-accent-300);border-radius:var(--radius-lg);padding:18px 22px;margin-bottom:24px}.onboarding-banner h2{color:var(--color-accent-800);margin-top:0}.progress-bar{background:transparent;border:var(--border-thick) solid var(--color-neutral-500);border-radius:var(--radius-pill);height:10px;margin-top:12px;overflow:hidden}.progress-bar-fill{background:var(--color-accent-500);height:100%;border-radius:var(--radius-pill)}.quick-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-16);margin-bottom:28px}.quick-action-card{flex:1 1 180px;max-width:220px;background:transparent;border:var(--border-thick) solid var(--color-divider);border-radius:var(--radius-md);padding:16px;text-align:center;transition:border-color .15s ease}.quick-action-card:hover{border-color:var(--color-accent)}.quick-action-card strong{display:block;margin-bottom:4px;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:15px}.quick-action-card span{font-size:12px;color:var(--color-neutral-700)}.title-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.title-grid .title-mini-card{flex:1 1 160px;max-width:180px}.title-poster-placeholder{background:var(--color-neutral-300);border-radius:var(--radius-lg);aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;color:var(--color-neutral-700);font-size:13px;overflow:hidden;box-sizing:border-box;border:6px solid var(--color-surface);outline:var(--border-thick) solid var(--color-divider);outline-offset:-2px}.title-poster-placeholder img{width:100%;height:100%;object-fit:cover;filter:sepia(.22) saturate(.82) contrast(1.05)}.title-mini-card{background:transparent;border:var(--border-thick) solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}.title-mini-card .info{padding:10px}.title-mini-card .info .name{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;margin-bottom:4px}.title-mini-card .info .meta{font-size:11px;color:var(--color-neutral-700)}.title-synopsis{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.4;margin:0 0 8px}.title-mini-card .info .title-synopsis{font-size:11px;margin:4px 0 0}.rec-card{display:flex;gap:16px;background:transparent;border:var(--border-thick) solid var(--color-divider);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.rec-card .poster{flex:0 0 100px}.rec-card .body{flex:1 1;min-width:0}.rec-card .actions{flex:0 0 140px;display:flex;flex-direction:column;gap:var(--spacing-8)}.rec-card .why{background:var(--color-neutral-100);border-left:3px solid var(--color-accent-300);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin-top:8px}.detail-row{display:flex;gap:20px}.detail-row .detail-poster{flex:0 0 120px}.detail-row .detail-body{flex:1 1;min-width:0}@media (max-width:560px){.detail-row{flex-direction:column}.detail-row .detail-poster{flex:0 0 auto;width:140px}}.badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-nav)}.badge-new{background:var(--color-success-100);color:var(--color-success-900)}.badge-chatbot{background:var(--color-accent-100);color:var(--color-accent-800)}.badge-surprise{background:var(--color-neutral-200);color:var(--color-neutral-900)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--spacing-12);margin-bottom:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;border:var(--border-thick) solid transparent;cursor:pointer;font-family:var(--font-body)}.chip-like{background:var(--color-success-100);color:var(--color-success-900);border-color:var(--color-success-300)}.chip-dislike{background:var(--color-danger-100);color:var(--color-danger-900);border-color:var(--color-danger-300)}.chip-neutral{background:var(--color-accent-100);color:var(--color-accent-800);border-color:var(--color-accent-300)}.chip-add{background:transparent;border:var(--border-thick) dashed var(--color-accent);color:var(--color-accent-700)}label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}input[type=email],input[type=password],input[type=search],input[type=text],select,textarea{width:100%;min-height:42px;padding:9px 14px;font:inherit;font-size:15px;color:var(--color-text);caret-color:var(--color-accent);background:transparent;border:var(--border-thick) solid var(--color-divider);border-radius:var(--radius-md);margin-bottom:14px}input[type=email]:hover,input[type=password]:hover,input[type=search]:hover,input[type=text]:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}input[type=email]:focus-visible,input[type=password]:focus-visible,input[type=search]:focus-visible,input[type=text]:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea{resize:vertical;min-height:70px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:var(--radius-md);border:var(--border-thick) solid transparent;font-family:var(--font-body);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:var(--tracking-nav);cursor:pointer;background:transparent;color:var(--color-text)}.btn-primary{background:var(--brand-amber);color:var(--brand-navy);border-color:var(--brand-amber)}.btn-primary:hover{background:var(--brand-amber-600);border-color:var(--brand-amber-600)}.btn-primary:active{background:color-mix(in srgb,var(--brand-amber-600) 85%,#000);border-color:var(--brand-amber-600)}.btn-success{color:var(--color-success-700);border-color:var(--color-success-500)}.btn-success:hover{background:color-mix(in srgb,var(--color-success-500) 14%,transparent)}.btn-success:active{background:color-mix(in srgb,var(--color-success-500) 24%,transparent)}.btn-outline{background:transparent;color:var(--color-accent-700);border-color:var(--color-divider)}.btn-outline:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-color:var(--color-accent)}.btn-danger-outline{background:transparent;color:var(--color-danger-700);border-color:var(--color-danger-300)}.btn-danger-outline:hover{background:color-mix(in srgb,var(--color-danger-500) 12%,transparent)}.btn:disabled{opacity:.45;cursor:not-allowed}.error-text{color:var(--color-danger-700);font-size:13px;margin-bottom:12px}.muted{color:var(--color-neutral-700);font-size:13px}.dot-rating{display:inline-flex;gap:4px;vertical-align:middle}.dot{width:18px;height:18px;border:none;background-color:var(--color-neutral-400);-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);cursor:pointer;padding:0}.dot.filled{background-color:var(--color-accent-700)}.dot:disabled{cursor:default}.chat-page-shell{display:flex;flex-direction:column;height:100vh;height:100dvh}.chat-page-inner{max-width:1080px;width:100%;margin:0 auto;padding:20px 24px 16px}.chat-page-inner,.chat-window{flex:1 1;min-height:0;display:flex;flex-direction:column}.chat-window{background:transparent;border:var(--border-thick) solid var(--color-divider);padding:20px;overflow-y:auto;gap:12px;margin-bottom:16px}.chat-bubble,.chat-window{border-radius:var(--radius-lg)}.chat-bubble{max-width:75%;padding:10px 16px;border:var(--border-thick) solid var(--color-divider);font-size:14px;line-height:1.4;white-space:pre-wrap}.chat-bubble.user{align-self:flex-end;background:var(--color-accent-100);border-color:var(--color-accent-300);color:var(--color-accent-900)}.chat-bubble.assistant{align-self:flex-start;background:var(--color-neutral-100);color:var(--color-text)}.chat-input-row{display:flex;gap:10px}.chat-input-row input{margin-bottom:0;flex:1 1}.toast{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:flex-start;gap:12px;background:var(--color-surface);color:var(--color-text);border:var(--border-thick) solid var(--color-divider);padding:16px 20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:420px;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.toast-icon{font-size:18px;font-weight:700;line-height:1.3;color:var(--color-success-700)}.toast-text{flex:1 1}.toast-message{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:16px}.toast-guidance{font-size:13px;opacity:.75;margin-top:2px}.toast-close{background:none;border:none;color:var(--color-neutral-700);font-size:18px;cursor:pointer;line-height:1;padding:0;opacity:.8}.toast-close:hover{opacity:1;color:var(--color-accent-700)}@media (max-width:500px){.toast{left:12px;right:12px;transform:none;max-width:none}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}}.modal-backdrop{position:fixed;inset:0;background:color-mix(in srgb,#000 55%,transparent);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-box{background:var(--color-surface);border:var(--border-thick) solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px;max-width:420px;width:100%}.energy-limit-modal{border-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 20%,transparent),var(--shadow-lg)}.section-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:24px;margin:28px 0 12px}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:700px){.two-col{grid-template-columns:1fr}.rec-card{flex-direction:column}}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-bottom:1px solid var(--color-divider)}.landing-nav .brand{font-family:var(--font-heading);font-weight:800;font-size:19px;color:var(--color-accent)}.landing-nav a{color:var(--color-neutral-700);font-family:var(--font-body);font-weight:700;font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--tracking-nav)}.landing-kicker{font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-accent);font-size:18px;letter-spacing:.02em;margin-bottom:var(--space-2)}.landing-hero{max-width:800px;margin:0 auto;padding:var(--spacing-96) 24px var(--spacing-64);text-align:center}.landing-hero h1{font-size:var(--text-display);font-weight:var(--font-heading-weight-display);letter-spacing:var(--tracking-display);margin-bottom:var(--space-4)}.landing-hero p{font-size:18px;color:var(--color-neutral-800);max-width:560px;margin:0 auto var(--space-6)}.landing-cta-row{display:flex;gap:var(--spacing-12);justify-content:center;flex-wrap:wrap}.landing-cta-row .btn{font-size:16px;padding:14px 32px}.landing-section{max-width:1000px;margin:0 auto;padding:var(--spacing-80) 24px;border-top:1px solid var(--color-divider)}.landing-section h2{text-align:center;color:var(--color-accent);font-weight:var(--font-heading-weight-display)}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-6);gap:var(--space-6);margin-top:var(--space-6)}.landing-step{text-align:center}.landing-step-number{width:44px;height:44px;border:var(--border-thick) solid var(--color-accent);color:var(--color-accent-700);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin:0 auto var(--space-3)}.landing-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--spacing-16);gap:var(--spacing-16);margin-top:var(--space-6)}.landing-feature-card{border:var(--border-thick) solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--spacing-24)}.landing-screenshots-intro{text-align:center;margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-6)}.landing-screenshot{margin:0 0 var(--space-6)}.landing-screenshot img{display:block;width:100%;height:auto;border-radius:var(--radius-lg);border:var(--border-thick) solid var(--color-divider)}.landing-screenshot figcaption{text-align:center;font-size:13px;color:var(--color-neutral-700);margin-top:var(--space-2)}.landing-screenshot-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-6);gap:var(--space-6)}.landing-screenshot-grid .landing-screenshot{margin-bottom:0}.landing-cta-section{text-align:center;padding:var(--spacing-80) 24px;border-top:1px solid var(--color-divider)}.landing-cta-section h2{font-size:30px;color:var(--color-accent);font-weight:var(--font-heading-weight-display);margin-bottom:var(--space-4)}.landing-footer{text-align:center;padding:var(--spacing-48) 24px;font-size:13px;font-weight:700;letter-spacing:var(--tracking-nav);text-transform:uppercase;color:var(--brand-navy);background:var(--brand-amber)}.landing-footer a{color:var(--brand-navy);text-decoration:underline}.app-footer{text-align:center;padding:14px;font-size:11px;border-top:1px solid var(--color-divider)}.app-footer,.app-footer a{color:var(--color-neutral-700)}.app-footer a{text-decoration:underline}@media (max-width:700px){.landing-feature-grid,.landing-screenshot-grid,.landing-steps{grid-template-columns:1fr}.landing-hero h1{font-size:40px}}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.table td,.table th{padding:var(--space-2);border-bottom:1px solid var(--color-divider)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}@media (max-width:700px){.table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}