:root{
  --tools-bg:#f6f7f9;
  --tools-surface:#ffffff;
  --tools-surface-soft:#f0f3f6;
  --tools-text:#14171a;
  --tools-muted:#64707d;
  --tools-line:#dfe5eb;
  --tools-accent:#1769e0;
  --tools-accent-dark:#0f4fb3;
  --tools-good:#12805c;
  --tools-radius:8px;
  --tools-shadow:0 10px 28px rgba(20,23,26,.08);
}
*{box-sizing:border-box}
html{background:var(--tools-bg);color:var(--tools-text)}
body{margin:0;background:var(--tools-bg);color:var(--tools-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.65;letter-spacing:0}
a{color:inherit}.gnav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);border-bottom:1px solid var(--tools-line);backdrop-filter:saturate(140%) blur(10px)}
.gnav-inner{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:16px}.gbrand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--tools-text);text-decoration:none;white-space:nowrap}.gbrand .logo{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;background:var(--tools-text);color:#fff;font-size:15px}.gnav .spacer{flex:1}.menus{display:flex;gap:6px}.menu{position:relative}.menu>button{appearance:none;border:1px solid transparent;background:transparent;color:var(--tools-text);padding:8px 10px;border-radius:7px;cursor:pointer;font-size:14px;font-weight:650}.menu>button:hover{background:var(--tools-surface-soft);border-color:var(--tools-line)}.menu[aria-expanded="true"]>button{background:var(--tools-text);color:#fff}.menu-panel{position:absolute;right:0;top:calc(100% + 8px);background:var(--tools-surface);border:1px solid var(--tools-line);border-radius:8px;box-shadow:var(--tools-shadow);min-width:260px;padding:8px;display:none}.menu[aria-expanded="true"] .menu-panel{display:block}.menu-panel a{display:block;padding:10px 12px;border-radius:7px;text-decoration:none;color:var(--tools-text);font-size:14px}.menu-panel a:hover{background:var(--tools-surface-soft)}.menu-panel a.active{background:var(--tools-text);color:#fff}
.tools-shell,.container{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:32px 0 56px}.tools-hero{padding:44px 0 20px}.tools-eyebrow{margin:0 0 8px;color:var(--tools-accent);font-weight:750;font-size:13px;text-transform:uppercase}.tools-hero h1,.container>h1,.header h1{margin:0 0 12px;color:var(--tools-text);font-size:clamp(28px,4vw,46px);line-height:1.12;font-weight:800;letter-spacing:0}.tools-lead,.lead{max-width:760px;margin:0;color:var(--tools-muted);font-size:16px}.tools-notice{margin:20px 0 26px;padding:18px 20px;border:1px solid var(--tools-line);border-radius:var(--tools-radius);background:var(--tools-surface)}.tools-notice h2{margin:0 0 6px;font-size:17px}.tools-notice p{margin:0;color:var(--tools-muted)}.tool-section{margin-top:28px}.tool-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.tool-section-head h2,.section h2{margin:0;color:var(--tools-text);font-size:20px}.tool-section-head span{color:var(--tools-muted);font-size:13px}.tool-grid,.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card,.card{display:block;min-height:136px;padding:18px;border:1px solid var(--tools-line);border-radius:var(--tools-radius);background:var(--tools-surface);box-shadow:none;text-decoration:none;color:var(--tools-text);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.tool-card:hover,.card:hover{border-color:rgba(23,105,224,.45);box-shadow:var(--tools-shadow);transform:translateY(-2px)}.tool-card-title,.card h3{display:block;margin:0 0 8px;font-size:17px;font-weight:750;color:var(--tools-text)}.tool-card-desc,.card p{display:block;margin:0;color:var(--tools-muted);font-size:14px;line-height:1.7}.tool-card-action,.link{display:inline-flex;margin-top:14px;color:var(--tools-accent);font-size:14px;font-weight:700;text-decoration:none}.tool-card-action::after,.link::after{content:"→";margin-left:6px}.card a.link{color:var(--tools-accent)}
.card,.description,fieldset,.result-card,.p-color-code .result-card{border:1px solid var(--tools-line)!important;border-radius:var(--tools-radius)!important;box-shadow:none!important;background:var(--tools-surface)!important}button,.button,input[type="button"],input[type="submit"]{border-radius:7px!important;background:var(--tools-accent)!important;color:#fff!important;border:0!important;box-shadow:none!important}button:hover,.button:hover,input[type="button"]:hover,input[type="submit"]:hover{background:var(--tools-accent-dark)!important;transform:none!important;box-shadow:none!important}input,textarea,select{border:1px solid var(--tools-line)!important;border-radius:7px!important;background:#fff!important;color:var(--tools-text)!important}textarea:focus,input:focus,select:focus{outline:2px solid rgba(23,105,224,.22)!important;border-color:var(--tools-accent)!important}.header{padding:32px 0 0;text-align:left}.header h1{color:var(--tools-text)!important}.toast{border-radius:7px!important;background:var(--tools-good)!important}
@media (max-width:900px){.tool-grid,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.menus{gap:2px}.menu>button{padding:8px 7px;font-size:13px}.menu-panel{right:auto;left:0}}
@media (max-width:640px){.gnav-inner{padding:10px 14px;align-items:flex-start}.menus{flex-wrap:wrap;justify-content:flex-end}.tool-grid,.cards{grid-template-columns:1fr}.tools-shell,.container{width:min(100% - 28px,1120px);padding-top:24px}.tool-section-head{align-items:flex-start;flex-direction:column}.menu-panel{position:fixed;left:14px;right:14px;top:58px;min-width:0}}
.tool-intro{width:min(1120px,calc(100% - 40px));margin:28px auto 0;padding:16px 18px;border:1px solid var(--tools-line);border-radius:var(--tools-radius);background:var(--tools-surface);color:var(--tools-muted);font-size:15px}.tool-intro p{margin:0;max-width:900px}@media (max-width:640px){.tool-intro{width:min(100% - 28px,1120px);margin-top:18px}}

body>h1{width:min(1120px,calc(100% - 40px));margin:30px auto 24px;font-size:clamp(28px,4vw,42px);line-height:1.2;color:var(--tools-text)}@media (max-width:640px){body>h1{width:min(100% - 28px,1120px);margin:24px auto 18px}}

.header{width:min(1120px,calc(100% - 40px))!important;margin:30px auto 0!important;padding:0!important}@media (max-width:640px){.header{width:min(100% - 28px,1120px)!important;margin-top:24px!important}}

.tool-external-note{width:min(1120px,calc(100% - 40px));margin:12px auto 0;padding:14px 18px;border:1px solid #cfd9e4;border-radius:var(--tools-radius);background:#f8fbff;color:var(--tools-muted);font-size:14px}.tool-external-note h2{margin:0 0 4px;font-size:15px;color:var(--tools-text)}.tool-external-note p{margin:0;max-width:920px}@media (max-width:640px){.tool-external-note{width:min(100% - 28px,1120px)}}

/* Legacy single-page tool controls */
body .buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
body .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body .buttons button,
body .row > button,
body #btn,
body #countBtn,
body #resetBtn,
body #generateBtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:0 16px!important;border:0!important;border-radius:7px!important;background:var(--tools-accent)!important;color:#fff!important;font-weight:700!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;text-decoration:none!important}
body .buttons button:hover,
body .row > button:hover,
body #btn:hover,
body #countBtn:hover,
body #resetBtn:hover,
body #generateBtn:hover{background:var(--tools-accent-dark)!important}
/* Keep global navigation distinct from tool action buttons */
.gnav .menu > button{appearance:none!important;background:transparent!important;color:var(--tools-text)!important;border:1px solid transparent!important;min-height:auto!important;padding:8px 10px!important;border-radius:7px!important;font-size:14px!important;font-weight:650!important;line-height:1.2!important}
.gnav .menu > button:hover{background:var(--tools-surface-soft)!important;color:var(--tools-text)!important;border-color:var(--tools-line)!important}
.gnav .menu[aria-expanded="true"] > button{background:var(--tools-text)!important;color:#fff!important;border-color:var(--tools-text)!important}
/* Normalize legacy page-level spacing after inline page styles */
body{padding:0!important;margin:0!important}
body>.container:first-of-type{margin-top:32px!important}
.tool-intro+.container{margin-top:32px!important}
.card:hover,.description:hover{transform:none!important;box-shadow:none!important}

/* Character count page layout */
#textInput{display:block!important;width:100%!important;min-height:220px!important;padding:14px 16px!important;font-size:15px!important;line-height:1.7!important;resize:vertical!important;margin:14px 0 16px!important}
#textInput ~ .buttons{margin:0 0 18px!important}
#textInput ~ .buttons label{display:inline-flex!important;align-items:center!important;gap:6px!important;color:var(--tools-text)!important;font-size:14px!important}
#textInput ~ .buttons input[type="checkbox"]{width:16px!important;height:16px!important;margin:0!important;accent-color:var(--tools-accent)}
#textInput ~ table{width:min(560px,100%)!important;border-collapse:collapse!important;margin-top:8px!important;font-size:15px!important}
#textInput ~ table td{padding:8px 0!important;border-bottom:1px solid var(--tools-line)!important;vertical-align:middle!important}
#textInput ~ table td:last-child{width:110px!important;text-align:right!important;font-variant-numeric:tabular-nums!important;font-weight:700!important;color:var(--tools-text)!important}
#textInput ~ table tr:last-child td{border-bottom:0!important}