@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");:root{--ink:#1b2748;--muted:#6d7896;--blue:#2f6bff;--line:#e7edf8;--paper:#f6f8fd}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:Plus Jakarta Sans,DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}.ot-sky{position:relative;overflow:visible;background:linear-gradient(180deg,#f3f7ff,#eef4ff 42%,#f8fbff)}.ot-sky-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.ot-sky-bg:before{content:"";position:absolute;width:620px;height:420px;right:-80px;top:-40px;background:radial-gradient(circle,#d9e6ff 0,#e7f0ff00 70%)}.ot-sky-bg:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;background:radial-gradient(120% 70px at 50% 100%,#fff 62%,transparent 64%)}.ot-nav{height:78px;gap:28px;position:relative;z-index:2}.ot-brand,.ot-nav{display:flex;align-items:center}.ot-brand{gap:10px;font-size:20px;font-weight:800;letter-spacing:-.3px}.ot-logo{width:36px;height:36px;border-radius:10px;display:block;object-fit:cover;box-shadow:0 6px 12px #2f6bff33}.ot-links{display:flex;align-items:center;gap:26px;margin-left:18px;font-size:14px;font-weight:700;color:#243056}.ot-links a{position:relative;padding:8px 0}.ot-links a.active{color:var(--blue)}.ot-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--blue)}.ot-nav-side{margin-left:auto;display:flex;align-items:center;gap:18px;color:#314066;font-size:14px;font-weight:600}.ot-nav-side button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0}.ot-lang{gap:4px}.ot-hero{min-height:390px;display:grid;grid-template-columns:minmax(680px,1.25fr) minmax(420px,.9fr);align-items:center;position:relative;z-index:1;padding-bottom:48px}.ot-hero-copy h1{margin:8px 0 14px;font-size:52px;line-height:1.08;letter-spacing:-1.6px;font-weight:800}.ot-hero-copy h1 em{font-style:normal;color:#2f6bff}.ot-hero-copy h1 span{position:relative;display:inline-block}.ot-hero-copy h1 span:after{content:"";position:absolute;left:-2px;right:-2px;bottom:4px;height:9px;border-radius:10px;background:#ffe14a;z-index:-1;transform:rotate(-1deg)}.ot-hero-copy>p{max-width:540px;margin:0 0 22px;color:#4d5878;font-size:16px;line-height:1.55}.ot-search{position:relative;z-index:3;height:56px;max-width:620px;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;border:1px solid #e5ebf6;border-radius:999px;background:#fff;box-shadow:0 10px 30px #8ea4d414;color:#8b95b0}.ot-suggest{position:absolute;z-index:5;top:calc(100% + 8px);left:0;right:0;display:grid;padding:6px;border:1px solid #e5ebf6;border-radius:16px;background:#fff;box-shadow:0 16px 40px #1b274829}.ot-suggest button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:auto;border:0;border-radius:10px;background:transparent;color:#1b2748;text-align:left;padding:8px 10px;cursor:pointer}.ot-suggest button:hover{background:#f3f7ff}.ot-suggest small{color:#6d7896;font-weight:600}.ot-search input{flex:1 1;min-width:0;border:0;outline:0;color:var(--ink);font-size:14px;background:transparent}.ot-search input::placeholder{color:#9aa3bb}.ot-search>button{height:44px;border:0;border-radius:999px;padding:0 26px;background:#2f6bff;color:#fff;font-weight:700;cursor:pointer}.ot-chips{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-top:14px;color:#5c6786;font-size:13px}.ot-chips span{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#f08a1f}.ot-chips button{border:1px solid #e6ecf7;background:#fff;color:#44506f;border-radius:999px;padding:6px 11px;cursor:pointer;white-space:nowrap}.ot-art{height:390px;min-width:0;display:flex;align-items:center;justify-content:flex-end}.ot-art img{width:100%;max-width:100%;height:100%;object-fit:contain}.ot-banner{height:120px;margin-top:8px;border-radius:18px;position:relative;display:grid;place-items:center;color:#8b97b4;letter-spacing:.4px;background:linear-gradient(90deg,#f4f7ff,#eef3ff 40%,#f7f5ff);overflow:hidden}.ot-banner:after,.ot-banner:before{content:"";position:absolute;height:70px;width:220px;background:#dfe8ff55;border-radius:50%}.ot-banner:before{left:-20px;bottom:-36px}.ot-banner:after{right:40px;top:-30px}.ot-banner i,.ot-rect i{position:absolute;top:8px;right:10px;font-style:normal;font-size:11px;color:#9aa6c3;background:#fff;border-radius:6px;padding:1px 6px}.ot-block{padding-top:34px}.ot-block h2,.ot-heading h2{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:22px;letter-spacing:-.3px}.ot-heading{display:flex;align-items:center;justify-content:space-between}.ot-heading h2{color:#1d2748}.ot-heading h2 svg{color:#ff8a1e}.ot-heading a{color:#2f6bff;font-size:14px;font-weight:700;display:inline-flex;align-items:center}.ot-tools{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:14px;gap:14px}.ot-tools a{min-height:132px;border-radius:16px;background:#fff;border:1px solid #eef2f8;box-shadow:0 8px 22px #90a4cc14;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;font-size:13px;font-weight:700;padding:16px 8px;transition:border-color .2s ease,box-shadow .2s ease}.ot-tools a:hover{border-color:#d5e2ff;box-shadow:0 10px 22px #90a4cc24}.ot-bubble{width:48px;height:48px;border-radius:14px;display:grid;place-items:center}.ot-bubble.blue{background:#e8f1ff;color:#3b82f6}.ot-bubble.rose{background:#ffecee;color:#f2556a}.ot-bubble.violet{background:#f1e9ff;color:#8b5cf6}.ot-bubble.green{background:#e8f9ef;color:#22a35a}.ot-bubble.purple{background:#eee9ff;color:#6d5efc}.ot-bubble.sky{background:#e7f3ff;color:#3b82f6}.ot-bubble.amber{background:#fff3e4;color:#f5a524}.ot-bubble.indigo{background:#ecebff;color:#6d5efc}.ot-bubble.red{background:#ffecec;color:#f05252}.ot-bubble.mint{background:#e7fbf3;color:#14b87a}.ot-bubble.orange{background:#fff1e6;color:#f59a45}.ot-cats{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:18px;gap:18px;align-items:start}.ot-cat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.ot-cat-grid a{min-height:92px;display:grid;grid-template-columns:48px minmax(0,1fr) 16px;grid-gap:12px;gap:12px;align-items:center;padding:14px;border:1px solid #eef2f8;border-radius:16px;background:#fff;box-shadow:0 8px 18px #90a4cc10}.ot-cat-grid b{display:block;font-size:15px}.ot-cat-grid em,.ot-cat-grid small{display:block;color:var(--muted);font-style:normal;font-size:12px;line-height:1.35}.ot-cat-grid svg:last-child{color:#b0b8cc}.ot-cats aside{display:grid;grid-gap:12px;gap:12px}.ot-rect{height:250px;border-radius:18px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8ea0c4;background:linear-gradient(180deg,#f4f2ff,#eef4ff)}.ot-rect b{font-size:28px;letter-spacing:1px}.ot-rect small,.ot-rect span{font-size:14px}.ot-trust{margin:28px auto 36px;min-height:92px;border:1px solid #eef2f8;border-radius:18px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;box-shadow:0 8px 20px #90a4cc10}.ot-trust div{display:flex;align-items:center;gap:12px;padding:18px 22px}.ot-trust div+div{border-left:1px solid #eef1f7}.ot-trust svg{color:#2f6bff}.ot-trust div:nth-child(2) svg{color:#f5a524}.ot-trust div:nth-child(3) svg{color:#22a35a}.ot-trust div:nth-child(4) svg{color:#14b8a6}.ot-trust b,.ot-trust small{display:block}.ot-trust small{color:var(--muted);font-size:13px;margin-top:2px}.ot-footer{border-top:1px solid #eef2f8;padding:34px 0 42px}.ot-foot{display:grid;grid-template-columns:1.3fr .7fr 1.3fr .7fr .6fr;grid-gap:24px;gap:24px}.ot-foot h3{margin:0 0 12px;font-size:15px}.ot-foot a,.ot-foot p{display:block;color:#66738f;font-size:14px;line-height:1.9}.ot-foot-brand p{margin:12px 0 0;max-width:230px;line-height:1.6}.ot-foot-cats{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:18px;column-gap:18px}.ot-foot-cats h3{grid-column:1/-1}.ot-social{display:flex;gap:10px}.ot-social a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.ot-social svg{width:16px;height:16px;fill:#fff}.ot-social a:first-child{background:#ff3b30}.ot-social a:nth-child(2){background:#111}.ot-social a:nth-child(3){background:#1877f2}.ot-social a:nth-child(4){background:#24292f}@media (max-width:1100px){.ot-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.ot-cats,.ot-foot{grid-template-columns:1fr}.ot-hero{grid-template-columns:minmax(0,1fr)}.ot-art{height:300px;justify-content:center}.ot-chips{flex-wrap:wrap}.ot-links{display:none}}@media (max-width:720px){.ot-hero-copy h1{font-size:36px}.ot-cat-grid,.ot-tools,.ot-trust{grid-template-columns:1fr 1fr}.ot-trust div+div{border-left:0}.ot-nav-side,.ot-nav-side button span{gap:10px}.ot-search>button{padding:0 14px}}.page{min-height:100vh}.nav{height:64px;gap:28px}.brand,.nav{display:flex;align-items:center}.brand{gap:8px;font-weight:800;font-size:18px}.brand-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#4428ff;color:#fff;font-size:12px}.nav-links{display:flex;gap:18px;font-size:14px;font-weight:700}.nav-links a.active{color:#3929ff}.subhead{border-bottom:1px solid var(--line)}.section{padding:36px 0 64px}.section h1{font-size:28px}.lede{color:var(--muted);max-width:560px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.card{border:1px solid var(--line);border-radius:14px;padding:18px;min-height:140px}.card h3{margin:0 0 6px}.card p{margin:0;color:#27305a}@media (max-width:800px){.grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.grid{grid-template-columns:1fr}}.at{background:#f6f8fd;min-height:100vh}.at-sky{background:linear-gradient(180deg,#f4f8ff,#eaf1ff 55%,#f7f9fd)}.at-hero{min-height:230px;display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:center;grid-gap:20px;gap:20px;padding:8px 0 28px;position:relative;z-index:1}.at-hero h1{margin:0 0 8px;font-size:40px;letter-spacing:-1px}.at-hero h1 em{font-style:normal;color:#2f6bff}.at-hero p{margin:0 0 18px;color:#4e5a78;font-size:16px}.at-art{height:210px;position:relative}.at-wave{position:absolute;inset:30px -20px auto auto;width:340px;height:120px;border-radius:50%;background:linear-gradient(90deg,#d9e6ff,#efe7ff);filter:blur(2px)}.at-leaf{position:absolute;right:18px;top:28px;width:70px;height:28px;border-radius:0 30px;background:#8ed58a;transform:rotate(20deg)}.at-laptop{position:absolute;right:36px;top:18px;width:250px}.at-screen{height:140px;border:8px solid #d5e4ff;border-radius:16px 16px 6px 6px;background:linear-gradient(#f8fbff,#e7f0ff);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding:16px}.at-screen i{background:#fff;border-radius:7px}.at-base{height:12px;margin:0 22px;border-radius:0 0 10px 10px;background:#c9daf8}.at-badge{position:absolute;right:-8px;bottom:18px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#2f6bff;background:#fff;box-shadow:0 8px 18px #7f97cc33}.at-body{display:grid;grid-template-columns:236px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start;padding:8px 0 48px}.at-side{display:grid;grid-gap:4px;gap:4px}.at-side button{height:42px;border:0;border-radius:12px;background:transparent;color:#243056;display:flex;align-items:center;gap:10px;padding:0 12px;font-weight:700;font-size:14px;cursor:pointer;text-align:left}.at-side button.on{background:#e8f0ff;color:#2f6bff}.at-skyscraper{margin-top:16px;height:460px;border-radius:18px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7e8cb0;background:linear-gradient(180deg,#f4f2ff,#e9f1ff 55%,#dfe9ff);overflow:hidden}.at-skyscraper i{position:absolute;top:10px;right:10px;font-style:normal;font-size:11px;background:#fff;border-radius:6px;padding:1px 6px}.at-skyscraper b{font-size:26px;color:#314066}.at-skyscraper:before{content:"";position:absolute;width:180px;height:90px;left:-20px;bottom:40px;border-radius:50%;background:#c9d8ff}.at-main{display:grid;grid-gap:14px;gap:14px}.at-banner{height:90px;border-radius:16px;display:grid;place-items:center;position:relative;color:#8b97b4;background:linear-gradient(90deg,#f7f9ff,#eef3ff 45%,#f6f4ff);overflow:hidden}.at-banner i{position:absolute;top:8px;right:10px;font-style:normal;font-size:11px;background:#fff;border-radius:6px;padding:1px 6px}.at-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.at-toolbar h2{margin:0;font-size:22px}.at-sort{display:flex;align-items:center;gap:8px;color:#66738f;font-size:14px}.at-sort button{height:32px;border:0;border-radius:999px;padding:0 14px;background:#fff;color:#314066;font-weight:700;cursor:pointer}.at-sort button.on{background:#2f6bff;color:#fff}.at-group{background:#fff;border:1px solid #e8eef8;border-radius:18px;padding:16px 16px 12px;box-shadow:0 8px 20px #90a4cc0d}.at-group header{justify-content:space-between;margin-bottom:12px}.at-group h3,.at-group header{display:flex;align-items:center}.at-group h3{margin:0;gap:8px;font-size:16px}.at-group h3 .ot-bubble{width:32px;height:32px;border-radius:10px}.at-group h3 small{color:#8b95b0;font-weight:700}.at-group header a,.at-group header button{border:0;background:transparent;color:#2f6bff;font-weight:700;cursor:pointer}.nv{background:#f3f6fd;min-height:100vh}.nv-body{padding:18px 0 64px}.nv-bar{display:grid;grid-template-columns:auto minmax(280px,520px) auto;align-items:center;justify-content:space-between;grid-gap:28px;gap:28px}.nv-bar h1{margin:0;font-size:40px;letter-spacing:-1.2px;font-weight:800}.nv-search{height:48px;display:flex;align-items:center;gap:10px;padding:0 18px;border:1px solid #e6edf8;border-radius:999px;background:#fff;box-shadow:0 8px 24px #8ea4d414;color:#9aa6c0}.nv-search input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.nv-search input::placeholder{color:#9aa6c0}.nv-filters{display:flex;align-items:center;gap:18px}.nv-filters button{border:0;background:transparent;padding:0;color:#5c6786;font-size:15px;font-weight:700;cursor:pointer}.nv-filters button.on{color:#2f6bff}.nv-cats{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:26px}.nv-cat{min-height:124px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px 12px;border:1px solid #eef2f8;border-radius:16px;background:#fff;box-shadow:0 8px 20px #90a4cc14;color:inherit;cursor:pointer}.nv-cat .ot-bubble{width:40px;height:40px;border-radius:12px}.nv-cat b{font-size:12px;line-height:1.25;text-align:center}.nv-cat small{max-width:100%;color:#8b95b0;font-size:11px;line-height:1.3;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nv-cat.on,.nv-cat:hover{border-color:#c9d8ff;box-shadow:0 10px 22px #90a4cc24}.nv-cat.on{border-color:#2f6bff}.nv-services{margin-top:28px}.nv-services h2{margin:0 0 16px;font-size:20px;letter-spacing:-.3px}.nv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.nv-card{padding:16px 16px 14px;border:1px solid #eef2f8;border-radius:18px;background:#fff;box-shadow:0 10px 24px #90a4cc14}.nv-card-main{display:grid;grid-template-columns:52px minmax(0,1fr) 28px;grid-gap:12px;gap:12px;align-items:center}.nv-card h3{margin:0;font-size:16px;letter-spacing:-.2px}.nv-card h3,.nv-card p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nv-card p{margin:3px 0 0;color:#8b95b0;font-size:13px}.nv-logo{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#f4f7fc;overflow:hidden}.nv-logo img{width:34px;height:34px;object-fit:contain}.nv-logo.letter{color:#fff;font-size:22px;font-weight:800}.nv-logo.blue{background:linear-gradient(145deg,#5b93ff,#2f6bff)}.nv-logo.rose{background:linear-gradient(145deg,#ff7b8c,#f2556a)}.nv-logo.violet{background:linear-gradient(145deg,#b08cff,#8b5cf6)}.nv-logo.green{background:linear-gradient(145deg,#3dcc7a,#16a34a)}.nv-logo.purple{background:linear-gradient(145deg,#8b7cff,#6d5efc)}.nv-logo.sky{background:linear-gradient(145deg,#5ec4ff,#3b82f6)}.nv-logo.amber{background:linear-gradient(145deg,#ffc14d,#f5a524)}.nv-logo.indigo{background:linear-gradient(145deg,#8d86ff,#6366f1)}.nv-logo.red{background:linear-gradient(145deg,#ff7a7a,#ef4444)}.nv-logo.mint{background:linear-gradient(145deg,#3ee0a4,#14b87a)}.nv-logo.orange{background:linear-gradient(145deg,#ffb36b,#f59a45)}.nv-star{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#c5cde0;cursor:pointer}.nv-star.on{color:#f5b301}.nv-open{display:flex;align-items:center;justify-content:center;width:112px;height:36px;margin:14px auto 0;border-radius:999px;background:#2f6bff;color:#fff;font-size:14px;font-weight:700}.nv-open:hover{background:#245be6}.nv-empty{margin:8px 0 0;color:#66738f}@media (max-width:1100px){.nv-bar{grid-template-columns:1fr auto}.nv-search{grid-column:1/-1;max-width:none}.nv-cats{grid-template-columns:repeat(3,minmax(0,1fr))}.nv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.nv-bar{grid-template-columns:1fr;gap:14px}.nv-bar h1{font-size:32px}.nv-filters{gap:14px}.nv-cats,.nv-grid{grid-template-columns:1fr 1fr}}.at-group>div{display:flex;flex-wrap:wrap;gap:10px}.at-group a.at-tool,.at-group article{height:48px;display:inline-flex;align-items:center;gap:8px;padding:0 14px 0 8px;border:1px solid #e8eef8;border-radius:12px;background:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.at-group a.at-tool .ot-bubble,.at-group article .ot-bubble{width:32px;height:32px;border-radius:9px}.at-group a.at-tool:hover{border-color:#c9d8ff;box-shadow:0 8px 16px #90a4cc1a}.at-empty{margin:12px 0;color:#66738f}@media (max-width:980px){.at-body,.at-hero{grid-template-columns:1fr}.at-art{display:none}}.tl{min-height:100vh;background:#f6f8fd;color:#1b2748}.tl-top{background:linear-gradient(180deg,#f4f8ff,#f7f9fd)}.tl-main{padding:18px 0 56px}.tl-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#5c6786;font-size:13px;font-weight:700}.tl-crumb a{color:#2f6bff}.tl-crumb [aria-current=page]{color:#1b2748}.tl-title{max-width:760px;margin:18px 0 22px}.tl-title h1{margin:0 0 8px;font-size:36px;letter-spacing:-.8px}.tl-title p,.tl-title small{display:block;margin:0;color:#4e5a78;line-height:1.55}.tl-title small{margin-top:8px;color:#5c6786}.tl-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:18px;gap:18px;align-items:start}.tl-side,.tl-work{display:grid;grid-gap:16px;gap:16px}.tl-card{background:#fff;border:1px solid #e8eef8;border-radius:18px;padding:18px;box-shadow:0 8px 20px #90a4cc0d}.tl-card h2{margin:0 0 14px;font-size:18px}.tl-drop{min-height:168px;border:1.5px dashed #c9d6f5;border-radius:16px;background:#f8faff;color:#4e5a78;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:18px;cursor:pointer;transition:border-color .2s ease,background .2s ease}.tl-drop strong{color:#1b2748}.tl-count,.tl-drop span,.tl-field small{color:#5c6786;font-size:13px}.tl-drop.over,.tl-drop:focus-visible,.tl-drop:hover{border-color:#2f6bff;background:#f3f7ff;outline:none}.tl-drop input{display:none}.tl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.tl-field{display:grid;grid-gap:6px;gap:6px;margin:12px 0;font-size:13px;font-weight:700;color:#314066}.tl-field input,.tl-field select,.tl-field textarea{width:100%;border:1px solid #e1e8f5;border-radius:12px;background:#fff;color:#1b2748;padding:10px 12px;font-weight:600}.tl-field textarea{resize:vertical}.tl-field input[type=range]{padding:0}.tl-field input[type=color]{height:42px;padding:4px}.tl-check{display:inline-flex;align-items:center;gap:8px;margin-right:12px;font-weight:700}.tl-btn,.tl-check input,.tl-choice button,.tl-colors button,.tl-grid-pos button,.tl-thumbs button{cursor:pointer}.tl-choice{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.tl-choice button,.tl-colors button,.tl-grid-pos button{border:1px solid #e1e8f5;background:#fff;color:#314066;border-radius:999px;padding:8px 12px;font-weight:700;transition:background .2s ease,color .2s ease,border-color .2s ease}.tl-choice button.on,.tl-colors button.on,.tl-grid-pos button.on{background:#2f6bff;border-color:#2f6bff;color:#fff}.tl-colors{display:flex;align-items:center;gap:8px}.tl-colors button{width:28px;height:28px;border-radius:50%;padding:0}.tl-grid-pos{display:grid;grid-template-columns:repeat(3,36px);grid-gap:8px;gap:8px}.tl-grid-pos button{width:36px;height:36px;border-radius:10px;padding:0}.tl-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tl-btn{height:42px;border:0;border-radius:999px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#2f6bff;color:#fff;font-weight:800;transition:background .2s ease,border-color .2s ease}.tl-btn.ghost{background:#fff;color:#2f6bff;border:1px solid #d5e2ff}.tl-btn.danger{background:#fff;color:#b42318;border:1px solid #ffd7d3}.tl-btn:hover:not(:disabled){background:#245be6}.tl-btn.danger:hover:not(:disabled),.tl-btn.ghost:hover:not(:disabled){background:#f5f8ff}.tl-btn:disabled{opacity:.55;cursor:not-allowed}.tl-note{margin-top:12px;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.45}.tl-note.error{background:#fff1f2;color:#9f1239}.tl-note.warn{background:#fff7e8;color:#9a5416}.tl-note.ok{background:#eefbf3;color:#166534}.tl-files{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:10px;gap:10px}.tl-file,.tl-files li{display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;border:1px solid #e8eef8;border-radius:14px;padding:10px}.tl-files li.on{border-color:#2f6bff}.tl-files img,.tl-thumbs img{width:64px;height:64px;object-fit:contain;border-radius:10px;background:#f4f7fd}.tl-files li>div{min-width:0}.tl-files b,.tl-files small{display:block;overflow-wrap:anywhere}.tl-files small{color:#5c6786;font-weight:600}.tl-files small.warn{color:#9a5416}.tl-files button img{width:64px;height:64px;border:0;padding:0;background:transparent}.tl-file-actions{display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1;justify-content:flex-start}.tl-page{position:relative;width:72px;overflow:hidden;border:1px solid #dbe4f5;border-radius:6px;background:#fff}.tl-page img{position:absolute;object-fit:fill;width:auto;height:auto}.tl-crop{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-gap:16px;gap:16px;align-items:start}.tl-stage{max-height:560px;overflow:auto;border-radius:14px;background:#eef3fb}.tl-stage-inner{position:relative}.tl-box,.tl-stage canvas{position:absolute;inset:0}.tl-stage canvas{position:relative;display:block}.tl-box{box-shadow:0 0 0 9999px #0f172a73;touch-action:none;cursor:move}.tl-box,.tl-box i{border:2px solid #2f6bff}.tl-box i{position:absolute;width:12px;height:12px;background:#fff;border-radius:50%}.tl-box .nw{left:-7px;top:-7px;cursor:nwse-resize}.tl-box .ne{right:-7px;top:-7px;cursor:nesw-resize}.tl-box .sw{left:-7px;bottom:-7px;cursor:nesw-resize}.tl-box .se{right:-7px;bottom:-7px;cursor:nwse-resize}.tl-box .n{top:-7px}.tl-box .n,.tl-box .s{left:calc(50% - 6px);cursor:ns-resize}.tl-box .s{bottom:-7px}.tl-box .e{right:-7px}.tl-box .e,.tl-box .w{top:calc(50% - 6px);cursor:ew-resize}.tl-box .w{left:-7px}.tl-preview,.tl-result-preview{max-width:100%;height:auto;border-radius:12px;background:#f4f7fd;touch-action:none}.tl-video{width:100%;max-height:360px;background:#111827;border-radius:14px}.tl-swatch{height:84px;border-radius:14px;border:1px solid #e8eef8}.tl-markdown{line-height:1.6}.tl-markdown :is(h1,h2,h3){margin:12px 0 6px}.tl-markdown blockquote,.tl-markdown ol,.tl-markdown p,.tl-markdown ul{margin:8px 0}.tl-markdown pre{background:#f4f7fd;border-radius:10px;padding:10px;overflow:auto}.tl-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.tl-markdown a{color:#2f6bff}.tl-markdown blockquote{border-left:3px solid #d5e2ff;padding-left:12px;color:#4e5a78}.tl-markdown hr{border:0;border-top:1px solid #e1e8f5}.tl-thumbs{display:flex;flex-wrap:wrap;gap:10px}.tl-thumbs figure{margin:0;width:92px;text-align:center;font-size:12px;color:#5c6786}.tl-thumbs figure.on img{outline:2px solid #2f6bff}.tl-thumbs img{width:92px;height:120px}.tl-stats{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0 0 12px;padding:0}.tl-stats li{border:1px solid #e8eef8;border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;gap:8px}.tl-stats span{color:#5c6786}.tl-output,.tl-result{border-radius:14px;background:#f7f9fd;padding:14px;overflow:auto}.tl-result{font-size:20px;font-weight:800}.tl-output{max-height:420px;white-space:pre-wrap;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.tl-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.tl-diff{max-height:520px;overflow:auto;border:1px solid #e8eef8;border-radius:14px}.tl-diff-row{display:grid;grid-template-columns:1fr 1fr}.tl-diff-row>div{display:grid;grid-template-columns:42px minmax(0,1fr);min-height:28px;border-top:1px solid #f1f4fa}.tl-diff-row span{color:#8b95b0;text-align:right;padding:4px 8px}.tl-diff-row p{margin:0;padding:4px 8px;white-space:pre-wrap;overflow-wrap:anywhere}.tl-diff-row .del,.tl-output .del,mark.del{background:#fde8e8;color:#9f1239}.tl-diff-row .add,.tl-output .add,mark.add{background:#e7f8ee;color:#166534}mark{background:transparent;color:inherit}.tl-editor{position:relative;border:1px solid #e1e8f5;border-radius:14px;overflow:hidden;background:#fff}.tl-editor pre,.tl-editor textarea{margin:0;min-height:280px;padding:14px;border:0;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;-moz-tab-size:2;tab-size:2}.tl-editor pre{color:#243056}.tl-editor textarea{position:absolute;inset:0;width:100%;height:100%;resize:none;color:transparent;caret-color:#1b2748;background:transparent}.tl-editor.plain textarea{position:relative;color:#1b2748}.tl-editor .key{color:#1d4ed8}.tl-editor .string{color:#0f766e}.tl-editor .number{color:#b45309}.tl-editor .literal{color:#6d28d9}.tl-steps{margin:0;padding-left:22px;display:grid;grid-gap:8px;gap:8px;color:#314066}.tl-faq details{border-top:1px solid #eef2f8;padding:10px 0}.tl-faq summary{cursor:pointer;font-weight:800}.tl-faq p{margin:8px 0 0;color:#4e5a78}.tl-related{display:grid;grid-gap:8px;gap:8px}.tl-related a{border:1px solid #e8eef8;border-radius:12px;padding:10px 12px;font-weight:800;transition:border-color .2s ease,background .2s ease}.tl-related a:hover{border-color:#c9d8ff;background:#f7faff}.tl-ad{height:250px;border-radius:18px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7e8cb0;background:linear-gradient(180deg,#f4f2ff,#eef4ff)}.tl-ad i{position:absolute;top:10px;right:10px;font-style:normal;font-size:11px;background:#fff;border-radius:6px;padding:1px 6px}.tl-ad b{color:#314066;font-size:22px}.tl-qr{display:grid;place-items:center;min-height:180px}.tl-spin{animation:tl-spin .7s linear infinite}@keyframes tl-spin{to{transform:rotate(1turn)}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid #2f6bff;outline-offset:2px}@media (prefers-reduced-motion:reduce){.ot-tools a,.tl-btn,.tl-drop,.tl-related a,.tl-spin{transition:none;animation:none}}@media (max-width:980px){.at-body,.at-hero,.tl-crop,.tl-diff-row,.tl-grid,.tl-layout,.tl-split,.tl-stats{grid-template-columns:1fr}.at-art{display:none}.tl-title h1{font-size:30px}.tl-files li{grid-template-columns:auto auto minmax(0,1fr)}.tl-file-actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:640px){.wrap{width:min(1180px,calc(100% - 28px))}.tl-title h1{font-size:28px}}