html.fle-open{overflow:hidden}.fle-backdrop{position:fixed;z-index:29000;inset:0;padding:18px;overflow:auto;background:rgba(2,8,18,.86);backdrop-filter:blur(10px)}.fle-backdrop[hidden]{display:none!important}.fle-modal{width:min(1440px,100%);min-height:calc(100vh - 36px);margin:auto;color:#eef4ff;background:radial-gradient(circle at 85% 0,rgba(61,94,220,.18),transparent 28%),linear-gradient(155deg,#10213d,#071426 75%);border:1px solid rgba(125,153,210,.22);border-radius:24px;box-shadow:0 40px 110px rgba(0,0,0,.62);color-scheme:dark}.fle-modal>header{display:flex;justify-content:space-between;gap:20px;padding:24px 28px 18px;border-bottom:1px solid rgba(123,151,206,.16)}.fle-modal>header span{color:#6f96ff;font-size:10px;font-weight:900;letter-spacing:.14em}.fle-modal h2,.fle-modal h3,.fle-modal p{margin:0}.fle-modal>header h2{margin:5px 0;font-size:28px}.fle-modal>header p{color:#9cacbf;font-size:13px}.fle-modal>header button{width:42px;height:42px;color:#b7c5da;background:#152744;border:1px solid rgba(130,158,207,.2);border-radius:12px;font-size:26px}.fle-modal>nav{display:flex;gap:7px;padding:14px 28px 0}.fle-modal>nav button{padding:10px 15px;color:#94a5bd;background:transparent;border:1px solid transparent;border-radius:10px;font-weight:800}.fle-modal>nav button.is-active{color:#fff;background:rgba(64,101,220,.2);border-color:rgba(108,145,239,.35)}.fle-modal>main{padding:22px 28px 32px}.fle-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.fle-summary article{padding:16px;background:rgba(18,35,63,.8);border:1px solid rgba(124,151,201,.16);border-radius:14px}.fle-summary strong{display:block;font-size:24px}.fle-summary span{color:#9aabc1;font-size:11px}.fle-toolbar{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(135px,.55fr));gap:10px;margin-bottom:16px}.fle-toolbar input,.fle-toolbar select,.fle-form input,.fle-form textarea{width:100%;padding:12px;color:#eef4ff;background:#071426;border:1px solid rgba(124,151,201,.24);border-radius:10px;outline:0}.fle-study{max-width:940px;margin:auto}.fle-study>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fle-study>header span{color:#7da1ff;font-size:11px}.fle-study>header h3{margin-top:4px}.fle-card-actions{display:flex;gap:8px}.fle-card-actions button,.fle-library aside button{color:#7f90aa;background:#132541;border:1px solid rgba(127,153,205,.2);border-radius:9px}.fle-card-actions button.is-on,.fle-library aside button.is-on{color:#ffd45e;border-color:#ffd45e}.fle-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:420px;padding:30px;text-align:left;color:#f4f7fc;background:linear-gradient(145deg,#162b4c,#0d1d35);border:1px solid rgba(130,158,207,.25);border-radius:20px;box-shadow:0 22px 60px rgba(0,0,0,.34);transition:transform .3s ease}.fle-card:hover{transform:translateY(-3px)}.fle-card.is-flipped{background:linear-gradient(145deg,#244ba9,#315cff 65%,#5b48e8)}.fle-card small{color:#91adf8;font-weight:850}.fle-card h2{max-width:850px;margin:38px 0 22px;font-size:clamp(22px,2vw,34px);line-height:1.28;white-space:pre-wrap;overflow-wrap:anywhere}.fle-media{position:relative;max-width:650px;margin:auto}.fle-media img{display:block;max-width:100%;max-height:360px;border-radius:14px}.fle-mask{position:absolute;background:#0b1425;border:2px solid #6d91ff;border-radius:5px}.fle-mask.is-revealed{opacity:0}.fle-nav,.fle-rating{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:16px}.fle-nav button,.fle-rating button,.fle-create button,.fle-preview button{padding:10px 14px;color:#dbe5f5;background:#132744;border:1px solid rgba(122,150,203,.22);border-radius:10px;font-weight:800}.fle-rating button:hover,.fle-create button.primary{color:#fff;background:linear-gradient(135deg,#315efb,#5948ed)}.fle-hint{text-align:center;color:#98a8be;font-size:12px;margin-top:14px}.fle-create>form{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}.fle-form{display:grid;gap:14px}.fle-form label{display:grid;gap:7px;color:#aebbd0;font-size:12px;font-weight:750}.fle-form textarea{min-height:110px;resize:vertical}.fle-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fle-resource{padding:16px;background:rgba(15,31,55,.78);border:1px solid rgba(123,151,202,.18);border-radius:14px}.fle-form footer{display:flex;justify-content:flex-end;gap:10px}.fle-preview{padding:16px;background:rgba(17,34,61,.88);border:1px solid rgba(125,153,205,.2);border-radius:18px}.fle-preview>header{display:flex;justify-content:space-between;align-items:center}.fle-preview>header div{display:flex;gap:5px}.fle-preview button.is-active{color:#fff;background:#315efb}.fle-preview>article{min-height:360px;margin-top:14px;padding:22px;background:#0a172b;border:1px solid rgba(123,151,202,.2);border-radius:16px}.fle-preview article span{color:#7da1ff;font-size:10px}.fle-preview article h3{margin-top:42px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.fle-occlusion-editor{position:relative;margin-top:18px;user-select:none}.fle-occlusion-editor.is-adding{cursor:crosshair}.fle-occlusion-editor img{display:block;max-width:100%;border-radius:10px}.fle-occlusion-editor i{position:absolute;background:rgba(4,11,22,.9);border:2px solid #6f96ff}.fle-preview>small{display:block;margin-top:8px;color:#8fa0b7}.fle-library{display:grid;gap:10px}.fle-library article{display:flex;justify-content:space-between;gap:18px;padding:16px;background:rgba(17,34,61,.78);border:1px solid rgba(123,151,202,.16);border-radius:14px}.fle-library article span{color:#7da1ff;font-size:10px}.fle-library article h3{margin:6px 0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.fle-library article p{color:#9cadc2;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.fle-library aside{display:flex;align-items:center;gap:7px}.fle-library aside button{padding:8px}.fle-performance{max-width:820px;margin:auto}.fle-performance article{padding:24px;background:rgba(17,34,61,.82);border:1px solid rgba(123,151,202,.18);border-radius:18px}.fle-performance dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.fle-performance dl div{display:flex;justify-content:space-between;padding:12px;background:#0a172b;border-radius:10px}.fle-performance dt{color:#99a9bf}.fle-performance dd{font-weight:900}.fle-performance>p{margin-top:14px;color:#99a9bf;text-align:center}.fle-empty{padding:50px;text-align:center;color:#9aabc1}@media(max-width:1050px){.fle-summary{grid-template-columns:repeat(3,1fr)}.fle-toolbar{grid-template-columns:1fr 1fr}.fle-create>form{grid-template-columns:1fr}.fle-preview{order:-1}.fle-preview>article{min-height:220px}}@media(max-width:650px){.fle-backdrop{padding:0}.fle-modal{min-height:100vh;border-radius:0}.fle-modal>main,.fle-modal>header{padding-left:16px;padding-right:16px}.fle-modal>nav{padding-left:16px;overflow-x:auto}.fle-summary{grid-template-columns:repeat(2,1fr)}.fle-toolbar,.fle-two{grid-template-columns:1fr}.fle-card{min-height:330px;padding:20px}.fle-library article{flex-direction:column}.fle-library aside{flex-wrap:wrap}}

/* FLASHCARDS LEARNING UNIFIED V1-4 START */
.fle-share {
  display: flex;
  grid-template-columns: 22px 1fr;
  align-items: center;
  padding: 14px 16px;
  color: #e8efff;
  background: #09182d;
  border: 1px solid #29466e;
  border-radius: 12px;
}
.fle-share input { width: 18px; height: 18px; margin: 0; }
.fle-performance { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 18px; }
.fle-performance > article { min-width: 0; }
/* FLASHCARDS LEARNING UNIFIED V1-4 END */
/* FLASHCARDS_LEARNING_MEDIA_OCCLUSION_V1_6_START */
.fle-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.fle-file-list{display:grid;gap:5px;margin-top:10px;color:#92a4bd;font-size:11px}.fle-study-media{display:grid;width:100%;gap:12px;margin-top:8px}.fle-study-audio,.fle-preview-audio{width:min(100%,650px)}.fle-study-video,.fle-preview-video{display:block;width:min(100%,650px);max-height:360px;border-radius:14px;background:#030813}.fle-study-link{color:#8fb0ff;font-weight:800;text-decoration:none}.fle-occlusion-tools{display:grid;gap:7px;margin-top:12px;padding:12px;background:rgba(7,20,38,.7);border:1px solid rgba(123,151,202,.2);border-radius:12px}.fle-occlusion-tools p,.fle-occlusion-tools small{margin:0;color:#9cadc2;font-size:11px}.fle-occlusion-tools div{display:flex;flex-wrap:wrap;gap:7px}.fle-occlusion-tools button.is-active{color:#fff;background:#315efb}.fle-occlusion-editor.is-adding{outline:3px solid #315efb;outline-offset:3px;touch-action:none}.fle-occlusion-editor i{pointer-events:none}.fle-media .fle-mask{pointer-events:none}@media(max-width:650px){.fle-upload-grid{grid-template-columns:1fr}}
/* FLASHCARDS_LEARNING_MEDIA_OCCLUSION_V1_6_END */
\n
/* FLASHCARDS_V1_7_START */
.fle-occlusion-editor{cursor:crosshair;user-select:none}.fle-occlusion-drawing-guide{position:absolute;z-index:20;display:block;min-width:2px;min-height:2px;pointer-events:none;background:rgba(49,94,251,.28);border:2px dashed #b4c5ff;border-radius:4px;box-shadow:0 0 0 1px #0b1730,0 0 18px rgba(49,94,251,.5)}
/* FLASHCARDS_V1_7_END */
/* FLASHCARDS_INSTRUCTOR_MEDIA_RECORDER_TRANSCRIPTION_V1_8_START */
.fle-upload-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.fle-upload-grid button.is-recording{color:#fff;background:#c33737;border-color:#ef6262;animation:fle-record-pulse 1.2s ease-in-out infinite}.fle-transcription-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;background:rgba(7,20,38,.72);border:1px solid rgba(123,151,202,.22);border-radius:10px}.fle-transcription-row label{display:flex;align-items:center;gap:8px}.fle-transcription-row input{width:auto}.fle-transcription-help{margin:7px 0 0;color:#91a3bc;font-size:11px}.fle-file-list{display:grid;gap:5px;margin-top:10px}@keyframes fle-record-pulse{50%{box-shadow:0 0 0 5px rgba(195,55,55,.2)}}@media(max-width:900px){.fle-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.fle-upload-grid{grid-template-columns:1fr}.fle-transcription-row{align-items:stretch;flex-direction:column}}
/* FLASHCARDS_INSTRUCTOR_MEDIA_RECORDER_TRANSCRIPTION_V1_8_END */


/* FLASHCARDS_TRANSCRIPTION_DIRECTION_INVERSE_V1_10_START */
.fle-card-options{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);gap:14px;margin:4px 0 16px;padding:14px;background:rgba(7,20,38,.62);border:1px solid rgba(123,151,202,.22);border-radius:14px}
.fle-card-options fieldset{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:0;padding:10px 12px;border:1px solid rgba(123,151,202,.25);border-radius:11px}
.fle-card-options legend{padding:0 5px;color:#a9b9cf;font-size:11px;font-weight:800}
.fle-card-options fieldset label{display:flex;align-items:center;gap:7px}
.fle-card-options input[type="radio"]{width:auto;margin:0}
.fle-study-direction{display:inline-flex;margin-top:5px;padding:4px 8px;color:#9cb4dc;font-size:10px;font-weight:800;background:rgba(49,94,251,.12);border:1px solid rgba(104,139,255,.22);border-radius:999px}
@media(max-width:760px){.fle-card-options{grid-template-columns:1fr}}
/* FLASHCARDS_TRANSCRIPTION_DIRECTION_INVERSE_V1_10_END */


/* FLASHCARDS_TRANSCRIPTION_AUTO_TARGET_STATUS_V1_11_START */
.fle-card-options-single {
  grid-template-columns: minmax(220px, 430px);
}

.fle-form textarea.is-transcription-target {
  border-color: #4f7dff;
  box-shadow:
    0 0 0 3px rgba(49, 94, 251, 0.16);
}

.fle-transcription-status {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  margin: 8px 0 0;
  color: #9fb0c8;
  font-size: 12px;
  font-weight: 700;
}

.fle-transcription-status::before {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  content: "";
  background: #64748b;
  border-radius: 50%;
}

.fle-transcription-status[data-state="listening"] {
  color: #b9c9ff;
}

.fle-transcription-status[data-state="listening"]::before {
  background: #4f7dff;
  box-shadow: 0 0 0 5px rgba(79, 125, 255, 0.15);
  animation: fle-transcription-pulse 1.1s ease-in-out infinite;
}

.fle-transcription-status[data-state="recording"] {
  color: #ffc4c4;
}

.fle-transcription-status[data-state="recording"]::before {
  background: #ef4444;
  box-shadow: 0 0 0 5px rgba(239, 68, 68, 0.14);
  animation: fle-transcription-pulse 1.1s ease-in-out infinite;
}

.fle-transcription-status[data-state="error"] {
  color: #ffb4b4;
}

.fle-transcription-status[data-state="error"]::before {
  background: #ef4444;
}

[data-fle-transcribe-voice].is-listening {
  color: #ffffff;
  background: #315efb;
  border-color: #7594ff;
}

@keyframes fle-transcription-pulse {
  50% {
    transform: scale(1.22);
    opacity: 0.68;
  }
}
/* FLASHCARDS_TRANSCRIPTION_AUTO_TARGET_STATUS_V1_11_END */


/* FLASHCARDS_TRANSCRIPTION_LIVE_RESULTS_V1_12_START */
.fle-transcription-status[data-state="listening"]::after {
  content: "O texto aparece durante a fala e é confirmado ao pausar ou parar.";
  margin-left: 4px;
  color: #8295b2;
  font-size: 10px;
  font-weight: 600;
}
/* FLASHCARDS_TRANSCRIPTION_LIVE_RESULTS_V1_12_END */


/* FLASHCARDS_TRANSCRIPTION_EDGE_SESSION_FIX_V1_12_1_START */
.fle-transcription-status[data-state="starting"] {
  color: #d2dcff;
}

.fle-transcription-status[data-state="starting"]::before {
  background: #f59e0b;
  box-shadow: 0 0 0 5px rgba(245, 158, 11, 0.14);
  animation: fle-transcription-pulse 0.9s ease-in-out infinite;
}
/* FLASHCARDS_TRANSCRIPTION_EDGE_SESSION_FIX_V1_12_1_END */


/* FLASHCARDS_LEARNING_TOUCH_TARGETS_V2_START
 * A superfície que vira o card termina antes da mídia. O áudio recebe um
 * botão próprio grande, além dos controles nativos, sem sobrepor o flip.
 */
.fle-card {
  cursor: default;
}

.fle-card-flip-surface {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 230px;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.fle-card-flip-surface:focus-visible {
  outline: 3px solid rgba(111, 150, 255, 0.9);
  outline-offset: 5px;
  border-radius: 14px;
}

.fle-study-media {
  position: relative;
  z-index: 4;
  width: 100%;
  pointer-events: auto;
  cursor: default;
}

.fle-audio-player {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  box-sizing: border-box;
  width: min(100%, 700px);
  min-height: 72px;
  padding: 7px 10px;
  background: rgba(5, 14, 28, 0.35);
  border: 1px solid rgba(125, 153, 205, 0.18);
  border-radius: 18px;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.fle-audio-play-button {
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  width: 58px;
  height: 58px;
  min-width: 58px;
  min-height: 58px;
  padding: 0;
  color: #fff;
  font: 900 25px/1 system-ui, sans-serif;
  background: linear-gradient(145deg, #315efb, #2447ba);
  border: 1px solid rgba(158, 184, 255, 0.62);
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(23, 57, 159, 0.4);
  cursor: pointer;
  place-items: center;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.fle-audio-play-button span {
  transform: translateX(2px);
}

.fle-audio-play-button.is-playing span {
  transform: none;
  letter-spacing: -0.18em;
}

.fle-audio-play-button:focus-visible {
  outline: 3px solid #b8c8ff;
  outline-offset: 3px;
}

.fle-study-audio,
.fle-preview-audio {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 54px;
  height: 54px;
  pointer-events: auto;
  touch-action: manipulation;
}

@media (pointer: coarse), (max-width: 900px) {
  .fle-audio-player {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 10px;
    min-height: 86px;
    padding: 9px;
  }

  .fle-audio-play-button {
    width: 68px;
    height: 68px;
    min-width: 68px;
    min-height: 68px;
    font-size: 30px;
  }

  .fle-study-audio,
  .fle-preview-audio {
    min-height: 58px;
    height: 58px;
  }
}

@media (max-width: 460px) {
  .fle-audio-player {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .fle-audio-play-button {
    width: 64px;
    height: 64px;
    min-width: 64px;
    min-height: 64px;
  }
}
/* FLASHCARDS_LEARNING_TOUCH_TARGETS_V2_END */

/* FLASHCARDS_PERFORMANCE_MINIMAL_V2_START */
/* Desempenho: conteúdo contido, alinhado e minimalista. */
.fle-performance {
  width: min(100%, 980px);
  max-width: 980px;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  align-items: start;
  gap: 18px;
}

.fle-performance > article {
  min-width: 0;
  padding: 22px;
  overflow: hidden;
  border-color: rgba(123,151,202,.18);
  background: linear-gradient(155deg, rgba(18,37,66,.86), rgba(12,27,49,.88));
  box-shadow: 0 18px 42px rgba(2,8,23,.16), inset 0 1px 0 rgba(255,255,255,.025);
}

.fle-performance > article h3 {
  margin-bottom: 14px;
  font-size: 18px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.fle-performance dl {
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.fle-performance dl div {
  min-width: 0;
  min-height: 64px;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  overflow: hidden;
  border: 1px solid rgba(118,148,202,.10);
  background: rgba(7,20,38,.70);
}

.fle-performance dt {
  min-width: 0;
  max-width: calc(100% - 54px);
  color: #a7b5c9;
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.fle-performance dd {
  flex: 0 0 auto;
  max-width: 92px;
  margin: 0;
  overflow: hidden;
  color: #f3f7ff;
  font-size: 15px;
  line-height: 1.2;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fle-performance > p {
  align-self: start;
  max-width: 420px;
  margin: 14px auto 0;
  padding: 14px 18px;
  border: 1px solid rgba(123,151,202,.10);
  border-radius: 14px;
  background: rgba(8,22,40,.42);
  color: #a8b6c9;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

/* Resumo superior: números e legendas nunca ultrapassam os cards. */
.fle-summary {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.fle-summary article {
  min-width: 0;
  overflow: hidden;
}

.fle-summary strong,
.fle-summary span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fle-summary strong {
  white-space: nowrap;
}

.fle-summary span {
  display: -webkit-box;
  margin-top: 6px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .fle-performance {
    grid-template-columns: 1fr;
  }
  .fle-performance > p {
    max-width: 620px;
  }
}

@media (max-width: 650px) {
  .fle-performance > article {
    padding: 16px;
  }
  .fle-performance dl {
    grid-template-columns: 1fr;
  }
  .fle-performance dl div {
    min-height: 58px;
  }
  .fle-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* FLASHCARDS_PERFORMANCE_MINIMAL_V2_END */

/* FLASHCARDS_COPY_CARD_IMAGE_V1_START */
.fle-nav-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: end;
  gap: 14px;
  width: 100%;
  margin-top: 16px;
}

.fle-nav-row > .fle-nav {
  grid-column: 2;
  margin-top: 0;
}

.fle-study-quick-actions {
  position: relative;
  z-index: 12;
  grid-column: 3;
  display: flex;
  align-items: center;
  gap: 9px;
  justify-self: end;
}

.fle-copy-control {
  position: relative;
}

.fle-copy-launch,
.fle-edit-current,
.fle-delete-current,
.fle-copy-menu button {
  appearance: none;
  -webkit-appearance: none;
  color: #e4ecfa;
  background: #132744;
  border: 1px solid rgba(131, 161, 220, .30);
  border-radius: 10px;
  font: 800 13px/1.2 Inter, system-ui, sans-serif;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.fle-copy-launch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}

.fle-edit-current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}

.fle-delete-current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 14px;
  color: #d7dee9;
  background: #283241;
  border-color: rgba(178, 189, 205, .32);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}

.fle-copy-launch:hover,
.fle-edit-current:hover,
.fle-delete-current:hover,
.fle-copy-menu button:hover {
  color: #fff;
  border-color: rgba(119, 154, 255, .68);
  background: #19345c;
}

.fle-delete-current:hover {
  color: #fff;
  background: #364253;
  border-color: rgba(203, 212, 225, .58);
}

.fle-copy-launch:disabled,
.fle-delete-current:disabled {
  opacity: .58;
  cursor: progress;
}

.fle-copy-launch:focus-visible,
.fle-edit-current:focus-visible,
.fle-delete-current:focus-visible,
.fle-copy-menu button:focus-visible {
  outline: 3px solid rgba(111, 150, 255, .72);
  outline-offset: 3px;
}

.fle-copy-launch > span,
.fle-edit-current > span,
.fle-delete-current > span,
.fle-copy-menu button > span {
  color: #9eb7ff;
  font-size: 17px;
  line-height: 1;
}

.fle-delete-current > span {
  color: #c5ceda;
}

.fle-copy-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 11px);
  display: grid;
  width: 235px;
  overflow: hidden;
  color: #eef4ff;
  background: rgba(8, 24, 46, .98);
  border: 1px solid rgba(131, 161, 220, .36);
  border-radius: 14px;
  box-shadow: 0 24px 55px rgba(0, 0, 0, .48);
  backdrop-filter: blur(16px);
  animation: fle-copy-menu-enter 150ms ease-out both;
}

.fle-copy-menu::after {
  position: absolute;
  right: 18px;
  bottom: -7px;
  width: 12px;
  height: 12px;
  background: #08182e;
  border-right: 1px solid rgba(131, 161, 220, .36);
  border-bottom: 1px solid rgba(131, 161, 220, .36);
  content: "";
  transform: rotate(45deg);
}

.fle-copy-menu button {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 48px;
  padding: 0 16px;
  text-align: left;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(131, 161, 220, .12);
  border-radius: 0;
}

.fle-copy-menu small {
  position: relative;
  z-index: 1;
  display: block;
  padding: 12px 16px;
  color: #91a4bf;
  font-size: 11px;
  line-height: 1.3;
}

@keyframes fle-copy-menu-enter {
  from { opacity: 0; transform: translateY(5px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 650px) {
  .fle-nav-row {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .fle-nav-row > .fle-nav,
  .fle-study-quick-actions {
    grid-column: 1;
    justify-self: center;
  }

  .fle-study-quick-actions {
    flex-wrap: wrap;
    justify-content: center;
  }

  .fle-copy-menu {
    right: 50%;
    transform-origin: bottom center;
    translate: 50% 0;
  }

  .fle-copy-menu::after {
    right: calc(50% - 6px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .fle-copy-menu { animation-duration: 1ms; }
}
/* FLASHCARDS_COPY_CARD_IMAGE_V1_END */

/* FLASHCARDS_LAST_RATING_LAYOUT_V1_START */
.fle-study-footer {
  display: grid;
  justify-items: center;
  width: 100%;
  margin-top: 18px;
}

.fle-study-footer .fle-nav-row {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 0;
}

.fle-study-footer .fle-nav-row > .fle-nav {
  margin: 0;
}

.fle-study-footer .fle-study-quick-actions {
  grid-column: auto;
  display: grid;
  grid-template-columns: repeat(3, 126px);
  align-items: stretch;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin-top: 22px;
  justify-self: center;
}

.fle-study-footer .fle-study-quick-actions > button,
.fle-study-footer .fle-study-quick-actions > .fle-copy-control,
.fle-study-footer .fle-copy-launch,
.fle-study-footer .fle-edit-current,
.fle-study-footer .fle-delete-current {
  width: 100%;
  min-width: 112px;
  min-height: 44px;
  white-space: nowrap;
}

.fle-study-footer .fle-copy-launch,
.fle-study-footer .fle-edit-current,
.fle-study-footer .fle-delete-current {
  padding-inline: 16px;
}

.fle-study-footer .fle-rating {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(126, 153, 205, .17);
}

.fle-study-footer .fle-rating > span {
  margin-right: 4px;
  color: #b8c5d8;
  font-weight: 700;
}

.fle-study-footer .fle-rating button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.fle-study-footer .fle-rating button.is-selected,
.fle-study-footer .fle-rating button.is-selected:hover {
  color: #2c2207;
  background: linear-gradient(145deg, #ffd866, #eebc32);
  border-color: #f6c84c;
  box-shadow: 0 0 0 2px rgba(246, 200, 76, .13), 0 9px 23px rgba(0, 0, 0, .20);
}

.fle-rating-marker {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  background: #5a4307;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(255, 215, 95, .14);
}

.fle-study-footer .fle-hint {
  width: 100%;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(126, 153, 205, .13);
}

@media (max-width: 650px) {
  .fle-study-footer .fle-study-quick-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 18px;
  }

  .fle-study-footer .fle-study-quick-actions > button,
  .fle-study-footer .fle-study-quick-actions > .fle-copy-control,
  .fle-study-footer .fle-copy-launch,
  .fle-study-footer .fle-edit-current,
  .fle-study-footer .fle-delete-current {
    min-width: 0;
  }

  .fle-study-footer .fle-copy-launch,
  .fle-study-footer .fle-edit-current,
  .fle-study-footer .fle-delete-current {
    padding-inline: 8px;
    font-size: 12px;
  }

  .fle-study-footer .fle-rating {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .fle-study-footer .fle-rating > span {
    grid-column: 1 / -1;
    margin: 0 0 3px;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fle-study-footer .fle-rating button { transition: none; }
}
/* FLASHCARDS_LAST_RATING_LAYOUT_V1_END */


/* FLASHCARDS_OWN_STUDY_TIMER_V2_START */
/*
 * Desktop: título | cronômetro | fechar, com colunas laterais simétricas.
 * Isso mantém o cronômetro matematicamente centralizado no cabeçalho.
 */
.fle-modal > header {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 20px;
}

.fle-modal > header > .fle-modal-heading-copy {
  min-width: 0;
  grid-column: 1;
}

.fle-modal > header > [data-fle-close] {
  grid-column: 3;
  justify-self: end;
  align-self: start;
}

.fle-study-timer {
  box-sizing: border-box;
  display: flex;
  grid-column: 2;
  align-items: center;
  justify-content: center;
  justify-self: center;
  width: max-content;
  max-width: min(100%, 430px);
  min-height: 40px;
  margin: 0;
  padding: 5px 7px 5px 11px;
  gap: 8px;
  border: 1px solid rgba(112, 146, 207, 0.2);
  border-radius: 999px;
  background: rgba(10, 25, 47, 0.72);
  box-shadow: 0 8px 24px rgba(2, 8, 23, 0.12);
}

.fle-modal > header .fle-study-timer-label {
  color: #8398b8;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.11em;
  white-space: nowrap;
}

.fle-study-timer > strong {
  min-width: 76px;
  color: #eef4ff;
  font-size: 14px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.035em;
  text-align: center;
}

.fle-study-timer[data-running="true"] > strong {
  color: #a9c2ff;
}

.fle-study-timer-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.fle-modal > header .fle-study-timer-actions button {
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 28px;
  padding: 5px 9px;
  color: #b8c6db;
  background: rgba(20, 40, 72, 0.76);
  border: 1px solid rgba(121, 151, 207, 0.18);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

.fle-modal > header .fle-study-timer-actions button[data-fle-timer-start]:not(:disabled) {
  color: #eaf1ff;
  background: rgba(49, 94, 251, 0.24);
  border-color: rgba(103, 139, 255, 0.34);
}

.fle-modal > header .fle-study-timer-actions button:hover:not(:disabled) {
  color: #ffffff;
  background: rgba(38, 67, 116, 0.92);
  border-color: rgba(119, 153, 224, 0.42);
}

.fle-modal > header .fle-study-timer-actions button:disabled {
  opacity: 0.38;
  cursor: default;
}

/* Em telas estreitas, evita sobrepor título e fechar. */
@media (max-width: 900px) {
  .fle-modal > header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .fle-modal > header > .fle-modal-heading-copy {
    grid-column: 1;
    grid-row: 1;
  }

  .fle-modal > header > [data-fle-close] {
    grid-column: 2;
    grid-row: 1;
  }

  .fle-modal > header > .fle-study-timer {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: center;
    margin-top: 10px;
  }
}

@media (max-width: 650px) {
  .fle-study-timer {
    width: min(100%, 430px);
    flex-wrap: wrap;
    padding: 8px 10px;
    border-radius: 14px;
  }

  .fle-study-timer-actions {
    justify-content: center;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fle-modal > header .fle-study-timer-actions button {
    transition: none;
  }
}
/* FLASHCARDS_OWN_STUDY_TIMER_V2_END */

/* FLASHCARDS_MODAL_BACK_V1_START */
/* Botão "Voltar" do painel de Flashcards: pílula em linha própria acima do título, sem herdar o quadrado 42x42 do "×". */
.fle-modal > header .fle-modal-back {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  height: 34px;
  min-width: 0;
  margin: 0 0 12px;
  padding: 0 14px 0 12px;
  color: #dbe7fb;
  background: rgba(21, 39, 68, 0.92);
  border: 1px solid rgba(130, 158, 207, 0.30);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

.fle-modal > header .fle-modal-back:hover {
  color: #ffffff;
  background: rgba(38, 67, 116, 0.95);
  border-color: rgba(119, 153, 224, 0.55);
}

.fle-modal > header .fle-modal-back:focus-visible {
  outline: 2px solid rgba(91, 141, 255, 0.85);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .fle-modal > header .fle-modal-back {
    transition: none;
  }
}
/* FLASHCARDS_MODAL_BACK_V1_END */

/* NEXUS_FLE_PASTE_IMAGE_V1_START */
.fle-form .fle-face-image{display:inline-flex;align-items:center;gap:10px;justify-self:start;max-width:100%;margin-top:-6px;padding:5px 6px 5px 5px;color:#cfe0ff;background:rgba(49,94,251,.14);border:1px solid rgba(111,140,255,.38);border-radius:12px;font-size:12px}
.fle-form .fle-face-image img{width:44px;height:44px;object-fit:cover;border-radius:8px;background:#071426}
.fle-form .fle-face-image b{font-weight:750}
.fle-form .fle-face-image button{width:26px;height:26px;padding:0;line-height:1;border-radius:999px;font-size:16px;cursor:pointer}
/* NEXUS_FLE_PASTE_IMAGE_V1_END */

/* NEXUS_FLE_FRAMES_V1_START */
.fle-answer-field{position:relative;display:grid}
.fle-answer-field textarea{padding-bottom:34px}
.fle-answer-field .fle-frame-capture{position:absolute;right:28px;bottom:9px;display:inline-grid;place-items:center;width:24px;height:24px;padding:0;color:#8ea6d2;background:transparent;border:0;border-radius:7px;opacity:.5;cursor:pointer;transition:opacity .15s ease,background .15s ease}
.fle-answer-field .fle-frame-capture:hover,.fle-answer-field .fle-frame-capture:focus-visible{opacity:1;background:rgba(124,151,201,.2)}
.fle-answer-field .fle-frame-capture:disabled{opacity:.2;cursor:default;background:transparent}
.fle-frames{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px}
.fle-form .fle-frames{margin-top:-6px}
.fle-preview .fle-frames{margin-top:12px}
.fle-frames .fle-frame-item{position:relative;display:inline-block}
.fle-frames .fle-frame{display:block;box-sizing:border-box;width:32px;height:32px;padding:0;overflow:hidden;background:#071426;border:1px solid rgba(255,255,255,.4);border-radius:8px;cursor:pointer;transition:transform .12s ease,border-color .12s ease}
.fle-frames .fle-frame:hover,.fle-frames .fle-frame:focus-visible{transform:translateY(-1px);border-color:#ffffff}
.fle-frames .fle-frame img{display:block;width:100%;height:100%;object-fit:cover}
.fle-frames .fle-frame-x{position:absolute;top:-6px;right:-6px;display:none;place-items:center;width:16px;height:16px;padding:0;color:#fff;background:#243a63;border:1px solid rgba(255,255,255,.5);border-radius:999px;font-size:12px;line-height:1;cursor:pointer}
.fle-frames .fle-frame-item:hover .fle-frame-x,.fle-frames .fle-frame-x:focus-visible{display:grid}
.fle-frame-viewer{position:fixed;inset:0;z-index:2147483100;display:grid;place-items:center;padding:18px;background:rgba(2,8,20,.88);cursor:zoom-out}
.fle-frame-viewer img{max-width:94vw;max-height:92vh;object-fit:contain;background:#fff;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.6)}
.fle-frame-viewer .fle-frame-viewer-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;padding:0;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:20px;line-height:1;cursor:pointer}
.fle-snip{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;background:#020814;user-select:none;-webkit-user-select:none;touch-action:none}
.fle-snip-stage{position:relative;line-height:0;cursor:crosshair}
.fle-snip-canvas{display:block;width:auto;height:auto;max-width:100vw;max-height:100vh}
.fle-snip-box{position:absolute;box-sizing:border-box;border:2px solid #6f9bff;background:rgba(111,155,255,.12);box-shadow:0 0 0 9999px rgba(2,8,20,.55);pointer-events:none}
.fle-snip-hint{position:fixed;top:12px;left:50%;transform:translateX(-50%);padding:5px 12px;color:#dbe6ff;background:rgba(2,8,20,.78);border:1px solid rgba(151,177,232,.3);border-radius:999px;font:600 12px/1.4 system-ui,sans-serif;pointer-events:none}
/* NEXUS_FLE_FRAMES_V1_END */
