:root{--color-bg: #f3f4f6;--color-card-bg: #ffffff;--color-text-main: #1f2937;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-green: #22c55e;--color-green-light: #dcfce7;--color-blue: #3b82f6;--color-blue-light: #dbeafe;--color-orange: #b45309;--color-orange-light: #fef3c7;--color-purple: #8b5cf6;--color-purple-light: #ede9fe;--color-red: #ef4444;--color-red-light: #fecaca;--color-time-red: #dc2626;--color-distance-bg: #f3f4f6;--font-sans: "Inter", "Noto Sans JP", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-main);line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{display:flex;height:100vh;overflow:hidden;max-width:none;margin:0;gap:1rem}.form-pane{flex:1.5;padding:1.5rem;overflow-y:auto;border-right:1px solid var(--color-border)}.list-pane{flex:1.5;padding:1.5rem .5rem;overflow:hidden;display:flex;flex-direction:column;background-color:#fff;border-right:1px solid var(--color-border)}.preview-pane{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg);padding:1.5rem;overflow-y:auto}.preview-container{position:relative;box-sizing:content-box;background-color:#fff;box-shadow:var(--shadow-lg);border-radius:40px;overflow:hidden;border:8px solid #333}.heading{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.action-btn{background-color:var(--color-text-main);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1rem}.action-btn:hover{background-color:#000;transform:translateY(-1px)}.action-btn.secondary{background-color:#fff;color:var(--color-text-main);border:1px solid var(--color-border);margin-top:0;width:auto}.action-btn.secondary:hover{background-color:var(--color-bg)}.github-link{transition:all .2s ease;padding:4px;border-radius:6px}.github-link:hover{background-color:#0000000d!important;color:var(--color-text-main)!important;transform:translateY(-1px)}.dropdown-item:hover{background-color:#007aff1a!important}.action-btn.danger{background-color:#fff;color:var(--color-time-red);border:1px solid var(--color-time-red)}.action-btn.danger:hover{background-color:#fee2e2}.config-card{background-color:var(--color-card-bg);padding:1.25rem;border-radius:16px;border:1px solid var(--color-border);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;margin-bottom:1.5rem}.config-card-title{font-size:1rem;font-weight:800;color:var(--color-text-main);margin-bottom:1.25rem;display:flex;align-items:center;gap:8px}.spot-form{background:#fff;border:1px solid var(--color-border);padding:1.25rem;border-radius:16px;margin-bottom:1.5rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;position:relative}.spot-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:600}.form-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.form-group{flex:1 1 120px;display:flex;flex-direction:column;gap:.25rem}.form-group label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.form-control{padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:6px;font-size:.85rem;font-family:inherit;transition:border-color .2s;width:100%;box-sizing:border-box}.form-control:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px var(--color-blue-light)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-text-main);border-radius:50%;animation:loading-spinner-rotate .8s linear infinite}@keyframes loading-spinner-rotate{to{transform:rotate(360deg)}}@media (max-width: 1100px){.app-container{flex-direction:column;overflow-y:auto;height:auto;padding:1rem;gap:1rem}.form-pane,.list-pane,.preview-pane{max-width:100%;margin:0;padding:1rem}.list-pane{min-height:400px}.preview-pane{min-height:800px}}
