:root{--bg:#0f0f14;--surface:#1a1a22;--surface-2:#23232e;--border:#33333f;--text:#f2f2f5;--text-dim:#9a9aa8;--accent:#7c3aed;--accent-dim:#a78bfa;--danger:#ef4444;--success:#22c55e;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.app-title{color:var(--accent-dim);margin:0;font-size:1.75rem;font-weight:700}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.1rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn-block{width:100%;margin:.75rem 0}.btn:disabled{opacity:.6;cursor:default}.icon-btn{width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-2)}label{color:var(--text-dim);flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.85rem;display:flex}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.6rem .7rem}.form-error{color:var(--danger);font-size:.85rem}.form-actions{justify-content:flex-end;gap:.6rem;display:flex}.empty-state{color:var(--text-dim);text-align:center;padding:1.5rem 0}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;width:100%;max-width:340px;padding:2rem 1.5rem}.auth-subtitle{color:var(--text-dim);margin:.25rem 0 1.5rem}.auth-form{text-align:left}.loading-screen{min-height:100vh;color:var(--text-dim);justify-content:center;align-items:center;display:flex}.home-screen{max-width:480px;margin:0 auto;padding:1.5rem}.home-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.home-greeting{color:var(--text-dim);margin:.15rem 0 0}.feature-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.feature-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--accent-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1.75rem 1rem;font-weight:600;display:flex}.feature-tile span{color:var(--text)}.page{max-width:480px;margin:0 auto;padding:1rem 1.25rem 3rem}.page-header{align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.page-header h1{flex:1;margin:0;font-size:1.25rem}.page-header-actions{gap:.25rem;display:flex}.section-heading{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:1.5rem 0 .5rem;font-size:.85rem}.points-meter{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;margin-bottom:1rem;padding:1.5rem}.meter-track{background:linear-gradient(90deg, #f472b6, var(--surface-2) 50%, #38bdf8);border-radius:999px;height:10px;margin-bottom:1rem;position:relative}.meter-fill{border:3px solid var(--accent);background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:-4px;transform:translate(-50%)}.meter-readout{margin:0;font-size:1.05rem}.meter-amount{color:var(--text-dim)}.points-form,.trip-form,.add-film-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:.75rem 0;padding:1rem}.direction-toggle{gap:.5rem;margin-bottom:.75rem;display:flex}.toggle-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;flex:1;padding:.6rem}.toggle-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.history-feed{margin:0;padding:0;list-style:none}.history-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 0;display:flex}.history-reason{margin:0 0 .2rem}.history-meta{color:var(--text-dim);margin:0;font-size:.85rem}.history-date{color:var(--text-dim);white-space:nowrap;font-size:.8rem}.history-item-editing{display:block}.history-item-editing .points-form{width:100%;margin:0}.history-item-actions{align-items:center;gap:.15rem;display:flex}.tab-row{gap:.5rem;margin-bottom:.75rem;display:flex}.tab-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-dim);border-radius:10px;flex:1;padding:.55rem}.tab-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.filter-bar select{flex:1;min-width:120px}.film-list{margin:0;padding:0;list-style:none}.film-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;padding:.9rem 1rem;display:flex}.film-title{margin:0 0 .2rem;font-weight:600}.film-description{color:var(--text-dim);margin:0 0 .3rem;font-size:.85rem}.film-meta{color:var(--text-dim);margin:0;font-size:.8rem}.film-rating{color:#fbbf24;letter-spacing:.1em;margin:.3rem 0 0}.modal-backdrop{z-index:20;background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;width:100%;max-width:320px;padding:1.5rem}.rating-stars{justify-content:center;gap:.4rem;margin:1rem 0;display:flex}.star-btn{color:#fbbf24;cursor:pointer;background:0 0;border:none}.list{margin:0;padding:0;list-style:none}.list-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;width:100%;margin-bottom:.5rem;padding:.9rem 1rem;display:flex}.list-row-title{font-weight:600;display:block}.list-row-sub{color:var(--text-dim);margin-top:.15rem;font-size:.85rem;display:block}.trip-dates,.trip-notes{color:var(--text-dim);margin:0 0 .5rem}.checklist-view{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:1rem 0;padding:1rem}.checklist-view-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.checklist-title{cursor:pointer;margin:0;font-size:1.05rem}.checklist-items{margin:0;padding:0;list-style:none}.checklist-item{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.checklist-item-check{cursor:pointer;flex:1;align-items:center;gap:.6rem;display:flex}.checklist-item.done .checklist-item-check span{color:var(--text-dim);text-decoration:line-through}.checklist-item-audit{color:var(--text-dim);white-space:nowrap;font-size:.75rem}.checklist-item-actions{gap:.1rem;display:flex}.add-item-form{gap:.5rem;margin-top:.75rem;display:flex}.add-item-form input{flex:1}.source-picker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:.75rem 0;padding:1rem}@media (prefers-color-scheme:light){:root{--bg:#f7f7fb;--surface:#fff;--surface-2:#f0f0f5;--border:#e2e2ea;--text:#1a1a22;--text-dim:#6b6b78;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}
