.App{display:flex;flex-direction:column;min-height:100vh}.container{padding:20px;width:100%}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc2;border:1px solid #58401a1a;border-radius:16px;box-shadow:0 30px 80px #1f1b1624,0 8px 25px #1f1b1614;padding:30px}button{font-family:inherit}input[type=file],input[type=text],textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;margin:10px 0;padding:10px;width:100%}input[type=file]{padding:8px}.error{background:#ffebee;border-left:4px solid #d32f2f;color:#d32f2f}.error,.success{border-radius:6px;margin:15px 0;padding:15px}.success{background:#e8f5e9;border-left:4px solid #388e3c;color:#388e3c}.loading{align-items:center;color:#7a5c2e;display:flex;font-size:16px;gap:10px;justify-content:center}.spinner{animation:spin 1s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#c9a45b;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.face-scanner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc2;border:1px solid #58401a1a;border-radius:16px;box-shadow:0 30px 80px #1f1b1624,0 8px 25px #1f1b1614;margin-bottom:28px;padding:34px}.scanner-card{margin:0 auto;max-width:500px;text-align:center}.scanner-icon{font-size:56px;margin-bottom:12px}.scanner-card h2{color:#1f1b16;font-family:Playfair Display,ui-serif,Georgia,serif;font-size:30px;margin-bottom:12px}.scanner-card p{color:#1f1b16b8;line-height:1.7;margin-bottom:18px}.scan-button{align-items:center;background:linear-gradient(135deg,#7a5c2e,#c9a45b);border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:800;gap:10px;letter-spacing:.2px;margin:18px 0;padding:14px 28px;transition:transform .15s ease,box-shadow .15s ease}.scan-button:hover:not(:disabled){box-shadow:0 14px 34px #7a5c2e4d;transform:translateY(-2px)}.scan-button:disabled{cursor:not-allowed;opacity:.6}.hint{color:#1f1b1694;font-size:13px;margin-top:15px}@media (max-width:768px){.face-scanner{padding:20px}.scanner-icon{font-size:40px}.scanner-card h2{font-size:22px}}.image-gallery{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.gallery-item{aspect-ratio:1;background:#ffffffc7;border:1px solid #58401a1a;border-radius:14px;cursor:pointer;overflow:hidden;position:relative;transition:transform .15s ease,box-shadow .15s ease}.gallery-item:hover{box-shadow:0 22px 50px #1f1b1624,0 6px 18px #1f1b161a;transform:translateY(-2px)}.gallery-item img{height:100%;object-fit:cover;width:100%}.gallery-overlay{align-items:center;background:radial-gradient(700px 450px at 30% 20%,#fff8ee59 0,#fff8ee00 60%),#1f1b1647;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s;width:100%}.gallery-item.selected .gallery-overlay,.gallery-item:hover .gallery-overlay{opacity:1}.gallery-item input[type=checkbox]{accent-color:#c9a45b;cursor:pointer;height:24px;width:24px}@media (max-width:768px){.image-gallery{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-item{border-radius:12px}}@media (max-width:480px){.image-gallery{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-item{border-radius:10px}}.viewer-overlay{background:radial-gradient(1100px 700px at 20% 0,#fff8ee29 0,#fff8ee00 60%),radial-gradient(1000px 650px at 90% 10%,#c9a45b1a 0,#c9a45b00 55%),#120e0af5;display:block;position:fixed;touch-action:pan-y;width:100vw;z-index:9999}.viewer-overlay,.viewer-stage{height:100vh;height:100svh;height:100dvh;inset:0}.viewer-stage{align-items:center;box-sizing:border-box;display:flex;justify-content:center;padding:calc(env(safe-area-inset-top, 0px) + 80px) calc(env(safe-area-inset-right, 0px) + 74px) calc(env(safe-area-inset-bottom, 0px) + 88px) calc(env(safe-area-inset-left, 0px) + 74px);position:absolute}.viewer-stage .react-transform-component,.viewer-stage .react-transform-component-content,.viewer-stage .react-transform-wrapper{align-items:center;display:flex;height:100%;justify-content:center;width:100%}@media (max-width:768px){.viewer-stage{padding:calc(env(safe-area-inset-top, 0px) + 70px) calc(env(safe-area-inset-right, 0px) + 12px) calc(env(safe-area-inset-bottom, 0px) + 78px) calc(env(safe-area-inset-left, 0px) + 12px)}}@media (max-width:480px){.viewer-stage{padding:calc(env(safe-area-inset-top, 0px) + 66px) calc(env(safe-area-inset-right, 0px) + 8px) calc(env(safe-area-inset-bottom, 0px) + 74px) calc(env(safe-area-inset-left, 0px) + 8px)}}.viewer-loading{align-items:center;background:#ffffff0f;border:1px solid #ffffff29;border-radius:14px;display:flex;flex-direction:column;gap:10px;height:min(560px,calc(100vh - 180px));justify-content:center;width:min(820px,calc(100vw - 30px))}.viewer-loading__spinner{animation:viewerSpin 1s linear infinite;border:3px solid #ffffff2e;border-radius:999px;border-top-color:#c9a45bf2;height:22px;width:22px}.viewer-loading__text{color:#ffffffdb;font-size:13px;font-weight:700}@keyframes viewerSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.viewer-topbar{justify-content:space-between;left:14px;pointer-events:none;position:absolute;right:14px;top:calc(env(safe-area-inset-top, 0px) + 14px);z-index:10002}.viewer-topbar,.viewer-topbar-right{align-items:center;display:flex;gap:10px}.viewer-topbar-right{pointer-events:auto}.viewer-close-btn{border:1px solid #ffffff38;border-radius:999px;color:#fff;cursor:pointer;font-size:22px;height:38px;line-height:1;width:38px}.viewer-close-btn,.viewer-counter{background:#ffffff14;pointer-events:auto}.viewer-counter{border-radius:999px;color:#ffffffe6;font-size:13px;font-weight:600;letter-spacing:.2px;padding:8px 12px}.viewer-select-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff38;color:#fff;font-size:13px;font-weight:700;padding:8px 12px}.viewer-icon-btn,.viewer-select-btn{border-radius:999px;cursor:pointer;pointer-events:auto}.viewer-icon-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff38;color:#ffffffeb;display:inline-flex;font-size:18px;height:38px;justify-content:center;line-height:1;width:38px}.viewer-icon-btn:hover{background:#ffffff1f}.viewer-select-btn.selected{background:linear-gradient(135deg,#7a5c2e,#c9a45b);border-color:#c9a45bf2}.viewer-bottombar{align-items:center;bottom:calc(env(safe-area-inset-bottom, 0px) + 14px);display:flex;gap:10px;justify-content:space-between;left:14px;pointer-events:none;position:absolute;right:14px;z-index:10002}.viewer-selected-count{background:#ffffff14;border-radius:999px;color:#ffffffeb;font-size:13px;padding:10px 12px;pointer-events:auto}.viewer-download-btn{background:linear-gradient(135deg,#7a5c2e,#c9a45b);border:1px solid #c9a45bf2;border-radius:999px;color:#fff;cursor:pointer;font-size:13px;font-weight:800;padding:10px 14px;pointer-events:auto}.viewer-download-btn:disabled{cursor:not-allowed;opacity:.5}.viewer-toast{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border-radius:999px;color:#fffffff2;font-size:13px;font-weight:600;left:50%;max-width:min(560px,calc(100% - 28px));opacity:0;padding:10px 14px;pointer-events:auto;position:absolute;top:calc(env(safe-area-inset-top, 0px) + 62px);transform:translateX(-50%);transform:translateX(-50%) translateY(-6px);transition:opacity .35s ease,transform .35s ease;z-index:10002}.viewer-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.viewer-toast.hide{opacity:0;transform:translateX(-50%) translateY(-6px)}.viewer-toast--success{background:#2ecc71d9}.viewer-toast--error{background:#e74c3ce6}.viewer-toast--info{background:#3498dbd9}.viewer-image{border-radius:14px;display:block;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;width:100%}.nav{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;color:#fff;cursor:pointer;display:flex;font-size:40px;height:52px;justify-content:center;opacity:.7;position:absolute;top:50%;transform:translateY(-50%);width:52px;z-index:10001}.nav:hover{opacity:1}.nav.left{left:calc(env(safe-area-inset-left, 0px) + 12px)}.nav.right{right:calc(env(safe-area-inset-right, 0px) + 12px)}@media (max-width:480px){.nav{font-size:28px;height:40px;width:40px}.nav.left{left:calc(env(safe-area-inset-left, 0px) + 6px)}.nav.right{right:calc(env(safe-area-inset-right, 0px) + 6px)}}@media (max-width:768px){.nav{display:none}}.home-page{min-height:100vh;padding:42px 20px}.container{margin:0 auto;max-width:1200px}.hero{color:#1f1b16;margin-bottom:28px;text-align:center}.hero h1{font-family:Playfair Display,ui-serif,Georgia,serif;font-size:52px;font-weight:700;letter-spacing:.2px;margin-bottom:10px}.hero p{font-size:18px;line-height:1.6;margin:0 auto;max-width:780px;opacity:.92}.hero .hero-subtitle{color:#1f1b16a8;font-size:14px;margin-top:8px}.results-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc2;border:1px solid #58401a1a;border-radius:16px;box-shadow:0 30px 80px #1f1b1624,0 8px 25px #1f1b1614;padding:30px}.results-header{margin-bottom:20px}.home-page button{border:none;border-radius:999px;cursor:pointer;font-size:14px;font-weight:700;padding:11px 18px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.home-page button:hover{transform:translateY(-1px)}.btn-secondary{background:#1f1b160f;border:1px solid #1f1b1614;color:#1f1b16}.btn-secondary:hover{background:#1f1b1617}.gallery-toolbar{align-items:center;background:#ffffffb8;border:1px solid #58401a1a;border-radius:14px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px;padding:15px}.toolbar-info{color:#1f1b16a8;display:flex;font-size:14px;gap:20px}.toolbar-info span{color:#1f1b16;font-weight:600}.toolbar-actions{display:flex;gap:10px}.toolbar-actions button:last-child{background:linear-gradient(135deg,#7a5c2e,#c9a45b);box-shadow:0 10px 26px #7a5c2e40}.toolbar-actions button:last-child:hover{box-shadow:0 14px 34px #7a5c2e4d}.load-more-sentinel{color:#1f1b16a8;font-weight:600;margin-top:16px;padding:10px;text-align:center}.load-more-status{font-size:13px}.zip-modal-overlay{align-items:center;background:#1f1b168c;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:10020}.zip-modal{background:#ffffffeb;border:1px solid #58401a1f;border-radius:16px;box-shadow:0 24px 70px #1f1b164d;padding:18px;width:min(520px,100%)}.zip-modal h3{font-family:Playfair Display,ui-serif,Georgia,serif;margin:0 0 10px}.zip-hint{color:#1f1b16a8;font-size:13px;margin-top:8px}.zip-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:14px}.zip-progress{background:#eee;border-radius:999px;height:10px;overflow:hidden;width:100%}.zip-progress-bar{background:linear-gradient(135deg,#7a5c2e,#c9a45b);height:100%}.zip-progress-bar.indeterminate{animation:zipIndeterminate 1.2s ease-in-out infinite;width:40%}@keyframes zipIndeterminate{0%{transform:translateX(-120%)}to{transform:translateX(280%)}}.app-toast{border-radius:999px;bottom:18px;box-shadow:0 10px 30px #00000040;font-weight:700;left:50%;max-width:min(560px,calc(100% - 28px));opacity:0;padding:12px 16px;position:fixed;transform:translateX(-50%);transition:opacity .35s ease,transform .35s ease;z-index:10010}.app-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.app-toast.hide{opacity:0;transform:translateX(-50%) translateY(8px)}.app-toast--success{background:#2ecc71eb;color:#fff}.app-toast--error{background:#e74c3cf2;color:#fff}.app-toast--info{background:#3498dbeb;color:#fff}.error{color:#b42318;margin:10px 0}.success{color:#027a48;margin:10px 0}@media (max-width:768px){.home-page{padding-left:12px;padding-right:12px}.home-page .container{padding-left:6px;padding-right:6px}.hero h1{font-size:34px}.hero p{font-size:15px}.results-section{padding:20px}.gallery-toolbar{align-items:stretch}.gallery-toolbar,.toolbar-actions{flex-direction:column}.toolbar-actions button{width:100%}}
/*# sourceMappingURL=main.1f72b6ee.css.map*/