.flashcard-config{margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.flashcard-config label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.flashcard-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-top:12px}
.flashcard-config select{width:100%;min-height:42px}
.flashcard-help{color:var(--muted);font-size:12px;line-height:1.65;margin:10px 0 0}
.flashcard-review-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;margin-bottom:12px;border-bottom:1px solid var(--line);text-align:left}
.flashcard-review-entry small{display:block;color:var(--muted);margin-top:4px}
.flashcard-player{max-width:700px;margin:0 auto;padding-bottom:35px}
.flashcard-player .quiz-session-toolbar{flex-wrap:wrap}
.flashcard-speed-settings{display:grid;gap:14px}
.flashcard-speed-settings label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.flashcard-speed-settings select{width:100%;min-height:42px}
.flashcard-speed-settings p{margin:0;font-size:12px;line-height:1.65}
.flashcard-player [hidden],.flashcard-config [hidden]{display:none!important}
.flashcard-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin:14px 0}
.flashcard-progress{width:100%;height:5px;accent-color:var(--accent);display:block;margin-bottom:18px}
.flashcard-stage.is-manual{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;align-items:center}
.flashcard-nav{box-sizing:border-box;width:40px;min-height:64px;padding:0;font-size:34px;line-height:1;border-radius:14px}
.flashcard-nav:disabled{opacity:.4;cursor:default}
.flashcard-nav:focus-visible,.flashcard-word-actions button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.flashcard-face{min-width:0}
.flashcard-face{padding:30px 22px 24px;border:1px solid var(--line);border-radius:20px;background:var(--card);text-align:center;box-shadow:0 6px 24px rgba(0,0,0,.04)}
.flashcard-kicker{font-size:11px;color:var(--muted);letter-spacing:.08em;margin-bottom:18px}
.flashcard-prompt{box-sizing:border-box;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;min-height:90px}
.flashcard-word-copy{width:100%;min-width:0}
.flashcard-word{font-size:clamp(30px,7vw,52px);font-weight:700;white-space:nowrap;overflow-wrap:normal;line-height:1.2;margin:0 0 8px}
.flashcard-word-text{display:inline-block;width:max-content}
.flashcard-pronunciation{margin:0;overflow-wrap:anywhere}
.flashcard-word-actions{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}
.flashcard-word-actions button{box-sizing:border-box;flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;margin:0}
.flashcard-hide-btn{font-size:18px}
.flashcard-hide-btn:disabled{opacity:.45;cursor:default}
.flashcard-meta>span{min-width:0;overflow-wrap:anywhere}
.flashcard-answer-space{min-height:120px;display:flex;flex-direction:column;justify-content:flex-start;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.flashcard-meaning{font-size:20px;line-height:1.65;margin:7px 0;overflow-wrap:anywhere}
.flashcard-meaning .badge{margin-right:8px;vertical-align:middle;color:var(--ink);background:#eee7d1;border:1px solid var(--card-edge)}
.flashcard-reveal-hint{color:var(--muted);line-height:1.7;margin-bottom:14px}
.flashcard-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:16px;font-size:12px;color:var(--muted)}
.flashcard-results{margin:18px 0;text-align:left}
.flashcard-result{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}
.flashcard-result small{display:block;color:var(--muted);line-height:1.6;margin-top:4px}
.flashcard-result{cursor:pointer;margin:0;color:var(--ink);font-size:14px;font-weight:400}
.flashcard-result-copy{display:block;min-width:0;overflow-wrap:anywhere}
.flashcard-retry-check{display:flex;align-items:center;gap:7px;flex-shrink:0;font-size:12px;color:var(--muted)}
.flashcard-retry-check input{width:20px;height:20px;margin:0;accent-color:var(--accent);cursor:pointer}
.flashcard-retry-check input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.flashcard-retry-info{font-size:13px;line-height:1.7;padding:12px;border:1px solid var(--card-edge);border-radius:10px;background:var(--surface);margin:16px 0 0}
.flashcard-review-hub{max-width:780px;margin:auto}
.flashcard-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}
.flashcard-review-heading h3{margin:0}
.flashcard-review-section-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.flashcard-review-section-heading h4{margin:0}
.flashcard-review-edit-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:12px;border:1px solid var(--card-edge);border-radius:10px;background:var(--surface);font-size:13px}
.flashcard-review-select{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:36px}
.flashcard-review-select input{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}
.flashcard-review-select span{overflow-wrap:anywhere}
.flashcard-removed-words{margin:0;padding-left:22px}
.flashcard-removed-words li{padding:8px 0;overflow-wrap:anywhere}
.flashcard-removed-words span,.flashcard-removed-words small{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.flashcard-review-card{padding:18px;border:1px solid var(--line);border-radius:14px;margin:12px 0;background:var(--card)}
.flashcard-review-card.is-due{border-left:4px solid var(--accent)}
.flashcard-review-title{font-weight:700;font-size:16px}
.flashcard-review-steps{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.flashcard-review-step{padding:5px 9px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--muted)}
.flashcard-review-step.done{color:var(--accent);background:var(--accent-soft)}
.flashcard-review-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.flashcard-review-actions small{color:var(--muted);font-size:12px}
.flashcard-review-hub details>summary{cursor:pointer;padding:16px 0;font-weight:700}
.flashcard-face,.flashcard-review-card,.flashcard-review-step,.flashcard-config,.flashcard-answer-space,.flashcard-result,.flashcard-review-entry{border-color:var(--card-edge)}
.flashcard-review-step.done{background:#eee7d1;color:var(--ink)}
@media(max-width:640px){.flashcard-prompt{min-height:120px}.flashcard-stage.is-manual{grid-template-columns:1fr 1fr;gap:12px}.flashcard-stage.is-manual .flashcard-face{grid-column:1/-1;grid-row:1}.flashcard-nav{width:48px;min-height:48px;grid-row:2}.flashcard-prev{justify-self:start}.flashcard-next{justify-self:end}}
@media(max-width:480px){.flashcard-face{padding:24px 14px 20px}.flashcard-answer-space{min-height:100px}.flashcard-meaning{font-size:18px}.flashcard-review-entry{align-items:flex-start}.flashcard-review-entry .btn{flex-shrink:0}}

/* A quiet, tactile deck. Palette changes stay within the active flashcard game. */
body:has(#panel-quiz.active .flashcard-player){overflow-x:clip}
body:has(#panel-quiz.active .flashcard-player) header.top,body:has(#panel-quiz.active .flashcard-player) #primaryTabsBar,body:has(#panel-quiz.active .flashcard-player) #tabsBoard{display:none}
body:has(#panel-quiz.active .flashcard-player){padding-top:24px}
body:has(#panel-quiz.active .flashcard-player) #previousTabBtn,body:has(#panel-quiz.active .flashcard-player) #nextTabBtn{display:none}
body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]){
  --card:#fff;--card-edge:#e7e9ed;--ink:#202328;--muted:#737780;--accent:#566c62;--accent-soft:#edf3ef;--line:#e7e9ed;
  background:#f7f8fa;color:var(--ink)
}
body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]) header.top h1{color:#262a30}
body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]) header.top .sub{color:#8a8e96}
body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]) .tab-btn{background:transparent;border-color:#e4e6eb;color:#767c85}
body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]) .tab-btn.active{background:#fff;border-color:#dfe3e8;color:#242b29;box-shadow:0 2px 6px #20232804}
body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]) .primary-tabs-sticky{background:#f7f8fa}
body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]) .study-stopwatch{background:#fff;border-color:#e4e6eb;color:#626b66}
body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]) .study-stopwatch-time,body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]) .study-stopwatch-control{color:#68746d}
body:has(#panel-quiz.active .flashcard-player[data-flashcard-theme="white"]) .header-tools .btn{color:#69716c;border-color:#dfe4e0;background:transparent}
#panel-quiz:has(.flashcard-player)>.card-box{background:transparent;border:0;box-shadow:none;padding:12px 18px 24px}
.flashcard-player{max-width:648px;padding-bottom:12px}
.flashcard-player[data-flashcard-theme="classic"]{--card:#fbf6ea;--card-edge:#e4d9b8;--ink:#22302b;--muted:#6d7b73;--accent:#c99a3b;--accent-ink:#4a3610;--line:#e4d9b8;padding:22px;border:1px solid #e4d9b8;border-radius:24px;background:#f5efdf;box-shadow:0 12px 40px #00000014}
.flashcard-player .quiz-session-toolbar{align-items:center;gap:8px;margin-bottom:26px}
.flashcard-player .quiz-session-toolbar .btn{border:1px solid var(--card-edge);background:transparent;color:var(--muted);border-radius:10px;padding:7px 11px;min-height:36px;font-size:12px}
.flashcard-theme-picker{display:flex;align-items:center;gap:7px;margin:0 auto 0 0;color:var(--muted);font-size:11px;font-weight:400}
.flashcard-theme-picker select{border:0;border-radius:8px;background:transparent;color:var(--ink);padding:7px 20px 7px 7px;font-size:12px;min-height:36px}
.flashcard-meta{font-size:11px;margin:0 0 9px;color:var(--muted)}
.flashcard-progress{height:3px;border:0;border-radius:4px;overflow:hidden;appearance:none;background:var(--card-edge);margin-bottom:24px}
.flashcard-progress::-webkit-progress-bar{background:var(--card-edge)}
.flashcard-progress::-webkit-progress-value{background:var(--accent);border-radius:4px;transition:width .25s ease}
.flashcard-progress::-moz-progress-bar{background:var(--accent);border-radius:4px}
.flashcard-kicker{margin:0 0 14px;letter-spacing:.03em;font-size:11px;text-align:center;color:var(--muted)}
.flashcard-stage,.flashcard-stage.is-manual{display:block;position:relative;isolation:isolate}
.flashcard-deck{position:relative;--swipe-progress:0}
.flashcard-stack-card{position:absolute;inset:0;border:1px solid var(--card-edge);border-radius:38px;background:var(--card);pointer-events:none;box-shadow:0 6px 18px #20232804}
.flashcard-stack-back{inset:0 19px;transform:translateY(22px);z-index:0}
.flashcard-stack-peek{inset:0;transform:translateY(calc(12px * (1 - var(--swipe-progress)))) scale(calc(.98 + .02 * var(--swipe-progress)));z-index:1;display:flex;align-items:center;justify-content:center;padding:30px;overflow:hidden}
.flashcard-stack-peek span{font-size:clamp(26px,5.5vw,42px);max-width:100%;overflow-wrap:anywhere;text-align:center;color:var(--ink)}
.flashcard-face{position:relative;z-index:2;display:flex;flex-direction:column;min-height:330px;padding:34px 32px 20px;border:1px solid #00000003;border-radius:38px;background:var(--card);text-align:center;box-shadow:0 10px 35px #20232806;transform-origin:50% 75%;will-change:transform;min-width:0}
.flashcard-face::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:var(--swipe-strength,0);transition:opacity .12s ease-out}
.flashcard-deck[data-swipe-choice="known"] .flashcard-face::after{background:radial-gradient(ellipse at center,#f7fcf8 0%,#d9f0df 100%)}
.flashcard-deck[data-swipe-choice="skip"] .flashcard-face::after{background:radial-gradient(ellipse at center,#fffaf6 0%,#fce0ca 100%)}
.flashcard-face:has(.flashcard-tap-target:focus-visible){outline:3px solid var(--accent);outline-offset:5px}
.flashcard-tap-target{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer;touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent;outline:none;user-select:none}
.flashcard-tap-target:disabled{cursor:default}
.flashcard-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.flashcard-prompt{flex:1;min-height:225px;gap:0;pointer-events:none}
.flashcard-word{font-size:clamp(30px,6vw,48px);font-weight:500;line-height:1.25;margin:0 0 12px;letter-spacing:-.025em}
.flashcard-answer-space{flex:1;min-height:0;margin:0;padding:0;border:0;justify-content:center;pointer-events:none}
.flashcard-face:not(.is-revealed) .flashcard-answer-space{display:none}
.flashcard-face.is-revealed .flashcard-prompt{flex:0;min-height:0;margin:0 0 16px}
.flashcard-face.is-revealed .flashcard-word{font-size:21px;font-weight:400;color:var(--muted);margin-bottom:5px;letter-spacing:0}
.flashcard-face.is-revealed .flashcard-answer-space{animation:flashcard-meaning-in .2s ease-out}
.flashcard-meaning{font-size:clamp(23px,4.2vw,33px);font-weight:500;line-height:1.5;margin:8px 0;letter-spacing:-.025em}
.flashcard-meaning .badge{display:block;width:max-content;margin:0 auto 7px;padding:2px 7px;font-size:10px;font-weight:400;border:0;background:transparent;color:var(--muted);letter-spacing:0}
.flashcard-reveal-hint{flex:0;margin:20px 0 0;font-size:11px;line-height:1.6;color:var(--muted);pointer-events:none;opacity:.8}
.flashcard-face.is-paused .flashcard-prompt,.flashcard-face.is-paused .flashcard-answer-space{opacity:.4}
.flashcard-example{position:relative;z-index:2;pointer-events:auto;margin:14px 0 0;padding:0 6px;text-align:left;font-size:13px;line-height:1.8;letter-spacing:0}
.flashcard-example summary{width:max-content;margin:0 auto;color:var(--muted);cursor:pointer;font-size:12px}
.flashcard-example .quiz-result-example{font-size:14px}
.flashcard-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:0 14px;margin-top:46px}
.flashcard-position-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-width:0}
.flashcard-position-group .flashcard-position{flex-shrink:0}
.flashcard-pronunciation{flex:1 1 70px;min-width:0;font-size:12px;line-height:1.5;font-weight:400;color:#8b9099}
.flashcard-position{font-size:19px;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.3}
.flashcard-position>span{color:var(--muted);font-size:16px}
.flashcard-position small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}
.flashcard-review-buttons{display:flex;gap:14px}
.flashcard-circle{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;padding:17px;border:1px solid var(--card-edge);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background .16s ease,transform .16s ease,border-color .16s ease}
.flashcard-circle svg{width:100%;height:100%}
.flashcard-circle:hover{background:#00000004;transform:translateY(-2px)}
.flashcard-known:hover{background:#eaf3ed;color:#3b7b55;border-color:#c9dfd0}
.flashcard-controls[data-swipe-choice="known"] .flashcard-known,.flashcard-controls[data-swipe-choice="skip"] .flashcard-skip{background:rgb(var(--swipe-rgb) / var(--swipe-strength));border-color:rgb(var(--swipe-rgb) / var(--swipe-strength));color:color-mix(in srgb,#fff calc(var(--swipe-strength) * 100%),var(--ink));transform:scale(calc(1 + var(--swipe-strength) * .08));box-shadow:0 4px 14px rgb(var(--swipe-rgb) / calc(var(--swipe-strength) * .12))}
.flashcard-controls[data-swipe-choice="known"]{--swipe-rgb:0 185 85}
.flashcard-controls[data-swipe-choice="skip"]{--swipe-rgb:242 137 63}
.flashcard-circle:active{transform:scale(.94)}
.flashcard-circle:disabled{opacity:.35;cursor:default;transform:none}
.flashcard-circle:focus-visible,.flashcard-tool:focus-visible,.flashcard-previous-link:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.flashcard-word-actions{justify-content:flex-end;gap:13px}
.flashcard-word-actions button,.flashcard-word-actions .game-favorite-btn{display:inline-flex;align-items:center;justify-content:center;width:35px;min-width:35px;height:40px;min-height:40px;padding:5px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}
.flashcard-word-actions .game-favorite-btn{font-size:28px;font-weight:400}
.flashcard-word-actions .game-favorite-btn.active{color:#b88c36;background:transparent;box-shadow:none}
.flashcard-word-actions button:hover{background:#00000004}
.flashcard-tool svg{width:27px;height:27px}
.flashcard-footer{gap:14px;margin-top:24px;font-size:10px;line-height:1.8;color:var(--muted)}
.flashcard-previous-link{padding:5px 8px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;cursor:pointer}
.flashcard-previous-link:disabled{opacity:.35;cursor:default}
@keyframes flashcard-meaning-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){
  #panel-quiz:has(.flashcard-player)>.card-box{padding:8px 0 20px}
  .flashcard-player .quiz-session-toolbar{gap:5px;margin-bottom:22px}
  .flashcard-player .quiz-session-toolbar .btn{font-size:11px;padding:7px 8px}
  .flashcard-face{min-height:310px;border-radius:30px;padding:28px 22px 18px}
  .flashcard-stack-card{border-radius:30px}
  .flashcard-prompt{min-height:215px}
  .flashcard-controls{padding:0 5px;gap:9px;margin-top:42px}
  .flashcard-circle{width:57px;height:57px;padding:15px}
  .flashcard-review-buttons{gap:10px}
  .flashcard-word-actions{gap:5px}
  .flashcard-footer{gap:8px;font-size:10px;margin-top:18px}
}
@media(max-width:380px){
  .flashcard-theme-picker>span{display:none}
  .flashcard-face{min-height:290px;padding:24px 17px 17px}
  .flashcard-circle{width:51px;height:51px;padding:13px}
  .flashcard-position{font-size:16px}.flashcard-position>span{font-size:13px}
  .flashcard-word-actions{gap:0}.flashcard-word-actions button,.flashcard-word-actions .game-favorite-btn{flex-basis:30px;width:30px;min-width:30px}
}
@media(prefers-reduced-motion:reduce){.flashcard-face,.flashcard-stack-card,.flashcard-circle,.flashcard-progress::-webkit-progress-value{transition:none!important}.flashcard-face.is-revealed .flashcard-answer-space{animation:none}}

/* ===== 3단계 스피드 암기 루틴 스타일 ===== */
.speed-player{max-width:640px;margin:0 auto;padding:12px 4px 36px;box-sizing:border-box}
.speed-session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.speed-badge-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:700;background:var(--accent-soft, #edf3ef);color:var(--accent, #426053);border:1px solid var(--card-edge, #e4e8e5)}
.speed-pill-retry{background:#fdf2e9;color:#b95b13;border-color:#f5d0b5}
.speed-toolbar-actions{display:flex;align-items:center;gap:6px}
.speed-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin-bottom:8px}
.speed-timer-track{width:100%;height:6px;background:var(--line, #e7e9ed);border-radius:6px;overflow:hidden;margin-bottom:18px}
.speed-timer-fill{height:100%;background:var(--accent, #426053);border-radius:6px;animation:speedTimerFill linear forwards}
.speed-timer-fill.is-paused{animation-play-state:paused!important}
@keyframes speedTimerFill{from{width:100%}to{width:0%}}

.speed-card{position:relative;background:var(--card, #fff);border:1px solid var(--card-edge, #e4e6eb);border-radius:20px;padding:32px 24px 28px;text-align:center;box-shadow:0 6px 20px rgba(0,0,0,0.04);transition:transform .15s ease,box-shadow .15s ease;user-select:none;-webkit-user-select:none}
.speed-stage1-card{cursor:pointer}
.speed-stage1-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.07)}
.speed-flashcard-interactive{cursor:pointer;min-height:260px;display:flex;flex-direction:column;justify-content:center}
.speed-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.speed-step-indicator{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:0.02em}
.speed-speak-btn{background:transparent;border:0;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}
.speed-speak-btn:hover{background:rgba(0,0,0,0.05);color:var(--ink)}
.speed-speak-btn svg{width:22px;height:22px}
.speed-word-box{margin:10px 0 16px}
.speed-word{font-size:clamp(32px, 8vw, 50px);font-weight:800;line-height:1.2;margin:0 0 8px;color:var(--ink);letter-spacing:-0.02em}
.speed-word-small{font-size:clamp(24px, 5vw, 32px);font-weight:800;margin:0 0 4px;color:var(--ink)}
.speed-pronunciation{font-size:19px;font-weight:700;color:var(--accent, #3f5d50);letter-spacing:0.02em;margin-top:4px}
.speed-pronunciation-small{font-size:15px;font-weight:700;color:var(--accent, #3f5d50)}
.speed-meaning-box{margin:18px 0;padding:14px;background:var(--surface, #f9fafb);border-radius:12px;border:1px solid var(--card-edge, #eef0f2);min-height:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}
.speed-meaning{font-size:20px;line-height:1.5;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.speed-meaning .badge{padding:3px 8px;border-radius:6px;font-size:12px;font-weight:700}
.speed-def-main{font-size:22px;color:var(--ink)}
.speed-def-item{font-size:18px;font-weight:600}
.speed-badge-first{font-size:11px;padding:2px 6px;border-radius:4px;background:#e9f2ee;color:#2e6b4e;font-weight:700}
.speed-meaning.is-polysemy{opacity:0.85;font-size:16px}
.speed-tap-hint{font-size:12px;color:var(--muted);margin-top:16px}

.speed-answer-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.speed-btn-answer{padding:14px 10px;font-size:16px;font-weight:800;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 4px 12px rgba(0,0,0,0.06)}
.speed-footer-actions{margin-top:14px}

.speed-guidelines{margin-top:20px;padding:14px 16px;border-radius:14px;background:var(--surface, #f9fafb);border:1px solid var(--card-edge, #eef0f2);display:flex;flex-direction:column;gap:8px;font-size:12.5px;line-height:1.6}
.speed-guide-strict{color:#c53030;font-weight:700}
.speed-guide-anchor{color:var(--ink)}
.speed-guide-polysemy{color:#2b6cb0;border-top:1px dashed var(--line, #e4e6eb);padding-top:6px;margin-top:2px}

/* 2단계 쿨다운 */
.speed-cooldown-card{padding:40px 24px 36px}
.speed-cooldown-icon{font-size:48px;line-height:1;margin-bottom:12px}
.speed-cooldown-title{font-size:22px;font-weight:800;margin:0 0 10px;color:var(--ink)}
.speed-cooldown-desc{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 28px}
.speed-countdown-circle{width:130px;height:130px;border-radius:50%;border:4px solid var(--accent, #426053);margin:0 auto 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--accent-soft, #f2f7f4);transition:all .3s ease}
.speed-countdown-circle.is-complete{border-color:#2b8a3e;background:#ebfbee}
.speed-countdown-number{font-size:46px;font-weight:900;line-height:1;color:var(--ink)}
.speed-countdown-unit{font-size:13px;font-weight:700;color:var(--muted);margin-top:2px}
.speed-cooldown-actions{display:flex;flex-direction:column;gap:6px;align-items:center}

/* 요약 / 완료 화면 */
.speed-summary-card{padding:36px 24px}
.speed-summary-icon{font-size:52px;line-height:1;margin-bottom:12px}
.speed-summary-stats{font-size:16px;margin:12px 0 16px;color:var(--muted)}
.speed-stat-pass{color:#2e6b4e;font-size:19px}
.speed-stat-fail{color:#c53030;font-size:19px}
.speed-summary-desc{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:24px}
.speed-summary-notice{font-size:13.5px;line-height:1.7;color:var(--ink);background:var(--surface, #f8f9fa);padding:14px;border-radius:12px;margin:16px 0 24px;border:1px solid var(--card-edge, #e4e6eb)}
.speed-celebration-box{background:var(--accent-soft, #edf3ef);border:1px solid var(--accent, #426053);border-radius:14px;padding:16px 20px;margin:20px 0 28px;text-align:left}
.speed-celebration-box p{margin:0 0 6px;color:var(--ink);font-size:15px}
.speed-celebration-box small{color:var(--muted);font-size:12.5px;line-height:1.6}

/* 메뉴 배너 카드 */
.speed-menu-banner{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:16px;background:linear-gradient(135deg, #f2f7f4 0%, #e8f0ec 100%);border:1px solid #d0ded6;margin-bottom:16px;text-align:left}
.speed-menu-banner-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.speed-menu-banner-head strong{font-size:17px;color:#1e382d}
.speed-menu-badge{font-size:11px;padding:3px 8px;border-radius:12px;background:#2d5744;color:#fff;font-weight:700}
.speed-menu-banner p{font-size:12.5px;color:#4a6357;line-height:1.6;margin:0}
.speed-menu-banner-actions{display:flex;align-items:center;gap:10px;margin-top:4px;flex-wrap:wrap}
.speed-menu-banner-actions select{min-height:38px;border-radius:10px;border:1px solid #c2d4cb;background:#fff;padding:0 12px;font-size:13px;font-weight:600}

@media(max-width:480px){
  .speed-card{padding:24px 16px 20px}
  .speed-word{font-size:32px}
  .speed-meaning{font-size:18px}
  .speed-btn-answer{font-size:14px;padding:12px 6px}
  .speed-countdown-circle{width:110px;height:110px}
  .speed-countdown-number{font-size:38px}
}

