:root {
      --bg-primary: #13151a;
      --bg-secondary: #1a1d25;
      --accent-primary: #e2c4b9;
      --accent-secondary: #c4a599;
      --text-primary: #ffffff;
      --text-secondary: rgba(255, 255, 255, 0.7);
      --error: #ff4466;
      --success: #4CAF50;
      --input-bg: rgba(255, 255, 255, 0.05);
      --card-bg: rgba(26, 29, 37, 0.8);
      --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.15);
      --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.2);
      --radius-sm: 12px;
      --radius-lg: 24px;
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: 'Cairo', sans-serif;
    }

    body {
    animation: slideUp 1s ease;
      background: var(--bg-primary);
      color: var(--text-primary);
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    }

    .calculator-container {
      background: var(--card-bg);
      max-width: 480px;
      width: 100%;
      border-radius: var(--radius-lg);
      padding: 40px;
      box-shadow: var(--shadow-lg);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.05);
      position: relative;
      overflow: hidden;
    }

    .calculator-container::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(45deg, 
        transparent, 
        rgba(226, 196, 185, 0.03), 
        transparent
      );
      transform: translateX(-100%);
      transition: transform 0.6s ease;
    }

    .calculator-container:hover::before {
      transform: translateX(100%);
    }

    h1 {
      font-size: 2.5rem;
      color: var(--accent-primary);
      margin-bottom: 0rem;
      text-align: center;
      font-weight: 700;
    }

    .form-group {
      margin-bottom: 1.5rem;
    }

    label {
      display: block;
      color: var(--text-secondary);
      margin-bottom: 0.5rem;
      font-size: 0.9rem;
      font-weight: 600;
      transition: var(--transition);
    }

    .form-group:focus-within label {
      color: var(--accent-primary);
      transform: translateX(-4px);
    }

    input {
      width: 100%;
      background: var(--input-bg);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 22px;
      padding: 12px 16px;
      color: var(--text-primary);
      font-size: 1rem;
      transition: var(--transition);
    }

    input:focus {
      outline: none;
      border-color: var(--accent-primary);
      box-shadow: 0 0 0 3px rgba(226, 196, 185, 0.1);
    }

    input::placeholder {
      color: var(--text-secondary);
      opacity: 0.5;
    }

    .dimensions-group {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }

    button {
      width: 100%;
      background: linear-gradient(45deg, 
        var(--accent-secondary), 
        var(--accent-primary)
      );
      color: var(--bg-primary);
      border: none;
      border-radius: 22px;
      padding: 14px;
      font-size: 1rem;
      font-weight: 700;
      cursor: pointer;
      transition: var(--transition);
      position: relative;
      overflow: hidden;
      margin-top: 2rem;
    }

    button::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(45deg,
        transparent,
        rgba(255, 255, 255, 0.2),
        transparent
      );
      transform: translateX(-100%);
      transition: transform 0.6s ease;
    }

    button:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-sm);
    }

    button:hover::before {
      transform: translateX(100%);
    }

    button:active {
      transform: translateY(0);
    }

    .result,
    .error {
      margin-top: 1.5rem;
      padding: 16px;
      border-radius: var(--radius-sm);
      text-align: center;
      display: none;
      animation: slideUp 0.3s ease;
    }

    .result {
      background: rgba(76, 175, 80, 0.1);
      border: 1px solid var(--success);
      color: var(--success);
    }

    .error {
      background: rgba(255, 68, 102, 0.1);
      border: 1px solid var(--error);
      color: var(--error);
    }

    footer {
      margin-top: 1.5rem;
      text-align: center;
      color: var(--text-secondary);
      font-size: 0.8rem;
      opacity: 0.8;
    }

    input[type="number"] {
      -moz-appearance: textfield;
    }

    input[type="number"]::-webkit-outer-spin-button,
    input[type="number"]::-webkit-inner-spin-button {
      -webkit-appearance: none;
      background: rgba(255, 255, 255, 0.1);
      border-right: 1px solid rgba(255, 255, 255, 0.1);
      color: var(--text-secondary);
      cursor: pointer;
      opacity: 0;
      transition: var(--transition);
    }

    input[type="number"]:hover::-webkit-outer-spin-button,
    input[type="number"]:hover::-webkit-inner-spin-button {
      opacity: 1;
    }

    @keyframes slideUp {
      from {
        opacity: 0;
        transform: translateY(10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .loading {
      position: relative;
      pointer-events: none;
    }

    .loading::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(45deg,
        var(--accent-secondary),
        var(--accent-primary),
        var(--accent-secondary)
      );
      background-size: 200% 200%;
      animation: gradient 2s ease infinite;
    }

    @keyframes gradient {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }

    :focus-visible {
      outline: 2px solid var(--accent-primary);
      outline-offset: 2px;
    }

    @media (max-width: 480px) {
      .calculator-container {
        padding: 24px;
      }

      h1 {
        font-size: 2rem;
      }

      .dimensions-group {
        grid-template-columns: 1fr;
      }
    }