:root{--bg:#FAF8F5;--card:#fff;--ink:#1F1D1A;--soft:#5E5A53;--mute:#9A958B;--rule:#E8E3DA;--accent:#C4572B;--accent-ink:#fff;--accent-soft:#F8E9E1;--ok:#2F7D5B;--warn:#B7791F;--red:#C0392B;--r:16px;--shadow:0 1px 2px rgba(31,29,26,.05),0 6px 20px rgba(31,29,26,.06);--serif:ui-serif,"Iowan Old Style",Georgia,serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.wrap{max-width:720px;margin:0 auto;padding:0 16px calc(96px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:20;background:#faf8f5eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}.topbar .in{max-width:720px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:10px;min-height:54px}.brand{font:600 21px var(--serif);letter-spacing:-.4px}.grow{flex:1;min-width:0}.h1{font:600 28px/1.15 var(--serif);letter-spacing:-.6px;margin:20px 0 4px}.h2{font:600 12px ui-monospace,monospace;letter-spacing:1.4px;text-transform:uppercase;color:var(--mute);margin:26px 0 10px}.sub{color:var(--soft);font-size:14px}.btn{appearance:none;border:0;border-radius:12px;padding:11px 16px;font-weight:600;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .08s,opacity .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:default}.btn.accent{background:var(--accent)}.btn.ghost{background:transparent;color:var(--soft);padding:8px 10px;font-weight:500}.btn.line{background:#fff;color:var(--ink);border:1px solid var(--rule)}.btn.danger{background:transparent;color:var(--red);font-weight:500}.btn.sm{padding:7px 12px;font-size:13px;border-radius:10px}.btn.block{width:100%}.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow)}.in-text{width:100%;border:1px solid var(--rule);background:#fff;border-radius:12px;padding:11px 13px;outline:none;transition:border-color .15s,box-shadow .15s}.in-text:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.in-text{resize:vertical;min-height:70px}.lbl{display:block;font:600 11px ui-monospace,monospace;letter-spacing:1.1px;text-transform:uppercase;color:var(--mute);margin:14px 0 6px}.row{display:flex;gap:10px;align-items:center}.row>*{min-width:0}.wrapr{flex-wrap:wrap}.tabs{display:flex;gap:4px;background:#efebe3;border-radius:14px;padding:4px;margin:14px 0 4px}.tabs button{flex:1;border:0;background:transparent;border-radius:11px;padding:9px 6px;font-weight:600;color:var(--soft);transition:background .15s,color .15s}.tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #00000014}.chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;background:#efebe3;color:var(--soft)}.chip.accent{background:var(--accent-soft);color:var(--accent)}.chip.ok{background:#e3f2ea;color:var(--ok)}.chip.warn{background:#fbf0d9;color:var(--warn)}.trips{display:grid;gap:12px}.trip{display:flex;overflow:hidden;text-align:left;width:100%;padding:0;border:1px solid var(--rule);border-radius:var(--r);background:#fff;box-shadow:var(--shadow);transition:transform .12s}.trip:active{transform:scale(.99)}.trip .sw{width:84px;flex:none}.trip .bd{padding:14px 16px;flex:1;min-width:0}.trip .ti{font:600 19px var(--serif);letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day{margin-top:14px;overflow:hidden}.day-h{display:flex;align-items:baseline;gap:10px;padding:12px 16px 8px}.day-h .n{font:600 17px var(--serif)}.day-h .d{color:var(--mute);font-size:13px}.item{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;border:0;background:transparent;padding:10px 16px;border-top:1px solid var(--rule)}.item:hover{background:#fcfaf7}.item .t{width:62px;flex:none;color:var(--mute);font:500 12px ui-monospace,monospace;padding-top:3px}.item .ti{font-weight:600}.item .m{color:var(--mute);font-size:13px}.tent{opacity:.6}.addrow{display:flex;width:100%;border:0;border-top:1px solid var(--rule);background:transparent;padding:11px 16px;color:var(--accent);font-weight:600;gap:6px}.empty{padding:14px 16px;color:var(--mute);font-size:14px;border-top:1px solid var(--rule)}.thumb{width:44px;height:44px;border-radius:9px;object-fit:cover;border:1px solid var(--rule);flex:none;cursor:zoom-in;background:#efebe3}.scrim{position:fixed;inset:0;z-index:50;background:#1f1d1a6b;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s}.sheet{width:100%;max-width:560px;max-height:88vh;background:var(--bg);border-radius:24px 24px 0 0;display:flex;flex-direction:column;animation:up .22s cubic-bezier(.2,.8,.2,1);padding-bottom:env(safe-area-inset-bottom)}.sheet .grab{width:38px;height:4px;border-radius:2px;background:var(--rule);margin:10px auto 4px}.sheet .hd{display:flex;align-items:center;padding:6px 20px 10px;gap:10px}.sheet .hd h3{margin:0;font:600 21px var(--serif);flex:1}.sheet .bd{overflow:auto;padding:0 20px 24px;-webkit-overflow-scrolling:touch}@media(min-width:700px){.scrim{align-items:center}.sheet{border-radius:22px}}@keyframes up{0%{transform:translateY(24px);opacity:0}}@keyframes fade{0%{opacity:0}}.sk{background:linear-gradient(90deg,#efebe3 25%,#f6f3ec 37%,#efebe3 63%);background-size:400% 100%;animation:sh 1.3s infinite;border-radius:10px}@keyframes sh{0%{background-position:100% 0}to{background-position:0 0}}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:90;background:var(--ink);color:#fff;border-radius:12px;padding:10px 16px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;animation:up .2s}.toast.err{background:var(--red)}.savedot{font-size:12px;color:var(--mute)}.shot{border:1.5px dashed var(--rule);border-radius:14px;padding:14px;text-align:center;color:var(--soft);background:#fff;transition:border-color .15s,background .15s;cursor:pointer;width:100%}.shot.drag,.shot:hover{border-color:var(--accent);background:var(--accent-soft)}.shot img{max-width:100%;max-height:200px;border-radius:10px;display:block;margin:0 auto 8px}.lightbox{position:fixed;inset:0;z-index:95;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:16px}.lightbox img{max-width:100%;max-height:100%;border-radius:8px}.spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--accent);border-top-color:transparent;animation:rot .7s linear infinite;display:inline-block}@keyframes rot{to{transform:rotate(360deg)}}.bk{display:flex;gap:12px;align-items:center;padding:12px 14px;width:100%;text-align:left;background:#fff;border:1px solid var(--rule);border-radius:14px;margin-bottom:8px}.login{max-width:380px;margin:12vh auto 0;padding:0 20px}.chk{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--rule);background:#fff;flex:none;display:grid;place-items:center;color:#fff;font-size:14px}.chk.on{background:var(--ok);border-color:var(--ok)}
