:root{--bg:#f4f6f9;--card:#fff;--text:#17201f;--muted:#5d6b69;--line:#dfe5e4;--accent:#2457a6;--accent-ink:#fff;--accent-soft:#e6eefa;--danger:#b42318;--ok:#157f3b;--warn:#9a6700;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f131a;--card:#171d27;--text:#e8eeed;--muted:#9aa9a7;--line:#2a3342;--accent:#7aa7ff;--accent-ink:#0b1a33;--accent-soft:#1c2a44;--danger:#ff7b6e;--ok:#5fd38b;--warn:#e3b341;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);padding-bottom:calc(96px + env(safe-area-inset-bottom));margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0;line-height:1.2}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.pad-top{padding-top:40vh}.error{color:var(--danger);margin:0}.file-ready{background:var(--accent-soft);word-break:break-word;border-radius:10px;margin:0;padding:10px 12px}.sync-status{width:100%;font:inherit;text-align:center;cursor:pointer;border:0;padding:6px 16px;font-size:.85rem;font-weight:600;display:block}.sync-status.offline{color:#fff;background:#3b4352}.sync-status.pending{background:color-mix(in srgb, var(--warn) 18%, var(--card));color:var(--text)}.warning-banner{background:color-mix(in srgb, var(--warn) 14%, var(--card));border:1px solid var(--warn);color:var(--text);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:.92rem;display:flex}.topbar{z-index:5;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--accent);color:var(--accent-ink);align-items:center;gap:8px;display:flex;position:sticky;top:0}.topbar select{min-width:0;font:inherit;color:var(--accent-ink);appearance:none;background-color:#ffffff26;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px;border:0;border-radius:10px;flex:1;padding:9px 32px 9px 12px;font-size:1.05rem;font-weight:600}.topbar select option{color:#000}.icon-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.icon-btn:hover{background:#7f7f7f26}.icon-btn.danger{color:var(--danger)}main{max-width:760px;margin:0 auto;padding:16px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);padding:16px}.btn{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:10px 14px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost{background:0 0}.btn.danger{color:var(--danger)}.btn.small{min-height:34px;padding:6px 10px;font-size:.85rem}.btn:disabled{opacity:.6;cursor:progress}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{text-align:center;flex-direction:column;gap:14px;width:min(380px,100%);display:flex}.auth-card img{border-radius:14px;margin:0 auto}.auth-card label{text-align:left}.empty{text-align:center;padding:48px 16px}.empty-icon{font-size:56px}.empty h1{margin:12px 0 8px}.empty p{color:var(--muted);max-width:360px;margin:0 auto 20px}.small-empty{padding:32px 16px}.small-empty p{margin:4px auto}dialog.sheet{background:var(--card);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);border:0;border-radius:18px;padding:0;box-shadow:0 20px 60px #0000004d}dialog.small-sheet{width:min(400px,100vw - 32px)}dialog::backdrop{background:#0a0e1873}@media (width<=600px){dialog.sheet{width:100%;max-width:100%;max-height:94vh;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;margin:auto 0 0}}dialog.sheet[open],dialog.sheet>form{flex-direction:column;min-height:0;display:flex}dialog.sheet>form{flex:auto;overflow:hidden}.dlg-head{flex:none;justify-content:space-between;align-items:center;padding:14px 12px 6px 18px;display:flex}.dlg-head h2{font-size:1.15rem}.dlg-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:6px 18px 14px;display:flex;overflow-y:auto}.dlg-foot{border-top:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:12px 18px 16px;display:flex}.spacer{flex:1}label{color:var(--muted);flex-direction:column;gap:5px;font-size:.85rem;font-weight:600;display:flex}label.inline{flex-flow:wrap;align-items:center;gap:8px}label.check{color:var(--text);flex-direction:row;align-items:center;gap:10px;font-size:1rem;font-weight:500}label.check input{width:20px;height:20px;accent-color:var(--accent)}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;min-width:0;padding:10px 12px;font-size:1rem;font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}input[readonly]{opacity:.7}textarea{resize:vertical}fieldset{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;min-width:0;margin:0;padding:10px 12px 12px;display:flex}legend{padding:0 4px;font-weight:600}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.with-btn{gap:6px;display:flex}.with-btn select{flex:1}.menu-list{flex-direction:column;margin:0 -10px;display:flex}.menu-list button,.menu-list a{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:14px 12px;text-decoration:none}.menu-list button:hover,.menu-list a:hover{background:var(--accent-soft)}.linklike{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.people{margin:0;padding:0;list-style:none}.people li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 0;display:flex}#toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom));color:#fff;opacity:0;pointer-events:none;z-index:100;background:#1f2633;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;font-size:.92rem;transition:all .2s;position:fixed;transform:translate(-50%,20px)}#toast.show{opacity:1;transform:translate(-50%)}.fab{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:4;background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:14px 20px 14px 16px;font-weight:700;display:inline-flex;position:fixed;box-shadow:0 6px 20px #2457a659}.tabs{top:calc(60px + env(safe-area-inset-top));z-index:4;background:var(--card);border-bottom:1px solid var(--line);display:flex;position:sticky}.tabs button{min-width:0;font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-bottom:3px solid #0000;flex:1 1 0;padding:11px 4px 9px;font-size:.88rem;font-weight:600;overflow:hidden}.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.tabs .badge{background:var(--danger);color:#fff;border-radius:9px;min-width:18px;margin-left:4px;padding:0 5px;font-size:.72rem;line-height:18px;display:inline-block}.stack{flex-direction:column;gap:14px;display:flex}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:.8rem}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:auto;min-width:0}.notes-text{white-space:pre-wrap;margin:0}.trip-head h1{font-size:1.35rem}.trip-head p{margin:4px 0 0}.countdown{letter-spacing:-.02em;color:var(--accent);margin-top:14px;font-size:2.2rem;font-weight:700}.countdown.during{color:var(--ok)}.countdown.after,.countdown.none{color:var(--muted);font-size:1.3rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:inherit;background:var(--accent-soft);color:var(--text);border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:5px 11px;font-size:.85rem;font-weight:600;display:inline-flex}button.chip{cursor:pointer}button.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{text-align:left;font:inherit;color:inherit;cursor:pointer}.stat strong{font-variant-numeric:tabular-nums;font-size:1.5rem;display:block}.stat .warn-text{color:var(--danger);font-weight:600}.progress{background:var(--line);border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.progress span{background:var(--ok);border-radius:4px;height:100%;display:block}.day-block{margin-top:18px}.day-block:first-child{margin-top:0}.day-title{color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;padding:0 4px 6px;font-size:.9rem;font-weight:700;display:flex}.day-block.today .day-title{color:var(--accent)}.day-list{flex-direction:column;gap:8px;display:flex}.day-empty{color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);padding:10px 14px;font-size:.88rem}.item{gap:12px;padding:12px 14px;display:flex}.item.ending{opacity:.8}.item-icon{text-align:center;flex:none;width:30px;font-size:1.5rem;line-height:1.2}.item-main{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.item-top{align-items:baseline;gap:8px;display:flex}.item-time{font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;font-weight:700}.item-title{overflow-wrap:anywhere;flex:auto;min-width:0;font-weight:600}.item-line{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem}.item-line a{color:var(--accent)}.ref{color:var(--text);background:var(--accent-soft);cursor:pointer;border:0;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;font-weight:600}.files{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.file-chip{max-width:100%;font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:.82rem;display:inline-flex}.file-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kind-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;display:grid}.kind-grid button{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;border-radius:10px;padding:8px 4px;font-size:.85rem}.kind-grid button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:700}.file-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.file-list li{align-items:center;gap:8px;font-size:.92rem;display:flex}.file-list li span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.viewer-img{background:#fff;border-radius:10px;width:100%;height:auto}.viewer-frame{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;height:70vh}.check-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.check-list li{align-items:center;gap:4px;min-height:48px;padding:2px 4px 2px 14px;display:flex}.check-list li+li{border-top:1px solid var(--line)}.check-list label.check{cursor:pointer;flex:auto;min-width:0;padding:10px 0}.check-list label.check span{overflow-wrap:anywhere}.check-list li.done label.check>span:first-of-type{color:var(--muted);text-decoration:line-through}.check-list .icon-btn{width:36px;height:36px;color:var(--muted)}.todo-text{flex-direction:column;min-width:0;display:flex}.due{color:var(--muted);font-size:.8rem;font-weight:600}.due.soon{color:var(--warn)}.due.overdue{color:var(--danger)}.add-row{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.add-row input[type=text],.add-row input:not([type]){flex:180px}.add-row select,.add-row input[type=date]{flex:0 auto;width:auto}.group+.group{margin-top:16px}.group-head{color:var(--muted);justify-content:space-between;align-items:baseline;padding:0 4px 6px;font-size:.9rem;font-weight:700;display:flex}.toolbar{flex-wrap:wrap;gap:8px;margin:16px 0 0;display:flex}.toolbar .btn{flex:auto}.pick-list{flex-direction:column;gap:2px;display:flex}.pick-list label.check{padding:8px 0}.tpl-row{grid-template-columns:1fr 40px;align-items:center;gap:6px;display:grid}.tpl-row.todo{grid-template-columns:1fr 84px 40px}.tpl-row input{padding:8px}details.done-group{margin-top:14px}details.done-group summary{cursor:pointer;color:var(--muted);padding:4px;font-weight:600}details.done-group .check-list{margin-top:6px}
