:root{--bg:#f3f7fa;--panel:#fff;--ink:#14253a;--muted:#63748a;--line:#dbe4ee;--accent:#0e7490;--accent-strong:#0b5c73;--warm:#c2410c;--gold:#b7791f;--danger:#b42318;--success:#15803d;--radius:16px;--shadow:0 10px 30px #14253a14;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0}body{font-size:15px;line-height:1.6}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.35}p{margin:0}a{color:var(--accent-strong)}button{font:inherit;color:inherit}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.section-title{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.section-hint{color:var(--muted);font-size:12px}.muted{color:var(--muted)}.btn{border:1px solid var(--line);height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background:#f7fafc;border-color:#b9c9da}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn.ghost{background:0 0}.btn.danger{color:var(--danger);border-color:#f0cdc9}.btn.danger:hover:not(:disabled){background:#fdf2f1}.btn.tiny{border-radius:8px;height:30px;padding:0 10px;font-size:13px}.btn:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=text],input[type=date],input[type=number],select{border:1px solid var(--line);height:38px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;min-width:0;padding:0 10px}input[type=number]{text-align:right}input:disabled,select:disabled{color:var(--muted);background:#f4f7fa}label{color:var(--muted);font-size:13px}.chip{border:1px solid var(--line);height:28px;color:var(--ink);background:#f8fafc;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.badge{height:22px;color:var(--accent-strong);white-space:nowrap;background:#e9f3f6;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.gold{color:var(--gold);background:#fdf5e4}.badge.warm{color:var(--warm);background:#fbeee8}.badge.muted{color:var(--muted);background:#eef2f6}.divider{background:var(--line);border:0;height:1px;margin:12px 0}.amap-city-marker{cursor:pointer;white-space:nowrap;background:#fffffff0;border:1px solid #14253a1f;border-radius:999px;align-items:center;gap:5px;padding:3px 8px 3px 6px;font-size:12px;font-weight:600;line-height:1;display:flex;box-shadow:0 2px 8px #14253a29}.amap-city-marker.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px #0e749038,0 2px 8px #14253a2e}.amap-city-marker.is-muted{opacity:.75;font-weight:500}.amap-city-dot{border-radius:50%;flex:none;width:10px;height:10px}.amap-city-name{color:var(--ink)}.amap-badge{background:var(--accent);color:#fff;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:700}.amap-poi{cursor:pointer;background:#0e7490;border:2px solid #fff;border-radius:50%;width:14px;height:14px;padding:0;box-shadow:0 1px 4px #14253a59}.amap-poi.is-goal{background:var(--gold);box-shadow:0 0 0 3px #b7791f4d,0 1px 4px #14253a59}.amap-poi.is-selected{box-shadow:0 0 0 4px #0e749059,0 1px 4px #14253a59}@media (width<=899px){input[type=text],input[type=date],input[type=number],select{font-size:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{.no-print{display:none!important}body{background:#fff}.final-page{max-width:none;box-shadow:none;border:0}.day-card,.final-section{break-inside:avoid}@page{margin:14mm}}
