:root{--bg: #f3f4f6;--surface: #ffffff;--surface-muted: #f8fafc;--surface-strong: #eef2f7;--ink: #111827;--muted: #647084;--muted-strong: #374151;--line: #d9dee8;--line-soft: #e8edf4;--primary: #0f766e;--primary-strong: #115e59;--amber: #d97706;--blue: #2563eb;--rose: #be123c;--violet: #7c3aed;--danger: #b42318;--good: #047857;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .06);--shadow-md: 0 14px 34px rgba(17, 24, 39, .08);color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;margin:0;overflow-x:hidden;color:var(--ink);background:linear-gradient(180deg,#ffffffeb,#f3f4f6eb 320px),var(--bg)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{touch-action:manipulation}.site-shell{min-height:100vh}.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:10px clamp(16px,4vw,40px);border-bottom:1px solid rgba(217,222,232,.86);background:#ffffffe0;backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:11px;min-width:0}.brand-mark{position:relative;display:grid;width:38px;height:38px;place-items:center;overflow:hidden;border-radius:8px;color:#fff;background:var(--ink);font-size:.72rem;font-weight:900;letter-spacing:0}.brand-mark:after{position:absolute;right:-8px;bottom:-9px;width:24px;height:24px;border-radius:8px;background:var(--amber);content:""}.brand strong,.brand small{display:block;line-height:1.05}.brand strong{font-size:.98rem}.brand small{margin-top:3px;color:var(--muted);font-size:.75rem;font-weight:700}.header-nav{display:flex;align-items:center;gap:8px;color:var(--muted-strong);font-size:.9rem;font-weight:800}.header-nav a{min-height:36px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.app-main{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:24px 0 64px}h1,h2,p{margin:0}h1{color:var(--ink);font-size:2rem;line-height:1.06;letter-spacing:0}h2{font-size:1rem;line-height:1.2;letter-spacing:0}.eyebrow{margin:0;color:var(--primary);font-size:.74rem;font-weight:900;text-transform:uppercase}.directory-band,.tool-page{display:grid;gap:16px}.home-hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,.7fr);gap:18px;min-height:220px;overflow:hidden;padding:clamp(18px,4vw,28px);border:1px solid #182235;border-radius:8px;color:#fff;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#0c1220;background-size:28px 28px,28px 28px,auto;box-shadow:var(--shadow-md)}.home-hero-copy{position:relative;z-index:1;display:grid;align-content:center;gap:10px;max-width:520px}.home-hero .eyebrow{color:#5eead4}.home-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,4.5rem)}.home-hero-copy p:not(.eyebrow){max-width:430px;color:#cbd5e1;font-size:1rem;line-height:1.45}.home-hero-art{position:relative;z-index:1;display:grid;align-items:end;min-height:170px}.home-hero-art svg{width:min(100%,520px);height:auto;justify-self:end;overflow:visible}.home-hero-art path,.home-hero-art circle{vector-effect:non-scaling-stroke}.hill-line,.rail,.rail-back,.sleeper,.signal path,.code-sparks path{fill:none;stroke-linecap:round;stroke-linejoin:round}.hill-line{stroke:#5eead4;stroke-width:3;opacity:.65}.rail-back,.sleeper{stroke:#94a3b8;stroke-width:4;opacity:.55}.rail{stroke:#f59e0b;stroke-width:5}.train path,.train circle{fill:none;stroke:#f8fafc;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.train circle{fill:#0c1220}.signal path,.signal circle{fill:none;stroke:#f59e0b;stroke-width:4;stroke-linecap:round}.code-sparks path,.code-sparks circle{fill:none;stroke:#60a5fa;stroke-width:4;stroke-linecap:round;opacity:.78}.directory-heading{display:grid;gap:6px;padding:4px 2px}.directory-heading h1{font-size:clamp(1.65rem,3vw,2.45rem)}.directory{display:grid;gap:14px}.directory-command{display:grid;grid-template-columns:minmax(180px,270px) minmax(240px,1fr);align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-md)}.directory-title{display:grid;gap:4px}.directory-title strong{font-size:1.04rem}.directory-title span{color:var(--muted);font-size:.88rem}.search-field{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.search-field:focus-within{border-color:#0f766e73;box-shadow:0 0 0 3px #0f766e1f}.search-field svg{flex:0 0 auto;color:var(--muted)}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.search-field input::placeholder{color:#8a94a6}.directory-workbench{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:start;min-width:0}.category-rail{position:sticky;top:80px;display:grid;gap:6px;min-width:0;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.category-rail button,.category-tabs button,.segmented-control button{min-height:40px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted-strong);cursor:pointer;font-weight:800}.category-rail button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;text-align:left}.category-rail button strong{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border-radius:8px;color:var(--muted);background:var(--surface-strong);font-size:.78rem}.category-rail button.active{border-color:#0f766e29;color:var(--primary-strong);background:#eaf7f4}.category-rail button.active strong{color:#fff;background:var(--primary)}.category-tabs,.segmented-control{display:flex;flex-wrap:wrap;gap:8px}.segmented-control button{min-height:38px;padding:0 13px;border-color:var(--line);background:#fff}.segmented-control button.active{border-color:transparent;color:#fff;background:var(--primary)}.directory-results{display:grid;min-width:0;gap:12px}.results-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:0 4px}.results-bar strong{font-size:1rem}.results-bar span{color:var(--muted);font-size:.88rem;font-weight:800}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.tool-card{--category-color: var(--primary);display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:210px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.tool-card:hover{border-color:#11182738;box-shadow:var(--shadow-md);transform:translateY(-1px)}.category-dev{--category-color: var(--blue)}.category-texto{--category-color: var(--primary)}.category-brasil{--category-color: var(--good)}.category-tempo{--category-color: var(--violet)}.category-imagem{--category-color: var(--amber)}.tool-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 2px}.tool-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:var(--category-color);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--line-soft)}.tool-card-actions{display:flex;gap:6px}.icon-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#fff;cursor:pointer}.icon-button:hover,.open-button:hover{border-color:#1118273d;color:var(--ink)}.icon-button.active{border-color:#d9770640;color:var(--amber);background:#fff7ed}.tool-card-link{display:grid;align-content:start;gap:8px;padding:12px 14px 10px}.tool-card-link p,.tool-page-heading p{color:var(--muted);line-height:1.45}.tool-card-link p{font-size:.92rem}.tool-category{color:var(--category-color);font-size:.72rem;font-weight:900;text-transform:uppercase}.tag-row{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 14px}.tag-row span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:8px;color:var(--muted-strong);background:var(--surface-muted);font-size:.75rem;font-weight:800}.empty-state{display:grid;min-height:220px;place-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);background:#ffffffa6;font-weight:800}.tool-page{max-width:1180px;margin:0 auto}.tool-page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.tool-page-title{display:grid;gap:7px}.tool-page-heading h1{font-size:clamp(1.8rem,4vw,2.7rem)}.tool-page-heading p:not(.eyebrow){max-width:680px}.tool-page-meta{display:flex;flex-wrap:wrap;justify-content:end;gap:8px}.back-link,.offline-pill,.category-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--muted-strong);font-size:.84rem;font-weight:900}.back-link{margin-bottom:4px}.offline-pill{color:var(--good);border-color:#0478572e;background:#ecfdf5}.category-pill{color:var(--primary-strong);border-color:#0f766e29;background:#eaf7f4}.tool-panel{display:grid;gap:16px;padding:clamp(14px,2.4vw,22px);border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-md)}.compact-panel{max-width:940px}.tool-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:7px}.field span,.number-field span,.select-field span,.range-field span,.color-row span{color:var(--muted-strong);font-size:.8rem;font-weight:900}.field textarea,.field input,.number-field input,.select-field select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--ink);outline:0}.field textarea:focus,.field input:focus,.number-field input:focus,.select-field select:focus{border-color:#0f766e73;box-shadow:0 0 0 3px #0f766e1f}.field textarea{min-height:280px;padding:13px;resize:vertical;line-height:1.5}.short-field input,.number-field input,.select-field select{height:44px;padding:0 12px}.error-output{color:var(--danger)!important}.tool-actions,.inline-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:end}.tool-actions button,.inline-controls button,.result-box button,.download-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;border:1px solid transparent;border-radius:8px;color:#fff;background:var(--primary);cursor:pointer;font-weight:900}.tool-actions button:hover,.inline-controls button:hover,.download-button:hover{background:var(--primary-strong)}.tool-actions button.secondary,.inline-controls button.secondary{color:var(--ink);border-color:var(--line);background:#fff}.tool-actions button.secondary:hover,.inline-controls button.secondary:hover{border-color:#1118273d;background:var(--surface-muted)}button:disabled,.download-button[href=""]{cursor:not-allowed;opacity:.48}.metric-row{display:flex;flex-wrap:wrap;gap:8px}.metric-row span{padding:7px 10px;border-radius:8px;color:var(--muted-strong);background:var(--surface-muted);font-size:.82rem;font-weight:900}.number-field,.select-field{display:grid;min-width:150px;gap:7px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat-card{display:grid;gap:6px;min-height:88px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.stat-card span{color:var(--muted);font-size:.82rem;font-weight:900}.stat-card strong{font-size:1.45rem}.document-result{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.status{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:8px;font-weight:900}.status.good{color:var(--good);background:#ecfdf5}.status.bad{color:var(--danger);background:#fff1f2}.stack{display:grid;gap:12px}.result-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.result-box span{color:var(--muted);font-size:.78rem;font-weight:900}.result-box strong{min-width:0;overflow-wrap:anywhere;font-size:.92rem}.result-box button{width:34px;min-height:34px;padding:0}.qr-layout{grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:start}.range-field{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:12px;align-items:center}.range-field input{width:100%;accent-color:var(--primary)}.color-row{display:flex;flex-wrap:wrap;gap:12px}.color-row label{display:flex;align-items:center;gap:10px}.color-row input{width:48px;height:38px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}.qr-preview{display:grid;gap:14px;justify-items:center;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.qr-preview img{width:min(100%,320px);height:auto;image-rendering:pixelated}@media(max-width:900px){.home-hero{grid-template-columns:1fr;min-height:230px}.home-hero-art{position:absolute;right:-34px;bottom:-16px;width:min(88%,420px);min-height:0;opacity:.92}.home-hero-copy{max-width:360px;padding-right:84px}.directory-command,.directory-workbench,.tool-grid-two,.qr-layout,.tool-page-heading{grid-template-columns:1fr}.category-rail{position:static;display:flex;overflow-x:auto;width:100%;max-width:100%}.category-rail button{flex:0 0 auto;min-width:112px}.tool-page-meta{justify-content:start}}@media(max-width:560px){.site-header{min-height:58px;padding-inline:12px}.brand-mark{width:36px;height:36px}.header-nav{display:none}.app-main{width:min(100% - 20px,1240px);padding-top:14px}h1,.directory-heading h1{font-size:1.75rem}.home-hero{min-height:206px;padding:16px}.home-hero h1{font-size:2.2rem}.home-hero-copy{align-content:start;gap:8px;padding-right:66px}.home-hero-copy p:not(.eyebrow){font-size:.92rem}.home-hero-art{right:-72px;bottom:-32px;width:340px}.code-sparks{display:none}.directory-command,.tool-page-heading,.tool-panel{padding:12px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tool-card{min-height:170px}.results-bar span,.tool-card-actions{display:none}.tool-card-top{padding:12px 12px 0}.tool-icon{width:40px;height:40px}.tool-card-link{gap:6px;padding:10px 12px 12px}.tool-card-link h2{font-size:.94rem}.tool-card-link p{display:-webkit-box;overflow:hidden;font-size:.82rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tag-row{display:none}.field textarea{min-height:220px}.range-field{grid-template-columns:1fr}}
