@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";: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}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;margin:0;padding:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-container{min-height:100vh;background:linear-gradient(135deg,#c8e4f5,#d5ebf7,#e8f4fa)}.app-header{background:#c8e4f5;padding:1rem 1.5rem;box-shadow:0 1px 3px #0000001a}.header-content{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.logo{height:48px}.camera-icon-container{width:48px;height:48px;background:#fff6;border-radius:16px;display:flex;align-items:center;justify-content:center}.camera-icon{width:24px;height:24px;color:#2e7d9a}.main-content{max-width:1280px;margin:0 auto;padding:2rem 1rem}.grid-container{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1024px){.grid-container{grid-template-columns:1fr 1fr}}.left-column,.right-column{display:flex;flex-direction:column;gap:1.5rem;animation:fadeInUp .6s ease-out forwards}.left-column{animation-delay:.1s}.right-column{animation-delay:.2s}.card{background:#fff;border-radius:24px;box-shadow:0 4px 6px #00000012;padding:2rem;transition:all .3s ease}.instructions-card{border:1px solid rgba(91,192,222,.2)}.results-card{height:100%}.card-title{font-size:1.5rem;font-weight:600;color:#2e7d9a;display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.card-subtitle{font-size:1.25rem;font-weight:600;color:#2e7d9a;display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.results-title{justify-content:space-between}.title-with-icon{display:flex;align-items:center;gap:.75rem}.icon-container{width:48px;height:48px;background:#5bc0de33;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon{width:24px;height:24px;color:#5bc0de}.button-group{display:flex;flex-direction:column;gap:1rem}.btn{width:100%;padding:1rem 1.5rem;border-radius:16px;font-weight:500;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:all .3s ease;border:none;font-family:Poppins,sans-serif}.btn-primary{background:#5bc0de;color:#fff;box-shadow:0 2px 4px #5bc0de4d}.btn-primary:hover{background:#46a8c5;box-shadow:0 4px 8px #5bc0de66;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{padding:1rem 1.5rem;border:2px solid #5BC0DE;background:#fff;color:#2e7d9a}.btn-secondary:hover{background:#5bc0de1a}.btn-icon{width:20px;height:20px}.action-buttons{display:flex;gap:.75rem}.btn-extract{flex:1}.preview-section{display:flex;flex-direction:column;gap:1rem}.image-preview{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 2px 4px #0000001a;border:4px solid white}.image-preview img{width:100%;height:100%;object-fit:cover;display:block}.instructions-list{display:flex;flex-direction:column;gap:.75rem;color:#2e7d9a}.instruction-item{position:relative;padding-left:2rem;line-height:1.6}.instruction-item:before{content:"";position:absolute;left:.5rem;top:.5rem;width:6px;height:6px;background:#5bc0de;border-radius:50%}.instruction-bold{font-weight:500}.action-icons{display:flex;gap:.5rem}.icon-button{padding:.5rem;background:transparent;border:none;color:#2e7d9a;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.icon-button:hover{color:#5bc0de;background:#5bc0de1a}.small-icon{width:20px;height:20px}.alert{margin-bottom:1rem;padding:1rem;border-radius:12px;display:flex;align-items:flex-start;gap:.75rem}.alert-error{background:#fef2f2;border:1px solid #FCA5A5;color:#991b1b}.alert-success{background:#f0fdf4;border:1px solid #86EFAC;color:#166534}.alert-icon{width:20px;height:20px;flex-shrink:0;margin-top:2px}.text-area{width:100%;height:384px;padding:1rem;border:2px solid rgba(91,192,222,.3);border-radius:16px;font-family:Poppins,sans-serif;font-size:.95rem;color:#334155;resize:none;transition:all .3s ease;outline:none;background-color:#fff}.text-area:focus{border-color:#5bc0de}.text-area::-webkit-scrollbar{width:8px}.text-area::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.text-area::-webkit-scrollbar-thumb{background:#5bc0de;border-radius:10px}.text-area::-webkit-scrollbar-thumb:hover{background:#46a8c5}.empty-state{height:384px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8}.empty-text{font-size:1.125rem;text-align:center;color:#2e7d9a;margin-top:1rem}.placeholder-icon{width:64px;height:64px;color:#5bc0de66}.loading-icon{width:48px;height:48px;color:#5bc0de}.floating-icon{animation:float 3s ease-in-out infinite}.spinning{animation:spin 1s linear infinite}.footer{text-align:center;margin-top:3rem;color:#2e7d9a99;font-size:.875rem}@media(max-width:768px){.main-content{padding:1rem}.card{padding:1.5rem}.card-title{font-size:1.25rem}.logo{height:40px}.camera-icon-container,.icon-container{width:40px;height:40px}.icon{width:20px;height:20px}}.crop-box{position:absolute;border:3px solid #5BC0DE;background:#5bc0de1a;cursor:move;box-shadow:0 0 0 9999px #0009}.handle{position:absolute;width:20px;height:20px;background:#5bc0de;border:3px solid white;border-radius:50%;z-index:10}.handle:hover{background:#46a8c5;transform:scale(1.2)}.handle-tl{top:-10px;left:-10px;cursor:nw-resize}.handle-tr{top:-10px;right:-10px;cursor:ne-resize}.handle-bl{bottom:-10px;left:-10px;cursor:sw-resize}.handle-br{bottom:-10px;right:-10px;cursor:se-resize}.crop-section{display:flex;flex-direction:column;gap:1rem}.crop-help{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#2e7d9a;font-size:1rem;padding:1rem;background:linear-gradient(135deg,#5bc0de26,#5bc0de0d);border-radius:12px;border:2px solid rgba(91,192,222,.3);text-align:center}.crop-container-simple{position:relative;width:100%;border-radius:16px;overflow:hidden;-webkit-user-select:none;user-select:none;background:#000}.crop-image-simple{width:100%;height:auto;display:block;max-height:400px;object-fit:contain;pointer-events:none}.crop-box{position:absolute;border:3px solid #5BC0DE;background:#5bc0de1a;cursor:move;box-shadow:0 0 0 9999px #0009;touch-action:none;-webkit-user-select:none;user-select:none}.crop-box-border{position:absolute;top:0;left:0;width:100%;height:100%;border:2px dashed white;pointer-events:none}.handle{position:absolute;width:30px;height:30px;background:#5bc0de;border:3px solid white;border-radius:50%;z-index:10;touch-action:none}.handle:hover,.handle:active{background:#46a8c5;transform:scale(1.2)}.handle-tl{top:-15px;left:-15px;cursor:nw-resize}.handle-tr{top:-15px;right:-15px;cursor:ne-resize}.handle-bl{bottom:-15px;left:-15px;cursor:sw-resize}.handle-br{bottom:-15px;right:-15px;cursor:se-resize}.crop-center-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;pointer-events:none;opacity:.7}.btn-text{background:transparent;border:none;color:#5bc0de;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;cursor:pointer;font-family:Poppins,sans-serif;font-size:.95rem;transition:all .2s ease}.btn-text:hover{color:#46a8c5;background:#5bc0de1a;border-radius:8px}.inline-icon{width:18px;height:18px}
