/* 토익 단어학습 — 고유 레이아웃만 (박스/버튼/배경은 style_tools_base.css 통일) */
.wrap{ max-width:100%; padding:0 0 70px; }

.to-head{ margin-bottom:20px; }
.to-title{ font-size:38px; font-weight:800; margin:0; letter-spacing:-.02em; }
.to-sub{ margin:8px 0 0; color:#6b7280; font-size:13px; }

.to-ctrl{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:18px; }
.to-sel{ padding:10px 14px; border:1.5px solid #e5e7eb; border-radius:10px; font-size:14px; font-weight:600; }
.to-modes{ display:flex; gap:7px; }
.to-mode{ padding:9px 16px; border:1.5px solid #e5e7eb; background:#fff; font-size:13px; font-weight:700; color:#6b7280; cursor:pointer; border-radius:8px; }
.to-mode:hover{ border-color:#9ca3af; color:#111827; }
.to-mode.active{ background:#111827; color:#fff; border-color:#111827; }

.to-panel{ max-width:560px; }

/* 플래시카드 (3D flip) */
.to-flash{ perspective:1200px; cursor:pointer; margin-bottom:14px; }
.to-flash-inner{ position:relative; width:100%; height:230px; transition:transform .5s; transform-style:preserve-3d; }
.to-flash-inner.flip{ transform:rotateY(180deg); }
.to-face{ position:absolute; inset:0; backface-visibility:hidden; border:1.5px solid #e2e8f0; border-radius:16px; background:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:24px; text-align:center; }
.to-front .to-word{ font-size:40px; font-weight:800; color:#111827; }
.to-front .to-pos{ font-size:14px; color:#2563eb; font-weight:700; }
.to-back{ transform:rotateY(180deg); }
.to-back .to-mean{ font-size:26px; font-weight:800; color:#111827; }
.to-back .to-ex{ font-size:14px; color:#6b7280; font-style:italic; }

.to-flash-bar{ display:flex; align-items:center; gap:10px; }
.to-nav{ background:#f3f4f6; border:none; color:#374151; font-size:13px; font-weight:700; padding:9px 16px; cursor:pointer; border-radius:8px; }
.to-nav:hover{ background:#e5e7eb; }
.to-star{ background:none; border:none; font-size:24px; cursor:pointer; color:#cbd5e1; line-height:1; }
.to-star.on{ color:#f59e0b; }
.to-count{ font-size:13px; color:#6b7280; margin-left:auto; }
.to-hint{ text-align:center; font-size:12px; color:#9ca3af; margin:10px 0 0; }

/* 퀴즈 */
.to-q-word{ font-size:36px; font-weight:800; text-align:center; margin-bottom:22px; color:#111827; }
.to-q-word small{ font-size:15px; color:#2563eb; font-weight:700; }
.to-q-opts{ display:grid; gap:10px; margin-bottom:18px; }
.to-opt{ padding:14px 18px; border:1.5px solid #e5e7eb; background:#fff; font-size:15px; font-weight:600; color:#111827; cursor:pointer; border-radius:10px; text-align:left; }
.to-opt:hover:not(.done){ border-color:#2563eb; }
.to-opt.done{ cursor:default; }
.to-opt.correct{ background:#dcfce7; border-color:#16a34a; color:#15803d; }
.to-opt.wrong{ background:#fee2e2; border-color:#dc2626; color:#b91c1c; }
.to-q-bar{ display:flex; align-items:center; gap:12px; }
.to-q-score{ font-size:14px; font-weight:700; color:#111827; }
.to-q-bar .to-nav{ margin-left:auto; }

/* 즐겨찾기 */
.to-star-list{ display:grid; gap:9px; }
.to-star-item{ display:flex; align-items:center; justify-content:space-between; border:1.5px solid #e2e8f0; border-radius:12px; padding:13px 16px; background:#fff; }
.to-star-item b{ font-size:17px; font-weight:800; } .to-star-item small{ font-size:12px; color:#2563eb; font-weight:700; margin-left:5px; }
.to-star-item span{ display:block; font-size:13px; color:#6b7280; margin-top:3px; }
.to-unstar{ background:none; border:none; font-size:22px; color:#f59e0b; cursor:pointer; line-height:1; }
.to-empty{ color:#9ca3af; font-size:14px; text-align:center; padding:28px 0; }

@media (max-width:480px){ .to-title{ font-size:30px; } .to-q-word{ font-size:28px; } }
