.calculator{background:var(--bg-secondary);border-radius:24px;padding:24px;box-shadow:var(--shadow-glow),0 25px 50px -12px #00000080,inset 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.display-container{background:var(--bg-tertiary);border-radius:16px;padding:20px 24px;margin-bottom:20px;min-height:100px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow-inset);border:1px solid rgba(255,255,255,.03);position:relative;overflow:hidden}.display-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,217,255,.3),transparent)}.display-history{font-family:var(--font-display);font-size:.9rem;color:var(--text-muted);text-align:right;min-height:24px;margin-bottom:8px;letter-spacing:1px}.display-main{font-family:var(--font-display);font-size:2.8rem;font-weight:600;color:var(--text-primary);text-align:right;word-break:break-all;line-height:1.1;transition:all .2s ease;text-shadow:0 0 30px rgba(0,217,255,.3)}.display-main.loading{color:var(--text-muted)}.display-main.error{color:var(--accent-pink);text-shadow:0 0 30px rgba(233,69,96,.3)}.display-error{font-family:var(--font-body);font-size:.75rem;color:var(--accent-pink);text-align:right;margin-top:8px}.loading-dots span{animation:blink 1.4s infinite both;font-size:3rem}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:0}40%{opacity:1}}.buttons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.calc-button{font-family:var(--font-body);font-size:1.4rem;font-weight:500;border:none;border-radius:14px;padding:20px;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden}.calc-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 50%);opacity:0;transition:opacity .15s ease}.calc-button:hover:before{opacity:1}.calc-button:active{transform:scale(.95)}.calc-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.calc-button.digit{background:var(--bg-button);color:var(--text-primary);box-shadow:var(--shadow-button)}.calc-button.digit:hover{background:var(--bg-button-hover)}.calc-button.function{background:linear-gradient(135deg,#2d2d44,#1f1f2e);color:var(--accent-cyan);box-shadow:var(--shadow-button)}.calc-button.function:hover{background:linear-gradient(135deg,#3d3d54,#2f2f3e)}.calc-button.operator{background:linear-gradient(135deg,var(--accent-purple) 0%,#3d2066 100%);color:var(--text-primary);box-shadow:var(--shadow-button),0 0 20px #5334834d}.calc-button.operator:hover{background:linear-gradient(135deg,#6b4299,#4d2876)}.calc-button.equals{background:linear-gradient(135deg,var(--accent-pink) 0%,#c73e52 100%);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-button),0 0 25px #e9456066}.calc-button.equals:hover{background:linear-gradient(135deg,#f25672,#d74862);box-shadow:var(--shadow-button),0 0 35px #e9456080}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}@media (max-width: 400px){.calculator{padding:16px;border-radius:20px}.display-container{padding:16px 20px;min-height:80px}.display-main{font-size:2.2rem}.buttons-grid{gap:8px}.calc-button{padding:16px;font-size:1.2rem;border-radius:12px}}.app{width:100%;max-width:420px;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-container{display:flex;flex-direction:column;gap:24px}.app-header{display:flex;justify-content:space-between;align-items:center;padding:0 8px}.app-title{font-family:var(--font-body);font-size:1.5rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;letter-spacing:-.5px}.title-icon{font-size:1.2rem}.api-status{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border-radius:20px;font-size:.75rem;font-weight:500;transition:all .3s ease}.status-dot{width:8px;height:8px;border-radius:50%;transition:all .3s ease}.api-status.checking .status-dot{background:var(--text-muted);animation:pulse 1.5s infinite}.api-status.connected .status-dot{background:#0f8;box-shadow:0 0 8px #00ff8880}.api-status.disconnected .status-dot{background:var(--accent-pink);box-shadow:0 0 8px #e9456080}.api-status.connected{color:#0f8}.api-status.disconnected{color:var(--accent-pink)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.app-footer{text-align:center;color:var(--text-muted);font-size:.8rem;padding:0 8px}.app-footer p{margin:4px 0}.footer-links{display:flex;justify-content:center;align-items:center;gap:8px}.footer-links a{color:var(--accent-cyan);text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--text-primary)}.divider{color:var(--text-muted)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a2e;--bg-button: #16213e;--bg-button-hover: #1f2b47;--accent-cyan: #00d9ff;--accent-pink: #e94560;--accent-purple: #533483;--accent-orange: #ff6b35;--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-muted: #606070;--shadow-glow: 0 0 40px rgba(0, 217, 255, .15);--shadow-button: 0 4px 15px rgba(0, 0, 0, .3);--shadow-inset: inset 0 2px 10px rgba(0, 0, 0, .3);--font-display: "JetBrains Mono", monospace;--font-body: "Outfit", sans-serif}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);display:flex;justify-content:center;align-items:center;min-height:100vh;overflow:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(83,52,131,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(0,217,255,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(233,69,96,.05) 0%,transparent 70%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:0}#root{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;width:100%;padding:20px}
