:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.numeric-pad{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border:1px solid #ccc;border-radius:6px;background:#f9f9f9;max-width:200px}.pad-header{text-align:center}.pad-header h3{margin:0 0 .5rem;color:#333}.display{font-size:1.5rem;font-weight:700;padding:.5rem;background:#fff;border:1px solid #ddd;border-radius:4px;min-height:2rem;display:flex;align-items:center;justify-content:center}.fraction{color:#666;font-size:1.2rem}.number-grid{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:.25rem;align-items:center}.number-btn,.clear-btn,.backspace-btn{padding:.5rem;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:.9rem;cursor:pointer;transition:background-color .2s;min-height:35px;display:flex;align-items:center;justify-content:center}.number-btn:hover,.clear-btn:hover,.backspace-btn:hover{background:#e9e9e9}.number-btn:active,.clear-btn:active,.backspace-btn:active{background:#d9d9d9}.clear-btn{background:#ff6b6b;color:#fff}.clear-btn:hover{background:#ff5252}.backspace-btn{background:#ffa726;color:#fff}.backspace-btn:hover{background:#ff9800}.fraction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;margin-top:.5rem}.fraction-btn{padding:.25rem;border:1px solid #ccc;border-radius:3px;background:#fff;font-size:.7rem;cursor:pointer;transition:background-color .2s;min-height:28px;display:flex;align-items:center;justify-content:center}.fraction-btn:hover{background:#e9e9e9}.fraction-btn.active{background:#4caf50;color:#fff}.pad-label{grid-column:4;font-size:.7rem;color:#666;text-align:center;padding:.25rem;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center}@media (max-width: 480px){.numeric-pad{max-width:100%;padding:.25rem}.number-btn,.clear-btn,.backspace-btn{padding:.4rem;font-size:.8rem;min-height:32px}.fraction-btn{padding:.2rem;font-size:.65rem;min-height:25px}.fraction-grid{grid-template-columns:repeat(3,1fr);gap:.15rem}}.app{box-sizing:border-box;width:100%;margin:0;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;max-width:none}@media (max-width: 768px){#root{width:100%}}@media (max-width: 768px){body{place-items:stretch;align-items:stretch}}@media (min-width: 769px){.app{max-width:90vw;padding:1.5rem}}@media (min-width: 569px) and (max-width: 768px){.fractions-pad .fraction-grid{grid-template-columns:repeat(auto-fit,minmax(50px,1fr))}.number-grid{gap:.4rem}}@media (min-width: 1025px){.app{max-width:1200px;padding:2rem}}.app-header{text-align:center;margin-bottom:2rem}.app-header h1{color:#333;margin:0 0 .5rem}.app-header p{color:#666;margin:0}.app-main{display:flex;flex-direction:column;gap:.75rem}.main-display{background:#1a1a1a;border-radius:8px;padding:1rem;margin-bottom:1rem}.display-screen{background:#000;color:#0f0;font-family:Courier New,monospace;font-size:1.2rem;font-weight:700;padding:1rem;border-radius:4px;min-height:8rem;max-height:8rem;border:2px solid #333;display:flex;flex-direction:column;overflow-y:auto;line-height:1.4}.history-entry{margin-bottom:.5rem;opacity:.8}.history-expression{text-align:left;font-size:1rem;color:#0f0;margin-bottom:.2rem}.history-result{text-align:right;font-size:1.1rem;color:#ff0;font-weight:700}.current-line{font-size:1.2rem;font-weight:700;text-align:left;color:#0f0;margin-top:auto;border-top:1px solid #333;padding-top:.5rem}.state-indicators{background:#2a2a2a;border-radius:8px;padding:1rem;text-align:center}.state-indicators h4{margin:0 0 1rem;color:#fff;font-size:.9rem}.led-container{display:flex;gap:2rem;justify-content:center;align-items:center}.led-wrapper{display:flex;flex-direction:column;align-items:center;gap:.5rem}.led{width:20px;height:20px;border-radius:50%;background:#333;border:2px solid #555;transition:all .3s}.led.active{box-shadow:0 0 10px currentColor}.led.input.active{background:#0f0;border-color:#0f0}.led.imperial.active{background:#00f;border-color:#00f}.led.scalar.active{background:#f80;border-color:#f80}.led.error.active{background:red;border-color:red;animation:blink .5s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.led-label{font-size:.8rem;color:#ccc;text-transform:uppercase}.operator-buttons{background:#f8f9fa;border-radius:6px;padding:.5rem;text-align:center;display:flex;flex-direction:column;gap:.5rem}.operator-grid{display:flex;gap:.25rem;justify-content:center;flex-wrap:wrap}.operator-btn{padding:.5rem .75rem;border:1px solid #007bff;border-radius:4px;background:#fff;color:#007bff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;min-width:35px;height:35px;display:flex;align-items:center;justify-content:center}.operator-btn:hover{background:#007bff;color:#fff}.equals-btn{padding:.5rem 1rem;border:1px solid #28a745;border-radius:4px;background:#28a745;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;min-width:80px;height:35px;display:flex;align-items:center;justify-content:center}.equals-btn:hover{background:#218838;border-color:#1e7e34}.scalar-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr)}.decimal-btn{padding:.5rem;border:1px solid #ccc;border-radius:4px;background:#e9ecef;font-size:.9rem;cursor:pointer;transition:background-color .2s;min-height:35px;display:flex;align-items:center;justify-content:center}.decimal-btn:hover{background:#d3d3d3}.decimal-btn:active{background:#bbb}.fraction-selector{text-align:center;padding:.5rem;background:#f5f5f5;border-radius:6px}.fraction-selector h3{margin:0 0 1rem;color:#333}.selector-buttons{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.selector-btn{padding:.5rem 1rem;border:2px solid #ccc;border-radius:4px;background:#fff;font-size:.9rem;cursor:pointer;transition:all .2s;min-height:35px}.selector-btn:hover{background:#e9e9e9}.selector-btn.active{background:#007bff;color:#fff;border-color:#007bff}.top-pads-compact{display:flex;gap:.5rem;margin-bottom:.5rem}.top-pads-compact>*{flex:1}.fractions-row{margin-bottom:.5rem}.fractions-pad{background:#e8f5e8;border:1px solid #c8e6c8;border-radius:6px;padding:.5rem}.fractions-pad .fraction-selector{background:transparent;border:none;padding:0;margin-bottom:.5rem}.fractions-pad .selector-buttons{display:flex;flex-direction:row;gap:.25rem;justify-content:flex-start;flex-wrap:nowrap}.fractions-pad .selector-btn{background:#fff;border:1px solid #d4f5d4;color:#166534;padding:.25rem .5rem;font-size:.8rem;min-height:28px}.fractions-pad .selector-btn:hover{background:#f9f9f9}.fractions-pad .selector-btn.active{background:#22c55e;color:#fff;border-color:#16a34a}.fractions-pad .fraction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(50px,1fr));gap:.25rem}.fraction-btn-compact{padding:.3rem;border:1px solid #d4f5d4;border-radius:3px;background:#f0fdf0;font-size:.75rem;cursor:pointer;transition:background-color .2s;min-height:30px;display:flex;align-items:center;justify-content:center}.fraction-btn-compact:hover{background:#ecfdf5}.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;align-items:start}.controls-section{display:flex;flex-direction:column;gap:.5rem}.pad-wrapper-compact{cursor:pointer;transition:transform .2s,box-shadow .2s;border-radius:6px}.pad-wrapper-compact:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.pad-wrapper-compact.active{transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.pad-wrapper-compact.active .numeric-pad{border-color:#007bff;background:#f8f9ff}.pad-wrapper-compact .numeric-pad{background:#fff;border:1px solid #ddd;border-radius:6px;padding:.5rem}.feet-column .numeric-pad{background:#e3f2fd;border-color:#bbdefb}.feet-column .number-btn{background:#f5fbff;border-color:#cce7ff}.feet-column .number-btn:hover{background:#e1f4ff}.inches-column .numeric-pad{background:#e8f5e8;border-color:#c8e6c8}.inches-column .number-btn{background:#f0fdf0;border-color:#d4f5d4}.inches-column .number-btn:hover{background:#ecfdf5}.inches-column .fraction-btn{background:#f0fdf0;border-color:#d4f5d4}.inches-column .fraction-btn:hover{background:#ecfdf5}.inches-column .fraction-btn.active{background:#22c55e;color:#fff;border-color:#16a34a}.global-controls{display:flex;gap:.5rem;justify-content:center;padding:.5rem;background:#f8f9fa;border-radius:6px}.global-controls .clear-btn,.global-controls .backspace-btn{padding:.5rem 1rem;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:.9rem;cursor:pointer;transition:all .2s;min-width:80px;height:35px;display:flex;align-items:center;justify-content:center}.global-controls .clear-btn{background:#dc3545;color:#fff;border-color:#dc3545}.global-controls .clear-btn:hover{background:#c82333;border-color:#bd2130}.global-controls .backspace-btn{background:#ffc107;color:#212529;border-color:#ffc107}.global-controls .backspace-btn:hover{background:#e0a800;border-color:#d39e00}@media (max-width: 768px){.app{padding:.75rem}.fractions-pad .fraction-grid{grid-template-columns:repeat(auto-fit,minmax(45px,1fr));gap:.3rem}.number-grid{gap:.3rem}.fractions-pad .selector-buttons{flex-wrap:wrap;justify-content:center}.selector-buttons:not(.fractions-pad .selector-buttons){flex-direction:column;align-items:center}.selector-btn:not(.fractions-pad .selector-btn){width:100%;max-width:200px}.global-controls{gap:.5rem}.global-controls .clear-btn,.global-controls .backspace-btn{flex:1;min-width:0;font-size:.8rem;padding:.4rem .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media (max-width: 600px){.display-screen{font-size:.9rem;padding:.75rem;min-height:6rem;max-height:6rem}.current-line{font-size:.9rem}.led-container{gap:.5rem}.operator-grid{gap:.15rem}.operator-btn{padding:.4rem .6rem;font-size:.8rem;min-width:30px;height:30px}.equals-btn{padding:.4rem .8rem;font-size:.8rem;min-width:60px;height:32px}.decimal-btn{padding:.4rem;font-size:.8rem;min-height:32px}.selector-btn{padding:.4rem .8rem;font-size:.8rem;min-height:32px}}@media (max-width: 400px){.top-pads-compact,.bottom-row{grid-template-columns:1fr;gap:.25rem}.fractions-pad .fraction-grid{grid-template-columns:repeat(auto-fit,minmax(40px,1fr))}.fraction-btn-compact{font-size:.65rem;min-height:28px;padding:.25rem}.fractions-pad .selector-btn{padding:.2rem .4rem;font-size:.7rem;min-height:26px}}.error-display{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#dc3545;color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #dc35454d;z-index:1000;opacity:0;transition:opacity .3s ease,transform .3s ease;transform:translate(-50%) translateY(-20px);max-width:90%;width:auto}.error-display.visible{opacity:1;transform:translate(-50%) translateY(0)}.error-content{display:flex;align-items:center;gap:.75rem}.error-icon{font-size:1.2rem}.error-message{font-size:.95rem;font-weight:500}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.app.error-shake{animation:shake .4s ease}@media (max-width: 768px){.error-display{top:10px;padding:.75rem 1rem;font-size:.9rem}.error-icon{font-size:1rem}.error-message{font-size:.85rem}}
