:root{--accent:#1a3a2a;--accent-light:#eef4f0;--text:#1a1a1a;--muted:#5b5b5b;--border:#e2e2e2;--background:#fbfaf7;--card-background:#fff;--shadow:0 1px 2px #1a3a2a0f, 0 4px 12px #1a3a2a0d;--shadow-hover:0 2px 4px #1a3a2a14, 0 8px 20px #1a3a2a1a}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{max-width:100%;overflow-x:hidden}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}main{max-width:640px;margin:0 auto;padding:24px 16px 56px}h1,h2,p,a{overflow-wrap:break-word}main>a:first-child{min-height:44px;color:var(--accent);padding:10px 0;font-weight:600;line-height:24px;text-decoration:none;display:inline-block}main>a:first-child:hover{text-decoration:underline}.event-contact a{padding:4px 2px}label{color:var(--muted);margin:14px 0 4px;font-size:.9rem;font-weight:600;display:block}label:first-of-type{margin-top:0}select,input[type=text]{border:1px solid var(--border);background:var(--card-background);width:100%;min-height:44px;color:var(--text);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s;display:block}select:hover,input[type=text]:hover{border-color:var(--accent)}select:focus-visible,input[type=text]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}input[type=text]::placeholder{color:#9a9a9a}@media (min-width:640px){.filters{background:var(--card-background);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:14px 18px;display:flex;margin-bottom:28px!important}label{margin:0 8px 0 16px;display:inline}label:first-of-type{margin-left:0}select,input[type=text]{width:auto;display:inline-block}}h1{letter-spacing:-.02em;color:var(--accent);margin:0 0 6px;font-size:1.75rem;font-weight:800}.subtitle{color:var(--muted);margin:0 0 28px;font-size:1.05rem}.empty-state{color:var(--muted);border:1px dashed var(--border);text-align:center;background:var(--card-background);border-radius:12px;padding:32px 24px}.event-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.event-card{background:var(--card-background);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:18px 20px;transition:box-shadow .18s,transform .18s,border-color .18s}.event-card:hover{box-shadow:var(--shadow-hover);border-color:var(--accent);transform:translateY(-1px)}.event-name{margin:0 0 10px;font-size:1.15rem;font-weight:700}.event-name a{color:var(--text);text-decoration:none}.event-name a:hover{color:var(--accent);text-decoration:underline}.event-dates,.event-location,.event-contact,.event-checked{margin:4px 0}.event-dates{color:var(--accent);background:var(--accent-light);border-radius:999px;margin-bottom:6px;padding:3px 10px;font-size:.85rem;font-weight:600;display:inline-block}.event-dates-typical{color:var(--muted);border:1px dashed var(--border);background:0 0}.event-location{color:var(--muted);font-size:.95rem}.state-chip{background:var(--accent-light);color:var(--accent);border-radius:10px;margin:0 0 12px;padding:8px 12px;font-size:.9rem}.state-chip button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.result-count{color:var(--muted);margin:0 0 10px;font-size:.9rem}.dates-note{color:var(--muted);margin-top:28px;font-size:.85rem}.event-contact a{color:var(--accent);font-weight:500;text-decoration:underline}.event-contact a:hover{color:#0f251a}.event-contact a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.event-contact a:active{color:#0a1811}.event-checked{color:#9a9a9a;font-size:.8rem!important}.before-you-go{background:var(--card-background);border:1px solid var(--border);border-left:5px solid #e9631a;border-radius:12px;margin-top:24px;padding:14px 18px}.before-you-go h2{margin:0 0 8px;font-size:1rem}.before-you-go ul{margin:0;padding-left:18px}.before-you-go li{margin:6px 0}.before-you-go a{color:var(--accent);font-weight:500}.before-you-go+.before-you-go{margin-top:16px}.partner-note{color:var(--muted);margin:8px 0 0;font-size:.8rem}.stay-map{margin-top:24px}.stay-map h2{margin:0 0 6px;font-size:1rem}.stay-map>p:first-of-type{color:var(--muted);margin:0 0 10px;font-size:.95rem}.stay-map iframe{border:1px solid var(--border);border-radius:12px;min-height:400px;display:block}.alerts-box{background:var(--card-background);border:1px solid var(--border);border-left:5px solid #e9631a;border-radius:12px;margin:0 0 24px;padding:14px 18px;scroll-margin-top:16px}.alerts-box h2{margin:0 0 6px;font-size:1rem}.alerts-box p{color:var(--muted);margin:0 0 10px;font-size:.95rem}.alerts-button{font:inherit;color:#fff;cursor:pointer;background:#e9631a;border:none;border-radius:10px;min-height:44px;padding:10px 20px;font-weight:700}.alerts-button:hover{background:#cf5615}.alerts-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.alerts-box .alerts-privacy{margin:8px 0 0;font-size:.8rem}.alerts-box .alerts-privacy a{color:var(--accent)}.before-you-go+.alerts-box{margin-top:24px}.site-bar{justify-content:space-between;max-width:640px;margin:0 auto;padding:12px 16px 0;font-size:.9rem;display:flex}.site-bar a,.site-footer a{color:var(--accent);padding:8px 0;font-weight:600;text-decoration:none}.site-bar a:hover,.site-footer a:hover{text-decoration:underline}.site-footer{max-width:640px;color:var(--muted);text-align:center;margin:0 auto;padding:0 16px 40px;font-size:.9rem}@media (min-width:640px){main{padding-top:32px}h1{font-size:2.25rem}}.tow h1{color:var(--accent);margin:8px 0;font-size:1.7rem;line-height:1.2}.tow-lead{color:var(--muted);margin:0 0 20px}.tow-card{background:var(--card-background);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;margin:0 0 16px;padding:16px 18px}.tow-card h2{color:var(--accent);margin:0 0 12px;font-size:1.1rem}.tow label,.tow label:first-of-type{color:var(--text);margin:0 0 4px;font-size:.95rem;display:block}.tow-field{margin:0 0 16px}.tow-field:last-child{margin-bottom:0}.tow-optional{color:var(--muted);font-weight:400}.tow-input{align-items:center;gap:8px;display:flex}.tow-input input[type=text]{flex:1;font-size:1.1rem;font-weight:600}.tow-input span{color:var(--muted);font-weight:600}.tow-where{color:var(--muted);margin:6px 0 0;font-size:.85rem}.tow .tow-check-line{cursor:pointer;align-items:center;gap:8px;min-height:44px;margin-top:10px;font-weight:400;display:flex}.tow-check-line input{width:20px;height:20px}.tow-toggle{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;display:grid}.tow-toggle button{font:inherit;border:2px solid var(--border);background:var(--card-background);min-height:44px;color:var(--text);cursor:pointer;border-radius:10px;font-weight:600}.tow-toggle button.is-on{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.tow-example{color:var(--muted);text-align:center;margin:0 0 16px}.tow-example button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;min-height:44px;padding:0 4px;font-weight:600;text-decoration:underline}.tow-results{margin:0 0 16px;scroll-margin-top:16px}.tow-waiting{background:var(--accent-light);color:var(--accent);border-radius:12px;margin:0;padding:14px 18px}.tow-headline{border:2px solid;border-radius:12px;margin:0 0 12px;padding:16px 18px}.tow-headline h2{margin:0 0 6px;font-size:1.3rem}.tow-headline p{margin:0 0 6px}.tow-headline p:last-child{margin-bottom:0}.tow-headline.tow-ok{background:#ecf7ef;border-color:#2e7d4f}.tow-headline.tow-close{background:#fff6e5;border-color:#c27c00}.tow-headline.tow-over{background:#fdecea;border-color:#b3261e}.tow-check{background:var(--card-background);border:1px solid var(--border);border-radius:12px;margin:0 0 10px;padding:14px 18px}.tow-check-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tow-check h3{margin:0;font-size:1rem}.tow-check-top strong{font-size:1.2rem}.tow-bar{background:#eee;border-radius:6px;height:12px;margin:8px 0 4px;overflow:hidden}.tow-bar span{border-radius:6px;height:100%;display:block}.tow-numbers{margin:0 0 6px;font-size:.9rem;font-weight:600}.tow-check p:last-child{color:var(--muted);margin:0;font-size:.92rem}.tow-note{color:var(--muted);margin:4px 0 0;font-size:.85rem}.tow-next ul,.tow-pro ul{margin:0;padding-left:20px}.tow-next li,.tow-pro li{margin:0 0 8px}.tow-next a,.tow-disclaimer a,.tow-pro a{color:var(--accent)}.tow-pro{border-left:5px solid #e9631a}.tow-pro p{margin:0 0 10px}.tow-pro .alerts-privacy{color:var(--muted);font-size:.8rem}.tow-disclaimer{color:var(--muted);margin:8px 0 0;font-size:.8rem}.solar-intro{margin:-4px 0 12px}.solar-list{border-top:1px solid var(--border)}.solar-row{border-bottom:1px solid var(--border);padding:12px 0}.solar-row.is-off .solar-nums,.solar-row.is-off .solar-name span{opacity:.5}.tow label.solar-name,.tow label.solar-name:first-of-type{cursor:pointer;align-items:flex-start;gap:10px;margin:0 0 8px;font-weight:600;display:flex}.solar-name input[type=checkbox]{flex:none;width:22px;height:22px;margin:1px 0 0}.solar-name small{color:var(--muted);font-weight:400;display:block}.solar-name .solar-custom{min-height:36px;padding:6px 10px}.solar-nums{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;padding-left:32px;display:grid}.tow .solar-nums label{color:var(--muted);margin:0;font-size:.8rem;font-weight:600}.solar-nums input[type=text]{min-height:40px;padding:6px 10px;font-weight:600}.solar-volt{font:inherit;border:2px solid var(--accent);background:var(--accent-light);min-width:56px;min-height:40px;color:var(--accent);cursor:pointer;border-radius:8px;font-size:.85rem;font-weight:700}.solar-volt.is-ac{color:#a8430c;background:#fdf0e8;border-color:#e9631a}.solar-add{font:inherit;color:var(--accent);border:2px dashed var(--border);cursor:pointer;background:0 0;border-radius:10px;width:100%;min-height:44px;margin-top:12px;font-weight:600}.solar-three{grid-template-columns:1fr 1fr 1fr}.tow select{font-size:16px}.solar-headline{background:#fff8e1;border-color:#e0a100}.solar-grid{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px;display:grid}.solar-tile{background:var(--card-background);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:12px 14px}.solar-tile span{color:var(--muted);font-size:.85rem;font-weight:600;display:block}.solar-tile strong{color:var(--accent);font-size:1.35rem;line-height:1.25;display:block}.solar-tile small{color:var(--muted);font-size:.8rem;display:block}.solar-how summary{color:var(--accent);cursor:pointer;min-height:32px;font-weight:700}.solar-how ul{margin:10px 0 0;padding-left:20px;font-size:.9rem}.solar-how li{margin:0 0 6px}.glossary dl{margin:0}.glossary dl>div{border-top:1px solid var(--border);padding:8px 0}.glossary dt{font-weight:700}.glossary dd{color:var(--muted);margin:2px 0 0;font-size:.92rem}.feedback p{margin:0 0 10px}.feedback .tow-toggle{margin:0}.tow-question{margin:0 0 8px;font-weight:600}.tow-modes{gap:8px;margin:0 0 16px;display:grid}@media (min-width:560px){.tow-modes{grid-template-columns:1fr 1fr 1fr}}.tow-modes button{font:inherit;text-align:left;border:2px solid var(--border);background:var(--card-background);min-height:44px;color:var(--text);cursor:pointer;border-radius:10px;padding:10px 12px}.tow-modes button strong,.tow-modes button small{display:block}.tow-modes button small{color:var(--muted)}.tow-modes button.is-on{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.tow-estimate{background:var(--accent-light);border-radius:10px;margin:0;padding:12px 14px;font-size:.95rem}.tow-warn{background:#fff6e5;border:2px solid #c27c00;border-radius:12px;margin:0 0 12px;padding:12px 16px}.tow-warn ul{margin:6px 0 0;padding-left:20px}.tow-unchecked{background:var(--accent-light);color:var(--accent);border-radius:10px;padding:10px 14px}.solar-roof{border-radius:10px;margin:0;padding:12px 14px;font-size:.95rem}.solar-roof.fits{background:#ecf7ef;border:1px solid #2e7d4f}.solar-roof.short{background:#fff6e5;border:1px solid #c27c00}.solar-roof-inputs{grid-template-columns:1fr 1fr;gap:12px;display:grid}.solar-roof-inputs .tow-field{margin:0}.tow-results .solar-roof{margin:0 0 12px}.tow{--c-orange:#e9631a;--c-orange-ink:#a8430c;--c-orange-soft:#fff3ea;--c-blue:#2b7bc0;--c-blue-ink:#1d5a92;--c-blue-soft:#eaf3fb;--c-green:#2e9a5e;--c-green-ink:#1f6b41;--c-green-soft:#eaf7ef;--c-purple:#8b5cf6;--c-purple-ink:#5b34c4;--c-purple-soft:#f3efff;--c-amber:#f2a516;--c-amber-ink:#8a4b06;--c-amber-soft:#fff7e2;--c-teal:#1aa39a;--c-teal-ink:#0f6b65;--c-teal-soft:#e6f7f5}.tool-hero{color:#fff;border-radius:20px;margin:8px 0 22px;padding:26px 22px 24px;position:relative;overflow:hidden;box-shadow:0 10px 28px #17324f2e}.tool-hero--tow{background:linear-gradient(135deg,#17324f 0%,#1d5a92 55%,#157f86 100%)}.tool-hero--solar{background:linear-gradient(135deg,#7a2e0e 0%,#9a3a0c 50%,#b4480c 100%)}.tool-hero:before,.tool-hero:after{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;position:absolute}.tool-hero:before{width:220px;height:220px;top:-80px;right:-60px}.tool-hero:after{background:#ffffff0f;width:140px;height:140px;bottom:-70px;right:60px}.tool-hero--solar:before{background:radial-gradient(circle,#ffd66673 0%,#ffd66600 70%)}.tool-hero-icon{background:#ffffff29;border-radius:16px;place-items:center;width:54px;height:54px;margin-bottom:12px;font-size:30px;display:inline-grid}.tow .tool-hero-kicker{letter-spacing:1.4px;text-transform:uppercase;color:#ffd9b8;margin:0 0 4px;font-size:.8rem;font-weight:700}.tow .tool-hero h1{color:#fff;margin:0 0 8px;font-size:1.9rem}.tow .tool-hero .tow-lead{color:#eef4fa;margin:0;position:relative}.tow-card[class*=tone-]{border:1px solid var(--border);border-top:6px solid var(--tone);border-radius:16px;box-shadow:0 2px 4px #17324f0d,0 8px 20px #17324f0f}.tow-card[class*=tone-]>h2{color:var(--tone-ink);background:var(--tone-soft);border-radius:10px 10px 0 0;margin:-16px -18px 14px;padding:12px 18px}.tone-orange{--tone:var(--c-orange);--tone-ink:var(--c-orange-ink);--tone-soft:var(--c-orange-soft)}.tone-blue{--tone:var(--c-blue);--tone-ink:var(--c-blue-ink);--tone-soft:var(--c-blue-soft)}.tone-green{--tone:var(--c-green);--tone-ink:var(--c-green-ink);--tone-soft:var(--c-green-soft)}.tone-purple{--tone:var(--c-purple);--tone-ink:var(--c-purple-ink);--tone-soft:var(--c-purple-soft)}.tone-amber{--tone:var(--c-amber);--tone-ink:var(--c-amber-ink);--tone-soft:var(--c-amber-soft)}.tone-teal{--tone:var(--c-teal);--tone-ink:var(--c-teal-ink);--tone-soft:var(--c-teal-soft)}.tow-card[class*=tone-] input[type=text]:focus-visible,.tow-card[class*=tone-] select:focus-visible{border-color:var(--tone);box-shadow:0 0 0 3px var(--tone-soft)}.tow-card[class*=tone-] .tow-toggle button.is-on,.tow-card[class*=tone-] .tow-modes button.is-on{border-color:var(--tone);background:var(--tone-soft);color:var(--tone-ink);box-shadow:inset 0 0 0 1px var(--tone)}.tow-toggle button,.tow-modes button{transition:border-color .15s,background .15s,transform .1s}.tow-toggle button:hover,.tow-modes button:hover{border-color:#b8c4d0}.tow-toggle button:active,.tow-modes button:active{transform:scale(.98)}.tow-example button{background:var(--c-teal-soft);color:var(--c-teal-ink);border:1.5px dashed var(--c-teal);border-radius:999px;margin-left:4px;padding:0 16px;text-decoration:none}.tow-waiting{color:#1d5a92;background:linear-gradient(135deg,#eaf3fb,#e6f7f5);border:1px dashed #9cc3e6}.tow-headline{border-width:0 0 0 8px;border-left-style:solid;border-left-color:currentColor;box-shadow:0 6px 18px #17324f14}.tow-headline h2{font-size:1.35rem}.tow-headline.tow-ok{color:#17462c;background:linear-gradient(135deg,#e9f8ef,#f6fcf8);border-color:#2e9a5e}.tow-headline.tow-close{color:#5c3a02;background:linear-gradient(135deg,#fff4dc,#fffbf1);border-color:#e0a100}.tow-headline.tow-over{color:#6b1212;background:linear-gradient(135deg,#fde8e6,#fff6f5);border-color:#c62828}.tow-check{border-left:5px solid #d0d7de;border-radius:14px}.tow-check.tow-ok{border-left-color:#2e9a5e}.tow-check.tow-close{border-left-color:#e0a100}.tow-check.tow-over{border-left-color:#c62828}.tow-bar{background:#edf1f5;border-radius:999px;height:14px}.tow-bar span{border-radius:999px}.tow-ok .tow-bar span{background:linear-gradient(90deg,#4cc07e,#2e9a5e)}.tow-close .tow-bar span{background:linear-gradient(90deg,#ffd25a,#e0a100)}.tow-over .tow-bar span{background:linear-gradient(90deg,#f0705f,#c62828)}.tow-estimate{background:var(--c-orange-soft);color:#5a2a08;border:1px solid #f6c7a6}.tow-unchecked{background:var(--c-purple-soft);color:var(--c-purple-ink)}.solar-headline{color:#5c3a02;background:linear-gradient(135deg,#fff1cc,#fff9ea);border-color:#f2a516}.solar-tile{border-top:5px solid var(--tile);background:linear-gradient(180deg, var(--tile-soft) 0%, #fff 70%);border-radius:14px;position:relative;overflow:hidden}.solar-tile strong{color:var(--tile-ink)}.tile-amber{--tile:#f2a516;--tile-ink:#8a4b06;--tile-soft:#fff7e2}.tile-green{--tile:#2e9a5e;--tile-ink:#1f6b41;--tile-soft:#eaf7ef}.tile-blue{--tile:#2b7bc0;--tile-ink:#1d5a92;--tile-soft:#eaf3fb}.tile-purple{--tile:#8b5cf6;--tile-ink:#5b34c4;--tile-soft:#f3efff}.solar-volt{border-radius:999px}.solar-row:hover{background:#fbfcfd}.tow-pro{border:1px solid #f6c7a6;border-left:6px solid var(--c-orange);background:linear-gradient(135deg,#fff3ea 0%,#fffaf5 60%,#fff 100%);border-radius:16px}.tow-pro h2{color:var(--c-orange-ink)}.tow-pro .alerts-button{box-shadow:0 6px 14px #e9631a47}.feedback{background:linear-gradient(135deg,#e6f7f5 0%,#f4fbfd 100%);border:1px solid #b9dcd8;border-radius:16px}.feedback h2{color:var(--c-teal-ink)}.feedback .tow-toggle button{background:#fff;font-size:1.05rem}.feedback .tow-toggle button:hover{border-color:var(--c-teal)}.glossary{border-radius:16px}.glossary h2{color:#17324f}.glossary dt{color:#1d5a92}@media (max-width:420px){.tow .tool-hero h1{font-size:1.6rem}.tool-hero{padding:22px 18px 20px}}
