:root{--nk-bg-1:#fff4a8;--nk-bg-2:#cffff0;--nk-bg-3:#b7c6ff;--nk-bg-4:#e1afff;--nk-primary:#8f2cff;--nk-primary-2:#c233ff;--nk-primary-3:#5c6cff;--nk-text:#1f2330;--nk-text-soft:#5f6577;--nk-white:rgb(255 255 255 / .72);--nk-white-strong:rgb(255 255 255 / .86);--nk-white-top:rgb(255 255 255 / .52);--nk-border:rgb(255 255 255 / .50);--nk-border-soft:rgb(143 44 255 / .14);--nk-shadow-lg:0 18px 48px rgb(31 35 48 / .16);--nk-shadow-md:0 10px 28px rgb(31 35 48 / .11);--nk-shadow-sm:0 6px 16px rgb(31 35 48 / .08);--nk-radius-xl:22px;--nk-radius-lg:16px;--nk-radius-md:14px;--nk-radius-pill:999px}#text-transform-app{position:relative;isolation:isolate;overflow:hidden;font-family:Arial,sans-serif;max-width:1050px;margin:34px auto;padding:26px;border-radius:28px;background:radial-gradient(700px 360px at 8% 0%,rgb(255 255 255 / .45) 0%,transparent 62%),radial-gradient(720px 420px at 100% 0%,rgb(255 255 255 / .36) 0%,transparent 62%),linear-gradient(135deg,var(--nk-bg-1) 0%,var(--nk-bg-2) 28%,var(--nk-bg-3) 66%,var(--nk-bg-4) 100%);border:1px solid rgb(255 255 255 / .42);box-shadow:0 28px 70px rgb(0 0 0 / .12),inset 0 1px 0 rgb(255 255 255 / .65);text-align:center;color:var(--nk-text)}#text-transform-app::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgb(255 255 255 / .55),rgb(255 255 255 / .10),rgb(255 255 255 / .45));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}#text-transform-app::after{content:"";position:absolute;width:340px;height:340px;right:-90px;top:-120px;background:radial-gradient(circle,rgb(255 255 255 / .34) 0%,transparent 68%);pointer-events:none}#text-transform-app .nk-title{margin:0 0 12px;font-size:28px;font-weight:900;line-height:1.12;letter-spacing:.2px;color:#8b1fd5;text-shadow:0 1px 0 rgb(255 255 255 / .45)}#text-transform-app textarea#inputText{width:100%;height:104px;margin:14px 0 16px;padding:14px 16px;border:1px solid rgb(255 255 255 / .65);border-radius:18px;resize:none;outline:none;font-size:16px;line-height:1.45;color:var(--nk-text);background:linear-gradient(180deg,rgb(255 255 255 / .92),rgb(255 255 255 / .82));box-shadow:inset 0 1px 0 rgb(255 255 255 / .70),0 8px 22px rgb(0 0 0 / .05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .15s ease}#text-transform-app textarea#inputText::placeholder{color:#81879a}#text-transform-app textarea#inputText:focus{border-color:rgb(143 44 255 / .42);background:linear-gradient(180deg,rgb(255 255 255 / .96),rgb(255 255 255 / .86));box-shadow:inset 0 1px 0 rgb(255 255 255 / .75),0 0 0 4px rgb(143 44 255 / .10),0 14px 32px rgb(143 44 255 / .10)}#text-transform-app .nk-tabs{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;width:100%;box-sizing:border-box;margin:8px 0 16px;padding:12px 14px;background:#fff0;border:2px dashed #ff5a6e;border-radius:18px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}#text-transform-app .nk-tab{appearance:none;-webkit-appearance:none;border:1px solid rgb(143 44 255 / .10);background:linear-gradient(180deg,rgb(255 255 255 / .92),rgb(255 255 255 / .78));color:#7a1cc9;border-radius:999px;padding:9px 14px;font-size:13px;line-height:1;font-weight:800;white-space:nowrap;cursor:pointer;user-select:none;box-shadow:inset 0 1px 0 rgb(255 255 255 / .85),0 8px 16px rgb(31 35 48 / .06);transition:transform .14s ease,box-shadow .2s ease,filter .2s ease,border-color .2s ease,background .2s ease}#text-transform-app .nk-tab:hover{transform:translateY(-1px);filter:brightness(1.02)}#text-transform-app .nk-tab.is-active{color:#fff;border-color:rgb(255 255 255 / .45);background:linear-gradient(135deg,#c233ff 0%,#8f2cff 45%,#5c6cff 100%);box-shadow:inset 0 1px 0 rgb(255 255 255 / .20),0 12px 24px rgb(92 108 255 / .22)}@media (max-width:520px){#text-transform-app .nk-tabs{width:100%;box-sizing:border-box;justify-content:center;align-items:center;flex-wrap:wrap;overflow:visible;gap:8px 10px;padding:12px 10px;border:2px dashed #ff5a6e;border-radius:16px;background:#fff0}#text-transform-app .nk-tab{max-width:100%}#text-transform-app .nk-tab{font-size:12.5px;padding:8px 12px}}#text-transform-app #outputContainer{margin-top:8px}#text-transform-app .output-item{position:relative;display:flex!important;align-items:center!important;justify-content:center!important;width:100%;margin:12px 0;padding:16px 18px;border-radius:20px;border:1px solid var(--nk-border);background:linear-gradient(180deg,var(--nk-white-top),rgb(255 255 255 / .38));box-shadow:inset 0 1px 0 rgb(255 255 255 / .62),0 10px 24px rgb(31 35 48 / .07);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;user-select:none;overflow:hidden;transition:transform .16s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}#text-transform-app .output-item::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgb(255 255 255 / .22) 50%,transparent 100%);transform:translateX(-120%);transition:transform .65s ease;pointer-events:none}#text-transform-app .output-item:hover{transform:translateY(-2px);border-color:rgb(255 255 255 / .72);background:linear-gradient(180deg,rgb(255 255 255 / .72),rgb(255 255 255 / .52));box-shadow:inset 0 1px 0 rgb(255 255 255 / .74),0 16px 34px rgb(31 35 48 / .11)}#text-transform-app .output-item:hover::before{transform:translateX(120%)}#text-transform-app .output-item:active{transform:translateY(0)}#text-transform-app .output-text{position:relative;z-index:1;width:100%;min-width:0;text-align:center!important;font-size:18.5px;line-height:1.42;font-weight:600;letter-spacing:.1px;color:var(--nk-text);text-wrap:pretty;overflow-wrap:anywhere;word-break:break-word;text-shadow:0 1px 0 rgb(255 255 255 / .32)}#text-transform-app .output-item.is-copied{border-color:rgb(143 44 255 / .28);background:linear-gradient(180deg,rgb(255 255 255 / .88),rgb(255 255 255 / .70))!important;box-shadow:inset 0 1px 0 rgb(255 255 255 / .82),0 18px 36px rgb(143 44 255 / .16),0 0 0 3px rgb(143 44 255 / .08)}#text-transform-app .output-item.is-copied::after{content:"✓ Đã Sao Chép";position:absolute;top:10px;right:12px;z-index:5;padding:7px 10px;border-radius:999px;background:linear-gradient(135deg,#b52dff,#6d57ff);color:#fff;font-size:12px;font-weight:900;line-height:1;letter-spacing:.2px;box-shadow:0 10px 20px rgb(109 87 255 / .24);pointer-events:none}#text-transform-app .output-item.is-failed{border-color:rgb(239 68 68 / .28);box-shadow:inset 0 1px 0 rgb(255 255 255 / .72),0 0 0 3px rgb(239 68 68 / .08)}#text-transform-app .nk-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0 8px}#text-transform-app .btn{appearance:none;-webkit-appearance:none;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid #fff0;border-radius:14px;font-weight:800;font-size:14px;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:var(--nk-shadow-sm);transition:transform .14s ease,box-shadow .2s ease,filter .2s ease,background .2s ease,border-color .2s ease}#text-transform-app .btn:hover{transform:translateY(-1px)}#text-transform-app .btn:active{transform:translateY(0) scale(.985)}#text-transform-app .btn-primary{color:#fff!important;border-color:rgb(255 255 255 / .16);background:linear-gradient(135deg,#c233ff 0%,#8f2cff 45%,#5c6cff 100%);box-shadow:inset 0 1px 0 rgb(255 255 255 / .18),0 12px 26px rgb(143 44 255 / .24)}#text-transform-app .btn-primary:hover{filter:brightness(1.04);box-shadow:inset 0 1px 0 rgb(255 255 255 / .20),0 16px 32px rgb(143 44 255 / .30)}#text-transform-app .btn-ghost{color:#51425f;border-color:rgb(255 255 255 / .50);background:linear-gradient(180deg,rgb(255 255 255 / .82),rgb(255 255 255 / .62));box-shadow:inset 0 1px 0 rgb(255 255 255 / .78),0 8px 18px rgb(31 35 48 / .07)}#text-transform-app .btn-ghost:hover{background:linear-gradient(180deg,rgb(255 255 255 / .92),rgb(255 255 255 / .72))}#nk-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(8px);padding:11px 15px;border-radius:14px;background:rgb(17 19 28 / .92);color:#fff;font-size:13px;font-weight:800;letter-spacing:.2px;box-shadow:0 18px 40px rgb(0 0 0 / .22);z-index:999999;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}#nk-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media (max-width:768px){#text-transform-app{margin:22px 12px;padding:20px 14px;border-radius:22px}#text-transform-app .nk-title{font-size:24px}#text-transform-app .output-text{font-size:17px}}@media (max-width:520px){#text-transform-app{margin:18px 10px;padding:16px 12px;border-radius:20px}#text-transform-app .nk-title{font-size:clamp(16px, 5vw, 21px);white-space:normal;overflow:visible}#text-transform-app textarea#inputText{height:96px;padding:12px 13px;font-size:16px;border-radius:16px}#text-transform-app .nk-tabs{justify-content:center;flex-wrap:wrap;overflow:visible}#text-transform-app .nk-tabs::-webkit-scrollbar{height:6px}#text-transform-app .nk-tabs::-webkit-scrollbar-thumb{background:rgb(143 44 255 / .32);border-radius:999px}#text-transform-app .nk-tab{padding:8px 11px;font-size:12.5px}#text-transform-app .output-item{padding:14px 12px;margin:10px 0;border-radius:16px}#text-transform-app .output-text{font-size:16px;line-height:1.38}#text-transform-app .output-item.is-copied::after{top:8px;right:10px;font-size:11px;padding:6px 8px}#text-transform-app .btn{min-height:42px;padding:10px 14px;font-size:13.5px}#nk-toast{bottom:14px;font-size:12.5px;padding:10px 13px}}#text-transform-app .btn-ghost{background:#fff!important;color:#7a1cc9!important;border:2px solid #ff5a6e!important;box-shadow:none!important;border-radius:16px!important;font-weight:800!important}#text-transform-app .btn-ghost:hover{background:#fff5f7!important;color:#7a1cc9!important;border-color:#ff5a6e!important;box-shadow:none!important}#text-transform-app .btn-ghost:focus,#text-transform-app .btn-ghost:focus-visible{outline:none!important;box-shadow:none!important}