/* TextBases — Character Counter Formatter-Inspired Polish V1
   Adopts the approved Power Formatter V3 visual language without changing
   Character Counter measurement runtime, IDs, actions, or metric semantics. */

.tbv2-character-counter-polish-v1{
  --tbv2-cc-ui:"Geist Variable","Geist",Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --tbv2-cc-mono:"Geist Mono Variable","Geist Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --tbv2-cc-ink:#0b1533;
  --tbv2-cc-muted:#667085;
  --tbv2-cc-line:#dbe3ef;
  --tbv2-cc-line-strong:#ccd7e6;
  --tbv2-cc-soft:#fcfdff;
  --tbv2-cc-purple:#5b21d6;
  --tbv2-cc-purple-hover:#4c1d95;
  padding:18px 0 34px;
  font-family:var(--tbv2-cc-ui);
  letter-spacing:0;
}

.tbv2-character-counter-polish-v1>.tbv2-container{max-width:1180px}

.tbv2-character-counter-polish-v1 .tbv2-cc-workspace-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:0;
  align-items:stretch;
  min-height:0;
  overflow:visible;
  border:1px solid var(--tbv2-cc-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 44px rgba(15,23,42,.07);
}

.tbv2-character-counter-polish-v1 .tbv2-cc-panel{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  padding:20px;
  background:#fff;
  font-family:var(--tbv2-cc-ui);
}

.tbv2-character-counter-polish-v1 .tbv2-tool-panel-input{
  border-right:1px solid var(--tbv2-cc-line);
}

.tbv2-character-counter-polish-v1.tbv2-measurement-tool-workspace.tbv2-tool-chrome-authority-v6 .tbv2-tool-panel-output::before{
  content:none;
  display:none;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-panel-head{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:42px;
  margin:0 0 8px;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-panel-copy{
  min-width:0;
  padding:0;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-panel-copy h2{
  margin:0;
  color:var(--tbv2-cc-ink);
  font-family:var(--tbv2-cc-ui);
  font-size:16px;
  font-weight:600;
  line-height:1.28;
  letter-spacing:-.022em;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-panel-copy p{
  max-width:52ch;
  margin:4px 0 0;
  color:var(--tbv2-cc-muted);
  font-family:var(--tbv2-cc-ui);
  font-size:13px;
  font-weight:400;
  line-height:1.45;
  letter-spacing:-.005em;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-panel-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #ede9fe;
  border-radius:11px;
  background:#f5f3ff;
  color:var(--tbv2-cc-purple);
}

.tbv2-character-counter-polish-v1 .tbv2-cc-panel-icon-output{
  background:#f7f5ff;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-panel-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.tbv2-character-counter-polish-v1 .tbv2-tool-badge{
  align-self:start;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin:0;
  padding:0 10px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#667085;
  font-family:var(--tbv2-cc-mono);
  font-size:11.5px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.015em;
  box-shadow:none;
  white-space:nowrap;
}

.tbv2-character-counter-polish-v1 .tbv2-tool-badge strong{
  color:#344054;
  font-family:inherit;
  font-weight:550;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-status-badge{
  border-color:#d6eadf;
  background:#f3fbf6;
  color:#087443;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-live-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:#12a150;
  box-shadow:0 0 0 3px rgba(18,161,80,.08);
}

.tbv2-character-counter-polish-v1 .tbv2-cc-toolbar{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  align-self:stretch;
  min-height:34px;
  gap:7px;
  margin:-2px 0 16px;
}

.tbv2-character-counter-polish-v1 .tbv2-tool-action.tbv2-cc-toolbtn{
  width:auto;
  min-width:0;
  min-height:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 11px;
  border:1px solid #d7dfeb;
  border-radius:8px;
  background:#fff;
  color:#20283b;
  font-family:var(--tbv2-cc-ui);
  font-size:12px;
  font-weight:540;
  line-height:1;
  box-shadow:0 1px 2px rgba(15,23,42,.02);
}

.tbv2-character-counter-polish-v1 .tbv2-tool-action.tbv2-cc-toolbtn:hover{
  border-color:#c4b5fd;
  background:#faf9ff;
  color:var(--tbv2-cc-purple-hover);
  transform:none;
  box-shadow:0 1px 2px rgba(15,23,42,.02);
}

.tbv2-character-counter-polish-v1 .tbv2-tool-action.tbv2-cc-toolbtn:focus-visible{
  outline:3px solid rgba(124,58,237,.12);
  outline-offset:2px;
}

.tbv2-character-counter-polish-v1.tbv2-tool-action-authority-v5 .tbv2-tool-action.tbv2-cc-toolbtn::before{
  content:none;
  display:none;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-icon{
  width:15px;
  height:15px;
  flex:0 0 15px;
  display:inline-grid;
  place-items:center;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-icon svg{
  display:block;
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  overflow:visible;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-check-mark{
  opacity:0;
  stroke-dasharray:8;
  stroke-dashoffset:8;
  transition:stroke-dashoffset .3s ease-in-out,opacity .3s ease-in-out;
}

.tbv2-character-counter-polish-v1 #pasteBtn:hover .tbv2-cc-check-mark,
.tbv2-character-counter-polish-v1 #pasteBtn:focus-visible .tbv2-cc-check-mark{
  opacity:1;
  stroke-dashoffset:0;
}

.tbv2-character-counter-polish-v1 .tbv2-cc-copy-front,
.tbv2-character-counter-polish-v1 .tbv2-cc-copy-back{
  transform-box:fill-box;
  transform-origin:center;
  transition:transform .34s cubic-bezier(.34,1.56,.64,1);
}

.tbv2-character-counter-polish-v1 #copyBtn:hover .tbv2-cc-copy-front{
  transform:translate(-3px,-3px);
}

.tbv2-character-counter-polish-v1 #copyBtn:hover .tbv2-cc-copy-back{
  transform:translate(3px,3px);
}

.tbv2-character-counter-polish-v1 .tbv2-tool-textarea.tbv2-cc-textarea{
  flex:1 1 auto;
  width:100%;
  min-height:350px;
  height:350px;
  margin:0;
  padding:18px;
  resize:vertical;
  border:1px solid var(--tbv2-cc-line-strong);
  border-radius:10px;
  background:var(--tbv2-cc-soft);
  color:#111827;
  font-family:var(--tbv2-cc-ui);
  font-size:14px;
  font-weight:400;
  line-height:1.62;
  letter-spacing:-.008em;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.02);
}

.tbv2-character-counter-polish-v1 .tbv2-tool-textarea.tbv2-cc-textarea::placeholder{
  color:#98a2b3;
  opacity:1;
}

.tbv2-character-counter-polish-v1 .tbv2-tool-textarea.tbv2-cc-textarea:focus{
  border-color:#8b5cf6;
  outline:0;
  box-shadow:0 0 0 3px rgba(124,58,237,.09);
}

.tbv2-character-counter-polish-v1 .tbv2-tool-summary-panel{
  flex:1 1 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:stretch;
  width:100%;
  min-height:350px;
  height:350px;
  margin:0;
  overflow:hidden;
  border:1px solid #d5deea;
  border-radius:10px;
  background:var(--tbv2-cc-soft);
  box-shadow:inset 0 1px 2px rgba(15,23,42,.02);
}

.tbv2-character-counter-polish-v1 .tbv2-tool-summary-row{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  min-width:0;
  min-height:78px;
  margin:0;
  padding:13px 16px;
  border:0;
  border-right:1px solid #e6ebf2;
  border-bottom:1px solid #e6ebf2;
  background:transparent;
  box-shadow:none;
}

.tbv2-character-counter-polish-v1 .tbv2-tool-summary-row:nth-child(2n){
  border-right:0;
}

.tbv2-character-counter-polish-v1 .tbv2-tool-summary-row:nth-last-child(-n+2){
  border-bottom:0;
}

.tbv2-character-counter-polish-v1 .tbv2-tool-summary-row span{
  color:#667085;
  font-family:var(--tbv2-cc-ui);
  font-size:11.5px;
  font-weight:450;
  line-height:1.25;
  letter-spacing:0;
}

.tbv2-character-counter-polish-v1 .tbv2-tool-summary-row strong{
  margin:0;
  color:#3f1ab7;
  font-family:var(--tbv2-cc-mono);
  font-size:18px;
  font-weight:620;
  line-height:1.15;
  letter-spacing:-.025em;
  text-align:left;
  white-space:nowrap;
}

.tbv2-character-counter-polish-v1 .tbv2-tool-summary-panel:focus,
.tbv2-character-counter-polish-v1 .tbv2-tool-summary-panel:focus-visible{
  outline:3px solid rgba(124,58,237,.08);
  outline-offset:2px;
}

@media (max-width:900px){
  .tbv2-character-counter-polish-v1 .tbv2-cc-workspace-grid{
    grid-template-columns:1fr;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-panel-input{
    border-right:0;
    border-bottom:1px solid var(--tbv2-cc-line);
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-textarea.tbv2-cc-textarea{
    min-height:300px;
    height:300px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-summary-panel{
    min-height:0;
  }
}

@media (max-width:620px){
  .tbv2-character-counter-polish-v1{
    padding:12px 0 28px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-cc-workspace-grid{
    border-radius:18px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-cc-panel{
    padding:18px 14px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-cc-panel{
    display:flex;
    flex-direction:column;
  }

  .tbv2-character-counter-polish-v1 .tbv2-cc-panel-head{
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:9px;
    min-height:38px;
    margin:0 0 8px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-cc-panel-icon{
    width:38px;
    height:38px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-badge{
    grid-column:3;
    grid-row:1;
    align-self:center;
    justify-self:end;
    margin:0;
  }

  .tbv2-character-counter-polish-v1 .tbv2-cc-toolbar{
    gap:6px;
    margin:-1px 0 14px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-action.tbv2-cc-toolbtn{
    flex:1 1 calc(50% - 6px);
    padding:0 8px;
    font-size:11.5px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-textarea.tbv2-cc-textarea{
    min-height:280px;
    height:280px;
    padding:16px;
    font-size:16px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-summary-row{
    padding:12px 13px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-summary-row span{
    font-size:10.8px;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-summary-row strong{
    font-size:16px;
  }
}

@media (max-width:390px){
  .tbv2-character-counter-polish-v1 .tbv2-tool-action.tbv2-cc-toolbtn{
    flex-basis:100%;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-summary-panel{
    grid-template-columns:1fr;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-summary-row,
  .tbv2-character-counter-polish-v1 .tbv2-tool-summary-row:nth-child(2n),
  .tbv2-character-counter-polish-v1 .tbv2-tool-summary-row:nth-last-child(-n+2){
    min-height:64px;
    border-right:0;
    border-bottom:1px solid #e6ebf2;
  }

  .tbv2-character-counter-polish-v1 .tbv2-tool-summary-row:last-child{
    border-bottom:0;
  }
}
