:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#d8fff1;background:#030608;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 80% 10%,rgba(69,255,195,.12),transparent 28rem),radial-gradient(circle at 12% 75%,rgba(255,29,114,.12),transparent 24rem),linear-gradient(135deg,#030608,#07110f 48%,#120711)}#app{min-height:100vh}button{font:inherit}.bit-rain{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,rgba(3,6,8,.22),transparent 26%,rgba(3,6,8,.34)),radial-gradient(circle at 50% 0%,rgba(83,255,201,.08),transparent 32rem)}.bit-rain:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(3,6,8,.7),transparent 16%,transparent 84%,rgba(3,6,8,.78)),linear-gradient(180deg,#0306081a,#03060873)}.bit-column{position:absolute;top:-62rem;left:var(--left);width:1ch;color:#53ffc966;font-family:Courier New,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(.72rem,1vw,.94rem);font-weight:700;line-height:1.08;text-shadow:0 0 8px rgba(83,255,201,.42),0 0 18px rgba(83,255,201,.18);word-break:break-all;opacity:.62;animation:bit-fall var(--duration) linear infinite;animation-delay:var(--delay)}.shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,430px) minmax(300px,420px);min-height:100vh;gap:clamp(1.25rem,2.7vw,2.6rem);align-items:center;justify-content:center;width:min(920px,calc(100% - 40px));margin:0 auto;padding:clamp(2rem,5vw,5rem) 0}.shell:before{position:fixed;inset:0;pointer-events:none;content:"";opacity:.28;background-image:linear-gradient(rgba(108,255,219,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(108,255,219,.05) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}.intro,.workspace{position:relative;z-index:1}.signal{display:inline-flex;align-items:center;gap:.65rem;margin-bottom:1.4rem;color:#53ffc9;font-size:.77rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.signal span{width:.65rem;height:.65rem;border-radius:999px;background:#53ffc9;box-shadow:0 0 22px #53ffc9e6}.site-logo{width:2rem;height:2rem;object-fit:contain;filter:drop-shadow(0 0 16px rgba(83,255,201,.5))}.portrait{position:relative;overflow:hidden;width:min(430px,88vw);aspect-ratio:4 / 3;margin-bottom:2.4rem;border:1px solid rgba(83,255,201,.28);border-radius:8px;background:linear-gradient(115deg,rgba(83,255,201,.14),transparent 42%),linear-gradient(315deg,rgba(255,29,114,.16),transparent 48%),#06100f;box-shadow:0 0 0 1px #53ffc90d inset,0 28px 80px #0000005c,0 0 70px #53ffc924}.scan-stack{position:absolute;inset:0;background:#020707}.scan-stack:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(2,7,7,.24),transparent 20%,transparent 80%,rgba(2,7,7,.28)),linear-gradient(180deg,rgba(2,7,7,.36),transparent 42%,rgba(2,7,7,.5))}.scan-frame-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:saturate(.82) contrast(1.08) brightness(.82)}.scan-frame-image.active{z-index:1;opacity:1;filter:saturate(.92) contrast(1.12) brightness(.9)}.scan-frame-image.upcoming{z-index:2;animation:scan-image-fade 1.9s linear forwards}.portrait-grid{position:absolute;inset:0;z-index:3;opacity:.5;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(rgba(83,255,201,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(83,255,201,.11) 1px,transparent 1px);background-size:24px 24px}.scan-line{position:absolute;z-index:4;left:0;right:0;top:28%;height:2px;background:linear-gradient(90deg,transparent,#53ffc9,transparent);box-shadow:0 0 20px #53ffc9e6;animation:scan 3.8s ease-in-out infinite}h1{max-width:620px;margin:0;color:#eafff8;font-size:clamp(2.15rem,4.4vw,3.55rem);line-height:.9;letter-spacing:0;text-shadow:0 0 34px rgba(83,255,201,.18)}.tagline{margin:1.1rem 0 0;color:#b7d8cd;font-size:clamp(.92rem,1.45vw,1.08rem);font-weight:750}.tagline strong{color:#53ffc9}.description{max-width:500px;margin:1rem 0 0;color:#71958d;font-size:.76rem;line-height:1.55}.warning-label{color:#ff4f5f;font-weight:900}.workspace{display:grid;align-content:center;gap:1.25rem;min-height:460px}.upload-panel,.preview-panel{border:1px solid rgba(83,255,201,.22);border-radius:8px;background:#040e0ec7;box-shadow:0 30px 90px #0000006b,0 0 70px #53ffc914,0 0 0 1px #53ffc90d inset;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.upload-panel{display:grid;place-items:center;justify-self:center;width:min(100%,420px);aspect-ratio:4 / 3;min-height:240px;padding:2rem;cursor:pointer;outline:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}.upload-content{display:grid;justify-items:center;align-content:center;width:min(100%,280px);text-align:center}.upload-panel:hover,.upload-panel:focus-visible,.upload-panel.dragging{transform:translateY(-2px);border-color:#53ffc9d1;background:#051a18e6;box-shadow:0 34px 100px #00000085,0 0 86px #53ffc92e}.upload-panel.locked{cursor:wait;border-color:#53ffc980;background:#051413db}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.upload-button,.ghost-button{border:0;border-radius:8px;cursor:pointer;color:#02110e;background:linear-gradient(135deg,#53ffc9,#f43f8f);font-weight:900;box-shadow:0 0 36px #53ffc933}.upload-button{min-width:210px;min-height:58px;padding:.9rem 1.25rem;font-size:1.18rem}.upload-button:disabled{cursor:wait;filter:grayscale(.25) brightness(.82);opacity:.82}.inline-result{display:grid;justify-items:center;gap:.7rem;max-width:290px;color:#d8fff1}.inline-result strong{font-size:1.06rem}.inline-result p{margin:0;color:#71958d;font-size:.92rem;font-weight:650;line-height:1.55;overflow-wrap:anywhere}.inline-result.failed strong,.inline-result.failed p{color:#ff83b4}.upload-panel p{margin:1.05rem 0 .2rem;color:#d8fff1;font-size:1.1rem;font-weight:800}.upload-panel small{color:#71958d}.status-text{margin-top:.9rem;color:#53ffc9;font-size:.88rem;line-height:1.45}.error{margin-top:.9rem;color:#ff83b4;font-weight:800;font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.debug-panel{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.25rem .5rem;width:100%;max-height:9rem;margin:.75rem 0 0;padding:.7rem;overflow:auto;border:1px solid rgba(83,255,201,.18);border-radius:8px;background:#0207078c;color:#8fb8ad;font-family:Courier New,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;line-height:1.35;text-align:left}.debug-panel dt{color:#53ffc9;font-weight:900}.debug-panel dd{min-width:0;margin:0;overflow-wrap:anywhere}.upload-consent{width:min(calc(100% - 24px),396px);justify-self:center;margin:-.45rem 0 0;color:#71958d;font-size:.76rem;line-height:1.55;text-align:left}.upload-consent a{color:#53ffc9;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.upload-consent a:hover,.upload-consent a:focus-visible{color:#9dffe3}.preview-panel{padding:1.15rem}.history-list{display:grid;gap:0;width:min(100%,420px);justify-self:center;overflow:hidden;border:1px solid rgba(83,255,201,.22);border-radius:8px;background:#040e0eb8;box-shadow:0 20px 50px #00000047,0 0 42px #53ffc912;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.history-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem;border-bottom:1px solid rgba(83,255,201,.14)}.history-item:last-child{border-bottom:0}.history-copy{display:grid;gap:.15rem;min-width:0}.history-copy strong,.history-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-copy strong{color:#d8fff1;font-size:.96rem}.history-copy small{color:#71958d;font-size:.78rem}.download-button{flex:0 0 auto;padding:0;border:0;border-radius:0;color:#53ffc9;background:transparent;box-shadow:none;cursor:pointer;font-family:Courier New,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92rem;font-weight:900;line-height:1.2;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-shadow:0 0 12px rgba(83,255,201,.45)}.download-button:hover,.download-button:focus-visible{color:#9dffe3}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.eyebrow{color:#ff4f96;font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}h2{margin:.15rem 0 0;color:#eafff8;font-size:1.18rem;letter-spacing:0}.ghost-button{min-width:78px;min-height:38px;padding:.55rem .8rem}.image-frame{position:relative;display:grid;place-items:center;overflow:hidden;aspect-ratio:4 / 3;min-height:360px;border:1px solid rgba(83,255,201,.18);border-radius:8px;background:linear-gradient(135deg,rgba(83,255,201,.08),transparent 44%),repeating-linear-gradient(0deg,rgba(216,255,241,.035) 0 1px,transparent 1px 9px),#020707}.image-frame.empty{min-height:300px}.image-frame img{display:block;width:100%;height:min(56vh,520px);object-fit:contain;background:#020707}.empty-state{display:grid;justify-items:center;gap:.7rem;max-width:280px;padding:1rem;text-align:center}.empty-state strong{color:#d8fff1;font-size:1.1rem}.empty-state p{margin:0;color:#71958d;line-height:1.6}.pulse{width:2.1rem;height:2.1rem;border-radius:999px;background:#53ffc9;box-shadow:0 0 #53ffc966;animation:pulse 1.8s infinite}.file-info{display:grid;gap:.2rem;padding:.9rem .2rem 0}.file-info strong{overflow-wrap:anywhere;color:#d8fff1}.file-info span{color:#71958d;font-size:.92rem;overflow-wrap:anywhere}.faq-section{position:relative;z-index:1;width:min(920px,calc(100% - 40px));margin:0 auto;padding:0 0 clamp(2.5rem,6vw,5rem)}.faq-inner{border:1px solid rgba(83,255,201,.2);border-radius:8px;background:#040e0ead;padding:clamp(1.1rem,3vw,1.6rem);box-shadow:0 24px 70px #00000057,0 0 56px #53ffc914;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.faq-list{display:grid;gap:0;margin-top:.8rem;overflow:hidden;border:1px solid rgba(83,255,201,.14);border-radius:8px}.faq-item{border-bottom:1px solid rgba(83,255,201,.14);background:#02070761}.faq-item:last-child{border-bottom:0}.faq-item.open{background:#051a18a8}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:58px;padding:.95rem 1rem;border:0;color:#d8fff1;background:transparent;cursor:pointer;text-align:left}.faq-question span{font-weight:850;line-height:1.35}.faq-question strong{display:grid;flex:0 0 auto;place-items:center;width:1.5rem;height:1.5rem;color:#53ffc9;font-family:Courier New,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.25rem;line-height:1;text-shadow:0 0 14px rgba(83,255,201,.55)}.faq-answer{display:grid;gap:.35rem;max-height:0;overflow:hidden;padding:0 1rem;opacity:0;transition:max-height .22s ease,opacity .18s ease,padding .22s ease}.faq-item.open .faq-answer{max-height:16rem;padding:0 1rem 1rem;opacity:1}.faq-answer p{margin:0;color:#8fb8ad;font-size:.94rem;line-height:1.6}.policy-shell{position:relative;z-index:1;width:min(900px,calc(100% - 40px));margin:0 auto;padding:clamp(2rem,5vw,4rem) 0 clamp(3rem,7vw,6rem)}.policy-back{display:inline-flex;margin-bottom:1.2rem;color:#53ffc9;font-family:Courier New,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;font-weight:900;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-shadow:0 0 12px rgba(83,255,201,.38)}.policy-card{border:1px solid rgba(83,255,201,.2);border-radius:8px;background:#040e0eb8;padding:clamp(1.2rem,4vw,2.25rem);box-shadow:0 28px 80px #00000061,0 0 56px #53ffc914;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.policy-card h1{margin-top:.4rem;font-size:clamp(2rem,5vw,3.4rem)}.policy-updated{margin:.85rem 0 1.8rem;color:#71958d;font-size:.9rem}.policy-section{padding:1.15rem 0;border-top:1px solid rgba(83,255,201,.13)}.policy-section h2{margin:0 0 .65rem;color:#d8fff1;font-size:1rem}.policy-section p{margin:.55rem 0 0;color:#8fb8ad;font-size:.95rem;line-height:1.7}@keyframes scan{0%,to{transform:translateY(-56px);opacity:.25}50%{transform:translateY(130px);opacity:1}}@keyframes scan-image-fade{0%{opacity:0}to{opacity:1}}@keyframes pulse{70%{box-shadow:0 0 0 22px #53ffc900}to{box-shadow:0 0 #53ffc900}}@keyframes bit-fall{0%{transform:translateY(0)}to{transform:translateY(calc(100vh + 76rem))}}@media(max-width:860px){.shell{grid-template-columns:1fr;gap:.85rem;align-items:start}.portrait{width:min(100%,420px);margin-bottom:1.2rem}.workspace{align-content:start;min-height:0;gap:.85rem}.upload-panel{min-height:220px}}@media(max-width:520px){.shell{width:min(100% - 40px,1180px);padding:1.6rem 0 2.4rem}.faq-section,.policy-shell{width:min(100% - 40px,920px)}h1{font-size:clamp(2rem,9.5vw,2.65rem)}.panel-head{align-items:flex-start;flex-direction:column}.ghost-button{width:100%}.upload-button{width:100%;min-width:0}.image-frame,.image-frame.empty{min-height:220px}}
