@import "https://fonts.googleapis.com/css2?family=Syne:wght@400..800&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
@layer theme{:root,:host{--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#abb5ff;--foreground:#27356e}@media (prefers-color-scheme:dark){:root{--background:#abb5ff;--foreground:#27356e}}html,body{height:100vh;margin:0;padding:0;overflow:hidden auto}body{color:var(--foreground);background:linear-gradient(135deg,#abb5ff 0%,#8fa0ff 35%,#c5cfff 70%,#d9e0ff 100%);font-family:Syne,sans-serif;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 15% 30%,#8ba0ff80 0%,#0000 45%),radial-gradient(circle at 85% 70%,#c5cfff99 0%,#0000 50%),radial-gradient(circle at 50% 10%,#abb5ff66 0%,#0000 40%),radial-gradient(circle at 25% 80%,#d9e0ff80 0%,#0000 45%);animation:8s ease-in-out infinite pulse;position:absolute;inset:0}body:after{content:"";pointer-events:none;z-index:0;opacity:.5;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff08 2px 4px),repeating-linear-gradient(90deg,#0000,#0000 2px,#ffffff08 2px 4px);position:absolute;inset:0}.grid-pattern{opacity:.6;z-index:0;background-image:linear-gradient(#27356e26 1px,#0000 1px),linear-gradient(90deg,#27356e26 1px,#0000 1px);background-size:60px 60px;width:100%;height:100%;position:absolute;top:0;left:0}main{z-index:1;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative}#centered-content{z-index:2;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}h1{z-index:2;white-space:nowrap;letter-spacing:-.02em;text-shadow:0 2px 10px #27356e1a;text-align:center;margin:0;font-size:clamp(2rem,4.5vw,4rem);font-weight:750;line-height:1.1;position:relative}h2{z-index:2;letter-spacing:-.01em;opacity:.9;text-shadow:0 2px 8px #27356e14;text-align:center;margin:0 0 clamp(1rem,2vh,2rem);font-size:clamp(1.5rem,4vw,3rem);font-weight:450;line-height:1.2;position:relative}@media (max-width:640px){h1{white-space:normal;padding:0 1rem;font-size:clamp(1.75rem,8vw,2.5rem)}h2{padding:0 1rem;font-size:clamp(1.25rem,7vw,2rem)}}#start-button{background:var(--foreground);color:var(--background);border:2px solid var(--foreground);cursor:pointer;z-index:2;letter-spacing:.05em;text-transform:uppercase;isolation:isolate;border-radius:60px;min-height:44px;margin-top:clamp(.5rem,1vh,1rem);padding:clamp(.75rem,1.5vw,1rem) clamp(1.5rem,3vw,2.5rem);font-family:Syne,sans-serif;font-size:clamp(.875rem,1.5vw,1.125rem);font-weight:700;transition:all .4s cubic-bezier(.4,0,.2,1);display:block;position:relative;overflow:hidden;box-shadow:0 10px 30px #27356e4d,0 0 #abb5ff80}@media (max-width:640px){#start-button{width:auto;min-width:200px;padding:.875rem 2rem;font-size:.875rem}}#start-button:before{content:"";z-index:-1;background:#fff3;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#start-button:hover:before{width:300px;height:300px}#start-button:hover{border-color:#abb5ffcc;transform:scale(1.08);box-shadow:0 20px 50px #27356e66,0 0 30px #abb5ff99}#start-button:active{transform:scale(1.02)}#labelPile1,#labelPile2,#label1Pile1,#label1Pile2{z-index:1;opacity:.7;pointer-events:none;mix-blend-mode:multiply;filter:drop-shadow(0 4px 8px #27356e33);position:absolute}#labelPile1{width:clamp(120px,30vw,400px);animation:18s ease-in-out -5s infinite floatDeco2;bottom:-9%;right:-7%;transform:rotate(20deg)}#labelPile2{width:clamp(120px,30vw,400px);animation:16s ease-in-out -10s infinite floatDeco3;top:-10%;left:-5%;transform:rotate(-10deg)}#label1Pile1{width:clamp(120px,30vw,400px);animation:18s ease-in-out -5s infinite floatDeco2;top:-9%;right:-7%;transform:rotate(20deg)}#label1Pile2{width:clamp(120px,30vw,400px);animation:16s ease-in-out -10s infinite floatDeco3;bottom:-10%;left:-5%;transform:rotate(-10deg)}@media (max-width:768px){#labelPile1,#labelPile2,#label1Pile1,#label1Pile2{opacity:.6;width:clamp(150px,40vw,280px)}#labelPile1,#label1Pile1{bottom:-5%;right:-8%}#labelPile2,#label1Pile2{top:-5%;left:-8%}}@media (max-width:480px){#labelPile1,#labelPile2,#label1Pile1,#label1Pile2{opacity:.65;width:clamp(140px,45vw,250px)}}@keyframes floatDeco2{0%,to{transform:translateY(0)rotate(20deg)}50%{transform:translateY(-25px)rotate(25deg)}}@keyframes floatDeco3{0%,to{transform:translateY(0)rotate(-10deg)}50%{transform:translateY(-35px)rotate(-5deg)}}#did-you-know{z-index:2;max-width:400px;position:absolute;bottom:clamp(1rem,5vh,3rem);left:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}#did-you-know h3{color:var(--foreground);letter-spacing:.05em;margin:0 0 .5rem;font-size:clamp(.75rem,1.5vw,1rem);font-weight:700}#did-you-know p{color:var(--foreground);opacity:.9;margin:0;font-size:clamp(.625rem,1.2vw,.875rem);line-height:1.5}@media (max-width:640px){#did-you-know{max-width:100%;margin-top:2rem;padding:0 1.5rem;position:relative;bottom:auto;left:auto;right:auto}#did-you-know h3{font-size:.75rem}#did-you-know p{font-size:.625rem}}.choose-page{z-index:1;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative}.back-button{border:2px solid var(--background);background:var(--foreground);width:50px;height:50px;color:var(--background);cursor:pointer;z-index:10;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);box-shadow:0 4px 12px #27356e33}.back-button:hover{background:var(--foreground);color:var(--background);transform:scale(1.1);box-shadow:0 6px 20px #27356e4d}.back-button:active{transform:scale(.95)}@media (max-width:640px){.back-button{width:44px;height:44px;top:1rem;right:1rem}.back-button svg{width:20px;height:20px}}.choose-content{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:clamp(2rem,5vw,4rem);width:100%;max-width:1200px;padding:clamp(4rem,8vw,6rem) clamp(1rem,5vw,3rem) clamp(2rem,5vw,4rem);display:flex}.choose-page h2{text-align:center;color:var(--foreground);letter-spacing:-.01em;text-shadow:0 2px 8px #27356e1a;margin:0;padding:0 clamp(1rem,3vw,2rem);font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:600}.button-group{justify-content:center;align-items:stretch;gap:clamp(1rem,3vw,2rem);width:100%;display:flex}.choice-button{aspect-ratio:1;background:linear-gradient(205deg,var(--background)0%,var(--background)20%,var(--foreground)100%);cursor:pointer;color:#fff;border-radius:20px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(1rem,2vw,1.5rem);max-width:400px;min-height:120px;padding:clamp(1.5rem,3vw,2.5rem);transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #27356e26}.choice-button:before{content:"";opacity:0;background:linear-gradient(135deg,#abb5ff1a,#c5cfff1a);transition:opacity .3s;position:absolute;inset:0}.choice-button:hover:before{opacity:1}.choice-button:hover{border-color:#abb5ffcc;transform:translateY(-8px)scale(1.02);box-shadow:0 12px 32px #27356e40}.choice-button:active{transform:translateY(-4px)scale(.98)}.button-icon{color:#fff;z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.choice-button span{text-align:center;z-index:1;letter-spacing:.02em;font-family:Syne,sans-serif;font-size:clamp(.875rem,1.8vw,1.25rem);font-weight:600;position:relative}.choice-button .button-icon{width:48px;height:48px}.choice-button .button-icon svg{width:100%;height:100%}@media (max-width:768px){.button-group{flex-direction:column;gap:1.5rem;width:100%;padding:0 1rem}.choice-button{aspect-ratio:1.2;width:100%;max-width:100%;min-height:150px}.choose-page h2{font-size:clamp(1.25rem,6vw,2rem)}.choice-button span{font-size:clamp(1rem,4vw,1.125rem)}}@media (min-width:769px) and (max-width:1024px){.button-group{gap:1.5rem}.choice-button{max-width:350px}}.paste-page{z-index:1;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow-y:auto}.paste-content{z-index:2;flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(1.5rem,3vw,2.5rem);width:100%;max-width:1600px;padding:clamp(5rem,8vw,7rem) clamp(1rem,5vw,3rem) clamp(2rem,5vw,3rem);display:flex}.paste-page h2{text-align:center;color:var(--foreground);letter-spacing:-.01em;text-shadow:0 2px 8px #27356e1a;margin:0;padding:0 clamp(1rem,3vw,2rem);font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:600}.input-results-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,3vw,2.5rem);width:100%;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex}.input-results-wrapper.has-results{flex-direction:row;align-items:flex-start;gap:clamp(1.5rem,3vw,2.5rem)}@media (max-width:1024px){.input-results-wrapper.has-results{flex-direction:column}}.paste-container{flex-direction:column;align-items:center;gap:clamp(1rem,2vw,1.5rem);width:100%;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex}.input-results-wrapper.has-results .paste-container{flex:1;min-width:400px;max-width:48%}@media (max-width:1024px){.input-results-wrapper.has-results .paste-container{min-width:100%;max-width:100%}}.ingredient-textarea{border:3px solid var(--foreground);width:100%;min-height:200px;color:var(--foreground);resize:vertical;box-sizing:border-box;background:#fffffff2;border-radius:16px;padding:clamp(1rem,2vw,1.5rem);font-family:Syne,sans-serif;font-size:clamp(.875rem,1.2vw,1rem);transition:all .3s;box-shadow:0 4px 16px #27356e1a}@media (max-width:640px){.ingredient-textarea{min-height:180px;padding:1rem;font-size:1rem}}.ingredient-textarea:focus{background:#fff;border-color:#abb5ffcc;outline:none;box-shadow:0 6px 24px #27356e33}.ingredient-textarea::placeholder{color:#27356e80;font-style:italic}.analyze-button{background:linear-gradient(205deg,var(--background)0%,var(--background)20%,var(--foreground)100%);color:#fff;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;border:none;border-radius:60px;width:auto;min-width:200px;min-height:44px;padding:clamp(.875rem,1.5vw,1.125rem) clamp(2rem,4vw,3rem);font-family:Syne,sans-serif;font-size:clamp(.875rem,1.4vw,1rem);font-weight:700;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #27356e40}@media (max-width:640px){.analyze-button{width:100%;max-width:100%;padding:.875rem 2rem;font-size:.875rem}}.analyze-button:hover:not(:disabled){transform:translateY(-4px)scale(1.05);box-shadow:0 12px 32px #27356e59}.analyze-button:active:not(:disabled){transform:translateY(-2px)scale(1.02)}.analyze-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.result-container{border:3px solid var(--foreground);box-sizing:border-box;background:#fffffff2;border-radius:16px;flex:1;width:100%;min-width:400px;max-width:48%;padding:clamp(1.5rem,2.5vw,2rem);animation:.5s cubic-bezier(.4,0,.2,1) slideIn;box-shadow:0 8px 24px #27356e26}@media (max-width:1024px){.result-container{min-width:100%;max-width:100%}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.result-container h3{color:var(--foreground);letter-spacing:.02em;margin:0 0 clamp(1rem,1.5vw,1.5rem);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700}.result-content{color:var(--foreground);word-wrap:break-word;overflow-wrap:break-word;max-height:60vh;padding-right:clamp(.5rem,1vw,1rem);font-family:Syne,sans-serif;font-size:clamp(.875rem,1.2vw,1rem);line-height:1.8;overflow-y:auto}@media (max-width:640px){.result-content{max-height:50vh;font-size:.875rem}}.ingredient-section{border-bottom:1px solid #27356e26;margin-bottom:clamp(1.5rem,2.5vw,2rem);padding-bottom:clamp(1rem,2vw,1.5rem)}.ingredient-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.ingredient-name{color:var(--foreground);letter-spacing:.01em;text-transform:capitalize;margin:0 0 clamp(.75rem,1.2vw,1rem);padding:clamp(.5rem,.8vw,.75rem) 0;font-size:clamp(1rem,1.4vw,1.25rem);font-weight:700}.ingredient-bullets{margin:0;padding:0 0 0 clamp(1rem,1.5vw,1.5rem);list-style:none}.ingredient-bullets li{color:var(--foreground);opacity:.85;margin-bottom:clamp(.5rem,.8vw,.75rem);font-size:clamp(.875rem,1.1vw,1rem);line-height:1.9;position:relative}.ingredient-bullets li:before{content:"•";color:var(--foreground);opacity:.6;font-weight:700;position:absolute;left:-1.2vw}.result-content::-webkit-scrollbar{width:8px}.result-content::-webkit-scrollbar-track{background:#27356e1a;border-radius:4px}.result-content::-webkit-scrollbar-thumb{background:#27356e4d;border-radius:4px}.result-content::-webkit-scrollbar-thumb:hover{background:#27356e80}.scan-page{z-index:1;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow-y:auto}.scan-content{z-index:2;flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(1.5rem,3vw,2.5rem);width:100%;max-width:1600px;padding:clamp(5rem,8vw,7rem) clamp(1rem,5vw,3rem) clamp(2rem,5vw,3rem);display:flex}.scan-page h2{text-align:center;color:var(--foreground);letter-spacing:-.01em;text-shadow:0 2px 8px #27356e1a;margin:0;padding:0 clamp(1rem,3vw,2rem);font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:600}.scan-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,3vw,2.5rem);width:100%;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex}.scan-wrapper.has-results{flex-direction:row;align-items:flex-start;gap:clamp(1.5rem,3vw,2.5rem)}.scan-container{flex-direction:column;align-items:center;gap:clamp(1rem,2vw,1.5rem);width:100%;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex}.scan-wrapper.has-results .scan-container{flex:1;min-width:400px;max-width:48%}@media (max-width:1024px){.scan-wrapper.has-results{flex-direction:column}.scan-wrapper.has-results .scan-container{min-width:100%;max-width:100%}}.file-input{display:none}.upload-label{cursor:pointer;pointer-events:auto;width:100%;transition:all .3s;display:block;position:relative}.image-upload-area{border:3px dashed var(--foreground);background:#fffffff2;border-radius:16px;width:100%;transition:all .3s;overflow:hidden;box-shadow:0 4px 16px #27356e1a}.image-upload-area:hover{border-color:#abb5ffcc;box-shadow:0 6px 24px #27356e33}.upload-placeholder{color:var(--foreground);flex-direction:column;justify-content:center;align-items:center;gap:clamp(.5rem,1vw,1rem);min-height:200px;padding:clamp(2rem,4vw,3rem);display:flex}.upload-placeholder svg{opacity:.6;width:64px;height:64px}.upload-placeholder p{margin:0;font-family:Syne,sans-serif;font-size:clamp(.875rem,1.2vw,1rem);font-weight:600}.upload-hint{opacity:.6;font-size:clamp(.75rem,1vw,.875rem);font-weight:400}@media (max-width:640px){.upload-placeholder{min-height:180px;padding:2rem 1rem}.upload-placeholder svg{width:48px;height:48px}}.image-preview-wrapper{cursor:pointer;width:100%;position:relative}.image-preview{object-fit:contain;width:100%;max-height:400px;display:block}@media (max-width:640px){.image-preview{max-height:300px}}.image-overlay{opacity:0;pointer-events:none;background:#27356eb3;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.image-overlay p{color:#fff;text-align:center;margin:0;padding:0 1rem;font-family:Syne,sans-serif;font-size:clamp(.875rem,1.3vw,1rem);font-weight:600}.image-preview-wrapper:hover .image-overlay{opacity:1}.scan-button{background:linear-gradient(205deg,var(--background)0%,var(--background)20%,var(--foreground)100%);color:#fff;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;border:none;border-radius:60px;width:auto;min-width:200px;min-height:44px;padding:clamp(.875rem,1.5vw,1.125rem) clamp(2rem,4vw,3rem);font-family:Syne,sans-serif;font-size:clamp(.875rem,1.4vw,1rem);font-weight:700;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #27356e40}@media (max-width:640px){.scan-button{width:100%;max-width:100%;padding:.875rem 2rem;font-size:.875rem}}.scan-button:hover:not(:disabled){transform:translateY(-4px)scale(1.05);box-shadow:0 12px 32px #27356e59}.scan-button:active:not(:disabled){transform:translateY(-2px)scale(1.02)}.scan-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.ocr-text-container{flex-direction:column;gap:clamp(1rem,1.5vw,1.25rem);width:100%;display:flex}.ocr-text-container h4{color:var(--foreground);margin:0;font-family:Syne,sans-serif;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:600}.ocr-textarea{border:3px solid var(--foreground);width:100%;min-height:150px;color:var(--foreground);resize:vertical;box-sizing:border-box;background:#fffffff2;border-radius:12px;padding:clamp(1rem,1.5vw,1.25rem);font-family:Syne,sans-serif;font-size:clamp(.875rem,1.2vw,1rem);transition:all .3s;box-shadow:0 4px 16px #27356e1a}@media (max-width:640px){.ocr-textarea{min-height:120px;padding:1rem;font-size:1rem}}.ocr-textarea:focus{background:#fff;border-color:#abb5ffcc;outline:none;box-shadow:0 6px 24px #27356e33}@media (max-width:768px){.grid-pattern{opacity:.4;background-size:40px 40px}}@media (max-width:640px){main{height:auto;min-height:100vh}#centered-content{min-height:calc(100vh - 150px);padding:2rem 1rem}.choose-page,.paste-page,.scan-page{height:auto;min-height:100vh}}@media (min-width:641px) and (max-width:1024px){.choice-button{max-width:320px}.input-results-wrapper.has-results,.scan-wrapper.has-results{flex-direction:column}.input-results-wrapper.has-results .paste-container,.scan-wrapper.has-results .scan-container,.result-container{min-width:100%;max-width:100%}}@media (min-width:1440px){.choose-content,.paste-content,.scan-content{max-width:1400px}}@keyframes pulse{50%{opacity:.5}}
