.jin-character-counter,.jin-character-counter *{box-sizing:border-box}.jin-character-counter{--jin-counter-accent:#1769aa;--jin-counter-accent-dark:#0d4778;--jin-counter-border:#c8d1dc;--jin-counter-muted:#f4f7fa;--jin-counter-text:#1f2933;--jin-counter-success:#126e45;--jin-counter-warning:#9a5b00;--jin-counter-danger:#b42318;width:min(100%, 75rem);margin:.75rem auto;overflow:hidden;font-size:.9375rem;color:var(--jin-counter-text);background:#fff;border:1px solid var(--jin-counter-border);border-radius:.75rem;box-shadow:0 .5rem 1.5rem rgb(15 43 69/8%)}.jin-character-counter .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jin-character-counter__header{display:grid;grid-template-columns:minmax(5.5rem, 9rem) 1fr;min-height:5.75rem;border-bottom:1px solid var(--jin-counter-border)}.jin-character-counter__logo,.jin-character-counter__title{display:flex;align-items:center;justify-content:center;margin:0;padding:.75rem}.jin-character-counter__logo{background:var(--jin-counter-muted);border-right:1px solid var(--jin-counter-border)}.jin-character-counter__logo-image{display:block;width:auto;max-width:100%;height:auto;max-height:3.5rem;object-fit:contain}.jin-character-counter__logo-mark{display:inline-grid;place-items:center;width:3.75rem;min-height:2.5rem;font-size:1rem;font-weight:800;letter-spacing:.08em;color:#fff;background:var(--jin-counter-accent-dark);border-radius:.5rem}.jin-character-counter__title{font-size:clamp(1.2rem, 2.2vw, 1.7rem);line-height:1.3;text-align:center}.jin-character-counter__account{padding:.65rem clamp(0.75rem, 3vw, 1.25rem);text-align:center;border-bottom:1px solid var(--jin-counter-border)}.jin-character-counter__account-summary{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:center;margin:0;font-size:.8125rem;font-weight:650}.jin-character-counter__badge,.jin-character-counter__login-state,.jin-character-counter__limit{display:inline-block;padding:.2rem .55rem;font-size:.75rem;font-weight:700;border-radius:999px}.jin-character-counter__badge--free{color:#374151;background:#e5e7eb}.jin-character-counter__badge--pro{color:#6b3d00;background:#ffdf8a}.jin-character-counter__badge--beta{color:#fff;background:#6d28d9}.jin-character-counter__login-state{color:var(--jin-counter-success);background:#edf9f3;border:1px solid #9fd9bd}.jin-character-counter__limit{color:var(--jin-counter-accent-dark);background:#eaf4fc}.jin-character-counter__privacy{display:flex;gap:.5rem;align-items:flex-start;padding:.65rem clamp(0.75rem, 3vw, 1.25rem);font-size:.8125rem;color:#493800;background:#fff9df;border-bottom:1px solid #e3cb79}.jin-character-counter__privacy p,.jin-character-counter__intro p,.jin-character-counter__section-heading p{margin:0;line-height:1.55}.jin-character-counter__intro{padding:.85rem clamp(0.75rem, 3vw, 1.25rem);background:var(--jin-counter-muted);border-bottom:1px solid var(--jin-counter-border)}.jin-character-counter__intro h2,.jin-character-counter__section-heading h2{margin:0 0 .35rem;font-size:clamp(1rem, 1.8vw, 1.2rem);line-height:1.35}.jin-character-counter__main{padding:clamp(1rem, 3.5vw, 2rem)}.jin-character-counter__workspace{display:grid;gap:1.75rem;width:100%;margin:0 auto}.jin-character-counter__input-card,.jin-character-counter__keyword-card{padding:clamp(0.85rem, 2.5vw, 1.25rem);background:var(--jin-counter-muted);border:1px solid var(--jin-counter-border);border-radius:.65rem}.jin-character-counter__section-heading{display:flex;gap:1rem;align-items:flex-end;justify-content:space-between;margin-bottom:.75rem}.jin-character-counter__section-heading p{font-size:.8125rem;color:#52616f}.jin-character-counter textarea{display:block;width:100%;min-height:22.5rem;padding:.85rem;font:inherit;line-height:1.7;color:inherit;background:#fff;border:2px solid #788795;border-radius:.45rem;resize:vertical}.jin-character-counter textarea:focus-visible,.jin-character-counter input:focus-visible,.jin-character-counter select:focus-visible,.jin-character-counter button:focus-visible{outline:3px solid #f4bf47;outline-offset:2px}.jin-character-counter__button{min-height:2.65rem;padding:.55rem 1rem;font:inherit;font-weight:700;color:#fff;cursor:pointer;background:var(--jin-counter-accent);border:1px solid var(--jin-counter-accent-dark);border-radius:.4rem}.jin-character-counter__button:hover{background:var(--jin-counter-accent-dark)}.jin-character-counter__button--subtle{flex:0 0 auto;color:var(--jin-counter-accent-dark);background:#fff}.jin-character-counter__button--subtle:hover{color:#fff}.jin-character-counter__limit-row{display:grid;grid-template-columns:minmax(8rem, 1fr) auto;gap:.75rem;align-items:center;margin-top:.65rem}.jin-character-counter__limit-row p{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.jin-character-counter__progress{height:.7rem;overflow:hidden;background:#dce3ea;border-radius:999px}.jin-character-counter__progress span{display:block;width:0;height:100%;background:var(--jin-counter-accent);transition:width .12s ease}.jin-character-counter__progress.is-near-limit span{background:#d97706}.jin-character-counter__progress.is-over-limit span{background:var(--jin-counter-danger)}.jin-character-counter__notice{padding:.7rem .8rem;margin:.75rem 0 0 !important;font-weight:700;color:#7a3e00;background:#fff5d6;border:1px solid #e5b94c;border-radius:.4rem}.jin-character-counter__notice[data-type=error]{color:#7a271a;background:#fef3f2;border-color:#fda29b}.jin-character-counter__metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0, 1fr));gap:.75rem}.jin-character-counter__metric{position:relative;min-width:0;padding:.9rem;background:#fff;border:1px solid var(--jin-counter-border);border-radius:.55rem;box-shadow:0 .2rem .65rem rgb(15 43 69/5%)}.jin-character-counter__metric-heading{display:flex;gap:.4rem;align-items:flex-start;justify-content:space-between;min-height:2.5em;margin:0 0 .55rem}.jin-character-counter__metric h3{margin:0;font-size:.8125rem;line-height:1.35;color:#52616f}.jin-character-counter__tooltip{position:relative;z-index:2;display:inline-flex;flex:0 0 auto}.jin-character-counter__tooltip-trigger{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;padding:0;font:inherit;font-size:.75rem;font-weight:800;line-height:1;color:var(--jin-counter-accent-dark);cursor:help;background:#eef6fc;border:1px solid #7ca9ca;border-radius:999px}.jin-character-counter__tooltip-trigger:hover{color:#fff;background:var(--jin-counter-accent-dark);border-color:var(--jin-counter-accent-dark)}.jin-character-counter__tooltip-trigger:focus-visible{outline:3px solid rgb(23 105 170/32%);outline-offset:2px}.jin-character-counter__tooltip-content{position:absolute;top:calc(100% + 0.5rem);right:-.25rem;z-index:20;width:min(18rem, calc(100vw - 3rem));padding:.7rem .8rem;font-size:.75rem;font-weight:500;line-height:1.6;color:#fff;pointer-events:none;visibility:hidden;background:#17324a;border-radius:.45rem;box-shadow:0 .5rem 1.2rem rgb(15 43 69/24%);opacity:0;transform:translateY(-.2rem);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.jin-character-counter__tooltip-trigger:hover+.jin-character-counter__tooltip-content,.jin-character-counter__tooltip-trigger:focus+.jin-character-counter__tooltip-content{pointer-events:auto;visibility:visible;opacity:1;transform:translateY(0)}.jin-character-counter__metric output{display:block;overflow-wrap:anywhere;font-size:clamp(1.05rem, 2vw, 1.35rem);font-weight:800;font-variant-numeric:tabular-nums;color:var(--jin-counter-accent-dark)}.jin-character-counter__metric.is-warning{background:#fff8e7;border-color:#e5a93d}.jin-character-counter__metric.is-warning output{color:var(--jin-counter-warning)}.jin-character-counter__encoding{display:grid;gap:.25rem;flex:0 0 auto;font-size:.75rem;font-weight:700}.jin-character-counter__encoding select{min-height:2.4rem;padding:.35rem 2rem .35rem .55rem;font:inherit;background:#fff;border:1px solid #788795;border-radius:.35rem}.jin-character-counter__keyword-form{display:grid;gap:.4rem;margin-top:.9rem}.jin-character-counter__keyword-form>label{font-weight:700}.jin-character-counter__keyword-form>div{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:.55rem}.jin-character-counter__keyword-form input{min-width:0;min-height:2.65rem;padding:.55rem .7rem;font:inherit;background:#fff;border:1px solid #788795;border-radius:.4rem}.jin-character-counter__keyword-list{display:grid;gap:.5rem;padding:0;margin:.85rem 0 0;list-style:none}.jin-character-counter__keyword-list li{display:grid;grid-template-columns:minmax(0, 1fr) auto auto;gap:.75rem;align-items:center;padding:.65rem .75rem;background:#fff;border:1px solid var(--jin-counter-border);border-radius:.4rem}.jin-character-counter__keyword-list span{overflow-wrap:anywhere;font-weight:700}.jin-character-counter__keyword-list output{font-variant-numeric:tabular-nums}.jin-character-counter__keyword-remove{padding:.3rem .55rem;font:inherit;font-size:.75rem;color:#7a271a;cursor:pointer;background:#fff;border:1px solid #d92d20;border-radius:.3rem}.jin-character-counter__empty{margin:.85rem 0 0;font-size:.8125rem;color:#667582}@media (max-width:48rem){.jin-character-counter__metric-grid{grid-template-columns:repeat(2,minmax(0, 1fr))}.jin-character-counter textarea{min-height:18rem}}@media (max-width:37.5rem){.jin-character-counter{margin-block:.5rem;border-radius:.4rem}.jin-character-counter__header{grid-template-columns:4.75rem 1fr;min-height:4.5rem}.jin-character-counter__logo,.jin-character-counter__title{padding:.5rem}.jin-character-counter__logo-mark{width:3.25rem;min-height:2.25rem;font-size:.875rem}.jin-character-counter__section-heading{align-items:flex-start}.jin-character-counter__encoding{width:8.5rem}.jin-character-counter textarea{min-height:16.25rem}.jin-character-counter__keyword-form>div{grid-template-columns:1fr}.jin-character-counter__keyword-list li{grid-template-columns:minmax(0, 1fr) auto}.jin-character-counter__keyword-remove{grid-column:1/-1;justify-self:end}}@media (prefers-reduced-motion:reduce){.jin-character-counter *,.jin-character-counter *:before,.jin-character-counter *:after{scroll-behavior:auto !important;transition-duration:.01ms !important}}