/* Foofie Cam 1.4.9 — twilight theme */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600&family=Nunito:wght@400;600;700&display=swap');

.fcam-wrap{
	position:relative;
	max-width:520px;
	margin:0 auto;
	padding:18px 16px 28px;
	border-radius:22px;
	overflow:hidden;
	background:radial-gradient(120% 90% at 50% 0%, #2a1f70 0%, #241a63 35%, #180f44 70%, #120b34 100%);
	color:#f4f1ff;
	font-family:'Nunito',system-ui,sans-serif;
	box-shadow:0 18px 50px rgba(0,0,0,.45);
}
.fcam-stars{
	position:absolute;inset:0;pointer-events:none;opacity:.6;
	background-image:
		radial-gradient(1.5px 1.5px at 20% 18%, #fff, transparent),
		radial-gradient(1.5px 1.5px at 70% 12%, #ffe7a0, transparent),
		radial-gradient(1px 1px at 40% 30%, #fff, transparent),
		radial-gradient(1.5px 1.5px at 85% 40%, #fff, transparent),
		radial-gradient(1px 1px at 12% 55%, #ffe7a0, transparent),
		radial-gradient(1.5px 1.5px at 60% 70%, #fff, transparent),
		radial-gradient(1px 1px at 30% 85%, #fff, transparent);
	animation:fcam-tw 4s ease-in-out infinite alternate;
}
@keyframes fcam-tw{from{opacity:.35}to{opacity:.75}}
@media (prefers-reduced-motion:reduce){.fcam-stars{animation:none}}

.fcam-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.fcam-title{
	font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
	margin:0;font-size:22px;color:#ffe7a0;text-align:center;flex:1;
}
.fcam-portal,.fcam-hello{font-size:13px;color:#cfc7f5;text-decoration:none;white-space:nowrap}
.fcam-portal{font-weight:700}
.fcam-portal:hover{color:#ffe7a0}
.fcam-hello{opacity:.85}

.fcam-stage{
	position:relative;width:100%;margin:0 auto;border-radius:16px;overflow:hidden;
	background:#160e3e;aspect-ratio:4/5;max-height:70vh;
}
.fcam-stage[data-aspect="9:16"]{aspect-ratio:9/16}
.fcam-stage[data-aspect="1:1"]{aspect-ratio:1/1}

#fcam-video{width:100%;height:100%;object-fit:cover;display:block;background:#160e3e}
#fcam-video.fcam-mirror{transform:scaleX(-1)}

.fcam-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.fcam-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.fcam-stage.fcam-reviewing .fcam-shot{display:block}
.fcam-stage.fcam-reviewing #fcam-video,
.fcam-stage.fcam-reviewing .fcam-overlay{display:none}

.fcam-flip{
	display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:24px;
	border:1px solid #534AB7;background:transparent;color:#e8e3ff;cursor:pointer;
	font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;
}
.fcam-flip:hover{border-color:#ffe7a0;color:#ffe7a0}
.fcam-flip:active{transform:scale(.94)}
.fcam-flip svg{width:22px;height:22px;display:block;flex:0 0 auto;color:#ffd24a}
.fcam-flip-label{font-size:14px;font-weight:700}

.fcam-msg{
	position:absolute;left:12px;right:12px;bottom:14px;text-align:center;font-size:14px;
	color:#fff;background:rgba(18,11,52,.72);padding:10px 12px;border-radius:10px;display:none;
}
.fcam-msg.show{display:block}

.fcam-chips{display:flex;gap:10px;overflow-x:auto;padding:14px 2px 4px;scrollbar-width:none}
.fcam-chips::-webkit-scrollbar{display:none}
.fcam-chip{
	flex:0 0 auto;width:52px;height:52px;padding:0;border-radius:50%;border:2px solid transparent;background:#241a63;
	cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;
	box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .12s ease;
}
.fcam-chip:active{transform:scale(.94)}
.fcam-chip-ico{width:100%;height:100%;object-fit:cover;display:block}
.fcam-chip-ph{font-family:'Nunito',sans-serif;font-size:20px;font-weight:800;color:#cfc7f5}
.fcam-chip.active{border-color:#ffd24a;box-shadow:0 0 0 2px rgba(255,210,74,.35),0 2px 8px rgba(0,0,0,.3)}

.fcam-chips-hint{
	display:flex;align-items:center;justify-content:center;gap:6px;margin:2px 0 0;
	font-family:'Nunito',sans-serif;font-size:12px;font-weight:700;color:#b9aef0;letter-spacing:.02em;
}
.fcam-chips-hint::before{content:'\2190';opacity:.7}
.fcam-chips-hint::after{content:'\2192';opacity:.7}

.fcam-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.fcam-spacer{width:44px}
.fcam-shutter{
	width:68px;height:68px;border-radius:50%;border:5px solid #ffd24a;background:#fff;cursor:pointer;
	box-shadow:0 0 0 4px rgba(255,210,74,.25);
}
.fcam-shutter:active{transform:scale(.94)}

.fcam-btn{
	display:inline-flex;align-items:center;justify-content:center;
	padding:12px 22px;border-radius:24px;font-family:'Nunito',sans-serif;font-weight:700;font-size:15px;
	cursor:pointer;text-decoration:none;border:1px solid transparent;
}
.fcam-btn-gold{background:#ffd24a;color:#3a2a05;border-color:#ffd24a}
.fcam-btn-gold:hover{background:#ffe7a0}
.fcam-btn-ghost{background:transparent;color:#e8e3ff;border-color:#534AB7}
.fcam-btn-ghost:hover{border-color:#ffe7a0;color:#ffe7a0}

#fcam-controls-review{gap:8px}
#fcam-controls-review .fcam-btn{flex:1;padding:12px 8px;min-width:0}

.fcam-note{text-align:center;color:#ffe7a0;font-size:13px;margin:10px 0 0}

/* Album opt-in button */
.fcam-album-add{display:block;width:100%;margin-top:10px}
.fcam-album-add[disabled]{opacity:.7;cursor:default}
.fcam-album-add.done{background:rgba(83,74,183,.18);border-color:#ffe7a0;color:#ffe7a0}

/* Album gallery */
.fcam-wrap.fcam-wide{max-width:1240px}
.fcam-album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:8px}
.fcam-album-item{position:relative;display:block;border-radius:12px;overflow:hidden;background:#160e3e;border:1px solid rgba(255,231,160,.18)}
.fcam-album-item img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.fcam-album-by{position:absolute;left:0;right:0;bottom:0;padding:6px 8px;font-size:12px;color:#fff;background:linear-gradient(to top,rgba(18,11,52,.85),transparent)}

/* Lightbox popup */
.fcam-lb{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(10,6,30,.93);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.fcam-lb[hidden]{display:none}
.fcam-lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;max-width:94vw;max-height:90vh}
.fcam-lb-img{max-width:92vw;max-height:84vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.fcam-lb-by{margin-top:10px;color:#ffe7a0;font-family:'Nunito',sans-serif;font-size:14px}
.fcam-lb-btn{position:absolute;border:none;background:rgba(18,11,52,.6);color:#ffe7a0;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center}
.fcam-lb-close{top:16px;right:16px;width:44px;height:44px;font-size:20px}
.fcam-lb-prev,.fcam-lb-next{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:30px;line-height:1}
.fcam-lb-prev{left:12px}
.fcam-lb-next{right:12px}
.fcam-lb-btn:hover{background:rgba(83,74,183,.8);color:#fff}

/* Standalone uploader */
.fcam-up-intro{text-align:center;color:#d9d3ff;font-size:15px;margin:4px 0 14px}
#fcam-up-pick{display:block;width:100%;max-width:320px;margin:0 auto;font-size:16px;padding:16px 20px}
.fcam-up-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:16px}
.fcam-up-item{background:#160e3e;border:1px solid rgba(255,231,160,.18);border-radius:12px;overflow:hidden;text-align:center}
.fcam-up-thumb{width:100%;aspect-ratio:4/5;background:#241a63 center/cover no-repeat}
.fcam-up-status{display:block;padding:7px 6px;font-size:12px;color:#cfc7f5}
.fcam-up-status.ok{color:#9ff0c0}
.fcam-up-status.err{color:#ffb4a8;cursor:pointer}
#fcam-up-albumlink{display:block;width:100%;max-width:320px;margin:18px auto 0;text-align:center}
.fcam-album-cta{display:block;width:100%;max-width:320px;margin:0 auto 16px;text-align:center}

.fcam-hidden{display:none !important}

/* Start screen */
.fcam-start{position:relative;text-align:center;padding:26px 18px 32px;display:flex;flex-direction:column;align-items:center;gap:14px}
.fcam-start-lead{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:#ffe7a0;font-size:18px;margin:0 0 6px}
.fcam-start-btn{width:100%;max-width:300px;font-size:16px;padding:16px 20px}

/* Positioning canvas */
.fcam-canvas{position:absolute;inset:0;width:100%;height:100%;display:none;touch-action:none;background:#160e3e}
.fcam-stage.fcam-positioning #fcam-video{display:none}
.fcam-stage.fcam-positioning .fcam-canvas{display:block}
.fcam-stage.fcam-reviewing .fcam-canvas{display:none}
.fcam-msg{pointer-events:none}

/* Position controls */
.fcam-controls-stack{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.fcam-slider-row{display:flex;align-items:center;gap:12px}
.fcam-slider-ico{font-size:20px;color:#ffe7a0;width:24px;text-align:center;flex:0 0 auto}
.fcam-slider-row input[type=range]{flex:1;accent-color:#ffd24a}
.fcam-btn-sm{padding:9px 14px;font-size:14px}

.fcam-empty,.fcam-gate{
	position:relative;text-align:center;padding:38px 18px;border-radius:16px;
	background:rgba(83,74,183,.16);border:1px solid rgba(255,231,160,.2);
}
.fcam-gate .fcam-btn{margin-top:14px}
.fcam-gate p,.fcam-empty p{color:#d9d3ff;font-size:15px}
