*{box-sizing:border-box}:root{font-family:Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#000;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-display:block}#root{width:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}h2,h3{margin-top:0;margin-bottom:0}h3{font-size:1em}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:focus,button:focus-visible{outline:none}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.InfoSection{max-width:700px;margin:0 auto;padding:2rem;background:#fff;border-radius:15px;border:1px solid #0057b7;box-shadow:0 2px 10px #0000001a}.InfoSection h2{text-align:center;margin-bottom:2rem;font-size:2rem;color:#0057b7}.InfoSection .info-content{display:flex;flex-direction:column;gap:1.5rem}.InfoSection .info-content p{font-size:1.1rem;line-height:1.6;margin:0;color:#333}.InfoSection .info-content strong{color:#0081a1}.InfoSection .connect-prompt{margin-top:2rem;padding-top:2rem;border-top:1px solid #0057b7;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;--wui-color-fg-100: #2C3E50;--wui-color-fg-200: #2C3E50;--wui-color-fg-300: #2C3E50;--wui-color-inherit: #2C3E50;--wui-color-inverse: #2C3E50}.InfoSection .connect-prompt p{margin:0;color:#666;font-size:.9rem}.InfoSection .connect-prompt appkit-button{--wui-color-fg-100: white;--wui-color-fg-200: white;--wui-color-fg-300: white;--wui-color-inherit: white;--wui-color-inverse: white}.InfoSection .connect-prompt appkit-button::part(button){color:#fff!important;background:#426e9b;border:1px solid #426E9B}:is():hover{background:#5e9ba8}.AboutModal{max-width:600px;width:90vw;max-height:90vh;overflow-y:auto;position:relative}.AboutModal.modal-content{max-width:min(800px,90vw)}.AboutModal .close-button{position:sticky;top:0;right:0;float:right;background:none;color:#444;font-size:32px;line-height:1;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:-.5rem -.5rem 0 0;transition:all .2s;padding:0}.AboutModal .close-button:hover{background-color:#0000000d;border-color:#ccc;color:#333}.AboutModal .InfoSection{border:none;box-shadow:none}.ChonkCard{border:1px solid #0057b7;border-radius:10px;padding:10px;background-color:#fff;box-shadow:0 2px 4px #0000001a;color:#000;display:flex;flex-direction:column;gap:10px;aspect-ratio:.8}.ChonkCard a{font-weight:700;color:#000}.ChonkCard a:hover{text-decoration:underline}.ChonkCard h3{margin-top:0;margin-bottom:0}.ChonkCard .chonk-image{width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden}.ChonkCard .chonk-image img{width:100%;height:100%;object-fit:contain;display:block}.ChonkCard .chonk-status{padding:5px;background-color:#f5f5f5;border-radius:8px;color:#000;text-align:center}.ChonkCard .cooldown-timer{background-color:#f5f5f5;color:#666;padding:10px;border-radius:5px;text-align:center;font-family:monospace}.ChonkCard.loading{opacity:.7}.ChonkCard.loading .chonk-image{display:flex;justify-content:center;align-items:center;background-color:#f5f5f5}.ChonkCard.loading .chonk-status{background-color:#eee;color:#666}.HomePage{padding:20px 0 0;width:100%;margin:64px auto 0;min-height:calc(100vh - 64px);flex:1;display:flex;flex-direction:column}.HomePage .page-header{margin-bottom:2rem;text-align:center;padding:0 20px}.HomePage .page-header h2{margin:0;font-size:1.5rem;color:#426e9b;display:inline-block;background:#fff;padding:.5rem 1rem;font-weight:700}.HomePage .page-header .owner-info{margin-top:0;font-size:1rem;color:#666;display:block}.HomePage .page-header .owner-info span{background:#fff;padding:.25rem 1rem;display:inline-block}.HomePage .page-header .owner-info a{color:#426e9b;text-decoration:none;font-weight:700;display:inline}.HomePage .page-header .owner-info a:hover{text-decoration:underline}.HomePage .chonks-grid{display:grid;grid-template-columns:repeat(auto-fit,275px);gap:20px;width:100%;margin:0;padding:0 20px calc(2rem + 60px);justify-content:center}@media (max-width: 320px){.HomePage .chonks-grid{grid-template-columns:1fr}}.HomePage .built-on-ethereum{display:flex;justify-content:center;width:100%;margin-top:1rem}.HomePage .built-on-ethereum img{width:125px}.HomePage .select-all-container{position:sticky;top:4rem;z-index:90;width:100%;display:flex;justify-content:center;padding:.5rem 0 1rem}.HomePage .contract-link{display:flex;justify-content:center;padding:1rem;width:100%}.HomePage .contract-link a{color:#426e9b;text-decoration:none;font-size:.9rem;display:flex;align-items:center;gap:.5rem;background:#fff;font-weight:700}.HomePage .contract-link a:hover{text-decoration:underline}.HomePage .contract-link a:after{content:"↗";font-size:1.1em;line-height:1}.HomePage .vaccination-footer{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(90deg,#426e9b,#5e9ba8);padding:10px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -2px 10px #0000004d;z-index:99;&-content{display:flex;justify-content:space-between;align-items:center;width:100%;margin:0 auto;gap:20px}}.HomePage .vaccination-info{display:flex;align-items:center;gap:10px;color:#fff}.HomePage .vaccination-button{background-color:#4caf50;color:#fff;padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-weight:700;transition:background-color .2s}.HomePage .vaccination-button:hover{background-color:#45a049}.ChonkPage{display:flex;flex-direction:column;align-items:center;width:100%}.ChonkPage.main-container{padding-top:1px}.ChonkPage .page-header,.ChonkPage .chonks-grid{width:100%;max-width:600px;padding-left:20px;padding-right:20px}.ChonkPage .page-header{margin-bottom:0rem;text-align:left}.ChonkPage .page-header .owner-info span,.ChonkPage .page-header h2{margin:0;padding:.5rem 1rem;display:block;background:#fff}.ChonkPage .chonks-grid{display:block;padding-bottom:calc(2rem + 60px)}.ChonkPage .ChonkCard{width:100%;max-width:none;margin-bottom:0;aspect-ratio:1}.ChonkPage .content-container{width:100%;max-width:1200px;padding:0 20px}.SearchPage .search-container{padding:20px;max-width:800px;margin:0 auto;border:1px solid #ccc;background:#fff}.SearchPage .search-section{border-radius:10px;padding:20px;margin-bottom:30px}.SearchPage .search-section h2{margin-top:0;margin-bottom:15px;font-size:1.5rem}.SearchPage .search-form{display:flex;flex-direction:column;gap:15px}@media (min-width: 600px){.SearchPage .search-form{flex-direction:row}}.SearchPage .search-form .search-input{flex:1;padding:12px 15px;border:1px solid #444;border-radius:5px;font-size:16px;background-color:#fff;color:#000}.SearchPage .search-form .search-input:focus{outline:none;border-color:#06c;box-shadow:0 0 0 2px #06c3}.SearchPage .search-form .search-button{padding:12px 20px;background-color:#06c;color:#fff;border:none;border-radius:5px;font-size:16px;cursor:pointer;transition:background-color .2s}.SearchPage .search-form .search-button:hover{background-color:#05a}.SearchPage .search-form .search-button:active{background-color:#048}.VaccinationModal .chonk-preview-container{display:flex;gap:10px;margin-top:10px;margin-bottom:10px}.VaccinationModal .chonk-preview{width:75px;height:75px;border:2px solid #ccc;border-radius:8px;overflow:hidden}.VaccinationModal .chonk-preview img{width:100%;height:100%;object-fit:cover}.VaccinationModal .remaining-count{width:75px;height:75px;border:2px solid #ccc;border-radius:8px;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;font-size:20px;font-weight:700;color:#666}.VaccinationModal .input-row{display:flex;align-items:center;gap:20px;width:100%}.VaccinationModal .input-row.tip-row{flex-direction:column;align-items:stretch;gap:5px}.VaccinationModal .input-row.tip-row .tip-input-container{display:flex;justify-content:flex-end}.VaccinationModal .input-row.tip-row .tip-options{margin-bottom:10px}.VaccinationModal .label-group{flex:1;gap:2px;display:flex;flex-direction:column}.VaccinationModal .label-group h3{text-align:left;line-height:1}.VaccinationModal .min-required{font-size:.85em;color:#555;line-height:1;margin-top:2px}.VaccinationModal .input-group{display:flex;align-items:center;gap:5px}.VaccinationModal .input-group input{width:120px;text-align:right}.VaccinationModal hr{border:1px solid black}.tip-options{display:flex;gap:5px;align-items:flex-start;justify-content:flex-start;width:100%}.tip-button{flex:1;padding:8px 0;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#000;max-width:70px;height:30px}.tip-button:hover{border-color:#4caf50;background:#f5f5f5}.tip-button.selected{border-color:#4caf50;background:#e8f5e9;color:#2e7d32}.tip-button:last-child{font-size:.9rem;font-weight:500}.tip-amount{font-size:13.333px;color:#000;padding:.5rem 0;text-align:right;width:120px}.InfectorSelectionModal{max-width:min(800px,90vw);position:relative}.InfectorSelectionModal .modal-inner{padding:2rem}.InfectorSelectionModal .close-button{position:sticky;top:0;right:0;float:right;background:none;color:#444;font-size:32px;line-height:1;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:-.5rem -.5rem 0 0;transition:all .2s;padding:0;border:none}.InfectorSelectionModal .close-button:hover{background-color:#0000000d;border-color:#ccc;color:#333}.InfectorSelectionModal .loading-container{display:flex;justify-content:center;align-items:center;min-height:200px}.InfectorSelectionModal .infectors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;width:100%;margin:1rem 0}.InfectorSelectionModal .infector-card{border:2px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff;padding:5px}.InfectorSelectionModal .infector-card.disabled{opacity:.7}.InfectorSelectionModal .infector-card img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.InfectorSelectionModal .infector-card .infector-info{padding:.5rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;font-weight:700}.InfectorSelectionModal .infector-card .infector-info.bottom{flex-direction:column}.InfectorSelectionModal .infector-card .infector-info span{display:block;font-size:.9rem}.InfectorSelectionModal .infector-card .infector-info .infection-count{color:#f44336;font-size:.8rem}.InfectorSelectionModal .infector-card .infector-info .cooldown{color:#666;font-size:.8rem;font-family:monospace}.InfectorSelectionModal .infector-card .infector-info .action-button.infect{background-color:#ff8c00;width:100%;margin-top:4px}.InfectorSelectionModal .infector-card .infector-info .action-button.infect:hover{background-color:#f08200}.InfectionConfirmationModal{max-width:min(800px,90vw);position:relative}.InfectionConfirmationModal .modal-inner{padding:2rem;text-align:center}.InfectionConfirmationModal .close-button{position:sticky;top:0;right:0;float:right;background:none;color:#444;font-size:32px;line-height:1;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:-.5rem -.5rem 0 0;transition:all .2s;padding:0;border:none}.InfectionConfirmationModal .close-button:hover{background-color:#0000000d;border-color:#ccc;color:#333}.InfectionConfirmationModal .infection-preview{display:flex;align-items:center;justify-content:center;gap:2rem;margin:2rem 0}.InfectionConfirmationModal .infection-arrow{font-size:2rem;color:#000}.InfectionConfirmationModal .chonk-preview{flex:1;max-width:300px}.InfectionConfirmationModal .chonk-preview h3{text-align:center;margin-bottom:1rem}.InfectionConfirmationModal .chonk-card{border:2px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff;padding:5px}.InfectionConfirmationModal .chonk-card img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.InfectionConfirmationModal .chonk-card .chonk-info{padding:.5rem;display:flex;flex-direction:column;gap:4px;font-weight:700}.InfectionConfirmationModal .chonk-card .chonk-info span{display:block;font-size:.9rem;text-align:center}.InfectionConfirmationModal .chonk-card .chonk-info .infection-count{color:#f44336;font-size:.8rem}.InfectionConfirmationModal .chonk-card .chonk-info .status{color:#ff8c00;font-size:.8rem}.InfectionConfirmationModal .modal-actions{display:flex;justify-content:center;margin-top:2rem}.InfectionConfirmationModal .modal-actions .action-button.infect{background-color:#ff8c00;min-width:200px}.InfectionConfirmationModal .modal-actions .action-button.infect:hover{background-color:#f08200}.InfectionModal .error{color:red;margin-top:5px}.InfectionModal .target-option{border:1px solid #ddd;border-radius:8px;padding:10px;cursor:pointer}.InfectionModal .target-option:hover{box-shadow:0 2px 4px #0000001a}.InfectionModal .target-option img{width:100%;border-radius:4px}.InfectionModal .target-option p{margin:5px 0 0;text-align:center}.InfectionModal .candidate-target{display:flex;justify-content:center;align-items:center;max-width:200px}.InfectionModal .loading-target{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;min-height:200px;justify-content:center}.InfectionModal .loading-target p{color:#666;text-align:center;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #426E9B;border-radius:50%;animation:spin 1s linear infinite}.distractor-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#666;font-size:1.1em;line-height:1.5;padding:1rem;border:1px solid #ccc;background:#fff;width:350px;margin:0 auto}.distractor-message p{margin:.5rem 0}.distractor-message p:first-child{font-size:1.2em;font-weight:500;color:#333}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:10px;max-width:min(500px,90vw);width:fit-content;min-width:300px;max-height:90vh;overflow-y:auto;color:#000;margin:0 auto}.modal-section{margin:20px 0;display:flex;flex-direction:column;align-items:center;width:100%}.modal-section h3{text-align:center;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%}.modal-section p{text-align:center;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%;margin-top:0;margin-bottom:0}.modal-section input{width:120px;text-align:center;padding:8px;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#000}.modal-actions{display:flex;gap:10px;margin-top:20px;justify-content:right}.action-button{background-color:#4caf50;color:#fff;border:2px solid transparent;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .3s ease;outline:none}.action-button:hover:not(.selected){filter:brightness(.95);outline:none}.action-button.selected{background-color:#fff;color:#4caf50;border:2px solid #4CAF50;outline:none}.action-button.infect{background-color:#ff8c00}.action-button:disabled{background-color:#ccc;cursor:not-allowed}.action-button.secondary{background-color:#666}.app-header{display:flex;justify-content:space-between;align-items:center;width:100%;position:fixed;top:0;left:0;z-index:100;height:4rem;box-shadow:0 2px 3px #00000080;padding:0 10px;background:linear-gradient(90deg,#426e9b,#5e9ba8);color:#fff}.header-text{display:flex;flex-direction:column;gap:2px}.app-title{font-size:1.5rem;font-weight:700;margin:0;line-height:1;color:#fff;text-decoration:none}.app-title:hover{text-decoration:underline;color:#fff}.app-subtitle{font-size:.8rem;opacity:.8;line-height:1;color:#fff}.app-subtitle a{color:#fff;text-decoration:none}.app-subtitle a:hover{text-decoration:underline;color:#fff}.header-controls{display:flex;align-items:center;gap:10px;flex-direction:row-reverse}.about-link{background:none;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;width:30px;height:30px;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:0;transition:all .2s}.about-link:hover{background:#fff3}.app-kit-controls{position:static;--wui-color-fg-100: white;--wui-color-fg-200: white;--wui-color-fg-300: white;--wui-color-inherit: white;--wui-color-inverse: white}.app-kit-controls appkit-button{--wui-color-fg-200: white;--wui-color-inherit: white}.app-kit-controls appkit-button::part(button){color:#fff!important;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.app-kit-controls appkit-button::part(button):hover{background:#fff3}.notification-content{display:flex;align-items:center;gap:.8rem;font-weight:500;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.9rem;line-height:1.4}.notification-content span[role=img]{flex-shrink:0;font-size:1.2rem;display:flex;align-items:center}.App{min-height:100vh;display:flex;flex-direction:column;position:relative}.App .app-header{display:flex;justify-content:space-between;align-items:center;width:100%;position:fixed;top:0;left:0;z-index:100;height:4rem;box-shadow:0 2px 3px #00000080;padding:0 10px;background:linear-gradient(90deg,#426e9b,#5e9ba8);color:#fff}.App .header-text{display:flex;flex-direction:column;gap:2px}.App .header-text .app-title{font-size:1.5rem;font-weight:700;margin:0;line-height:1;color:#fff;text-decoration:none}.App .header-text .app-title:hover{text-decoration:underline;color:#fff}.App .header-text .app-subtitle{font-size:.8rem;opacity:.8;line-height:1;color:#fff}.App .header-text .app-subtitle a{color:#fff;text-decoration:none}.App .header-text .app-subtitle a:hover{text-decoration:underline;color:#fff}.App .header-controls{display:flex;align-items:center;gap:10px;flex-direction:row-reverse}.App .header-controls .about-link,.App .header-controls .search-link{background:none;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;width:30px;height:30px;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:0;transition:all .2s}.App .header-controls .about-link:hover,.App .header-controls .search-link:hover{background:#fff3}.App .app-kit-controls{position:static;--wui-color-fg-100: white;--wui-color-fg-200: white;--wui-color-fg-300: white;--wui-color-inherit: white;--wui-color-inverse: white}.App .app-kit-controls appkit-button{--wui-color-fg-200: white;--wui-color-inherit: white}.App .app-kit-controls appkit-button::part(button){color:#fff!important;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}:is():hover{background:#fff3}.main-container{padding:20px 0 0;width:100%;margin:64px auto 0;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h60v60H0V0zm2 2v56h56V2H2zm0 0' fill='none' stroke='rgba(0, 0, 0, 0.1)' stroke-width='2'/%3E%3C/svg%3E");background-size:60px 60px;background-repeat:repeat;min-height:calc(100vh - 64px);flex:1;display:flex;flex-direction:column}.page-header{margin-bottom:2rem;text-align:center;padding:0 20px}.page-header h2{margin:0;font-size:1.5rem;color:#426e9b;display:inline-block;background:#fff;padding:.5rem 1rem;font-weight:700}.page-header .owner-info{margin-top:0;font-size:1rem;color:#666;display:block}.page-header .owner-info span{background:#fff;padding:.25rem 1rem;display:inline-block}.page-header .owner-info a{color:#426e9b;text-decoration:none;font-weight:700;display:inline}.page-header .owner-info a:hover{text-decoration:underline}.chonks-grid{display:grid;grid-template-columns:repeat(auto-fit,275px);gap:20px;width:100%;margin:0;padding:0 20px calc(2rem + 60px);justify-content:center}@media (max-width: 320px){.chonks-grid{grid-template-columns:1fr}}.vaccination-footer{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(90deg,#426e9b,#5e9ba8);padding:10px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -2px 10px #0000004d;z-index:99}.vaccination-footer-content{display:flex;justify-content:space-between;align-items:center;width:100%;margin:0 auto;gap:20px}.vaccination-info{display:flex;align-items:center;gap:10px;color:#fff}.vaccination-button{background-color:#4caf50;color:#fff;padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-weight:700;transition:background-color .2s}.vaccination-button:hover{background-color:#45a049}.notification{position:fixed;top:2rem;left:50%;transform:translate(-50%);z-index:1000;padding:1rem 2rem;border-radius:8px;animation:slideDown .3s ease-out;box-shadow:0 4px 6px #0000001a;max-width:min(600px,90vw);width:fit-content;min-width:300px}.notification.success{background-color:#4caf50;color:#fff}.notification.error{background-color:#f44336;color:#fff}.notification.pending{background-color:#f5e6d3;color:#664d03;border:1px solid #ffecb5}.notification .notification-content{display:flex;align-items:center;gap:.8rem;font-weight:500;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.9rem;line-height:1.4}.notification .notification-content span[role=img]{flex-shrink:0;font-size:1.2rem;display:flex;align-items:center}@keyframes slideDown{0%{transform:translate(-50%,-100%);opacity:0}to{transform:translate(-50%);opacity:1}}.built-on-ethereum{display:flex;justify-content:center;width:100%;margin-top:1rem}.built-on-ethereum img{width:125px}.select-all-container{position:sticky;top:4rem;z-index:90;width:100%;display:flex;justify-content:center;padding:.5rem 0 1rem}.contract-link{display:flex;justify-content:center;padding:1rem;width:100%}.contract-link a{color:#426e9b;text-decoration:none;font-size:.9rem;display:flex;align-items:center;gap:.5rem;background:#fff;font-weight:700}.contract-link a:hover{text-decoration:underline}.contract-link a:after{content:"↗";font-size:1.1em;line-height:1}
