:root{--p1: #ef4444;--p1-glow: rgba(239, 68, 68, .4);--p2: #3b82f6;--p2-glow: rgba(59, 130, 246, .4);--p3: #22c55e;--p3-glow: rgba(34, 197, 94, .4);--p4: #facc15;--p4-glow: rgba(250, 204, 21, .4);--bg: #0b1220;--bg-elevated: #111827;--panel: #1e293b;--panel-2: #334155;--surface-hover: #273549;--text: #f1f5f9;--muted: #94a3b8;--accent: #60a5fa;--accent-hover: #93c5fd;--danger: #f87171;--success: #4ade80;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--accent);--bg-gradient: radial-gradient( ellipse at top, #1e293b 0%, #0b1220 70% );--dot-red: #dc2626;--dot-blue: #2563eb;--dot-yellow: #eab308;--dot-brown: #a06d3c;--dot-white: #f8fafc;--dot-black: #0f172a;--dot-route: #64748b;--dot-route-mark: #a855f7}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--bg);background-image:var(--bg-gradient);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}#app{width:100vw;height:100vh;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:flex;flex-direction:column}button{min-width:44px;min-height:44px;font:inherit;font-family:inherit;transition:all .15s ease}button:active:not(:disabled){transform:scale(.97)}a{color:var(--accent);transition:color .15s}a:hover{color:var(--accent-hover)}.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;text-align:center;padding:32px 20px;gap:8px}.splash h1{font-size:2.2rem;margin:0 0 8px;background:linear-gradient(135deg,#ff6b9d,#c471f5,#60a5fa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em;font-weight:800}.muted{color:var(--muted);font-size:.9rem}.menu-btn{padding:16px 20px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);background:var(--panel);color:var(--text);font-size:1rem;font-weight:500;cursor:pointer;min-height:52px;box-shadow:var(--shadow-sm);text-align:center;letter-spacing:.01em}.menu-btn:hover:not(:disabled){background:var(--surface-hover);border-color:#fff3;box-shadow:var(--shadow-md)}.menu-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff;font-weight:600;box-shadow:0 4px 14px #3b82f666}.menu-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 6px 20px #3b82f68c}.menu-btn.resume{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;color:#fff;font-weight:600;box-shadow:0 4px 14px #22c55e66}.menu-btn.resume:hover:not(:disabled){background:linear-gradient(135deg,#4ade80,#22c55e)}.menu-btn.disabled,.menu-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--panel);color:var(--muted)}.card{background:var(--panel);border-radius:var(--radius-lg);padding:18px;border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-md)}input[type=text],input[type=number],select{background:var(--bg-elevated);color:var(--text);border:1px solid var(--panel-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:1rem;font-family:inherit;transition:border-color .15s,box-shadow .15s;width:100%}input[type=text]:focus,input[type=number]:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #60a5fa33}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;width:100%}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--panel-2)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent);margin-top:-8px;cursor:pointer;box-shadow:0 2px 6px #0006}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--panel-2);border-radius:4px}::-webkit-scrollbar-track{background:transparent}
