
.rw-strength{display:flex;align-items:center;gap:7px;font-size:.85rem}
.rw-strength input{width:104px;accent-color:#141414}
.rw-strength .lab{color:var(--mut);font-size:.75rem;white-space:nowrap}
/* The rule in the margin is the whole marker. A text label was tried both as a float
   (it landed inside the last line and read as part of the paragraph) and as an absolute
   tag above the block (it clipped out of view on the first one); the block carries a
   title attribute instead, which needs no space and reads out to screen readers. */
.marked .pg.rwb{border-left:3px solid var(--human);padding-left:9px;margin-left:-12px}
.marked .pg.rwsel{outline:2px dashed var(--ink);outline-offset:3px}
.rw-pop{position:absolute;z-index:20;background:#fff;border:1px solid var(--ink);
  box-shadow:0 4px 18px rgba(0,0,0,.14);max-width:min(430px,86vw);padding:11px 13px;font-size:.85rem}
.rw-pop h4{margin:0 0 6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.rw-pop .orig{background:#fbfbfb;border:1px solid var(--bd);padding:7px 9px;
  overflow:auto;line-height:1.55;white-space:pre-wrap;max-height:210px}
.rw-pop .acts{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
.rw-pop button{font:inherit;font-size:.8rem;padding:3px 10px;border:1px solid var(--bd2);
  background:#fff;color:var(--ink);cursor:pointer}
.rw-pop button:hover{border-color:var(--ink)}
.rw-pop .x{position:absolute;top:5px;right:8px;border:0;background:0;font-size:1.05rem;padding:0 3px}
.rw-sel{position:absolute;z-index:15}
.rw-sel button{font:inherit;font-size:.8rem;font-weight:600;padding:4px 12px;border:1px solid var(--ink);
  background:var(--ink);color:#fff;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.rw-ba{font-size:.8rem;color:var(--mut);margin-top:3px}
.rw-ba b{color:var(--ink)}
.rw-note{font-size:.8rem;margin-top:7px;padding:7px 9px;border-left:3px solid var(--ai);background:#fdf6f5}
.rw-note.good{border-left-color:var(--human);background:#f4faf6}
/* progress is not a problem: reporting it in the error colour makes a working rewrite
   look like a failed one */
.rw-note.working{border-left-color:var(--ink);background:#f6f6f6;color:var(--mut)}
.app-top .rw-acct{font-size:.82rem;color:var(--mut);white-space:nowrap;margin-left:auto}
@media(max-width:700px){.app-top .rw-acct,.app-top .rw-save{margin-left:0}}
.app-top .rw-acct b{color:var(--ink);font-weight:700}
.app-top .rw-acct a{margin-left:9px}
/* the block currently being rewritten, so the work is visible WHERE it happens rather
   than only as a spinner in the toolbar */
.marked .pg.rwwork{border-left:3px solid var(--ink);padding-left:9px;margin-left:-12px;
  animation:rwpulse 1.25s ease-in-out infinite}
@keyframes rwpulse{0%,100%{background:rgba(20,20,20,.035)}50%{background:rgba(20,20,20,.10)}}
@media(prefers-reduced-motion:reduce){.marked .pg.rwwork{animation:none;background:rgba(20,20,20,.06)}}
/* A centred modal over the whole page, not a panel jammed into the right pane. Clicking Sign
   in when you already have an account and no rewrite in flight used to drop this over the
   editor and churn nonsense behind it; a plain dialog on a dimmed backdrop is what that
   action actually wants. */
.rw-gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(24,24,24,.55);z-index:1000;padding:22px}
@media(prefers-color-scheme:dark){.rw-gate{background:rgba(0,0,0,.64)}}
.rw-gate .box{max-width:380px;width:100%;text-align:center;background:var(--bg,#fff);
  border:1px solid var(--ink);box-shadow:0 12px 44px rgba(0,0,0,.30);padding:24px 26px}
.rw-gate h3{margin:0 0 5px;font-size:1.12rem}
.rw-gate p{color:var(--mut);font-size:.87rem;margin:0 0 13px}
.rw-gate input{font:inherit;font-size:.95rem;padding:7px 10px;border:1px solid var(--bd2);
  width:100%;box-sizing:border-box;text-align:center}
.rw-gate input:focus{outline:none;border-color:var(--ink)}
.rw-gate input.code{letter-spacing:.42em;font-family:"SF Mono",ui-monospace,Menlo,Consolas,monospace}
.rw-gate button{font:inherit;font-weight:600;padding:7px 16px;border:1px solid var(--ink);
  background:var(--ink);color:#fff;cursor:pointer;margin-top:9px;width:100%}
.rw-gate button:disabled{opacity:.55;cursor:default}
.rw-gate .alt{margin-top:10px;font-size:.8rem}
.rw-gate .err{color:var(--ai);font-size:.82rem;min-height:1.2em;margin-top:7px}
.rw-gate .dev{margin-top:9px;font-size:.75rem;color:var(--mut);font-family:ui-monospace,Menlo,monospace}
.rw-gate .box.wide{max-width:660px}
.rw-tiers{display:flex;gap:11px;margin-top:14px;flex-wrap:wrap;justify-content:center}
.rw-tier{flex:1 1 170px;border:1px solid var(--bd2);padding:13px 12px;text-align:left;position:relative;background:#fff}
.rw-tier.feat{border-color:var(--ink);box-shadow:0 2px 0 var(--ink)}
.rw-tier .nm{font-weight:700;font-size:.95rem}
.rw-tier .pr{font-size:1.5rem;font-weight:700;margin:3px 0 1px}
.rw-tier .wd{font-size:.78rem;color:var(--mut)}
.rw-tier .bl{font-size:.76rem;color:var(--mut);margin-top:6px;line-height:1.45}
.rw-tier .badge{position:absolute;top:-9px;right:9px;background:var(--ink);color:#fff;
  font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px}
.rw-google{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;
  background:#fff;color:#1f1f1f;border:1px solid #dadce0;font-weight:500;padding:10px 14px}
.rw-google:hover{background:#f7f8f8;border-color:#c9ced4}
.rw-google::before{content:"";width:17px;height:17px;flex:none;background-repeat:no-repeat;
  background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%234285F4' d='M45.1 24.5c0-1.6-.1-3.1-.4-4.5H24v8.5h11.8c-.5 2.7-2 5-4.4 6.600v5.5h7.1c4.2-3.8 6.6-9.5 6.6-16.1z'/%3E%3Cpath fill='%2334A853' d='M24 46c6 0 11-2 14.6-5.4l-7.1-5.5c-2 1.3-4.5 2.1-7.5 2.1-5.8 0-10.7-3.9-12.4-9.1H4.3v5.7C7.9 41 15.4 46 24 46z'/%3E%3Cpath fill='%23FBBC05' d='M11.6 28.1c-.4-1.3-.7-2.7-.7-4.1s.2-2.8.7-4.1v-5.7H4.3C2.8 17.1 2 20.4 2 24s.8 6.9 2.3 9.8l7.3-5.7z'/%3E%3Cpath fill='%23EA4335' d='M24 10.8c3.3 0 6.2 1.1 8.5 3.3l6.3-6.3C35 4.2 30 2 24 2 15.4 2 7.9 7 4.3 14.2l7.3 5.7c1.7-5.2 6.6-9.1 12.4-9.1z'/%3E%3C/svg%3E")}
.rw-or{font-size:.76rem;color:var(--mut);margin:13px 0 9px;position:relative}
.rw-or::before,.rw-or::after{content:"";position:absolute;top:50%;width:26%;height:1px;background:var(--bd2)}
.rw-or::before{left:0}.rw-or::after{right:0}

.rw-tier button{margin-top:10px}
.rw-tier button:disabled{opacity:.5}
.rw-tier .seats{font-size:.72rem;font-weight:700;margin-top:7px;letter-spacing:.02em}
.rw-tier .seats.out{opacity:.55;font-weight:400}
.app-top .rw-save{font-size:.78rem;color:var(--mut);margin-left:12px;white-space:nowrap}
.app-top .rw-save.err{color:var(--ai)}
.rw-list{margin-top:12px;text-align:left;max-height:46vh;overflow-y:auto;overflow-x:hidden;border:1px solid var(--bd)}
.rw-doc{display:flex;align-items:baseline;gap:10px;padding:9px 11px;min-width:0;border-bottom:1px solid var(--bd)}
.rw-doc:last-child{border-bottom:0}
.rw-doc.cur{background:#f6f6f6}
.rw-doc .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.rw-doc .m{font-size:.75rem;color:var(--mut);white-space:nowrap;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.rw-doc button{flex:0 0 auto;font:inherit;font-size:.76rem;padding:2px 9px;border:1px solid var(--bd2);
  background:#fff;color:var(--ink);cursor:pointer;width:auto;margin:0}
.rw-doc button:hover{border-color:var(--ink)}
.rw-doc button.del{border-color:var(--bd);color:var(--mut)}
.rw-doc button.del:hover{border-color:var(--ai);color:var(--ai)}
.rw-danger{margin-top:12px;font-size:.78rem;color:var(--mut);display:flex;justify-content:space-between;gap:10px;align-items:center}
.rw-danger a{color:var(--ai)}
