/* V7.41.31 · inner-page top breathing room and optional explanation controls. */
.shell:not(.is-home):not(.is-broadcast) #main {padding-top:14px;}
@media(max-width:360px){.shell:not(.is-home):not(.is-broadcast) #main{padding-top:12px;}}
/* Headings remain visually same; only the small right-adjacent info glyph is new. */
.shell:not(.is-home):not(.is-broadcast) #main h3.magic-help-heading{
 display:flex;align-items:center;gap:7px;flex-wrap:wrap;
 margin-bottom:11px;
}
.shell:not(.is-home):not(.is-broadcast) #main .magic-help-button{
 appearance:none;display:inline-grid;place-items:center;flex-shrink:0;
 height:30px;width:30px;padding:0;border:0;border-radius:50%;
 background:transparent;color:#7899b6;font-size:18px;line-height:1;font-weight:500;
 cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.shell:not(.is-home):not(.is-broadcast) #main .magic-help-button:focus-visible{
 outline:2px solid #8fbbe0;outline-offset:2px;
}
.shell:not(.is-home):not(.is-broadcast) #main .magic-help-button[aria-expanded="true"]{
 background:#e6f2ff;color:#436f91;
}
.shell:not(.is-home):not(.is-broadcast) #main .magic-help-popover{
 position:absolute;z-index:15;top:45px;left:16px;right:16px;
 background:linear-gradient(150deg,#fff,#f5faff);
 border:1px solid #d3e4f3;border-radius:14px;
 box-shadow:0 13px 28px rgba(43,87,130,.16),0 3px 8px rgba(47,92,130,.08);
 padding:14px 15px;max-height:min(48vh,340px);overflow-y:auto;
 color:#526a80;font-size:12px;line-height:1.7;
}
.shell:not(.is-home):not(.is-broadcast) #main .magic-help-popover[hidden]{display:none!important;}
.shell:not(.is-home):not(.is-broadcast) #main .magic-help-popover-title{
 font-size:12px;font-weight:750;color:#315b7c;margin:0 0 7px;
}
.shell:not(.is-home):not(.is-broadcast) #main .magic-help-popover p{margin:0 0 8px;}
.shell:not(.is-home):not(.is-broadcast) #main .magic-help-popover p:last-child{margin-bottom:0;}
.shell:not(.is-home):not(.is-broadcast) #main .magic-help-inline-legend{
 margin:0;color:#6b8598;font-size:12px;line-height:1.6;
}
.shell:not(.is-home):not(.is-broadcast) #main .magic-backup-summary,
.shell:not(.is-home):not(.is-broadcast) #main .magic-brief-note{
 margin:0 0 10px;font-size:12px;line-height:1.6;color:#637d92;
}
.shell:not(.is-home):not(.is-broadcast) #main .magic-persistent-warning{
 margin:0 0 14px;font-size:12px;line-height:1.55;color:#99654c;
}
.shell:not(.is-home):not(.is-broadcast) #main .settings-status-card,
.shell:not(.is-home):not(.is-broadcast) #main .settings-storage-card{padding-top:15px;padding-bottom:16px;}
.shell:not(.is-home):not(.is-broadcast) #main .settings-status-card .magic-help-heading,
.shell:not(.is-home):not(.is-broadcast) #main .settings-storage-card .magic-help-heading{margin-bottom:5px;}
@media(max-width:360px){
 .shell:not(.is-home):not(.is-broadcast) #main .magic-help-popover{left:10px;right:10px;padding:12px;}
}
/* Keep an opened explanation above later cards, even on a scrolling iPhone viewport. */
.shell:not(.is-home):not(.is-broadcast) #main .card:has(> .magic-help-popover:not([hidden])){
 position:relative;z-index:20;
}
.shell:not(.is-home):not(.is-broadcast) #main > .card > .magic-help-popover{
 position:absolute!important;z-index:25!important;
}


/* V7.41.33 · 检查更新和更新操作共用一排，状态信息在下方。 */
.shell:not(.is-home):not(.is-broadcast) #main .magic-update-actions{
  display:flex;align-items:center;gap:9px;flex-wrap:nowrap;min-width:0;
}
.shell:not(.is-home):not(.is-broadcast) #main .magic-update-actions #applyUpdateSlot[hidden]{display:none!important}
.shell:not(.is-home):not(.is-broadcast) #main .magic-update-actions #applyUpdateSlot{min-width:0;display:inline-flex}
.shell:not(.is-home):not(.is-broadcast) #main .magic-update-actions .btn{
  min-width:0;min-height:42px;white-space:nowrap;padding:10px 13px;font-size:13px;
}
@media(max-width:355px){
 .shell:not(.is-home):not(.is-broadcast) #main .magic-update-actions{gap:7px}
 .shell:not(.is-home):not(.is-broadcast) #main .magic-update-actions .btn{font-size:12px;padding:9px 11px}
}


/* V7.41.46 — 仅微调内页页眉与六项底部导航的视觉平衡。
   不修改首页页眉、内容卡片/按钮、导航总高度/安全区、点击区域或业务功能。 */
/* 内页页眉缩短约10px：顶部内容锚点不变，仅压缩下方空白。 */
.shell:not(.is-home):not(.is-broadcast) .header {
  min-height:96px;
  padding-bottom:5px;
}
/* 字号/对比度：保持原有六等分按钮与选中态。 */
.bottom-nav .nav-button:not(.active) {
  color:#71869c;
  font-weight:600;
}
.bottom-nav .nav-button {font-size:11px;}
/* 在原按钮点击区域内移动内容，不改变按钮尺寸/点击目标及容器高度。 */
.bottom-nav .nav-button > .nav-ico,
.bottom-nav .nav-button > span:last-child {
  transform:translateY(6px);
}
/* 水彩云雾、叶片与星尘透明度降低约20%，保留月光选中高亮。 */
.bottom-nav::before {opacity:.45;}
.bottom-nav::after {opacity:.37;}
.bottom-nav .nav-mist {opacity:.70;}
.bottom-nav .nav-twinkles {opacity:.80;}
@media(max-width:355px) {
  .bottom-nav .nav-button {font-size:10px;}
  .bottom-nav::before {opacity:.33;}
  .bottom-nav::after {opacity:.27;}
}


/* V7.41.48 — inner-page English translations occupy the existing empty space, not a new header row. */
.header .page-subtitle {display:none;margin:0;}
.shell:not(.is-home):not(.is-broadcast) .header .page-subtitle {
  display:block;
  margin:5px 0 0;
  padding:0;
  color:#6f82ad;
  font-size:12px;
  font-weight:600;
  font-style:italic;
  line-height:1.18;
  letter-spacing:.04em;
  white-space:nowrap;
  font-family:'Bradley Hand','Segoe Print','Chalkboard SE','Marker Felt','Snell Roundhand','Comic Sans MS',cursive;
}
/* Keep the current inner-page header height (96 px) and previously approved positions. */
.shell:not(.is-home):not(.is-broadcast) .header h1 {line-height:1.2;}
.shell:not(.is-home):not(.is-broadcast) .header > div:first-child {display:flex;flex-direction:column;}
@media(max-width:355px){
  .shell:not(.is-home):not(.is-broadcast) .header .page-subtitle {font-size:11.5px;}
}



/* V7.41.50 — watercolor mastheads carry brand identity; no boxed right-side mark. */

/* V7.41.52 – cloud backup status, in the same restrained pale-blue visual language */
.cloud-panel{border:1px solid #d8e5f2;background:linear-gradient(135deg,#f6faff 0%,#f9f6ff 100%);border-radius:13px;padding:13px 14px}
.cloud-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.cloud-top > div{flex:1;min-width:0}
.cloud-status{font-size:14px;font-weight:700;line-height:1.5;color:#627eaa}
.cloud-status.synced{color:#37806f}
.cloud-status.error,.cloud-status.blocked{color:#bd745d}
.cloud-status.pending{color:#a87f43}
.cloud-panel .small{margin:4px 0 0;line-height:1.6}
.cloud-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.cloud-controls:empty{display:none}
.cloud-controls .btn{font-size:12px;padding:8px 10px}
.cloud-top .btn{font-size:12px;padding:8px 10px;white-space:nowrap}
@media(max-width:400px){.cloud-top{gap:6px}.cloud-top .btn{padding:7px 8px;font-size:11px}}

/* V7.41.54 — unify library filter geometry and native iOS dropdown appearance.
   Only the vocabulary-library filter group is affected. */
.library-filter-controls {min-width:0;}
.library-filter-controls .field {min-width:0;}
.library-filter-controls .dictation-time-filter-row {
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:9px;margin:2px 0 10px;min-width:0;
}
.library-filter-controls .dictation-time-filter-row.has-date {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.library-filter-controls .dictation-time-filter-row>.field {margin:0;}
.library-filter-controls .field select,
.library-filter-controls .field input[type=date] {
  box-sizing:border-box;
  display:block;width:100%;min-width:0;
  height:43px;min-height:43px;max-height:43px;
  margin:0;
  border:1px solid #d6e2ea;
  border-radius:11px;
  background-color:#fff;
  color:#213547;
  font-size:16px;
  font-weight:500;
  line-height:normal;
  box-shadow:none;
}
.library-filter-controls .field select {
  -webkit-appearance:none;
  appearance:none;
  padding:0 35px 0 12px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24' stroke='%23526e83' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:16px 16px;
  text-overflow:ellipsis;
}
.library-filter-controls .field input[type=date] {
  -webkit-appearance:none;
  appearance:none;
  padding:0 10px;
  color-scheme:light;
}
.library-filter-controls .field input[type=date]::-webkit-date-and-time-value {
  text-align:left;
  min-height:1em;
}
.library-filter-controls .field select:focus-visible,
.library-filter-controls .field input[type=date]:focus-visible {
  outline:2px solid #8bc0de;outline-offset:2px;
}
/* These selectors already form paired rows; preserve the existing order and widths. */
.library-filter-controls .learning-review-filter-row,
.library-filter-controls .source-sort-row {align-items:end;}
.library-filter-controls .learning-review-filter-row .field select,
.library-filter-controls .source-sort-row .field select {font-size:16px;padding-left:12px;padding-right:35px;}
@media(max-width:355px) {
  .library-filter-controls .dictation-time-filter-row.has-date {gap:7px;}
  .library-filter-controls .field select {padding-left:9px;padding-right:28px;background-position:right 7px center;}
  .library-filter-controls .learning-review-filter-row .field select,
  .library-filter-controls .source-sort-row .field select {padding-left:9px;padding-right:28px;}
}

/* V7.41.55 — align every library filter to a single equal-width two-column grid.
   The date picker remains a native input; adjust internal iOS date text centering. */
.library-filter-controls .source-sort-row {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.library-filter-controls .field input[type=date] {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0 12px;
  font-size:16px;
  font-weight:500;
  line-height:normal;
}
.library-filter-controls .field input[type=date]::-webkit-date-and-time-value {
  display:flex;
  align-items:center;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  font-size:16px;
  font-weight:500;
  line-height:normal;
  text-align:left;
}
.library-filter-controls .field input[type=date]::-webkit-datetime-edit {
  display:inline-flex;
  align-items:center;
  margin:0;
  padding:0;
  line-height:normal;
}
@media(max-width:355px) {
  .library-filter-controls .source-sort-row {gap:7px;}
  .library-filter-controls .field input[type=date] {padding:0 9px;font-size:15px;}
  .library-filter-controls .field input[type=date]::-webkit-date-and-time-value {font-size:15px;}
}

/* V7.41.56 — Compact settings groups; preserve the normal inner-page visual language. */
#main .settings-accordion{margin:0 0 11px;border:1px solid #dfe8f1;border-radius:17px;overflow:visible;background:rgba(255,255,255,.93);box-shadow:0 2px 10px rgba(45,80,117,.035)}
#main .settings-accordion-trigger{appearance:none;width:100%;background:transparent;border:0;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;color:#263f56;cursor:pointer}
#main .settings-accordion-title{display:grid;gap:4px;min-width:0}
#main .settings-accordion-title strong{font-size:16px;line-height:1.35;font-weight:800}
#main .settings-accordion-title small{font-size:12px;line-height:1.45;color:#75899d;font-weight:500}
#main .settings-accordion-arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6889a4;font-size:21px;transition:transform .18s;flex:none}
#main .settings-accordion.is-open .settings-accordion-arrow{transform:rotate(180deg)}
#main .settings-accordion-content[hidden]{display:none!important}
#main .settings-accordion-content{padding:0 12px 2px}
#main .settings-accordion-content > .card{margin-bottom:11px;border-color:#e6edf4;box-shadow:none;background:#fbfdff}
#main .settings-accordion-content > .card:has(> .magic-help-popover:not([hidden])){position:relative;z-index:20}
#main .settings-accordion-trigger:focus-visible,#main .dictation-builder-toggle:focus-visible{outline:2px solid #90bcdd;outline-offset:2px;border-radius:14px}
/* The current task appears before the generator, with two large primary actions. */
#main .dictation-daily-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 6px}
#main .dictation-daily-actions .btn{min-width:0;min-height:46px;font-size:13px;padding:9px 6px;line-height:1.3}
#main .dictation-secondary-actions{display:flex;justify-content:space-between;gap:10px;margin:0 0 13px}
#main .dictation-secondary-actions .btn{background:transparent;border:0;min-height:35px;padding:6px 0;color:#71899d;font-size:12px;font-weight:600;box-shadow:none}
#main .dictation-builder{margin:0 0 15px;border:1px solid #dce6ef;border-radius:17px;background:rgba(250,253,255,.9);overflow:hidden}
#main .dictation-builder-toggle{padding:13px 16px;display:flex;align-items:center;justify-content:space-between;font-weight:750;font-size:14px;color:#4a6c83;cursor:pointer;list-style:none}
#main .dictation-builder-toggle::-webkit-details-marker{display:none}
#main .dictation-builder-toggle::marker{content:''}
#main .dictation-builder-chevron{font-size:20px;transition:transform .2s}
#main .dictation-builder[open] .dictation-builder-chevron{transform:rotate(180deg)}
#main .dictation-builder-content{padding:0 10px 1px}
#main .dictation-builder-content .card{box-shadow:none;margin:0 0 10px;border-color:#e4edf4;background:#fff}
#main .dictation-list{scroll-margin-top:12px}
@media(max-width:360px){#main .dictation-daily-actions{gap:6px}#main .dictation-daily-actions .btn{font-size:12px}#main .settings-accordion-trigger{padding:13px 14px}}

/* V7.41.57 — Restore V7.41.55 pastel left-edge embossing on collapsed settings groups. */
.shell:not(.is-home):not(.is-broadcast) #main > .settings-accordion{
 border:1px solid #e2eaf5;
 border-radius:19px;
 box-shadow:inset 3px 0 0 rgba(178,209,236,.54),0 5px 17px rgba(73,114,153,.07);
 background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(251,253,255,.98));
 overflow:visible;
}
.shell:not(.is-home):not(.is-broadcast) #main > .settings-accordion[data-settings-section="courses"]{
 box-shadow:inset 3px 0 0 rgba(187,225,207,.59),0 5px 17px rgba(73,114,153,.065);
 background:linear-gradient(150deg,#fff,#f8fcfa);
}
.shell:not(.is-home):not(.is-broadcast) #main > .settings-accordion[data-settings-section="vocabulary"]{
 box-shadow:inset 3px 0 0 rgba(216,202,242,.61),0 5px 17px rgba(73,114,153,.065);
 background:linear-gradient(150deg,#fff,#fbfaff);
}
.shell:not(.is-home):not(.is-broadcast) #main > .settings-accordion[data-settings-section="backup"]{
 box-shadow:inset 3px 0 0 rgba(245,222,179,.62),0 5px 17px rgba(73,114,153,.065);
 background:linear-gradient(150deg,#fff,#fffcf8);
}
.shell:not(.is-home):not(.is-broadcast) #main > .settings-accordion[data-settings-section="system"]{
 box-shadow:inset 3px 0 0 rgba(178,209,236,.54),0 5px 17px rgba(73,114,153,.07);
 background:linear-gradient(150deg,#fff,#f7fbff);
}
/* The folded dictionary builder stays near the two main task buttons, before all word rows. */
#main .dictation-session-card > .dictation-builder{margin:3px 0 12px;border:1px solid #e1e9f3;background:#fafcff;border-radius:12px}
#main .dictation-session-card > .dictation-builder .dictation-builder-toggle{padding:11px 13px;font-size:12px;font-weight:650}
#main .dictation-session-card > .dictation-builder .dictation-builder-content{padding:0 8px 1px}
#main .dictation-session-card > .dictation-builder .dictation-builder-content > .card{border:0;border-top:1px solid #e9eef4;border-radius:0;box-shadow:none;padding:12px 6px;margin:0;background:transparent}
#main .dictation-secondary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;align-items:center}
#main .dictation-secondary-actions .btn{min-width:0;white-space:nowrap;font-size:12px;text-align:center;padding:7px 1px}
#main .dictation-daily-actions{margin-bottom:7px}
@media(max-width:355px){#main .dictation-secondary-actions .btn{font-size:11px}}

/* V7.41.58: Restore the original three action buttons and move the only generator to the top. */
#main > .dictation-builder-top{
  margin:0 0 13px;
  background:linear-gradient(145deg,rgba(251,253,255,.97),rgba(246,250,254,.96));
  border:1px solid #dce7f2;
  border-radius:16px;
}
#main > .dictation-builder-top .dictation-builder-toggle{min-height:47px;padding:13px 16px;font-size:14px;font-weight:750}
#main > .dictation-builder-top .dictation-builder-content{padding:0 10px 2px}
#main > .dictation-builder-top .dictation-builder-content > .card{border:0;border-top:1px solid #e6eef5;border-radius:0;box-shadow:none;padding:15px 6px 8px;margin:0;background:transparent}
#main .dictation-builder-empty{padding:9px 4px 6px;margin:0 0 12px;text-align:center}
#main .dictation-session-card .dictation-top-actions{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;align-items:stretch;margin:15px 0 13px;
}
#main .dictation-session-card .dictation-top-actions .btn{min-width:0;width:100%;min-height:44px;padding:10px 3px;font-size:12px;line-height:1.25;font-weight:700;white-space:nowrap;text-align:center;border-radius:10px}
.shell:not(.is-home):not(.is-broadcast) #main .dictation-session-card .dictation-top-actions .btn[data-action="open-broadcast"]{
  background:linear-gradient(130deg,#356d8f,#437f9f);
  color:#fff;border:1px solid #356d8f;
  box-shadow:0 4px 11px rgba(44,102,139,.16);font-weight:800;
}
.shell:not(.is-home):not(.is-broadcast) #main .dictation-session-card .dictation-top-actions .btn[data-action="start-dictation-quiz"]{
  background:#f6f9fc;color:#47738d;border:1px solid #dbe7ef;
}
.shell:not(.is-home):not(.is-broadcast) #main .dictation-session-card .dictation-top-actions .btn[data-action="download-dictation-pdf"]{
  background:#fff;color:#6b8090;border:1px solid #e4ebf0;font-weight:600;
}
@media(max-width:355px){#main .dictation-session-card .dictation-top-actions{gap:5px}#main .dictation-session-card .dictation-top-actions .btn{font-size:11px;padding-left:1px;padding-right:1px}}

/* V7.41.59: bring back the 3px pastel left emboss on the top folded generator. */
.shell:not(.is-home):not(.is-broadcast) #main > .dictation-builder-top{
 box-shadow:inset 3px 0 0 rgba(216,202,242,.64),0 5px 17px rgba(73,114,153,.065);
}
/* Read-only completed daily task: compact, scannable 10/20/30+ word list. */
.daily-completed-summary{color:#55758d;font-size:13px;font-weight:700;padding:3px 0 10px}
.daily-completed-list{max-height:min(55vh,480px);overflow:auto;border-top:1px solid #e4ecf4}
.daily-completed-item{display:flex;gap:9px;align-items:center;border-bottom:1px solid #edf1f7;padding:10px 0;font-size:13px}
.daily-completed-index{display:grid;place-items:center;flex:0 0 23px;height:23px;border-radius:6px;background:#eef4fa;color:#6a879c;font-size:11px}
.daily-completed-word{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}
.daily-completed-word strong{font-size:14px;color:#233c55}
.daily-completed-word small{color:#77899a;font-size:11px;line-height:1.4}
.daily-completed-mark{flex-shrink:0;font-size:12px;font-weight:700;border-radius:9px;padding:6px 7px;background:#f0f3f7;color:#687989}
.daily-completed-mark.correct{background:#e4f4eb;color:#2d775b}
.daily-completed-mark.wrong{background:#fff0e9;color:#a75943}


/* V7.41.61: one outline per settings group, horizontal dividers inside.
   Keep the original pastel left inset accent; do not nest bordered cards. */
.shell:not(.is-home):not(.is-broadcast) #main .settings-accordion-content {
  padding:0 16px 3px;
}
.shell:not(.is-home):not(.is-broadcast) #main .settings-accordion-content > .card {
  border:0;
  border-top:1px solid #e4ebf3;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  margin:0;
  padding:17px 2px 18px;
}
.shell:not(.is-home):not(.is-broadcast) #main .settings-accordion-content > .card h3.magic-help-heading {
  margin:0 0 11px;
  font-size:15px;
}
.shell:not(.is-home):not(.is-broadcast) #main .settings-accordion.is-open .settings-accordion-title small {
  display:none;
}
.shell:not(.is-home):not(.is-broadcast) #main .settings-accordion-trigger {
  min-height:54px;
}
/* Cloud health remains outside the folded groups; match their divider rhythm. */
.shell:not(.is-home):not(.is-broadcast) #main > .settings-cloud-card {
  box-shadow:inset 3px 0 0 rgba(178,209,236,.54),0 5px 17px rgba(73,114,153,.07);
}
.shell:not(.is-home):not(.is-broadcast) #main > .settings-cloud-card > .magic-help-heading {
  border-bottom:1px solid #e4ebf3;
  padding:0 0 12px;
  margin-bottom:13px;
}
.shell:not(.is-home):not(.is-broadcast) #main > .settings-cloud-card > .cloud-panel {
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
}
/* A single backup tool has no duplicate interior heading, but keeps its ⓘ help. */
.shell:not(.is-home):not(.is-broadcast) #main .settings-backup-intro {
  display:flex;align-items:center;gap:4px;min-width:0;
}
.shell:not(.is-home):not(.is-broadcast) #main .settings-backup-intro .magic-backup-summary {
  margin:0;
}
.shell:not(.is-home):not(.is-broadcast) #main .settings-compact-help {
  flex:none;display:inline-flex;align-items:center;
}
.shell:not(.is-home):not(.is-broadcast) #main .settings-compact-help .magic-help-button {
  width:27px;height:27px;
}
/* The generation accordion itself supplies the only heading. */
.shell:not(.is-home):not(.is-broadcast) #main > .dictation-builder-top .dictation-builder-content > .card {
  border-top:1px solid #e4ebf3;
  padding-top:17px;
}


/* V7.41.62: Today's tested words remain independently reviewable, even if a
   fresh dictation session has zero decisions. Match the flat accordion language. */
.shell:not(.is-home):not(.is-broadcast) #main > .dictation-today-card {
 margin:0 0 14px; border:1px solid #dce7f1;border-radius:17px;
 background:linear-gradient(135deg,#fbfdff,#f7fbfd);
 box-shadow:inset 3px 0 0 rgba(144,205,203,.55),0 5px 17px rgba(73,114,153,.06);
 overflow:hidden;
}
#main .dictation-today-toggle {display:flex;justify-content:space-between;align-items:center;gap:7px;
 min-height:48px;padding:12px 15px;cursor:pointer;list-style:none;color:#476b83;font-size:14px;font-weight:750}
#main .dictation-today-toggle::-webkit-details-marker{display:none}
#main .dictation-today-toggle::marker{content:''}
#main .dictation-today-toggle b{font-weight:750}
#main .dictation-today-summary{display:inline-flex;align-items:center;gap:6px;text-align:right;
 font-size:12px;color:#718a9b;font-weight:600;white-space:nowrap}
#main .dictation-today-chevron{font-size:20px;line-height:1;transition:transform .2s}
#main .dictation-today-card[open] .dictation-today-chevron{transform:rotate(180deg)}
#main .dictation-today-content{margin:0 15px 13px;padding-top:12px;border-top:1px solid #e3edf4}
#main .dictation-today-content > p{margin:0 0 8px}
#main .dictation-today-content .daily-completed-list{max-height:38vh}
@media(max-width:355px){#main .dictation-today-toggle{padding:11px 12px;font-size:13px}
#main .dictation-today-summary{font-size:11px}}

/* V7.41.66 — today results: word + three direct grade controls in one row.
   Selected button is the grade indicator. Pressing another grade writes it immediately. */
#main .dictation-today-toggle{min-height:44px;padding:10px 13px}
#main .dictation-today-content{margin:0 13px 10px;padding-top:8px}
#main .dictation-today-content > p{font-size:11px;line-height:1.4;margin:0 0 6px}
#main .today-record-item{border-bottom:1px solid #edf1f7}
#main .today-record-item .daily-completed-item{
  display:grid;
  grid-template-columns:21px minmax(0,1fr) max-content;
  align-items:center;
  column-gap:6px;
  min-height:43px;
  padding:5px 0;
  border-bottom:0;
}
#main .today-record-item .daily-completed-index{
  width:21px;height:21px;min-width:21px;flex-basis:21px;font-size:10px;
}
#main .today-record-item .daily-completed-word{
  display:flex;min-width:0;flex-direction:row;flex-wrap:wrap;
  align-items:baseline;gap:0 6px;line-height:1.35;
}
#main .today-record-item .daily-completed-word strong{
  font-size:13px;white-space:normal;overflow-wrap:anywhere;
}
#main .today-record-item .daily-completed-word small{
  font-size:11px;line-height:1.35;overflow-wrap:anywhere;
}
#main .today-inline-actions{display:flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0}
#main .today-inline-grade{
  appearance:none;min-width:35px;min-height:34px;
  padding:5px 6px;border:1px solid #dce6ef;border-radius:8px;
  color:#71869a;background:#fff;font:inherit;font-size:11px;font-weight:700;
  line-height:1.1;cursor:pointer;white-space:nowrap;
}
#main .today-inline-grade.is-correct.is-selected{background:#e5f5ec;border-color:#a9d7bd;color:#2b7959}
#main .today-inline-grade.is-wrong.is-selected{background:#fff0e9;border-color:#e7b9a5;color:#aa543e}
#main .today-inline-grade.is-undo{color:#7b8b99;background:#f6f8fb}
#main .today-inline-grade:disabled{opacity:.55;cursor:wait}
#main .today-inline-grade:focus-visible{outline:2px solid #5d8eb9;outline-offset:2px}
@media(max-width:355px){
  #main .dictation-today-content{margin-left:10px;margin-right:10px}
  #main .today-record-item .daily-completed-item{grid-template-columns:18px minmax(0,1fr) max-content;column-gap:5px}
  #main .today-record-item .daily-completed-index{min-width:18px;width:18px;height:18px;flex-basis:18px}
  #main .today-record-item .daily-completed-word strong{font-size:12px}
  #main .today-record-item .daily-completed-word small{font-size:10px}
  #main .today-inline-actions{gap:3px}
  #main .today-inline-grade{font-size:10px;padding:5px 5px;min-width:32px;min-height:34px}
}


/* V7.41.67 — read-only by default, batch corrections committed once. */
#main .today-heading-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin:0 0 8px}
#main .today-heading-actions > .small{flex:1;min-width:95px}
#main .today-edit-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#main .today-edit-start,#main .today-edit-cancel,#main .today-edit-save{min-height:34px;font-size:12px;padding:6px 10px;border-radius:9px}
#main .today-draft-state{font-size:11px;color:#be704b;white-space:nowrap;font-weight:600}
#main .today-inline-actions.is-readonly .today-inline-grade{cursor:default;opacity:1;border-color:transparent}
#main .today-inline-actions.is-readonly .today-inline-grade:not(.is-selected){display:none}
#main .today-inline-actions.is-readonly .today-inline-undo-placeholder{display:none}
#main .today-inline-actions.is-editing .today-inline-grade:disabled{opacity:.65;cursor:default}
#main .today-inline-grade.is-undo.is-selected{background:#e8eef6;color:#355f86;border-color:#b9cbdc}
#main .today-edit-save:disabled{opacity:.55}
.manual-pending-panel{padding:9px 12px;background:#f3f8fc;border:1px solid #deebf5;border-radius:12px;margin:0 0 12px}
.manual-pending-panel > p{margin:0}
.manual-pending-head{font-size:13px;font-weight:750;color:#315d79;display:flex;justify-content:space-between;gap:7px}
.manual-pending-head span{font-size:11px;color:#9b7585;font-weight:500}
.manual-pending-items{max-height:128px;overflow-y:auto;margin-top:7px}
.manual-pending-item{display:flex;gap:7px;align-items:center;border-top:1px solid #e0ebf3;padding:5px 0;font-size:12px}
.manual-pending-item b{flex:0 0 auto;color:#315b78}
.manual-pending-item span{min-width:0;flex:1;color:#798897;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manual-pending-remove{min-height:30px;min-width:30px;padding:3px;border-radius:7px;background:#fff;color:#9a6262;border:1px solid #dfe6ec;cursor:pointer}
#wordForm[data-id=""] > .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#wordForm[data-id=""] > .actions > button{width:100%;min-height:43px}
@media(max-width:355px){#main .today-heading-actions > .small{font-size:10px}#main .today-edit-start,#main .today-edit-cancel,#main .today-edit-save{padding:5px 8px}}

/* V7.41.67: header-level edit/save for the entire Today Results group. */
#main .dictation-today-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;min-height:48px;padding:8px 12px}
#main .today-summary-title{flex:0 0 auto;white-space:nowrap}
#main .dictation-today-summary{flex:1 1 auto;justify-content:flex-end;min-width:0;font-size:11px;white-space:nowrap}
#main .today-summary-toolbar{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}
#main .today-summary-toolbar .today-edit-toolbar{gap:5px}
#main .today-summary-toolbar .today-draft-state{font-size:10px}
#main .today-summary-toolbar .today-edit-start,
#main .today-summary-toolbar .today-edit-cancel,
#main .today-summary-toolbar .today-edit-save{padding:5px 8px;min-height:32px;font-size:11px}
#main .dictation-today-card.is-edit-mode .dictation-today-summary{display:none}
#main .dictation-today-chevron{flex:0 0 auto}
@media(max-width:355px){
 #main .dictation-today-toggle{column-gap:5px}
 #main .today-summary-title{font-size:12px}
 #main .dictation-today-summary{font-size:10px}
 #main .dictation-today-card.is-edit-mode .today-summary-toolbar{margin-left:auto}
 #main .dictation-today-card.is-edit-mode .today-summary-title{width:100%}
 #main .dictation-today-card.is-edit-mode .dictation-today-toggle{display:grid;grid-template-columns:1fr auto;row-gap:4px}
 #main .dictation-today-card.is-edit-mode .today-summary-title{grid-column:1;grid-row:1}
 #main .dictation-today-card.is-edit-mode .dictation-today-chevron{grid-column:2;grid-row:1}
 #main .dictation-today-card.is-edit-mode .today-summary-toolbar{grid-column:1 / 3;grid-row:2;justify-self:end}
}

/* V7.41.68 — compact date-result heading: counts remain adjacent, actions right. */
#main .dictation-today-toggle {display:grid;grid-template-columns:minmax(0,1fr) auto 13px;column-gap:8px;row-gap:5px;align-items:center;}
#main .today-summary-title{min-width:0;display:inline-flex;align-items:baseline;gap:4px;flex-wrap:wrap;white-space:normal;line-height:1.3}
#main .today-summary-title > b{white-space:nowrap}
#main .today-summary-grades{display:inline-flex;align-items:baseline;gap:6px;margin-left:4px;font-size:12px;font-weight:750;white-space:nowrap}
#main .today-summary-right{color:#288260}
#main .today-summary-wrong{color:#b05a43}
#main .today-summary-toolbar{grid-column:2;grid-row:1;margin-left:auto;justify-self:end;white-space:nowrap}
#main .dictation-today-chevron{grid-column:3;grid-row:1;margin:0;justify-self:end}
#main .today-summary-toolbar .today-edit-toolbar{flex-wrap:nowrap}
#main .dictation-today-card.is-edit-mode .today-summary-title{width:auto}
#main .dictation-today-card.is-edit-mode .today-summary-toolbar{margin-left:auto}
@media(max-width:370px){
 #main .dictation-today-toggle{grid-template-columns:minmax(0,1fr) auto 11px;column-gap:5px}
 #main .today-summary-title{font-size:12px}
 #main .today-summary-grades{font-size:10px;gap:4px;margin-left:2px}
 #main .today-summary-toolbar .today-edit-save,#main .today-summary-toolbar .today-edit-cancel{font-size:10px;padding:4px 6px;min-height:30px}
 #main .dictation-today-card.is-edit-mode .today-summary-title{grid-column:1;grid-row:1}
 #main .dictation-today-card.is-edit-mode .today-summary-toolbar{grid-column:2;grid-row:1;justify-self:end}
}
/* Manual entry: no permanent instructional panel; collapsed optional notes save vertical space. */
#manualPendingPanel[hidden]{display:none!important}
#wordForm[data-id=""] .field{margin-bottom:10px;gap:4px}
#wordForm[data-id=""] .field input,#wordForm[data-id=""] .field select{min-height:39px;padding:8px 10px}
#wordForm[data-id=""] .manual-notes-fold{margin:0 0 10px;border-top:1px solid #e7edf4;padding-top:8px}
#wordForm[data-id=""] .manual-notes-fold > summary{color:#547389;font-size:12px;font-weight:650;cursor:pointer;list-style:revert;padding:2px 0 6px}
#wordForm[data-id=""] .manual-notes-fold .field{margin:0}
#wordForm[data-id=""] .manual-notes-fold textarea{min-height:66px;padding:8px 10px;resize:vertical}
#wordForm[data-id=""] > .actions{margin-top:4px;position:sticky;bottom:0;z-index:2;background:#fff;padding:8px 0 3px;box-shadow:0 -5px 10px #fff}
/* Avoid stale narrow-screen accordion grid overrides from earlier versions. */
#main .dictation-today-card.is-edit-mode .dictation-today-toggle{display:grid;grid-template-columns:minmax(0,1fr) max-content 13px;gap:5px}
#main .dictation-today-card.is-edit-mode .today-summary-title{grid-column:1;grid-row:1;width:auto;min-width:0;}
#main .dictation-today-card.is-edit-mode .today-summary-toolbar{grid-column:2;grid-row:1;justify-self:end;margin:0;min-width:0}
#main .dictation-today-card.is-edit-mode .dictation-today-chevron{grid-column:3;grid-row:1}
#main .dictation-today-card .today-summary-grades{gap:4px}
@media(max-width:355px){
 #main .dictation-today-card.is-edit-mode .dictation-today-toggle{grid-template-columns:minmax(0,1fr) max-content 11px;column-gap:4px}
 #main .dictation-today-card .today-summary-title{font-size:11px;gap:2px}
 #main .dictation-today-card .today-summary-grades{font-size:10px;gap:3px;margin-left:1px}
 #main .dictation-today-card .today-summary-toolbar .today-edit-toolbar{gap:3px}
 #main .dictation-today-card .today-summary-toolbar .today-edit-save,#main .dictation-today-card .today-summary-toolbar .today-edit-cancel{font-size:10px;padding:4px 5px}
}
#main .dictation-today-card.is-edit-mode .dictation-today-toggle,
#main .dictation-today-card:not(.is-edit-mode) .dictation-today-toggle{grid-template-columns:minmax(0,1fr) max-content 18px}
#main .dictation-today-card .dictation-today-chevron{font-size:17px;width:18px;text-align:center}
@media(max-width:355px){
 #main .dictation-today-card.is-edit-mode .dictation-today-toggle,
 #main .dictation-today-card:not(.is-edit-mode) .dictation-today-toggle{grid-template-columns:minmax(0,1fr) max-content 18px}
}

/* V7.41.69 — word library: search-first and on-demand management, no today-grade shortcuts. */
#main .library-find{border-radius:14px;background:linear-gradient(125deg,#f7fbff,#fcfdff);border:1px solid #e0eaf3;padding:14px 14px 9px;margin-bottom:10px}
#main .library-find-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}
#main .library-find-head h2{font-size:16px;margin:0;color:#315a79}
#main .library-find-head span{color:#72889b;font-size:12px}
#main .library-find .keyword-wrap{margin-bottom:8px}
#main .library-find-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}
#main .library-find-actions button{font-size:12px;border:0;background:transparent;color:#426d89;padding:4px 2px;min-height:30px}
#main .library-find-actions .library-reset{color:#7c8b9a}
#main .library-find-separator{font-size:12px;color:#a8bac7}
#main .library-filter-drawer{border-radius:13px;border:1px solid #dde8ef;background:linear-gradient(125deg,#fff,#fafdff);box-shadow:inset 3px 0 #d6e6f1;margin:0 0 12px;overflow:hidden}
#main .library-filter-drawer>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 14px;cursor:pointer;font-size:13px;font-weight:700;color:#426a83;list-style:none}
#main .library-filter-drawer>summary::-webkit-details-marker{display:none}
#main .library-filter-chevron{font-size:19px;font-weight:400;line-height:1}
#main .library-filter-drawer[open] .library-filter-chevron{transform:rotate(180deg)}
#main .library-filter-body{border-top:1px solid #e5eef4;padding:13px 13px 1px}
#main .library-manage-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:5px 0 13px}
#main .library-manage-title{font-size:13px;font-weight:700;color:#52718a;white-space:nowrap}
#main .library-manage-buttons{display:flex;justify-content:flex-end;gap:7px;min-width:0}
#main .library-manage-buttons .btn{font-size:12px;min-height:34px;padding:8px 11px}
#main .library-result-heading{margin-top:3px}
#main .library-search-empty{text-align:center;margin:0;padding:14px 3px;color:#798b9b;font-size:13px;line-height:1.7}
#main .library-results-card{padding:6px 14px;min-height:52px}
#main .library-result-row{padding:13px 1px 11px;border-bottom:1px solid #e7eff4}
#main .library-result-word{display:flex;flex-direction:column;gap:4px;min-width:0}
#main .library-result-identity{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;min-width:0}
#main .library-result-identity .word-term{font-weight:800;color:#274d68;font-size:16px;max-width:none}
#main .library-ipa{font-size:12px;color:#6e8497;font-weight:600;overflow-wrap:anywhere}
#main .library-speak{height:28px;min-height:28px;width:27px;min-width:27px;display:inline-grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#326c8e;padding:1px;line-height:1;cursor:pointer}
#main .library-speak:active{background:#e4edf4}
#main .library-speak:focus-visible{outline:2px solid #5ca8d0;outline-offset:0}
#main .library-result-meaning{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;color:#4e6173;font-size:13px;line-height:1.5}
#main .library-result-meaning .word-pos{font-size:11px;color:#8096a6}
#main .library-result-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:8px 0 5px}
#main .library-result-meta .source-tag-btn{max-width:100%;display:inline-block}
#main .library-result-meta .status-chip{font-size:11px;padding:4px 6px}
#main .library-result-history{font-size:11px;color:#8294a2}
#main .library-manage-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
#main .library-manage-actions button{border-radius:8px;font-size:12px;min-height:32px;padding:6px 10px}
#main .library-manage-edit{border:1px solid #cbdfe9;background:#e9f3f9;color:#345e7d;font-weight:700}
#main .library-feature{border:1px solid #dce6ed;background:#fff;color:#617e93}
#main .library-feature.featured-selected{color:#5974a0;background:#eaf0fa;border-color:#cedced}
@media(max-width:370px){#main .library-manage-buttons .btn{padding:8px 7px;font-size:11px}#main .library-find{padding:12px 11px 8px}}

/* V7.41.70: personal dictionary syllabification on lookup, optional local import. */
#main .library-syllables{font-size:12px;font-weight:650;color:#6584a0;background:#eef5f9;border-radius:5px;padding:2px 5px;letter-spacing:.015em;overflow-wrap:anywhere}
#main .personal-dictionary-status{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:5px;color:#8494a3;font-size:11px;line-height:1.45}
#main .personal-dictionary-status button{border:0;background:transparent;color:#3c769a;font-weight:650;padding:5px 2px;white-space:nowrap;font-size:12px}
#main .library-private-dict-card{border:1px solid #dce9f4;background:#f7fbff;border-radius:12px;padding:12px 13px;margin:11px 0 13px;box-shadow:inset 3px 0 #d5e4f3}
#main .private-dict-top{display:flex;align-items:center;gap:8px;justify-content:space-between;color:#517999;font-size:13px}
#main .private-dict-top span{font-size:11px;color:#899ba9}
#main .private-dict-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:8px 0 7px;color:#315b78}
#main .private-dict-head b{font-size:16px}
#main .private-dict-hyph{font-weight:650;color:#64819a;font-size:12px;background:#e9f2f8;padding:2px 6px;border-radius:6px}
#main .private-dict-meanings{font-size:13px;line-height:1.65;color:#526879;margin-bottom:9px;display:grid;gap:3px}
#main .library-private-dict-card .btn{min-height:34px;font-size:12px}
.modal .manual-dict-lookup{background:#f5faff;border:1px solid #dce8f2;border-radius:10px;padding:8px 10px;margin:0 0 10px}
.modal .manual-dict-title{display:flex;gap:9px;align-items:center;justify-content:space-between;font-size:12px;color:#466c86;margin-bottom:6px}
.modal .manual-dict-title span{color:#7290a4;font-size:12px}
.modal .manual-dict-options{display:grid;gap:4px}
.modal .manual-dict-item{display:grid;grid-template-columns:40px minmax(0,1fr) 29px;align-items:start;gap:7px;padding:6px;background:#fff;border:1px solid #e1eaf1;border-radius:7px;color:#486276;text-align:left;font-size:12px;min-height:30px}
.modal .manual-dict-item span:first-child{color:#61809a;font-weight:600}
.modal .manual-dict-item span:last-child{color:#3e7a9c;font-weight:650;text-align:right}
.modal .manual-dict-hint{display:block;font-size:11px;color:#8695a3;margin-top:5px}

/* V7.41.71: one-line source/status/statistics and edit/display actions. */
#main .library-result-footer{display:flex;align-items:center;gap:6px;width:100%;min-width:0;margin-top:9px}
#main .library-result-footer .library-result-meta{display:flex;flex:1 1 auto;min-width:0;align-items:center;flex-wrap:nowrap;gap:4px;margin:0}
#main .library-result-footer .source-tag-btn{display:flex;align-items:center;gap:2px;min-width:24px;max-width:100%;flex:1 1 40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:4px 4px}
#main .library-result-footer .source-tag-label{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
#main .library-result-footer .source-tag-chevron{flex:none}
#main .library-result-footer .status-chip{flex:none;white-space:nowrap;padding:3px 4px;font-size:10px}
#main .library-result-footer .library-result-history{flex:none;white-space:nowrap;font-size:10px}
#main .library-result-footer .library-manage-actions{display:flex;align-items:center;flex:none;gap:4px;margin:0}
#main .library-result-footer .library-manage-actions button{white-space:nowrap;min-height:36px;padding:6px 8px;font-size:12px}
#main .library-manage-bar .library-dict-import{white-space:nowrap}
@media(max-width:390px){
 #main .library-result-footer{gap:4px}
 #main .library-result-footer .library-result-meta{gap:3px}
 #main .library-result-footer .library-manage-actions{gap:3px}
 #main .library-result-footer .library-manage-actions button{min-height:34px;padding:6px 6px;font-size:11px}
 #main .library-manage-bar{gap:3px}
 #main .library-manage-buttons{gap:4px}
 #main .library-manage-buttons .btn{padding:8px 7px;font-size:11px}
}
@media(max-width:350px){
 #main .library-result-footer .library-result-history{letter-spacing:-.045em;font-size:9px}
 #main .library-result-footer .status-chip{font-size:9px;padding:3px}
 #main .library-result-footer .library-manage-actions button{min-height:34px;padding:6px 5px;font-size:11px}
 #main .library-manage-buttons .btn{padding:7px 5px;font-size:10px}
}

/* V7.41.72 — Unified search/filter tabs; independent low-frequency library management. */
#main .library-query-card{border:1px solid #dce8f1;border-radius:18px;background:linear-gradient(125deg,#f7fbff,#fff);box-shadow:inset 3px 0 #d6e5f2,0 6px 18px rgba(57,89,125,.035);padding:12px 13px 9px;margin:0 0 15px}
#main .library-query-header{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e3edf4;padding:0 0 10px;margin-bottom:12px;min-width:0}
#main .library-query-tabs{display:flex;gap:6px;align-items:center;min-width:0}
#main .library-query-tab{border:1px solid transparent;background:transparent;border-radius:10px;color:#6c8296;font-weight:750;font-size:14px;min-height:36px;padding:7px 12px;white-space:nowrap;cursor:pointer}
#main .library-query-tab.selected{color:#315f7e;border-color:#cbdfea;background:#eaf4fb;box-shadow:0 1px 3px rgba(55,83,111,.06)}
#main .library-total-count{font-size:12px;color:#8295a4;white-space:nowrap}
#main .library-query-panel[hidden]{display:none!important}
#main .library-search-panel .keyword-wrap{margin:0 0 5px}
#main .library-query-card .library-find-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}
#main .library-query-card .library-find-actions button{font-size:12px;border:0;background:none;padding:4px 1px;min-height:28px;color:#4c7491}
#main .library-query-card .library-find-actions .library-reset{color:#8192a0}
#main .library-filter-panel .library-filter-body{border:0;padding:0}
#main .library-filter-actions{display:flex;justify-content:flex-end;border-top:1px solid #edf2f7;margin-top:10px;padding-top:4px}
#main .library-filter-actions button{background:transparent;border:0;color:#788d9f;font-size:12px;padding:7px 3px;min-height:28px}
#main .library-manage-card{margin:18px 0 8px;border:1px solid #dce9ef;box-shadow:inset 3px 0 #d4e9df,0 6px 15px rgba(55,91,113,.03);border-radius:17px;background:linear-gradient(115deg,#f8fcfa,#fff);padding:13px 14px 15px}
#main .library-manage-card h2{font-size:16px;margin:0 0 12px;color:#376179;font-weight:800}
#main .library-manage-card .library-manage-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#main .library-manage-card .library-manage-buttons .btn{width:100%;min-height:42px;white-space:nowrap;font-size:13px;padding:9px 5px}
/* Fixed-width source label: it yields room for grade/status and operations. */
#main .library-result-footer .source-tag-btn{flex:0 1 116px;max-width:116px;min-width:34px}
#main .library-result-footer .library-result-meta{flex:1 1 auto;min-width:0}
@media(max-width:390px){#main .library-result-footer .source-tag-btn{flex-basis:86px;max-width:86px}#main .library-manage-card .library-manage-buttons{gap:6px}#main .library-manage-card .library-manage-buttons .btn{font-size:12px;padding:7px 3px}#main .library-query-card{padding:10px 10px 7px}}
@media(max-width:350px){#main .library-result-footer .source-tag-btn{flex-basis:68px;max-width:68px}#main .library-query-tab{font-size:13px;padding:6px 9px}#main .library-total-count{font-size:11px}#main .library-manage-card{padding:11px 10px 12px}#main .library-manage-card .library-manage-buttons .btn{font-size:11px}}

#main .library-result-footer .source-tag-btn{background:#eaf3f8;color:#34617e;border:1px solid #d5e5ef;border-radius:7px;font-size:10px;font-weight:650;min-height:28px}


/* V7.41.74: Each selectable dictionary sense includes its English headword,
   part of speech and Chinese meaning in one self-contained, wrapping row. */
.modal .manual-dict-lookup .manual-dict-item{
 display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:2px;
 padding:7px 8px;min-height:34px;overflow-wrap:anywhere;
}
.modal .manual-dict-lookup .manual-dict-word{
 font-size:13px;font-weight:750;color:#253e55;flex:0 0 auto;min-width:0;
}
.modal .manual-dict-lookup .manual-dict-pos{
 color:#66869d;font-weight:650;flex:0 0 auto;
}
.modal .manual-dict-lookup .manual-dict-meaning{
 flex:1 1 98px;min-width:0;color:#486276;line-height:1.5;
}
.modal .manual-dict-lookup .manual-dict-pick{
 flex:0 0 auto;color:#3e7a9c;font-weight:700;margin-left:auto;white-space:nowrap;
}
.modal .manual-dict-prefixes{display:flex;flex-wrap:wrap;gap:5px}
.modal .manual-dict-suggestion{
 display:inline-flex;align-items:center;gap:5px;border:1px solid #dce8f2;
 background:#fff;border-radius:8px;padding:7px 10px;color:#405f78;
 font-size:12px;max-width:100%;min-height:32px;overflow-wrap:anywhere;
}
.modal .manual-dict-suggestion span{font-size:11px;color:#8196a7}
.modal .manual-dict-loading{font-size:12px;color:#69859a}

/* V7.41.75 — low-frequency dictionary import belongs to Settings, not daily word lookup. */
#main .settings-dictionary-card .settings-dict-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
#main .settings-dict-details{flex:1 1 auto;min-width:0}
#main .settings-dict-details h3{margin:0 0 4px;font-size:15px;font-weight:800;color:#304f69}
#main .settings-dict-status{margin:0;font-size:12px;line-height:1.5;color:#75899d}
#main .settings-dict-import{flex:0 0 auto;min-height:36px;padding:7px 12px;white-space:nowrap;font-size:12px}
#main .library-manage-card .library-manage-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
#main .library-manage-card .library-manage-buttons .btn{font-size:13px;min-height:42px}

/* V7.41.77: Match management-action height to the compact source row. */
#main .library-result-footer .source-tag-btn{min-height:32px;height:32px;box-sizing:border-box;}
#main .library-result-footer .library-manage-actions button{
  min-height:32px;height:32px;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;line-height:1.2;padding:4px 8px;font-size:12px;
}
@media(max-width:390px){
 #main .library-result-footer .library-manage-actions button{min-height:32px;height:32px;padding:4px 6px;font-size:11px;}
}
@media(max-width:350px){
 #main .library-result-footer .library-manage-actions button{min-height:32px;height:32px;padding:4px 5px;font-size:11px;}
}

/* V7.41.78: explicit, per-word dictation-record filter; compact dotted history calendar. */
#main .library-calendar-field{position:relative;min-width:0}
#main .library-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:43px;min-height:43px;border:1px solid #d6e2ea;border-radius:11px;background:#fff;color:#213547;padding:0 12px;font-size:15px;font-weight:500;text-align:left;white-space:nowrap}
#main .library-date-trigger .library-date-chevron{color:#607c91;flex:none;font-size:12px}
#main .library-calendar{position:absolute;top:calc(100% + 6px);left:0;width:min(288px,calc(100vw - 42px));padding:12px;border:1px solid #d5e3ee;border-radius:14px;background:#fff;box-shadow:0 12px 34px rgba(51,80,110,.17);z-index:30}
#main .library-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;font-size:14px;color:#395b75}
#main .library-calendar-head button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:#eff6fa;font-size:22px;color:#507690}
#main .library-calendar-head button:disabled{opacity:.35}
#main .library-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;align-items:center}
#main .library-calendar-weekday{display:block;text-align:center;font-size:11px;color:#8396a6;padding:3px 0 7px}
#main .library-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:35px;padding:0 0 4px;background:transparent;border:1px solid transparent;border-radius:8px;color:#445c70;font-size:13px;font-weight:500}
#main .library-calendar-day.has-record{font-weight:800;color:#315d7b}
#main .library-calendar-day.selected{background:#e9f4fa;border-color:#a8cedd;color:#244e6b}
#main .library-calendar-day:disabled{color:#bfc8cf;opacity:.55}
#main .library-calendar-dot{position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#60a4a7}
#main .library-calendar small{display:block;margin:10px 2px 0;color:#7b8e9e;font-size:11px;line-height:1.3}
#main .library-filter-controls .dictation-time-filter-row:not(.has-date){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:355px){#main .library-calendar{width:min(270px,calc(100vw - 36px))}}

/* V7.41.86 — Wordbook: visually align the speaker with the term/IPA, including wrapped rows. */
#main .library-result-identity{align-items:center;row-gap:3px;line-height:1.35}
#main .library-result-identity .word-term{line-height:1.35}
#main .library-result-identity .library-syllables,
#main .library-result-identity .library-ipa{line-height:1.35}
#main .library-result-identity .library-speak{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 24px;width:24px;min-width:24px;height:24px;min-height:24px;
  align-self:center;padding:0;line-height:1;vertical-align:middle;
}
#main .library-result-identity .library-speak svg{display:block;width:19px;height:19px;flex:none}
