*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-container{display:flex;height:100vh;width:100vw}.sidebar{width:380px;padding:20px;background:#f8f9fa;overflow-y:auto;border-right:1px solid #e0e0e0}.sidebar-footer{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:#333;color:#ffda44;font-size:13px;font-weight:700;text-align:center;line-height:1.6}.sidebar h2{margin-bottom:20px;color:#333;font-size:20px}.input-section{margin-bottom:16px}.input-section label{display:block;margin-bottom:8px;color:#555;font-size:14px}.input-section textarea{width:100%;padding:10px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;resize:vertical;transition:border-color .3s}.input-section textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.btn-group{display:flex;gap:10px}.plan-btn{flex:1;padding:12px;background:#1890ff;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.plan-btn:hover:not(:disabled){background:#40a9ff}.plan-btn.optimize-btn{background:#52c41a}.plan-btn.optimize-btn:hover:not(:disabled){background:#73d13d}.plan-btn.straight-btn{background:#722ed1}.plan-btn.straight-btn:hover:not(:disabled){background:#9254de}.plan-btn:disabled{background:#bbb;cursor:not-allowed}.error-msg{margin-top:12px;padding:10px;background:#fff2f0;border:1px solid #ffccc7;border-radius:6px;color:#ff4d4f;font-size:13px}.route-info{margin-top:20px}.route-info h3{margin-bottom:12px;color:#333;font-size:16px}.segment{padding:10px;margin-bottom:8px;background:#fff;border-radius:6px;border:1px solid #e8e8e8}.segment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-weight:500;color:#333;font-size:14px}.segment-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#1890ff;color:#fff;border-radius:50%;font-size:12px;flex-shrink:0}.segment-detail{margin-left:30px;color:#888;font-size:12px}.total-info{margin-top:12px;padding:12px;background:#e6f7ff;border-radius:6px;color:#1890ff;font-size:14px;text-align:center}.map-container{flex:1;height:100%;position:relative}.export-btn{width:100%;margin-top:16px;padding:12px 20px;background:#fff;color:#333;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;cursor:pointer;box-shadow:0 2px 8px #0000001f;transition:all .2s}.export-btn:hover:not(:disabled){background:#1890ff;color:#fff;border-color:#1890ff}.export-btn:disabled{opacity:.6;cursor:not-allowed}.custom-marker{display:flex;align-items:center;gap:6px;pointer-events:auto}.marker-dot{width:32px;height:32px;border-radius:50%;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;border:3px solid white;flex-shrink:0}.marker-name{padding:5px 12px;border-radius:4px;font-size:13px;font-weight:700;color:#fff;white-space:nowrap;box-shadow:0 2px 8px #00000040}.watermark-marker{background:#000000bf;padding:8px 14px;border-radius:6px;white-space:nowrap}.watermark-line1{color:#fff;font-size:14px;font-weight:700;margin-bottom:3px}.watermark-line2{color:#ffda44;font-size:12px;font-weight:500}.watermark-mobile{padding:5px 9px;border-radius:4px}.watermark-mobile .watermark-line1{font-size:11px;margin-bottom:1px}.watermark-mobile .watermark-line2{font-size:9px}.examples-panel{width:260px;padding:20px 16px 70px;background:#fff;border-left:1px solid #e0e0e0;overflow-y:auto;position:relative}.examples-panel h3{margin-bottom:14px;color:#333;font-size:16px}.example-card{padding:12px;margin-bottom:10px;background:#f9f9f9;border-radius:8px;border:1px solid #eee;cursor:pointer;transition:all .2s}.example-card:hover{background:#e6f7ff;border-color:#91d5ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff1a}.example-title{font-size:14px;font-weight:600;color:#333;margin-bottom:6px}.example-desc{font-size:12px;color:#888;line-height:1.5}@media screen and (max-width: 768px){.app-container{flex-direction:column;height:auto;min-height:100vh}.map-container{width:100%;height:80vh;min-height:80vh;order:1}.sidebar{width:100%;padding:16px;border-right:none;border-bottom:1px solid #e0e0e0;order:2}.sidebar-footer{position:static;margin-top:12px;padding:8px 12px;font-size:11px;line-height:1.4}.sidebar h2{font-size:18px;margin-bottom:12px}.btn-group{flex-direction:column;gap:8px}.plan-btn{font-size:14px;padding:10px}.examples-panel{width:100%;border-left:none;border-top:1px solid #e0e0e0;padding:16px 16px 70px;order:3}.examples-panel h3{font-size:15px;margin-bottom:10px}.route-info{margin-top:14px}.segment-header{font-size:13px}.input-section textarea{font-size:16px}}
