/* Basic styling for calculator */ .calculator-container { max-width: 1024px; margin: 0 auto; background-color: white; color: #333; border-radius: 0.5rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); overflow: hidden; } .dark-mode { background-color: #1f2937; color: white; } .header { background-color: #2563eb; color: white; padding: 1rem; display: flex; justify-content: space-between; align-items: center; } .dark-mode .header { background-color: #111827; } .tab-container { display: flex; flex-wrap: wrap; border-bottom: 1px solid #e5e7eb; } .dark-mode .tab-container { border-color: #374151; } .tab { padding: 0.5rem 1rem; cursor: pointer; } .tab.active { background-color: #dbeafe; border-bottom: 2px solid #3b82f6; } .dark-mode .tab.active { background-color: #374151; border-bottom-color: #60a5fa; } .content { padding: 1rem; display: flex; flex-direction: column; gap: 1rem; } .display { background-color: #f3f4f6; padding: 1rem; border-radius: 0.25rem; text-align: right; font-family: monospace; height: 4rem; overflow-x: auto; display: flex; align-items: center; justify-content: flex-end; font-size: 1.25rem; } .dark-mode .display { background-color: #4b5563; } .button-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; } .btn { padding: 0.5rem; border-radius: 0.25rem; background-color: #e5e7eb; cursor: pointer; text-align: center; } .btn:hover { background-color: #d1d5db; } .dark-mode .btn { background-color: #4b5563; } .dark-mode .btn:hover { background-color: #374151; } .btn-blue { background-color: #3b82f6; color: white; } .btn-blue:hover { background-color: #2563eb; } .dark-mode .btn-blue { background-color: #1d4ed8; } .dark-mode .btn-blue:hover { background-color: #1e40af; } .btn-green { background-color: #10b981; color: white; } .btn-green:hover { background-color: #059669; } .dark-mode .btn-green { background-color: #047857; } .dark-mode .btn-green:hover { background-color: #065f46; } .btn-red { background-color: #ef4444; color: white; } .btn-red:hover { background-color: #dc2626; } .dark-mode .btn-red { background-color: #b91c1c; } .dark-mode .btn-red:hover { background-color: #991b1b; } .btn-yellow { background-color: #fef3c7; } .btn-yellow:hover { background-color: #fde68a; } .dark-mode .btn-yellow { background-color: #92400e; color: white; } .dark-mode .btn-yellow:hover { background-color: #78350f; } .history-container { margin-top: 1rem; } .history-box { max-height: 10rem; overflow-y: auto; background-color: #f9fafb; border-radius: 0.25rem; padding: 0.5rem; } .dark-mode .history-box { background-color: #4b5563; } .history-item { border-bottom: 1px solid #e5e7eb; padding: 0.25rem 0; } .dark-mode .history-item { border-color: #6b7280; } input, select, textarea { padding: 0.5rem; border: 1px solid #d1d5db; border-radius: 0.25rem; width: 100%; } .dark-mode input, .dark-mode select, .dark-mode textarea { background-color: #4b5563; border-color: #6b7280; color: white; } .graph-container { height: 16rem; margin-bottom: 1rem; padding: 0.5rem; background-color: #f9fafb; border-radius: 0.25rem; } .dark-mode .graph-container { background-color: #4b5563; } .grid-2col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; } @media (max-width: 768px) { .grid-2col { grid-template-columns: 1fr; } } .flex-row { display: flex; gap: 1rem; } .flex-col { display: flex; flex-direction: column; gap: 1rem; } .panel { padding: 1rem; background-color: #f3f4f6; border-radius: 0.25rem; } .dark-mode .panel { background-color: #4b5563; } .mt-4 { margin-top: 1rem; } .font-bold { font-weight: bold; } .text-center { text-align: center; } .text-xl { font-size: 1.25rem; } .flex-1 { flex: 1; } .simulation-ground { position: absolute; bottom: 0; left: 0; width: 100%; border-top: 1px solid #6b7280; }