*{box-sizing:border-box}html,body{background:#0f0f0f;color:#e4e4e7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0;line-height:1.5}#app{max-width:min(900px,95vw);margin:0 auto;padding:1.5rem}header{text-align:center;margin-bottom:2rem}header h1{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;margin:0;color:#e4e4e7}.subtitle{color:#71717a;font-size:clamp(.9rem,2.5vw,1.1rem);margin:.5rem 0 0}.form-container,.results,.error{background:#1a1a1a;border:1px solid #27272a;border-radius:12px;padding:clamp(1rem,3vw,2rem);margin-bottom:1.5rem;overflow:hidden}.input-group{margin-bottom:1.5rem}.input-group label{display:block;font-weight:600;color:#d4d4d8;margin-bottom:.5rem;font-size:.9rem}input{width:100%;padding:.75rem;background:#0f0f0f;border:1px solid #3f3f46;border-radius:8px;color:#e4e4e7;font-size:1rem;transition:border-color .2s}input:focus{outline:none;border-color:#71717a}input::placeholder{color:#71717a}select{width:100%;padding:.75rem;background:#0f0f0f;border:1px solid #3f3f46;border-radius:8px;color:#e4e4e7;font-size:.95rem;transition:border-color .2s}select:focus{outline:none;border-color:#71717a}.example-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.example-btn{background:#27272a;color:#e4e4e7;border:1px solid #3f3f46;padding:.35rem .7rem;border-radius:999px;font-size:.75rem;cursor:pointer;transition:background .2s,border-color .2s;width:auto;white-space:nowrap}.example-btn:hover{background:#3f3f46;border-color:#52525b}.radio-group{display:flex;gap:.5rem;flex-wrap:wrap}.radio-option{background:#0f0f0f;border:1px solid #3f3f46;border-radius:8px;padding:.6rem .8rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.4rem;flex:1;min-width:90px;text-align:center;position:relative;font-size:.85rem}.radio-option:hover{border-color:#52525b;background:#1a1a1a}.radio-option:hover:after{content:attr(data-tooltip);position:absolute;top:-3rem;left:50%;transform:translate(-50%);background:#1a1a1a;color:#e4e4e7;padding:.5rem .75rem;border-radius:6px;font-size:.7rem;white-space:normal;z-index:100;border:1px solid #3f3f46;max-width:200px;text-align:center;box-shadow:0 4px 12px #0000004d}.radio-option input[type=radio]{margin:0;width:14px;height:14px}.radio-option:has(input:checked){border-color:#71717a;background:#27272a}.preview-section{margin-bottom:1.5rem}.domain-preview{padding:0;border:none;background:transparent}.domain-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.domain-row:last-child{margin-bottom:0}.domain-row label{min-width:40px;font-weight:600;color:#d4d4d8;margin:0;font-size:.85rem;flex-shrink:0}.domain-row a{flex:1;min-width:0;overflow:hidden}.domain-row code{background:transparent;border:none;padding:0;font-size:clamp(.7rem,2vw,.95rem);font-weight:600;word-break:break-all;overflow-wrap:anywhere;display:block}.domain-preview a{color:#60a5fa;text-decoration:none;font-weight:500}.domain-preview a:hover{text-decoration:underline}.limo-link{background:#2563eb;color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;transition:background .2s}.limo-link:hover{background:#1d4ed8}button{background:#2563eb;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s;width:100%}button:hover{background:#1d4ed8}button:disabled{background:#3f3f46;cursor:not-allowed}.results h3{margin:0 0 1rem;color:#d4d4d8;font-size:1.1rem}.standalone-outputs{margin-bottom:1.5rem}.standalone-outputs div{margin:.5rem 0;padding:.6rem;background:#0f0f0f;border:1px solid #3f3f46;border-radius:6px;overflow:hidden}.standalone-outputs strong{color:#d4d4d8;font-weight:600;font-size:.85rem;display:block;margin-bottom:.25rem}.standalone-outputs span,.standalone-outputs a{font-family:monospace;font-size:clamp(.65rem,2vw,.8rem);word-break:break-all;overflow-wrap:anywhere;display:block}.standalone-outputs a{color:#60a5fa;text-decoration:none;font-weight:500}.standalone-outputs a:hover{text-decoration:underline}.result-item label{display:block;font-weight:600;color:#d4d4d8;margin-bottom:.5rem}.json-container{max-height:300px;overflow:auto;border:1px solid #3f3f46;border-radius:8px;background:#0f0f0f}.results code.json{background:transparent;color:#e4e4e7;border:none;border-radius:0;padding:1rem;display:block;white-space:pre-wrap;font-size:.75rem;line-height:1.5;margin:0;word-break:break-all}.parsed-metadata{background:#0f0f0f;border:1px solid #3f3f46;border-radius:8px;margin-top:1rem;padding:clamp(.75rem,2vw,1.5rem);overflow:hidden}.parsed-metadata h4{margin:0 0 1rem;color:#d4d4d8;font-size:1.1rem;font-weight:700}.parsed-metadata>div{margin:.75rem 0;overflow:hidden}.parsed-metadata strong{color:#d4d4d8;font-size:.9rem}.parsed-metadata ul{padding-left:1rem;margin:.5rem 0;list-style:none}.parsed-metadata li{margin:.2rem 0;font-size:.85rem}.parsed-metadata a{color:#60a5fa;text-decoration:none;font-weight:500}.parsed-metadata a:hover{text-decoration:underline}.parsed-metadata code{font-size:.75rem;word-break:break-all;overflow-wrap:anywhere}.address-info{margin-bottom:1rem;padding:.75rem;background:#27272a;border-radius:8px;border:1px solid #3f3f46;overflow:hidden}.address-info .address{font-family:monospace;font-size:clamp(.7rem,2vw,.9rem);color:#e4e4e7;word-break:break-all;overflow-wrap:anywhere;margin:.5rem 0}.etherscan-link{display:inline-block;margin-top:.5rem;color:#60a5fa;text-decoration:none;font-weight:500;font-size:.85rem}.etherscan-link:hover{text-decoration:underline}.car-output{background:#0f0f0f;border:1px solid #3f3f46;border-radius:8px;margin-top:1rem;padding:1rem;overflow:hidden}.car-output h5{margin:0 0 .75rem;color:#d4d4d8;font-size:1rem}.car-download{display:inline-block;margin:.5rem 0;padding:.5rem 1rem;background:#16a34a;color:#fff;text-decoration:none;border-radius:6px;font-weight:500}.car-download:hover{background:#15803d}.car-info{font-family:monospace;font-size:clamp(.65rem,2vw,.8rem);color:#a1a1aa;margin:.4rem 0;word-break:break-all;overflow-wrap:anywhere}.download-actions{display:flex;align-items:center;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.download-label{font-weight:600;color:#d4d4d8;font-size:.9rem}.download-actions button{width:auto;flex:1 1 auto;min-width:120px;padding:.5rem .8rem;font-size:.85rem}.abi-section{margin:1rem 0}.abi-display{background:#1a1a1a;border:1px solid #3f3f46;border-radius:6px;padding:0;margin:.5rem 0;max-height:180px;overflow:auto}.abi-display pre{margin:0;padding:.75rem;background:transparent;font-size:.7rem;white-space:pre-wrap;word-break:break-all}.copy-btn{background:#27272a;color:#e4e4e7;border:1px solid #3f3f46;padding:.2rem .5rem;border-radius:999px;cursor:pointer;font-size:.7rem;margin-left:.25rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;width:auto;min-width:0;flex-shrink:0}.copy-btn:hover{background:#3f3f46}.raw-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:none;align-items:flex-end;justify-content:center;z-index:1000;padding:0}.raw-modal-dialog{background:#0f0f0f;border:1px solid #3f3f46;border-radius:12px 12px 0 0;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 -10px 40px #0009}.raw-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #3f3f46;gap:.75rem}.raw-modal-title{font-weight:600;color:#e4e4e7;font-size:.95rem;word-break:break-all;overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.3}.raw-modal-body{padding:0;overflow:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.raw-modal-body pre{margin:0;padding:.75rem;font-size:.7rem;line-height:1.4;white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere}.raw-modal-footer{padding:.6rem .75rem;border-top:1px solid #3f3f46;display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.raw-modal-ipfs{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:#a1a1aa;min-width:0;flex:1;overflow:hidden}.raw-modal-ipfs a{color:#60a5fa;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.raw-modal-ipfs a:hover{text-decoration:underline}.raw-modal-actions{display:flex;gap:.35rem;flex-shrink:0}.error{border-color:#dc2626}.error h3{color:#fca5a5}.description{text-align:center;margin-top:2rem}.description h2{color:#d4d4d8;margin-bottom:.75rem;font-size:1.25rem}.description-text{color:#71717a;max-width:600px;margin:0 auto 1.5rem;font-size:.9rem;line-height:1.6}.description-text code{background:#27272a;padding:.1rem .3rem;border-radius:3px;font-size:.8rem}.links{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.link-button{background:#2563eb;color:#fff;text-decoration:none;padding:.6rem 1rem;border-radius:8px;font-weight:500;transition:background .2s;font-size:.85rem}.link-button:hover{background:#1d4ed8}.footer{margin-top:2rem;padding:1.5rem 0;text-align:center;border-top:1px solid #3f3f46}.footer p{color:#71717a;font-size:.8rem;font-style:italic;margin:0}.footer a{color:#60a5fa;text-decoration:none;font-weight:500}.footer a:hover{text-decoration:underline}@media (min-width: 640px){.raw-modal{align-items:center;padding:1rem}.raw-modal-dialog{border-radius:12px;max-width:800px;max-height:80vh}.raw-modal-body pre{font-size:.8rem;padding:1rem}.raw-modal-title{font-size:1.1rem}.raw-modal-ipfs a{max-width:300px}.download-actions button{flex:0 0 auto}}@media (max-width: 480px){#app{padding:.75rem}header{margin-bottom:1.5rem}.form-container,.results,.error{padding:.75rem;border-radius:8px}.input-group{margin-bottom:1rem}.radio-group{gap:.35rem}.radio-option{padding:.5rem .6rem;font-size:.8rem;min-width:80px}.radio-option:hover:after{display:none}.domain-row{gap:.35rem}.domain-row label{font-size:.8rem;min-width:35px}button{padding:.65rem 1rem;font-size:.9rem}.standalone-outputs div{padding:.5rem}.parsed-metadata{padding:.6rem}.parsed-metadata ul{padding-left:.75rem}.download-actions{gap:.35rem}.download-actions button{min-width:100px;padding:.45rem .6rem;font-size:.8rem}.description{margin-top:1.5rem}.description h2{font-size:1.1rem}.description-text{font-size:.85rem}.links{gap:.5rem}.link-button{padding:.5rem .8rem;font-size:.8rem;width:100%;text-align:center}}
