/* src/app.css */ :root { --bg-color: #f5f5f5; --calculator-bg: #1a1a1a; --display-bg: #2a2a2a; --button-bg: #3a3a3a; --button-hover: #4a4a4a; --operator-bg: #ff9500; --operator-hover: #ffaa33; --function-bg: #505050; --function-hover: #606060; --text-color: #ffffff; --text-secondary: #cccccc; --border-radius: 12px; --button-radius: 8px; --transition: all 0.2s ease; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background-color: var(--bg-color); display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 20px; } .calculator { background-color: var(--calculator-bg); border-radius: var(--border-radius); padding: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); width: 100%; max-width: 340px; } .display { background-color: var(--display-bg); border-radius: var(--border-radius); padding: 20px; margin-bottom: 20px; text-align: right; min-height: 80px; display: flex; flex-direction: column; justify-content: center; word-wrap: break-word; word-break: break-all; } .display-text { font-size: 2.5rem; font-weight: 300; color: var(--text-color); line-height: 1.2; } .error { font-size: 0.875rem; color: #ff6b6b; margin-top: 5px; } .buttons { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; } button { background-color: var(--button-bg); color: var(--text-color); border: none; border-radius: var(--button-radius); font-size: 1.5rem; padding: 20px; cursor: pointer; transition: var(--transition); font-weight: 300; } button:hover { background-color: var(--button-hover); transform: translateY(-1px); } button:active { transform: translateY(0); } button.function { background-color: var(--function-bg); } button.function:hover { background-color: var(--function-hover); } button.operator { background-color: var(--operator-bg); font-size: 1.75rem; font-weight: 400; } button.operator:hover { background-color: var(--operator-hover); } button.equals { background-color: var(--operator-bg); grid-column: 3 / 5; } button.equals:hover { background-color: var(--operator-hover); } button.zero { grid-column: 1 / 3; } @media (max-width: 480px) { .calculator { padding: 15px; } .display { padding: 15px; min-height: 70px; } .display-text { font-size: 2rem; } button { font-size: 1.25rem; padding: 15px; } }