/* ═══════════ TOOLS TAB ═══════════ */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px;margin-top:14px;}
.tool-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px 18px;cursor:pointer;transition:all 0.2s;position:relative;overflow:hidden;text-align:center;}
.tool-card:hover{transform:translateY(-4px);border-color:rgba(245,200,66,0.3);box-shadow:0 12px 40px rgba(0,0,0,0.4);}
.tool-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;}
.tool-card.tc-gold::before{background:linear-gradient(90deg,var(--gold),var(--gold2));}
.tool-card.tc-teal::before{background:linear-gradient(90deg,var(--teal2),var(--teal));}
.tool-card.tc-green::before{background:linear-gradient(90deg,#059669,var(--green));}
.tool-card.tc-purple::before{background:linear-gradient(90deg,#7C3AED,var(--purple));}
.tool-card.tc-orange::before{background:linear-gradient(90deg,#EA580C,var(--orange));}
.tool-icon{font-size:2.8rem;margin-bottom:10px;display:block;}
.tool-name{font-family:'Cinzel',serif;font-size:0.88rem;font-weight:700;color:var(--gold);margin-bottom:4px;}
.tool-desc{font-size:0.7rem;color:var(--muted2);line-height:1.3;}

/* Tool fullscreen panel */
.tool-panel{display:none;animation:fadeUp 0.3s ease;}
.tool-panel.active{display:block;}
.tool-back{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:8px;border:1px solid var(--border2);background:var(--bg3);color:var(--muted2);cursor:pointer;font-family:'Nunito',sans-serif;font-weight:700;font-size:0.76rem;margin-bottom:14px;transition:all 0.14s;}
.tool-back:hover{color:var(--text);border-color:var(--gold);background:var(--gold3);}

/* ROLETA */
.roleta-container{display:flex;gap:18px;flex-wrap:wrap;}
.roleta-main{flex:1;min-width:300px;display:flex;flex-direction:column;align-items:center;}
.roleta-wheel{position:relative;width:320px;height:320px;margin:14px 0;}
.roleta-canvas{width:100%;height:100%;border-radius:50%;border:3px solid var(--gold3);box-shadow:0 0 40px rgba(245,200,66,0.12);}
.roleta-pointer{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:1.8rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.5));z-index:2;}
.roleta-result{font-family:'Cinzel',serif;font-size:1.4rem;color:var(--gold);margin:12px 0;min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;}
.roleta-sidebar{width:240px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;max-height:460px;overflow-y:auto;}
.roleta-sidebar h3{font-family:'Cinzel',serif;font-size:0.78rem;color:var(--gold);margin-bottom:8px;}
.roleta-hist-item{font-size:0.72rem;padding:5px 8px;border-bottom:1px solid var(--border);color:var(--muted2);}
.roleta-hist-item:last-child{border-bottom:none;}
.roleta-config{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center;justify-content:center;}
.roleta-config select,.roleta-config input{padding:6px 10px;border-radius:7px;border:1px solid var(--border2);background:var(--bg3);color:var(--text);font-family:'Nunito',sans-serif;font-size:0.76rem;}

/* TIMER */
.timer-display{font-family:'Cinzel Decorative',serif;font-size:5rem;color:var(--teal);text-align:center;text-shadow:0 0 30px rgba(34,211,238,0.2);margin:20px 0;letter-spacing:4px;}
.timer-bar{width:100%;max-width:500px;height:14px;background:var(--bg3);border-radius:8px;margin:0 auto 20px;overflow:hidden;border:1px solid var(--border);}
.timer-bar-fill{height:100%;border-radius:8px;transition:width 0.3s,background 0.5s;}
.timer-presets{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:16px;}
.timer-preset{padding:8px 16px;border-radius:8px;border:1px solid var(--border2);background:var(--bg3);color:var(--muted2);cursor:pointer;font-family:'Nunito',sans-serif;font-weight:700;font-size:0.8rem;transition:all 0.14s;}
.timer-preset:hover,.timer-preset.active{color:var(--teal);border-color:rgba(34,211,238,0.3);background:rgba(34,211,238,0.08);}

/* QUIZ */
.quiz-question-display{font-size:1.5rem;font-weight:800;text-align:center;padding:24px;margin:14px 0;background:var(--card);border:1px solid var(--border);border-radius:14px;min-height:90px;display:flex;align-items:center;justify-content:center;}
.quiz-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:600px;margin:0 auto;}
.quiz-opt{padding:18px 14px;border-radius:10px;border:2px solid var(--border2);background:var(--card);cursor:pointer;text-align:center;font-weight:700;font-size:1rem;transition:all 0.2s;position:relative;}
.quiz-opt:hover{border-color:rgba(245,200,66,0.3);background:var(--gold3);}
.quiz-opt.correct{border-color:var(--green)!important;background:rgba(52,211,153,0.15)!important;color:var(--green)!important;}
.quiz-opt.wrong{border-color:var(--red)!important;background:rgba(248,113,113,0.1)!important;color:var(--red)!important;opacity:0.6;}
.quiz-opt-letter{position:absolute;top:6px;left:10px;font-size:0.65rem;color:var(--muted);font-weight:800;}

/* DADOS RPG */
.dice-area{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;}
.dice-selector{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.dice-type-btn{padding:10px 16px;border-radius:10px;border:2px solid var(--border2);background:var(--card);color:var(--muted2);cursor:pointer;font-weight:800;font-size:0.85rem;transition:all 0.2s;min-width:56px;text-align:center;}
.dice-type-btn:hover,.dice-type-btn.active{color:var(--purple);border-color:rgba(167,139,250,0.4);background:rgba(167,139,250,0.08);}
.dice-result-display{font-family:'Cinzel Decorative',serif;font-size:5rem;color:var(--purple);text-shadow:0 0 30px rgba(167,139,250,0.2);min-height:120px;display:flex;align-items:center;justify-content:center;gap:16px;}
.dice-rolling{animation:diceShake 0.1s infinite alternate;}
@keyframes diceShake{0%{transform:rotate(-8deg) scale(1.05);}100%{transform:rotate(8deg) scale(0.95);}}
.dice-multi{display:flex;gap:12px;font-size:3rem;}

/* TABUADA RÍTMICA */
.tab-ritmica-display{font-family:'Cinzel Decorative',serif;font-size:4.5rem;text-align:center;color:var(--orange);text-shadow:0 0 30px rgba(251,146,60,0.2);min-height:130px;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.tab-ritmica-display.beat{transform:scale(1.08);text-shadow:0 0 50px rgba(251,146,60,0.4);}
.tab-counter{font-size:1.1rem;color:var(--muted2);text-align:center;margin-top:6px;font-weight:700;}
.tab-config-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;margin-bottom:10px;}
.tab-config-row label{font-size:0.74rem;color:var(--muted2);font-weight:700;}
.tab-config-row select,.tab-config-row input{padding:5px 10px;border-radius:7px;border:1px solid var(--border2);background:var(--bg3);color:var(--text);font-family:'Nunito',sans-serif;font-size:0.76rem;}
.tab-answers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:8px;margin-top:14px;}
.tab-answer-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;}
.tab-answer-q{font-weight:700;color:var(--text);font-size:0.88rem;}
.tab-answer-a{font-weight:900;color:var(--orange);font-size:0.95rem;}
.bpm-display{font-size:1.8rem;font-weight:900;color:var(--orange);min-width:60px;text-align:center;}

/* ═══════════ QUIZ MODE SELECT ═══════════ */
.quiz-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:560px;margin:30px auto;}
.quiz-mode-card{background:var(--card);border:2px solid var(--border);border-radius:18px;padding:32px 24px;cursor:pointer;text-align:center;transition:all 0.2s;position:relative;overflow:hidden;}
.quiz-mode-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;}
.quiz-mode-card.gincana::before{background:linear-gradient(90deg,#DC2626,var(--gold));}
.quiz-mode-card.class-quiz::before{background:linear-gradient(90deg,var(--teal2),var(--teal));}
.quiz-mode-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,0.4);}
.quiz-mode-card.gincana:hover{border-color:rgba(220,38,38,0.4);}
.quiz-mode-card.class-quiz:hover{border-color:rgba(34,211,238,0.4);}
.qmc-icon{font-size:3.2rem;margin-bottom:12px;display:block;}
.qmc-title{font-family:'Cinzel',serif;font-size:1rem;font-weight:700;color:var(--gold);margin-bottom:6px;}
.qmc-desc{font-size:0.72rem;color:var(--muted2);line-height:1.5;}

/* ═══════════ QUESTION SOURCE TABS ═══════════ */
.qsource-tabs{display:flex;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--border);}
.qsource-tab{padding:8px 18px;cursor:pointer;font-family:'Nunito',sans-serif;font-weight:700;font-size:0.78rem;color:var(--muted2);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.15s;}
.qsource-tab:hover{color:var(--text);}
.qsource-tab.active{color:var(--gold);border-bottom-color:var(--gold);}

/* ═══════════ AI GENERATION PANEL ═══════════ */
.ai-gen-panel{display:flex;flex-direction:column;gap:10px;}
.ai-gen-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ai-gen-row label{font-size:0.72rem;color:var(--muted2);font-weight:700;white-space:nowrap;}
.ai-gen-row input,.ai-gen-row select{flex:1;min-width:100px;padding:6px 10px;border-radius:7px;border:1px solid var(--border2);background:var(--bg3);color:var(--text);font-family:'Nunito',sans-serif;font-size:0.76rem;}
.ai-attach-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.ai-attach-thumb{position:relative;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:6px 10px;font-size:0.68rem;color:var(--muted2);display:flex;align-items:center;gap:5px;max-width:180px;}
.ai-attach-thumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ai-attach-remove{background:none;border:none;color:var(--red);cursor:pointer;font-size:0.9rem;padding:0;line-height:1;flex-shrink:0;}
.ai-loading-bar{width:100%;height:6px;background:var(--bg3);border-radius:4px;overflow:hidden;position:relative;}
.ai-loading-bar::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:ai-shimmer 1.2s infinite;}
@keyframes ai-shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}

/* ═══════════ QUESTION PREVIEW LIST ═══════════ */
.question-preview-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto;margin-top:8px;}
.qpreview-item{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:8px 12px;display:flex;align-items:flex-start;gap:8px;font-size:0.74rem;}
.qpreview-item .qp-num{color:var(--muted);font-weight:700;min-width:22px;flex-shrink:0;}
.qpreview-item .qp-q{flex:1;color:var(--text);line-height:1.4;}
.qpreview-item .qp-a{color:var(--green);font-weight:700;font-size:0.7rem;flex-shrink:0;}
.qpreview-item .qp-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:0.9rem;padding:0;flex-shrink:0;transition:color 0.15s;}
.qpreview-item .qp-del:hover{color:var(--red);}

/* ═══════════ GINCANA SETUP ═══════════ */
.ginc-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ginc-setup-col{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;}
.ginc-setup-col h3{font-family:'Cinzel',serif;font-size:0.82rem;color:var(--gold);margin-bottom:12px;}
.ginc-teams-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
.ginc-team-row{display:flex;gap:8px;align-items:center;}
.ginc-team-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;}
.ginc-team-row input{flex:1;padding:5px 10px;border-radius:7px;border:1px solid var(--border2);background:var(--bg3);color:var(--text);font-family:'Nunito',sans-serif;font-size:0.8rem;}
.ginc-team-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;padding:0;transition:color 0.15s;}
.ginc-team-remove:hover{color:var(--red);}
.ginc-config-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;}
.ginc-config-row label{font-size:0.72rem;color:var(--muted2);font-weight:700;min-width:80px;}
.ginc-config-row input,.ginc-config-row select{flex:1;padding:5px 10px;border-radius:7px;border:1px solid var(--border2);background:var(--bg3);color:var(--text);font-family:'Nunito',sans-serif;font-size:0.76rem;}
.ginc-source-wrapper{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin-top:16px;}
.ginc-source-wrapper h3{font-family:'Cinzel',serif;font-size:0.82rem;color:var(--gold);margin-bottom:12px;}

/* ═══════════ GINCANA BATTLE ═══════════ */
.ginc-scoreboard{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(110px, 1fr));
  gap:8px;
  margin-bottom:16px;
}
.ginc-team-card{
  padding:8px 10px;
  border-radius:11px;
  border:2px solid;
  text-align:center;
  transition:transform 0.2s, box-shadow 0.2s;
  position:relative;
  min-width:0;
  overflow:hidden;
}
.ginc-team-card.leading{box-shadow:0 0 20px rgba(245,200,66,0.25);}
.ginc-team-card.active{
  box-shadow:0 0 0 3px currentColor,0 0 18px currentColor;
  transform:scale(1.04);
  z-index:2;
}
.ginc-team-card .ginc-tc-name{
  font-family:'Cinzel',serif;
  font-size:0.74rem;
  font-weight:700;
  margin-bottom:3px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
.ginc-team-card .ginc-tc-score{
  font-family:'Cinzel Decorative',serif;
  font-size:1.7rem;
  font-weight:900;
  line-height:1;
}
.ginc-team-card .ginc-tc-lbl{font-size:0.58rem;opacity:0.6;letter-spacing:1px;}
.ginc-team-card .ginc-tc-crown{position:absolute;top:3px;right:5px;font-size:0.85rem;}
.ginc-team-card .ginc-tc-arrow{position:absolute;top:3px;right:5px;font-size:0.72rem;animation:crown-pulse 1s infinite;}

/* Densidade alta (muitas equipes) — cards mais compactos */
.ginc-sb-dense .ginc-team-card{padding:6px 8px;}
.ginc-sb-dense .ginc-tc-name{font-size:0.68rem;}
.ginc-sb-dense .ginc-tc-score{font-size:1.35rem;}

@keyframes crown-pulse{0%,100%{transform:scale(1) rotate(-10deg);}50%{transform:scale(1.2) rotate(10deg);}}

.ginc-battle-layout{display:grid;grid-template-columns:1fr 280px;gap:16px;}
.ginc-main{display:flex;flex-direction:column;gap:14px;}
.ginc-question-box{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:14px;}
.ginc-question-meta{display:flex;gap:8px;align-items:center;}
.ginc-diff-badge{padding:3px 10px;border-radius:20px;font-size:0.65rem;font-weight:800;}
.diff-facil{background:rgba(52,211,153,0.15);color:var(--green);border:1px solid rgba(52,211,153,0.3);}
.diff-medio{background:rgba(251,191,36,0.15);color:#FBBF24;border:1px solid rgba(251,191,36,0.3);}
.diff-dificil{background:rgba(248,113,113,0.15);color:var(--red);border:1px solid rgba(248,113,113,0.3);}
.diff-desafio{background:rgba(167,139,250,0.15);color:var(--purple);border:1px solid rgba(167,139,250,0.3);}
.ginc-question-text{font-family:'Cinzel',serif;font-size:1.5rem;font-weight:700;text-align:center;color:var(--text);line-height:1.4;}
.ginc-pts-display{font-size:0.8rem;color:var(--muted2);font-weight:700;}

/* Gincana timer ring */
.ginc-timer-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;}
.ginc-timer-ring{position:relative;display:flex;align-items:center;justify-content:center;}
.ginc-timer-ring .ring-bg{fill:none;stroke:var(--bg3);}
.ginc-timer-ring .ring-prog{fill:none;stroke:var(--teal);stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke 0.5s;}
.ginc-timer-num{font-family:'Cinzel Decorative',serif;font-size:1.8rem;color:var(--teal);}
.ginc-timer-num.urgent{color:var(--red);animation:timer-urgent 0.5s ease infinite alternate;}
@keyframes timer-urgent{0%{transform:scale(1);}100%{transform:scale(1.1);}}

.ginc-answer-reveal{background:rgba(52,211,153,0.08);border:2px solid var(--green);border-radius:12px;padding:16px 24px;text-align:center;animation:answer-pop 0.35s cubic-bezier(0.34,1.56,0.64,1);}
@keyframes answer-pop{0%{transform:scale(0.7);opacity:0;}100%{transform:scale(1);opacity:1;}}
.ginc-answer-reveal .gar-label{font-size:0.72rem;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.ginc-answer-reveal .gar-text{font-family:'Cinzel',serif;font-size:1.6rem;color:var(--green);font-weight:700;}

.ginc-point-panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;}
.ginc-point-panel h4{font-family:'Cinzel',serif;font-size:0.76rem;color:var(--gold);margin-bottom:10px;text-align:center;}

/* Grid responsivo dos botões "Quem acertou?" — cresce/encolhe sem espremer texto */
.ginc-award-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
  gap:7px;
}
.ginc-award-btn{
  padding:9px 8px;
  border-radius:10px;
  border:2px solid;
  background:transparent;
  cursor:pointer;
  font-family:'Nunito',sans-serif;
  font-weight:800;
  transition:transform 0.12s, opacity 0.12s;
  /* Layout vertical: nome em destaque no topo, score no meio, +pontos abaixo */
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-width:0;
  text-align:center;
  position:relative;
}
.ginc-award-btn:hover{opacity:0.88;transform:translateY(-2px);}
.ginc-award-btn .ginc-aw-name{
  font-size:0.78rem;
  font-weight:800;
  letter-spacing:0.3px;
  width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.2;
}
.ginc-award-btn .ginc-aw-score{
  font-family:'Cinzel Decorative',serif;
  font-size:1.25rem;
  font-weight:900;
  line-height:1;
  margin-top:2px;
}
.ginc-award-btn .ginc-aw-plus{
  font-size:0.62rem;
  font-weight:700;
  opacity:0.8;
  background:rgba(255,255,255,0.12);
  border-radius:8px;
  padding:1px 7px;
  letter-spacing:0.4px;
}

.ginc-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px;}

.ginc-sidebar{display:flex;flex-direction:column;gap:14px;}
.ginc-history{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;max-height:420px;overflow-y:auto;flex:1;}
.ginc-history h4{font-family:'Cinzel',serif;font-size:0.74rem;color:var(--gold);margin-bottom:10px;}
.ginc-hist-item{padding:8px;border-bottom:1px solid var(--border);font-size:0.7rem;color:var(--muted2);}
.ginc-hist-item:last-child{border-bottom:none;}
.ginc-hist-item .ghi-q{color:var(--text);font-weight:700;margin-bottom:3px;line-height:1.3;}
.ginc-hist-item .ghi-a{color:var(--green);}
.ginc-hist-item .ghi-team{font-weight:700;}
.ginc-hist-item .ghi-na{color:var(--muted);}

/* ═══════════ GINCANA VICTORY ═══════════ */
.ginc-victory{text-align:center;padding:40px 20px;}
.ginc-victory-icon{font-size:5rem;margin-bottom:16px;display:block;}
.ginc-victory h2{font-family:'Cinzel Decorative',serif;font-size:1.6rem;color:var(--gold);margin-bottom:8px;}
.ginc-victory-scores{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:20px 0;}
.ginc-vs-card{background:var(--card);border:2px solid;border-radius:14px;padding:14px 20px;text-align:center;min-width:120px;}
.ginc-vs-card .gvsc-name{font-family:'Cinzel',serif;font-size:0.8rem;font-weight:700;margin-bottom:4px;}
.ginc-vs-card .gvsc-score{font-family:'Cinzel Decorative',serif;font-size:2rem;}

/* ═══════════ QUIZ SETUP / ACTIVE (updated) ═══════════ */
.quiz-setup-wrapper{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin-top:4px;}
.quiz-setup-wrapper h3{font-family:'Cinzel',serif;font-size:0.82rem;color:var(--gold);margin-bottom:12px;}

@media(max-width:768px){
  .roleta-wheel{width:240px;height:240px;}
  .roleta-sidebar{width:100%;}
  .roleta-container{flex-direction:column;}
  .timer-display{font-size:3.2rem;}
  .quiz-options-grid{grid-template-columns:1fr;}
  .quiz-question-display{font-size:1.1rem;padding:16px;}
  .dice-result-display{font-size:3.5rem;}
  .tab-ritmica-display{font-size:3rem;}
  .tools-grid{grid-template-columns:repeat(2,1fr);}
  .quiz-mode-grid{grid-template-columns:1fr;}
  .ginc-setup-grid{grid-template-columns:1fr;}
  .ginc-battle-layout{grid-template-columns:1fr;}
  .ginc-sidebar{flex-direction:row;}
  .ginc-history{max-height:200px;}
}
@media(max-width:420px){
  .tools-grid{grid-template-columns:1fr;}
  .ginc-scoreboard{gap:6px;}
  .ginc-team-card{min-width:80px;padding:8px 10px;}
  .ginc-team-card .gtc-score{font-size:1.4rem;}
  .ginc-question-text{font-size:1.1rem;}
}

/* ═══════════ SOUND METER — SLEEPING DRAGON ═══════════ */
.tool-card.tc-dragon::before{background:linear-gradient(90deg,#2a1b4a,#e6b769);}

/* Shell */
.sm-shell{padding-bottom:24px;}

/* Header */
.sm-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px;}
.sm-title-block{flex:1;min-width:0;}
.sm-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.sm-logo-badge{width:26px;height:26px;border-radius:6px;background:linear-gradient(135deg,#e6b769,#ff7a3d);display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-weight:900;color:#1a1025;font-size:0.9rem;flex-shrink:0;}
.sm-eyebrow-text{font-size:0.62rem;letter-spacing:3px;text-transform:uppercase;color:#6d7494;font-family:monospace;}
.sm-main-title{font-family:'Cinzel',serif;font-weight:900;font-style:italic;font-size:clamp(1.4rem,3vw,2.1rem);margin:0 0 4px;line-height:1.1;background:linear-gradient(180deg,var(--text) 0%,#f5d58a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sm-tagline{color:var(--muted2);font-size:0.78rem;margin:0;line-height:1.5;max-width:440px;}
.sm-btn-start{padding:11px 18px;background:linear-gradient(135deg,#e6b769,#ff7a3d);color:#1a1025;border:none;font-weight:700;font-size:0.84rem;border-radius:10px;cursor:pointer;box-shadow:0 4px 16px rgba(230,183,105,0.3);white-space:nowrap;}
.sm-btn-start:hover{filter:brightness(1.08);}
.sm-btn-stop{padding:11px 18px;background:rgba(255,255,255,0.06);color:var(--text);border:1px solid rgba(255,255,255,0.12);font-weight:600;font-size:0.84rem;border-radius:10px;cursor:pointer;white-space:nowrap;}

/* Main grid */
.sm-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start;}

/* Dragon stage */
.sm-stage{position:relative;background:linear-gradient(180deg,rgba(26,37,80,0.35) 0%,rgba(7,11,24,0.65) 100%);border:1px solid rgba(255,255,255,0.08);border-radius:20px;overflow:hidden;aspect-ratio:3/2;box-shadow:0 16px 48px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.05);display:flex;align-items:center;justify-content:center;}
.sm-stage canvas{transition:transform 40ms;}

/* State pill */
.sm-state-pill{position:absolute;top:14px;left:16px;z-index:3;display:flex;align-items:center;gap:8px;padding:7px 12px;background:rgba(0,0,0,0.52);border:1px solid rgba(122,211,165,0.25);border-radius:999px;backdrop-filter:blur(10px);transition:border-color 0.4s;}
.sm-state-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background 0.4s,box-shadow 0.4s;}
.sm-state-name{font-family:'Cinzel',serif;font-weight:700;font-size:0.82rem;line-height:1;transition:color 0.4s;}
.sm-state-sub{font-size:0.58rem;color:#6d7494;font-family:monospace;letter-spacing:1px;margin-top:2px;}

/* Awake glow */
.sm-awake-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 60%,rgba(255,74,74,0.22) 0%,transparent 55%);pointer-events:none;opacity:0;transition:opacity 0.3s;}

/* Stage hint */
.sm-stage-hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:9px 16px;background:rgba(0,0,0,0.62);border:1px solid rgba(255,255,255,0.1);border-radius:999px;font-size:0.76rem;color:#b9bccc;backdrop-filter:blur(10px);white-space:nowrap;}
.sm-stage-hint strong{color:#f5d58a;}

/* Sidebar */
.sm-sidebar{display:flex;flex-direction:column;gap:12px;}
.sm-panel{padding:15px 17px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;}
.sm-panel-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.sm-panel-label{font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;color:#6d7494;font-family:monospace;}

/* Score */
.sm-reset-btn{font-size:0.6rem;font-family:monospace;background:transparent;border:1px solid rgba(255,255,255,0.1);color:#b9bccc;padding:3px 8px;border-radius:5px;cursor:pointer;}
.sm-reset-btn:hover{background:rgba(255,255,255,0.07);}
.sm-score-row{display:flex;align-items:baseline;gap:6px;margin-bottom:8px;}
.sm-score-num{font-family:'Cinzel Decorative',serif;font-weight:900;font-size:2.6rem;line-height:1;transition:color 0.6s;font-variant-numeric:tabular-nums;}
.sm-score-max{font-size:1rem;color:#6d7494;font-family:'Cinzel',serif;}
.sm-score-bar-track{height:6px;background:rgba(0,0,0,0.4);border-radius:3px;overflow:hidden;}
.sm-score-bar-fill{height:100%;border-radius:3px;transition:width 0.3s ease,background 0.6s;}
.sm-awake-warn{margin-top:10px;padding:7px 10px;background:rgba(255,74,74,0.14);border:1px solid rgba(255,74,74,0.4);border-radius:7px;font-size:0.65rem;color:#ffb7b7;font-family:monospace;letter-spacing:0.5px;}

/* Threshold */
.sm-thr-pct{font-family:'Cinzel',serif;font-size:1.1rem;font-weight:700;color:#e6b769;}
.sm-thr-track-wrap{position:relative;height:36px;margin-bottom:6px;}
.sm-thr-live{position:absolute;left:0;top:14px;bottom:14px;border-radius:4px;transition:width 60ms linear,background 200ms;pointer-events:none;opacity:0.55;}
.sm-thr-range{position:absolute;inset:0;width:100%;height:100%;appearance:none;-webkit-appearance:none;background:transparent;margin:0;cursor:pointer;}
.sm-thr-range::-webkit-slider-runnable-track{height:8px;background:rgba(0,0,0,0.4);border-radius:4px;border:1px solid rgba(255,255,255,0.06);}
.sm-thr-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#f5d58a,#e6b769);border:2px solid #1a1025;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.4);margin-top:-7px;}
.sm-thr-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#f5d58a,#e6b769);border:2px solid #1a1025;cursor:pointer;}
.sm-thr-labels{display:flex;justify-content:space-between;font-size:0.56rem;color:#6d7494;font-family:monospace;letter-spacing:1px;margin-bottom:10px;}
.sm-presets{display:flex;gap:5px;flex-wrap:wrap;}
.sm-preset-btn{flex:1;min-width:0;padding:6px 4px;font-size:0.62rem;font-family:inherit;font-weight:500;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);color:#b9bccc;border-radius:7px;cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.sm-preset-btn:hover{background:rgba(255,255,255,0.07);}
.sm-preset-btn.sm-preset-active{background:rgba(230,183,105,0.18);border-color:#e6b769;color:#f5d58a;}

/* Vertical meter */
.sm-meter-panel{}
.sm-meter-inner{display:flex;align-items:flex-end;gap:14px;}
.sm-vbar-wrap{position:relative;width:16px;height:120px;background:rgba(0,0,0,0.4);border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,0.06);flex-shrink:0;}
.sm-vbar-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#7ad3a5 0%,#e6b769 55%,#ff4a4a 100%);transition:height 60ms linear;}
.sm-vbar-thr{position:absolute;left:-3px;right:-3px;height:2px;background:#fff;box-shadow:0 0 5px rgba(255,255,255,0.7);pointer-events:none;transition:bottom 0.1s;}
.sm-meter-info{display:flex;flex-direction:column;gap:5px;}
.sm-meter-num{font-family:'Cinzel',serif;font-weight:700;font-size:1.8rem;line-height:1;transition:color 0.3s;}
.sm-meter-unit{font-size:0.85rem;color:#6d7494;}
.sm-meter-live{font-size:0.6rem;font-family:monospace;color:#6d7494;display:flex;align-items:center;gap:5px;}
.sm-live-dot{width:6px;height:6px;border-radius:50%;background:#6d7494;flex-shrink:0;}
.sm-live-dot-active{background:#7ad3a5;box-shadow:0 0 6px #7ad3a5;animation:sm-live-pulse 1.4s infinite;}
@keyframes sm-live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(1.3)}}

/* Tip */
.sm-tip-panel{padding:12px 14px;background:rgba(255,255,255,0.02);border:1px dashed rgba(255,255,255,0.08);border-radius:10px;font-size:0.7rem;color:#b9bccc;line-height:1.6;}
.sm-tip-label{font-size:0.56rem;letter-spacing:2px;text-transform:uppercase;color:#e6b769;font-family:monospace;margin-bottom:5px;}
.sm-tip-panel strong{color:var(--text);}

/* Alert message */
.sm-alert-msg{background:linear-gradient(135deg,#8B1010,#c0392b);color:#fff;border-radius:12px;padding:12px 18px;font-family:'Cinzel',serif;font-size:0.95rem;font-weight:700;text-align:center;animation:sm-msg-pop 0.3s cubic-bezier(0.34,1.56,0.64,1);margin-top:12px;}
@keyframes sm-msg-pop{0%{transform:scale(0.7);opacity:0}100%{transform:scale(1);opacity:1}}

/* Screen flash */
.sm-screen-flash-overlay{position:fixed;inset:0;background:rgba(160,20,10,0.38);pointer-events:none;z-index:9998;animation:sm-flash-anim 1.6s ease forwards;}
@keyframes sm-flash-anim{0%{opacity:0}18%{opacity:1}100%{opacity:0}}

/* Responsive */
@media(max-width:720px){
  .sm-main-grid{grid-template-columns:1fr;}
  .sm-stage{aspect-ratio:4/3;}
  .sm-header{flex-direction:column;align-items:stretch;}
  .sm-btn-start,.sm-btn-stop{width:100%;text-align:center;}
}

