.toolbox-hero{padding-bottom:34px}
.tool-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:860px;margin-top:28px;padding:7px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.82);box-shadow:0 10px 26px rgba(20,58,48,.05)}
.tool-tab{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-weight:700;transition:.18s ease}
.tool-tab:hover{background:#f5f9f8;color:var(--text)}
.tool-tab.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 8px 18px rgba(15,118,110,.16)}
.tool-tab-kicker{padding:4px 6px;border-radius:7px;background:rgba(255,255,255,.18);font-size:10px;letter-spacing:.05em}
.tool-view{margin-top:22px}
.start-card{margin-bottom:22px}
.compact-head{padding-bottom:15px}
.start-card-body{padding:0 20px 20px}
.start-card .searchbar{margin-top:0}
.section-kicker{display:block;margin-bottom:7px;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.11em}
.generator-head h2{font-size:20px}
.generator-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:28px;padding:26px}
.generator-controls{min-width:0}
.generator-field-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}
.wide-field input{width:100%;height:44px;border:1px solid var(--line);border-radius:11px;background:#fbfdfc;padding:0 12px;color:var(--text);outline:0}
.field small{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.6}
.range-field{display:block;margin:4px 0 18px}
.range-field>span{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:var(--muted);font-size:13px;font-weight:800}
.range-field b{color:var(--brand);font-size:11px}
.range-field input[type=range]{width:100%;accent-color:var(--brand)}
.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.color-field>span,.palette-block>span{display:block;margin-bottom:7px;color:var(--muted);font-size:13px;font-weight:800}
.color-input-row{display:grid;grid-template-columns:44px 1fr;gap:8px}
.color-input-row input[type=color]{width:44px;height:44px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#fff}
.color-input-row input[type=text]{min-width:0;height:44px;border:1px solid var(--line);border-radius:10px;background:#fbfdfc;padding:0 10px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.palette-block{margin-bottom:18px}
.palette-row{display:flex;gap:8px;flex-wrap:wrap}
.palette-dot{width:30px;height:30px;border:3px solid #fff;border-radius:9px;background:var(--swatch);box-shadow:0 0 0 1px var(--line);transition:.15s ease}
.palette-dot:hover{transform:translateY(-2px);box-shadow:0 0 0 2px rgba(15,118,110,.25)}
.generator-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.toggle-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;margin-bottom:13px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fbfdfc;cursor:pointer}
.toggle-card span{display:flex;flex-direction:column;gap:2px}
.toggle-card strong{font-size:12px}
.toggle-card small{color:var(--muted);font-size:10px}
.toggle-card input{position:absolute;opacity:0;pointer-events:none}
.toggle-card i{position:relative;flex:0 0 42px;width:42px;height:24px;border-radius:999px;background:#dfe6e4;transition:.2s ease}
.toggle-card i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.12);transition:.2s ease}
.toggle-card input:checked+i{background:var(--brand)}
.toggle-card input:checked+i:after{transform:translateX(18px)}
.shadow-toggle{margin-top:2px}
.generator-preview-panel{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fbfdfc,#f5faf8)}
.generator-preview-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.generator-preview-title>div{display:flex;flex-direction:column;gap:3px}
.generator-preview-title span{font-size:12px;font-weight:800}
.generator-preview-title small{color:var(--muted);font-size:10px}
.live-dot{display:inline-flex!important;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#e8f8ef;color:var(--ok);font-size:10px!important}
.live-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.generator-preview-stage{display:grid;place-items:center;min-height:300px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(45deg,#eef4f2 25%,transparent 25%),linear-gradient(-45deg,#eef4f2 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef4f2 75%),linear-gradient(-45deg,transparent 75%,#eef4f2 75%),#fff;background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}
#textPreviewLarge{width:min(230px,72%);height:auto;border-radius:20%;filter:drop-shadow(0 14px 24px rgba(30,60,52,.13))}
.mini-preview-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.mini-preview-item,.browser-tab-mock{display:flex;align-items:center;gap:10px;min-height:70px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}
.mini-preview-item canvas{width:36px;height:36px;flex:0 0 36px}
.mini-preview-item div{display:flex;flex-direction:column;gap:2px}
.mini-preview-item strong{font-size:11px}.mini-preview-item span{color:var(--muted);font-size:9px}
.browser-tab-mock canvas{width:22px;height:22px;flex:0 0 22px}.browser-tab-mock span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#495653;font-size:10px}
.generator-download{width:100%;margin-top:14px}
.secondary-downloads{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.secondary-downloads .button{padding:10px 11px;font-size:11px}
.centered-hint{text-align:center}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.feature-card{padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 10px 26px rgba(20,58,48,.035)}
.feature-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:14px;border-radius:12px;background:var(--soft);color:var(--brand);font-weight:950}
.feature-card strong{display:block;margin-bottom:7px;font-size:12px}.feature-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.generator-guide-card{margin-top:18px}
.generator-guide-body{padding:22px}
.generator-guide-body pre{margin:0;padding:18px;border-radius:14px;overflow:auto;background:#0f172a;color:#e5eefc;font-size:13px;line-height:1.8}
.format-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
.format-grid>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfdfc}
.format-grid strong{display:block;margin-bottom:5px;font-size:12px}.format-grid span{color:var(--muted);font-size:12px;line-height:1.7}
body.generator-open .legal-card{margin-top:22px}
@media(max-width:980px){
  .generator-layout{grid-template-columns:1fr}
  .generator-field-grid{grid-template-columns:1fr 1fr}.wide-field{grid-column:1/-1}
  .generator-preview-panel{max-width:none}
}
@media(max-width:720px){
  .tool-switch{grid-template-columns:1fr}
  .tool-tab{justify-content:flex-start;padding:0 14px}
  .start-card-body{padding:0 12px 14px}
  .generator-layout{padding:16px}
  .generator-field-grid,.color-grid,.generator-option-grid,.mini-preview-row,.secondary-downloads,.feature-grid,.format-grid{grid-template-columns:1fr}
  .wide-field{grid-column:auto}
  .generator-preview-stage{min-height:240px}
  #textPreviewLarge{width:190px}
}

/* 圖片轉 Favicon */
.image-converter-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);gap:28px;padding:26px}
.upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:28px;border:1.5px dashed #b8d5cf;border-radius:18px;background:linear-gradient(180deg,#fbfefd,#f4faf8);text-align:center;transition:.18s ease}
.upload-zone.dragging{border-color:var(--brand);background:var(--soft);transform:translateY(-1px)}
.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.upload-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:13px;border-radius:15px;background:#fff;color:var(--brand);box-shadow:0 8px 24px rgba(20,58,48,.08);font-size:22px;font-weight:800}
.upload-zone strong{font-size:14px}
.upload-zone p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.8}
.upload-meta{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:var(--muted);font-size:10px}
.image-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.image-preview-stage{display:grid;place-items:center;min-height:300px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(45deg,#eef4f2 25%,transparent 25%),linear-gradient(-45deg,#eef4f2 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef4f2 75%),linear-gradient(-45deg,transparent 75%,#eef4f2 75%),#fff;background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}
#imagePreviewLarge{width:min(230px,72%);height:auto;filter:drop-shadow(0 14px 24px rgba(30,60,52,.13))}
.image-empty{max-width:240px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8}
.image-preview-panel{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fbfdfc,#f5faf8)}
.image-action-note{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.75}

/* Favicon 新手說明 */
.favicon-guide{margin-top:22px}
.guide-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:22px;padding:24px}
.guide-big-mark{display:flex;align-items:center;justify-content:center;min-height:180px;border-radius:18px;background:linear-gradient(135deg,#0f766e,#12a996);color:#fff}
.guide-big-mark span{font-size:72px;font-weight:800;line-height:1}
.guide-copy h3{margin:0 0 10px;font-size:19px}
.guide-copy p{margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.9}
.guide-copy p:last-child{margin-bottom:0}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 24px 24px}
.guide-card{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fbfdfc}
.guide-card b{display:block;margin-bottom:7px;font-size:12px}
.guide-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.755}
.install-steps{padding:0 24px 24px}
.install-steps h3{margin:0 0 12px;font-size:15px}
.install-list{counter-reset:steps;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.install-item{position:relative;padding:15px 15px 15px 46px;border:1px solid var(--line);border-radius:14px;background:#fff}
.install-item:before{counter-increment:steps;content:counter(steps);position:absolute;left:14px;top:14px;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--soft);color:var(--brand);font-size:11px;font-weight:800}
.install-item strong{display:block;margin-bottom:4px;font-size:11px}
.install-item span{display:block;color:var(--muted);font-size:12px;line-height:1.75}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 24px 24px}
.faq-item{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}
.faq-item strong{display:block;margin-bottom:5px;font-size:11px}
.faq-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.755}

@media(max-width:980px){
  .image-converter-layout{grid-template-columns:1fr}
  .guide-intro{grid-template-columns:1fr}
  .guide-big-mark{min-height:130px}
  .guide-grid,.install-list{grid-template-columns:1fr}
}
@media(max-width:720px){
  .tool-switch{grid-template-columns:1fr}
  .image-converter-layout{padding:16px}
  .image-control-grid,.faq-list{grid-template-columns:1fr}
  .guide-intro,.guide-grid,.install-steps,.faq-list{padding-left:16px;padding-right:16px}
}

/* 2026-10 readability pass */
.tool-tab{font-size:14px}
.tool-tab-kicker{font-size:11px}
.section-kicker{font-size:11px}
.generator-head h2{font-size:21px}
.guide-copy h3{font-size:20px}
.guide-copy p{font-size:14px}
.guide-card b{font-size:14px}
.guide-card p{font-size:13px}
.install-steps h3{font-size:17px}
.install-item strong{font-size:13px}
.install-item span{font-size:12px}
.faq-item strong{font-size:13px}
.faq-item p{font-size:12px}
.format-grid strong{font-size:13px}
.format-grid span{font-size:12px}
.upload-zone strong{font-size:15px}
.upload-zone p{font-size:13px}
.image-action-note{font-size:12px}
.image-empty{font-size:13px}


/* =========================================================
   WUMETAX Domain Lookup inspired toolbox components
   ========================================================= */
.toolbox-hero{padding-bottom:48px}

.tool-switch{
  position:relative;
  overflow:hidden;
  max-width:900px;
  margin:38px auto 0;
  padding:10px;
  gap:8px;
  border:1px solid rgba(199,216,207,.95);
  border-radius:24px;
  background:rgba(255,255,255,.9);
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
}
.tool-switch::after{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.78) 50%,transparent 80%);
  transform:translateX(-120%);
  animation:wmSheen 6.8s ease-in-out infinite;
}
@keyframes wmSheen{
  0%,72%{transform:translateX(-120%)}
  88%,100%{transform:translateX(120%)}
}
.tool-tab{
  position:relative;
  z-index:1;
  min-height:58px;
  border:1px solid transparent;
  border-radius:16px;
  font-size:14px;
  font-weight:700;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.tool-tab:hover{transform:translateY(-1px);background:#f6faf8;border-color:#dce8e2;color:var(--brand)}
.tool-tab.active{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  box-shadow:0 12px 28px rgba(13,130,89,.18);
}
.tool-tab-kicker{font-size:10px;font-weight:800;letter-spacing:.08em}

.tool-view{margin-top:0}
.generator-card,.favicon-guide{box-shadow:var(--shadow-soft)}

.generator-layout,.image-converter-layout{gap:20px;padding:24px}
.generator-preview-panel,.image-preview-panel{
  border-color:#dbe7e1;
  background:linear-gradient(180deg,rgba(251,253,252,.98),#f3f8f5);
  box-shadow:0 12px 30px rgba(18,49,36,.045);
}
.generator-preview-title span{font-weight:800}
.live-dot{
  background:var(--soft);
  color:var(--green-dark,#075b40);
  border:1px solid #d6ebdf;
}

.feature-grid{gap:14px;margin-top:14px}
.feature-card{
  min-height:190px;
  padding:24px;
  border-color:var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow-soft);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.feature-card:hover{transform:translateY(-3px);border-color:#b7d8c8;box-shadow:0 18px 42px rgba(18,49,36,.07)}
.feature-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  background:var(--soft);
  color:var(--brand);
  font-size:15px;
}
.feature-card strong{font-size:15px}
.feature-card p{font-size:13px;line-height:1.8}

.generator-guide-card{margin-top:14px}
.generator-guide-body pre{
  background:#0d2a20;
  color:#d8efe5;
  border:1px solid rgba(255,255,255,.06);
}
.format-grid>div,.guide-card,.faq-item,.install-item{
  border-color:#dfe9e4;
  background:rgba(255,255,255,.9);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.format-grid>div:hover,.guide-card:hover,.faq-item:hover,.install-item:hover{
  transform:translateY(-2px);
  border-color:#b8d8c8;
  box-shadow:0 12px 28px rgba(18,49,36,.05);
}
.upload-zone{
  min-height:250px;
  border-color:#b7d7c8;
  background:linear-gradient(180deg,#fcfefd,#f2f8f5);
}
.upload-zone:hover{border-color:#87bea4;background:#fff}
.upload-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  background:var(--soft);
  color:var(--brand);
}

.favicon-guide{margin-top:14px}
.guide-intro{gap:24px;padding:26px}
.guide-big-mark{
  position:relative;
  overflow:hidden;
  min-height:210px;
  background:linear-gradient(145deg,#0d8259,#08704d);
  box-shadow:0 18px 46px rgba(13,130,89,.16);
}
.guide-big-mark::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-70px;
  top:-80px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(184,223,117,.42),transparent 68%);
}
.guide-big-mark span{position:relative;z-index:1;font-size:76px}
.guide-copy h3{font-size:21px;letter-spacing:-.02em}
.guide-copy p{color:var(--muted);font-size:14px;line-height:1.9}
.guide-grid{gap:14px}
.guide-card{padding:20px;border-radius:18px}
.install-list{gap:14px}
.install-item{padding:18px 18px 18px 52px;border-radius:18px}
.install-item:before{
  left:17px;
  top:17px;
  width:27px;
  height:27px;
  border-radius:9px;
  background:var(--soft);
  color:var(--brand);
}
.faq-list{gap:14px}
.faq-item{padding:18px;border-radius:18px}

@media(max-width:720px){
  .tool-switch{
    grid-template-columns:1fr;
    margin-top:28px;
    padding:8px;
    border-radius:20px;
  }
  .tool-tab{min-height:50px;justify-content:flex-start;padding:0 15px}
  .feature-card{min-height:auto}
  .guide-big-mark{min-height:150px}
}
