/* RG Master — base + shared design tokens */
/* FIXED THEME: never follow system/OS dark-light preference.
   Always high-contrast dark surface + white/orange text. */
.rg-tool{
  box-sizing:border-box;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color-scheme: only dark !important;
  forced-color-adjust: none;
  --rg-accent:#ff6600;
  --rg-surface:#1a1a2e;
  --rg-inner:#0f0f1a;
  --rg-text:#ffffff;
  --rg-muted:#cbd5e1;
  --rg-border:#334155;
  --rg-card:#0f172a;
  --rg-chip:#1e293b;
  color:#ffffff !important;
  background:transparent;
}
.rg-tool *,.rg-tool *::before,.rg-tool *::after{box-sizing:inherit;}

/* Never show processing loaders — results are instant */
.rg-tool [id*="loading"],
.rg-tool [id*="loader"],
.rg-tool .rg-loading{
  display:none !important;
}


/* ===== Shared Code Studio (coupon / promo / voucher / gift / referral / serial) ===== */
.rg-tool .rg-cgen{
  max-width:560px;
  margin:0 auto;
  padding:18px 16px 20px;
  background:#0f172a !important;
  border:1px solid #334155 !important;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  color:#ffffff !important;
}
.rg-tool .rg-cgen-row{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:14px;
}
.rg-tool .rg-cgen-label{
  color:#e2e8f0 !important;
  font-size:13px;
  font-weight:600;
}
.rg-tool .rg-cgen-opt{
  color:#94a3b8 !important;
  font-weight:500;
  font-size:12px;
}
.rg-tool .rg-cgen-input{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid #334155 !important;
  background:#1a1a2e !important;
  color:#ffffff !important;
  font-size:14px;
  outline:none;
}
.rg-tool .rg-cgen-input:focus{
  border-color:#ff6600 !important;
  box-shadow:0 0 0 2px rgba(255,102,0,.2);
}
.rg-tool .rg-cgen-chars{
  min-height:72px;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;
  line-height:1.4;
}
.rg-tool .rg-cgen-preview-wrap{
  margin:4px 0 16px;
  padding:12px 14px;
  border-radius:10px;
  background:#1e293b !important;
  border:1px solid #334155 !important;
}
.rg-tool .rg-cgen-preview{
  margin-top:8px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:18px;
  letter-spacing:.04em;
  color:#ff6600 !important;
  word-break:break-all;
}
.rg-tool .rg-cgen-btn{
  display:block;
  width:100%;
  padding:14px 18px;
  border:none;
  border-radius:10px;
  background:#0d9488 !important;
  color:#ffffff !important;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  transition:filter .15s ease, transform .1s ease;
}
.rg-tool .rg-cgen-btn:hover{ filter:brightness(1.08); }
.rg-tool .rg-cgen-btn:active{ transform:translateY(1px); }
.rg-tool .rg-cgen-result{
  margin:18px 0 0 !important;
  padding:14px !important;
  background:#1a1a2e !important;
  border:1px solid #334155 !important;
  border-radius:12px;
}
.rg-tool .rg-cgen-result[hidden]{ display:none !important; }
.rg-tool .rg-cgen-list{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 220px), 1fr)) !important;
  gap:8px !important;
  margin-top:10px;
}
.rg-tool .rg-cgen-item{
  padding:10px 12px;
  border-radius:8px;
  background:#0f172a !important;
  border:1px solid #334155 !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;
  color:#ffffff !important;
  word-break:break-all;
}
.rg-tool .rg-cgen-note{
  margin:12px 2px 0;
  font-size:12px;
  color:#94a3b8 !important;
  line-height:1.4;
}
@media (max-width:600px){
  .rg-tool .rg-cgen{ padding:14px 12px 16px; border-radius:12px; }
  .rg-tool .rg-cgen-preview{ font-size:16px; }
}

/* Fill hint for code generators */
.rg-tool .rg-fill-hint{
  margin:12px 20px 0;
  padding:12px 14px;
  background:#1e293b !important;
  border:1px solid #334155 !important;
  border-left:4px solid #ff6600 !important;
  border-radius:10px;
  color:#ffffff !important;
  font-size:13px;
  line-height:1.45;
  text-align:left;
}
.rg-tool .rg-fill-hint strong{ color:#ff6600 !important; }
.rg-tool .rg-fill-hint em{ color:#cbd5e1 !important; font-style:normal; font-weight:600; }
.rg-tool .rg-fill-hint code{
  background:#0f0f1a !important;
  color:#ff6600 !important;
  padding:1px 6px;
  border-radius:4px;
}

/* Force results visible after Generate */
.rg-tool .rg-result-show,
.rg-tool [id*="result"].rg-result-show,
.rg-tool #rfg_output.rg-result-show,
.rg-tool .rg-code-result.rg-result-show{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Code / date results: directly under Generate, responsive */
.rg-tool .rg-code-result,
.rg-tool #ccg_result,
.rg-tool #pcg_result,
.rg-tool #gcg_result,
.rg-tool #vcg_result,
.rg-tool #refcg_result,
.rg-tool #sng_result,
.rg-tool #rdg_result{
  margin:16px 12px 12px !important;
  max-width:100% !important;
  width:auto !important;
  box-sizing:border-box !important;
  overflow:hidden;
}
.rg-tool #ccg_codes_list,
.rg-tool #pcg_codes_list,
.rg-tool #gcg_codes_list,
.rg-tool #vcg_codes_list,
.rg-tool #refcg_codes_list,
.rg-tool #sng_codes_list,
.rg-tool #rdg_dates_list{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 260px), 1fr)) !important;
  gap:8px !important;
  width:100% !important;
}
@media (max-width:600px){
  .rg-tool .rg-code-result,
  .rg-tool #ccg_result,
  .rg-tool #pcg_result,
  .rg-tool #gcg_result,
  .rg-tool #vcg_result,
  .rg-tool #refcg_result,
  .rg-tool #sng_result,
  .rg-tool #rdg_result{
    margin:14px 8px !important;
    padding:12px !important;
  }
  .rg-tool #ccg_codes_list,
  .rg-tool #pcg_codes_list,
  .rg-tool #gcg_codes_list,
  .rg-tool #vcg_codes_list,
  .rg-tool #refcg_codes_list,
  .rg-tool #sng_codes_list,
  .rg-tool #rdg_dates_list{
    grid-template-columns:1fr !important;
  }
}

/* Real photo frames — fixed 250x250, quick paint */
.rg-tool img.rg-wiki-img,
.rg-tool img.food-image,
.rg-tool img.rfg-img{
  width:250px !important;
  height:250px !important;
  max-width:100% !important;
  object-fit:cover !important;
  background:#1e293b !important;
  border:1px solid #334155 !important;
  border-radius:12px !important;
  display:block !important;
  margin:12px auto !important;
}



/* Unified dark result surface */
.rg-tool [id*="result"],
.rg-tool [id*="output"],
.rg-tool .rg-result-card,
.rg-tool .rgfant-card-fantasy,
.rg-tool .ranimalg-card,
.rg-tool .rcharg-card-character,
.rg-tool .rcityg-card,
.rg-tool .rcolorg-card-color,
.rg-tool .rcc-details,
.rg-tool .rdrinkg-card-drink,
.rg-tool .remojig-card-emoji,
.rg-tool .remotg-card-emotion,
.rg-tool .rfoodg-card-food,
.rg-tool .rhobbyg-card-hobby,
.rg-tool .rjobg-card-job,
.rg-tool .rmg-card,
.rg-tool .rvegg-card-vegetable,
.rg-tool .rwweekg-card,
.rg-tool .rtg-team-card,
.rg-tool #rfg_output,
.rg-tool .rboyg-names-container,
.rg-tool .rgirlg-names-container,
.rg-tool .rdogn-names-container,
.rg-tool .rcatn-names-container,
.rg-tool .rpetn-names-container,
.rg-tool .rfirstn-names-container,
.rg-tool .rlastn-names-container,
.rg-tool .rnicn-names-container{
  background:#0f172a !important;
  color:#ffffff !important;
  border:1px solid #334155 !important;
  border-radius:12px;
  box-shadow:0 10px 28px rgba(0,0,0,0.35) !important;
}
.rg-tool .rboyg-name-item,
.rg-tool .rgirlg-name-item,
.rg-tool .rdogn-name-item,
.rg-tool .rcatn-name-item,
.rg-tool .rpetn-name-item,
.rg-tool .rfirstn-name-item,
.rg-tool .rlastn-name-item,
.rg-tool .rnicn-name-item,
.rg-tool .fantasy-name-item,
.rg-tool .drink-benefit,
.rg-tool .info-item,
.rg-tool .serving-note,
.rg-tool .rmg-holiday-item,
.rg-tool .rcityg-row,
.rg-tool .rcityg-fact-box,
.rg-tool .food-ingredient-item,
.rg-tool .emoji-item,
.rg-tool .rtg-name-item,
.rg-tool .rnba-player-card,
.rg-tool .gug-name-item,
.rg-tool .iug-username-item,
.rg-tool .pug-name-item,
.rg-tool .stg-name-item,
.rg-tool .ttug-username-item,
.rg-tool .txug-name-item,
.rg-tool .ytcn-name-item,
.rg-tool .ccg-code-item,
.rg-tool .pcg-code-item,
.rg-tool .vcg-code-item,
.rg-tool .gcg-code-item,
.rg-tool .refcg-code-item,
.rg-tool .sng-code-item{
  background:#1e293b !important;
  color:#ffffff !important;
  border-color:#334155 !important;
}
.rg-tool .rboyg-name,
.rg-tool .rgirlg-name,
.rg-tool .rdogn-name,
.rg-tool .rcatn-name,
.rg-tool .rpetn-name,
.rg-tool .rfirstn-name,
.rg-tool .rlastn-name,
.rg-tool .rnicn-name,
.rg-tool .rnba-player-name,
.rg-tool .rwweekg-weekday-name{
  color:#ff6600 !important;
}
.rg-tool .rboyg-meaning,
.rg-tool .rgirlg-meaning,
.rg-tool .rdogn-meaning,
.rg-tool .rcatn-meaning,
.rg-tool .rpetn-meaning,
.rg-tool .rfirstn-meaning,
.rg-tool .rlastn-meaning,
.rg-tool .rnicn-meaning,
.rg-tool .rboyg-origin,
.rg-tool .rgirlg-origin,
.rg-tool .ingredient-name,
.rg-tool .rmg-holiday-name,
.rg-tool .rcityg-city-name,
.rg-tool .rcityg-value,
.rg-tool .rcityg-fact-text,
.rg-tool .rtg-team-title,
.rg-tool .drink-name,
.rg-tool .character-name,
.rg-tool .character-detail,
.rg-tool .rcc-details div,
.rg-tool .ingredient-quantity,
.rg-tool .rnba-player-team{
  color:#ffffff !important;
}
.rg-tool .rcityg-label,
.rg-tool .rcityg-country,
.rg-tool .ingredient-quantity,
.rg-tool .rmg-festival-type,
.rg-tool .rnba-stat,
.rg-tool .emoji-name{
  color:#cbd5e1 !important;
}
.rg-tool .rcityg-country .rcityg-k{ color:#ffffff !important; }
.rg-tool .rcc-country-name{ color:#ffffff !important; }
.rg-tool .hex-code{ background:#020617 !important; color:#ffffff !important; }

/* Inputs — always dark, readable */
.rg-tool input,
.rg-tool select,
.rg-tool textarea{
  color-scheme: dark !important;
  background:#0f0f1a !important;
  color:#ffffff !important;
  border:1px solid #334155 !important;
  border-radius:8px;
  padding:10px 12px;
}
.rg-tool input::placeholder,
.rg-tool textarea::placeholder{ color:#94a3b8 !important; }
.rg-tool button:not(.rg-btn-download):not(.rg-btn-copy):not(.rg-btn-share),
.rg-tool [id*="generate"],
.rg-tool [id*="_btn"]{
  /* generate CTAs stay orange where inline styles set them */
}

/* Force orange primary generate buttons readable */
.rg-tool button[id*="generate"],
.rg-tool button[id*="Generate"],
.rg-tool button[id*="_roll"],
.rg-tool #rfg_btn{
  background:#ff6600 !important;
  color:#ffffff !important;
  border:2px solid #ff6600 !important;
  font-weight:700 !important;
}

@media (prefers-color-scheme: light){
  .rg-tool, .rg-tool *{
    /* still locked dark tokens — do not invert for light OS */
  }
}
@media (prefers-color-scheme: dark){
  .rg-tool, .rg-tool *{
    /* ignore OS dark overrides from theme */
  }
}

/* Unified result actions: Download + Copy (orange, white bold, centered) */
.rg-tool .rg-result-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin:16px auto 8px;
  width:100%;
  max-width:100%;
}
.rg-tool .rg-result-actions .rg-btn-download,
.rg-tool .rg-result-actions .rg-btn-copy,
.rg-tool .rg-result-actions .rg-btn-share{
  padding:10px 22px;
  background:#ff6600;
  color:#fff !important;
  border:2px solid #ff6600;
  border-radius:8px;
  cursor:pointer;
  font-size:15px;
  font-weight:700;
  font-family:inherit;
  line-height:1.2;
  transition:filter 0.15s ease, transform 0.15s ease;
}
.rg-tool .rg-result-actions .rg-btn-download:hover,
.rg-tool .rg-result-actions .rg-btn-copy:hover,
.rg-tool .rg-result-actions .rg-btn-share:hover{
  filter:brightness(1.08);
}
.rg-tool .rg-result-actions .rg-btn-download:disabled,
.rg-tool .rg-result-actions .rg-btn-copy:disabled,
.rg-tool .rg-result-actions .rg-btn-share:disabled{
  opacity:0.7;
  cursor:wait;
}

/* ===== tool: coupon_code_generator ===== */
.rg-tool-coupon_code_generator {
@keyframes rg_kf_coupon_code_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .kt-inside-inner-col {
        padding: 0 !important;
    }
    
    .ccg-info {
        position: relative;
        cursor: help;
    }
    .ccg-info:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background: #333;
        color: white;
        padding: 5px 10px;
        border-radius: 5px;
        font-size: 10px;
        white-space: nowrap;
        z-index: 100;
        box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }
    
    .ccg-code-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 10px;
        background: #1a1a2e;
        border-radius: 6px;
        word-break: break-all;
    }
    .ccg-code-text {
        font-family: monospace;
        font-size: 13px;
        font-weight: 600;
        color: #ffffff;
        word-break: break-all;
        flex: 1;
        letter-spacing: 0.5px;
    }
    .ccg-code-copy {
        padding: 5px 12px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: 12px;
        font-weight: bold;
        margin-left: 8px;
    }
    .ccg-code-copy:active {
        transform: scale(0.95);
    }
    
    /* Celebration animation */
    @keyframes celebrate {
        0% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.02); background: #ff8844; }
        100% { transform: scale(1); opacity: 1; }
    }
    
    .ccg-celebrate {
        animation: celebrate 0.5s ease-in-out;
    }
    
    @media (max-width: 768px) {
        .ccg-code-item {
            flex-direction: row;
            gap: 8px;
            text-align: left;
            padding: 8px 10px;
        }
        .ccg-code-text {
            font-size: 13px;
            text-align: left;
        }
        .ccg-code-copy {
            font-size: 12px;
            padding: 5px 12px;
            margin-left: 8px;
            width: auto;
            flex-shrink: 0;
        }
        .ccg-info:hover::after {
            white-space: normal;
            width: 160px;
            text-align: center;
            bottom: 24px;
        }
        .ccg-info {
            font-size: 10px;
        }
    }
    
    @media (max-width: 600px) {
        .ccg-code-text {
            font-size: 12px;
        }
        .ccg-code-copy {
            font-size: 11px;
            padding: 4px 10px;
        }
        .ccg-code-item {
            padding: 6px 8px;
        }
    }
    
    @media (min-width: 769px) and (max-width: 1024px) {
        .ccg-code-item {
            align-items: center;
        }
        .ccg-code-text {
            font-size: 13px;
        }
    }
}


/* ===== tool: dice_roller ===== */
.rg-tool-dice_roller {
.drt-dice-count.active {
        background: #ff6600 !important;
        border-color: #ff6600 !important;
    }
    .drt-dice-count:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(255, 102, 0, 0.3);
    }
    #drt_roll_btn:hover {
        background-color: #cc5200;
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(255, 102, 0, 0.3);
    }
    #drt_roll_btn:active {
        transform: scale(0.98);
    }
    #drt_copy_btn:active {
        transform: scale(0.98);
    }
    
    /* Dice CSS - 3D Style */
    .dice {
        width: 80px;
        height: 80px;
        position: relative;
        transform-style: preserve-3d;
        transition: transform 0.6s ease-out;
        cursor: pointer;
    }
    
    .dice.rolling {
        animation: rollDice 0.5s ease-out;
    }
    
    @keyframes rollDice {
        0% { transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); }
        25% { transform: rotateX(180deg) rotateY(90deg) rotateZ(45deg); }
        50% { transform: rotateX(360deg) rotateY(180deg) rotateZ(90deg); }
        75% { transform: rotateX(540deg) rotateY(270deg) rotateZ(135deg); }
        100% { transform: rotateX(720deg) rotateY(360deg) rotateZ(180deg); }
    }
    
    .face {
        position: absolute;
        width: 80px;
        height: 80px;
        background: white;
        border-radius: 12px;
        box-shadow: inset 0 0 8px rgba(0,0,0,0.1), 0 4px 8px rgba(0,0,0,0.2);
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    /* Dot styles */
    .dot {
        width: 14px;
        height: 14px;
        background: #1a1a2e;
        border-radius: 50%;
        position: absolute;
        box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
    }
    
    /* Face positions */
    .front  { transform: translateZ(40px); }
    .back   { transform: rotateY(180deg) translateZ(40px); }
    .right  { transform: rotateY(90deg) translateZ(40px); }
    .left   { transform: rotateY(-90deg) translateZ(40px); }
    .top    { transform: rotateX(90deg) translateZ(40px); }
    .bottom { transform: rotateX(-90deg) translateZ(40px); }
    
    /* Dot positions for each face */
    /* Face 1 - Center */
    .face-1 .dot:nth-child(1) { top: 50%; left: 50%; transform: translate(-50%, -50%); }
    
    /* Face 2 - Top-left and Bottom-right */
    .face-2 .dot:nth-child(1) { top: 20%; left: 20%; }
    .face-2 .dot:nth-child(2) { bottom: 20%; right: 20%; }
    
    /* Face 3 - Top-left, Center, Bottom-right */
    .face-3 .dot:nth-child(1) { top: 20%; left: 20%; }
    .face-3 .dot:nth-child(2) { top: 50%; left: 50%; transform: translate(-50%, -50%); }
    .face-3 .dot:nth-child(3) { bottom: 20%; right: 20%; }
    
    /* Face 4 - Four corners */
    .face-4 .dot:nth-child(1) { top: 20%; left: 20%; }
    .face-4 .dot:nth-child(2) { top: 20%; right: 20%; }
    .face-4 .dot:nth-child(3) { bottom: 20%; left: 20%; }
    .face-4 .dot:nth-child(4) { bottom: 20%; right: 20%; }
    
    /* Face 5 - Four corners + Center */
    .face-5 .dot:nth-child(1) { top: 20%; left: 20%; }
    .face-5 .dot:nth-child(2) { top: 20%; right: 20%; }
    .face-5 .dot:nth-child(3) { top: 50%; left: 50%; transform: translate(-50%, -50%); }
    .face-5 .dot:nth-child(4) { bottom: 20%; left: 20%; }
    .face-5 .dot:nth-child(5) { bottom: 20%; right: 20%; }
    
    /* Face 6 - Two columns of three */
    .face-6 .dot:nth-child(1) { top: 15%; left: 20%; }
    .face-6 .dot:nth-child(2) { top: 15%; right: 20%; }
    .face-6 .dot:nth-child(3) { top: 50%; left: 20%; transform: translateY(-50%); }
    .face-6 .dot:nth-child(4) { top: 50%; right: 20%; transform: translateY(-50%); }
    .face-6 .dot:nth-child(5) { bottom: 15%; left: 20%; }
    .face-6 .dot:nth-child(6) { bottom: 15%; right: 20%; }
    
    @media (max-width: 600px) {
        .dice {
            width: 60px;
            height: 60px;
        }
        .face {
            width: 60px;
            height: 60px;
        }
        .front  { transform: translateZ(30px); }
        .back   { transform: rotateY(180deg) translateZ(30px); }
        .right  { transform: rotateY(90deg) translateZ(30px); }
        .left   { transform: rotateY(-90deg) translateZ(30px); }
        .top    { transform: rotateX(90deg) translateZ(30px); }
        .bottom { transform: rotateX(-90deg) translateZ(30px); }
        .dot {
            width: 10px;
            height: 10px;
        }
    }
}


/* ===== tool: fantasy_name_generator ===== */
.rg-tool-fantasy_name_generator {
#rgfant_generate_btn_fantasy:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    @keyframes rg_kf_fantasy_name_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .rgfant-card-fantasy {
        max-width:620px;
        margin:0 auto;
        text-align:center;
        padding:25px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    .fantasy-title {
        font-size:28px;
        font-weight:bold;
        border-bottom:2px solid #F7630C;
        display:inline-block;
        padding-bottom:6px;
        margin-bottom:20px;
    }
    .fantasy-names-list {
        text-align:left;
        padding:0 20px;
    }
    .fantasy-name-item {
        font-size:20px;
        padding:12px 15px;
        margin:8px 0;
        background:#1e293b;
        border-radius:8px;
        border-left:4px solid #ff6600;
        font-weight:500;
    }
    .rgfant-actions-fantasy { display:flex; justify-content:center; gap:12px; margin-top:18px; }
    .rgfant-actions-fantasy button { padding:12px 20px; font-weight:bold; font-size:16px; border-radius:8px; border:2px solid #ff6600; background:#ff6600; color:#fff; cursor:pointer; transition:all 0.2s ease; }
    .rgfant-actions-fantasy button:hover { background-color:#cc5200; border-color:#cc5200; }
}


/* ===== tool: gaming_username_generator ===== */
.rg-tool-gaming_username_generator {
#gug_generate_btn:active { transform: scale(0.98); }
    .gug-results-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    .gug-result-column {
        background: #0f0f1a;
        border-radius: 16px;
        padding: 5px 0;
    }
    .gug-result-column h3 {
        text-align: center;
        color: #ff6600;
        margin: 15px 0 10px 0;
        font-size: 18px;
        font-weight: bold;
    }
    .gug-name-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 14px 18px;
        margin: 10px 12px;
        background: #1a1a2e;
        border-radius: 12px;
        border-left: 4px solid #ff6600;
    }
    .gug-name-item:hover { background: #22223b; }
    .gug-name {
        font-size: 16px;
        font-weight: 600;
        color: #ffffff;
        word-break: break-all;
        font-family: 'Courier New', monospace;
        flex: 1;
    }
    .gug-copy-btn {
        padding: 8px 20px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        font-size: 13px;
        font-weight: bold;
        margin-left: 15px;
    }
    .gug-copy-btn:active { transform: scale(0.95); }
    .gug-copied { background: #00ff00; color: #000; }
    .gug-actions {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-top: 35px;
        flex-wrap: wrap;
    }
    .gug-actions button {
        padding: 12px 35px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        border: 2px solid #ff6600;
        background: #ff6600;
        color: #fff;
        cursor: pointer;
    }
    .gug-actions button:active { transform: scale(0.96); }
    @media (max-width: 900px) {
        .gug-results-container { grid-template-columns: 1fr; gap: 20px; }
        .gug-name-item { padding: 12px 15px; }
        .gug-name { font-size: 14px; }
    }
    @media (max-width: 600px) {
        .gug-name-item { flex-direction: column; gap: 10px; text-align: center; }
        .gug-name { text-align: center; }
        .gug-copy-btn { width: 100%; margin-left: 0; }
        .gug-actions button { width: 100%; }
    }
}


/* ===== tool: gift_card_generator ===== */
.rg-tool-gift_card_generator {
@keyframes rg_kf_gift_card_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .kt-inside-inner-col {
        padding: 0 !important;
    }
    
    .gcg-info {
        position: relative;
        cursor: help;
    }
    .gcg-info:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background: #333;
        color: white;
        padding: 5px 10px;
        border-radius: 5px;
        font-size: 10px;
        white-space: nowrap;
        z-index: 100;
        box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }
    
    .gcg-code-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 10px;
        background: #1a1a2e;
        border-radius: 6px;
        word-break: break-all;
    }
    .gcg-code-text {
        font-family: monospace;
        font-size: 13px;
        font-weight: 600;
        color: #ffffff;
        word-break: break-all;
        flex: 1;
        letter-spacing: 0.5px;
    }
    .gcg-code-copy {
        padding: 5px 12px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: 12px;
        font-weight: bold;
        margin-left: 8px;
    }
    .gcg-code-copy:active {
        transform: scale(0.95);
    }
    
    /* Celebration animation */
    @keyframes celebrate {
        0% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.02); background: #ff8844; }
        100% { transform: scale(1); opacity: 1; }
    }
    
    .gcg-celebrate {
        animation: celebrate 0.5s ease-in-out;
    }
    
    @media (max-width: 768px) {
        .gcg-code-item {
            flex-direction: row;
            gap: 8px;
            text-align: left;
            padding: 8px 10px;
        }
        .gcg-code-text {
            font-size: 13px;
            text-align: left;
        }
        .gcg-code-copy {
            font-size: 12px;
            padding: 5px 12px;
            margin-left: 8px;
            width: auto;
            flex-shrink: 0;
        }
        .gcg-info:hover::after {
            white-space: normal;
            width: 160px;
            text-align: center;
            bottom: 24px;
        }
        .gcg-info {
            font-size: 10px;
        }
    }
    
    @media (max-width: 600px) {
        .gcg-code-text {
            font-size: 12px;
        }
        .gcg-code-copy {
            font-size: 11px;
            padding: 4px 10px;
        }
        .gcg-code-item {
            padding: 6px 8px;
        }
    }
    
    @media (min-width: 769px) and (max-width: 1024px) {
        .gcg-code-item {
            align-items: center;
        }
        .gcg-code-text {
            font-size: 13px;
        }
    }
}


/* ===== tool: instagram_username_generator ===== */
.rg-tool-instagram_username_generator {
.iug-cat-item.active {
        background: #ff6600 !important;
        color: white;
    }
    .iug-cat-item:hover {
        background: #ff6600 !important;
        transform: translateY(-2px);
    }
    .iug-btn {
        transition: transform .2s ease, box-shadow .2s ease;
    }
    .iug-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 14px rgba(0,0,0,.25);
    }
    @keyframes rg_kf_instagram_username_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .iug-username-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 14px 18px;
        margin: 10px 0;
        background: #0f172a;
        border-radius: 10px;
        border-left: 4px solid #ff6600;
    }
    .iug-username {
        font-size: 18px;
        font-weight: 500;
        color: #ffffff;
        word-break: break-all;
    }
    .iug-copy-btn {
        padding: 8px 20px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        font-size: 14px;
        font-weight: bold;
        transition: all 0.2s ease;
    }
    .iug-copy-btn:hover {
        background: #cc5200;
        transform: scale(1.02);
    }
    .iug-copied {
        background: #2ecc71;
    }
    @media (max-width: 768px) {
        #iug_inputs, #iug_categories {
            flex: 1 1 100%;
        }
        .iug-username-item {
            flex-direction: column;
            gap: 10px;
            text-align: center;
        }
        .iug-copy-btn {
            width: 100%;
        }
    }
}


/* ===== tool: promo_code_generator ===== */
.rg-tool-promo_code_generator {
@keyframes rg_kf_promo_code_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .kt-inside-inner-col {
        padding: 0 !important;
    }
    
    .pcg-info {
        position: relative;
        cursor: help;
    }
    .pcg-info:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background: #333;
        color: white;
        padding: 5px 10px;
        border-radius: 5px;
        font-size: 10px;
        white-space: nowrap;
        z-index: 100;
        box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }
    
    .pcg-code-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 10px;
        background: #1a1a2e;
        border-radius: 6px;
        word-break: break-all;
    }
    .pcg-code-text {
        font-family: monospace;
        font-size: 13px;
        font-weight: 600;
        color: #ffffff;
        word-break: break-all;
        flex: 1;
        letter-spacing: 0.5px;
    }
    .pcg-code-copy {
        padding: 5px 12px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: 12px;
        font-weight: bold;
        margin-left: 8px;
    }
    .pcg-code-copy:active {
        transform: scale(0.95);
    }
    
    /* Celebration animation */
    @keyframes celebrate {
        0% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.02); background: #ff8844; }
        100% { transform: scale(1); opacity: 1; }
    }
    
    .pcg-celebrate {
        animation: celebrate 0.5s ease-in-out;
    }
    
    @media (max-width: 768px) {
        .pcg-code-item {
            flex-direction: row;
            gap: 8px;
            text-align: left;
            padding: 8px 10px;
        }
        .pcg-code-text {
            font-size: 13px;
            text-align: left;
        }
        .pcg-code-copy {
            font-size: 12px;
            padding: 5px 12px;
            margin-left: 8px;
            width: auto;
            flex-shrink: 0;
        }
        .pcg-info:hover::after {
            white-space: normal;
            width: 160px;
            text-align: center;
            bottom: 24px;
        }
        .pcg-info {
            font-size: 10px;
        }
    }
    
    @media (max-width: 600px) {
        .pcg-code-text {
            font-size: 12px;
        }
        .pcg-code-copy {
            font-size: 11px;
            padding: 4px 10px;
        }
        .pcg-code-item {
            padding: 6px 8px;
        }
    }
    
    @media (min-width: 769px) and (max-width: 1024px) {
        .pcg-code-item {
            align-items: center;
        }
        .pcg-code-text {
            font-size: 13px;
        }
    }
}


/* ===== tool: pubg_name_generator ===== */
.rg-tool-pubg_name_generator {
#pug_generate_btn:active {
        transform: scale(0.98);
    }
    @keyframes rg_kf_pubg_name_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .pug-name-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 20px;
        margin: 12px 0;
        background: #0f0f1a;
        border-radius: 12px;
    }
    .pug-name {
        font-size: 18px;
        font-weight: 600;
        color: #ffffff;
        word-break: break-word;
        font-family: system-ui, "Segoe UI Symbol", "Apple Color Emoji", "Noto Sans Symbols 2", sans-serif;
        letter-spacing: 0.08em;
        text-align: left;
        flex: 1;
        line-height: 1.45;
    }
    .pug-copy-btn {
        padding: 10px 24px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        font-size: 14px;
        font-weight: bold;
        transition: all 0.2s ease;
        margin-left: 15px;
    }
    .pug-copy-btn:active {
        transform: scale(0.95);
    }
    .pug-copied {
        background: #00ff00;
        color: #000;
    }
    .pug-actions {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-top: 30px;
        flex-wrap: wrap;
    }
    .pug-actions button {
        padding: 12px 30px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        border: 2px solid #ff6600;
        background: #ff6600;
        color: #fff;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    .pug-actions button:active {
        transform: scale(0.96);
    }
    @media (max-width: 768px) {
        .pug-name-item {
            flex-direction: column;
            gap: 12px;
            text-align: center;
        }
        .pug-name {
            font-size: 16px;
            text-align: center;
        }
        .pug-copy-btn {
            width: 100%;
            margin-left: 0;
            padding: 12px;
        }
        .pug-actions button {
            width: 100%;
        }
    }
}


/* ===== tool: random_address_generator ===== */
.rg-tool-random_address_generator {
#rag_generate_btn:hover {
        background-color: #cc5200;
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(255, 102, 0, 0.3);
    }
    @keyframes rg_kf_random_address_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    #rag_copy_btn:active {
        transform: scale(0.98);
    }
    #rag_country {
        appearance: auto;
        -webkit-appearance: menulist;
        background-image: none;
    }
    @media (max-width: 600px) {
        #rag_address_display {
            font-size: 14px;
        }
    }
}


/* ===== tool: random_animal_generator ===== */
.rg-tool-random_animal_generator {
/* Enhanced button hover effects */
    #ranimalg_generate_btn:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_animal_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    /* simple responsive center box */
    .ranimalg-card {
        max-width:620px;
        margin:0 auto;
        text-align:center;
        padding:20px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    .ranimalg-actions { display:flex; justify-content:center; gap:12px; margin-top:14px; }
    .ranimalg-actions button { padding:10px 16px; font-weight:bold; border-radius:8px; border:2px solid #ff6600; background:#ff6600; color:#fff; cursor:pointer; transition:all 0.2s ease; }
    .ranimalg-actions button:hover { background-color:#cc5200; border-color:#cc5200; }
}


/* ===== tool: random_character_generator ===== */
.rg-tool-random_character_generator {
#rcharg_generate_btn_character:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    @keyframes rg_kf_random_character_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .rcharg-card-character {
        max-width:620px;
        margin:0 auto;
        text-align:center;
        padding:25px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    .character-name {
        font-size:34px;
        font-weight:bold;
        border-bottom:2px solid #F7630C;
        display:inline-block;
        padding-bottom:6px;
        margin-bottom:20px;
    }
    .character-detail {
        font-size:18px;
        margin:15px 0;
        padding:0 15px;
        text-align:left;
    }
    .rcharg-actions-character { display:flex; justify-content:center; gap:12px; margin-top:18px; }
    .rcharg-actions-character button { padding:12px 20px; font-weight:bold; font-size:16px; border-radius:8px; border:2px solid #ff6600; background:#ff6600; color:#fff; cursor:pointer; transition:all 0.2s ease; }
    .rcharg-actions-character button:hover { background-color:#cc5200; border-color:#cc5200; }
}


/* ===== tool: random_city_generator ===== */
.rg-tool-random_city_generator {
    #rcityg_generate_btn:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }

    @keyframes rg_kf_random_city_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }

    /* Clean premium card (no icons, no heavy gradients) */
    .rcityg-card {
        max-width: 620px;
        margin: 20px auto 0;
        background:#0f172a;
        border-radius: 14px;
        border:1px solid #334155;
        box-shadow: 0 10px 30px rgba(2, 6, 23, 0.08);
        overflow: hidden;
        color: #0f172a;
        text-align: center;
        font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }

    /* Headline (city name + region) */
    .rcityg-headline {
        padding: 18px 18px 10px;
    }
    .rcityg-city-name {
        font-size: 36px;
        font-weight: 800;
        letter-spacing: 0.5px;
        line-height: 1.1;
        color: #0f172a;
        border-bottom: 4px solid #ff6600;
        display: inline-block;
        padding-bottom: 6px;
        margin: 0 0 6px;
    }
    .rcityg-country { margin-top: 8px; font-size: 14px; color: #334155; }
    .rcityg-country .rcityg-k { font-weight: 800; color: #0f172a; }
    .rcityg-country .rcityg-v { font-weight: 700; }

    /* Flag (shown under title) */
    .rcityg-flag-wrap {
        display: flex;
        justify-content: center;
        padding: 0 18px 10px;
    }
    .rcityg-flag {
        width: 260px;
        max-width: 100%;
        height: 170px;
        object-fit: cover;
        border-radius: 12px;
        border:1px solid #334155;
        box-shadow: 0 10px 24px rgba(2, 6, 23, 0.10);
        background: #f1f5f9;
        display: block;
    }

    /* 2x2 grid of data points (no icons) */
    .rcityg-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        padding: 14px 18px 18px;
    }
    .rcityg-row {
        background: #f8fafc;
        border:1px solid #334155;
        border-radius: 12px;
        padding: 12px 14px;
        text-align: left;
    }
    .rcityg-label {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: #64748b;
        font-weight: 700;
        margin-bottom: 6px;
    }
    .rcityg-value {
        font-size: 15px;
        font-weight: 700;
        color: #0f172a;
        line-height: 1.3;
        word-break: break-word;
    }

    /* Fact box */
    .rcityg-fact-box {
        margin: 0 18px 18px;
        padding: 16px 18px;
        background: #fff7ed;
        border: 1px solid rgba(255, 102, 0, 0.28);
        border-radius: 12px;
        text-align: left;
    }
    .rcityg-fact-label {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 1.2px;
        color: #ff6600;
        font-weight: 800;
        margin-bottom: 6px;
    }
    .rcityg-fact-text {
        font-size: 15px;
        line-height: 1.5;
        color: #334155;
    }

    @media (max-width: 600px) {
        .rcityg-grid {
            grid-template-columns: 1fr;
            padding: 12px 14px 14px;
            gap: 10px;
        }
        .rcityg-city-name {
            font-size: 28px;
        }
        .rcityg-fact-box {
            margin: 0 14px 14px;
        }
        .rcityg-headline {
            padding: 16px 14px 8px;
        }
        .rcityg-flag-wrap { padding: 0 14px 10px; }
        .rcityg-flag { height: 150px; }
    }

}


/* ===== tool: random_color_generator ===== */
.rg-tool-random_color_generator {
#rcolorg_generate_btn_color:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_color_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .rcolorg-card-color {
        max-width:620px;
        margin:0 auto;
        text-align:center;
        padding:20px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    
    .color-display-box {
        width:200px;
        height:200px;
        margin:15px auto;
        border-radius:50%;
        box-shadow:0 4px 15px rgba(0,0,0,0.2);
        transition:transform 0.3s ease;
    }
    
    .color-display-box:hover {
        transform:scale(1.05);
    }
    
    .hex-code {
        font-size:28px;
        font-weight:bold;
        letter-spacing:2px;
        padding:10px;
        background:#2c2c2c;
        color:#ffffff;
        border-radius:8px;
        display:inline-block;
        margin:10px 0;
        font-family:monospace;
    }
    
    .rcolorg-actions-color { display:flex; justify-content:center; gap:12px; margin-top:14px; }
    .rcolorg-actions-color button { padding:10px 16px; font-weight:bold; border-radius:8px; border:2px solid #ff6600; background:#ff6600; color:#fff; cursor:pointer; transition:all 0.2s ease; }
    .rcolorg-actions-color button:hover { background-color:#cc5200; border-color:#cc5200; }
    
}


/* ===== tool: random_country_generator ===== */
.rg-tool-random_country_generator {
/* Enhanced button hover effects */
    #rcc_generate_btn:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_country_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    /* Center alignment for country name and flag */
    .rcc-country-name {
        font-size:34px;
        font-weight:bold;
        color:white;
        margin-bottom:15px;border-bottom:4px solid #F7630C; display:inline-block; padding-bottom:4px;
    }
    
    .rcc-flag {
        width:250px;
        height:200px;
        margin:10px auto;
        display:block;
        border-radius:10px;
        object-fit:cover;
    }
    
    /* Left alignment for details */
    .rcc-details {
        text-align:left;
        max-width:620px;
        margin:0 auto;
        padding:20px;
        background:#0f172a;color:#ffffff;
        border-radius:10px;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
        margin-top:20px;
    }
    
    .rcc-details div {
        font-size:20px;
        margin-top:10px;
    }
    
    .rcc-details strong {
        font-weight:bold;
    }
}


/* ===== tool: random_date_generator ===== */
.rg-tool-random_date_generator {
@keyframes rg_kf_random_date_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .kt-inside-inner-col {
        padding: 0 !important;
    }
    
    .rdg-info {
        position: relative;
        cursor: help;
    }
    .rdg-info:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background: #333;
        color: white;
        padding: 5px 10px;
        border-radius: 5px;
        font-size: 10px;
        white-space: nowrap;
        z-index: 100;
        box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }
    
    .rdg-date-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
        background: #8383838a;
        border-radius: 8px;
        word-break: break-all;
    }
    .rdg-date-text {
        font-family: monospace;
        font-size: 14px;
        font-weight: 600;
        color: #ffffff;
        flex: 1;
    }
    .rdg-day-text {
        font-family: monospace;
        font-size: 13px;
        font-weight: 500;
        color: #ff6600;
        background: #0f0f1a;
        padding: 4px 12px;
        border-radius: 20px;
        margin-left: 15px;
    }
    
    input[type="date"]::-webkit-calendar-picker-indicator {
        filter: invert(1);
        cursor: pointer;
    }
    
    input[type="date"] {
        color-scheme: dark;
    }
    
    @media (max-width: 768px) {
        .rdg-date-item {
            flex-direction: row;
            gap: 10px;
            text-align: left;
            padding: 10px 12px;
        }
        .rdg-date-text {
            font-size: 13px;
        }
        .rdg-day-text {
            font-size: 11px;
            padding: 3px 10px;
            margin-left: 10px;
        }
        .rdg-info:hover::after {
            white-space: normal;
            width: 160px;
            text-align: center;
            bottom: 24px;
        }
    }
    
    @media (max-width: 600px) {
        .rdg-date-text {
            font-size: 12px;
        }
        .rdg-day-text {
            font-size: 10px;
        }
    }
}


/* ===== tool: random_drink_generator ===== */
.rg-tool-random_drink_generator {
#rdrinkg_generate_btn_drink:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    @keyframes rg_kf_random_drink_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .rdrinkg-card-drink {
        max-width:650px;
        margin:0 auto;
        text-align:center;
        padding:25px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    .drink-name {
        font-size:28px;
        font-weight:bold;
        border-bottom:2px solid #F7630C;
        display:inline-block;
        padding-bottom:6px;
        margin-bottom:20px;
    }
    .info-row {
        display:flex;
        justify-content:center;
        flex-wrap:wrap;
        gap:12px;
        margin:15px 0;
        padding:0 10px;
    }
    .info-item {
        background:#1e293b;color:#ffffff;
        padding:8px 16px;
        border-radius:25px;
        font-size:16px;
    }
    .drink-benefit {
        text-align:left;
        margin:20px 0;
        padding:15px 18px;
        background:#1e293b;color:#ffffff;
        border-radius:8px;
        font-size:16px;
        line-height:1.7;
        color:#ffffff;
    }
    .drink-benefit strong {
        font-size:18px;
        display:block;
        margin-bottom:10px;
    }
    .rdrinkg-actions-drink { 
        display:flex; 
        justify-content:center; 
        gap:15px; 
        margin-top:18px; 
    }
    .rdrinkg-actions-drink button { 
        padding:12px 20px; 
        font-size:16px; 
        font-weight:bold; 
        border-radius:8px; 
        border:2px solid #ff6600; 
        background:#ff6600; 
        color:#fff; 
        cursor:pointer; 
        transition:all 0.2s ease; 
    }
    .rdrinkg-actions-drink button:hover { 
        background-color:#cc5200; 
        border-color:#cc5200; 
    }
}


/* ===== tool: random_email_generator ===== */
.rg-tool-random_email_generator {
.reg-list { white-space:pre-line; font-size:17px; line-height:1.65; text-align:left; }
    .reg-actions-bar { display:flex; }
    .reg-save-btn {
        padding:10px 22px;
        border-radius:8px;
        border:2px solid #ff6600;
        background:#ff6600;
        color:#fff;
        font-weight:bold;
        cursor:pointer;
        font-size:15px;
        transition:background 0.2s ease, transform 0.1s ease;
    }
    .reg-save-btn:hover { background:#e65c00; border-color:#e65c00; }
    .reg-save-btn:active { transform:scale(0.98); }
    @media (max-width:768px){
        .reg-controls{ flex-direction:column; align-items:stretch; }
        .reg-box{ min-width:100%; width:100%; }
        .reg-save-btn { flex:1 1 auto; min-width:140px; }
    }
    .reg-label { color:#ff6600; font-weight:bold }
    .reg-item { color:#ffffff }
}


/* ===== tool: random_emoji_generator ===== */
.rg-tool-random_emoji_generator {
#remojig_generate_btn_emoji:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_emoji_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .remojig-card-emoji {
    max-width:620px;
    margin:0 auto;
    text-align:center;
    padding:20px;
    border-radius:10px;
    background:#0e172a;
    box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
    
    .emoji-grid {
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        gap:20px;
        margin:20px 0;
    }
    
    .emoji-item {
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:15px;
    background:#1a2a3e;
    border-radius:12px;
    box-shadow:0 2px 8px rgba(0,0,0,0.2);
    min-width:100px;
    transition:transform 0.2s ease;
}
    
    .emoji-item:hover {
        transform:translateY(-5px);
    }
    
    .emoji-char {
        font-size:48px;
        line-height:1;
        margin-bottom:10px;
    }
    
    .emoji-name {
    font-size:12px;
    color:#ddd;
    margin-bottom:10px;
    text-align:center;
    word-break:break-word;
    max-width:120px;
}
    
    .copy-single-btn {
        padding:6px 12px;
        font-size:12px;
        font-weight:bold;
        border-radius:6px;
        border:none;
        background:#ff6600;
        color:white;
        cursor:pointer;
        transition:all 0.2s ease;
    }
    
    .copy-single-btn:hover {
        background:#cc5200;
    }
    
    .remojig-actions-emoji {
        display:flex;
        justify-content:center;
        gap:12px;
        margin-top:20px;
        flex-wrap:wrap;
    }
    
    .remojig-actions-emoji button {
        padding:10px 20px;
        font-weight:bold;
        border-radius:8px;
        border:2px solid #ff6600;
        background:#ff6600;
        color:#fff;
        cursor:pointer;
        transition:all 0.2s ease;
    }
    
    .remojig-actions-emoji button:hover {
        background-color:#cc5200;
        border-color:#cc5200;
    }
    
    .copy-all-btn {
        background:#ff6600 !important;
        border-color:#ff6600 !important;
    }
    
    .copy-all-btn:hover {
        background:#27ae60 !important;
        border-color:#27ae60 !important;
    }
    
    .share-btn {
        background:#3498db !important;
        border-color:#3498db !important;
    }
    
    .share-btn:hover {
        background:#2980b9 !important;
        border-color:#2980b9 !important;
    }
    
    @media (max-width: 600px) {
        .emoji-item {
            min-width:80px;
            padding:10px;
        }
        .emoji-char {
            font-size:36px;
        }
        .emoji-name {
            font-size:10px;
        }
        .remojig-actions-emoji button {
            padding:8px 16px;
            font-size:14px;
        }
    }
    
}


/* ===== tool: random_emotion_generator ===== */
.rg-tool-random_emotion_generator {
/* Enhanced button hover effects */
    #remotg_generate_btn_emotion:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_emotion_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    /* simple responsive center box */
    .remotg-card-emotion {
        max-width:620px;
        margin:0 auto;
        text-align:center;
        padding:20px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    .remotg-actions-emotion { display:flex; justify-content:center; gap:12px; margin-top:14px; }
    .remotg-actions-emotion button { padding:10px 16px; font-weight:bold; border-radius:8px; border:2px solid #ff6600; background:#ff6600; color:#fff; cursor:pointer; transition:all 0.2s ease; }
    .remotg-actions-emotion button:hover { background-color:#cc5200; border-color:#cc5200; }
}


/* ===== tool: random_food_generator ===== */
.rg-tool-random_food_generator {
#rfoodg_generate_btn_food:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    @keyframes rg_kf_random_food_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .rfoodg-card-food {
        max-width:650px;
        margin:0 auto;
        text-align:center;
        padding:20px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    .food-ingredients {
        text-align:left;
        margin:15px 0;
        padding:0 15px;
        max-height:250px;
        overflow-y:auto;
    }
    .food-ingredient-item {
        font-size:12px;
        padding:6px 0;
        border-bottom:1px solid #334155;
        display:flex;
        justify-content:space-between;
        flex-wrap:wrap;
    }
    .ingredient-name { font-weight:600; color:#ffffff; }
    .ingredient-quantity { color:#cbd5e1; font-style:italic; }
    .rfoodg-actions-food { display:flex; justify-content:center; gap:12px; margin-top:14px; }
    .rfoodg-actions-food button { padding:10px 16px; font-weight:bold; border-radius:8px; border:2px solid #ff6600; background:#ff6600; color:#fff; cursor:pointer; transition:all 0.2s ease; }
    .rfoodg-actions-food button:hover { background-color:#cc5200; border-color:#cc5200; }
    .serving-note { background:#1e293b;color:#e2e8f0; padding:8px; border-radius:8px; font-size:13px; margin:10px 0; text-align:center; }
    .info-row { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:10px 0; padding:0 10px; }
    .info-item { background:#1e293b;color:#ffffff; padding:5px 12px; border-radius:20px; font-size:13px; }
    .food-image {
        width:250px;
        height:200px;
        margin:10px auto;
        display:block;
        border-radius:10px;
        object-fit:cover;
        background:#ddd;
    }
}


/* ===== tool: random_fruit_generator ===== */
.rg-tool-random_fruit_generator {

}


/* ===== tool: random_hobby_generator ===== */
.rg-tool-random_hobby_generator {
#rhobbyg_generate_btn_hobby:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_hobby_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .rhobbyg-card-hobby {
        max-width:620px;
        margin:0 auto;
        text-align:center;
        padding:20px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    
    .hobby-icon {
        font-size:100px;
        margin:15px auto;
        display:block;
        line-height:1;
    }
    
    .hobby-categories {
        display:flex;
        justify-content:center;
        gap:10px;
        flex-wrap:wrap;
        margin:15px 0;
    }
    
    .category-badge {
        background:#ff6600;
        color:white;
        padding:5px 15px;
        border-radius:20px;
        font-size:14px;
        font-weight:bold;
        display:inline-block;
    }
    
    .rhobbyg-actions-hobby { display:flex; justify-content:center; gap:12px; margin-top:14px; }
    .rhobbyg-actions-hobby button { padding:10px 16px; font-weight:bold; border-radius:8px; border:2px solid #ff6600; background:#ff6600; color:#fff; cursor:pointer; transition:all 0.2s ease; }
    .rhobbyg-actions-hobby button:hover { background-color:#cc5200; border-color:#cc5200; }
    
}


/* ===== tool: random_job_generator ===== */
.rg-tool-random_job_generator {
#rjobg_generate_btn_job:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_job_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .rjobg-card-job {
        max-width:620px;
        margin:0 auto;
        text-align:center;
        padding:20px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    .rjobg-actions-job { display:flex; justify-content:center; gap:12px; margin-top:14px; }
    .rjobg-actions-job button { padding:10px 16px; font-weight:bold; border-radius:8px; border:2px solid #ff6600; background:#ff6600; color:#fff; cursor:pointer; transition:all 0.2s ease; }
    .rjobg-actions-job button:hover { background-color:#cc5200; border-color:#cc5200; }
    
}


/* ===== tool: random_letter ===== */
.rg-tool-random_letter {
  --rletg-accent:#ff6600;
  --rletg-bg:#0f0f1a;
  --rletg-text:#ffffff;
  --rletg-muted:#cbd5e1;
  --rletg-border:#334155;
  .rletg-container{max-width:920px;margin:16px auto;padding:16px;text-align:center;background:#1a1a2e;color:var(--rletg-text);border-radius:12px;border:1px solid var(--rletg-border);}
  .rletg-card{background:transparent;margin:0;border-radius:0;padding:8px 4px 4px;color:var(--rletg-text);}
  .rletg-title{font-size:clamp(36px,8vw,52px);font-weight:700;line-height:1.15;display:block;margin:0 auto 8px;padding-bottom:8px;border-bottom:3px solid var(--rletg-accent);color:var(--rletg-text);max-width:100%;}
  .rletg-row{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 8px;justify-content:center}
  .rletg-btn{appearance:none;display:inline-block;border:2px solid #ff6600;background:#ff6600;color:#fff;border-radius:8px;padding:12px 28px;font-size:16px;font-weight:bold;text-transform:uppercase;cursor:pointer;transition:box-shadow .2s ease,transform .1s ease;min-width:160px;text-align:center}
  .rletg-btn:hover{box-shadow:0 0 14px rgba(255,102,0,0.45)}
  .rletg-meta{color:var(--rletg-muted);font-size:13px;margin:4px 0 0;padding:0}
  .rletg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;width:100%;max-width:840px;margin-left:auto;margin-right:auto;align-items:stretch}
  .rletg-card-item{background:var(--rletg-bg);border:1px solid var(--rletg-border);border-radius:10px;padding:12px 14px;width:100%;max-width:none;color:var(--rletg-text);text-align:center}
  .rletg-name{font-size:16px;font-weight:600;color:var(--rletg-text);text-align:center;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
  .rletg-badge{display:inline-block;margin-left:6px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--rletg-border);color:var(--rletg-muted);background:transparent}
  @media (max-width:700px){
    .rletg-grid{grid-template-columns:1fr;gap:8px;max-width:100%}
    .rletg-title{font-size:36px}
  }
}


/* ===== tool: random_month_generator ===== */
.rg-tool-random_month_generator {
#rmg_generate_btn:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_month_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .rmg-card {
        max-width:650px;
        margin:0 auto;
        text-align:center;
        padding:8px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    
    .rmg-month-name {
        font-size:36px;
        font-weight:bold;
        color:#ffffff;
        background:#ff6600;
        padding:10px;
        letter-spacing:3px;
        border-radius:10px;
        margin-bottom:20px;
        text-shadow:1px 1px 2px rgba(0,0,0,0.2);
    }
    
    .rmg-holidays-list {
        text-align:left;
        max-height:450px;
        overflow-y:auto;
    }
    
    .rmg-holiday-item {
        padding:10px 12px;
        margin:8px 0;
        background:#1e293b;
        border-radius:8px;
        font-size:14px;
    }
    
    .rmg-holiday-date {
        font-weight:bold;
        color:#ff6600;
        font-family:monospace;
        min-width:45px;
        display:inline-block;
    }
    
    .rmg-holiday-name {
        color:#ffffff;
        margin-left:0px;
    }
    
    .rmg-festival-type {
        display:inline-block;
        margin-left:0px;
        font-size:11px;
        color:#ff6600;
        font-weight:500;
    }
    
    
    @media (max-width: 600px) {
        .rmg-month-name {
            font-size:28px;
            padding:10px;
        }
        .rmg-holiday-item {
            font-size:12px;
        }
        .rmg-holiday-date {
            font-size:11px;
            min-width:75px;
        }
    }
}


/* ===== tool: random_object_generator ===== */
.rg-tool-random_object_generator {
.rog-item { font-size:22px; font-weight:bold; color:#fff; display:inline-block; padding:0; margin:0 auto }
    .rog-list { display:flex; flex-direction:column; align-items:center; gap:3px }
    @media (max-width:768px){ .rog-item{ font-size:20px } }
}


/* ===== tool: random_password_generator ===== */
.rg-tool-random_password_generator {
.rppass-btn{transition:transform .2s ease, box-shadow .2s ease}
    .rppass-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.25)}
    #rppass_length{ -webkit-appearance:none; appearance:none; height:10px; border-radius:999px; background: linear-gradient(to right, #ff6600 0%, #ff6600 20%, #1f2937 20%, #1f2937 100%); border:1px solid #d1d5db }
    #rppass_length::-webkit-slider-thumb{ -webkit-appearance:none; width:20px; height:20px; background:#0f172a; border:2px solid #ff6600; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.25) }
    #rppass_length::-moz-range-thumb{ width:20px; height:20px; background:#0f172a; border:2px solid #ff6600; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.25) }
    #rppass_length::-moz-range-track{ height:10px; border-radius:999px; background:#1f2937 }
    @media (max-width: 768px){#rppass_top{gap:10px}#rppass_controls{gap:12px}}
}


/* ===== tool: random_phone_generator ===== */
.rg-tool-random_phone_generator {
#rpng_generate_btn:hover {
        background-color: #cc5200;
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(255, 102, 0, 0.3);
    }
    @keyframes rg_kf_random_phone_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    #rpng_copy_btn:active {
        transform: scale(0.98);
    }
    #rpng_country {
        appearance: auto;
        -webkit-appearance: menulist;
        background-image: none;
    }
    @media (max-width: 600px) {
        #rpng_phone_display {
            font-size: 20px;
        }
    }
}


/* ===== tool: random_pin_generator ===== */
.rg-tool-random_pin_generator {
.rpin-length-btn.active {
        background: #ff6600 !important;
        color: #ffffff !important;
        border: none !important;
    }
    .rpin-length-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(255, 102, 0, 0.2);
    }
    #rpin_generate_btn:active {
        transform: scale(0.98);
    }
    #rpin_copy_btn:active {
        transform: scale(0.96);
    }
    #rpin_pin_value:focus {
        outline: none;
    }
    #rpin_pin_value {
        cursor: default;
        word-break: break-all;
        white-space: normal;
        overflow-wrap: break-word;
        pointer-events: none;
        user-select: all;
    }
    /* Desktop styles */
    @media (min-width: 769px) {
        .rpin-desktop-view {
            display: block !important;
        }
        .rpin-mobile-view {
            display: none !important;
        }
    }
    /* Mobile styles */
    @media (max-width: 768px) {
        .rpin-desktop-view {
            display: none !important;
        }
        .rpin-mobile-view {
            display: block !important;
        }
        #rpin_pin_value {
            font-size: 18px;
            letter-spacing: 1px;
            padding: 8px 6px;
        }
        #rpin_pin_container {
            padding: 15px 10px;
        }
    }
}


/* ===== tool: random_team_generator ===== */
.rg-tool-random_team_generator {
.rtg-team-card{border-radius:10px;padding:14px;background:#0f172a;border:2px solid #334155;box-shadow:0 2px 6px rgba(0,0,0,0.06);color:#ffffff}
    .rtg-team-title{
        font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        font-size: clamp(1.1rem, 2.6vw, 1.45rem);
        font-weight: 800;
        letter-spacing: 0.02em;
        line-height: 1.2;
        margin-bottom: 10px;
        border-bottom: 3px solid #ff6600;
        display: inline-block;
        padding-bottom: 6px;
        color: #0f172a;
    }
    .rtg-name-item{display:grid;grid-template-columns:1fr auto;align-items:center;padding:4px 4px;background:#1e293b;color:#ffffff;border:1px solid #334155;border-radius:6px;color:#ffffff}
    .rtg-del{background:transparent;border:none;color:#d00;font-weight:bold;cursor:pointer;justify-self:end;padding:4px 4px}
    .rtg-check{margin-right:8px}
    .rtg-btn{transition:transform .2s ease, box-shadow .2s ease}
    .rtg-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.25)}
    @media (max-width: 768px){
        #rtg_inputs, #rtg_controller{flex:1 1 100%;}
        #rtg_result_panel{flex:1 1 100%;}
        .rtg-actions{flex-direction:row;justify-content:center;}
    }
}


/* ===== tool: random_time_generator ===== */
.rg-tool-random_time_generator {
#rtimeg_generate_btn:hover {
        background-color: #cc5200;
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(255, 102, 0, 0.3);
    }
    @keyframes rg_kf_random_time_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    #rtimeg_copy_btn:active {
        transform: scale(0.96);
    }
    @media (max-width: 600px) {
        #rtimeg_time_display {
            font-size: 32px !important;
        }
    }
}


/* ===== tool: random_vegetable_generator ===== */
.rg-tool-random_vegetable_generator {
#rvegg_generate_btn_vegetable:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_vegetable_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .rvegg-card-vegetable {
        max-width:620px;
        margin:0 auto;
        text-align:center;
        padding:20px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    .rvegg-actions-vegetable { display:flex; justify-content:center; gap:12px; margin-top:14px; }
    .rvegg-actions-vegetable button { padding:10px 16px; font-weight:bold; border-radius:8px; border:2px solid #ff6600; background:#ff6600; color:#fff; cursor:pointer; transition:all 0.2s ease; }
    .rvegg-actions-vegetable button:hover { background-color:#cc5200; border-color:#cc5200; }
    
}


/* ===== tool: random_weekday_generator ===== */
.rg-tool-random_weekday_generator {
#rwweekg_generate_btn:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        box-shadow: 0 0 15px 5px rgba(255, 102, 0, 0.5);
        transform: scale(1.05);
    }
    
    @keyframes rg_kf_random_weekday_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .rwweekg-card {
        max-width:620px;
        margin:0 auto;
        text-align:center;
        padding:30px 20px;
        border-radius:10px;
        background:#0f172a;color:#ffffff;
        box-shadow:0 4px 8px rgba(0,0,0,0.1);
    }
    
    .rwweekg-weekday-name {
        font-size:48px;
        font-weight:bold;
        color:#ff6600;
        padding:20px;
        letter-spacing:2px;
    }
    
    
    @media (max-width: 600px) {
        .rwweekg-weekday-name {
            font-size:32px;
        }
    }
}


/* ===== tool: wizard_names ===== */
.rg-tool-wizard_names {
  --rwwiz-accent:#ff6600;
  --rwwiz-inner:#0f0f1a;
  --rwwiz-text:#ffffff;
  --rwwiz-muted:#cbd5e1;
  --rwwiz-border:#334155;
  .rwwiz-container{max-width:920px;margin:16px auto;padding:16px;text-align:center;background:#1a1a2e;color:var(--rwwiz-text);border-radius:12px;border:1px solid var(--rwwiz-border);}
  .rwwiz-card{background:transparent;margin:0;padding:8px 4px;color:var(--rwwiz-text);}
  .rwwiz-title{font-size:32px;font-weight:700;line-height:1.2;display:inline-block;border-bottom:3px solid var(--rwwiz-accent);padding-bottom:4px;color:var(--rwwiz-text);}
  .rwwiz-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;justify-content:center}
  .rwwiz-btn{appearance:none;display:inline-block;border:2px solid #ff6600;background:#ff6600;color:#fff;border-radius:8px;padding:11px 22px;font-size:15px;font-weight:bold;text-transform:uppercase;cursor:pointer;transition:box-shadow .2s ease;min-width:120px;text-align:center}
  .rwwiz-btn:hover{box-shadow:0 0 14px rgba(255,102,0,0.4)}
  .rwwiz-btn.rwwiz-secondary{background:transparent!important;color:#ff6600!important;border:2px solid #ff6600!important}
  .rwwiz-btn.rwwiz-secondary:hover{background:rgba(255,102,0,0.12)!important;color:#fff!important}
  .rwwiz-meta{color:var(--rwwiz-muted);font-size:13px;margin:8px 0 0;padding:0}
  .rwwiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;width:100%;max-width:800px;margin-left:auto;margin-right:auto}
  .rwwiz-card-item{background:var(--rwwiz-inner);border:1px solid var(--rwwiz-border);border-radius:10px;padding:14px 12px;width:100%;max-width:none;color:var(--rwwiz-text);}
  .rwwiz-name{font-size:17px;font-weight:600;color:#ffffff!important;text-align:center;line-height:1.35;word-break:break-word}
  .rwwiz-badge{display:inline-block;margin-left:6px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--rwwiz-border);color:var(--rwwiz-muted)!important;background:rgba(255,255,255,0.04)}
  @media (max-width:700px){.rwwiz-grid{grid-template-columns:1fr}}
}


/* ===== tool: random_word_generator ===== */
.rg-tool-random_word_generator {
@keyframes rg_kf_random_word_generator_loading { 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }
    .rwwordg-word { font-size:36px; font-weight:bold; color:#fff; border-bottom:4px solid #ff6600; display:inline-block; padding-bottom:8px; text-align:center }
    .rwwordg-mean { margin-top:12px; font-size:18px }
    .rwwordg-diff { margin-top:8px; font-size:16px; opacity:0.8 }
    .rwwordg-level { margin-top:8px; font-size:14px; color:#cbd5e0; text-align:center }
    #rwwordg_result { text-align:center }
    .rwwordg-label { color:#ff6600; font-weight:bold }
    .rwwordg-value { color:#ffffff }
    .rwwordg-cta { margin-top:18px; text-align:center }
    .rwwordg-cta button { padding:8px 16px; border-radius:8px; border:0; font-weight:bold; cursor:pointer; transition:transform 0.1s ease }
    .rwwordg-cta button:active { transform:scale(0.98) }
    .rwwordg-cta .select { background:#ff6600; color:#fff; margin-right:20px }
    .rwwordg-cta .refresh { background:#2d3748; color:#fff }
    .rwwordg-toggle .opt { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:8px; transition:background 0.2s ease, color 0.2s ease }
    .rwwordg-toggle .opt:hover { background:#2d3748 }
    .rwwordg-toggle input:checked + span { color:#ff6600; font-weight:bold }
    @media (max-width:768px){ .rwwordg-word{ font-size:32px } }
}


/* ===== tool: referral_code_generator ===== */
.rg-tool-referral_code_generator {
@keyframes rg_kf_referral_code_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .kt-inside-inner-col {
        padding: 0 !important;
    }
    
    .refcg-info {
        position: relative;
        cursor: help;
    }
    .refcg-info:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background: #333;
        color: white;
        padding: 5px 10px;
        border-radius: 5px;
        font-size: 10px;
        white-space: nowrap;
        z-index: 100;
        box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }
    
    .refcg-code-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 10px;
        background: #1a1a2e;
        border-radius: 6px;
        word-break: break-all;
    }
    .refcg-code-text {
        font-family: monospace;
        font-size: 13px;
        font-weight: 600;
        color: #ffffff;
        word-break: break-all;
        flex: 1;
        letter-spacing: 0.5px;
    }
    .refcg-code-copy {
        padding: 5px 12px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: 12px;
        font-weight: bold;
        margin-left: 8px;
    }
    .refcg-code-copy:active {
        transform: scale(0.95);
    }
    
    /* Celebration animation */
    @keyframes celebrate {
        0% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.02); background: #ff8844; }
        100% { transform: scale(1); opacity: 1; }
    }
    
    .refcg-celebrate {
        animation: celebrate 0.5s ease-in-out;
    }
    
    @media (max-width: 768px) {
        .refcg-code-item {
            flex-direction: row;
            gap: 8px;
            text-align: left;
            padding: 8px 10px;
        }
        .refcg-code-text {
            font-size: 13px;
            text-align: left;
        }
        .refcg-code-copy {
            font-size: 12px;
            padding: 5px 12px;
            margin-left: 8px;
            width: auto;
            flex-shrink: 0;
        }
        .refcg-info:hover::after {
            white-space: normal;
            width: 160px;
            text-align: center;
            bottom: 24px;
        }
        .refcg-info {
            font-size: 10px;
        }
    }
    
    @media (max-width: 600px) {
        .refcg-code-text {
            font-size: 12px;
        }
        .refcg-code-copy {
            font-size: 11px;
            padding: 4px 10px;
        }
        .refcg-code-item {
            padding: 6px 8px;
        }
    }
    
    @media (min-width: 769px) and (max-width: 1024px) {
        .refcg-code-item {
            align-items: center;
        }
        .refcg-code-text {
            font-size: 13px;
        }
    }
}


/* ===== tool: serial_number_generator ===== */
.rg-tool-serial_number_generator {
@keyframes rg_kf_serial_number_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .kt-inside-inner-col {
        padding: 0 !important;
    }
    
    .sng-info {
        position: relative;
        cursor: help;
    }
    .sng-info:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background: #333;
        color: white;
        padding: 5px 10px;
        border-radius: 5px;
        font-size: 10px;
        white-space: nowrap;
        z-index: 100;
        box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }
    
    .sng-code-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 10px;
        background: #1a1a2e;
        border-radius: 6px;
        word-break: break-all;
    }
    .sng-code-text {
        font-family: monospace;
        font-size: 13px;
        font-weight: 600;
        color: #ffffff;
        word-break: break-all;
        flex: 1;
        letter-spacing: 0.5px;
    }
    .sng-code-copy {
        padding: 5px 12px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: 12px;
        font-weight: bold;
        margin-left: 8px;
    }
    .sng-code-copy:active {
        transform: scale(0.95);
    }
    
    /* Celebration animation */
    @keyframes celebrate {
        0% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.02); background: #ff8844; }
        100% { transform: scale(1); opacity: 1; }
    }
    
    .sng-celebrate {
        animation: celebrate 0.5s ease-in-out;
    }
    
    @media (max-width: 768px) {
        .sng-code-item {
            flex-direction: row;
            gap: 8px;
            text-align: left;
            padding: 8px 10px;
        }
        .sng-code-text {
            font-size: 13px;
            text-align: left;
        }
        .sng-code-copy {
            font-size: 12px;
            padding: 5px 12px;
            margin-left: 8px;
            width: auto;
            flex-shrink: 0;
        }
        .sng-info:hover::after {
            white-space: normal;
            width: 160px;
            text-align: center;
            bottom: 24px;
        }
        .sng-info {
            font-size: 10px;
        }
    }
    
    @media (max-width: 600px) {
        .sng-code-text {
            font-size: 12px;
        }
        .sng-code-copy {
            font-size: 11px;
            padding: 4px 10px;
        }
        .sng-code-item {
            padding: 6px 8px;
        }
    }
    
    @media (min-width: 769px) and (max-width: 1024px) {
        .sng-code-item {
            align-items: center;
        }
        .sng-code-text {
            font-size: 13px;
        }
    }
}


/* ===== tool: stylish_name_generator ===== */
.rg-tool-stylish_name_generator {
#stg_generate_btn:active {
        transform: scale(0.98);
    }
    #stg_category {
        appearance: auto;
        -webkit-appearance: menulist;
        background-image: none;
    }
    @keyframes rg_kf_stylish_name_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .stg-name-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 20px;
        margin: 12px 0;
        background: #0f0f1a;
        border-radius: 12px;
        border-left: 4px solid #ff6600;
    }
    .stg-name {
        font-size: 18px;
        font-weight: 500;
        color: #ffffff;
        word-break: break-all;
        text-align: left;
        flex: 1;
        line-height: 1.4;
    }
    .stg-copy-btn {
        padding: 10px 24px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        font-size: 14px;
        font-weight: bold;
        transition: all 0.2s ease;
        margin-left: 15px;
    }
    .stg-copy-btn:active {
        transform: scale(0.95);
    }
    .stg-copied {
        background: #00ff00;
        color: #000;
    }
    .stg-actions {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-top: 30px;
        flex-wrap: wrap;
    }
    .stg-actions button {
        padding: 12px 30px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        border: 2px solid #ff6600;
        background: #ff6600;
        color: #fff;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    .stg-actions button:active {
        transform: scale(0.96);
    }
    @media (max-width: 768px) {
        .stg-name-item {
            flex-direction: column;
            gap: 12px;
            text-align: center;
        }
        .stg-name {
            font-size: 16px;
            text-align: center;
        }
        .stg-copy-btn {
            width: 100%;
            margin-left: 0;
            padding: 12px;
        }
        .stg-actions button {
            width: 100%;
        }
    }
}


/* ===== tool: tiktok_username_generator ===== */
.rg-tool-tiktok_username_generator {
    .ttug-wrap { width: 100%; }
    #ttug_generate_btn:hover {
        background-color: #e65c00;
        border-color: #e65c00;
        box-shadow: 0 4px 16px rgba(255, 102, 0, 0.35);
    }
    @keyframes rg_kf_tiktok_username_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .ttug-result-head {
        font-size: 18px;
        font-weight: bold;
        color: #ff6600;
        text-align: center;
        margin-bottom: 16px;
    }
    .ttug-username-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        padding: 12px 14px;
        margin: 8px 0;
        background: #0f0f1a;
        border-radius: 10px;
        border: 1px solid #334155;
        border-left: 4px solid #ff6600;
    }
    .ttug-username {
        font-size: 16px;
        font-weight: 600;
        color: #ffffff;
        word-break: break-word;
        text-align: left;
        flex: 1;
    }
    .ttug-copy-btn {
        padding: 8px 16px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        font-size: 13px;
        font-weight: bold;
        transition: background 0.2s ease, transform 0.1s ease;
        flex-shrink: 0;
    }
    .ttug-copy-btn:hover {
        background: #e65c00;
    }
    .ttug-copied {
        background: #27ae60 !important;
    }
    .ttug-actions {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 20px;
    }
    .ttug-actions button {
        padding: 10px 22px;
        font-weight: bold;
        font-size: 15px;
        border-radius: 8px;
        border: 2px solid #ff6600;
        background: #ff6600;
        color: #fff;
        cursor: pointer;
        transition: background 0.2s ease, border-color 0.2s ease;
    }
    .ttug-actions button:hover {
        background-color: #e65c00;
        border-color: #e65c00;
    }
    @media (max-width: 600px) {
        .ttug-username-item {
            flex-direction: column;
            align-items: stretch;
            text-align: center;
        }
        .ttug-username { text-align: center; }
        .ttug-copy-btn { width: 100%; }
        .ttug-actions button { flex: 1 1 140px; }
    }
}


/* ===== tool: twitter_username_generator ===== */
.rg-tool-twitter_username_generator {
#txug_generate_btn:hover {
        background-color: #cc5200;
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(255, 102, 0, 0.3);
    }
    #txug_category {
        appearance: auto;
        -webkit-appearance: menulist;
        background-image: none;
    }
    @keyframes rg_kf_twitter_username_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .txug-name-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 14px 18px;
        margin: 10px 0;
        background: #111111;
        border-radius: 12px;
        border-left: 4px solid #ff6600;
        transition: all 0.2s ease;
    }
    .txug-name-item:hover {
        background: #1a1a1a;
        transform: translateX(5px);
    }
    .txug-name {
        font-size: 18px;
        font-weight: 500;
        color: #ffffff;
        word-break: break-all;
        font-family: monospace;
        letter-spacing: 0.5px;
    }
    .txug-copy-btn {
        padding: 8px 20px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        font-size: 14px;
        font-weight: bold;
        transition: all 0.2s ease;
    }
    .txug-copy-btn:hover {
        background: #cc5200;
        transform: scale(1.02);
    }
    .txug-copied {
        background: #00ff00;
        color: #000;
    }
    .txug-actions {
        display: flex;
        justify-content: center;
        gap: 15px;
        margin-top: 25px;
        flex-wrap: wrap;
    }
    .txug-actions button {
        padding: 12px 28px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 10px;
        border: 2px solid #ff6600;
        background: #ff6600;
        color: #fff;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    .txug-actions button:hover {
        background-color: #cc5200;
        border-color: #cc5200;
        transform: translateY(-2px);
    }
    @media (max-width: 600px) {
        .txug-name-item {
            flex-direction: column;
            gap: 10px;
            text-align: center;
        }
        .txug-name {
            font-size: 16px;
        }
        .txug-copy-btn {
            width: 100%;
            padding: 10px;
        }
        .txug-actions button {
            width: 100%;
        }
    }
}

/* ===== tool: voucher_code_generator ===== */
.rg-tool-voucher_code_generator {
@keyframes rg_kf_voucher_code_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    
    .kt-inside-inner-col {
        padding: 0 !important;
    }
    
    .vcg-info {
        position: relative;
        cursor: help;
    }
    .vcg-info:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        background: #333;
        color: white;
        padding: 5px 10px;
        border-radius: 5px;
        font-size: 10px;
        white-space: nowrap;
        z-index: 100;
        box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }
    
    .vcg-code-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 10px;
        background: #1a1a2e;
        border-radius: 6px;
        word-break: break-all;
    }
    .vcg-code-text {
        font-family: monospace;
        font-size: 13px;
        font-weight: 600;
        color: #ffffff;
        word-break: break-all;
        flex: 1;
        letter-spacing: 0.5px;
    }
    .vcg-code-copy {
        padding: 5px 12px;
        background: #ff6600;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: 12px;
        font-weight: bold;
        margin-left: 8px;
    }
    .vcg-code-copy:active {
        transform: scale(0.95);
    }
    
    /* Celebration animation */
    @keyframes celebrate {
        0% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.02); background: #ff8844; }
        100% { transform: scale(1); opacity: 1; }
    }
    
    .vcg-celebrate {
        animation: celebrate 0.5s ease-in-out;
    }
    
    @media (max-width: 768px) {
        .vcg-code-item {
            flex-direction: row;
            gap: 8px;
            text-align: left;
            padding: 8px 10px;
        }
        .vcg-code-text {
            font-size: 13px;
            text-align: left;
        }
        .vcg-code-copy {
            font-size: 12px;
            padding: 5px 12px;
            margin-left: 8px;
            width: auto;
            flex-shrink: 0;
        }
        .vcg-info:hover::after {
            white-space: normal;
            width: 160px;
            text-align: center;
            bottom: 24px;
        }
        .vcg-info {
            font-size: 10px;
        }
    }
    
    @media (max-width: 600px) {
        .vcg-code-text {
            font-size: 12px;
        }
        .vcg-code-copy {
            font-size: 11px;
            padding: 4px 10px;
        }
        .vcg-code-item {
            padding: 6px 8px;
        }
    }
    
    @media (min-width: 769px) and (max-width: 1024px) {
        .vcg-code-item {
            align-items: center;
        }
        .vcg-code-text {
            font-size: 13px;
        }
    }
}


/* ===== tool: youtube_channel_generator ===== */
.rg-tool-youtube_channel_generator {
#ytcn_generate_btn:hover {
        background-color: #cc0000;
        border-color: #cc0000;
        box-shadow: 0 0 15px 5px rgba(255, 0, 0, 0.3);
        transform: scale(1.02);
    }
    @keyframes rg_kf_youtube_channel_generator_loading {
        0% { width: 0%; }
        100% { width: 100%; }
    }
    .ytcn-name-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 15px;
        margin: 8px 0;
        background: #333333;
        border-radius: 8px;
        border-left: 4px solid #ff0000;
        box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    }
    .ytcn-name {
        font-size: 18px;
        font-weight: 500;
        color: #ffffff;
        word-break: break-all;
    }
    .ytcn-copy-btn {
        padding: 6px 16px;
        background: #ff0000;
        color: white;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        font-size: 14px;
        font-weight: bold;
        transition: all 0.2s ease;
    }
    .ytcn-copy-btn:hover {
        background: #cc0000;
        transform: scale(1.02);
    }
    .ytcn-copied {
        background: #00ff00;
        color: #000;
    }
    .ytcn-actions {
        display: flex;
        justify-content: center;
        gap: 12px;
        margin-top: 20px;
    }
    .ytcn-actions button {
        padding: 10px 20px;
        font-weight: bold;
        font-size: 16px;
        border-radius: 8px;
        border: 2px solid #ff0000;
        background: #ff0000;
        color: #fff;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    .ytcn-actions button:hover {
        background-color: #cc0000;
        border-color: #cc0000;
    }
        select {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
    background-image: none !important;
    color: #ffffff;
    
}
}

/* ===== merged from assets copy (names/pets) ===== */
/* ===== tool: random_boy_names_generator ===== */
.rg-tool-random_boy_names_generator {
  .rboyg-names-container {
    max-width: 700px;
    margin: 0 auto;
  }
  .rboyg-name-item {
    background: var(--rg-inner);
    border-radius: 10px;
    padding: 15px 20px;
    margin: 12px 0;
    border-left: 4px solid var(--rg-accent);
    text-align: left;
  }
  .rboyg-name {
    font-size: 24px;
    font-weight: bold;
    color: var(--rg-accent);
    margin-bottom: 8px;
  }
  .rboyg-meaning {
    font-size: 15px;
    color: var(--rg-text);
    margin-bottom: 6px;
  }
  .rboyg-origin {
    font-size: 14px;
    color: var(--rg-muted);
  }
  @media (max-width: 600px) {
    .rboyg-name {
      font-size: 20px;
    }
    .rboyg-meaning {
      font-size: 13px;
    }
    .rboyg-origin {
      font-size: 12px;
    }
    .rboyg-name-item {
      padding: 12px 15px;
    }
  }
}

/* ===== tool: random_girl_names_generator ===== */
.rg-tool-random_girl_names_generator {
  .rgirlg-names-container {
    max-width: 700px;
    margin: 0 auto;
  }
  .rgirlg-name-item {
    background: var(--rg-inner);
    border-radius: 10px;
    padding: 15px 20px;
    margin: 12px 0;
    border-left: 4px solid var(--rg-accent);
    text-align: left;
  }
  .rgirlg-name {
    font-size: 24px;
    font-weight: bold;
    color: var(--rg-accent);
    margin-bottom: 8px;
  }
  .rgirlg-meaning {
    font-size: 15px;
    color: var(--rg-text);
    margin-bottom: 6px;
  }
  .rgirlg-origin {
    font-size: 14px;
    color: var(--rg-muted);
  }
  @media (max-width: 600px) {
    .rgirlg-name {
      font-size: 20px;
    }
    .rgirlg-meaning {
      font-size: 13px;
    }
    .rgirlg-origin {
      font-size: 12px;
    }
    .rgirlg-name-item {
      padding: 12px 15px;
    }
  }
}

/* ===== tool: random_nba_player_generator ===== */
.rg-tool-random_nba_player_generator {
  .rnba-players-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 0 auto;
  }
  .rnba-players-grid[data-count="1"] {
    grid-template-columns: 1fr;
    max-width: 350px;
  }
  .rnba-players-grid[data-count="2"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .rnba-players-grid[data-count="3"],
  .rnba-players-grid[data-count="4"],
  .rnba-players-grid[data-count="5"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .rnba-player-card {
    background: var(--rg-inner);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    border: 1px solid var(--rg-border);
    transition: transform 0.2s ease;
  }
  .rnba-player-card:hover {
    transform: translateY(-4px);
  }
  .rnba-player-img {
    width: 100%;
    max-width: 180px;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
    margin: 0 auto 12px;
    display: block;
    background: #1a1a2e;
    border: 3px solid var(--rg-accent);
  }
  .rnba-player-name {
    font-size: 18px;
    font-weight: bold;
    color: var(--rg-accent);
    margin-bottom: 6px;
  }
  .rnba-player-team {
    font-size: 14px;
    color: var(--rg-text);
    margin-bottom: 10px;
    font-weight: 500;
  }
  .rnba-player-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
  }
  .rnba-stat {
    font-size: 12px;
    color: var(--rg-muted);
    background: rgba(255, 102, 0, 0.15);
    padding: 4px 8px;
    border-radius: 20px;
  }
  @media (max-width: 768px) {
    .rnba-players-grid,
    .rnba-players-grid[data-count="2"],
    .rnba-players-grid[data-count="3"],
    .rnba-players-grid[data-count="4"],
    .rnba-players-grid[data-count="5"] {
      grid-template-columns: 1fr;
    }
    .rnba-player-card {
      max-width: 320px;
      margin: 0 auto;
    }
    .rnba-player-img {
      max-width: 140px;
    }
    .rnba-player-name {
      font-size: 16px;
    }
  }
}

/* ===== tool: random_dog_name_generator ===== */
.rg-tool-random_dog_name_generator {
  .rdogn-names-container {
    max-width: 700px;
    margin: 0 auto;
  }
  .rdogn-name-item {
    background: var(--rg-inner);
    border-radius: 10px;
    padding: 15px 20px;
    margin: 12px 0;
    border-left: 4px solid var(--rg-accent);
    text-align: left;
  }
  .rdogn-name {
    font-size: 24px;
    font-weight: bold;
    color: var(--rg-accent);
    margin-bottom: 8px;
  }
  .rdogn-meaning {
    font-size: 15px;
    color: var(--rg-text);
    margin-bottom: 6px;
  }
  .rdogn-breed {
    font-size: 14px;
    color: var(--rg-muted);
  }
  @media (max-width: 600px) {
    .rdogn-name {
      font-size: 20px;
    }
    .rdogn-meaning {
      font-size: 13px;
    }
    .rdogn-breed {
      font-size: 12px;
    }
    .rdogn-name-item {
      padding: 12px 15px;
    }
  }
}

/* ===== tool: random_cat_name_generator ===== */
.rg-tool-random_cat_name_generator {
  .rcatn-names-container {
    max-width: 700px;
    margin: 0 auto;
  }
  .rcatn-name-item {
    background: var(--rg-inner);
    border-radius: 10px;
    padding: 15px 20px;
    margin: 12px 0;
    border-left: 4px solid var(--rg-accent);
    text-align: left;
  }
  .rcatn-name {
    font-size: 24px;
    font-weight: bold;
    color: var(--rg-accent);
    margin-bottom: 8px;
  }
  .rcatn-meaning {
    font-size: 15px;
    color: var(--rg-text);
    margin-bottom: 6px;
  }
  .rcatn-breed {
    font-size: 14px;
    color: var(--rg-muted);
  }
  @media (max-width: 600px) {
    .rcatn-name {
      font-size: 20px;
    }
    .rcatn-meaning {
      font-size: 13px;
    }
    .rcatn-breed {
      font-size: 12px;
    }
    .rcatn-name-item {
      padding: 12px 15px;
    }
  }
}

/* ===== tool: random_pet_name_generator ===== */
.rg-tool-random_pet_name_generator {
  .rpetn-names-container {
    max-width: 700px;
    margin: 0 auto;
  }
  .rpetn-name-item {
    background: var(--rg-inner);
    border-radius: 10px;
    padding: 15px 20px;
    margin: 12px 0;
    border-left: 4px solid var(--rg-accent);
    text-align: left;
  }
  .rpetn-name {
    font-size: 24px;
    font-weight: bold;
    color: var(--rg-accent);
    margin-bottom: 8px;
  }
  .rpetn-meaning {
    font-size: 15px;
    color: var(--rg-text);
    margin-bottom: 6px;
  }
  .rpetn-origin {
    font-size: 14px;
    color: var(--rg-muted);
  }
  @media (max-width: 600px) {
    .rpetn-name {
      font-size: 20px;
    }
    .rpetn-meaning {
      font-size: 13px;
    }
    .rpetn-origin {
      font-size: 12px;
    }
    .rpetn-name-item {
      padding: 12px 15px;
    }
  }
}

/* ===== tool: random_first_name_generator ===== */
.rg-tool-random_first_name_generator {
  .rfirstn-names-container {
    max-width: 700px;
    margin: 0 auto;
  }
  .rfirstn-name-item {
    background: var(--rg-inner);
    border-radius: 10px;
    padding: 15px 20px;
    margin: 12px 0;
    border-left: 4px solid var(--rg-accent);
    text-align: left;
  }
  .rfirstn-name {
    font-size: 24px;
    font-weight: bold;
    color: var(--rg-accent);
    margin-bottom: 8px;
  }
  .rfirstn-meaning {
    font-size: 15px;
    color: var(--rg-text);
    margin-bottom: 6px;
  }
  .rfirstn-origin {
    font-size: 14px;
    color: var(--rg-muted);
  }
  @media (max-width: 600px) {
    .rfirstn-name {
      font-size: 20px;
    }
    .rfirstn-meaning {
      font-size: 13px;
    }
    .rfirstn-origin {
      font-size: 12px;
    }
    .rfirstn-name-item {
      padding: 12px 15px;
    }
  }
}

/* ===== tool: random_last_name_generator ===== */
.rg-tool-random_last_name_generator {
  .rlastn-names-container {
    max-width: 700px;
    margin: 0 auto;
  }
  .rlastn-name-item {
    background: var(--rg-inner);
    border-radius: 10px;
    padding: 15px 20px;
    margin: 12px 0;
    border-left: 4px solid var(--rg-accent);
    text-align: left;
  }
  .rlastn-name {
    font-size: 24px;
    font-weight: bold;
    color: var(--rg-accent);
    margin-bottom: 8px;
  }
  .rlastn-meaning {
    font-size: 15px;
    color: var(--rg-text);
    margin-bottom: 6px;
  }
  .rlastn-origin {
    font-size: 14px;
    color: var(--rg-muted);
  }
  @media (max-width: 600px) {
    .rlastn-name {
      font-size: 20px;
    }
    .rlastn-meaning {
      font-size: 13px;
    }
    .rlastn-origin {
      font-size: 12px;
    }
    .rlastn-name-item {
      padding: 12px 15px;
    }
  }
}

/* ===== tool: random_nickname_generator ===== */
.rg-tool-random_nickname_generator {
  .rnicn-names-container {
    max-width: 700px;
    margin: 0 auto;
  }
  .rnicn-name-item {
    background: var(--rg-inner);
    border-radius: 10px;
    padding: 15px 20px;
    margin: 12px 0;
    border-left: 4px solid var(--rg-accent);
    text-align: left;
  }
  .rnicn-name {
    font-size: 24px;
    font-weight: bold;
    color: var(--rg-accent);
    margin-bottom: 8px;
  }
  .rnicn-meaning {
    font-size: 15px;
    color: var(--rg-text);
    margin-bottom: 6px;
  }
  .rnicn-origin {
    font-size: 14px;
    color: var(--rg-muted);
  }
  @media (max-width: 600px) {
    .rnicn-name {
      font-size: 20px;
    }
    .rnicn-meaning {
      font-size: 13px;
    }
    .rnicn-origin {
      font-size: 12px;
    }
    .rnicn-name-item {
      padding: 12px 15px;
    }
  }
}













/* ===== Shared animal-style info card ===== */
.rg-tool .rg-info-shell{max-width:640px;margin:0 auto;padding:12px;}
.rg-tool .rg-info-controls{margin-bottom:14px;display:grid;gap:10px;}
.rg-tool .rg-info-controls label{display:block;color:#e2e8f0;font-size:13px;font-weight:600;margin-bottom:4px;}
.rg-tool .rg-info-controls input,
.rg-tool .rg-info-controls select,
.rg-tool .rg-info-controls textarea{
  width:100%;box-sizing:border-box;padding:10px 12px;border-radius:8px;
  border:1px solid #334155!important;background:#1a1a2e!important;color:#fff!important;font-size:14px;
}
.rg-tool .rg-info-controls textarea{min-height:110px;resize:vertical;}
.rg-tool .rg-info-actions-top{display:flex;justify-content:center;margin:16px 0;}
.rg-tool .rg-info-generate{
  padding:12px 28px;font-size:15px;font-weight:700;border:none;border-radius:8px;
  background:#ff6600!important;color:#fff!important;cursor:pointer;text-transform:none;
}
.rg-tool .rg-info-generate:hover{filter:brightness(1.08);}
.rg-tool .rg-info-result{margin-top:8px;}
.rg-tool .rg-info-result[hidden]{display:none!important;}
.rg-tool .rg-info-card{
  max-width:620px;margin:0 auto;text-align:center;padding:20px;border-radius:10px;
  background:#0f172a!important;color:#ffffff!important;border:1px solid #334155;
  box-shadow:0 4px 8px rgba(0,0,0,.15);
}
.rg-tool .rg-info-card-title{
  font-size:clamp(22px,5vw,34px);font-weight:800;border-bottom:2px solid #F7630C;
  display:inline-block;padding-bottom:4px;margin:0 0 8px;word-break:break-word;
}
.rg-tool .rg-info-card img.rg-wiki-img,
.rg-tool .rg-info-card img{
  width:250px;height:250px;margin:12px auto;display:block;border-radius:12px;
  object-fit:cover;background:#1e293b;max-width:100%;
}
.rg-tool .rg-info-row{
  font-size:clamp(15px,3.6vw,18px);margin-top:10px;line-height:1.45;text-align:left;
}
.rg-tool .rg-info-row strong{color:#ff6600;}
.rg-tool .rg-info-note{margin:12px 4px 0;font-size:12px;color:#94a3b8;text-align:center;}
.rg-tool .rg-info-vs{display:grid;gap:8px;margin-top:12px;}
.rg-tool .rg-info-vs .rg-info-opt{
  padding:12px;border-radius:8px;background:#1e293b;border:1px solid #334155;font-size:16px;
}
.rg-tool .rg-coin-flip{font-size:64px;line-height:1;margin:16px 0;animation:rgCoinPop .45s ease;}
@keyframes rgCoinPop{0%{transform:rotateY(0) scale(.6);}60%{transform:rotateY(180deg) scale(1.1);}100%{transform:rotateY(360deg) scale(1);}}
.rg-tool .rg-wheel-wrap{position:relative;width:min(280px,90vw);height:min(280px,90vw);margin:12px auto;}
.rg-tool .rg-wheel-canvas{width:100%;height:100%;border-radius:50%;}
.rg-tool .rg-wheel-pointer{
  position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:0;height:0;
  border-left:10px solid transparent;border-right:10px solid transparent;border-top:18px solid #ff6600;z-index:2;
}
@media (max-width:600px){
  .rg-tool .rg-info-shell{padding:8px;}
  .rg-tool .rg-info-card{padding:14px;}
}

/* Name tools → animal-style cards */
.rg-tool .rboyg-name-item,
.rg-tool .rgirlg-name-item,
.rg-tool .rdogn-name-item,
.rg-tool .rcatn-name-item,
.rg-tool .rpetn-name-item,
.rg-tool .rfirstn-name-item,
.rg-tool .rlastn-name-item,
.rg-tool .rnicn-name-item{
  max-width:620px;margin:0 auto 12px;text-align:center;padding:20px;border-radius:10px;
  background:#0f172a!important;color:#fff!important;border:1px solid #334155;
}
.rg-tool .rboyg-names-container,
.rg-tool .rgirlg-names-container,
.rg-tool .rdogn-names-container,
.rg-tool .rcatn-names-container,
.rg-tool .rpetn-names-container,
.rg-tool .rfirstn-names-container,
.rg-tool .rlastn-names-container,
.rg-tool .rnicn-names-container{display:grid;gap:12px;}
