:root{--bg:#fff;--text:#1a1a1a;--muted:#6b6b6b;--accent:#2f6f4f;--border:#e2e2e2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14161a;--text:#f2f2f2;--muted:#a0a0a0;--accent:#6fcf97;--border:#2c2f36}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Noto Sans JP,sans-serif;font-size:17.5px;line-height:1.5}.runtime-status-control{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.runtime-status-select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:4px 6px;font-size:15.5px}.sync-indicator{color:var(--muted);font-size:14.5px}.sync-saving{font-style:italic}.sync-synced{color:var(--accent)}.sync-failed{color:#c0392b}.sync-retry{color:#fff;cursor:pointer;background:#c0392b;border:none;border-radius:10px;padding:1px 8px;font-size:13.5px}.checklist-card{border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:14px}.checklist-heading{margin:0 0 8px;font-size:18.5px}.checklist-empty{color:var(--muted);margin:0;font-size:17px;font-style:italic}.checklist-group{margin-top:12px}.checklist-group:first-of-type{margin-top:0}.checklist-group-name{text-transform:uppercase;letter-spacing:.03em;color:var(--accent);margin:0 0 4px;font-size:16.5px}.checklist-group-note{color:var(--muted);margin:0 0 6px;font-size:15.5px}.checklist-items{margin:0;padding:0;list-style:none}.checklist-item{border-bottom:1px solid var(--border);padding:6px 0}.checklist-item:last-child{border-bottom:none}.checklist-item-label{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.checklist-item-label input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin-top:2px}.checklist-item-text{font-size:17px}.checklist-item-text.checked{opacity:.6;text-decoration:line-through}.checklist-essential{color:var(--muted);font-size:15px;font-style:italic}.checklist-item-notes{color:var(--muted);margin:2px 0 0 26px;font-size:15.5px}.trip-header{margin-bottom:16px}.trip-header-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.trip-header-row h1{margin:0;font-size:24px}.trip-dates{color:var(--muted);margin:4px 0 0;font-size:16.5px}.trip-tagline{margin:6px 0 0;font-size:16.5px}.lifecycle-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;color:#fff;border-radius:20px;padding:3px 10px;font-size:13.5px;font-weight:700}.lifecycle-draft{background:#8a6d1f}.lifecycle-live{background:var(--accent)}.lifecycle-final{background:#6b6b6b}.day{margin:18px 0 0}.day-header{z-index:1;background:var(--bg);border-bottom:1px solid var(--border);margin:0 0 8px;padding:6px 0;font-size:18px;position:sticky;top:0}.day-items{flex-direction:column;gap:10px;display:flex}.item{border:1px solid var(--border);border-radius:10px;padding:12px}.item-row1{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.item-time{font-size:16.5px;font-weight:700}.item-category{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:13.5px}.item-category.category-kids,.item-category.category-pool{color:#fff;border-radius:20px;padding:2px 8px;font-weight:700}.item-category.category-kids{background:#d4547a}.item-category.category-pool{background:#1b8fa3}.item-status{text-transform:uppercase;letter-spacing:.03em;background:var(--border);border-radius:20px;margin-left:auto;padding:2px 8px;font-size:13px;font-weight:700}.status-confirmed,.status-booked{background:var(--accent);color:#fff}.status-research,.status-shortlisted,.status-planned{color:#3a2f00;background:#e0c46b}.status-cancelled,.status-killed-no-reply,.status-skipped{color:#fff;background:#c0531a}.item-title{margin:0 0 4px;font-size:18px}.item-body{margin:0 0 4px;font-size:17px}.item-note{color:#b15a00;margin:0 0 4px;font-size:15.5px}.item-maps{gap:12px;margin-top:4px;display:flex}.item-maps a{color:var(--accent);font-size:16.5px;font-weight:600;text-decoration:none}.today-card{border:2px solid var(--accent);border-radius:12px;margin-bottom:20px;padding:14px}.today-heading{justify-content:space-between;align-items:baseline;margin:0 0 8px;font-size:18.5px;display:flex}.today-clock{color:var(--muted);font-size:16.5px;font-weight:400}.today-body{margin:0;font-size:17px}.today-next{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.today-next-label{text-transform:uppercase;letter-spacing:.03em;color:var(--accent);font-size:13.5px;font-weight:700}.today-next-title{margin:2px 0 6px;font-size:18.5px}.today-leave-by{margin:0 0 8px;font-size:16.5px}.today-leave-by-unknown{color:var(--muted);font-style:italic}.today-directions{color:#fff;background:var(--accent);border-radius:20px;padding:6px 14px;font-size:16.5px;font-weight:700;text-decoration:none;display:inline-block}.app{max-width:430px;min-height:100svh;padding:max(env(safe-area-inset-top), 16px) 16px max(env(safe-area-inset-bottom), 16px);margin:0 auto}.masthead{background:var(--accent);color:var(--bg);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:14px 18px;display:flex}.masthead-title{letter-spacing:.02em;font-size:26px;font-weight:800;line-height:1.1}.masthead .lang-toggle{color:var(--bg);border-color:var(--bg)}.masthead .lang-toggle:active{background:var(--bg);color:var(--accent)}.trip-switcher{align-items:center;gap:12px;margin-bottom:8px;font-size:15px;display:flex}.surface-label{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:13.5px;font-weight:700}.trip-switcher a{color:var(--muted);text-decoration:none}.trip-switcher a.trip-switcher-active{color:var(--accent);font-weight:700}.lang-toggle{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:20px;margin-left:auto;padding:5px 14px;font-size:15.5px;font-weight:700}.lang-toggle:active{background:var(--accent);color:var(--bg)}.status-card{border:1px solid var(--border);border-radius:12px;margin-top:18px;padding:16px}.error-card h2{color:#c0392b}.error-card ul{margin:8px 0 0;padding-left:20px;font-size:16.5px}.status-card h2{color:var(--accent);margin:0 0 12px;font-size:18px}.status-card dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:17px;display:grid}.status-card dt{color:var(--muted)}.status-card dd{word-break:break-all;margin:0}.error{color:#c0392b;font-size:17px}
