:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:#050204}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050204}.hidden{display:none!important}.app{position:relative;width:100%;height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 35%,#23030b 0,#070205 45%,#020102 100%)}.camera,.overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera{transform:scaleX(-1)}.overlay{pointer-events:none}.landing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px calc(32px + env(safe-area-inset-bottom));text-align:center;background:radial-gradient(circle at 50% 28%,rgba(120,0,25,.34),transparent 32%),linear-gradient(180deg,#030103,#090205 64%,#020102)}.eyebrow{font-size:10px;letter-spacing:.42em;color:#b58d97;margin-bottom:16px}.landing h1{font-family:Georgia,serif;font-weight:400;letter-spacing:.22em;font-size:clamp(34px,10vw,64px);margin:0 0 6px;text-shadow:0 0 34px rgba(255,0,50,.28)}.landing h2{font-family:Georgia,serif;font-weight:400;font-style:italic;color:#d5b7c0;font-size:19px;margin:0}.poem{font-family:Georgia,serif;color:#bca8ae;line-height:1.7;margin:32px 0 26px}.primary,.ghost{border:0;border-radius:999px;padding:15px 27px;font-size:15px}.primary{background:linear-gradient(135deg,#c40d31,#760015);color:#fff;box-shadow:0 12px 40px rgba(190,0,40,.28)}.ghost{background:transparent;color:#ddd;margin-top:8px}.privacy{max-width:360px;font-size:11px;line-height:1.5;color:#806f75;margin-top:20px}.landing-flower{position:relative;width:170px;height:170px;margin-bottom:34px;filter:drop-shadow(0 0 24px rgba(255,0,45,.38));animation:breathe 3.8s ease-in-out infinite}.landing-flower span{position:absolute;left:80px;top:74px;width:74px;height:12px;border:2px solid #eb173d;border-left:0;border-radius:50%;transform-origin:0 50%}.landing-flower span:nth-child(1){transform:rotate(0)}.landing-flower span:nth-child(2){transform:rotate(60deg)}.landing-flower span:nth-child(3){transform:rotate(120deg)}.landing-flower span:nth-child(4){transform:rotate(180deg)}.landing-flower span:nth-child(5){transform:rotate(240deg)}.landing-flower span:nth-child(6){transform:rotate(300deg)}@keyframes breathe{50%{transform:scale(1.045);filter:drop-shadow(0 0 34px rgba(255,0,45,.55))}}.center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:rgba(4,1,3,.93);z-index:5}.center h2{font-family:Georgia,serif;font-weight:400}.center p{color:#a79299;max-width:360px}.loader{width:46px;height:46px;border:1px solid rgba(255,255,255,.15);border-top-color:#e41b46;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar{position:absolute;top:0;left:0;right:0;padding:calc(12px + env(safe-area-inset-top)) 16px 10px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.topbar>div{text-align:center}.topbar strong{display:block;font-family:Georgia,serif;font-weight:400;letter-spacing:.08em}.topbar small{display:block;color:rgba(255,255,255,.62);font-size:10px;margin-top:2px}.icon,.round{border:1px solid rgba(255,255,255,.14);background:rgba(10,5,8,.42);backdrop-filter:blur(14px);color:#fff;border-radius:50%;width:42px;height:42px;font-size:22px}.icon.active{background:rgba(155,0,35,.5)}.hint{position:absolute;top:calc(78px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:max-content;max-width:88%;padding:8px 13px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(10,4,7,.4);backdrop-filter:blur(12px);font-size:10px;color:rgba(255,255,255,.74)}.controls{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:25px;padding:12px 18px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(8,4,6,.42);backdrop-filter:blur(18px)}.capture{width:70px;height:70px;border-radius:50%;border:3px solid #fff;background:transparent;padding:5px}.capture span{display:block;width:100%;height:100%;border-radius:50%;background:#fff}.secondary{font-size:18px}.debug{position:absolute;left:12px;bottom:130px;background:rgba(0,0,0,.62);font:11px monospace;padding:8px 10px;border-radius:8px;color:#b7ffca}
