/* PH1 additions. The owner's supplied blue visual system is in tools-common.css. */
[hidden]{display:none!important}
.main{min-width:0}.main-inner{min-width:0}
.site-intro{display:flex;justify-content:space-between;gap:16px;color:var(--ink-3);font-size:13px;margin-bottom:12px;flex-wrap:wrap}
.site-intro a{color:var(--brand-primary-dark);font-weight:700}
.privacy-note{padding:10px 14px;background:var(--success-tint);color:var(--success);border-radius:8px;font-size:12px;margin-bottom:24px}
.search-label{display:grid;gap:6px;padding:14px 20px 4px;font-size:12px;color:var(--ink-3)}
.search-label input{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface);color:var(--ink)}
.nav-item{min-height:40px}.nav-item.is-planned{opacity:.55;cursor:default}.planned-label{font-size:9px;margin-left:auto;white-space:nowrap}.nav-item.is-favorite::after{content:'★';color:var(--warn);margin-left:auto}
.search-empty{padding:20px;font-size:13px;color:var(--ink-3)}
.mobile-menu{display:none}
.settings,.utility-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0 22px}
.input-foot-left{flex-wrap:wrap;align-items:center}
.setting{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--ink-3)}
.setting input:not([type=checkbox]),.setting select{padding:6px 8px;border:1px solid var(--border);background:var(--surface);border-radius:6px;color:var(--ink);font:inherit;min-height:34px}
.setting input[type=number]{width:82px}.setting input[type=text]{width:180px}.setting input[type=checkbox]{accent-color:var(--brand-primary);width:16px;height:16px}
.setting input:invalid{border-color:var(--danger)}
.help-note{font-size:12px;color:var(--ink-3);line-height:1.8;margin:12px 0 20px;overflow-wrap:anywhere}
.frequency-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.frequency-table th{text-align:left;font-weight:500;color:var(--ink-3)}
.frequency-table td,.frequency-table th{border-bottom:1px solid var(--border);padding:9px 4px;overflow-wrap:anywhere}
.frequency-table th:first-child{width:60%}.frequency-table td:not(:first-child),.frequency-table th:not(:first-child){text-align:right}
.guide{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin:26px 0}
.guide summary{font-weight:700;cursor:pointer}.guide p{font-size:13px;line-height:1.9;margin-top:12px;color:var(--ink-3)}
.target-row{padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}
.external-toolbar{display:flex;gap:10px;flex-wrap:wrap}#existing-frame{display:block;width:100%;height:78vh;min-height:600px;border:1px solid var(--border);border-radius:12px;background:white}
/* Selected existing tools occupy the entire right pane beside the tool menu. */
.app.full-pane-embed>.main{padding:0}
.full-pane-embed .main-inner{max-width:none;margin:0}
.full-pane-embed .site-intro,.full-pane-embed #storage-status,.full-pane-embed .foot-strip,
.full-pane-embed #tool-existing>.crumbs,.full-pane-embed #tool-existing>.tool-hero,
.full-pane-embed #tool-existing>.external-toolbar,.full-pane-embed #tool-existing>.help-note{display:none}
.full-pane-embed #existing-frame{height:100vh;height:100dvh;min-height:600px;border:0;border-radius:0}
.preview-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin:12px;font-size:13px}
.print-region{max-width:100%;overflow-x:auto}.genko-pages{min-width:max-content}.genko-grid{grid-template-columns:repeat(var(--columns,20),var(--cell));grid-template-rows:repeat(20,var(--cell))}
.genko-page{flex-shrink:0}.genko-page-heading{overflow-wrap:anywhere}.genko-cell::before,.genko-cell::after{opacity:.35}
/* Grid coordinates must remain physical: cells alone use vertical typesetting. */
.genko-page{writing-mode:horizontal-tb;width:calc(var(--columns,20) * var(--cell) + 112px)}
.genko-grid{writing-mode:horizontal-tb;direction:ltr}
progress{width:100%;height:10px;accent-color:var(--brand-primary);margin-top:12px}
#tool-reading-time .stat-value{font-size:clamp(20px,2.3vw,32px)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;z-index:20;background:var(--brand-accent);color:white;border-radius:10px;padding:12px 20px;font-size:13px;max-width:90vw;transition:opacity .15s,transform .15s}
.toast.visible{opacity:1;transform:translateX(-50%)}
.confirm-dialog{margin:auto;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);max-width:calc(100% - 32px);box-shadow:var(--shadow-md)}
.confirm-dialog::backdrop{background:rgba(15,27,44,.45)}.confirm-dialog .utility-toolbar{justify-content:flex-end;margin-bottom:0}
.copy-fallback{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0}
.skip-link{position:fixed;top:-100px;left:12px;background:var(--surface);padding:12px;z-index:50}.skip-link:focus{top:12px}
button:disabled{opacity:.4;cursor:default}button:focus-visible,[role=button]:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}
#print-output{display:none}
.pdf-render-stage{position:fixed;left:-10000px;top:0;width:680px;background:white;color:#1f1b16;pointer-events:none}
.pdf-page.genko-page{--cell:26px!important;width:660px!important;min-width:660px!important;max-width:none!important;min-height:620px;padding:32px!important;margin:0!important;box-shadow:none!important;background:#fffdf7!important;border:0!important}
.pdf-page .genko-cell{font-family:'Yu Mincho','Hiragino Mincho ProN','MS Mincho',serif!important}
.pdf-page .genko-grid{justify-content:end}
.pdf-page .genko-page-heading{font-family:'Yu Mincho','Hiragino Mincho ProN','MS Mincho',serif!important;color:#54412b}
.pdf-page .genko-page-num{font-family:Arial,sans-serif!important}
:root[data-theme=dark]{color-scheme:dark;--bg:#101a27;--surface:#172536;--surface-2:#203146;--border:#33475f;--border-strong:#486078;--ink:#edf3fa;--ink-2:#d5e2ef;--ink-3:#abc0d5;--ink-4:#92a9c0;--brand-tint:#243d58;--brand-tint-2:#304c69;--brand-primary-dark:#91bde6;--brand-primary-darker:#a5c9ec;--success:#7eddb3;--success-tint:#183d32}
[data-theme=dark] .stat.is-primary{background:var(--brand-tint)}[data-theme=dark] .textarea{background:var(--surface);color:var(--ink)}[data-theme=dark] .btn{background:var(--surface);color:var(--ink)}[data-theme=dark] .btn-primary{background:#3877ab;color:white}
@media(max-width:960px){.mobile-menu{display:block;margin:0 20px 12px}.sidebar .nav{display:none;max-height:55vh;overflow:auto}.sidebar .nav.is-open{display:block}.sidebar .brand{padding:16px 20px}.search-label{padding-top:0;padding-bottom:12px}.sidebar-foot{position:absolute;right:16px;top:19px;border:none;padding:0}.sidebar-foot .foot-link{display:none}.sidebar .brand-name{padding-right:44px}.result-grid{gap:10px}.main{padding-top:20px}}
@media(max-width:520px){.main{padding:20px 14px 40px}.result-grid,.result-grid.cols-3{grid-template-columns:1fr}.tool-title{font-size:24px}.tool-sub{font-size:13px}.tool-hero{gap:12px}.tool-actions{width:100%}.utility-toolbar{gap:8px}.utility-toolbar .btn{font-size:12px}.input-foot{align-items:flex-start;gap:12px;flex-direction:column}.preview-pager{gap:8px}.preview-pager .btn{padding:8px;font-size:12px}.genko-page{--cell:23px}.site-intro{font-size:12px}.frequency-table th:first-child{width:54%}}
/* Native browser printing preserves vertical glyphs and selectable text. */
@media print{
  @page{size:A4 portrait;margin:12mm}
  body> :not(#print-output){display:none!important}
  #print-output{display:block!important;visibility:visible!important;color:#111;background:white}
  #print-output *{visibility:visible!important}
  #print-output .genko-page{--cell:7.2mm!important;display:block;width:180mm!important;max-width:180mm!important;min-height:180mm;padding:8mm!important;margin:0!important;break-after:page;break-inside:avoid;box-shadow:none;border:0;background:white;position:relative}
  #print-output .genko-page:last-child{break-after:auto}
  #print-output .genko-grid{display:grid!important;grid-template-columns:repeat(var(--columns,20),var(--cell))!important;grid-template-rows:repeat(20,var(--cell))!important;margin-right:10mm!important;justify-content:end}
  #print-output .genko-page-heading{right:5mm;top:8mm;bottom:10mm;font-size:12pt;color:#333}
  #print-output .genko-page-num{bottom:4mm;left:8mm}
}
/* Reference manuscript: spaced columns, central binding strip, compact preview. */
#tool-genko-convert .print-region{container-type:inline-size;overflow:auto}
#tool-genko-convert .genko-pages{min-width:0;align-items:center}
.genko-page{--cell:24px;--gap:calc(var(--cell)*.38);box-sizing:border-box;background:#fff;border-color:var(--genko-rule-color,#ad725b);min-height:0;padding:28px 18px;width:calc(var(--cell)*29.8 + 36px);writing-mode:horizontal-tb}
#tool-genko-convert .genko-page{--cell:min(24px,calc((100cqw - 38px)/29.8),calc((100vh - 220px)/22))}
.genko-page[data-size="200"]{width:calc(var(--cell)*13.92 + 36px)}
.genko-grid{column-gap:var(--gap);grid-template-columns:repeat(10,calc(var(--cell)*1.05)) calc(var(--cell)*1.2) repeat(10,calc(var(--cell)*1.05));grid-template-rows:repeat(20,var(--cell));margin:0;border:1px solid var(--genko-rule-color,#ad725b);justify-content:start}
.genko-page[data-size="200"] .genko-grid{grid-template-columns:repeat(10,calc(var(--cell)*1.05))}
.genko-cell{font-size:calc(var(--cell)*.60);line-height:1;border-color:var(--genko-rule-color,#ad725b);border-width:0 1px 1px;background:#fff}
/* The outer frame supplies these edges; avoid two adjacent 1px rules. */
.genko-cell.is-left-edge{border-left-width:0}
.genko-cell.is-bottom-edge{border-bottom-width:0}
.genko-cell.is-empty{background:#fff}.genko-cell::before,.genko-cell::after{display:none}
.genko-spine{grid-column:11;grid-row:1 / span 20;border-inline:1px solid var(--genko-rule-color,#ad725b);background:linear-gradient(to bottom,transparent 17%,var(--genko-rule-color,#ad725b) 17%,var(--genko-rule-color,#ad725b) 17.6%,transparent 17.6%,transparent 67%,var(--genko-rule-color,#ad725b) 67%,var(--genko-rule-color,#ad725b) 67.6%,transparent 67.6%)}
.genko-page-heading{writing-mode:horizontal-tb;top:5px;right:18px;bottom:auto;width:auto;padding:0;font-size:11px;letter-spacing:0}
.genko-page-num{bottom:7px;left:18px;font-size:10px}
#tool-genko-convert .genko-wrap{padding:12px}#tool-genko-convert .preview-pager{margin:8px 0}
.pdf-page.genko-page{--cell:26px!important;--gap:calc(var(--cell)*.38);width:810.8px!important;min-width:810.8px!important;min-height:0!important;padding:28px 18px!important;background:#fff!important}
.pdf-page.genko-page[data-size="200"]{width:397.92px!important;min-width:397.92px!important}
.pdf-page .genko-grid{justify-content:start}
@media print{
 #print-output .genko-page{--cell:8mm!important;--gap:calc(var(--cell)*.38);width:250.4mm!important;max-width:none!important;min-height:0!important;padding:6mm!important}
 #print-output .genko-page[data-size="200"]{width:123.36mm!important;margin-inline:auto!important}
 #print-output .genko-grid{grid-template-columns:repeat(10,calc(var(--cell)*1.05)) calc(var(--cell)*1.2) repeat(10,calc(var(--cell)*1.05))!important;margin:0!important;justify-content:start!important}
 #print-output .genko-page[data-size="200"] .genko-grid{grid-template-columns:repeat(10,calc(var(--cell)*1.05))!important}
 #print-output .genko-page-heading{top:1mm;right:6mm;bottom:auto;font-size:9pt}
 #print-output .genko-page-num{left:6mm;bottom:1mm}
}
.stopwatch-clock{font-size:clamp(30px,6vw,76px);font-weight:700;font-variant-numeric:tabular-nums;color:var(--brand-primary-dark);white-space:nowrap}
/* Descriptions extend below the header actions instead of wrapping beside them. */
.tool-hero.wide-description{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:20px;row-gap:0}
.wide-description>.tool-icon{grid-column:1;grid-row:1}
.wide-description>.tool-title-wrap{grid-column:2;grid-row:1}
.wide-description>.tool-actions{grid-column:3;grid-row:1}
.wide-description>.tool-sub{grid-column:2 / -1;grid-row:2;max-width:none;width:100%}
@media(max-width:700px){
 .tool-hero.wide-description{grid-template-columns:auto minmax(0,1fr);column-gap:14px}
 .wide-description>.tool-actions{grid-column:1 / -1;grid-row:3;margin-top:14px;justify-content:flex-start}
 .wide-description>.tool-sub{grid-column:1 / -1}
}
.site-intro{align-items:center}
.site-intro .theme-toggle{width:auto;height:auto;min-height:30px;padding:5px 9px;font-size:11px;white-space:nowrap;margin-left:auto;color:var(--brand-primary-dark);flex-shrink:0}
.foot-strip{flex-direction:column;align-items:flex-start;gap:14px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px}
.footer-links a{color:var(--brand-primary-dark);font-weight:700}
.footer-links a:hover{text-decoration:underline}
.theme-toggle:focus-visible,.footer-links a:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}
/* Manuscript reference update: outer rule, trailing margin and binding marks. */
.genko-page{width:calc(var(--cell)*30.18 + 42px)}
#tool-genko-convert .genko-page{--cell:min(24px,calc((100cqw - 44px)/30.18),calc((100vh - 220px)/22))}
.genko-page[data-size="200"]{width:calc(var(--cell)*14.30 + 42px)}
.genko-grid{border:2px solid var(--genko-rule-color,#ad725b);padding-right:var(--gap)}
.genko-spine{position:relative;background:none}
.genko-spine::before,.genko-spine::after{content:"";position:absolute;left:0;width:100%;transform:translateY(-50%)}
.genko-spine::before{top:17.5%;height:calc(var(--cell)*.27);background:var(--genko-rule-color,#ad725b);clip-path:polygon(0 0,100% 0,100% 100%,90% 78%,80% 60%,70% 46%,60% 38%,50% 35%,40% 38%,30% 46%,20% 60%,10% 78%,0 100%)}
.genko-spine::after{top:67.5%;height:calc(var(--cell)*.12);background:var(--genko-rule-color,#ad725b)}
.genko-dimensions{position:absolute;right:18px;bottom:15px;font-size:10px;line-height:1;color:var(--genko-rule-color,#ad725b);writing-mode:horizontal-tb}
.pdf-page.genko-page{width:826.68px!important;min-width:826.68px!important}
.pdf-page.genko-page[data-size="200"]{width:413.8px!important;min-width:413.8px!important}
@media print{
 #print-output .genko-page{width:calc(241.44mm + 12mm + 6px)!important}
 #print-output .genko-page[data-size="200"]{width:calc(114.4mm + 12mm + 6px)!important}
 #print-output .genko-dimensions{right:6mm;bottom:1mm;font-size:9pt}
}
.genko-options{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px;padding:16px;border:1px solid var(--border);border-radius:10px}
.genko-options legend{font-weight:700;padding:0 6px}
.genko-cell.is-combined{position:relative;overflow:hidden}
.genko-cell.is-combined .combined-char{position:absolute;writing-mode:vertical-rl;line-height:1;font-size:inherit;width:1em;height:1em}
/* Keep the normal glyph size; tighten the vertical advance inside the cell. */
.genko-cell.is-combined .combined-char-0{top:18%;left:20%}
.genko-cell.is-combined .combined-char-1{top:70%;right:12%}
.genko-cell.is-combined .combined-char-2{top:70%;left:0}
/* A full stop on the right and closing bracket on the left, aligned high. */
.genko-cell.is-period-close .combined-char-0{top:22%;left:auto;right:12%}
.genko-cell.is-period-close .combined-char-1{top:32%;right:auto;left:12%}

/* Place the rule color beside the display options, wrapping on narrow screens. */
.genko-options{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px}
.genko-option-checks{display:flex;flex-direction:column;gap:10px;min-width:0}
.genko-options .genko-rule-color{display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex-shrink:0;margin-left:auto}
.genko-rule-color input[type="color"]{width:72px;height:40px;padding:3px;cursor:pointer;border:1px solid var(--border);border-radius:6px;background:var(--surface)}
@media(max-width:600px){.genko-options .genko-rule-color{margin-left:0}}

.genko-option-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-left:auto}
.genko-options .genko-option-actions .genko-rule-color{margin-left:0}
@media(max-width:600px){.genko-option-actions{margin-left:0}}
/* PDF progress is anchored below the button without changing toolbar dimensions. */
#tool-genko-convert .genko-toolbar-actions{position:relative}
#tool-genko-convert .genko-progress{position:absolute;right:0;top:calc(100% + 8px);bottom:auto;width:max-content;z-index:30;margin:0;max-width:calc(100vw - 48px);box-sizing:border-box;padding:12px 18px;white-space:normal;overflow-wrap:anywhere;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 24px #0002;pointer-events:none}

#tool-character-count .stat-label,
#tool-english-word-count .stat-label{display:block;width:100%}

#tool-genko-convert .stat-label{display:block;width:100%}
