*,*:before,*:after{box-sizing:border-box}:root{--bg: #050508;--glass: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .12);--text: #f4f4f5;--muted: #a1a1aa;--accent-1: #6366f1;--accent-2: #a855f7;--accent-3: #ec4899;--success: #34d399;--error: #f87171;--radius: 20px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}html,body{margin:0;min-height:100dvh;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}body{display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.bg-mesh{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:0}.bg-orbs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 12s var(--ease-smooth) infinite}.orb-1{width:280px;height:280px;background:var(--accent-1);top:-10%;left:-15%;animation-delay:0s}.orb-2{width:320px;height:320px;background:var(--accent-2);bottom:10%;right:-20%;animation-delay:-4s}.orb-3{width:200px;height:200px;background:var(--accent-3);top:45%;left:30%;animation-delay:-8s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-40px) scale(1.08)}66%{transform:translate(-20px,25px) scale(.95)}}.glass{background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);box-shadow:0 0 0 1px #ffffff0a inset,0 24px 48px -12px #00000080}.app{position:relative;z-index:1;width:100%;max-width:380px;display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem 1.5rem;border-radius:28px;animation:app-in .7s var(--ease-smooth) both}@keyframes app-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.header{text-align:center}.logo-ring{display:block;width:64px;height:64px;margin:0 auto .75rem;border-radius:50%;background:linear-gradient(135deg,var(--accent-1),var(--accent-2),var(--accent-3));padding:2px;text-decoration:none;cursor:pointer;animation:ring-pulse 3s ease-in-out infinite;-webkit-tap-highlight-color:transparent}.logo-ring:hover,.logo-ring:focus-visible{transform:scale(1.05);outline:none}.logo-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#0f0f14e6;font-size:1.75rem}@keyframes ring-pulse{0%,to{box-shadow:0 0 20px #6366f166}50%{box-shadow:0 0 36px #a855f78c}}.header h1{margin:0;font-size:1.85rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#fff,#c4b5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}.pin-section{display:flex;flex-direction:column;gap:.45rem;transition:opacity .4s var(--ease-smooth),max-height .4s var(--ease-smooth)}.pin-section.pin-saved #pin{letter-spacing:.5em}.pin-section.pin-saved #pin,.pin-section.pin-saved #pin-hint{display:none}.pin-section.pin-saved #pin-label{margin-bottom:0;font-size:.75rem;opacity:.7}.pin-section.pin-saved #pin-label:after{content:" ✓";color:var(--success)}.pin-section label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pin-section input{width:100%;padding:1rem 1.25rem;font-size:1.5rem;letter-spacing:.35em;text-align:center;border:1px solid var(--glass-border);border-radius:var(--radius);background:#00000040;color:var(--text);outline:none;transition:border-color .25s,box-shadow .25s,transform .2s var(--ease-spring)}.pin-section input:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px #6366f140;transform:scale(1.01)}.pin-section input.text-input{font-size:1.15rem;letter-spacing:.02em}.pin-section.name-saved #user-name,.pin-section.name-saved #name-hint{display:none}.pin-section.name-saved #name-label{margin-bottom:0;font-size:.75rem;opacity:.7}.pin-section.name-saved #name-label:after{content:" ✓";color:var(--success)}.hint{margin:0;font-size:.75rem;color:var(--muted);text-align:center}.text-btn{background:none;border:none;color:var(--accent-1);font-size:.8rem;cursor:pointer;padding:.25rem;margin-top:.15rem}.text-btn.hidden,.hidden{display:none!important}.install-section.hidden{display:none}.trigger-wrap{position:relative}.trigger-guard{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border:none;background:transparent;cursor:not-allowed;-webkit-tap-highlight-color:transparent}.trigger-btn{position:relative;width:100%;min-height:80px;padding:1.35rem 1.5rem;font-size:1.05rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent-1) 0%,var(--accent-2) 50%,var(--accent-3) 100%);background-size:200% 200%;border:none;border-radius:var(--radius);cursor:pointer;touch-action:manipulation;overflow:hidden;isolation:isolate;transition:transform .25s var(--ease-spring),opacity .2s,box-shadow .3s;-webkit-tap-highlight-color:transparent;animation:gradient-shift 6s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.trigger-label{position:relative;z-index:2}.trigger-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:inherit;filter:blur(16px);opacity:0;z-index:0;transition:opacity .35s}.trigger-shine{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);z-index:1;animation:shine 4s ease-in-out infinite}@keyframes shine{0%{left:-100%}40%,to{left:150%}}.trigger-btn.is-ready .trigger-glow{opacity:.65;animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.45}50%{opacity:.75}}.trigger-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.01);box-shadow:0 12px 40px -8px #6366f18c}.trigger-btn:active:not(:disabled){transform:scale(.97)}.trigger-btn:disabled{opacity:.4;cursor:not-allowed;animation:none}.trigger-btn.is-loading{pointer-events:none}.trigger-btn.is-loading .trigger-label{animation:pulse-text .8s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.trigger-btn.is-success{animation:success-pop .5s var(--ease-spring)}@keyframes success-pop{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}.status{min-height:1.5rem;margin:0;text-align:center;font-size:.88rem;color:var(--muted);transition:color .25s}.status[data-state=success]{color:var(--success)}.status[data-state=error]{color:var(--error)}.status[data-state=loading]{color:var(--muted);animation:pulse-text 1s ease-in-out infinite}.history-link{display:block;text-align:center;color:var(--muted);font-size:.85rem;text-decoration:none;letter-spacing:.04em}.history-link:hover{color:var(--text)}.app.history-app{max-width:440px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;max-height:min(60dvh,520px);overflow-y:auto}.history-item{padding:.85rem .95rem;border-radius:14px;background:#00000047;border:1px solid var(--glass-border)}.history-item-top{display:flex;justify-content:space-between;gap:.5rem;font-weight:600}.history-item-meta{margin-top:.35rem;font-size:.75rem;color:var(--muted)}.history-item.fail .history-name{color:var(--error)}.empty-history{text-align:center;color:var(--muted);font-size:.9rem}.install-section{display:flex;flex-direction:column;gap:.5rem;animation:app-in .8s .15s var(--ease-smooth) both}.install-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.9rem 1rem;font-size:.95rem;font-weight:600;color:var(--text);background:#ffffff14;border:1px dashed rgba(255,255,255,.2);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;transition:background .25s,border-color .25s,transform .2s var(--ease-spring);-webkit-tap-highlight-color:transparent}.install-btn:hover{background:#ffffff1f;border-color:#ffffff59;transform:scale(1.02)}.install-btn:active{transform:scale(.98)}.install-icon{font-size:1.2rem}.install-hint{margin:0;font-size:.75rem;color:var(--muted);text-align:center}.ios-dialog{border:none;padding:0;max-width:min(360px,92vw);background:transparent}.ios-dialog::backdrop{background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ios-dialog-inner{padding:1.5rem;border-radius:24px;margin:0;animation:app-in .35s var(--ease-spring) both}.ios-dialog h2{margin:0 0 1rem;font-size:1.15rem;text-align:center}.ios-dialog ol{margin:0 0 1.25rem;padding-left:1.25rem;line-height:1.7;color:var(--muted);font-size:.9rem}.ios-dialog strong{color:var(--text)}.ios-share{display:inline-block;padding:.1rem .35rem;background:#ffffff1a;border-radius:6px;font-size:.85rem}.pool-temp{margin:-.35rem 0 -.15rem;padding:.55rem 1rem;border-radius:var(--radius);background:linear-gradient(135deg,#0ea5e926,#0369a11a);border:1px solid rgba(56,189,248,.25);box-shadow:0 0 20px #0ea5e914 inset}.pool-temp.hidden{display:none}.pool-temp-inner{display:flex;align-items:center;justify-content:center;gap:.65rem}.pool-icon{font-size:1.25rem;line-height:1;filter:drop-shadow(0 0 6px rgba(56,189,248,.45))}.pool-value{margin:0;font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1;background:linear-gradient(135deg,#7dd3fc,#38bdf8,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
