@font-face{font-family:'Material Symbols Rounded';font-style:normal;font-weight:100 700;font-display:block;src:url('/assets/vendor/material-symbols-rounded/MaterialSymbolsRounded.woff2') format('woff2')} .material-symbols-rounded{font-family:'Material Symbols Rounded';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
:root{--tp-accent:#087f83;--tp-violet:#6557d4;--tp-bg:#f6f8fc;--tp-paper:#fff;--tp-ink:#183143;--tp-muted:#536777;--tp-border:#dce5ed;--tp-gradient:linear-gradient(125deg,#e1f8f3,#edf0ff 65%,#faeefa);--tp-shadow:0 12px 40px #263c6410}html{scroll-padding-top:160px}body.tyn-site{background:var(--tp-bg);color:var(--tp-ink);padding-bottom:105px;font-size:15px}body.dark{--tp-bg:#111a28;--tp-paper:#1b283b;--tp-ink:#eef5ff;--tp-muted:#b2c2d4;--tp-border:#35455c;--tp-gradient:linear-gradient(125deg,#153d40,#272d53 65%,#3a2445);--bg:var(--tp-bg);--surface:var(--tp-paper);--ink:var(--tp-ink);--muted:var(--tp-muted);--line:var(--tp-border)}body[data-accent=violet]{--tp-accent:#6557d4}body[data-accent=blue]{--tp-accent:#2669c4}body[data-accent=rose]{--tp-accent:#ae3971}
*{box-sizing:border-box}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a,button{-webkit-tap-highlight-color:transparent}button,a{transition:transform .18s cubic-bezier(.2,.9,.3,1.3),box-shadow .18s,background .18s}button:active,a.tyn-toolcard:active{transform:scale(.975)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #56b8cd;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.6}p{line-height:1.65}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.tp-header{position:sticky!important;top:0;z-index:100;background:color-mix(in srgb,var(--tp-paper) 96%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--tp-border);padding:0 24px 12px}.tp-header .tyn-nav{max-width:1080px;min-height:68px;height:auto;padding:10px 0;margin:auto;gap:20px;display:flex;align-items:center;justify-content:space-between}.tyn-brand{gap:10px!important;display:flex!important;align-items:center!important;white-space:nowrap}.tyn-brand strong{font-size:23px!important;letter-spacing:-.8px}.tyn-brand img{width:38px!important;height:38px!important}.tyn-navlinks{gap:20px!important;align-items:center}.tyn-navlinks a{font-size:13px!important}.tyn-navlinks button{font-size:12px!important;min-height:36px!important;padding:7px 12px!important;width:auto!important;border:1px solid var(--tp-border);background:var(--tp-paper);border-radius:10px;color:var(--tp-ink)}
.tp-search-row{position:relative;display:flex;gap:12px;align-items:center;max-width:1080px;margin:auto;background:var(--tp-bg);border:1px solid var(--tp-border);border-radius:14px;padding:0 14px;height:48px}.tp-search-row .tyn-search-input{border:0!important;background:transparent!important;box-shadow:none!important;padding:10px 0!important;flex:1;width:100%;min-width:0;color:var(--tp-ink)}.tp-search-icon{display:flex;margin:0!important;color:var(--tp-accent)}kbd{border:1px solid var(--tp-border);border-radius:4px;padding:0 6px;color:var(--tp-muted)}.tyn-suggestions{position:absolute!important;top:calc(100% + 7px);left:0;right:0;z-index:120;background:var(--tp-paper)!important;box-shadow:0 18px 40px #102c4d25;border:1px solid var(--tp-border);border-radius:14px;max-height:55vh;overflow:auto;color:var(--tp-ink)}.tyn-suggestion{display:block;padding:12px 16px!important;border-bottom:1px solid var(--tp-border)}.tyn-suggestion:hover,.tyn-suggestion:focus{background:var(--tp-gradient)}.tyn-suggestion strong,.tyn-suggestion small{display:block}.tyn-suggestion small{margin-top:4px;color:var(--tp-muted);font-size:12px}
.tyn-site main,.tyn-site main.shell,.tyn-site main.wrap,.tyn-site main.wide{width:calc(100% - 48px);max-width:1080px!important;margin:32px auto!important;padding:0!important;min-width:0}.tp-eyebrow{display:flex;align-items:center;gap:8px;letter-spacing:1.8px;font-size:10px;font-weight:750;color:var(--tp-accent)}.tp-hero{position:relative;isolation:isolate;overflow:visible;border:1px solid #d9e9eb;background:var(--tp-gradient);border-radius:28px;padding:40px 44px;margin-bottom:34px;box-shadow:var(--tp-shadow)}.tp-hero h1{font-size:clamp(44px,6vw,72px);line-height:1.03;margin:22px 0 14px;letter-spacing:-3px;max-width:700px}.tp-hero h1 span{display:block;font-size:clamp(32px,4vw,49px);line-height:1.12;color:var(--tp-accent);letter-spacing:-1.8px;margin-top:12px}.tp-intro{max-width:650px;font-size:15px;color:var(--tp-muted);margin:20px 0}.tp-hero-label{font-size:13px!important;font-weight:650}.tp-hero-search{position:relative;display:flex;align-items:center;gap:12px;background:var(--tp-paper);padding:4px 16px;border-radius:14px;border:1px solid var(--tp-border);max-width:760px;margin-top:8px;box-shadow:0 6px 14px #30416908}.tp-hero-search input{border:0!important;box-shadow:none!important;background:transparent!important;min-width:0;flex:1;padding:16px 0!important;color:var(--tp-ink)}.tp-hero-search>span{color:var(--tp-accent)}.tp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 24px}.tp-chips button{background:var(--tp-paper);border:1px solid var(--tp-border);border-radius:30px;padding:7px 12px;color:var(--tp-muted);font-size:12px}.tp-honesty{max-width:760px;border-top:1px solid color-mix(in srgb,var(--tp-accent) 15%,transparent);padding-top:18px;font-size:12px}.tp-honesty strong{font-size:13px}.tp-honesty p{margin:7px 0;color:var(--tp-muted)}.tp-honesty small{font-size:11px;color:var(--tp-muted)}.tp-hero-pebble{position:absolute;z-index:-1;right:28px;top:65px;width:170px;height:120px;border-radius:55% 60% 45% 50%;background:linear-gradient(135deg,#4ccdb355,#8479e85c);transform:rotate(-18deg);box-shadow:-25px 80px 0 -18px #7cc8ed3b}
.tyn-home-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(230px,1fr);gap:30px}.tyn-toolgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tyn-toolcard,.indicator-card,.library-card,.tool-card{border:1px solid var(--tp-border)!important;background:var(--tp-paper)!important;border-radius:18px!important;box-shadow:var(--tp-shadow)!important;min-width:0;transition:transform .2s cubic-bezier(.2,.9,.3,1.3),box-shadow .2s,border-color .2s}.tyn-toolcard:hover,.indicator-card:hover,.library-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #30416b15!important;border-color:#70c4cb!important}.tyn-toolcard{display:flex!important;gap:14px;align-items:flex-start;padding:20px!important;min-height:124px}.tyn-toolcard strong{font-size:14px}.tyn-toolcard small{display:block;line-height:1.55;color:var(--tp-muted);font-size:12px;margin-top:6px}.tyn-icon{background:var(--tp-gradient)!important;color:var(--tp-accent)!important;min-width:38px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px}.tyn-icon .material-symbols-rounded{font-size:22px}.tyn-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.tyn-section-head h2{font-size:19px;letter-spacing:-.5px}.tyn-section-head>a,.tp-all-professions{font-size:12px;color:var(--tp-accent)}.tyn-profession-list{background:var(--tp-paper);border:1px solid var(--tp-border);border-radius:18px;overflow:hidden}.tyn-profession-list a{display:flex;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--tp-border);font-size:12px}.tyn-profession-list a:hover{background:var(--tp-gradient)}.tp-all-professions{display:block;margin-top:12px}.tyn-smallnote,.muted,.minor{color:var(--tp-muted)}
.tyn-site h1{overflow-wrap:anywhere}.tyn-site .panel,.bench-panel,.quality-panel{border-color:var(--tp-border)!important;border-radius:18px!important;background:var(--tp-paper)!important;color:var(--tp-ink)}.tyn-site input:not([type=checkbox]):not([type=range]),.tyn-site textarea,.tyn-site select{max-width:100%;min-height:44px;border:1px solid var(--tp-border);border-radius:10px;background:var(--tp-paper);color:var(--tp-ink);padding:11px}.tyn-site textarea{width:100%;min-height:135px}.tyn-site label{display:block;margin:12px 0 6px;font-size:13px}.tyn-site button.primary,.tyn-site .primary,.tp-primary{background:linear-gradient(115deg,var(--tp-accent),#5475cb)!important;border:0!important;color:white!important;border-radius:11px!important;padding:12px 18px!important}.tyn-site button:not(.tp-ad-close):not(.tyn-menu){min-height:36px}.tp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tp-panel{padding:24px;background:var(--tp-paper);border:1px solid var(--tp-border);border-radius:18px;margin:18px 0}.tp-panel h2{font-size:19px;margin-top:0}.tp-actions{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.tp-actions button,.tp-actions a{border:1px solid var(--tp-border);background:var(--tp-paper);border-radius:10px;padding:10px 15px;color:var(--tp-ink)}.tp-result{padding:20px;background:var(--tp-gradient);border:1px solid var(--tp-border);border-radius:15px;margin:20px 0;overflow-wrap:anywhere}.tp-result strong{font-size:25px}.tp-method,.tp-working{border-left:3px solid var(--tp-accent);padding:12px 18px;background:var(--tp-paper);margin:20px 0;font-size:13px;overflow-wrap:anywhere}.tp-working code{white-space:pre-wrap;display:block}.tp-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;background:#e4f5ee;color:#16613e;border-radius:7px;font-size:10px;font-weight:650;white-space:nowrap}.tp-badge.premium{background:#f0e8ff;color:#673f9b}.tp-table-wrap{overflow:auto}.tp-table-wrap table{width:100%;border-collapse:collapse;min-width:550px}.tp-table-wrap th,.tp-table-wrap td{text-align:left;border-bottom:1px solid var(--tp-border);padding:10px;font-size:12px}.tp-table-wrap input{min-width:90px;width:100%}.tp-filelist{max-height:350px;overflow:auto}.tp-filelist label{display:flex;gap:10px;align-items:center;padding:8px}.tp-filelist input{width:auto}.tp-status{min-height:24px;font-size:13px;white-space:pre-wrap}.tp-error{color:#ad283b}.tp-float-settings{position:fixed;top:130px;right:24px;z-index:150;width:300px;max-height:65vh;overflow:auto;background:var(--tp-paper);border:1px solid var(--tp-border);border-radius:18px;padding:20px;box-shadow:0 20px 80px #17254430}.tp-float-settings h2{font-size:18px}.tp-ad{position:fixed!important;z-index:40;border:1px dashed #bdcbd7!important;background:var(--tp-paper)!important;color:var(--tp-muted)!important;border-radius:12px!important;box-shadow:none!important;text-align:center;margin:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px!important}.tp-ad>small{font-size:8px;letter-spacing:1.3px}.tp-ad-inner{font-size:12px;display:flex;flex-direction:column;gap:6px}.tp-ad-inner span{font-size:10px}.tp-ad-left,.tp-ad-right{display:none;top:145px;bottom:106px;width:130px;height:auto!important}.tp-ad-left{left:15px}.tp-ad-right{right:15px}.tp-ad-bottom{bottom:8px;left:50%;transform:translateX(-50%);width:min(1080px,calc(100% - 32px));height:74px!important;flex-direction:row;gap:22px}.tp-ad-close{position:absolute;right:8px;top:5px;border:0;background:transparent;color:var(--tp-muted);font-size:21px;width:28px;height:28px}.tp-ad-bottom.collapsed{width:45px;height:32px!important;padding:0!important;left:auto;right:12px;transform:none}.tp-ad-bottom.collapsed>small,.tp-ad-bottom.collapsed .tp-ad-inner{display:none}.tp-ad-bottom.collapsed .tp-ad-close{position:static}.tyn-footer{margin-top:55px!important;border-top:1px solid var(--tp-border);padding:26px 24px!important;background:var(--tp-paper)}.tyn-footer>div{max-width:1080px;margin:auto;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.tyn-footer nav{display:flex;gap:14px;flex-wrap:wrap;font-size:12px}.tyn-footer span{font-size:12px}
#pro-example,#load-example,#utility-example{display:none!important}body[data-motion=full] .tp-reveal{animation:tp-rise .45s cubic-bezier(.2,.8,.3,1) both}body[data-motion=full] button.tp-click{animation:tp-bounce .25s ease-out} @keyframes tp-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes tp-bounce{50%{transform:scale(.96)}}
@media(min-width:1460px){.tp-ad-left,.tp-ad-right{display:flex}.tyn-site main{max-width:min(1080px,calc(100% - 330px))!important}.tp-header .tyn-nav,.tp-search-row{max-width:min(1080px,calc(100% - 290px))}}
@media(max-width:800px){.tp-header{padding:0 16px 10px}.tp-header .tyn-nav{min-height:60px}.tyn-navlinks.open{position:absolute;top:58px;right:16px;min-width:220px;z-index:125;border:1px solid var(--tp-border);border-radius:14px;box-shadow:var(--tp-shadow);background:var(--tp-paper);padding:18px!important;display:flex!important;flex-direction:column;align-items:stretch!important}.tyn-menu{display:block!important}.tyn-navlinks:not(.open){display:none!important}.tyn-site main{width:calc(100% - 28px)!important;margin-top:20px!important}.tp-hero{padding:27px 23px;border-radius:22px}.tp-hero h1{font-size:52px;letter-spacing:-2px}.tp-hero h1 span{font-size:34px;letter-spacing:-1.3px}.tp-hero-pebble{width:95px;height:75px;right:15px;opacity:.5}.tp-intro{font-size:14px}.tyn-home-layout{grid-template-columns:1fr;gap:22px}.tp-grid{grid-template-columns:1fr}.tp-ad-bottom{height:54px!important;gap:12px}.tp-ad-inner{font-size:10px}.tp-ad-inner span{font-size:9px}.tp-ad>small{font-size:7px}.tp-header .tyn-brand strong{font-size:21px!important}.tp-float-settings{right:12px;left:12px;width:auto}.tp-honesty{font-size:12px}.tyn-site .calculator-layout,.tyn-site .workarea,.tyn-site .qr-layout{grid-template-columns:1fr!important}.tp-working{font-size:12px}.tp-panel{padding:18px}}
@media(max-width:450px){.tyn-toolgrid{grid-template-columns:1fr}.tyn-toolcard{min-height:90px}.tp-hero h1 span{font-size:30px}.tp-chips button{font-size:11px;padding:7px 9px}.tp-search-row kbd{display:none}.tp-search-row .tyn-search-input{font-size:14px}.tp-honesty small{line-height:1.5;display:block}.tyn-footer>div{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}body[data-motion=reduced] *,body[data-motion=reduced] *::before,body[data-motion=reduced] *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}

@media(max-width:800px){.tyn-toolcard .tyn-icon{display:grid!important;flex-shrink:0}.tyn-toolcard{display:flex!important;gap:12px!important}}

.tp-control-icon{font-size:16px;vertical-align:middle;margin-right:6px}.tyn-navlinks a{display:inline-flex;align-items:center}.tyn-navlinks a .tp-control-icon{font-size:17px}.tp-hero .tp-control-icon{font-size:14px}
