:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{-webkit-tap-highlight-color:transparent}body,h1,h2,p{margin:0}:root{--bg:#16130f;--bg-elev:#211c17;--bg-card:#2a231c;--border:#3d332a;--text:#f2ece2;--text-dim:#b6a99a;--accent:#e0863f;--accent-text:#16130f;--danger:#d9694f;--type-flight:#5b9bd5;--type-train:#6fbf73;--type-lodging:#b18ce0;--type-dinner:#e0863f;--type-event:#e05f8f;--type-other:#9a9a9a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}svg{flex-shrink:0;display:block}.app{min-height:100vh;padding-bottom:96px}.app-header{z-index:5;background:var(--bg-elev);position:sticky;top:0}.topbar{padding:max(14px, env(safe-area-inset-top)) 16px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.topbar-main{align-items:baseline;gap:10px;display:flex}.brand{letter-spacing:-.01em;font-size:17px;font-weight:600}.day-counter{color:var(--text-dim);font-size:13px;font-weight:500}.topbar-right{align-items:center;gap:6px;display:flex}.offline-pill{color:#f0c477;background:#4a3419;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:inline-flex}.weather-chip{background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;align-items:center;gap:4px;padding:4px 10px 4px 8px;font-size:13px;font-weight:500;display:inline-flex}.icon-btn{width:40px;height:40px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-btn:hover{color:var(--accent)}.tab-row{border-bottom:1px solid var(--border);padding:0 4px;display:flex;overflow-x:auto}.tab{min-width:64px;color:var(--text-dim);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 10px 10px;font-size:11px;font-weight:500;display:flex}.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.chip-row{gap:8px;padding:12px 16px 0;display:flex;overflow-x:auto}.chip{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:14px}.chip-active{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.error-banner{color:#f0a091;background:#3b2320;border-radius:8px;margin:12px 16px 0;padding:10px 12px;font-size:14px}.timeline{max-width:680px;margin:0 auto;padding:16px}.day{margin-bottom:28px}.day-today{background:linear-gradient(#e0863f14,#0000 40%);border-radius:16px;margin:-12px -12px 28px;padding:12px 12px 4px}.day-heading{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:15px;font-weight:700}.day-today .day-heading{color:var(--accent)}.card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--type-other);border-radius:12px;align-items:stretch;gap:4px;margin-bottom:10px;transition:border-color .15s;display:flex;overflow:hidden}.card:hover{border-color:var(--accent);border-left-color:var(--type-other)}.card-type-flight{border-left-color:var(--type-flight)}.card-type-train{border-left-color:var(--type-train)}.card-type-lodging{border-left-color:var(--type-lodging)}.card-type-dinner{border-left-color:var(--type-dinner)}.card-type-event{border-left-color:var(--type-event)}.card-type-other{border-left-color:var(--type-other)}.card-main{text-align:left;min-width:0;color:var(--text);font:inherit;background:0 0;border:none;flex:1;gap:12px;padding:12px 10px 12px 14px;display:flex}.card-icon{background:var(--bg-elev);width:36px;height:36px;color:var(--text-dim);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.card-top{color:var(--text-dim);justify-content:space-between;gap:8px;font-size:12px;display:flex}.card-title{font-size:16px;font-weight:600}.card-sub{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.card-city{align-items:center;gap:3px;font-weight:600;display:inline-flex}.bot-badge{color:var(--accent)}.card-directions{border-left:1px solid var(--border);width:44px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex}.card-directions:hover{color:var(--accent);background:#e0863f14}.empty-state{text-align:center;color:var(--text-dim);padding:60px 20px}.muted{color:var(--text-dim)}.fab{bottom:max(24px, calc(env(safe-area-inset-bottom) + 16px));background:var(--accent);width:56px;height:56px;color:var(--accent-text);z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;right:24px;box-shadow:0 6px 16px #0006}.link-btn{color:var(--text-dim);background:0 0;border:none;font-size:14px;text-decoration:underline}.primary-btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:8px;padding:10px 18px;font-size:15px;font-weight:600}.danger-btn{border:1px solid var(--danger);color:var(--danger);background:0 0;border-radius:8px;padding:10px 16px;font-weight:600}button:disabled{opacity:.6}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;width:100%;max-width:380px;padding:28px 24px}.auth-card h1{margin:0 0 4px;font-size:22px}form label{color:var(--text-dim);flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;display:flex}input,select,textarea{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:16px}.row-2{gap:12px;display:flex}.row-2 label{flex:1}.error-text{color:var(--danger);margin:-6px 0 14px;font-size:13px}.modal-backdrop{z-index:20;background:#0000008c;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--bg-elev);width:100%;max-height:92vh;padding:20px 20px max(20px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0;margin:0 auto;overflow-y:auto}@media (width>=640px){.modal-backdrop{align-items:center}.modal{border-radius:16px;max-width:480px}}.modal h2{margin:0 0 16px}.modal-actions{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.modal-actions-right{align-items:center;gap:14px;display:flex}.detail-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.detail-type{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.edit-btn{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.edit-btn:hover{border-color:var(--accent);color:var(--accent)}.detail-title{margin:0 0 4px;font-size:20px}.detail-when{color:var(--text-dim);margin:0 0 20px;font-size:14px}.detail-list{flex-direction:column;gap:14px;margin:0;display:flex}.detail-row{border-top:1px solid var(--border);padding-top:12px}.detail-row dt{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;font-size:11px;font-weight:600}.detail-row dd{word-break:break-word;margin:0;font-size:15px}.detail-row dd a{color:var(--accent)}.detail-directions{color:var(--accent);white-space:nowrap;align-items:center;gap:4px;margin-left:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.detail-meta{margin:20px 0 0;font-size:12px}.map-view{flex-direction:column;height:calc(100vh - 118px);min-height:320px;display:flex}.map-canvas{flex:1;width:100%}.map-placeholder{text-align:center;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:60px 24px;display:flex}.map-day-directions{text-align:center;background:var(--bg-elev);border-top:1px solid var(--border);padding:12px;display:block}.ideas-view{max-width:680px;margin:0 auto;padding:16px}.idea-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.idea-body{flex-direction:column;gap:3px;min-width:0;display:flex}.idea-title{font-size:15px;font-weight:600}.idea-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.idea-scheduled{color:var(--text-dim);margin-top:16px;font-size:13px}.idea-scheduled summary{cursor:pointer}.idea-add-form{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;margin-top:12px;padding:16px}.settings-view{max-width:480px;margin:0 auto;padding:16px}.settings-section{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:18px}.settings-section h3{margin:0 0 4px;font-size:15px}.settings-section .muted{margin-bottom:12px;font-size:13px;display:block}.settings-section code{background:var(--bg-card);border-radius:4px;padding:1px 6px;font-size:12px}.settings-section h3{align-items:center;gap:6px;display:flex}.checkbox-label{align-items:center;color:var(--text)!important;flex-direction:row!important;gap:8px!important}.checkbox-label input[type=checkbox]{width:auto;accent-color:var(--accent)}.copy-row{align-items:center;gap:6px;display:flex;position:relative}.copy-row input{color:var(--text-dim);font-size:13px}.copy-confirm{color:var(--accent);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:12px;position:absolute;top:-26px;right:0}.attachments-section{margin-bottom:14px}.attachments-label{color:var(--text-dim);margin-bottom:8px;font-size:13px}.attachments-grid{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.attachment-thumb{border:1px solid var(--border);border-radius:10px;width:72px;height:72px;display:block;position:relative;overflow:hidden}.attachment-thumb img{object-fit:cover;width:100%;height:100%}.attachment-remove{color:#fff;background:#16130fbf;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:3px;right:3px}.attachment-add-btn{border:1px dashed var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.attachment-add-btn:hover{border-color:var(--accent);color:var(--accent)}.detail-attachments{margin-top:20px}.up-next{border:1px solid var(--accent);width:calc(100% - 32px);color:var(--text);text-align:left;background:linear-gradient(135deg,#e0863f29,#e0863f0a);border-radius:14px;align-items:center;gap:12px;margin:16px 16px 0;padding:14px;display:flex}.up-next-icon{background:var(--accent);width:40px;height:40px;color:var(--accent-text);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.up-next-body{flex-direction:column;gap:2px;min-width:0;display:flex}.up-next-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.up-next-title{font-size:16px;font-weight:600}.up-next-sub{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}
