@import "https://fonts.googleapis.com/css2?family=Pacifico&family=Nunito:wght@400;500;600;700;800;900&display=swap";:root{--water-dark:#005f8a;--water-mid:#0099c2;--water-light:#41caec;--water-foam:#c8eeff;--green:#3ab07a;--green-light:#d4f5e5;--green-dark:#1e7a4e;--red-light:#ffe2e2;--stone:#6a9bae;--text-dark:#1a3a4a;--text-mid:#3d6475;--text-light:#6a9bb0;--white:#fff;--radius:16px;--radius-lg:22px;--shadow-sm:0 2px 10px #0050821a;--shadow-md:0 4px 20px #00508226}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}body{min-height:100dvh;color:var(--text-dark);background:linear-gradient(175deg,#72c8ec 0%,#a8ddfa 18%,#c8eeff 40%,#ddf4ff 65%,#eff9ff 100%);font-family:Nunito,sans-serif}body:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='180' viewBox='0 0 600 180'%3E%3Cpath d='M0 60 Q75 30 150 60 Q225 90 300 60 Q375 30 450 60 Q525 90 600 60 L600 180 L0 180Z' fill='%230099C2' opacity='0.04'/%3E%3Cpath d='M0 100 Q75 70 150 100 Q225 130 300 100 Q375 70 450 100 Q525 130 600 100 L600 180 L0 180Z' fill='%23005F8A' opacity='0.03'/%3E%3C/svg%3E");background-size:600px 100vh;animation:10s linear infinite wave-bg;position:fixed;inset:0}@keyframes wave-bg{0%{background-position:0 0}to{background-position:600px 0}}#root,.app-shell{z-index:1;flex-direction:column;width:100%;height:100dvh;display:flex;position:relative}.app-header{z-index:10;background:linear-gradient(135deg,#0077a8 0%,#005070 100%);flex-shrink:0;align-items:center;gap:12px;width:100%;padding:14px 22px 13px;display:flex;box-shadow:0 3px 16px #003c6440}.header-icon{flex-shrink:0;width:34px;height:34px}.header-text{flex-direction:column;line-height:1;display:flex}.header-text .title{color:#fff;letter-spacing:.01em;text-shadow:0 1px 3px #0003;font-family:Pacifico,cursive;font-size:1.1rem}.header-text .subtitle{color:#ffffffbf;margin-top:1px;font-family:Pacifico,cursive;font-size:.75rem}.tab-content{scrollbar-width:none;flex:1;width:100%;position:relative;overflow:hidden auto}.tab-content::-webkit-scrollbar{display:none}.bottom-nav{width:100%;padding-bottom:max(10px, env(safe-area-inset-bottom));z-index:10;background:#fff;border-top:1.5px solid #0064a01f;flex-shrink:0;display:flex;box-shadow:0 -2px 12px #003c6414}.nav-btn{cursor:pointer;background:0 0;border:none;border-top:3px solid #0000;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 0 6px;transition:background .15s;display:flex;position:relative}.nav-btn.active{border-top-color:var(--water-mid)}.nav-btn:active{opacity:.7}.nav-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-light);font-size:.75rem;font-weight:800;transition:color .18s}.nav-btn.active .nav-label{color:var(--water-dark)}.nav-icon{opacity:.45;width:22px;height:22px;transition:opacity .18s}.nav-btn.active .nav-icon{opacity:1}.status-tab{flex-direction:column;align-items:center;gap:12px;height:100%;padding:6px 20px 20px;display:flex}.fountain-hero{flex-direction:column;flex:1;align-items:center;gap:8px;width:100%;min-height:0;padding-top:4px;display:flex}.status-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:100px;align-items:center;gap:8px;padding:7px 22px;font-size:.88rem;font-weight:800;display:inline-flex}.status-badge .badge-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.badge-working{color:var(--green-dark);background:#e8f9f4;border:1.5px solid #3ab07a59}.badge-working .badge-dot{background:var(--green)}.badge-dry{color:var(--text-mid);background:#f0f5f8;border:1.5px solid #6496b440}.badge-dry .badge-dot{background:var(--stone)}.badge-none{color:var(--text-light);background:#fff9;border:1.5px solid #6496b433}.badge-none .badge-dot{background:#b0c8d8}.carry-over-note{color:var(--text-light);text-align:center;font-size:.7rem;font-style:italic;line-height:1.4}.vote-section{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;width:100%;display:flex}.vote-prompt{color:var(--text-mid);text-align:center;font-size:.9rem;font-weight:700}.vote-buttons{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.vote-btn{border-radius:var(--radius);cursor:pointer;min-height:68px;box-shadow:var(--shadow-md);border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:14px 10px;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:800;transition:all .13s;display:flex}.vote-btn:active{box-shadow:var(--shadow-sm);transform:scale(.96)}.vote-btn:disabled{opacity:.45;cursor:not-allowed}.btn-working{color:#fff;background:linear-gradient(135deg,#0bd 0%,#08b 100%)}.btn-dry{color:var(--text-mid);background:#fff;border:1.5px solid #649bb438}.voted-message{background:var(--green-light);color:var(--green-dark);border:1.5px solid #3ab07a4d;border-radius:100px;align-items:center;gap:8px;padding:11px 24px;font-size:.88rem;font-weight:800;display:flex}.response-count{color:var(--text-light);text-align:center;font-size:.7rem;font-weight:600}.report-card{flex-direction:column;gap:7px;width:100%;padding:0 4px;display:flex}.report-card-row{justify-content:space-between;align-items:baseline;display:flex}.report-card-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);font-size:.7rem;font-weight:900}.report-card-count{color:var(--text-mid);font-size:.75rem;font-weight:700}.report-bar-track{background:#0064a024;border-radius:100px;width:100%;height:10px;overflow:hidden}.report-bar-fill{border-radius:100px;height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.bar-working{background:linear-gradient(90deg,#41caec,#3ab07a)}.bar-dry{background:linear-gradient(90deg,#b0c8d8,#7a9bae)}.report-bar-labels{color:var(--text-light);justify-content:space-between;font-size:.65rem;font-weight:700;display:flex}.error-msg{color:#c44;text-align:center;background:#fff0f0;border-radius:10px;width:100%;padding:8px 16px;font-size:.78rem}.loading-state{height:100%;min-height:200px;color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:.85rem;font-weight:600;display:flex}.loading-drops{gap:8px;display:flex}.loading-drop{background:var(--water-mid);border-radius:50%;width:11px;height:11px;animation:1.2s ease-in-out infinite drop-bounce}.loading-drop:nth-child(2){animation-delay:.2s}.loading-drop:nth-child(3){animation-delay:.4s}@keyframes drop-bounce{0%,80%,to{opacity:.5;transform:translateY(0)scale(.75)}40%{opacity:1;transform:translateY(-10px)scale(1)}}.calendar-tab{flex-direction:column;gap:8px;height:100%;padding:10px 14px 12px;display:flex;overflow:hidden}.month-header{text-align:center;flex-shrink:0}.month-header h2{color:var(--water-dark);font-family:Pacifico,cursive;font-size:1.1rem}.availability-stat{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.stat-svg-wrap{filter:drop-shadow(0 4px 14px #008cc847);width:80px;height:80px}.stat-subtitle{color:var(--text-light);text-align:center;font-size:.68rem;font-weight:600}.no-data-msg{color:var(--text-light);text-align:center;padding:8px;font-size:.82rem;line-height:1.6}.calendar-grid{border-radius:var(--radius-lg);min-height:0;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff8c;border:1px solid #fffc;flex-direction:column;flex:1;gap:4px;padding:8px;display:flex}.cal-headers-row{flex-shrink:0;grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-header{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);padding:1px 0 3px;font-size:.55rem;font-weight:900}.cal-days-grid{flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:3px;min-height:0;display:grid}.cal-day{border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:0;display:flex}.cal-day.empty,.cal-day.empty-future{opacity:.35;background:0 0}.cal-day.no-data{background:#bed7e433}.cal-day.working{background:linear-gradient(145deg,#c8ffe8,#a4edcc);border:1.5px solid #3ab07a4d}.cal-day.dry{background:linear-gradient(145deg,#ffe4e4,#ffc8c8);border:1.5px solid #dc505038}.cal-day.today{outline:2.5px solid var(--water-mid);outline-offset:-1px}.day-num{color:var(--text-mid);font-size:.65rem;font-weight:800;line-height:1}.cal-day.working .day-num{color:var(--green-dark)}.cal-day.dry .day-num{color:#a22}.day-icon{font-size:.52rem;line-height:1}.cal-legend{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:14px;display:flex}.legend-item{color:var(--text-mid);align-items:center;gap:6px;font-size:.68rem;font-weight:700;display:flex}.legend-dot{border-radius:4px;flex-shrink:0;width:11px;height:11px}.legend-dot.working{background:linear-gradient(145deg,#c8ffe8,#a4edcc);border:1.5px solid #3ab07a4d}.legend-dot.dry{background:linear-gradient(145deg,#ffe4e4,#ffc8c8);border:1.5px solid #dc505040}.legend-dot.no-data{background:#bed7e466;border:1.5px solid #96b4c84d}.fountain-scene{flex:1;justify-content:center;align-items:flex-start;width:100%;min-height:0;display:flex}.fountain-svg{width:auto;max-width:280px;height:100%;max-height:280px;transition:filter 1s}.fountain-working .fountain-svg{filter:drop-shadow(0 10px 30px #00b4f059)}.fountain-dry .fountain-svg{filter:drop-shadow(0 4px 14px #506e782e)saturate(.25)brightness(.88)}.water-arc{fill:none;stroke-dasharray:380;stroke-dashoffset:380px;opacity:0}.fountain-working .arc-1{animation:2s ease-in-out infinite flow-water}.fountain-working .arc-2{animation:2.2s ease-in-out -.4s infinite flow-water}.fountain-working .arc-3{animation:2s ease-in-out -.8s infinite flow-water}.fountain-working .arc-4{animation:2.2s ease-in-out -1.2s infinite flow-water}.fountain-working .arc-5{animation:1.7s ease-in-out -1.5s infinite flow-water}@keyframes flow-water{0%{stroke-dashoffset:380px;opacity:0}8%{opacity:.92}72%{opacity:.92}to{stroke-dashoffset:-380px;opacity:0}}.ripple{transform-box:fill-box;transform-origin:50%;opacity:0}.fountain-working .ripple-1{animation:2.6s ease-out infinite ripple-expand}.fountain-working .ripple-2{animation:2.6s ease-out -.65s infinite ripple-expand}.fountain-working .ripple-3{animation:2.6s ease-out -1.3s infinite ripple-expand}.fountain-working .ripple-4{animation:3s ease-out -.5s infinite ripple-expand}.fountain-working .ripple-5{animation:3s ease-out -1.8s infinite ripple-expand}@keyframes ripple-expand{0%{opacity:.85;transform:scale(.25)}to{opacity:0;transform:scale(2.2)}}.sparkle{opacity:0;transform-box:fill-box;transform-origin:50%}.fountain-working .sparkle{animation:2.5s ease-out infinite sparkle-pop}.fountain-working .sp-1{animation-delay:0s}.fountain-working .sp-2{animation-delay:-.5s}.fountain-working .sp-3{animation-delay:-1s}.fountain-working .sp-4{animation-delay:-1.5s}.fountain-working .sp-5{animation-delay:-2s}.fountain-working .sp-6{animation-delay:-.3s}.fountain-working .sp-7{animation-delay:-1.7s}@keyframes sparkle-pop{0%{opacity:0;transform:scale(0)translateY(0)}20%{opacity:1;transform:scale(1.5)translateY(-3px)}60%{opacity:.6;transform:scale(1)translateY(-9px)}to{opacity:0;transform:scale(0)translateY(-16px)}}.droplet{opacity:0;transform-box:fill-box;transform-origin:50%}.fountain-working .droplet{animation:2s ease-in infinite droplet-plop}.fountain-working .droplet-1{animation-delay:-.3s}.fountain-working .droplet-2{animation-delay:-.9s}.fountain-working .droplet-3{animation-delay:-.5s}.fountain-working .droplet-4{animation-delay:-1.4s}.fountain-working .droplet-5{animation-delay:-1.7s}@keyframes droplet-plop{0%{opacity:0;transform:translateY(-6px)scale(.5)}25%{opacity:1;transform:translateY(0)scale(1.2)}70%{opacity:.7;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(4px)scale(.6)}}.basin-water{transition:fill 1s}.fountain-working .basin-water{animation:3.5s ease-in-out infinite basin-shimmer}@keyframes basin-shimmer{0%,to{fill:#5dd8f0}50%{fill:#30c4e0}}.fountain-dry .basin-water,.fountain-dry .bowl-water{fill:#88aabc!important}.dry-elements{opacity:0;transition:opacity .8s}.fountain-dry .dry-elements{opacity:1}.fountain-dry .water-arcs,.fountain-dry .sparkles{opacity:0!important}.fountain-dry .water-arcs *,.fountain-dry .sparkles *{animation:none!important}.dust{opacity:0;transform-box:fill-box;transform-origin:50%}.fountain-dry .dust{animation:4s ease-in-out infinite dust-drift}.fountain-dry .dust-1{animation-delay:0s}.fountain-dry .dust-2{animation-delay:-1.4s}.fountain-dry .dust-3{animation-delay:-2.8s}@keyframes dust-drift{0%,to{opacity:0;transform:translate(0)}30%{opacity:.6}55%{opacity:.4;transform:translate(7px,-20px)}85%{opacity:0;transform:translate(-4px,-30px)}}
