:root{--bg:#f5f2ed;--bg-card:#ece8e1;--bg-soft:#faf8f4;--bg-surface:#ece8e1;--bg-deep:#f5f2ed;--text:#3a3632;--text-main:#3a3632;--text-light:#8a857e;--text-dim:#8a857e;--accent:#1a3aff;--accent-dim:#1a3aff14;--border:#d5d0c8;--border-soft:#e0dcd2;--danger:#c0392b;--warning:#d68910;--c-income:#27ae60;--c-expense:#c0392b;--c-warning:#d68910;--neon:#1a3aff;--radius:2px;--radius-sm:4px;--radius-md:4px;--font:"Noto Sans KR", "Helvetica Neue", Arial, sans-serif;--font-en:"DM Sans", "Bebas Neue", "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}html{overflow-y:scroll}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}body:before{display:none}#root{z-index:1;position:relative}button{cursor:pointer;font-family:inherit}a{color:var(--text);text-decoration:none;transition:all .3s}input,textarea,select{color:var(--text);font-family:inherit;transition:border-color .3s,box-shadow .3s}::selection{color:var(--text);background:#1a3aff1f}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}button[data-glow]:not(:disabled):hover{text-shadow:0 0 6px var(--neon);transition:all .15s;border-color:var(--neon)!important;color:var(--neon)!important;box-shadow:0 0 8px var(--neon), 0 0 20px #1a3aff26!important}button[data-glow=filled]:not(:disabled):hover{background:var(--neon)!important;border-color:var(--neon)!important;color:var(--bg-card)!important;box-shadow:0 0 12px var(--neon), 0 0 28px #1a3aff38!important;text-shadow:none!important}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--neon)!important;box-shadow:0 0 0 2px #1a3aff1a, 0 0 10px var(--neon)!important}a:hover{text-shadow:0 0 6px var(--neon);color:var(--neon)!important}button[data-tab]{outline:none;box-shadow:none!important}button[data-tab]:hover{text-shadow:0 0 5px var(--neon);box-shadow:none!important;color:var(--neon)!important;background:0 0!important}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes glow{0%,to{filter:drop-shadow(0 0 4px var(--neon))}50%{filter:drop-shadow(0 0 14px var(--neon))}}@keyframes exerciseBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.05)}}@keyframes slideOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes poseShow{0%{opacity:1}42%{opacity:1}50%{opacity:0}92%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(.96)}}button:active{animation:.1s pulse}.calendar-wrap{width:100%}.react-calendar{width:100%!important;font-family:var(--font)!important;color:var(--text)!important;background:0 0!important;border:none!important}.react-calendar__navigation{gap:4px;margin-bottom:12px!important}.react-calendar__navigation button{border-radius:var(--radius);cursor:pointer;border:none;min-width:36px;padding:8px 4px;font-size:14px;font-weight:500;transition:background .2s,color .2s;color:var(--text)!important;font-family:var(--font)!important;background:0 0!important}.react-calendar__navigation button:hover,.react-calendar__navigation button:focus{background:var(--bg-card)!important;color:var(--neon)!important}.react-calendar__navigation button:disabled{opacity:.3}.react-calendar__month-view__weekdays{text-transform:uppercase;letter-spacing:2px;font-weight:500;font-family:var(--font-en)!important;color:var(--text-light)!important;font-size:10px!important}.react-calendar__month-view__weekdays__weekday{text-align:center;padding:8px 0!important}.react-calendar__month-view__weekdays__weekday abbr{cursor:default;text-decoration:none!important}.react-calendar__tile{cursor:pointer;transition:background .15s,color .15s;position:relative;color:var(--text)!important;font-family:var(--font-en)!important;border-radius:var(--radius)!important;background:0 0!important;padding:10px 4px 6px!important;font-size:13px!important}.react-calendar__tile:hover{background:var(--bg-card)!important}.react-calendar__tile--now{background:var(--bg-card)!important;border:1px solid var(--border)!important}.react-calendar__tile--active,.react-calendar__tile--active:hover{font-weight:600;background:var(--accent-dim)!important;color:var(--neon)!important;border:1px solid var(--neon)!important}.react-calendar__tile.workout-day{background:#27ae6014!important}.react-calendar__tile.workout-day:hover{background:#27ae6029!important}.react-calendar__month-view__days__day--neighboringMonth{opacity:.35;color:var(--text-light)!important}.react-calendar__month-view__days__day--weekend:nth-child(7n+1){color:var(--c-expense)!important}.react-calendar__month-view__days__day--weekend:nth-child(7n){color:#4a7a9b!important}
