.r4ast{--navy:#0d2855;--blue:#1f5fae;--ink:#172033;--muted:#66778d;--line:#dbe5ef;--soft:#f5f8fc;--green:#167046;--amber:#a25c00;--red:#aa2b2b;direction:rtl;color:var(--ink);font-family:Tahoma,Arial,sans-serif;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 28px rgba(13,40,85,.06);margin:24px 0}
.r4ast *{box-sizing:border-box}.r4ast button,.r4ast textarea{font:inherit}.r4ast-head{padding:24px clamp(16px,3vw,28px);background:linear-gradient(135deg,#f7faff,#eef5ff);border-bottom:1px solid var(--line)}
.r4ast-kicker{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e5eefb;color:var(--navy);font-size:12px;font-weight:800;margin-bottom:8px}.r4ast-head h2{margin:0 0 7px;color:var(--navy);font-size:clamp(22px,3vw,29px);line-height:1.45}.r4ast-head p{margin:0;color:#53657c;line-height:1.85;font-size:15px}
.r4ast-body{padding:clamp(16px,3vw,26px)}.r4ast-input-block label{display:block;color:var(--navy);font-weight:900;margin-bottom:8px}.r4ast-input{width:100%;resize:vertical;min-height:92px;border:1px solid #bdcbdc;border-radius:14px;padding:14px 15px;background:#fff;color:#10294c;font:700 20px/1.75 Arial,sans-serif;outline:none;transition:.15s ease}.r4ast-input:focus{border-color:#6f9bd0;box-shadow:0 0 0 3px rgba(31,95,174,.1)}
.r4ast-actions,.r4ast-result-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.r4ast-primary,.r4ast-secondary{border:0;border-radius:999px;min-height:44px;padding:10px 18px;font-weight:900;cursor:pointer}.r4ast-primary{background:var(--navy);color:#fff}.r4ast-secondary{background:#eaf1fb;color:var(--navy)}.r4ast button:focus-visible{outline:3px solid rgba(31,95,174,.23);outline-offset:2px}
.r4ast-status{margin:16px 0 0;padding:11px 13px;border:1px solid #dce5ef;border-radius:12px;background:#fbfdff;color:#53657c;font-size:13px;line-height:1.7}.r4ast-status.ok{border-color:#b9dfca;background:#f4fbf7;color:#11623c}.r4ast-status.warn{border-color:#efd49e;background:#fffaf0;color:#82500a}.r4ast-status.err{border-color:#efc1c1;background:#fff7f7;color:#8c2727}
.r4ast-result{margin-top:16px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.r4ast-result-label{padding:10px 14px;background:#f5f8fc;color:#53657c;font-size:12px;font-weight:800;border-bottom:1px solid var(--line)}.r4ast-output{padding:20px 16px;font:800 clamp(23px,4vw,34px)/1.8 Arial,sans-serif;color:#0d376d;text-align:left;word-break:break-word;white-space:pre-wrap}.r4ast-result-actions{padding:0 14px 14px}.r4ast-summary{border-top:1px solid #edf1f5;padding:12px 14px;color:#5d6e82;line-height:1.7;font-size:13px}.r4ast-summary b{color:var(--navy)}
.r4ast-review{margin-top:16px;border:1px solid #ecd6a9;border-radius:15px;background:#fffdf7;overflow:hidden}.r4ast-review h3{margin:0;padding:14px 16px;background:#fff8e9;color:#74460d;font-size:17px}.r4ast-review-item{padding:14px 16px;border-top:1px solid #f0e5ce}.r4ast-review-item:first-child{border-top:0}.r4ast-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.r4ast-review-word{font:900 22px/1.4 Arial,sans-serif;color:#173867;direction:ltr}.r4ast-review-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#ffefcf;color:#7c4e0b;font-size:11px;font-weight:900}.r4ast-review-desc{margin-top:5px;color:#657489;font-size:13px;line-height:1.7}.r4ast-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}.r4ast-variant{border:1px solid #ccd9e8!important;background:#fff!important;color:#173867!important;border-radius:11px!important;padding:10px!important;text-align:center!important;cursor:pointer}.r4ast-variant strong{display:block;font:900 20px/1.5 Arial,sans-serif;direction:ltr}.r4ast-variant span{display:block;font-size:12px;color:#68798f;margin-top:2px}.r4ast-variant.selected{border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(31,95,174,.1)!important;background:#f4f8fd!important}
.r4ast-note{margin-top:17px;padding:13px;border:1px dashed #bdcee3;border-radius:12px;background:#fbfdff}.r4ast-note strong{display:block;color:var(--navy);margin-bottom:7px}.r4ast-note span{display:block;color:#52657d;font-size:13px;line-height:1.8}.r4ast-examples{margin-top:18px}.r4ast-examples h3{font-size:15px;color:var(--navy);margin:0 0 9px}.r4ast-example-buttons{display:flex;gap:8px;flex-wrap:wrap}.r4ast-example-buttons button{border:1px solid #d5e0ed;border-radius:999px;background:#fff;color:#16457c;padding:7px 11px;cursor:pointer;font:700 14px/1.4 Arial,sans-serif;direction:ltr}.r4ast-beta{margin:17px 0 0;color:#68798f;font-size:12px;line-height:1.8}
@media(max-width:640px){.r4ast{margin:16px 0;border-radius:16px}.r4ast-head{padding:18px 15px}.r4ast-head h2{font-size:21px}.r4ast-head p{font-size:13px;line-height:1.65}.r4ast-body{padding:14px}.r4ast-input{font-size:18px;min-height:86px}.r4ast-actions{display:grid;grid-template-columns:1fr 1fr}.r4ast-actions button{width:100%}.r4ast-output{padding:17px 14px}.r4ast-variants{grid-template-columns:1fr}}
@media(max-width:380px){.r4ast-actions{grid-template-columns:1fr}.r4ast-example-buttons{display:grid}.r4ast-example-buttons button{width:100%}}
.r4ast-engine{margin:10px 0 0;padding:9px 12px;border-radius:10px;font-size:12px;line-height:1.6;font-weight:700}.r4ast-engine.ok{background:#edf8f2;border:1px solid #b9dfca;color:#11623c}.r4ast-engine.warn{background:#fff8e9;border:1px solid #efd49e;color:#82500a}

.r4ast-context{margin-top:16px;border:1px solid #b9dfca;border-radius:15px;background:#f7fcf9;overflow:hidden}.r4ast-context h3{margin:0;padding:14px 16px;background:#edf8f2;color:#11623c;font-size:17px}.r4ast-context-item{padding:13px 16px;border-top:1px solid #dceee4}.r4ast-context-item:first-child{border-top:0}.r4ast-context-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.r4ast-context-top strong{font:900 19px/1.5 Arial,sans-serif;direction:ltr;color:#173867}.r4ast-context-top span{padding:4px 9px;border-radius:999px;background:#dff3e7;color:#11623c;font-size:11px;font-weight:900}.r4ast-context-desc{margin-top:5px;color:#526b5e;font-size:13px;line-height:1.7}.r4ast-context-desc small{display:block;margin-top:3px;color:#75867d}.r4ast-review-word,.r4ast-context-top strong{unicode-bidi:plaintext}
.r4ast-repeat{font-size:.78em;font-weight:700;color:#8a5a00;white-space:nowrap}
.r4ast-review-desc small{display:block;margin-top:4px;color:#8a7658;line-height:1.65;font-size:11px;unicode-bidi:plaintext}
\n\n/* v0.4.1 human confirmation */
.r4ast-review-item.is-confirmed{border-color:#9ed7b2;background:#f5fff8}
.r4ast-review-badge.confirmed{background:#e5f7eb;color:#17663a;border-color:#bfe6cc}
.r4ast-manual{margin-top:12px;padding:12px;border:1px dashed #cad7e7;border-radius:12px;background:#fff}
.r4ast-manual label{display:block;font-weight:800;color:#17375e;margin-bottom:8px}
.r4ast-manual-row{display:flex;gap:8px;align-items:stretch}
.r4ast-manual-input{flex:1;min-width:0;border:1px solid #b8c9dc;border-radius:10px;padding:10px 12px;font:600 18px/1.3 Arial,sans-serif;background:#fff;color:#0d2855}
.r4ast-manual-input:focus{outline:2px solid rgba(31,95,174,.18);border-color:#1f5fae}
.r4ast-manual-apply{border:0;border-radius:10px;background:#0d2855;color:#fff;padding:10px 18px;font:700 14px/1.2 inherit;cursor:pointer;white-space:nowrap}
.r4ast-manual-help{display:block;margin-top:7px;color:#66788d;line-height:1.6}
.r4ast-manual-feedback{min-height:20px;margin-top:7px;font-weight:700;font-size:13px}
.r4ast-manual-feedback.err{color:#a52f2f}.r4ast-manual-feedback.ok{color:#18713f}
.r4ast-manual-chosen{margin-top:10px;padding:8px 10px;border-radius:9px;background:#e9f8ee;color:#17663a;font-weight:800}
@media(max-width:549px){.r4ast-manual-row{flex-direction:column}.r4ast-manual-apply{width:100%}}


/* v0.4.2 click-the-vowel stress confirmation */
.r4ast-letter-picker-wrap{background:#fbfdff}
.r4ast-letter-picker{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px;margin:10px 0 8px;padding:10px 8px;border:1px solid #dce6f1;border-radius:12px;background:#fff;direction:ltr;unicode-bidi:isolate}
.r4ast-letter-static,.r4ast-letter-choice{min-width:34px;height:44px;display:inline-flex;align-items:center;justify-content:center;font:900 25px/1 Arial,sans-serif;border-radius:9px;box-sizing:border-box}
.r4ast-letter-static{color:#294766;border:1px solid transparent}
.r4ast-letter-vowel-muted{background:#f3f5f8;color:#8a98a8}
.r4ast-letter-choice{border:1px solid #8fb2db!important;background:#edf5ff!important;color:#0d376d!important;cursor:pointer;padding:0 7px!important;transition:.15s ease}
.r4ast-letter-choice:hover{border-color:#1f5fae!important;background:#e2efff!important;transform:translateY(-1px)}
.r4ast-letter-choice.selected{border-color:#17663a!important;background:#e7f7ed!important;color:#17663a!important;box-shadow:0 0 0 3px rgba(23,102,58,.1)!important}
.r4ast-stress-hints{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 2px;direction:ltr;unicode-bidi:isolate}
.r4ast-stress-hints span{padding:6px 9px;border-radius:9px;background:#f3f6fa;color:#52657d;font-size:12px;direction:ltr}
.r4ast-stress-hints b{font:800 15px/1.4 Arial,sans-serif;color:#173867}
@media(max-width:549px){.r4ast-letter-static,.r4ast-letter-choice{min-width:30px;height:40px;font-size:22px}.r4ast-letter-picker{gap:3px;padding:8px 5px}}

.r4ast-spelling-accept{margin-top:10px;border:1px solid #1f5fae!important;background:#eef5ff!important;color:#173867!important;border-radius:10px!important;padding:9px 12px!important;font-weight:800;cursor:pointer}.r4ast-compound-picker{display:grid;gap:9px;margin-top:10px}.r4ast-compound-segment{border:1px dashed #d7e2ef;border-radius:11px;padding:8px 10px;background:#fff}.r4ast-compound-label{display:block;font-size:11px;color:#6b7c91;font-weight:800;margin-bottom:5px}.r4ast-compound-fixed{display:block;font:900 20px/1.4 Arial,sans-serif;direction:ltr;color:#17663a}.r4ast-compound-segment .r4ast-letter-picker{margin:4px 0}.r4ast-review-item.is-confirmed .r4ast-spelling-accept{display:none}

/* v0.4.4 — evidence score on vowel hover/focus.
   The score is dictionary-support share, not a corpus usage probability. */
.r4ast-letter-choice{position:relative;overflow:visible}
.r4ast-letter-choice[data-confidence-label]::after{
  content:attr(data-confidence-label);position:absolute;left:50%;bottom:calc(100% + 9px);
  transform:translate(-50%,5px);opacity:0;visibility:hidden;pointer-events:none;z-index:50;
  white-space:nowrap;background:#102f58;color:#fff;border-radius:8px;padding:6px 9px;
  font:800 11px/1.25 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  box-shadow:0 6px 16px rgba(16,47,88,.22);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
  direction:rtl;unicode-bidi:plaintext
}
.r4ast-letter-choice[data-confidence-label]::before{
  content:"";position:absolute;left:50%;bottom:calc(100% + 3px);transform:translateX(-50%);
  opacity:0;visibility:hidden;z-index:51;border:6px solid transparent;border-top-color:#102f58;
  transition:opacity .15s ease,visibility .15s ease
}
.r4ast-letter-choice[data-confidence-label]:hover::after,
.r4ast-letter-choice[data-confidence-label]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.r4ast-letter-choice[data-confidence-label]:hover::before,
.r4ast-letter-choice[data-confidence-label]:focus-visible::before{opacity:1;visibility:visible}
@media (hover:none){
  .r4ast-letter-choice.selected[data-confidence-label]::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
  .r4ast-letter-choice.selected[data-confidence-label]::before{opacity:1;visibility:visible}
}

/* v0.5.0: trusted Russian4Arab corpus examples on unresolved cards */
.r4ast-project-examples{margin-top:12px;border:1px solid #dbe7f2;border-radius:12px;background:#f8fbff;overflow:hidden}
.r4ast-project-examples summary{cursor:pointer;padding:10px 12px;font-weight:800;color:#173550}
.r4ast-project-example{display:grid;gap:4px;padding:10px 12px;border-top:1px solid #e5edf5}
.r4ast-project-example>span{font-size:12px;color:#64778a;font-weight:700}
.r4ast-project-example>strong{font-size:17px;color:#102f50;text-align:left;direction:ltr}
.r4ast-project-example>small{font-size:13px;color:#3d5265}
.r4ast-project-verb{padding:10px 12px;border-top:1px solid #e5edf5;color:#29465f}


/* v0.6.1 — visual stress rendering shared by Stress Tool, Learning Tools and Grammar Tools.
   Keep the exact surrounding font metrics; only the stressed vowel changes color. */
:root{--r4a-stress-letter-color:#d62828}
.r4a-stress-token{font:inherit!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;font-style:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;color:inherit;white-space:inherit}
.r4a-stressed-letter{font:inherit!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;font-style:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;color:var(--r4a-stress-letter-color)!important;text-shadow:none!important;vertical-align:baseline!important}
.r4ast-output .r4a-stress-token,.r4ast-context .r4a-stress-token,.r4ast-review .r4a-stress-token{unicode-bidi:isolate}


/* v0.7.0 — secure app-only shortcode state. */
.r4ast-gate-locked{box-sizing:border-box;margin:18px auto;padding:18px 16px;max-width:760px;border:1px solid #d8e2ef;border-radius:16px;background:#f8fbff;color:#173867;direction:rtl;text-align:right;box-shadow:0 6px 20px rgba(16,47,88,.06)}
.r4ast-gate-locked strong{display:block;margin-bottom:7px;color:#0d2855;font-size:17px}
.r4ast-gate-locked span{display:block;color:#52657d;font-size:14px;line-height:1.8}

/* v0.8.0 — cleaner learner UI + partner-plugin stress layout fixes. */
.r4ast[hidden],.r4ast-status[hidden],.r4ast-engine[hidden]{display:none!important}

/* Keep every Russian word as one visual unit. This prevents the highlighted
   stressed vowel from wrapping onto a separate line inside compact cards. */
.r4a-stress-token{
  display:inline-block!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  vertical-align:baseline!important;
  text-transform:inherit!important;
}
.r4a-stressed-letter{
  display:inline!important;
  white-space:nowrap!important;
  text-transform:inherit!important;
}

/* Grammar Tools + Learning Tools: preserve the host card typography while
   preventing bidi/line-break artifacts around the highlighted vowel. */
[data-r4a-stress-scope] .r4a-stress-token{
  max-width:100%;
  margin:0 .015em;
  line-height:inherit!important;
}
[data-r4a-stress-scope] .r4a-stressed-letter{
  color:#c62828!important;
  font-size:inherit!important;
  line-height:inherit!important;
  vertical-align:baseline!important;
}

/* Analysis details are useful, but should not dominate the mobile result. */
.r4ast-result-details{border-top:1px solid #edf1f5;background:#fbfdff}
.r4ast-result-details>summary{list-style:none;cursor:pointer;padding:11px 14px;color:#53657c;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:8px}
.r4ast-result-details>summary::-webkit-details-marker{display:none}
.r4ast-result-details>summary::after{content:"⌄";font-size:16px;line-height:1;transition:transform .18s ease}
.r4ast-result-details[open]>summary::after{transform:rotate(180deg)}
.r4ast-result-details .r4ast-summary{border-top:1px solid #edf1f5;background:#fff;padding:12px 14px}

/* Put methodology, source attribution and release notes behind one explicit
   information control. The information stays available and is not deleted. */
.r4ast-info{margin-top:18px;border:1px solid #dbe5ef;border-radius:14px;background:#fbfdff;overflow:hidden}
.r4ast-info>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px;color:var(--navy);font-size:13px;font-weight:900;user-select:none}
.r4ast-info>summary::-webkit-details-marker{display:none}
.r4ast-info-icon{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:#e9f1fb;color:var(--navy);font:900 14px/1 Arial,sans-serif}
.r4ast-info-chevron{margin-inline-start:auto;font-size:18px;line-height:1;color:#708198;transition:transform .18s ease}
.r4ast-info[open] .r4ast-info-chevron{transform:rotate(180deg)}
.r4ast-info-panel{padding:0 13px 13px;border-top:1px solid #e8eef5}
.r4ast-info-panel .r4ast-engine{margin:12px 0 0}
.r4ast-info-panel .r4ast-note{margin-top:12px;background:#fff;border-style:solid;border-color:#e2eaf3;padding:12px}
.r4ast-info-panel .r4ast-note span{font-size:12px;line-height:1.75}
.r4ast-source-note{margin:12px 0 0;padding:11px 12px;border-radius:10px;background:#fff;color:#5d6e82;font-size:12px;line-height:1.8;border:1px solid #e5ebf2}
.r4ast-source-note strong{color:var(--navy)}
.r4ast-beta{margin:10px 0 0;padding:0 2px;color:#7b8796;font-size:11px;line-height:1.75}
.r4ast-beta code{direction:ltr;unicode-bidi:isolate;font-size:11px}

/* App-only secure shortcode: less page chrome, more room for the actual tool. */
.r4ast--app{margin:10px 0;border-radius:16px;box-shadow:0 4px 16px rgba(13,40,85,.05)}
.r4ast--app .r4ast-kicker{display:none}
.r4ast--app .r4ast-head{padding:17px 15px;background:linear-gradient(135deg,#f8fbff,#f1f6fd)}
.r4ast--app .r4ast-head h2{font-size:20px;margin-bottom:5px}
.r4ast--app .r4ast-head p{font-size:13px;line-height:1.65}
.r4ast--app .r4ast-body{padding:14px}
.r4ast--app .r4ast-input{min-height:78px;font-size:18px;border-radius:12px}
.r4ast--app .r4ast-primary,.r4ast--app .r4ast-secondary{min-height:42px}
.r4ast--app .r4ast-status{margin-top:12px}
.r4ast--app .r4ast-result{margin-top:12px}
.r4ast--app .r4ast-review,.r4ast--app .r4ast-context{margin-top:12px}
.r4ast--app .r4ast-examples{margin-top:14px}
.r4ast--app .r4ast-info{margin-top:14px}

@media(max-width:640px){
  .r4ast-result-details>summary,.r4ast-info>summary{min-height:44px}
  .r4ast-info-panel{padding:0 11px 11px}
  .r4ast--app .r4ast-actions{grid-template-columns:minmax(0,1fr) auto}
  .r4ast--app .r4ast-actions .r4ast-secondary{width:auto;min-width:84px}
}


/* v0.8.1 — partner typography cleanup.
   The release/debug note remains in the plugin source for maintenance but is
   not learner-facing. Attribution and methodology stay available in the info
   disclosure above. */
.r4ast-info .r4ast-beta{display:none!important}

/* Defensive reset for any legacy highlighted markup left by a cached page.
   Fresh v0.8.1 partner rendering uses one native Unicode text node per source
   text node, so these rules should normally be inert. */
[data-r4a-stress-scope] .r4a-stress-token,
[data-r4a-stress-scope] .r4a-stressed-letter{
  margin:0!important;padding:0!important;border:0!important;background:transparent!important;
  box-shadow:none!important;transform:none!important;position:static!important;float:none!important;
  width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;
  display:inline!important;letter-spacing:inherit!important;word-spacing:inherit!important;
  line-height:inherit!important;vertical-align:baseline!important;
}
