*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#f8f9fa;--text:#1f2937;--muted:#6b7280;--card:#ffffff;--border:#e5e7eb;--surface:#0b1029;--primary:#1a2a6c;--header-end:#2c3e50;--focus-ring:rgba(26,42,108,.35);--btn-bg:#10163a;--btn-border:#24305b;--btn-border-hover:#3a4e9f;--btn-fg:#dbe5ff}body{font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text);background-color:var(--bg);margin:0;max-width:none;padding:0 10px 20px}html body{max-width:none!important;margin:0!important;padding:0 8px 32px!important}.skip-link,.sr-only{width:1px;height:1px;overflow:hidden}.sr-only{position:absolute!important;padding:0;margin:-1px;clip:rect(0,0,1px,0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:8px 12px;background:var(--primary);color:#fff;border-radius:8px;z-index:1000}footer,header{text-align:center;background:linear-gradient(135deg,var(--primary, #1a2a6c),var(--header-end, #2c3e50));color:#fff;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1)}header{position:relative;padding:1rem 0;margin-bottom:1rem}footer{padding:1.25rem 0;margin-bottom:1.5rem;margin-top:1.5rem;margin-bottom:0}.header-content,.home-btn{display:flex;align-items:center}.header-content{position:static;width:100%;max-width:1200px;margin:0 auto;flex-direction:column}.header-content .home-btn{position:static!important;transform:none!important;align-self:center;margin:.25rem 0 .75rem}.home-btn{position:absolute;top:50%;transform:translateY(-50%);justify-content:center;width:36px;height:36px;color:#fff;background-color:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:8px;transition:all .2s ease;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.25)}.home-btn:hover{background-color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5);transform:translateY(-50%) scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.35)}.home-btn svg{width:20px;height:20px;stroke:#fff}.home-btn:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:2px}header h1{margin-bottom:.25rem;font-size:1.6rem}header h2.tagline{font-weight:700;margin-top:.2rem;font-size:1rem}header p{opacity:.9;font-size:.9rem}.lede{margin-top:.5rem;opacity:.9}.subheader{margin-top:.25rem;font-weight:500;opacity:.9;display:flex;align-items:center;justify-content:center;gap:.5rem}.subheader span:last-child{font-weight:700;font-family:"Courier New",Courier,monospace;background-color:#fff;color:#0d1b3d;padding:.2rem .6rem;border-radius:4px;display:inline-block}main{display:flex;flex-direction:column;gap:1.5rem}.user-guide,main section{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.04);padding:1rem}main section h2{margin-bottom:.5rem;color:var(--text)}.user-guide{border-radius:14px;padding:2rem;margin-top:2rem;box-shadow:0 1px 2px rgba(16,24,40,.05)}.user-guide h2{margin:0 0 1.5rem;color:var(--text);font-size:1.5rem;font-weight:600;text-align:center}.guide-section{margin-bottom:2rem}.guide-section li:last-child,.guide-section:last-child{margin-bottom:0}.guide-section h3{margin:0 0 1rem;font-size:1.1rem}.guide-section ol,.guide-section ul{margin:0;padding-left:1.5rem}.guide-section li{margin-bottom:.5rem;line-height:1.6;color:var(--muted)}.guide-section h3,.guide-section strong{color:var(--text);font-weight:600}@media (max-width:640px){.user-guide{padding:1.5rem 1rem;margin-top:1.5rem}.user-guide h2{font-size:1.25rem}.guide-section h3{font-size:1rem}}input[type=number],input[type=text],select,textarea{appearance:none;width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:.8rem;font-size:1rem}textarea{resize:none}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-color:var(--primary)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;min-height:40px;border:1px solid var(--btn-border, #24305b);border-radius:8px;background:var(--btn-bg, #10163a);color:var(--btn-fg, #dbe5ff);text-decoration:none;transition:all .15s ease;white-space:nowrap;font-weight:600}.btn:hover{border-color:var(--btn-border-hover, #3a4e9f);transform:translateY(-1px)}.btn-primary{background:var(--primary, #1a2a6c);border-color:var(--primary, #1a2a6c);color:#fff}.btn-primary:hover{filter:brightness(1.08)}.btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.btn-small{padding:6px 10px;min-height:32px;font-size:.9rem}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;margin-top:14px}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:stretch}.tool-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:transform .15s ease,box-shadow .15s ease;height:100%}.tool-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(16,24,40,.08)}.tool-card h3{margin-top:0;color:#111827;margin-bottom:.75rem;font-size:1.1rem}.tool-card p{margin-bottom:1rem;color:var(--muted);flex-grow:1}.tool-card .btn{margin-top:auto;align-self:stretch;min-width:180px;justify-content:center;width:100%}.tool-icon-wrap{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.75rem;border-radius:10px;background:#eef2ff;flex-shrink:0}.tool-icon-wrap svg{width:28px;height:28px;stroke:#2c3e50;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.section-disclaimer{font-size:.9rem;color:var(--muted);margin:.25rem 0 1rem}.io-panels{display:grid}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1);display:flex;flex-direction:column;min-height:600px}.panel-header,.panel-title{display:flex;align-items:center}.panel-header{justify-content:space-between;padding:1rem 1.25rem;background:#f8fafc;border-bottom:1px solid var(--border)}.panel-title{gap:.5rem;font-weight:600;color:var(--text);font-size:.95rem}.panel-body{padding:0;flex-grow:1;display:flex;flex-direction:column;position:relative}.panel-body textarea{width:100%;min-height:400px;max-height:70vh;border:0;padding:1rem 1.25rem;font-family:"Monaco","Menlo","Ubuntu Mono",monospace;font-size:.9rem;line-height:1.5;color:var(--text);background:0 0;resize:none;outline:0;flex-grow:1;overflow-y:auto;transition:height .1s ease}.lede,.subheader{font-size:.9rem}.header-content{padding:0 1rem}.home-btn{top:1.25rem;left:1rem;transform:none}.tools-grid{grid-template-columns:1fr;gap:1rem}.hero-actions{flex-direction:column;align-items:stretch;gap:10px}.hero-actions .btn{width:100%}.tool-card{padding:1rem}.io-panels{grid-template-columns:1fr;gap:1rem}@media (min-width:481px){body{padding:0 15px 24px}header h1{font-size:1.8rem}header h2.tagline{font-size:1.1rem}header p{font-size:1rem}.lede{font-size:.95rem}main section{padding:1.25rem}.tools-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.home-btn{left:.35rem}}@media (min-width:1025px){.tools-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.io-panels{grid-template-columns:1fr 1fr;gap:1.5rem}}.action-btn[data-tooltip]{position:relative}.action-btn[data-tooltip]::after,.action-btn[data-tooltip]::before{position:absolute;left:50%;transform:translate(calc(-50% + var(--tip-x, 0px)),0);opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;pointer-events:none}.action-btn[data-tooltip]::after{content:attr(data-tooltip);top:calc(100% + 6px);background:#111827;color:#fff;padding:4px 8px;border-radius:6px;font-size:.78rem;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.18);z-index:20}.action-btn[data-tooltip]::before{content:"";top:100%;border:6px solid transparent;border-bottom-color:#111827;z-index:19}.action-btn[data-tooltip]:hover::after,.action-btn[data-tooltip]:hover::before{opacity:1;visibility:visible}.action-btn[data-tooltip]:hover::after{transform:translate(calc(-50% + var(--tip-x, 0px)),4px)}