:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-hover: #f1f5f9;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-primary: #8b5cf6;--color-primary-hover: #7c3aed;--color-primary-light: #ede9fe;--color-key-bg: #ffffff;--color-key-border: #cbd5e1;--color-key-shadow: #94a3b8;--color-key-text: #0f172a;--color-key-hover: #f8fafc;--color-key-active: #e2e8f0;--color-key-special: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}[data-theme=dark]{--color-bg: #0f0a1a;--color-surface: #1e1b2e;--color-surface-hover: #2d2a42;--color-text: #f8fafc;--color-text-muted: #94a3b8;--color-border: #334155;--color-primary: #a78bfa;--color-primary-hover: #c4b5fd;--color-primary-light: rgba(139, 92, 246, .2);--color-key-bg: #2d2a42;--color-key-border: #475569;--color-key-shadow: #0f172a;--color-key-text: #f8fafc;--color-key-hover: #3b3754;--color-key-active: #1e1b2e;--color-key-special: #1e1b2e}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;transition:background-color .3s ease,color .3s ease;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}.app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;padding:2rem 1rem;max-width:1200px;margin:0 auto;width:100%}.header{position:sticky;top:0;z-index:50;background-color:rgba(var(--color-surface),.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.header__container{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:1rem;height:4rem}.header__logo{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.25rem}.header__logo-icon{font-size:1.5rem}.header__logo-highlight{color:var(--color-primary)}.header__actions{display:flex;align-items:center;gap:1rem}.header__link{font-size:.875rem;font-weight:500;color:var(--color-text-muted);transition:color .2s}.header__link:hover{color:var(--color-primary)}.header__theme-toggle{padding:.5rem;border-radius:.5rem;background-color:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;transition:all .2s}.header__theme-toggle:hover{background-color:var(--color-surface-hover)}.footer{border-top:1px solid var(--color-border);padding:3rem 1rem 1.5rem;margin-top:auto}.footer__container{max-width:1200px;margin:0 auto}.footer__top{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}@media (min-width: 768px){.footer__top{grid-template-columns:2fr 1fr}}.footer__title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.footer__desc{color:var(--color-text-muted);max-width:24rem}.footer__links-title{font-size:1rem;font-weight:600;margin-bottom:1rem}.footer__links-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.footer__links-list a{color:var(--color-text-muted);transition:color .2s}.footer__links-list a:hover{color:var(--color-primary)}.footer__bottom{text-align:center;color:var(--color-text-muted);font-size:.875rem}.hero{text-align:center;padding:3rem 0}.hero__title{font-size:2.5rem;font-weight:900;margin-bottom:1rem;background:linear-gradient(to right,var(--color-text),var(--color-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}@media (min-width: 768px){.hero__title{font-size:3.5rem}}.hero__desc{font-size:1.125rem;color:var(--color-text-muted);max-width:36rem;margin:0 auto}.search-bar{max-width:24rem;margin:2rem auto;position:relative}.search-bar__input{width:100%;padding:1rem 1rem 1rem 2.5rem;border-radius:9999px;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}.search-bar__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.search-bar__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.categories{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:3rem}.category-btn{padding:.5rem 1rem;border-radius:9999px;background-color:var(--color-surface);border:1px solid var(--color-border);font-size:.875rem;font-weight:500;transition:all .2s}.category-btn:hover{background-color:var(--color-surface-hover)}.category-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.keyboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:4rem}.lang-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:1.5rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.lang-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent)}.lang-card:hover{transform:translateY(-5px);box-shadow:0 25px 50px #00000026;border-color:var(--color-primary)}.lang-card__header{display:flex;align-items:center;gap:1rem}.lang-card__flag{font-size:2.5rem;line-height:1}.lang-card__info{display:flex;flex-direction:column}.lang-card__name{font-size:1.25rem;font-weight:700}.lang-card__native{color:var(--color-text-muted);font-size:.875rem}.lang-card__action{margin-top:auto;color:var(--color-primary);font-weight:600;display:flex;align-items:center;gap:.25rem}.kb-page{display:flex;flex-direction:column;gap:1rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-muted)}.breadcrumb__link:hover{color:var(--color-primary)}.kb-header{display:flex;align-items:center;gap:1rem}.kb-title{font-size:2rem;font-weight:800}.editor{display:flex;flex-direction:column;gap:.5rem}.textarea-wrapper{position:relative;border-radius:1rem;overflow:hidden;border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}.textarea-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.main-textarea{width:100%;min-height:120px;padding:1rem;border:none;background:transparent;color:var(--color-text);font-size:1.5rem;resize:vertical;outline:none;font-family:inherit}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--color-surface-hover);border-top:1px solid var(--color-border)}.toolbar-actions{display:flex;gap:.5rem}.btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.875rem;transition:all .2s;border:1px solid var(--color-border);background-color:var(--color-surface)}.btn:hover{background-color:var(--color-surface-hover)}.btn--primary{background:linear-gradient(135deg,var(--color-primary),#6d28d9);color:#fff;border-color:var(--color-primary);position:relative;overflow:hidden}.btn--primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn--primary:hover{background:linear-gradient(135deg,var(--color-primary-hover),#5b21b6);transform:translateY(-2px);box-shadow:0 10px 25px #8b5cf64d}.btn--primary:hover:before{left:100%}.btn--whatsapp{background-color:#25d366;color:#fff;border-color:#25d366}.btn--whatsapp:hover{background-color:#128c7e}.char-count{font-size:.875rem;color:var(--color-text-muted)}.virtual-kb{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1rem;box-shadow:var(--shadow-md);-webkit-user-select:none;user-select:none;overflow-x:auto}.kb-row{display:flex;gap:.5rem;margin-bottom:.5rem;justify-content:center;min-width:max-content}.kb-row:last-child{margin-bottom:0}.key{position:relative;background-color:var(--color-key-bg);color:var(--color-key-text);border:1px solid var(--color-key-border);border-radius:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;height:3rem;cursor:pointer;transition:transform .1s,background-color .1s;box-shadow:0 4px 0 var(--color-key-shadow);padding:0 .5rem;min-width:2.5rem}.key:active,.key.active{transform:translateY(4px);box-shadow:0 0 0 var(--color-key-shadow);background-color:var(--color-key-active)}.key:hover:not(:active){background-color:var(--color-key-hover)}.key--special{background-color:var(--color-key-special);font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.key--toggled{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.key-main{font-size:1.25rem;font-weight:500}.key-shift{position:absolute;top:.25rem;left:.5rem;font-size:.75rem;color:var(--color-text-muted)}.font-arabic{font-family:Noto Sans Arabic,sans-serif}.font-hindi{font-family:Noto Sans Devanagari,sans-serif}.font-bengali{font-family:Noto Sans Bengali,sans-serif}.font-tamil{font-family:Noto Sans Tamil,sans-serif}.font-thai{font-family:Noto Sans Thai,sans-serif}.font-georgian{font-family:Noto Sans Georgian,sans-serif}.font-armenian{font-family:Noto Sans Armenian,sans-serif}.font-hebrew{font-family:Noto Sans Hebrew,sans-serif}.font-japanese{font-family:Noto Sans JP,sans-serif}.font-korean{font-family:Noto Sans KR,sans-serif}.font-chinese{font-family:Noto Sans SC,sans-serif}.markdown-body h2{font-size:1.75rem;margin-top:2.5rem;margin-bottom:1rem;font-weight:700;color:var(--color-text)}.markdown-body h3{font-size:1.5rem;margin-top:2rem;margin-bottom:.75rem;font-weight:600}.markdown-body p{margin-bottom:1.5rem;color:var(--color-text)}.markdown-body ul,.markdown-body ol{margin-bottom:1.5rem;padding-left:1.5rem}.markdown-body li{margin-bottom:.5rem}.markdown-body a{color:var(--color-primary);text-decoration:underline;font-weight:500}.markdown-body a:hover{color:var(--color-primary-hover)}.markdown-body strong{font-weight:700}
