:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#1a1a2e;background-color:#f0f0f3;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}.app{display:flex;flex-direction:column;align-items:center;gap:24px;padding:40px 16px;min-height:100vh}.calculator{background:#fff;border-radius:24px;box-shadow:0 10px 40px #00000014;width:100%;max-width:380px;overflow:hidden}.calc-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 8px}.calc-title{font-size:17px;font-weight:600;color:#333}.calc-subtitle{font-size:14px;color:#4a9eff;font-weight:500}.display{padding:16px 24px 20px;text-align:right;min-height:120px;display:flex;flex-direction:column;justify-content:flex-end}.display-status{font-size:1rem;color:#999;text-align:center;padding:24px 0}.display-error{color:#e74c3c}.display-line{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;cursor:pointer;padding:2px 0;word-break:break-all;transition:font-size .35s cubic-bezier(.4,0,.2,1),color .35s cubic-bezier(.4,0,.2,1)}.display-active{color:#1a1a2e;font-weight:300;line-height:1.2}.display-inactive{color:#f5a623;font-weight:500;line-height:1.4}.display-inactive:hover{color:#e0950f}.display-prefix{flex-shrink:0}.display-swap{display:flex;align-items:center;justify-content:flex-start;padding:4px 0;color:#bbb;cursor:pointer;transition:color .2s ease}.display-swap:hover{color:#f5a623}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.display-cursor{display:inline-block;width:2px;height:.75em;background:currentColor;margin-left:2px;animation:blink 1s step-end infinite;vertical-align:baseline;flex-shrink:0}.currency-select{background:transparent;border:1px solid #e0e1e6;border-radius:6px;color:inherit;font-size:.65em;font-weight:700;font-family:inherit;cursor:pointer;padding:2px 6px;margin-left:8px;flex-shrink:0;transition:border-color .2s ease}.currency-select:hover{border-color:#f5a623}.currency-select:focus{outline:none;border-color:#f5a623}.keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:8px 16px 20px}.key{display:flex;align-items:center;justify-content:center;height:64px;border-radius:16px;font-size:1.4rem;font-weight:500;border:none;cursor:pointer;background:#f8f8fa;color:#1a1a2e;transition:all .15s ease;font-family:inherit;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.key:hover{background:#ededf0}.key:active{transform:scale(.93);opacity:.85}.key-util{background:#e0e1e6;color:#1a1a2e}.key-util:hover{background:#d4d5da}.key-currency{background:#f5a623;color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.5px}.key-currency:hover{background:#e6971c}.key-currency-active{background:#d4880f;box-shadow:inset 0 2px 6px #00000040}.key-currency-active:hover{background:#c47e0d}.rates-section{width:100%;max-width:380px;padding:0 4px}.rates-title{font-size:1rem;font-weight:600;color:#333;margin:0 0 4px}.rates-subtitle{font-size:.8rem;color:#888;margin:0 0 12px}.rates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rate-card{background:#fff;border-radius:12px;padding:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000f;border:2px solid transparent}.rate-card:hover{box-shadow:0 4px 16px #0000001a}.rate-card-active{border-color:#f5a623}.rate-code{display:block;font-size:.75rem;font-weight:700;color:#f5a623;margin-bottom:2px}.rate-value{display:block;font-size:.95rem;font-weight:600;color:#333}.rate-label{display:block;font-size:.7rem;color:#999;margin-top:2px}.footer{margin-top:auto;padding:16px;text-align:center}.footer a{color:#999;text-decoration:none;font-size:.85rem}.footer a:hover{color:#666}@media(max-width:420px){.app{padding:20px 12px}.calculator{border-radius:20px}.key{height:56px;border-radius:14px;font-size:1.25rem}.keypad{gap:8px;padding:8px 12px 16px}.rates-grid{grid-template-columns:repeat(2,1fr)}}
