:root{--blue:#2f6bff;--blue-2:#1f56e0;--ink:#1b2330;--muted:#7c8594;--line:#e6ebf3;--bg:#f3f5fa;--card:#fff;--orange:#ff8a1e;--green:#128a52;--shadow:0 10px 30px #1c305c14;font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#d9dee8;margin:0}button,input,select,textarea{font:inherit;color:inherit}.app{background:var(--bg);width:min(100%,430px);min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) 16px calc(108px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.top{align-items:center;gap:10px;display:flex}.mark{background:var(--ink);color:#fff;letter-spacing:.04em;border-radius:10px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.trip-switch{background:0 0;border:0;padding:8px 0;font-size:16px;font-weight:700}.spacer{flex:1}.icon-btn{width:36px;height:36px;box-shadow:var(--shadow);background:#fff;border:0;border-radius:999px}.kicker{color:var(--muted);margin:14px 0 0;font-size:13px}h1{letter-spacing:-.03em;margin:2px 0 14px;font-size:28px;line-height:1.15}.hero{color:#fff;background:linear-gradient(160deg,#3d7bff,#2457ea);border-radius:22px;padding:16px;box-shadow:0 16px 32px #2f6bff47}.hero-top,.stats,.hero-actions,.days,.card-top,.card-meta,.dock{align-items:center;display:flex}.hero-top,.card-top{justify-content:space-between;gap:8px;font-size:12px}.dot{background:#7dffa8;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.stats{margin-top:16px}.stats div,.hero-actions button,.days button,.dock button{flex:1}.stats b{font-size:22px;line-height:1.1;display:block}.stats span,.fine{color:#ffffffd1;font-size:12px}.hero-actions{gap:8px;margin-top:16px}.hero-actions button,.days button,.dock button,.add,.sheet button,.ghost{cursor:pointer;border:0}.hero-actions button{color:#fff;background:#ffffff29;border-radius:12px;min-height:40px;font-size:13px;font-weight:650}.hero-actions button:first-child{color:var(--blue);background:#fff}.days{gap:8px;margin:14px 0;overflow:auto}.days button{min-height:36px;color:var(--muted);box-shadow:var(--shadow);background:#fff;border-radius:999px;flex:none;padding:0 12px}.days button[aria-pressed=true]{background:var(--blue);color:#fff}.section-label{color:var(--muted);margin:0 0 8px;font-size:13px}.timeline{margin:0;padding:0 0 0 18px;list-style:none;position:relative}.timeline:before{content:"";background:#d5dce8;width:2px;position:absolute;top:8px;bottom:8px;left:5px}.card{background:var(--card);box-shadow:var(--shadow);border-radius:18px;margin:0 0 12px;padding:14px;position:relative}.card:before{content:"";border:3px solid var(--blue);background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:22px;left:-18px}.card.current{outline:2px solid #c9d8ff}.card.current:before{background:var(--blue)}.when{font-size:18px;font-weight:750}.tag{color:var(--blue);background:#eef3ff;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:650;display:inline-flex}.tag.food{color:#d46500;background:#fff1e4}.tag.night{color:#6d4bd2;background:#f3eefe}.tag.go{color:var(--green);background:#e8f8ef}.chip{color:var(--blue);background:#eef6ff;border-radius:999px;padding:3px 8px;font-size:12px}.chip.wait{color:#d46500;background:#fff4e8}.chip.done{color:var(--green);background:#e8f8ef}.card h2{letter-spacing:-.02em;margin:8px 0 4px;font-size:18px}.card p{color:#5d6675;margin:0;line-height:1.55}.card-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:10px;font-size:12px}.remove{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:4px 0;font-size:12px}.empty{color:var(--muted);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:22px 16px}.view{display:none}.view.on{display:block}.plain{box-shadow:var(--shadow);background:#fff;border-radius:18px;margin-bottom:12px;padding:16px}.plain h2{margin:0 0 6px;font-size:18px}.plain p,.plain li{color:#5d6675;line-height:1.6}.plain a{color:var(--blue)}.add{left:50%;bottom:calc(74px + env(safe-area-inset-bottom));pointer-events:none;background:0 0;justify-content:center;width:min(430px,100%);display:flex;position:fixed;transform:translate(-50%)}.add[hidden]{display:none}.add button{pointer-events:auto;background:var(--blue);color:#fff;border-radius:999px;min-height:48px;padding:0 18px;font-weight:700;box-shadow:0 10px 24px #2f6bff59}.dock{border-top:1px solid var(--line);width:min(430px,100%);padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:5;background:#fffffff5;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.dock button{color:var(--muted);background:0 0;min-height:44px;font-size:12px}.dock button[aria-current=page]{color:var(--blue);font-weight:750}.sheet{z-index:8;background:#12182673;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.sheet.on{display:flex}.sheet form{width:min(430px,100%);padding:16px 16px calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0}.sheet h2{margin:0 0 12px;font-size:18px}.sheet label{color:var(--muted);margin:10px 0 4px;font-size:13px;display:block}.sheet input,.sheet select{border:1px solid var(--line);background:#f7f8fb;border-radius:12px;width:100%;min-height:44px;padding:0 12px}.sheet-actions{gap:8px;margin-top:14px;display:flex}.sheet-actions button{border-radius:12px;flex:1;min-height:46px;font-weight:700}.sheet-actions .ghost{background:#eef1f6}.sheet-actions .go{background:var(--blue);color:#fff}@media (width>=860px){body{padding:24px 0}.app{border-radius:28px;flex-direction:column;height:calc(100dvh - 48px);min-height:0;padding:12px 0 0;display:flex;overflow:hidden;box-shadow:0 24px 60px #14203a29}.top{padding:0 16px}.view.on{flex:1;min-height:0;padding:0 16px 16px;overflow:auto}.add,.dock{width:100%;position:static;bottom:auto;left:auto;transform:none}.add{padding:4px 0 8px}.dock{border-radius:0 0 28px 28px}}
