.tools-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-block:20px}.tools-topbar nav{display:flex;gap:25px;font-size:13px}.tools-topbar select{font:inherit;border:1px solid var(--line);background:transparent;border-radius:7px;padding:8px}.tool-page{padding-block:60px 90px}.tool-intro{max-width:850px;margin-bottom:32px}.tool-intro h1{font-size:clamp(38px,6vw,64px);line-height:1.25}.tool-intro>p{color:var(--muted);margin-top:18px;line-height:1.9}.local-pill{display:inline-flex;gap:8px;align-items:center;color:#47602b;font-size:12px;margin-top:18px}.tool-nav{display:flex;flex-wrap:wrap;gap:10px;margin-block:28px}.tool-nav a{padding:9px 15px;border:1px solid var(--line);border-radius:7px;font-size:12px}.tool-nav a[aria-current]{background:var(--ink);color:#fff}.tool-shell{background:#fffdf6;border:1px solid var(--line);border-radius:18px;padding:28px}.drop-zone{border:1px dashed #b5a962;border-radius:12px;background:#fff8d7;padding:35px 20px;text-align:center}.drop-zone.drag{background:#ffe991;border-color:#605218}.drop-zone p{font-size:12px;color:var(--muted);margin-top:12px}.tool-button,.tool-action{font:inherit;border:1px solid var(--line);border-radius:7px;padding:9px 13px;background:transparent;color:var(--ink);font-size:12px;cursor:pointer}.tool-button:hover,.tool-action:hover{background:#ecebdc}.tool-button:disabled,.tool-action:disabled{opacity:.45;cursor:not-allowed}.tool-button.primary,.tool-action.primary{background:var(--yellow);border-color:#b9a02b;color:#1d1b14;font-weight:650}.tool-options{display:flex;flex-wrap:wrap;gap:20px;padding-block:24px}.tool-options label{display:grid;gap:8px;font-size:12px;max-width:100%}.tool-options select{padding:10px;border:1px solid var(--line);background:#fff;border-radius:7px;font:inherit;max-width:100%}.tool-note{font-size:13px;color:var(--muted);margin-block:22px;line-height:1.9}.file-list{list-style:none;padding:0;display:grid;gap:10px;margin-block:22px}.file-row{display:flex;align-items:center;gap:16px;border:1px solid var(--line);padding:12px;border-radius:9px;background:var(--paper)}.file-row[draggable=true]{cursor:grab}.file-info{flex:1;min-width:0}.file-info strong{display:block;overflow-wrap:anywhere;font-size:13px}.file-info small{font-size:11px;color:var(--muted)}.file-thumb{width:50px;height:64px;object-fit:contain;flex:none;background:#fff}.file-controls{display:flex;gap:6px}.file-controls button{font-size:16px;padding:5px 9px}.tool-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.tool-progress{width:100%;height:9px;accent-color:#8a7600;margin-top:22px}.tool-status{font-size:13px;margin-top:18px;min-height:24px;color:#41552b}.tool-status.error{color:#a62d2d}.tool-result{margin-top:25px;border:1px solid #b2c09e;background:#f4f9eb;padding:24px;border-radius:12px}.tool-result h2{font-size:24px;letter-spacing:-.02em;margin-bottom:16px}.tool-result p{font-size:13px;margin-top:18px}.tool-notice{color:#72551a}.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}.tool-card{display:block;border:1px solid var(--line);background:#fffdf6;border-radius:15px;padding:27px;transition:transform .15s}.tool-card:hover{transform:translateY(-3px);border-color:#c3a723}.tool-card .tool-glyph{display:grid;place-items:center;width:45px;height:45px;border-radius:10px;background:var(--yellow);font-size:20px;margin-bottom:22px}.tool-card h3{font-size:23px}.tool-card p{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.9}.tools-home{padding-block:75px;border-top:1px solid var(--line)}.tools-home h2{max-width:700px}.tools-home .tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.instructions{margin-block:45px}.instructions h2,.tool-faq h2{font-size:30px;letter-spacing:-.025em}.instructions ol{padding-inline-start:24px;color:var(--muted);line-height:2.1;font-size:14px;margin-top:20px}.tool-faq details{border-bottom:1px solid var(--line);padding-block:18px}.tool-faq summary{font-size:14px;font-weight:600}.tool-faq p{font-size:13px;color:var(--muted);margin-top:15px;line-height:1.9}.keyboard-top{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.keyboard-top label{display:grid;gap:8px;font-size:12px}.keyboard-top input,.keyboard-top select{border:1px solid var(--line);padding:11px;background:#fff;border-radius:7px;font:inherit;width:100%}.keyboard-hint{font-size:12px;color:var(--muted);border-inline-start:3px solid #b5a32f;padding-inline-start:14px;margin-bottom:20px;line-height:1.9}.keyboard-hint:empty{display:none}.keyboard-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.keyboard-editor{width:100%;min-height:280px;resize:vertical;padding:22px;border:1px solid #bcbcad;border-radius:10px;background:#fff;color:var(--ink);font-family:inherit;font-size:21px;line-height:1.9}.keyboard-editor[dir=rtl],#keyboard-print[dir=rtl]{font-family:IBM Plex Sans Arabic,Tahoma,sans-serif}.keyboard-editor[lang=hi],#keyboard-print[lang=hi]{font-family:Noto Sans Devanagari,Kohinoor Devanagari,sans-serif}.keyboard-editor[lang=zh],#keyboard-print[lang=zh]{font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif}.keyboard-editor[lang=ja],#keyboard-print[lang=ja]{font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif}.keyboard-editor[lang=ko],#keyboard-print[lang=ko]{font-family:Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif}.keyboard-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-block:12px 25px;font-size:12px;color:var(--muted)}.keyboard-counters{display:flex;gap:20px}.key-row{display:flex;justify-content:center;gap:5px;margin-bottom:6px;flex-wrap:wrap}.virtual-key{font:inherit;font-size:18px;min-width:37px;min-height:43px;border:1px solid #d1d0c5;border-bottom-width:3px;border-radius:7px;background:#fff;cursor:pointer;padding:7px 11px}.virtual-key:hover{background:#fff1a8}.virtual-key:active{border-bottom-width:1px;transform:translateY(2px)}.virtual-key.modifier{font-size:11px;min-width:65px}.virtual-key[aria-pressed=true]{background:var(--yellow)}.space-key{flex:1;max-width:300px;font-size:12px}.special-keys{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.special-keys .virtual-key{font-size:17px;min-width:40px}.print-help{font-size:12px;color:var(--muted);margin-top:15px;line-height:1.9}#keyboard-print{display:none}.tools-footer{margin-top:45px;padding-top:25px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;gap:25px;flex-wrap:wrap}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.rotate-270{transform:rotate(270deg)}[hidden]{display:none!important}@media(max-width:800px){.tools-home .tools-grid,.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-page{padding-top:35px}.tool-shell{padding:18px}.keyboard-top{grid-template-columns:1fr}.virtual-key{min-width:25px;padding:5px 7px;font-size:17px;min-height:39px}.key-row{gap:3px}.virtual-key.modifier{min-width:48px}.file-row{flex-wrap:wrap}.file-controls{margin-inline-start:auto}.tools-topbar{flex-wrap:wrap}.tools-topbar nav{order:3;flex-basis:100%;justify-content:center;font-size:12px}.tools-home .tools-grid{grid-template-columns:1fr}.keyboard-editor{font-size:19px}.tools-grid{gap:12px}.tool-card{padding:20px}}@media(max-width:430px){.tools-grid{grid-template-columns:1fr}.tool-nav a{font-size:11px;padding:7px 10px}.tool-intro h1{font-size:36px}.virtual-key{padding-inline:6px;font-size:16px}.file-controls{width:100%;justify-content:flex-end}.tool-options{display:grid;grid-template-columns:1fr}.tool-shell{padding:14px}}@page{size:A4;margin:18mm}@media print{body[data-print=keyboard]>*{display:none!important}body[data-print=keyboard]>#keyboard-print{display:block!important;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12pt;line-height:1.8;color:#000;background:#fff}body[data-print=keyboard]{background:#fff}}@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-weight:400;font-display:swap;src:url(/tools-assets/NotoSansDevanagari-400.ttf) format("truetype")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:400;font-display:swap;src:url(/tools-assets/NotoSansSC-400.ttf) format("truetype")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400;font-display:swap;src:url(/tools-assets/NotoSansJP-400.ttf) format("truetype")}@font-face{font-family:Noto Sans KR;font-style:normal;font-weight:400;font-display:swap;src:url(/tools-assets/NotoSansKR-400.ttf) format("truetype")}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/tools-assets/NotoNaskhArabic-400.ttf) format("truetype")}.keyboard-editor[lang=zh],#keyboard-print[lang=zh]{font-family:Noto Sans SC,PingFang SC,sans-serif}.keyboard-editor[lang=ja],#keyboard-print[lang=ja]{font-family:Noto Sans JP,Hiragino Sans,sans-serif}.keyboard-editor[lang=ko],#keyboard-print[lang=ko]{font-family:Noto Sans KR,Apple SD Gothic Neo,sans-serif}.keyboard-editor[lang=ur],#keyboard-print[lang=ur],.keyboard-editor[lang=fa],#keyboard-print[lang=fa]{font-family:Noto Naskh Arabic,IBM Plex Sans Arabic,sans-serif}.tool-page{max-width:1040px;padding-block:44px 72px}.tool-intro{margin-bottom:26px}.tool-intro h1{font-size:clamp(34px,4.5vw,51px);line-height:1.18}.tool-intro>p{margin-top:10px;font-size:15px;line-height:1.65}.local-pill{gap:7px;margin-top:12px;font-size:11px;color:#526443}.privacy-dot{width:6px;height:6px;border-radius:50%;background:#7b9a58;flex:none}.tool-shell,.tool-card{background:#fff;border-color:#e0dfd6;box-shadow:0 12px 35px #201c1010}.tool-shell{padding:24px;border-radius:17px}.tools-grid{gap:16px;margin-top:24px}.tool-card{position:relative;padding:23px;border-radius:14px}.tool-card .tool-glyph{width:38px;height:38px;margin-bottom:15px;background:#fff0a5}.tool-card h3{font-size:19px}.tool-card p{margin-top:7px;line-height:1.6}.tool-card:after{content:"↗";position:absolute;inset-inline-end:17px;top:17px;font-size:16px;color:#7a786c}.tool-nav{gap:7px;margin-block:18px}.tool-nav a{font-size:12px;padding:7px 12px}.drop-zone{background:#faf9f2;border-color:#d4c77f;padding:26px 18px;border-radius:12px}.drop-zone strong{display:block;font-size:16px;margin-top:9px}.drop-zone p{margin:4px 0 14px;font-size:11px}.upload-symbol{display:grid;place-items:center;width:38px;height:38px;margin-inline:auto;border-radius:10px;background:#fff0a5;font-size:23px}.tool-button.primary{border-color:transparent}.tool-options:empty,.file-list:empty,.tool-status:empty,.important-note:empty{display:none}.tool-options{padding-block:15px 7px;gap:14px}.important-note{margin-block:14px 6px;font-size:12px}.processing-details{font-size:11px;color:var(--muted);margin-top:12px}.processing-details p{margin-top:8px;max-width:700px;line-height:1.7}.workspace-help{margin-top:22px;border:1px solid var(--line);border-radius:10px;background:#faf9f4;font-size:13px}.workspace-help>summary{list-style:none;padding:13px 16px;display:flex;justify-content:space-between;gap:12px;font-weight:600}.workspace-help>summary::-webkit-details-marker,.toolbar-menu>summary::-webkit-details-marker{display:none}.workspace-help[open]>summary span{transform:rotate(45deg)}.help-content{padding:0 16px 16px}.help-content .instructions{margin-block:14px 22px}.help-content h2{font-size:18px}.help-content .instructions ol{font-size:12px;margin-top:9px}.tools-footer,.quiet-footer{margin-top:22px;padding-top:13px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.quiet-footer a:hover,.tools-footer a:hover{text-decoration:underline}.keyboard-top{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px;margin-bottom:14px}.keyboard-top input,.keyboard-top select{padding:8px 10px;min-width:0}.keyboard-hint{margin-bottom:12px;font-size:11px}.keyboard-toolbar,.editor-actions,.history-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.keyboard-toolbar{justify-content:space-between;margin-bottom:10px}.history-actions{gap:4px}.history-actions .tool-button{font-size:17px;line-height:1;padding:8px 10px}.toolbar-menu{position:relative;font-size:12px}.toolbar-menu>summary{list-style:none;display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:8px 11px;line-height:1.6;min-height:34px}.toolbar-menu>summary:hover,.toolbar-menu[open]>summary{background:#f5f2e7}.toolbar-menu.export-menu>summary{background:var(--ink);border-color:var(--ink);color:#fff}.menu-panel{position:absolute;top:calc(100% + 6px);inset-inline-start:0;z-index:4;min-width:155px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 25px #201c1020;display:grid;gap:4px}.export-menu .menu-panel{inset-inline-start:auto;inset-inline-end:0;width:185px}.menu-panel .tool-button{border:0;text-align:start;white-space:nowrap}.menu-panel .print-help{margin:4px 7px;font-size:10px;line-height:1.5}.keyboard-editor{min-height:156px;padding:14px;line-height:1.65;background:#fcfbf7;border-color:#dedbd0;font-size:20px}.keyboard-meta{margin-block:8px 14px;font-size:11px}#virtual-keys{border:1px solid #e8e5da;background:#f7f6ef;border-radius:10px;padding:10px 8px 5px}.virtual-key{background:#fff;border-color:#dedcd1;border-bottom-width:2px;min-height:40px}#keyboard-workspace>details{font-size:12px;color:var(--muted);margin-top:11px}@media(max-width:600px){.tool-page{padding-block:29px 45px}.tool-shell{padding:14px}.tool-intro{margin-bottom:17px}.tool-intro h1{font-size:35px}.tool-intro>p{font-size:13px}.keyboard-top{gap:8px}.keyboard-top label{font-size:10px}.keyboard-top input,.keyboard-top select{font-size:12px;padding:7px}.keyboard-toolbar{gap:6px}.editor-actions{gap:5px}.editor-actions .tool-button,.toolbar-menu>summary{padding:7px 8px}.keyboard-editor{min-height:142px;font-size:18px}.virtual-key{min-height:36px}.drop-zone{padding:20px 12px}}html[lang=en] .keyboard-editor:placeholder-shown{direction:ltr;text-align:left}#keyboard-workspace .keyboard-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.keyboard-top h2{font-size:17px;letter-spacing:0}.language-search{width:min(100%,230px)}.language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:17px}.language-grid:empty{margin-bottom:0}.language-tile{display:grid;align-content:center;justify-items:center;gap:2px;min-height:80px;padding:7px 4px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font:inherit}.language-tile:hover{background:#fbf8ed}.language-tile[aria-pressed=true]{background:#fff6cd;border-color:#987d00;box-shadow:inset 0 -2px 0 var(--yellow)}.language-flag{font-size:23px;line-height:1.2}.language-name{font-size:13px;font-weight:700}.language-native,.language-empty{color:var(--muted);font-size:11px}.language-empty{margin-bottom:17px}.keyboard-deck{background:var(--dark);border-radius:13px;padding:12px;box-shadow:0 5px 16px #17171b19}.keyboard-deck-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 10px;color:#fff;font-size:13px;font-weight:650}.active-language{background:#35353d;border-radius:6px;padding:3px 10px}.keyboard-deck #virtual-keys{background:transparent;border:0;padding:0}.keyboard-deck .key-row{flex-wrap:nowrap;margin-bottom:5px}.keyboard-deck .key-row:last-child{margin-bottom:0}.keyboard-deck .virtual-key{flex:1 1 0;min-width:0;max-width:85px;min-height:44px;padding:3px 1px;border:0;border-bottom:3px solid #c3c3bf;border-radius:6px}.keyboard-deck .virtual-key:focus-visible{outline-color:var(--yellow);outline-offset:1px}.keyboard-deck .modifier{flex-grow:1.5;background:#e6e5df}.keyboard-deck .modifier:hover,.keyboard-deck .modifier[aria-pressed=true],.keyboard-deck .enter-key{background:var(--yellow);border-color:#ad8c00}.keyboard-deck .space-key{flex-grow:6;max-width:580px}@media(max-width:600px){.language-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.language-tile{min-height:70px}.keyboard-deck{padding:7px}.keyboard-deck .key-row{gap:2px}.keyboard-deck .virtual-key{min-height:38px;font-size:13px}.keyboard-deck .modifier,.keyboard-deck .space-key{font-size:10px}}
