   * {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
       text-decoration: none;
   }

   html {
       scroll-behavior: smooth;
   }

   body {
       background: #1a1a1a;
       background-image: linear-gradient(rgba(0, 0, 0, 0.5) 1px, transparent 1px),
           linear-gradient(90deg, rgba(0, 0, 0, 0.5) 1px, transparent 1px);
       background-size: 40px 40px;
       background-position: center center;
       min-height: 100vh;
       font-family: 'Press Start 2P', system-ui, monospace;
       padding: 1.5rem;
       margin: 0;
       position: relative;
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 3rem;
       padding-bottom: 2rem;
   }

   /* overlay texture to resemble dirt/stone feeling */
   body::before {
       content: "";
       position: fixed;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       background: radial-gradient(circle at 30% 40%, rgba(120, 100, 70, 0.15) 0%, rgba(30, 30, 20, 0.5) 90%);
       pointer-events: none;
       z-index: 0;
   }

   .brand-box {
       width: 100%;
       height: auto;
       padding-top: 20px;
       align-items: center;
       justify-content: center;
   }

   .brand-box .brand {
       display: block;
       color: #f9e84b;
       font-size: 2.2rem;
       font-weight: 700;
       text-align: center;

   }

   .main-wrapper {
       position: relative;
       z-index: 2;
       width: 100%;
       max-width: 850px;
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 3rem;
   }

   .container {
       width: 100%;
       background: rgba(35, 30, 25, 0.8);
       backdrop-filter: blur(12px);
       border: 6px solid #3b3b2b;
       box-shadow: 0 20px 35px rgba(0, 0, 0, 0.7), inset 0 0 25px rgba(0, 0, 0, 0.8);
       border-radius: 10px;
       padding: 2.5rem 2rem;
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 2.2rem;
       transition: all 0.2s ease;
       outline: 3px solid #5a5030;
       outline-offset: 5px;
   }

   h1 {
       font-size: 1.9rem;
       font-weight: 400;
       color: #f9e84b;
       text-shadow: 4px 4px 0 #3b2f0e, 6px 6px 0 rgba(0, 0, 0, 0.7);
       letter-spacing: 3px;
       text-align: center;
       margin-bottom: 0.3rem;
       word-break: break-word;
       line-height: 1.4;
       image-rendering: pixelated;
       filter: drop-shadow(0 8px 5px rgba(0, 0, 0, 0.6));
   }

   .preview-card {
       width: 100%;
       background: #1f1b10;
       border: 4px solid #6b5e3a;
       box-shadow: inset 0 0 15px #0a0800, 0 12px 18px black;
       padding: 2.3rem 1.5rem;
       border-radius: 8px;
       display: flex;
       justify-content: center;
       align-items: center;
       min-height: 150px;
       position: relative;
       background-image: repeating-linear-gradient(45deg,
               rgba(80, 70, 30, 0.2) 0px,
               rgba(80, 70, 30, 0.2) 2px,
               transparent 2px,
               transparent 8px);
   }

   #fontOutput {
       font-family: 'Press Start 2P', monospace;
       font-size: 2.0rem;
       color: #f0ead0;
       text-shadow: 4px 4px 0 #1f1a0c, 7px 7px 0 rgba(0, 0, 0, 0.9);
       letter-spacing: 2px;
       word-break: break-word;
       text-align: center;
       line-height: 1.6;
       transition: all 0.15s ease;
       width: 100%;
       padding: 0.5rem;
       image-rendering: crisp-edges;
       filter: drop-shadow(0 4px 4px black);
       min-height: 60px;
       display: flex;
       align-items: center;
       justify-content: center;
   }

   .controls {
       width: 100%;
       display: flex;
       flex-direction: column;
       gap: 1.8rem;
   }

   .input-group {
       display: flex;
       flex-direction: column;
       gap: 0.7rem;
       width: 100%;
   }

   label {
       font-size: 0.85rem;
       color: #c9b96e;
       text-shadow: 2px 2px 0 #1f1a0a;
       letter-spacing: 1px;
       text-transform: uppercase;
       font-weight: 400;
       display: flex;
       align-items: center;
       gap: 0.5rem;
   }

   label::before {
       content: "⛏";
       filter: drop-shadow(0 2px 2px black);
       font-size: 1.1rem;
   }

   input,
   select {
       background: #282412;
       border: 3px solid #5a4d2b;
       color: #f5e9b8;
       font-family: 'Press Start 2P', monospace;
       font-size: 0.9rem;
       padding: 0.9rem 1.2rem;
       border-radius: 4px;
       outline: none;
       box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.8), 0 4px 0 #2e2716;
       transition: all 0.1s ease;
       letter-spacing: 1px;
       width: 100%;
   }

   input:focus,
   select:focus {
       border-color: #f7d44a;
       box-shadow: inset 0 2px 10px black, 0 0 15px #f9b81b;
       background: #2f2a18;
   }

   input::placeholder {
       color: #8b8552;
       font-size: 0.7rem;
       opacity: 0.8;
       letter-spacing: 1px;
   }

   .slider-container {
       display: flex;
       align-items: center;
       gap: 1rem;
       flex-wrap: wrap;
   }

   input[type="range"] {
       -webkit-appearance: none;
       appearance: none;
       width: 100%;
       height: 14px;
       background: #312b17;
       border: 2px solid #5b4d24;
       border-radius: 10px;
       box-shadow: inset 0 2px 6px black;
       padding: 0;
       cursor: pointer;
   }

   input[type="range"]::-webkit-slider-thumb {
       -webkit-appearance: none;
       appearance: none;
       width: 24px;
       height: 24px;
       background: #c9a53b;
       border: 3px solid #1f1a08;
       border-radius: 2px;
       box-shadow: 0 3px 0 #4b3c18, 0 0 12px #ebbc34;
       cursor: pointer;
       image-rendering: pixelated;
   }

   .size-value {
       background: #00000070;
       padding: 0.3rem 1rem;
       border: 2px solid #bd9e40;
       border-radius: 4px;
       font-size: 0.8rem;
       min-width: 65px;
       text-align: center;
       color: #ffd966;
   }

   .button-row {
       display: flex;
       gap: 1rem;
       flex-wrap: wrap;
       justify-content: center;
       margin-top: 0.4rem;
   }

   .mc-btn {
       background: #7a6b3c;
       border: 3px solid #2f2a14;
       color: #f7efc7;
       font-family: 'Press Start 2P', monospace;
       font-size: 0.75rem;
       padding: 0.8rem 1.2rem;
       text-transform: uppercase;
       letter-spacing: 1px;
       cursor: pointer;
       box-shadow: 0 5px 0 #3a3417, 0 7px 12px black;
       transition: 0.06s linear;
       background: #8b7a45;
       border-radius: 5px;
       display: flex;
       align-items: center;
       gap: 0.4rem;
       white-space: nowrap;
   }

   .mc-btn:active {
       transform: translateY(3px);
       box-shadow: 0 2px 0 #2f2a14, 0 5px 10px black;
       background: #6b5c31;
   }

   .mc-btn.copied {
       background: #5a8f4a;
       border-color: #2d5a1e;
       box-shadow: 0 3px 0 #2d5a1e, 0 5px 10px black;
   }

   .color-picker-group {
       display: flex;
       align-items: center;
       gap: 1.2rem;
       flex-wrap: wrap;
   }

   input[type="color"] {
       width: 60px;
       height: 45px;
       border: 3px solid #4b401f;
       border-radius: 6px;
       background: transparent;
       cursor: pointer;
       padding: 3px;
       box-shadow: 0 4px 8px black;
   }

   .external-links-section {
       width: 100%;
       background: rgba(35, 30, 25, 0.8);
       backdrop-filter: blur(12px);
       border: 5px solid #3b3b2b;
       box-shadow: 0 15px 30px rgba(0, 0, 0, 0.7), inset 0 0 20px rgba(0, 0, 0, 0.6);
       border-radius: 10px;
       padding: 1.8rem 2rem;
       outline: 2px solid #5a5030;
       outline-offset: 4px;
   }

   .external-links-title {
       display: block;
       font-size: 1rem;
       color: #f7d44a;
       text-shadow: 2px 2px 0 #3b2f0e;
       text-align: center;
       margin-bottom: 10px;
       letter-spacing: 2px;
   }

   .external-links-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
       gap: 1rem;
   }

   .external-link-btn {
       background: #3a3320;
       border: 3px solid #5a4d2b;
       color: #e0d5a8;
       font-family: 'Press Start 2P', monospace;
       font-size: 0.6rem;
       padding: 1rem 0.8rem;
       text-decoration: none;
       text-align: center;
       letter-spacing: 1px;
       cursor: pointer;
       box-shadow: 0 4px 0 #2e2716, 0 6px 10px black;
       transition: all 0.1s ease;
       border-radius: 5px;
       display: flex;
       align-items: center;
       justify-content: center;
       gap: 0.5rem;
       word-break: break-word;
       position: relative;
       overflow: hidden;
   }

   .external-link-btn::before {
       content: "";
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, transparent 50%);
       pointer-events: none;
   }

   .external-link-btn:hover {
       background: #4a3f28;
       border-color: #8b7a45;
       color: #f9e84b;
       transform: translateY(-2px);
       box-shadow: 0 6px 0 #2e2716, 0 8px 15px black;
       text-shadow: 0 0 8px rgba(249, 232, 75, 0.5);
   }

   .external-link-btn:active {
       transform: translateY(3px);
       box-shadow: 0 2px 0 #2e2716, 0 4px 8px black;
   }

   .external-link-icon {
       font-size: 1.2rem;
       filter: drop-shadow(0 2px 2px black);
   }

   /* Article Section */
   .article-section {
       width: 100%;
       background: rgba(35, 30, 25, 0.8);
       backdrop-filter: blur(12px);
       border: 6px solid #3b3b2b;
       box-shadow: 0 20px 35px rgba(0, 0, 0, 0.7), inset 0 0 25px rgba(0, 0, 0, 0.8);
       border-radius: 10px;
       padding: 2.5rem 2rem;
       outline: 3px solid #5a5030;
       outline-offset: 5px;
   }

   .article-title {
       font-size: 1.5rem;
       color: #f9e84b;
       text-shadow: 3px 3px 0 #3b2f0e, 5px 5px 0 rgba(0, 0, 0, 0.7);
       margin-bottom: 2rem;
       text-align: center;
       letter-spacing: 2px;
   }

   .article-content {
       font-family: 'Press Start 2P', monospace;
       font-size: 0.65rem;
       line-height: 2.2;
       color: #d4c99e;
       text-shadow: 1px 1px 0 #000;
       letter-spacing: 1px;
   }

   .main-img {
       display: block;
       width: 60%;
       margin: 10px auto;
   }

   .article-content h2,
   h3 {
       font-size: 0.9rem;
       color: #f7d44a;
       margin: 2rem 0 1rem 0;
       text-shadow: 2px 2px 0 #3b2f0e;
   }

   .article-content p {
       margin-bottom: 1.2rem;
       text-align: justify;
   }

   .article-content .highlight {
       color: #5ce1e6;
       text-shadow: 0 0 8px rgba(92, 225, 230, 0.5);
   }

   /* Toast notification */
   .toast {
       position: fixed;
       bottom: 100px;
       left: 50%;
       transform: translateX(-50%);
       background: #2d2a1c;
       border: 3px solid #c9a53b;
       color: #f9e84b;
       font-family: 'Press Start 2P', monospace;
       font-size: 0.7rem;
       padding: 0.8rem 1.8rem;
       border-radius: 4px;
       z-index: 999;
       box-shadow: 0 8px 20px black;
       opacity: 0;
       transition: opacity 0.3s ease;
       pointer-events: none;
       text-align: center;
   }

   .toast.show {
       opacity: 1;
   }

   /* Back to Top Button */
   .back-to-top {
       position: fixed;
       bottom: 30px;
       right: 30px;
       z-index: 998;
       background: #8b7a45;
       border: 3px solid #2f2a14;
       color: #f7efc7;
       font-family: 'Press Start 2P', monospace;
       font-size: 1.2rem;
       width: 50px;
       height: 50px;
       border-radius: 8px;
       cursor: pointer;
       box-shadow: 0 5px 0 #3a3417, 0 7px 12px black;
       transition: all 0.2s ease;
       display: flex;
       align-items: center;
       justify-content: center;
       opacity: 0;
       visibility: hidden;
       transform: translateY(20px);
       text-decoration: none;
   }

   .back-to-top.visible {
       opacity: 1;
       visibility: visible;
       transform: translateY(0);
   }

   .back-to-top:hover {
       background: #9b8a55;
       transform: translateY(-2px);
       box-shadow: 0 7px 0 #3a3417, 0 9px 14px black;
   }

   .back-to-top:active {
       transform: translateY(3px);
       box-shadow: 0 2px 0 #2f2a14, 0 5px 10px black;
       background: #6b5c31;
   }

   /* Footer */
   .footer {
       width: 100%;
       max-width: 850px;
       background: rgba(35, 30, 25, 0.8);
       backdrop-filter: blur(12px);
       border: 4px solid #3b3b2b;
       box-shadow: 0 10px 25px rgba(0, 0, 0, 0.7);
       border-radius: 10px;
       padding: 1.5rem 2rem;
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 1rem;
       position: relative;
       z-index: 2;
   }

   .footer-nav {
       display: flex;
       gap: 2rem;
       flex-wrap: wrap;
       justify-content: center;
   }

   .footer-link {
       color: #c9b96e;
       font-family: 'Press Start 2P', monospace;
       font-size: 0.6rem;
       text-decoration: none;
       letter-spacing: 1px;
       transition: color 0.2s ease;
       cursor: pointer;
       text-shadow: 1px 1px 0 #000;
       padding: 0.5rem;
   }

   .footer-link:hover {
       color: #f9e84b;
       text-shadow: 0 0 10px rgba(249, 232, 75, 0.6);
   }

   .footer-copyright {
       color: #8b8552;
       font-size: 0.5rem;
       text-align: center;
       letter-spacing: 1px;
   }

   /* Modal Styles */
   .modal-overlay {
       display: none;
       position: fixed;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       background: rgba(0, 0, 0, 0.85);
       z-index: 1000;
       justify-content: center;
       align-items: center;
       padding: 2rem;
   }

   .modal-overlay.active {
       display: flex;
   }

   .modal {
       background: #2a2518;
       border: 5px solid #6b5e3a;
       box-shadow: 0 20px 40px rgba(0, 0, 0, 0.9), inset 0 0 20px rgba(0, 0, 0, 0.6);
       border-radius: 10px;
       padding: 2rem;
       max-width: 700px;
       width: 100%;
       max-height: 80vh;
       overflow-y: auto;
       position: relative;
       outline: 2px solid #8b7a45;
       outline-offset: 3px;
   }

   .modal-close {
       position: absolute;
       top: 1rem;
       right: 1rem;
       background: #8b3535;
       border: 2px solid #5a1e1e;
       color: #f7efc7;
       font-family: 'Press Start 2P', monospace;
       font-size: 0.8rem;
       width: 35px;
       height: 35px;
       border-radius: 4px;
       cursor: pointer;
       display: flex;
       align-items: center;
       justify-content: center;
       box-shadow: 0 3px 0 #3a1717;
       transition: all 0.1s ease;
   }

   .modal-close:active {
       transform: translateY(2px);
       box-shadow: 0 1px 0 #3a1717;
   }

   .modal-title {
       font-size: 1.2rem;
       color: #f9e84b;
       text-shadow: 3px 3px 0 #3b2f0e;
       margin-bottom: 1.5rem;
       text-align: center;
   }

   .modal-content {
       font-family: 'Press Start 2P', monospace;
       font-size: 0.6rem;
       line-height: 2.2;
       color: #d4c99e;
       text-shadow: 1px 1px 0 #000;
       letter-spacing: 1px;
   }

   .modal-content h3 {
       font-size: 0.75rem;
       color: #f7d44a;
       margin: 1.5rem 0 0.8rem 0;
   }

   .modal-content p {
       margin-bottom: 1rem;
       text-align: justify;
   }

   @media (max-width: 700px) {
       .brand-box .brand {
           font-size: 1.4rem;

       }

       #fontOutput {
           font-size: 1.5rem;
       }

       .main-img {
           width: 100%;
           margin: 10px auto;
       }

   }

   @media (max-width: 500px) {
       body {

           padding: 0.8rem;

       }

       .container {
           padding: 1.8rem 1rem;
       }
              #fontOutput {
           font-size: 1.2rem;
       }

       .mc-btn {
           font-size: 0.6rem;
           padding: 0.6rem 0.8rem;
       }

       .back-to-top {
           bottom: 20px;
           right: 20px;
           width: 45px;
           height: 45px;
           font-size: 1rem;
       }

       .footer-nav {
           gap: 1rem;
       }

       .article-content {
           font-size: 0.55rem;
       }

       .modal {
           padding: 1.5rem;
           F
       }

       .external-links-grid {
           grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
       }

       .external-link-btn {
           font-size: 0.5rem;
           padding: 0.8rem 0.6rem;
       }
   }
