:root{--bg: #faf7f2;--surface: #ffffff;--surface2: #f2eee7;--line: #e7e1d6;--text: #1f2a24;--muted: #5f6a64;--primary: #a8323f;--primary-dim: #f5e1e3;--on-primary: #ffffff;--accent: #d9a441;--danger: #b03a3a;--on-accent: #1f2a24;--shadow: 0 4px 18px rgba(31, 42, 36, .06);--radius: 16px;--header-h: 56px;--nav-h: 72px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", system-ui, sans-serif;--font-display: "Space Grotesk", var(--font);--grad-from: #a8323f;--grad-to: #c4513f;--primary-grad: linear-gradient(135deg, var(--grad-from) 0%, var(--grad-to) 100%);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #15110f;--surface: #1f1917;--surface2: #2a2220;--line: #3a302d;--text: #eef2ee;--muted: #97a39c;--primary: #e07a6b;--primary-dim: #3a2320;--on-primary: #1a0f0d;--accent: #e6b45a;--danger: #e07070;--on-accent: #1a0f0d;--shadow: 0 4px 18px rgba(0, 0, 0, .35);--grad-from: #d4625a;--grad-to: #f0a08a}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}ul{list-style:none;margin:0;padding:0}h1,h2,h3,p{margin:0}.muted{color:var(--muted)}.center{display:grid;place-items:center;min-height:100dvh}.shell{max-width:560px;margin:0 auto;padding:calc(var(--header-h) + env(safe-area-inset-top) + 8px) 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px)}.header{position:fixed;top:0;left:0;right:0;z-index:30;height:calc(var(--header-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{max-width:560px;margin:0 auto;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.header h1{font-size:20px;font-weight:700;letter-spacing:-.01em}.brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display)}.brand span{background:var(--primary-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.brand em{font-style:normal;font-weight:500}.brand-title,.empty h2{font-family:var(--font-display)}.brand-title{background:var(--primary-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.group-title{font-family:var(--font-display)}.avatars{display:flex}.avatar{width:30px;height:30px;border-radius:50%;background:var(--primary-dim);color:var(--primary);font-size:13px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg);margin-left:-8px}.avatar.me{background:var(--primary);color:var(--on-primary)}.nav{position:fixed;bottom:0;left:0;right:0;z-index:30;padding:6px 0 calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}.nav-inner{max-width:560px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}.nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;color:var(--muted);text-decoration:none;font-size:11px;font-weight:600;transition:color .16s ease}.nav a.active{color:var(--primary)}.nav svg{width:22px;height:22px}.group{margin-bottom:20px}.group-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:0 4px 8px}.group-title .n{margin-left:auto;font-weight:600}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.empty{text-align:center;padding:48px 12px 24px;color:var(--muted)}.empty h2{font-size:20px;color:var(--text);margin-bottom:6px}.chip{padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:14px;font-weight:500;transition:background .16s ease}.chip:active{background:var(--surface2)}.link-btn{color:var(--muted);font-size:13px;font-weight:600;padding:8px 4px}.link-btn:active{color:var(--text)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:50}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;max-width:560px;margin:0 auto;background:var(--surface);border-radius:22px 22px 0 0;padding:0 0 env(safe-area-inset-bottom);box-shadow:0 -8px 30px #0000002e;display:flex;flex-direction:column;max-height:88dvh}.grip-zone{flex:none;padding:10px 0 8px;touch-action:none;cursor:grab}.sheet-close{position:absolute;top:6px;right:8px;width:44px;height:44px;border-radius:22px;font-size:24px;line-height:1;color:var(--muted)}.grip{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto}.sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 16px 16px;overscroll-behavior:contain}.sheet h3{font-size:17px;font-weight:700;margin-bottom:4px}.sheet .sub{color:var(--muted);font-size:14px;margin-bottom:14px}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cat-grid button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:14px;background:var(--surface2);font-size:12px;font-weight:600;text-align:center;border:2px solid transparent;transition:border-color .16s ease}.cat-grid button .e{font-size:22px}.cat-grid button.active{border-color:var(--primary)}.sheet-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.btn{flex:1 1 140px;min-height:46px;padding:0 14px;border-radius:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-align:center;color:inherit;text-decoration:none;background:var(--surface2);transition:transform .12s ease}.btn:active{transform:scale(.98)}.btn.primary{background:var(--primary-grad);color:var(--on-primary)}.btn.danger{color:var(--danger)}.auth{max-width:380px;margin:0 auto;padding:calc(64px + env(safe-area-inset-top)) 20px 40px}.auth .logo{display:flex;justify-content:center;margin:0 auto 10px}.auth h1{text-align:center;font-size:26px;font-weight:700;margin-bottom:6px}.auth .sub{text-align:center;color:var(--muted);margin-bottom:28px}.field{width:100%;height:50px;padding:0 16px;margin-bottom:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface);outline:none}.field:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-dim)}.auth .btn{width:100%;margin-top:6px}.auth .error{color:var(--danger);font-size:14px;margin:0 0 12px}.auth .foot{text-align:center;margin-top:20px;color:var(--muted);font-size:14px}.auth .foot a{color:var(--primary);font-weight:600;text-decoration:none}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sheet:focus-visible{outline:none}.chips-row{display:flex;gap:8px;overflow-x:auto;padding:0 2px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chips-row::-webkit-scrollbar{display:none}.chips-row .chip{flex:none;white-space:nowrap}.chip.active{background:var(--primary-grad);color:var(--on-primary);border-color:transparent}.chip .n{opacity:.7;font-size:12px;margin-left:2px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.tile{padding:14px;min-width:0;overflow-wrap:anywhere}.tile-num{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.tile .muted{font-size:12px}.compare{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0 4px}.compare td{padding:3px 2px;white-space:nowrap}.compare td:nth-child(2){width:100%;padding-left:8px}.compare td:last-child{text-align:right;font-weight:700;color:var(--primary)}.compare tr:not(.in) td{color:var(--muted);font-weight:500}.compare tr:not(.in) td:last-child{color:var(--muted)}.show{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left;text-decoration:none}.show:last-child{border-bottom:0}a.show:active,button.show:active{background:var(--surface2)}.show-time{font-family:var(--font-display);font-weight:600;min-width:48px;display:flex;flex-direction:column}.show-time small{font-size:11px;color:var(--muted);font-family:var(--font);font-weight:600}.show-main{flex:1;min-width:0;display:flex;flex-direction:column}.show-main small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--surface2);color:var(--muted)}.badge.ov{background:var(--primary-dim);color:var(--primary)}.show.more{color:var(--muted);font-size:13px;font-weight:600}.stale{background:var(--primary-dim);color:var(--primary);border-radius:12px;padding:8px 12px;font-size:13px;margin-bottom:10px}.card.pad{padding:14px}.note{padding:10px 14px 0;color:var(--muted);font-size:14px}.opt{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.opt:last-child{border-bottom:0}.opt.best{background:var(--primary-dim)}.opt.booked{box-shadow:inset 3px 0 0 var(--accent)}.opt-head{display:flex;justify-content:space-between;align-items:center}.opt-votes{display:flex;align-items:center;gap:4px;margin-top:4px}.opt-votes .avatar{margin-left:0;position:relative;opacity:.45}.opt-votes .avatar i{position:absolute;right:-4px;bottom:-4px;font-style:normal;font-size:11px;font-weight:800}.opt-votes .avatar.v-yes{opacity:1}.opt-votes .avatar.v-maybe{opacity:.8}.opt-votes .avatar.v-no{opacity:.45}.tri{margin-left:auto;display:flex;gap:6px}.tri button{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:800;font-size:15px}.tri button.on{color:var(--on-primary);border-color:transparent}.tri button.on.yes{background:var(--primary)}.tri button.on.maybe{background:var(--accent);color:var(--on-accent)}.tri button.on.no{background:var(--danger)}textarea.field{min-height:72px;resize:vertical;font-family:inherit}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stars{color:var(--accent);font-size:18px;letter-spacing:2px;margin-top:4px}.card.pad p{margin-bottom:2px}.sheet .field{margin-bottom:10px}.slot{padding:12px 14px;border-bottom:1px solid var(--line)}.slot:last-child{border-bottom:0}.slot-top{display:flex;align-items:center;gap:12px}.slot-actions{display:flex;gap:8px;margin-top:10px;padding-left:60px}.mini{height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;display:inline-flex;align-items:center;text-decoration:none}.mini.primary{background:var(--primary-dim);color:var(--primary);border-color:transparent}.mini:active{transform:scale(.97)}.movie-btn{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:8px;padding:8px 12px 8px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:left;box-shadow:var(--shadow)}.movie-btn:active{background:var(--surface2);transform:scale(.99)}.movie-thumb{width:40px;height:60px;object-fit:cover;border-radius:6px;flex:none;background:var(--surface2)}.movie-btn-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding-left:4px}.movie-btn-text strong{font-family:var(--font-display);font-size:19px;line-height:1.2;font-weight:700}.movie-btn-text small{color:var(--muted);font-size:13px}.movie-btn-chev{width:22px;height:22px;flex:none;fill:none;stroke:var(--primary);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.status-line{font-size:12px;font-weight:700;color:var(--primary);margin:-2px 4px 8px;text-transform:uppercase;letter-spacing:.04em}.movie-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}.movie-poster{width:96px;border-radius:10px;flex:none;box-shadow:var(--shadow)}.movie-overview{font-size:14px;line-height:1.5;margin-bottom:12px}.facts{display:grid;gap:8px;margin:0}.facts div{display:grid;grid-template-columns:96px 1fr;gap:8px;font-size:14px}.facts dt{color:var(--muted)}.facts dd{margin:0}.check-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:6px 0 4px}.check-row input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--primary)}.fix{margin:8px 0 4px;font-size:14px;color:var(--muted)}.fix summary{cursor:pointer;padding:6px 0}.fix .field{margin-top:8px}.history{margin:6px 0 0;font-size:13px;color:var(--muted)}.history ul{margin:4px 0 0;padding-left:18px}.changes{list-style:none;margin:4px 0 0;padding:0;font-size:13px;color:var(--danger)}.changes .ack{color:var(--muted)}.tray{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));display:flex;gap:8px;align-items:center;padding:10px 12px;margin:8px 0;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:14px}.tray span{flex:1;min-width:0}.compare{list-style:none;margin:0 0 8px;padding:0}.compare li{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.compare small{display:block;color:var(--muted)}.time-filters{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:4px 0 10px;font-size:14px;color:var(--muted)}.time-filters input{margin-left:6px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:4px 6px}.unsure{margin:10px 0 2px;font-size:13px;color:var(--muted)}.tally{display:block;font-size:12px;color:var(--muted)}.step{margin:-4px 4px 8px}.queue{margin:0 0 16px;padding:12px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.queue h2{margin:0 0 6px;font-size:15px}.queue ul{margin:0;padding-left:18px;font-size:14px}.share-row{display:flex;gap:10px;align-items:center;margin:4px 0}.outing{margin:0 0 16px;padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:14px}.outing h2{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--primary)}.outing p{margin:4px 0}.outing-title{font-size:18px;font-weight:700}.att{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.poster-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:16px}.poster-mosaic img{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px}
