.tool-page{min-height:100dvh;display:flex;flex-direction:column}.tool-page main{flex:1;padding:var(--space-16) var(--space-4) var(--space-12)}.tool-container{max-width:720px;margin:0 auto}.tool-header{margin-bottom:var(--space-10)}.tool-header h1{font-family:var(--font-heading);font-size:clamp(2rem,5vw,2.75rem);letter-spacing:-.02em;line-height:1.05;color:var(--color-primary-dark);margin-bottom:var(--space-3)}.tool-header p{font-size:1.05rem;color:var(--color-text-muted);line-height:1.7;max-width:55ch}.tool-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-weight:500;font-size:.875rem;color:var(--color-text-main);letter-spacing:.01em}.form-group label .optional{color:var(--color-text-light);font-weight:400}.form-group input,.form-group select{font-family:var(--font-body);font-size:1rem;padding:.75rem 1rem;border:1.5px solid var(--glass-border);border-radius:10px;background:var(--bg-secondary);color:var(--color-text-main);transition:border-color var(--transition-base),box-shadow var(--transition-base);min-height:48px;width:100%;box-sizing:border-box}.form-group input:hover,.form-group select:hover{border-color:#35d29b66}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #35d29b26}.form-group input::placeholder{color:var(--color-text-light)}.form-group input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.form-row-3{grid-template-columns:repeat(3,1fr)}@media(max-width:640px){.form-row,.form-row-3{grid-template-columns:1fr}}.input-prefix{position:relative;display:grid}.input-prefix:before{content:attr(data-prefix);position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-light);font-size:1rem;pointer-events:none;z-index:1}.input-prefix input{padding-left:2rem}.input-suffix{display:grid}.input-suffix input{grid-area:1 / 1;padding-right:2.5rem}.input-suffix:after{content:attr(data-suffix);grid-area:1 / 1;align-self:center;justify-self:end;margin-right:1rem;color:var(--color-text-light);font-size:1rem;pointer-events:none;z-index:1}.result-section{margin-top:var(--space-8)}.result-section h2{font-family:var(--font-heading);font-size:1.5rem;letter-spacing:-.02em;line-height:1.05;color:var(--color-primary-dark);margin-bottom:var(--space-5)}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.result-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;padding:var(--space-5);box-shadow:0 2px 12px #07393e0f;transition:transform var(--transition-base),box-shadow var(--transition-base)}.result-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #07393e1a}.result-card .result-label{font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.result-card .result-value{font-family:var(--font-heading);font-size:1.75rem;letter-spacing:-.02em;color:var(--color-primary-dark);line-height:1.1}.result-card .result-value.positive{color:var(--color-primary)}.result-card .result-value.negative{color:#ef4444}.result-card.featured{background:linear-gradient(135deg,var(--color-primary-dark) 0%,#0d4f56 100%);border-color:transparent}.result-card.featured .result-label{color:#ffffffb3}.result-card.featured .result-value{color:var(--color-primary)}.output-box{background:var(--color-primary-dark);border-radius:14px;padding:var(--space-5);margin-top:var(--space-8);position:relative}.output-box .output-label{font-size:.8rem;font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.output-box .output-value{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;color:var(--color-primary);word-break:break-all;line-height:1.6;padding-right:3.5rem;min-height:1.5em}.output-box .output-placeholder{color:#ffffff4d;font-style:italic}.copy-btn{position:absolute;top:var(--space-5);right:var(--space-5);background:#35d29b26;border:1px solid rgba(53,210,155,.3);border-radius:8px;padding:.5rem .75rem;color:var(--color-primary);font-family:var(--font-body);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);min-height:44px;min-width:44px;display:flex;align-items:center;gap:.35rem}.copy-btn:hover{background:#35d29b40;border-color:var(--color-primary)}.copy-btn:active{transform:translateY(1px) scale(.98)}.copy-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.copy-btn.copied{background:var(--color-primary);color:var(--color-primary-dark)}.copy-btn svg{width:16px;height:16px;flex-shrink:0}.timeline-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:var(--space-5);border-radius:14px;overflow:hidden;border:1px solid var(--glass-border)}.timeline-table thead{background:var(--color-primary-dark)}.timeline-table th{padding:.85rem 1rem;font-size:.8rem;font-weight:600;color:#ffffffd9;text-transform:uppercase;letter-spacing:.05em;text-align:left}.timeline-table td{padding:.85rem 1rem;font-size:.95rem;color:var(--color-text-main);border-top:1px solid var(--glass-border);background:var(--bg-secondary)}.timeline-table tbody tr:hover td{background:var(--bg-tertiary)}.timeline-table .milestone-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;background:#35d29b1f;color:var(--color-primary-dark);margin-left:.5rem}.timeline-table .milestone-badge.reached{background:var(--color-primary);color:#fff}.test-summary{margin-top:var(--space-5);padding:var(--space-5);border-radius:14px;border-left:4px solid var(--color-primary);background:#35d29b0f}.test-summary .summary-label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.test-summary .summary-value{font-family:var(--font-heading);font-size:1.35rem;color:var(--color-primary-dark)}.test-summary.warning{border-left-color:#f59e0b;background:#f59e0b0f}.test-summary.warning .summary-value{color:#92400e}.tool-cta{margin-top:var(--space-16);padding:var(--space-8) var(--space-6);border-radius:18px;background:linear-gradient(135deg,var(--color-primary-dark) 0%,#0d4f56 100%);text-align:center;position:relative;overflow:hidden}.tool-cta:before{content:"";position:absolute;top:-50%;right:-30%;width:60%;height:200%;background:radial-gradient(circle,rgba(53,210,155,.12) 0%,transparent 60%);pointer-events:none}.tool-cta h3{font-family:var(--font-heading);font-size:1.5rem;letter-spacing:-.02em;color:#fff;margin-bottom:var(--space-3);position:relative}.tool-cta p{color:#ffffffb3;font-size:.95rem;margin-bottom:var(--space-6);max-width:45ch;margin-left:auto;margin-right:auto;position:relative}.tool-cta .cta-link{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.75rem;background:var(--color-primary);color:var(--color-primary-dark);font-family:var(--font-body);font-weight:600;font-size:.95rem;border-radius:10px;text-decoration:none;transition:all var(--transition-base);position:relative;min-height:48px}.tool-cta .cta-link:hover{background:var(--color-primary-light);transform:translateY(-1px);box-shadow:0 6px 20px #35d29b4d}.tool-cta .cta-link:active{transform:translateY(1px) scale(.98)}.tool-cta .cta-link:focus-visible{outline:2px solid #fff;outline-offset:3px}.tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin-top:var(--space-8)}@media(max-width:640px){.tools-grid{grid-template-columns:1fr}}.tool-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;text-decoration:none;color:inherit;box-shadow:0 2px 12px #07393e0f;transition:all var(--transition-base)}.tool-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #07393e1f;border-color:#35d29b4d}.tool-card:active{transform:translateY(0) scale(.99)}.tool-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tool-card .tool-icon{width:48px;height:48px;border-radius:12px;background:#35d29b1a;display:flex;align-items:center;justify-content:center;color:var(--color-primary-dark)}.tool-card .tool-icon svg{width:24px;height:24px}.tool-card h3{font-family:var(--font-heading);font-size:1.25rem;letter-spacing:-.02em;color:var(--color-primary-dark)}.tool-card p{font-size:.9rem;color:var(--color-text-muted);line-height:1.6}.tool-card .card-arrow{font-size:.85rem;font-weight:600;color:var(--color-primary);display:flex;align-items:center;gap:.35rem;margin-top:auto}.breadcrumbs{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--color-text-light);margin-bottom:var(--space-5);flex-wrap:wrap}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-base)}.breadcrumbs a:hover{color:var(--color-primary)}.breadcrumbs .separator{color:var(--color-text-light);font-size:.7rem}.breadcrumbs .current{color:var(--color-primary-dark);font-weight:500}.related-tools{margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px solid var(--glass-border)}.related-tools h2{font-family:var(--font-heading);font-size:1.35rem;letter-spacing:-.02em;color:var(--color-primary-dark);margin-bottom:var(--space-5)}.related-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.related-tool-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);text-decoration:none;color:inherit;transition:all var(--transition-base)}.related-tool-link:hover{transform:translateY(-2px);box-shadow:0 4px 16px #07393e14;border-color:#35d29b4d}.related-tool-link:active{transform:translateY(0) scale(.99)}.related-tool-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.related-tool-link .rt-icon{width:36px;height:36px;border-radius:8px;background:#35d29b1a;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary-dark)}.related-tool-link .rt-icon svg{width:18px;height:18px}.related-tool-link .rt-name{font-size:.88rem;font-weight:600;color:var(--color-primary-dark)}.tool-content{margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px solid var(--glass-border)}.tool-content h2{font-family:var(--font-heading);font-size:1.5rem;letter-spacing:-.02em;line-height:1.15;color:var(--color-primary-dark);margin-bottom:var(--space-4);margin-top:var(--space-8)}.tool-content h2:first-child{margin-top:0}.tool-content h3{font-family:var(--font-body);font-size:1.05rem;font-weight:600;color:var(--color-text-main);margin-bottom:var(--space-3);margin-top:var(--space-6)}.tool-content p{font-size:.95rem;color:var(--color-text-muted);line-height:1.7;max-width:65ch;margin-bottom:var(--space-4)}.tool-content ul,.tool-content ol{list-style:disc;padding-left:1.5rem;margin-bottom:var(--space-4)}.tool-content ol{list-style:decimal}.tool-content li{font-size:.95rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-2)}.tool-content code{font-size:.85rem;background:#07393e0f;padding:.15rem .4rem;border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:var(--color-primary-dark)}.tool-page .header{position:sticky;background:var(--bg-secondary);border-bottom:1px solid var(--glass-border)}.platform-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);background:var(--bg-tertiary);padding:4px;border-radius:12px}.platform-tab{flex:1;padding:.7rem 1rem;border:none;background:none;font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;border-radius:9px;transition:all var(--transition-base);min-height:44px;display:flex;align-items:center;justify-content:center;gap:.4rem}.platform-tab:hover{color:var(--color-text-main);background:#ffffff80}.platform-tab:active{transform:scale(.98)}.platform-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.platform-tab.active{background:var(--bg-secondary);color:var(--color-primary-dark);font-weight:600;box-shadow:0 1px 4px #07393e14}.platform-tab svg{width:16px;height:16px;flex-shrink:0}@media(max-width:480px){.platform-tabs{flex-direction:column}}.info-box{font-size:.85rem;color:var(--color-text-muted);line-height:1.6;padding:var(--space-4);background:#35d29b0f;border-radius:10px;border-left:3px solid var(--color-primary);margin-bottom:var(--space-5)}.info-box code{font-size:.8rem;background:#07393e14;padding:.15rem .4rem;border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.param-reference{margin-top:var(--space-6)}.param-reference summary{font-size:.85rem;font-weight:600;color:var(--color-primary-dark);cursor:pointer;padding:var(--space-3) 0;list-style:none;display:flex;align-items:center;gap:.4rem}.param-reference summary::-webkit-details-marker{display:none}.param-reference summary svg{width:14px;height:14px;transition:transform var(--transition-base)}.param-reference[open] summary svg{transform:rotate(90deg)}.param-reference .ref-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:var(--space-3);font-size:.82rem;border-radius:10px;overflow:hidden;border:1px solid var(--glass-border)}.param-reference .ref-table th{padding:.6rem .75rem;text-align:left;font-weight:600;color:var(--color-text-muted);background:var(--bg-tertiary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.param-reference .ref-table td{padding:.55rem .75rem;border-top:1px solid var(--glass-border);background:var(--bg-secondary)}.param-reference .ref-table code{font-size:.78rem;background:#07393e0f;padding:.1rem .35rem;border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:var(--color-primary-dark)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
